{"version":3,"file":"glycans.umd.js","sources":["../lib/sugars.js","../node_modules/openchemlib-utils/lib/util/applyFragmentLabels.js","../node_modules/atom-sorter/lib/src/index.js","../node_modules/papaparse/papaparse.min.js","../lib/parseIupacCondensed/furanoseHexose.js","../lib/parseIupacCondensed/furanosePentose.js","../lib/parseIupacCondensed/pyranoseHexose.js","../lib/parseIupacCondensed/labelUnitAtoms.js","../lib/parseIupacCondensed/parseIupacCondensed.js","../lib/parseIupacCondensed/getMoleculeFromIupacCondensed.js"],"sourcesContent":["export const sugars = [\n    {\n        abbreviation: '4eLeg',\n        shortName: '4-epi-Legionaminic acid',\n        iupacCondensed: 'b-4eLeg-onic',\n        smiles: 'C[C@H]([C@H]([C@H]1[C@@H]([C@@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PeJJSd@',\n    },\n    {\n        abbreviation: '6dAlt',\n        shortName: '6-Deoxy-L-altrose',\n        iupacCondensed: '6-deoxy-Alt',\n        smiles: 'C[C@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQDj`h@',\n    },\n    {\n        abbreviation: '6dAltNAc',\n        shortName: 'N-Acetyl-6-deoxy-L-altrosamine',\n        iupacCondensed: '6-deoxy-AltNAc',\n        smiles: 'C[C@H]1[C@@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFbkT@',\n    },\n    {\n        abbreviation: '6dGul',\n        shortName: '6-Deoxy-D-gulose',\n        iupacCondensed: '6-deoxy-Gul',\n        smiles: 'C[C@@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbRDj`p@',\n    },\n    {\n        abbreviation: '6dTal',\n        shortName: '6-Deoxy-D-talose',\n        iupacCondensed: '6-deoxy-Tal',\n        smiles: 'C[C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbREJ`h@',\n    },\n    {\n        abbreviation: '6dTalNAc',\n        shortName: 'N-Acetyl-6-deoxy-D-talosamine',\n        iupacCondensed: '6-deoxy-TalNAc',\n        smiles: 'C[C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQDfbkX@',\n    },\n    {\n        abbreviation: '8eAci',\n        shortName: '8-epi-Acinetaminic acid',\n        iupacCondensed: '3,9-deoxy-D-gro-a-L-altNon2ulo5N7N-onic',\n        smiles: 'C[C@H]([C@@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJcd@',\n    },\n    {\n        abbreviation: '8eLeg',\n        shortName: '8-epi-Legionaminic acid',\n        iupacCondensed: '3,9-deoxy-L-gro-b-D-galNon2ulo5N7N-onic',\n        smiles: 'C[C@@H]([C@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJSh@',\n    },\n    {\n        abbreviation: 'Abe',\n        shortName: 'Abequose',\n        iupacCondensed: 'Abe',\n        smiles: 'C[C@@H]1[C@@H](C[C@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlRDj`@',\n    },\n    {\n        abbreviation: 'Aci',\n        shortName: 'Acinetaminic acid',\n        iupacCondensed: 'a-Aci-onic',\n        smiles: 'C[C@@H]([C@@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJch@',\n    },\n    {\n        abbreviation: 'All',\n        shortName: 'D-Allose',\n        iupacCondensed: 'All',\n        smiles: 'C([C@@H]1[C@H]([C@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRiC@@',\n    },\n    {\n        abbreviation: 'AllA',\n        shortName: 'D-Alluronic acid',\n        iupacCondensed: 'AllA',\n        smiles: '[C@H]1([C@@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUARp@',\n    },\n    {\n        abbreviation: 'AllN',\n        shortName: 'D-Allosamine',\n        iupacCondensed: 'AllN',\n        smiles: 'C([C@@H]1[C@H]([C@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRiC@@',\n    },\n    {\n        abbreviation: 'AllNAc',\n        shortName: 'N-Acetyl-D-allosamine',\n        iupacCondensed: 'AllNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhrV[@@',\n    },\n    {\n        abbreviation: 'Alt',\n        shortName: 'L-Altrose',\n        iupacCondensed: 'Alt',\n        smiles: 'C([C@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIDRjB`@',\n    },\n    {\n        abbreviation: 'AltA',\n        shortName: 'L-Altruronic acid',\n        iupacCondensed: 'AltA',\n        smiles: '[C@@H]1([C@H]([C@@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbqTabp@',\n    },\n    {\n        abbreviation: 'AltN',\n        shortName: 'L-Altrosamine',\n        iupacCondensed: 'AltN',\n        smiles: 'C([C@H]1[C@@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIDRjB`@',\n    },\n    {\n        abbreviation: 'AltNAc',\n        shortName: 'N-Acetyl-L-altrosamine',\n        iupacCondensed: 'AltNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@H]([C@@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtUZ`@',\n    },\n    {\n        abbreviation: 'Api',\n        shortName: 'L-Apiose',\n        iupacCondensed: '(3R,4R)-4-(hydroxymethyl)oxolane-2,3,4-triol',\n        smiles: 'C1[C@@]([C@H](C(O1)O)O)(CO)O',\n        idCode: 'deTJ@@qngIEEeBUUUUREJP@',\n    },\n    {\n        abbreviation: 'Ara',\n        shortName: 'L-Arabinose',\n        iupacCondensed: 'Ara',\n        smiles: 'C1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeTy@@',\n    },\n    {\n        abbreviation: 'Bac',\n        shortName: 'Bacillosamine',\n        iupacCondensed: 'Bac',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)N',\n        idCode: 'dmuL@NdLWIEEMDZFjjjbRDjPh@',\n    },\n    {\n        abbreviation: 'Col',\n        shortName: 'Colitose',\n        iupacCondensed: 'Col',\n        smiles: 'C[C@H]1[C@H](C[C@@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlQEJP@',\n    },\n    {\n        abbreviation: 'DDmanHep',\n        shortName: 'D-glycero-D-manno-Heptose',\n        iupacCondensed: 'DDManHep',\n        smiles: 'C([C@H]([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O)O',\n        idCode: String.raw `dg\\N@@siT{rQQSQJXtMUUUUTdJTfPh@`,\n    },\n    {\n        abbreviation: 'Dha',\n        shortName: '3-Deoxy-D-lyxo-heptulosaric acid',\n        iupacCondensed: '(4R,5R,6S)-2,4,5-trihydroxyoxane-2,6-dicarboxylic acid',\n        smiles: 'C1[C@H]([C@H]([C@H](OC1(C(=O)O)O)C(=O)O)O)O',\n        idCode: 'do|A@@Pjt{]IngYYEVjjjZlyBe`@',\n    },\n    {\n        abbreviation: 'Dig',\n        shortName: 'D-Digitoxose',\n        iupacCondensed: 'Dig',\n        smiles: 'C[C@@H]1[C@H]([C@H](CC(O1)O)O)O',\n        idCode: 'deTB@@pYRf[^njjjlRTn`@',\n    },\n    {\n        abbreviation: 'Fru',\n        shortName: 'D-Fructose',\n        iupacCondensed: 'Fru',\n        smiles: 'C1[C@H]([C@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphrF@@',\n    },\n    {\n        abbreviation: 'Fuc',\n        shortName: 'L-Fucose',\n        iupacCondensed: 'Fuc',\n        smiles: 'C[C@H]1[C@H]([C@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQEJPp@',\n    },\n    {\n        abbreviation: 'FucNAc',\n        shortName: 'N-Acetyl-L-fucosamine',\n        iupacCondensed: 'FucNAc',\n        smiles: 'C[C@H]1[C@H]([C@H]([C@@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQDfRsT@',\n    },\n    {\n        abbreviation: 'Gal',\n        shortName: 'D-Galactose',\n        iupacCondensed: 'Gal',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRjB`@',\n    },\n    {\n        abbreviation: 'GalA',\n        shortName: 'D-Galacturonic acid',\n        iupacCondensed: 'GalA',\n        smiles: '[C@@H]1([C@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTabp@',\n    },\n    {\n        abbreviation: 'GalN',\n        shortName: 'D-Galactosamine',\n        iupacCondensed: 'GalN',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRjB`@',\n    },\n    {\n        abbreviation: 'GalNAc',\n        shortName: 'N-Acetyl-D-galactosamine',\n        iupacCondensed: 'GalNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtU[@@',\n    },\n    {\n        abbreviation: 'Glc',\n        shortName: 'D-Glucose',\n        iupacCondensed: 'Glc',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRiB`@',\n    },\n    {\n        abbreviation: 'GlcA',\n        shortName: 'D-Glucuronic acid',\n        iupacCondensed: 'GlcA',\n        smiles: '[C@@H]1([C@@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUAbp@',\n    },\n    {\n        abbreviation: 'GlcN',\n        shortName: 'D-Glucosamine',\n        iupacCondensed: 'GlcN',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRiB`@',\n    },\n    {\n        abbreviation: 'GlcNAc',\n        shortName: 'N-Acetyl-D-glucosamine',\n        iupacCondensed: 'GlcNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtV[@@',\n    },\n    {\n        abbreviation: 'Gul',\n        shortName: 'D-Gulose',\n        iupacCondensed: 'Gul',\n        smiles: 'C([C@@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRjC@@',\n    },\n    {\n        abbreviation: 'GulA',\n        shortName: 'D-Guluronic acid',\n        iupacCondensed: 'GulA',\n        smiles: '[C@H]1([C@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTaRp@',\n    },\n    {\n        abbreviation: 'GulN',\n        shortName: 'D-Gulosamine',\n        iupacCondensed: 'GulN',\n        smiles: 'C([C@@H]1[C@@H]([C@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRjC@@',\n    },\n    {\n        abbreviation: 'GulNAc',\n        shortName: 'N-Acetyl-D-gulosamine',\n        iupacCondensed: 'GulNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhrU[@@',\n    },\n    {\n        abbreviation: 'Ido',\n        shortName: 'L-Idose',\n        iupacCondensed: 'Ido',\n        smiles: 'C([C@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIDRiB`@',\n    },\n    {\n        abbreviation: 'IdoA',\n        shortName: 'L-Iduronic acid',\n        iupacCondensed: 'IdoA',\n        smiles: '[C@@H]1([C@@H]([C@@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbqUAbp@',\n    },\n    {\n        abbreviation: 'IdoN',\n        shortName: 'L-Idosamine',\n        iupacCondensed: 'IdoN',\n        smiles: 'C([C@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIDRiB`@',\n    },\n    {\n        abbreviation: 'IdoNAc',\n        shortName: 'N-Acetyl-L-idosamine',\n        iupacCondensed: 'IdoNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@@H]([C@@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtVZ`@',\n    },\n    {\n        abbreviation: 'Kdn',\n        shortName: '2-Keto-3-deoxy-nononic acid',\n        iupacCondensed: 'Kdn',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)O)O',\n        idCode: 'fdiAH@@HISQk^cdTtbrbRefEIjjjjjjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Kdo',\n        shortName: '3-Deoxy-D-manno-octulosonic acid',\n        iupacCondensed: 'Kdo',\n        smiles: 'C1[C@H]([C@H]([C@H](OC1(C(=O)O)O)[C@@H](CO)O)O)O',\n        idCode: 'f`a@H@@HISQk^rJZQYQIRbduUUUUDyAJTT`@',\n    },\n    {\n        abbreviation: 'Leg',\n        shortName: 'Legionaminic acid',\n        iupacCondensed: 'b-Leg-onic',\n        smiles: 'C[C@H]([C@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJSd@',\n    },\n    {\n        abbreviation: 'LDmanHep',\n        shortName: 'L-glycero-D-manno-Heptose',\n        iupacCondensed: 'LDManHep',\n        smiles: 'C([C@@H]([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O)O',\n        idCode: 'dg\\\\N@@siT{rQQSQJXtMUUUUTdJTf`h@',\n    },\n    {\n        abbreviation: 'Lyx',\n        shortName: 'D-Lyxose',\n        iupacCondensed: 'Lyx',\n        smiles: 'C1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpiRy@@',\n    },\n    {\n        abbreviation: 'Man',\n        shortName: 'D-Mannose',\n        iupacCondensed: 'Man',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHTiB`@',\n    },\n    {\n        abbreviation: 'ManA',\n        shortName: 'D-Mannuronic acid',\n        iupacCondensed: 'ManA',\n        smiles: '[C@@H]1([C@@H]([C@H](OC([C@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUAbh@',\n    },\n    {\n        abbreviation: 'ManN',\n        shortName: 'D-Mannosamine',\n        iupacCondensed: 'ManN',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHTiB`@',\n    },\n    {\n        abbreviation: 'ManNAc',\n        shortName: 'N-Acetyl-D-mannosamine',\n        iupacCondensed: 'ManNAc',\n        smiles: 'CC(=O)N[C@H]1[C@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHdtV[@@',\n    },\n    {\n        abbreviation: 'Mur',\n        shortName: 'Muramic acid',\n        iupacCondensed: 'Mur',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1N)O)CO)O',\n        idCode: 'fhqap@M@PRUoAR[gf[oMYjjjjjjXSIqBbd@',\n    },\n    {\n        abbreviation: 'MurNAc',\n        shortName: 'N-Acetylmuramic acid',\n        iupacCondensed: 'MurNAc',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1NC(=O)C)O)CO)O',\n        idCode: 'fbe`H@M@PRU`qRdwOLwKlZsUUUUUMTpfSbEEH@',\n    },\n    {\n        abbreviation: 'MurNGc',\n        shortName: 'N-Glycolylmuramic acid',\n        iupacCondensed: 'MurNGc',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1NC(=O)CO)O)CO)O',\n        idCode: 'fjuaH@M@PRU`qRWHihmEEMDliSVZjjjjijiaLgDJJP@',\n    },\n    {\n        abbreviation: 'Neu',\n        shortName: 'Neuraminic acid',\n        iupacCondensed: 'Neu',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)N)O',\n        idCode: 'fdi`H@C@PRfk^cdTtbrbRefEIjjjjjjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Neu5Ac',\n        shortName: 'N-Acetylneuraminic acid',\n        iupacCondensed: 'NeuAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H](CC(O[C@H]1[C@@H]([C@@H](CO)O)O)(C(=O)O)O)O',\n        idCode: 'fjuaH@C@PRfkARUIngYV~[EIjjjjjfjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Neu5Gc',\n        shortName: 'N-Glycolylneuraminic acid',\n        iupacCondensed: 'NeuGc',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)NC(=O)CO)O',\n        idCode: 'ffm`h@C@PRfkARVjS]Nrm|wbduUUUUSUTxaRTTgH@',\n    },\n    {\n        abbreviation: 'Oli',\n        shortName: 'Olivose',\n        iupacCondensed: 'Oli',\n        smiles: 'C[C@@H]1[C@H]([C@@H](CC(O1)O)O)O',\n        idCode: 'deTB@@pYRf[^njjjlRTnP@',\n    },\n    {\n        abbreviation: 'Par',\n        shortName: 'Paratose',\n        iupacCondensed: 'Par',\n        smiles: 'C[C@@H]1[C@H](C[C@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlRDjP@',\n    },\n    {\n        abbreviation: 'Pse',\n        shortName: 'Pseudaminic acid',\n        iupacCondensed: 'a-Pse-onic',\n        smiles: 'C[C@@H]([C@@H]([C@H]1[C@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiIJch@',\n    },\n    {\n        abbreviation: 'Psi',\n        shortName: 'D-Psicose',\n        iupacCondensed: 'Psi',\n        smiles: 'C1[C@H]([C@H]([C@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjpdrF@@',\n    },\n    {\n        abbreviation: 'Qui',\n        shortName: 'D-Quinovose',\n        iupacCondensed: 'Qui',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbRDjPh@',\n    },\n    {\n        abbreviation: 'QuiNAc',\n        shortName: 'N-Acetyl-D-quinovosamine',\n        iupacCondensed: 'QuiNAc',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFbsX@',\n    },\n    {\n        abbreviation: 'Rha',\n        shortName: 'L-Rhamnose',\n        iupacCondensed: 'Rha',\n        smiles: 'C[C@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQDj`p@',\n    },\n    {\n        abbreviation: 'RhaNAc',\n        shortName: 'N-Acetyl-L-rhamnosamine',\n        iupacCondensed: 'RhaNAc',\n        smiles: 'C[C@H]1[C@@H]([C@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFRkT@',\n    },\n    {\n        abbreviation: 'Rib',\n        shortName: 'D-Ribose',\n        iupacCondensed: 'Rib',\n        smiles: 'C1[C@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeRz@@',\n    },\n    {\n        abbreviation: 'Sor',\n        shortName: 'L-Sorbose',\n        iupacCondensed: 'Sor',\n        smiles: 'C1[C@@H]([C@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphtF@@',\n    },\n    {\n        abbreviation: 'Tag',\n        shortName: 'D-Tagatose',\n        iupacCondensed: 'Tag',\n        smiles: 'C1[C@H]([C@@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphrE@@',\n    },\n    {\n        abbreviation: 'Tal',\n        shortName: 'D-Talose',\n        iupacCondensed: 'Tal',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHTjB`@',\n    },\n    {\n        abbreviation: 'TalA',\n        shortName: 'D-Taluronic acid',\n        iupacCondensed: 'TalA',\n        smiles: '[C@@H]1([C@H]([C@H](OC([C@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTabh@',\n    },\n    {\n        abbreviation: 'TalN',\n        shortName: 'D-Talosamine',\n        iupacCondensed: 'TalN',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHTjB`@',\n    },\n    {\n        abbreviation: 'TalNAc',\n        shortName: 'N-Acetyl-D-talosamine',\n        iupacCondensed: 'TalNAc',\n        smiles: 'CC(=O)N[C@H]1[C@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHdtU[@@',\n    },\n    {\n        abbreviation: 'Tyv',\n        shortName: 'Tyvelose',\n        iupacCondensed: 'Tyv',\n        smiles: 'C[C@@H]1[C@H](C[C@@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlREJP@',\n    },\n    {\n        abbreviation: 'Xyl',\n        shortName: 'D-Xylose',\n        iupacCondensed: 'Xyl',\n        smiles: 'C1[C@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeRy@@',\n    },\n];\nexport const iupacCondensedObject = {};\nfor (const sugar of sugars) {\n    iupacCondensedObject[sugar.iupacCondensed] = sugar;\n}\n//# sourceMappingURL=sugars.js.map","/**\n * Applies fragment labels from a fragment molecule to a target molecule. This method is in\n * place and modifies the target molecule directly.\n *\n * The OpenChemLib library is recovered from the molecule itself via\n * `molecule.getOCL()`, so this package never imports `openchemlib` at\n * runtime (avoids version conflicts and keeps it out of consumer bundles).\n * @param molecule - The target molecule to which fragment labels will be applied.\n * @param fragment - The fragment molecule containing the labels to apply.\n * @param options\n * @returns The number of matches found\n */\nexport function applyFragmentLabels(molecule, fragment, options = {}) {\n    const { algorithm = 'overlapping', prefix = '', suffix = '' } = options;\n    const OCL = molecule.getOCL();\n    const sssearcher = new OCL.SSSearcher();\n    sssearcher.setMolecule(molecule);\n    sssearcher.setFragment(fragment);\n    const found = sssearcher.findFragmentInMolecule({ countMode: algorithm });\n    const matches = sssearcher.getMatchList();\n    for (const match of matches) {\n        for (let fragmentAtomIndex = 0; fragmentAtomIndex < match.length; fragmentAtomIndex++) {\n            const moleculeAtomIndex = match[fragmentAtomIndex];\n            const label = fragment.getAtomCustomLabel(fragmentAtomIndex);\n            if (label) {\n                molecule.setAtomCustomLabel(moleculeAtomIndex, prefix + label + suffix);\n            }\n        }\n    }\n    return found;\n}\n//# sourceMappingURL=applyFragmentLabels.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.atomSorter = atomSorter;\n/**\n * Implementation of the Hill system for sorting atoms\n * https://en.wikipedia.org/wiki/Chemical_formula#Hill_system\n * @param a - first atom to compare\n * @param b - second atom to compare\n * @returns A value suitable for use in Array.prototype.sort.\n */\nfunction atomSorter(a, b) {\n    if (a === b)\n        return 0;\n    if (a === 'C')\n        return -1;\n    if (b === 'C')\n        return 1;\n    if (a === 'H')\n        return -1;\n    if (b === 'H')\n        return 1;\n    if (a < b)\n        return -1;\n    return 1;\n}\n//# sourceMappingURL=index.js.map","/* @license\nPapa Parse\nv5.5.3\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<i){let e=this._config.newline;e||(r=this._config.quoteChar||'\"',e=this._handle.guessLineEndings(t,r)),t=[...t.split(e).slice(i)].join(e)}this.isFirstChunk&&U(this._config.beforeFirstChunk)&&void 0!==(r=this._config.beforeFirstChunk(t))&&(t=r),this.isFirstChunk=!1,this._halted=!1;var i=this._partialLine+t,r=(this._partialLine=\"\",this._handle.parse(i,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){t=r.meta.cursor,i=(this._finished||(this._partialLine=i.substring(t-this._baseIndex),this._baseIndex=t),r&&r.data&&(this._rowCount+=r.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(U(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!U(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){U(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,t=(this._config.chunkSize&&(t=Math.min(this._start+this._config.chunkSize,this._input.size),e=r.call(e,this._start,t)),i.readAsText(e,this._config.encoding));n||this._chunkLoaded({target:{result:t}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e<p.data.length;e++)p.data[e].forEach(t);p.data.splice(0,1)}else p.data.forEach(t);function t(e,t){U(m.transformHeader)&&(e=m.transformHeader(e,t)),c.push(e)}}function i(e,t){for(var i=m.header?{}:[],r=0;r<e.length;r++){var n=r,s=e[r],s=((e,t)=>(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h<e&&e<o)return 1}})(t)?parseFloat(t):d.test(t)?new Date(t):\"\"===t?null:t):t)(n=m.header?r>=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):r<c.length&&k(\"FieldMismatch\",\"TooFewFields\",\"Too few fields: expected \"+c.length+\" fields but parsed \"+r,f+t)),i}var r;p&&(m.header||m.dynamicTyping||m.transform)&&(r=1,!p.data.length||Array.isArray(p.data[0])?(p.data=p.data.map(i),r=p.data.length):p.data=i(p.data,0),m.header&&p.meta&&(p.meta.fields=c),f+=r)}function _(){return m.header&&0===c.length}function k(e,t,i,r){e={type:e,code:t,message:i};void 0!==r&&(e.row=r),p.errors.push(e)}U(m.step)&&(t=m.step,m.step=function(e){p=e,_()?g():(g(),0!==p.data.length&&(r+=e.data.length,m.preview&&r>m.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?U(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u<n.length;u++){for(var d,f=n[u],l=0,c=0,p=0,g=(o=void 0,new E({comments:r,delimiter:f,newline:t,preview:10}).parse(e)),_=0;_<g.data.length;_++)i&&y(g.data[_])?p++:(d=g.data[_].length,c+=d,void 0===o?o=d:0<d&&(l+=Math.abs(d-o),o=d));0<g.data.length&&(c/=g.data.length-p),(void 0===a||l<=a)&&(void 0===h||h<c)&&1.99<c&&(a=l,s=f,h=c)}return{successful:!!(m.delimiter=s),bestDelimiter:s}})(e,m.newline,m.skipEmptyLines,m.comments,m.delimitersToGuess)).successful?m.delimiter=r.bestDelimiter:(a=!0,m.delimiter=v.DefaultDelimiter),p.meta.delimiter=m.delimiter),b(m));return m.preview&&m.header&&r.preview++,n=e,s=new E(r),p=s.parse(n,t,i),g(),l?{meta:{paused:!0}}:p||{meta:{paused:!1}}},this.paused=function(){return l},this.pause=function(){l=!0,s.abort(),n=U(m.chunk)?\"\":n.substring(s.getCharIndex())},this.resume=function(){i.streamer._halted?(l=!1,i.streamer.parseChunk(n,!0)):setTimeout(i.resume,3)},this.aborted=function(){return e},this.abort=function(){e=!0,s.abort(),p.meta.aborted=!0,U(m.complete)&&m.complete(p),n=\"\"},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=new RegExp(P(t)+\"([^]*?)\"+P(t),\"gm\"),i=(e=e.replace(t,\"\")).split(\"\\r\"),t=e.split(\"\\n\"),e=1<t.length&&t[0].length<i[0].length;if(1===i.length||e)return\"\\n\";for(var r=0,n=0;n<i.length;n++)\"\\n\"===i[n][0]&&r++;return r>=i.length/2?\"\\r\\n\":\"\\r\"}}function P(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1<v.BAD_DELIMITERS.indexOf(S))&&(S=\",\"),x===S)throw new Error(\"Comment character same as delimiter\");!0===x?x=\"#\":(\"string\"!=typeof x||-1<v.BAD_DELIMITERS.indexOf(x))&&(x=!1),\"\\n\"!==O&&\"\\r\"!==O&&\"\\r\\n\"!==O&&(O=\"\\n\");var z=0,M=!1;this.parse=function(i,t,r){if(\"string\"!=typeof i)throw new Error(\"Input must be a string\");var n=i.length,e=S.length,s=O.length,a=x.length,o=U(I),h=[],u=[],d=[],f=z=0;if(!i)return w();if(T||!1!==T&&-1===i.indexOf(F)){for(var l=i.split(O),c=0;c<l.length;c++){if(d=l[c],z+=d.length,c!==l.length-1)z+=O.length;else if(r)return w();if(!x||d.substring(0,a)!==x){if(o){if(h=[],k(d.split(S)),R(),M)return w()}else k(d.split(S));if(A&&A<=c)return h=h.slice(0,A),w(!0)}}return w()}for(var p=i.indexOf(S,z),g=i.indexOf(O,z),_=new RegExp(P(j)+P(F),\"g\"),m=i.indexOf(F,z);;)if(i[z]===F)for(m=z,z++;;){if(-1===(m=i.indexOf(F,m+1)))return r||u.push({type:\"Quotes\",code:\"MissingQuotes\",message:\"Quoted field unterminated\",row:h.length,index:z}),E();if(m===n-1)return E(i.substring(z,m).replace(_,F));if(F===j&&i[m+1]===j)m++;else if(F===j||0===m||i[m-1]!==j){-1!==p&&p<m+1&&(p=i.indexOf(S,m+1));var y=v(-1===(g=-1!==g&&g<m+1?i.indexOf(O,m+1):g)?p:Math.min(p,g));if(i.substr(m+1+y,e)===S){d.push(i.substring(z,m).replace(_,F)),i[z=m+1+y+e]!==F&&(m=i.indexOf(F,z)),p=i.indexOf(S,z),g=i.indexOf(O,z);break}y=v(g);if(i.substring(m+1+y,m+1+y+s)===O){if(d.push(i.substring(z,m).replace(_,F)),b(m+1+y+s),p=i.indexOf(S,z),m=i.indexOf(F,z),o&&(R(),M))return w();if(A&&h.length>=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p<g||-1===g))d.push(i.substring(z,p)),z=p+e,p=i.indexOf(S,z);else{if(-1===g)break;if(d.push(i.substring(z,g)),b(g+s),o&&(R(),M))return w();if(A&&h.length>=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r<s.length;r++){let i=s[r];if(a[i=U(C.transformHeader)?C.transformHeader(i,r):i]){let e,t=a[i];for(;e=i+\"_\"+t,t++,o.has(e););o.add(e),s[r]=e,a[i]++,n=!0,(D=null===D?{}:D)[e]=i}else a[i]=1,s[r]=i;o.add(i)}n&&console.warn(\"Duplicate headers found and renamed.\"),L=!0}return{data:h,errors:u,meta:{delimiter:S,linebreak:O,aborted:M,truncated:!!e,cursor:f+(t||0),renamedHeaders:D}}}function R(){I(w()),h=[],u=[]}},this.abort=function(){M=!0},this.getCharIndex=function(){return z}}function g(e){var t=e.data,i=o[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){r=!0,_(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:m,resume:m};if(U(i.userStep)){for(var s=0;s<t.results.data.length&&(i.userStep({data:t.results.data[s],errors:t.results.errors,meta:t.results.meta},n),!r);s++);delete t.results}else U(i.userChunk)&&(i.userChunk(t.results,n,t.file),delete t.results)}t.finished&&!r&&_(t.workerId,t.results)}function _(e,t){var i=o[e];U(i.userComplete)&&i.userComplete(t),i.terminate(),delete o[e]}function m(){throw new Error(\"Not implemented.\")}function b(e){if(\"object\"!=typeof e||null===e)return e;var t,i=Array.isArray(e)?[]:{};for(t in e)i[t]=b(e[t]);return i}function y(e,t){return function(){e.apply(t,arguments)}}function U(e){return\"function\"==typeof e}return v.parse=function(e,t){var i=(t=t||{}).dynamicTyping||!1;U(i)&&(t.dynamicTypingFunction=i,i={});if(t.dynamicTyping=i,t.transform=!!U(t.transform)&&t.transform,!t.worker||!v.WORKERS_SUPPORTED)return i=null,v.NODE_STREAM_INPUT,\"string\"==typeof e?(e=(e=>65279!==e.charCodeAt(0)?e:e.slice(1))(e),i=new(t.download?f:c)(t)):!0===e.readable&&U(e.read)&&U(e.on)?i=new p(t):(n.File&&e instanceof File||e instanceof Object)&&(i=new l(t)),i.stream(e);(i=(()=>{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=U(t.step),t.chunk=U(t.chunk),t.complete=U(t.complete),t.error=U(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var n=!1,_=!0,m=\",\",y=\"\\r\\n\",s='\"',a=s+s,i=!1,r=null,o=!1,h=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(n=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(s=t.quoteChar),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(a=t.escapeChar+s),t.escapeFormulae instanceof RegExp?o=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(o=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(P(s),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return u(null,e,i);if(\"object\"==typeof e[0])return u(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),u(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function u(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),s=!Array.isArray(t[0]);if(n&&_){for(var a=0;a<e.length;a++)0<a&&(r+=m),r+=k(e[a],a);0<t.length&&(r+=y)}for(var o=0;o<t.length;o++){var h=(n?e:t[o]).length,u=!1,d=n?0===Object.keys(t[o]).length:0===t[o].length;if(i&&!n&&(u=\"greedy\"===i?\"\"===t[o].join(\"\").trim():1===t[o].length&&0===t[o][0].length),\"greedy\"===i&&n){for(var f=[],l=0;l<h;l++){var c=s?e[l]:l;f.push(t[o][c])}u=\"\"===f.join(\"\").trim()}if(!u){for(var p=0;p<h;p++){0<p&&!d&&(r+=m);var g=n&&s?e[p]:p;r+=k(t[o][g],p)}o<t.length-1&&(!i||0<h&&!d)&&(r+=y)}}return r}function k(e,t){var i,r;return null==e?\"\":e.constructor===Date?JSON.stringify(e).slice(1,25):(r=!1,o&&\"string\"==typeof e&&o.test(e)&&(e=\"'\"+e,r=!0),i=e.toString().replace(h,a),(r=r||!0===n||\"function\"==typeof n&&n(e,t)||Array.isArray(n)&&n[t]||((e,t)=>{for(var i=0;i<t.length;i++)if(-1<e.indexOf(t[i]))return!0;return!1})(i,v.BAD_DELIMITERS)||-1<i.indexOf(m)||\" \"===i.charAt(0)||\" \"===i.charAt(i.length-1))?s+i+s:i)}},v.RECORD_SEP=String.fromCharCode(30),v.UNIT_SEP=String.fromCharCode(31),v.BYTE_ORDER_MARK=\"\\ufeff\",v.BAD_DELIMITERS=[\"\\r\",\"\\n\",'\"',v.BYTE_ORDER_MARK],v.WORKERS_SUPPORTED=!s&&!!n.Worker,v.NODE_STREAM_INPUT=1,v.LocalChunkSize=10485760,v.RemoteChunkSize=5242880,v.DefaultDelimiter=\",\",v.Parser=E,v.ParserHandle=i,v.NetworkStreamer=f,v.FileStreamer=l,v.StringStreamer=c,v.ReadableStreamStreamer=p,n.jQuery&&((d=n.jQuery).fn.parse=function(o){var i=o.config||{},h=[];return this.each(function(e){if(!(\"INPUT\"===d(this).prop(\"tagName\").toUpperCase()&&\"file\"===d(this).attr(\"type\").toLowerCase()&&n.FileReader)||!this.files||0===this.files.length)return!0;for(var t=0;t<this.files.length;t++)h.push({file:this.files[t],inputElem:this,instanceConfig:d.extend({},i)})}),e(),this;function e(){if(0===h.length)U(o.complete)&&o.complete();else{var e,t,i,r,n=h[0];if(U(o.before)){var s=o.before(n.file,n.inputElem);if(\"object\"==typeof s){if(\"abort\"===s.action)return e=\"AbortError\",t=n.file,i=n.inputElem,r=s.reason,void(U(o.error)&&o.error({name:e},t,i,r));if(\"skip\"===s.action)return void u();\"object\"==typeof s.config&&(n.instanceConfig=d.extend(n.instanceConfig,s.config))}else if(\"skip\"===s)return void u()}var a=n.instanceConfig.complete;n.instanceConfig.complete=function(e){U(a)&&a(e,n.file,n.inputElem),u()},v.parse(n.file,n.instanceConfig)}}function u(){h.splice(0,1),e()}}),a&&(n.onmessage=function(e){e=e.data;void 0===v.WORKER_ID&&e&&(v.WORKER_ID=e.workerId);\"string\"==typeof e.input?n.postMessage({workerId:v.WORKER_ID,results:v.parse(e.input,e.config),finished:!0}):(n.File&&e.input instanceof File||e.input instanceof Object)&&(e=v.parse(e.input,e.config))&&n.postMessage({workerId:v.WORKER_ID,results:e,finished:!0})}),(f.prototype=Object.create(u.prototype)).constructor=f,(l.prototype=Object.create(u.prototype)).constructor=l,(c.prototype=Object.create(c.prototype)).constructor=c,(p.prototype=Object.create(u.prototype)).constructor=p,v});","export const furanoseHexose = `\nActelion Java MolfileCreator 1.0\n\n  8  8  0  0  0  0  0  0  0  0999 V2000\n   18.2772  -13.5216    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   18.2772  -15.0216    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   19.7037  -15.4851    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   20.5854  -14.2716    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.7037  -13.0580    0.0000 O   0  0  0  0  0  0  0  0  0  5  0  0\n   22.0855  -14.2716    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   17.0636  -12.6399    0.0000 C   0  0  0  0  0  0  0  0  0  7  0  0\n   21.2664  -15.6081    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  1  1  0  0  0  0\n  4  6  1  0  0  0  0\n  1  7  1  0  0  0  0\n  4  8  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    18.2772   13.5216    DA    ALL  1       5\nM  SED   1 5\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    18.2772   15.0216    DA    ALL  1       5\nM  SED   2 4\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    19.7037   15.4851    DA    ALL  1       5\nM  SED   3 3\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    20.5854   14.2716    DA    ALL  1       5\nM  SED   4 2\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   7\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    17.0636   12.6399    DA    ALL  1       5\nM  SED   5 6\nM  STY  1   6 DAT\nM  SLB  1   6   6\nM  SAL   6  1   8\nM  SDT   6 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   6    21.2664   15.6081    DA    ALL  1       5\nM  SED   6 1\nM  END\n`;\n//# sourceMappingURL=furanoseHexose.js.map","export const furanosePentose = `\nActelion Java MolfileCreator 1.0\n\n  7  7  0  0  0  0  0  0  0  0999 V2000\n   17.6752  -13.3126    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   17.6752  -14.8126    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   19.1017  -15.2761    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   19.9834  -14.0626    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.1017  -12.8490    0.0000 O   0  0  0  0  0  0  0  0  0  5  0  0\n   21.4834  -14.0626    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   16.4616  -12.4309    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  1  1  0  0  0  0\n  4  6  1  0  0  0  0\n  1  7  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    17.6752   13.3126    DA    ALL  1       5\nM  SED   1 4\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    17.6752   14.8126    DA    ALL  1       5\nM  SED   2 3\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    19.1017   15.2761    DA    ALL  1       5\nM  SED   3 2\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    19.9834   14.0626    DA    ALL  1       5\nM  SED   4 1\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   7\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    16.4616   12.4309    DA    ALL  1       5\nM  SED   5 5\nM  END\n`;\n//# sourceMappingURL=furanosePentose.js.map","export const pyranoseHexose = `\nActelion Java MolfileCreator 1.0\n\n  8  8  0  0  0  0  0  0  0  0999 V2000\n   17.1992  -13.3125    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   17.1992  -14.8125    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   18.4982  -15.5625    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   19.7972  -14.8125    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.7972  -13.3125    0.0000 C   0  0  0  0  0  0  0  0  0  5  0  0\n   18.4982  -12.5624    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   21.0962  -12.5624    0.0000 O   0  0  0  0  0  0  0  0  0  7  0  0\n   15.9001  -12.5625    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  6  1  0  0  0  0\n  6  1  1  0  0  0  0\n  5  7  1  0  0  0  0\n  1  8  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    17.1992   13.3125    DA    ALL  1       5\nM  SED   1 5\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    17.1992   14.8125    DA    ALL  1       5\nM  SED   2 4\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    18.4982   15.5625    DA    ALL  1       5\nM  SED   3 3\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    19.7972   14.8125    DA    ALL  1       5\nM  SED   4 2\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   5\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    19.7972   13.3125    DA    ALL  1       5\nM  SED   5 1\nM  STY  1   6 DAT\nM  SLB  1   6   6\nM  SAL   6  1   8\nM  SDT   6 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   6    15.9001   12.5625    DA    ALL  1       5\nM  SED   6 6\nM  END\n`;\n//# sourceMappingURL=pyranoseHexose.js.map","import { applyFragmentLabels } from 'openchemlib-utils';\nimport { furanoseHexose } from \"./furanoseHexose.js\";\nimport { furanosePentose } from \"./furanosePentose.js\";\nimport { pyranoseHexose } from \"./pyranoseHexose.js\";\n/**\n * Label the atoms of a single sugar unit with `<index>_<position>` custom\n * labels (e.g. `0_1`, `0_2`, ..., `0_6`) by matching the molecule against the\n * known pyranose-hexose, furanose-hexose, and furanose-pentose templates in\n * order. Mutates `molecule` in place.\n *\n * The OpenChemLib library is recovered from the molecule itself via\n * `molecule.getOCL()`, so this package never imports `openchemlib` at\n * runtime.\n * @param molecule - Sugar unit whose atoms should be labeled.\n * @param index - Zero-based index of the unit in the parent glycan, used as\n *   the label prefix so atoms across different units stay distinguishable.\n * @returns Ring size of the matched template (5 or 6) and the label of the\n *   atom whose chirality is used as reference for α/β glycosidic bonds.\n * @throws {Error} If no pentose or hexose template matches.\n */\nexport function labelUnitAtoms(molecule, index) {\n    const OCL = molecule.getOCL();\n    const furanosePentoseFragment = OCL.Molecule.fromMolfile(furanosePentose);\n    furanosePentoseFragment.setFragment(true);\n    const furanoseHexoseFragment = OCL.Molecule.fromMolfile(furanoseHexose);\n    furanoseHexoseFragment.setFragment(true);\n    const pyranoseHexoseFragment = OCL.Molecule.fromMolfile(pyranoseHexose);\n    pyranoseHexoseFragment.setFragment(true);\n    const nbPyranoseHexose = applyFragmentLabels(molecule, pyranoseHexoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbPyranoseHexose > 0) {\n        return { ringSize: 6, relativeStereoAtom: `${index}_5` };\n    }\n    const nbFurnanoseHexose = applyFragmentLabels(molecule, furanoseHexoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbFurnanoseHexose > 0) {\n        return { ringSize: 6, relativeStereoAtom: `${index}_5` };\n    }\n    const nbFuranosePentose = applyFragmentLabels(molecule, furanosePentoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbFuranosePentose > 0) {\n        return { ringSize: 5, relativeStereoAtom: `${index}_4` };\n    }\n    throw new Error(`No pentose or hexose fragment found in unit ${index} (${molecule.toIsomericSmiles()})`);\n}\n//# sourceMappingURL=labelUnitAtoms.js.map","import { iupacCondensedObject as sugarByIupacCondensed } from \"../sugars.js\";\nimport { labelUnitAtoms } from \"./labelUnitAtoms.js\";\n// Sort by length descending so longer names like \"GlcNAc\" match before \"Glc\".\nconst regex = new RegExp(`(${Object.keys(sugarByIupacCondensed)\n    .toSorted((a, b) => b.length - a.length)\n    .join('|')})`, 'g');\n/**\n * Parse an IUPAC condensed glycan string into its sugar units and the\n * glycosidic links between them. Each unit is loaded from its reference\n * SMILES and labeled by `labelUnitAtoms`; each link captures the donor and\n * acceptor unit indices, the link part as written (e.g. `(α1-3)`), and the\n * relative-stereo reference atom from the donor unit.\n * @param OCL - The OpenChemLib library, passed in by the caller so this\n *   package never imports `openchemlib` at runtime (avoids version\n *   duplication).\n * @param iupac - IUPAC condensed glycan, e.g. `Glc(α1-3)Glc(β1-4)Glc`.\n * @returns The parsed units and links, ready to be assembled into a single\n *   molecule.\n * @throws {Error} If a substring is not a known sugar unit.\n */\nexport function parseIupacCondensed(OCL, iupac) {\n    const parts = iupac.split(regex).filter(Boolean);\n    const units = [];\n    const links = [];\n    let index = 0;\n    for (const part of parts) {\n        if (part.match(/\\d-\\d/)) {\n            links.push({\n                relativeStereoFrom: units[index - 1]?.relativeStereoAtom,\n                from: index - 1,\n                to: index,\n                type: part.replace(/^\\(/, '').replace(/\\)$/, ''),\n                part,\n            });\n            continue;\n        }\n        const sugar = getSugar(part);\n        const molecule = OCL.Molecule.fromSmiles(sugar.smiles);\n        const result = {\n            id: index,\n            ...labelUnitAtoms(molecule, index),\n            ...sugar,\n            molecule,\n        };\n        index++;\n        units.push(result);\n    }\n    return { units, links };\n}\nfunction getSugar(part) {\n    const sugar = sugarByIupacCondensed[part];\n    if (!sugar) {\n        throw new Error(`Unknown sugar unit: ${part}`);\n    }\n    return sugar;\n}\n//# sourceMappingURL=parseIupacCondensed.js.map","import { parseIupacCondensed } from \"./parseIupacCondensed.js\";\n/**\n * Build an OpenChemLib `Molecule` from an IUPAC condensed glycan string.\n *\n * Each sugar unit is loaded from its SMILES, atoms are labeled with their\n * ring position, and units are then connected via α/β glycosidic bonds at\n * the positions encoded in the link parts (e.g. `(α1-3)`). The displaced\n * anomeric oxygen is removed at every junction.\n * @param OCL - The OpenChemLib library, passed in by the caller so this\n *   package never imports `openchemlib` at runtime (avoids version\n *   duplication).\n * @param iupac - IUPAC condensed glycan, e.g. `Glc(α1-3)Glc(β1-4)Glc`.\n * @returns The assembled molecule.\n */\nexport function getMoleculeFromIupacCondensed(OCL, iupac) {\n    const parsed = parseIupacCondensed(OCL, iupac);\n    const molecule = new OCL.Molecule(0, 0);\n    for (const unit of parsed.units) {\n        if (unit.molecule)\n            molecule.addMolecule(unit.molecule);\n    }\n    molecule.inventCoordinates();\n    for (const link of parsed.links) {\n        addBond(molecule, link, OCL);\n    }\n    molecule.ensureHelperArrays(OCL.Molecule.cHelperAll);\n    molecule.inventCoordinates();\n    return molecule;\n}\nfunction addBond(molecule, link, OCL) {\n    const parts = link.type.match(/([^\\d]+)([0-9]+-[0-9]+)$/)?.slice(1);\n    if (!parts)\n        throw new Error(`Invalid link type: ${link.type}`);\n    const [rawType, positions] = parts;\n    if (!positions) {\n        throw new Error(`Invalid link type format: ${link.type}`);\n    }\n    const [fromPos, toPos] = positions.split('-');\n    const from = `${String(link.from)}_${fromPos ?? ''}`;\n    const to = `${String(link.to)}_${toPos ?? ''}`;\n    const type = ['alpha', '⍺', 'α'].includes(rawType ?? '') ? 'alpha' : 'beta';\n    const atom1 = findAtomByLabel(molecule, from);\n    const linkedOxygen1 = getLinkedOxygenAtom(molecule, atom1);\n    const atom2 = findAtomByLabel(molecule, to);\n    const linkedOxygen2 = getLinkedOxygenAtom(molecule, atom2);\n    if (!link.relativeStereoFrom)\n        throw new Error('Missing relativeStereoFrom');\n    const relativeStereoFromAtom = findAtomByLabel(molecule, link.relativeStereoFrom);\n    const relativeChirality = getChiralBondKind(molecule, relativeStereoFromAtom, OCL);\n    const bond = molecule.addBond(atom1, linkedOxygen2);\n    if (type === 'alpha') {\n        molecule.setBondType(bond, OCL.Molecule.cBondTypeSingle |\n            (relativeChirality === OCL.Molecule.cBondTypeUp\n                ? OCL.Molecule.cBondTypeDown\n                : OCL.Molecule.cBondTypeUp));\n    }\n    else {\n        molecule.setBondType(bond, OCL.Molecule.cBondTypeSingle | relativeChirality);\n    }\n    molecule.deleteAtom(linkedOxygen1);\n}\nfunction getChiralBondKind(molecule, atom, OCL) {\n    const nbConnected = molecule.getAllConnAtoms(atom);\n    for (let i = 0; i < nbConnected; i++) {\n        const connectedAtom = molecule.getConnAtom(atom, i);\n        const bond = molecule.getBond(atom, connectedAtom);\n        const bondType = molecule.getBondType(bond);\n        if ((bondType & OCL.Molecule.cBondTypeUp) === OCL.Molecule.cBondTypeUp) {\n            return bondType & OCL.Molecule.cBondTypeUp;\n        }\n        if ((bondType & OCL.Molecule.cBondTypeDown) ===\n            OCL.Molecule.cBondTypeDown) {\n            return bondType & OCL.Molecule.cBondTypeDown;\n        }\n    }\n    throw new Error(`No chiral bond found for atom ${atom}`);\n}\nfunction getLinkedOxygenAtom(molecule, atom) {\n    const nbConnected = molecule.getAllConnAtoms(atom);\n    for (let i = 0; i < nbConnected; i++) {\n        const connectedAtom = molecule.getConnAtom(atom, i);\n        if (molecule.getAtomicNo(connectedAtom) === 8 &&\n            molecule.getAllHydrogens(connectedAtom) === 1) {\n            return connectedAtom;\n        }\n    }\n    throw new Error(`No oxygen atom linked to atom ${atom}`);\n}\nfunction findAtomByLabel(molecule, label) {\n    const nbAtoms = molecule.getAllAtoms();\n    for (let i = 0; i < nbAtoms; i++) {\n        const atomLabel = molecule.getAtomCustomLabel(i);\n        if (atomLabel === label) {\n            return i;\n        }\n    }\n    throw new Error(`Atom with label ${label} not found`);\n}\n//# sourceMappingURL=getMoleculeFromIupacCondensed.js.map"],"names":["sugars","abbreviation","shortName","iupacCondensed","smiles","idCode","String","raw","iupacCondensedObject","sugar","applyFragmentLabels","molecule","fragment","options","algorithm","prefix","suffix","OCL","getOCL","sssearcher","SSSearcher","setMolecule","setFragment","found","findFragmentInMolecule","countMode","matches","getMatchList","match","fragmentAtomIndex","length","moleculeAtomIndex","label","getAtomCustomLabel","setAtomCustomLabel","atomSorter","a","b","e","t","module","exports","this","r","n","self","window","d","s","document","postMessage","IS_PAPA_WORKER","o","h","v","u","_handle","_finished","_completed","_halted","_input","_baseIndex","_partialLine","_rowCount","_start","_nextChunk","isFirstChunk","_completeResults","data","errors","meta","chunkSize","parseInt","step","chunk","i","streamer","_config","call","parseChunk","skipFirstNLines","newline","quoteChar","guessLineEndings","split","slice","join","U","beforeFirstChunk","parse","paused","aborted","cursor","substring","preview","results","workerId","WORKER_ID","finished","concat","complete","_sendError","error","f","RemoteChunkSize","_readChunk","_chunkLoaded","stream","XMLHttpRequest","withCredentials","onload","y","onerror","_chunkError","open","downloadRequestBody","downloadRequestHeaders","setRequestHeader","send","message","status","readyState","responseText","getResponseHeader","lastIndexOf","statusText","Error","l","LocalChunkSize","FileReader","webkitSlice","mozSlice","FileReaderSync","Math","min","size","readAsText","encoding","target","result","c","p","pause","prototype","apply","arguments","resume","on","_streamData","_streamEnd","_streamError","_checkIsFinished","shift","push","toString","_streamCleanUp","removeListener","m","pow","skipEmptyLines","trim","g","k","DefaultDelimiter","filter","_","Array","isArray","forEach","splice","transformHeader","header","dynamicTypingFunction","dynamicTyping","test","parseFloat","Date","transform","map","fields","type","code","row","abort","delimiter","RECORD_SEP","UNIT_SEP","E","comments","abs","successful","bestDelimiter","delimitersToGuess","getCharIndex","setTimeout","RegExp","P","replace","C","S","O","x","I","A","T","fastMode","D","L","F","j","escapeChar","BAD_DELIMITERS","indexOf","z","M","w","R","index","substr","Object","create","Set","has","add","console","warn","linebreak","truncated","renamedHeaders","userError","file","userStep","userChunk","userComplete","terminate","worker","WORKERS_SUPPORTED","NODE_STREAM_INPUT","charCodeAt","download","readable","read","File","URL","webkitURL","BLOB_URL","createObjectURL","Blob","Worker","onmessage","id","input","config","unparse","quotes","columns","escapeFormulae","JSON","keys","constructor","stringify","charAt","fromCharCode","BYTE_ORDER_MARK","Parser","ParserHandle","NetworkStreamer","FileStreamer","StringStreamer","ReadableStreamStreamer","jQuery","fn","each","prop","toUpperCase","attr","toLowerCase","files","inputElem","instanceConfig","extend","before","action","reason","name","furanoseHexose","furanosePentose","pyranoseHexose","labelUnitAtoms","furanosePentoseFragment","Molecule","fromMolfile","furanoseHexoseFragment","pyranoseHexoseFragment","nbPyranoseHexose","ringSize","relativeStereoAtom","nbFurnanoseHexose","nbFuranosePentose","toIsomericSmiles","regex","sugarByIupacCondensed","toSorted","parseIupacCondensed","iupac","parts","Boolean","units","links","part","relativeStereoFrom","from","to","getSugar","fromSmiles","getMoleculeFromIupacCondensed","parsed","unit","addMolecule","inventCoordinates","link","addBond","ensureHelperArrays","cHelperAll","rawType","positions","fromPos","toPos","includes","atom1","findAtomByLabel","linkedOxygen1","getLinkedOxygenAtom","atom2","linkedOxygen2","relativeStereoFromAtom","relativeChirality","getChiralBondKind","bond","setBondType","cBondTypeSingle","cBondTypeUp","cBondTypeDown","deleteAtom","atom","nbConnected","getAllConnAtoms","connectedAtom","getConnAtom","getBond","bondType","getBondType","getAtomicNo","getAllHydrogens","nbAtoms","getAllAtoms","atomLabel"],"mappings":"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","x_google_ignoreList":[1,2,3]}