From 8a184dbd36fc87e8f8dd2ec77206cd0cd274ccf4 Mon Sep 17 00:00:00 2001 From: Laszlo Radics Date: Tue, 14 Apr 2026 09:54:51 +0200 Subject: [PATCH 1/3] refactor: fail tolerant error handling --- CHANGELOG.md | 10 + package-lock.json | 4 +- package.json | 4 +- src/barcodeParser.ts | 33 ++- src/gs1Barcode.ts | 4 +- src/parsers.ts | 622 +++++++++++++++++++++++-------------------- src/types.ts | 3 +- src/utils.ts | 35 ++- test/ai4300-4333.ts | 9 +- test/dateParsing.ts | 37 ++- test/parsing.ts | 36 ++- 11 files changed, 449 insertions(+), 348 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5eb7fcc..295c57c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All changes to this project are documented in this file. +## v2.0.0 + +- Error handling changes: +- for a faulty field (ex. wrong date format) behavior has changed: + - it won't throw an error, but mark field type as 'error' and the detailed error will be in the field 'error'. + - dataString attribute will contain the raw value. + - isValid field is introduced to flag if any field has parsing issue + - not field related error: ex. invalid AI number will throw an error +- fix UTC date parsing + ## v1.5.0 ### Added diff --git a/package-lock.json b/package-lock.json index 3eced4a..08a4f28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@valentynb/gs1-parser", - "version": "1.4.0", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@valentynb/gs1-parser", - "version": "1.4.0", + "version": "2.0.0", "license": "MIT", "devDependencies": { "@eslint/js": "^9.39.1", diff --git a/package.json b/package.json index 8a41181..e83b483 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@valentynb/gs1-parser", - "version": "1.5.0", + "version": "2.0.0", "description": "A TypeScript GS1 barcode parser for logistics and supply chain applications.", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -51,4 +51,4 @@ "vite": "^7.2.2", "vitest": "^4.0.9" } -} +} \ No newline at end of file diff --git a/src/barcodeParser.ts b/src/barcodeParser.ts index bfcc917..9059ab4 100644 --- a/src/barcodeParser.ts +++ b/src/barcodeParser.ts @@ -20,7 +20,8 @@ import type { BarcodeAnswer, GS1DecodedData, ParseResult, ParserOptions } from " import { BarcodeError, BarcodeErrorCodes, - cleanCodestring, + cleanCodeString, + ElementType, GROUP_SEPARATOR, InternalError, InvalidAiError, @@ -39,7 +40,7 @@ import { * ParsedElement is returned, together with the * still unparsed rest of codestring. */ -function identifyAI(codestring: string, parserOptions: ParserOptions): ParseResult { +function parseNextElement(codestring: string, parserOptions: ParserOptions): ParseResult { if (!parserOptions.fncChar) { parserOptions.fncChar = GROUP_SEPARATOR; } @@ -1020,8 +1021,13 @@ function parseBarcode(barcode: string, parserOptions: ParserOptions): BarcodeAns throw new BarcodeError(BarcodeErrorCodes.EmptyBarcode, "31", "The barcode is empty or not a string."); } - const barcodelength = barcode.length; - const answer: BarcodeAnswer = { codeName: "", denormalized: "", parsedCodeItems: [] }; // the object to return + const barcodeLength = barcode.length; + const answer: BarcodeAnswer = { + isValid: true, + codeName: "", + denormalized: "", + parsedCodeItems: [] + }; // the object to return let restOfBarcode = ""; // the rest of the barcode, when first // elements are spliced away const symbologyIdentifier = barcode.slice(0, 3); @@ -1044,24 +1050,24 @@ function parseBarcode(barcode: string, parserOptions: ParserOptions): BarcodeAns switch (symbologyIdentifier) { case "]C1": answer.codeName = "GS1-128"; - restOfBarcode = barcode.slice(3, barcodelength); + restOfBarcode = barcode.slice(3, barcodeLength); break; case "]e0": answer.codeName = "GS1 DataBar"; - restOfBarcode = barcode.slice(3, barcodelength); + restOfBarcode = barcode.slice(3, barcodeLength); break; case "]e1": case "]e2": answer.codeName = "GS1 Composite"; - restOfBarcode = barcode.slice(3, barcodelength); + restOfBarcode = barcode.slice(3, barcodeLength); break; case "]d2": answer.codeName = "GS1 DataMatrix"; - restOfBarcode = barcode.slice(3, barcodelength); + restOfBarcode = barcode.slice(3, barcodeLength); break; case "]Q3": answer.codeName = "GS1 QR Code"; - restOfBarcode = barcode.slice(3, barcodelength); + restOfBarcode = barcode.slice(3, barcodeLength); break; default: answer.codeName = ""; @@ -1086,7 +1092,7 @@ function parseBarcode(barcode: string, parserOptions: ParserOptions): BarcodeAns answer.parsedCodeItems = []; /** - * The follwoing part calls "identifyAI" in a loop, until + * The following part calls "identifyAI" in a loop, until * the whole barcode is parsed (or an error occurs). * * It uses the following strategy: @@ -1101,8 +1107,11 @@ function parseBarcode(barcode: string, parserOptions: ParserOptions): BarcodeAns while (restOfBarcode.length > 0) { try { - currentElement = identifyAI(restOfBarcode, parserOptions); - restOfBarcode = cleanCodestring(currentElement.codestring, parserOptions.fncChar!); + currentElement = parseNextElement(restOfBarcode, parserOptions); + restOfBarcode = cleanCodeString(currentElement.codestring, parserOptions.fncChar!); + if (currentElement.element.type == ElementType.Error) { + answer.isValid = false; + } answer.parsedCodeItems.push(currentElement.element); answer.denormalized += "(" + currentElement.element.ai + ")" + currentElement.element.dataString; } catch (e) { diff --git a/src/gs1Barcode.ts b/src/gs1Barcode.ts index 55dfa51..33fd993 100644 --- a/src/gs1Barcode.ts +++ b/src/gs1Barcode.ts @@ -15,7 +15,7 @@ class GS1Parser { * @param options Barcode parser options */ constructor(options?: ParserOptions) { - this.options = {...defaultOptions, ...options}; + this.options = { ...defaultOptions, ...options }; } /** @@ -41,7 +41,7 @@ class GS1Parser { } } - return new DecodeResult(parsed.codeName, parsed.denormalized, filteredItems); + return new DecodeResult(parsed.isValid, parsed.codeName, parsed.denormalized, filteredItems); } } diff --git a/src/parsers.ts b/src/parsers.ts index a67fd05..63ae020 100644 --- a/src/parsers.ts +++ b/src/parsers.ts @@ -38,88 +38,98 @@ export function parseFloatingPoint( * JS-date into the "data"-part. * @param {String} ai the AI to use for the ParsedElement * @param {String} title the title to use for the ParsedElement - * @param {String} codestring the codestring to parse the date from + * @param {String} codeString the codeString to parse the date from * @param {Boolean} utc whether to parse the date as UTC or local time */ -export function parseDate(ai: string, title: string, codestring: string, utc: boolean): ParseResult { - const elementToReturn = new ParsedElementClass(ai, title, ElementType.D); +export function parseDate(ai: string, title: string, codeString: string, utc: boolean): ParseResult { + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Date); const offSet = ai.length; - const dateYYMMDD = codestring.slice(offSet, offSet + 6); + let dataString: string = ''; + try { + const dateYYMMDD = codeString.slice(offSet, offSet + 6); + dataString = dateYYMMDD; - if (utc) { - elementToReturn.data.setUTCHours(0, 0, 0, 0); - } else { - elementToReturn.data.setHours(0, 0, 0, 0); - } + if (utc) { + elementToReturn.data.setUTCHours(0, 0, 0, 0); + } else { + elementToReturn.data.setHours(0, 0, 0, 0); + } - if (dateYYMMDD.length !== 6) { - throw new BarcodeError( - BarcodeErrorCodes.FixedLengthDataTooShort, - "37", - `Data length ${dateYYMMDD.length} is less than expected length 6 for AI "${ai}".` - ); - } + if (dateYYMMDD.length !== 6) { + throw new BarcodeError( + BarcodeErrorCodes.FixedLengthDataTooShort, + "37", + `Data length ${dateYYMMDD.length} is less than expected length 6 for AI "${ai}".` + ); + } - if (!NUMERIC_REGEX.test(dateYYMMDD)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai}", but got "${dateYYMMDD}".` - ); - } + if (!NUMERIC_REGEX.test(dateYYMMDD)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dateYYMMDD}".` + ); + } - let yearAsNumber = 0; - let monthAsNumber = 0; - let dayAsNumber = 0; + let yearAsNumber = 0; + let monthAsNumber = 0; + let dayAsNumber = 0; - try { - yearAsNumber = Number.parseInt(dateYYMMDD.slice(0, 2), 10); - } catch (error_) { - throw new InternalError("33", error_ as Error); - } + try { + yearAsNumber = Number.parseInt(dateYYMMDD.slice(0, 2), 10); + } catch (error_) { + throw new InternalError("33", error_ as Error); + } - try { - monthAsNumber = Number.parseInt(dateYYMMDD.slice(2, 4), 10) - 1; - } catch (error_) { - throw new InternalError("34", error_ as Error); - } + try { + monthAsNumber = Number.parseInt(dateYYMMDD.slice(2, 4), 10) - 1; + } catch (error_) { + throw new InternalError("34", error_ as Error); + } - try { - dayAsNumber = Number.parseInt(dateYYMMDD.slice(4, 6), 10); - } catch (error_) { - throw new InternalError("35", error_ as Error); - } + try { + dayAsNumber = Number.parseInt(dateYYMMDD.slice(4, 6), 10); + } catch (error_) { + throw new InternalError("35", error_ as Error); + } - // we are in the 21st century, but section 7.12 of the specification - // states that years 51-99 should be considered to belong to the - // 20th century: - const currentCentury = Math.floor(new Date().getFullYear() / 100); - const currentYear = new Date().getFullYear() % 100; - const diff = yearAsNumber - currentYear; - if (diff >= 51 && diff <= 99) { - yearAsNumber = (currentCentury - 1) * 100 + yearAsNumber; - } else if (diff >= -99 && diff <= -50) { - yearAsNumber = (currentCentury + 1) * 100 + yearAsNumber; - } else { - yearAsNumber = currentCentury * 100 + yearAsNumber; - } + // we are in the 21st century, but section 7.12 of the specification + // states that years 51-99 should be considered to belong to the + // 20th century: + const currentCentury = Math.floor(new Date().getFullYear() / 100); + const currentYear = new Date().getFullYear() % 100; + const diff = yearAsNumber - currentYear; + if (diff >= 51 && diff <= 99) { + yearAsNumber = (currentCentury - 1) * 100 + yearAsNumber; + } else if (diff >= -99 && diff <= -50) { + yearAsNumber = (currentCentury + 1) * 100 + yearAsNumber; + } else { + yearAsNumber = currentCentury * 100 + yearAsNumber; + } - if (!checkValidDate(yearAsNumber, monthAsNumber, dayAsNumber)) { - throw new BarcodeError( - BarcodeErrorCodes.InvalidDate, - "36", - `Invalid date "${dateYYMMDD}" for AI "${ai}".` - ); - } + if (!checkValidDate(yearAsNumber, monthAsNumber, dayAsNumber)) { + throw new BarcodeError( + BarcodeErrorCodes.InvalidDate, + "36", + `Invalid date "${dateYYMMDD}" for AI "${ai}".` + ); + } - if (dayAsNumber === 0) { - monthAsNumber++; - } + if (dayAsNumber === 0) { + monthAsNumber++; + } - elementToReturn.data.setFullYear(yearAsNumber, monthAsNumber, dayAsNumber); - elementToReturn.dataString = dateYYMMDD; + if (utc) { + elementToReturn.data.setUTCFullYear(yearAsNumber, monthAsNumber, dayAsNumber); + } else { + elementToReturn.data.setFullYear(yearAsNumber, monthAsNumber, dayAsNumber); + } + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); + } - return { element: elementToReturn, codestring: codestring.slice(offSet + 6, codestring.length) }; + elementToReturn.dataString = dataString; + return { element: elementToReturn, codestring: codeString.slice(offSet + 6, codeString.length) }; } /** @@ -132,7 +142,7 @@ export function parseDate(ai: string, title: string, codestring: string, utc: bo * @param {Boolean} utc whether to parse the date as UTC or local time */ export function parseDatetime(ai: string, title: string, codestring: string, utc: boolean, fncChar: string): ParseResult { - const elementToReturn = new ParsedElementClass(ai, title, ElementType.D); + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Date); const offSet = ai.length; const posOfFNC = codestring.indexOf(fncChar); let dateYYMMDD = ""; @@ -141,94 +151,96 @@ export function parseDatetime(ai: string, title: string, codestring: string, utc } else { dateYYMMDD = codestring.slice(offSet, posOfFNC); } + try { + if (dateYYMMDD.length !== 10) { + throw new BarcodeError( + BarcodeErrorCodes.FixedLengthDataTooShort, + "37", + `Data length ${dateYYMMDD.length} is not of expected length 10 for AI "${ai}".` + ); + } - if (dateYYMMDD.length !== 10) { - throw new BarcodeError( - BarcodeErrorCodes.FixedLengthDataTooShort, - "37", - `Data length ${dateYYMMDD.length} is not of expected length 10 for AI "${ai}".` - ); - } + if (!NUMERIC_REGEX.test(dateYYMMDD)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dateYYMMDD}".` + ); + } - if (!NUMERIC_REGEX.test(dateYYMMDD)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai}", but got "${dateYYMMDD}".` - ); - } + let yearAsNumber = 0; + let monthAsNumber = 0; + let dayAsNumber = 0; + let hourAsNumber = 0; + let minuteAsNumber = 0; - let yearAsNumber = 0; - let monthAsNumber = 0; - let dayAsNumber = 0; - let hourAsNumber = 0; - let minuteAsNumber = 0; + try { + yearAsNumber = Number.parseInt(dateYYMMDD.slice(0, 2), 10); + } catch (error_) { + throw new InternalError("33", error_ as Error); + } - try { - yearAsNumber = Number.parseInt(dateYYMMDD.slice(0, 2), 10); - } catch (error_) { - throw new InternalError("33", error_ as Error); - } + try { + monthAsNumber = Number.parseInt(dateYYMMDD.slice(2, 4), 10) - 1; + } catch (error_) { + throw new InternalError("34", error_ as Error); + } - try { - monthAsNumber = Number.parseInt(dateYYMMDD.slice(2, 4), 10) - 1; - } catch (error_) { - throw new InternalError("34", error_ as Error); - } + try { + dayAsNumber = Number.parseInt(dateYYMMDD.slice(4, 6), 10); + } catch (error_) { + throw new InternalError("35", error_ as Error); + } - try { - dayAsNumber = Number.parseInt(dateYYMMDD.slice(4, 6), 10); - } catch (error_) { - throw new InternalError("35", error_ as Error); - } + try { + hourAsNumber = Number.parseInt(dateYYMMDD.slice(6, 8), 10); + } catch (error_) { + throw new InternalError("35", error_ as Error); + } - try { - hourAsNumber = Number.parseInt(dateYYMMDD.slice(6, 8), 10); - } catch (error_) { - throw new InternalError("35", error_ as Error); - } + try { + minuteAsNumber = Number.parseInt(dateYYMMDD.slice(8, 10), 10); + } catch (error_) { + throw new InternalError("35", error_ as Error); + } - try { - minuteAsNumber = Number.parseInt(dateYYMMDD.slice(8, 10), 10); - } catch (error_) { - throw new InternalError("35", error_ as Error); - } + if (utc) { + elementToReturn.data.setUTCHours(hourAsNumber, minuteAsNumber, 0, 0); + } else { + elementToReturn.data.setHours(hourAsNumber, minuteAsNumber, 0, 0); + } - if (utc) { - elementToReturn.data.setUTCHours(hourAsNumber, minuteAsNumber, 0, 0); - } else { - elementToReturn.data.setHours(hourAsNumber, minuteAsNumber, 0, 0); - } + // we are in the 21st century, but section 7.12 of the specification + // states that years 51-99 should be considered to belong to the + // 20th century: + const currentCentury = Math.floor(new Date().getFullYear() / 100); + const currentYear = new Date().getFullYear() % 100; + const diff = yearAsNumber - currentYear; + if (diff >= 51 && diff <= 99) { + yearAsNumber = (currentCentury - 1) * 100 + yearAsNumber; + } else if (diff >= -99 && diff <= -50) { + yearAsNumber = (currentCentury + 1) * 100 + yearAsNumber; + } else { + yearAsNumber = currentCentury * 100 + yearAsNumber; + } - // we are in the 21st century, but section 7.12 of the specification - // states that years 51-99 should be considered to belong to the - // 20th century: - const currentCentury = Math.floor(new Date().getFullYear() / 100); - const currentYear = new Date().getFullYear() % 100; - const diff = yearAsNumber - currentYear; - if (diff >= 51 && diff <= 99) { - yearAsNumber = (currentCentury - 1) * 100 + yearAsNumber; - } else if (diff >= -99 && diff <= -50) { - yearAsNumber = (currentCentury + 1) * 100 + yearAsNumber; - } else { - yearAsNumber = currentCentury * 100 + yearAsNumber; - } + if (!checkValidDate(yearAsNumber, monthAsNumber, dayAsNumber)) { + throw new BarcodeError( + BarcodeErrorCodes.InvalidDate, + "36", + `Invalid date "${dateYYMMDD}" for AI "${ai}".` + ); + } - if (!checkValidDate(yearAsNumber, monthAsNumber, dayAsNumber)) { - throw new BarcodeError( - BarcodeErrorCodes.InvalidDate, - "36", - `Invalid date "${dateYYMMDD}" for AI "${ai}".` - ); - } + if (dayAsNumber === 0) { + monthAsNumber++; + } - if (dayAsNumber === 0) { - monthAsNumber++; + elementToReturn.data.setFullYear(yearAsNumber, monthAsNumber, dayAsNumber); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); } - - elementToReturn.data.setFullYear(yearAsNumber, monthAsNumber, dayAsNumber); elementToReturn.dataString = dateYYMMDD; - return { element: elementToReturn, codestring: codestring.slice(offSet + 10, codestring.length) }; } @@ -247,28 +259,30 @@ export function parseFixedLength( codestring: string, numeric: boolean = false ): ParseResult { - const elementToReturn = new ParsedElementClass(ai, title, ElementType.S); + let elementToReturn: ParsedElementClass = new ParsedElementClass(ai, title, ElementType.String); const offSet = ai.length; - const data = codestring.slice(offSet, length + offSet); - - if (data.length < length) { - throw new BarcodeError( - BarcodeErrorCodes.FixedLengthDataTooShort, - "37", - `Data length ${data.length} is less than expected length ${length} for AI "${ai}".` - ); - } + const dataString = codestring.slice(offSet, length + offSet); + try { + if (dataString.length < length) { + throw new BarcodeError( + BarcodeErrorCodes.FixedLengthDataTooShort, + "37", + `Data length ${dataString.length} is less than expected length ${length} for AI "${ai}".` + ); + } - if (numeric && !NUMERIC_REGEX.test(data)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai}", but got "${data}".` - ); + if (numeric && !NUMERIC_REGEX.test(dataString)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dataString}".` + ); + } + elementToReturn.data = dataString; + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); } - - elementToReturn.data = data; - elementToReturn.dataString = data; + elementToReturn.dataString = dataString; const codestringToReturn = codestring.slice(length + offSet, codestring.length); return { element: elementToReturn, codestring: codestringToReturn }; } @@ -292,42 +306,45 @@ export function parseVariableLength( maxLength?: number, numeric: boolean = false ): ParseResult { - const elementToReturn = new ParsedElementClass(ai, title, ElementType.S); + let elementToReturn: ParsedElementClass = new ParsedElementClass(ai, title, ElementType.String); const offSet = ai.length; const posOfFNC = codestring.indexOf(fncChar); let codestringToReturn = ""; - - if (posOfFNC === -1) { - //we've got the last element of the barcode - if (maxLength && maxLength > 0) { - //lot - elementToReturn.data = codestring.slice(offSet, maxLength + offSet); - codestringToReturn = codestring.replace(ai + elementToReturn.data, ""); + let dataString = ""; + try { + if (posOfFNC === -1) { + //we've got the last element of the barcode + if (maxLength && maxLength > 0) { + //lot + dataString = codestring.slice(offSet, maxLength + offSet); + codestringToReturn = codestring.replace(ai + dataString, ""); + } else { + dataString = codestring.slice(offSet, codestring.length); + } } else { - elementToReturn.data = codestring.slice(offSet, codestring.length); + dataString = codestring.slice(offSet, posOfFNC); + codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); + } + if (dataString === "") { + throw new BarcodeError( + BarcodeErrorCodes.EmptyVariableLengthData, + "38", + `Variable length data for AI "${ai}" is empty.` + ); } - } else { - elementToReturn.data = codestring.slice(offSet, posOfFNC); - codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); - } - - if (elementToReturn.data === "") { - throw new BarcodeError( - BarcodeErrorCodes.EmptyVariableLengthData, - "38", - `Variable length data for AI "${ai}" is empty.` - ); - } - if (numeric && !NUMERIC_REGEX.test(elementToReturn.data)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai}", but got "${elementToReturn.data}".` - ); + if (numeric && !NUMERIC_REGEX.test(dataString)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dataString}".` + ); + } + elementToReturn.data = dataString; + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); } - - elementToReturn.dataString = elementToReturn.data; + elementToReturn.dataString = dataString; return { element: elementToReturn, codestring: codestringToReturn }; } @@ -350,24 +367,30 @@ export function parseVariableLengthMeasure( ): ParseResult { // the place of the decimal fraction is given by the fourth number, that's // the first after the identifier itself. - const elementToReturn = new ParsedElementClass(ai_stem + fourthNumber, title, ElementType.N); - const offSet = ai_stem.length + 1; - const posOfFNC = codestring.indexOf(fncChar); - const numberOfDecimals = Number.parseInt(fourthNumber, 10); - let numberPart = ""; - + const ai = ai_stem + fourthNumber; + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Number); let codestringToReturn = ""; - if (posOfFNC === -1) { - numberPart = codestring.slice(offSet, codestring.length); - } else { - numberPart = codestring.slice(offSet, posOfFNC); - codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); - } - // adjust decimals according to fourthNumber: + let dataString = ""; + try { + const offSet = ai_stem.length + 1; + const posOfFNC = codestring.indexOf(fncChar); + const numberOfDecimals = Number.parseInt(fourthNumber, 10); - elementToReturn.data = parseFloatingPoint(numberPart, numberOfDecimals); - elementToReturn.dataString = numberPart; + if (posOfFNC === -1) { + dataString = codestring.slice(offSet, codestring.length); + } else { + dataString = codestring.slice(offSet, posOfFNC); + codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); + } + // adjust decimals according to fourthNumber: + + elementToReturn.data = parseFloatingPoint(dataString, numberOfDecimals); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); + } + elementToReturn.dataString = dataString; elementToReturn.unit = unit; + return { element: elementToReturn, codestring: codestringToReturn }; } @@ -389,28 +412,36 @@ export function parseFixedLengthMeasure( unit: string, codestring: string ): ParseResult { - const elementToReturn = new ParsedElementClass(ai_stem + fourthNumber, title, ElementType.N); - const offset = ai_stem.length + 1; + const ai = ai_stem + fourthNumber; + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Number); + let codestringToReturn = ''; + let dataString = ''; - if (!NUMERIC_REGEX.test(fourthNumber)) { - throw new InvalidAiError(ai_stem, fourthNumber); - } + try { + const offset = ai_stem.length + 1; - const numberOfDecimals = Number.parseInt(fourthNumber, 10); - const numberPart = codestring.slice(offset, offset + 6); + if (!NUMERIC_REGEX.test(fourthNumber)) { + throw new InvalidAiError(ai_stem, fourthNumber); + } - if (!NUMERIC_REGEX.test(numberPart)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai_stem + fourthNumber}", but got "${numberPart}".` - ); - } + const numberOfDecimals = Number.parseInt(fourthNumber, 10); + dataString = codestring.slice(offset, offset + 6); - elementToReturn.data = parseFloatingPoint(numberPart, numberOfDecimals); - elementToReturn.dataString = numberPart; + if (!NUMERIC_REGEX.test(dataString)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dataString}".` + ); + } + + elementToReturn.data = parseFloatingPoint(dataString, numberOfDecimals); + codestringToReturn = codestring.slice(offset + 6, codestring.length); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); + } + elementToReturn.dataString = dataString; elementToReturn.unit = unit; - const codestringToReturn = codestring.slice(offset + 6, codestring.length); return { element: elementToReturn, codestring: codestringToReturn }; } @@ -434,44 +465,48 @@ export function parseTemperature( codestring: string, fncChar: string ): ParseResult { - const elementToReturn = new ParsedElementClass(ai, title, ElementType.N); + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Number); const offset = ai.length; + let codestringToReturn = ""; + let dataString = ""; + try { + if (codestring.length < offset + 6) { + throw new BarcodeError( + BarcodeErrorCodes.FixedLengthDataTooShort, + "40", + `Data length ${codestring.length - offset} is less than expected length 6 for AI "${ai}".` + ); + } - if (codestring.length < offset + 6) { - throw new BarcodeError( - BarcodeErrorCodes.FixedLengthDataTooShort, - "40", - `Data length ${codestring.length - offset} is less than expected length 6 for AI "${ai}".` - ); - } + let nextAi = codestring.indexOf(fncChar); + if (nextAi === -1) { + nextAi = offset + 7; + } else if (nextAi < offset + 6) { + // TODO: improve error + throw new BarcodeError( + BarcodeErrorCodes.FixedLengthDataTooShort, + "40", + `Data length ${nextAi - ai.length} is less than expected length 6 for AI "${ai}".` + ); + } + dataString = codestring.slice(offset, offset + 6); + + if (!NUMERIC_REGEX.test(dataString)) { + throw new BarcodeError( + BarcodeErrorCodes.NumericDataExpected, + "39", + `Numeric data expected for AI "${ai}", but got "${dataString}".` + ); + } + const idNegative = ["-", "\u2013", "—"].includes(codestring.slice(offset + 6, offset + 7)); - let nextAi = codestring.indexOf(fncChar); - if (nextAi === -1) { - nextAi = offset + 7; - } else if (nextAi < offset + 6) { - // TODO: improve error - throw new BarcodeError( - BarcodeErrorCodes.FixedLengthDataTooShort, - "40", - `Data length ${nextAi - ai.length} is less than expected length 6 for AI "${ai}".` - ); + elementToReturn.data = parseFloatingPoint(dataString, decimals, idNegative); + codestringToReturn = codestring.slice(nextAi, codestring.length); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); } - const numberPart = codestring.slice(offset, offset + 6); - - if (!NUMERIC_REGEX.test(numberPart)) { - throw new BarcodeError( - BarcodeErrorCodes.NumericDataExpected, - "39", - `Numeric data expected for AI "${ai}", but got "${numberPart}".` - ); - } - const idNegative = ["-", "\u2013", "—"].includes(codestring.slice(offset + 6, offset + 7)); - - elementToReturn.data = parseFloatingPoint(numberPart, decimals, idNegative); - elementToReturn.dataString = numberPart; + elementToReturn.dataString = dataString; elementToReturn.unit = unit; - const codestringToReturn = codestring.slice(nextAi, codestring.length); - return { element: elementToReturn, codestring: codestringToReturn }; } @@ -497,25 +532,29 @@ export function parseVariableLengthWithISONumbers( ): ParseResult { // an element of variable length, representing a number, followed by // some ISO-code. - const elementToReturn = new ParsedElementClass(ai_stem + fourthNumber, title, ElementType.N); - const offSet = ai_stem.length + 1; - const posOfFNC = codestring.indexOf(fncChar); - const numberOfDecimals = Number.parseInt(fourthNumber, 10); - let isoPlusNumbers = ""; - let numberPart = ""; + const ai = ai_stem + fourthNumber; + let elementToReturn = new ParsedElementClass(ai, title, ElementType.Number); let codestringToReturn = ""; - if (posOfFNC === -1) { - isoPlusNumbers = codestring.slice(offSet, codestring.length); - } else { - isoPlusNumbers = codestring.slice(offSet, posOfFNC); - codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); - } - // cut off ISO-Code - numberPart = isoPlusNumbers.slice(3, isoPlusNumbers.length); - elementToReturn.data = parseFloatingPoint(numberPart, numberOfDecimals); - elementToReturn.dataString = numberPart; - elementToReturn.unit = isoPlusNumbers.slice(0, 3); - + let dataString = ""; + try { + const offSet = ai_stem.length + 1; + const posOfFNC = codestring.indexOf(fncChar); + const numberOfDecimals = Number.parseInt(fourthNumber, 10); + let isoPlusNumbers = ""; + if (posOfFNC === -1) { + isoPlusNumbers = codestring.slice(offSet, codestring.length); + } else { + isoPlusNumbers = codestring.slice(offSet, posOfFNC); + codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); + } + // cut off ISO-Code + dataString = isoPlusNumbers.slice(3, isoPlusNumbers.length); + elementToReturn.data = parseFloatingPoint(dataString, numberOfDecimals); + elementToReturn.unit = isoPlusNumbers.slice(0, 3); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); + } + elementToReturn.dataString = dataString; return { element: elementToReturn, codestring: codestringToReturn }; } @@ -525,35 +564,38 @@ export function parseVariableLengthWithISONumbers( * - an explicit unit of measurement or reference * * These data element contain countries, authorities within countries. - * @param {String} ai_stem the first digits of the AI, _not_ the fourth digit + * @param {String} ai the first digits of the AI, _not_ the fourth digit * @param {String} title the title of the AI * @param {String} codestring the codestring to parse from * @param {String} fncChar the FNC-character to remove */ export function parseVariableLengthWithISOChars( - ai_stem: string, + ai: string, title: string, codestring: string, fncChar: string ): ParseResult { // an element of variable length, representing a sequence of chars, followed by // some ISO-code. - const elementToReturn = new ParsedElementClass(ai_stem, title, ElementType.S); - const offSet = ai_stem.length; - const posOfFNC = codestring.indexOf(fncChar); - let isoPlusNumbers = ""; - + let elementToReturn = new ParsedElementClass(ai, title, ElementType.String); let codestringToReturn = ""; - if (posOfFNC === -1) { - isoPlusNumbers = codestring.slice(offSet, codestring.length); - } else { - isoPlusNumbers = codestring.slice(offSet, posOfFNC); - codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); - } - // cut off ISO-Code - elementToReturn.data = isoPlusNumbers.slice(3, isoPlusNumbers.length); - elementToReturn.unit = isoPlusNumbers.slice(0, 3); - elementToReturn.dataString = isoPlusNumbers; + let dataString = ""; + try { + const offSet = ai.length; + const posOfFNC = codestring.indexOf(fncChar); + if (posOfFNC === -1) { + dataString = codestring.slice(offSet, codestring.length); + } else { + dataString = codestring.slice(offSet, posOfFNC); + codestringToReturn = codestring.slice(posOfFNC + 1, codestring.length); + } + // cut off ISO-Code + elementToReturn.data = dataString.slice(3, dataString.length); + elementToReturn.unit = dataString.slice(0, 3); + } catch (error) { + elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); + } + elementToReturn.dataString = dataString; return { element: elementToReturn, codestring: codestringToReturn }; } diff --git a/src/types.ts b/src/types.ts index a51549d..bb10749 100644 --- a/src/types.ts +++ b/src/types.ts @@ -5,7 +5,7 @@ export type GS1DecodedData = string | number | Date; export interface ParsedElement { ai: string; dataTitle: string; - data: T; + data: T | null; dataString: string; unit: string; type: ElementType @@ -17,6 +17,7 @@ export interface ParseResult { } export interface BarcodeAnswer { + isValid: boolean; codeName: string; denormalized: string; parsedCodeItems: ParsedElement[]; diff --git a/src/utils.ts b/src/utils.ts index ade6fa9..3bedd0c 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -6,9 +6,10 @@ export const GROUP_SEPARATOR = String.fromCodePoint(29); export const NUMERIC_REGEX = /^\d+$/; export enum ElementType { - S = "string", - N = "number", - D = "date", + String = "string", + Number = "number", + Date = "date", + Error = "error", UNDEFINED = "", } @@ -70,6 +71,7 @@ export class ParsedElementClass implements ParsedElement { data: T; dataString: string; unit: string; + error?: Error; readonly type: ElementType = ElementType.UNDEFINED; /** @@ -84,24 +86,29 @@ export class ParsedElementClass implements ParsedElement { * "N" for numbers and * "D" for dates */ - constructor(elementAI: string, elementDataTitle: string, elementType: ElementType) { + constructor(elementAI: string, elementDataTitle: string, elementType: ElementType, error?: Error) { this.ai = elementAI; this.dataTitle = elementDataTitle; this.unit = ""; this.dataString = ""; switch (elementType) { - case ElementType.S: + case ElementType.String: this.data = "" as T; - this.type = ElementType.S; + this.type = ElementType.String; break; - case ElementType.N: + case ElementType.Number: this.data = 0 as T; - this.type = ElementType.N; + this.type = ElementType.Number; break; - case ElementType.D: + case ElementType.Date: this.data = new Date() as T; - this.type = ElementType.D; + this.type = ElementType.Date; + break; + case ElementType.Error: + this.data = null as T; + this.type = ElementType.Error; + this.error = error; break; default: this.data = "" as T; @@ -115,6 +122,8 @@ export class ParsedElementClass implements ParsedElement { */ export class DecodeResult { constructor( + /** barcode parsing was successful */ + public isValid: boolean, /** * A barcode type identifier (a simple string denoting the type of barcode) */ @@ -127,7 +136,7 @@ export class DecodeResult { * The actual parsed data, presented in a dictionary */ public data: Partial>> = {} - ) {} + ) { } } /** @@ -135,13 +144,13 @@ export class DecodeResult { * fixed length, so the codestringToReturn may have * leading FNCs. * - * This function eleminates these leading FNCs. + * This function eliminates these leading FNCs. * * @param {String} stringToClean string which has to be cleaned * @param {String} fncChar the FNC-character to remove * @returns {String} the cleaned string */ -export function cleanCodestring(stringToClean: string, fncChar: string): string { +export function cleanCodeString(stringToClean: string, fncChar: string): string { let result = stringToClean; let firstChar = result.slice(0, 1); while (firstChar === fncChar) { diff --git a/test/ai4300-4333.ts b/test/ai4300-4333.ts index 8c6787b..6883fe6 100644 --- a/test/ai4300-4333.ts +++ b/test/ai4300-4333.ts @@ -1,5 +1,5 @@ -import { describe, it, expect } from "vitest"; -import { GS1Parser, GS1Field } from "../src/index"; +import { describe, expect, it } from "vitest"; +import { ElementType, GS1Field, GS1Parser } from "../src/index"; const GS = "\x1D"; const VALID_GTIN = "0101234567890128"; @@ -25,6 +25,7 @@ describe("GS1 AIs 4300-4333 Parsing", () => { it(`should parse AI ${ai} (${field}) with value "${testValue}"`, () => { const barcode = VALID_GTIN + ai + testValue; const result = parser.decode(barcode); + expect(result.isValid).toBeTruthy(); expect(result.data[field]).toBeDefined(); expect(result.data[field]!.data).toBe(testValue); }); @@ -167,12 +168,12 @@ describe("GS1 AIs 4300-4333 Parsing", () => { it("should throw on invalid temperature (non-numeric)", () => { const barcode = VALID_GTIN + "4331ABC123"; - expect(() => parser.decode(barcode)).toThrow(); + expect(() => parser.decode(barcode).data.gtin?.type, ElementType.Error); }); it("should throw on incomplete temperature (less than 6 digits)", () => { const barcode = VALID_GTIN + "433112345"; - expect(() => parser.decode(barcode)).toThrow(); + expect(() => parser.decode(barcode).data.gtin?.type, ElementType.Error); }); }); diff --git a/test/dateParsing.ts b/test/dateParsing.ts index 6ef3906..545342b 100644 --- a/test/dateParsing.ts +++ b/test/dateParsing.ts @@ -1,5 +1,5 @@ -import { describe, it, expect } from "vitest"; -import { GS1Parser, GS1Field } from "../src/index"; +import { describe, expect, it } from "vitest"; +import { ElementType, GS1Field, GS1Parser } from "../src/index"; // GS1 date AIs (YYMMDD): 11, 12, 13, 15, 17 const DATE_AIS = ["11", "12", "13", "15", "17"]; @@ -71,7 +71,6 @@ describe("GS1 Date Parsing - Edge Cases", () => { "991300", // month=13 "22AB10", // invalid characters "12345", // too short - "1234567", // too long // Invalid days except 00 "991232", // 32 not allowed @@ -85,7 +84,23 @@ describe("GS1 Date Parsing - Edge Cases", () => { for (const dateValue of invalidDates) { for (const ai of DATE_AIS) { - it(`should throw on invalid GS1 date AI ${ai}: "${dateValue}"`, () => { + it(`should be invalid GS1 date AI ${ai}: "${dateValue}"`, () => { + const barcode = VALID_GTIN + ai + dateValue; + const result = parser.decode(barcode); + expect(result.isValid).toBeFalsy(); + expect(result.data[AI_TO_FIELD[ai]]?.dataString).toBe(dateValue); + expect(result.data[AI_TO_FIELD[ai]]?.type).toBe(ElementType.Error); + }); + } + } + + // special cases + const invalidDates2 = [ + "1234567", // too long + ]; + for (const dateValue of invalidDates2) { + for (const ai of DATE_AIS) { + it(`should be invalid GS1 date AI ${ai}: "${dateValue}"`, () => { const barcode = VALID_GTIN + ai + dateValue; expect(() => parser.decode(barcode)).toThrow(); }); @@ -114,22 +129,22 @@ describe("GS1 Date Parsing - Edge Cases", () => { expect((result4.data[GS1Field.EXP_DATE]!.data as Date).getFullYear()).toBe(1999); }); - it("should throw if value is partially missing (e.g., '23031')", () => { + it("should be an error if value is partially missing (e.g., '23031')", () => { const barcode = VALID_GTIN + "1123031"; - expect(() => parser.decode(barcode)).toThrow(); + expect(() => parser.decode(barcode).data?.[GS1Field.PROD_DATE]?.type, ElementType.Error); }); - it("should throw for February 30 or 31", () => { + it("should be an error for February 30 or 31", () => { const barcode1 = VALID_GTIN + "17230230"; - expect(() => parser.decode(barcode1)).toThrow(); + expect(() => parser.decode(barcode1).data?.[GS1Field.EXP_DATE]?.type, ElementType.Error); const barcode2 = VALID_GTIN + "17230231"; - expect(() => parser.decode(barcode2)).toThrow(); + expect(() => parser.decode(barcode2).data?.[GS1Field.BEST_BEFORE]?.type, ElementType.Error); }); - it("should throw for April 31", () => { + it("should be an error for April 31", () => { const barcode = VALID_GTIN + "15230431"; - expect(() => parser.decode(barcode)).toThrow(); + expect(() => parser.decode(barcode).data?.[GS1Field.BEST_BEFORE]?.type, ElementType.Error); }); }); }); diff --git a/test/parsing.ts b/test/parsing.ts index 59b99ba..dd41ec5 100644 --- a/test/parsing.ts +++ b/test/parsing.ts @@ -1,5 +1,5 @@ -import { describe, it, expect } from "vitest"; -import { GS1Parser } from "../src/index"; +import { describe, expect, it } from "vitest"; +import { ElementType, GS1Field, GS1Parser } from "../src/index"; const GS = "\x1D"; const parser = new GS1Parser(); @@ -41,6 +41,7 @@ describe("GS1 parser validation", () => { for (const value of validCases) { it(`should parse valid GS1 barcode: "${JSON.stringify(value)}"`, () => { expect(() => parser.decode(value)).not.toThrow(); + expect(() => parser.decode(value)).toBeTruthy(); }); } @@ -49,19 +50,32 @@ describe("GS1 parser validation", () => { // const invalidCases = [ "", // empty - "01", // truncated AI - "01012345678901", // GTIN incomplete (needs 14 digits) - "010123456789012X", // non-numeric in numeric-only AI - "0101234567890128" + "17" + "991332", // invalid date (AI 17) - "0101234567890128" + "10", // AI 10 but no data // "0101234567890128" + GS + GS + "10ABC", // double GS not allowed - "0101234567890128" + "21", // AI 21 but no value - "0000123456789012345X", // SSCC with invalid char - ]; - + ] for (const value of invalidCases) { it(`should throw on invalid GS1 barcode: "${JSON.stringify(value)}"`, () => { expect(() => parser.decode(value)).toThrow(); }); } + + // + // INVALID BARCODE CASES — SHOULD THROW + // + const invalidCases2 = [ + { barcode: "01", field: GS1Field.GTIN }, // truncated AI + { barcode: "01012345678901", field: GS1Field.GTIN }, // GTIN incomplete (needs 14 digits) + { barcode: "010123456789012X", field: GS1Field.GTIN }, // non-numeric in numeric-only AI + { barcode: "0101234567890128" + "17" + "991332", field: GS1Field.EXP_DATE }, // invalid date (AI 17) + { barcode: "0101234567890128" + "10", field: GS1Field.BATCH }, // AI 10 but no data + { barcode: "0101234567890128" + "21", field: GS1Field.SERIAL }, // AI 21 but no value + { barcode: "0000123456789012345X", field: GS1Field.SSCC }, // SSCC with invalid char + ]; + + for (const v of invalidCases2) { + it(`should be an error for invalid GS1 barcode: "${JSON.stringify(v.barcode)}"`, () => { + const result = parser.decode(v.barcode); + expect(result.data?.[v.field]?.type).toBe(ElementType.Error); + expect(result.isValid).toBeFalsy(); + }); + } }); From 359c28ba6682769a247b53f528f18a250dd1926e Mon Sep 17 00:00:00 2001 From: Laszlo Radics Date: Thu, 16 Apr 2026 13:36:48 +0200 Subject: [PATCH 2/3] chore: push the build files --- .gitignore | 2 +- dist/index.cjs | 1 + dist/index.d.cts | 604 +++++++++++++++++++++++++++++++++++++++++++++++ dist/index.d.ts | 604 +++++++++++++++++++++++++++++++++++++++++++++++ dist/index.js | 1 + 5 files changed, 1211 insertions(+), 1 deletion(-) create mode 100644 dist/index.cjs create mode 100644 dist/index.d.cts create mode 100644 dist/index.d.ts create mode 100644 dist/index.js diff --git a/.gitignore b/.gitignore index 077533f..af9e8e3 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ pnpm-debug.log* lerna-debug.log* node_modules -dist +#dist dist-ssr *.local diff --git a/dist/index.cjs b/dist/index.cjs new file mode 100644 index 0000000..d623aa4 --- /dev/null +++ b/dist/index.cjs @@ -0,0 +1 @@ +"use strict";var F=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var A=(e,r)=>F(e,"name",{value:r,configurable:!0});var X=(e,r)=>{for(var E in r)F(e,E,{get:r[E],enumerable:!0})},k=(e,r,E,R)=>{if(r&&typeof r=="object"||typeof r=="function")for(let S of q(r))!$.call(e,S)&&S!==E&&F(e,S,{get:()=>r[S],enumerable:!(R=K(r,S))||R.enumerable});return e};var z=e=>k(F({},"__esModule",{value:!0}),e);var e_={};X(e_,{DecodeResult:()=>D,ElementType:()=>P,GS1Field:()=>p,GS1Parser:()=>f});module.exports=z(e_);var p=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(p||{}),d={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var V=String.fromCodePoint(29),o=/^\d+$/,P=(I=>(I.String="string",I.Number="number",I.Date="date",I.Error="error",I.UNDEFINED="",I))(P||{});var C=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let R;r?R=`Invalid AI identifier "${E}" after "${r}"`:R=`Invalid first AI identifier "${E}"`,super(R),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,R){super(R),this.name="BarcodeError",this.num=r,this.code=E,this.des=R}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,R,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",R){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},D=class{constructor(r,E,R,S={}){this.isValid=r;this.codeName=E;this.denormalized=R;this.data=S}static{A(this,"DecodeResult")}};function y(e,r){let E=e,R=E.slice(0,1);for(;R===r;)E=E.slice(1),R=E.slice(0,1);return E}A(y,"cleanCodeString");function B(e,r,E){if(r<0||r>11)return!1;let R=r;E===0&&R++;let S=new Date(e,R,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(B,"checkValidDate");function w(e,r,E=!1){let R=e.length-r,S=(E?"-":"")+e.slice(0,R)+"."+e.slice(R);try{return Number.parseFloat(S)}catch(I){throw new C("36",I)}}A(w,"parseFloatingPoint");function M(e,r,E,R){let S=new u(e,r,"date"),I=e.length,T="";try{let a=E.slice(I,I+6);if(T=a,R?S.data.setUTCHours(0,0,0,0):S.data.setHours(0,0,0,0),a.length!==6)throw new n(9,"37",`Data length ${a.length} is less than expected length 6 for AI "${e}".`);if(!o.test(a))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${a}".`);let O=0,N=0,s=0;try{O=Number.parseInt(a.slice(0,2),10)}catch(U){throw new C("33",U)}try{N=Number.parseInt(a.slice(2,4),10)-1}catch(U){throw new C("34",U)}try{s=Number.parseInt(a.slice(4,6),10)}catch(U){throw new C("35",U)}let H=Math.floor(new Date().getFullYear()/100),l=new Date().getFullYear()%100,c=O-l;if(c>=51&&c<=99?O=(H-1)*100+O:c>=-99&&c<=-50?O=(H+1)*100+O:O=H*100+O,!B(O,N,s))throw new n(7,"36",`Invalid date "${a}" for AI "${e}".`);s===0&&N++,R?S.data.setUTCFullYear(O,N,s):S.data.setFullYear(O,N,s)}catch(a){S=new u(e,r,"error",a)}return S.dataString=T,{element:S,codestring:E.slice(I+6,E.length)}}A(M,"parseDate");function g(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,H=0,l=0,c=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new C("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new C("34",h)}try{H=Number.parseInt(O.slice(4,6),10)}catch(h){throw new C("35",h)}try{l=Number.parseInt(O.slice(6,8),10)}catch(h){throw new C("35",h)}try{c=Number.parseInt(O.slice(8,10),10)}catch(h){throw new C("35",h)}R?I.data.setUTCHours(l,c,0,0):I.data.setHours(l,c,0,0);let U=Math.floor(new Date().getFullYear()/100),x=new Date().getFullYear()%100,Y=N-x;if(Y>=51&&Y<=99?N=(U-1)*100+N:Y>=-99&&Y<=-50?N=(U+1)*100+N:N=U*100+N,!B(N,s,H))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);H===0&&s++,I.data.setFullYear(N,s,H)}catch(N){I=new u(e,r,"error",N)}return I.dataString=O,{element:I,codestring:E.slice(T+10,E.length)}}A(g,"parseDatetime");function G(e,r,E,R,S=!1){let I=new u(e,r,"string"),T=e.length,a=R.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(I&&!o.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(H){T=new u(e,r,"error",H)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function W(e,r,E,R,S,I){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,H=S.indexOf(I),l=Number.parseInt(r,10);H===-1?N=S.slice(s,S.length):(N=S.slice(s,H),O=S.slice(H+1,S.length)),a.data=w(N,l)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=R,{element:a,codestring:O}}A(W,"parseVariableLengthMeasure");function i(e,r,E,R,S){let I=e+r,T=new u(I,E,"number"),a="",O="";try{let N=e.length+1;if(!o.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${I}", but got "${O}".`);T.data=w(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(I,E,"error",N)}return T.dataString=O,T.unit=R,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function m(e,r,E,R,S,I){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=j(S,r),S=y(T.codestring,r.fncChar),T.element.type=="error"&&(R.isValid=!1),R.parsedCodeItems.push(T.element),R.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(a instanceof C)J(a);else throw a}return R}A(v,"parseBarcode");function J(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A(J,"handleInternalError");var __={fncChar:V},f=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...__,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let R=v(E,this.options),S={};for(let I of R.parsedCodeItems){let T=d["ai"+I.ai];T&&(S[T]=I)}return new D(R.isValid,R.codeName,R.denormalized,S)}};0&&(module.exports={DecodeResult,ElementType,GS1Field,GS1Parser}); diff --git a/dist/index.d.cts b/dist/index.d.cts new file mode 100644 index 0000000..77dfd4f --- /dev/null +++ b/dist/index.d.cts @@ -0,0 +1,604 @@ +declare enum GS1Field { + SSCC = "sscc", + GTIN = "gtin", + MTO_GTIN = "mtoGtin", + CONTENT = "content", + BATCH = "batch", + PROD_DATE = "prodDate", + DUE_DATE = "dueDate", + PACK_DATE = "packDate", + BEST_BEFORE = "bestBefore", + SELL_BY = "sellBy", + EXP_DATE = "expDate", + VARIANT = "variant", + SERIAL = "serial", + HIBCC = "hibcc", + TPX = "tpx", + ADDITIONAL_PRODUCT_ID = "additionalProductID", + CUSTOMER_PART_NUMBER = "customerPartNumber", + MADE_TO_ORDER = "madeToOrder", + PACKAGING = "packaging", + SECONDARY_SERIAL_NUMBER = "secondarySerialNumber", + REF_SOURCE = "refSource", + GDTI = "gdti", + GLN_EXTENSION = "glnExtension", + GCN = "gcn", + VARIABLE_COUNT = "variableCount", + NET_WEIGHT_KG_0 = "netWeightKg0", + NET_WEIGHT_KG_1 = "netWeightKg1", + NET_WEIGHT_KG_2 = "netWeightKg2", + NET_WEIGHT_KG_3 = "netWeightKg3", + NET_WEIGHT_KG_4 = "netWeightKg4", + NET_WEIGHT_KG_5 = "netWeightKg5", + LENGTH_METERS_0 = "lengthMeters0", + LENGTH_METERS_1 = "lengthMeters1", + LENGTH_METERS_2 = "lengthMeters2", + LENGTH_METERS_3 = "lengthMeters3", + LENGTH_METERS_4 = "lengthMeters4", + LENGTH_METERS_5 = "lengthMeters5", + WIDTH_METERS_0 = "widthMeters0", + WIDTH_METERS_1 = "widthMeters1", + WIDTH_METERS_2 = "widthMeters2", + WIDTH_METERS_3 = "widthMeters3", + WIDTH_METERS_4 = "widthMeters4", + WIDTH_METERS_5 = "widthMeters5", + HEIGHT_METERS_0 = "heightMeters0", + HEIGHT_METERS_1 = "heightMeters1", + HEIGHT_METERS_2 = "heightMeters2", + HEIGHT_METERS_3 = "heightMeters3", + HEIGHT_METERS_4 = "heightMeters4", + HEIGHT_METERS_5 = "heightMeters5", + AREA_SQUARE_METERS_0 = "areaSquareMeters0", + AREA_SQUARE_METERS_1 = "areaSquareMeters1", + AREA_SQUARE_METERS_2 = "areaSquareMeters2", + AREA_SQUARE_METERS_3 = "areaSquareMeters3", + AREA_SQUARE_METERS_4 = "areaSquareMeters4", + AREA_SQUARE_METERS_5 = "areaSquareMeters5", + VOLUME_LITRES_LOG_0 = "volumeLitresLog0", + VOLUME_LITRES_LOG_1 = "volumeLitresLog1", + VOLUME_LITRES_LOG_2 = "volumeLitresLog2", + VOLUME_LITRES_LOG_3 = "volumeLitresLog3", + VOLUME_LITRES_LOG_4 = "volumeLitresLog4", + VOLUME_LITRES_LOG_5 = "volumeLitresLog5", + NET_VOLUME_LITERS_0 = "netVolumeLiters0", + NET_VOLUME_LITERS_1 = "netVolumeLiters1", + NET_VOLUME_LITERS_2 = "netVolumeLiters2", + NET_VOLUME_LITERS_3 = "netVolumeLiters3", + NET_VOLUME_LITERS_4 = "netVolumeLiters4", + NET_VOLUME_LITERS_5 = "netVolumeLiters5", + NET_VOLUME_CUBIC_METERS_0 = "netVolumeCubicMeters0", + NET_VOLUME_CUBIC_METERS_1 = "netVolumeCubicMeters1", + NET_VOLUME_CUBIC_METERS_2 = "netVolumeCubicMeters2", + NET_VOLUME_CUBIC_METERS_3 = "netVolumeCubicMeters3", + NET_VOLUME_CUBIC_METERS_4 = "netVolumeCubicMeters4", + NET_VOLUME_CUBIC_METERS_5 = "netVolumeCubicMeters5", + NET_WEIGHT_LB_0 = "netWeightLb0", + NET_WEIGHT_LB_1 = "netWeightLb1", + NET_WEIGHT_LB_2 = "netWeightLb2", + NET_WEIGHT_LB_3 = "netWeightLb3", + NET_WEIGHT_LB_4 = "netWeightLb4", + NET_WEIGHT_LB_5 = "netWeightLb5", + LENGTH_INCHES_0 = "lengthInches0", + LENGTH_INCHES_1 = "lengthInches1", + LENGTH_INCHES_2 = "lengthInches2", + LENGTH_INCHES_3 = "lengthInches3", + LENGTH_INCHES_4 = "lengthInches4", + LENGTH_INCHES_5 = "lengthInches5", + LENGTH_FEET_0 = "lengthFeet0", + LENGTH_FEET_1 = "lengthFeet1", + LENGTH_FEET_2 = "lengthFeet2", + LENGTH_FEET_3 = "lengthFeet3", + LENGTH_FEET_4 = "lengthFeet4", + LENGTH_FEET_5 = "lengthFeet5", + LENGTH_YARDS_0 = "lengthYards0", + LENGTH_YARDS_1 = "lengthYards1", + LENGTH_YARDS_2 = "lengthYards2", + LENGTH_YARDS_3 = "lengthYards3", + LENGTH_YARDS_4 = "lengthYards4", + LENGTH_YARDS_5 = "lengthYards5", + WIDTH_INCHES_0 = "widthInches0", + WIDTH_INCHES_1 = "widthInches1", + WIDTH_INCHES_2 = "widthInches2", + WIDTH_INCHES_3 = "widthInches3", + WIDTH_INCHES_4 = "widthInches4", + WIDTH_INCHES_5 = "widthInches5", + WIDTH_FEET_0 = "widthFeet0", + WIDTH_FEET_1 = "widthFeet1", + WIDTH_FEET_2 = "widthFeet2", + WIDTH_FEET_3 = "widthFeet3", + WIDTH_FEET_4 = "widthFeet4", + WIDTH_FEET_5 = "widthFeet5", + WIDTH_YARDS_0 = "widthYards0", + WIDTH_YARDS_1 = "widthYards1", + WIDTH_YARDS_2 = "widthYards2", + WIDTH_YARDS_3 = "widthYards3", + WIDTH_YARDS_4 = "widthYards4", + WIDTH_YARDS_5 = "widthYards5", + HEIGHT_INCHES_0 = "heightInches0", + HEIGHT_INCHES_1 = "heightInches1", + HEIGHT_INCHES_2 = "heightInches2", + HEIGHT_INCHES_3 = "heightInches3", + HEIGHT_INCHES_4 = "heightInches4", + HEIGHT_INCHES_5 = "heightInches5", + HEIGHT_FEET_0 = "heightFeet0", + HEIGHT_FEET_1 = "heightFeet1", + HEIGHT_FEET_2 = "heightFeet2", + HEIGHT_FEET_3 = "heightFeet3", + HEIGHT_FEET_4 = "heightFeet4", + HEIGHT_FEET_5 = "heightFeet5", + HEIGHT_YARDS_0 = "heightYards0", + HEIGHT_YARDS_1 = "heightYards1", + HEIGHT_YARDS_2 = "heightYards2", + HEIGHT_YARDS_3 = "heightYards3", + HEIGHT_YARDS_4 = "heightYards4", + HEIGHT_YARDS_5 = "heightYards5", + GROSS_WEIGHT_KG_0 = "grossWeightKg0", + GROSS_WEIGHT_KG_1 = "grossWeightKg1", + GROSS_WEIGHT_KG_2 = "grossWeightKg2", + GROSS_WEIGHT_KG_3 = "grossWeightKg3", + GROSS_WEIGHT_KG_4 = "grossWeightKg4", + GROSS_WEIGHT_KG_5 = "grossWeightKg5", + LENGTH_METERS_LOG_0 = "lengthMetersLog0", + LENGTH_METERS_LOG_1 = "lengthMetersLog1", + LENGTH_METERS_LOG_2 = "lengthMetersLog2", + LENGTH_METERS_LOG_3 = "lengthMetersLog3", + LENGTH_METERS_LOG_4 = "lengthMetersLog4", + LENGTH_METERS_LOG_5 = "lengthMetersLog5", + WIDTH_METERS_LOG_0 = "widthMetersLog0", + WIDTH_METERS_LOG_1 = "widthMetersLog1", + WIDTH_METERS_LOG_2 = "widthMetersLog2", + WIDTH_METERS_LOG_3 = "widthMetersLog3", + WIDTH_METERS_LOG_4 = "widthMetersLog4", + WIDTH_METERS_LOG_5 = "widthMetersLog5", + HEIGHT_METERS_LOG_0 = "heightMetersLog0", + HEIGHT_METERS_LOG_1 = "heightMetersLog1", + HEIGHT_METERS_LOG_2 = "heightMetersLog2", + HEIGHT_METERS_LOG_3 = "heightMetersLog3", + HEIGHT_METERS_LOG_4 = "heightMetersLog4", + HEIGHT_METERS_LOG_5 = "heightMetersLog5", + AREA_SQUARE_INCHES_0 = "areaSquareInches0", + AREA_SQUARE_INCHES_1 = "areaSquareInches1", + AREA_SQUARE_INCHES_2 = "areaSquareInches2", + AREA_SQUARE_INCHES_3 = "areaSquareInches3", + AREA_SQUARE_INCHES_4 = "areaSquareInches4", + AREA_SQUARE_INCHES_5 = "areaSquareInches5", + AREA_SQUARE_FEET_0 = "areaSquareFeet0", + AREA_SQUARE_FEET_1 = "areaSquareFeet1", + AREA_SQUARE_FEET_2 = "areaSquareFeet2", + AREA_SQUARE_FEET_3 = "areaSquareFeet3", + AREA_SQUARE_FEET_4 = "areaSquareFeet4", + AREA_SQUARE_FEET_5 = "areaSquareFeet5", + AREA_SQUARE_YARDS_0 = "areaSquareYards0", + AREA_SQUARE_YARDS_1 = "areaSquareYards1", + AREA_SQUARE_YARDS_2 = "areaSquareYards2", + AREA_SQUARE_YARDS_3 = "areaSquareYards3", + AREA_SQUARE_YARDS_4 = "areaSquareYards4", + AREA_SQUARE_YARDS_5 = "areaSquareYards5", + AREA_SQUARE_INCHES_LOG_0 = "areaSquareInchesLog0", + AREA_SQUARE_INCHES_LOG_1 = "areaSquareInchesLog1", + AREA_SQUARE_INCHES_LOG_2 = "areaSquareInchesLog2", + AREA_SQUARE_INCHES_LOG_3 = "areaSquareInchesLog3", + AREA_SQUARE_INCHES_LOG_4 = "areaSquareInchesLog4", + AREA_SQUARE_INCHES_LOG_5 = "areaSquareInchesLog5", + AREA_SQUARE_FEET_LOG_0 = "areaSquareFeetLog0", + AREA_SQUARE_FEET_LOG_1 = "areaSquareFeetLog1", + AREA_SQUARE_FEET_LOG_2 = "areaSquareFeetLog2", + AREA_SQUARE_FEET_LOG_3 = "areaSquareFeetLog3", + AREA_SQUARE_FEET_LOG_4 = "areaSquareFeetLog4", + AREA_SQUARE_FEET_LOG_5 = "areaSquareFeetLog5", + AREA_SQUARE_YARDS_LOG_0 = "areaSquareYardsLog0", + AREA_SQUARE_YARDS_LOG_1 = "areaSquareYardsLog1", + AREA_SQUARE_YARDS_LOG_2 = "areaSquareYardsLog2", + AREA_SQUARE_YARDS_LOG_3 = "areaSquareYardsLog3", + AREA_SQUARE_YARDS_LOG_4 = "areaSquareYardsLog4", + AREA_SQUARE_YARDS_LOG_5 = "areaSquareYardsLog5", + NET_WEIGHT_TROY_OUNCES_0 = "netWeightTroyOunces0", + NET_WEIGHT_TROY_OUNCES_1 = "netWeightTroyOunces1", + NET_WEIGHT_TROY_OUNCES_2 = "netWeightTroyOunces2", + NET_WEIGHT_TROY_OUNCES_3 = "netWeightTroyOunces3", + NET_WEIGHT_TROY_OUNCES_4 = "netWeightTroyOunces4", + NET_WEIGHT_TROY_OUNCES_5 = "netWeightTroyOunces5", + NET_VOLUME_OUNCES_0 = "netVolumeOunces0", + NET_VOLUME_OUNCES_1 = "netVolumeOunces1", + NET_VOLUME_OUNCES_2 = "netVolumeOunces2", + NET_VOLUME_OUNCES_3 = "netVolumeOunces3", + NET_VOLUME_OUNCES_4 = "netVolumeOunces4", + NET_VOLUME_OUNCES_5 = "netVolumeOunces5", + AREA_SQUARE_METERS_LOG_0 = "areaSquareMetersLog0", + AREA_SQUARE_METERS_LOG_1 = "areaSquareMetersLog1", + AREA_SQUARE_METERS_LOG_2 = "areaSquareMetersLog2", + AREA_SQUARE_METERS_LOG_3 = "areaSquareMetersLog3", + AREA_SQUARE_METERS_LOG_4 = "areaSquareMetersLog4", + AREA_SQUARE_METERS_LOG_5 = "areaSquareMetersLog5", + NET_VOLUME_QUARTS_0 = "netVolumeQuarts0", + NET_VOLUME_QUARTS_1 = "netVolumeQuarts1", + NET_VOLUME_QUARTS_2 = "netVolumeQuarts2", + NET_VOLUME_QUARTS_3 = "netVolumeQuarts3", + NET_VOLUME_QUARTS_4 = "netVolumeQuarts4", + NET_VOLUME_QUARTS_5 = "netVolumeQuarts5", + NET_VOLUME_GALLONS_0 = "netVolumeGallons0", + NET_VOLUME_GALLONS_1 = "netVolumeGallons1", + NET_VOLUME_GALLONS_2 = "netVolumeGallons2", + NET_VOLUME_GALLONS_3 = "netVolumeGallons3", + NET_VOLUME_GALLONS_4 = "netVolumeGallons4", + NET_VOLUME_GALLONS_5 = "netVolumeGallons5", + VOLUME_QUARTS_LOG_0 = "volumeQuartsLog0", + VOLUME_QUARTS_LOG_1 = "volumeQuartsLog1", + VOLUME_QUARTS_LOG_2 = "volumeQuartsLog2", + VOLUME_QUARTS_LOG_3 = "volumeQuartsLog3", + VOLUME_QUARTS_LOG_4 = "volumeQuartsLog4", + VOLUME_QUARTS_LOG_5 = "volumeQuartsLog5", + VOLUME_GALLONS_LOG_0 = "volumeGallonsLog0", + VOLUME_GALLONS_LOG_1 = "volumeGallonsLog1", + VOLUME_GALLONS_LOG_2 = "volumeGallonsLog2", + VOLUME_GALLONS_LOG_3 = "volumeGallonsLog3", + VOLUME_GALLONS_LOG_4 = "volumeGallonsLog4", + VOLUME_GALLONS_LOG_5 = "volumeGallonsLog5", + VOLUME_CUBIC_INCHES_0 = "volumeCubicInches0", + VOLUME_CUBIC_INCHES_1 = "volumeCubicInches1", + VOLUME_CUBIC_INCHES_2 = "volumeCubicInches2", + VOLUME_CUBIC_INCHES_3 = "volumeCubicInches3", + VOLUME_CUBIC_INCHES_4 = "volumeCubicInches4", + VOLUME_CUBIC_INCHES_5 = "volumeCubicInches5", + VOLUME_CUBIC_FEET_0 = "volumeCubicFeet0", + VOLUME_CUBIC_FEET_1 = "volumeCubicFeet1", + VOLUME_CUBIC_FEET_2 = "volumeCubicFeet2", + VOLUME_CUBIC_FEET_3 = "volumeCubicFeet3", + VOLUME_CUBIC_FEET_4 = "volumeCubicFeet4", + VOLUME_CUBIC_FEET_5 = "volumeCubicFeet5", + VOLUME_CUBIC_YARDS_0 = "volumeCubicYards0", + VOLUME_CUBIC_YARDS_1 = "volumeCubicYards1", + VOLUME_CUBIC_YARDS_2 = "volumeCubicYards2", + VOLUME_CUBIC_YARDS_3 = "volumeCubicYards3", + VOLUME_CUBIC_YARDS_4 = "volumeCubicYards4", + VOLUME_CUBIC_YARDS_5 = "volumeCubicYards5", + VOLUME_CUBIC_METERS_LOG_0 = "volumeCubicMetersLog0", + VOLUME_CUBIC_METERS_LOG_1 = "volumeCubicMetersLog1", + VOLUME_CUBIC_METERS_LOG_2 = "volumeCubicMetersLog2", + VOLUME_CUBIC_METERS_LOG_3 = "volumeCubicMetersLog3", + VOLUME_CUBIC_METERS_LOG_4 = "volumeCubicMetersLog4", + VOLUME_CUBIC_METERS_LOG_5 = "volumeCubicMetersLog5", + KG_PER_SQUARE_METERS_0 = "kgPerSquareMeters0", + KG_PER_SQUARE_METERS_1 = "kgPerSquareMeters1", + KG_PER_SQUARE_METERS_2 = "kgPerSquareMeters2", + KG_PER_SQUARE_METERS_3 = "kgPerSquareMeters3", + KG_PER_SQUARE_METERS_4 = "kgPerSquareMeters4", + KG_PER_SQUARE_METERS_5 = "kgPerSquareMeters5", + GROSS_WEIGHT_POUNDS_0 = "grossWeightPounds0", + GROSS_WEIGHT_POUNDS_1 = "grossWeightPounds1", + GROSS_WEIGHT_POUNDS_2 = "grossWeightPounds2", + GROSS_WEIGHT_POUNDS_3 = "grossWeightPounds3", + GROSS_WEIGHT_POUNDS_4 = "grossWeightPounds4", + GROSS_WEIGHT_POUNDS_5 = "grossWeightPounds5", + LENGTH_INCHES_LOG_0 = "lengthInchesLog0", + LENGTH_INCHES_LOG_1 = "lengthInchesLog1", + LENGTH_INCHES_LOG_2 = "lengthInchesLog2", + LENGTH_INCHES_LOG_3 = "lengthInchesLog3", + LENGTH_INCHES_LOG_4 = "lengthInchesLog4", + LENGTH_INCHES_LOG_5 = "lengthInchesLog5", + LENGTH_FEET_LOG_0 = "lengthFeetLog0", + LENGTH_FEET_LOG_1 = "lengthFeetLog1", + LENGTH_FEET_LOG_2 = "lengthFeetLog2", + LENGTH_FEET_LOG_3 = "lengthFeetLog3", + LENGTH_FEET_LOG_4 = "lengthFeetLog4", + LENGTH_FEET_LOG_5 = "lengthFeetLog5", + LENGTH_YARDS_LOG_0 = "lengthYardsLog0", + LENGTH_YARDS_LOG_1 = "lengthYardsLog1", + LENGTH_YARDS_LOG_2 = "lengthYardsLog2", + LENGTH_YARDS_LOG_3 = "lengthYardsLog3", + LENGTH_YARDS_LOG_4 = "lengthYardsLog4", + LENGTH_YARDS_LOG_5 = "lengthYardsLog5", + WIDTH_INCHES_LOG_0 = "widthInchesLog0", + WIDTH_INCHES_LOG_1 = "widthInchesLog1", + WIDTH_INCHES_LOG_2 = "widthInchesLog2", + WIDTH_INCHES_LOG_3 = "widthInchesLog3", + WIDTH_INCHES_LOG_4 = "widthInchesLog4", + WIDTH_INCHES_LOG_5 = "widthInchesLog5", + WIDTH_FEET_LOG_0 = "widthFeetLog0", + WIDTH_FEET_LOG_1 = "widthFeetLog1", + WIDTH_FEET_LOG_2 = "widthFeetLog2", + WIDTH_FEET_LOG_3 = "widthFeetLog3", + WIDTH_FEET_LOG_4 = "widthFeetLog4", + WIDTH_FEET_LOG_5 = "widthFeetLog5", + WIDTH_YARDS_LOG_0 = "widthYardsLog0", + WIDTH_YARDS_LOG_1 = "widthYardsLog1", + WIDTH_YARDS_LOG_2 = "widthYardsLog2", + WIDTH_YARDS_LOG_3 = "widthYardsLog3", + WIDTH_YARDS_LOG_4 = "widthYardsLog4", + WIDTH_YARDS_LOG_5 = "widthYardsLog5", + HEIGHT_INCHES_LOG_0 = "heightInchesLog0", + HEIGHT_INCHES_LOG_1 = "heightInchesLog1", + HEIGHT_INCHES_LOG_2 = "heightInchesLog2", + HEIGHT_INCHES_LOG_3 = "heightInchesLog3", + HEIGHT_INCHES_LOG_4 = "heightInchesLog4", + HEIGHT_INCHES_LOG_5 = "heightInchesLog5", + HEIGHT_FEET_LOG_0 = "heightFeetLog0", + HEIGHT_FEET_LOG_1 = "heightFeetLog1", + HEIGHT_FEET_LOG_2 = "heightFeetLog2", + HEIGHT_FEET_LOG_3 = "heightFeetLog3", + HEIGHT_FEET_LOG_4 = "heightFeetLog4", + HEIGHT_FEET_LOG_5 = "heightFeetLog5", + HEIGHT_YARDS_LOG_0 = "heightYardsLog0", + HEIGHT_YARDS_LOG_1 = "heightYardsLog1", + HEIGHT_YARDS_LOG_2 = "heightYardsLog2", + HEIGHT_YARDS_LOG_3 = "heightYardsLog3", + HEIGHT_YARDS_LOG_4 = "heightYardsLog4", + HEIGHT_YARDS_LOG_5 = "heightYardsLog5", + VOLUME_CUBIC_INCHES_LOG_0 = "volumeCubicInchesLog0", + VOLUME_CUBIC_INCHES_LOG_1 = "volumeCubicInchesLog1", + VOLUME_CUBIC_INCHES_LOG_2 = "volumeCubicInchesLog2", + VOLUME_CUBIC_INCHES_LOG_3 = "volumeCubicInchesLog3", + VOLUME_CUBIC_INCHES_LOG_4 = "volumeCubicInchesLog4", + VOLUME_CUBIC_INCHES_LOG_5 = "volumeCubicInchesLog5", + VOLUME_CUBIC_FEET_LOG_0 = "volumeCubicFeetLog0", + VOLUME_CUBIC_FEET_LOG_1 = "volumeCubicFeetLog1", + VOLUME_CUBIC_FEET_LOG_2 = "volumeCubicFeetLog2", + VOLUME_CUBIC_FEET_LOG_3 = "volumeCubicFeetLog3", + VOLUME_CUBIC_FEET_LOG_4 = "volumeCubicFeetLog4", + VOLUME_CUBIC_FEET_LOG_5 = "volumeCubicFeetLog5", + VOLUME_CUBIC_YARDS_LOG_0 = "volumeCubicYardsLog0", + VOLUME_CUBIC_YARDS_LOG_1 = "volumeCubicYardsLog1", + VOLUME_CUBIC_YARDS_LOG_2 = "volumeCubicYardsLog2", + VOLUME_CUBIC_YARDS_LOG_3 = "volumeCubicYardsLog3", + VOLUME_CUBIC_YARDS_LOG_4 = "volumeCubicYardsLog4", + VOLUME_CUBIC_YARDS_LOG_5 = "volumeCubicYardsLog5", + COUNT = "count", + AMOUNT_PAYABLE_0 = "amountPayable0", + AMOUNT_PAYABLE_1 = "amountPayable1", + AMOUNT_PAYABLE_2 = "amountPayable2", + AMOUNT_PAYABLE_3 = "amountPayable3", + AMOUNT_PAYABLE_4 = "amountPayable4", + AMOUNT_PAYABLE_5 = "amountPayable5", + AMOUNT_PAYABLE_ISO_0 = "amountPayableISO0", + AMOUNT_PAYABLE_ISO_1 = "amountPayableISO1", + AMOUNT_PAYABLE_ISO_2 = "amountPayableISO2", + AMOUNT_PAYABLE_ISO_3 = "amountPayableISO3", + AMOUNT_PAYABLE_ISO_4 = "amountPayableISO4", + AMOUNT_PAYABLE_ISO_5 = "amountPayableISO5", + PRICE_0 = "price0", + PRICE_1 = "price1", + PRICE_2 = "price2", + PRICE_3 = "price3", + PRICE_ISO_0 = "priceISO0", + PRICE_ISO_1 = "priceISO1", + PRICE_ISO_2 = "priceISO2", + PRICE_ISO_3 = "priceISO3", + PERCENT_DISCOUNT_0 = "percentDiscount0", + PERCENT_DISCOUNT_1 = "percentDiscount1", + PERCENT_DISCOUNT_2 = "percentDiscount2", + PERCENT_DISCOUNT_3 = "percentDiscount3", + PRICE_PER_UNIT_MEASURE_0 = "pricePerUnitMeasure0", + PRICE_PER_UNIT_MEASURE_1 = "pricePerUnitMeasure1", + PRICE_PER_UNIT_MEASURE_2 = "pricePerUnitMeasure2", + PRICE_PER_UNIT_MEASURE_3 = "pricePerUnitMeasure3", + PRICE_PER_UNIT_MEASURE_4 = "pricePerUnitMeasure4", + PRICE_PER_UNIT_MEASURE_5 = "pricePerUnitMeasure5", + ORDER_NUMBER = "orderNumber", + GINC = "ginc", + GSIN = "gsin", + ROUTE = "route", + SHIP_TO = "shipTo", + BILL_TO = "billTo", + PURCHASE_FROM = "purchaseFrom", + SHIP_FOR = "shipFor", + LOC_NO = "locNo", + PAY_TO = "payTo", + PROD_SERV_LOC = "prodServLoc", + PARTY = "party", + SHIP_TO_POST = "shipToPost", + SHIP_TO_POST_ISO = "shipToPostISO", + ORIGIN = "origin", + COUNTRY_INITIAL_PROCESS = "countryInitialProcess", + COUNTRY_PROCESS = "countryProcess", + COUNTRY_DISASSEMBLY = "countryDisassembly", + COUNTRY_FULL_PROCESS = "countryFullProcess", + ORIGIN_SUBDIVISION = "originSubdivision", + SHIP_TO_COMP = "shipToComp", + SHIP_TO_NAME = "shipToName", + SHIP_TO_ADD1 = "shipToAdd1", + SHIP_TO_ADD2 = "shipToAdd2", + SHIP_TO_SUB = "shipToSub", + SHIP_TO_LOC = "shipToLoc", + SHIP_TO_REG = "shipToReg", + SHIP_TO_COUNTRY = "shipToCountry", + SHIP_TO_PHONE = "shipToPhone", + SHIP_TO_GEO = "shipToGeo", + RTN_TO_COMP = "rtnToComp", + RTN_TO_NAME = "rtnToName", + RTN_TO_ADD1 = "rtnToAdd1", + RTN_TO_ADD2 = "rtnToAdd2", + RTN_TO_SUB = "rtnToSub", + RTN_TO_LOC = "rtnToLoc", + RTN_TO_REG = "rtnToReg", + RTN_TO_COUNTRY = "rtnToCountry", + RTN_TO_POST = "rtnToPost", + RTN_TO_PHONE = "rtnToPhone", + SRV_DESCRIPTION = "srvDescription", + DANGEROUS_GOODS = "dangerousGoods", + AUTH_LEAVE = "authLeave", + SIG_REQUIRED = "sigRequired", + NBEF_DEL_DT = "nbefDelDt", + NAFT_DEL_DT = "naftDelDt", + REL_DATE = "relDate", + MAX_TEMP_F = "maxTempF", + MAX_TEMP_C = "maxTempC", + MIN_TEMP_F = "minTempF", + MIN_TEMP_C = "minTempC", + NSN = "nsn", + MEAT_CUT = "meatCut", + EXPIRATION_DATE_TIME = "expirationDateTime", + ACTIVE_POTENCY = "activePotency", + CATCH_AREA = "catchArea", + FIRST_FREEZE_DATE = "firstFreezeDate", + HARVEST_DATE = "harvestDate", + AQUATIC_SPECIES = "aquaticSpecies", + FISHING_GEAR_TYPE = "fishingGearType", + PROD_METHOD = "prodMethod", + TEST_BY = "testBy", + REFURB_LOT = "refurbLot", + FUNC_STAT = "funcStat", + REV_STAT = "revStat", + GIAI_ASSEMBLY = "giaiAssembly", + PROCESSOR = "processor", + PROCESSOR_2 = "processor2", + PROCESSOR_3 = "processor3", + PROCESSOR_4 = "processor4", + PROCESSOR_5 = "processor5", + PROCESSOR_6 = "processor6", + PROCESSOR_7 = "processor7", + PROCESSOR_8 = "processor8", + PROCESSOR_9 = "processor9", + PROCESSOR_10 = "processor10", + UIC_EXT = "uicExt", + UFRGT_UNIT_TYPE = "ufrgtUnitType", + NHRN_PZN = "nhrnPzn", + NHRN_CIP = "nhrnCip", + NHRN_CN = "nhrnCn", + NHRN_DRN = "nhrnDrn", + NHRN_AIM = "nhrnAim", + NHRN_DNC = "nhrnDnc", + NHRN_AIC = "nhrnAic", + CERT0 = "cert0", + CERT1 = "cert1", + CERT2 = "cert2", + CERT3 = "cert3", + CERT4 = "cert4", + CERT5 = "cert5", + CERT6 = "cert6", + CERT7 = "cert7", + CERT8 = "cert8", + CERT9 = "cert9", + PROTOCOL = "protocol", + AIDC_MEDIA_TYPE = "aidcMediaType", + DOB = "dob", + DOB_TIME = "dobTime", + BIO_SEX = "bioSex", + FAMILY_NAME = "familyName", + GIVEN_NAME = "givenName", + SUFFIX = "suffix", + FULL_NAME = "fullName", + PERSON_ADDR = "personAddr", + BIRTH_SEQUENCE = "birthSeq", + BABY = "baby", + ROLL_PRODUCTS = "rollProducts", + CMT_NO = "cmtNo", + GRAI = "grai", + GIAI = "giai", + PRICE_PER_UNIT = "pricePerUnit", + ITIP = "itip", + IBAN = "iban", + PROD_TIME = "prodTime", + OPTICAL_SENSOR = "opticalSensor", + CPID = "cpid", + CPID_SERIAL = "cpidSerial", + VERSION = "version", + GMN = "gmn", + GSRN_PROVIDER = "gsrnProvider", + GSRN_RECIPIENT = "gsrnRecipient", + SRIN = "srin", + REF_NO = "refNo", + ITIP_CONTENT = "itipContent", + DIG_SIG = "digSig", + COUPON = "coupon", + POINTS = "points", + COUPON_EXTENDED = "couponExtended", + PRODUCT_URL = "productURL", + INTERNAL_1 = "internal1", + INTERNAL_2 = "internal2", + INTERNAL_3 = "internal3", + INTERNAL_4 = "internal4", + INTERNAL_5 = "internal5", + INTERNAL_6 = "internal6", + INTERNAL_7 = "internal7", + INTERNAL_8 = "internal8", + INTERNAL_9 = "internal9", + INTERNAL_10 = "internal10" +} + +declare enum ElementType { + String = "string", + Number = "number", + Date = "date", + Error = "error", + UNDEFINED = "" +} +/** + * The result returned by {@link GS1Parser#decode} + */ +declare class DecodeResult { + /** barcode parsing was successful */ + isValid: boolean; + /** + * A barcode type identifier (a simple string denoting the type of barcode) + */ + codeName: string; + /** + * Human readable full barcode, with parentheses surrounding AIs + */ + denormalized: string; + /** + * The actual parsed data, presented in a dictionary + */ + data: Partial>>; + constructor( + /** barcode parsing was successful */ + isValid: boolean, + /** + * A barcode type identifier (a simple string denoting the type of barcode) + */ + codeName: string, + /** + * Human readable full barcode, with parentheses surrounding AIs + */ + denormalized: string, + /** + * The actual parsed data, presented in a dictionary + */ + data?: Partial>>); +} + +type GS1DecodedData = string | number | Date; +interface ParsedElement { + ai: string; + dataTitle: string; + data: T | null; + dataString: string; + unit: string; + type: ElementType; +} +/** + * Options that tweak the parser's behavior + */ +interface ParserOptions { + /** + * The FNC1 character, a non-printable special character that delimits fields of variable length. + * If not specified, the GS char (\x1D) is used + */ + fncChar?: string; + /** + * The lot (or batch) field is usually delimited by a FNC1 char, but you can limit its size to a specific length. + * If not specified, no limit is applied, except the one in the GS1 specs + */ + lotMaxLength?: number; + /** + * If true, date fields are returned as UTC timestamps instead of local dates + */ + utcTimestamps?: boolean; +} + +declare class GS1Parser { + options: ParserOptions; + /** + * Builds a GS1 barcode parser + * @param options Barcode parser options + */ + constructor(options?: ParserOptions); + /** + * Performs the actual parsing + * @param barcode The barcode to be parsed + * @returns Parsed data + */ + decode(barcode: string): DecodeResult; +} + +export { DecodeResult, ElementType, type GS1DecodedData, GS1Field, GS1Parser, type ParsedElement, type ParserOptions }; diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..77dfd4f --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,604 @@ +declare enum GS1Field { + SSCC = "sscc", + GTIN = "gtin", + MTO_GTIN = "mtoGtin", + CONTENT = "content", + BATCH = "batch", + PROD_DATE = "prodDate", + DUE_DATE = "dueDate", + PACK_DATE = "packDate", + BEST_BEFORE = "bestBefore", + SELL_BY = "sellBy", + EXP_DATE = "expDate", + VARIANT = "variant", + SERIAL = "serial", + HIBCC = "hibcc", + TPX = "tpx", + ADDITIONAL_PRODUCT_ID = "additionalProductID", + CUSTOMER_PART_NUMBER = "customerPartNumber", + MADE_TO_ORDER = "madeToOrder", + PACKAGING = "packaging", + SECONDARY_SERIAL_NUMBER = "secondarySerialNumber", + REF_SOURCE = "refSource", + GDTI = "gdti", + GLN_EXTENSION = "glnExtension", + GCN = "gcn", + VARIABLE_COUNT = "variableCount", + NET_WEIGHT_KG_0 = "netWeightKg0", + NET_WEIGHT_KG_1 = "netWeightKg1", + NET_WEIGHT_KG_2 = "netWeightKg2", + NET_WEIGHT_KG_3 = "netWeightKg3", + NET_WEIGHT_KG_4 = "netWeightKg4", + NET_WEIGHT_KG_5 = "netWeightKg5", + LENGTH_METERS_0 = "lengthMeters0", + LENGTH_METERS_1 = "lengthMeters1", + LENGTH_METERS_2 = "lengthMeters2", + LENGTH_METERS_3 = "lengthMeters3", + LENGTH_METERS_4 = "lengthMeters4", + LENGTH_METERS_5 = "lengthMeters5", + WIDTH_METERS_0 = "widthMeters0", + WIDTH_METERS_1 = "widthMeters1", + WIDTH_METERS_2 = "widthMeters2", + WIDTH_METERS_3 = "widthMeters3", + WIDTH_METERS_4 = "widthMeters4", + WIDTH_METERS_5 = "widthMeters5", + HEIGHT_METERS_0 = "heightMeters0", + HEIGHT_METERS_1 = "heightMeters1", + HEIGHT_METERS_2 = "heightMeters2", + HEIGHT_METERS_3 = "heightMeters3", + HEIGHT_METERS_4 = "heightMeters4", + HEIGHT_METERS_5 = "heightMeters5", + AREA_SQUARE_METERS_0 = "areaSquareMeters0", + AREA_SQUARE_METERS_1 = "areaSquareMeters1", + AREA_SQUARE_METERS_2 = "areaSquareMeters2", + AREA_SQUARE_METERS_3 = "areaSquareMeters3", + AREA_SQUARE_METERS_4 = "areaSquareMeters4", + AREA_SQUARE_METERS_5 = "areaSquareMeters5", + VOLUME_LITRES_LOG_0 = "volumeLitresLog0", + VOLUME_LITRES_LOG_1 = "volumeLitresLog1", + VOLUME_LITRES_LOG_2 = "volumeLitresLog2", + VOLUME_LITRES_LOG_3 = "volumeLitresLog3", + VOLUME_LITRES_LOG_4 = "volumeLitresLog4", + VOLUME_LITRES_LOG_5 = "volumeLitresLog5", + NET_VOLUME_LITERS_0 = "netVolumeLiters0", + NET_VOLUME_LITERS_1 = "netVolumeLiters1", + NET_VOLUME_LITERS_2 = "netVolumeLiters2", + NET_VOLUME_LITERS_3 = "netVolumeLiters3", + NET_VOLUME_LITERS_4 = "netVolumeLiters4", + NET_VOLUME_LITERS_5 = "netVolumeLiters5", + NET_VOLUME_CUBIC_METERS_0 = "netVolumeCubicMeters0", + NET_VOLUME_CUBIC_METERS_1 = "netVolumeCubicMeters1", + NET_VOLUME_CUBIC_METERS_2 = "netVolumeCubicMeters2", + NET_VOLUME_CUBIC_METERS_3 = "netVolumeCubicMeters3", + NET_VOLUME_CUBIC_METERS_4 = "netVolumeCubicMeters4", + NET_VOLUME_CUBIC_METERS_5 = "netVolumeCubicMeters5", + NET_WEIGHT_LB_0 = "netWeightLb0", + NET_WEIGHT_LB_1 = "netWeightLb1", + NET_WEIGHT_LB_2 = "netWeightLb2", + NET_WEIGHT_LB_3 = "netWeightLb3", + NET_WEIGHT_LB_4 = "netWeightLb4", + NET_WEIGHT_LB_5 = "netWeightLb5", + LENGTH_INCHES_0 = "lengthInches0", + LENGTH_INCHES_1 = "lengthInches1", + LENGTH_INCHES_2 = "lengthInches2", + LENGTH_INCHES_3 = "lengthInches3", + LENGTH_INCHES_4 = "lengthInches4", + LENGTH_INCHES_5 = "lengthInches5", + LENGTH_FEET_0 = "lengthFeet0", + LENGTH_FEET_1 = "lengthFeet1", + LENGTH_FEET_2 = "lengthFeet2", + LENGTH_FEET_3 = "lengthFeet3", + LENGTH_FEET_4 = "lengthFeet4", + LENGTH_FEET_5 = "lengthFeet5", + LENGTH_YARDS_0 = "lengthYards0", + LENGTH_YARDS_1 = "lengthYards1", + LENGTH_YARDS_2 = "lengthYards2", + LENGTH_YARDS_3 = "lengthYards3", + LENGTH_YARDS_4 = "lengthYards4", + LENGTH_YARDS_5 = "lengthYards5", + WIDTH_INCHES_0 = "widthInches0", + WIDTH_INCHES_1 = "widthInches1", + WIDTH_INCHES_2 = "widthInches2", + WIDTH_INCHES_3 = "widthInches3", + WIDTH_INCHES_4 = "widthInches4", + WIDTH_INCHES_5 = "widthInches5", + WIDTH_FEET_0 = "widthFeet0", + WIDTH_FEET_1 = "widthFeet1", + WIDTH_FEET_2 = "widthFeet2", + WIDTH_FEET_3 = "widthFeet3", + WIDTH_FEET_4 = "widthFeet4", + WIDTH_FEET_5 = "widthFeet5", + WIDTH_YARDS_0 = "widthYards0", + WIDTH_YARDS_1 = "widthYards1", + WIDTH_YARDS_2 = "widthYards2", + WIDTH_YARDS_3 = "widthYards3", + WIDTH_YARDS_4 = "widthYards4", + WIDTH_YARDS_5 = "widthYards5", + HEIGHT_INCHES_0 = "heightInches0", + HEIGHT_INCHES_1 = "heightInches1", + HEIGHT_INCHES_2 = "heightInches2", + HEIGHT_INCHES_3 = "heightInches3", + HEIGHT_INCHES_4 = "heightInches4", + HEIGHT_INCHES_5 = "heightInches5", + HEIGHT_FEET_0 = "heightFeet0", + HEIGHT_FEET_1 = "heightFeet1", + HEIGHT_FEET_2 = "heightFeet2", + HEIGHT_FEET_3 = "heightFeet3", + HEIGHT_FEET_4 = "heightFeet4", + HEIGHT_FEET_5 = "heightFeet5", + HEIGHT_YARDS_0 = "heightYards0", + HEIGHT_YARDS_1 = "heightYards1", + HEIGHT_YARDS_2 = "heightYards2", + HEIGHT_YARDS_3 = "heightYards3", + HEIGHT_YARDS_4 = "heightYards4", + HEIGHT_YARDS_5 = "heightYards5", + GROSS_WEIGHT_KG_0 = "grossWeightKg0", + GROSS_WEIGHT_KG_1 = "grossWeightKg1", + GROSS_WEIGHT_KG_2 = "grossWeightKg2", + GROSS_WEIGHT_KG_3 = "grossWeightKg3", + GROSS_WEIGHT_KG_4 = "grossWeightKg4", + GROSS_WEIGHT_KG_5 = "grossWeightKg5", + LENGTH_METERS_LOG_0 = "lengthMetersLog0", + LENGTH_METERS_LOG_1 = "lengthMetersLog1", + LENGTH_METERS_LOG_2 = "lengthMetersLog2", + LENGTH_METERS_LOG_3 = "lengthMetersLog3", + LENGTH_METERS_LOG_4 = "lengthMetersLog4", + LENGTH_METERS_LOG_5 = "lengthMetersLog5", + WIDTH_METERS_LOG_0 = "widthMetersLog0", + WIDTH_METERS_LOG_1 = "widthMetersLog1", + WIDTH_METERS_LOG_2 = "widthMetersLog2", + WIDTH_METERS_LOG_3 = "widthMetersLog3", + WIDTH_METERS_LOG_4 = "widthMetersLog4", + WIDTH_METERS_LOG_5 = "widthMetersLog5", + HEIGHT_METERS_LOG_0 = "heightMetersLog0", + HEIGHT_METERS_LOG_1 = "heightMetersLog1", + HEIGHT_METERS_LOG_2 = "heightMetersLog2", + HEIGHT_METERS_LOG_3 = "heightMetersLog3", + HEIGHT_METERS_LOG_4 = "heightMetersLog4", + HEIGHT_METERS_LOG_5 = "heightMetersLog5", + AREA_SQUARE_INCHES_0 = "areaSquareInches0", + AREA_SQUARE_INCHES_1 = "areaSquareInches1", + AREA_SQUARE_INCHES_2 = "areaSquareInches2", + AREA_SQUARE_INCHES_3 = "areaSquareInches3", + AREA_SQUARE_INCHES_4 = "areaSquareInches4", + AREA_SQUARE_INCHES_5 = "areaSquareInches5", + AREA_SQUARE_FEET_0 = "areaSquareFeet0", + AREA_SQUARE_FEET_1 = "areaSquareFeet1", + AREA_SQUARE_FEET_2 = "areaSquareFeet2", + AREA_SQUARE_FEET_3 = "areaSquareFeet3", + AREA_SQUARE_FEET_4 = "areaSquareFeet4", + AREA_SQUARE_FEET_5 = "areaSquareFeet5", + AREA_SQUARE_YARDS_0 = "areaSquareYards0", + AREA_SQUARE_YARDS_1 = "areaSquareYards1", + AREA_SQUARE_YARDS_2 = "areaSquareYards2", + AREA_SQUARE_YARDS_3 = "areaSquareYards3", + AREA_SQUARE_YARDS_4 = "areaSquareYards4", + AREA_SQUARE_YARDS_5 = "areaSquareYards5", + AREA_SQUARE_INCHES_LOG_0 = "areaSquareInchesLog0", + AREA_SQUARE_INCHES_LOG_1 = "areaSquareInchesLog1", + AREA_SQUARE_INCHES_LOG_2 = "areaSquareInchesLog2", + AREA_SQUARE_INCHES_LOG_3 = "areaSquareInchesLog3", + AREA_SQUARE_INCHES_LOG_4 = "areaSquareInchesLog4", + AREA_SQUARE_INCHES_LOG_5 = "areaSquareInchesLog5", + AREA_SQUARE_FEET_LOG_0 = "areaSquareFeetLog0", + AREA_SQUARE_FEET_LOG_1 = "areaSquareFeetLog1", + AREA_SQUARE_FEET_LOG_2 = "areaSquareFeetLog2", + AREA_SQUARE_FEET_LOG_3 = "areaSquareFeetLog3", + AREA_SQUARE_FEET_LOG_4 = "areaSquareFeetLog4", + AREA_SQUARE_FEET_LOG_5 = "areaSquareFeetLog5", + AREA_SQUARE_YARDS_LOG_0 = "areaSquareYardsLog0", + AREA_SQUARE_YARDS_LOG_1 = "areaSquareYardsLog1", + AREA_SQUARE_YARDS_LOG_2 = "areaSquareYardsLog2", + AREA_SQUARE_YARDS_LOG_3 = "areaSquareYardsLog3", + AREA_SQUARE_YARDS_LOG_4 = "areaSquareYardsLog4", + AREA_SQUARE_YARDS_LOG_5 = "areaSquareYardsLog5", + NET_WEIGHT_TROY_OUNCES_0 = "netWeightTroyOunces0", + NET_WEIGHT_TROY_OUNCES_1 = "netWeightTroyOunces1", + NET_WEIGHT_TROY_OUNCES_2 = "netWeightTroyOunces2", + NET_WEIGHT_TROY_OUNCES_3 = "netWeightTroyOunces3", + NET_WEIGHT_TROY_OUNCES_4 = "netWeightTroyOunces4", + NET_WEIGHT_TROY_OUNCES_5 = "netWeightTroyOunces5", + NET_VOLUME_OUNCES_0 = "netVolumeOunces0", + NET_VOLUME_OUNCES_1 = "netVolumeOunces1", + NET_VOLUME_OUNCES_2 = "netVolumeOunces2", + NET_VOLUME_OUNCES_3 = "netVolumeOunces3", + NET_VOLUME_OUNCES_4 = "netVolumeOunces4", + NET_VOLUME_OUNCES_5 = "netVolumeOunces5", + AREA_SQUARE_METERS_LOG_0 = "areaSquareMetersLog0", + AREA_SQUARE_METERS_LOG_1 = "areaSquareMetersLog1", + AREA_SQUARE_METERS_LOG_2 = "areaSquareMetersLog2", + AREA_SQUARE_METERS_LOG_3 = "areaSquareMetersLog3", + AREA_SQUARE_METERS_LOG_4 = "areaSquareMetersLog4", + AREA_SQUARE_METERS_LOG_5 = "areaSquareMetersLog5", + NET_VOLUME_QUARTS_0 = "netVolumeQuarts0", + NET_VOLUME_QUARTS_1 = "netVolumeQuarts1", + NET_VOLUME_QUARTS_2 = "netVolumeQuarts2", + NET_VOLUME_QUARTS_3 = "netVolumeQuarts3", + NET_VOLUME_QUARTS_4 = "netVolumeQuarts4", + NET_VOLUME_QUARTS_5 = "netVolumeQuarts5", + NET_VOLUME_GALLONS_0 = "netVolumeGallons0", + NET_VOLUME_GALLONS_1 = "netVolumeGallons1", + NET_VOLUME_GALLONS_2 = "netVolumeGallons2", + NET_VOLUME_GALLONS_3 = "netVolumeGallons3", + NET_VOLUME_GALLONS_4 = "netVolumeGallons4", + NET_VOLUME_GALLONS_5 = "netVolumeGallons5", + VOLUME_QUARTS_LOG_0 = "volumeQuartsLog0", + VOLUME_QUARTS_LOG_1 = "volumeQuartsLog1", + VOLUME_QUARTS_LOG_2 = "volumeQuartsLog2", + VOLUME_QUARTS_LOG_3 = "volumeQuartsLog3", + VOLUME_QUARTS_LOG_4 = "volumeQuartsLog4", + VOLUME_QUARTS_LOG_5 = "volumeQuartsLog5", + VOLUME_GALLONS_LOG_0 = "volumeGallonsLog0", + VOLUME_GALLONS_LOG_1 = "volumeGallonsLog1", + VOLUME_GALLONS_LOG_2 = "volumeGallonsLog2", + VOLUME_GALLONS_LOG_3 = "volumeGallonsLog3", + VOLUME_GALLONS_LOG_4 = "volumeGallonsLog4", + VOLUME_GALLONS_LOG_5 = "volumeGallonsLog5", + VOLUME_CUBIC_INCHES_0 = "volumeCubicInches0", + VOLUME_CUBIC_INCHES_1 = "volumeCubicInches1", + VOLUME_CUBIC_INCHES_2 = "volumeCubicInches2", + VOLUME_CUBIC_INCHES_3 = "volumeCubicInches3", + VOLUME_CUBIC_INCHES_4 = "volumeCubicInches4", + VOLUME_CUBIC_INCHES_5 = "volumeCubicInches5", + VOLUME_CUBIC_FEET_0 = "volumeCubicFeet0", + VOLUME_CUBIC_FEET_1 = "volumeCubicFeet1", + VOLUME_CUBIC_FEET_2 = "volumeCubicFeet2", + VOLUME_CUBIC_FEET_3 = "volumeCubicFeet3", + VOLUME_CUBIC_FEET_4 = "volumeCubicFeet4", + VOLUME_CUBIC_FEET_5 = "volumeCubicFeet5", + VOLUME_CUBIC_YARDS_0 = "volumeCubicYards0", + VOLUME_CUBIC_YARDS_1 = "volumeCubicYards1", + VOLUME_CUBIC_YARDS_2 = "volumeCubicYards2", + VOLUME_CUBIC_YARDS_3 = "volumeCubicYards3", + VOLUME_CUBIC_YARDS_4 = "volumeCubicYards4", + VOLUME_CUBIC_YARDS_5 = "volumeCubicYards5", + VOLUME_CUBIC_METERS_LOG_0 = "volumeCubicMetersLog0", + VOLUME_CUBIC_METERS_LOG_1 = "volumeCubicMetersLog1", + VOLUME_CUBIC_METERS_LOG_2 = "volumeCubicMetersLog2", + VOLUME_CUBIC_METERS_LOG_3 = "volumeCubicMetersLog3", + VOLUME_CUBIC_METERS_LOG_4 = "volumeCubicMetersLog4", + VOLUME_CUBIC_METERS_LOG_5 = "volumeCubicMetersLog5", + KG_PER_SQUARE_METERS_0 = "kgPerSquareMeters0", + KG_PER_SQUARE_METERS_1 = "kgPerSquareMeters1", + KG_PER_SQUARE_METERS_2 = "kgPerSquareMeters2", + KG_PER_SQUARE_METERS_3 = "kgPerSquareMeters3", + KG_PER_SQUARE_METERS_4 = "kgPerSquareMeters4", + KG_PER_SQUARE_METERS_5 = "kgPerSquareMeters5", + GROSS_WEIGHT_POUNDS_0 = "grossWeightPounds0", + GROSS_WEIGHT_POUNDS_1 = "grossWeightPounds1", + GROSS_WEIGHT_POUNDS_2 = "grossWeightPounds2", + GROSS_WEIGHT_POUNDS_3 = "grossWeightPounds3", + GROSS_WEIGHT_POUNDS_4 = "grossWeightPounds4", + GROSS_WEIGHT_POUNDS_5 = "grossWeightPounds5", + LENGTH_INCHES_LOG_0 = "lengthInchesLog0", + LENGTH_INCHES_LOG_1 = "lengthInchesLog1", + LENGTH_INCHES_LOG_2 = "lengthInchesLog2", + LENGTH_INCHES_LOG_3 = "lengthInchesLog3", + LENGTH_INCHES_LOG_4 = "lengthInchesLog4", + LENGTH_INCHES_LOG_5 = "lengthInchesLog5", + LENGTH_FEET_LOG_0 = "lengthFeetLog0", + LENGTH_FEET_LOG_1 = "lengthFeetLog1", + LENGTH_FEET_LOG_2 = "lengthFeetLog2", + LENGTH_FEET_LOG_3 = "lengthFeetLog3", + LENGTH_FEET_LOG_4 = "lengthFeetLog4", + LENGTH_FEET_LOG_5 = "lengthFeetLog5", + LENGTH_YARDS_LOG_0 = "lengthYardsLog0", + LENGTH_YARDS_LOG_1 = "lengthYardsLog1", + LENGTH_YARDS_LOG_2 = "lengthYardsLog2", + LENGTH_YARDS_LOG_3 = "lengthYardsLog3", + LENGTH_YARDS_LOG_4 = "lengthYardsLog4", + LENGTH_YARDS_LOG_5 = "lengthYardsLog5", + WIDTH_INCHES_LOG_0 = "widthInchesLog0", + WIDTH_INCHES_LOG_1 = "widthInchesLog1", + WIDTH_INCHES_LOG_2 = "widthInchesLog2", + WIDTH_INCHES_LOG_3 = "widthInchesLog3", + WIDTH_INCHES_LOG_4 = "widthInchesLog4", + WIDTH_INCHES_LOG_5 = "widthInchesLog5", + WIDTH_FEET_LOG_0 = "widthFeetLog0", + WIDTH_FEET_LOG_1 = "widthFeetLog1", + WIDTH_FEET_LOG_2 = "widthFeetLog2", + WIDTH_FEET_LOG_3 = "widthFeetLog3", + WIDTH_FEET_LOG_4 = "widthFeetLog4", + WIDTH_FEET_LOG_5 = "widthFeetLog5", + WIDTH_YARDS_LOG_0 = "widthYardsLog0", + WIDTH_YARDS_LOG_1 = "widthYardsLog1", + WIDTH_YARDS_LOG_2 = "widthYardsLog2", + WIDTH_YARDS_LOG_3 = "widthYardsLog3", + WIDTH_YARDS_LOG_4 = "widthYardsLog4", + WIDTH_YARDS_LOG_5 = "widthYardsLog5", + HEIGHT_INCHES_LOG_0 = "heightInchesLog0", + HEIGHT_INCHES_LOG_1 = "heightInchesLog1", + HEIGHT_INCHES_LOG_2 = "heightInchesLog2", + HEIGHT_INCHES_LOG_3 = "heightInchesLog3", + HEIGHT_INCHES_LOG_4 = "heightInchesLog4", + HEIGHT_INCHES_LOG_5 = "heightInchesLog5", + HEIGHT_FEET_LOG_0 = "heightFeetLog0", + HEIGHT_FEET_LOG_1 = "heightFeetLog1", + HEIGHT_FEET_LOG_2 = "heightFeetLog2", + HEIGHT_FEET_LOG_3 = "heightFeetLog3", + HEIGHT_FEET_LOG_4 = "heightFeetLog4", + HEIGHT_FEET_LOG_5 = "heightFeetLog5", + HEIGHT_YARDS_LOG_0 = "heightYardsLog0", + HEIGHT_YARDS_LOG_1 = "heightYardsLog1", + HEIGHT_YARDS_LOG_2 = "heightYardsLog2", + HEIGHT_YARDS_LOG_3 = "heightYardsLog3", + HEIGHT_YARDS_LOG_4 = "heightYardsLog4", + HEIGHT_YARDS_LOG_5 = "heightYardsLog5", + VOLUME_CUBIC_INCHES_LOG_0 = "volumeCubicInchesLog0", + VOLUME_CUBIC_INCHES_LOG_1 = "volumeCubicInchesLog1", + VOLUME_CUBIC_INCHES_LOG_2 = "volumeCubicInchesLog2", + VOLUME_CUBIC_INCHES_LOG_3 = "volumeCubicInchesLog3", + VOLUME_CUBIC_INCHES_LOG_4 = "volumeCubicInchesLog4", + VOLUME_CUBIC_INCHES_LOG_5 = "volumeCubicInchesLog5", + VOLUME_CUBIC_FEET_LOG_0 = "volumeCubicFeetLog0", + VOLUME_CUBIC_FEET_LOG_1 = "volumeCubicFeetLog1", + VOLUME_CUBIC_FEET_LOG_2 = "volumeCubicFeetLog2", + VOLUME_CUBIC_FEET_LOG_3 = "volumeCubicFeetLog3", + VOLUME_CUBIC_FEET_LOG_4 = "volumeCubicFeetLog4", + VOLUME_CUBIC_FEET_LOG_5 = "volumeCubicFeetLog5", + VOLUME_CUBIC_YARDS_LOG_0 = "volumeCubicYardsLog0", + VOLUME_CUBIC_YARDS_LOG_1 = "volumeCubicYardsLog1", + VOLUME_CUBIC_YARDS_LOG_2 = "volumeCubicYardsLog2", + VOLUME_CUBIC_YARDS_LOG_3 = "volumeCubicYardsLog3", + VOLUME_CUBIC_YARDS_LOG_4 = "volumeCubicYardsLog4", + VOLUME_CUBIC_YARDS_LOG_5 = "volumeCubicYardsLog5", + COUNT = "count", + AMOUNT_PAYABLE_0 = "amountPayable0", + AMOUNT_PAYABLE_1 = "amountPayable1", + AMOUNT_PAYABLE_2 = "amountPayable2", + AMOUNT_PAYABLE_3 = "amountPayable3", + AMOUNT_PAYABLE_4 = "amountPayable4", + AMOUNT_PAYABLE_5 = "amountPayable5", + AMOUNT_PAYABLE_ISO_0 = "amountPayableISO0", + AMOUNT_PAYABLE_ISO_1 = "amountPayableISO1", + AMOUNT_PAYABLE_ISO_2 = "amountPayableISO2", + AMOUNT_PAYABLE_ISO_3 = "amountPayableISO3", + AMOUNT_PAYABLE_ISO_4 = "amountPayableISO4", + AMOUNT_PAYABLE_ISO_5 = "amountPayableISO5", + PRICE_0 = "price0", + PRICE_1 = "price1", + PRICE_2 = "price2", + PRICE_3 = "price3", + PRICE_ISO_0 = "priceISO0", + PRICE_ISO_1 = "priceISO1", + PRICE_ISO_2 = "priceISO2", + PRICE_ISO_3 = "priceISO3", + PERCENT_DISCOUNT_0 = "percentDiscount0", + PERCENT_DISCOUNT_1 = "percentDiscount1", + PERCENT_DISCOUNT_2 = "percentDiscount2", + PERCENT_DISCOUNT_3 = "percentDiscount3", + PRICE_PER_UNIT_MEASURE_0 = "pricePerUnitMeasure0", + PRICE_PER_UNIT_MEASURE_1 = "pricePerUnitMeasure1", + PRICE_PER_UNIT_MEASURE_2 = "pricePerUnitMeasure2", + PRICE_PER_UNIT_MEASURE_3 = "pricePerUnitMeasure3", + PRICE_PER_UNIT_MEASURE_4 = "pricePerUnitMeasure4", + PRICE_PER_UNIT_MEASURE_5 = "pricePerUnitMeasure5", + ORDER_NUMBER = "orderNumber", + GINC = "ginc", + GSIN = "gsin", + ROUTE = "route", + SHIP_TO = "shipTo", + BILL_TO = "billTo", + PURCHASE_FROM = "purchaseFrom", + SHIP_FOR = "shipFor", + LOC_NO = "locNo", + PAY_TO = "payTo", + PROD_SERV_LOC = "prodServLoc", + PARTY = "party", + SHIP_TO_POST = "shipToPost", + SHIP_TO_POST_ISO = "shipToPostISO", + ORIGIN = "origin", + COUNTRY_INITIAL_PROCESS = "countryInitialProcess", + COUNTRY_PROCESS = "countryProcess", + COUNTRY_DISASSEMBLY = "countryDisassembly", + COUNTRY_FULL_PROCESS = "countryFullProcess", + ORIGIN_SUBDIVISION = "originSubdivision", + SHIP_TO_COMP = "shipToComp", + SHIP_TO_NAME = "shipToName", + SHIP_TO_ADD1 = "shipToAdd1", + SHIP_TO_ADD2 = "shipToAdd2", + SHIP_TO_SUB = "shipToSub", + SHIP_TO_LOC = "shipToLoc", + SHIP_TO_REG = "shipToReg", + SHIP_TO_COUNTRY = "shipToCountry", + SHIP_TO_PHONE = "shipToPhone", + SHIP_TO_GEO = "shipToGeo", + RTN_TO_COMP = "rtnToComp", + RTN_TO_NAME = "rtnToName", + RTN_TO_ADD1 = "rtnToAdd1", + RTN_TO_ADD2 = "rtnToAdd2", + RTN_TO_SUB = "rtnToSub", + RTN_TO_LOC = "rtnToLoc", + RTN_TO_REG = "rtnToReg", + RTN_TO_COUNTRY = "rtnToCountry", + RTN_TO_POST = "rtnToPost", + RTN_TO_PHONE = "rtnToPhone", + SRV_DESCRIPTION = "srvDescription", + DANGEROUS_GOODS = "dangerousGoods", + AUTH_LEAVE = "authLeave", + SIG_REQUIRED = "sigRequired", + NBEF_DEL_DT = "nbefDelDt", + NAFT_DEL_DT = "naftDelDt", + REL_DATE = "relDate", + MAX_TEMP_F = "maxTempF", + MAX_TEMP_C = "maxTempC", + MIN_TEMP_F = "minTempF", + MIN_TEMP_C = "minTempC", + NSN = "nsn", + MEAT_CUT = "meatCut", + EXPIRATION_DATE_TIME = "expirationDateTime", + ACTIVE_POTENCY = "activePotency", + CATCH_AREA = "catchArea", + FIRST_FREEZE_DATE = "firstFreezeDate", + HARVEST_DATE = "harvestDate", + AQUATIC_SPECIES = "aquaticSpecies", + FISHING_GEAR_TYPE = "fishingGearType", + PROD_METHOD = "prodMethod", + TEST_BY = "testBy", + REFURB_LOT = "refurbLot", + FUNC_STAT = "funcStat", + REV_STAT = "revStat", + GIAI_ASSEMBLY = "giaiAssembly", + PROCESSOR = "processor", + PROCESSOR_2 = "processor2", + PROCESSOR_3 = "processor3", + PROCESSOR_4 = "processor4", + PROCESSOR_5 = "processor5", + PROCESSOR_6 = "processor6", + PROCESSOR_7 = "processor7", + PROCESSOR_8 = "processor8", + PROCESSOR_9 = "processor9", + PROCESSOR_10 = "processor10", + UIC_EXT = "uicExt", + UFRGT_UNIT_TYPE = "ufrgtUnitType", + NHRN_PZN = "nhrnPzn", + NHRN_CIP = "nhrnCip", + NHRN_CN = "nhrnCn", + NHRN_DRN = "nhrnDrn", + NHRN_AIM = "nhrnAim", + NHRN_DNC = "nhrnDnc", + NHRN_AIC = "nhrnAic", + CERT0 = "cert0", + CERT1 = "cert1", + CERT2 = "cert2", + CERT3 = "cert3", + CERT4 = "cert4", + CERT5 = "cert5", + CERT6 = "cert6", + CERT7 = "cert7", + CERT8 = "cert8", + CERT9 = "cert9", + PROTOCOL = "protocol", + AIDC_MEDIA_TYPE = "aidcMediaType", + DOB = "dob", + DOB_TIME = "dobTime", + BIO_SEX = "bioSex", + FAMILY_NAME = "familyName", + GIVEN_NAME = "givenName", + SUFFIX = "suffix", + FULL_NAME = "fullName", + PERSON_ADDR = "personAddr", + BIRTH_SEQUENCE = "birthSeq", + BABY = "baby", + ROLL_PRODUCTS = "rollProducts", + CMT_NO = "cmtNo", + GRAI = "grai", + GIAI = "giai", + PRICE_PER_UNIT = "pricePerUnit", + ITIP = "itip", + IBAN = "iban", + PROD_TIME = "prodTime", + OPTICAL_SENSOR = "opticalSensor", + CPID = "cpid", + CPID_SERIAL = "cpidSerial", + VERSION = "version", + GMN = "gmn", + GSRN_PROVIDER = "gsrnProvider", + GSRN_RECIPIENT = "gsrnRecipient", + SRIN = "srin", + REF_NO = "refNo", + ITIP_CONTENT = "itipContent", + DIG_SIG = "digSig", + COUPON = "coupon", + POINTS = "points", + COUPON_EXTENDED = "couponExtended", + PRODUCT_URL = "productURL", + INTERNAL_1 = "internal1", + INTERNAL_2 = "internal2", + INTERNAL_3 = "internal3", + INTERNAL_4 = "internal4", + INTERNAL_5 = "internal5", + INTERNAL_6 = "internal6", + INTERNAL_7 = "internal7", + INTERNAL_8 = "internal8", + INTERNAL_9 = "internal9", + INTERNAL_10 = "internal10" +} + +declare enum ElementType { + String = "string", + Number = "number", + Date = "date", + Error = "error", + UNDEFINED = "" +} +/** + * The result returned by {@link GS1Parser#decode} + */ +declare class DecodeResult { + /** barcode parsing was successful */ + isValid: boolean; + /** + * A barcode type identifier (a simple string denoting the type of barcode) + */ + codeName: string; + /** + * Human readable full barcode, with parentheses surrounding AIs + */ + denormalized: string; + /** + * The actual parsed data, presented in a dictionary + */ + data: Partial>>; + constructor( + /** barcode parsing was successful */ + isValid: boolean, + /** + * A barcode type identifier (a simple string denoting the type of barcode) + */ + codeName: string, + /** + * Human readable full barcode, with parentheses surrounding AIs + */ + denormalized: string, + /** + * The actual parsed data, presented in a dictionary + */ + data?: Partial>>); +} + +type GS1DecodedData = string | number | Date; +interface ParsedElement { + ai: string; + dataTitle: string; + data: T | null; + dataString: string; + unit: string; + type: ElementType; +} +/** + * Options that tweak the parser's behavior + */ +interface ParserOptions { + /** + * The FNC1 character, a non-printable special character that delimits fields of variable length. + * If not specified, the GS char (\x1D) is used + */ + fncChar?: string; + /** + * The lot (or batch) field is usually delimited by a FNC1 char, but you can limit its size to a specific length. + * If not specified, no limit is applied, except the one in the GS1 specs + */ + lotMaxLength?: number; + /** + * If true, date fields are returned as UTC timestamps instead of local dates + */ + utcTimestamps?: boolean; +} + +declare class GS1Parser { + options: ParserOptions; + /** + * Builds a GS1 barcode parser + * @param options Barcode parser options + */ + constructor(options?: ParserOptions); + /** + * Performs the actual parsing + * @param barcode The barcode to be parsed + * @returns Parsed data + */ + decode(barcode: string): DecodeResult; +} + +export { DecodeResult, ElementType, type GS1DecodedData, GS1Field, GS1Parser, type ParsedElement, type ParserOptions }; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..e0e834f --- /dev/null +++ b/dist/index.js @@ -0,0 +1 @@ +var x=Object.defineProperty;var A=(e,r)=>x(e,"name",{value:r,configurable:!0});var b=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(b||{}),Q={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var Y=String.fromCodePoint(29),o=/^\d+$/,F=(I=>(I.String="string",I.Number="number",I.Date="date",I.Error="error",I.UNDEFINED="",I))(F||{});var C=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let R;r?R=`Invalid AI identifier "${E}" after "${r}"`:R=`Invalid first AI identifier "${E}"`,super(R),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,R){super(R),this.name="BarcodeError",this.num=r,this.code=E,this.des=R}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,R,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",R){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},D=class{constructor(r,E,R,S={}){this.isValid=r;this.codeName=E;this.denormalized=R;this.data=S}static{A(this,"DecodeResult")}};function d(e,r){let E=e,R=E.slice(0,1);for(;R===r;)E=E.slice(1),R=E.slice(0,1);return E}A(d,"cleanCodeString");function g(e,r,E){if(r<0||r>11)return!1;let R=r;E===0&&R++;let S=new Date(e,R,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(g,"checkValidDate");function V(e,r,E=!1){let R=e.length-r,S=(E?"-":"")+e.slice(0,R)+"."+e.slice(R);try{return Number.parseFloat(S)}catch(I){throw new C("36",I)}}A(V,"parseFloatingPoint");function M(e,r,E,R){let S=new u(e,r,"date"),I=e.length,T="";try{let a=E.slice(I,I+6);if(T=a,R?S.data.setUTCHours(0,0,0,0):S.data.setHours(0,0,0,0),a.length!==6)throw new n(9,"37",`Data length ${a.length} is less than expected length 6 for AI "${e}".`);if(!o.test(a))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${a}".`);let O=0,N=0,s=0;try{O=Number.parseInt(a.slice(0,2),10)}catch(U){throw new C("33",U)}try{N=Number.parseInt(a.slice(2,4),10)-1}catch(U){throw new C("34",U)}try{s=Number.parseInt(a.slice(4,6),10)}catch(U){throw new C("35",U)}let H=Math.floor(new Date().getFullYear()/100),l=new Date().getFullYear()%100,c=O-l;if(c>=51&&c<=99?O=(H-1)*100+O:c>=-99&&c<=-50?O=(H+1)*100+O:O=H*100+O,!g(O,N,s))throw new n(7,"36",`Invalid date "${a}" for AI "${e}".`);s===0&&N++,R?S.data.setUTCFullYear(O,N,s):S.data.setFullYear(O,N,s)}catch(a){S=new u(e,r,"error",a)}return S.dataString=T,{element:S,codestring:E.slice(I+6,E.length)}}A(M,"parseDate");function w(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,H=0,l=0,c=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new C("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new C("34",h)}try{H=Number.parseInt(O.slice(4,6),10)}catch(h){throw new C("35",h)}try{l=Number.parseInt(O.slice(6,8),10)}catch(h){throw new C("35",h)}try{c=Number.parseInt(O.slice(8,10),10)}catch(h){throw new C("35",h)}R?I.data.setUTCHours(l,c,0,0):I.data.setHours(l,c,0,0);let U=Math.floor(new Date().getFullYear()/100),v=new Date().getFullYear()%100,m=N-v;if(m>=51&&m<=99?N=(U-1)*100+N:m>=-99&&m<=-50?N=(U+1)*100+N:N=U*100+N,!g(N,s,H))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);H===0&&s++,I.data.setFullYear(N,s,H)}catch(N){I=new u(e,r,"error",N)}return I.dataString=O,{element:I,codestring:E.slice(T+10,E.length)}}A(w,"parseDatetime");function G(e,r,E,R,S=!1){let I=new u(e,r,"string"),T=e.length,a=R.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(I&&!o.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(H){T=new u(e,r,"error",H)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function f(e,r,E,R,S,I){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,H=S.indexOf(I),l=Number.parseInt(r,10);H===-1?N=S.slice(s,S.length):(N=S.slice(s,H),O=S.slice(H+1,S.length)),a.data=V(N,l)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=R,{element:a,codestring:O}}A(f,"parseVariableLengthMeasure");function i(e,r,E,R,S){let I=e+r,T=new u(I,E,"number"),a="",O="";try{let N=e.length+1;if(!o.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${I}", but got "${O}".`);T.data=V(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(I,E,"error",N)}return T.dataString=O,T.unit=R,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function P(e,r,E,R,S,I){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=q(S,r),S=d(T.codestring,r.fncChar),T.element.type=="error"&&(R.isValid=!1),R.parsedCodeItems.push(T.element),R.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(a instanceof C)$(a);else throw a}return R}A(y,"parseBarcode");function $(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A($,"handleInternalError");var X={fncChar:Y},W=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...X,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let R=y(E,this.options),S={};for(let I of R.parsedCodeItems){let T=Q["ai"+I.ai];T&&(S[T]=I)}return new D(R.isValid,R.codeName,R.denormalized,S)}};export{D as DecodeResult,F as ElementType,b as GS1Field,W as GS1Parser}; From 8247f8c12644ff205f7b2db4afbf6ca2bb1f05ea Mon Sep 17 00:00:00 2001 From: Laszlo Radics Date: Wed, 22 Apr 2026 21:58:48 +0200 Subject: [PATCH 3/3] refactor: more failure tolerant fields and date fields parsing --- dist/index.cjs | 2 +- dist/index.d.cts | 4 + dist/index.d.ts | 4 + dist/index.js | 2 +- pnpm-lock.yaml | 2390 ++++++++++++++++++++++++++++++++++++++++++ src/barcodeParser.ts | 25 +- src/parsers.ts | 23 +- src/types.ts | 5 + test/dateParsing.ts | 25 +- 9 files changed, 2448 insertions(+), 32 deletions(-) create mode 100644 pnpm-lock.yaml diff --git a/dist/index.cjs b/dist/index.cjs index d623aa4..6296ef1 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -1 +1 @@ -"use strict";var F=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var A=(e,r)=>F(e,"name",{value:r,configurable:!0});var X=(e,r)=>{for(var E in r)F(e,E,{get:r[E],enumerable:!0})},k=(e,r,E,R)=>{if(r&&typeof r=="object"||typeof r=="function")for(let S of q(r))!$.call(e,S)&&S!==E&&F(e,S,{get:()=>r[S],enumerable:!(R=K(r,S))||R.enumerable});return e};var z=e=>k(F({},"__esModule",{value:!0}),e);var e_={};X(e_,{DecodeResult:()=>D,ElementType:()=>P,GS1Field:()=>p,GS1Parser:()=>f});module.exports=z(e_);var p=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(p||{}),d={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var V=String.fromCodePoint(29),o=/^\d+$/,P=(I=>(I.String="string",I.Number="number",I.Date="date",I.Error="error",I.UNDEFINED="",I))(P||{});var C=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let R;r?R=`Invalid AI identifier "${E}" after "${r}"`:R=`Invalid first AI identifier "${E}"`,super(R),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,R){super(R),this.name="BarcodeError",this.num=r,this.code=E,this.des=R}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,R,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",R){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},D=class{constructor(r,E,R,S={}){this.isValid=r;this.codeName=E;this.denormalized=R;this.data=S}static{A(this,"DecodeResult")}};function y(e,r){let E=e,R=E.slice(0,1);for(;R===r;)E=E.slice(1),R=E.slice(0,1);return E}A(y,"cleanCodeString");function B(e,r,E){if(r<0||r>11)return!1;let R=r;E===0&&R++;let S=new Date(e,R,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(B,"checkValidDate");function w(e,r,E=!1){let R=e.length-r,S=(E?"-":"")+e.slice(0,R)+"."+e.slice(R);try{return Number.parseFloat(S)}catch(I){throw new C("36",I)}}A(w,"parseFloatingPoint");function M(e,r,E,R){let S=new u(e,r,"date"),I=e.length,T="";try{let a=E.slice(I,I+6);if(T=a,R?S.data.setUTCHours(0,0,0,0):S.data.setHours(0,0,0,0),a.length!==6)throw new n(9,"37",`Data length ${a.length} is less than expected length 6 for AI "${e}".`);if(!o.test(a))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${a}".`);let O=0,N=0,s=0;try{O=Number.parseInt(a.slice(0,2),10)}catch(U){throw new C("33",U)}try{N=Number.parseInt(a.slice(2,4),10)-1}catch(U){throw new C("34",U)}try{s=Number.parseInt(a.slice(4,6),10)}catch(U){throw new C("35",U)}let H=Math.floor(new Date().getFullYear()/100),l=new Date().getFullYear()%100,c=O-l;if(c>=51&&c<=99?O=(H-1)*100+O:c>=-99&&c<=-50?O=(H+1)*100+O:O=H*100+O,!B(O,N,s))throw new n(7,"36",`Invalid date "${a}" for AI "${e}".`);s===0&&N++,R?S.data.setUTCFullYear(O,N,s):S.data.setFullYear(O,N,s)}catch(a){S=new u(e,r,"error",a)}return S.dataString=T,{element:S,codestring:E.slice(I+6,E.length)}}A(M,"parseDate");function g(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,H=0,l=0,c=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new C("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new C("34",h)}try{H=Number.parseInt(O.slice(4,6),10)}catch(h){throw new C("35",h)}try{l=Number.parseInt(O.slice(6,8),10)}catch(h){throw new C("35",h)}try{c=Number.parseInt(O.slice(8,10),10)}catch(h){throw new C("35",h)}R?I.data.setUTCHours(l,c,0,0):I.data.setHours(l,c,0,0);let U=Math.floor(new Date().getFullYear()/100),x=new Date().getFullYear()%100,Y=N-x;if(Y>=51&&Y<=99?N=(U-1)*100+N:Y>=-99&&Y<=-50?N=(U+1)*100+N:N=U*100+N,!B(N,s,H))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);H===0&&s++,I.data.setFullYear(N,s,H)}catch(N){I=new u(e,r,"error",N)}return I.dataString=O,{element:I,codestring:E.slice(T+10,E.length)}}A(g,"parseDatetime");function G(e,r,E,R,S=!1){let I=new u(e,r,"string"),T=e.length,a=R.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(I&&!o.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(H){T=new u(e,r,"error",H)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function W(e,r,E,R,S,I){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,H=S.indexOf(I),l=Number.parseInt(r,10);H===-1?N=S.slice(s,S.length):(N=S.slice(s,H),O=S.slice(H+1,S.length)),a.data=w(N,l)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=R,{element:a,codestring:O}}A(W,"parseVariableLengthMeasure");function i(e,r,E,R,S){let I=e+r,T=new u(I,E,"number"),a="",O="";try{let N=e.length+1;if(!o.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${I}", but got "${O}".`);T.data=w(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(I,E,"error",N)}return T.dataString=O,T.unit=R,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function m(e,r,E,R,S,I){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=j(S,r),S=y(T.codestring,r.fncChar),T.element.type=="error"&&(R.isValid=!1),R.parsedCodeItems.push(T.element),R.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(a instanceof C)J(a);else throw a}return R}A(v,"parseBarcode");function J(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A(J,"handleInternalError");var __={fncChar:V},f=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...__,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let R=v(E,this.options),S={};for(let I of R.parsedCodeItems){let T=d["ai"+I.ai];T&&(S[T]=I)}return new D(R.isValid,R.codeName,R.denormalized,S)}};0&&(module.exports={DecodeResult,ElementType,GS1Field,GS1Parser}); +"use strict";var V=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var A=(e,r)=>V(e,"name",{value:r,configurable:!0});var X=(e,r)=>{for(var E in r)V(e,E,{get:r[E],enumerable:!0})},k=(e,r,E,R)=>{if(r&&typeof r=="object"||typeof r=="function")for(let S of q(r))!$.call(e,S)&&S!==E&&V(e,S,{get:()=>r[S],enumerable:!(R=K(r,S))||R.enumerable});return e};var z=e=>k(V({},"__esModule",{value:!0}),e);var e_={};X(e_,{DecodeResult:()=>P,ElementType:()=>Y,GS1Field:()=>B,GS1Parser:()=>p});module.exports=z(e_);var B=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(B||{}),y={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var w=String.fromCodePoint(29),c=/^\d+$/,Y=(I=>(I.String="string",I.Number="number",I.Date="date",I.Error="error",I.UNDEFINED="",I))(Y||{});var l=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let R;r?R=`Invalid AI identifier "${E}" after "${r}"`:R=`Invalid first AI identifier "${E}"`,super(R),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,R){super(R),this.name="BarcodeError",this.num=r,this.code=E,this.des=R}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,R,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",R){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},P=class{constructor(r,E,R,S={}){this.isValid=r;this.codeName=E;this.denormalized=R;this.data=S}isValid;codeName;denormalized;data;static{A(this,"DecodeResult")}};function v(e,r){let E=e,R=E.slice(0,1);for(;R===r;)E=E.slice(1),R=E.slice(0,1);return E}A(v,"cleanCodeString");function W(e,r,E){if(r<0||r>11)return!1;let R=r;E===0&&R++;let S=new Date(e,R,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(W,"checkValidDate");function g(e,r,E=!1){let R=e.length-r,S=(E?"-":"")+e.slice(0,R)+"."+e.slice(R);try{return Number.parseFloat(S)}catch(I){throw new l("36",I)}}A(g,"parseFloatingPoint");function M(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a="";try{let O=E.slice(T,T+6),N=S?E.indexOf(S,T):T+6;if(N==-1?a=E.slice(T):a=E.slice(T,N),R?I.data.setUTCHours(0,0,0,0):I.data.setHours(0,0,0,0),O.length!==6)throw new n(9,"37",`Data length ${O.length} is less than expected length 6 for AI "${e}".`);if(!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let s=0,G=0,C=0;try{s=Number.parseInt(O.slice(0,2),10)}catch(U){throw new l("33",U)}try{G=Number.parseInt(O.slice(2,4),10)-1}catch(U){throw new l("34",U)}try{C=Number.parseInt(O.slice(4,6),10)}catch(U){throw new l("35",U)}let o=Math.floor(new Date().getFullYear()/100),m=new Date().getFullYear()%100,D=s-m;if(D>=51&&D<=99?s=(o-1)*100+s:D>=-99&&D<=-50?s=(o+1)*100+s:s=o*100+s,!W(s,G,C))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);C===0&&G++,R?I.data.setUTCFullYear(s,G,C):I.data.setFullYear(s,G,C)}catch(O){I=new u(e,r,"error",O)}return I.dataString=a,{element:I,codestring:E.slice(T+a.length)}}A(M,"parseDate");function f(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,G=0,C=0,o=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new l("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new l("34",h)}try{G=Number.parseInt(O.slice(4,6),10)}catch(h){throw new l("35",h)}try{C=Number.parseInt(O.slice(6,8),10)}catch(h){throw new l("35",h)}try{o=Number.parseInt(O.slice(8,10),10)}catch(h){throw new l("35",h)}R?I.data.setUTCHours(C,o,0,0):I.data.setHours(C,o,0,0);let m=Math.floor(new Date().getFullYear()/100),D=new Date().getFullYear()%100,U=N-D;if(U>=51&&U<=99?N=(m-1)*100+N:U>=-99&&U<=-50?N=(m+1)*100+N:N=m*100+N,!W(N,s,G))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);G===0&&s++,I.data.setFullYear(N,s,G)}catch(N){I=new u(e,r,"error",N)}return I.dataString=O,{element:I,codestring:E.slice(T+10,E.length)}}A(f,"parseDatetime");function H(e,r,E,R,S=!1){let I=new u(e,r,"string"),T=e.length,a=R.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(I&&!c.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(G){T=new u(e,r,"error",G)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function b(e,r,E,R,S,I){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,G=S.indexOf(I),C=Number.parseInt(r,10);G===-1?N=S.slice(s,S.length):(N=S.slice(s,G),O=S.slice(G+1,S.length)),a.data=g(N,C)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=R,{element:a,codestring:O}}A(b,"parseVariableLengthMeasure");function i(e,r,E,R,S){let I=e+r,T=new u(I,E,"number"),a="",O="";try{let N=e.length+1;if(!c.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${I}", but got "${O}".`);T.data=g(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(I,E,"error",N)}return T.dataString=O,T.unit=R,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function F(e,r,E,R,S,I){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=j(S,r),S=v(T.codestring,r.fncChar),T.element.type=="error"&&(R.isValid=!1),R.parsedCodeItems.push(T.element),R.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(r.ignoreInvalidFields){let O=S.indexOf(r.fncChar);O==-1?S="":S=S.slice(Math.max(1,O))}else if(a instanceof l)J(a);else throw a}return R}A(x,"parseBarcode");function J(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A(J,"handleInternalError");var __={fncChar:w},p=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...__,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let R=x(E,this.options),S={};for(let I of R.parsedCodeItems){let T=y["ai"+I.ai];T&&(S[T]=I)}return new P(R.isValid,R.codeName,R.denormalized,S)}};0&&(module.exports={DecodeResult,ElementType,GS1Field,GS1Parser}); diff --git a/dist/index.d.cts b/dist/index.d.cts index 77dfd4f..58a4b9e 100644 --- a/dist/index.d.cts +++ b/dist/index.d.cts @@ -584,6 +584,10 @@ interface ParserOptions { * If true, date fields are returned as UTC timestamps instead of local dates */ utcTimestamps?: boolean; + /** + * Silently skip fields with invalid AI (only useful when fncChar is used as separator) + */ + ignoreInvalidFields?: boolean; } declare class GS1Parser { diff --git a/dist/index.d.ts b/dist/index.d.ts index 77dfd4f..58a4b9e 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -584,6 +584,10 @@ interface ParserOptions { * If true, date fields are returned as UTC timestamps instead of local dates */ utcTimestamps?: boolean; + /** + * Silently skip fields with invalid AI (only useful when fncChar is used as separator) + */ + ignoreInvalidFields?: boolean; } declare class GS1Parser { diff --git a/dist/index.js b/dist/index.js index e0e834f..0b7abf5 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -var x=Object.defineProperty;var A=(e,r)=>x(e,"name",{value:r,configurable:!0});var b=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(b||{}),Q={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var Y=String.fromCodePoint(29),o=/^\d+$/,F=(I=>(I.String="string",I.Number="number",I.Date="date",I.Error="error",I.UNDEFINED="",I))(F||{});var C=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let R;r?R=`Invalid AI identifier "${E}" after "${r}"`:R=`Invalid first AI identifier "${E}"`,super(R),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,R){super(R),this.name="BarcodeError",this.num=r,this.code=E,this.des=R}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,R,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",R){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},D=class{constructor(r,E,R,S={}){this.isValid=r;this.codeName=E;this.denormalized=R;this.data=S}static{A(this,"DecodeResult")}};function d(e,r){let E=e,R=E.slice(0,1);for(;R===r;)E=E.slice(1),R=E.slice(0,1);return E}A(d,"cleanCodeString");function g(e,r,E){if(r<0||r>11)return!1;let R=r;E===0&&R++;let S=new Date(e,R,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(g,"checkValidDate");function V(e,r,E=!1){let R=e.length-r,S=(E?"-":"")+e.slice(0,R)+"."+e.slice(R);try{return Number.parseFloat(S)}catch(I){throw new C("36",I)}}A(V,"parseFloatingPoint");function M(e,r,E,R){let S=new u(e,r,"date"),I=e.length,T="";try{let a=E.slice(I,I+6);if(T=a,R?S.data.setUTCHours(0,0,0,0):S.data.setHours(0,0,0,0),a.length!==6)throw new n(9,"37",`Data length ${a.length} is less than expected length 6 for AI "${e}".`);if(!o.test(a))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${a}".`);let O=0,N=0,s=0;try{O=Number.parseInt(a.slice(0,2),10)}catch(U){throw new C("33",U)}try{N=Number.parseInt(a.slice(2,4),10)-1}catch(U){throw new C("34",U)}try{s=Number.parseInt(a.slice(4,6),10)}catch(U){throw new C("35",U)}let H=Math.floor(new Date().getFullYear()/100),l=new Date().getFullYear()%100,c=O-l;if(c>=51&&c<=99?O=(H-1)*100+O:c>=-99&&c<=-50?O=(H+1)*100+O:O=H*100+O,!g(O,N,s))throw new n(7,"36",`Invalid date "${a}" for AI "${e}".`);s===0&&N++,R?S.data.setUTCFullYear(O,N,s):S.data.setFullYear(O,N,s)}catch(a){S=new u(e,r,"error",a)}return S.dataString=T,{element:S,codestring:E.slice(I+6,E.length)}}A(M,"parseDate");function w(e,r,E,R,S){let I=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,H=0,l=0,c=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new C("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new C("34",h)}try{H=Number.parseInt(O.slice(4,6),10)}catch(h){throw new C("35",h)}try{l=Number.parseInt(O.slice(6,8),10)}catch(h){throw new C("35",h)}try{c=Number.parseInt(O.slice(8,10),10)}catch(h){throw new C("35",h)}R?I.data.setUTCHours(l,c,0,0):I.data.setHours(l,c,0,0);let U=Math.floor(new Date().getFullYear()/100),v=new Date().getFullYear()%100,m=N-v;if(m>=51&&m<=99?N=(U-1)*100+N:m>=-99&&m<=-50?N=(U+1)*100+N:N=U*100+N,!g(N,s,H))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);H===0&&s++,I.data.setFullYear(N,s,H)}catch(N){I=new u(e,r,"error",N)}return I.dataString=O,{element:I,codestring:E.slice(T+10,E.length)}}A(w,"parseDatetime");function G(e,r,E,R,S=!1){let I=new u(e,r,"string"),T=e.length,a=R.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(I&&!o.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(H){T=new u(e,r,"error",H)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function f(e,r,E,R,S,I){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,H=S.indexOf(I),l=Number.parseInt(r,10);H===-1?N=S.slice(s,S.length):(N=S.slice(s,H),O=S.slice(H+1,S.length)),a.data=V(N,l)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=R,{element:a,codestring:O}}A(f,"parseVariableLengthMeasure");function i(e,r,E,R,S){let I=e+r,T=new u(I,E,"number"),a="",O="";try{let N=e.length+1;if(!o.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!o.test(O))throw new n(11,"39",`Numeric data expected for AI "${I}", but got "${O}".`);T.data=V(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(I,E,"error",N)}return T.dataString=O,T.unit=R,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function P(e,r,E,R,S,I){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=q(S,r),S=d(T.codestring,r.fncChar),T.element.type=="error"&&(R.isValid=!1),R.parsedCodeItems.push(T.element),R.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(a instanceof C)$(a);else throw a}return R}A(y,"parseBarcode");function $(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A($,"handleInternalError");var X={fncChar:Y},W=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...X,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let R=y(E,this.options),S={};for(let I of R.parsedCodeItems){let T=Q["ai"+I.ai];T&&(S[T]=I)}return new D(R.isValid,R.codeName,R.denormalized,S)}};export{D as DecodeResult,F as ElementType,b as GS1Field,W as GS1Parser}; +var x=Object.defineProperty;var A=(e,r)=>x(e,"name",{value:r,configurable:!0});var Q=(_=>(_.SSCC="sscc",_.GTIN="gtin",_.MTO_GTIN="mtoGtin",_.CONTENT="content",_.BATCH="batch",_.PROD_DATE="prodDate",_.DUE_DATE="dueDate",_.PACK_DATE="packDate",_.BEST_BEFORE="bestBefore",_.SELL_BY="sellBy",_.EXP_DATE="expDate",_.VARIANT="variant",_.SERIAL="serial",_.HIBCC="hibcc",_.TPX="tpx",_.ADDITIONAL_PRODUCT_ID="additionalProductID",_.CUSTOMER_PART_NUMBER="customerPartNumber",_.MADE_TO_ORDER="madeToOrder",_.PACKAGING="packaging",_.SECONDARY_SERIAL_NUMBER="secondarySerialNumber",_.REF_SOURCE="refSource",_.GDTI="gdti",_.GLN_EXTENSION="glnExtension",_.GCN="gcn",_.VARIABLE_COUNT="variableCount",_.NET_WEIGHT_KG_0="netWeightKg0",_.NET_WEIGHT_KG_1="netWeightKg1",_.NET_WEIGHT_KG_2="netWeightKg2",_.NET_WEIGHT_KG_3="netWeightKg3",_.NET_WEIGHT_KG_4="netWeightKg4",_.NET_WEIGHT_KG_5="netWeightKg5",_.LENGTH_METERS_0="lengthMeters0",_.LENGTH_METERS_1="lengthMeters1",_.LENGTH_METERS_2="lengthMeters2",_.LENGTH_METERS_3="lengthMeters3",_.LENGTH_METERS_4="lengthMeters4",_.LENGTH_METERS_5="lengthMeters5",_.WIDTH_METERS_0="widthMeters0",_.WIDTH_METERS_1="widthMeters1",_.WIDTH_METERS_2="widthMeters2",_.WIDTH_METERS_3="widthMeters3",_.WIDTH_METERS_4="widthMeters4",_.WIDTH_METERS_5="widthMeters5",_.HEIGHT_METERS_0="heightMeters0",_.HEIGHT_METERS_1="heightMeters1",_.HEIGHT_METERS_2="heightMeters2",_.HEIGHT_METERS_3="heightMeters3",_.HEIGHT_METERS_4="heightMeters4",_.HEIGHT_METERS_5="heightMeters5",_.AREA_SQUARE_METERS_0="areaSquareMeters0",_.AREA_SQUARE_METERS_1="areaSquareMeters1",_.AREA_SQUARE_METERS_2="areaSquareMeters2",_.AREA_SQUARE_METERS_3="areaSquareMeters3",_.AREA_SQUARE_METERS_4="areaSquareMeters4",_.AREA_SQUARE_METERS_5="areaSquareMeters5",_.VOLUME_LITRES_LOG_0="volumeLitresLog0",_.VOLUME_LITRES_LOG_1="volumeLitresLog1",_.VOLUME_LITRES_LOG_2="volumeLitresLog2",_.VOLUME_LITRES_LOG_3="volumeLitresLog3",_.VOLUME_LITRES_LOG_4="volumeLitresLog4",_.VOLUME_LITRES_LOG_5="volumeLitresLog5",_.NET_VOLUME_LITERS_0="netVolumeLiters0",_.NET_VOLUME_LITERS_1="netVolumeLiters1",_.NET_VOLUME_LITERS_2="netVolumeLiters2",_.NET_VOLUME_LITERS_3="netVolumeLiters3",_.NET_VOLUME_LITERS_4="netVolumeLiters4",_.NET_VOLUME_LITERS_5="netVolumeLiters5",_.NET_VOLUME_CUBIC_METERS_0="netVolumeCubicMeters0",_.NET_VOLUME_CUBIC_METERS_1="netVolumeCubicMeters1",_.NET_VOLUME_CUBIC_METERS_2="netVolumeCubicMeters2",_.NET_VOLUME_CUBIC_METERS_3="netVolumeCubicMeters3",_.NET_VOLUME_CUBIC_METERS_4="netVolumeCubicMeters4",_.NET_VOLUME_CUBIC_METERS_5="netVolumeCubicMeters5",_.NET_WEIGHT_LB_0="netWeightLb0",_.NET_WEIGHT_LB_1="netWeightLb1",_.NET_WEIGHT_LB_2="netWeightLb2",_.NET_WEIGHT_LB_3="netWeightLb3",_.NET_WEIGHT_LB_4="netWeightLb4",_.NET_WEIGHT_LB_5="netWeightLb5",_.LENGTH_INCHES_0="lengthInches0",_.LENGTH_INCHES_1="lengthInches1",_.LENGTH_INCHES_2="lengthInches2",_.LENGTH_INCHES_3="lengthInches3",_.LENGTH_INCHES_4="lengthInches4",_.LENGTH_INCHES_5="lengthInches5",_.LENGTH_FEET_0="lengthFeet0",_.LENGTH_FEET_1="lengthFeet1",_.LENGTH_FEET_2="lengthFeet2",_.LENGTH_FEET_3="lengthFeet3",_.LENGTH_FEET_4="lengthFeet4",_.LENGTH_FEET_5="lengthFeet5",_.LENGTH_YARDS_0="lengthYards0",_.LENGTH_YARDS_1="lengthYards1",_.LENGTH_YARDS_2="lengthYards2",_.LENGTH_YARDS_3="lengthYards3",_.LENGTH_YARDS_4="lengthYards4",_.LENGTH_YARDS_5="lengthYards5",_.WIDTH_INCHES_0="widthInches0",_.WIDTH_INCHES_1="widthInches1",_.WIDTH_INCHES_2="widthInches2",_.WIDTH_INCHES_3="widthInches3",_.WIDTH_INCHES_4="widthInches4",_.WIDTH_INCHES_5="widthInches5",_.WIDTH_FEET_0="widthFeet0",_.WIDTH_FEET_1="widthFeet1",_.WIDTH_FEET_2="widthFeet2",_.WIDTH_FEET_3="widthFeet3",_.WIDTH_FEET_4="widthFeet4",_.WIDTH_FEET_5="widthFeet5",_.WIDTH_YARDS_0="widthYards0",_.WIDTH_YARDS_1="widthYards1",_.WIDTH_YARDS_2="widthYards2",_.WIDTH_YARDS_3="widthYards3",_.WIDTH_YARDS_4="widthYards4",_.WIDTH_YARDS_5="widthYards5",_.HEIGHT_INCHES_0="heightInches0",_.HEIGHT_INCHES_1="heightInches1",_.HEIGHT_INCHES_2="heightInches2",_.HEIGHT_INCHES_3="heightInches3",_.HEIGHT_INCHES_4="heightInches4",_.HEIGHT_INCHES_5="heightInches5",_.HEIGHT_FEET_0="heightFeet0",_.HEIGHT_FEET_1="heightFeet1",_.HEIGHT_FEET_2="heightFeet2",_.HEIGHT_FEET_3="heightFeet3",_.HEIGHT_FEET_4="heightFeet4",_.HEIGHT_FEET_5="heightFeet5",_.HEIGHT_YARDS_0="heightYards0",_.HEIGHT_YARDS_1="heightYards1",_.HEIGHT_YARDS_2="heightYards2",_.HEIGHT_YARDS_3="heightYards3",_.HEIGHT_YARDS_4="heightYards4",_.HEIGHT_YARDS_5="heightYards5",_.GROSS_WEIGHT_KG_0="grossWeightKg0",_.GROSS_WEIGHT_KG_1="grossWeightKg1",_.GROSS_WEIGHT_KG_2="grossWeightKg2",_.GROSS_WEIGHT_KG_3="grossWeightKg3",_.GROSS_WEIGHT_KG_4="grossWeightKg4",_.GROSS_WEIGHT_KG_5="grossWeightKg5",_.LENGTH_METERS_LOG_0="lengthMetersLog0",_.LENGTH_METERS_LOG_1="lengthMetersLog1",_.LENGTH_METERS_LOG_2="lengthMetersLog2",_.LENGTH_METERS_LOG_3="lengthMetersLog3",_.LENGTH_METERS_LOG_4="lengthMetersLog4",_.LENGTH_METERS_LOG_5="lengthMetersLog5",_.WIDTH_METERS_LOG_0="widthMetersLog0",_.WIDTH_METERS_LOG_1="widthMetersLog1",_.WIDTH_METERS_LOG_2="widthMetersLog2",_.WIDTH_METERS_LOG_3="widthMetersLog3",_.WIDTH_METERS_LOG_4="widthMetersLog4",_.WIDTH_METERS_LOG_5="widthMetersLog5",_.HEIGHT_METERS_LOG_0="heightMetersLog0",_.HEIGHT_METERS_LOG_1="heightMetersLog1",_.HEIGHT_METERS_LOG_2="heightMetersLog2",_.HEIGHT_METERS_LOG_3="heightMetersLog3",_.HEIGHT_METERS_LOG_4="heightMetersLog4",_.HEIGHT_METERS_LOG_5="heightMetersLog5",_.AREA_SQUARE_INCHES_0="areaSquareInches0",_.AREA_SQUARE_INCHES_1="areaSquareInches1",_.AREA_SQUARE_INCHES_2="areaSquareInches2",_.AREA_SQUARE_INCHES_3="areaSquareInches3",_.AREA_SQUARE_INCHES_4="areaSquareInches4",_.AREA_SQUARE_INCHES_5="areaSquareInches5",_.AREA_SQUARE_FEET_0="areaSquareFeet0",_.AREA_SQUARE_FEET_1="areaSquareFeet1",_.AREA_SQUARE_FEET_2="areaSquareFeet2",_.AREA_SQUARE_FEET_3="areaSquareFeet3",_.AREA_SQUARE_FEET_4="areaSquareFeet4",_.AREA_SQUARE_FEET_5="areaSquareFeet5",_.AREA_SQUARE_YARDS_0="areaSquareYards0",_.AREA_SQUARE_YARDS_1="areaSquareYards1",_.AREA_SQUARE_YARDS_2="areaSquareYards2",_.AREA_SQUARE_YARDS_3="areaSquareYards3",_.AREA_SQUARE_YARDS_4="areaSquareYards4",_.AREA_SQUARE_YARDS_5="areaSquareYards5",_.AREA_SQUARE_INCHES_LOG_0="areaSquareInchesLog0",_.AREA_SQUARE_INCHES_LOG_1="areaSquareInchesLog1",_.AREA_SQUARE_INCHES_LOG_2="areaSquareInchesLog2",_.AREA_SQUARE_INCHES_LOG_3="areaSquareInchesLog3",_.AREA_SQUARE_INCHES_LOG_4="areaSquareInchesLog4",_.AREA_SQUARE_INCHES_LOG_5="areaSquareInchesLog5",_.AREA_SQUARE_FEET_LOG_0="areaSquareFeetLog0",_.AREA_SQUARE_FEET_LOG_1="areaSquareFeetLog1",_.AREA_SQUARE_FEET_LOG_2="areaSquareFeetLog2",_.AREA_SQUARE_FEET_LOG_3="areaSquareFeetLog3",_.AREA_SQUARE_FEET_LOG_4="areaSquareFeetLog4",_.AREA_SQUARE_FEET_LOG_5="areaSquareFeetLog5",_.AREA_SQUARE_YARDS_LOG_0="areaSquareYardsLog0",_.AREA_SQUARE_YARDS_LOG_1="areaSquareYardsLog1",_.AREA_SQUARE_YARDS_LOG_2="areaSquareYardsLog2",_.AREA_SQUARE_YARDS_LOG_3="areaSquareYardsLog3",_.AREA_SQUARE_YARDS_LOG_4="areaSquareYardsLog4",_.AREA_SQUARE_YARDS_LOG_5="areaSquareYardsLog5",_.NET_WEIGHT_TROY_OUNCES_0="netWeightTroyOunces0",_.NET_WEIGHT_TROY_OUNCES_1="netWeightTroyOunces1",_.NET_WEIGHT_TROY_OUNCES_2="netWeightTroyOunces2",_.NET_WEIGHT_TROY_OUNCES_3="netWeightTroyOunces3",_.NET_WEIGHT_TROY_OUNCES_4="netWeightTroyOunces4",_.NET_WEIGHT_TROY_OUNCES_5="netWeightTroyOunces5",_.NET_VOLUME_OUNCES_0="netVolumeOunces0",_.NET_VOLUME_OUNCES_1="netVolumeOunces1",_.NET_VOLUME_OUNCES_2="netVolumeOunces2",_.NET_VOLUME_OUNCES_3="netVolumeOunces3",_.NET_VOLUME_OUNCES_4="netVolumeOunces4",_.NET_VOLUME_OUNCES_5="netVolumeOunces5",_.AREA_SQUARE_METERS_LOG_0="areaSquareMetersLog0",_.AREA_SQUARE_METERS_LOG_1="areaSquareMetersLog1",_.AREA_SQUARE_METERS_LOG_2="areaSquareMetersLog2",_.AREA_SQUARE_METERS_LOG_3="areaSquareMetersLog3",_.AREA_SQUARE_METERS_LOG_4="areaSquareMetersLog4",_.AREA_SQUARE_METERS_LOG_5="areaSquareMetersLog5",_.NET_VOLUME_QUARTS_0="netVolumeQuarts0",_.NET_VOLUME_QUARTS_1="netVolumeQuarts1",_.NET_VOLUME_QUARTS_2="netVolumeQuarts2",_.NET_VOLUME_QUARTS_3="netVolumeQuarts3",_.NET_VOLUME_QUARTS_4="netVolumeQuarts4",_.NET_VOLUME_QUARTS_5="netVolumeQuarts5",_.NET_VOLUME_GALLONS_0="netVolumeGallons0",_.NET_VOLUME_GALLONS_1="netVolumeGallons1",_.NET_VOLUME_GALLONS_2="netVolumeGallons2",_.NET_VOLUME_GALLONS_3="netVolumeGallons3",_.NET_VOLUME_GALLONS_4="netVolumeGallons4",_.NET_VOLUME_GALLONS_5="netVolumeGallons5",_.VOLUME_QUARTS_LOG_0="volumeQuartsLog0",_.VOLUME_QUARTS_LOG_1="volumeQuartsLog1",_.VOLUME_QUARTS_LOG_2="volumeQuartsLog2",_.VOLUME_QUARTS_LOG_3="volumeQuartsLog3",_.VOLUME_QUARTS_LOG_4="volumeQuartsLog4",_.VOLUME_QUARTS_LOG_5="volumeQuartsLog5",_.VOLUME_GALLONS_LOG_0="volumeGallonsLog0",_.VOLUME_GALLONS_LOG_1="volumeGallonsLog1",_.VOLUME_GALLONS_LOG_2="volumeGallonsLog2",_.VOLUME_GALLONS_LOG_3="volumeGallonsLog3",_.VOLUME_GALLONS_LOG_4="volumeGallonsLog4",_.VOLUME_GALLONS_LOG_5="volumeGallonsLog5",_.VOLUME_CUBIC_INCHES_0="volumeCubicInches0",_.VOLUME_CUBIC_INCHES_1="volumeCubicInches1",_.VOLUME_CUBIC_INCHES_2="volumeCubicInches2",_.VOLUME_CUBIC_INCHES_3="volumeCubicInches3",_.VOLUME_CUBIC_INCHES_4="volumeCubicInches4",_.VOLUME_CUBIC_INCHES_5="volumeCubicInches5",_.VOLUME_CUBIC_FEET_0="volumeCubicFeet0",_.VOLUME_CUBIC_FEET_1="volumeCubicFeet1",_.VOLUME_CUBIC_FEET_2="volumeCubicFeet2",_.VOLUME_CUBIC_FEET_3="volumeCubicFeet3",_.VOLUME_CUBIC_FEET_4="volumeCubicFeet4",_.VOLUME_CUBIC_FEET_5="volumeCubicFeet5",_.VOLUME_CUBIC_YARDS_0="volumeCubicYards0",_.VOLUME_CUBIC_YARDS_1="volumeCubicYards1",_.VOLUME_CUBIC_YARDS_2="volumeCubicYards2",_.VOLUME_CUBIC_YARDS_3="volumeCubicYards3",_.VOLUME_CUBIC_YARDS_4="volumeCubicYards4",_.VOLUME_CUBIC_YARDS_5="volumeCubicYards5",_.VOLUME_CUBIC_METERS_LOG_0="volumeCubicMetersLog0",_.VOLUME_CUBIC_METERS_LOG_1="volumeCubicMetersLog1",_.VOLUME_CUBIC_METERS_LOG_2="volumeCubicMetersLog2",_.VOLUME_CUBIC_METERS_LOG_3="volumeCubicMetersLog3",_.VOLUME_CUBIC_METERS_LOG_4="volumeCubicMetersLog4",_.VOLUME_CUBIC_METERS_LOG_5="volumeCubicMetersLog5",_.KG_PER_SQUARE_METERS_0="kgPerSquareMeters0",_.KG_PER_SQUARE_METERS_1="kgPerSquareMeters1",_.KG_PER_SQUARE_METERS_2="kgPerSquareMeters2",_.KG_PER_SQUARE_METERS_3="kgPerSquareMeters3",_.KG_PER_SQUARE_METERS_4="kgPerSquareMeters4",_.KG_PER_SQUARE_METERS_5="kgPerSquareMeters5",_.GROSS_WEIGHT_POUNDS_0="grossWeightPounds0",_.GROSS_WEIGHT_POUNDS_1="grossWeightPounds1",_.GROSS_WEIGHT_POUNDS_2="grossWeightPounds2",_.GROSS_WEIGHT_POUNDS_3="grossWeightPounds3",_.GROSS_WEIGHT_POUNDS_4="grossWeightPounds4",_.GROSS_WEIGHT_POUNDS_5="grossWeightPounds5",_.LENGTH_INCHES_LOG_0="lengthInchesLog0",_.LENGTH_INCHES_LOG_1="lengthInchesLog1",_.LENGTH_INCHES_LOG_2="lengthInchesLog2",_.LENGTH_INCHES_LOG_3="lengthInchesLog3",_.LENGTH_INCHES_LOG_4="lengthInchesLog4",_.LENGTH_INCHES_LOG_5="lengthInchesLog5",_.LENGTH_FEET_LOG_0="lengthFeetLog0",_.LENGTH_FEET_LOG_1="lengthFeetLog1",_.LENGTH_FEET_LOG_2="lengthFeetLog2",_.LENGTH_FEET_LOG_3="lengthFeetLog3",_.LENGTH_FEET_LOG_4="lengthFeetLog4",_.LENGTH_FEET_LOG_5="lengthFeetLog5",_.LENGTH_YARDS_LOG_0="lengthYardsLog0",_.LENGTH_YARDS_LOG_1="lengthYardsLog1",_.LENGTH_YARDS_LOG_2="lengthYardsLog2",_.LENGTH_YARDS_LOG_3="lengthYardsLog3",_.LENGTH_YARDS_LOG_4="lengthYardsLog4",_.LENGTH_YARDS_LOG_5="lengthYardsLog5",_.WIDTH_INCHES_LOG_0="widthInchesLog0",_.WIDTH_INCHES_LOG_1="widthInchesLog1",_.WIDTH_INCHES_LOG_2="widthInchesLog2",_.WIDTH_INCHES_LOG_3="widthInchesLog3",_.WIDTH_INCHES_LOG_4="widthInchesLog4",_.WIDTH_INCHES_LOG_5="widthInchesLog5",_.WIDTH_FEET_LOG_0="widthFeetLog0",_.WIDTH_FEET_LOG_1="widthFeetLog1",_.WIDTH_FEET_LOG_2="widthFeetLog2",_.WIDTH_FEET_LOG_3="widthFeetLog3",_.WIDTH_FEET_LOG_4="widthFeetLog4",_.WIDTH_FEET_LOG_5="widthFeetLog5",_.WIDTH_YARDS_LOG_0="widthYardsLog0",_.WIDTH_YARDS_LOG_1="widthYardsLog1",_.WIDTH_YARDS_LOG_2="widthYardsLog2",_.WIDTH_YARDS_LOG_3="widthYardsLog3",_.WIDTH_YARDS_LOG_4="widthYardsLog4",_.WIDTH_YARDS_LOG_5="widthYardsLog5",_.HEIGHT_INCHES_LOG_0="heightInchesLog0",_.HEIGHT_INCHES_LOG_1="heightInchesLog1",_.HEIGHT_INCHES_LOG_2="heightInchesLog2",_.HEIGHT_INCHES_LOG_3="heightInchesLog3",_.HEIGHT_INCHES_LOG_4="heightInchesLog4",_.HEIGHT_INCHES_LOG_5="heightInchesLog5",_.HEIGHT_FEET_LOG_0="heightFeetLog0",_.HEIGHT_FEET_LOG_1="heightFeetLog1",_.HEIGHT_FEET_LOG_2="heightFeetLog2",_.HEIGHT_FEET_LOG_3="heightFeetLog3",_.HEIGHT_FEET_LOG_4="heightFeetLog4",_.HEIGHT_FEET_LOG_5="heightFeetLog5",_.HEIGHT_YARDS_LOG_0="heightYardsLog0",_.HEIGHT_YARDS_LOG_1="heightYardsLog1",_.HEIGHT_YARDS_LOG_2="heightYardsLog2",_.HEIGHT_YARDS_LOG_3="heightYardsLog3",_.HEIGHT_YARDS_LOG_4="heightYardsLog4",_.HEIGHT_YARDS_LOG_5="heightYardsLog5",_.VOLUME_CUBIC_INCHES_LOG_0="volumeCubicInchesLog0",_.VOLUME_CUBIC_INCHES_LOG_1="volumeCubicInchesLog1",_.VOLUME_CUBIC_INCHES_LOG_2="volumeCubicInchesLog2",_.VOLUME_CUBIC_INCHES_LOG_3="volumeCubicInchesLog3",_.VOLUME_CUBIC_INCHES_LOG_4="volumeCubicInchesLog4",_.VOLUME_CUBIC_INCHES_LOG_5="volumeCubicInchesLog5",_.VOLUME_CUBIC_FEET_LOG_0="volumeCubicFeetLog0",_.VOLUME_CUBIC_FEET_LOG_1="volumeCubicFeetLog1",_.VOLUME_CUBIC_FEET_LOG_2="volumeCubicFeetLog2",_.VOLUME_CUBIC_FEET_LOG_3="volumeCubicFeetLog3",_.VOLUME_CUBIC_FEET_LOG_4="volumeCubicFeetLog4",_.VOLUME_CUBIC_FEET_LOG_5="volumeCubicFeetLog5",_.VOLUME_CUBIC_YARDS_LOG_0="volumeCubicYardsLog0",_.VOLUME_CUBIC_YARDS_LOG_1="volumeCubicYardsLog1",_.VOLUME_CUBIC_YARDS_LOG_2="volumeCubicYardsLog2",_.VOLUME_CUBIC_YARDS_LOG_3="volumeCubicYardsLog3",_.VOLUME_CUBIC_YARDS_LOG_4="volumeCubicYardsLog4",_.VOLUME_CUBIC_YARDS_LOG_5="volumeCubicYardsLog5",_.COUNT="count",_.AMOUNT_PAYABLE_0="amountPayable0",_.AMOUNT_PAYABLE_1="amountPayable1",_.AMOUNT_PAYABLE_2="amountPayable2",_.AMOUNT_PAYABLE_3="amountPayable3",_.AMOUNT_PAYABLE_4="amountPayable4",_.AMOUNT_PAYABLE_5="amountPayable5",_.AMOUNT_PAYABLE_ISO_0="amountPayableISO0",_.AMOUNT_PAYABLE_ISO_1="amountPayableISO1",_.AMOUNT_PAYABLE_ISO_2="amountPayableISO2",_.AMOUNT_PAYABLE_ISO_3="amountPayableISO3",_.AMOUNT_PAYABLE_ISO_4="amountPayableISO4",_.AMOUNT_PAYABLE_ISO_5="amountPayableISO5",_.PRICE_0="price0",_.PRICE_1="price1",_.PRICE_2="price2",_.PRICE_3="price3",_.PRICE_ISO_0="priceISO0",_.PRICE_ISO_1="priceISO1",_.PRICE_ISO_2="priceISO2",_.PRICE_ISO_3="priceISO3",_.PERCENT_DISCOUNT_0="percentDiscount0",_.PERCENT_DISCOUNT_1="percentDiscount1",_.PERCENT_DISCOUNT_2="percentDiscount2",_.PERCENT_DISCOUNT_3="percentDiscount3",_.PRICE_PER_UNIT_MEASURE_0="pricePerUnitMeasure0",_.PRICE_PER_UNIT_MEASURE_1="pricePerUnitMeasure1",_.PRICE_PER_UNIT_MEASURE_2="pricePerUnitMeasure2",_.PRICE_PER_UNIT_MEASURE_3="pricePerUnitMeasure3",_.PRICE_PER_UNIT_MEASURE_4="pricePerUnitMeasure4",_.PRICE_PER_UNIT_MEASURE_5="pricePerUnitMeasure5",_.ORDER_NUMBER="orderNumber",_.GINC="ginc",_.GSIN="gsin",_.ROUTE="route",_.SHIP_TO="shipTo",_.BILL_TO="billTo",_.PURCHASE_FROM="purchaseFrom",_.SHIP_FOR="shipFor",_.LOC_NO="locNo",_.PAY_TO="payTo",_.PROD_SERV_LOC="prodServLoc",_.PARTY="party",_.SHIP_TO_POST="shipToPost",_.SHIP_TO_POST_ISO="shipToPostISO",_.ORIGIN="origin",_.COUNTRY_INITIAL_PROCESS="countryInitialProcess",_.COUNTRY_PROCESS="countryProcess",_.COUNTRY_DISASSEMBLY="countryDisassembly",_.COUNTRY_FULL_PROCESS="countryFullProcess",_.ORIGIN_SUBDIVISION="originSubdivision",_.SHIP_TO_COMP="shipToComp",_.SHIP_TO_NAME="shipToName",_.SHIP_TO_ADD1="shipToAdd1",_.SHIP_TO_ADD2="shipToAdd2",_.SHIP_TO_SUB="shipToSub",_.SHIP_TO_LOC="shipToLoc",_.SHIP_TO_REG="shipToReg",_.SHIP_TO_COUNTRY="shipToCountry",_.SHIP_TO_PHONE="shipToPhone",_.SHIP_TO_GEO="shipToGeo",_.RTN_TO_COMP="rtnToComp",_.RTN_TO_NAME="rtnToName",_.RTN_TO_ADD1="rtnToAdd1",_.RTN_TO_ADD2="rtnToAdd2",_.RTN_TO_SUB="rtnToSub",_.RTN_TO_LOC="rtnToLoc",_.RTN_TO_REG="rtnToReg",_.RTN_TO_COUNTRY="rtnToCountry",_.RTN_TO_POST="rtnToPost",_.RTN_TO_PHONE="rtnToPhone",_.SRV_DESCRIPTION="srvDescription",_.DANGEROUS_GOODS="dangerousGoods",_.AUTH_LEAVE="authLeave",_.SIG_REQUIRED="sigRequired",_.NBEF_DEL_DT="nbefDelDt",_.NAFT_DEL_DT="naftDelDt",_.REL_DATE="relDate",_.MAX_TEMP_F="maxTempF",_.MAX_TEMP_C="maxTempC",_.MIN_TEMP_F="minTempF",_.MIN_TEMP_C="minTempC",_.NSN="nsn",_.MEAT_CUT="meatCut",_.EXPIRATION_DATE_TIME="expirationDateTime",_.ACTIVE_POTENCY="activePotency",_.CATCH_AREA="catchArea",_.FIRST_FREEZE_DATE="firstFreezeDate",_.HARVEST_DATE="harvestDate",_.AQUATIC_SPECIES="aquaticSpecies",_.FISHING_GEAR_TYPE="fishingGearType",_.PROD_METHOD="prodMethod",_.TEST_BY="testBy",_.REFURB_LOT="refurbLot",_.FUNC_STAT="funcStat",_.REV_STAT="revStat",_.GIAI_ASSEMBLY="giaiAssembly",_.PROCESSOR="processor",_.PROCESSOR_2="processor2",_.PROCESSOR_3="processor3",_.PROCESSOR_4="processor4",_.PROCESSOR_5="processor5",_.PROCESSOR_6="processor6",_.PROCESSOR_7="processor7",_.PROCESSOR_8="processor8",_.PROCESSOR_9="processor9",_.PROCESSOR_10="processor10",_.UIC_EXT="uicExt",_.UFRGT_UNIT_TYPE="ufrgtUnitType",_.NHRN_PZN="nhrnPzn",_.NHRN_CIP="nhrnCip",_.NHRN_CN="nhrnCn",_.NHRN_DRN="nhrnDrn",_.NHRN_AIM="nhrnAim",_.NHRN_DNC="nhrnDnc",_.NHRN_AIC="nhrnAic",_.CERT0="cert0",_.CERT1="cert1",_.CERT2="cert2",_.CERT3="cert3",_.CERT4="cert4",_.CERT5="cert5",_.CERT6="cert6",_.CERT7="cert7",_.CERT8="cert8",_.CERT9="cert9",_.PROTOCOL="protocol",_.AIDC_MEDIA_TYPE="aidcMediaType",_.DOB="dob",_.DOB_TIME="dobTime",_.BIO_SEX="bioSex",_.FAMILY_NAME="familyName",_.GIVEN_NAME="givenName",_.SUFFIX="suffix",_.FULL_NAME="fullName",_.PERSON_ADDR="personAddr",_.BIRTH_SEQUENCE="birthSeq",_.BABY="baby",_.ROLL_PRODUCTS="rollProducts",_.CMT_NO="cmtNo",_.GRAI="grai",_.GIAI="giai",_.PRICE_PER_UNIT="pricePerUnit",_.ITIP="itip",_.IBAN="iban",_.PROD_TIME="prodTime",_.OPTICAL_SENSOR="opticalSensor",_.CPID="cpid",_.CPID_SERIAL="cpidSerial",_.VERSION="version",_.GMN="gmn",_.GSRN_PROVIDER="gsrnProvider",_.GSRN_RECIPIENT="gsrnRecipient",_.SRIN="srin",_.REF_NO="refNo",_.ITIP_CONTENT="itipContent",_.DIG_SIG="digSig",_.COUPON="coupon",_.POINTS="points",_.COUPON_EXTENDED="couponExtended",_.PRODUCT_URL="productURL",_.INTERNAL_1="internal1",_.INTERNAL_2="internal2",_.INTERNAL_3="internal3",_.INTERNAL_4="internal4",_.INTERNAL_5="internal5",_.INTERNAL_6="internal6",_.INTERNAL_7="internal7",_.INTERNAL_8="internal8",_.INTERNAL_9="internal9",_.INTERNAL_10="internal10",_))(Q||{}),d={ai00:"sscc",ai01:"gtin",ai02:"content",ai03:"mtoGtin",ai10:"batch",ai11:"prodDate",ai12:"dueDate",ai13:"packDate",ai15:"bestBefore",ai16:"sellBy",ai17:"expDate",ai20:"variant",ai21:"serial",ai22:"hibcc",ai235:"tpx",ai240:"additionalProductID",ai241:"customerPartNumber",ai242:"madeToOrder",ai243:"packaging",ai250:"secondarySerialNumber",ai251:"refSource",ai253:"gdti",ai254:"glnExtension",ai255:"gcn",ai30:"variableCount",ai3100:"netWeightKg0",ai3101:"netWeightKg1",ai3102:"netWeightKg2",ai3103:"netWeightKg3",ai3104:"netWeightKg4",ai3105:"netWeightKg5",ai3110:"lengthMeters0",ai3111:"lengthMeters1",ai3112:"lengthMeters2",ai3113:"lengthMeters3",ai3114:"lengthMeters4",ai3115:"lengthMeters5",ai3120:"widthMeters0",ai3121:"widthMeters1",ai3122:"widthMeters2",ai3123:"widthMeters3",ai3124:"widthMeters4",ai3125:"widthMeters5",ai3130:"heightMeters0",ai3131:"heightMeters1",ai3132:"heightMeters2",ai3133:"heightMeters3",ai3134:"heightMeters4",ai3135:"heightMeters5",ai3140:"areaSquareMeters0",ai3141:"areaSquareMeters1",ai3142:"areaSquareMeters2",ai3143:"areaSquareMeters3",ai3144:"areaSquareMeters4",ai3145:"areaSquareMeters5",ai3150:"netVolumeLiters0",ai3151:"netVolumeLiters1",ai3152:"netVolumeLiters2",ai3153:"netVolumeLiters3",ai3154:"netVolumeLiters4",ai3155:"netVolumeLiters5",ai3160:"netVolumeCubicMeters0",ai3161:"netVolumeCubicMeters1",ai3162:"netVolumeCubicMeters2",ai3163:"netVolumeCubicMeters3",ai3164:"netVolumeCubicMeters4",ai3165:"netVolumeCubicMeters5",ai3200:"netWeightLb0",ai3201:"netWeightLb1",ai3202:"netWeightLb2",ai3203:"netWeightLb3",ai3204:"netWeightLb4",ai3205:"netWeightLb5",ai3210:"lengthInches0",ai3211:"lengthInches1",ai3212:"lengthInches2",ai3213:"lengthInches3",ai3214:"lengthInches4",ai3215:"lengthInches5",ai3220:"lengthFeet0",ai3221:"lengthFeet1",ai3222:"lengthFeet2",ai3223:"lengthFeet3",ai3224:"lengthFeet4",ai3225:"lengthFeet5",ai3230:"lengthYards0",ai3231:"lengthYards1",ai3232:"lengthYards2",ai3233:"lengthYards3",ai3234:"lengthYards4",ai3235:"lengthYards5",ai3240:"widthInches0",ai3241:"widthInches1",ai3242:"widthInches2",ai3243:"widthInches3",ai3244:"widthInches4",ai3245:"widthInches5",ai3250:"widthFeet0",ai3251:"widthFeet1",ai3252:"widthFeet2",ai3253:"widthFeet3",ai3254:"widthFeet4",ai3255:"widthFeet5",ai3260:"widthYards0",ai3261:"widthYards1",ai3262:"widthYards2",ai3263:"widthYards3",ai3264:"widthYards4",ai3265:"widthYards5",ai3270:"heightInches0",ai3271:"heightInches1",ai3272:"heightInches2",ai3273:"heightInches3",ai3274:"heightInches4",ai3275:"heightInches5",ai3280:"heightFeet0",ai3281:"heightFeet1",ai3282:"heightFeet2",ai3283:"heightFeet3",ai3284:"heightFeet4",ai3285:"heightFeet5",ai3290:"heightYards0",ai3291:"heightYards1",ai3292:"heightYards2",ai3293:"heightYards3",ai3294:"heightYards4",ai3295:"heightYards5",ai3300:"grossWeightKg0",ai3301:"grossWeightKg1",ai3302:"grossWeightKg2",ai3303:"grossWeightKg3",ai3304:"grossWeightKg4",ai3305:"grossWeightKg5",ai3310:"lengthMetersLog0",ai3311:"lengthMetersLog1",ai3312:"lengthMetersLog2",ai3313:"lengthMetersLog3",ai3314:"lengthMetersLog4",ai3315:"lengthMetersLog5",ai3320:"widthMetersLog0",ai3321:"widthMetersLog1",ai3322:"widthMetersLog2",ai3323:"widthMetersLog3",ai3324:"widthMetersLog4",ai3325:"widthMetersLog5",ai3330:"heightMetersLog0",ai3331:"heightMetersLog1",ai3332:"heightMetersLog2",ai3333:"heightMetersLog3",ai3334:"heightMetersLog4",ai3335:"heightMetersLog5",ai3340:"areaSquareMetersLog0",ai3341:"areaSquareMetersLog1",ai3342:"areaSquareMetersLog2",ai3343:"areaSquareMetersLog3",ai3344:"areaSquareMetersLog4",ai3345:"areaSquareMetersLog5",ai3350:"volumeLitresLog0",ai3351:"volumeLitresLog1",ai3352:"volumeLitresLog2",ai3353:"volumeLitresLog3",ai3354:"volumeLitresLog4",ai3355:"volumeLitresLog5",ai3360:"volumeCubicMetersLog0",ai3361:"volumeCubicMetersLog1",ai3362:"volumeCubicMetersLog2",ai3363:"volumeCubicMetersLog3",ai3364:"volumeCubicMetersLog4",ai3365:"volumeCubicMetersLog5",ai3370:"kgPerSquareMeters0",ai3371:"kgPerSquareMeters1",ai3372:"kgPerSquareMeters2",ai3373:"kgPerSquareMeters3",ai3374:"kgPerSquareMeters4",ai3375:"kgPerSquareMeters5",ai3400:"grossWeightPounds0",ai3401:"grossWeightPounds1",ai3402:"grossWeightPounds2",ai3403:"grossWeightPounds3",ai3404:"grossWeightPounds4",ai3405:"grossWeightPounds5",ai3410:"lengthInchesLog0",ai3411:"lengthInchesLog1",ai3412:"lengthInchesLog2",ai3413:"lengthInchesLog3",ai3414:"lengthInchesLog4",ai3415:"lengthInchesLog5",ai3420:"lengthFeetLog0",ai3421:"lengthFeetLog1",ai3422:"lengthFeetLog2",ai3423:"lengthFeetLog3",ai3424:"lengthFeetLog4",ai3425:"lengthFeetLog5",ai3430:"lengthYardsLog0",ai3431:"lengthYardsLog1",ai3432:"lengthYardsLog2",ai3433:"lengthYardsLog3",ai3434:"lengthYardsLog4",ai3435:"lengthYardsLog5",ai3440:"widthInchesLog0",ai3441:"widthInchesLog1",ai3442:"widthInchesLog2",ai3443:"widthInchesLog3",ai3444:"widthInchesLog4",ai3445:"widthInchesLog5",ai3450:"widthFeetLog0",ai3451:"widthFeetLog1",ai3452:"widthFeetLog2",ai3453:"widthFeetLog3",ai3454:"widthFeetLog4",ai3455:"widthFeetLog5",ai3460:"widthYardsLog0",ai3461:"widthYardsLog1",ai3462:"widthYardsLog2",ai3463:"widthYardsLog3",ai3464:"widthYardsLog4",ai3465:"widthYardsLog5",ai3470:"heightInchesLog0",ai3471:"heightInchesLog1",ai3472:"heightInchesLog2",ai3473:"heightInchesLog3",ai3474:"heightInchesLog4",ai3475:"heightInchesLog5",ai3480:"heightFeetLog0",ai3481:"heightFeetLog1",ai3482:"heightFeetLog2",ai3483:"heightFeetLog3",ai3484:"heightFeetLog4",ai3485:"heightFeetLog5",ai3490:"heightYardsLog0",ai3491:"heightYardsLog1",ai3492:"heightYardsLog2",ai3493:"heightYardsLog3",ai3494:"heightYardsLog4",ai3495:"heightYardsLog5",ai3500:"areaSquareInches0",ai3501:"areaSquareInches1",ai3502:"areaSquareInches2",ai3503:"areaSquareInches3",ai3504:"areaSquareInches4",ai3505:"areaSquareInches5",ai3510:"areaSquareFeet0",ai3511:"areaSquareFeet1",ai3512:"areaSquareFeet2",ai3513:"areaSquareFeet3",ai3514:"areaSquareFeet4",ai3515:"areaSquareFeet5",ai3520:"areaSquareYards0",ai3521:"areaSquareYards1",ai3522:"areaSquareYards2",ai3523:"areaSquareYards3",ai3524:"areaSquareYards4",ai3525:"areaSquareYards5",ai3530:"areaSquareInchesLog0",ai3531:"areaSquareInchesLog1",ai3532:"areaSquareInchesLog2",ai3533:"areaSquareInchesLog3",ai3534:"areaSquareInchesLog4",ai3535:"areaSquareInchesLog5",ai3540:"areaSquareFeetLog0",ai3541:"areaSquareFeetLog1",ai3542:"areaSquareFeetLog2",ai3543:"areaSquareFeetLog3",ai3544:"areaSquareFeetLog4",ai3545:"areaSquareFeetLog5",ai3550:"areaSquareYardsLog0",ai3551:"areaSquareYardsLog1",ai3552:"areaSquareYardsLog2",ai3553:"areaSquareYardsLog3",ai3554:"areaSquareYardsLog4",ai3555:"areaSquareYardsLog5",ai3560:"netWeightTroyOunces0",ai3561:"netWeightTroyOunces1",ai3562:"netWeightTroyOunces2",ai3563:"netWeightTroyOunces3",ai3564:"netWeightTroyOunces4",ai3565:"netWeightTroyOunces5",ai3570:"netVolumeOunces0",ai3571:"netVolumeOunces1",ai3572:"netVolumeOunces2",ai3573:"netVolumeOunces3",ai3574:"netVolumeOunces4",ai3575:"netVolumeOunces5",ai3600:"netVolumeQuarts0",ai3601:"netVolumeQuarts1",ai3602:"netVolumeQuarts2",ai3603:"netVolumeQuarts3",ai3604:"netVolumeQuarts4",ai3605:"netVolumeQuarts5",ai3610:"netVolumeGallons0",ai3611:"netVolumeGallons1",ai3612:"netVolumeGallons2",ai3613:"netVolumeGallons3",ai3614:"netVolumeGallons4",ai3615:"netVolumeGallons5",ai3620:"volumeQuartsLog0",ai3621:"volumeQuartsLog1",ai3622:"volumeQuartsLog2",ai3623:"volumeQuartsLog3",ai3624:"volumeQuartsLog4",ai3625:"volumeQuartsLog5",ai3630:"volumeGallonsLog0",ai3631:"volumeGallonsLog1",ai3632:"volumeGallonsLog2",ai3633:"volumeGallonsLog3",ai3634:"volumeGallonsLog4",ai3635:"volumeGallonsLog5",ai3640:"volumeCubicInches0",ai3641:"volumeCubicInches1",ai3642:"volumeCubicInches2",ai3643:"volumeCubicInches3",ai3644:"volumeCubicInches4",ai3645:"volumeCubicInches5",ai3650:"volumeCubicFeet0",ai3651:"volumeCubicFeet1",ai3652:"volumeCubicFeet2",ai3653:"volumeCubicFeet3",ai3654:"volumeCubicFeet4",ai3655:"volumeCubicFeet5",ai3660:"volumeCubicYards0",ai3661:"volumeCubicYards1",ai3662:"volumeCubicYards2",ai3663:"volumeCubicYards3",ai3664:"volumeCubicYards4",ai3665:"volumeCubicYards5",ai3670:"volumeCubicInchesLog0",ai3671:"volumeCubicInchesLog1",ai3672:"volumeCubicInchesLog2",ai3673:"volumeCubicInchesLog3",ai3674:"volumeCubicInchesLog4",ai3675:"volumeCubicInchesLog5",ai3680:"volumeCubicFeetLog0",ai3681:"volumeCubicFeetLog1",ai3682:"volumeCubicFeetLog2",ai3683:"volumeCubicFeetLog3",ai3684:"volumeCubicFeetLog4",ai3685:"volumeCubicFeetLog5",ai3690:"volumeCubicYardsLog0",ai3691:"volumeCubicYardsLog1",ai3692:"volumeCubicYardsLog2",ai3693:"volumeCubicYardsLog3",ai3694:"volumeCubicYardsLog4",ai3695:"volumeCubicYardsLog5",ai37:"count",ai3900:"amountPayable0",ai3901:"amountPayable1",ai3902:"amountPayable2",ai3903:"amountPayable3",ai3904:"amountPayable4",ai3905:"amountPayable5",ai3910:"amountPayableISO0",ai3911:"amountPayableISO1",ai3912:"amountPayableISO2",ai3913:"amountPayableISO3",ai3914:"amountPayableISO4",ai3915:"amountPayableISO5",ai3920:"price0",ai3921:"price1",ai3922:"price2",ai3923:"price3",ai3930:"priceISO0",ai3931:"priceISO1",ai3932:"priceISO2",ai3933:"priceISO3",ai3940:"percentDiscount0",ai3941:"percentDiscount1",ai3942:"percentDiscount2",ai3943:"percentDiscount3",ai3950:"pricePerUnitMeasure0",ai3951:"pricePerUnitMeasure1",ai3952:"pricePerUnitMeasure2",ai3953:"pricePerUnitMeasure3",ai3954:"pricePerUnitMeasure4",ai3955:"pricePerUnitMeasure5",ai400:"orderNumber",ai401:"ginc",ai402:"gsin",ai403:"route",ai410:"shipTo",ai411:"billTo",ai412:"purchaseFrom",ai413:"shipFor",ai414:"locNo",ai415:"payTo",ai416:"prodServLoc",ai417:"party",ai420:"shipToPost",ai421:"shipToPostISO",ai422:"origin",ai423:"countryInitialProcess",ai424:"countryProcess",ai425:"countryDisassembly",ai426:"countryFullProcess",ai427:"originSubdivision",ai4300:"shipToComp",ai4301:"shipToName",ai4302:"shipToAdd1",ai4303:"shipToAdd2",ai4304:"shipToSub",ai4305:"shipToLoc",ai4306:"shipToReg",ai4307:"shipToCountry",ai4308:"shipToPhone",ai4309:"shipToGeo",ai4310:"rtnToComp",ai4311:"rtnToName",ai4312:"rtnToAdd1",ai4313:"rtnToAdd2",ai4314:"rtnToSub",ai4315:"rtnToLoc",ai4316:"rtnToReg",ai4317:"rtnToCountry",ai4318:"rtnToPost",ai4319:"rtnToPhone",ai4320:"srvDescription",ai4321:"dangerousGoods",ai4322:"authLeave",ai4323:"sigRequired",ai4324:"nbefDelDt",ai4325:"naftDelDt",ai4326:"relDate",ai4330:"maxTempF",ai4331:"maxTempC",ai4332:"minTempF",ai4333:"minTempC",ai7001:"nsn",ai7002:"meatCut",ai7003:"expirationDateTime",ai7004:"activePotency",ai7005:"catchArea",ai7006:"firstFreezeDate",ai7007:"harvestDate",ai7008:"aquaticSpecies",ai7009:"fishingGearType",ai7010:"prodMethod",ai7011:"testBy",ai7020:"refurbLot",ai7021:"funcStat",ai7022:"revStat",ai7023:"giaiAssembly",ai7030:"processor",ai7031:"processor2",ai7032:"processor3",ai7033:"processor4",ai7034:"processor5",ai7035:"processor6",ai7036:"processor7",ai7037:"processor8",ai7038:"processor9",ai7039:"processor10",ai7040:"uicExt",ai7041:"ufrgtUnitType",ai710:"nhrnPzn",ai711:"nhrnCip",ai712:"nhrnCn",ai713:"nhrnDrn",ai714:"nhrnAim",ai715:"nhrnDnc",ai716:"nhrnAic",ai7230:"cert0",ai7231:"cert1",ai7232:"cert2",ai7233:"cert3",ai7234:"cert4",ai7235:"cert5",ai7236:"cert6",ai7237:"cert7",ai7238:"cert8",ai7239:"cert9",ai7240:"protocol",ai7241:"aidcMediaType",ai7250:"dob",ai7251:"dobTime",ai7252:"bioSex",ai7253:"familyName",ai7254:"givenName",ai7255:"suffix",ai7256:"fullName",ai7257:"personAddr",ai7258:"birthSeq",ai7259:"baby",ai8001:"rollProducts",ai8002:"cmtNo",ai8003:"grai",ai8004:"giai",ai8005:"pricePerUnit",ai8006:"itip",ai8007:"iban",ai8008:"prodTime",ai8009:"opticalSensor",ai8010:"cpid",ai8011:"cpidSerial",ai8012:"version",ai8013:"gmn",ai8017:"gsrnProvider",ai8018:"gsrnRecipient",ai8019:"srin",ai8020:"refNo",ai8026:"itipContent",ai8030:"digSig",ai8110:"coupon",ai8111:"points",ai8112:"couponExtended",ai8200:"productURL",ai90:"internal1",ai91:"internal2",ai92:"internal3",ai93:"internal4",ai94:"internal5",ai95:"internal6",ai96:"internal7",ai97:"internal8",ai98:"internal9",ai99:"internal10"};var F=String.fromCodePoint(29),c=/^\d+$/,V=(R=>(R.String="string",R.Number="number",R.Date="date",R.Error="error",R.UNDEFINED="",R))(V||{});var l=class extends Error{static{A(this,"InternalError")}constructor(r,E){super(r),this.name="InternalError",this.code=r,this.ex=E}ex;code},L=class extends Error{static{A(this,"InvalidAiError")}constructor(r,E){let I;r?I=`Invalid AI identifier "${E}" after "${r}"`:I=`Invalid first AI identifier "${E}"`,super(I),this.name="InvalidAiError"}},n=class extends Error{static{A(this,"BarcodeError")}constructor(r,E,I){super(I),this.name="BarcodeError",this.num=r,this.code=E,this.des=I}num;code;des},u=class{static{A(this,"ParsedElementClass")}ai;dataTitle;data;dataString;unit;error;type="";constructor(r,E,I,S){switch(this.ai=r,this.dataTitle=E,this.unit="",this.dataString="",I){case"string":this.data="",this.type="string";break;case"number":this.data=0,this.type="number";break;case"date":this.data=new Date,this.type="date";break;case"error":this.data=null,this.type="error",this.error=S;break;default:this.data="";break}}},m=class{constructor(r,E,I,S={}){this.isValid=r;this.codeName=E;this.denormalized=I;this.data=S}isValid;codeName;denormalized;data;static{A(this,"DecodeResult")}};function y(e,r){let E=e,I=E.slice(0,1);for(;I===r;)E=E.slice(1),I=E.slice(0,1);return E}A(y,"cleanCodeString");function f(e,r,E){if(r<0||r>11)return!1;let I=r;E===0&&I++;let S=new Date(e,I,E);return S.getFullYear()===e&&S.getMonth()===r&&(S.getDate()===E||E===0)}A(f,"checkValidDate");function w(e,r,E=!1){let I=e.length-r,S=(E?"-":"")+e.slice(0,I)+"."+e.slice(I);try{return Number.parseFloat(S)}catch(R){throw new l("36",R)}}A(w,"parseFloatingPoint");function M(e,r,E,I,S){let R=new u(e,r,"date"),T=e.length,a="";try{let O=E.slice(T,T+6),N=S?E.indexOf(S,T):T+6;if(N==-1?a=E.slice(T):a=E.slice(T,N),I?R.data.setUTCHours(0,0,0,0):R.data.setHours(0,0,0,0),O.length!==6)throw new n(9,"37",`Data length ${O.length} is less than expected length 6 for AI "${e}".`);if(!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let s=0,G=0,C=0;try{s=Number.parseInt(O.slice(0,2),10)}catch(U){throw new l("33",U)}try{G=Number.parseInt(O.slice(2,4),10)-1}catch(U){throw new l("34",U)}try{C=Number.parseInt(O.slice(4,6),10)}catch(U){throw new l("35",U)}let o=Math.floor(new Date().getFullYear()/100),P=new Date().getFullYear()%100,D=s-P;if(D>=51&&D<=99?s=(o-1)*100+s:D>=-99&&D<=-50?s=(o+1)*100+s:s=o*100+s,!f(s,G,C))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);C===0&&G++,I?R.data.setUTCFullYear(s,G,C):R.data.setFullYear(s,G,C)}catch(O){R=new u(e,r,"error",O)}return R.dataString=a,{element:R,codestring:E.slice(T+a.length)}}A(M,"parseDate");function g(e,r,E,I,S){let R=new u(e,r,"date"),T=e.length,a=E.indexOf(S),O="";a===-1?O=E.slice(T,E.length):O=E.slice(T,a);try{if(O.length!==10)throw new n(9,"37",`Data length ${O.length} is not of expected length 10 for AI "${e}".`);if(!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${O}".`);let N=0,s=0,G=0,C=0,o=0;try{N=Number.parseInt(O.slice(0,2),10)}catch(h){throw new l("33",h)}try{s=Number.parseInt(O.slice(2,4),10)-1}catch(h){throw new l("34",h)}try{G=Number.parseInt(O.slice(4,6),10)}catch(h){throw new l("35",h)}try{C=Number.parseInt(O.slice(6,8),10)}catch(h){throw new l("35",h)}try{o=Number.parseInt(O.slice(8,10),10)}catch(h){throw new l("35",h)}I?R.data.setUTCHours(C,o,0,0):R.data.setHours(C,o,0,0);let P=Math.floor(new Date().getFullYear()/100),D=new Date().getFullYear()%100,U=N-D;if(U>=51&&U<=99?N=(P-1)*100+N:U>=-99&&U<=-50?N=(P+1)*100+N:N=P*100+N,!f(N,s,G))throw new n(7,"36",`Invalid date "${O}" for AI "${e}".`);G===0&&s++,R.data.setFullYear(N,s,G)}catch(N){R=new u(e,r,"error",N)}return R.dataString=O,{element:R,codestring:E.slice(T+10,E.length)}}A(g,"parseDatetime");function H(e,r,E,I,S=!1){let R=new u(e,r,"string"),T=e.length,a=I.slice(T,E+T);try{if(a.length0?(s=E.slice(a,S+a),N=E.replace(e+s,"")):s=E.slice(a,E.length):(s=E.slice(a,O),N=E.slice(O+1,E.length)),s==="")throw new n(10,"38",`Variable length data for AI "${e}" is empty.`);if(R&&!c.test(s))throw new n(11,"39",`Numeric data expected for AI "${e}", but got "${s}".`);T.data=s}catch(G){T=new u(e,r,"error",G)}return T.dataString=s,{element:T,codestring:N}}A(t,"parseVariableLength");function p(e,r,E,I,S,R){let T=e+r,a=new u(T,E,"number"),O="",N="";try{let s=e.length+1,G=S.indexOf(R),C=Number.parseInt(r,10);G===-1?N=S.slice(s,S.length):(N=S.slice(s,G),O=S.slice(G+1,S.length)),a.data=w(N,C)}catch(s){a=new u(T,E,"error",s)}return a.dataString=N,a.unit=I,{element:a,codestring:O}}A(p,"parseVariableLengthMeasure");function i(e,r,E,I,S){let R=e+r,T=new u(R,E,"number"),a="",O="";try{let N=e.length+1;if(!c.test(r))throw new L(e,r);let s=Number.parseInt(r,10);if(O=S.slice(N,N+6),!c.test(O))throw new n(11,"39",`Numeric data expected for AI "${R}", but got "${O}".`);T.data=w(O,s),a=S.slice(N+6,S.length)}catch(N){T=new u(R,E,"error",N)}return T.dataString=O,T.unit=I,{element:T,codestring:a}}A(i,"parseFixedLengthMeasure");function Y(e,r,E,I,S,R){let T=new u(e,E,"number"),a=e.length,O="",N="";try{if(S.length0;)try{T=q(S,r),S=y(T.codestring,r.fncChar),T.element.type=="error"&&(I.isValid=!1),I.parsedCodeItems.push(T.element),I.denormalized+="("+T.element.ai+")"+T.element.dataString}catch(a){if(r.ignoreInvalidFields){let O=S.indexOf(r.fncChar);O==-1?S="":S=S.slice(Math.max(1,O))}else if(a instanceof l)$(a);else throw a}return I}A(v,"parseBarcode");function $(e){switch(e.code){case"32":throw new n(6,32,"Invalid normal AI.");case"33":throw new n(7,33,"The year of the date is not valid.");case"34":throw new n(7,34,"The month of the date is not valid.");case"36":throw new n(8,36,"Invalid numbers");default:throw e}}A($,"handleInternalError");var X={fncChar:F},b=class{static{A(this,"GS1Parser")}options;constructor(r){this.options={...X,...r}}decode(r){let E=r.replaceAll("(",this.options.fncChar).replaceAll(")","");E.startsWith(this.options.fncChar)&&(E=E.slice(1));let I=v(E,this.options),S={};for(let R of I.parsedCodeItems){let T=d["ai"+R.ai];T&&(S[T]=R)}return new m(I.isValid,I.codeName,I.denormalized,S)}};export{m as DecodeResult,V as ElementType,Q as GS1Field,b as GS1Parser}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..5b74750 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,2390 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@eslint/js': + specifier: ^9.39.1 + version: 9.39.4 + '@types/node': + specifier: ^25.0.3 + version: 25.6.0 + eslint: + specifier: ^9.39.1 + version: 9.39.4(jiti@2.6.1) + globals: + specifier: ^16.5.0 + version: 16.5.0 + jiti: + specifier: ^2.6.1 + version: 2.6.1 + tsup: + specifier: ^8.5.1 + version: 8.5.1(jiti@2.6.1)(postcss@8.5.10)(typescript@5.9.3)(yaml@2.8.3) + typedoc: + specifier: ^0.28.14 + version: 0.28.19(typescript@5.9.3) + typescript: + specifier: ~5.9.3 + version: 5.9.3 + typescript-eslint: + specifier: ~8.46.4 + version: 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + vite: + specifier: ^7.2.2 + version: 7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3) + vitest: + specifier: ^4.0.9 + version: 4.1.4(@types/node@25.6.0)(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3)) + +packages: + + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.2': + resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.5': + resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.4': + resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@gerrit0/mini-shiki@3.23.0': + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@rollup/rollup-android-arm-eabi@4.60.1': + resolution: {integrity: sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.60.1': + resolution: {integrity: sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.60.1': + resolution: {integrity: sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.60.1': + resolution: {integrity: sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.60.1': + resolution: {integrity: sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.60.1': + resolution: {integrity: sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.60.1': + resolution: {integrity: sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.60.1': + resolution: {integrity: sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.60.1': + resolution: {integrity: sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.60.1': + resolution: {integrity: sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.60.1': + resolution: {integrity: sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-loong64-musl@4.60.1': + resolution: {integrity: sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-ppc64-gnu@4.60.1': + resolution: {integrity: sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-musl@4.60.1': + resolution: {integrity: sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.60.1': + resolution: {integrity: sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.60.1': + resolution: {integrity: sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.60.1': + resolution: {integrity: sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.60.1': + resolution: {integrity: sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.60.1': + resolution: {integrity: sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openbsd-x64@4.60.1': + resolution: {integrity: sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.60.1': + resolution: {integrity: sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.60.1': + resolution: {integrity: sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.60.1': + resolution: {integrity: sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.60.1': + resolution: {integrity: sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.60.1': + resolution: {integrity: sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==} + cpu: [x64] + os: [win32] + + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} + + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} + + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} + + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@25.6.0': + resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@typescript-eslint/eslint-plugin@8.46.4': + resolution: {integrity: sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.46.4 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.46.4': + resolution: {integrity: sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.46.4': + resolution: {integrity: sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.46.4': + resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.46.4': + resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.46.4': + resolution: {integrity: sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.46.4': + resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.46.4': + resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.46.4': + resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.46.4': + resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitest/expect@4.1.4': + resolution: {integrity: sha512-iPBpra+VDuXmBFI3FMKHSFXp3Gx5HfmSCE8X67Dn+bwephCnQCaB7qWK2ldHa+8ncN8hJU8VTMcxjPpyMkUjww==} + + '@vitest/mocker@4.1.4': + resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.4': + resolution: {integrity: sha512-ddmDHU0gjEUyEVLxtZa7xamrpIefdEETu3nZjWtHeZX4QxqJ7tRxSteHVXJOcr8jhiLoGAhkK4WJ3WqBpjx42A==} + + '@vitest/runner@4.1.4': + resolution: {integrity: sha512-xTp7VZ5aXP5ZJrn15UtJUWlx6qXLnGtF6jNxHepdPHpMfz/aVPx+htHtgcAL2mDXJgKhpoo2e9/hVJsIeFbytQ==} + + '@vitest/snapshot@4.1.4': + resolution: {integrity: sha512-MCjCFgaS8aZz+m5nTcEcgk/xhWv0rEH4Yl53PPlMXOZ1/Ka2VcZU6CJ+MgYCZbcJvzGhQRjVrGQNZqkGPttIKw==} + + '@vitest/spy@4.1.4': + resolution: {integrity: sha512-XxNdAsKW7C+FLydqFJLb5KhJtl3PGCMmYwFRfhvIgxJvLSXhhVI1zM8f1qD3Zg7RCjTSzDVyct6sghs9UEgBEQ==} + + '@vitest/utils@4.1.4': + resolution: {integrity: sha512-13QMT+eysM5uVGa1rG4kegGYNp6cnQcsTc67ELFbhNLQO+vgsygtYJx2khvdt4gVQqSSpC/KT5FZZxUpP3Oatw==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + brace-expansion@1.1.14: + resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} + + brace-expansion@2.1.0: + resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} + + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.4: + resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + fix-dts-default-cjs-exports@1.0.1: + resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + markdown-it@14.1.1: + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} + hasBin: true + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + + postcss@8.5.10: + resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.60.1: + resolution: {integrity: sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyexec@1.1.1: + resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} + engines: {node: '>=18'} + + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsup@8.5.1: + resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typedoc@0.28.19: + resolution: {integrity: sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==} + engines: {node: '>= 18', pnpm: '>= 10'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x + + typescript-eslint@8.46.4: + resolution: {integrity: sha512-KALyxkpYV5Ix7UhvjTwJXZv76VWsHG+NjNlt/z+a17SOQSiOcBdUXdbJdyXi7RPxrBFECtFOiPwUJQusJuCqrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + + undici-types@7.19.2: + resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + vite@7.3.2: + resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.1.4: + resolution: {integrity: sha512-tFuJqTxKb8AvfyqMfnavXdzfy3h3sWZRWwfluGbkeR7n0HUev+FmNgZ8SDrRBTVrVCjgH5cA21qGbCffMNtWvg==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.4 + '@vitest/browser-preview': 4.1.4 + '@vitest/browser-webdriverio': 4.1.4 + '@vitest/coverage-istanbul': 4.1.4 + '@vitest/coverage-v8': 4.1.4 + '@vitest/ui': 4.1.4 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@esbuild/aix-ppc64@0.27.7': + optional: true + + '@esbuild/android-arm64@0.27.7': + optional: true + + '@esbuild/android-arm@0.27.7': + optional: true + + '@esbuild/android-x64@0.27.7': + optional: true + + '@esbuild/darwin-arm64@0.27.7': + optional: true + + '@esbuild/darwin-x64@0.27.7': + optional: true + + '@esbuild/freebsd-arm64@0.27.7': + optional: true + + '@esbuild/freebsd-x64@0.27.7': + optional: true + + '@esbuild/linux-arm64@0.27.7': + optional: true + + '@esbuild/linux-arm@0.27.7': + optional: true + + '@esbuild/linux-ia32@0.27.7': + optional: true + + '@esbuild/linux-loong64@0.27.7': + optional: true + + '@esbuild/linux-mips64el@0.27.7': + optional: true + + '@esbuild/linux-ppc64@0.27.7': + optional: true + + '@esbuild/linux-riscv64@0.27.7': + optional: true + + '@esbuild/linux-s390x@0.27.7': + optional: true + + '@esbuild/linux-x64@0.27.7': + optional: true + + '@esbuild/netbsd-arm64@0.27.7': + optional: true + + '@esbuild/netbsd-x64@0.27.7': + optional: true + + '@esbuild/openbsd-arm64@0.27.7': + optional: true + + '@esbuild/openbsd-x64@0.27.7': + optional: true + + '@esbuild/openharmony-arm64@0.27.7': + optional: true + + '@esbuild/sunos-x64@0.27.7': + optional: true + + '@esbuild/win32-arm64@0.27.7': + optional: true + + '@esbuild/win32-ia32@0.27.7': + optional: true + + '@esbuild/win32-x64@0.27.7': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))': + dependencies: + eslint: 9.39.4(jiti@2.6.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.2': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.5 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.5': + dependencies: + ajv: 6.14.0 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.5 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.4': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@gerrit0/mini-shiki@3.23.0': + dependencies: + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@rollup/rollup-android-arm-eabi@4.60.1': + optional: true + + '@rollup/rollup-android-arm64@4.60.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.60.1': + optional: true + + '@rollup/rollup-darwin-x64@4.60.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.60.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.60.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.60.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.60.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.60.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.60.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.60.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.60.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.60.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.60.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.60.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.60.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.60.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.60.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.60.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.60.1': + optional: true + + '@shikijs/engine-oniguruma@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/themes@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/types@3.23.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@standard-schema/spec@1.1.0': {} + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.8': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/node@25.6.0': + dependencies: + undici-types: 7.19.2 + + '@types/unist@3.0.3': {} + + '@typescript-eslint/eslint-plugin@8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/type-utils': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.4 + eslint: 9.39.4(jiti@2.6.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.4 + debug: 4.4.3 + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.46.4(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) + '@typescript-eslint/types': 8.46.4 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.46.4': + dependencies: + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/visitor-keys': 8.46.4 + + '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.4(jiti@2.6.1) + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.46.4': {} + + '@typescript-eslint/typescript-estree@8.46.4(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.46.4(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/visitor-keys': 8.46.4 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.9 + semver: 7.7.4 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.46.4': + dependencies: + '@typescript-eslint/types': 8.46.4 + eslint-visitor-keys: 4.2.1 + + '@vitest/expect@4.1.4': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.4 + '@vitest/utils': 4.1.4 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.4(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3))': + dependencies: + '@vitest/spy': 4.1.4 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3) + + '@vitest/pretty-format@4.1.4': + dependencies: + tinyrainbow: 3.1.0 + + '@vitest/runner@4.1.4': + dependencies: + '@vitest/utils': 4.1.4 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.4': + dependencies: + '@vitest/pretty-format': 4.1.4 + '@vitest/utils': 4.1.4 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.1.4': {} + + '@vitest/utils@4.1.4': + dependencies: + '@vitest/pretty-format': 4.1.4 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + ajv@6.14.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + any-promise@1.3.0: {} + + argparse@2.0.1: {} + + assertion-error@2.0.1: {} + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + brace-expansion@1.1.14: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.1.0: + dependencies: + balanced-match: 1.0.2 + + brace-expansion@5.0.5: + dependencies: + balanced-match: 4.0.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + bundle-require@5.1.0(esbuild@0.27.7): + dependencies: + esbuild: 0.27.7 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + + callsites@3.1.0: {} + + chai@6.2.2: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@4.1.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.8: {} + + consola@3.4.2: {} + + convert-source-map@2.0.0: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + entities@4.5.0: {} + + es-module-lexer@2.0.0: {} + + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 + + escape-string-regexp@4.0.0: {} + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.4(jiti@2.6.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.2 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.5 + '@eslint/js': 9.39.4 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.14.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 4.2.1 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + expect-type@1.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.21 + mlly: 1.8.2 + rollup: 4.60.1 + + flat-cache@4.0.1: + dependencies: + flatted: 3.4.2 + keyv: 4.5.4 + + flatted@3.4.2: {} + + fsevents@2.3.3: + optional: true + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@14.0.0: {} + + globals@16.5.0: {} + + graphemer@1.4.0: {} + + has-flag@4.0.0: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + isexe@2.0.0: {} + + jiti@2.6.1: {} + + joycon@3.1.1: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + load-tsconfig@0.2.5: {} + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lunr@2.3.9: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + markdown-it@14.1.1: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + mdurl@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.5 + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.14 + + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.0 + + mlly@1.8.2: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + object-assign@4.1.1: {} + + obug@2.1.1: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@4.0.4: {} + + pirates@4.0.7: {} + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.2 + pathe: 2.0.3 + + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.10)(yaml@2.8.3): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 2.6.1 + postcss: 8.5.10 + yaml: 2.8.3 + + postcss@8.5.10: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + readdirp@4.1.2: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + reusify@1.1.0: {} + + rollup@4.60.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.60.1 + '@rollup/rollup-android-arm64': 4.60.1 + '@rollup/rollup-darwin-arm64': 4.60.1 + '@rollup/rollup-darwin-x64': 4.60.1 + '@rollup/rollup-freebsd-arm64': 4.60.1 + '@rollup/rollup-freebsd-x64': 4.60.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.1 + '@rollup/rollup-linux-arm-musleabihf': 4.60.1 + '@rollup/rollup-linux-arm64-gnu': 4.60.1 + '@rollup/rollup-linux-arm64-musl': 4.60.1 + '@rollup/rollup-linux-loong64-gnu': 4.60.1 + '@rollup/rollup-linux-loong64-musl': 4.60.1 + '@rollup/rollup-linux-ppc64-gnu': 4.60.1 + '@rollup/rollup-linux-ppc64-musl': 4.60.1 + '@rollup/rollup-linux-riscv64-gnu': 4.60.1 + '@rollup/rollup-linux-riscv64-musl': 4.60.1 + '@rollup/rollup-linux-s390x-gnu': 4.60.1 + '@rollup/rollup-linux-x64-gnu': 4.60.1 + '@rollup/rollup-linux-x64-musl': 4.60.1 + '@rollup/rollup-openbsd-x64': 4.60.1 + '@rollup/rollup-openharmony-arm64': 4.60.1 + '@rollup/rollup-win32-arm64-msvc': 4.60.1 + '@rollup/rollup-win32-ia32-msvc': 4.60.1 + '@rollup/rollup-win32-x64-gnu': 4.60.1 + '@rollup/rollup-win32-x64-msvc': 4.60.1 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + semver@7.7.4: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + siginfo@2.0.0: {} + + source-map-js@1.2.1: {} + + source-map@0.7.6: {} + + stackback@0.0.2: {} + + std-env@4.1.0: {} + + strip-json-comments@3.1.1: {} + + sucrase@3.35.1: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + tinyglobby: 0.2.16 + ts-interface-checker: 0.1.13 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinyexec@1.1.1: {} + + tinyglobby@0.2.16: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + + tinyrainbow@3.1.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tree-kill@1.2.2: {} + + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-interface-checker@0.1.13: {} + + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.10)(typescript@5.9.3)(yaml@2.8.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.27.7) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.27.7 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.10)(yaml@2.8.3) + resolve-from: 5.0.0 + rollup: 4.60.1 + source-map: 0.7.6 + sucrase: 3.35.1 + tinyexec: 0.3.2 + tinyglobby: 0.2.16 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.10 + typescript: 5.9.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typedoc@0.28.19(typescript@5.9.3): + dependencies: + '@gerrit0/mini-shiki': 3.23.0 + lunr: 2.3.9 + markdown-it: 14.1.1 + minimatch: 10.2.5 + typescript: 5.9.3 + yaml: 2.8.3 + + typescript-eslint@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + uc.micro@2.1.0: {} + + ufo@1.6.3: {} + + undici-types@7.19.2: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3): + dependencies: + esbuild: 0.27.7 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + postcss: 8.5.10 + rollup: 4.60.1 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 25.6.0 + fsevents: 2.3.3 + jiti: 2.6.1 + yaml: 2.8.3 + + vitest@4.1.4(@types/node@25.6.0)(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3)): + dependencies: + '@vitest/expect': 4.1.4 + '@vitest/mocker': 4.1.4(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.4 + '@vitest/runner': 4.1.4 + '@vitest/snapshot': 4.1.4 + '@vitest/spy': 4.1.4 + '@vitest/utils': 4.1.4 + es-module-lexer: 2.0.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.1.1 + tinyglobby: 0.2.16 + tinyrainbow: 3.1.0 + vite: 7.3.2(@types/node@25.6.0)(jiti@2.6.1)(yaml@2.8.3) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.6.0 + transitivePeerDependencies: + - msw + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + yaml@2.8.3: {} + + yocto-queue@0.1.0: {} diff --git a/src/barcodeParser.ts b/src/barcodeParser.ts index 9059ab4..b1df17b 100644 --- a/src/barcodeParser.ts +++ b/src/barcodeParser.ts @@ -94,23 +94,23 @@ function parseNextElement(codestring: string, parserOptions: ParserOptions): Par return parseVariableLength("10", "BATCH/LOT", codestring, fncChar, lotLen ?? 20); case "1": // Production Date (YYMMDD) - return parseDate("11", "PROD DATE", codestring, parserOptions.utcTimestamps); + return parseDate("11", "PROD DATE", codestring, parserOptions.utcTimestamps, fncChar); case "2": // Due Date (YYMMDD) - return parseDate("12", "DUE DATE", codestring, parserOptions.utcTimestamps); + return parseDate("12", "DUE DATE", codestring, parserOptions.utcTimestamps, fncChar); case "3": // Packaging Date (YYMMDD) - return parseDate("13", "PACK DATE", codestring, parserOptions.utcTimestamps); + return parseDate("13", "PACK DATE", codestring, parserOptions.utcTimestamps, fncChar); // AI "14" isn't defined case "5": // Best Before Date (YYMMDD) - return parseDate("15", "BEST BEFORE or BEST BY", codestring, parserOptions.utcTimestamps); + return parseDate("15", "BEST BEFORE or BEST BY", codestring, parserOptions.utcTimestamps, fncChar); case "6": // Sell By Date (YYMMDD) - return parseDate("16", "SELL BY", codestring, parserOptions.utcTimestamps); + return parseDate("16", "SELL BY", codestring, parserOptions.utcTimestamps, fncChar); case "7": // Expiration Date (YYMMDD) - return parseDate("17", "USE BY OR EXPIRY", codestring, parserOptions.utcTimestamps); + return parseDate("17", "USE BY OR EXPIRY", codestring, parserOptions.utcTimestamps, fncChar); default: throw new InvalidAiError("1", secondNumber); } @@ -611,7 +611,7 @@ function parseNextElement(codestring: string, parserOptions: ParserOptions): Par return parseDatetime("4325", "NAFT DEL DT", codestring, parserOptions.utcTimestamps, fncChar); case "6": // Release date - return parseDate("4326", "REL DATE", codestring, parserOptions.utcTimestamps); + return parseDate("4326", "REL DATE", codestring, parserOptions.utcTimestamps, fncChar); default: throw new InvalidAiError("432", fourthNumber); } @@ -666,7 +666,7 @@ function parseNextElement(codestring: string, parserOptions: ParserOptions): Par return parseVariableLength("7005", "CATCH AREA", codestring, fncChar, 12); case "6": // First freeze date - return parseDate("7006", "FIRST FREEZE DATE", codestring, parserOptions.utcTimestamps); + return parseDate("7006", "FIRST FREEZE DATE", codestring, parserOptions.utcTimestamps, fncChar); case "7": // Harvest date // FIXME: actually a double date (start date - end date) @@ -1115,7 +1115,14 @@ function parseBarcode(barcode: string, parserOptions: ParserOptions): BarcodeAns answer.parsedCodeItems.push(currentElement.element); answer.denormalized += "(" + currentElement.element.ai + ")" + currentElement.element.dataString; } catch (e) { - if (e instanceof InternalError) { + if (parserOptions.ignoreInvalidFields) { + const pos = restOfBarcode.indexOf(parserOptions.fncChar!); + if (pos == -1) { + restOfBarcode = ''; // finish + } else { + restOfBarcode = restOfBarcode.slice(Math.max(1, pos)); // we have to step at least 1 + } + } else if (e instanceof InternalError) { handleInternalError(e); } else { throw e; diff --git a/src/parsers.ts b/src/parsers.ts index 63ae020..e4473dd 100644 --- a/src/parsers.ts +++ b/src/parsers.ts @@ -41,13 +41,18 @@ export function parseFloatingPoint( * @param {String} codeString the codeString to parse the date from * @param {Boolean} utc whether to parse the date as UTC or local time */ -export function parseDate(ai: string, title: string, codeString: string, utc: boolean): ParseResult { +export function parseDate(ai: string, title: string, codeString: string, utc: boolean, fncChar: string): ParseResult { let elementToReturn = new ParsedElementClass(ai, title, ElementType.Date); const offSet = ai.length; let dataString: string = ''; try { const dateYYMMDD = codeString.slice(offSet, offSet + 6); - dataString = dateYYMMDD; + const posOfFNC = fncChar ? codeString.indexOf(fncChar, offSet) : offSet + 6; + if (posOfFNC == -1) { + dataString = codeString.slice(offSet); + } else { + dataString = codeString.slice(offSet, posOfFNC); + } if (utc) { elementToReturn.data.setUTCHours(0, 0, 0, 0); @@ -129,7 +134,7 @@ export function parseDate(ai: string, title: string, codeString: string, utc: bo } elementToReturn.dataString = dataString; - return { element: elementToReturn, codestring: codeString.slice(offSet + 6, codeString.length) }; + return { element: elementToReturn, codestring: codeString.slice(offSet + dataString.length) }; } /** @@ -138,18 +143,18 @@ export function parseDate(ai: string, title: string, codeString: string, utc: bo * JS-date into the "data"-part. * @param {String} ai the AI to use for the ParsedElement * @param {String} title the title to use for the ParsedElement - * @param {String} codestring the codestring to parse the date from + * @param {String} codeString the codestring to parse the date from * @param {Boolean} utc whether to parse the date as UTC or local time */ -export function parseDatetime(ai: string, title: string, codestring: string, utc: boolean, fncChar: string): ParseResult { +export function parseDatetime(ai: string, title: string, codeString: string, utc: boolean, fncChar: string): ParseResult { let elementToReturn = new ParsedElementClass(ai, title, ElementType.Date); const offSet = ai.length; - const posOfFNC = codestring.indexOf(fncChar); + const posOfFNC = codeString.indexOf(fncChar); let dateYYMMDD = ""; if (posOfFNC === -1) { - dateYYMMDD = codestring.slice(offSet, codestring.length); + dateYYMMDD = codeString.slice(offSet, codeString.length); } else { - dateYYMMDD = codestring.slice(offSet, posOfFNC); + dateYYMMDD = codeString.slice(offSet, posOfFNC); } try { if (dateYYMMDD.length !== 10) { @@ -241,7 +246,7 @@ export function parseDatetime(ai: string, title: string, codestring: string, utc elementToReturn = new ParsedElementClass(ai, title, ElementType.Error, error as Error); } elementToReturn.dataString = dateYYMMDD; - return { element: elementToReturn, codestring: codestring.slice(offSet + 10, codestring.length) }; + return { element: elementToReturn, codestring: codeString.slice(offSet + 10, codeString.length) }; } /** diff --git a/src/types.ts b/src/types.ts index bb10749..100b2dc 100644 --- a/src/types.ts +++ b/src/types.ts @@ -43,4 +43,9 @@ export interface ParserOptions { * If true, date fields are returned as UTC timestamps instead of local dates */ utcTimestamps?: boolean; + + /** + * Silently skip fields with invalid AI (only useful when fncChar is used as separator) + */ + ignoreInvalidFields?: boolean; } diff --git a/test/dateParsing.ts b/test/dateParsing.ts index 545342b..43e112d 100644 --- a/test/dateParsing.ts +++ b/test/dateParsing.ts @@ -80,6 +80,7 @@ describe("GS1 Date Parsing - Edge Cases", () => { // Invalid month/day combinations where day != 00 "221431", // month 14 + "1234567", // too long ]; for (const dateValue of invalidDates) { @@ -94,18 +95,18 @@ describe("GS1 Date Parsing - Edge Cases", () => { } } - // special cases - const invalidDates2 = [ - "1234567", // too long - ]; - for (const dateValue of invalidDates2) { - for (const ai of DATE_AIS) { - it(`should be invalid GS1 date AI ${ai}: "${dateValue}"`, () => { - const barcode = VALID_GTIN + ai + dateValue; - expect(() => parser.decode(barcode)).toThrow(); - }); - } - } + // // special cases + // const invalidDates2 = [ + // "1234567", // too long + // ]; + // for (const dateValue of invalidDates2) { + // for (const ai of DATE_AIS) { + // it(`should be invalid GS1 date AI ${ai}: "${dateValue}"`, () => { + // const barcode = VALID_GTIN + ai + dateValue; + // expect(() => parser.decode(barcode)).toThrow(); + // }); + // } + // } // // AMBIGUOUS EDGE CASES