@d3plus/text 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d3plus-text.full.js","sources":["../src/fontFamily.js","../src/stringify.js","../src/strip.js","../src/combiningMarks.js","../../../node_modules/d3-array/src/merge.js","../src/textSplit.js","../../dom/es/src/textWidth.js","../src/trim.js","../src/textWrap.js","../src/titleCase.js"],"sourcesContent":["/**\n @const fontFamily\n @desc The default fallback font list used for all text labels as an Array of Strings.\n @returns {Array<string>}\n*/\nexport const fontFamily = [\"Inter\", \"Helvetica Neue\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", \"sans-serif\"];\n\n/**\n @const fontFamilyStringify\n @desc Converts an Array of font-family names into a CSS font-family string.\n @param {String|Array<string>} *family*\n @returns {String}\n*/\nexport const fontFamilyStringify = family => \n (typeof family === \"string\" ? [family] : family)\n .map(d => d.match(/^[a-z-_]{1,}$/) ? d : `'${d}'`)\n .join(\", \");","/**\n @function stringify\n @desc Coerces value into a String.\n @param {String} value\n*/\nexport default function(value) {\n if (value === void 0) value = \"undefined\";\n else if (!(typeof value === \"string\" || value instanceof String)) value = JSON.stringify(value);\n return value;\n}\n","// great unicode list: http://asecuritysite.com/coding/asc2\n\nconst diacritics = [\n [/[\\300-\\305]/g, \"A\"], [/[\\340-\\345]/g, \"a\"],\n [/[\\306]/g, \"AE\"], [/[\\346]/g, \"ae\"],\n [/[\\337]/g, \"B\"],\n [/[\\307]/g, \"C\"], [/[\\347]/g, \"c\"],\n [/[\\320\\336\\376]/g, \"D\"], [/[\\360]/g, \"d\"],\n [/[\\310-\\313]/g, \"E\"], [/[\\350-\\353]/g, \"e\"],\n [/[\\314-\\317]/g, \"I\"], [/[\\354-\\357]/g, \"i\"],\n [/[\\321]/g, \"N\"], [/[\\361]/g, \"n\"],\n [/[\\u014c\\322-\\326\\330]/g, \"O\"], [/[\\u014d\\362-\\366\\370]/g, \"o\"],\n [/[\\u016a\\331-\\334]/g, \"U\"], [/[\\u016b\\371-\\374]/g, \"u\"],\n [/[\\327]/g, \"x\"],\n [/[\\335]/g, \"Y\"], [/[\\375\\377]/g, \"y\"]\n];\n\n/**\n @function strip\n @desc Removes all non ASCII characters from a string.\n @param {String} value\n @param {String} [spacer = \"-\"]\n*/\nexport default function(value, spacer = \"-\") {\n\n return `${value}`.replace(/[^A-Za-z0-9\\-_\\u0621-\\u064A]/g, char => {\n\n if (char === \" \") return spacer;\n\n let ret = false;\n for (let d = 0; d < diacritics.length; d++) {\n if (new RegExp(diacritics[d][0]).test(char)) {\n ret = diacritics[d][1];\n break;\n }\n }\n\n return ret || \"\";\n\n });\n}\n","// scraped from http://www.fileformat.info/info/unicode/category/Mc/list.htm\n// and http://www.fileformat.info/info/unicode/category/Mn/list.htm\n// JSON.stringify([].slice.call(document.getElementsByClassName(\"table-list\")[0].getElementsByTagName(\"tr\")).filter(function(d){ return d.getElementsByTagName(\"a\").length && d.getElementsByTagName(\"a\")[0].innerHTML.length === 6; }).map(function(d){ return d.getElementsByTagName(\"a\")[0].innerHTML.replace(\"U\", \"u\").replace(\"+\", \"\"); }).sort());\n// The following unicode characters combine to form new characters and should never be split from surrounding characters.\nconst a = [\"u0903\", \"u093B\", \"u093E\", \"u093F\", \"u0940\", \"u0949\", \"u094A\", \"u094B\", \"u094C\", \"u094E\", \"u094F\", \"u0982\", \"u0983\", \"u09BE\", \"u09BF\", \"u09C0\", \"u09C7\", \"u09C8\", \"u09CB\", \"u09CC\", \"u09D7\", \"u0A03\", \"u0A3E\", \"u0A3F\", \"u0A40\", \"u0A83\", \"u0ABE\", \"u0ABF\", \"u0AC0\", \"u0AC9\", \"u0ACB\", \"u0ACC\", \"u0B02\", \"u0B03\", \"u0B3E\", \"u0B40\", \"u0B47\", \"u0B48\", \"u0B4B\", \"u0B4C\", \"u0B57\", \"u0BBE\", \"u0BBF\", \"u0BC1\", \"u0BC2\", \"u0BC6\", \"u0BC7\", \"u0BC8\", \"u0BCA\", \"u0BCB\", \"u0BCC\", \"u0BD7\", \"u0C01\", \"u0C02\", \"u0C03\", \"u0C41\", \"u0C42\", \"u0C43\", \"u0C44\", \"u0C82\", \"u0C83\", \"u0CBE\", \"u0CC0\", \"u0CC1\", \"u0CC2\", \"u0CC3\", \"u0CC4\", \"u0CC7\", \"u0CC8\", \"u0CCA\", \"u0CCB\", \"u0CD5\", \"u0CD6\", \"u0D02\", \"u0D03\", \"u0D3E\", \"u0D3F\", \"u0D40\", \"u0D46\", \"u0D47\", \"u0D48\", \"u0D4A\", \"u0D4B\", \"u0D4C\", \"u0D57\", \"u0D82\", \"u0D83\", \"u0DCF\", \"u0DD0\", \"u0DD1\", \"u0DD8\", \"u0DD9\", \"u0DDA\", \"u0DDB\", \"u0DDC\", \"u0DDD\", \"u0DDE\", \"u0DDF\", \"u0DF2\", \"u0DF3\", \"u0F3E\", \"u0F3F\", \"u0F7F\", \"u102B\", \"u102C\", \"u1031\", \"u1038\", \"u103B\", \"u103C\", \"u1056\", \"u1057\", \"u1062\", \"u1063\", \"u1064\", \"u1067\", \"u1068\", \"u1069\", \"u106A\", \"u106B\", \"u106C\", \"u106D\", \"u1083\", \"u1084\", \"u1087\", \"u1088\", \"u1089\", \"u108A\", \"u108B\", \"u108C\", \"u108F\", \"u109A\", \"u109B\", \"u109C\", \"u17B6\", \"u17BE\", \"u17BF\", \"u17C0\", \"u17C1\", \"u17C2\", \"u17C3\", \"u17C4\", \"u17C5\", \"u17C7\", \"u17C8\", \"u1923\", \"u1924\", \"u1925\", \"u1926\", \"u1929\", \"u192A\", \"u192B\", \"u1930\", \"u1931\", \"u1933\", \"u1934\", \"u1935\", \"u1936\", \"u1937\", \"u1938\", \"u1A19\", \"u1A1A\", \"u1A55\", \"u1A57\", \"u1A61\", \"u1A63\", \"u1A64\", \"u1A6D\", \"u1A6E\", \"u1A6F\", \"u1A70\", \"u1A71\", \"u1A72\", \"u1B04\", \"u1B35\", \"u1B3B\", \"u1B3D\", \"u1B3E\", \"u1B3F\", \"u1B40\", \"u1B41\", \"u1B43\", \"u1B44\", \"u1B82\", \"u1BA1\", \"u1BA6\", \"u1BA7\", \"u1BAA\", \"u1BE7\", \"u1BEA\", \"u1BEB\", \"u1BEC\", \"u1BEE\", \"u1BF2\", \"u1BF3\", \"u1C24\", \"u1C25\", \"u1C26\", \"u1C27\", \"u1C28\", \"u1C29\", \"u1C2A\", \"u1C2B\", \"u1C34\", \"u1C35\", \"u1CE1\", \"u1CF2\", \"u1CF3\", \"u302E\", \"u302F\", \"uA823\", \"uA824\", \"uA827\", \"uA880\", \"uA881\", \"uA8B4\", \"uA8B5\", \"uA8B6\", \"uA8B7\", \"uA8B8\", \"uA8B9\", \"uA8BA\", \"uA8BB\", \"uA8BC\", \"uA8BD\", \"uA8BE\", \"uA8BF\", \"uA8C0\", \"uA8C1\", \"uA8C2\", \"uA8C3\", \"uA952\", \"uA953\", \"uA983\", \"uA9B4\", \"uA9B5\", \"uA9BA\", \"uA9BB\", \"uA9BD\", \"uA9BE\", \"uA9BF\", \"uA9C0\", \"uAA2F\", \"uAA30\", \"uAA33\", \"uAA34\", \"uAA4D\", \"uAA7B\", \"uAA7D\", \"uAAEB\", \"uAAEE\", \"uAAEF\", \"uAAF5\", \"uABE3\", \"uABE4\", \"uABE6\", \"uABE7\", \"uABE9\", \"uABEA\", \"uABEC\"];\nconst b = [\"u0300\", \"u0301\", \"u0302\", \"u0303\", \"u0304\", \"u0305\", \"u0306\", \"u0307\", \"u0308\", \"u0309\", \"u030A\", \"u030B\", \"u030C\", \"u030D\", \"u030E\", \"u030F\", \"u0310\", \"u0311\", \"u0312\", \"u0313\", \"u0314\", \"u0315\", \"u0316\", \"u0317\", \"u0318\", \"u0319\", \"u031A\", \"u031B\", \"u031C\", \"u031D\", \"u031E\", \"u031F\", \"u0320\", \"u0321\", \"u0322\", \"u0323\", \"u0324\", \"u0325\", \"u0326\", \"u0327\", \"u0328\", \"u0329\", \"u032A\", \"u032B\", \"u032C\", \"u032D\", \"u032E\", \"u032F\", \"u0330\", \"u0331\", \"u0332\", \"u0333\", \"u0334\", \"u0335\", \"u0336\", \"u0337\", \"u0338\", \"u0339\", \"u033A\", \"u033B\", \"u033C\", \"u033D\", \"u033E\", \"u033F\", \"u0340\", \"u0341\", \"u0342\", \"u0343\", \"u0344\", \"u0345\", \"u0346\", \"u0347\", \"u0348\", \"u0349\", \"u034A\", \"u034B\", \"u034C\", \"u034D\", \"u034E\", \"u034F\", \"u0350\", \"u0351\", \"u0352\", \"u0353\", \"u0354\", \"u0355\", \"u0356\", \"u0357\", \"u0358\", \"u0359\", \"u035A\", \"u035B\", \"u035C\", \"u035D\", \"u035E\", \"u035F\", \"u0360\", \"u0361\", \"u0362\", \"u0363\", \"u0364\", \"u0365\", \"u0366\", \"u0367\", \"u0368\", \"u0369\", \"u036A\", \"u036B\", \"u036C\", \"u036D\", \"u036E\", \"u036F\", \"u0483\", \"u0484\", \"u0485\", \"u0486\", \"u0487\", \"u0591\", \"u0592\", \"u0593\", \"u0594\", \"u0595\", \"u0596\", \"u0597\", \"u0598\", \"u0599\", \"u059A\", \"u059B\", \"u059C\", \"u059D\", \"u059E\", \"u059F\", \"u05A0\", \"u05A1\", \"u05A2\", \"u05A3\", \"u05A4\", \"u05A5\", \"u05A6\", \"u05A7\", \"u05A8\", \"u05A9\", \"u05AA\", \"u05AB\", \"u05AC\", \"u05AD\", \"u05AE\", \"u05AF\", \"u05B0\", \"u05B1\", \"u05B2\", \"u05B3\", \"u05B4\", \"u05B5\", \"u05B6\", \"u05B7\", \"u05B8\", \"u05B9\", \"u05BA\", \"u05BB\", \"u05BC\", \"u05BD\", \"u05BF\", \"u05C1\", \"u05C2\", \"u05C4\", \"u05C5\", \"u05C7\", \"u0610\", \"u0611\", \"u0612\", \"u0613\", \"u0614\", \"u0615\", \"u0616\", \"u0617\", \"u0618\", \"u0619\", \"u061A\", \"u064B\", \"u064C\", \"u064D\", \"u064E\", \"u064F\", \"u0650\", \"u0651\", \"u0652\", \"u0653\", \"u0654\", \"u0655\", \"u0656\", \"u0657\", \"u0658\", \"u0659\", \"u065A\", \"u065B\", \"u065C\", \"u065D\", \"u065E\", \"u065F\", \"u0670\", \"u06D6\", \"u06D7\", \"u06D8\", \"u06D9\", \"u06DA\", \"u06DB\", \"u06DC\", \"u06DF\", \"u06E0\", \"u06E1\", \"u06E2\", \"u06E3\", \"u06E4\", \"u06E7\", \"u06E8\", \"u06EA\", \"u06EB\", \"u06EC\", \"u06ED\", \"u0711\", \"u0730\", \"u0731\", \"u0732\", \"u0733\", \"u0734\", \"u0735\", \"u0736\", \"u0737\", \"u0738\", \"u0739\", \"u073A\", \"u073B\", \"u073C\", \"u073D\", \"u073E\", \"u073F\", \"u0740\", \"u0741\", \"u0742\", \"u0743\", \"u0744\", \"u0745\", \"u0746\", \"u0747\", \"u0748\", \"u0749\", \"u074A\", \"u07A6\", \"u07A7\", \"u07A8\", \"u07A9\", \"u07AA\", \"u07AB\", \"u07AC\", \"u07AD\", \"u07AE\", \"u07AF\", \"u07B0\", \"u07EB\", \"u07EC\", \"u07ED\", \"u07EE\", \"u07EF\", \"u07F0\", \"u07F1\", \"u07F2\", \"u07F3\", \"u0816\", \"u0817\", \"u0818\", \"u0819\", \"u081B\", \"u081C\", \"u081D\", \"u081E\", \"u081F\", \"u0820\", \"u0821\", \"u0822\", \"u0823\", \"u0825\", \"u0826\", \"u0827\", \"u0829\", \"u082A\", \"u082B\", \"u082C\", \"u082D\", \"u0859\", \"u085A\", \"u085B\", \"u08E3\", \"u08E4\", \"u08E5\", \"u08E6\", \"u08E7\", \"u08E8\", \"u08E9\", \"u08EA\", \"u08EB\", \"u08EC\", \"u08ED\", \"u08EE\", \"u08EF\", \"u08F0\", \"u08F1\", \"u08F2\", \"u08F3\", \"u08F4\", \"u08F5\", \"u08F6\", \"u08F7\", \"u08F8\", \"u08F9\", \"u08FA\", \"u08FB\", \"u08FC\", \"u08FD\", \"u08FE\", \"u08FF\", \"u0900\", \"u0901\", \"u0902\", \"u093A\", \"u093C\", \"u0941\", \"u0942\", \"u0943\", \"u0944\", \"u0945\", \"u0946\", \"u0947\", \"u0948\", \"u094D\", \"u0951\", \"u0952\", \"u0953\", \"u0954\", \"u0955\", \"u0956\", \"u0957\", \"u0962\", \"u0963\", \"u0981\", \"u09BC\", \"u09C1\", \"u09C2\", \"u09C3\", \"u09C4\", \"u09CD\", \"u09E2\", \"u09E3\", \"u0A01\", \"u0A02\", \"u0A3C\", \"u0A41\", \"u0A42\", \"u0A47\", \"u0A48\", \"u0A4B\", \"u0A4C\", \"u0A4D\", \"u0A51\", \"u0A70\", \"u0A71\", \"u0A75\", \"u0A81\", \"u0A82\", \"u0ABC\", \"u0AC1\", \"u0AC2\", \"u0AC3\", \"u0AC4\", \"u0AC5\", \"u0AC7\", \"u0AC8\", \"u0ACD\", \"u0AE2\", \"u0AE3\", \"u0B01\", \"u0B3C\", \"u0B3F\", \"u0B41\", \"u0B42\", \"u0B43\", \"u0B44\", \"u0B4D\", \"u0B56\", \"u0B62\", \"u0B63\", \"u0B82\", \"u0BC0\", \"u0BCD\", \"u0C00\", \"u0C3E\", \"u0C3F\", \"u0C40\", \"u0C46\", \"u0C47\", \"u0C48\", \"u0C4A\", \"u0C4B\", \"u0C4C\", \"u0C4D\", \"u0C55\", \"u0C56\", \"u0C62\", \"u0C63\", \"u0C81\", \"u0CBC\", \"u0CBF\", \"u0CC6\", \"u0CCC\", \"u0CCD\", \"u0CE2\", \"u0CE3\", \"u0D01\", \"u0D41\", \"u0D42\", \"u0D43\", \"u0D44\", \"u0D4D\", \"u0D62\", \"u0D63\", \"u0DCA\", \"u0DD2\", \"u0DD3\", \"u0DD4\", \"u0DD6\", \"u0E31\", \"u0E34\", \"u0E35\", \"u0E36\", \"u0E37\", \"u0E38\", \"u0E39\", \"u0E3A\", \"u0E47\", \"u0E48\", \"u0E49\", \"u0E4A\", \"u0E4B\", \"u0E4C\", \"u0E4D\", \"u0E4E\", \"u0EB1\", \"u0EB4\", \"u0EB5\", \"u0EB6\", \"u0EB7\", \"u0EB8\", \"u0EB9\", \"u0EBB\", \"u0EBC\", \"u0EC8\", \"u0EC9\", \"u0ECA\", \"u0ECB\", \"u0ECC\", \"u0ECD\", \"u0F18\", \"u0F19\", \"u0F35\", \"u0F37\", \"u0F39\", \"u0F71\", \"u0F72\", \"u0F73\", \"u0F74\", \"u0F75\", \"u0F76\", \"u0F77\", \"u0F78\", \"u0F79\", \"u0F7A\", \"u0F7B\", \"u0F7C\", \"u0F7D\", \"u0F7E\", \"u0F80\", \"u0F81\", \"u0F82\", \"u0F83\", \"u0F84\", \"u0F86\", \"u0F87\", \"u0F8D\", \"u0F8E\", \"u0F8F\", \"u0F90\", \"u0F91\", \"u0F92\", \"u0F93\", \"u0F94\", \"u0F95\", \"u0F96\", \"u0F97\", \"u0F99\", \"u0F9A\", \"u0F9B\", \"u0F9C\", \"u0F9D\", \"u0F9E\", \"u0F9F\", \"u0FA0\", \"u0FA1\", \"u0FA2\", \"u0FA3\", \"u0FA4\", \"u0FA5\", \"u0FA6\", \"u0FA7\", \"u0FA8\", \"u0FA9\", \"u0FAA\", \"u0FAB\", \"u0FAC\", \"u0FAD\", \"u0FAE\", \"u0FAF\", \"u0FB0\", \"u0FB1\", \"u0FB2\", \"u0FB3\", \"u0FB4\", \"u0FB5\", \"u0FB6\", \"u0FB7\", \"u0FB8\", \"u0FB9\", \"u0FBA\", \"u0FBB\", \"u0FBC\", \"u0FC6\", \"u102D\", \"u102E\", \"u102F\", \"u1030\", \"u1032\", \"u1033\", \"u1034\", \"u1035\", \"u1036\", \"u1037\", \"u1039\", \"u103A\", \"u103D\", \"u103E\", \"u1058\", \"u1059\", \"u105E\", \"u105F\", \"u1060\", \"u1071\", \"u1072\", \"u1073\", \"u1074\", \"u1082\", \"u1085\", \"u1086\", \"u108D\", \"u109D\", \"u135D\", \"u135E\", \"u135F\", \"u1712\", \"u1713\", \"u1714\", \"u1732\", \"u1733\", \"u1734\", \"u1752\", \"u1753\", \"u1772\", \"u1773\", \"u17B4\", \"u17B5\", \"u17B7\", \"u17B8\", \"u17B9\", \"u17BA\", \"u17BB\", \"u17BC\", \"u17BD\", \"u17C6\", \"u17C9\", \"u17CA\", \"u17CB\", \"u17CC\", \"u17CD\", \"u17CE\", \"u17CF\", \"u17D0\", \"u17D1\", \"u17D2\", \"u17D3\", \"u17DD\", \"u180B\", \"u180C\", \"u180D\", \"u18A9\", \"u1920\", \"u1921\", \"u1922\", \"u1927\", \"u1928\", \"u1932\", \"u1939\", \"u193A\", \"u193B\", \"u1A17\", \"u1A18\", \"u1A1B\", \"u1A56\", \"u1A58\", \"u1A59\", \"u1A5A\", \"u1A5B\", \"u1A5C\", \"u1A5D\", \"u1A5E\", \"u1A60\", \"u1A62\", \"u1A65\", \"u1A66\", \"u1A67\", \"u1A68\", \"u1A69\", \"u1A6A\", \"u1A6B\", \"u1A6C\", \"u1A73\", \"u1A74\", \"u1A75\", \"u1A76\", \"u1A77\", \"u1A78\", \"u1A79\", \"u1A7A\", \"u1A7B\", \"u1A7C\", \"u1A7F\", \"u1AB0\", \"u1AB1\", \"u1AB2\", \"u1AB3\", \"u1AB4\", \"u1AB5\", \"u1AB6\", \"u1AB7\", \"u1AB8\", \"u1AB9\", \"u1ABA\", \"u1ABB\", \"u1ABC\", \"u1ABD\", \"u1B00\", \"u1B01\", \"u1B02\", \"u1B03\", \"u1B34\", \"u1B36\", \"u1B37\", \"u1B38\", \"u1B39\", \"u1B3A\", \"u1B3C\", \"u1B42\", \"u1B6B\", \"u1B6C\", \"u1B6D\", \"u1B6E\", \"u1B6F\", \"u1B70\", \"u1B71\", \"u1B72\", \"u1B73\", \"u1B80\", \"u1B81\", \"u1BA2\", \"u1BA3\", \"u1BA4\", \"u1BA5\", \"u1BA8\", \"u1BA9\", \"u1BAB\", \"u1BAC\", \"u1BAD\", \"u1BE6\", \"u1BE8\", \"u1BE9\", \"u1BED\", \"u1BEF\", \"u1BF0\", \"u1BF1\", \"u1C2C\", \"u1C2D\", \"u1C2E\", \"u1C2F\", \"u1C30\", \"u1C31\", \"u1C32\", \"u1C33\", \"u1C36\", \"u1C37\", \"u1CD0\", \"u1CD1\", \"u1CD2\", \"u1CD4\", \"u1CD5\", \"u1CD6\", \"u1CD7\", \"u1CD8\", \"u1CD9\", \"u1CDA\", \"u1CDB\", \"u1CDC\", \"u1CDD\", \"u1CDE\", \"u1CDF\", \"u1CE0\", \"u1CE2\", \"u1CE3\", \"u1CE4\", \"u1CE5\", \"u1CE6\", \"u1CE7\", \"u1CE8\", \"u1CED\", \"u1CF4\", \"u1CF8\", \"u1CF9\", \"u1DC0\", \"u1DC1\", \"u1DC2\", \"u1DC3\", \"u1DC4\", \"u1DC5\", \"u1DC6\", \"u1DC7\", \"u1DC8\", \"u1DC9\", \"u1DCA\", \"u1DCB\", \"u1DCC\", \"u1DCD\", \"u1DCE\", \"u1DCF\", \"u1DD0\", \"u1DD1\", \"u1DD2\", \"u1DD3\", \"u1DD4\", \"u1DD5\", \"u1DD6\", \"u1DD7\", \"u1DD8\", \"u1DD9\", \"u1DDA\", \"u1DDB\", \"u1DDC\", \"u1DDD\", \"u1DDE\", \"u1DDF\", \"u1DE0\", \"u1DE1\", \"u1DE2\", \"u1DE3\", \"u1DE4\", \"u1DE5\", \"u1DE6\", \"u1DE7\", \"u1DE8\", \"u1DE9\", \"u1DEA\", \"u1DEB\", \"u1DEC\", \"u1DED\", \"u1DEE\", \"u1DEF\", \"u1DF0\", \"u1DF1\", \"u1DF2\", \"u1DF3\", \"u1DF4\", \"u1DF5\", \"u1DFC\", \"u1DFD\", \"u1DFE\", \"u1DFF\", \"u20D0\", \"u20D1\", \"u20D2\", \"u20D3\", \"u20D4\", \"u20D5\", \"u20D6\", \"u20D7\", \"u20D8\", \"u20D9\", \"u20DA\", \"u20DB\", \"u20DC\", \"u20E1\", \"u20E5\", \"u20E6\", \"u20E7\", \"u20E8\", \"u20E9\", \"u20EA\", \"u20EB\", \"u20EC\", \"u20ED\", \"u20EE\", \"u20EF\", \"u20F0\", \"u2CEF\", \"u2CF0\", \"u2CF1\", \"u2D7F\", \"u2DE0\", \"u2DE1\", \"u2DE2\", \"u2DE3\", \"u2DE4\", \"u2DE5\", \"u2DE6\", \"u2DE7\", \"u2DE8\", \"u2DE9\", \"u2DEA\", \"u2DEB\", \"u2DEC\", \"u2DED\", \"u2DEE\", \"u2DEF\", \"u2DF0\", \"u2DF1\", \"u2DF2\", \"u2DF3\", \"u2DF4\", \"u2DF5\", \"u2DF6\", \"u2DF7\", \"u2DF8\", \"u2DF9\", \"u2DFA\", \"u2DFB\", \"u2DFC\", \"u2DFD\", \"u2DFE\", \"u2DFF\", \"u302A\", \"u302B\", \"u302C\", \"u302D\", \"u3099\", \"u309A\", \"uA66F\", \"uA674\", \"uA675\", \"uA676\", \"uA677\", \"uA678\", \"uA679\", \"uA67A\", \"uA67B\", \"uA67C\", \"uA67D\", \"uA69E\", \"uA69F\", \"uA6F0\", \"uA6F1\", \"uA802\", \"uA806\", \"uA80B\", \"uA825\", \"uA826\", \"uA8C4\", \"uA8E0\", \"uA8E1\", \"uA8E2\", \"uA8E3\", \"uA8E4\", \"uA8E5\", \"uA8E6\", \"uA8E7\", \"uA8E8\", \"uA8E9\", \"uA8EA\", \"uA8EB\", \"uA8EC\", \"uA8ED\", \"uA8EE\", \"uA8EF\", \"uA8F0\", \"uA8F1\", \"uA926\", \"uA927\", \"uA928\", \"uA929\", \"uA92A\", \"uA92B\", \"uA92C\", \"uA92D\", \"uA947\", \"uA948\", \"uA949\", \"uA94A\", \"uA94B\", \"uA94C\", \"uA94D\", \"uA94E\", \"uA94F\", \"uA950\", \"uA951\", \"uA980\", \"uA981\", \"uA982\", \"uA9B3\", \"uA9B6\", \"uA9B7\", \"uA9B8\", \"uA9B9\", \"uA9BC\", \"uA9E5\", \"uAA29\", \"uAA2A\", \"uAA2B\", \"uAA2C\", \"uAA2D\", \"uAA2E\", \"uAA31\", \"uAA32\", \"uAA35\", \"uAA36\", \"uAA43\", \"uAA4C\", \"uAA7C\", \"uAAB0\", \"uAAB2\", \"uAAB3\", \"uAAB4\", \"uAAB7\", \"uAAB8\", \"uAABE\", \"uAABF\", \"uAAC1\", \"uAAEC\", \"uAAED\", \"uAAF6\", \"uABE5\", \"uABE8\", \"uABED\", \"uFB1E\", \"uFE00\", \"uFE01\", \"uFE02\", \"uFE03\", \"uFE04\", \"uFE05\", \"uFE06\", \"uFE07\", \"uFE08\", \"uFE09\", \"uFE0A\", \"uFE0B\", \"uFE0C\", \"uFE0D\", \"uFE0E\", \"uFE0F\", \"uFE20\", \"uFE21\", \"uFE22\", \"uFE23\", \"uFE24\", \"uFE25\", \"uFE26\", \"uFE27\", \"uFE28\", \"uFE29\", \"uFE2A\", \"uFE2B\", \"uFE2C\", \"uFE2D\", \"uFE2E\", \"uFE2F\"];\nexport default a.concat(b);\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","import {default as stringify} from \"./stringify.js\";\nimport {default as combiningMarks} from \"./combiningMarks.js\";\nimport {merge} from \"d3-array\";\n\nconst splitChars = [\"-\", \";\", \":\", \"&\", \"|\",\n \"u0E2F\", // thai character pairannoi\n \"u0EAF\", // lao ellipsis\n \"u0EC6\", // lao ko la (word repetition)\n \"u0ECC\", // lao cancellation mark\n \"u104A\", // myanmar sign little section\n \"u104B\", // myanmar sign section\n \"u104C\", // myanmar symbol locative\n \"u104D\", // myanmar symbol completed\n \"u104E\", // myanmar symbol aforementioned\n \"u104F\", // myanmar symbol genitive\n \"u2013\", // en dash\n \"u2014\", // em dash\n \"u2027\", // simplified chinese hyphenation point\n \"u3000\", // simplified chinese ideographic space\n \"u3001\", // simplified chinese ideographic comma\n \"u3002\", // simplified chinese ideographic full stop\n \"uFF0C\", // full-width comma\n \"uFF5E\" // wave dash\n];\n\nconst prefixChars = [\"'\", \"<\", \"(\", \"{\", \"[\",\n \"u00AB\", // left-pointing double angle quotation mark\n \"u300A\", // left double angle bracket\n \"u3008\" // left angle bracket\n];\n\nconst suffixChars = [\"'\", \">\", \")\", \"}\", \"]\", \".\", \"!\", \"?\", \"/\",\n \"u00BB\", // right-pointing double angle quotation mark\n \"u300B\", // right double angle bracket\n \"u3009\" // right angle bracket\n].concat(splitChars);\n\nconst burmeseRange = \"\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\";\nconst japaneseRange = \"\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff0b\\uff0d-\\uff5d\\uff5f-\\uff9f\\u3400-\\u4dbf\";\nconst chineseRange = \"\\u3400-\\u9FBF\";\nconst laoRange = \"\\u0E81-\\u0EAE\\u0EB0-\\u0EC4\\u0EC8-\\u0ECB\\u0ECD-\\u0EDD\";\n\nconst noSpaceRange = burmeseRange + chineseRange + japaneseRange + laoRange;\n\n\nconst splitWords = new RegExp(`(\\\\${splitChars.join(\"|\\\\\")})*[^\\\\s|\\\\${splitChars.join(\"|\\\\\")}]*(\\\\${splitChars.join(\"|\\\\\")})*`, \"g\");\n\nconst noSpaceLanguage = new RegExp(`[${noSpaceRange}]`);\nconst splitAllChars = new RegExp(`(\\\\${prefixChars.join(\"|\\\\\")})*[${noSpaceRange}](\\\\${suffixChars.join(\"|\\\\\")}|\\\\${combiningMarks.join(\"|\\\\\")})*|[a-z0-9]+`, \"gi\");\n\n/**\n @function textSplit\n @desc Splits a given sentence into an array of words.\n @param {String} sentence\n*/\nexport default function(sentence) {\n if (!noSpaceLanguage.test(sentence)) return stringify(sentence).match(splitWords).filter(w => w.length);\n return merge(stringify(sentence).match(splitWords).map(d => {\n if (noSpaceLanguage.test(d)) return d.match(splitAllChars);\n return [d];\n }));\n}\n\nexport {prefixChars, splitChars, splitWords, suffixChars};\n","/**\n * Strips HTML and \"un-escapes\" escape characters.\n * @param {String} input\n */ function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction htmlDecode(input) {\n if (input.replace(/\\s+/g, \"\") === \"\") return input;\n var doc = new DOMParser().parseFromString(input.replace(/<[^>]+>/g, \"\"), \"text/html\");\n return doc.documentElement ? doc.documentElement.textContent : input;\n}\n/**\n @function textWidth\n @desc Given a text string, returns the predicted pixel width of the string when placed into DOM.\n @param {String|Array} text Can be either a single string or an array of strings to analyze.\n @param {Object} [style] An object of CSS font styles to apply. Accepts any of the valid [CSS font property](http://www.w3schools.com/cssref/pr_font_font.asp) values.\n*/ export default function(text, style) {\n style = Object.assign({\n \"font-size\": 10,\n \"font-family\": \"sans-serif\",\n \"font-style\": \"normal\",\n \"font-weight\": 400,\n \"font-variant\": \"normal\"\n }, style);\n var context = document.createElement(\"canvas\").getContext(\"2d\");\n var font = [];\n font.push(style[\"font-style\"]);\n font.push(style[\"font-variant\"]);\n font.push(style[\"font-weight\"]);\n font.push(typeof style[\"font-size\"] === \"string\" ? style[\"font-size\"] : \"\".concat(style[\"font-size\"], \"px\"));\n font.push(style[\"font-family\"]);\n context.font = font.join(\" \");\n if (_instanceof(text, Array)) return text.map(function(t) {\n return context.measureText(htmlDecode(t)).width;\n });\n return context.measureText(htmlDecode(text)).width;\n}\n","/**\n @function trim\n @desc Cross-browser implementation of [trim](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim).\n @param {String} str\n*/\nfunction trim(str) {\n return str.toString().replace(/^\\s+|\\s+$/g, \"\");\n}\n\n/**\n @function trimLeft\n @desc Cross-browser implementation of [trimLeft](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft).\n @param {String} str\n*/\nfunction trimLeft(str) {\n return str.toString().replace(/^\\s+/, \"\");\n}\n\n/**\n @function trimRight\n @desc Cross-browser implementation of [trimRight](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight).\n @param {String} str\n*/\nfunction trimRight(str) {\n return str.toString().replace(/\\s+$/, \"\");\n}\n\nexport {trim, trimLeft, trimRight};\n","import {textWidth} from \"@d3plus/dom\";\n\nimport defaultSplit from \"./textSplit.js\";\nimport stringify from \"./stringify.js\";\nimport {trimRight} from \"./trim.js\";\n\n/**\n @function textWrap\n @desc Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.\n*/\nexport default function() {\n\n let fontFamily = \"sans-serif\",\n fontSize = 10,\n fontWeight = 400,\n height = 200,\n lineHeight,\n maxLines = null,\n overflow = false,\n split = defaultSplit,\n width = 200;\n\n /**\n The inner return object and wraps the text and returns the line data array.\n @private\n */\n function textWrap(sentence) {\n\n sentence = stringify(sentence);\n\n if (lineHeight === void 0) lineHeight = Math.ceil(fontSize * 1.4);\n\n const words = split(sentence);\n\n const style = {\n \"font-family\": fontFamily,\n \"font-size\": fontSize,\n \"font-weight\": fontWeight,\n \"line-height\": lineHeight\n };\n\n let line = 1,\n textProg = \"\",\n truncated = false,\n widthProg = 0;\n\n const lineData = [],\n sizes = textWidth(words, style),\n space = textWidth(\" \", style);\n\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n const wordWidth = sizes[words.indexOf(word)];\n word += sentence.slice(textProg.length + word.length).match(\"^( |\\n)*\", \"g\")[0];\n if (textProg.slice(-1) === \"\\n\" || widthProg + wordWidth > width) {\n if (!i && !overflow) {\n truncated = true;\n break;\n }\n if (lineData.length >= line) lineData[line - 1] = trimRight(lineData[line - 1]);\n line++;\n if (lineHeight * line > height || wordWidth > width && !overflow || maxLines && line > maxLines) {\n truncated = true;\n break;\n }\n widthProg = 0;\n lineData.push(word);\n }\n else if (!i) lineData[0] = word;\n else lineData[line - 1] += word;\n textProg += word;\n widthProg += wordWidth;\n widthProg += word.match(/[\\s]*$/g)[0].length * space;\n }\n\n return {\n lines: lineData,\n sentence, truncated,\n widths: textWidth(lineData, style),\n words\n };\n\n }\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family.\n @param {Function|String} [*value* = \"sans-serif\"]\n */\n textWrap.fontFamily = function(_) {\n return arguments.length ? (fontFamily = _, textWrap) : fontFamily;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size.\n @param {Function|Number} [*value* = 10]\n */\n textWrap.fontSize = function(_) {\n return arguments.length ? (fontSize = _, textWrap) : fontSize;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight.\n @param {Function|Number|String} [*value* = 400]\n */\n textWrap.fontWeight = function(_) {\n return arguments.length ? (fontWeight = _, textWrap) : fontWeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets height limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.height = function(_) {\n return arguments.length ? (height = _, textWrap) : height;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textWrap.fontSize) by default.\n @param {Function|Number} [*value*]\n */\n textWrap.lineHeight = function(_) {\n return arguments.length ? (lineHeight = _, textWrap) : lineHeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the maximum number of lines allowed when wrapping.\n @param {Function|Number} [*value*]\n */\n textWrap.maxLines = function(_) {\n return arguments.length ? (maxLines = _, textWrap) : maxLines;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the overflow to the specified boolean and returns this generator. If *value* is not specified, returns the current overflow value.\n @param {Boolean} [*value* = false]\n */\n textWrap.overflow = function(_) {\n return arguments.length ? (overflow = _, textWrap) : overflow;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.\n @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to textWrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`\n */\n textWrap.split = function(_) {\n return arguments.length ? (split = _, textWrap) : split;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets width limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.width = function(_) {\n return arguments.length ? (width = _, textWrap) : width;\n };\n\n return textWrap;\n\n}\n","import {suffixChars, default as textSplit} from \"./textSplit.js\";\n\nconst lowercase = [\"a\", \"an\", \"and\", \"as\", \"at\", \"but\", \"by\", \"for\", \"from\", \"if\", \"in\", \"into\", \"near\", \"nor\", \"of\", \"on\", \"onto\", \"or\", \"per\", \"that\", \"the\", \"to\", \"with\", \"via\", \"vs\", \"vs.\"];\nconst uppercase = [\"CEO\", \"CFO\", \"CNC\", \"COO\", \"CPU\", \"GDP\", \"HVAC\", \"ID\", \"IT\", \"R&D\", \"TV\", \"UI\"];\n\n/**\n @function titleCase\n @desc Capitalizes the first letter of each word in a phrase/sentence.\n @param {String} str The string to apply the title case logic.\n*/\nexport default function(str) {\n\n if (str === void 0) return \"\";\n\n const smalls = lowercase.map(s => s.toLowerCase());\n\n let bigs = uppercase.slice();\n bigs = bigs.concat(bigs.map(b => `${b}s`));\n const biglow = bigs.map(b => b.toLowerCase());\n\n const split = textSplit(str);\n return split.map((s, i) => {\n if (s) {\n const lower = s.toLowerCase();\n const stripped = suffixChars.includes(lower.charAt(lower.length - 1)) ? lower.slice(0, -1) : lower;\n const bigindex = biglow.indexOf(stripped);\n if (bigindex >= 0) return bigs[bigindex];\n else if (smalls.includes(stripped) && i !== 0 && i !== split.length - 1) return lower;\n else return s.charAt(0).toUpperCase() + s.substr(1).toLowerCase();\n }\n else return \"\";\n }).reduce((ret, s, i) => {\n if (i && str.charAt(ret.length) === \" \") ret += \" \";\n ret += s;\n return ret;\n }, \"\");\n\n}\n"],"names":["fontFamily","fontFamilyStringify","family","map","d","match","join","value","String","JSON","stringify","diacritics","spacer","replace","char","ret","length","RegExp","test","a","b","concat","flatten","arrays","array","merge","Array","from","splitChars","prefixChars","suffixChars","burmeseRange","japaneseRange","chineseRange","laoRange","noSpaceRange","splitWords","noSpaceLanguage","splitAllChars","combiningMarks","sentence","filter","w","_instanceof","left","right","Symbol","hasInstance","htmlDecode","input","doc","DOMParser","parseFromString","documentElement","textContent","text","style","Object","assign","context","document","createElement","getContext","font","push","t","measureText","width","trim","str","toString","trimLeft","trimRight","fontSize","fontWeight","height","lineHeight","maxLines","overflow","split","defaultSplit","textWrap","Math","ceil","words","line","textProg","truncated","widthProg","lineData","sizes","textWidth","space","i","word","wordWidth","indexOf","slice","lines","widths","_","arguments","lowercase","uppercase","smalls","s","toLowerCase","bigs","biglow","textSplit","lower","stripped","includes","charAt","bigindex","toUpperCase","substr","reduce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;EAIA,SACaA,UAAa,GAAA;EAAC,IAAA,OAAA;EAAS,IAAA,gBAAA;EAAkB,IAAA,eAAA;EAAiB,IAAA,WAAA;EAAa,IAAA,OAAA;EAAS,IAAA;;EAE7F;;;;;EAKA,SACaC,mBAAsBC,GAAAA,CAAAA,SACjC,CAAC,OAAOA,MAAAA,KAAW,QAAW,GAAA;EAACA,QAAAA;OAAO,GAAGA,MAAK,EAC3CC,GAAG,CAACC,CAAAA,CAAKA,GAAAA,CAAAA,CAAEC,KAAK,CAAC,eAAA,CAAA,GAAmBD,IAAI,CAAC,CAAC,EAAEA,CAAE,CAAA,CAAC,CAAC,CAChDE,CAAAA,IAAI,CAAC,IAAM;;EChBhB;;;;EAIA,GACe,mBAASC,KAAK,EAAA;MAC3B,IAAIA,KAAAA,KAAU,MAAK,EAAGA,KAAQ,GAAA,WAAA;WACzB,IAAI,EAAE,OAAOA,KAAU,KAAA,QAAA,IAAYA,KAAiBC,YAAAA,MAAK,CAAID,EAAAA,KAAAA,GAAQE,IAAKC,CAAAA,SAAS,CAACH,KAAAA,CAAAA;MACzF,OAAOA,KAAAA;EACT;;ECTA;EAEA,MAAMI,UAAa,GAAA;EACjB,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAC5C,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAK,KAAA;EAAE,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAK,KAAA;EACpC,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAChB,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAClC,IAAA;EAAC,QAAA,iBAAA;EAAmB,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAC1C,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAC5C,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,cAAA;EAAgB,QAAA;EAAI,KAAA;EAC5C,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAClC,IAAA;EAAC,QAAA,wBAAA;EAA0B,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,wBAAA;EAA0B,QAAA;EAAI,KAAA;EAChE,IAAA;EAAC,QAAA,oBAAA;EAAsB,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,oBAAA;EAAsB,QAAA;EAAI,KAAA;EACxD,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAChB,IAAA;EAAC,QAAA,SAAA;EAAW,QAAA;EAAI,KAAA;EAAE,IAAA;EAAC,QAAA,aAAA;EAAe,QAAA;EAAI;EACvC,CAAA;EAED;;;;;EAKA,GACe,cAAA,CAASJ,KAAK,EAAEK,SAAS,GAAG,EAAA;EAEzC,IAAA,OAAO,GAAGL,KAAO,CAAA,CAAA,CAACM,OAAO,CAAC,iCAAiCC,CAAAA,IAAAA,GAAAA;UAEzD,IAAIA,IAAAA,KAAS,KAAK,OAAOF,MAAAA;EAEzB,QAAA,IAAIG,GAAM,GAAA,KAAA;EACV,QAAA,IAAK,IAAIX,CAAI,GAAA,CAAA,EAAGA,IAAIO,UAAWK,CAAAA,MAAM,EAAEZ,CAAK,EAAA,CAAA;cAC1C,IAAI,IAAIa,MAAON,CAAAA,UAAU,CAACP,CAAAA,CAAE,CAAC,CAAE,CAAA,CAAA,CAAEc,IAAI,CAACJ,IAAO,CAAA,EAAA;EAC3CC,gBAAAA,GAAAA,GAAMJ,UAAU,CAACP,CAAE,CAAA,CAAC,CAAE,CAAA;EACtB,gBAAA;EACF;EACF;EAEA,QAAA,OAAOW,GAAO,IAAA,EAAA;EAEhB,KAAA,CAAA;EACF;;ECxCA;EACA;EACA;EACA;EACA,MAAMI,CAAI,GAAA;EAAC,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA;EAAQ,CAAA;EACryE,MAAMC,CAAI,GAAA;EAAC,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EAAS,IAAA,OAAA;EA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","x_google_ignoreList":[4]}
@@ -0,0 +1,114 @@
1
+ /*
2
+ @d3plus/text v3.0.0
3
+ A smart SVG text box with line wrapping and automatic font size scaling.
4
+ Copyright (c) 2025 D3plus - https://d3plus.org
5
+ @license MIT
6
+ */
7
+ (u=>{"function"==typeof define&&define.amd?define(u):u()})(function(){if("undefined"!=typeof window){try{if("undefined"==typeof SVGElement||Boolean(SVGElement.prototype.innerHTML))return}catch(u){return}function C(u){switch(u.nodeType){case 1:var A=u,t="";return t+="<"+A.tagName,A.hasAttributes()&&[].forEach.call(A.attributes,function(u){t+=" "+u.name+'="'+u.value+'"'}),t+=">",A.hasChildNodes()&&[].forEach.call(A.childNodes,function(u){t+=C(u)}),t+="</"+A.tagName+">";case 3:return u.textContent.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");case 8:return"\x3c!--"+u.nodeValue+"--\x3e"}}Object.defineProperty(SVGElement.prototype,"innerHTML",{get:function(){var A="";return[].forEach.call(this.childNodes,function(u){A+=C(u)}),A},set:function(u){for(;this.firstChild;)this.removeChild(this.firstChild);try{var A=new DOMParser,t=(A.async=!1,"<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>"+u+"</svg>"),C=A.parseFromString(t,"text/xml").documentElement;[].forEach.call(C.childNodes,function(u){this.appendChild(this.ownerDocument.importNode(u,!0))}.bind(this))}catch(u){throw new Error("Error parsing markup string")}}}),Object.defineProperty(SVGElement.prototype,"innerSVG",{get:function(){return this.innerHTML},set:function(u){this.innerHTML=u}})}}),((u,A)=>{"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define("@d3plus/text",["exports"],A):A((u="undefined"!=typeof globalThis?globalThis:u||self).d3plus={})})(this,function(u){
8
+ /**
9
+ @function stringify
10
+ @desc Coerces value into a String.
11
+ @param {String} value
12
+ */function d(u){return void 0===u?u="undefined":"string"==typeof u||u instanceof String||(u=JSON.stringify(u)),u}
13
+ // great unicode list: http://asecuritysite.com/coding/asc2
14
+ let B=[[/[\300-\305]/g,"A"],[/[\340-\345]/g,"a"],[/[\306]/g,"AE"],[/[\346]/g,"ae"],[/[\337]/g,"B"],[/[\307]/g,"C"],[/[\347]/g,"c"],[/[\320\336\376]/g,"D"],[/[\360]/g,"d"],[/[\310-\313]/g,"E"],[/[\350-\353]/g,"e"],[/[\314-\317]/g,"I"],[/[\354-\357]/g,"i"],[/[\321]/g,"N"],[/[\361]/g,"n"],[/[\u014c\322-\326\330]/g,"O"],[/[\u014d\362-\366\370]/g,"o"],[/[\u016a\331-\334]/g,"U"],[/[\u016b\371-\374]/g,"u"],[/[\327]/g,"x"],[/[\335]/g,"Y"],[/[\375\377]/g,"y"]];
15
+ /**
16
+ @function strip
17
+ @desc Removes all non ASCII characters from a string.
18
+ @param {String} value
19
+ @param {String} [spacer = "-"]
20
+ */
21
+ // scraped from http://www.fileformat.info/info/unicode/category/Mc/list.htm
22
+ // and http://www.fileformat.info/info/unicode/category/Mn/list.htm
23
+ // JSON.stringify([].slice.call(document.getElementsByClassName("table-list")[0].getElementsByTagName("tr")).filter(function(d){ return d.getElementsByTagName("a").length && d.getElementsByTagName("a")[0].innerHTML.length === 6; }).map(function(d){ return d.getElementsByTagName("a")[0].innerHTML.replace("U", "u").replace("+", ""); }).sort());
24
+ // The following unicode characters combine to form new characters and should never be split from surrounding characters.
25
+ var A=["u0903","u093B","u093E","u093F","u0940","u0949","u094A","u094B","u094C","u094E","u094F","u0982","u0983","u09BE","u09BF","u09C0","u09C7","u09C8","u09CB","u09CC","u09D7","u0A03","u0A3E","u0A3F","u0A40","u0A83","u0ABE","u0ABF","u0AC0","u0AC9","u0ACB","u0ACC","u0B02","u0B03","u0B3E","u0B40","u0B47","u0B48","u0B4B","u0B4C","u0B57","u0BBE","u0BBF","u0BC1","u0BC2","u0BC6","u0BC7","u0BC8","u0BCA","u0BCB","u0BCC","u0BD7","u0C01","u0C02","u0C03","u0C41","u0C42","u0C43","u0C44","u0C82","u0C83","u0CBE","u0CC0","u0CC1","u0CC2","u0CC3","u0CC4","u0CC7","u0CC8","u0CCA","u0CCB","u0CD5","u0CD6","u0D02","u0D03","u0D3E","u0D3F","u0D40","u0D46","u0D47","u0D48","u0D4A","u0D4B","u0D4C","u0D57","u0D82","u0D83","u0DCF","u0DD0","u0DD1","u0DD8","u0DD9","u0DDA","u0DDB","u0DDC","u0DDD","u0DDE","u0DDF","u0DF2","u0DF3","u0F3E","u0F3F","u0F7F","u102B","u102C","u1031","u1038","u103B","u103C","u1056","u1057","u1062","u1063","u1064","u1067","u1068","u1069","u106A","u106B","u106C","u106D","u1083","u1084","u1087","u1088","u1089","u108A","u108B","u108C","u108F","u109A","u109B","u109C","u17B6","u17BE","u17BF","u17C0","u17C1","u17C2","u17C3","u17C4","u17C5","u17C7","u17C8","u1923","u1924","u1925","u1926","u1929","u192A","u192B","u1930","u1931","u1933","u1934","u1935","u1936","u1937","u1938","u1A19","u1A1A","u1A55","u1A57","u1A61","u1A63","u1A64","u1A6D","u1A6E","u1A6F","u1A70","u1A71","u1A72","u1B04","u1B35","u1B3B","u1B3D","u1B3E","u1B3F","u1B40","u1B41","u1B43","u1B44","u1B82","u1BA1","u1BA6","u1BA7","u1BAA","u1BE7","u1BEA","u1BEB","u1BEC","u1BEE","u1BF2","u1BF3","u1C24","u1C25","u1C26","u1C27","u1C28","u1C29","u1C2A","u1C2B","u1C34","u1C35","u1CE1","u1CF2","u1CF3","u302E","u302F","uA823","uA824","uA827","uA880","uA881","uA8B4","uA8B5","uA8B6","uA8B7","uA8B8","uA8B9","uA8BA","uA8BB","uA8BC","uA8BD","uA8BE","uA8BF","uA8C0","uA8C1","uA8C2","uA8C3","uA952","uA953","uA983","uA9B4","uA9B5","uA9BA","uA9BB","uA9BD","uA9BE","uA9BF","uA9C0","uAA2F","uAA30","uAA33","uAA34","uAA4D","uAA7B","uAA7D","uAAEB","uAAEE","uAAEF","uAAF5","uABE3","uABE4","uABE6","uABE7","uABE9","uABEA","uABEC"].concat(["u0300","u0301","u0302","u0303","u0304","u0305","u0306","u0307","u0308","u0309","u030A","u030B","u030C","u030D","u030E","u030F","u0310","u0311","u0312","u0313","u0314","u0315","u0316","u0317","u0318","u0319","u031A","u031B","u031C","u031D","u031E","u031F","u0320","u0321","u0322","u0323","u0324","u0325","u0326","u0327","u0328","u0329","u032A","u032B","u032C","u032D","u032E","u032F","u0330","u0331","u0332","u0333","u0334","u0335","u0336","u0337","u0338","u0339","u033A","u033B","u033C","u033D","u033E","u033F","u0340","u0341","u0342","u0343","u0344","u0345","u0346","u0347","u0348","u0349","u034A","u034B","u034C","u034D","u034E","u034F","u0350","u0351","u0352","u0353","u0354","u0355","u0356","u0357","u0358","u0359","u035A","u035B","u035C","u035D","u035E","u035F","u0360","u0361","u0362","u0363","u0364","u0365","u0366","u0367","u0368","u0369","u036A","u036B","u036C","u036D","u036E","u036F","u0483","u0484","u0485","u0486","u0487","u0591","u0592","u0593","u0594","u0595","u0596","u0597","u0598","u0599","u059A","u059B","u059C","u059D","u059E","u059F","u05A0","u05A1","u05A2","u05A3","u05A4","u05A5","u05A6","u05A7","u05A8","u05A9","u05AA","u05AB","u05AC","u05AD","u05AE","u05AF","u05B0","u05B1","u05B2","u05B3","u05B4","u05B5","u05B6","u05B7","u05B8","u05B9","u05BA","u05BB","u05BC","u05BD","u05BF","u05C1","u05C2","u05C4","u05C5","u05C7","u0610","u0611","u0612","u0613","u0614","u0615","u0616","u0617","u0618","u0619","u061A","u064B","u064C","u064D","u064E","u064F","u0650","u0651","u0652","u0653","u0654","u0655","u0656","u0657","u0658","u0659","u065A","u065B","u065C","u065D","u065E","u065F","u0670","u06D6","u06D7","u06D8","u06D9","u06DA","u06DB","u06DC","u06DF","u06E0","u06E1","u06E2","u06E3","u06E4","u06E7","u06E8","u06EA","u06EB","u06EC","u06ED","u0711","u0730","u0731","u0732","u0733","u0734","u0735","u0736","u0737","u0738","u0739","u073A","u073B","u073C","u073D","u073E","u073F","u0740","u0741","u0742","u0743","u0744","u0745","u0746","u0747","u0748","u0749","u074A","u07A6","u07A7","u07A8","u07A9","u07AA","u07AB","u07AC","u07AD","u07AE","u07AF","u07B0","u07EB","u07EC","u07ED","u07EE","u07EF","u07F0","u07F1","u07F2","u07F3","u0816","u0817","u0818","u0819","u081B","u081C","u081D","u081E","u081F","u0820","u0821","u0822","u0823","u0825","u0826","u0827","u0829","u082A","u082B","u082C","u082D","u0859","u085A","u085B","u08E3","u08E4","u08E5","u08E6","u08E7","u08E8","u08E9","u08EA","u08EB","u08EC","u08ED","u08EE","u08EF","u08F0","u08F1","u08F2","u08F3","u08F4","u08F5","u08F6","u08F7","u08F8","u08F9","u08FA","u08FB","u08FC","u08FD","u08FE","u08FF","u0900","u0901","u0902","u093A","u093C","u0941","u0942","u0943","u0944","u0945","u0946","u0947","u0948","u094D","u0951","u0952","u0953","u0954","u0955","u0956","u0957","u0962","u0963","u0981","u09BC","u09C1","u09C2","u09C3","u09C4","u09CD","u09E2","u09E3","u0A01","u0A02","u0A3C","u0A41","u0A42","u0A47","u0A48","u0A4B","u0A4C","u0A4D","u0A51","u0A70","u0A71","u0A75","u0A81","u0A82","u0ABC","u0AC1","u0AC2","u0AC3","u0AC4","u0AC5","u0AC7","u0AC8","u0ACD","u0AE2","u0AE3","u0B01","u0B3C","u0B3F","u0B41","u0B42","u0B43","u0B44","u0B4D","u0B56","u0B62","u0B63","u0B82","u0BC0","u0BCD","u0C00","u0C3E","u0C3F","u0C40","u0C46","u0C47","u0C48","u0C4A","u0C4B","u0C4C","u0C4D","u0C55","u0C56","u0C62","u0C63","u0C81","u0CBC","u0CBF","u0CC6","u0CCC","u0CCD","u0CE2","u0CE3","u0D01","u0D41","u0D42","u0D43","u0D44","u0D4D","u0D62","u0D63","u0DCA","u0DD2","u0DD3","u0DD4","u0DD6","u0E31","u0E34","u0E35","u0E36","u0E37","u0E38","u0E39","u0E3A","u0E47","u0E48","u0E49","u0E4A","u0E4B","u0E4C","u0E4D","u0E4E","u0EB1","u0EB4","u0EB5","u0EB6","u0EB7","u0EB8","u0EB9","u0EBB","u0EBC","u0EC8","u0EC9","u0ECA","u0ECB","u0ECC","u0ECD","u0F18","u0F19","u0F35","u0F37","u0F39","u0F71","u0F72","u0F73","u0F74","u0F75","u0F76","u0F77","u0F78","u0F79","u0F7A","u0F7B","u0F7C","u0F7D","u0F7E","u0F80","u0F81","u0F82","u0F83","u0F84","u0F86","u0F87","u0F8D","u0F8E","u0F8F","u0F90","u0F91","u0F92","u0F93","u0F94","u0F95","u0F96","u0F97","u0F99","u0F9A","u0F9B","u0F9C","u0F9D","u0F9E","u0F9F","u0FA0","u0FA1","u0FA2","u0FA3","u0FA4","u0FA5","u0FA6","u0FA7","u0FA8","u0FA9","u0FAA","u0FAB","u0FAC","u0FAD","u0FAE","u0FAF","u0FB0","u0FB1","u0FB2","u0FB3","u0FB4","u0FB5","u0FB6","u0FB7","u0FB8","u0FB9","u0FBA","u0FBB","u0FBC","u0FC6","u102D","u102E","u102F","u1030","u1032","u1033","u1034","u1035","u1036","u1037","u1039","u103A","u103D","u103E","u1058","u1059","u105E","u105F","u1060","u1071","u1072","u1073","u1074","u1082","u1085","u1086","u108D","u109D","u135D","u135E","u135F","u1712","u1713","u1714","u1732","u1733","u1734","u1752","u1753","u1772","u1773","u17B4","u17B5","u17B7","u17B8","u17B9","u17BA","u17BB","u17BC","u17BD","u17C6","u17C9","u17CA","u17CB","u17CC","u17CD","u17CE","u17CF","u17D0","u17D1","u17D2","u17D3","u17DD","u180B","u180C","u180D","u18A9","u1920","u1921","u1922","u1927","u1928","u1932","u1939","u193A","u193B","u1A17","u1A18","u1A1B","u1A56","u1A58","u1A59","u1A5A","u1A5B","u1A5C","u1A5D","u1A5E","u1A60","u1A62","u1A65","u1A66","u1A67","u1A68","u1A69","u1A6A","u1A6B","u1A6C","u1A73","u1A74","u1A75","u1A76","u1A77","u1A78","u1A79","u1A7A","u1A7B","u1A7C","u1A7F","u1AB0","u1AB1","u1AB2","u1AB3","u1AB4","u1AB5","u1AB6","u1AB7","u1AB8","u1AB9","u1ABA","u1ABB","u1ABC","u1ABD","u1B00","u1B01","u1B02","u1B03","u1B34","u1B36","u1B37","u1B38","u1B39","u1B3A","u1B3C","u1B42","u1B6B","u1B6C","u1B6D","u1B6E","u1B6F","u1B70","u1B71","u1B72","u1B73","u1B80","u1B81","u1BA2","u1BA3","u1BA4","u1BA5","u1BA8","u1BA9","u1BAB","u1BAC","u1BAD","u1BE6","u1BE8","u1BE9","u1BED","u1BEF","u1BF0","u1BF1","u1C2C","u1C2D","u1C2E","u1C2F","u1C30","u1C31","u1C32","u1C33","u1C36","u1C37","u1CD0","u1CD1","u1CD2","u1CD4","u1CD5","u1CD6","u1CD7","u1CD8","u1CD9","u1CDA","u1CDB","u1CDC","u1CDD","u1CDE","u1CDF","u1CE0","u1CE2","u1CE3","u1CE4","u1CE5","u1CE6","u1CE7","u1CE8","u1CED","u1CF4","u1CF8","u1CF9","u1DC0","u1DC1","u1DC2","u1DC3","u1DC4","u1DC5","u1DC6","u1DC7","u1DC8","u1DC9","u1DCA","u1DCB","u1DCC","u1DCD","u1DCE","u1DCF","u1DD0","u1DD1","u1DD2","u1DD3","u1DD4","u1DD5","u1DD6","u1DD7","u1DD8","u1DD9","u1DDA","u1DDB","u1DDC","u1DDD","u1DDE","u1DDF","u1DE0","u1DE1","u1DE2","u1DE3","u1DE4","u1DE5","u1DE6","u1DE7","u1DE8","u1DE9","u1DEA","u1DEB","u1DEC","u1DED","u1DEE","u1DEF","u1DF0","u1DF1","u1DF2","u1DF3","u1DF4","u1DF5","u1DFC","u1DFD","u1DFE","u1DFF","u20D0","u20D1","u20D2","u20D3","u20D4","u20D5","u20D6","u20D7","u20D8","u20D9","u20DA","u20DB","u20DC","u20E1","u20E5","u20E6","u20E7","u20E8","u20E9","u20EA","u20EB","u20EC","u20ED","u20EE","u20EF","u20F0","u2CEF","u2CF0","u2CF1","u2D7F","u2DE0","u2DE1","u2DE2","u2DE3","u2DE4","u2DE5","u2DE6","u2DE7","u2DE8","u2DE9","u2DEA","u2DEB","u2DEC","u2DED","u2DEE","u2DEF","u2DF0","u2DF1","u2DF2","u2DF3","u2DF4","u2DF5","u2DF6","u2DF7","u2DF8","u2DF9","u2DFA","u2DFB","u2DFC","u2DFD","u2DFE","u2DFF","u302A","u302B","u302C","u302D","u3099","u309A","uA66F","uA674","uA675","uA676","uA677","uA678","uA679","uA67A","uA67B","uA67C","uA67D","uA69E","uA69F","uA6F0","uA6F1","uA802","uA806","uA80B","uA825","uA826","uA8C4","uA8E0","uA8E1","uA8E2","uA8E3","uA8E4","uA8E5","uA8E6","uA8E7","uA8E8","uA8E9","uA8EA","uA8EB","uA8EC","uA8ED","uA8EE","uA8EF","uA8F0","uA8F1","uA926","uA927","uA928","uA929","uA92A","uA92B","uA92C","uA92D","uA947","uA948","uA949","uA94A","uA94B","uA94C","uA94D","uA94E","uA94F","uA950","uA951","uA980","uA981","uA982","uA9B3","uA9B6","uA9B7","uA9B8","uA9B9","uA9BC","uA9E5","uAA29","uAA2A","uAA2B","uAA2C","uAA2D","uAA2E","uAA31","uAA32","uAA35","uAA36","uAA43","uAA4C","uAA7C","uAAB0","uAAB2","uAAB3","uAAB4","uAAB7","uAAB8","uAABE","uAABF","uAAC1","uAAEC","uAAED","uAAF6","uABE5","uABE8","uABED","uFB1E","uFE00","uFE01","uFE02","uFE03","uFE04","uFE05","uFE06","uFE07","uFE08","uFE09","uFE0A","uFE0B","uFE0C","uFE0D","uFE0E","uFE0F","uFE20","uFE21","uFE22","uFE23","uFE24","uFE25","uFE26","uFE27","uFE28","uFE29","uFE2A","uFE2B","uFE2C","uFE2D","uFE2E","uFE2F"]);function t(u){return Array.from(function*(u){for(var A of u)yield*A}(u))}var C=["-",";",":","&","|","u0E2F","u0EAF","u0EC6","u0ECC","u104A","u104B","u104C","u104D","u104E","u104F","u2013","u2014","u2027","u3000","u3001","u3002","uFF0C","uFF5E"];let F=["'",">",")","}","]",".","!","?","/","u00BB","u300B","u3009"].concat(C);var e="က-ဪဿ-၉ၐ-ၕ㐀-龿぀-ゟ゠-ヿ＀-+--}⦅-゚㐀-䶿ກ-ຮະ-ໄ່-໋ໍ-ໝ";let D=new RegExp(`(\\${C.join("|\\")})*[^\\s|\\${C.join("|\\")}]*(\\${C.join("|\\")})*`,"g"),E=new RegExp(`[${e}]`),n=new RegExp(`(\\${["'","<","(","{","[","u00AB","u300A","u3008"].join("|\\")})*[${e}](\\${F.join("|\\")}|\\${A.join("|\\")})*|[a-z0-9]+`,"gi");
26
+ /**
27
+ @function textSplit
28
+ @desc Splits a given sentence into an array of words.
29
+ @param {String} sentence
30
+ */function r(u){return E.test(u)?t(d(u).match(D).map(u=>E.test(u)?u.match(n):[u])):d(u).match(D).filter(u=>u.length)}
31
+ /**
32
+ * Strips HTML and "un-escapes" escape characters.
33
+ * @param {String} input
34
+ */function i(u){var A;return""!==u.replace(/\s+/g,"")&&(A=(new DOMParser).parseFromString(u.replace(/<[^>]+>/g,""),"text/html")).documentElement?A.documentElement.textContent:u}
35
+ /**
36
+ @function textWidth
37
+ @desc Given a text string, returns the predicted pixel width of the string when placed into DOM.
38
+ @param {String|Array} text Can be either a single string or an array of strings to analyze.
39
+ @param {Object} [style] An object of CSS font styles to apply. Accepts any of the valid [CSS font property](http://www.w3schools.com/cssref/pr_font_font.asp) values.
40
+ */function m(u,A){A=Object.assign({"font-size":10,"font-family":"sans-serif","font-style":"normal","font-weight":400,"font-variant":"normal"},A);var t=document.createElement("canvas").getContext("2d"),C=[];return C.push(A["font-style"]),C.push(A["font-variant"]),C.push(A["font-weight"]),C.push("string"==typeof A["font-size"]?A["font-size"]:"".concat(A["font-size"],"px")),C.push(A["font-family"]),t.font=C.join(" "),A=u,(null!=(C=Array)&&"undefined"!=typeof Symbol&&C[Symbol.hasInstance]?C[Symbol.hasInstance](A):A instanceof C)?u.map(function(u){return t.measureText(i(u)).width}):t.measureText(i(u)).width}
41
+ /**
42
+ @function trim
43
+ @desc Cross-browser implementation of [trim](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim).
44
+ @param {String} str
45
+ */
46
+ /**
47
+ @function trimRight
48
+ @desc Cross-browser implementation of [trimRight](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight).
49
+ @param {String} str
50
+ */function y(u){return u.toString().replace(/\s+$/,"")}
51
+ /**
52
+ @function textWrap
53
+ @desc Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.
54
+ */let o=["a","an","and","as","at","but","by","for","from","if","in","into","near","nor","of","on","onto","or","per","that","the","to","with","via","vs","vs."],a=["CEO","CFO","CNC","COO","CPU","GDP","HVAC","ID","IT","R&D","TV","UI"];u.fontFamily=["Inter","Helvetica Neue","HelveticaNeue","Helvetica","Arial","sans-serif"],u.fontFamilyStringify=u=>("string"==typeof u?[u]:u).map(u=>u.match(/^[a-z-_]{1,}$/)?u:`'${u}'`).join(", "),u.stringify=d,u.strip=function(u,C="-"){return(""+u).replace(/[^A-Za-z0-9\-_\u0621-\u064A]/g,A=>{if(" "===A)return C;let t=!1;for(let u=0;u<B.length;u++)if(new RegExp(B[u][0]).test(A)){t=B[u][1];break}return t||""})},u.textSplit=r,u.textWrap=function(){let o="sans-serif",a=10,f=400,s=200,l,c=null,g=!1,h=r,p=200;
55
+ /**
56
+ The inner return object and wraps the text and returns the line data array.
57
+ @private
58
+ */function A(A){A=d(A),void 0===l&&(l=Math.ceil(1.4*a));var t=h(A),u={"font-family":o,"font-size":a,"font-weight":f,"line-height":l};let C=1,B="",e=!1,D=0;var E=[],n=m(t,u),F=m(" ",u);for(let u=0;u<t.length;u++){var r=t[u],i=n[t.indexOf(r)];if(r+=A.slice(B.length+r.length).match("^( |\n)*","g")[0],"\n"===B.slice(-1)||D+i>p){if(!u&&!g){e=!0;break}if(E.length>=C&&(E[C-1]=y(E[C-1])),C++,l*C>s||i>p&&!g||c&&C>c){e=!0;break}D=0,E.push(r)}else u?E[C-1]+=r:E[0]=r;B+=r,D=(D+=i)+r.match(/[\s]*$/g)[0].length*F}return{lines:E,sentence:A,truncated:e,widths:m(E,u),words:t}}
59
+ /**
60
+ @memberof textWrap
61
+ @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family.
62
+ @param {Function|String} [*value* = "sans-serif"]
63
+ */return A.fontFamily=function(u){return arguments.length?(o=u,A):o},
64
+ /**
65
+ @memberof textWrap
66
+ @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size.
67
+ @param {Function|Number} [*value* = 10]
68
+ */A.fontSize=function(u){return arguments.length?(a=u,A):a},
69
+ /**
70
+ @memberof textWrap
71
+ @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight.
72
+ @param {Function|Number|String} [*value* = 400]
73
+ */A.fontWeight=function(u){return arguments.length?(f=u,A):f},
74
+ /**
75
+ @memberof textWrap
76
+ @desc If *value* is specified, sets height limit to the specified value and returns this generator. If *value* is not specified, returns the current value.
77
+ @param {Number} [*value* = 200]
78
+ */A.height=function(u){return arguments.length?(s=u,A):s},
79
+ /**
80
+ @memberof textWrap
81
+ @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textWrap.fontSize) by default.
82
+ @param {Function|Number} [*value*]
83
+ */A.lineHeight=function(u){return arguments.length?(l=u,A):l},
84
+ /**
85
+ @memberof textWrap
86
+ @desc If *value* is specified, sets the maximum number of lines allowed when wrapping.
87
+ @param {Function|Number} [*value*]
88
+ */A.maxLines=function(u){return arguments.length?(c=u,A):c},
89
+ /**
90
+ @memberof textWrap
91
+ @desc If *value* is specified, sets the overflow to the specified boolean and returns this generator. If *value* is not specified, returns the current overflow value.
92
+ @param {Boolean} [*value* = false]
93
+ */A.overflow=function(u){return arguments.length?(g=u,A):g},
94
+ /**
95
+ @memberof textWrap
96
+ @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.
97
+ @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to textWrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`
98
+ */A.split=function(u){return arguments.length?(h=u,A):h},
99
+ /**
100
+ @memberof textWrap
101
+ @desc If *value* is specified, sets width limit to the specified value and returns this generator. If *value* is not specified, returns the current value.
102
+ @param {Number} [*value* = 200]
103
+ */A.width=function(u){return arguments.length?(p=u,A):p},A},u.titleCase=
104
+ /**
105
+ @function titleCase
106
+ @desc Capitalizes the first letter of each word in a phrase/sentence.
107
+ @param {String} str The string to apply the title case logic.
108
+ */function(C){if(void 0===C)return"";let e=o.map(u=>u.toLowerCase()),D=a.slice(),E=(D=D.concat(D.map(u=>u+"s"))).map(u=>u.toLowerCase()),n=r(C);return n.map((u,A)=>{var t,C,B;return u?(t=u.toLowerCase(),C=F.includes(t.charAt(t.length-1))?t.slice(0,-1):t,0<=(B=E.indexOf(C))?D[B]:e.includes(C)&&0!==A&&A!==n.length-1?t:u.charAt(0).toUpperCase()+u.substr(1).toLowerCase()):""}).reduce((u,A,t)=>(t&&" "===C.charAt(u.length)&&(u+=" "),u+=A),"")},u.trim=function(u){return u.toString().replace(/^\s+|\s+$/g,"")}
109
+ /**
110
+ @function trimLeft
111
+ @desc Cross-browser implementation of [trimLeft](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft).
112
+ @param {String} str
113
+ */,u.trimLeft=function(u){return u.toString().replace(/^\s+/,"")},u.trimRight=y});
114
+ //# sourceMappingURL=d3plus-text.full.js.map