diff --git a/docs/tutorials/Cargo.lock b/docs/tutorials/Cargo.lock index eef44f14ae6..a970bce1f0e 100644 --- a/docs/tutorials/Cargo.lock +++ b/docs/tutorials/Cargo.lock @@ -192,6 +192,14 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +[[package]] +name = "calendrical_calculations" +version = "0.1.0" +dependencies = [ + "displaydoc", + "libm", +] + [[package]] name = "cc" version = "1.0.79" @@ -722,6 +730,7 @@ dependencies = [ name = "icu_calendar" version = "1.2.0" dependencies = [ + "calendrical_calculations", "databake", "displaydoc", "icu_calendar_data", @@ -1078,6 +1087,7 @@ dependencies = [ "icu_locid", "icu_locid_transform", "icu_provider", + "serde", "tinystr", "yoke", "zerovec", @@ -1169,6 +1179,7 @@ dependencies = [ "icu_decimal", "icu_displaynames", "icu_list", + "icu_locid_transform", "icu_plurals", "icu_provider", "zerovec", diff --git a/experimental/transliteration/data/data/macros/transliterator_rules_v1.data.rs b/experimental/transliteration/data/data/macros/transliterator_rules_v1.data.rs index 33cd80b3f47..1314bcca592 100644 --- a/experimental/transliteration/data/data/macros/transliterator_rules_v1.data.rs +++ b/experimental/transliteration/data/data/macros/transliterator_rules_v1.data.rs @@ -130,6 +130,28 @@ macro_rules! __impl_transliterator_rules_v1 { rule_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x02\0\0\0\0\0\"\0\x01\0\0\0\0\0\x04\0\0\0\0\0\0\0\x04\0\0\0\x08\0\0\0\x08\0\0\0\xF3\xB0\x80\x81\xF3\xB0\x80\x80N\x03\0\0\0\0\x18\0/\0F\0^\0v\0\x8E\0\xA5\0\xBC\0\xD4\0\xEB\0\x02\x01\x19\x010\x01G\x01_\x01w\x01\x8E\x01\xA5\x01\xBC\x01\xD3\x01\xEA\x01\x02\x02\x19\x020\x02H\x02`\x02w\x02\x8E\x02\xA5\x02\xBC\x02\xD3\x02\xEA\x02\x01\x03\x18\x03/\x03F\x03]\x03t\x03\x8B\x03\xA2\x03\xB9\x03\xD0\x03\xE7\x03\xFF\x03\x16\x04-\x04D\x04[\x04r\x04\x89\x04\xA0\x04\xB8\x04\xD0\x04\xE7\x04\xFE\x04\x15\x05,\x05C\x05Z\x05q\x05\x88\x05\x9F\x05\xB6\x05\xCD\x05\xE5\x05\xFD\x05\x15\x06-\x06E\x06]\x06u\x06\x8D\x06\xA5\x06\xBC\x06\xD3\x06\xEB\x06\x03\x07\x1B\x072\x07I\x07`\x07w\x07\x8E\x07\xA5\x07\xBC\x07\xD4\x07\xEC\x07\x03\x08\x1A\x081\x08H\x08_\x08v\x08\x8D\x08\xA4\x08\xBB\x08\xD2\x08\xE9\x08\0\t\x17\t.\tE\t\\\ts\t\x8A\t\xA1\t\xB8\t\xCF\t\xE6\t\xFD\t\x14\n+\nB\nY\np\n\x87\n\x9E\n\xB5\n\xCC\n\xE3\n\xFA\n\x11\x0B(\x0B?\x0BW\x0Bn\x0B\x85\x0B\x9C\x0B\xB3\x0B\xCA\x0B\xE1\x0B\xF8\x0B\x0F\x0C&\x0C=\x0CT\x0Ck\x0C\x82\x0C\x99\x0C\xB0\x0C\xC7\x0C\xDE\x0C\xF6\x0C\x0E\r&\r>\rV\rn\r\x87\r\x9F\r\xB7\r\xCF\r\xE7\r\xFF\r\x17\x0E/\x0EG\x0E_\x0Ew\x0E\x8F\x0E\xA7\x0E\xBF\x0E\xD7\x0E\xEF\x0E\x07\x0F \x0F8\x0FP\x0Fh\x0F\x80\x0F\x98\x0F\xB0\x0F\xC8\x0F\xE0\x0F\xF8\x0F\x10\x10(\x10A\x10Y\x10q\x10\x89\x10\xA1\x10\xB9\x10\xD1\x10\xE9\x10\x01\x11\x19\x111\x11I\x11a\x11y\x11\x91\x11\xA9\x11\xC1\x11\xD9\x11\xF1\x11\t\x12!\x129\x12Q\x12i\x12\x81\x12\x99\x12\xB1\x12\xCA\x12\xE3\x12\xFC\x12\x14\x13,\x13D\x13\\\x13t\x13\x8C\x13\xA4\x13\xBC\x13\xD4\x13\xEC\x13\x04\x14\x1C\x144\x14L\x14d\x14|\x14\x94\x14\xAC\x14\xC4\x14\xDC\x14\xF4\x14\x0C\x15$\x15<\x15T\x15l\x15\x84\x15\x9C\x15\xB5\x15\xCE\x15\xE7\x15\0\x16\x19\x162\x16K\x16d\x16}\x16\x96\x16\xAF\x16\xC8\x16\xE0\x16\xF8\x16\x10\x17(\x17@\x17X\x17p\x17\x88\x17\xA0\x17\xB8\x17\xD0\x17\xE8\x17\0\x18\x18\x181\x18J\x18b\x18z\x18\x92\x18\xAA\x18\xC2\x18\xDA\x18\xF2\x18\n\x19\"\x19:\x19R\x19j\x19\x83\x19\x9C\x19\xB5\x19\xCE\x19\xE7\x19\0\x1A\x18\x1A0\x1AH\x1A`\x1Ax\x1A\x90\x1A\xA8\x1A\xC0\x1A\xD8\x1A\xF0\x1A\x08\x1B \x1B8\x1BP\x1Bh\x1B\x80\x1B\x98\x1B\xB0\x1B\xC8\x1B\xE0\x1B\xF8\x1B\x10\x1C(\x1C@\x1CX\x1Cp\x1C\x88\x1C\xA0\x1C\xB9\x1C\xD2\x1C\xEB\x1C\x05\x1D\x1F\x1D8\x1DQ\x1Di\x1D\x81\x1D\x99\x1D\xB1\x1D\xC9\x1D\xE1\x1D\xF9\x1D\x11\x1E)\x1EA\x1EY\x1Eq\x1E\x89\x1E\xA1\x1E\xB9\x1E\xD1\x1E\xE9\x1E\x01\x1F\x19\x1F1\x1FI\x1Fa\x1Fy\x1F\x91\x1F\xA9\x1F\xC1\x1F\xD9\x1F\xF1\x1F\t ! 9 Q i \x81 \x99 \xB1 \xC9 \xE1 \xF9 \x11!)!A!Y!q!\x89!\xA1!\xB9!\xD1!\xE9!\x01\"\x19\"1\"J\"c\"|\"\x95\"\xAF\"\xC8\"\xE2\"\xFB\"\x14#.#H#`#z#\x94#\xAC#\xC4#\xDC#\xF4#\x0C$$$<$T$l$\x84$\x9D$\xB7$\xCF$\xE7$\xFF$\x17%/%G%`%z%\x92%\xAA%\xC2%\xDA%\xF2%\n&\"&:&R&j&\x84&\x9C&\xB4&\xCC&\xE4&\xFC&\x16'/'H'b'{'\x94'\xAD'\xC6'\xDF'\xF8'\x11(*(C(\\(u(\x8F(\xAA(\xC3(\xDC(\xF5(\x0E)')A)[)u)\x8F)\xA8)\xC1)\xDA)\xF3)\x0C*&*?*Y*s*\x8D*\xA7*\xC3*\xDC*\xF5*\x0E+'+@+Y+r+\x8B+\xA4+\xBD+\xD6+\xEF+\x08,#,<,U,n,\x89,\xA3,\xBC,\xD5,\xEE,\x07- -9-R-k-\x84-\x9D-\xB7-\xD0-\xE9-\x03.\x1D.6.Q.k.\x84.\x9D.\xB6.\xCF.\xE9.\x03/\x1D/7/Q/k/\x85/\x9F/\xB9/\xD3/\xED/\x070!0;0U0o0\x890\xA30\xBD0\xD70\xF10\x0B1%1?1Y1s1\x8D1\xA71\xC21\xDD1\xF81\x132.2I2d2\x7F2\x9A2\xB52\xD02\xEB2\x063!3<3W3r3\x8D3\xA83\xC33\xDE3\xF93\x144/4J4e4}4\x964\xB04\xC94\xE14\xFA4\x145/5H5`5y5\x935\xAB5\xC35\xDB5\xF35\x0B6$6>6W6o6\x886\xA26\xBD6\xD66\xEE6\x077!797Q7i7\x817\x9B7\xB57\xCF7\xEA7\x058!8<8W8r8\x8D8\xA88\xC38\xDE8\xF98\x149/9J9e9\x7F9\x9A9\xB49\xCE9\xE89\x02:\x1C:6:P:j:\x84:\x9F:\xBA:\xD5:\xF0:\x0B;&;A;\\;w;\x92;\xAD;\xC7;\xE0;\xF9;\x12<+.>H>b>|>\x96>\xB0>\xCA>\xE2>\xFA>\x12?*?B?Z?r?\x8A?\xA2?\xBA?\xD2?\xE9?\x01@\x19@1@I@a@y@\x91@\xA9@\xC1@\xD9@\xF1@\x08A\x1FA6AMAdA{A\x92A\xAAA\xC2A\xDAA\xF2A\nB\"B;BSBkB\x83B\x9BB\xB3B\xCBB\xE3B\xFBB\x13C+CCCZCrC\x8AC\xA2C\xBAC\xD2C\xEAC\x02D\x1AD2DJDbDyD\x90D\xA7D\xBED\xD5D\xECD\x03E\x1AE3EKEdE~E\x97E\xAFE\xC7E\xDFE\xF8E\x11F*FBF[FtF\x8EF\xA7F\xC0F\xD8F\xF0F\x08G G9GRGjG\x82G\x9AG\xB2G\xCAG\xE2G\xFAG\x12H*HBHZHrH\x8AH\xA4H\xBDH\xD5H\xEDH\x05I\x1DI5IMIfI\x7FI\x97I\xAFI\xC7I\xDFI\xF7I\x0FJ'J?JWJoJ\x87J\x9FJ\xB7J\xCFJ\xE7J\xFFJ\x17K/KGK_KwK\x8FK\xA7K\xBFK\xD7K\xEFK\x07L\x1FL7LOLgL\x7FL\x97L\xAFL\xC7L\xDFL\xF7L\x0FM'M?MWMoM\x87M\x9FM\xB7M\xCFM\xE7M\xFFM\x17N/NGN_NwN\x8FN\xA7N\xBFN\xD7N\xF0N\tO!O9OROiO\x80O\x97O\xAEO\xC6O\xDEO\xF6O\x0EP'P@PYPrP\x8BP\xA5P\xBEP\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x86AE\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x90D\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x98O\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x9ETH\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x9Fss\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\xA6ae\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\xB0d\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\xB8o\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\xBEth\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\x90D\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\x91d\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xA6H\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xA7h\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xB1i\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xB2IJ\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xB3ij\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xB8q\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC4\xBFL\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x80l\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x81L\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x82l\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x89'n\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x8AN\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x8Bn\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x92OE\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\x93oe\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\xA6T\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\xA7t\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC5\xBFs\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x80b\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x81B\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x82B\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x83b\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x87C\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x88c\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x89D\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x8AD\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x8BD\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x8Cd\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x90E\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x91F\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x92f\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x93G\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x95hv\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x96I\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x97I\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x98K\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x99k\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x9Al\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x9DN\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\x9En\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xA2OI\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xA3oi\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xA4P\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xA5p\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xABt\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xACT\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xADt\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xAET\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xB2V\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xB3Y\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xB4y\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xB5Z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC6\xB6z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x84DZ\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x85Dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x86dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x87LJ\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x88Lj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x89lj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x8ANJ\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x8BNj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\x8Cnj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\xA4G\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\xA5g\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\xB1DZ\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\xB2Dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC7\xB3dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xA1d\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xA4Z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xA5z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB4l\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB5n\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB6t\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB7j\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB8db\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xB9qp\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBAA\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBBC\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBCc\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBDL\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBET\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC8\xBFs\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x80z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x83B\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x84U\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x86E\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x87e\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x88J\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x89j\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x8CR\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x8Dr\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x8EY\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x8Fy\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x93b\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x95c\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x96d\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x97d\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x9Be\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\x9Fj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA0g\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA1g\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA2G\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA6h\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA7h\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xA8i\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xAAI\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xABl\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xACl\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xADl\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xB1m\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xB2n\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xB3n\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xB4N\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xB6OE\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xBCr\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xBDr\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC9\xBEr\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x80R\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x82s\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x88t\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x89u\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x8Bv\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x8FY\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x90z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x91z\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x99B\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x9BG\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x9CH\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x9Dj\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\x9FL\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xA0q\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xA3dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xA5dz\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xA6ts\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xAAls\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xABlz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x80A\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x81AE\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x83B\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x84C\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x85D\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x86D\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x87E\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x8AJ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x8BK\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x8CL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x8DM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x8FO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x98P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x9BT\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\x9CU\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\xA0V\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\xA1W\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB4\xA2Z\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xABue\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xACb\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xADd\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xAEf\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xAFm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB0n\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB1p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB2r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB3r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB4s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB5t\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xB6z\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xBAth\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xBBI\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xBDp\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB5\xBEU\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x80b\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x81d\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x82f\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x83g\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x84k\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x85l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x86m\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x87n\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x88p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x89r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x8As\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x8Cv\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x8Dx\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x8Ez\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x8Fa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x91d\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x92e\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x93e\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x96i\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xB6\x99u\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBA\x9Aa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBA\x9Cs\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBA\x9Ds\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBA\x9ESS\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBALL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBBll\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBCV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBDv\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBEY\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE1\xBB\xBFy\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA0L\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA1l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA2L\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA3P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA4R\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA5a\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA6t\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA7H\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA8h\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xA9K\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xAAk\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xABZ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xACz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xAEM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xB1v\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xB2W\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xB3w\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xB4v\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xB8e\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xBAo\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xBES\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xB1\xBFZ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB0F\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB1S\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB2AA\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB3aa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB4AO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB5ao\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB6AU\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB7au\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB8AV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xB9av\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xBAAV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xBBav\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xBCAY\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9C\xBDay\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x80K\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x81k\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x82K\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x83k\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x84K\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x85k\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x86L\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x87l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x88L\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x89l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8AO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8Bo\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8CO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8Do\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8EOO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x8Foo\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x90P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x91p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x92P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x93p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x94P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x95p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x96Q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x97q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x98Q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x99q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x9EV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\x9Fv\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA0VY\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA1vy\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA4TH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA5th\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA6TH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xA7th\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB1d\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB2l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB3m\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB4n\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB5r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB6R\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB7t\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xB9D\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xBAd\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xBBF\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9D\xBCf\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x86T\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x87t\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x90N\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x91n\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x92C\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\x93c\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA0G\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA1g\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA2K\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA3k\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA4N\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA5n\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA6R\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA7r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA8S\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xA9s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEA\x9E\xAAH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x80ff\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x81fi\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x82fl\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x83ffi\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x84ffl\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x85st\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xAC\x86st\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA1A\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA2B\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA3C\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA4D\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA5E\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA6F\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA7G\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA8H\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA9I\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xAAJ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xABK\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xACL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xADM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xAEN\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xAFO\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB0P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB1Q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB2R\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB3S\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB4T\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB5U\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB6V\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB7W\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB8X\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xB9Y\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBAZ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x81a\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x82b\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x83c\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x84d\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x85e\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x86f\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x87g\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x88h\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x89i\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8Aj\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8Bk\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8Cl\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8Dm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8En\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x8Fo\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x90p\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x91q\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x92r\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x93s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x94t\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x95u\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x96v\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x97w\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x98x\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x99y\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9Az\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xA9(C)\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xAE(R)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xA0CE\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xA2Cr\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xA3Fr.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xA4L.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xA7Pts\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xB9Rs\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x82\xBATL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x80a/c\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x81a/s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x82C\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x85c/o\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x86c/u\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x8Ag\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x8BH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x8Cx\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x8DH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x8Eh\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x90I\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x91I\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x92L\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x93l\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x95N\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x96No\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x97(P)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x98P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x99P\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x9AQ\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x9BR\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x9CR\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x9DR\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\x9ERx\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xA1TEL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xA4Z\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xA8Z\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xACB\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xADC\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xAFe\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xB0E\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xB1F\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xB3M\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xB4o\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xB9i\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x84\xBBFAX\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x85D\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x86d\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x87e\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x88i\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x89j\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB1hPa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB2da\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB3AU\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB4bar\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB5oV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB6pc\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xB7dm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8D\xBAIU\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x80pA\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x81nA\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x83mA\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x84kA\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x85KB\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x86MB\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x87GB\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x88cal\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x89kcal\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x8ApF\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x8BnF\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x8Emg\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x8Fkg\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x90Hz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x91kHz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x92MHz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x93GHz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x94THz\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x99fm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x9Anm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x9Cmm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x9Dcm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\x9Ekm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xA7m/s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xA9Pa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xAAkPa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xABMPa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xACGPa\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xADrad\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xAErad/s\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB0ps\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB1ns\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB3ms\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB4pV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB5nV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB7mV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB8kV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xB9MV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xBApW\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xBBnW\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xBDmW\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xBEkW\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8E\xBFMW\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x82a.m.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x83Bq\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x84cc\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x85cd\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x86C/kg\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x87Co.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x88dB\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x89Gy\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8Aha\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8BHP\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8Cin\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8DKK\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8EKM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x8Fkt\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x90lm\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x91ln\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x92log\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x93lx\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x94mb\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x95mil\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x96mol\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x97pH\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x98p.m.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x99PPM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9APR\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9Bsr\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9CSv\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9DWb\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9EV/m\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x8F\x9FA/m\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9C(a)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9D(b)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9E(c)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9F(d)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA0(e)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA1(f)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA2(g)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA3(h)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA4(i)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA5(j)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA6(k)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA7(l)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA8(m)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xA9(n)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAA(o)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAB(p)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAC(q)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAD(r)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAE(s)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xAF(t)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB0(u)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB1(v)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB2(w)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB3(x)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB4(y)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\xB5(z)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x90(A)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x91(B)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x92(C)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x93(D)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x94(E)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x95(F)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x96(G)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x97(H)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x98(I)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x99(J)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9A(K)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9B(L)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9C(M)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9D(N)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9E(O)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x9F(P)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA0(Q)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA1(R)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA2(S)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA3(T)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA4(U)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA5(V)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA6(W)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA7(X)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA8(Y)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\xA9(Z)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA0I\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA1II\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA2III\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA3IV\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA4V\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA5VI\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA6VII\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA7VIII\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA8IX\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xA9X\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xAAXI\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xABXII\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xACL\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xADC\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xAED\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xAFM\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB0i\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB1ii\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB2iii\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB3iv\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB4v\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB5vi\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB6vii\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB7viii\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB8ix\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xB9x\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBAxi\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBBxii\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBCl\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBDc\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBEd\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\xBFm\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xBC 1/4\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xBD 1/2\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xBE 3/4\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x90 1/7\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x91 1/9\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x92 1/10\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x93 1/3\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x94 2/3\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x95 1/5\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x96 2/5\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x97 3/5\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x98 4/5\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x99 1/6\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9A 5/6\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9B 1/8\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9C 3/8\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9D 5/8\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9E 7/8\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x85\x9F 1/\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x86\x89 0/3\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB4(1)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB5(2)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB6(3)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB7(4)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB8(5)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xB9(6)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBA(7)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBB(8)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBC(9)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBD(10)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBE(11)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x91\xBF(12)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x80(13)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x81(14)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x82(15)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x83(16)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x84(17)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x85(18)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x86(19)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x87(20)\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x800.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x881.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x892.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8A3.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8B4.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8C5.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8D6.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8E7.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x8F8.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x909.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9110.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9211.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9312.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9413.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9514.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9615.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9716.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9817.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9918.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9A19.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x92\x9B20.\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x810,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x821,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x832,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x843,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x854,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x865,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x876,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x887,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x898,\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x04\0\0\0\xF0\x9F\x84\x8A9,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x870\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x900\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x911\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x922\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x933\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x944\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x955\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x966\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x977\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x988\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x999\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xA0 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x82 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x83 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x84 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x85 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x86 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x87 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x88 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x89 \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x8A \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x9F \x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x80 \x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xB9'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xBA\"\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xBB'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xBC'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCA\xBD'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x88'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x8B`\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x98'\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x99'\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9A,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9B'\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9C\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9D\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9E,,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x9F\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xB2'\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xB3\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x9D\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x9E\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x82\"\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x87'\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xAB<<\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xBB>>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xB9<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xBA>\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xAD-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x90-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x91-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x92-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x93-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x94-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x95-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB1-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB2-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x98-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA3-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8D-\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xA1!\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xBF?\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x82<\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x83>\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x84^\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x86^\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x90:\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x9C~\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\x96||\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xA4.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xA5..\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xA6...\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x80\xBC!!\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x84/\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x85[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x86]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x87??\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x88?!\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x89!?\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x81\x8E*\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x86\x90<-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x86\x92->\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x86\x94<->\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBF\xA9<-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBF\xAB->\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x81,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x82.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x88<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x89>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x8A<<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x8B>>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x94[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x95]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x98[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x99]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x9A[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE3\x80\x9B]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x90,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x91,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x92.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x93:\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x94;\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x95!\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x96?\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\x99...\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB0..\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB5(\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB6)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB7{\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB8}\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xB9[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xBA]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xBD<<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xBE>>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB8\xBF<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x80>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x87[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x88]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x90,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x91,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x92.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x94;\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x95:\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x96?\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x97!\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x99(\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9A)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9B{\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9C}\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9D[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9E]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\x9F#\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA0&\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA1*\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA2+\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA4<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA5>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA6=\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA8\\\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xA9$\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xAA%\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xB9\xAB@\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x81!\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x83#\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x84$\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x85%\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x86&\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x88(\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x89)\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8A*\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8B+\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8C,\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8E.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x8F/\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9A:\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9B;\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9C<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9D=\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9E>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\x9F?\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xA0@\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBB[\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBC\\\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBD]\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBE^\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBC\xBF_\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x80`\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9B{\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9C|\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9D}\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9E~\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\x9F((\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\xA0))\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\xA1.\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xEF\xBD\xA4,\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC2\xB1+/-\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\x97*\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xC3\xB7/\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x96+\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\xCB\x97-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x88\x92-\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x88\x95/\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x88\x96\\\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x88\xA3|\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x88\xA5||\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x89\xAA<<\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\x89\xAB>>\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xA6\x85((\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xA6\x86))\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xA9\xB4::=\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xA9\xB5==\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\xE2\xA9\xB6===") }, dependencies: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x02\0\0\0\0\0\t\0x-any-nfcx-any-nfd") }, }; + static UND__UND_T_UND_D0_TEST_M0_HEXRUST_S0_TEST: ::Yokeable = icu::transliteration::provider::RuleBasedTransliterator { + visibility: true, + variable_table: icu::transliteration::provider::VarTable { compounds: zerovec::VarZeroVec::new(), quantifiers_opt: zerovec::VarZeroVec::new(), quantifiers_kleene: zerovec::VarZeroVec::new(), quantifiers_kleene_plus: zerovec::VarZeroVec::new(), segments: zerovec::VarZeroVec::new(), unicode_sets: zerovec::VarZeroVec::new(), function_calls: zerovec::VarZeroVec::new(), max_left_placeholder_count: 0u16, max_right_placeholder_count: 0u16 }, + filter: unsafe { + #[allow(unused_unsafe)] + icu::collections::codepointinvlist::CodePointInversionList::from_parts_unchecked(unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0\0\0\0\0\x11\0") }, 1114112u32) + }, + id_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0\x01\0\0\0\0\0\x02\0\0\0\0\0\0\0\x0C\0\0\0\0\0\x11\0\0\0\0\0\0\0\x11\0x-any-hex-rust") }, + rule_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0") }, + dependencies: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0x-any-hex-rust") }, + }; + static UND__UND_T_UND_D0_TEST_M0_HEXUNI_S0_TEST: ::Yokeable = icu::transliteration::provider::RuleBasedTransliterator { + visibility: true, + variable_table: icu::transliteration::provider::VarTable { compounds: zerovec::VarZeroVec::new(), quantifiers_opt: zerovec::VarZeroVec::new(), quantifiers_kleene: zerovec::VarZeroVec::new(), quantifiers_kleene_plus: zerovec::VarZeroVec::new(), segments: zerovec::VarZeroVec::new(), unicode_sets: zerovec::VarZeroVec::new(), function_calls: zerovec::VarZeroVec::new(), max_left_placeholder_count: 0u16, max_right_placeholder_count: 0u16 }, + filter: unsafe { + #[allow(unused_unsafe)] + icu::collections::codepointinvlist::CodePointInversionList::from_parts_unchecked(unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0\0\0\0\0\x11\0") }, 1114112u32) + }, + id_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0\x01\0\0\0\0\0\x02\0\0\0\0\0\0\0\x0C\0\0\0\0\0\x11\0\0\0\0\0\0\0\x11\0x-any-hex-unicode") }, + rule_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0") }, + dependencies: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0x-any-hex-unicode") }, + }; static UND__UND_LATN_T_S0_ASCII: ::Yokeable = icu::transliteration::provider::RuleBasedTransliterator { visibility: true, variable_table: icu::transliteration::provider::VarTable { compounds: zerovec::VarZeroVec::new(), quantifiers_opt: zerovec::VarZeroVec::new(), quantifiers_kleene: zerovec::VarZeroVec::new(), quantifiers_kleene_plus: zerovec::VarZeroVec::new(), segments: zerovec::VarZeroVec::new(), unicode_sets: zerovec::VarZeroVec::new(), function_calls: zerovec::VarZeroVec::new(), max_left_placeholder_count: 0u16, max_right_placeholder_count: 0u16 }, @@ -163,8 +185,8 @@ macro_rules! __impl_transliterator_rules_v1 { rule_group_list: unsafe { zerovec::VarZeroVec::from_bytes_unchecked(b"\x01\0\0\0\0\0\x02\0\0\0\0\0\x1B\0\x04\0\0\0\0\0\0\0\x01\0\0\0\x02\0\0\0\x02\0\0\0xa\xF3\xB0\x80\x80b\x04\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x01\0\0\0xbad") }, dependencies: zerovec::VarZeroVec::new(), }; - static VALUES: [&::Yokeable; 14usize] = [&UND__DE_T_DE_D0_ASCII, &UND__EL_LATN_T_EL_M0_BGN, &UND__UND_ARAB_T_S0_INTINDIC, &UND__UND_ARAB_T_UND_BENG, &UND__UND_LATN_T_S0_ASCII, &UND__UND_T_D0_PUBLISH, &UND__UND_T_S0_PUBLISH, &UND__UND_T_UND_BENG_D0_INTINDIC, &UND__UND_T_UND_LATN_D0_ASCII, &UND__UND_T_UND_D0_TEST_M0_CURSFILT_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_EMTYMACH_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_NIELS_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_RECTESTA_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_RECTESTR_S0_TEST]; - static KEYS: [&str; 14usize] = ["und+de-t-de-d0-ascii", "und+el-Latn-t-el-m0-bgn", "und+und-Arab-t-s0-intindic", "und+und-Arab-t-und-Beng", "und+und-Latn-t-s0-ascii", "und+und-t-d0-publish", "und+und-t-s0-publish", "und+und-t-und-Beng-d0-intindic", "und+und-t-und-Latn-d0-ascii", "und+und-t-und-d0-test-m0-cursfilt-s0-test", "und+und-t-und-d0-test-m0-emtymach-s0-test", "und+und-t-und-d0-test-m0-niels-s0-test", "und+und-t-und-d0-test-m0-rectesta-s0-test", "und+und-t-und-d0-test-m0-rectestr-s0-test"]; + static VALUES: [&::Yokeable; 16usize] = [&UND__DE_T_DE_D0_ASCII, &UND__EL_LATN_T_EL_M0_BGN, &UND__UND_ARAB_T_S0_INTINDIC, &UND__UND_ARAB_T_UND_BENG, &UND__UND_LATN_T_S0_ASCII, &UND__UND_T_D0_PUBLISH, &UND__UND_T_S0_PUBLISH, &UND__UND_T_UND_BENG_D0_INTINDIC, &UND__UND_T_UND_LATN_D0_ASCII, &UND__UND_T_UND_D0_TEST_M0_CURSFILT_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_EMTYMACH_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_HEXRUST_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_HEXUNI_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_NIELS_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_RECTESTA_S0_TEST, &UND__UND_T_UND_D0_TEST_M0_RECTESTR_S0_TEST]; + static KEYS: [&str; 16usize] = ["und+de-t-de-d0-ascii", "und+el-Latn-t-el-m0-bgn", "und+und-Arab-t-s0-intindic", "und+und-Arab-t-und-Beng", "und+und-Latn-t-s0-ascii", "und+und-t-d0-publish", "und+und-t-s0-publish", "und+und-t-und-Beng-d0-intindic", "und+und-t-und-Latn-d0-ascii", "und+und-t-und-d0-test-m0-cursfilt-s0-test", "und+und-t-und-d0-test-m0-emtymach-s0-test", "und+und-t-und-d0-test-m0-hexrust-s0-test", "und+und-t-und-d0-test-m0-hexuni-s0-test", "und+und-t-und-d0-test-m0-niels-s0-test", "und+und-t-und-d0-test-m0-rectesta-s0-test", "und+und-t-und-d0-test-m0-rectestr-s0-test"]; if let Ok(payload) = KEYS.binary_search_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).map(|i| *unsafe { VALUES.get_unchecked(i) }) { Ok(icu_provider::DataResponse { payload: Some(icu_provider::DataPayload::from_static_ref(payload)), metadata: Default::default() }) } else { diff --git a/experimental/transliteration/src/transliterator/hardcoded.rs b/experimental/transliteration/src/transliterator/hardcoded.rs new file mode 100644 index 00000000000..09ba9d3e522 --- /dev/null +++ b/experimental/transliteration/src/transliterator/hardcoded.rs @@ -0,0 +1,86 @@ +// This file is part of ICU4X. For terms of use, please see the file +// called LICENSE at the top level of the ICU4X source tree +// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). + +//! This module defines implementations for code-based transliterators that are part of +//! transform rules. + +use crate::transliterator::replaceable::{Forward, Replaceable, Utf8Matcher}; + +/// A transliterator that replaces every character with its `case`-case hexadecimal representation, +/// 0-padded to `min_length`, and surrounded by `prefix` and `suffix`. +#[derive(Debug)] +pub(super) struct HexTransliterator { + prefix: &'static str, + suffix: &'static str, + min_length: u8, + case: Case, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(super) enum Case { + Upper, + Lower, +} + +impl HexTransliterator { + pub(super) fn new( + prefix: &'static str, + suffix: &'static str, + min_length: u8, + case: Case, + ) -> Self { + Self { + prefix, + suffix, + min_length, + case, + } + } + + pub(super) fn transliterate(&self, mut rep: Replaceable) { + while !rep.is_finished() { + let mut matcher = rep.start_match(); + // Thought: ok this fully specified path is annoying, maybe a separate API surface is + // better for Forward vs Reverse matching. + let c = Utf8Matcher::::next_char(&matcher); + // there must always be a char, because we just checked that `rep` is not finished yet. + let c = c.unwrap(); + Utf8Matcher::::match_and_consume_char(&mut matcher, c); + let mut dest = matcher.finish_match(); + + let c_u32 = c as u32; + // rounding-up division by 4 + let length = (u32::BITS - c_u32.leading_zeros() + 3) / 4; + let padding = self.min_length.saturating_sub(length as u8); + dest.apply_size_hint( + self.prefix.len() + padding as usize + length as usize + self.suffix.len(), + ); + + dest.push_str(self.prefix); + for _ in 0..padding { + dest.push_str("0"); + } + let mut remaining_c = c_u32; + // temporary buffer because forward iteration through a u32's bytes is easier and + // we need the reverse order + let mut buf = [0; 6]; + for slot in buf.iter_mut() { + if c_u32 == 0 { + break; + } + *slot = match remaining_c & 0xF { + x @ 0x0..=0x9 => b'0' + x as u8, + x @ 0xA..=0xF if self.case == Case::Lower => b'a' + (x - 0xA) as u8, + x => b'A' + (x - 0xA) as u8, + }; + remaining_c >>= 4; + } + // only `length` hex digits are actually from the char + for c in buf[..length as usize].iter().rev() { + dest.push(*c as char); + } + dest.push_str(self.suffix); + } + } +} diff --git a/experimental/transliteration/src/transliterator/mod.rs b/experimental/transliteration/src/transliterator/mod.rs index fa52a56897a..8f04cb6ca54 100644 --- a/experimental/transliteration/src/transliterator/mod.rs +++ b/experimental/transliteration/src/transliterator/mod.rs @@ -2,11 +2,13 @@ // called LICENSE at the top level of the ICU4X source tree // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). +mod hardcoded; #[allow(clippy::indexing_slicing, clippy::unwrap_used)] // TODO(#3958): Remove. mod replaceable; use crate::provider::{FunctionCall, Rule, RuleULE, SimpleId, VarTable}; use crate::provider::{RuleBasedTransliterator, Segment, TransliteratorRulesV1Marker}; +use crate::transliterator::hardcoded::Case; use crate::TransliteratorError; use alloc::boxed::Box; use alloc::string::{String, ToString}; @@ -123,6 +125,7 @@ enum InternalTransliterator { RuleBased(DataPayload), Composing(ComposingTransliterator), Decomposing(DecomposingTransliterator), + Hex(hardcoded::HexTransliterator), Null, Remove, Dyn(Box), @@ -135,6 +138,7 @@ impl InternalTransliterator { // TODO(#3910): internal hardcoded transliterators Self::Composing(t) => t.transliterate(rep, env), Self::Decomposing(t) => t.transliterate(rep, env), + Self::Hex(t) => t.transliterate(rep), Self::Null => (), Self::Remove => rep.replace_modifiable_with_str(""), Self::Dyn(custom) => { @@ -392,6 +396,21 @@ impl Transliterator { )), "any-null" => Ok(InternalTransliterator::Null), "any-remove" => Ok(InternalTransliterator::Remove), + "any-hex-unicode" => Ok(InternalTransliterator::Hex( + hardcoded::HexTransliterator::new("U+", "", 4, Case::Upper), + )), + "any-hex-rust" => Ok(InternalTransliterator::Hex( + hardcoded::HexTransliterator::new("\\u{", "}", 2, Case::Lower), + )), + "any-hex-xml" => Ok(InternalTransliterator::Hex( + hardcoded::HexTransliterator::new("&#x", ";", 1, Case::Upper), + )), + "any-hex-perl" => Ok(InternalTransliterator::Hex( + hardcoded::HexTransliterator::new("\\x{", "}", 1, Case::Upper), + )), + "any-hex-plain" => Ok(InternalTransliterator::Hex( + hardcoded::HexTransliterator::new("", "", 4, Case::Upper), + )), s => Err(DataError::custom("unavailable transliterator") .with_debug_context(s) .into()), @@ -1364,4 +1383,22 @@ mod tests { let output = "aa"; assert_eq!(t.transliterate(input.to_string()), output); } + + #[test] + fn test_hex_rust() { + let t = Transliterator::try_new("und-t-und-s0-test-d0-test-m0-hexrust".parse().unwrap()) + .unwrap(); + let input = "\0äa\u{10FFFF}❤!"; + let output = r"\u{00}\u{e4}\u{61}\u{10ffff}\u{2764}\u{21}"; + assert_eq!(t.transliterate(input.to_string()), output); + } + + #[test] + fn test_hex_unicode() { + let t = Transliterator::try_new("und-t-und-s0-test-d0-test-m0-hexuni".parse().unwrap()) + .unwrap(); + let input = "\0äa\u{10FFFF}❤!"; + let output = "U+0000U+00E4U+0061U+10FFFFU+2764U+0021"; + assert_eq!(t.transliterate(input.to_string()), output); + } } diff --git a/experimental/transliteration/src/transliterator/replaceable.rs b/experimental/transliteration/src/transliterator/replaceable.rs index b336e727e1b..58d1e34014e 100644 --- a/experimental/transliteration/src/transliterator/replaceable.rs +++ b/experimental/transliteration/src/transliterator/replaceable.rs @@ -427,6 +427,10 @@ impl<'a, 'b> RepMatcher<'a, 'b, true> { // we can only finish matching the key once impl<'a, 'b> RepMatcher<'a, 'b, false> { + pub(super) fn finish_match(self) -> Insertable<'a, 'b> { + Insertable::from_matcher(self.finish_key()) + } + pub(super) fn finish_key(self) -> RepMatcher<'a, 'b, true> { RepMatcher { rep: self.rep, diff --git a/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/metadata.json b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/metadata.json new file mode 100644 index 00000000000..02406d6e1d2 --- /dev/null +++ b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/metadata.json @@ -0,0 +1,9 @@ +{ + "direction": "forward", + "source": "Test", + "target": "Test", + "variant": "HexRustWrapper", + "alias": [ + "und-t-und-s0-test-d0-test-m0-hexrust" + ] +} \ No newline at end of file diff --git a/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/source.txt b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/source.txt new file mode 100644 index 00000000000..4eba3086843 --- /dev/null +++ b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexRustWrapper/source.txt @@ -0,0 +1 @@ +:: Hex/Rust ; \ No newline at end of file diff --git a/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/metadata.json b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/metadata.json new file mode 100644 index 00000000000..ab5efb7bdb9 --- /dev/null +++ b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/metadata.json @@ -0,0 +1,9 @@ +{ + "direction": "forward", + "source": "Test", + "target": "Test", + "variant": "HexUnicodeWrapper", + "alias": [ + "und-t-und-s0-test-d0-test-m0-hexuni" + ] +} \ No newline at end of file diff --git a/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/source.txt b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/source.txt new file mode 100644 index 00000000000..03805a8ffd1 --- /dev/null +++ b/provider/datagen/tests/data/cldr/cldr-transforms-full/main/Test-Test-HexUnicodeWrapper/source.txt @@ -0,0 +1,3 @@ +# TODO(#3909): remove this and use the BCP47 id directly + +:: Hex/Unicode ; \ No newline at end of file diff --git a/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexrust-s0-test.json b/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexrust-s0-test.json new file mode 100644 index 00000000000..65552271496 --- /dev/null +++ b/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexrust-s0-test.json @@ -0,0 +1,33 @@ +{ + "visibility": true, + "variable_table": { + "compounds": [], + "quantifiers_opt": [], + "quantifiers_kleene": [], + "quantifiers_kleene_plus": [], + "segments": [], + "unicode_sets": [], + "function_calls": [], + "max_left_placeholder_count": 0, + "max_right_placeholder_count": 0 + }, + "filter": [ + "\u0000-􏿿" + ], + "id_group_list": [ + [ + { + "filter": [ + "\u0000-􏿿" + ], + "id": "x-any-hex-rust" + } + ] + ], + "rule_group_list": [ + [] + ], + "dependencies": [ + "x-any-hex-rust" + ] +} diff --git a/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexuni-s0-test.json b/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexuni-s0-test.json new file mode 100644 index 00000000000..9774bc044a5 --- /dev/null +++ b/provider/datagen/tests/data/json/transliterator/rules@1/und+und-t-und-d0-test-m0-hexuni-s0-test.json @@ -0,0 +1,33 @@ +{ + "visibility": true, + "variable_table": { + "compounds": [], + "quantifiers_opt": [], + "quantifiers_kleene": [], + "quantifiers_kleene_plus": [], + "segments": [], + "unicode_sets": [], + "function_calls": [], + "max_left_placeholder_count": 0, + "max_right_placeholder_count": 0 + }, + "filter": [ + "\u0000-􏿿" + ], + "id_group_list": [ + [ + { + "filter": [ + "\u0000-􏿿" + ], + "id": "x-any-hex-unicode" + } + ] + ], + "rule_group_list": [ + [] + ], + "dependencies": [ + "x-any-hex-unicode" + ] +} diff --git a/provider/datagen/tests/data/postcard/fingerprints.csv b/provider/datagen/tests/data/postcard/fingerprints.csv index da4869df246..d5060423122 100644 --- a/provider/datagen/tests/data/postcard/fingerprints.csv +++ b/provider/datagen/tests/data/postcard/fingerprints.csv @@ -2057,6 +2057,8 @@ transliterator/rules@1, und+und-t-und-Beng-d0-intindic, 2621B, 24a04df29d08559d transliterator/rules@1, und+und-t-und-Latn-d0-ascii, 27110B, c66743617e3238ff transliterator/rules@1, und+und-t-und-d0-test-m0-cursfilt-s0-test, 93B, ac67e05bc986cd23 transliterator/rules@1, und+und-t-und-d0-test-m0-emtymach-s0-test, 105B, 12b65cade4ce4468 +transliterator/rules@1, und+und-t-und-d0-test-m0-hexrust-s0-test, 98B, b8802989a6bfec0f +transliterator/rules@1, und+und-t-und-d0-test-m0-hexuni-s0-test, 104B, 4335c71013bd81d transliterator/rules@1, und+und-t-und-d0-test-m0-niels-s0-test, 1800B, 6a560a4143a4b60c transliterator/rules@1, und+und-t-und-d0-test-m0-rectesta-s0-test, 370B, af652bcb33e1038b transliterator/rules@1, und+und-t-und-d0-test-m0-rectestr-s0-test, 281B, 51be7571fd233bd6