1 {-# LANGUAGE Rank2Types #-}
    2 -- AUTOMATICALLY GENERATED - DO NOT EDIT
    3 -- Generated by scripts/SpecialCasing.hs
    4 module Data.Text.Fusion.CaseMapping where
    5 import Data.Char
    6 import Data.Text.Fusion.Internal
    7 
    8 upperMapping :: forall s. Char -> s -> Step (CC s) Char
    9 {-# INLINE upperMapping #-}
   10 -- LATIN SMALL LETTER SHARP S
   11 -- entered 6563 timesupperMapping '\x00df' s = Yield '\x0053' (CC s '\x0053' '\x0000')
   12 -- LATIN SMALL LIGATURE FF
   13 upperMapping '\xfb00' s = Yield '\x0046' (CC s '\x0046' '\x0000')
   14 -- LATIN SMALL LIGATURE FI
   15 upperMapping '\xfb01' s = Yield '\x0046' (CC s '\x0049' '\x0000')
   16 -- LATIN SMALL LIGATURE FL
   17 upperMapping '\xfb02' s = Yield '\x0046' (CC s '\x004c' '\x0000')
   18 -- LATIN SMALL LIGATURE FFI
   19 upperMapping '\xfb03' s = Yield '\x0046' (CC s '\x0046' '\x0049')
   20 -- LATIN SMALL LIGATURE FFL
   21 upperMapping '\xfb04' s = Yield '\x0046' (CC s '\x0046' '\x004c')
   22 -- LATIN SMALL LIGATURE LONG S T
   23 upperMapping '\xfb05' s = Yield '\x0053' (CC s '\x0054' '\x0000')
   24 -- LATIN SMALL LIGATURE ST
   25 upperMapping '\xfb06' s = Yield '\x0053' (CC s '\x0054' '\x0000')
   26 -- ARMENIAN SMALL LIGATURE ECH YIWN
   27 upperMapping '\x0587' s = Yield '\x0535' (CC s '\x0552' '\x0000')
   28 -- ARMENIAN SMALL LIGATURE MEN NOW
   29 upperMapping '\xfb13' s = Yield '\x0544' (CC s '\x0546' '\x0000')
   30 -- ARMENIAN SMALL LIGATURE MEN ECH
   31 upperMapping '\xfb14' s = Yield '\x0544' (CC s '\x0535' '\x0000')
   32 -- ARMENIAN SMALL LIGATURE MEN INI
   33 upperMapping '\xfb15' s = Yield '\x0544' (CC s '\x053b' '\x0000')
   34 -- ARMENIAN SMALL LIGATURE VEW NOW
   35 upperMapping '\xfb16' s = Yield '\x054e' (CC s '\x0546' '\x0000')
   36 -- ARMENIAN SMALL LIGATURE MEN XEH
   37 upperMapping '\xfb17' s = Yield '\x0544' (CC s '\x053d' '\x0000')
   38 -- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
   39 upperMapping '\x0149' s = Yield '\x02bc' (CC s '\x004e' '\x0000')
   40 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
   41 upperMapping '\x0390' s = Yield '\x0399' (CC s '\x0308' '\x0301')
   42 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
   43 upperMapping '\x03b0' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
   44 -- LATIN SMALL LETTER J WITH CARON
   45 upperMapping '\x01f0' s = Yield '\x004a' (CC s '\x030c' '\x0000')
   46 -- LATIN SMALL LETTER H WITH LINE BELOW
   47 upperMapping '\x1e96' s = Yield '\x0048' (CC s '\x0331' '\x0000')
   48 -- LATIN SMALL LETTER T WITH DIAERESIS
   49 upperMapping '\x1e97' s = Yield '\x0054' (CC s '\x0308' '\x0000')
   50 -- LATIN SMALL LETTER W WITH RING ABOVE
   51 upperMapping '\x1e98' s = Yield '\x0057' (CC s '\x030a' '\x0000')
   52 -- LATIN SMALL LETTER Y WITH RING ABOVE
   53 upperMapping '\x1e99' s = Yield '\x0059' (CC s '\x030a' '\x0000')
   54 -- LATIN SMALL LETTER A WITH RIGHT HALF RING
   55 upperMapping '\x1e9a' s = Yield '\x0041' (CC s '\x02be' '\x0000')
   56 -- GREEK SMALL LETTER UPSILON WITH PSILI
   57 upperMapping '\x1f50' s = Yield '\x03a5' (CC s '\x0313' '\x0000')
   58 -- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
   59 upperMapping '\x1f52' s = Yield '\x03a5' (CC s '\x0313' '\x0300')
   60 -- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
   61 upperMapping '\x1f54' s = Yield '\x03a5' (CC s '\x0313' '\x0301')
   62 -- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
   63 upperMapping '\x1f56' s = Yield '\x03a5' (CC s '\x0313' '\x0342')
   64 -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
   65 upperMapping '\x1fb6' s = Yield '\x0391' (CC s '\x0342' '\x0000')
   66 -- GREEK SMALL LETTER ETA WITH PERISPOMENI
   67 upperMapping '\x1fc6' s = Yield '\x0397' (CC s '\x0342' '\x0000')
   68 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
   69 upperMapping '\x1fd2' s = Yield '\x0399' (CC s '\x0308' '\x0300')
   70 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
   71 upperMapping '\x1fd3' s = Yield '\x0399' (CC s '\x0308' '\x0301')
   72 -- GREEK SMALL LETTER IOTA WITH PERISPOMENI
   73 upperMapping '\x1fd6' s = Yield '\x0399' (CC s '\x0342' '\x0000')
   74 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
   75 upperMapping '\x1fd7' s = Yield '\x0399' (CC s '\x0308' '\x0342')
   76 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
   77 upperMapping '\x1fe2' s = Yield '\x03a5' (CC s '\x0308' '\x0300')
   78 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
   79 upperMapping '\x1fe3' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
   80 -- GREEK SMALL LETTER RHO WITH PSILI
   81 upperMapping '\x1fe4' s = Yield '\x03a1' (CC s '\x0313' '\x0000')
   82 -- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
   83 upperMapping '\x1fe6' s = Yield '\x03a5' (CC s '\x0342' '\x0000')
   84 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
   85 upperMapping '\x1fe7' s = Yield '\x03a5' (CC s '\x0308' '\x0342')
   86 -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
   87 upperMapping '\x1ff6' s = Yield '\x03a9' (CC s '\x0342' '\x0000')
   88 -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
   89 upperMapping '\x1f80' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
   90 -- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
   91 upperMapping '\x1f81' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
   92 -- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
   93 upperMapping '\x1f82' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
   94 -- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
   95 upperMapping '\x1f83' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
   96 -- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
   97 upperMapping '\x1f84' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
   98 -- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
   99 upperMapping '\x1f85' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
  100 -- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  101 upperMapping '\x1f86' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
  102 -- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  103 upperMapping '\x1f87' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
  104 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
  105 upperMapping '\x1f88' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
  106 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
  107 upperMapping '\x1f89' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
  108 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  109 upperMapping '\x1f8a' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
  110 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  111 upperMapping '\x1f8b' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
  112 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  113 upperMapping '\x1f8c' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
  114 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  115 upperMapping '\x1f8d' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
  116 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  117 upperMapping '\x1f8e' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
  118 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  119 upperMapping '\x1f8f' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
  120 -- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
  121 upperMapping '\x1f90' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
  122 -- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
  123 upperMapping '\x1f91' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
  124 -- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
  125 upperMapping '\x1f92' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
  126 -- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
  127 upperMapping '\x1f93' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
  128 -- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
  129 upperMapping '\x1f94' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
  130 -- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
  131 upperMapping '\x1f95' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
  132 -- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  133 upperMapping '\x1f96' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
  134 -- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  135 upperMapping '\x1f97' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
  136 -- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
  137 upperMapping '\x1f98' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
  138 -- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
  139 upperMapping '\x1f99' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
  140 -- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  141 upperMapping '\x1f9a' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
  142 -- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  143 upperMapping '\x1f9b' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
  144 -- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  145 upperMapping '\x1f9c' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
  146 -- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  147 upperMapping '\x1f9d' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
  148 -- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  149 upperMapping '\x1f9e' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
  150 -- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  151 upperMapping '\x1f9f' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
  152 -- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
  153 upperMapping '\x1fa0' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
  154 -- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
  155 upperMapping '\x1fa1' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
  156 -- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
  157 upperMapping '\x1fa2' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
  158 -- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
  159 upperMapping '\x1fa3' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
  160 -- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
  161 upperMapping '\x1fa4' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
  162 -- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
  163 upperMapping '\x1fa5' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
  164 -- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  165 upperMapping '\x1fa6' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
  166 -- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  167 upperMapping '\x1fa7' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
  168 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
  169 upperMapping '\x1fa8' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
  170 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
  171 upperMapping '\x1fa9' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
  172 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  173 upperMapping '\x1faa' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
  174 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  175 upperMapping '\x1fab' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
  176 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  177 upperMapping '\x1fac' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
  178 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  179 upperMapping '\x1fad' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
  180 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  181 upperMapping '\x1fae' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
  182 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  183 upperMapping '\x1faf' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
  184 -- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
  185 upperMapping '\x1fb3' s = Yield '\x0391' (CC s '\x0399' '\x0000')
  186 -- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
  187 upperMapping '\x1fbc' s = Yield '\x0391' (CC s '\x0399' '\x0000')
  188 -- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
  189 upperMapping '\x1fc3' s = Yield '\x0397' (CC s '\x0399' '\x0000')
  190 -- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
  191 upperMapping '\x1fcc' s = Yield '\x0397' (CC s '\x0399' '\x0000')
  192 -- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
  193 upperMapping '\x1ff3' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
  194 -- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
  195 upperMapping '\x1ffc' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
  196 -- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
  197 upperMapping '\x1fb2' s = Yield '\x1fba' (CC s '\x0399' '\x0000')
  198 -- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
  199 upperMapping '\x1fb4' s = Yield '\x0386' (CC s '\x0399' '\x0000')
  200 -- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
  201 upperMapping '\x1fc2' s = Yield '\x1fca' (CC s '\x0399' '\x0000')
  202 -- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
  203 upperMapping '\x1fc4' s = Yield '\x0389' (CC s '\x0399' '\x0000')
  204 -- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
  205 upperMapping '\x1ff2' s = Yield '\x1ffa' (CC s '\x0399' '\x0000')
  206 -- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
  207 upperMapping '\x1ff4' s = Yield '\x038f' (CC s '\x0399' '\x0000')
  208 -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
  209 upperMapping '\x1fb7' s = Yield '\x0391' (CC s '\x0342' '\x0399')
  210 -- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
  211 upperMapping '\x1fc7' s = Yield '\x0397' (CC s '\x0342' '\x0399')
  212 -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
  213 upperMapping '\x1ff7' s = Yield '\x03a9' (CC s '\x0342' '\x0399')
  214 upperMapping c s = Yield (toUpper c) (CC s '\0' '\0')
  215 lowerMapping :: forall s. Char -> s -> Step (CC s) Char
  216 {-# INLINE lowerMapping #-}
  217 -- LATIN CAPITAL LETTER I WITH DOT ABOVE
  218 -- entered 6312 timeslowerMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
  219 lowerMapping c s = Yield (toLower c) (CC s '\0' '\0')
  220 foldMapping :: forall s. Char -> s -> Step (CC s) Char
  221 {-# INLINE foldMapping #-}
  222 -- MICRO SIGN
  223 -- entered 8042 timesfoldMapping '\x00b5' s = Yield '\x03bc' (CC s '\x0000' '\x0000')
  224 -- LATIN SMALL LETTER SHARP S
  225 foldMapping '\x00df' s = Yield '\x0073' (CC s '\x0073' '\x0000')
  226 -- LATIN CAPITAL LETTER I WITH DOT ABOVE
  227 foldMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
  228 -- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
  229 foldMapping '\x0149' s = Yield '\x02bc' (CC s '\x006e' '\x0000')
  230 -- LATIN SMALL LETTER LONG S
  231 foldMapping '\x017f' s = Yield '\x0073' (CC s '\x0000' '\x0000')
  232 -- LATIN SMALL LETTER J WITH CARON
  233 foldMapping '\x01f0' s = Yield '\x006a' (CC s '\x030c' '\x0000')
  234 -- COMBINING GREEK YPOGEGRAMMENI
  235 foldMapping '\x0345' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
  236 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
  237 foldMapping '\x0390' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
  238 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
  239 foldMapping '\x03b0' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
  240 -- GREEK SMALL LETTER FINAL SIGMA
  241 foldMapping '\x03c2' s = Yield '\x03c3' (CC s '\x0000' '\x0000')
  242 -- GREEK BETA SYMBOL
  243 foldMapping '\x03d0' s = Yield '\x03b2' (CC s '\x0000' '\x0000')
  244 -- GREEK THETA SYMBOL
  245 foldMapping '\x03d1' s = Yield '\x03b8' (CC s '\x0000' '\x0000')
  246 -- GREEK PHI SYMBOL
  247 foldMapping '\x03d5' s = Yield '\x03c6' (CC s '\x0000' '\x0000')
  248 -- GREEK PI SYMBOL
  249 foldMapping '\x03d6' s = Yield '\x03c0' (CC s '\x0000' '\x0000')
  250 -- GREEK KAPPA SYMBOL
  251 foldMapping '\x03f0' s = Yield '\x03ba' (CC s '\x0000' '\x0000')
  252 -- GREEK RHO SYMBOL
  253 foldMapping '\x03f1' s = Yield '\x03c1' (CC s '\x0000' '\x0000')
  254 -- GREEK LUNATE EPSILON SYMBOL
  255 foldMapping '\x03f5' s = Yield '\x03b5' (CC s '\x0000' '\x0000')
  256 -- ARMENIAN SMALL LIGATURE ECH YIWN
  257 foldMapping '\x0587' s = Yield '\x0565' (CC s '\x0582' '\x0000')
  258 -- LATIN SMALL LETTER H WITH LINE BELOW
  259 foldMapping '\x1e96' s = Yield '\x0068' (CC s '\x0331' '\x0000')
  260 -- LATIN SMALL LETTER T WITH DIAERESIS
  261 foldMapping '\x1e97' s = Yield '\x0074' (CC s '\x0308' '\x0000')
  262 -- LATIN SMALL LETTER W WITH RING ABOVE
  263 foldMapping '\x1e98' s = Yield '\x0077' (CC s '\x030a' '\x0000')
  264 -- LATIN SMALL LETTER Y WITH RING ABOVE
  265 foldMapping '\x1e99' s = Yield '\x0079' (CC s '\x030a' '\x0000')
  266 -- LATIN SMALL LETTER A WITH RIGHT HALF RING
  267 foldMapping '\x1e9a' s = Yield '\x0061' (CC s '\x02be' '\x0000')
  268 -- LATIN SMALL LETTER LONG S WITH DOT ABOVE
  269 foldMapping '\x1e9b' s = Yield '\x1e61' (CC s '\x0000' '\x0000')
  270 -- LATIN CAPITAL LETTER SHARP S
  271 foldMapping '\x1e9e' s = Yield '\x0073' (CC s '\x0073' '\x0000')
  272 -- GREEK SMALL LETTER UPSILON WITH PSILI
  273 foldMapping '\x1f50' s = Yield '\x03c5' (CC s '\x0313' '\x0000')
  274 -- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
  275 foldMapping '\x1f52' s = Yield '\x03c5' (CC s '\x0313' '\x0300')
  276 -- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
  277 foldMapping '\x1f54' s = Yield '\x03c5' (CC s '\x0313' '\x0301')
  278 -- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
  279 foldMapping '\x1f56' s = Yield '\x03c5' (CC s '\x0313' '\x0342')
  280 -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
  281 foldMapping '\x1f80' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
  282 -- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
  283 foldMapping '\x1f81' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
  284 -- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
  285 foldMapping '\x1f82' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
  286 -- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
  287 foldMapping '\x1f83' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
  288 -- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
  289 foldMapping '\x1f84' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
  290 -- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
  291 foldMapping '\x1f85' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
  292 -- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  293 foldMapping '\x1f86' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
  294 -- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  295 foldMapping '\x1f87' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
  296 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
  297 foldMapping '\x1f88' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
  298 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
  299 foldMapping '\x1f89' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
  300 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  301 foldMapping '\x1f8a' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
  302 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  303 foldMapping '\x1f8b' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
  304 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  305 foldMapping '\x1f8c' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
  306 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  307 foldMapping '\x1f8d' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
  308 -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  309 foldMapping '\x1f8e' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
  310 -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  311 foldMapping '\x1f8f' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
  312 -- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
  313 foldMapping '\x1f90' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
  314 -- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
  315 foldMapping '\x1f91' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
  316 -- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
  317 foldMapping '\x1f92' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
  318 -- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
  319 foldMapping '\x1f93' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
  320 -- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
  321 foldMapping '\x1f94' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
  322 -- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
  323 foldMapping '\x1f95' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
  324 -- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  325 foldMapping '\x1f96' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
  326 -- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  327 foldMapping '\x1f97' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
  328 -- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
  329 foldMapping '\x1f98' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
  330 -- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
  331 foldMapping '\x1f99' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
  332 -- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  333 foldMapping '\x1f9a' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
  334 -- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  335 foldMapping '\x1f9b' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
  336 -- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  337 foldMapping '\x1f9c' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
  338 -- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  339 foldMapping '\x1f9d' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
  340 -- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  341 foldMapping '\x1f9e' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
  342 -- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  343 foldMapping '\x1f9f' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
  344 -- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
  345 foldMapping '\x1fa0' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
  346 -- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
  347 foldMapping '\x1fa1' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
  348 -- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
  349 foldMapping '\x1fa2' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
  350 -- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
  351 foldMapping '\x1fa3' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
  352 -- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
  353 foldMapping '\x1fa4' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
  354 -- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
  355 foldMapping '\x1fa5' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
  356 -- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
  357 foldMapping '\x1fa6' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
  358 -- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
  359 foldMapping '\x1fa7' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
  360 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
  361 foldMapping '\x1fa8' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
  362 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
  363 foldMapping '\x1fa9' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
  364 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  365 foldMapping '\x1faa' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
  366 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  367 foldMapping '\x1fab' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
  368 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  369 foldMapping '\x1fac' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
  370 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  371 foldMapping '\x1fad' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
  372 -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  373 foldMapping '\x1fae' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
  374 -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  375 foldMapping '\x1faf' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
  376 -- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
  377 foldMapping '\x1fb2' s = Yield '\x1f70' (CC s '\x03b9' '\x0000')
  378 -- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
  379 foldMapping '\x1fb3' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
  380 -- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
  381 foldMapping '\x1fb4' s = Yield '\x03ac' (CC s '\x03b9' '\x0000')
  382 -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
  383 foldMapping '\x1fb6' s = Yield '\x03b1' (CC s '\x0342' '\x0000')
  384 -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
  385 foldMapping '\x1fb7' s = Yield '\x03b1' (CC s '\x0342' '\x03b9')
  386 -- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
  387 foldMapping '\x1fbc' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
  388 -- GREEK PROSGEGRAMMENI
  389 foldMapping '\x1fbe' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
  390 -- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
  391 foldMapping '\x1fc2' s = Yield '\x1f74' (CC s '\x03b9' '\x0000')
  392 -- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
  393 foldMapping '\x1fc3' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
  394 -- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
  395 foldMapping '\x1fc4' s = Yield '\x03ae' (CC s '\x03b9' '\x0000')
  396 -- GREEK SMALL LETTER ETA WITH PERISPOMENI
  397 foldMapping '\x1fc6' s = Yield '\x03b7' (CC s '\x0342' '\x0000')
  398 -- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
  399 foldMapping '\x1fc7' s = Yield '\x03b7' (CC s '\x0342' '\x03b9')
  400 -- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
  401 foldMapping '\x1fcc' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
  402 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
  403 foldMapping '\x1fd2' s = Yield '\x03b9' (CC s '\x0308' '\x0300')
  404 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
  405 foldMapping '\x1fd3' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
  406 -- GREEK SMALL LETTER IOTA WITH PERISPOMENI
  407 foldMapping '\x1fd6' s = Yield '\x03b9' (CC s '\x0342' '\x0000')
  408 -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
  409 foldMapping '\x1fd7' s = Yield '\x03b9' (CC s '\x0308' '\x0342')
  410 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
  411 foldMapping '\x1fe2' s = Yield '\x03c5' (CC s '\x0308' '\x0300')
  412 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
  413 foldMapping '\x1fe3' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
  414 -- GREEK SMALL LETTER RHO WITH PSILI
  415 foldMapping '\x1fe4' s = Yield '\x03c1' (CC s '\x0313' '\x0000')
  416 -- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
  417 foldMapping '\x1fe6' s = Yield '\x03c5' (CC s '\x0342' '\x0000')
  418 -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
  419 foldMapping '\x1fe7' s = Yield '\x03c5' (CC s '\x0308' '\x0342')
  420 -- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
  421 foldMapping '\x1ff2' s = Yield '\x1f7c' (CC s '\x03b9' '\x0000')
  422 -- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
  423 foldMapping '\x1ff3' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
  424 -- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
  425 foldMapping '\x1ff4' s = Yield '\x03ce' (CC s '\x03b9' '\x0000')
  426 -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
  427 foldMapping '\x1ff6' s = Yield '\x03c9' (CC s '\x0342' '\x0000')
  428 -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
  429 foldMapping '\x1ff7' s = Yield '\x03c9' (CC s '\x0342' '\x03b9')
  430 -- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
  431 foldMapping '\x1ffc' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
  432 -- LATIN SMALL LIGATURE FF
  433 foldMapping '\xfb00' s = Yield '\x0066' (CC s '\x0066' '\x0000')
  434 -- LATIN SMALL LIGATURE FI
  435 foldMapping '\xfb01' s = Yield '\x0066' (CC s '\x0069' '\x0000')
  436 -- LATIN SMALL LIGATURE FL
  437 foldMapping '\xfb02' s = Yield '\x0066' (CC s '\x006c' '\x0000')
  438 -- LATIN SMALL LIGATURE FFI
  439 foldMapping '\xfb03' s = Yield '\x0066' (CC s '\x0066' '\x0069')
  440 -- LATIN SMALL LIGATURE FFL
  441 foldMapping '\xfb04' s = Yield '\x0066' (CC s '\x0066' '\x006c')
  442 -- LATIN SMALL LIGATURE LONG S T
  443 foldMapping '\xfb05' s = Yield '\x0073' (CC s '\x0074' '\x0000')
  444 -- LATIN SMALL LIGATURE ST
  445 foldMapping '\xfb06' s = Yield '\x0073' (CC s '\x0074' '\x0000')
  446 -- ARMENIAN SMALL LIGATURE MEN NOW
  447 foldMapping '\xfb13' s = Yield '\x0574' (CC s '\x0576' '\x0000')
  448 -- ARMENIAN SMALL LIGATURE MEN ECH
  449 foldMapping '\xfb14' s = Yield '\x0574' (CC s '\x0565' '\x0000')
  450 -- ARMENIAN SMALL LIGATURE MEN INI
  451 foldMapping '\xfb15' s = Yield '\x0574' (CC s '\x056b' '\x0000')
  452 -- ARMENIAN SMALL LIGATURE VEW NOW
  453 foldMapping '\xfb16' s = Yield '\x057e' (CC s '\x0576' '\x0000')
  454 -- ARMENIAN SMALL LIGATURE MEN XEH
  455 foldMapping '\xfb17' s = Yield '\x0574' (CC s '\x056d' '\x0000')
  456 foldMapping c s = Yield (toLower c) (CC s '\0' '\0')