Compare commits

..

1 Commits

Author SHA1 Message Date
6d3dfd0c5a Add 'playpause' key
Sends the KEYCODE_MEDIA_PLAY_PAUSE keyevent.
2024-09-21 21:53:53 +02:00
102 changed files with 373 additions and 2982 deletions

View File

@ -25,7 +25,7 @@ Usage: to apply the symbols located in the corners of each key, slide your finge
| <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" alt="Screenshot-4" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png" alt="Screenshot-5" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png" alt="Screenshot-6" /> |
## Similar apps
* [Calculator++](https://git.bubu1.eu/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators.
* [Calculator++](https://github.com/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators. Works up to Android 13 but maybe unmaintained.
## Contributing

Binary file not shown.

View File

@ -2,10 +2,6 @@ plugins {
id 'com.android.application' version '8.1.1'
}
dependencies {
testImplementation "junit:junit:4.13.2"
}
android {
namespace 'juloo.keyboard2'
compileSdk 34
@ -21,14 +17,10 @@ android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['srcs/juloo.keyboard2']
java.srcDirs = ['srcs']
res.srcDirs = ['res', 'build/generated-resources']
assets.srcDirs = ['assets']
}
test {
java.srcDirs = ['test']
}
}
signingConfigs {
@ -92,6 +84,9 @@ android {
}
}
dependencies {
}
tasks.register('buildKeyboardFont') {
println "\nBuilding assets/special_font.ttf"
mkdir "$buildDir"

View File

@ -36,15 +36,6 @@ Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >
# cyrl_yaverti
Layout includes some ASCII punctuation but not all, missing: ~
1 warnings
# cyrl_yqukeng_tj
Layout doesn't define some important keys, missing: loc esc, loc tab
These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
2 warnings
# cyrl_yxukeng_os
Layout includes some ASCII punctuation but not all, missing: ", #, $, &, ', @, [, ], ~
Layout doesn't define some important keys, missing: loc esc, loc tab
These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
3 warnings
# deva_alt
Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), +, ., /, :, <, =, >, [, \, ], ^, _, `, {, |, }, ~
Layout doesn't define some important keys, missing: loc esc, loc tab

View File

@ -46,8 +46,7 @@ These keys are sent to apps, which are free to ignore them. The keyboard does no
`page_up`, `page_down`,
`home`, `end`,
`backspace`, `delete`,
`insert`, `scroll_lock`,
`f1`-`f12`,
`insert`, `f1`-`f12`,
`tab`, `copy`,
`paste`, `cut`,
`selectAll`, `pasteAsPlainText`,
@ -120,7 +119,7 @@ Keys ending in `_placeholder` are normally hidden unless the Fn key is pressed.
`ole`, `ole_placeholder`,
`meteg`, `meteg_placeholder`
## Keyboard behavior keys
## Unexpected Keyboard specific
Value | Meaning
:--------------------- | :------
`config` | Gear icon; opens Unexpected Keyboard settings.
@ -149,42 +148,3 @@ These keys are known to do nothing.
These keys are normally hidden unless the Fn modifier is activated.
`f11_placeholder` | `f12_placeholder`
## Complex keys
More complex keys are of this form:
```
:<kind> <attributes>:<payload>
```
Where `<kind>` is one of the kinds documented below and `<attributes>` is a
space separated list of attributes. `<payload>` depends on the `<kind>`.
Attributes are:
- `symbol='Sym'` specifies the symbol to be shown on the keyboard.
- `flags='<flags>'` changes the behavior of the key.
`<flags>` is a coma separated list of:
+ `dim`: Make the symbol dimmer.
+ `small`: Make the symbol smaller.
### Kind `str`
Defines a key that outputs an arbitrary string. `<payload>` is a string wrapped
in single-quotes (`'`), escaping of other single quotes is allowed with `\'`.
For example:
- `:str:'Arbitrary string with a \' inside'`
- `:str symbol='Symbol':'Output string'`
### Kind `char`
Defines a key that outputs a single character. `<payload>` is the character to
output, unquoted.
This kind of key can be used to define a character key with a different symbol
on it. `char` keys can be modified by `ctrl` and other modifiers, unlike `str`
keys.
For example:
- `:char symbol='q':љ`, which is used to implement `ctrl` shortcuts in cyrillic
layouts.

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
<vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40">
<path android:name="trace" android:pathData="M 0 0" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/>
</vector>
</aapt:attr>
<target android:name="trace">
<aapt:attr name="android:animation">
<set>
<objectAnimator android:propertyName="fillAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator
android:propertyName="pathData"
android:duration="700"
android:valueFrom="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 17.5,20.0"
android:valueTo=" M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31 ,4"
android:valueType="pathType"
android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="fillAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
</set>
</aapt:attr>
</target>
</animated-vector>

View File

@ -1,25 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="35dp"
android:height="40dp"
android:viewportWidth="35.0"
android:viewportHeight="40.0">
<path
android:pathData="M11.26,10.13L23.74,10.13A1.13,1.13 0,0 1,24.87 11.26L24.87,28.74A1.13,1.13 0,0 1,23.74 29.88L11.26,29.88A1.13,1.13 0,0 1,10.13 28.74L10.13,11.26A1.13,1.13 0,0 1,11.26 10.13z"
android:fillAlpha="1"
android:strokeColor="#404040"
android:fillColor="#333333"
android:strokeWidth="0.251"
android:strokeAlpha="1"/>
<path
android:pathData="m16.64,17.64l0,3.21q0,0.41 0.16,0.58 0.17,0.17 0.5,0.17 0.31,0 0.61,-0.19 0.29,-0.19 0.46,-0.46l0,-3.33l0.98,0l0,4.6l-0.84,0l-0.06,-0.59q-0.26,0.34 -0.65,0.53 -0.39,0.18 -0.8,0.18 -0.67,0 -1,-0.37 -0.33,-0.37 -0.33,-1.01l0,-3.33z"
android:fillColor="#fdfdfd"
android:strokeWidth="0.265729"/>
<path
android:pathData="m12.52,24.71q0.3,0 0.54,0.09 0.25,0.09 0.49,0.35l-0.37,0.33q-0.14,-0.16 -0.28,-0.23 -0.14,-0.08 -0.34,-0.08 -0.27,0 -0.41,0.15 -0.14,0.15 -0.14,0.39 0,0.17 0.08,0.31 0.08,0.14 0.23,0.22 0.15,0.08 0.33,0.08l1.58,0l0,0.46l-0.47,0l0,1.56q-0.1,0.12 -0.26,0.24 -0.16,0.12 -0.41,0.21 -0.24,0.08 -0.58,0.08 -0.45,0 -0.75,-0.17 -0.3,-0.17 -0.44,-0.45 -0.15,-0.28 -0.15,-0.6 0,-0.46 0.24,-0.74 0.24,-0.28 0.66,-0.37l0,-0.02q-0.25,-0.06 -0.4,-0.18 -0.15,-0.12 -0.22,-0.3 -0.07,-0.17 -0.07,-0.37 0,-0.26 0.14,-0.48 0.14,-0.22 0.4,-0.35 0.26,-0.13 0.6,-0.13zM13.18,26.79l-0.58,0q-0.28,0 -0.45,0.12 -0.17,0.12 -0.26,0.32 -0.08,0.19 -0.08,0.39 0,0.2 0.08,0.37 0.08,0.17 0.24,0.28 0.16,0.1 0.42,0.1 0.21,0 0.37,-0.07 0.16,-0.07 0.26,-0.19z"
android:fillColor="#cccccc"
android:strokeWidth="0.265729"/>
<path
android:pathData="m22.12,15.25 l-0.61,-0.19 1.54,-3.37l-1.84,0l0,-0.51l2.49,0l0,0.47z"
android:fillColor="#cccccc"
android:strokeWidth="0.265729"/>
</vector>

View File

@ -4,7 +4,7 @@
<TextView style="@style/paragraph" android:text="@string/launcher_description"/>
<Button style="@style/paragraph" android:text="@string/launcher_button_imesettings" android:onClick="launch_imesettings" android:layout_width="wrap_content"/>
<Button style="@style/paragraph" android:text="@string/launcher_button_imepicker" android:onClick="launch_imepicker" android:layout_width="wrap_content"/>
<ImageView style="@style/anim" android:id="@+id/launcher_anim_swipe" android:background="@drawable/doc_key_u" android:src="@drawable/doc_anim_swipe"/>
<VideoView android:id="@+id/launcher_intro_video" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="center"/>
<TextView android:id="@+id/launcher_tryhere_text" style="@style/paragraph" android:text="@string/launcher_tryhere"/>
<EditText android:id="@+id/launcher_tryhere_area" style="@style/paragraph" android:inputType="text" android:hint="@string/launcher_tryhere_hint" android:importantForAutofill="no"/>
<TextView style="@style/paragraph" android:text="@string/launcher_sourcecode"/>

BIN
res/raw/intro_video.mp4 Normal file

Binary file not shown.

View File

@ -71,7 +71,6 @@ Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je
<string name="pref_theme_e_monet">Monet (dle systému)</string>
<string name="pref_theme_e_monetlight">Monet (Světlý)</string>
<string name="pref_theme_e_monetdark">Monet (Tmavý)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Velmi krátká</string>
<string name="pref_swipe_dist_e_short">Krátká</string>
<string name="pref_swipe_dist_e_default">Běžná</string>
@ -121,7 +120,6 @@ Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">Správce schránky</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Nedávno kopírovaný text</string>
<string name="clipboard_pin_heading">Připnout</string>
<string name="clipboard_remove_confirm">Odebrat ze schránky?</string>

View File

@ -71,7 +71,6 @@ Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quell
<string name="pref_theme_e_monet">Monet (System)</string>
<string name="pref_theme_e_monetlight">Monet (Hell)</string>
<string name="pref_theme_e_monetdark">Monet (Dunkel)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Sehr kurz</string>
<string name="pref_swipe_dist_e_short">Kurz</string>
<string name="pref_swipe_dist_e_default">Normal</string>
@ -121,7 +120,6 @@ Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quell
<string name="key_descr_home">Pos1</string>
<string name="key_descr_end">Ende</string>
<string name="key_descr_clipboard">Clipboard-Manager</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Zuletzt kopierter Text</string>
<string name="clipboard_pin_heading">Angeheftet</string>
<string name="clipboard_remove_confirm">Aus der Zwischenablage entfernen?</string>

View File

@ -71,7 +71,6 @@ La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y
<string name="pref_theme_e_monet">Monet (de sistema)</string>
<string name="pref_theme_e_monetlight">Monet (claro)</string>
<string name="pref_theme_e_monetdark">Monet (oscuro)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Muy corta</string>
<string name="pref_swipe_dist_e_short">Corta</string>
<string name="pref_swipe_dist_e_default">Normal</string>
@ -121,7 +120,6 @@ La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y
<string name="key_descr_home">Inicio</string>
<string name="key_descr_end">Fin</string>
<string name="key_descr_clipboard">Arreglar portapapeles</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Textos recién copiados</string>
<string name="clipboard_pin_heading">Pegado</string>
<string name="clipboard_remove_confirm">¿Sacar este portapapeles?</string>

View File

@ -71,7 +71,6 @@ This application contains no ads, doesn't make any network requests and is Open
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">بسیار کوتاه</string>
<string name="pref_swipe_dist_e_short">کوتاه</string>
<string name="pref_swipe_dist_e_default">عادی</string>
@ -121,7 +120,6 @@ This application contains no ads, doesn't make any network requests and is Open
<!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -71,7 +71,6 @@ Cette application ne contient pas de publicité, n'accède pas au réseau et est
<string name="pref_theme_e_monet">Monet (Système)</string>
<string name="pref_theme_e_monetlight">Monet (Clair)</string>
<string name="pref_theme_e_monetdark">Monet (Sombre)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Très courte</string>
<string name="pref_swipe_dist_e_short">Courte</string>
<string name="pref_swipe_dist_e_default">Normale</string>
@ -121,7 +120,6 @@ Cette application ne contient pas de publicité, n'accède pas au réseau et est
<string name="key_descr_home">Début</string>
<string name="key_descr_end">Fin</string>
<string name="key_descr_clipboard">Presse-papiers</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Texte récemment copié</string>
<string name="clipboard_pin_heading">Épinglé</string>
<string name="clipboard_remove_confirm">Supprimer ce presse-papiers ?</string>

View File

@ -71,7 +71,6 @@ This application contains no ads, doesn't make any network requests and is Open
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Veramente breve</string>
<string name="pref_swipe_dist_e_short">Breve</string>
<string name="pref_swipe_dist_e_default">Normale</string>
@ -121,7 +120,6 @@ This application contains no ads, doesn't make any network requests and is Open
<!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -72,7 +72,6 @@ PCキーボードでの半角入力を再現しています。日本語入力、
<string name="pref_theme_e_monet">Monet (システム)</string>
<string name="pref_theme_e_monetlight">Monet (ライト)</string>
<string name="pref_theme_e_monetdark">Monet (ダーク)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">短い</string>
<string name="pref_swipe_dist_e_short">やや短い</string>
<string name="pref_swipe_dist_e_default">普通</string>
@ -122,7 +121,6 @@ PCキーボードでの半角入力を再現しています。日本語入力、
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">クリップボード</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">最近コピーしたテキスト</string>
<string name="clipboard_pin_heading">お気に入り</string>
<string name="clipboard_remove_confirm">クリップボードから削除しますか?</string>

View File

@ -71,7 +71,6 @@
<string name="pref_theme_e_monet">모네트 (시스템)</string>
<string name="pref_theme_e_monetlight">모네트 (라이트)</string>
<string name="pref_theme_e_monetdark">모네트 (다크)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">매우 짧음</string>
<string name="pref_swipe_dist_e_short">짧음</string>
<string name="pref_swipe_dist_e_default">보통</string>
@ -121,7 +120,6 @@
<string name="key_descr_home"></string>
<string name="key_descr_end">종료</string>
<string name="key_descr_clipboard">클립보드 관리자</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">최근에 복사한 텍스트</string>
<string name="clipboard_pin_heading">고정</string>
<string name="clipboard_remove_confirm">이 클립보드를 제거하시겠습니까?</string>

View File

@ -71,7 +71,6 @@ Tagad lieliski piemērota izmantošanai ikdienā.
<string name="pref_theme_e_monet">Monē (sistēmas)</string>
<string name="pref_theme_e_monetlight">Monē (gaišs)</string>
<string name="pref_theme_e_monetdark">Monē (tumšs)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Ļoti tuvs</string>
<string name="pref_swipe_dist_e_short">Tuvs</string>
<string name="pref_swipe_dist_e_default">Vidējs</string>
@ -123,7 +122,6 @@ Tagad lieliski piemērota izmantošanai ikdienā.
<string name="key_descr_home">Sākums</string>
<string name="key_descr_end">Beigas</string>
<string name="key_descr_clipboard">Starpliktuves pārvaldnieks</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Nesen starpliktuvē ievietots teksts</string>
<string name="clipboard_pin_heading">Piesprausts</string>
<string name="clipboard_remove_confirm">Noņemt šo starpliktuves vienumu?</string>

View File

@ -71,7 +71,6 @@ Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źród
<string name="pref_theme_e_monet">Monet (Systemowy)</string>
<string name="pref_theme_e_monetlight">Monet (Jasny)</string>
<string name="pref_theme_e_monetdark">Monet (Ciemny)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Bardzo mała</string>
<string name="pref_swipe_dist_e_short">Mała</string>
<string name="pref_swipe_dist_e_default">Normalna</string>
@ -121,7 +120,6 @@ Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źród
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">Zarządzanie schowkiem</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Ostatnio skopiowane elementy</string>
<string name="clipboard_pin_heading">Przypięte</string>
<string name="clipboard_remove_confirm">Usunąć ten element ze schowka?</string>

View File

@ -71,7 +71,6 @@ Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Bem curto</string>
<string name="pref_swipe_dist_e_short">Curto</string>
<string name="pref_swipe_dist_e_default">Normal</string>
@ -121,7 +120,6 @@ Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -71,7 +71,6 @@ Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Foarte apropiată</string>
<string name="pref_swipe_dist_e_short">Apropiată</string>
<string name="pref_swipe_dist_e_default">Normală</string>
@ -121,7 +120,6 @@ Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e
<!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -71,7 +71,6 @@
<string name="pref_theme_e_monet">Моне (системная)</string>
<string name="pref_theme_e_monetlight">Моне (светлая)</string>
<string name="pref_theme_e_monetdark">Моне (темная)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Очень короткая</string>
<string name="pref_swipe_dist_e_short">Короткая</string>
<string name="pref_swipe_dist_e_default">Обычная</string>
@ -121,7 +120,6 @@
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">Менеджер буфера обмена</string>
<string name="key_descr_combining">Сочетание диакритических знаков</string>
<string name="clipboard_history_heading">Недавно скопированный текст</string>
<string name="clipboard_pin_heading">Закреплено</string>
<string name="clipboard_remove_confirm">Удалить этот буфер обмена?</string>

View File

@ -71,7 +71,6 @@ Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."</str
<string name="pref_theme_e_monet">Monet (Sisteme uyarla)</string>
<string name="pref_theme_e_monetlight">Monet (Açık)</string>
<string name="pref_theme_e_monetdark">Monet (Koyu)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Çok kısa</string>
<string name="pref_swipe_dist_e_short">Kısa</string>
<string name="pref_swipe_dist_e_default">Normal</string>
@ -121,7 +120,6 @@ Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."</str
<string name="key_descr_home">BAŞ(Sol yön tuşu)</string>
<string name="key_descr_end">SON(Sağ yön tuşu)</string>
<string name="key_descr_clipboard">Pano</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="clipboard_history_heading">Son kopyalanan metin</string>
<string name="clipboard_pin_heading">Sabitlendi</string>
<string name="clipboard_remove_confirm">Bu sabitlemeyi sil</string>

View File

@ -71,7 +71,6 @@
<string name="pref_theme_e_monet">Моне (Системна)</string>
<string name="pref_theme_e_monetlight">Моне (Світла)</string>
<string name="pref_theme_e_monetdark">Моне (Темна)</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Дуже коротка</string>
<string name="pref_swipe_dist_e_short">Коротка</string>
<string name="pref_swipe_dist_e_default">Звичайна</string>
@ -121,7 +120,6 @@
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">Менеджер буфера обміну</string>
<string name="key_descr_combining">Комбінування діакритики</string>
<string name="clipboard_history_heading">Нещодавно скопійований текст</string>
<string name="clipboard_pin_heading">Закріплено</string>
<string name="clipboard_remove_confirm">Видалити цей буфер обміну?</string>

View File

@ -71,7 +71,6 @@ Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày.
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">Rất gần</string>
<string name="pref_swipe_dist_e_short">Gần</string>
<string name="pref_swipe_dist_e_default">Trungbình</string>
@ -121,7 +120,6 @@ Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày.
<!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -71,7 +71,6 @@
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_short">非常短</string>
<string name="pref_swipe_dist_e_short"></string>
<string name="pref_swipe_dist_e_default">中(默认)</string>
@ -121,7 +120,6 @@
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->

View File

@ -31,7 +31,6 @@
<item>@string/pref_theme_e_monet</item>
<item>@string/pref_theme_e_monetlight</item>
<item>@string/pref_theme_e_monetdark</item>
<item>@string/pref_theme_e_rosepine</item>
</string-array>
<string-array name="pref_theme_values">
<item>system</item>
@ -46,7 +45,6 @@
<item>monet</item>
<item>monetlight</item>
<item>monetdark</item>
<item>rosepine</item>
</string-array>
<string-array name="pref_swipe_dist_entries">
<item>@string/pref_swipe_dist_e_very_short</item>

View File

@ -20,8 +20,6 @@
<item>cyrl_lynyertz_sr</item>
<item>cyrl_ueishsht</item>
<item>cyrl_yaverti</item>
<item>cyrl_yqukeng_tj</item>
<item>cyrl_yxukeng_os</item>
<item>deva_alt</item>
<item>deva_inscript</item>
<item>grek_qwerty</item>
@ -80,8 +78,6 @@
<item>ЉЊЕРТЗ (Српски)</item>
<item>УЕИШЩ (Български, БДС)</item>
<item>ЯВЕРТЪ</item>
<item>Tajiki Persian (Тоҷикӣ)</item>
<item>Old Church Slavonic (Црькъвьнословѣньскъ ѩзыкъ)</item>
<item>देवनागरी (हिंदी)-2</item>
<item>देवनागरी (हिंदी)-1</item>
<item>QWERTY (Greek)</item>
@ -140,8 +136,6 @@
<item>@xml/cyrl_lynyertz_sr</item>
<item>@xml/cyrl_ueishsht</item>
<item>@xml/cyrl_yaverti</item>
<item>@xml/cyrl_yqukeng_tj</item>
<item>@xml/cyrl_yxukeng_os</item>
<item>@xml/deva_alt</item>
<item>@xml/deva_inscript</item>
<item>@xml/grek_qwerty</item>

View File

@ -71,7 +71,6 @@ This application contains no ads, doesn't make any network requests and is Open
<string name="pref_theme_e_monet">Monet (System)</string>
<string name="pref_theme_e_monetlight">Monet (Light)</string>
<string name="pref_theme_e_monetdark">Monet (Dark)</string>
<string name="pref_theme_e_rosepine">Rosé Pine</string>
<string name="pref_swipe_dist_e_very_short">Very short</string>
<string name="pref_swipe_dist_e_short">Short</string>
<string name="pref_swipe_dist_e_default">Normal</string>
@ -121,7 +120,6 @@ This application contains no ads, doesn't make any network requests and is Open
<string name="key_descr_home">Home</string>
<string name="key_descr_end">End</string>
<string name="key_descr_clipboard">Clipboard manager</string>
<string name="key_descr_combining">Combining diacritic</string>
<string name="clipboard_history_heading">Recently copied text</string>
<string name="clipboard_pin_heading">Pinned</string>
<string name="clipboard_remove_confirm">Remove this clipboard?</string>

View File

@ -56,12 +56,5 @@
<item name="android:layout_marginHorizontal">16dp</item>
<item name="android:layout_gravity">center</item>
</style>
<style name="anim">
<item name="android:layout_width">100dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginVertical">16dp</item>
<item name="android:layout_gravity">center</item>
<item name="android:adjustViewBounds">true</item>
</style>
<style name="appTheme" parent="@android:style/Theme.DeviceDefault.DayNight"/>
</resources>

View File

@ -203,23 +203,4 @@
<item name="emoji_button_bg">?colorKeyActivated</item>
<item name="emoji_color">@android:color/system_accent1_900</item>
</style>
<style name="RosePine" parent="BaseTheme">
<item name="android:isLightTheme">false</item>
<item name="colorKeyboard">#191724</item>
<item name="colorKey">#26233a</item>
<item name="colorKeyActivated">#403d52</item>
<item name="keyBorderWidth">0dp</item>
<item name="keyBorderWidthActivated">1dp</item>
<item name="keyBorderColorLeft">#6e6a86</item>
<item name="keyBorderColorTop">#6e6a86</item>
<item name="keyBorderColorRight">#6e6a86</item>
<item name="keyBorderColorBottom">#6e6a86</item>
<item name="colorLabel">#e0def4</item>
<item name="colorLabelActivated">#c4a7e7</item>
<item name="colorLabelLocked">#31748f</item>
<item name="colorSubLabel">#6e6a86</item>
<item name="keyBorderRadius">1dp</item>
<item name="emoji_button_bg">#26233a</item>
<item name="emoji_color">#e0def4</item>
</style>
</resources>

View File

@ -10,7 +10,6 @@
<subtype android:label="%s" android:languageTag="da" android:imeSubtypeLocale="da_DK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_da,extra_keys=€|æ|å|ø"/>
<subtype android:label="%s" android:languageTag="de" android:imeSubtypeLocale="de_DE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_de,extra_keys=accent_trema:ä:ö:ü@u|ß|€"/>
<subtype android:label="%s" android:languageTag="el" android:imeSubtypeLocale="el" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=grek_qwerty,extra_keys=£@l|€"/>
<subtype android:label="%s" android:languageTag="en-AU" android:imeSubtypeLocale="en_AU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us"/>
<subtype android:label="%s" android:languageTag="en-CA" android:imeSubtypeLocale="en_CA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us"/>
<subtype android:label="%s" android:languageTag="en-GB" android:imeSubtypeLocale="en_GB" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_gb,extra_keys=£@l"/>
<subtype android:label="%s" android:languageTag="en-US" android:imeSubtypeLocale="en_US" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us"/>

View File

@ -45,7 +45,7 @@
<juloo.keyboard2.prefs.IntSlideBarPreference android:key="horizontal_margin_portrait" android:title="@string/pref_portrait" android:summary="%sdp" android:defaultValue="3" min="0" max="30"/>
<juloo.keyboard2.prefs.IntSlideBarPreference android:key="horizontal_margin_landscape" android:title="@string/pref_landscape" android:summary="%sdp" android:defaultValue="28" min="0" max="200"/>
</PreferenceScreen>
<juloo.keyboard2.prefs.SlideBarPreference android:key="character_size" android:title="@string/pref_character_size_title" android:summary="@string/pref_character_size_summary" android:defaultValue="1.15" min="0.75" max="1.5"/>
<juloo.keyboard2.prefs.SlideBarPreference android:key="character_size" android:title="@string/pref_character_size_title" android:summary="@string/pref_character_size_summary" android:defaultValue="1.0" min="0.75" max="1.5"/>
<juloo.keyboard2.prefs.SlideBarPreference android:key="key_vertical_margin" android:title="@string/pref_key_vertical_space" android:summary="%s%%" android:defaultValue="1.5" min="0" max="5"/>
<juloo.keyboard2.prefs.SlideBarPreference android:key="key_horizontal_margin" android:title="@string/pref_key_horizontal_space" android:summary="%s%%" android:defaultValue="2" min="0" max="5"/>
<CheckBoxPreference android:key="border_config" android:title="@string/pref_border_config_title" android:defaultValue="false"/>

View File

@ -1,52 +1,17 @@
{
// latin
"a": "á",
"c": "ć",
"e": "é",
"g": "ǵ",
"i": "í",
"k": "ḱ",
"l": "ĺ",
"m": "ḿ",
"n": "ń",
"ń": "ń",
"o": "ó",
"p": "ṕ",
"r": "ŕ",
"s": "ś",
"u": "ú",
"w": "ẃ",
"y": "ý",
"z": "ź",
// extended latin (multiple diacritics)
"â": "ấ",
"ă": "ắ",
"å": "ǻ",
"æ": "ǽ",
"ç": "ḉ",
"ê": "ế",
"ē": "ḗ",
"ï": "ḯ",
"ô": "ố",
"ơ": "ớ",
"õ": "ṍ",
"ō": "ṓ",
"ø": "ǿ",
"ṡ": "ṥ",
"ü": "ǘ",
"ư": "ứ",
"ũ": "ṹ",
// greek
"α": "ά",
"ε": "έ",
"η": "ή",
"ι": "ί",
"ο": "ό",
"υ": "ύ",
// cyrillic
"к": "ќ",
"г": "ѓ",
// combining character
"ą": "ą\u0301",
"j": "j\u0301",
"у": "у\u0301",
"е": "е\u0301",

View File

@ -1,12 +1,8 @@
{
// latin
"2": "ƻ",
"b": "ƀ",
"c": "ꞓ",
"d": "đ",
"f": "",
"g": "ǥ",
"h": "ħ",
"i": "ɨ",
"j": "ɉ",
"k": "ꝁ",
@ -18,13 +14,5 @@
"t": "ŧ",
"u": "ʉ",
"y": "ɏ",
"z": "ƶ",
// extended latin
"ȷ": "ɟ",
// cyrillic
"о": "ө",
"ӧ": "ӫ",
"ү": "ұ",
"ь": "ҍ",
"х": "ӿ"
"z": "ƶ"
}

View File

@ -1,14 +1,9 @@
{
// latin
"a": "ǎ",
"c": "č",
"d": "ď",
"e": "ě",
"g": "ǧ",
"h": "ȟ",
"i": "ǐ",
"j": "ǰ", // no uppercase
"k": "ǩ",
"l": "ľ",
"n": "ň",
"o": "ǒ",
@ -17,17 +12,5 @@
"t": "ť",
"u": "ǔ",
"z": "ž",
// extended latin
"ṡ": "ṧ",
"ü": "ǚ",
"ʒ": "ǯ",
// combining character
"в": "в\u030C",
"г": "г\u030C",
"ғ": "ғ\u030C",
"д": "д\u030C",
"з": "з\u030C",
"р": "р\u030C",
"т": "т\u030C",
"х": "х\u030C"
"ü": "ǚ"
}

View File

@ -1,5 +1,4 @@
{
// latin
"c": "ç",
"d": "ḑ",
"e": "ȩ",
@ -10,8 +9,5 @@
"n": "ņ",
"r": "ŗ",
"s": "ş",
"t": "ţ",
// extended latin
"ć": "ḉ",
"ĕ": "ḝ"
"t": "ţ"
}

View File

@ -1,7 +1,4 @@
{
"+": "⨣",
"≈": "⩯",
// latin
"a": "â",
"c": "ĉ",
"e": "ê",
@ -12,27 +9,7 @@
"o": "ô",
"ŝ": "ŝ",
"u": "û",
"w": "ŵ",
"x": "x̂",
"y": "ŷ",
"z": "ẑ",
// extended latin
"á": "ấ",
"à": "ầ",
"ã": "ẫ",
"ạ": "ậ",
"ả": "ẩ",
"é": "ế",
"è": "ề",
"ẽ": "ễ",
"ẹ": "ệ",
"ẻ": "ể",
"ó": "ố",
"ò": "ồ",
"ơ": "ổ",
"õ": "ỗ",
"ọ": "ộ",
// combining characters
"а": "а\u0302",
"е": "е\u0302",
"и": "и\u0302",

View File

@ -17,40 +17,5 @@
"w": "ẇ",
"x": "ẋ",
"y": "ẏ",
"z": "ż",
// remove dot since i and j already have one
"i": "ı",
"j": "ȷ",
// extended latin
"ā": "ǡ",
"ō": "ȱ",
"ś": "ṥ",
"ṣ": "ṩ",
"š": "ṧ",
"ſ": "ẛ",
// combining character
"k": "k\u0307",
"l": "l\u0307",
"q": "q\u0307",
"u": "u\u0307",
"v": "v\u0307",
"0": "0\u0307",
"1": "1\u0307",
"2": "2\u0307",
"3": "3\u0307",
"4": "4\u0307",
"5": "5\u0307",
"6": "6\u0307",
"7": "7\u0307",
"8": "8\u0307",
"9": "9\u0307",
// math
"∈": "⋵",
"": "⨰",
"∧": "⩑",
"": "⩒",
"≡": "⩧",
"~": "⩪",
"⊆": "⫃",
"⊇": "⫄"
"z": "ż"
}

View File

@ -1,34 +1,14 @@
{
// latin
"a": "ạ",
"b": "ḅ",
"d": "ḍ",
"e": "ẹ",
"h": "ḥ",
"i": "ị",
"k": "ḳ",
"l": "ḷ",
"m": "ṃ",
"n": "ṇ",
"o": "ọ",
"r": "ṛ",
"s": "ṣ",
"t": "ṭ",
"u": "ụ",
"v": "ṿ",
"w": "ẉ",
"y": "ỵ",
"z": "ẓ",
// extended latin
"ă": "ặ",
"â": "ậ",
"e": "ẹ",
"ê": "ệ",
"i": "ị",
"o": "ọ",
"ô": "ộ",
"ơ": "ợ",
"": "",
"u": "",
"ư": "ự",
// math
"-": "⨪",
"+": "⨥",
"=": "⩦"
"y": "ỵ"
}

View File

@ -1,11 +1,7 @@
{
" ": "˝",
// latin
"o": "ő",
"u": "ű",
// cyrillic
"у": "ӳ",
// combining character
" ": "˝",
"a": "a\u030b",
"e": "e\u030b",
"i": "i\u030b",

View File

@ -1,38 +1,8 @@
{
// latin
"a": "à",
"e": "è",
"i": "ì",
"n": "ǹ",
"o": "ò",
"u": "ù",
"w": "",
"y": "ỳ",
// extended latin
"â": "ầ",
"ă": "ằ",
"ê": "ề",
"ē": "ḕ",
"ơ": "ờ",
"ô": "ồ",
"ō": "ṑ",
"ü": "ǜ",
"ư": "ừ",
// greek (technically not a grave, but a varia)
"α": "ὰ",
"ε": "ὲ",
"η": "ὴ",
"ι": "ὶ",
"ο": "ὸ",
"υ": "ὺ",
"ω": "ὼ",
// there is more like ἒ, ᾣ, etc
// cyrillic
"е": "ѐ",
"и": "ѝ",
// combining character
"ɔ": "ɔ\u0300",
"s": "s\u0300",
"ʌ": "ʌ\u0300",
"z": "z\u0300"
"ü": "ǜ"
}

View File

@ -1,35 +1,8 @@
{
// latin
"a": "ā",
"e": "ē",
"g": "ḡ",
"i": "ī",
"o": "ō",
"u": "ū",
"y": "ȳ",
// extended latin
"æ": "ǣ",
"ä": "ǟ",
"ȧ": "ǡ",
"è": "ḕ",
"é": "ḗ",
"ḷ": "ḹ",
"ṛ": "ṝ",
"ö": "ȫ",
"ȯ": "ȱ",
"ǫ": "ǭ",
"õ": "ȭ",
"ò": "ṑ",
"ó": "ṓ",
"ü": "ǖ", // there is also ṻ
// cyrillic
"и": "ӣ",
"у": "ӯ",
// greek
"α": "ᾱ",
"ι": "ῑ",
"υ": "ῡ",
// combining characters
"l": "l\u0304",
"r": "r\u0304"
"ü": "ǖ"
}

View File

@ -1,10 +1,10 @@
{
// latin
"a": "ą",
"e": "ę",
"i": "į",
"k": "ķ",
"l": "ļ",
"n": "ņ",
"o": "ǫ",
"u": "ų",
// extended latin
"ō": "ǭ"
"u": "ų"
}

View File

@ -1,11 +1,4 @@
{
// latin
"a": "å",
"u": "ů",
"w": "ẘ", // no uppercase
"y": "ẙ", // no uppercase
// extended latin
"á": "ǻ",
// extra
"~": "⸛"
"u": "ů"
}

View File

@ -8,11 +8,7 @@
"l": "ł",
"n": "ꞥ",
"o": "ø",
"ó": "ǿ",
"ɔ": "ꬿ",
"r": "ꞧ",
"s": "ꞩ",
"t": "ⱦ",
"u": "ꞹ",
"v": "ꝟ"
"t": "ⱦ"
}

View File

@ -1,6 +1,4 @@
{
// arabic numbers
"0": "₀",
"1": "₁",
"2": "₂",
"3": "₃",
@ -10,13 +8,12 @@
"7": "₇",
"8": "₈",
"9": "₉",
// math operators
"0": "₀",
"+": "₊",
"-": "₋",
"=": "₌",
"(": "₍",
")": "₎",
// latin
"a": "ₐ",
"e": "ₑ",
"h": "ₕ",
@ -33,13 +30,5 @@
"t": "ₜ",
"u": "ᵤ",
"v": "ᵥ",
"x": "ₓ",
// extended latin
"ə": "ₔ",
// greek
"β": "ᵦ",
"γ": "ᵧ",
"ρ": "ᵨ",
"φ": "ᵩ",
"χ": "ᵪ"
"x": "ₓ"
}

View File

@ -1,6 +1,4 @@
{
// numbers
"0": "⁰",
"1": "¹",
"2": "²",
"3": "³",
@ -10,18 +8,12 @@
"7": "⁷",
"8": "⁸",
"9": "⁹",
// math operators
"0": "⁰",
"+": "⁺",
"-": "⁻",
"=": "⁼",
"(": "⁽",
")": "⁾",
// latin
"n": "ⁿ",
// since there are no more "superscript" characters,
// we substitute with "modifier letter small"s which looks the same
// latin
"a": "ᵃ",
"b": "ᵇ",
"c": "ᶜ",
@ -34,11 +26,10 @@
"j": "ʲ",
"k": "ᵏ",
"l": "ˡ",
// see above for n
"m": "ᵐ",
"n": "ⁿ",
"o": "ᵒ",
"p": "ᵖ",
"q": "ꟴ", // there is no proper lowercase superscript q
"r": "ʳ",
"s": "ˢ",
"t": "ᵗ",
@ -47,47 +38,5 @@
"w": "ʷ",
"x": "ˣ",
"y": "ʸ",
"z": "ᶻ",
// extended latin
"ɐ": "ᵄ",
"ᴂ": "ᵆ",
"ɕ": "ᶝ",
"ə": "ᵊ",
"ɛ": "ᵋ",
"ɜ": "ᶟ", // turned open e, ↓ not the same
"ᴈ": "ᵌ", // reversed open e
"ɥ": "ᶣ",
"ɦ": "ʱ",
"ᴉ": "ᵎ",
"ɨ": "ᶤ",
"ɟ": "ᶡ",
"ɱ": "ᶬ",
"ɯ": "ᵚ",
"ɰ": "ᶭ",
"ŋ": "ᵑ",
"ᴝ": "ᵙ",
"ɵ": "ᶱ",
"œ": "ꟹ",
"ɔ": "ᵓ",
"ɹ": "ʴ",
"ɻ": "ʵ",
"ʁ": "ʶ",
"ʂ": "ᶳ",
"ʉ": "ᶶ",
"ʃ": "ᶴ",
"ʒ": "ᶾ",
"ʍ": "ꭩ",
// greek
"ɒ": "ᶛ",
"β": "ᵝ",
"ɣ": "ˠ",
"δ": "ᵟ",
"φ": "ᵠ",
"χ": "ᵡ",
"ι": "ᶥ",
"ʊ": "ᶷ",
"ʌ": "ᶺ",
"θ": "ᶿ",
// cyrillic
"ө": "ᶱ"
"z": "ᶻ"
}

View File

@ -1,21 +1,13 @@
{
// latin
"a": "ã",
"e": "ẽ",
"i": "ĩ",
"n": "ñ",
"o": "õ",
"u": "ũ",
"v": "ṽ",
"y": "ỹ",
// extended latin
"ă": "ẵ",
"â": "ẫ",
"ê": "ễ",
"ơ": "ỡ",
"ō": "ȭ",
"ó": "ṍ",
"ö": "ṏ",
"ư": "ữ",
"ú": "ṹ"
"ư": ""
}

View File

@ -1,54 +1,8 @@
{
// fun
"~": "⍨",
"*": "⍣",
"∇": "⍢",
"°": "⍤",
// latin
"a": "ä",
"e": "ë",
"h": "ḧ",
"i": "ï",
"o": "ö",
"t": "ẗ",
"u": "ü",
"w": "",
"x": "ẍ",
"y": "ÿ",
// extended latin
"ā": "ǟ",
"ō": "ȫ",
"õ": "ṏ",
"í": "ḯ",
"ū": "ǖ", // there is also ṻ
"ú": "ǘ",
"ù": "ǜ",
"ǔ": "ǚ",
// greek
"ι": "ϊ",
"υ": "ϋ",
"ὺ": "ῢ",
"ύ": "ΰ",
"ῦ": "ῧ",
"ϒ": "ϔ",
// cyrillic
"а": "ӓ",
"ә": "ӛ",
"ж": "ӝ",
"з": "ӟ",
"и": "ӥ",
"о": "ӧ",
"ө": "ӫ",
"э": "ӭ",
"у": "ӱ",
"ч": "ӵ",
"ы": "ӹ",
// combining character
"c": "c\u0308",
"j": "j\u0308",
"k": "k\u0308",
"l": "l\u0308",
"m": "m\u0308",
"n": "n\u0308",
"s": "s\u0308"
"y": "ÿ"
}

View File

@ -99,12 +99,9 @@ def strip_cstyle_comments(inp):
# Parse from a json file containing a dictionary sequence → result string.
def parse_sequences_file_json(fname):
try:
with open(fname, "r") as inp:
seqs = json.loads(strip_cstyle_comments(inp))
return list(seqs.items())
except Exception as e:
print("Failed parsing '%s': %s" % (fname, str(e)), file=sys.stderr)
with open(fname, "r") as inp:
seqs = json.loads(strip_cstyle_comments(inp))
return list(seqs.items())
# Format of the sequences file is determined by its extension
def parse_sequences_file(fname, xkb_char_extra_names={}):

View File

@ -1,168 +0,0 @@
{
"\"": {
"і": "ї"
},
",": {
"г": "ӻ",
"к": "ӄ",
"л": "ԓ",
"н": "ӈ",
"х": "ӽ",
"ѧ": "ӊ"
},
".": {
"г": "ӷ",
"ж": "җ",
"й": "ҋ",
"к": "қ",
"л": "ԯ",
"м": "ӎ",
"н": "ӊ",
"х": "ҳ",
"ч": "ҷ",
"і": "ї"
},
"а": {
"е": "ѣ",
"у": "ѡ",
"ч": "combining_acute",
"ы": "ѣ",
"ь": "ꙙ",
"ꙋ": "ꙍ",
"ꙑ": "ѣ"
},
"б": {
"ч": "combining_slavonic_psili"
},
"г": {
",": "ӻ",
".": "ӷ",
"й": "ғ",
"к": "ґ",
"х": "ҁ",
"ј": "ғ"
},
"д": {
"е": "ꙉ",
"ж": "џ",
"з": "ꙃ",
"й": "ꙉ",
"ј": "ꙉ",
"ѥ": "ђ"
},
"е": {
"ч": "combining_trema"
},
"ж": {
".": "җ"
},
"з": {
"ф": "ҙ"
},
"и": {
"и": "ӣ",
"у": "ѵ"
},
"й": {
".": "ҋ",
"ч": "combining_breve"
},
"к": {
",": "ӄ",
".": "қ",
"г": "ґ",
"с": "ѯ",
"х": "ҁ",
"ш": "ѯ"
},
"л": {
",": "ԓ",
".": "ԯ",
"ь": "љ"
},
"м": {
".": "ӎ"
},
"н": {
",": "ӈ",
"·": "ԩ",
"ч": "combining_titlo",
"ь": "њ"
},
"о": {
"т": "ѿ",
"у": "ѹ",
"ч": "combining_inverted_breve"
},
"п": {
"с": "ѱ"
},
"т": {
"й": "ћ",
"ф": "ѳ",
"ј": "ћ"
},
"у": {
"и": "ѵ",
"й": "ў",
"у": "ӯ",
"ч": "combining_porkrytie",
"і": "ѵ",
"ј": "ў"
},
"х": {
",": "ӽ",
".": "ҳ",
"ч": "combining_slavonic_dasia"
},
"ч": {
".": "ҷ",
"а": "combining_acute",
"б": "combining_slavonic_psili",
"е": "combining_trema",
"й": "combining_breve",
"н": "combining_titlo",
"о": "combining_inverted_breve",
"у": "combining_pokrytie",
"х": "combining_slavonic_dasia",
"ч": "combining_payerok",
"ч": "combining_payerok",
"ъ": "combining_vertical_tilde",
"ю": "combining_grave",
"ј": "combining_breve",
"ѧ": "combining_vzmet"
},
"ш": {
"т": "щ"
},
"ъ": {
"ч": "combining_vertical_tilde"
},
"ю": {
"а": "ꙓ",
"е": "ё",
"м": "ѭ",
"н": "ѩ",
"ч": "combining_grave"
},
"я": {
"ь": "ꙝ"
},
"і": {
"\"": "ї",
".": "ї",
"у": "ѵ",
"і": "ӣ"
},
"ј": {
"а": "ꙗ",
"ч": "combining_breve",
"ѣ": "ꙝ"
},
"ѡ": {
"т": "ѿ"
},
"ѧ": {
"ч": "combining_vzmet"
}
}

View File

@ -37,7 +37,6 @@
"†": "‡",
"×": "∙",
" ": "nbsp",
// arrows
"↖": "⇖",
"↑": "⇑",
@ -88,7 +87,6 @@
"⊂": "⊆",
"⊃": "⊇",
"±": "∓",
// hebrew niqqud
"ק": "qamats", // kamatz
"ר": "hataf_qamats", // reduced kamatz
@ -103,7 +101,6 @@
"ס": "segol",
"ב": "hataf_segol", // reduced segol
"צ": "tsere",
// Devanagari symbols
"ए": "ऍ",
"े": "ॅ",
@ -160,7 +157,6 @@
"ं": "ॕ",
"़": "ॎ",
"ऽ": "",
// Persian numbers
"۱": "f1",
"۲": "f2",
@ -182,38 +178,5 @@
"٧": "f7",
"٨": "f8",
"٩": "f9",
"٠": "f10",
// Cyrillic
"ꙑ": "ы",
"ы": "ꙑ",
"ш": "ѱ",
"з": "ꙁ",
"и": "і",
"і": "и",
"я": "ꙗ",
"е": "ѥ",
"ѡ": "ꙍ",
"о": "ѻ",
"а": "ѣ",
"э": "є",
"ъ": "ь",
"ь": "ъ",
"й": "ј",
"ꙉ": "ђ",
"ч": "ћ",
"ҁ": "қ",
"қ": "ҁ",
"џ": "ҷ",
"ҷ": "џ",
"ј": "й",
"у": "ꙋ",
"м": "ѫ",
"н": "ѧ",
"с": "ѕ",
"л": "ԯ",
"ԓ": "ԯ",
"\ua67d": "\u0483",
"\u0487": "\ua66f",
"ӈ": "ԩ"
"٠": "f10"
}

View File

@ -18,38 +18,7 @@
"┐": "╗",
"─": "═",
"│": "║",
// superscript
"ᵃ": "ᴬ",
"ᵇ": "ᴮ",
"ᶜ": "ꟲ",
"ᵈ": "ᴰ",
"ᵉ": "ᴱ",
"ᶠ": "ꟳ",
"ᵍ": "ᴳ",
"ʰ": "ᴴ",
"ⁱ": "ᴵ",
"ʲ": "ᴶ",
"ᵏ": "ᴷ",
"ˡ": "ᴸ",
"ᵐ": "ᴹ",
"ⁿ": "ᴺ",
"ᵒ": "ᴼ",
"ᵖ": "ᴾ",
"ʳ": "ᴿ",
"ᵗ": "ᵀ",
"ᵘ": "ᵁ",
"ᵛ": "ⱽ",
"ʷ": "ᵂ",
"ᶾ": "ᴣ",
"ᵠ": "ᶲ",
// german eszett has an uppercase, but because it is uncommon, java doesn't know about it
"ß": "ẞ",
// these characters don't have a preapplied uppercase version, so we use combining characters
"ẗ": "T\u0308",
"ẘ": "W\u030A",
"ẙ": "Y\u030A",
"ǰ": "J\u030C",
"ȷ": "J\u0307",
// In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will
// return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This
// has the inconvenient of swapping i and ı on the keyboard.

View File

@ -5,238 +5,216 @@ package juloo.keyboard2;
public final class ComposeKeyData
{
public static final char[] states =
("\u0001\u0000acegijklmnoprsuwyz\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0103\u0105\u0113\u014d\u0169\u01a1\u01b0\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u0430\u0433\u0435\u0438\u043a\u043e\u0443\u044b\u044d\u044e\u044f\u1e61\u00e1\u0107\u00e9\u01f5\u00ed\uFFFF\u006a\u0301\u1e31\u013a\u1e3f\u0144\u00f3\u1e55\u0155\u015b\u00fa" +
"\u1e83\u00fd\u017a\u1ea5\u01fb\u01fd\u1e09\u1ebf\u1e2f\u1ed1\u1e4d\u01ff\u01d8\u1eaf\uFFFF\u0105\u0301\u1e17\u1e53\u1e79\u1edb\u1ee9\u03ac\u03ad\u03ae\u03af\u03cc\u03cd\uFFFF\u0430\u0301\u0453\uFFFF\u0435\u0301\uFFFF\u0438\u0301\u045c\uFFFF\u043e\u0301\uFFFF\u0443\u0301\uFFFF\u044b\u0301\uFFFF\u044d\u0301\uFFFF\u044e\u0301\uFFFF\u044f\u0301\u1e65\u0000.0123456789\u21b5\u2194" +
"\u2199\u2193\u2198\u2190\u2195\u2192\u2196\u2191\u2197\u00002bcdfghijklopqrtuyz\u0237\u043e\u0445\u044c\u04af\u04e7\u01bb\u0180\uFFFF\ua793\u0111\uFFFF\ua799\u01e5\u0127\u0268\u0249\uFFFF\ua741\u019a\u0275\u1d7d\uFFFF\ua757\u024d\u0167\u0289\u024f\u01b6\u025f\u04e9\u04ff\u048d\u04b1\u04eb\u0000.012345" +
"6789\u2502\u2500\u2514\u2534\u2518\u251c\u253c\u2524\u250c\u252c\u2510\u0000acdeghijklnorstuz\u00fc\u0292\u0432\u0433\u0434\u0437\u0440\u0442\u0445\u0493\u1e61\u01ce\u010d\u010f\u011b\u01e7\u021f\u01d0\u01f0\u01e9\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u01da\u01ef\uFFFF\u0432\u030c\uFFFF\u0433\u030c\uFFFF\u0434\u030c" +
"\uFFFF\u0437\u030c\uFFFF\u0440\u030c\uFFFF\u0442\u030c\uFFFF\u0445\u030c\uFFFF\u0493\u030c\u1e67\u0000cdeghklnrst\u0107\u0115\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u1e1d\u0000+aceghijouwxyz\u00e0\u00e1\u00e3\u00e8\u00e9\u00f2\u00f3\u00f5\u015d\u01a1\u0430\u0435\u0438\u043e\u0443" +
"\u1ea1\u1ea3\u1eb9\u1ebb\u1ebd\u1ecd\u2248\u2a23\u00e2\u0109\u00ea\u011d\u0125\u00ee\u0135\u00f4\u00fb\u0175\uFFFF\u0078\u0302\u0177\u1e91\u1ea7\u1eab\u1ec1\u1ed3\u1ed7\u015d\u1ed5\uFFFF\u0430\u0302\uFFFF\u0435\u0302\uFFFF\u0438\u0302\uFFFF\u043e\u0302\uFFFF\u0443\u0302\u1ead\u1ea9\u1ec7\u1ec3\u1ec5\u1ed9\u2a6f\u00000123456789abcdefghi" +
"jklmnopqrstuvwxyz~\u0101\u014d\u015b\u0161\u017f\u1e63\u2208\u2227\u2228\u2261\u2286\u2287\u2a2f\uFFFF\u0030\u0307\uFFFF\u0031\u0307\uFFFF\u0032\u0307\uFFFF\u0033\u0307\uFFFF\u0034\u0307\uFFFF\u0035\u0307\uFFFF\u0036\u0307\uFFFF\u0037\u0307\uFFFF\u0038\u0307\uFFFF\u0039\u0307\u0227\u1e03\u010b\u1e0b\u0117\u1e1f\u0121\u1e23\u0131\u0237\uFFFF" +
"\u006b\u0307\uFFFF\u006c\u0307\u1e41\u1e45\u022f\u1e57\uFFFF\u0071\u0307\u1e59\u1e61\u1e6b\uFFFF\u0075\u0307\uFFFF\u0076\u0307\u1e87\u1e8b\u1e8f\u017c\u2a6a\u01e1\u0231\u1e9b\u1e69\u22f5\u2a51\u2a52\u2a67\u2ac3\u2ac4\u2a30\u0000+-=abdehiklmnorstuvwyz\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1e61\u2a25\u2a2a\u2a66\u1ea1\u1e05" +
"\u1e0d\u1eb9\u1e25\u1ecb\u1e33\u1e37\u1e43\u1e47\u1ecd\u1e5b\u1e63\u1e6d\u1ee5\u1e7f\u1e89\u1ef5\u1e93\u1eb7\u1ee3\u1ef1\u0000 aeimouy\u0443\u02dd\uFFFF\u0061\u030b\uFFFF\u0065\u030b\uFFFF\u0069\u030b\uFFFF\u006d\u030b\u0151\u0171\uFFFF\u0079\u030b\u04f3\u0000aeinosuwyz\u00e2\u00ea\u00f4\u00fc\u0103\u0113\u014d\u01a1\u01b0\u0254\u028c\u03b1" +
"\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0435\u0438\u00e0\u00e8\u00ec\u01f9\u00f2\uFFFF\u0073\u0300\u00f9\u1e81\u1ef3\uFFFF\u007a\u0300\u01dc\u1eb1\u1e15\u1e51\u1edd\u1eeb\uFFFF\u0254\u0300\uFFFF\u028c\u0300\u1f70\u1f72\u1f74\u1f76\u1f78\u1f7a\u1f7c\u0450\u045d\u0000aeiouy\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1ea3\u1ebb\u1ec9\u1ecf\u1ee7\u1ef7\u1eb3\u1edf\u1eed\u0000ou\u00f2\u00f3\u00f5\u00f9" +
"\u00fa\u0169\u1ecd\u1ecf\u1ee5\u1ee7\u01a1\u01b0\u1ee1\u1eef\u0000aegiloruy\u00e4\u00e6\u00e8\u00e9\u00f2\u00f3\u00f5\u00f6\u00fc\u01eb\u0227\u022f\u03b1\u03b9\u03c5\u0438\u0443\u1e37\u1e5b\u0101\u0113\u1e21\u012b\uFFFF\u006c\u0304\u014d\uFFFF\u0072\u0304\u016b\u0233\u01df\u01e3\u022d\u022b\u01d6\u01ed\u1fb1\u1fd1\u1fe1\u04e3\u04ef\u1e39\u1e5d\u0000aeiou\u014d" +
"\u0105\u0119\u012f\u01eb\u0173\u0000*123456789ao\u00b0\u00aa\u00ba\u207f\u1d48\u1d49\u02b3\u02e2\u1d57\u02b0\u0000auwy~\u00e1\u00e5\u016f\u1e98\u1e99\u2e1b\u0000abcegklnorstuv\u00f3\u0254\u2c65\u2422\u023c\u0247\uFFFF\ua7a1\uFFFF\ua743\u0142\uFFFF\ua7a5\u00f8\uFFFF\ua7a7\uFFFF" +
"\ua7a9\u2c66\uFFFF\ua7b9\uFFFF\ua75f\uFFFF\uab3f\u0000()+-0123456789=aehijklmnoprstuvx\u0259\u03b2\u03b3\u03c1\u03c6\u03c7\u208d\u208e\u208a\u208b\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u208c\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092" +
"\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u2094\u1d66\u1d67\u1d68\u1d69\u1d6a\u0000()+-0123456789=abcdefghijklmnopqrstuvwxyz\u014b\u0153\u0250\u0252\u0254\u0255\u0259\u025b\u025c\u025f\u0263\u0265\u0266\u0268\u026f\u0270\u0271" +
"\u0275\u0279\u027b\u0281\u0282\u0283\u0289\u028a\u028c\u028d\u0292\u03b2\u03b4\u03b8\u03b9\u03c6\u03c7\u04e9\u1d02\u1d08\u1d09\u1d1d\u207d\u207e\u207a\u207b\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u1d43\u1d47\u1d9c\u1da0\u1d4d\u2071\u02b2\u1d4f\u02e1\u1d50\u1d52\u1d56\uFFFF\ua7f4\u1d58\u1d5b\u02b7\u02e3\u02b8\u1dbb\u1d51\uFFFF\ua7f9\u1d44\u1d9b\u1d53\u1d9d\u1d4a\u1d4b\u1d9f\u1da1\u02e0\u1da3\u02b1\u1da4" +
"\u1d5a\u1dad\u1dac\u1db1\u02b4\u02b5\u02b6\u1db3\u1db4\u1db6\u1db7\u1dba\uFFFF\uab69\u1dbe\u1d5d\u1d5f\u1dbf\u1da5\u1d60\u1d61\u1d46\u1d4c\u1d4e\u1d59\u0000aeinouvy\u00e2\u00ea\u00f3\u00f6\u00fa\u0103\u014d\u01a1\u01b0\u00e3\u1ebd\u0129\u00f1\u00f5\u0169\u1e7d\u1ef9\u1e4f\u1eb5\u0000*acehijklmnostuwxy" +
"~\u00b0\u00ed\u00f5\u00f9\u00fa\u0101\u014d\u016b\u01d4\u03b9\u03c5\u03cd\u03d2\u0430\u0436\u0437\u0438\u043e\u0443\u0447\u044b\u044d\u04d9\u04e9\u1f7a\u1fe6\u2207\u2363\u00e4\uFFFF\u0063\u0308\u00eb\u1e27\u00ef\uFFFF\u006a\u0308\uFFFF\u006b\u0308\uFFFF\u006c\u0308\uFFFF\u006d\u0308\uFFFF\u006e\u0308\u00f6\uFFFF\u0073\u0308\u1e97\u00fc\u1e85\u1e8d\u00ff\u2368\u2364\u03ca\u03cb\u03b0\u03d4\u04d3\u04dd\u04df\u04e5\u04e7\u04f1" +
"\u04f5\u04f9\u04ed\u04db\u1fe2\u1fe7\u2362\u0000 !\"#%'()*+,-./01234578:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcd" +
"efghijklmnoprstuvwxyz{|~\u00a8\u00af\u00b4\u00b8\u00f7\u02d8\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0415\u0417\u041d\u0421\u0430\u0431\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043a\u043b\u043c\u043d\u043e\u043f\u0442\u0443\u0445\u0447\u0448\u044a\u044e\u044f\u0456" +
"\u0458\u0461\u0467\u05b4\u05b7\u05b8\u05b9\u05bc\u05bf\u05c1\u05c2\u0653\u0654\u0655\u093c\u09bc\u09c7\u0a3c\u0b3c\u0b47\u0bc6\u0bc7\u0bd7\u0c46\u0cbf\u0cc6\u0cca\u0d46\u0d47\u0dd9\u0ddc\u0f71\u0f90\u0f92\u0f9c\u0fa1\u0fa6\u0fab\u0fb2\u0fb3\u0fb5\u0fb7\u102e\u1100\u1102\u1103\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u110c\u110e\u1111\u1112\u1121\u1132\u113c\u113e\u114e\u1150\u1161\u1163\u1165\u1167\u1169\u116a\u116d\u116e\u116f" +
"\u1172\u1173\u1174\u1175\u119e\u11a8\u11aa\u11ab\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b7\u11b8\u11ba\u11bc\u11c1\u11c2\u11ce\u11dd\u11ec\u11f0\u2190\u2191\u2192\u2193\u2203\u2206\u2207\u2208\u220a\u220b\u2218\u2223\u2225\u2227\u2228\u2229\u222a\u223c\u2243\u2248\u224d\u2260\u2261\u2264\u2265\u2272\u2273\u2276\u2277\u227a\u227b\u227c\u227d\u2282\u2283\u2286\u2287\u2291\u2292\u22a3\u22a4\u22a5\u22a8\u22a9\u22ab\u22b2\u22b3\u22b4" +
"\u22b5\u22c4\u2373\u2375\u237a\u2395\u25cb\u2add\u0000 (,-.<>_\u00a0\u02d8\u00b8~\u2008\u02c7^\u00af\u0000!+?ABDEHIKLMNORSTUVWYZ^abdehiklmnorstuvwyz\u01a0\u01a1\u01af\u01b0" +
"\u00a1\u0000OUou\u1ee2\u1ef0\u203d\u1ea0\u1e04\u1e0c\u1eb8\u1e24\u1eca\u1e32\u1e36\u1e42\u1e46\u1ecc\u1e5a\u1e62\u1e6c\u1ee4\u1e7e\u1e88\u1ef4\u1e92\u00a6\u0000\u0456\u0457\u0000#ESbefq\u266f\u266b\u266c\u266d\u266a\u266e\u2669\u0000o\u2030\u0000\"'()+,/<>ACEGIJKLMNOP" +
"RSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7" +
"\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u2395\u0000 IUiu\u03b9\u03c5\u0385\u1e2e\u01d7\u0390\u00b4\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0d\u1f1d\u1f2d\u1f3d\u1f4d\u1f5d\u1f6d\u1f05\u1f15\u1f25\u1f35\u1f45\u1f55\u1f65\u0000" +
"\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0c\u1f1c\u1f2c\u1f3c\u1f4c\u1f6c\u1f04\u1f14\u1f24\u1f34\u1f44\u1f54\u1f64\u0000OUou\u1eda\u1ee8\u201a\u0000Oo\u01fe\u2018\u2019\u00c1\u0106\u00c9\u01f4\u00cd\uFFFF\u004a\u0301\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u0000E" +
"Oeo\u1e16\u1e52\u0000Aa\u1eae\u0000OUou\u1e4c\u1e78\u0000EOeo\u0000Cc\u1e08\u01fa\u01fc\u0386\u0388\u0389\u038a\u038c\u038e\u038f\u03ce\uFFFF\u0410\u0301\u0403\uFFFF\u0415\u0301\uFFFF\u0418\u0301\u040c\uFFFF\u041e\u0301\uFFFF\u0420\u0301\uFFFF\u0423\u0301\uFFFF\u042b\u0301\uFFFF\u042d\u0301\uFFFF\u042e\u0301\uFFFF\u042f\u0301\uFFFF\u0440\u0301\u235e\u0000" +
" ()-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u0391\u0395\u0397\u0399\u039f\u03a1" +
"\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u4e00" +
"\u4e03\u4e09\u4e0a\u4e0b\u4e2d\u4e5d\u4e8c\u4e94\u4f01\u4f11\u512a\u516b\u516d\u5199\u52b4\u533b\u5341\u5354\u5370\u53f3\u540d\u56db\u571f\u591c\u5973\u5b66\u5b97\u5de6\u65e5\u6708\u6709\u6728\u682a\u6b63\u6c34\u6ce8\u706b\u7279\u7537\u76e3\u793e\u795d\u79d8\u8ca1\u8cc7\u9069\u91d1\u9805[\u0000)\uFFFF\ud83c\udd2f{\u0000)\u24ea\u0000)0123456789\u2460\u0000" +
")\u2469\u0000)\u246a\u0000)\u246b\u0000)\u246c\u0000)\u246d\u0000)\u246e\u0000)\u246f\u0000)\u2470\u0000)\u2471\u0000)\u2472\u0000)0123456789\u2461\u0000)\u2473\u0000)\u3251\u0000)\u3252\u0000)\u3253\u0000)\u3254\u0000)\u3255\u0000)\u3256\u0000)\u3257\u0000)\u3258\u0000)\u3259" +
"\u0000)0123456789\u2462\u0000)\u325a\u0000)\u325b\u0000)\u325c\u0000)\u325d\u0000)\u325e\u0000)\u325f\u0000)\u32b1\u0000)\u32b2\u0000)\u32b3\u0000)\u32b4\u0000)0123456789\u2463\u0000)\u32b5\u0000)\u32b6\u0000)\u32b7\u0000)\u32b8\u0000)\u32b9\u0000" +
")\u32ba\u0000)\u32bb\u0000)\u32bc\u0000)\u32bd\u0000)\u32be\u0000)0\u2464\u0000)\u32bf\u0000)\u2465\u0000)\u2466\u0000)\u2467\u0000)\u2468\u0000)\u24b6\u0000)\u24b7\u0000)\u24b8\u0000)\u24b9\u0000)\u24ba\u0000)\u24bb\u0000)\u24bc\u0000)\u24bd\u0000)\u24be\u0000)\u24bf\u0000)\u24c0\u0000)\u24c1\u0000)\u24c2" +
"\u0000)\u24c3\u0000)\u24c4\u0000)\u24c5\u0000)\u24c6\u0000)\u24c7\u0000)\u24c8\u0000)\u24c9\u0000)\u24ca\u0000)\u24cb\u0000)\u24cc\u0000)\u24cd\u0000)\u24ce\u0000)\u24cf\u0000)\u24d0\u0000)\u24d1\u0000)\u24d2\u0000)\u24d3\u0000)\u24d4\u0000)\u24d5\u0000)\u24d6\u0000)\u24d7\u0000)\u24d8\u0000)\u24d9\u0000)\u24da" +
"\u0000)\u24db\u0000)\u24dc\u0000)\u24dd\u0000)\u24de\u0000)\u24df\u0000)\u24e0\u0000)\u24e1\u0000)\u24e2\u0000)\u24e3\u0000)\u24e4\u0000)\u24e5\u0000)\u24e6\u0000)\u24e7\u0000)\u24e8\u0000)\u24e9\u1f09\u1f19\u1f29\u1f39\u1f49\u1fec\u1f59\u1f69\u1f01\u1f11\u1f21\u1f31\u1f41\u1fe5\u1f51\u1f61\u0000)\u1161\u3260\u0000)\u326e\u0000)\u1161\u3261" +
"\u0000)\u326f\u0000)\u1161\u3262\u0000)\u3270\u0000)\u1161\u3263\u0000)\u3271\u0000)\u1161\u3264\u0000)\u3272\u0000)\u1161\u3265\u0000)\u3273\u0000)\u1161\u3266\u0000)\u3274\u0000)\u1161\u3267\u0000)\u3275\u0000)\u1161\u3268\u0000)\u3276\u0000)\u1161\u3269\u0000)\u3277\u0000)\u1161\u326a\u0000)\u3278\u0000)\u1161\u326b\u0000)" +
"\u3279\u0000)\u1161\u326c\u0000)\u327a\u0000)\u1161\u326d\u0000)\u327b\u0000)\u32d0\u0000)\u32d1\u0000)\u32d2\u0000)\u32d3\u0000)\u32d4\u0000)\u32d5\u0000)\u32d6\u0000)\u32d7\u0000)\u32d8\u0000)\u32d9\u0000)\u32da\u0000)\u32db\u0000)\u32dc\u0000)\u32dd\u0000)\u32de\u0000)\u32df\u0000)\u32e0\u0000)\u32e1\u0000)\u32e2" +
"\u0000)\u32e3\u0000)\u32e4\u0000)\u32e5\u0000)\u32e6\u0000)\u32e7\u0000)\u32e8\u0000)\u32e9\u0000)\u32ea\u0000)\u32eb\u0000)\u32ec\u0000)\u32ed\u0000)\u32ee\u0000)\u32ef\u0000)\u32f0\u0000)\u32f1\u0000)\u32f2\u0000)\u32f3\u0000)\u32f4\u0000)\u32f5\u0000)\u32f6\u0000)\u32f7\u0000)\u32f8\u0000)\u32f9\u0000)\u32fa" +
"\u0000)\u32fb\u0000)\u32fc\u0000)\u32fd\u0000)\u32fe\u0000)\u3280\u0000)\u3286\u0000)\u3282\u0000)\u32a4\u0000)\u32a6\u0000)\u32a5\u0000)\u3288\u0000)\u3281\u0000)\u3284\u0000)\u32ad\u0000)\u32a1\u0000)\u329d\u0000)\u3287\u0000)\u3285\u0000)\u32a2\u0000)\u3298\u0000)\u32a9\u0000)\u3289\u0000)\u32af\u0000)\u329e" +
"\u0000)\u32a8\u0000)\u3294\u0000)\u3283\u0000)\u328f\u0000)\u32b0\u0000)\u329b\u0000)\u32ab\u0000)\u32aa\u0000)\u32a7\u0000)\u3290\u0000)\u328a\u0000)\u3292\u0000)\u328d\u0000)\u3291\u0000)\u32a3\u0000)\u328c\u0000)\u329f\u0000)\u328b\u0000)\u3295\u0000)\u329a\u0000)\u32ac\u0000)\u3293\u0000)\u3297\u0000)\u3299" +
"\u0000)\u3296\u0000)\u32ae\u0000)\u329c\u0000)\u328e\u0000)\u32a0\u0000)-\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9]}\u1f08\u1f18\u1f28\u1f38\u1f48\u1f68\u1f00\u1f10\u1f20\u1f30\u1f40\u1fe4\u1f50\u1f60\u0000'0AUau\u00a8\u25cb\u0000Aa\u00c5\u016e\u235f\u0000+-OUou#\u00b1" +
"\u01a0\u01af\u0000\u0433\u043a\u043b\u043d\u0445\u0467\u04fb\u04c4\u0513\u04c8\u04fd\u04ca\u0000 ()+,-./:>ADEIKLOU\\^_adeilou\u2191\u2193\u25cb\u00ac\u0000 -.\u00ad\u2014\u2013\u0000Ee\uFFFF\u0116\u0304\uFFFF\u0117\u0304\u233f\u00f7\u0100\u0110\u0112\u012a\u20ad\u00a3" +
"\u014c\u016a\u2340\u2212\u234f\u2356\u2296\u0000\u0433\u0436\u0439\u043a\u043b\u043c\u043d\u0445\u0447\u0456\u04f7\u0497\u048b\u049b\u052f\u04ce\u04b3\u04b7\u0000-/<=BCDGHILOTZ^bcdghilmotuvz\u0294\u0413\u041a\u0433\u043a\u04ae\u04af\u2190\u2192\u2194\u2395\\\u2260\u0243\u20a1\u01e4\u0126" +
"\u0197\u0141\u00d8\u0166\u01b5|\u00a2\u20a5\u00b5\u221a\u02a1\u0492\u049e\u0493\u049f\u04b0\u219a\u219b\u21ae\u2341\u0000*3~\u2189\u236c\u0000123456789^\u00000\u2152\u00bd\u2153\u00bc\u2155\u2159\u2150\u215b\u2151\u000035^\u2154\u2156\u0000458^\u00be\u2157\u215c\u00005\u2158\u000068\u215a\u215d\u00008" +
"\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u2234\u2360\u0000 AEIOSTU_aeiostu\u02db\u0104\u0118\u012e\u01ea\u0218\u021a\u0172\u236e\u0219\u021b\u0000 \"'-/3<=>CDELNRSTZ_cdelnrstz\u2395" +
"\u201c\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2343\u0000/<>CELNOPRTUWY^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395\u21d0\u21d2\u20ac\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ab\u21d3\u04f2\u2338\u0000 \"'/" +
"<=>AEIOU_aeiou\u00a8\u2395\u201d\u226f\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2369\u2344\u0000!+?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u00bf\u1ea2\u1eba\u1ec8\u1ece" +
"\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u0000Aa\u1eb2\u2370\u0000\"'(*,-;>AET^_`~\u00a8\u00b4\u00c4\u0102\u00c6@\u00c0\u00c3\u0000.|\u1e02\u0e3f\u0000',./<=CEOr|\u00c7\u010a\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H" +
"\u1e10\u1e0a\u00d0\u0000\"',-.;<=>E^_`\u00a8\u00b4\u00cb\u0116\u018f\u00c8\u0000.Uilr\u1e1e\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000(,.TU|\u02d8\u011e\u0122\u0120>\u20b2\u0000,\u1e28\u0000\"',-.;>J^_`j~\u00a8\u00b4\u00cf\u0130" +
"\u0132\u00cc\u0128\u0000'\u00b4\u0000,-\u0136\u0000',-/<=LTV\u013b\u0000A\u0000P\uFFFF\ud83d\udd96<\u0000.\u1e40\u0000',<=GNOo~\u0145\u014a\u2115\u2116\u00d1\u0000\"',-/;>ACERSXY^_`~\u00a8\u00b4\u00d6\u0152\u00ae\u00a7" +
"\u00a4\u262e\u00d2\u00d5\u0000!.=Pt\u00b6\u1e56\u20a7\u0000Q\u211a\u0000',<=ORs\u0156\u211d\u20a8\u0000!',.;<MOS|\u015e\u1e60\u2120\u1e9e$\u0000,-./;<=HM\u0162\u1e6a\u00de\u2122\u0000 !\"'*,-;>AEGIO" +
"U^_`aegiou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u0000Aa\u1eb6\u00dc\u0114\u012c\u014e\u016c\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u0000Ee\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e" +
"\u0000csz\u0000=^\u0174\u0000O\u0000\"'=^\u00a8\u00b4\u0178\u0176\u0000'.<Z\u017b\u2124\u0000]\u2337\u0000nt\uFFFF\\\u006e\uFFFF\\\u0074\u0000[\u0000!()+-./0123456789=ACEGHIJOSUWYZ" +
"_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u00b7\u0108\u011c\u0124\u0134\u015c\u1e90\u0000ahijlnor" +
"swxy\u0263\u0266\u0279\u027b\u0281\u0295\u02e4\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0440\u0302\u3192\u319c\u3194\u3196\u3198\u319b\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=>AE" +
"GIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u0000LRlr\u1e38\u1e5c\u0000AO" +
"Uaou\u01de\u022a\u01d5\u2358\u0000AEOaeo\u01e0\u0230\u0000Oo\u01ec\u1e20\u0232\u0000Oo\u022c\u01e2\u1fb9\u1fd9\u1fe9\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u2359\u2377\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"(" +
")+AEINOUWY^_`abeinouwy\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000Uu\u03b9\u03c5" +
"\u01db\u1fd2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42\u1f52\u1f62\u0000OUou\u1edc\u1eea\u01f8\u1e80\u1ef2\u0000AEO" +
"aeo\u1ea6\u1ec0\u1ed2\u0000EOeo\u1e14\u1e50\u0000\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\uFFFF\u0430\u030f\uFFFF\u0435\u030f\uFFFF\u0438\u030f\uFFFF\u043e\u030f\uFFFF\u0440\u030f\uFFFF\u0443\u030f\u0000Aa\u1eb0\u0000EOeo\u1fba" +
"\u1fc8\u1fca\u1fda\u1ff8\u1fea\u1ffa\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>^_`ae~\u00a8\u00b4\u00e6\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9" +
"\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u0000Ee\u0000Ee\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01cd\u01e6\u021e\u01cf" +
"\u01e8\u01d1\u01d3\u0000,-.<=hi\u00f0\u2300\u0000\"',-.;<=>^_`e\u00a8\u00b4\u0259\u0000.Sfils\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u0000(,.Ut\u02d8\u0000,\u0000\"',-.;>^_`j~\u00a8\u00b4\u0133\u0000'\u00b4" +
"\u0000,k\u0138\u0000',-/<tv\u0000./u\u0000',<g~\u014b\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u0153\u0000!.=o\u0000o\uFFFF\ud83d\udca9\u0000',<=\u0000!',.;<" +
"mos\u00b8\u00df\u0000,-./;<hm\u00fe\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u0000/ACDEGHIKNORSTUZacdeghijklnor" +
"stuz|\u0000^\u0000ox\u00d7\u0000\"'=^\u00a8\u00b4\u0000'.<\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEINOUVY^abei" +
"nouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0e\u1f2e\u1f3e\u1f6e\u1f06\u1f26\u1f36\u1f56\u1f66" +
"\u0000OUou\u1ee0\u1eee\u1ebc\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u0000Aa\u1eb4\u2248\u1fb6\u1fc6\u1fd6\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u1fed\u1fc1\u2361\u2365\u0000!\".;AEGIOUY" +
"aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u0000AOUaou\u0000AOao\u0000Oo\u0000Oo\u2351\u0000\"()+" +
",/ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169" +
"\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1" +
"\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000OUou\u0000Cc\u0000Oo\u0000AEOaeo\u0000EOeo\u0000Aa\u0000OUou\u0000EOeo\u0000Cc\u0000CDEGHKLNRSTcdeghklnrst\u0228\u0000\u2395\u2339" +
"\u0000Gg\u0000'\u0000'\u0000'\u0000\"'\u03aa\u0000'\u0000\"'\u03ab\u0000'\u0000'\u0000'\u0000'\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94" +
"\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2\u1ff2\u0000()\u03b1\u03b7\u03c9\u0000" +
"\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u0000\"'\u0000'\u0000=\u0000=\u0000\u041e\u043e\u0000=\u0000\u0435" +
"\u0443\u0447\u044b\u044c\ua64b\ua651\u0463\u0461\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0063\u0075\u0074\u0065\uFFFF\ua659\uFFFF\ua64d\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0070\u0073\u0069\u006c\u0069\u0000,.\u0439\u043a\u0445\u0458\u0491\u0481\u0000\u0435\u0436\u0437\u0439\u0458\u0465\uFFFF" +
"\ua649\u045f\uFFFF\ua643\u0452\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0074\u0072\u0065\u006d\u0061\u0000.\u0000\u0444\u0499\u0000\u0438\u0443\u0475\u0000.\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0062\u0072\u0065\u0076\u0065\u0000,.\u0433\u0441\u0445\u0448\u046f\u0000,.\u044c\u0459\u0000.\u0000,\u00b7\u0447\u044c\u0529" +
"\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0074\u0069\u0074\u006c\u006f\u045a\u0000\u0442\u0443\u0447\u047f\u0479\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064\u005f\u0062\u0072\u0065\u0076\u0065\u0000\u0441\u0471\u0000\u0439\u0444\u0458\u045b\u0473\u0000\u0438\u0439\u0443\u0447\u0456\u0458\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069" +
"\u006e\u0067\u005f\u0070\u006f\u0072\u006b\u0072\u0079\u0074\u0069\u0065\u0000,.\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0064\u0061\u0073\u0069\u0061\u0000.\u0430\u0431\u0435\u0439\u043d\u043e\u0443\u0445\u0447\u044a\u044e\u0458\u0467\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0070\u006f\u006b\u0072\u0079" +
"\u0074\u0069\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0070\u0061\u0079\u0065\u0072\u006f\u006b\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0076\u0065\u0072\u0074\u0069\u0063\u0061\u006c\u005f\u0074\u0069\u006c\u0064\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0067\u0072\u0061\u0076\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067" +
"\u005f\u0076\u007a\u006d\u0065\u0074\u0000\u0442\u0449\u0000\u0447\u0000\u0430\u0435\u043c\u043d\u0447\uFFFF\ua653\u0451\u046d\u0469\u0000\u044c\uFFFF\ua65d\u0000\".\u0443\u0456\u0000\u0430\u0447\u0463\uFFFF\ua657\u0000\u0442\u0000\u0447\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db" +
"\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF" +
"\ufb2c\uFFFF\ufb2a\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u0623\u0624\u0626\u06c2\u06d3\u06c0\u0000\u0627\u0625\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b" +
"\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81" +
"\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d" +
"\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123\u1124\u1126\u0000\u110b\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u0000\u1100" +
"\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u0000\u1100\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179" +
"\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181\u1182\u1183\u116c\u0000\u1175\u0000\u1163\u1164\u1167\u1169\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u0000\u1161\u1165\u1166\u1167" +
"\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca" +
"\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u0000\u11a8\u11ba\u0000\u11ba\u11bc\u11c2\u0000\u11ba\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df" +
"\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u0000\u11a8\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2347\u0000-\u2395\u2350\u0000|\u2395\u2348\u0000-\u2395" +
"\u2357\u0000/\u2204\u0000_|\u2395\u234d\u0000|~\u00a8\u2395\u2354\u0000/\u2209\u0000_\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2353\u0000~\u2227\u2395\u234c\u0000\u2218\u0000|\u0000/\u2247\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u236f" +
"\u0000/\u0000/\u2270\u0000/\u2271\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/\u22e1\u0000/_|\u2284\u0000/_\u2285\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2336\u0000_\u2218\u22a4\u0000/\u22ad\u0000/\u22ae" +
"\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u233a\u0000_\u0000_\u0000_\u0000'/:<=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u2342\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u2299\u2349\u0000/\u2adc\u0000 !\"%'()" +
"*,-.0123456789<=>?[]^_abcehlopruyz{|}\u00a3\u00a7\u00b1\u00d7\u0398\u03a0\u03a3\u03b2\u03b3\u03b5\u03b8\u03ba\u03c0\u03c1\u03c3\u03c5\u03c6\u0430\u0435\u0437\u0438\u0439\u043b\u043c\u043d\u043e\u0441\u0443\u0447\u0448\u044a\u044b\u044c\u044d\u044f" +
"\u0456\u0458\u045f\u0461\u0481\u0487\u049b\u04b7\u04c8\u0513\u05d1\u05d3\u05d5\u05d6\u05d7\u05dd\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0901\u0902\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090f\u0910\u0913\u0914\u0915\u0916\u0917\u0918\u091a\u091b\u091c\u091d\u091f\u0921\u0922\u0923\u0925\u0926\u0928" +
"\u092a\u092b\u092c\u092f\u0930\u0933\u0935\u0936\u0937\u093c\u093d\u093e\u093f\u0940\u0941\u0943\u0947\u0948\u094b\u094c\u0953\u0956\u0962\u0964\u0970\u2020\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2208\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22b7\ua649\ua651\ua67d\uFFFF\u006e\u0062\u0073\u0070\u201e\u2026\uFFFF\u0066\u0031\u0030\uFFFF\u0066\u0031\uFFFF\u0066\u0032\uFFFF\u0066\u0033\uFFFF" +
"\u0066\u0034\uFFFF\u0066\u0035\uFFFF\u0066\u0036\uFFFF\u0066\u0037\uFFFF\u0066\u0038\uFFFF\u0066\u0039\u20b1\u20b4\u20bf\u2039\u203a\uFFFF\u0072\u0065\u006d\u006f\u0076\u0065\u0064\u2213\u2219\u03f4\u220f\u2211\u03d0\u0263\u03f5\u03d1\u03f0\u03d6\u03f1\u03c2\u03d2\u03d5\u0465\uFFFF\ua641\u0456\u0458\u046b\u0467\u047b\u0455\uFFFF\ua64b\u044c\uFFFF\ua651\u044a\u0454\u0438\uFFFF\ua66f\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0073" +
"\u0065\u0067\u006f\u006c\uFFFF\u0064\u0061\u0067\u0065\u0073\u0068\uFFFF\u0068\u006f\u006c\u0061\u006d\uFFFF\u0071\u0075\u0062\u0075\u0074\u0073\uFFFF\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073" +
"\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0073\u0068\u0065\u0076\u0061\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b\u0904\u0944\u0945" +
"\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1\u22c2\u22c3\u222e\u22b6\u044b\u0483\u0000\u00df\u0131\u01f0\u0237\u02b0\u02b2\u02b3\u02b7\u02e1\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u1d43\u1d47\u1d48\u1d49\u1d4d\u1d4f\u1d50\u1d52\u1d56\u1d57\u1d58\u1d5b\u1d60\u1d9c\u1da0\u1dbe" +
"\u1e97\u1e98\u1e99\u2071\u207f\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\uFFFF\u004a\u030c\uFFFF\u004a\u0307\u1d34\u1d36\u1d3f\u1d42\u1d38\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0\u0ac2\u0ac8\u0acc\u1d2c\u1d2e\u1d30\u1d31\u1d33\u1d37\u1d39\u1d3c\u1d3e\u1d40\u1d41\u2c7d" +
"\u1db2\uFFFF\ua7f2\uFFFF\ua7f3\u1d23\uFFFF\u0054\u0308\uFFFF\u0057\u030a\uFFFF\u0059\u030a\u1d35\u1d3a\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c").toCharArray();
("\u0001\u0000aceijlorsuyz\u00fc\u0144\u0430\u0435\u0438\u043e\u0443\u044b\u044d\u044e\u044f\u00e1\u0107\u00e9\u00ed\uFFFF\u006a\u0301\u013a\u00f3\u0155\u015b\u00fa\u00fd\u017a\u01d8\u0144\uFFFF\u0430\u0301\uFFFF\u0435\u0301\uFFFF\u0438\u0301\uFFFF\u043e\u0301\uFFFF\u0443\u0301\uFFFF\u044b\u0301\uFFFF\u044d\u0301\uFFFF\u044e\u0301\uFFFF\u044f\u0301\u0000.01" +
"23456789\u21b5\u2194\u2199\u2193\u2198\u2190\u2195\u2192\u2196\u2191\u2197\u0000bcdgijklopqrtuyz\u0180\uFFFF\ua793\u0111\u01e5\u0268\u0249\uFFFF\ua741\u019a\u0275\u1d7d\uFFFF\ua757\u024d\u0167\u0289\u024f\u01b6\u0000.0123456789\u2502\u2500\u2514\u2534\u2518" +
"\u251c\u253c\u2524\u250c\u252c\u2510\u0000acdeilnorstuz\u00fc\u01ce\u010d\u010f\u011b\u01d0\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u01da\u0000cdeghklnrst\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u0000aceghijouz\u015d\u0430\u0435" +
"\u0438\u043e\u0443\u00e2\u0109\u00ea\u011d\u0125\u00ee\u0135\u00f4\u00fb\u1e91\u015d\uFFFF\u0430\u0302\uFFFF\u0435\u0302\uFFFF\u0438\u0302\uFFFF\u043e\u0302\uFFFF\u0443\u0302\u0000abcdefghmnoprstwxyz\u0227\u1e03\u010b\u1e0b\u0117\u1e1f\u0121\u1e23\u1e41\u1e45\u022f\u1e57\u1e59\u1e61\u1e6b\u1e87\u1e8b\u1e8f\u017c\u0000aei" +
"ouy\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1ea1\u1eb9\u1ecb\u1ecd\u1ee5\u1ef5\u1ead\u1ec7\u1ed9\u1eb7\u1ee3\u1ef1\u0000 aeimouy\u02dd\uFFFF\u0061\u030b\uFFFF\u0065\u030b\uFFFF\u0069\u030b\uFFFF\u006d\u030b\u0151\u0171\uFFFF\u0079\u030b\u0000aeiou\u00fc\u00e0\u00e8\u00ec\u00f2\u00f9\u01dc\u0000aeiouy\u00e2\u00ea\u00f4\u0103" +
"\u01a1\u01b0\u1ea3\u1ebb\u1ec9\u1ecf\u1ee7\u1ef7\u1ea9\u1ec3\u1ed5\u1eb3\u1edf\u1eed\u0000ou\u00f2\u00f3\u00f5\u00f9\u00fa\u0169\u1ecd\u1ecf\u1ee5\u1ee7\u01a1\u01b0\u1edd\u1edb\u1ee1\u1eeb\u1ee9\u1eef\u0000aeiou\u00fc\u0101\u0113\u012b\u014d\u016b\u01d6\u0000aeiklnou\u0105\u0119\u012f\u01eb\u0173\u0000*12345678" +
"9ao\u00b0\u00aa\u00ba\u207f\u1d48\u1d49\u02b3\u02e2\u1d57\u02b0\u0000au\u00e5\u016f\u0000abcegklnorst\u2c65\u2422\u023c\u0247\uFFFF\ua7a1\uFFFF\ua743\u0142\uFFFF\ua7a5\u00f8\uFFFF\ua7a7\uFFFF\ua7a9\u2c66\u0000()+-0123456789=aehijklm" +
"noprstuvx\u208d\u208e\u208a\u208b\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u208c\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u0000()+-0123456789=abcdefghijklmno" +
"prstuvwxyz\u207d\u207e\u207a\u207b\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u1d43\u1d47\u1d9c\u1da0\u1d4d\u2071\u02b2\u1d4f\u02e1\u1d50\u1d52\u1d56\u1d58\u1d5b\u02b7\u02e3\u02b8\u1dbb\u0000aeinou\u00e2\u00ea\u0103\u01a1\u01b0\u00e3\u1ebd\u0129\u00f1\u00f5\u0169\u1eab\u1ec5\u1eb5\u0000aeiouy\u00e4" +
"\u00eb\u00ef\u00f6\u00fc\u00ff\u0000 !\"#%'()*+,-./01234578:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdef" +
"ghijklmnoprstuvwxyz{|~\u00a8\u00af\u00b4\u00b8\u00f7\u02d8\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0415\u0417\u041d\u0421\u0437\u043f\u05b4\u05b7\u05b8\u05b9\u05bc\u05bf\u05c1\u05c2\u0653\u0654\u0655\u093c\u09bc\u09c7\u0a3c\u0b3c\u0b47\u0bc6\u0bc7\u0bd7\u0c46\u0cbf\u0cc6\u0cca" +
"\u0d46\u0d47\u0dd9\u0ddc\u0f71\u0f90\u0f92\u0f9c\u0fa1\u0fa6\u0fab\u0fb2\u0fb3\u0fb5\u0fb7\u102e\u1100\u1102\u1103\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u110c\u110e\u1111\u1112\u1121\u1132\u113c\u113e\u114e\u1150\u1161\u1163\u1165\u1167\u1169\u116a\u116d\u116e\u116f\u1172\u1173\u1174\u1175\u119e\u11a8\u11aa\u11ab\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b7\u11b8\u11ba\u11bc\u11c1\u11c2\u11ce\u11dd\u11ec\u11f0\u2190\u2191\u2192" +
"\u2193\u2203\u2206\u2207\u2208\u220a\u220b\u2218\u2223\u2225\u2227\u2228\u2229\u222a\u223c\u2243\u2248\u224d\u2260\u2261\u2264\u2265\u2272\u2273\u2276\u2277\u227a\u227b\u227c\u227d\u2282\u2283\u2286\u2287\u2291\u2292\u22a3\u22a4\u22a5\u22a8\u22a9\u22ab\u22b2\u22b3\u22b4\u22b5\u22c4\u2373\u2375\u237a\u2395\u25cb\u2add\u0000 (,-.<>_\u00a0\u02d8\u00b8~\u2008\u02c7^\u00af\u0000!" +
"+?ABDEHIKLMNORSTUVWYZ^abdehiklmnorstuvwyz\u01a0\u01a1\u01af\u01b0\u00a1\u0000OUou\u1ee2\u1ef0\u203d\u1ea0\u1e04\u1e0c\u1eb8\u1e24\u1eca\u1e32\u1e36\u1e42\u1e46\u1ecc\u1e5a\u1e62\u1e6c\u1ee4\u1e7e\u1e88\u1ef4" +
"\u1e92\u00a6\u1e05\u1e0d\u1e25\u1e33\u1e37\u1e43\u1e47\u1e5b\u1e63\u1e6d\u1e7f\u1e89\u1e93\u0000 \"',<>AEHIOUWXY_aehiotuwxy~\u00af\u00b4\u00d5\u00f5\u016a\u016b\u0399\u03a5\u03b9\u03c5\u03d2\u0406\u0410\u0415\u0416\u0417\u0418\u041e\u0423\u0427\u042b\u042d\u0430\u0435\u0436\u0437\u0438\u043e\u0443" +
"\u0447\u044b\u044d\u0456\u04d8\u04d9\u04e8\u04e9\u00a8\u0344\u201e\u201c\u201d\u00c4\u00cb\u1e26\u00cf\u00d6\u00dc\u1e84\u1e8c\u0178\u0000Uu\u1e7a\u1e7b\u1e27\u1e97\u1e85\u1e8d\u0000Oo\u1e4e\u1e4f\u0000Uu\u03aa\u03ab\u03ca\u03cb\u03d4\u0407\u04d2\u0401\u04dc\u04de\u04e4\u04e6\u04f0\u04f4\u04f8\u04ec\u04d3\u0451\u04dd\u04df\u04e5\u04e7\u04f1\u04f5\u04f9\u04ed\u0457\u04da\u04db\u04ea\u04eb\u0000#" +
"ESbefq\u266f\u266b\u266c\u266d\u266a\u266e\u2669\u0000o\u2030\u0000\"'()+,/<>ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7" +
"\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u2395\u0000 IUi" +
"u\u03b9\u03c5\u0385\u1e2e\u01d7\u1e2f\u0390\u03b0\u00b4\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0d\u1f1d\u1f2d\u1f3d\u1f4d\u1f5d\u1f6d\u1f05\u1f15\u1f25\u1f35\u1f45\u1f55\u1f65\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0c\u1f1c\u1f2c\u1f3c\u1f4c\u1f6c\u1f04\u1f14\u1f24\u1f34\u1f44\u1f54\u1f64\u0000OUou\u1eda" +
"\u1ee8\u201a\u0000Oo\u01fe\u01ff\u2018\u2019\u00c1\u0106\u00c9\u01f4\u00cd\uFFFF\u004a\u0301\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000Aa\u1eae\u1eaf\u01f5\u1e31\u1e3f\u1e55\u1e83\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000E" +
"Oeo\u0000Cc\u1e08\u1e09\u01fa\u01fc\u01fb\u01fd\u0386\u0388\u0389\u038a\u038c\u038e\u038f\u03ac\u03ad\u03ae\u03af\u03cc\u03cd\u03ce\uFFFF\u0410\u0301\u0403\uFFFF\u0415\u0301\uFFFF\u0418\u0301\u040c\uFFFF\u041e\u0301\uFFFF\u0420\u0301\uFFFF\u0423\u0301\uFFFF\u042b\u0301\uFFFF\u042d\u0301\uFFFF\u042e\u0301\uFFFF\u042f\u0301\u0453\u045c\uFFFF\u0440\u0301\u235e\u0000 ()-012" +
"3456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u0391\u0395\u0397\u0399\u039f\u03a1\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf" +
"\u03c1\u03c5\u03c9\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u4e00\u4e03\u4e09\u4e0a\u4e0b\u4e2d\u4e5d\u4e8c" +
"\u4e94\u4f01\u4f11\u512a\u516b\u516d\u5199\u52b4\u533b\u5341\u5354\u5370\u53f3\u540d\u56db\u571f\u591c\u5973\u5b66\u5b97\u5de6\u65e5\u6708\u6709\u6728\u682a\u6b63\u6c34\u6ce8\u706b\u7279\u7537\u76e3\u793e\u795d\u79d8\u8ca1\u8cc7\u9069\u91d1\u9805[\u0000)\uFFFF\ud83c\udd2f{\u0000)\u24ea\u0000)0123456789\u2460\u0000)\u2469\u0000)\u246a\u0000)" +
"\u246b\u0000)\u246c\u0000)\u246d\u0000)\u246e\u0000)\u246f\u0000)\u2470\u0000)\u2471\u0000)\u2472\u0000)0123456789\u2461\u0000)\u2473\u0000)\u3251\u0000)\u3252\u0000)\u3253\u0000)\u3254\u0000)\u3255\u0000)\u3256\u0000)\u3257\u0000)\u3258\u0000)\u3259\u0000)01234" +
"56789\u2462\u0000)\u325a\u0000)\u325b\u0000)\u325c\u0000)\u325d\u0000)\u325e\u0000)\u325f\u0000)\u32b1\u0000)\u32b2\u0000)\u32b3\u0000)\u32b4\u0000)0123456789\u2463\u0000)\u32b5\u0000)\u32b6\u0000)\u32b7\u0000)\u32b8\u0000)\u32b9\u0000)\u32ba\u0000)\u32bb\u0000)" +
"\u32bc\u0000)\u32bd\u0000)\u32be\u0000)0\u2464\u0000)\u32bf\u0000)\u2465\u0000)\u2466\u0000)\u2467\u0000)\u2468\u0000)\u24b6\u0000)\u24b7\u0000)\u24b8\u0000)\u24b9\u0000)\u24ba\u0000)\u24bb\u0000)\u24bc\u0000)\u24bd\u0000)\u24be\u0000)\u24bf\u0000)\u24c0\u0000)\u24c1\u0000)\u24c2\u0000)\u24c3\u0000)\u24c4\u0000" +
")\u24c5\u0000)\u24c6\u0000)\u24c7\u0000)\u24c8\u0000)\u24c9\u0000)\u24ca\u0000)\u24cb\u0000)\u24cc\u0000)\u24cd\u0000)\u24ce\u0000)\u24cf\u0000)\u24d0\u0000)\u24d1\u0000)\u24d2\u0000)\u24d3\u0000)\u24d4\u0000)\u24d5\u0000)\u24d6\u0000)\u24d7\u0000)\u24d8\u0000)\u24d9\u0000)\u24da\u0000)\u24db\u0000)\u24dc\u0000" +
")\u24dd\u0000)\u24de\u0000)\u24df\u0000)\u24e0\u0000)\u24e1\u0000)\u24e2\u0000)\u24e3\u0000)\u24e4\u0000)\u24e5\u0000)\u24e6\u0000)\u24e7\u0000)\u24e8\u0000)\u24e9\u1f09\u1f19\u1f29\u1f39\u1f49\u1fec\u1f59\u1f69\u1f01\u1f11\u1f21\u1f31\u1f41\u1fe5\u1f51\u1f61\u0000)\u1161\u3260\u0000)\u326e\u0000)\u1161\u3261\u0000)\u326f\u0000)\u1161\u3262" +
"\u0000)\u3270\u0000)\u1161\u3263\u0000)\u3271\u0000)\u1161\u3264\u0000)\u3272\u0000)\u1161\u3265\u0000)\u3273\u0000)\u1161\u3266\u0000)\u3274\u0000)\u1161\u3267\u0000)\u3275\u0000)\u1161\u3268\u0000)\u3276\u0000)\u1161\u3269\u0000)\u3277\u0000)\u1161\u326a\u0000)\u3278\u0000)\u1161\u326b\u0000)\u3279\u0000)\u1161\u326c\u0000)" +
"\u327a\u0000)\u1161\u326d\u0000)\u327b\u0000)\u32d0\u0000)\u32d1\u0000)\u32d2\u0000)\u32d3\u0000)\u32d4\u0000)\u32d5\u0000)\u32d6\u0000)\u32d7\u0000)\u32d8\u0000)\u32d9\u0000)\u32da\u0000)\u32db\u0000)\u32dc\u0000)\u32dd\u0000)\u32de\u0000)\u32df\u0000)\u32e0\u0000)\u32e1\u0000)\u32e2\u0000)\u32e3\u0000)\u32e4\u0000" +
")\u32e5\u0000)\u32e6\u0000)\u32e7\u0000)\u32e8\u0000)\u32e9\u0000)\u32ea\u0000)\u32eb\u0000)\u32ec\u0000)\u32ed\u0000)\u32ee\u0000)\u32ef\u0000)\u32f0\u0000)\u32f1\u0000)\u32f2\u0000)\u32f3\u0000)\u32f4\u0000)\u32f5\u0000)\u32f6\u0000)\u32f7\u0000)\u32f8\u0000)\u32f9\u0000)\u32fa\u0000)\u32fb\u0000)\u32fc\u0000" +
")\u32fd\u0000)\u32fe\u0000)\u3280\u0000)\u3286\u0000)\u3282\u0000)\u32a4\u0000)\u32a6\u0000)\u32a5\u0000)\u3288\u0000)\u3281\u0000)\u3284\u0000)\u32ad\u0000)\u32a1\u0000)\u329d\u0000)\u3287\u0000)\u3285\u0000)\u32a2\u0000)\u3298\u0000)\u32a9\u0000)\u3289\u0000)\u32af\u0000)\u329e\u0000)\u32a8\u0000)\u3294\u0000" +
")\u3283\u0000)\u328f\u0000)\u32b0\u0000)\u329b\u0000)\u32ab\u0000)\u32aa\u0000)\u32a7\u0000)\u3290\u0000)\u328a\u0000)\u3292\u0000)\u328d\u0000)\u3291\u0000)\u32a3\u0000)\u328c\u0000)\u329f\u0000)\u328b\u0000)\u3295\u0000)\u329a\u0000)\u32ac\u0000)\u3293\u0000)\u3297\u0000)\u3299\u0000)\u3296\u0000)\u32ae\u0000" +
")\u329c\u0000)\u328e\u0000)\u32a0\u0000)-\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9]}\u1f08\u1f18\u1f28\u1f38\u1f48\u1f68\u1f00\u1f10\u1f20\u1f30\u1f40\u1fe4\u1f50\u1f60\u0000'0AUau\u00a8\u25cb\u0000Aa\u00c5\u016e\u2363\u235f\u0000+-OUou#\u00b1\u01a0\u01af\u0000 \"'" +
",-ACDEGHIKLNORSTUacdeghiklnorstu\u00ac\u0104\u00c7\u1e10\u0118\u0122\u1e28\u012e\u0136\u013b\u0145\u01ea\u0156\u015e\u0162\u0172\u0000 ()+,-./:>ADEIKLOU\\^_ad" +
"eilou\u2191\u2193\u25cb\u0000 -.\u00ad\u2014\u2013\u0000Ee\uFFFF\u0116\u0304\uFFFF\u0117\u0304\u233f\u00f7\u0100\u0110\u0112\u012a\u20ad\u00a3\u014c\u016a\u2340\u2212\u234f\u2356\u2296\u0000 !'-.:<=>ABCDEFGHIMNOPRSTWXYZ^ab" +
"cdefghimnoprstwxyz\u00b4\u015a\u015b\u0160\u0161\u017f\u1e62\u1e63\u25cb\u02d9\u0000Ss\u1e68\u1e69\u0000Ss\u1e64\u1e65\u00b7\u2026\u2235\u2039\u2022\u203a\u0226\u1e02\u010a\u1e0a\u0116\u1e1e\u0120\u1e22\u0130\u1e40\u1e44\u022e\u1e56\u1e58\u1e60\u1e6a\u1e86\u1e8a\u1e8e\u017b\u0131\u0000Ss\u1e66\u1e67\u1e9b\u2299" +
"\u0000-/<=BCDGHILOTZ^bcdghilmotuvz\u0294\u0413\u041a\u0433\u043a\u04ae\u04af\u2190\u2192\u2194\u2395\\\u2260\u0243\u20a1\u01e4\u0126\u0197\u0141\u00d8\u0166\u01b5|\u00a2\u0127\u20a5\u00b5\u221a\u02a1\u0492\u049e\u0493\u049f\u04b0\u04b1\u219a\u219b\u21ae\u2341\u0000*3~" +
"\u2189\u236c\u0000123456789^\u00000\u2152\u00bd\u2153\u00bc\u2155\u2159\u2150\u215b\u2151\u000035^\u2154\u2156\u0000458^\u00be\u2157\u215c\u00005\u2158\u000068\u215a\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u2234\u2360\u0000 AEIOSTU_" +
"aeiostu\u02db\u0218\u021a\u236e\u0219\u021b\u0000 \"'-/3<=>CDELNRSTZ_cdelnrstz\u2395\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2343\u0000/<>CELNOPRTUW" +
"Y^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395\u21d0\u21d2\u20ac\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ab\u21d3\u04f2\u04f3\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395\u226f\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2369\u2344\u0000!+" +
"?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u0000Aa\u1eb2\u2370\u0000\"'(*,-;>AET" +
"^_`~\u00a8\u00b4\u0102\u00c6@\u00c0\u00c3\u0000.|\u0e3f\u0000',./<=CEOr|\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H\u00d0\u0000\"',-.;<=>E^_`\u00a8\u00b4\u018f\u00c8\u0000.Uilr\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000" +
"(,.TU|\u02d8\u011e>\u20b2\u0000,\u0000\"',-.;>J^_`j~\u00a8\u00b4\u0132\u00cc\u0128\u0000'\u00b4\u0000,-\u0000',-/<=LTV\u0000A\u0000P\uFFFF\ud83d\udd96<\u0000.\u0000',<=GNOo~\u014a\u2115\u2116\u00d1\u0000" +
"\"',-/;>ACERSXY^_`~\u00a8\u00b4\u0152\u00ae\u00a7\u00a4\u262e\u00d2\u00d5\u0000!.=Pt\u00b6\u20a7\u0000Q\u211a\u0000',<=ORs\u211d\u20a8\u0000!',.;<MOS|\u2120\u1e9e$\u0000,-./;<=HM" +
"\u00de\u2122\u0000 !\"'*,-;>AEGIOU^_`aegiou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u1e1d\u0000Aa\u1eb6\u0114\u012c\u014e\u016c\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u0000E" +
"e\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e\u0000Lcsz\u0000=^\u0174\u0000O\u0000\"'=^\u00a8\u00b4\u0176\u0000'.<Z\u2124\u0000]\u2337\u0000-?not\u2395\u25cb\uFFFF\\\u006e\u0000/\uFFFF\ud83d\ude4c\uFFFF\\\u0074\u2342\u2349\u0000[\u0000!()" +
"+-./0123456789=ACEGHIJOSUWYZ_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730" +
"\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u0108\u011c\u0124\u0134\u015c\u1e90\u0000ahijlnorswxy\u0263\u0266\u0279\u027b\u0281\u0295\u02e0\u02b1\u02b4\u02b5\u02b6\u02e4\u0175\u0177\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0440\u0302\u3192\u319c\u3194\u3196\u3198\u319b" +
"\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=>AEGIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420" +
"\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u2358\u0000AEOaeo\u01e0\u0230\u01e1\u0231\u0000Oo\u01ec\u01ed\u1e20\u0232\u1e21\u0233\u0000Oo\u022c\u022d\u01e2" +
"\u01e3\u1fb9\u1fd9\u1fe9\u1fb1\u1fd1\u1fe1\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\u04e3\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u04ef\u2359\u2377\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"()+AEINOUWY^_`abeinouwy" +
"\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000Uu\u03b9\u03c5\u01db\u1fd2\u1fe2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b" +
"\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42\u1f52\u1f62\u0000OUou\u1edc\u1eea\u01f8\u1e80\u1ef2\u0000AEOaeo\u1ea6\u1ec0\u1ed2\u1ea7\u1ec1\u1ed3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u0000\u0410\u0415" +
"\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\uFFFF\u0430\u030f\uFFFF\u0435\u030f\uFFFF\u0438\u030f\uFFFF\u043e\u030f\uFFFF\u0440\u030f\uFFFF\u0443\u030f\u0000Aa\u1eb0\u1eb1\u01f9\u1e81\u1ef3\u0000EOeo\u1fba\u1fc8\u1fca\u1fda\u1ff8\u1fea\u1ffa\u1f70\u1f72\u1f74\u1f76\u1f78\u1f7a" +
"\u1f7c\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\u0450\u045d\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>^_`ae~\u00a8\u00b4\u00e6\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415" +
"\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u0000Ee\u0000Ee\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01cd\u01e6\u021e\u01cf\u01e8\u01d1\u01d3" +
"\u01e7\u021f\u01f0\u01e9\u0000,-.<=hi\u00f0\u2300\u0000\"',-.;<=>^_`e\u00a8\u00b4\u0259\u0000.Sfils\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u0000(,.Ut\u02d8\u0000,\u0000\"',-.;>^_`j~\u00a8\u00b4\u0133\u0000'" +
"\u00b4\u0000,k\u0138\u0000',-/<tv\u0000./u\u0000',<g~\u014b\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u0153\u1e98\u1e99\u0000!.=o\u0000o\uFFFF\ud83d\udca9\u0000',<=\u0000!'," +
".;<mos\u00b8\u00df\u0000,-./;<hm\u00fe\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u0000/ACDEGHIKNORSTUZacdeghijkl" +
"norstuz|\u0000^\u0000ox\u00d7\u0000\"'=^\u00a8\u00b4\u0000'.<\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEINOUVY^a" +
"beinouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u1fe7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0e\u1f2e\u1f3e\u1f6e\u1f06" +
"\u1f26\u1f36\u1f56\u1f66\u0000OUou\u1ee0\u1eee\u1ebc\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u1ed7\u0000Aa\u1eb4\u1e7d\u1ef9\u2248\u2368\u1fb6\u1fc6\u1fd6\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u1fed\u1fc1\u2362\u2364\u2361\u2365\u0000!" +
"\".;AEGIOUYaegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u0000AOUaou\u0000AOao\u0000O" +
"o\u0000Oo\u2351\u0000\"()+,/ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5" +
"\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf" +
"\u03c5\u03c9\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000OUou\u0000Cc\u0000Oo\u0000AEOaeo\u0000EOeo\u0000Aa\u0000OUou\u0000EOeo\u0000Cc\u0000CDEGHKLNRSTcdegh" +
"klnrst\u0228\u0000\u2395\u2339\u0000Gg\u0000'\u0000'\u0000'\u0000\"'\u0000'\u0000\"'\u0000'\u0000'\u0000'\u0000'\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9" +
"\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2" +
"\u1ff2\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u0000\"'\u0000'\u0000=\u0000" +
"=\u0000\u041e\u043e\u0000=\u0000=\u0000\u0430\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a" +
"\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2c\uFFFF\ufb2a\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u0623\u0624\u0626\u06c2\u06d3\u06c0\u0000\u0627" +
"\u0625\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94" +
"\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51" +
"\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123" +
"\u1124\u1126\u0000\u110b\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153" +
"\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u0000\u1100\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181" +
"\u1182\u1183\u116c\u0000\u1175\u0000\u1163\u1164\u1167\u1169\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b" +
"\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3" +
"\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u0000\u11a8\u11ba\u0000\u11ba\u11bc\u11c2\u0000\u11ba\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef" +
"\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u0000\u11a8\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2347\u0000-\u2395\u2350\u0000|\u2395\u2348\u0000-\u2395\u2357\u0000/\u2204\u0000_|\u2395\u234d\u0000|~\u00a8\u2395\u2354\u0000/\u2209\u0000_\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb" +
"\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2353\u0000~\u2227\u2395\u234c\u0000\u2218\u0000|\u0000/\u2247\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u236f\u0000/\u0000/\u2270\u0000/\u2271\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/" +
"\u22e1\u0000/_|\u2284\u0000/_\u2285\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2336\u0000_\u2218\u22a4\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u233a\u0000_\u0000_\u0000_\u0000'/:<=" +
">?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u0000/\u2adc\u0000 !\"%'()*,-.0123456789<=>?[]^_abcehlopruyz" +
"{|}\u00a3\u00a7\u00b1\u00d7\u0398\u03a0\u03a3\u03b2\u03b3\u03b5\u03b8\u03ba\u03c0\u03c1\u03c3\u03c5\u03c6\u05d1\u05d3\u05d5\u05d6\u05d7\u05dd\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0901\u0902\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090f\u0910\u0913\u0914\u0915\u0916\u0917\u0918\u091a" +
"\u091b\u091c\u091d\u091f\u0921\u0922\u0923\u0925\u0926\u0928\u092a\u092b\u092c\u092f\u0930\u0933\u0935\u0936\u0937\u093c\u093d\u093e\u093f\u0940\u0941\u0943\u0947\u0948\u094b\u094c\u0953\u0956\u0962\u0964\u0970\u2020\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2208\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22b7\uFFFF\u006e\u0062\u0073\u0070\uFFFF\u0066\u0031\u0030\uFFFF\u0066\u0031\uFFFF\u0066" +
"\u0032\uFFFF\u0066\u0033\uFFFF\u0066\u0034\uFFFF\u0066\u0035\uFFFF\u0066\u0036\uFFFF\u0066\u0037\uFFFF\u0066\u0038\uFFFF\u0066\u0039\u20b1\u20b4\u20bf\uFFFF\u0072\u0065\u006d\u006f\u0076\u0065\u0064\u2213\u2219\u03f4\u220f\u2211\u03d0\u0263\u03f5\u03d1\u03f0\u03d6\u03f1\u03c2\u03d2\u03d5\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0073\u0065\u0067\u006f\u006c\uFFFF\u0064\u0061\u0067\u0065\u0073\u0068\uFFFF\u0068\u006f\u006c\u0061" +
"\u006d\uFFFF\u0071\u0075\u0062\u0075\u0074\u0073\uFFFF\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0073\u0068" +
"\u0065\u0076\u0061\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1" +
"\u22c2\u22c3\u222e\u22b6\u0000\u00df\u0131\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0" +
"\u0ac2\u0ac8\u0acc\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c").toCharArray();
public static final char[] edges =
("\u0001\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0059\u005a\u005b\\\u005d\u005e\u005f\u0060\u0061\u0062\u0063\u0064\u0067\u0068\u006b\u006e\u006f\u0072\u0075\u0078\u007b\u007e\u0081\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u000c\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001a\u00b3\u00b4\u00b5\u00b7\u00b8\u00ba\u00bb\u00bc\u00bd\u00be\u00c0\u00c1\u00c2\u00c3\u00c5\u00c6\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u0001\u0001\u0002\u0000\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2" +
"\u00e3\u00e4\u00e5\u00e6\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001d\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u011a\u011d\u0120\u0123\u0126\u0129\u012c\u012f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000" +
"\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u000e\u013e\u013f\u0140\u0141\u0142\u0143\u0144\u0145\u0146\u0147\u0148\u004e\u0149\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0025\u016f\u0170\u0171\u0172\u0173\u0174\u0175\u0176\u0177\u0178\u0179\u017a\u017d\u017e\u017f\u004b\u0180\u0181\u004f\u0182\u0051\u0183\u0184\u0185\u0186\u0189\u018c\u018f\u0192" +
"\u0195\u0196\u0197\u0198\u0199\u019a\u019b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0033\u01cf\u01d2\u01d5\u01d8\u01db\u01de\u01e1\u01e4\u01e7\u01ea\u01ed\u01ee\u01ef\u01f0\u01f1\u01f2\u01f3\u01f4\u01f5" +
"\u01f6\u01f7\u01fa\u01fd\u01fe\u01ff\u0200\u0201\u0204\u0205\u0206\u0207\u020a\u020d\u020e\u020f\u0210\u0211\u0212\u0213\u0081\u012f\u0214\u0215\u0216\u0217\u0218\u0219\u021a\u021b\u021c\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003" +
"\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u023b\u023c\u023d\u023e\u023f\u0240\u0241\u0242\u0243\u0244\u0245\u0246\u0247\u0248\u0249\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0195\u0197\u019a\u0251\u0252\u0253\u0215\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u025e\u025f\u0262\u0265\u0268\u026b\u026c\u026d\u0270\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0001\u001f\u0290\u0291\u0292\u0293\u0294\u0295\u0298\u0299\u029a\u029b\u017f\u0181\u0182\u029e\u029f\u02a0\u02a1\u02a2\u02a3\u02a4\u02a7\u02aa" +
"\u02ab\u02ac\u02ad\u02ae\u02af\u02b0\u02b1\u02b2\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u02c0\u02c1\u02c2\u02c3\u02c4\u02c5\u0196\u0198\u0185\u02c6\u02c7\u02c8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u02d6\u02d7\u02a2\\\u02d8\u02a3" +
"\u005d\u02d9\u0252\u02c7\u0253\u02c8\u0001\u0001\u0001\u0001\u001d\u02f7\u02f8\u02f9\u02fa\u02fb\u02fe\u02ff\u0302\u0303\u0304\u0305\u02a0\u0059\u02a1\u005a\u0306\u0307\u0308\u0309\u0212\u0213\u030a\u030b\u030c\u030d\u030e\u030f\u0310\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0318\u0319\u031a\u031b\u031c\u0309" +
"\u0001\u0001\u0001\u0001\u0001\r\u032a\u032b\u032c\u032d\u032e\u032f\u0330\u0331\u0332\u0333\u032b\u032c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u033b\u033c\u033d\u033e\u033f\u004c\u0001\u0001\u0001\u0001\u0001\u0011\u0351\u0352\u0353\u0354\u0355\u0357\u0359\u035a\u035c\u035d\u035f\u0361\u0362\u0364\u0053\u0366\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u0000\u0002" +
"\u0000\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0027\u038f\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a2\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9\u03aa\u03ab\u03ac\u03ad\u03ae\u03af\u03b0\u03b1\u03b2\u03b3\u03b4\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0051\u0406\u0407\u0408\u0409\u040a\u040b\u040c\u040d\u040e\u040f\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u032e\u032f\u0418\u0419\u0333\u041a\u041b\u041c\u041d\u041e\u032d\u041f\u0420\u0421\u0330\u0331\u0332\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042a\u042c\u042d\u042e\u042f\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043a" +
"\u043b\u043c\u043d\u043e\u043f\u0440\u0441\u0442\u0443\u0444\u0446\u0447\u0448\u0449\u044a\u044b\u044c\u043b\u044d\u044e\u044f\u0450\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0012\u0463\u0464\u0465\u0466\u0467\u0468\u0469\u046a\u0180\u0199\u0052\u046b\u005b\u046c\u0306\u02d8\u02d9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u049c\u049d\u049e\u04a1\u04a2\u04a3\u04a4\u04a7\u04aa\u04ad\u04b0\u04b3\u04b4\u04b7\u04b8\u04b9\u04ba\u04bb" +
"\u04bc\u04bd\u0050\u046b\u029e\u0054\u0304\u0307\u0308\u0115\u04be\u04bf\u04c0\u04c1\u04c2\u04c3\u04c4\u04c5\u04c6\u04c7\u04c8\u04c9\u04ca\u04cb\u00cf\u04cc\u04cd\u04ce\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0121\u05f0\u0601\u064d\u0650\u065f\u0662\u0797\u0b4f\u0b70\u0b7f\u0b8a\u0b97\u0bd7\u0bea\u0c2c\u0c32\u0c48\u0c4e\u0c56\u0c59\u0c5e\u0c61\u0c64\u0c6e\u0c8a\u0cb8\u0ceb\u0d0b\u0d4a\u0d62\u0d67\u0d7a\u0d83\u0d97\u0da6\u0db3\u0db6\u0dcb\u0dce\u0dd2\u0de5\u0de8\u0df7\u0e14\u0e1d\u0e20\u0e2b\u0e3b\u0e49\u0ea0\u0ea4\u0ea8\u0eaa\u0eb3\u0eba\u0ebd\u0ec6\u0ec8\u0f5e\u1005\u1100\u1112\u113c\u1173" +
"\u117d\u118e\u119c\u11a3\u11a5\u11b5\u11b8\u11bc\u11c4\u11c8\u11cf\u11ea\u11f4\u11f9\u1205\u120f\u122a\u124d\u124f\u1253\u125a\u125e\u1261\u127d\u12f9\u1314\u1363\u1425\u143d\u1440\u1443\u1445\u1447\u1449\u144d\u144f\u1453\u1455\u1457\u1459\u145b\u1506\u1508\u150b\u150d\u150f\u1511\u1514\u1516\u1534\u154f\u1558\u1565\u1577\u1579\u157c\u1580\u1593\u159b\u15a0\u15a2\u15b9\u15d8\u15db\u15e1\u15fc\u1619\u1686\u1689\u168b\u1696\u169a" +
"\u169f\u16a5\u16a7\u16a9\u16ad\u16b4\u16b8\u16bc\u16ff\u1709\u1713\u171d\u1720\u172d\u1730\u1747\u174e\u1753\u1760\u1765\u176c\u1771\u1774\u1777\u177a\u177d\u1784\u1787\u178c\u178f\u1796\u1799\u17a0\u17a3\u17a6\u17a9\u17ac\u17af\u17b2\u17b5\u17b8\u17bb\u17c6\u17c9\u17cc\u17d5\u17da\u17e3\u17e8\u1809\u180b\u182c\u182e\u1845\u184a\u184f\u1854\u1857\u185d\u185f\u1862\u1865\u1868\u186b\u1872\u1879\u1882\u1889\u189a\u189c\u18a7\u18b8" +
"\u18bb\u18ca\u18d1\u18d4\u18e1\u18ea\u18f3\u18f5\u1904\u1909\u1932\u1934\u1937\u193b\u193d\u1950\u195b\u1966\u196f\u1974\u197d\u1980\u1982\u1984\u1989\u198d\u1991\u1995\u1999\u199c\u19a1\u19a7\u19aa\u19ac\u19af\u19bc\u19bf\u19c2\u19c7\u19cc\u19ce\u19d0\u19d3\u19d6\u19d9\u19dc\u19e0\u19e2\u19e5\u19e8\u19eb\u19ee\u19f1\u19f4\u19f7\u19fa\u19fd\u1a00\u1a05\u1a09\u1a0c\u1a0f\u1a12\u1a15\u1a18\u1a1e\u1a22\u1a25\u1a28\u1a2b\u1a2e\u1a31" +
"\u1a34\u1a37\u1a3b\u1a3d\u1a3f\u1a41\u1a59\u1a65\u0009\u05f9\u05fa\u05fb\u05fc\u05fd\u05fe\u05ff\u0600\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u0630\u0631\u0638\u0639\u063a\u063b\u063c\u063d\u063e\u063f\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064a\u064b\u064c\u023e\u023f\u0240\u0241\u0242\u0243\u0244\u0245\u0246\u0247\u0248\u0249\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0636\u0252\u0637\u0253" +
"\u0001\u0005\u0636\u0637\u0252\u0253\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u064f\u0001\u0008\u0658\u0659\u065a\u065b\u065c\u065d\u065e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0661\u0001\u007b\u06dd\u06e9\u06ea\u0707\u0722\u0729\u072a\u072e\u072f\u0730\u0731\u0732\u0733\u0734\u0735\u0738\u0739\u073a\u073b\u073c\u073d" +
"\u073e\u073f\u0740\u0741\u0742\u0743\u0744\u074e\u0037\u0755\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u0759\u0760\u0765\u074b\u0769\u076a\u0768\u074c\u06e6\u074d\u075e\u072d\u06e7\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0758\u0055\u0753\u0059\u0754\u005a\u075f\u005b\u0727\\\u0728\u005d\u076b\u076c\u076d\u076e\u076f\u0770\u0771\u005e\u005f\u0060" +
"\u0061\u0062\u0063\u0772\u0773\u0776\u0777\u077a\u077d\u077e\u0781\u0784\u0787\u078a\u078d\u0790\u0064\u0067\u0068\u006b\u006e\u006f\u0793\u0072\u0075\u0078\u007b\u007e\u0796\u0008\u06e5\u06e6\u06e7\u0050\u0054\u06e8\u04c0\u0001\u0001\u0001\u0001\u0001\u000f\u06f9\u06fa\u06fb\u06fc\u06fd\u06fe\u06ff\u0700\u0701\u0702\u0703\u0704\u0705\u0706\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e" +
"\u0715\u0716\u0717\u0718\u0719\u071a\u071b\u071c\u071d\u071e\u071f\u0720\u0721\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0727\u0728\\\u005d\u0001\u0001\u0001\u0003\u072d\u0053\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u074b\u074c\u074d\u004b\u004f\u0051\u0001\u0001\u0001\u0005\u0753" +
"\u0754\u0059\u005a\u0001\u0001\u0003\u0758\u0055\u0001\u0005\u075e\u075f\u0052\u005b\u0001\u0001\u0005\u0753\u0754\u0059\u005a\u0003\u0768\u004e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u00c1" +
"\u05fa\u0858\u0859\u085e\u085f\u0862\u088d\u08b8\u08e3\u090e\u0915\u0918\u091b\u091e\u0921\u0924\u0927\u092a\u092d\u0930\u0933\u0936\u0939\u093c\u093f\u0942\u0945\u0948\u094b\u094e\u0951\u0954\u0957\u095a\u095d\u0960\u0963\u0966\u0969\u096c\u096f\u0972\u0975\u0978\u097b\u097e\u0981\u0984\u0987\u098a\u098d\u0990\u0993\u0996\u0999\u099c\u099f\u09a2\u09a5\u09a8\u09ab\u09ae\u09b1\u09b4\u09b7\u09ba\u09bd\u09be\u09bf\u09c0\u09c1\u09c2" +
"\u09c3\u09c4\u09c5\u09c6\u09c7\u09c8\u09c9\u09ca\u09cb\u09cc\u09cd\u09d4\u09db\u09e2\u09e9\u09f0\u09f7\u09fe\u0a05\u0a0c\u0a13\u0a1a\u0a21\u0a28\u0a2f\u0a32\u0a35\u0a38\u0a3b\u0a3e\u0a41\u0a44\u0a47\u0a4a\u0a4d\u0a50\u0a53\u0a56\u0a59\u0a5c\u0a5f\u0a62\u0a65\u0a68\u0a6b\u0a6e\u0a71\u0a74\u0a77\u0a7a\u0a7d\u0a80\u0a83\u0a86\u0a89\u0a8c\u0a8f\u0a92\u0a95\u0a98\u0a9b\u0a9e\u0aa1\u0aa4\u0aa7\u0aaa\u0aad\u0ab0\u0ab3\u0ab6\u0ab9\u0abc" +
"\u0abf\u0ac2\u0ac5\u0ac8\u0acb\u0ace\u0ad1\u0ad4\u0ad7\u0ada\u0add\u0ae0\u0ae3\u0ae6\u0ae9\u0aec\u0aef\u0af2\u0af5\u0af8\u0afb\u0afe\u0b01\u0b04\u0b07\u0b0a\u0b0d\u0b10\u0b13\u0b16\u0b19\u0b1c\u0b1f\u0b22\u0b25\u0b28\u0b2b\u0b2e\u0b31\u0b34\u0b37\u0b3a\u0b3d\u0b40\u0b43\u0b46\u0b49\u0b4c\u0001\u0002\u085b\u0003\u0000\u0000\u0001\u0002\u0861\u0001\u000c\u086e\u086f\u0872\u0875\u0878\u087b\u087e\u0881\u0884\u0887\u088a\u0001\u0002" +
"\u0871\u0001\u0002\u0874\u0001\u0002\u0877\u0001\u0002\u087a\u0001\u0002\u087d\u0001\u0002\u0880\u0001\u0002\u0883\u0001\u0002\u0886\u0001\u0002\u0889\u0001\u0002\u088c\u0001\u000c\u0899\u089a\u089d\u08a0\u08a3\u08a6\u08a9\u08ac\u08af\u08b2\u08b5\u0001\u0002\u089c\u0001\u0002\u089f\u0001\u0002\u08a2\u0001\u0002\u08a5\u0001\u0002\u08a8\u0001\u0002\u08ab\u0001\u0002\u08ae\u0001\u0002\u08b1\u0001\u0002\u08b4\u0001\u0002\u08b7\u0001" +
"\u000c\u08c4\u08c5\u08c8\u08cb\u08ce\u08d1\u08d4\u08d7\u08da\u08dd\u08e0\u0001\u0002\u08c7\u0001\u0002\u08ca\u0001\u0002\u08cd\u0001\u0002\u08d0\u0001\u0002\u08d3\u0001\u0002\u08d6\u0001\u0002\u08d9\u0001\u0002\u08dc\u0001\u0002\u08df\u0001\u0002\u08e2\u0001\u000c\u08ef\u08f0\u08f3\u08f6\u08f9\u08fc\u08ff\u0902\u0905\u0908\u090b\u0001\u0002\u08f2\u0001\u0002\u08f5\u0001\u0002\u08f8\u0001\u0002\u08fb\u0001\u0002\u08fe\u0001\u0002" +
"\u0901\u0001\u0002\u0904\u0001\u0002\u0907\u0001\u0002\u090a\u0001\u0002\u090d\u0001\u0003\u0911\u0912\u0001\u0002\u0914\u0001\u0002\u0917\u0001\u0002\u091a\u0001\u0002\u091d\u0001\u0002\u0920\u0001\u0002\u0923\u0001\u0002\u0926\u0001\u0002\u0929\u0001\u0002\u092c\u0001\u0002\u092f\u0001\u0002\u0932\u0001\u0002\u0935\u0001\u0002\u0938\u0001\u0002\u093b\u0001\u0002\u093e\u0001\u0002\u0941\u0001\u0002\u0944\u0001\u0002\u0947\u0001" +
"\u0002\u094a\u0001\u0002\u094d\u0001\u0002\u0950\u0001\u0002\u0953\u0001\u0002\u0956\u0001\u0002\u0959\u0001\u0002\u095c\u0001\u0002\u095f\u0001\u0002\u0962\u0001\u0002\u0965\u0001\u0002\u0968\u0001\u0002\u096b\u0001\u0002\u096e\u0001\u0002\u0971\u0001\u0002\u0974\u0001\u0002\u0977\u0001\u0002\u097a\u0001\u0002\u097d\u0001\u0002\u0980\u0001\u0002\u0983\u0001\u0002\u0986\u0001\u0002\u0989\u0001\u0002\u098c\u0001\u0002\u098f\u0001" +
"\u0002\u0992\u0001\u0002\u0995\u0001\u0002\u0998\u0001\u0002\u099b\u0001\u0002\u099e\u0001\u0002\u09a1\u0001\u0002\u09a4\u0001\u0002\u09a7\u0001\u0002\u09aa\u0001\u0002\u09ad\u0001\u0002\u09b0\u0001\u0002\u09b3\u0001\u0002\u09b6\u0001\u0002\u09b9\u0001\u0002\u09bc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u09d0\u09d1\u0001\u0002\u09d3\u0001\u0003\u09d7\u09d8\u0001" +
"\u0002\u09da\u0001\u0003\u09de\u09df\u0001\u0002\u09e1\u0001\u0003\u09e5\u09e6\u0001\u0002\u09e8\u0001\u0003\u09ec\u09ed\u0001\u0002\u09ef\u0001\u0003\u09f3\u09f4\u0001\u0002\u09f6\u0001\u0003\u09fa\u09fb\u0001\u0002\u09fd\u0001\u0003\u0a01\u0a02\u0001\u0002\u0a04\u0001\u0003\u0a08\u0a09\u0001\u0002\u0a0b\u0001\u0003\u0a0f\u0a10\u0001\u0002\u0a12\u0001\u0003\u0a16\u0a17\u0001\u0002\u0a19\u0001\u0003\u0a1d\u0a1e\u0001\u0002\u0a20" +
"\u0001\u0003\u0a24\u0a25\u0001\u0002\u0a27\u0001\u0003\u0a2b\u0a2c\u0001\u0002\u0a2e\u0001\u0002\u0a31\u0001\u0002\u0a34\u0001\u0002\u0a37\u0001\u0002\u0a3a\u0001\u0002\u0a3d\u0001\u0002\u0a40\u0001\u0002\u0a43\u0001\u0002\u0a46\u0001\u0002\u0a49\u0001\u0002\u0a4c\u0001\u0002\u0a4f\u0001\u0002\u0a52\u0001\u0002\u0a55\u0001\u0002\u0a58\u0001\u0002\u0a5b\u0001\u0002\u0a5e\u0001\u0002\u0a61\u0001\u0002\u0a64\u0001\u0002\u0a67\u0001" +
"\u0002\u0a6a\u0001\u0002\u0a6d\u0001\u0002\u0a70\u0001\u0002\u0a73\u0001\u0002\u0a76\u0001\u0002\u0a79\u0001\u0002\u0a7c\u0001\u0002\u0a7f\u0001\u0002\u0a82\u0001\u0002\u0a85\u0001\u0002\u0a88\u0001\u0002\u0a8b\u0001\u0002\u0a8e\u0001\u0002\u0a91\u0001\u0002\u0a94\u0001\u0002\u0a97\u0001\u0002\u0a9a\u0001\u0002\u0a9d\u0001\u0002\u0aa0\u0001\u0002\u0aa3\u0001\u0002\u0aa6\u0001\u0002\u0aa9\u0001\u0002\u0aac\u0001\u0002\u0aaf\u0001" +
"\u0002\u0ab2\u0001\u0002\u0ab5\u0001\u0002\u0ab8\u0001\u0002\u0abb\u0001\u0002\u0abe\u0001\u0002\u0ac1\u0001\u0002\u0ac4\u0001\u0002\u0ac7\u0001\u0002\u0aca\u0001\u0002\u0acd\u0001\u0002\u0ad0\u0001\u0002\u0ad3\u0001\u0002\u0ad6\u0001\u0002\u0ad9\u0001\u0002\u0adc\u0001\u0002\u0adf\u0001\u0002\u0ae2\u0001\u0002\u0ae5\u0001\u0002\u0ae8\u0001\u0002\u0aeb\u0001\u0002\u0aee\u0001\u0002\u0af1\u0001\u0002\u0af4\u0001\u0002\u0af7\u0001" +
"\u0002\u0afa\u0001\u0002\u0afd\u0001\u0002\u0b00\u0001\u0002\u0b03\u0001\u0002\u0b06\u0001\u0002\u0b09\u0001\u0002\u0b0c\u0001\u0002\u0b0f\u0001\u0002\u0b12\u0001\u0002\u0b15\u0001\u0002\u0b18\u0001\u0002\u0b1b\u0001\u0002\u0b1e\u0001\u0002\u0b21\u0001\u0002\u0b24\u0001\u0002\u0b27\u0001\u0002\u0b2a\u0001\u0002\u0b2d\u0001\u0002\u0b30\u0001\u0002\u0b33\u0001\u0002\u0b36\u0001\u0002\u0b39\u0001\u0002\u0b3c\u0001\u0002\u0b3f\u0001" +
"\u0002\u0b42\u0001\u0002\u0b45\u0001\u0002\u0b48\u0001\u0002\u0b4b\u0001\u0002\u0b4e\u0001\u0011\u0b60\u0b61\u0b62\u0b63\u0b64\u0b65\u0b66\u0b67\u0b68\u0b69\u0b6a\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u0b79\u032a\u0b7c\u0b7d\u033b\u033c\u049c\u0b7e\u0003\u0769\u004c\u0001\u0001\u0001\u0007\u0b86\u0b87\u0b88\u0b89\u02d6\u02d7\u0001\u0001" +
"\u0001\u0001\u0007\u0b91\u0b92\u0b93\u0b94\u0b95\u0b96\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u05fc\u085e\u0b61\u0b87\u0bb7\u0bb8\u0bbf\u0bc8\u0bc9\u0095\u0bca\u0bcb\u0bcc\u0bcd\u0bce\u0bcf\u0bd0\u0bd1\u0bd2\u0600\u0bd3\u02f7\u00b7\u02f8\u02fa\u0bcf\u02fe\u0302\u0bd4\u0bd5\u0bd6\u0001\u0004\u0bbc\u0bbd\u0bbe\u0001\u0001\u0001\u0003\u0bc2\u0bc5\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u0be2\u0be3\u0be4\u0be5\u0be6\u0be7\u0b96\u0be8\u0be9\u064f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0028\u0bc8\u0c12\u0c12\u0c13\u0c14\u0c15\u0bcb\u0c16\u0c17\u0c18\u0c19\u0c1a\u0c1b\u0c1c\u0c1d\u00b4\u0c1e\u00b7\u00ba\u00bb\u00bc\u0359\u0c1f\u035c\u00c6\u0c20\u0c21\u00c9\u0c22\u0c23\u0c24\u0c25\u0c26\u0c27\u00ce\u0c28\u0c29\u0c2a\u0c2b\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u032a\u0c30\u0c31\u0001\u0001\u000b\u0c3d\u0c40\u0c41\u0c42\u0c43\u0c44\u0c45\u0c46\u0c47\u040b\u0002\u0c3f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0c4c\u0c4d\u040c\u0001\u0001\u0005\u0c53\u0c54\u0c55\u040d\u0001\u0001\u0001\u0002\u0c58\u0001\u0003\u0c5c\u0c5d\u0001\u0001\u0002\u0c60" +
"\u0001\u0002\u0c63\u0001\u0006\u0c6a\u0c6b\u0bc9\u0c6c\u0c6d\u0001\u0001\u0001\u0001\u0011\u0c7f\u0c80\u0c81\u0c82\u0c83\u0c84\u0c85\u0c86\u0c87\u0318\u0319\u031a\u031b\u0c88\u0c89\u031c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u05fe\u0ca8\u072e\u0093\u0ca9\u0caa\u0cab\u0cac\u0cad\u0cae\u0caf\u0cb0\u0cb1\u0cb2\u0cb3\u0cb4\u0cb5\u0cb6\u0cac\u0105\u0106\u0107\u010d\u010e\u0110\u0111\u0112\u0114\u0cb7" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0c13\u0cd9\u0cda\u0cdb\u0cdb\u0cdc\u0cdd\u0cde\u0cdf\u0ce0\u0ce1\u0ce2\u0ce3\u0ce4\u0ce5\u0ce6\u0cdb\u0ce7\u0cdb\u026b\u0cdf\u0ce0\u026c\u0ce8\u0ce4\u0cdb\u0cdf\u0cdb\u0ce9\u0cdf\u0270\u0cea\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u05ff\u0d00\u072f\u0d01" +
"\u0cad\u0d02\u0d03\u0d04\u0d05\u0d06\u0d07\u0d08\u0d02\u0170\u0172\u0175\u0177\u0178\u0d09\u0d0a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u0d2b\u0d2c\u0d33\u0d34\u0d35\u0d36\u0d37\u0d38\u0d39\u0d3a\u0d3b\u02c0\u0d45\u02c1\u02c2\u02c3\u02c4\u02c5\u0d42\u0d43\u0d44\u0196\u0198\u0185\u0d48\u02c6\u0d31\u02c7\u0d32\u02c8\u0d49\u0001\u0005\u0d31\u0d32\u02c7\u02c8\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0007\u0d42\u0d43\u0d44\u0196\u0198\u0185\u0001\u0001\u0001\u0003\u0d48\u02c6\u0001\u0001\u0012\u0d5c\u0730\u0d5d\u0b7c\u0c80\u0bca\u0c80\u0d04\u0b7c\u0d5e\u0d5f\u0d04\u0bca\u0d60\u0d61\u0d5c\u0730\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0d65\u0d66\u0001\u0001\u000c\u0731\u0d73\u0d74\u0c15\u0cae\u0cdb\u0d75\u0d76\u0d77\u0d78\u0d79\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0d80\u0bcb\u0d81\u0caf\u0d82" +
"\u0001\u0001\u0001\u0010\u0d93\u0732\u0c81\u0bcc\u0d94\u0c81\u0cb0\u0cdb\u0d05\u0d95\u0d05\u0bcc\u0d96\u0d93\u0732\u0001\u0001\u0001\u0001\u0006\u0d9d\u0d9e\u0da1\u0da3\u0da5\u0001\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008\u0dae\u0daf\u0db0\u0db1\u0dae\u0db2\u0dae\u0001\u0001\u0001\u0001\u0001\u0002\u0db5\u0001\u0010\u0dc6\u0734\u0c82\u0bcd\u0dc7\u0c82\u0d06\u0dc8\u0d06\u0bcd\u0dc9\u0dc8\u0dca\u0dc6\u0734\u0001\u0001" +
"\u0001\u0001\u0001\u0003\u0735\u0735\u0003\u0dd1\u0bce\u0001\n\u0739\u0ddc\u0bcf\u0c19\u0cb1\u0cdc\u0ddd\u0de4\u0c1d\u0001\u0002\u0ddf\u0002\u0de1\u0003\u0000\u0000\u0001\u0002\u0de7\u0001\n\u073b\u0df2\u0cb2\u0cdd\u0df3\u0df4\u0df5\u0df5\u0df6\u0001\u0001\u0001\u0001\u0001\u0015\u0e0c\u073c\u0c83\u0bd0\u0c1a\u0c83\u0d07\u0923\u0d77\u0e0d\u0e0e\u0e0f\u0e10\u0e11\u0d07\u0bd0\u0e12\u0e13\u0e0c\u073c\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0006\u0e1a\u0e1b\u0cdf\u0e1a\u0e1c\u0001\u0001\u0001\u0002\u0e1f\u0001\u0008\u073e\u0e28\u0cb3\u0ce0\u0e0e\u0e29\u0e2a\u0001\u0001\u0001\u000b\u0e0f\u073f\u0e36\u0e37\u0c84\u0cb4\u0e38\u0e0f\u0e39\u0e3a\u0001\u0001\u0001\u0001\u0001\n\u0e45\u0c1b\u0e46\u0c1b\u0c85\u0cb5\u0ce1\u0e47\u0e48\u0001\u0001\u0001\u0001\u002d\u0e76\u0e7c\u0e80\u0740\u0b7d\u0c86\u0bd1\u0c86\u0d08\u0d5d\u0e81\u0dae\u0e82\u0e83" +
"\u0e84\u0d08\u0bd1\u0e85\u0e86\u0e87\u0e88\u0e89\u0e8a\u0e8b\u0e8c\u0e80\u0740\u0e8d\u0e90\u0e91\u0e92\u0e93\u0e94\u0e95\u0e96\u0e97\u0e98\u0e99\u0e9a\u0e9b\u0e9c\u0e9d\u0e9e\u0e9f\u0002\u0e78\u0003\u0e7b\u0149\u0001\u0003\u0e7f\u0251\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e7b\u0149\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0004\u0cae\u0cb4\u0cb6\u0003\u0ce3\u0ea7\u0001\u0002\u0e10\u0007\u0eb1\u0742\u0ce4\u0eb2\u0eb1\u0742\u0001\u0001\u0005\u0743\u0eb8\u0cb6\u0eb9\u0001\u0001\u0002\u0ebc\u0001\u0003\u0ec0\u0ec3\u0003\u0000\u0000\u0003\u0000\u0000\u0002\u0ebc\u004e\u0f16\u0406\u0407\u0408\u0409\u0f20\u0c1d\u040a\u040b\u040c\u040d\u040e\u040f\u0410\u0411\u0412\u0413\u0414\u0d04\u0f21\u0d05\u0f22\u0f23\u0d06\u0f24\u0d07\u0f25\u0d08\u0ea7\u0eb2\u0f26" +
"\u0f27\u0170\u0171\u0172\u0173\u0174\u0175\u0176\u0177\u0184\u0178\u0179\u017d\u017e\u0097\u0f3b\u0f3e\u0f41\u0f44\u0f47\u0f4a\u0186\u0189\u018c\u018f\u0f4d\u0192\u0f1e\u0197\u0f1f\u019a\u0409\u0f50\u0f51\u0f52\u0f53\u0f54\u0f55\u0f56\u0f57\u0f58\u0f59\u0f5a\u0f5b\u0f5c\u0f5d\u0007\u0f1d\u0f1e\u0f1f\u0195\u0197\u019a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u032b\u0333\u041a\u041b\u041d\u032d\u032c\u0330" +
"\u0331\u0425\u0426\u0427\u0434\u0436\u043c\u043d\u043e\u0f3a\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u0600\u0fb6\u0fbd\u0fc7\u038f\u0390\u0391\u0392\u0fc8\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u0fd1\u0cac\u039d\u0d02\u0bca\u0bcc" +
"\u0fd5\u0bcd\u0bd0\u0bd1\u0fd6\u0600\u0600\u02f7\u02f8\u02f9\u02fa\u02fe\u0302\u0303\u0fd7\u0fc4\u0fdb\u0fda\u0fc5\u0fc6\u0304\u0305\u0306\u0307\u0308\u0fcf\u0212\u0fdc\u0fdd\u0fde\u030a\u030b\u030c\u0fdf\u0fe2\u0fe5\u0fe6\u0fe9\u0fec\u0fed\u0ff0\u030d\u0ff3\u0ff6\u030e\u0fbb\u030f\u0fbc\u0310\u0ff9\u0ffa\u0392\u0ffb\u0ffc\u0ffd\u0ffe\u0fff\u1000\u1001\u1002\u1003\u1004\u0005\u0fbb\u0fbc\u030f\u0310\u0001\u0001\u0007\u0fc4\u0fc5" +
"\u0fc6\u0304\u0307\u0308\u0001\u0001\u0001\u0001\u0007\u0fcf\u0bc2\u0fd0\u0212\u0bc5\u0213\u0001\u0001\u0003\u0fd4\u0309\u0001\u0001\u0001\u0003\u0fda\u0306\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u104b\u1052" +
"\u106f\u108a\u0d60\u0d96\u0dc9\u1091\u0e12\u0e85\u1092\u1093\u1094\u109e\u10a5\u0290\u10d6\u0291\u0292\u0293\u0294\u0298\u0299\u029a\u10da\u109b\u109c\u109d\u1050\u017f\u0181\u0182\u029e\u10d9\u029f\u10a3\u02a0\u10a4\u02a1\u108f\u02a2\u1090\u02a3\u10df\u10e0\u10e1\u10e2\u10e3\u10e4\u10e5\u02aa\u02ab\u02ac\u02ad\u02ae\u02af\u02b0\u10e6\u10e9\u10ea\u10eb\u10ee\u10f1\u10f4\u02b1\u02b2\u10f7\u10fa\u10fd\u0005\u1050\u029e\u1051\u04cc" +
"\u0001\u0001\u000f\u1061\u1062\u1063\u1064\u1065\u1066\u1067\u1068\u1069\u106a\u106b\u106c\u106d\u106e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u107d\u107e\u107f\u1080\u1081\u1082\u1083\u1084\u1085\u1086\u1087\u1088\u1089\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u108f\u1090\u02a2\u02a3\u0001\u0001\u0001\u0001\u0001\u0007\u109b\u109c\u109d" +
"\u017f\u0181\u0182\u0001\u0001\u0001\u0005\u10a3\u10a4\u02a0\u02a1\u0001\u0001\r\u10b2\u10b5\u10b8\u10bb\u10be\u10c1\u10c4\u10c7\u10ca\u10cd\u10d0\u10d3\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u10d9\u029f\u0001\u0005\u10a3\u10a4\u02a0\u02a1\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0011\u049d\u0037\u0e86\u033b\u0318\u02f7\u0318\u0170\u0170\u02f7\u0290\u033b\u1111\u0463\u049d\u0037\u0001\u0021\u1133\u1136\u01ee\u0d5d\u0e81\u0dae\u0e82\u0e83\u0e84\u0e86\u0e87\u0e88\u0e89\u0e8a\u0e8b\u1139\u0e90\u0e91\u0e92\u0e93\u0e94" +
"\u0e95\u0e96\u0e97\u0e98\u0e99\u0e9a\u0e9b\u0e9c\u0e9d\u0e9e\u0e9f\u0003\u0e7f\u0251\u0003\u0e7b\u0149\u0003\u0e7b\u0149\u002c\u1168\u0038\u013e\u01ef\u0c1e\u0105\u0cdb\u116c\u0cae\u0caf\u0cb0\u116d\u116e\u116f\u1170\u0cb1\u0cb2\u1171\u0cb3\u0cb4\u0cb5\u1172\u0cb6\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0c1e\u116b\u0115\u0003\u116b\u0115\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0008\u013f\u00b7\u01f0\u0106\u0ce7\u117b\u117c\u0001\u0001\u0010\u04a1\u0039\u0319\u02f8\u01f1\u0319\u0107\u0cdb\u0172\u0172\u02f8\u0291\u118d\u04a1\u0039\u0001\u0007\u01f2\u1195\u1196\u1198\u119a\u1195\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0007\u0e88\u0141\u01f3\u0e88\u0db1\u0e88\u0002\u0142\u000f\u04a3\u003b\u031a\u02fa\u01f5\u031a\u0175\u0175\u02fa\u0292\u11b4\u0465\u04a3\u003b\u0001\u0003\u003c\u003c" +
"\u0003\u0143\u11bb\u0001\u0008\u0040\u0144\u0bcf\u0359\u010d\u0de4\u0c1d\u0004\u01fd\u0c1f\u0c20\u0006\u0042\u0145\u010e\u11ce\u0466\u0001\u001a\u04b3\u0043\u031b\u02fe\u035c\u031b\u0177\u0b7c\u0b7d\u0177\u02fe\u0294\u033b\u0d77\u11e9\u032a\u0e0e\u0e0f\u033c\u033d\u0e10\u033e\u0467\u04b3\u0043\u0001\u0005\u0e1a\u0200\u0cdf\u11ef\u0002\u11f1\u0003\u0000\u0000\u0005\u0045\u0146\u0110\u0ce0\u000b\u0e0f\u0046\u0147\u0205\u0c88\u0111" +
"\u0e38\u0e0f\u1204\u0147\u0001\u0009\u0148\u00c6\u0206\u00c6\u0c89\u0112\u120e\u0e48\u0001\u001b\u04b8\u0047\u033c\u031c\u0302\u0c20\u031c\u0178\u0d5d\u0e81\u0dae\u0e82\u0e83\u0e84\u0178\u0302\u0298\u0e86\u0e87\u0e88\u0e89\u0e8a\u0e8b\u0468\u04b8\u0047\u0023\u0c21\u116c\u0cae\u0caf\u0cb0\u116d\u116e\u116f\u1170\u0cb2\u1171\u0cb3\u0cb4\u0cb5\u1172\u0cb6\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u0c1d\u010e\u010f\u0110" +
"\u0111\u0112\u0113\u0114\u0091\u0002\u0179\u0003\u0e10\u1252\u0001\u0007\u04bb\u0049\u0ce4\u017d\u04bb\u0049\u0004\u004a\u0210\u0114\u0002\u1260\u0001\u0012\u1273\u1274\u0d66\u0d79\u0db2\u0e3a\u0097\u0c1e\u0091\u1275\u1276\u1277\u1278\u1279\u127a\u127b\u127c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u12ac\u12b0\u12c5\u12d8\u0c31\u0d61\u12df\u0dca\u0df6\u0e13\u0e8c\u12e0\u12e1\u12e2\u0463\u12ec\u0464\u0465" +
"\u0466\u0467\u0468\u0469\u046a\u1275\u12f0\u04bc\u12e9\u12ea\u12eb\u0180\u0199\u0183\u12ef\u046c\u12dd\u02d8\u12de\u02d9\u12f1\u12f2\u12f3\u12f4\u12f5\u12f6\u12f7\u12f8\u0003\u12af\u04cd\u0001\u000b\u12bb\u12bc\u12bd\u12be\u12bf\u12c0\u12c1\u12c2\u12c3\u12c4\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u12cf\u12d0\u12d1\u12d2\u12d3\u12d4\u12d5\u12d6\u12d7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0005\u12dd\u12de\u02d8\u02d9\u0001\u0001\u0001\u0001\u0001\u0007\u12e9\u12ea\u12eb\u0180\u0199\u0183\u0001\u0001\u0001\u0003\u12ef\u046c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u06e5\u049c\u0d09\u0d5c\u0d93\u0dc6\u0e0c\u0e80\u0eb1\u1310\u049d\u04a1\u04a3\u04b3\u04b8\u04bb\u1311\u06e5\u04ce\u04bd\u1312\u1313\u0001\u0001\u0001\u0001\u0037\u134b\u1350\u1357\u135c\u0bca\u0bcc\u0fd5\u0bcd\u0bd0\u0bd1\u0fd6" +
"\u02f7\u02f8\u02f9\u02fa\u02fe\u0302\u0303\u135f\u0fc4\u0fdb\u0fda\u0fc5\u0fc6\u0304\u0305\u0306\u0307\u0308\u0fcf\u0212\u0fdc\u0fdd\u0fde\u030a\u030b\u030c\u0fdf\u0fe2\u0fe5\u0fe6\u0fe9\u0fec\u0fed\u0ff0\u030d\u0ff3\u0ff6\u030e\u0fbb\u030f\u0fbc\u0310\u1362\u0005\u0fbb\u0fbc\u030f\u0310\u0007\u0fc4\u0fc5\u0fc6\u0304\u0307\u0308\u0005\u0fcf\u0fd0\u0212\u0213\u0003\u0fd4\u0309\u0003\u0fda\u0306\u0001\u0077\u13da\u13e1\u13f0\u13fe" +
"\u1403\u1406\u0730\u0731\u0732\u0733\u0734\u0735\u0738\u0739\u073a\u073b\u073c\u073d\u073e\u073f\u0740\u0741\u0742\u0743\u1409\u1410\u0037\u1415\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u1418\u141d\u1422\u074b\u0769\u076a\u0768\u074c\u06e6\u074d\u075e\u072d\u06e7\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0758\u0055\u0753\u0059\u0754\u005a\u075f\u005b" +
"\u0727\\\u0728\u005d\u076b\u076c\u076d\u076e\u076f\u0770\u0771\u005e\u005f\u0060\u0061\u0062\u0063\u0772\u0773\u0776\u0777\u077a\u077d\u077e\u0781\u0784\u0787\u078a\u078d\u0790\u0064\u0067\u0068\u006b\u006e\u006f\u0793\u0072\u0075\u0078\u007b\u007e\u0007\u06e6\u06e7\u0050\u0054\u06e8\u04c0\u000f\u06f9\u06fa\u06fb\u06fc\u06fd\u06fe\u06ff\u0700\u0701\u0702\u0703\u0704\u0705\u0706\u000e\u0715\u0716\u0717\u0718\u0719\u071a\u071b" +
"\u071c\u071d\u071e\u071f\u0720\u0721\u0005\u0727\u0728\\\u005d\u0003\u0768\u004e\u0003\u072d\u0053\u0007\u074b\u074c\u074d\u004b\u004f\u0051\u0005\u0753\u0754\u0059\u005a\u0003\u0758\u0055\u0005\u075e\u075f\u0052\u005b\u0005\u0753\u0754\u0059\u005a\u0003\u0768\u004e\u0017\u0d73\u0d80\u143c\u0daf\u0db5\u0dd1\u0ddc\u0df2\u0e28\u0e36\u0e45\u013e\u013f\u0140\u0141\u0142\u0143\u0144\u0145\u0146\u0147\u0148\u0001\u0002\u143f\u0001" +
"\u0003\u0dae\u0e88\u0002\u076b\u0002\u076c\u0002\u076d\u0003\u144c\u076e\u0001\u0002\u076f\u0003\u1452\u0770\u0001\u0002\u0771\u0002\u005e\u0002\u005f\u0002\u0060\u000e\u04be\u1469\u148c\u1499\u14a6\u14c9\u14ec\u1500\u1501\u1502\u1503\u1504\u1505\u0006\u146f\u147c\u1489\u148a\u148b\u0007\u1476\u1477\u1478\u1479\u147a\u147b\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1483\u1484\u1485\u1486\u1487\u1488\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0007\u1493\u1494\u1495\u1496\u1497\u1498\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u14a0\u14a1\u14a2\u14a3\u14a4\u14a5\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u14ac\u14b9\u14c6\u14c7\u14c8\u0007\u14b3\u14b4\u14b5\u14b6\u14b7\u14b8\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u14c0\u14c1\u14c2\u14c3\u14c4\u14c5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u14cf\u14dc\u14e9\u14ea\u14eb\u0007" +
"\u14d6\u14d7\u14d8\u14d9\u14da\u14db\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u14e3\u14e4\u14e5\u14e6\u14e7\u14e8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u14f2\u14f9\u1489\u148a\u148b\u0007\u1476\u1477\u1478\u1479\u147a\u147b\u0007\u1483\u1484\u1485\u1486\u1487\u1488\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0062\u0003\u04bf\u0063\u0002\u0772\u0002\u0cdb\u0002\u0cdf\u0003\u0df5\u0df5\u0002\u0cdb\u0008\u151e" +
"\u151f\u1520\u151e\u1530\u1532\u151e\u0001\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0002\u0000\u0002\u1536\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0b91\u0be2\u0c25\u1556\u1557\u0c25\u0001\u0001\u0007\u155f\u1561\u1562\u155f\u155f\u1564\u0002" +
"\u0000\u0001\u0002\u0000\u0001\u0002\u1567\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0be3\u0002\u157b\u0001\u0003\u030d\u157f\u0001\u0003\u0be4\u1583\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0b92\u0be5\u1556\u159a\u1557\u159a\u0001\u0004\u0b93\u0be6\u159f\u0001\u0002\u0be7\u0005\u0b94\u15a7\u15a8\u15b8\u0001" +
"\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u15bd\u15be\u15bf\u0001\u0001\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u15da\u0001\u0004\u15df\u15e0\u15df\u0001\u0001\u0007\u157f\u0e9f\u030e\u15e8\u157f\u0e9f\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0b95\u0be8\u1600\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0be9\u1520\u1536\u1567\u1583\u15a8\u15bf\u1628\u1600\u163b\u164d\u1666\u1583\u1676\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u1688\u0001\u0002\u164d\u0006\u1691\u1693\u1694\u1695\u1666\u0002\u0000\u0001\u0001\u0001\u0002\u1698\u0002\u0000\u0005\u064f\u064f\u157f\u030d\u0004\u16a3\u1583\u1698\u0002\u0000\u0002\u15bd\u0002\u1676\u0002\u16ab\u0002\u0000\u0003\u16b0\u16b2\u0002\u0000\u0002\u0000\u0002\u16b6\u0002\u0000\u0002\u16ba\u0002\u0000\u0017\u16d3\u16d5\u16d7\u16d9\u16db\u16dd\u16df\u16e1\u16e3\u16e5\u16e7" +
"\u16e9\u16eb\u16ed\u16ef\u16f1\u16f3\u16f5\u16f7\u16f9\u16fb\u16fd\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1703\u1705\u1707\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u170d\u1711\u170f\u0002\u170f\u0002" +
"\u0000\u0002\u0000\u0004\u1717\u171b\u1719\u0002\u1719\u0002\u0000\u0002\u0000\u0002\u171f\u0001\u0007\u1727\u1728\u1729\u172a\u172b\u172c\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u172f\u0001\u000c\u173c\u173d\u173e\u173f\u1740\u1741\u1742\u1743\u1744\u1745\u1746\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u174b\u174c\u174d\u0001\u0001\u0001\u0003\u1751\u1752\u0001\u0001\u0007\u175a\u175b\u175c\u175d" +
"\u175e\u175f\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1763\u1764\u0001\u0001\u0004\u1769\u176a\u176b\u0001\u0001\u0001\u0003\u176f\u1770\u0001\u0001\u0002\u1773\u0001\u0002\u1776\u0001\u0002\u1779\u0001\u0002\u177c\u0001\u0004\u1781\u1782\u1783\u0001\u0001\u0001\u0002\u1786\u0001\u0003\u178a\u178b\u0001\u0001\u0002\u178e\u0001\u0004\u1793\u1794\u1795\u0001\u0001\u0001\u0002\u1798\u0001\u0004\u179d\u179e\u179f\u0001\u0001\u0001" +
"\u0002\u17a2\u0001\u0002\u17a5\u0001\u0002\u17a8\u0001\u0002\u17ab\u0001\u0002\u17ae\u0001\u0002\u17b1\u0001\u0002\u17b4\u0001\u0002\u17b7\u0001\u0002\u17ba\u0001\u0006\u17c1\u17c2\u17c3\u17c4\u17c5\u0001\u0001\u0001\u0001\u0001\u0002\u17c8\u0001\u0002\u17cb\u0001\u0005\u17d1\u17d2\u17d3\u17d4\u0001\u0001\u0001\u0001\u0003\u17d8\u17d9\u0001\u0001\u0005\u17df\u17e0\u17e1\u17e2\u0001\u0001\u0001\u0001\u0003\u17e6\u17e7\u0001\u0001" +
"\u0011\u17f9\u17fa\u17fb\u17fc\u17fd\u17fe\u17ff\u1800\u1801\u1802\u1803\u1804\u1805\u1806\u1807\u1808\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1804\u0011\u181c\u181d\u181e\u181f\u1820\u1821\u1822\u1823\u1824\u1825\u1826\u1827\u1828\u1829\u182a\u182b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1823\u000c\u183a" +
"\u183b\u183c\u183d\u183e\u183f\u1840\u1841\u1842\u1843\u1844\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1848\u1849\u0001\u0001\u0003\u184d\u184e\u0001\u0001\u0003\u1852\u1853\u0001\u0001\u0002\u1856\u0001\u0006\u1805\u1806\u1807\u17fe\u1808\u0002\u182b\u0002\u1861\u0001\u0002\u1864\u0001\u0002\u1867\u0001\u0002\u186a\u0001\u0004\u186f\u1870\u1871\u0001\u0001\u0001\u0004\u1876\u1877\u1878\u0001\u0001" +
"\u0001\u0005\u187e\u187f\u1880\u1881\u0001\u0001\u0001\u0001\u0004\u1886\u1887\u1888\u0001\u0001\u0001\u0009\u1892\u1893\u1894\u1895\u1896\u1897\u1898\u1899\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1893\u0006\u18a2\u18a3\u18a4\u18a5\u18a6\u0001\u0001\u0001\u0001\u0001\u0009\u18b0\u18b1\u18b2\u18b3\u18b4\u18b5\u18b6\u18b7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u18b7\u18b3\u0008\u18c3\u18c4\u18c5\u18c6" +
"\u18c7\u18c8\u18c9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u18ce\u18cf\u18d0\u0001\u0001\u0001\u0002\u18d3\u0001\u0007\u18db\u18dc\u18dd\u18de\u18df\u18e0\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u18e6\u18e7\u18e8\u18e9\u0001\u0001\u0001\u0001\u0005\u18ef\u18f0\u18f1\u18f2\u0001\u0001\u0001\u0001\u0002\u18f2\u0008\u18fd\u18fe\u18ff\u1900\u1901\u1902\u1903\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1907\u1908\u0001" +
"\u0001\u0015\u191e\u191f\u1920\u1921\u1922\u1923\u1924\u1925\u1926\u1927\u1928\u1929\u192a\u192b\u192c\u192d\u192e\u192f\u1930\u1931\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u191f\u0003\u192c\u192d\u0004\u1925\u192f\u192e\u0002\u1927\n\u1947\u1948\u1949\u194a\u194b\u194c\u194d\u194e\u194f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0006\u1956\u1957\u1958\u1959\u195a\u0001\u0001\u0001\u0001\u0001\u0006\u1961\u1962\u1963\u1964\u1965\u0001\u0001\u0001\u0001\u0001\u0005\u196b\u196c\u196d\u196e\u0001\u0001\u0001\u0001\u0003\u1972\u1973\u0001\u0001\u0005\u1979\u197a\u197b\u197c\u0001\u0001\u0001\u0001\u0002\u197f\u0001\u0002\u194b\u0002\u196c\u0003\u1987\u1988\u0001\u0001\u0003\u1276\u198c\u0001\u0003\u0bd4\u1990\u0001\u0003\u1277\u1994\u0001\u0003\u0bd5\u1998" +
"\u0001\u0002\u199b\u0001\u0004\u0ff9\u1278\u19a0\u0001\u0005\u1279\u12f6\u04ce\u19a6\u0001\u0002\u19a9\u0001\u0002\u0ffa\u0002\u19ae\u0001\u0008\u0ffb\u04bd\u19b7\u19b8\u19b9\u19ba\u19bb\u0001\u0001\u0001\u0001\u0001\u0002\u19be\u0001\u0002\u19c1\u0001\u0004\u12f7\u0cad\u19c6\u0001\u0004\u12f8\u0cad\u19cb\u0001\u0002\u19b7\u0002\u127a\u0002\u19d2\u0001\u0002\u19d5\u0001\u0002\u19d8\u0001\u0002\u19db\u0001\u0003\u0ffc\u19df\u0001" +
"\u0002\u0ffc\u0002\u19e4\u0001\u0002\u19e7\u0001\u0002\u19ea\u0001\u0002\u19ed\u0001\u0002\u19f0\u0001\u0002\u19f3\u0001\u0002\u19f6\u0001\u0002\u19f9\u0001\u0002\u19fc\u0001\u0002\u19ff\u0001\u0004\u1a04\u0ffd\u127b\u0001\u0003\u1a08\u0ffe\u0001\u0002\u1a0b\u0001\u0002\u1a0e\u0001\u0002\u1a11\u0001\u0002\u1a14\u0001\u0002\u1a17\u0001\u0005\u1312\u1362\u19b8\u1a1d\u0001\u0004\u0fff\u19b9\u1a1d\u0002\u1a24\u0001\u0002\u1a27\u0001" +
"\u0002\u1a2a\u0001\u0002\u1a2d\u0001\u0002\u1a30\u0001\u0002\u1a33\u0001\u0002\u1a36\u0001\u0003\u1000\u1a3a\u0001\u0002\u1001\u0002\u1002\u0002\u1003\u0016\u0796\u0c2b\u0c6d\u0cb7\u0cea\u0d0a\u0d49\u1a57\u143f\u198c\u1990\u1994\u1998\u19a0\u19a6\u19ba\u19c6\u19cb\u19df\u1a3a\u1a58\u0001\u0001\n\u0b7e\u0bd6\u1a63\u1a64\u1004\u127c\u1313\u19bb\u1a58\u0001\u0001\u0002\u1a67\u0001\u00cb\u1b33\u0630\u1b38\u0661\u0729\u0ca8\u0d00" +
"\u032a\u0f20\u0bbe\u1b39\u1b3a\u1b3e\u1b41\u1b44\u1b47\u1b4a\u1b4d\u1b50\u1b53\u1b56\u0cab\u12f0\u0d03\u0d33\u072e\u072f\u0bb7\u0bbd\u1111\u1b59\u0c1e\u0cdb\u1b5a\u0bcf\u11e9\u0cdf\u0ce0\u0c20\u0ce4\u1b5b\u1b5c\u064c\u1b5d\u1b5e\u0e1a\u1b66\u1b67\u1b68\u1b69\u1b6a\u1b6b\u1b6c\u1b6d\u1b6e\u1b6f\u1b70\u1b71\u1b72\u1b73\u1b74\u151e\u1b75\u1b76\u1b78\u1b79\u0be6\u1b7a\u1b7b\u1b7c\u1b7d\u1b7e\u15df\u15da\u1b80\u1b81\u1b83\u1b84\u16a3" +
"\u1b85\u0e9e\u0be9\u1532\u0be5\u1b86\u1557\u1561\u15a7\u0be6\u1b88\u1b94\u1b9b\u1ba1\u1ba8\u1bae\u1bb3\u1bb9\u1bc5\u1bcb\u1bd1\u1bd8\u1be5\u1b3a\u1b3e\u1b41\u1b44\u1b47\u1b4a\u1b4d\u1b50\u1b53\u1b56\u1b3a\u1b3e\u1b41\u1b44\u1b47\u1b4a\u1b4d\u1b50\u1b53\u1b56\u1beb\u1bec\u1bed\u1bee\u1bef\u1bf0\u1bf1\u1bf2\u1bf3\u1bf4\u1bf5\u1bf6\u1bf7\u1bf8\u173c\u173d\u173e\u1bf9\u1bfa\u1bfb\u173f\u1bff\u1c00\u1740\u1741\u1c01\u1c02\u1c06\u1742" +
"\u1c0a\u1743\u1c0e\u1744\u1745\u1746\u1c0f\u1c10\u1c14\u1c18\u1c19\u1c1a\u1c1b\u1c1c\u1c1d\u1c1e\u1c1f\u1c20\u1c21\u1c22\u1c23\u1c24\u1c25\u1c26\u1c27\u1274\u1b5e\u0e2a\u0cd9\u0ce5\u0cda\u0ce8\u1c28\u1c29\u1c2a\u1c2b\u1c2c\u1c2d\u199b\u19a9\u1c2e\u1c2f\u1c30\u1c31\u1c32\u0ffd\u0ffe\u1c33\u1564\u1c34\u1c35\u0005\u0000\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003" +
"\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000" +
"\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u004b\u0e39\u0dc7\u1c81\u1c84\u1c87\u1c88\u1c89\u1c8a\u1c8b\u1c8c\u1c8d\u1c8e\u1c8f\u1c90\u1c91\u1c92\u1c93\u1c94\u1c95\u1c96\u1c97\u1c98\u1c99\u1c9a\u1c9b\u1c9c\u1c9d\u1c9e\u1c9f\u1ca0\u1ca1\u1ca2\u1ca3\u1ca4\u1ca5\u1ca6\u1ca7\u1ca8\u1ca9\u1caa\u1cab\u1cac\u1cad\u1cae\u1caf\u1cb0\u1cb1\u1cb3\u1cb5" +
"\u1cb6\u1cb9\u1cbc\u1cbf\u1cc0\u0e2a\u0cd9\u0ce5\u0cda\u0ce8\u1c2a\u1c2b\u1c2c\u1c2d\u1cc1\u1cc2\u1cc3\u1cc4\u1cc5\u1cc6\u1cc7\u1cc8\u1cc9\u1cca\u1ccb\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0002\u0000\u0002\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray();
("\u0001\u0018\u0019\u001a\u001b\u001c\u001d\u0020\u0021\"\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002c\u002f\u0032\u0035\u0038\u003b\u003e\u0041\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u000c\u0050\u0051\u0052" +
"\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u006c\u006d\u006f\u0070\u0071\u0072\u0073\u0075\u0076\u0077\u0078\u007a\u007b\u007c\u007d\u007e\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u000c\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u00a5\u00a6\u00a7\u00a8\u00a9\u00aa\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u00b2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u00bf\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u00e9" +
"\u00ec\u00ef\u00f2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0014\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011a\u011b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u0129\u012a\u012b" +
"\u012c\u012d\u012e\u012f\u0130\u0131\u0132\u0133\u0134\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u013e\u013f\u0142\u0145\u0148\u014b\u014c\u014d\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0007\u0157\u0158\u0159\u015a\u015b\u015c\u0001\u0001\u0001\u0001\u0001\u0001\r\u016a\u016b\u016c\u016d\u016e\u016f\u0170\u0171\u0172\u0173" +
"\u0174\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u0183\u0184\u0185\u0186\u0187\u0188\u0189\u018a\u0133\u0174\u0134\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0192\u0193\u0194\u0195\u0196\u0197\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u01a1\u01a2\u01a3\u00c4\u00c5\u00c6\u01a4\u01a5\u0001\u0001\u0001\u0001\u0001\r\u01b3\u01b4\u01b5\u01b6\u01b7\u01b8\u01b9\u01ba\u01bb" +
"\u01bc\u01b4\u01b5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u01c0\u01c1\u0001\u0001\r\u01cf\u01d0\u01d1\u01d2\u01d3\u01d5\u01d7\u01d8\u01da\u01db\u01dd\u01df\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u0000\u0002\u0000\u0001\u0021\u0201\u0202\u0203\u0204\u0205\u0206\u0207\u0208\u0209\u020a\u020b\u020c\u020d\u020e\u020f\u0210\u0211\u0212\u0213\u0214\u0215\u0216\u0217" +
"\u0218\u0219\u021a\u021b\u021c\u021d\u021e\u021f\u0220\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0029\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025a\u025b\u01b7\u01b8\u025c\u025d\u01bc\u025e\u025f\u0260\u0261\u0262\u01b6\u0263" +
"\u0264\u01b9\u01ba\u01bb\u0265\u0266\u0267\u0268\u0269\u026a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u0277\u0278\u0279\u027a\u027b\u027c\u027d\u027e\u027f\u0187\u018a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0287\u0288\u0289\u028a\u028b\u028c\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0108\u0395\u03a6\u03ff\u047e\u048d\u0490\u05e0\u0998\u09b9\u09c9\u09d4\u0a08\u0a47\u0ab0\u0af4\u0afa\u0b10\u0b16\u0b1e\u0b21\u0b26\u0b29\u0b2c\u0b36\u0b4d\u0b7a\u0bae\u0bcd\u0c0c\u0c23\u0c27\u0c38\u0c3f\u0c51\u0c5f\u0c6a\u0c6c\u0c7f\u0c82\u0c85\u0c97\u0c99\u0ca7\u0cc3\u0ccb\u0cce\u0cd8\u0ce6\u0cf2\u0d49\u0d4e\u0d52\u0d54\u0d5c\u0d62\u0d65\u0d7a\u0d7c\u0e18\u0ecf\u0fdd\u0fef\u1019\u1054\u105e\u106f" +
"\u107d\u1084\u1086\u1096\u1099\u109d\u10a5\u10a9\u10b0\u10cd\u10d7\u10dc\u10e8\u10f2\u110d\u1130\u1132\u1136\u113d\u1141\u1144\u1160\u11e1\u11fe\u124d\u130f\u1327\u132a\u132d\u132f\u1331\u1333\u1336\u1338\u133b\u133d\u133f\u1341\u1343\u13ee\u13f0\u13f3\u13f5\u13f7\u13f9\u13fc\u13fe\u1400\u1402\u1406\u140d\u1411\u1415\u1458\u1462\u146c\u1476\u1479\u1486\u1489\u14a0\u14a7\u14ac\u14b9\u14be\u14c5\u14ca\u14cd\u14d0\u14d3\u14d6\u14dd" +
"\u14e0\u14e5\u14e8\u14ef\u14f2\u14f9\u14fc\u14ff\u1502\u1505\u1508\u150b\u150e\u1511\u1514\u151f\u1522\u1525\u152e\u1533\u153c\u1541\u1562\u1564\u1585\u1587\u159e\u15a3\u15a8\u15ad\u15b0\u15b6\u15b8\u15bb\u15be\u15c1\u15c4\u15cb\u15d2\u15db\u15e2\u15f3\u15f5\u1600\u1611\u1614\u1623\u162a\u162d\u163a\u1643\u164c\u164e\u165d\u1662\u168b\u168d\u1690\u1694\u1696\u16a9\u16b4\u16bf\u16c8\u16cd\u16d6\u16d9\u16db\u16dd\u16e2\u16e6\u16ea" +
"\u16ee\u16f2\u16f5\u16fa\u1700\u1703\u1705\u1708\u1715\u1718\u171b\u1720\u1725\u1727\u1729\u172c\u172f\u1732\u1735\u1739\u173b\u173e\u1741\u1744\u1747\u174a\u174d\u1750\u1753\u1756\u1759\u175e\u1762\u1765\u1768\u176b\u176e\u1771\u1777\u177b\u177e\u1781\u1784\u1787\u178a\u178d\u1790\u1794\u1796\u1798\u179a\u17b1\u17bb\u0009\u039e\u039f\u03a0\u03a1\u03a2\u03a3\u03a4\u03a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u03d5" +
"\u03d6\u03dd\u03de\u03df\u03e0\u03e1\u03e2\u03e3\u03e4\u03e5\u03e6\u03e7\u03e8\u03e9\u03ea\u03eb\u03ec\u03ed\u03ee\u03ef\u03f0\u03f1\u0129\u03f2\u03f3\u012a\u03f4\u012b\u03f5\u03f6\u03f7\u03f8\u012c\u03f9\u03fa\u03fb\u012d\u03fc\u03fd\u012e\u03fe\u03db\u0133\u03dc\u0134\u0001\u0005\u03db\u03dc\u0133\u0134\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0041\u0440\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b\u044c\u044d\u044e\u0287\u0288\u0453\u0289\u028a\u0454\u028b\u0455\u0456\u028c\u0457\u045c\u0441\u045a\u045b\u0451\u0452\u045f\u0460\u0461\u0462\u0463\u0464\u0465\u0466\u0467\u0468\u0469\u046a\u046b\u046c\u046d\u046e\u046f\u0470\u0471\u0472\u0473\u0474\u0475" +
"\u0476\u0477\u0478\u0479\u047a\u047b\u047c\u047d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0451\u0452\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u045a\u045b\u0001\u0001\u0003\u0451\u0452\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u0486" +
"\u0487\u0488\u0489\u048a\u048b\u048c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u048f\u0001\u007b\u050b\u0519\u051a\u0537\u0552\u0559\u055a\u055f\u0560\u0561\u0562\u0563\u0564\u0565\u0566\u0569\u056a\u056b\u056c\u056d\u056e\u056f\u0570\u0571\u0572\u0573\u0574\u0575\u0582\u0019\u058b\u001a\u001b\u0590\u001c\u001d\u0591\u0020\u0592\u0028\u0021\u0593\"\u0023\u0024\u0594\u0025\u0026\u0595\u059e\u05a3\u057c\u05a8\u05a9\u05a6" +
"\u057d\u0514\u057e\u059a\u055d\u0515\u057f\u05aa\u05ab\u05a7\u0580\u0516\u0581\u059c\u055e\u0027\u058e\u058f\u0587\u0589\u0588\u058a\u059b\u059d\u0557\u0186\u0558\u0189\u05ac\u05ad\u05ae\u05af\u05b0\u05b1\u05b2\u05b3\u05b4\u05b5\u05b6\u05b7\u05b8\u05b9\u05ba\u05bd\u05be\u05c1\u05c4\u05c5\u05c8\u05cb\u05ce\u05d1\u05d4\u05d7\u0029\u05da\u002c\u002f\u05db\u0032\u05dc\u0035\u0038\u003b\u003e\u0041\u05df\u0008\u0513\u0514\u0515\u0516" +
"\u0027\u0517\u0518\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u0529\u052a\u052b\u052c\u052d\u052e\u052f\u0530\u0531\u0532\u0533\u0534\u0535\u0536\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u0545\u0546\u0547\u0548\u0549\u054a\u054b\u054c\u054d\u054e\u054f\u0550\u0551\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0557\u0558\u0186\u0189\u0001" +
"\u0001\u0001\u0003\u055d\u055e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u057c\u057d\u057e\u057f\u0580\u0581\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0587\u0588\u0589\u058a\u0001\u0001\u0001\u0001\u0003\u058e\u058f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u059a\u059b\u059c\u059d\u0001\u0001\u0001\u0001\u0005\u0587" +
"\u0588\u0589\u058a\u0003\u05a6\u05a7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0001\u00c1\u039f\u06a1\u06a2\u06a7\u06a8\u06ab\u06d6" +
"\u0701\u072c\u0757\u075e\u0761\u0764\u0767\u076a\u076d\u0770\u0773\u0776\u0779\u077c\u077f\u0782\u0785\u0788\u078b\u078e\u0791\u0794\u0797\u079a\u079d\u07a0\u07a3\u07a6\u07a9\u07ac\u07af\u07b2\u07b5\u07b8\u07bb\u07be\u07c1\u07c4\u07c7\u07ca\u07cd\u07d0\u07d3\u07d6\u07d9\u07dc\u07df\u07e2\u07e5\u07e8\u07eb\u07ee\u07f1\u07f4\u07f7\u07fa\u07fd\u0800\u0803\u0806\u0807\u0808\u0809\u080a\u080b\u080c\u080d\u080e\u080f\u0810\u0811\u0812" +
"\u0813\u0814\u0815\u0816\u081d\u0824\u082b\u0832\u0839\u0840\u0847\u084e\u0855\u085c\u0863\u086a\u0871\u0878\u087b\u087e\u0881\u0884\u0887\u088a\u088d\u0890\u0893\u0896\u0899\u089c\u089f\u08a2\u08a5\u08a8\u08ab\u08ae\u08b1\u08b4\u08b7\u08ba\u08bd\u08c0\u08c3\u08c6\u08c9\u08cc\u08cf\u08d2\u08d5\u08d8\u08db\u08de\u08e1\u08e4\u08e7\u08ea\u08ed\u08f0\u08f3\u08f6\u08f9\u08fc\u08ff\u0902\u0905\u0908\u090b\u090e\u0911\u0914\u0917\u091a" +
"\u091d\u0920\u0923\u0926\u0929\u092c\u092f\u0932\u0935\u0938\u093b\u093e\u0941\u0944\u0947\u094a\u094d\u0950\u0953\u0956\u0959\u095c\u095f\u0962\u0965\u0968\u096b\u096e\u0971\u0974\u0977\u097a\u097d\u0980\u0983\u0986\u0989\u098c\u098f\u0992\u0995\u0001\u0002\u06a4\u0003\u0000\u0000\u0001\u0002\u06aa\u0001\u000c\u06b7\u06b8\u06bb\u06be\u06c1\u06c4\u06c7\u06ca\u06cd\u06d0\u06d3\u0001\u0002\u06ba\u0001\u0002\u06bd\u0001\u0002\u06c0" +
"\u0001\u0002\u06c3\u0001\u0002\u06c6\u0001\u0002\u06c9\u0001\u0002\u06cc\u0001\u0002\u06cf\u0001\u0002\u06d2\u0001\u0002\u06d5\u0001\u000c\u06e2\u06e3\u06e6\u06e9\u06ec\u06ef\u06f2\u06f5\u06f8\u06fb\u06fe\u0001\u0002\u06e5\u0001\u0002\u06e8\u0001\u0002\u06eb\u0001\u0002\u06ee\u0001\u0002\u06f1\u0001\u0002\u06f4\u0001\u0002\u06f7\u0001\u0002\u06fa\u0001\u0002\u06fd\u0001\u0002\u0700\u0001\u000c\u070d\u070e\u0711\u0714\u0717\u071a" +
"\u071d\u0720\u0723\u0726\u0729\u0001\u0002\u0710\u0001\u0002\u0713\u0001\u0002\u0716\u0001\u0002\u0719\u0001\u0002\u071c\u0001\u0002\u071f\u0001\u0002\u0722\u0001\u0002\u0725\u0001\u0002\u0728\u0001\u0002\u072b\u0001\u000c\u0738\u0739\u073c\u073f\u0742\u0745\u0748\u074b\u074e\u0751\u0754\u0001\u0002\u073b\u0001\u0002\u073e\u0001\u0002\u0741\u0001\u0002\u0744\u0001\u0002\u0747\u0001\u0002\u074a\u0001\u0002\u074d\u0001\u0002\u0750" +
"\u0001\u0002\u0753\u0001\u0002\u0756\u0001\u0003\u075a\u075b\u0001\u0002\u075d\u0001\u0002\u0760\u0001\u0002\u0763\u0001\u0002\u0766\u0001\u0002\u0769\u0001\u0002\u076c\u0001\u0002\u076f\u0001\u0002\u0772\u0001\u0002\u0775\u0001\u0002\u0778\u0001\u0002\u077b\u0001\u0002\u077e\u0001\u0002\u0781\u0001\u0002\u0784\u0001\u0002\u0787\u0001\u0002\u078a\u0001\u0002\u078d\u0001\u0002\u0790\u0001\u0002\u0793\u0001\u0002\u0796\u0001\u0002" +
"\u0799\u0001\u0002\u079c\u0001\u0002\u079f\u0001\u0002\u07a2\u0001\u0002\u07a5\u0001\u0002\u07a8\u0001\u0002\u07ab\u0001\u0002\u07ae\u0001\u0002\u07b1\u0001\u0002\u07b4\u0001\u0002\u07b7\u0001\u0002\u07ba\u0001\u0002\u07bd\u0001\u0002\u07c0\u0001\u0002\u07c3\u0001\u0002\u07c6\u0001\u0002\u07c9\u0001\u0002\u07cc\u0001\u0002\u07cf\u0001\u0002\u07d2\u0001\u0002\u07d5\u0001\u0002\u07d8\u0001\u0002\u07db\u0001\u0002\u07de\u0001\u0002" +
"\u07e1\u0001\u0002\u07e4\u0001\u0002\u07e7\u0001\u0002\u07ea\u0001\u0002\u07ed\u0001\u0002\u07f0\u0001\u0002\u07f3\u0001\u0002\u07f6\u0001\u0002\u07f9\u0001\u0002\u07fc\u0001\u0002\u07ff\u0001\u0002\u0802\u0001\u0002\u0805\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0819\u081a\u0001\u0002\u081c\u0001\u0003\u0820\u0821\u0001\u0002\u0823\u0001\u0003\u0827\u0828\u0001" +
"\u0002\u082a\u0001\u0003\u082e\u082f\u0001\u0002\u0831\u0001\u0003\u0835\u0836\u0001\u0002\u0838\u0001\u0003\u083c\u083d\u0001\u0002\u083f\u0001\u0003\u0843\u0844\u0001\u0002\u0846\u0001\u0003\u084a\u084b\u0001\u0002\u084d\u0001\u0003\u0851\u0852\u0001\u0002\u0854\u0001\u0003\u0858\u0859\u0001\u0002\u085b\u0001\u0003\u085f\u0860\u0001\u0002\u0862\u0001\u0003\u0866\u0867\u0001\u0002\u0869\u0001\u0003\u086d\u086e\u0001\u0002\u0870" +
"\u0001\u0003\u0874\u0875\u0001\u0002\u0877\u0001\u0002\u087a\u0001\u0002\u087d\u0001\u0002\u0880\u0001\u0002\u0883\u0001\u0002\u0886\u0001\u0002\u0889\u0001\u0002\u088c\u0001\u0002\u088f\u0001\u0002\u0892\u0001\u0002\u0895\u0001\u0002\u0898\u0001\u0002\u089b\u0001\u0002\u089e\u0001\u0002\u08a1\u0001\u0002\u08a4\u0001\u0002\u08a7\u0001\u0002\u08aa\u0001\u0002\u08ad\u0001\u0002\u08b0\u0001\u0002\u08b3\u0001\u0002\u08b6\u0001\u0002" +
"\u08b9\u0001\u0002\u08bc\u0001\u0002\u08bf\u0001\u0002\u08c2\u0001\u0002\u08c5\u0001\u0002\u08c8\u0001\u0002\u08cb\u0001\u0002\u08ce\u0001\u0002\u08d1\u0001\u0002\u08d4\u0001\u0002\u08d7\u0001\u0002\u08da\u0001\u0002\u08dd\u0001\u0002\u08e0\u0001\u0002\u08e3\u0001\u0002\u08e6\u0001\u0002\u08e9\u0001\u0002\u08ec\u0001\u0002\u08ef\u0001\u0002\u08f2\u0001\u0002\u08f5\u0001\u0002\u08f8\u0001\u0002\u08fb\u0001\u0002\u08fe\u0001\u0002" +
"\u0901\u0001\u0002\u0904\u0001\u0002\u0907\u0001\u0002\u090a\u0001\u0002\u090d\u0001\u0002\u0910\u0001\u0002\u0913\u0001\u0002\u0916\u0001\u0002\u0919\u0001\u0002\u091c\u0001\u0002\u091f\u0001\u0002\u0922\u0001\u0002\u0925\u0001\u0002\u0928\u0001\u0002\u092b\u0001\u0002\u092e\u0001\u0002\u0931\u0001\u0002\u0934\u0001\u0002\u0937\u0001\u0002\u093a\u0001\u0002\u093d\u0001\u0002\u0940\u0001\u0002\u0943\u0001\u0002\u0946\u0001\u0002" +
"\u0949\u0001\u0002\u094c\u0001\u0002\u094f\u0001\u0002\u0952\u0001\u0002\u0955\u0001\u0002\u0958\u0001\u0002\u095b\u0001\u0002\u095e\u0001\u0002\u0961\u0001\u0002\u0964\u0001\u0002\u0967\u0001\u0002\u096a\u0001\u0002\u096d\u0001\u0002\u0970\u0001\u0002\u0973\u0001\u0002\u0976\u0001\u0002\u0979\u0001\u0002\u097c\u0001\u0002\u097f\u0001\u0002\u0982\u0001\u0002\u0985\u0001\u0002\u0988\u0001\u0002\u098b\u0001\u0002\u098e\u0001\u0002" +
"\u0991\u0001\u0002\u0994\u0001\u0002\u0997\u0001\u0011\u09a9\u09aa\u09ab\u09ac\u09ad\u09ae\u09af\u09b0\u09b1\u09b2\u09b3\u09b4\u09b5\u09b6\u09b7\u09b8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u09c2\u01b3\u09c5\u09c6\u01c0\u01c1\u09c7\u09c8\u0003\u05a8\u05aa\u0001\u0001\u0001\u0001\u0007\u09d0\u09d1\u09d2\u09d3\u0183\u0184\u0001\u0001\u0001\u0001\u0024\u03a0\u0442\u0559" +
"\u03a0\u09f8\u09f9\u09fa\u09fb\u09fc\u09fd\u09fe\u09ff\u0a00\u0a01\u0a02\u0a03\u0a04\u0a05\u0a06\u0a07\u01a1\u00bf\u00c0\u01a2\u00c2\u00c3\u01a3\u00c4\u00c5\u00c6\u01a4\u00c7\u00c8\u00c9\u01a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u03a1\u06a7\u09aa\u09d1\u09f8\u0a28\u0a2f\u0a38\u0a39\u0057\u0a3a\u0a3b\u0a3c\u0a3d\u0a3e\u0a3f\u0a40\u0a41\u0a42\u03a5\u0a43\u0192\u006f" +
"\u0193\u0194\u0a3f\u0195\u0196\u0a44\u0a45\u0a46\u0004\u0a2c\u0a2d\u0a2e\u0001\u0001\u0001\u0003\u0a32\u0a35\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u003c\u0a83\u0a84\u0a89\u0a8e\u0a8f\u0a90\u0a91\u0a92\u0a93\u0a94\u0a95\u0a96\u0a97\u0a98\u0a99\u0a9a\u0a9b\u0a9c\u0a9d\u0a9e\u0a9f\u0aa0\u0aa1\u0aa2\u0aa3\u0aa4\u0aa5\u0aa6\u0aa7\u0a8e\u0109\u010a" +
"\u010b\u010c\u010d\u010e\u010f\u0110\u0aa8\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011a\u011b\u0aa9\u0a8c\u0a8d\u0aac\u0aad\u0aae\u0a87\u0a88\u0aaf\u0001\u0003\u0a87\u0a88\u0001\u0001\u0003\u0a8c\u0a8d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0a8c\u0a8d\u0001\u0001\u0001\u0001" +
"\u0028\u0a38\u0ad8\u0ad8\u0ad9\u0ada\u0adb\u0a3b\u0adc\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0ae3\u006c\u0ae4\u006f\u0070\u0ae5\u0071\u01d7\u0ae6\u01da\u007b\u0ae7\u0ae8\u007e\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0af0\u0af1\u0af2\u0af3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u01b3\u0af8\u0af9" +
"\u0001\u0001\u000b\u0b05\u0b08\u0b09\u0b0a\u0b0b\u0b0c\u0b0d\u0b0e\u0b0f\u024f\u0002\u0b07\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0b14\u0b15\u0250\u0001\u0001\u0005\u0b1b\u0b1c\u0b1d\u0251\u0001\u0001\u0001\u0002\u0b20\u0001\u0003\u0b24\u0b25\u0001\u0001\u0002\u0b28\u0001\u0002\u0b2b\u0001\u0006\u0b32\u0b33\u0a39\u0b34\u0b35\u0001\u0001\u0001\u0001\u0011\u0b47\u09f9\u09fc\u09ff\u0a03\u0b48\u0b49\u0a07\u0b4a" +
"\u01a1\u01a2\u01a3\u01a4\u0b4b\u0b4c\u01a5\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u03a3\u0443\u055f\u0055\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f\u0b70\u0b71\u0b72\u0b73\u0b74\u0b75\u0b76\u0b77\u0b78\u0b6e\u00a6\u00a7\u00a8\u00aa\u00ab\u00ad\u00ae\u00af\u00b1\u0b79\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0ad9\u0b9b\u0b9c\u0b9d\u0b9d\u0b9e\u0b9f\u0ba0\u0ba1\u0ba2\u0ba3\u0ba4\u0ba5" +
"\u0ba6\u0ba7\u0ba8\u0b9d\u0ba9\u0b9d\u014b\u0ba1\u0ba2\u014c\u0baa\u0ba6\u0b9d\u0ba1\u0b9d\u0bab\u0ba1\u0bac\u0bad\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u03a4\u0444\u0560\u0bc3\u0b6f\u0bc4\u0bc5\u0bc6\u0bc7\u0bc8\u0bc9\u0bca\u0bc4\u00db\u00dd\u00e0\u00e2\u00e3\u0bcb\u0bcc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u0bed\u0bee" +
"\u0bf5\u0bf6\u0bf7\u0bf8\u0bf9\u0bfa\u0bfb\u0bfc\u0bfd\u016a\u0c07\u016b\u016c\u016d\u016e\u016f\u0c04\u0c05\u0c06\u0170\u0171\u0172\u0c0a\u0173\u0bf3\u0174\u0bf4\u0175\u0c0b\u0001\u0005\u0bf3\u0bf4\u0174\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0c04\u0c05\u0c06\u0170\u0171\u0172\u0001\u0001\u0001\u0003\u0c0a\u0173\u0001\u0001\u0012\u0445\u0561\u0c1e\u09c5\u09f9\u0a3a\u09f9\u0bc6\u09c5\u0c1f\u0c20" +
"\u0bc6\u0a3a\u0c21\u0c22\u0445\u0561\u0001\u0001\u0001\u0001\u0001\u0003\u0a95\u0c26\u0001\u000c\u0562\u09fa\u0a96\u0adb\u0b70\u0b9d\u0c33\u0c34\u0c35\u0c36\u0c37\u0001\u0001\u0001\u0001\u0001\u0006\u09fb\u0a3b\u0a97\u0b71\u0c3e\u0001\u0010\u0446\u0563\u09fc\u0a3c\u0a98\u09fc\u0b72\u0b9d\u0bc7\u0c4f\u0bc7\u0a3c\u0c50\u0446\u0563\u0001\u0001\u0006\u0a99\u0c57\u0c5a\u0c5c\u0c5e\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008" +
"\u0c67\u09fd\u0a9a\u0c68\u0c67\u0c69\u0c67\u0001\u0001\u0001\u0002\u09fe\u0010\u0448\u0565\u09ff\u0a3d\u0a9c\u09ff\u0bc8\u0c7c\u0bc8\u0a3d\u0c7d\u0c7c\u0c7e\u0448\u0565\u0001\u0001\u0001\u0003\u0566\u0566\u0003\u0a00\u0a3e\n\u056a\u0a01\u0a3f\u0adf\u0b73\u0b9e\u0c8f\u0c96\u0ae3\u0002\u0c91\u0002\u0c93\u0003\u0000\u0000\u0001\u0002\u0a9d\n\u056c\u0a02\u0b74\u0b9f\u0ca3\u0ca4\u0ca5\u0ca5\u0ca6\u0001\u0001\u0001\u0001\u0015" +
"\u0449\u056d\u0a03\u0a40\u0ae0\u0a03\u0bc9\u076c\u0c35\u0cbc\u0cbd\u0cbe\u0cbf\u0cc0\u0bc9\u0a40\u0cc1\u0cc2\u0449\u056d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0cc9\u0aa0\u0ba1\u0cc9\u0cca\u0001\u0001\u0002\u0ccd\u0001\u0008\u056f\u0a04\u0b75\u0ba2\u0cbd\u0cd6\u0cd7\u0001\u0001\u000b\u0cbe\u0570\u0a05\u0aa2\u0b48\u0b76\u0ce3\u0cbe\u0ce4\u0ce5\u0001\u0001\u0001\n\u0a06\u0ae1\u0aa3\u0ae1\u0b49\u0b77\u0ba3\u0cf0\u0cf1" +
"\u0001\u0001\u002d\u0d1f\u0d26\u044a\u0571\u09c6\u0a07\u0a41\u0a07\u0bca\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u0bca\u0a41\u0d2e\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u0d35\u044a\u0571\u0d36\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d43\u0d44\u0d45\u0d46\u0d47\u0d48\u0002\u0d21\u0003\u0d24\u0d25\u0001\u0001\u0003\u0d29\u0132\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0d24" +
"\u0d25\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0ae3\u0b70\u0b76\u0b78\u0003\u0ba5\u0d51\u0001\u0002\u0cbf\u0007\u044d\u0573\u0ba6\u0d5b\u044d\u0573\u0001\u0005\u0574\u0aa7\u0b78\u0d61\u0001\u0002\u0d64\u0001\u0008\u0a42\u0bfc\u0d6d\u0d70\u0d75\u0d78\u0d79\u0003\u0000\u0000\u0002\u0d72\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0002\u0d64\u004e\u0dca\u024a\u024b" +
"\u024c\u024d\u0a8e\u0ae3\u024e\u024f\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0bc6\u0dd4\u0bc7\u0dd5\u0dd6\u0bc8\u0dd7\u0bc9\u0dd8\u0bca\u0d51\u0d5b\u0dd9\u0dda\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e5\u00e3\u0df3\u0df4\u00e4\u0059\u0df5\u0df8\u0dfb\u0dfe\u0e01\u0e04\u00e6\u00e9\u00ec\u00ef\u0e07\u00f2\u0dd2\u0130\u0dd3\u0131\u024d\u0e0a\u0e0b\u0e0c\u0e0d\u0e0e\u0e0f\u0e10\u0e11\u0e12\u0e13\u0e14\u0e15" +
"\u0e16\u0e17\u0007\u0dd1\u0dd2\u0dd3\u012f\u0130\u0131\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u01b4\u01bc\u025e\u025f\u0261\u01b6\u01b5\u01b9\u01ba\u0267\u0268\u0269\u0ded\u0dee\u0def\u0df0\u0df1\u0df2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u03a5\u0e70\u0e79\u0e85\u0201\u0202\u0203\u0204\u0e86\u0205\u0206\u0207\u0208\u0209\u020a\u020b\u020c\u020d\u020e\u0e91\u0b6e\u020f\u0bc4\u0a3a\u0a3c\u0e96\u0a3d\u0a40\u0a41\u0e97\u03a5\u03a5\u0192\u0193\u0e98\u0194\u0195\u0196\u0e99\u0e9a\u0e80\u0e9f\u0e9d\u0e81\u0e82\u0e83\u0ea0\u0e9e\u0e84\u0197\u0e8d\u0e8f\u0ea1\u0ea2\u0ea3\u0ea4\u0ea5\u0ea6\u0ea7\u0eaa\u0ead\u0eae\u0eb1" +
"\u0eb4\u0eb5\u0eb8\u0ebb\u0ebc\u0ebf\u0ec2\u0e75\u0e77\u0e76\u0e78\u0ec3\u0ec4\u0204\u0ec5\u0ec6\u0ec7\u0ec8\u0ec9\u0eca\u0ecb\u0ecc\u0ecd\u0ece\u0005\u0e75\u0e76\u0e77\u0e78\u0001\u0001\u0001\u0001\u0007\u0e80\u0e81\u0e82\u0e83\u0e84\u0197\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e8d\u0a32\u0e8e\u0e8f\u0a35\u0e90\u0001\u0001\u0001\u0001\u0003\u0e94\u0e95\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e9d\u0e9e\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u0f15\u0f1d\u0f3a\u0f55\u0c21\u0c50\u0c7d\u0f5c\u0cc1\u0d2e\u0f5d\u0f5e\u0f5f\u0f6c\u0f75\u0157\u0fa6\u0158\u0159\u0fab\u015a\u015b\u0fac\u0fad" +
"\u0fae\u0f66\u0f67\u0f68\u0f1a\u0f69\u0f6a\u0f6b\u015c\u0fa9\u0faa\u0f71\u0f73\u0f72\u0f74\u0f5a\u0185\u0f5b\u0188\u0fb3\u0fb4\u0fb5\u0fb6\u0fb7\u0fb8\u0fb9\u0fba\u0fbb\u0fbc\u0fbd\u0fbe\u0fbf\u0fc0\u0fc1\u0fc4\u0fc5\u0fc6\u0fc9\u0fcc\u0fcf\u0fd2\u0fd3\u0fd4\u0fd7\u0fda\u0005\u0f1a\u015c\u0f1b\u0f1c\u0001\u0001\u0001\u000f\u0f2c\u0f2d\u0f2e\u0f2f\u0f30\u0f31\u0f32\u0f33\u0f34\u0f35\u0f36\u0f37\u0f38\u0f39\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u0f48\u0f49\u0f4a\u0f4b\u0f4c\u0f4d\u0f4e\u0f4f\u0f50\u0f51\u0f52\u0f53\u0f54\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f5a\u0f5b\u0185\u0188\u0001\u0001\u0001\u0001\u0001\u0007\u0f66\u0f67\u0f68\u0f69\u0f6a\u0f6b\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f71\u0f72\u0f73\u0f74\u0001\u0001\u0001\u0001\r\u0f82\u0f85" +
"\u0f88\u0f8b\u0f8e\u0f91\u0f94\u0f97\u0f9a\u0f9d\u0fa0\u0fa3\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0fa9\u0faa\u0001\u0001\u0001\u0001\u0001\u0005\u0f71\u0f72\u0f73\u0f74\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0011\u0287\u0019\u0d2f\u01c0\u01a1\u0192\u01a1\u00db\u00db\u0192\u0157\u01c0\u0fee\u0277\u0287\u0019\u0001\u0021\u1010\u1013\u010a\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u1016\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40" +
"\u0d41\u0d42\u0d43\u0d44\u0d45\u0d46\u0d47\u0d48\u0003\u0d29\u0132\u0003\u0d24\u0d25\u0003\u0d24\u0d25\u002c\u1045\u001a\u00bf\u010b\u0ae4\u00a6\u0b9d\u1049\u0b70\u0b71\u0b72\u104a\u104b\u104c\u104d\u0b73\u0b74\u104e\u0b75\u0b76\u0b77\u104f\u0b78\u00a5\u00a6\u00a7\u00a8\u1050\u1051\u00a9\u1052\u1053\u00aa\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u0ae4\u1048\u00b2\u0003\u1048\u00b2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0008\u00c0\u006f\u010c\u00a7\u0ba9\u105c\u105d\u0001\u0001\u0010\u0288\u001b\u01a2\u0193\u010d\u01a2\u00a8\u0b9d\u00dd\u00dd\u0193\u0158\u106e\u0288\u001b\u0001\u0007\u010e\u1076\u1077\u1079\u107b\u1076\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0007\u0d31\u00c2\u010f\u0d31\u0c68\u0d31\u0002\u00c3\u000f\u0289\u001c\u01a3\u0194\u0aa8\u01a3\u00e0\u00e0\u0194\u0159\u1095\u0279\u0289\u001c\u0001\u0003\u001d" +
"\u001d\u0003\u00c4\u109c\u0001\u0008\u0020\u00c5\u0a3f\u01d7\u00aa\u0c96\u0ae3\u0004\u0111\u0ae6\u0ae7\u0006\u0028\u00c6\u00ab\u10af\u027a\u0001\u001a\u028a\u0021\u01a4\u0195\u01da\u01a4\u00e2\u09c5\u09c6\u00e2\u0195\u015a\u01c0\u0c35\u10ca\u01b3\u0cbd\u0cbe\u01c1\u10cb\u0cbf\u10cc\u027b\u028a\u0021\u0001\u0001\u0001\u0005\u0cc9\u0114\u0ba1\u10d2\u0002\u10d4\u0003\u0000\u0000\u0005\"\u00c7\u00ad\u0ba2\u000b\u0cbe\u0023\u00c8" +
"\u0116\u0b4b\u00ae\u0ce3\u0cbe\u10e7\u00c8\u0001\u0009\u00c9\u007b\u0117\u007b\u0b4c\u00af\u10f1\u0cf1\u0001\u001b\u028b\u0024\u01c1\u01a5\u0196\u0ae7\u01a5\u00e3\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u00e3\u0196\u015b\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u027c\u028b\u0024\u0023\u0ae8\u1049\u0b70\u0b71\u0b72\u104a\u104b\u104c\u104d\u0b74\u104e\u0b75\u0b76\u0b77\u104f\u0b78\u00a5\u00a6\u00a7\u00a8\u1050\u1051\u00a9\u1052\u1053\u0ae3" +
"\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u0053\u0002\u0df3\u0003\u0cbf\u1135\u0001\u0007\u028c\u0025\u0ba6\u0df4\u028c\u0025\u0004\u0026\u011b\u00b1\u0002\u1143\u0001\u0012\u1156\u1157\u0c26\u0c37\u0c69\u0ce5\u0059\u0ae4\u0053\u1158\u1159\u115a\u115b\u115c\u115d\u115e\u115f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u118f\u1194\u11a9\u11bc\u0af9\u0c22\u11c3\u0c7e\u0ca6\u0cc2\u0d35\u11c4\u11c5\u11c6\u0277" +
"\u11d1\u0278\u0279\u027a\u027b\u027c\u11d5\u11d6\u1158\u11d7\u11d8\u11cd\u11ce\u11cf\u027d\u027e\u11d0\u11d4\u027f\u11c1\u0187\u11c2\u018a\u11d9\u11da\u11db\u11dc\u11dd\u11de\u11df\u11e0\u0003\u1192\u1193\u0001\u0001\u000b\u119f\u11a0\u11a1\u11a2\u11a3\u11a4\u11a5\u11a6\u11a7\u11a8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u11b3\u11b4\u11b5\u11b6\u11b7\u11b8\u11b9\u11ba\u11bb\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0005\u11c1\u11c2\u0187\u018a\u0001\u0001\u0001\u0001\u0001\u0007\u11cd\u11ce\u11cf\u027d\u027e\u11d0\u0001\u0001\u0001\u0001\u0003\u11d4\u027f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u0513\u09c7\u0bcb\u0445\u0446\u0448\u0449\u044a\u044d\u11f8\u0287\u0288\u0289\u028a\u028b\u028c\u11f9\u0513\u11fa\u11fb\u11fc\u11fd\u0001\u0001\u0001\u0001\u0001\u0001\u0037\u1235" +
"\u123a\u1241\u1246\u0a3a\u0a3c\u0e96\u0a3d\u0a40\u0a41\u0e97\u0192\u0193\u0e98\u0194\u0195\u0196\u0e99\u1249\u0e80\u0e9f\u0e9d\u0e81\u0e82\u0e83\u0ea0\u0e9e\u0e84\u0197\u0e8d\u0e8f\u0ea1\u0ea2\u0ea3\u0ea4\u0ea5\u0ea6\u0ea7\u0eaa\u0ead\u0eae\u0eb1\u0eb4\u0eb5\u0eb8\u0ebb\u0ebc\u0ebf\u0ec2\u0e75\u0e77\u0e76\u0e78\u124c\u0005\u0e75\u0e76\u0e77\u0e78\u0007\u0e80\u0e81\u0e82\u0e83\u0e84\u0197\u0005\u0e8d\u0e8e\u0e8f\u0e90\u0003\u0e94" +
"\u0e95\u0003\u0e9d\u0e9e\u0001\u0077\u12c4\u12cb\u12da\u12e8\u12ed\u12f0\u0561\u0562\u0563\u0564\u0565\u0566\u0569\u056a\u056b\u056c\u056d\u056e\u056f\u0570\u0571\u0572\u0573\u0574\u12f3\u12fa\u0019\u12ff\u001a\u001b\u0590\u001c\u001d\u0591\u0020\u0592\u0028\u0021\u0593\"\u0023\u0024\u0594\u0025\u0026\u1302\u1307\u130c\u057c\u05a8\u05a9\u05a6\u057d\u0514\u057e\u059a\u055d\u0515\u057f\u05aa\u05ab\u05a7\u0580\u0516\u0581\u059c" +
"\u055e\u0027\u058e\u058f\u0587\u0589\u0588\u058a\u059b\u059d\u0557\u0186\u0558\u0189\u05ac\u05ad\u05ae\u05af\u05b0\u05b1\u05b2\u05b3\u05b4\u05b5\u05b6\u05b7\u05b8\u05b9\u05ba\u05bd\u05be\u05c1\u05c4\u05c5\u05c8\u05cb\u05ce\u05d1\u05d4\u05d7\u0029\u05da\u002c\u002f\u05db\u0032\u05dc\u0035\u0038\u003b\u003e\u0041\u0007\u0514\u0515\u0516\u0027\u0517\u0518\u000f\u0529\u052a\u052b\u052c\u052d\u052e\u052f\u0530\u0531\u0532\u0533\u0534" +
"\u0535\u0536\u000e\u0545\u0546\u0547\u0548\u0549\u054a\u054b\u054c\u054d\u054e\u054f\u0550\u0551\u0005\u0557\u0558\u0186\u0189\u0003\u05a6\u05a7\u0003\u055d\u055e\u0007\u057c\u057d\u057e\u057f\u0580\u0581\u0005\u0587\u0588\u0589\u058a\u0003\u058e\u058f\u0005\u059a\u059b\u059c\u059d\u0005\u0587\u0588\u0589\u058a\u0003\u05a6\u05a7\u0017\u09fa\u09fb\u1326\u09fd\u09fe\u0a00\u0a01\u0a02\u0a04\u0a05\u0a06\u00bf\u00c0\u00c1\u00c2\u00c3" +
"\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u0001\u0002\u1329\u0001\u0003\u0c67\u0d31\u0002\u05ac\u0002\u05ad\u0002\u05ae\u0003\u045f\u05af\u0002\u05b0\u0003\u0460\u05b1\u0002\u05b2\u0002\u05b3\u0002\u05b4\u0002\u05b5\u000e\u0461\u1351\u1374\u1381\u138e\u13b1\u13d4\u13e8\u13e9\u13ea\u13eb\u13ec\u13ed\u0006\u1357\u1364\u1371\u1372\u1373\u0007\u135e\u135f\u1360\u1361\u1362\u1363\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u136b\u136c\u136d" +
"\u136e\u136f\u1370\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u137b\u137c\u137d\u137e\u137f\u1380\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1388\u1389\u138a\u138b\u138c\u138d\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1394\u13a1\u13ae\u13af\u13b0\u0007\u139b\u139c\u139d\u139e\u139f\u13a0\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u13a8\u13a9\u13aa\u13ab\u13ac\u13ad\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0006\u13b7\u13c4\u13d1\u13d2\u13d3\u0007\u13be\u13bf\u13c0\u13c1\u13c2\u13c3\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u13cb\u13cc\u13cd\u13ce\u13cf\u13d0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u13da\u13e1\u1371\u1372\u1373\u0007\u135e\u135f\u1360\u1361\u1362\u1363\u0007\u136b\u136c\u136d\u136e\u136f\u1370\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u05b7\u0003\u0462\u05b8\u0002\u05b9\u0002\u0b9d\u0002" +
"\u0ba1\u0003\u0ca5\u0ca5\u0002\u0b9d\u0002\u0ba1\u0002\u0cbe\u0002\u1404\u0002\u0000\u0003\u1409\u140b\u0002\u0000\u0002\u0000\u0002\u140f\u0002\u0000\u0002\u1413\u0002\u0000\u0017\u142c\u142e\u1430\u1432\u1434\u1436\u1438\u143a\u143c\u143e\u1440\u1442\u1444\u1446\u1448\u144a\u144c\u144e\u1450\u1452\u1454\u1456\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000" +
"\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u145c\u145e\u1460\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1466\u146a\u1468\u0002\u1468\u0002\u0000\u0002\u0000\u0004\u1470\u1474\u1472\u0002\u1472\u0002\u0000\u0002\u0000\u0002\u1478\u0001\u0007\u1480\u1481\u1482\u1483\u1484\u1485\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1488" +
"\u0001\u000c\u1495\u1496\u1497\u1498\u1499\u149a\u149b\u149c\u149d\u149e\u149f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u14a4\u14a5\u14a6\u0001\u0001\u0001\u0003\u14aa\u14ab\u0001\u0001\u0007\u14b3\u14b4\u14b5\u14b6\u14b7\u14b8\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u14bc\u14bd\u0001\u0001\u0004\u14c2\u14c3\u14c4\u0001\u0001\u0001\u0003\u14c8\u14c9\u0001\u0001\u0002\u14cc\u0001\u0002\u14cf\u0001" +
"\u0002\u14d2\u0001\u0002\u14d5\u0001\u0004\u14da\u14db\u14dc\u0001\u0001\u0001\u0002\u14df\u0001\u0003\u14e3\u14e4\u0001\u0001\u0002\u14e7\u0001\u0004\u14ec\u14ed\u14ee\u0001\u0001\u0001\u0002\u14f1\u0001\u0004\u14f6\u14f7\u14f8\u0001\u0001\u0001\u0002\u14fb\u0001\u0002\u14fe\u0001\u0002\u1501\u0001\u0002\u1504\u0001\u0002\u1507\u0001\u0002\u150a\u0001\u0002\u150d\u0001\u0002\u1510\u0001\u0002\u1513\u0001\u0006\u151a\u151b\u151c" +
"\u151d\u151e\u0001\u0001\u0001\u0001\u0001\u0002\u1521\u0001\u0002\u1524\u0001\u0005\u152a\u152b\u152c\u152d\u0001\u0001\u0001\u0001\u0003\u1531\u1532\u0001\u0001\u0005\u1538\u1539\u153a\u153b\u0001\u0001\u0001\u0001\u0003\u153f\u1540\u0001\u0001\u0011\u1552\u1553\u1554\u1555\u1556\u1557\u1558\u1559\u155a\u155b\u155c\u155d\u155e\u155f\u1560\u1561\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0002\u155d\u0011\u1575\u1576\u1577\u1578\u1579\u157a\u157b\u157c\u157d\u157e\u157f\u1580\u1581\u1582\u1583\u1584\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u157c\u000c\u1593\u1594\u1595\u1596\u1597\u1598\u1599\u159a\u159b\u159c\u159d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u15a1\u15a2\u0001\u0001\u0003\u15a6\u15a7\u0001\u0001" +
"\u0003\u15ab\u15ac\u0001\u0001\u0002\u15af\u0001\u0006\u155e\u155f\u1560\u1557\u1561\u0002\u1584\u0002\u15ba\u0001\u0002\u15bd\u0001\u0002\u15c0\u0001\u0002\u15c3\u0001\u0004\u15c8\u15c9\u15ca\u0001\u0001\u0001\u0004\u15cf\u15d0\u15d1\u0001\u0001\u0001\u0005\u15d7\u15d8\u15d9\u15da\u0001\u0001\u0001\u0001\u0004\u15df\u15e0\u15e1\u0001\u0001\u0001\u0009\u15eb\u15ec\u15ed\u15ee\u15ef\u15f0\u15f1\u15f2\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0002\u15ec\u0006\u15fb\u15fc\u15fd\u15fe\u15ff\u0001\u0001\u0001\u0001\u0001\u0009\u1609\u160a\u160b\u160c\u160d\u160e\u160f\u1610\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1610\u160c\u0008\u161c\u161d\u161e\u161f\u1620\u1621\u1622\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1627\u1628\u1629\u0001\u0001\u0001\u0002\u162c\u0001\u0007\u1634\u1635\u1636\u1637\u1638\u1639\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0005\u163f\u1640\u1641\u1642\u0001\u0001\u0001\u0001\u0005\u1648\u1649\u164a\u164b\u0001\u0001\u0001\u0001\u0002\u164b\u0008\u1656\u1657\u1658\u1659\u165a\u165b\u165c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1660\u1661\u0001\u0001\u0015\u1677\u1678\u1679\u167a\u167b\u167c\u167d\u167e\u167f\u1680\u1681\u1682\u1683\u1684\u1685\u1686\u1687\u1688\u1689\u168a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1678\u0003\u1685\u1686\u0004\u167e\u1688\u1687\u0002\u1680\n\u16a0\u16a1\u16a2\u16a3\u16a4\u16a5\u16a6\u16a7\u16a8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u16af\u16b0\u16b1\u16b2\u16b3\u0001\u0001\u0001\u0001\u0001\u0006\u16ba\u16bb\u16bc\u16bd\u16be\u0001\u0001\u0001\u0001\u0001\u0005\u16c4\u16c5\u16c6\u16c7\u0001\u0001\u0001\u0001" +
"\u0003\u16cb\u16cc\u0001\u0001\u0005\u16d2\u16d3\u16d4\u16d5\u0001\u0001\u0001\u0001\u0002\u16d8\u0001\u0002\u16a4\u0002\u16c5\u0003\u16e0\u16e1\u0001\u0001\u0003\u1159\u16e5\u0001\u0003\u0a44\u16e9\u0001\u0003\u115a\u16ed\u0001\u0003\u0a45\u16f1\u0001\u0002\u16f4\u0001\u0004\u0ec3\u115b\u16f9\u0001\u0005\u115c\u11de\u11fa\u16ff\u0001\u0002\u1702\u0001\u0002\u0ec4\u0002\u1707\u0001\u0008\u0ec5\u11fb\u1710\u1711\u1712\u1713\u1714" +
"\u0001\u0001\u0001\u0001\u0001\u0002\u1717\u0001\u0002\u171a\u0001\u0004\u11df\u0b6f\u171f\u0001\u0004\u11e0\u0b6f\u1724\u0001\u0002\u1710\u0002\u115d\u0002\u172b\u0001\u0002\u172e\u0001\u0002\u1731\u0001\u0002\u1734\u0001\u0003\u0ec6\u1738\u0001\u0002\u0ec6\u0002\u173d\u0001\u0002\u1740\u0001\u0002\u1743\u0001\u0002\u1746\u0001\u0002\u1749\u0001\u0002\u174c\u0001\u0002\u174f\u0001\u0002\u1752\u0001\u0002\u1755\u0001\u0002\u1758" +
"\u0001\u0004\u175d\u0ec7\u115e\u0001\u0003\u1761\u0ec8\u0001\u0002\u1764\u0001\u0002\u1767\u0001\u0002\u176a\u0001\u0002\u176d\u0001\u0002\u1770\u0001\u0005\u11fc\u124c\u1711\u1776\u0001\u0004\u0ec9\u1712\u1776\u0002\u177d\u0001\u0002\u1780\u0001\u0002\u1783\u0001\u0002\u1786\u0001\u0002\u1789\u0001\u0002\u178c\u0001\u0002\u178f\u0001\u0003\u0eca\u1793\u0001\u0002\u0ecb\u0002\u0ecc\u0002\u0ecd\u0016\u05df\u0af3\u0b35\u0b79\u0bad" +
"\u0bcc\u0c0b\u0d78\u1329\u16e5\u16e9\u16ed\u16f1\u16f9\u16ff\u1713\u171f\u1724\u1738\u1793\u17b0\u0001\n\u09c8\u0a46\u0aaf\u0d79\u0ece\u115f\u11fd\u1714\u17b0\u0002\u17bd\u0001\u00ac\u186a\u03d5\u0442\u048f\u0559\u0443\u0444\u01b3\u0a8e\u0a2e\u0a8f\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u0b6d\u11d7\u0bc5\u0bf5\u055f\u0560\u09f8\u0a2d\u0fee\u188e\u0ae4\u0b9d\u188f\u0a3f\u10ca\u0ba1\u0ba2\u0ae7\u0ba6\u1890" +
"\u0a91\u03f1\u0a93\u1891\u0cc9\u1899\u189a\u189b\u189c\u189d\u189e\u189f\u18a0\u18a1\u18a2\u18a3\u18a4\u18a5\u18a6\u18a7\u18a8\u18b4\u18bb\u18c1\u18c8\u18ce\u18d3\u18d9\u18e5\u18eb\u18f1\u18f8\u1905\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u190b\u190c\u190d\u190e\u190f\u1910\u1911\u1912\u1913\u1914\u1915\u1916\u1917\u1918\u1495\u1496\u1497\u1919\u191a" +
"\u191b\u1498\u191f\u1920\u1499\u149a\u1921\u1922\u1926\u149b\u192a\u149c\u192e\u149d\u149e\u149f\u192f\u1930\u1934\u1938\u1939\u193a\u193b\u193c\u193d\u193e\u193f\u1940\u1941\u1942\u1943\u1944\u1945\u1946\u1947\u1157\u1891\u0cd7\u0b9b\u0ba7\u0b9c\u0baa\u1948\u1949\u194a\u194b\u194c\u194d\u16f4\u1702\u194e\u194f\u1950\u1951\u1952\u0ec7\u0ec8\u1953\u0005\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0003\u0000" +
"\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000" +
"\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000" +
"\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u002f\u0ce4\u0a9c\u1983\u1984\u1985\u1986\u1987\u1988\u1989\u198a\u198b\u198c\u198d\u198e\u198f\u1990\u1991\u1992\u1993\u1994\u1995\u1996\u1997\u1998\u1999\u199a\u0cd7\u0b9b\u0ba7\u0b9c\u0baa\u194a\u194b\u194c\u194d\u199b\u199c\u199d\u199e\u199f\u19a0\u19a1\u19a2\u19a3\u19a4\u19a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray();
public static final int accent_aigu = 1;
public static final int accent_arrows = 130;
public static final int accent_bar = 153;
public static final int accent_box = 208;
public static final int accent_caron = 231;
public static final int accent_cedille = 304;
public static final int accent_circonflexe = 330;
public static final int accent_dot_above = 412;
public static final int accent_dot_below = 541;
public static final int accent_double_aigu = 596;
public static final int accent_grave = 625;
public static final int accent_hook_above = 691;
public static final int accent_horn = 713;
public static final int accent_macron = 730;
public static final int accent_ogonek = 785;
public static final int accent_ordinal = 797;
public static final int accent_ring = 820;
public static final int accent_slash = 832;
public static final int accent_subscript = 872;
public static final int accent_superscript = 949;
public static final int accent_tilde = 1105;
public static final int accent_trema = 1133;
public static final int compose = 1231;
public static final int fn = 6760;
public static final int shift = 7222;
public static final int accent_arrows = 68;
public static final int accent_bar = 91;
public static final int accent_box = 127;
public static final int accent_caron = 150;
public static final int accent_cedille = 179;
public static final int accent_circonflexe = 202;
public static final int accent_dot_above = 245;
public static final int accent_dot_below = 284;
public static final int accent_double_aigu = 309;
public static final int accent_grave = 336;
public static final int accent_hook_above = 349;
public static final int accent_horn = 374;
public static final int accent_macron = 395;
public static final int accent_ogonek = 408;
public static final int accent_ordinal = 422;
public static final int accent_ring = 445;
public static final int accent_slash = 450;
public static final int accent_subscript = 480;
public static final int accent_superscript = 545;
public static final int accent_tilde = 619;
public static final int accent_trema = 640;
public static final int compose = 653;
public static final int fn = 6078;
public static final int shift = 6484;
}

View File

@ -175,7 +175,7 @@ public final class Config
get_dip_pref_oriented(dm, "horizontal_margin", 3, 28);
double_tap_lock_shift = _prefs.getBoolean("lock_double_tap", false);
characterSize =
_prefs.getFloat("character_size", 1.15f)
_prefs.getFloat("character_size", 1.f)
* characterSizeScale;
theme = getThemeId(res, _prefs.getString("theme", ""));
autocapitalisation = _prefs.getBoolean("autocapitalisation", true);
@ -210,7 +210,8 @@ public final class Config
KeyValue action_key()
{
// Update the name to avoid caching in KeyModifier
return (actionLabel == null) ? null : KeyValue.makeActionKey(actionLabel);
return (actionLabel == null) ? null :
KeyValue.getKeyByName("action").withSymbol(actionLabel);
}
/** Update the layout according to the configuration.
@ -301,10 +302,10 @@ public final class Config
});
if (show_numpad)
kw = kw.addNumPad(modify_numpad(num_pad, kw));
if (extra_keys.size() > 0)
kw = kw.addExtraKeys(extra_keys.entrySet().iterator());
if (added_number_row != null)
kw = kw.insert_row(added_number_row, 0);
if (extra_keys.size() > 0)
kw = kw.addExtraKeys(extra_keys.entrySet().iterator());
return kw;
}
@ -421,7 +422,6 @@ public final class Config
if ((night_mode & Configuration.UI_MODE_NIGHT_NO) != 0)
return R.style.MonetLight;
return R.style.MonetDark;
case "rosepine": return R.style.RosePine;
default:
case "system":
if ((night_mode & Configuration.UI_MODE_NIGHT_NO) != 0)

View File

@ -60,10 +60,10 @@ public final class KeyEventHandler
{
if (key == null)
return;
// Stop auto capitalisation when pressing some keys
switch (key.getKind())
{
case Modifier:
// Stop auto capitalisation when activating a system modifier
switch (key.getModifier())
{
case CTRL:
@ -73,9 +73,6 @@ public final class KeyEventHandler
break;
}
break;
case Compose_pending:
_autocap.stop();
break;
default: break;
}
}
@ -100,7 +97,6 @@ public final class KeyEventHandler
_recv.set_compose_pending(true);
break;
case Cursor_move: move_cursor(key.getCursorMove()); break;
case Complex: send_complex_key(key.getComplexKind(), key.getComplex()); break;
}
update_meta_state(old_mods);
}
@ -219,16 +215,6 @@ public final class KeyEventHandler
conn.performContextMenuAction(id);
}
void send_complex_key(KeyValue.Complex.Kind kind, KeyValue.Complex val)
{
switch (kind)
{
case StringWithSymbol:
send_text(((KeyValue.Complex.StringWithSymbol)val).str);
break;
}
}
@SuppressLint("InlinedApi")
void handle_editing_key(KeyValue.Editing ev)
{

View File

@ -211,6 +211,7 @@ public final class KeyModifier
case Keyevent: name = apply_fn_keyevent(k.getKeyevent()); break;
case Event: name = apply_fn_event(k.getEvent()); break;
case Placeholder: name = apply_fn_placeholder(k.getPlaceholder()); break;
case Cursor_move: name = apply_fn_cursormove(k.getCursorMove()); break;
}
return (name == null) ? k : KeyValue.getKeyByName(name);
}
@ -256,6 +257,16 @@ public final class KeyModifier
}
}
private static String apply_fn_cursormove(short cur)
{
switch (cur)
{
case -1 : return "home"; // cursor_left
case 1 : return "end"; // cursor_right
default: return null;
}
}
private static KeyValue apply_ctrl(KeyValue k)
{
if (_modmap != null)

View File

@ -91,8 +91,7 @@ public final class KeyValue implements Comparable<KeyValue>
{
Char, String, Keyevent, Event, Compose_pending, Hangul_initial,
Hangul_medial, Modifier, Editing, Placeholder,
Cursor_move, // Value is encoded as a 16-bit integer.
Complex, // [_payload] is a [KeyValue.Complex], value is [Complex.Kind].
Cursor_move // Value is encoded as a 16-bit integer
}
private static final int FLAGS_OFFSET = 19;
@ -130,13 +129,7 @@ public final class KeyValue implements Comparable<KeyValue>
check((((Kind.values().length - 1) << KIND_OFFSET) & ~KIND_BITS) == 0);
}
/**
* The symbol that is rendered on the keyboard as a [String].
* Except for keys of kind:
* - [String], this is also the string to output.
* - [Complex], this is an instance of [KeyValue.Complex].
*/
private final Object _payload;
private final String _symbol;
/** This field encodes three things: Kind, flags and value. */
private final int _code;
@ -160,9 +153,7 @@ public final class KeyValue implements Comparable<KeyValue>
When [getKind() == Kind.String], also the string to send. */
public String getString()
{
if (getKind() == Kind.Complex)
return ((Complex)_payload).getSymbol();
return (String)_payload;
return _symbol;
}
/** Defined only when [getKind() == Kind.Char]. */
@ -220,32 +211,25 @@ public final class KeyValue implements Comparable<KeyValue>
return (short)(_code & VALUE_BITS);
}
/** Defined only when [getKind() == Kind.Complex]. */
public Complex getComplex()
{
return (Complex)_payload;
}
/** Defined only when [getKind() == Kind.Complex]. */
public Complex.Kind getComplexKind()
{
return Complex.Kind.values()[(_code & VALUE_BITS)];
}
/* Update the char and the symbol. */
public KeyValue withChar(char c)
{
return new KeyValue(String.valueOf(c), Kind.Char, c, getFlags());
}
public KeyValue withSymbol(String s)
{
return new KeyValue(s, (_code & KIND_BITS), (_code & VALUE_BITS), getFlags());
}
public KeyValue withKeyevent(int code)
{
return new KeyValue(getString(), Kind.Keyevent, code, getFlags());
return new KeyValue(_symbol, Kind.Keyevent, code, getFlags());
}
public KeyValue withFlags(int f)
{
return new KeyValue(_payload, (_code & KIND_BITS), (_code & VALUE_BITS), f);
return new KeyValue(_symbol, (_code & KIND_BITS), (_code & VALUE_BITS), f);
}
@Override
@ -263,9 +247,7 @@ public final class KeyValue implements Comparable<KeyValue>
d = _code - snd._code;
if (d != 0)
return d;
if (getKind() == Kind.Complex)
return ((Complex)_payload).compareTo((Complex)snd._payload);
return ((String)_payload).compareTo((String)snd._payload);
return _symbol.compareTo(snd._symbol);
}
/** Type-safe alternative to [equals]. */
@ -273,36 +255,24 @@ public final class KeyValue implements Comparable<KeyValue>
{
if (snd == null)
return false;
return _code == snd._code && _payload.equals(snd._payload);
return _symbol.equals(snd._symbol) && _code == snd._code;
}
@Override
public int hashCode()
{
return _payload.hashCode() + _code;
return _symbol.hashCode() + _code;
}
public String toString()
public KeyValue(String s, int kind, int value, int flags)
{
int value = _code & VALUE_BITS;
return "[KeyValue " + getKind().toString() + "+" + getFlags() + "+" + value + " \"" + getString() + "\"]";
}
private KeyValue(Object p, int kind, int value, int flags)
{
_payload = p;
_symbol = s;
_code = (kind & KIND_BITS) | (flags & FLAGS_BITS) | (value & VALUE_BITS);
}
public KeyValue(Complex p, Complex.Kind value, int flags)
public KeyValue(String s, Kind k, int v, int f)
{
this((Object)p, (Kind.Complex.ordinal() << KIND_OFFSET), value.ordinal(),
flags);
}
public KeyValue(String p, Kind k, int v, int f)
{
this(p, (k.ordinal() << KIND_OFFSET), v, f);
this(s, (k.ordinal() << KIND_OFFSET), v, f);
}
private static KeyValue charKey(String symbol, char c, int flags)
@ -393,19 +363,7 @@ public final class KeyValue implements Comparable<KeyValue>
public static KeyValue makeCharKey(char c)
{
return makeCharKey(c, null, 0);
}
public static KeyValue makeCharKey(char c, String symbol, int flags)
{
if (symbol == null)
symbol = String.valueOf(c);
return new KeyValue(symbol, Kind.Char, c, flags);
}
public static KeyValue makeCharKey(int symbol, char c, int flags)
{
return makeCharKey(c, String.valueOf((char)symbol), flags | FLAG_KEY_FONT);
return new KeyValue(String.valueOf(c), Kind.Char, c, 0);
}
public static KeyValue makeComposePending(String symbol, int state, int flags)
@ -439,11 +397,6 @@ public final class KeyValue implements Comparable<KeyValue>
return KeyValue.makeCharKey((char)precomposed);
}
public static KeyValue makeActionKey(String symbol)
{
return eventKey(symbol, Event.ACTION, FLAG_SMALLER_FONT);
}
/** Make a key that types a string. A char key is returned for a string of
length 1. */
public static KeyValue makeStringKey(String str, int flags)
@ -454,36 +407,12 @@ public final class KeyValue implements Comparable<KeyValue>
return new KeyValue(str, Kind.String, 0, flags | FLAG_SMALLER_FONT);
}
public static KeyValue makeStringKeyWithSymbol(String str, String symbol, int flags)
{
return new KeyValue(new Complex.StringWithSymbol(str, symbol),
Complex.Kind.StringWithSymbol, flags);
}
/** Make a modifier key for passing to [KeyModifier]. */
public static KeyValue makeInternalModifier(Modifier mod)
{
return new KeyValue("", Kind.Modifier, mod.ordinal(), 0);
}
public static KeyValue parseKeyDefinition(String str)
{
if (str.length() < 2 || str.charAt(0) != ':')
return makeStringKey(str);
try
{
return KeyValueParser.parse(str);
}
catch (KeyValueParser.ParseError _e)
{
return makeStringKey(str);
}
}
/**
* Return a key by its name. If the given name doesn't correspond to a key
* defined in this function, it is passed to [parseStringKey] as a fallback.
*/
public static KeyValue getKeyByName(String name)
{
switch (name)
@ -527,38 +456,6 @@ public final class KeyValue implements Comparable<KeyValue>
case "fn": return modifierKey("Fn", Modifier.FN, 0);
case "meta": return modifierKey("Meta", Modifier.META, 0);
/* Combining diacritics */
/* Glyphs is the corresponding dead-key + 0x0100. */
case "combining_dot_above": return makeCharKey(0xE15A, '\u0307', 0);
case "combining_double_aigu": return makeCharKey(0xE15B, '\u030B', 0);
case "combining_slash": return makeCharKey(0xE15C, '\u0337', 0);
case "combining_arrow_right": return makeCharKey(0xE15D, '\u20D7', 0);
case "combining_breve": return makeCharKey(0xE15E, '\u0306', 0);
case "combining_bar": return makeCharKey(0xE15F, '\u0335', 0);
case "combining_aigu": return makeCharKey(0xE150, '\u0301', 0);
case "combining_caron": return makeCharKey(0xE151, '\u030C', 0);
case "combining_cedille": return makeCharKey(0xE152, '\u0327', 0);
case "combining_circonflexe": return makeCharKey(0xE153, '\u0302', 0);
case "combining_grave": return makeCharKey(0xE154, '\u0300', 0);
case "combining_macron": return makeCharKey(0xE155, '\u0304', 0);
case "combining_ring": return makeCharKey(0xE156, '\u030A', 0);
case "combining_tilde": return makeCharKey(0xE157, '\u0303', 0);
case "combining_trema": return makeCharKey(0xE158, '\u0308', 0);
case "combining_ogonek": return makeCharKey(0xE159, '\u0328', 0);
case "combining_dot_below": return makeCharKey(0xE160, '\u0323', 0);
case "combining_horn": return makeCharKey(0xE161, '\u031B', 0);
case "combining_hook_above": return makeCharKey(0xE162, '\u0309', 0);
/* Combining diacritics that do not have a corresponding dead keys start
at 0xE200. */
case "combining_vertical_tilde": return makeCharKey(0xE200, '\u033E', 0);
case "combining_inverted_breve": return makeCharKey(0xE201, '\u0311', 0);
case "combining_pokrytie": return makeCharKey(0xE202, '\u0487', 0);
case "combining_slavonic_psili": return makeCharKey(0xE203, '\u0486', 0);
case "combining_slavonic_dasia": return makeCharKey(0xE204, '\u0485', 0);
case "combining_payerok": return makeCharKey(0xE205, '\uA67D', 0);
case "combining_titlo": return makeCharKey(0xE206, '\u0483', 0);
case "combining_vzmet": return makeCharKey(0xE207, '\uA66F', 0);
/* Special event keys */
case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT);
case "switch_text": return eventKey("ABC", Event.SWITCH_TEXT, FLAG_SMALLER_FONT);
@ -586,8 +483,8 @@ public final class KeyValue implements Comparable<KeyValue>
case "left": return keyeventKey(0xE008, KeyEvent.KEYCODE_DPAD_LEFT, 0);
case "page_up": return keyeventKey(0xE002, KeyEvent.KEYCODE_PAGE_UP, 0);
case "page_down": return keyeventKey(0xE003, KeyEvent.KEYCODE_PAGE_DOWN, 0);
case "home": return keyeventKey(0xE00B, KeyEvent.KEYCODE_MOVE_HOME, FLAG_SMALLER_FONT);
case "end": return keyeventKey(0xE00C, KeyEvent.KEYCODE_MOVE_END, FLAG_SMALLER_FONT);
case "home": return keyeventKey(0xE00B, KeyEvent.KEYCODE_MOVE_HOME, 0);
case "end": return keyeventKey(0xE00C, KeyEvent.KEYCODE_MOVE_END, 0);
case "backspace": return keyeventKey(0xE011, KeyEvent.KEYCODE_DEL, 0);
case "delete": return keyeventKey(0xE010, KeyEvent.KEYCODE_FORWARD_DEL, 0);
case "insert": return keyeventKey("Ins", KeyEvent.KEYCODE_INSERT, FLAG_SMALLER_FONT);
@ -605,7 +502,7 @@ public final class KeyValue implements Comparable<KeyValue>
case "f12": return keyeventKey("F12", KeyEvent.KEYCODE_F12, FLAG_SMALLER_FONT);
case "tab": return keyeventKey(0xE00F, KeyEvent.KEYCODE_TAB, FLAG_SMALLER_FONT);
case "menu": return keyeventKey("Menu", KeyEvent.KEYCODE_MENU, FLAG_SMALLER_FONT);
case "scroll_lock": return keyeventKey("Scrl", KeyEvent.KEYCODE_SCROLL_LOCK, FLAG_SMALLER_FONT);
case "playpause": return keyeventKey("Play", KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, FLAG_SMALLER_FONT);
/* Spaces */
case "\\t": return charKey("\\t", '\t', 0); // Send the tab character
@ -703,8 +600,8 @@ public final class KeyValue implements Comparable<KeyValue>
case "": return makeHangulInitial("", 17);
case "": return makeHangulInitial("", 18);
/* The key is not one of the special ones. */
default: return parseKeyDefinition(name);
/* Fallback to a string key that types its name */
default: return makeStringKey(name);
}
}
@ -714,49 +611,4 @@ public final class KeyValue implements Comparable<KeyValue>
if (!b)
throw new RuntimeException("Assertion failure");
}
public static abstract class Complex
{
public abstract String getSymbol();
/** [compareTo] can assume that [snd] is an instance of the same class. */
public abstract int compareTo(Complex snd);
public boolean equals(Object snd)
{
if (snd instanceof Complex)
return compareTo((Complex)snd) == 0;
return false;
}
/** [hashCode] will be called on this class. */
/** The kind is stored in the [value] field of the key. */
public static enum Kind
{
StringWithSymbol,
}
public static final class StringWithSymbol extends Complex
{
public final String str;
private final String _symbol;
public StringWithSymbol(String _str, String _sym)
{
str = _str;
_symbol = _sym;
}
public String getSymbol() { return _symbol; }
public int compareTo(Complex _snd)
{
StringWithSymbol snd = (StringWithSymbol)_snd;
int d = str.compareTo(snd.str);
if (d != 0) return d;
return _symbol.compareTo(snd._symbol);
}
}
};
}

View File

@ -1,148 +0,0 @@
package juloo.keyboard2;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
Parse a key definition. The syntax for a key definition is:
- [:(kind) (attributes):(payload)].
- If [str] doesn't start with a [:] character, it is interpreted as an
arbitrary string key.
For the different kinds and attributes, see doc/Possible-key-values.md.
Examples:
- [:str flags=dim,small symbol='MyKey':'My arbitrary string'].
- [:str:'My arbitrary string'].
*/
public final class KeyValueParser
{
static Pattern START_PAT;
static Pattern ATTR_PAT;
static Pattern QUOTED_PAT;
static Pattern PAYLOAD_START_PAT;
static Pattern SINGLE_CHAR_PAT;
static public KeyValue parse(String str) throws ParseError
{
String symbol = null;
int flags = 0;
init();
// Kind
Matcher m = START_PAT.matcher(str);
if (!m.lookingAt())
parseError("Expected kind, for example \":str ...\".", m);
String kind = m.group(1);
// Attributes
while (true)
{
if (!match(m, ATTR_PAT))
break;
String attr_name = m.group(1);
String attr_value = parseSingleQuotedString(m);
switch (attr_name)
{
case "flags":
flags = parseFlags(attr_value, m);
break;
case "symbol":
symbol = attr_value;
break;
default:
parseError("Unknown attribute "+attr_name, m);
}
}
// Payload
if (!match(m, PAYLOAD_START_PAT))
parseError("Unexpected character", m);
switch (kind)
{
case "str":
String str_payload = parseSingleQuotedString(m);
if (symbol == null)
return KeyValue.makeStringKey(str_payload, flags);
return KeyValue.makeStringKeyWithSymbol(str_payload, symbol, flags);
case "char":
char char_payload = parseOneChar(m);
return KeyValue.makeCharKey(char_payload, symbol, flags);
default: break;
}
parseError("Unknown kind '"+kind+"'", m, 1);
return null; // Unreachable
}
static String parseSingleQuotedString(Matcher m) throws ParseError
{
if (!match(m, QUOTED_PAT))
parseError("Expected quoted string", m);
return m.group(1).replace("\\'", "'");
}
static char parseOneChar(Matcher m) throws ParseError
{
if (!match(m, SINGLE_CHAR_PAT))
parseError("Expected a character", m);
return m.group(0).charAt(0);
}
static int parseFlags(String s, Matcher m) throws ParseError
{
int flags = 0;
for (String f : s.split(","))
{
switch (f)
{
case "dim": flags |= KeyValue.FLAG_SECONDARY; break;
case "small": flags |= KeyValue.FLAG_SMALLER_FONT; break;
default: parseError("Unknown flag "+f, m);
}
}
return flags;
}
static boolean match(Matcher m, Pattern pat)
{
try { m.region(m.end(), m.regionEnd()); } catch (Exception _e) {}
m.usePattern(pat);
return m.lookingAt();
}
static void init()
{
if (START_PAT != null)
return;
START_PAT = Pattern.compile(":(\\w+)");
ATTR_PAT = Pattern.compile("\\s*(\\w+)\\s*=");
QUOTED_PAT = Pattern.compile("'(([^'\\\\]+|\\\\')*)'");
PAYLOAD_START_PAT = Pattern.compile("\\s*:");
SINGLE_CHAR_PAT = Pattern.compile(".");
}
static void parseError(String msg, Matcher m) throws ParseError
{
parseError(msg, m, m.regionStart());
}
static void parseError(String msg, Matcher m, int i) throws ParseError
{
StringBuilder msg_ = new StringBuilder("Syntax error");
try
{
char c = m.group(0).charAt(0);
msg_.append(" at character '").append(c).append("'");
} catch (IllegalStateException _e) {}
msg_.append(" at position ");
msg_.append(i);
msg_.append(": ");
msg_.append(msg);
throw new ParseError(msg_.toString());
}
public static class ParseError extends Exception
{
public ParseError(String msg) { super(msg); }
};
}

View File

@ -193,22 +193,21 @@ public final class KeyboardData
/** Load a layout from a resource ID. Returns [null] on error. */
public static KeyboardData load(Resources res, int id)
{
if (_layoutCache.containsKey(id))
return _layoutCache.get(id);
KeyboardData l = null;
XmlResourceParser parser = null;
try
KeyboardData l = _layoutCache.get(id);
if (l == null)
{
parser = res.getXml(id);
l = parse_keyboard(parser);
try
{
XmlResourceParser parser = res.getXml(id);
l = parse_keyboard(parser);
parser.close();
_layoutCache.put(id, l);
}
catch (Exception e)
{
e.printStackTrace();
}
}
catch (Exception e)
{
Logs.exn("Failed to load layout id " + id, e);
}
if (parser != null)
parser.close();
_layoutCache.put(id, l);
return l;
}

View File

@ -3,14 +3,11 @@ package juloo.keyboard2;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Animatable;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.view.KeyEvent;
import android.view.Menu;
@ -18,49 +15,28 @@ import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import android.widget.VideoView;
public class LauncherActivity extends Activity implements Handler.Callback
public class LauncherActivity extends Activity
{
/** Text is replaced when receiving key events. */
VideoView _intro_video;
TextView _tryhere_text;
EditText _tryhere_area;
/** Periodically restart the animations. */
List<Animatable> _animations;
Handler _handler;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.launcher_activity);
_intro_video = (VideoView)findViewById(R.id.launcher_intro_video);
_tryhere_text = (TextView)findViewById(R.id.launcher_tryhere_text);
_tryhere_area = (EditText)findViewById(R.id.launcher_tryhere_area);
if (VERSION.SDK_INT >= 28)
_tryhere_area.addOnUnhandledKeyEventListener(
this.new Tryhere_OnUnhandledKeyEventListener());
}
@Override
public void onStart()
{
super.onStart();
_animations = new ArrayList<Animatable>();
_animations.add(find_anim(R.id.launcher_anim_swipe));
_handler = new Handler(getMainLooper(), this);
_handler.sendEmptyMessageDelayed(0, 500);
}
@Override
public boolean handleMessage(Message _msg)
{
for (Animatable anim : _animations)
anim.start();
_handler.sendEmptyMessageDelayed(0, 3000);
return true;
setup_intro_video(_intro_video);
}
@Override
@ -94,10 +70,31 @@ public class LauncherActivity extends Activity implements Handler.Callback
imm.showInputMethodPicker();
}
Animatable find_anim(int id)
static void setup_intro_video(final VideoView v)
{
ImageView img = (ImageView)findViewById(id);
return (Animatable)img.getDrawable();
if (VERSION.SDK_INT >= 26)
v.setAudioFocusRequest(AudioManager.AUDIOFOCUS_NONE);
v.setVideoURI(Uri.parse("android.resource://" +
v.getContext().getPackageName() + "/" + R.raw.intro_video));
v.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mp.setLooping(true);
}
});
v.setOnErrorListener(new MediaPlayer.OnErrorListener()
{
@Override
public boolean onError(MediaPlayer mp, int what, int extra)
{
v.stopPlayback();
v.setVisibility(View.GONE);
return true;
}
});
v.start();
}
@TargetApi(28)

View File

@ -110,7 +110,7 @@ public final class Pointers implements Handler.Callback
if (latched)
add_fake_pointer(key, kv, lock);
}
else if ((ptr.flags & FLAG_P_FAKE) == 0)
else if ((ptr.flags & FLAG_P_FAKE) != 0)
{} // Key already latched but not by a fake ptr, do nothing.
else if (lock)
{

View File

@ -40,7 +40,7 @@ public class CustomExtraKeysPreference extends ListGroupPreference<String>
if (key_names != null)
{
for (String key_name : key_names)
kvs.put(KeyValue.parseKeyDefinition(key_name), KeyboardData.PreferredPos.DEFAULT);
kvs.put(KeyValue.makeStringKey(key_name), KeyboardData.PreferredPos.DEFAULT);
}
return kvs;
}

View File

@ -72,34 +72,6 @@ public class ExtraKeysPreference extends PreferenceCategory
"f11_placeholder",
"f12_placeholder",
"menu",
"scroll_lock",
"combining_dot_above",
"combining_double_aigu",
"combining_slash",
"combining_arrow_right",
"combining_breve",
"combining_bar",
"combining_aigu",
"combining_caron",
"combining_cedille",
"combining_circonflexe",
"combining_grave",
"combining_macron",
"combining_ring",
"combining_tilde",
"combining_trema",
"combining_ogonek",
"combining_dot_below",
"combining_horn",
"combining_hook_above",
"combining_vertical_tilde",
"combining_inverted_breve",
"combining_pokrytie",
"combining_slavonic_psili",
"combining_slavonic_dasia",
"combining_payerok",
"combining_titlo",
"combining_vzmet"
};
/** Whether an extra key is enabled by default. */
@ -149,36 +121,6 @@ public class ExtraKeysPreference extends PreferenceCategory
case "ª": id = R.string.key_descr_ª; break;
case "º": id = R.string.key_descr_º; break;
case "switch_clipboard": id = R.string.key_descr_clipboard; break;
case "combining_dot_above":
case "combining_double_aigu":
case "combining_slash":
case "combining_arrow_right":
case "combining_breve":
case "combining_bar":
case "combining_aigu":
case "combining_caron":
case "combining_cedille":
case "combining_circonflexe":
case "combining_grave":
case "combining_macron":
case "combining_ring":
case "combining_tilde":
case "combining_trema":
case "combining_ogonek":
case "combining_dot_below":
case "combining_horn":
case "combining_hook_above":
case "combining_vertical_tilde":
case "combining_inverted_breve":
case "combining_pokrytie":
case "combining_slavonic_psili":
case "combining_slavonic_dasia":
case "combining_payerok":
case "combining_titlo":
case "combining_vzmet":
id = R.string.key_descr_combining;
break;
}
if (id == 0)
return null;

View File

@ -8,32 +8,32 @@
<fn a="у" b="у̂" />
<fn a="cursor_left" b="home" />
<fn a="cursor_right" b="end" />
<ctrl a="љ" b=":char symbol='љ':q" />
<ctrl a="њ" b=":char symbol='њ':w" />
<ctrl a="е" b=":char symbol='е':e" />
<ctrl a="р" b=":char symbol='р':r" />
<ctrl a="т" b=":char symbol='т':t" />
<ctrl a="ж" b=":char symbol='ж':y" />
<ctrl a="у" b=":char symbol='у':u" />
<ctrl a="и" b=":char symbol='и':i" />
<ctrl a="о" b=":char symbol='о':o" />
<ctrl a="п" b=":char symbol='п':p" />
<ctrl a="а" b=":char symbol='а':a" />
<ctrl a="с" b=":char symbol='с':s" />
<ctrl a="д" b=":char symbol='д':d" />
<ctrl a="ф" b=":char symbol='ф':f" />
<ctrl a="г" b=":char symbol='г':g" />
<ctrl a="х" b=":char symbol='х':h" />
<ctrl a="ј" b=":char symbol='ј':j" />
<ctrl a="к" b=":char symbol='к':k" />
<ctrl a="л" b=":char symbol='л':l" />
<ctrl a="з" b=":char symbol='з':z" />
<ctrl a="џ" b=":char symbol='џ':x" />
<ctrl a="ц" b=":char symbol='ц':c" />
<ctrl a="в" b=":char symbol='в':v" />
<ctrl a="б" b=":char symbol='б':b" />
<ctrl a="н" b=":char symbol='н':n" />
<ctrl a="м" b=":char symbol='м':m" />
<ctrl a="љ" b="q" />
<ctrl a="њ" b="w" />
<ctrl a="е" b="e" />
<ctrl a="р" b="r" />
<ctrl a="т" b="t" />
<ctrl a="ж" b="y" />
<ctrl a="у" b="u" />
<ctrl a="и" b="i" />
<ctrl a="о" b="o" />
<ctrl a="п" b="p" />
<ctrl a="а" b="a" />
<ctrl a="с" b="s" />
<ctrl a="д" b="d" />
<ctrl a="ф" b="f" />
<ctrl a="г" b="g" />
<ctrl a="х" b="h" />
<ctrl a="ј" b="j" />
<ctrl a="к" b="k" />
<ctrl a="л" b="l" />
<ctrl a="з" b="z" />
<ctrl a="џ" b="x" />
<ctrl a="ц" b="c" />
<ctrl a="в" b="v" />
<ctrl a="б" b="b" />
<ctrl a="н" b="n" />
<ctrl a="м" b="m" />
</modmap>
<row>
<key key0="љ" ne="1" se="loc esc"/>

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard name="Tajiki Persian (Тоҷикӣ)" script="cyrillic">
<row>
<key key0="й" key7="esc" key4="delete" />
<key key0="қ" key7="-" key8="_" />
<key key0="у" key7="\@" key8="ӯ" />
<key key0="к" key7="=" key8="+" />
<key key0="е" key8="ё" key7="!" />
<key key0="н" key7="$" key8="%"/>
<key key0="г" key7="^" key8="ғ" />
<key key0="ш" key3="(" key2=")" />
<key key0="ҳ" key3="[" key2="]" />
<key key0="з" key3="{" key2="}" />
<key key0="х" key7="tab" key3="backspace" />
</row>
<row>
<key key0="ф" key7="1" />
<key key0="ҷ" key7="2" />
<key key0="в" key7="3" />
<key key0="а" key7="4" />
<key key0="п" key7="5" />
<key key0="р" key7="6" />
<key key0="о" key7="7" />
<key key0="л" key7="8" />
<key key0="д" key7="9" key8="f11_placeholder" />
<key key0="ж" key7="0" key8="f12_placeholder" />
<key key0="э" key7="\?" key3="/" />
</row>
<row>
<key width="1.18" key0="shift" key2="loc capslock" />
<key width="0.96" key0="я" key7="`" key8=";" />
<key width="0.96" key0="ч" key7="*" key8=":" />
<key width="0.96" key0="с" key7="&amp;" key8="\#" />
<key width="0.96" key0="м" key7="|" key8="\\" />
<key width="0.96" key0="и" key7="~" />
<key width="0.96" key0="т" key7="ц" />
<key width="0.96" key0="ӣ" key3="&lt;" key2="&gt;" />
<key width="0.96" key0="б" key7="ъ" key8="ы" />
<key width="0.96" key0="ю" key7="&quot;" key8="'"/>
<key width="1.18" key0="." key7="," />
</row>
</keyboard>

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard name="Old Church Slavonic (Црькъвьнословѣньскъ ѩзыкъ)" script="cyrillic">
<row>
<key key0="й" key7="esc" key4="delete" />
<key key0="ѯ" key7="=" key8="+" />
<key key0="у" key8="ѵ" key7="!" />
<key key0="к" key7="%" key8="*" />
<key key0="е" key7="ё" key8="combining_trema" />
<key key0="н" key7="ѩ" key8="combining_titlo" />
<key key0="г" key7="^" key8="combining_payerok" />
<key key0="ш" key7="щ" key8="combining_vzmet" />
<key key0="ѳ" key3="combining_slavonic_dasia" key2="combining_slavonic_psili" />
<key key0="з" key3="combining_grave" key2="combining_aigu" />
<key key0="х" key7="ҁ" key3="backspace" />
</row>
<row>
<key key0="ф" key7="1" key4="tab" />
<key key0="ꙉ" key7="2" key8="ъ" />
<key key0="в" key7="3" key8="ꙑ" />
<key key0="а" key7="4" key8="ь" />
<key key0="п" key7="5" />
<key key0="р" key7="6" />
<key key0="о" key7="7" key8="ѡ" />
<key key0="л" key7="8" />
<key key0="д" key7="9" key8="f11_placeholder" />
<key key0="ж" key7="0" key8="f12_placeholder" />
<key key0="э" key7="/" key8="|" />
</row>
<row>
<key width="1.18" key0="shift" />
<key width="0.96" key0="ꙗ" key7="combining_breve" key8=";" />
<key width="0.96" key0="ч" key7="combining_pokrytie" key8=":" />
<key width="0.96" key0="с" key7="combining_inverted_breve" key8="`" />
<key width="0.96" key0="м" key7="ѭ" />
<key width="0.96" key0="и" key7="combining_vertical_tilde" key8="-" />
<key width="0.96" key0="т" key7="\?" key8="\\" />
<key width="0.96" key0="ц" key3="&lt;" key2="&gt;" />
<key width="0.96" key0="б" key3="(" key2=")" />
<key width="0.96" key0="ю" key3="{" key2="}" />
<key width="1.18" key0="." key7="," key8="_" />
</row>
</keyboard>

View File

@ -1,32 +0,0 @@
package srcs.res;
import com.android.ide.common.vectordrawable.Svg2Vector;
import java.io.File;
import java.io.FileOutputStream;
/** Inspired from Bernard Ladenthin's answer:
https://stackoverflow.com/a/78898372 */
public class SvgToVector
{
public static void main(String[] args)
{
if (args.length != 2)
{
System.out.println("Usage: svg_to_vector <input_file> <output_file>");
return;
}
try
{
File input_file = new File(args[0]);
FileOutputStream output_stream = new FileOutputStream(args[1]);
String warnings;
warnings = Svg2Vector.parseSvgToXml(input_file, output_stream);
System.err.println(warnings);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(2);
}
}
}

View File

@ -1,192 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="35mm"
height="40mm"
viewBox="0 0 35 40"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="doc_key.svg"
inkscape:export-filename="key_u.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#1b1b1b"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#1b1b1b"
inkscape:document-units="mm"
inkscape:zoom="4.6038101"
inkscape:cx="160.95364"
inkscape:cy="75.69817"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer2">
<inkscape:page
x="0"
y="0"
width="35"
height="40"
id="page1"
margin="0"
bleed="0"
inkscape:label="g" />
<inkscape:page
x="45"
y="0"
width="35"
height="40"
id="page2"
margin="0"
bleed="0"
inkscape:label="u" />
</sodipodi:namedview>
<defs
id="defs1" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="U"
style="display:inline">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(42.916821,-9.9998472)">
<rect
style="display:inline;fill:#333333;fill-opacity:1;stroke:#404040;stroke-width:0.251;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect1"
width="14.749311"
height="19.74971"
x="12.208678"
y="20.125347"
ry="1.1332803"
inkscape:label="rect1" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.48996px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#fdfdfd;fill-opacity:1;stroke:none;stroke-width:0.265729;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="59.864403"
y="22.246796"
id="text1"
inkscape:label="text1"
inkscape:transform-center-x="-0.00074323194"
inkscape:transform-center-y="-0.001350474"
transform="scale(1.0003873,0.99961285)"><tspan
id="tspan1"
sodipodi:role="line"
x="59.864403"
y="22.246796"
style="stroke-width:0.265729">u</tspan><tspan
id="tspan2"
sodipodi:role="line"
x="59.864403"
y="32.859245"
style="stroke-width:0.265729" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="55.882885"
y="28.802013"
id="text3"
transform="scale(1.0003873,0.99961285)"
inkscape:label="text3"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="55.882885"
y="28.802013"
id="tspan4">&amp;</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="65.686905"
y="15.189408"
id="text5"
transform="scale(1.0003873,0.99961285)"><tspan
sodipodi:role="line"
id="tspan5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="65.686905"
y="15.189408">7</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="G"
style="display:inline">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="g2"
style="display:inline">
<rect
style="display:inline;fill:#333333;fill-opacity:1;stroke:#404040;stroke-width:0.251;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect2"
width="14.749311"
height="19.74971"
x="10.125345"
y="10.125347"
ry="1.1332803"
inkscape:label="rect1" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="10.887006"
y="27.77977"
id="text3-3"
transform="scale(1.0003873,0.99961285)"
inkscape:label="text3"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="10.887006"
y="27.77977"
id="tspan4-7">_</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.48996px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#fdfdfd;fill-opacity:1;stroke:none;stroke-width:0.265729;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="14.868526"
y="22.204519"
id="text1-2"
inkscape:label="text1"
inkscape:transform-center-x="-0.00074323194"
inkscape:transform-center-y="-0.001350474"
transform="scale(1.0003873,0.99961285)"><tspan
id="tspan1-0"
sodipodi:role="line"
x="14.868526"
y="22.204519"
style="stroke-width:0.265729">g</tspan><tspan
id="tspan2-2"
sodipodi:role="line"
x="14.868526"
y="32.816971"
style="stroke-width:0.265729" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;display:inline;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.265728;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
x="20.691027"
y="15.147132"
id="text5-5"
transform="scale(1.0003873,0.99961285)"><tspan
sodipodi:role="line"
id="tspan5-9"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.65997px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;fill:#cccccc;fill-opacity:1;stroke-width:0.265729"
x="20.691027"
y="15.147132">-</tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,25 +0,0 @@
#!/usr/bin/env bash
set -e
cd "$(dirname $0)"
DRAWABLE_DIR=../../res/drawable
ANDROID_LIB=$ANDROID_SDK_ROOT/tools/lib
first () { echo "$1"; }
JAVA_ARGS=(
-classpath
"$(first $ANDROID_LIB/sdk-common-*.jar):$(first $ANDROID_LIB/common-*.jar)"
)
svg_to_vector ()
{
java "${JAVA_ARGS[@]}" SvgToVector.java "$@"
}
TMP=`mktemp -d`
trap "rm -r '$TMP'" EXIT
set -x
inkscape doc_key.svg -o "$TMP/doc_key_u.svg" -C --export-page 2 --export-plain-svg --export-text-to-path
svg_to_vector "$TMP/doc_key_u.svg" "$DRAWABLE_DIR/doc_key_u.xml"

View File

@ -1,7 +1,9 @@
<?xml version="1.0" standalone="no"?>
<!-- Modified from DejaVuSans -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1726 2048">
<path fill="currentColor"
d="M1613 63v169h-1322v1324h-169v-1493h1491zM412 416l63 -63h556v169h-330l862 862l-120 120l-862 -862v330h-169v-556z" />
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="-10 0 750 1000"
fill="currentColor">
<!-- created by @sdrapha - https://github.com/sdrapha/IconFontSVG
License - LICENSE: CC BY-SA 4.0 -->
<!-- derived from Entypo+ arrow-left-bold by Daniel Bruce -->
<title>arrow-home</title>
<path d="M0 165h50v669h-50v-669zM378 830l-328 -330l328 -330v190h352v278h-352v192z" />
</svg>

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 381 B

View File

@ -1,7 +1,9 @@
<?xml version="1.0" standalone="no"?>
<!-- Modified from DejaVuSans -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1726 2048">
<path fill="currentColor"
d="M122 1556v-169h1322v-1324h169v1493h-1491zM1323 1203l-63 63h-556v-169h330l-862 -862l120 -120l862 862v-330h169v556z" />
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="-10 0 750 1000"
fill="currentColor">
<!-- created by @sdrapha - https://github.com/sdrapha/IconFontSVG
License - LICENSE: CC BY-SA 4.0 -->
<!-- derived from Entypo+ arrow-right-bold by Daniel Bruce -->
<title>arrow-end</title>
<path d="M680 170h50v660h-50v-660zM350 170l330 330l-330 330v-192h-350v-278h350v-190z" />
</svg>

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 384 B

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="50.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.43103287"
inkscape:cx="573.04214"
inkscape:cy="259.84097"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 650 1541 L 465 1275 L 613 1275 L 882 1535 L 880 1541 L 650 1541 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97689 1122.8994 292.60787 1080.177 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90998 956.37142 266.88672 931.52279 266.88672 930.65039 C 344.48318 990.80911 427.7482 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031653 841.68937 2.2696687 735.33339 -9.0625 614.16211 L 90.332031 614.16211 C 101.6658 709.19571 137.41295 791.15224 197.57227 860.0293 C 197.57227 860.90169 187.54483 871.80024 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34667559 391.03054 42.335595 282.09919 118.98047 190.58398 C 123.06104 195.44428 144.50061 217.66171 189.72656 263.66797 C 132.18314 335.1603 99.052766 419.73181 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37616 38.28987 396.36145 -7.0487922 516.67969 -14.896484 L 516.67969 84.498047 C 423.38876 94.961136 337.50938 130.2728 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="51.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.32224737"
inkscape:cx="1238.1792"
inkscape:cy="301.01099"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 240 1543 L 240 1523 L 494 1280 L 613 1280 L 870 1525 L 870 1543 L 700 1543 L 553 1395 L 406 1543 L 240 1543 z M 788.03711 1185.4141 L 788.03711 835.18945 L 884.67969 835.18945 L 884.67969 1185.4141 L 788.03711 1185.4141 z M 516.67773 1130.9434 C 398.97689 1123.0967 292.60787 1080.3743 197.57227 1002.7773 L 194.95703 1005.3926 C 242.90998 956.56869 266.88672 931.72006 266.88672 930.84766 C 344.48318 991.00638 427.7482 1024.5739 516.67773 1031.5488 L 516.67773 1130.9434 z M 121.71875 938.69531 L 127.9043 933.74805 L 125.64258 936.08008 L 121.71875 938.69531 z M 127.9043 933.74805 L 128.2207 933.42188 C 128.2327 933.43587 128.24581 933.45084 128.25781 933.46484 L 127.9043 933.74805 z M 128.2207 933.42188 C 48.031653 841.88664 2.2696687 735.53065 -9.0625 614.35938 L 90.332031 614.35938 C 101.6658 709.39298 137.41295 791.3495 197.57227 860.22656 C 197.57227 861.09895 187.54483 871.99751 167.49219 892.92188 L 128.2207 933.42188 z M 788.03711 733.23242 L 788.03711 383.00977 L 884.67969 383.00977 L 884.67969 733.23242 L 788.03711 733.23242 z M -9.0605469 517.58008 C -0.34667559 391.2278 42.335595 282.29646 118.98047 190.78125 C 123.06104 195.64155 144.50061 217.85898 189.72656 263.86523 C 132.18314 335.35756 99.052766 419.92908 90.333984 517.58008 L -9.0605469 517.58008 z M 118.98047 190.78125 C 118.49847 190.20715 115.08964 186.70508 115.18164 186.70508 L 119.10352 190.62891 C 119.06152 190.67891 119.02242 190.73095 118.98047 190.78125 z M 788.03711 281.05273 L 788.03711 -69.171875 L 884.67969 -69.171875 L 884.67969 281.05273 L 788.03711 281.05273 z M 259.04102 190.62891 L 189.72656 121.31445 C 287.37616 38.487136 396.36145 -6.8515266 516.67969 -14.699219 L 516.67969 84.695312 C 423.38876 95.158402 337.50938 130.47007 259.04102 190.62891 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="52.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.28469254"
inkscape:cx="1053.7684"
inkscape:cy="540.93444"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 788.03711 1185.3613 L 788.03711 835.13672 L 884.67969 835.13672 L 884.67969 1185.3613 L 788.03711 1185.3613 z M 516.67773 1130.8906 C 398.97689 1123.0439 292.60787 1080.3215 197.57227 1002.7246 L 194.95703 1005.3398 C 242.90998 956.51595 266.88672 931.66732 266.88672 930.79492 C 344.48318 990.95364 427.7482 1024.5212 516.67773 1031.4961 L 516.67773 1130.8906 z M 121.71875 938.64258 L 127.9043 933.69531 L 125.64258 936.02734 L 121.71875 938.64258 z M 127.9043 933.69531 L 128.2207 933.36914 C 128.2327 933.38314 128.24581 933.39811 128.25781 933.41211 L 127.9043 933.69531 z M 128.2207 933.36914 C 48.031653 841.8339 2.2696687 735.47792 -9.0625 614.30664 L 90.332031 614.30664 C 101.6658 709.34025 137.41295 791.29677 197.57227 860.17383 C 197.57227 861.04622 187.54483 871.94477 167.49219 892.86914 L 128.2207 933.36914 z M 788.03711 733.17969 L 788.03711 382.95703 L 884.67969 382.95703 L 884.67969 733.17969 L 788.03711 733.17969 z M -9.0605469 517.52734 C -0.34667559 391.17507 42.335595 282.24372 118.98047 190.72852 C 123.06104 195.58881 144.50061 217.80625 189.72656 263.8125 C 132.18314 335.30483 99.052766 419.87634 90.333984 517.52734 L -9.0605469 517.52734 z M 118.98047 190.72852 C 118.49847 190.15442 115.08964 186.65234 115.18164 186.65234 L 119.10352 190.57617 C 119.06152 190.62617 119.02242 190.67822 118.98047 190.72852 z M 788.03711 281 L 788.03711 -69.224609 L 884.67969 -69.224609 L 884.67969 281 L 788.03711 281 z M 259.04102 190.57617 L 189.72656 121.26172 C 278.02009 46.370309 375.61486 2.2381133 482.44141 -11.353516 L 451 -144 C 508.99994 -148.66667 550.00002 -157.33334 574 -170 C 597.99998 -182.66666 610 -205.00003 610 -237 C 610 -269.66664 595.3333 -294.16669 566 -310.5 C 536.6667 -326.83331 497.99995 -335 450 -335 L 457 -444 C 554.9999 -444 630.33338 -424.99996 683 -387 C 735.66662 -349.00004 762 -297.99994 762 -234 C 762 -180.66672 747.66664 -140.3333 719 -113 C 690.33336 -85.666694 654.33329 -68.333326 611 -61 L 623 -9 L 516.67969 -9 L 516.67969 84.642578 C 423.38876 95.105668 337.50938 130.41733 259.04102 190.57617 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="53.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.43330418"
inkscape:cx="964.68028"
inkscape:cy="925.44687"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 495 1542 L 249 1305 L 249 1279 L 409 1279 L 555 1427 L 702 1279 L 863 1279 L 863 1304 L 615 1542 L 495 1542 z M 788.03711 1186.0098 L 788.03711 835.78516 L 884.67969 835.78516 L 884.67969 1186.0098 L 788.03711 1186.0098 z M 516.67773 1131.5391 C 398.97689 1123.6924 292.60787 1080.97 197.57227 1003.373 L 194.95703 1005.9883 C 242.90998 957.16439 266.88672 932.31576 266.88672 931.44336 C 344.48318 991.60208 427.7482 1025.1696 516.67773 1032.1445 L 516.67773 1131.5391 z M 121.71875 939.29102 L 127.9043 934.34375 L 125.64258 936.67578 L 121.71875 939.29102 z M 127.9043 934.34375 L 128.2207 934.01758 C 128.2327 934.03158 128.24581 934.04655 128.25781 934.06055 L 127.9043 934.34375 z M 128.2207 934.01758 C 48.031653 842.48234 2.2696687 736.12636 -9.0625 614.95508 L 90.332031 614.95508 C 101.6658 709.98868 137.41295 791.9452 197.57227 860.82227 C 197.57227 861.69465 187.54483 872.59321 167.49219 893.51758 L 128.2207 934.01758 z M 788.03711 733.82812 L 788.03711 383.60547 L 884.67969 383.60547 L 884.67969 733.82812 L 788.03711 733.82812 z M -9.0605469 518.17578 C -0.34667559 391.82351 42.335595 282.89216 118.98047 191.37695 C 123.06104 196.23725 144.50061 218.45468 189.72656 264.46094 C 132.18314 335.95327 99.052766 420.52478 90.333984 518.17578 L -9.0605469 518.17578 z M 118.98047 191.37695 C 118.49847 190.80285 115.08964 187.30078 115.18164 187.30078 L 119.10352 191.22461 C 119.06152 191.27461 119.02242 191.32665 118.98047 191.37695 z M 788.03711 281.64844 L 788.03711 -68.576172 L 884.67969 -68.576172 L 884.67969 281.64844 L 788.03711 281.64844 z M 259.04102 191.22461 L 189.72656 121.91016 C 287.37616 39.082839 396.36145 -6.2558235 516.67969 -14.103516 L 516.67969 85.291016 C 423.38876 95.754105 337.50938 131.06577 259.04102 191.22461 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="54.combined.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.43113456"
inkscape:cx="354.87761"
inkscape:cy="635.53245"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 233 1545 L 230 1539 L 480 1279 L 638 1279 L 463 1545 L 233 1545 z M 788.03711 1185.8887 L 788.03711 835.66406 L 884.67969 835.66406 L 884.67969 1185.8887 L 788.03711 1185.8887 z M 516.67773 1131.418 C 398.97701 1123.5713 292.60777 1080.8489 197.57227 1003.252 L 194.95703 1005.8672 C 242.90993 957.04333 266.88672 932.19466 266.88672 931.32227 C 344.4831 991.48093 427.74829 1025.0485 516.67773 1032.0234 L 516.67773 1131.418 z M 121.71875 939.16992 L 127.9043 934.22266 L 125.64258 936.55469 L 121.71875 939.16992 z M 127.9043 934.22266 L 128.2207 933.89648 C 128.2327 933.91048 128.24581 933.92545 128.25781 933.93945 L 127.9043 934.22266 z M 128.2207 933.89648 C 48.031733 842.36134 2.2696587 736.00514 -9.0625 614.83398 L 90.332031 614.83398 C 101.66579 709.86749 137.41301 791.82417 197.57227 860.70117 C 197.57227 861.57355 187.54481 872.47214 167.49219 893.39648 L 128.2207 933.89648 z M 788.03711 733.70703 L 788.03711 383.48438 L 884.67969 383.48438 L 884.67969 733.70703 L 788.03711 733.70703 z M -9.0605469 518.05469 C -0.34668559 391.70251 42.335665 282.77107 118.98047 191.25586 C 123.06103 196.11615 144.50066 218.33369 189.72656 264.33984 C 132.1832 335.83217 99.052766 420.40379 90.333984 518.05469 L -9.0605469 518.05469 z M 118.98047 191.25586 C 118.49847 190.68176 115.08964 187.17969 115.18164 187.17969 L 119.10352 191.10352 C 119.06152 191.15352 119.02242 191.20556 118.98047 191.25586 z M 788.03711 281.52734 L 788.03711 -68.697266 L 884.67969 -68.697266 L 884.67969 281.52734 L 788.03711 281.52734 z M 259.04102 191.10352 L 189.72656 121.78906 C 287.37606 38.961745 396.36157 -6.3769172 516.67969 -14.224609 L 516.67969 85.169922 C 423.38885 95.633011 337.5093 130.94478 259.04102 191.10352 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="55.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.30430685"
inkscape:cx="433.77268"
inkscape:cy="368.04955"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 204.5 1464 L 204.5 1318 L 925.5 1318 L 925.5 1464 L 204.5 1464 z M 788.03711 1185.3613 L 788.03711 835.13672 L 884.67969 835.13672 L 884.67969 1185.3613 L 788.03711 1185.3613 z M 516.67773 1130.8906 C 398.97713 1123.0439 292.60767 1080.3214 197.57227 1002.7246 L 194.95703 1005.3398 C 242.90988 956.51602 266.88672 931.66731 266.88672 930.79492 C 344.48302 990.95352 427.74838 1024.5212 516.67773 1031.4961 L 516.67773 1130.8906 z M 121.71875 938.64258 L 127.9043 933.69531 L 125.64258 936.02734 L 121.71875 938.64258 z M 127.9043 933.69531 L 128.2207 933.36914 C 128.2327 933.38314 128.24581 933.39811 128.25781 933.41211 L 127.9043 933.69531 z M 128.2207 933.36914 C 48.031813 841.83409 2.2696487 735.47762 -9.0625 614.30664 L 90.332031 614.30664 C 101.66578 709.34005 137.41307 791.2969 197.57227 860.17383 C 197.57227 861.04621 187.54479 871.94482 167.49219 892.86914 L 128.2207 933.36914 z M 788.03711 733.17969 L 788.03711 382.95703 L 884.67969 382.95703 L 884.67969 733.17969 L 788.03711 733.17969 z M -9.0605469 517.52734 C -0.34669559 391.17527 42.335735 282.24362 118.98047 190.72852 C 123.06102 195.58871 144.50071 217.80645 189.72656 263.8125 C 132.18326 335.30483 99.052766 419.87654 90.333984 517.52734 L -9.0605469 517.52734 z M 118.98047 190.72852 C 118.49847 190.15442 115.08964 186.65234 115.18164 186.65234 L 119.10352 190.57617 C 119.06152 190.62617 119.02242 190.67822 118.98047 190.72852 z M 788.03711 281 L 788.03711 -69.224609 L 884.67969 -69.224609 L 884.67969 281 L 788.03711 281 z M 259.04102 190.57617 L 189.72656 121.26172 C 287.37596 38.434402 396.36169 -6.904261 516.67969 -14.751953 L 516.67969 84.642578 C 423.38894 95.105668 337.50922 130.41753 259.04102 190.57617 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="56.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.53396301"
inkscape:cx="475.68839"
inkscape:cy="1151.7652"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 554 1581 C 505.33338 1581 463.8333 1564.8333 429.5 1532.5 C 395.1667 1500.1667 378 1460 378 1412 C 378 1364 395.00003 1324.6667 429 1294 C 462.99997 1263.3333 504.66672 1248 554 1248 C 601.99995 1248 642.83336 1263.1667 676.5 1293.5 C 710.16664 1323.8333 727 1363.3333 727 1412 C 727 1460 710.16664 1500.1667 676.5 1532.5 C 642.83336 1564.8333 601.99995 1581 554 1581 z M 554 1489 C 573.99998 1489 591.16668 1481.5 605.5 1466.5 C 619.83332 1451.5 627 1433.3333 627 1412 C 627 1390.6667 619.83332 1373 605.5 1359 C 591.16668 1345 573.99998 1338 554 1338 C 533.33335 1338 515.49999 1345.1667 500.5 1359.5 C 485.50002 1373.8333 478 1391.3333 478 1412 C 478 1433.3333 485.33334 1451.5 500 1466.5 C 514.66666 1481.5 532.66669 1489 554 1489 z M 788.03711 1185.4902 L 788.03711 835.26562 L 884.67969 835.26562 L 884.67969 1185.4902 L 788.03711 1185.4902 z M 516.67773 1131.0195 C 398.97725 1123.1728 292.60757 1080.4502 197.57227 1002.8535 L 194.95703 1005.4688 C 242.90983 956.64502 266.88672 931.79622 266.88672 930.92383 C 344.48294 991.08237 427.74852 1024.6501 516.67773 1031.625 L 516.67773 1131.0195 z M 121.71875 938.77148 L 127.9043 933.82422 L 125.64258 936.15625 L 121.71875 938.77148 z M 127.9043 933.82422 L 128.2207 933.49805 C 128.2327 933.51205 128.24581 933.52702 128.25781 933.54102 L 127.9043 933.82422 z M 128.2207 933.49805 C 48.031893 841.96309 2.2696387 735.60645 -9.0625 614.43555 L 90.332031 614.43555 C 101.66577 709.4689 137.41313 791.42587 197.57227 860.30273 C 197.57227 861.17511 187.54477 872.07375 167.49219 892.99805 L 128.2207 933.49805 z M 788.03711 733.30859 L 788.03711 383.08594 L 884.67969 383.08594 L 884.67969 733.30859 L 788.03711 733.30859 z M -9.0605469 517.65625 C -0.34670559 391.30438 42.335805 282.37243 118.98047 190.85742 C 123.06101 195.71762 144.50076 217.93535 189.72656 263.94141 C 132.18332 335.43363 99.052766 420.00555 90.333984 517.65625 L -9.0605469 517.65625 z M 118.98047 190.85742 C 118.49847 190.28332 115.08964 186.78125 115.18164 186.78125 L 119.10352 190.70508 C 119.06152 190.75508 119.02242 190.80712 118.98047 190.85742 z M 788.03711 281.12891 L 788.03711 -69.095703 L 884.67969 -69.095703 L 884.67969 281.12891 L 788.03711 281.12891 z M 259.04102 190.70508 L 189.72656 121.39062 C 287.37586 38.563408 396.36181 -6.7753547 516.67969 -14.623047 L 516.67969 84.771484 C 423.38898 95.234574 337.50914 130.54644 259.04102 190.70508 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="57.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.39618502"
inkscape:cx="355.89432"
inkscape:cy="224.64252"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 794 1554 C 794 1522.6667 783.99998 1496.1667 764 1474.5 C 744.00002 1452.8333 720.3333 1442 693 1442 C 658.33336 1442 612.99994 1457.6667 557 1489 C 501.00006 1520.3333 454.33329 1536 417 1536 C 356.33339 1536 306.33329 1513.1667 267 1467.5 C 227.66671 1421.8333 208 1367.9999 208 1306 L 316 1280 C 316 1310.6667 325.66669 1336.8333 345 1358.5 C 364.33331 1380.1667 388.33336 1391 417 1391 C 450.99997 1391 493.66672 1375.5 545 1344.5 C 596.33328 1313.5 645.66672 1298 693 1298 C 752.99994 1298 802.83337 1319.6667 842.5 1363 C 882.16663 1406.3333 902 1459.3334 902 1522 L 794 1554 z M 788.03711 1185.2617 L 788.03711 835.03711 L 884.67969 835.03711 L 884.67969 1185.2617 L 788.03711 1185.2617 z M 516.67773 1130.791 C 398.97725 1122.9443 292.60757 1080.2217 197.57227 1002.625 L 194.95703 1005.2402 C 242.90983 956.4165 266.88672 931.5677 266.88672 930.69531 C 344.48294 990.85385 427.74847 1024.4216 516.67773 1031.3965 L 516.67773 1130.791 z M 121.71875 938.54297 L 127.9043 933.5957 L 125.64258 935.92773 L 121.71875 938.54297 z M 127.9043 933.5957 L 128.2207 933.26953 C 128.2327 933.28353 128.24581 933.2985 128.25781 933.3125 L 127.9043 933.5957 z M 128.2207 933.26953 C 48.031893 841.73457 2.2696387 735.37793 -9.0625 614.20703 L 90.332031 614.20703 C 101.66577 709.24044 137.41313 791.19736 197.57227 860.07422 C 197.57227 860.9466 187.54477 871.84523 167.49219 892.76953 L 128.2207 933.26953 z M 788.03711 733.08008 L 788.03711 382.85742 L 884.67969 382.85742 L 884.67969 733.08008 L 788.03711 733.08008 z M -9.0605469 517.42773 C -0.34670859 391.07586 42.335805 282.14391 118.98047 190.62891 C 123.06101 195.4891 144.50076 217.70684 189.72656 263.71289 C 132.18332 335.20512 99.052766 419.77703 90.333984 517.42773 L -9.0605469 517.42773 z M 118.98047 190.62891 C 118.49847 190.05481 115.08964 186.55273 115.18164 186.55273 L 119.10352 190.47656 C 119.06152 190.52656 119.02242 190.57861 118.98047 190.62891 z M 788.03711 280.90039 L 788.03711 -69.324219 L 884.67969 -69.324219 L 884.67969 280.90039 L 788.03711 280.90039 z M 259.04102 190.47656 L 189.72656 121.16211 C 287.37586 38.334892 396.36181 -7.0038703 516.67969 -14.851562 L 516.67969 84.542969 C 423.38903 95.006058 337.50914 130.31792 259.04102 190.47656 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="58.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.45672531"
inkscape:cx="477.31097"
inkscape:cy="821.06244"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 211 1483 L 211 1283 L 430 1283 L 430 1483 L 211 1483 z M 681 1483 L 681 1283 L 900 1283 L 900 1483 L 681 1483 z M 788.03711 1185.3984 L 788.03711 835.17383 L 884.67969 835.17383 L 884.67969 1185.3984 L 788.03711 1185.3984 z M 516.67773 1130.9277 C 398.97725 1123.081 292.60757 1080.3584 197.57227 1002.7617 L 194.95703 1005.377 C 242.90983 956.55322 266.88672 931.70442 266.88672 930.83203 C 344.48294 990.99057 427.74847 1024.5583 516.67773 1031.5332 L 516.67773 1130.9277 z M 121.71875 938.67969 L 127.9043 933.73242 L 125.64258 936.06445 L 121.71875 938.67969 z M 127.9043 933.73242 L 128.2207 933.40625 C 128.2327 933.42025 128.24581 933.43522 128.25781 933.44922 L 127.9043 933.73242 z M 128.2207 933.40625 C 48.031893 841.87129 2.2696387 735.51465 -9.0625 614.34375 L 90.332031 614.34375 C 101.66577 709.37715 137.41313 791.33408 197.57227 860.21094 C 197.57227 861.08332 187.54477 871.98195 167.49219 892.90625 L 128.2207 933.40625 z M 788.03711 733.2168 L 788.03711 382.99414 L 884.67969 382.99414 L 884.67969 733.2168 L 788.03711 733.2168 z M -9.0605469 517.56445 C -0.34670859 391.21258 42.335805 282.28063 118.98047 190.76562 C 123.06101 195.62582 144.50076 217.84356 189.72656 263.84961 C 132.18332 335.34184 99.052766 419.91375 90.333984 517.56445 L -9.0605469 517.56445 z M 118.98047 190.76562 C 118.49847 190.19153 115.08964 186.68945 115.18164 186.68945 L 119.10352 190.61328 C 119.06152 190.66328 119.02242 190.71533 118.98047 190.76562 z M 788.03711 281.03711 L 788.03711 -69.1875 L 884.67969 -69.1875 L 884.67969 281.03711 L 788.03711 281.03711 z M 259.04102 190.61328 L 189.72656 121.29883 C 287.37586 38.471611 396.36181 -6.8671516 516.67969 -14.714844 L 516.67969 84.679688 C 423.38903 95.142777 337.50914 130.45464 259.04102 190.61328 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="59.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.46013612"
inkscape:cx="608.51559"
inkscape:cy="660.67407"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 788.03711 1185.4375 L 788.03711 835.21289 L 884.67969 835.21289 L 884.67969 1185.4375 L 788.03711 1185.4375 z M 516.67773 1130.9668 C 398.97725 1123.1201 292.60757 1080.3975 197.57227 1002.8008 L 194.95703 1005.416 C 242.90983 956.59228 266.88672 931.74348 266.88672 930.87109 C 344.48294 991.02963 427.74847 1024.5974 516.67773 1031.5723 L 516.67773 1130.9668 z M 121.71875 938.71875 L 127.9043 933.77148 L 125.64258 936.10352 L 121.71875 938.71875 z M 127.9043 933.77148 L 128.2207 933.44531 C 128.2327 933.45931 128.24581 933.47428 128.25781 933.48828 L 127.9043 933.77148 z M 128.2207 933.44531 C 48.031893 841.91036 2.2696387 735.55369 -9.0625 614.38281 L 90.332031 614.38281 C 101.66577 709.41622 137.41313 791.37317 197.57227 860.25 C 197.57227 861.1224 187.54477 872.02103 167.49219 892.94531 L 128.2207 933.44531 z M 788.03711 733.25586 L 788.03711 383.0332 L 884.67969 383.0332 L 884.67969 733.25586 L 788.03711 733.25586 z M -9.0605469 517.60352 C -0.34670859 391.25164 42.335805 282.3197 118.98047 190.80469 C 123.06101 195.66488 144.50076 217.88262 189.72656 263.88867 C 132.18332 335.3809 99.052766 419.95281 90.333984 517.60352 L -9.0605469 517.60352 z M 118.98047 190.80469 C 118.49847 190.23059 115.08964 186.72852 115.18164 186.72852 L 119.10352 190.65234 C 119.06152 190.70234 119.02242 190.75439 118.98047 190.80469 z M 788.03711 281.07617 L 788.03711 -14.900391 C 764.18598 -32.716589 743.96402 -51.406452 727.5 -71 C 687.16671 -118.99995 667 -169.66672 667 -223 C 667 -288.99993 687.16671 -340.33337 727.5 -377 C 767.83329 -413.66663 819.66673 -432 883 -432 C 922.99996 -432 957.50003 -427.83332 986.5 -419.5 C 1015.5 -411.16668 1042 -400.66666 1066 -388 L 1033 -265 C 1015.6667 -272.33332 999.33331 -278.50001 984 -283.5 C 968.66669 -288.49999 951.99998 -291 934 -291 C 900.00003 -291 875.49999 -282.99998 860.5 -267 C 845.50001 -251.00002 838 -228.99997 838 -201 C 838 -165.00004 851.1667 -131.16664 877.5 -99.5 C 903.8333 -67.833365 940.33338 -34.666632 987 0 L 915 57 C 904.55355 52.39369 894.45123 47.70424 884.67969 42.935547 L 884.67969 281.07617 L 788.03711 281.07617 z M 259.04102 190.65234 L 189.72656 121.33789 C 287.37586 38.510673 396.36181 -6.8280891 516.67969 -14.675781 L 516.67969 84.71875 C 423.38903 95.18184 337.50914 130.4937 259.04102 190.65234 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="5A.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.37732464"
inkscape:cx="-129.86165"
inkscape:cy="667.85991"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 430 1484 L 430 1283 L 648 1283 L 648 1484 L 430 1484 z M 788.03711 1185.416 L 788.03711 835.19141 L 884.67969 835.19141 L 884.67969 1185.416 L 788.03711 1185.416 z M 516.67773 1130.9453 C 398.97652 1123.0986 292.60817 1080.3765 197.57227 1002.7793 L 194.95703 1005.3945 C 242.91011 956.57037 266.88672 931.722 266.88672 930.84961 C 344.48341 991.00851 427.74788 1024.5759 516.67773 1031.5508 L 516.67773 1130.9453 z M 121.71875 938.69727 L 127.9043 933.75 L 125.64258 936.08203 L 121.71875 938.69727 z M 127.9043 933.75 L 128.2207 933.42383 C 128.23324 933.43814 128.24527 933.45248 128.25781 933.4668 L 127.9043 933.75 z M 128.2207 933.42383 C 48.031429 841.88827 2.2697163 735.53293 -9.0625 614.36133 L 90.332031 614.36133 C 101.66582 709.39523 137.4128 791.35125 197.57227 860.22852 C 197.57227 861.10091 187.5449 871.99938 167.49219 892.92383 L 128.2207 933.42383 z M 788.03711 733.23438 L 788.03711 383.01172 L 884.67969 383.01172 L 884.67969 733.23438 L 788.03711 733.23438 z M -9.0605469 517.58203 C -0.34660748 391.22954 42.335356 282.29867 118.98047 190.7832 C 123.06106 195.64351 144.50052 217.86093 189.72656 263.86719 C 132.18302 335.35979 99.052776 419.9308 90.333984 517.58203 L -9.0605469 517.58203 z M 118.98047 190.7832 C 118.49846 190.20909 115.08955 186.70703 115.18164 186.70703 L 119.10352 190.63086 C 119.06141 190.6811 119.02256 190.73295 118.98047 190.7832 z M 788.03711 281.05469 L 788.03711 -69.169922 L 884.67969 -69.169922 L 884.67969 281.05469 L 788.03711 281.05469 z M 259.04102 190.63086 L 189.72656 121.31641 C 287.37646 38.488822 396.36114 -6.8496068 516.67969 -14.697266 L 516.67969 84.697266 C 423.38845 95.160388 337.50961 130.47205 259.04102 190.63086 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 1184 2048"
id="svg1"
sodipodi:docname="5B.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.58198807"
inkscape:cx="-51.547448"
inkscape:cy="554.99419"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 530 1545 L 346 1279 L 503 1279 L 743 1540 L 741 1545 L 530 1545 z M 856 1545 L 615 1284 L 617 1279 L 788 1279 L 1088 1539 L 1085 1545 L 856 1545 z M 788.03711 1185.6328 L 788.03711 835.4082 L 884.67969 835.4082 L 884.67969 1185.6328 L 788.03711 1185.6328 z M 516.67773 1131.1621 C 398.97665 1123.3154 292.60807 1080.5932 197.57227 1002.9961 L 194.95703 1005.6113 C 242.91008 956.78728 266.88672 931.93881 266.88672 931.06641 C 344.48334 991.22525 427.74802 1024.7927 516.67773 1031.7676 L 516.67773 1131.1621 z M 121.71875 938.91406 L 127.9043 933.9668 L 125.64258 936.29883 L 121.71875 938.91406 z M 127.9043 933.9668 L 128.2207 933.64062 C 128.2327 933.65462 128.24581 933.66959 128.25781 933.68359 L 127.9043 933.9668 z M 128.2207 933.64062 C 48.031483 842.10519 2.2696887 735.7496 -9.0625 614.57812 L 90.332031 614.57812 C 101.66582 709.61193 137.41283 791.56811 197.57227 860.44531 C 197.57227 861.3177 187.54487 872.2162 167.49219 893.14062 L 128.2207 933.64062 z M 788.03711 733.45117 L 788.03711 383.22852 L 884.67969 383.22852 L 884.67969 733.45117 L 788.03711 733.45117 z M -9.0605469 517.79883 C -0.34665559 391.44635 42.335445 282.51541 118.98047 191 C 123.06106 195.8603 144.50051 218.07773 189.72656 264.08398 C 132.18302 335.57651 99.052776 420.14763 90.333984 517.79883 L -9.0605469 517.79883 z M 118.98047 191 C 118.49847 190.4259 115.08964 186.92383 115.18164 186.92383 L 119.10352 190.84766 C 119.06152 190.89766 119.02247 190.9497 118.98047 191 z M 788.03711 281.27148 L 788.03711 -68.953125 L 884.67969 -68.953125 L 884.67969 281.27148 L 788.03711 281.27148 z M 259.04102 190.84766 L 189.72656 121.5332 C 287.37636 38.705686 396.36121 -6.6327766 516.67969 -14.480469 L 516.67969 84.914062 C 423.38858 95.377152 337.50954 130.68882 259.04102 190.84766 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 2068 2048"
id="svg1"
sodipodi:docname="5C.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.35727934"
inkscape:cx="487.01389"
inkscape:cy="1116.7732"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 859 327 L 847.23828 350.84375 L 788.03711 350.84375 L 788.03711 470.84766 L 332.91602 1393.4121 C 307.63186 1379.6959 282.94923 1363.9585 259.04102 1345.6289 L 189.72656 1414.9434 C 221.4138 1441.8208 254.31629 1464.6838 288.39062 1483.666 L 195.91211 1671.127 L 325 1671 L 395.0625 1528.9902 C 434.23639 1540.8294 474.75335 1548.2224 516.67969 1550.957 L 516.67969 1451.5625 C 490.70085 1448.6488 465.35862 1443.6034 440.5293 1436.8359 L 803.53125 701.06836 L 884.67969 701.06836 L 884.67969 536.58789 L 988.02539 327.11719 L 859 327 z M 516.67773 405.31445 C 398.97685 413.16115 292.60797 455.88345 197.57227 533.48047 L 194.95703 530.86523 C 242.91008 579.68919 266.88672 604.53776 266.88672 605.41016 C 344.48324 545.25142 427.74812 511.68388 516.67773 504.70898 L 516.67773 405.31445 z M 121.71875 597.5625 L 127.9043 602.50977 L 125.64258 600.17773 L 121.71875 597.5625 z M 127.9043 602.50977 L 128.2207 602.83594 C 128.2327 602.82194 128.24581 602.80697 128.25781 602.79297 L 127.9043 602.50977 z M 128.2207 602.83594 C 48.031583 694.37125 2.2696887 800.72706 -9.0625 921.89844 L 90.332031 921.89844 C 101.66582 826.86473 137.41283 744.90838 197.57227 676.03125 C 197.57227 675.15885 187.54487 664.26032 167.49219 643.33594 L 128.2207 602.83594 z M 788.03711 803.02539 L 788.03711 1153.248 L 884.67969 1153.248 L 884.67969 803.02539 L 788.03711 803.02539 z M -9.0605469 1018.6777 C -0.34675559 1145.0301 42.335445 1253.9613 118.98047 1345.4766 C 123.06106 1340.6163 144.50051 1318.3988 189.72656 1272.3926 C 132.18302 1200.9001 99.052776 1116.3288 90.333984 1018.6777 L -9.0605469 1018.6777 z M 118.98047 1345.4766 C 118.49847 1346.0507 115.08964 1349.5527 115.18164 1349.5527 L 119.10352 1345.6289 C 119.06152 1345.5789 119.02247 1345.5269 118.98047 1345.4766 z M 788.03711 1255.2051 L 788.03711 1605.4297 L 884.67969 1605.4297 L 884.67969 1255.2051 L 788.03711 1255.2051 z " />
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 2068 2048"
id="svg1"
sodipodi:docname="5D.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.62756232"
inkscape:cx="627.8261"
inkscape:cy="640.57383"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 648.50391 102.80469 C 665.95442 139.28078 695.10226 173.54949 735.94922 205.61133 L 197.83203 205.61133 L 197.83203 242.91797 L 735.94922 242.91797 C 695.29759 275.16974 666.14976 309.56907 648.50391 346.11523 L 687.38281 346.11523 C 737.74609 294.33536 807.73007 256.89125 897.33398 233.7832 L 897.33398 215.13672 C 807.59067 192.08467 737.60669 154.64057 687.38281 102.80469 L 648.50391 102.80469 z M 788.03711 350.66797 L 788.03711 700.89258 L 884.67969 700.89258 L 884.67969 350.66797 L 788.03711 350.66797 z M 516.67773 405.13867 C 398.97677 412.98536 292.60797 455.70767 197.57227 533.30469 L 194.95703 530.68945 C 242.91003 579.51342 266.88672 604.36198 266.88672 605.23438 C 344.48326 545.0756 427.74811 511.5081 516.67773 504.5332 L 516.67773 405.13867 z M 121.71875 597.38672 L 127.9043 602.33398 L 125.64258 600.00195 L 121.71875 597.38672 z M 127.9043 602.33398 L 128.2207 602.66016 C 128.2327 602.64616 128.24581 602.63119 128.25781 602.61719 L 127.9043 602.33398 z M 128.2207 602.66016 C 48.031563 694.19549 2.2696777 800.5513 -9.0625 921.72266 L 90.332031 921.72266 C 101.66581 826.68894 137.41289 744.7326 197.57227 675.85547 C 197.57227 674.98308 187.54485 664.08456 167.49219 643.16016 L 128.2207 602.66016 z M 788.03711 802.84961 L 788.03711 1153.0723 L 884.67969 1153.0723 L 884.67969 802.84961 L 788.03711 802.84961 z M -9.0605469 1018.502 C -0.34666459 1144.8543 42.335515 1253.7855 118.98047 1345.3008 C 123.06105 1340.4405 144.50056 1318.2231 189.72656 1272.2168 C 132.18308 1200.7244 99.052776 1116.1531 90.333984 1018.502 L -9.0605469 1018.502 z M 118.98047 1345.3008 C 118.49847 1345.8749 115.08964 1349.377 115.18164 1349.377 L 119.10352 1345.4531 C 119.06152 1345.4031 119.02242 1345.3511 118.98047 1345.3008 z M 788.03711 1255.0293 L 788.03711 1605.2539 L 884.67969 1605.2539 L 884.67969 1255.0293 L 788.03711 1255.0293 z M 259.04102 1345.4531 L 189.72656 1414.7676 C 287.37626 1497.595 396.36133 1542.9336 516.67969 1550.7812 L 516.67969 1451.3867 C 423.38867 1440.9236 337.50946 1405.612 259.04102 1345.4531 z " />
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="5E.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.40851537"
inkscape:cx="851.86512"
inkscape:cy="670.72139"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 282 1496 C 282 1416.0001 309.66673 1351.3333 365 1302 C 420.33327 1252.6667 492.66676 1228 582 1228 C 671.33324 1228 743.50005 1252.5 798.5 1301.5 C 853.49995 1350.5 881 1415.3334 881 1496 L 731 1496 C 731 1448.6667 717.8333 1412 691.5 1386 C 665.1667 1360 628.66662 1347 582 1347 C 533.33338 1347 496.3333 1360.1667 471 1386.5 C 445.6667 1412.8333 433 1449.3333 433 1496 L 282 1496 z M 788.03711 1185.3828 L 788.03711 835.1582 L 884.67969 835.1582 L 884.67969 1185.3828 L 788.03711 1185.3828 z M 516.67773 1130.9121 C 398.97677 1123.0654 292.60797 1080.3431 197.57227 1002.7461 L 194.95703 1005.3613 C 242.91003 956.53736 266.88672 931.68881 266.88672 930.81641 C 344.48326 990.97519 427.74811 1024.5427 516.67773 1031.5176 L 516.67773 1130.9121 z M 121.71875 938.66406 L 127.9043 933.7168 L 125.64258 936.04883 L 121.71875 938.66406 z M 127.9043 933.7168 L 128.2207 933.39062 C 128.2327 933.40462 128.24581 933.41959 128.25781 933.43359 L 127.9043 933.7168 z M 128.2207 933.39062 C 48.031566 841.85529 2.2696787 735.49948 -9.0625 614.32812 L 90.332031 614.32812 C 101.66581 709.36184 137.41289 791.31818 197.57227 860.19531 C 197.57227 861.0677 187.54485 871.96623 167.49219 892.89062 L 128.2207 933.39062 z M 788.03711 733.20117 L 788.03711 382.97852 L 884.67969 382.97852 L 884.67969 733.20117 L 788.03711 733.20117 z M -9.0605469 517.54883 C -0.34666559 391.19645 42.33552 282.26531 118.98047 190.75 C 123.06105 195.6103 144.50056 217.82773 189.72656 263.83398 C 132.18308 335.32641 99.052768 419.89773 90.333984 517.54883 L -9.0605469 517.54883 z M 118.98047 190.75 C 118.49847 190.1759 115.08964 186.67383 115.18164 186.67383 L 119.10352 190.59766 C 119.06152 190.64766 119.02242 190.6997 118.98047 190.75 z M 788.03711 281.02148 L 788.03711 -69.203125 L 884.67969 -69.203125 L 884.67969 281.02148 L 788.03711 281.02148 z M 259.04102 190.59766 L 189.72656 121.2832 C 287.37626 38.455786 396.36133 -6.8827766 516.67969 -14.730469 L 516.67969 84.664062 C 423.38867 95.127152 337.50946 130.43882 259.04102 190.59766 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="-55 0 2103 2048"
id="svg1"
sodipodi:docname="5F.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.25394675"
inkscape:cx="-94.508002"
inkscape:cy="1764.1494"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 787.98633 350.56836 L 787.98633 700.79297 L 884.62891 700.79297 L 884.62891 350.56836 L 787.98633 350.56836 z M 516.62695 405.03906 C 398.92614 412.88575 292.55709 455.60816 197.52148 533.20508 L 194.90625 530.58984 C 242.8592 579.41373 266.83594 604.26237 266.83594 605.13477 C 344.4324 544.97605 427.69745 511.40849 516.62695 504.43359 L 516.62695 405.03906 z M 121.66797 597.28711 L 127.85352 602.23438 L 125.5918 599.90234 L 121.66797 597.28711 z M 127.85352 602.23438 L 128.16992 602.56055 C 128.18192 602.54655 128.19503 602.53158 128.20703 602.51758 L 127.85352 602.23438 z M 128.16992 602.56055 C 81.861876 655.42086 47.107033 713.25568 23.761719 776 L -45 776 L -45 926 L 787.98633 926 L 787.98633 1152.9727 L 884.62891 1152.9727 L 884.62891 926 L 1180 926 L 1180 776 L 131.81445 776 C 148.94241 740.02777 170.65788 706.51229 197.52148 675.75586 C 197.52148 674.88347 187.49405 663.98492 167.44141 643.06055 L 128.16992 602.56055 z M -9.1113281 1018.4023 C -0.39745673 1144.7546 42.284816 1253.686 118.92969 1345.2012 C 123.01026 1340.3409 144.44983 1318.1234 189.67578 1272.1172 C 132.13236 1200.6249 99.001984 1116.0533 90.283203 1018.4023 L -9.1113281 1018.4023 z M 118.92969 1345.2012 C 118.44769 1345.7753 115.03886 1349.2773 115.13086 1349.2773 L 119.05273 1345.3535 C 119.01073 1345.3035 118.97164 1345.2515 118.92969 1345.2012 z M 787.98633 1254.9297 L 787.98633 1605.1543 L 884.62891 1605.1543 L 884.62891 1254.9297 L 787.98633 1254.9297 z M 258.99023 1345.3535 L 189.67578 1414.668 C 287.32538 1497.4953 396.31066 1542.8339 516.62891 1550.6816 L 516.62891 1451.2871 C 423.33797 1440.824 337.4586 1405.5124 258.99023 1345.3535 z " />
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="-20 0 1168 2048"
version="1.1"
id="svg1"
sodipodi:docname="60.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.37535628"
inkscape:cx="383.63552"
inkscape:cy="548.81192"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 788.69727 486.45312 L 788.69727 836.67773 L 885.33984 836.67773 L 885.33984 486.45312 L 788.69727 486.45312 z M 517.33789 540.92383 C 399.63741 548.77052 293.26773 591.49312 198.23242 669.08984 L 195.61719 666.47461 C 243.56999 715.29834 267.54688 740.14714 267.54688 741.01953 C 345.1431 680.86099 428.40863 647.29325 517.33789 640.31836 L 517.33789 540.92383 z M 122.37891 733.17188 L 128.56445 738.11914 L 126.30273 735.78711 L 122.37891 733.17188 z M 128.56445 738.11914 L 128.88086 738.44531 C 128.89286 738.43131 128.90597 738.41634 128.91797 738.40234 L 128.56445 738.11914 z M 128.88086 738.44531 C 48.692048 829.98027 2.9297945 936.33689 -8.4023438 1057.5078 L 90.992188 1057.5078 C 102.32593 962.47439 138.07328 880.51749 198.23242 811.64062 C 198.23242 810.76825 188.20492 799.86961 168.15234 778.94531 L 128.88086 738.44531 z M 788.69727 938.63477 L 788.69727 1288.8574 L 885.33984 1288.8574 L 885.33984 938.63477 L 788.69727 938.63477 z M -8.4003906 1154.2871 C 0.31344766 1280.639 42.99596 1389.5709 119.64062 1481.0859 C 123.72117 1476.2257 145.16091 1454.008 190.38672 1408.002 C 132.84348 1336.5097 99.712919 1251.9378 90.994141 1154.2871 L -8.4003906 1154.2871 z M 119.64062 1481.0859 C 119.15863 1481.66 115.7498 1485.1621 115.8418 1485.1621 L 119.76367 1481.2383 C 119.72167 1481.1883 119.68257 1481.1362 119.64062 1481.0859 z M 788.69727 1390.8145 L 788.69727 1741.0391 L 885.33984 1741.0391 L 885.33984 1390.8145 L 788.69727 1390.8145 z M 259.70117 1481.2383 L 190.38672 1550.5527 C 288.03602 1633.38 397.02196 1678.7187 517.33984 1686.5664 L 517.33984 1587.1719 C 424.04919 1576.7088 338.16929 1541.3969 259.70117 1481.2383 z M 430 1838 L 430 2039 L 648 2039 L 648 1838 L 430 1838 z " />
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 1168 2048"
version="1.1"
id="svg1"
sodipodi:docname="61.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.48567467"
inkscape:cx="413.85729"
inkscape:cy="951.25406"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 896 399.05469 C 856.00004 399.05469 821.49997 403.22137 792.5 411.55469 C 763.50003 419.88801 736.99998 430.38803 713 443.05469 L 746 566.05469 C 763.33331 558.72136 779.66669 552.55468 795 547.55469 C 810.33331 542.55469 827.00002 540.05469 845 540.05469 C 878.99997 540.05469 903.50001 548.0547 918.5 564.05469 C 933.49999 580.05467 941 602.05472 941 630.05469 C 941 666.05465 927.8333 699.88805 901.5 731.55469 C 891.57047 743.49526 880.18776 755.65046 867.36719 768.01758 L 788.08008 768.01758 L 788.08008 1118.2422 L 884.72266 1118.2422 L 884.72266 878.56055 C 958.90913 843.53244 1014.5404 804.03965 1051.5 760.05469 C 1091.8333 712.05474 1112 661.38796 1112 608.05469 C 1112 542.05475 1091.8333 490.72132 1051.5 454.05469 C 1011.1667 417.38805 959.33327 399.05469 896 399.05469 z M 516.7207 822.48828 C 399.02022 830.33497 292.65054 873.05757 197.61523 950.6543 L 195 948.03906 C 242.9528 996.86281 266.92969 1021.7116 266.92969 1022.584 C 344.52591 962.42538 427.79144 928.85771 516.7207 921.88281 L 516.7207 822.48828 z M 121.76172 1014.7363 L 127.94727 1019.6836 L 125.68555 1017.3516 L 121.76172 1014.7363 z M 127.94727 1019.6836 L 128.26367 1020.0098 C 128.27567 1019.9958 128.28878 1019.9808 128.30078 1019.9668 L 127.94727 1019.6836 z M 128.26367 1020.0098 C 48.074862 1111.5447 2.3126074 1217.9014 -9.0195312 1339.0723 L 90.375 1339.0723 C 101.70874 1244.0389 137.45609 1162.0819 197.61523 1093.2051 C 197.61523 1092.3327 187.58774 1081.434 167.53516 1060.5098 L 128.26367 1020.0098 z M 788.08008 1220.1992 L 788.08008 1570.4219 L 884.72266 1570.4219 L 884.72266 1220.1992 L 788.08008 1220.1992 z M -9.0175781 1435.8516 C -0.30373683 1562.2034 42.378774 1671.1354 119.02344 1762.6504 C 123.10398 1757.7902 144.54373 1735.5725 189.76953 1689.5664 C 132.22629 1618.0742 99.095736 1533.5023 90.376953 1435.8516 L -9.0175781 1435.8516 z M 119.02344 1762.6504 C 118.54144 1763.2245 115.13261 1766.7266 115.22461 1766.7266 L 119.14648 1762.8027 C 119.10448 1762.7527 119.06539 1762.7007 119.02344 1762.6504 z M 788.08008 1672.3789 L 788.08008 2022.6035 L 884.72266 2022.6035 L 884.72266 1672.3789 L 788.08008 1672.3789 z M 259.08398 1762.8027 L 189.76953 1832.1172 C 287.41883 1914.9444 396.40478 1960.2832 516.72266 1968.1309 L 516.72266 1868.7363 C 423.432 1858.2732 337.55211 1822.9614 259.08398 1762.8027 z " />
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="-20 0 1168 2048"
version="1.1"
id="svg1"
sodipodi:docname="62.combining.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.19331922"
inkscape:cx="160.35653"
inkscape:cy="1675.9844"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<path
id="path1"
d="M 457 405.05469 L 450 514.05469 C 497.99995 514.05469 536.6667 522.22137 566 538.55469 C 595.3333 554.888 610 579.38805 610 612.05469 C 610 644.05466 597.99998 666.38803 574 679.05469 C 550.00002 691.72134 508.99994 700.38802 451 705.05469 L 482.48242 837.87305 C 378.30073 851.10971 283.30749 892.62964 197.57227 962.63281 L 194.95703 960.01758 C 242.90983 1008.8413 266.88672 1033.6901 266.88672 1034.5625 C 344.48294 974.40397 427.74847 940.83622 516.67773 933.86133 L 516.67773 840.05469 L 623 840.05469 L 611 788.05469 C 654.33329 780.72136 690.33336 763.38799 719 736.05469 C 747.66664 708.72138 762 668.38796 762 615.05469 C 762 551.05475 735.66662 500.05465 683 462.05469 C 630.33338 424.05473 554.9999 405.05469 457 405.05469 z M 788.03711 779.99609 L 788.03711 1130.2207 L 884.67969 1130.2207 L 884.67969 779.99609 L 788.03711 779.99609 z M 121.71875 1026.7148 L 127.9043 1031.6621 L 125.64258 1029.3301 L 121.71875 1026.7148 z M 127.9043 1031.6621 L 128.2207 1031.9883 C 128.2327 1031.9743 128.24581 1031.9593 128.25781 1031.9453 L 127.9043 1031.6621 z M 128.2207 1031.9883 C 48.031893 1123.5232 2.2696387 1229.8799 -9.0625 1351.0508 L 90.332031 1351.0508 C 101.66577 1256.0174 137.41313 1174.0604 197.57227 1105.1836 C 197.57227 1104.3112 187.54477 1093.4126 167.49219 1072.4883 L 128.2207 1031.9883 z M 788.03711 1232.1777 L 788.03711 1582.4004 L 884.67969 1582.4004 L 884.67969 1232.1777 L 788.03711 1232.1777 z M -9.0605469 1447.8301 C -0.34670859 1574.182 42.335805 1683.1139 118.98047 1774.6289 C 123.06101 1769.7687 144.50076 1747.551 189.72656 1701.5449 C 132.18332 1630.0527 99.052766 1545.4808 90.333984 1447.8301 L -9.0605469 1447.8301 z M 118.98047 1774.6289 C 118.49847 1775.203 115.08964 1778.7051 115.18164 1778.7051 L 119.10352 1774.7812 C 119.06152 1774.7313 119.02242 1774.6792 118.98047 1774.6289 z M 788.03711 1684.3574 L 788.03711 2034.582 L 884.67969 2034.582 L 884.67969 1684.3574 L 788.03711 1684.3574 z M 259.04102 1774.7812 L 189.72656 1844.0957 C 287.37586 1926.9229 396.36181 1972.2617 516.67969 1980.1094 L 516.67969 1880.7148 C 423.38903 1870.2518 337.50914 1834.9399 259.04102 1774.7812 z " />
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_verticle_tilde.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="371.08093"
inkscape:cy="528.96319"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 729.01953 1637.9062 C 673.81839 1637.9062 629.59877 1626.6276 596.35938 1604.0723 C 562.52642 1582.1105 545.60938 1551.2451 545.60938 1511.4766 C 545.60938 1475.2694 556.88806 1441.4372 579.44336 1409.9785 C 601.99866 1379.1134 613.27539 1351.5118 613.27539 1327.1758 C 613.27539 1314.1174 607.63703 1301.9495 596.35938 1290.6719 C 584.48816 1279.9878 568.16525 1274.6465 547.39062 1274.6465 L 547.39062 1172.2559 C 669.66411 1172.2559 730.80078 1216.7745 730.80078 1305.8086 C 730.80078 1342.0158 720.71036 1376.145 700.5293 1408.1973 C 679.75468 1440.8431 669.36719 1468.4427 669.36719 1490.998 C 669.36719 1520.6761 689.25097 1535.5156 729.01953 1535.5156 L 729.01953 1637.9062 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_inverted_breve.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="354.94698"
inkscape:cy="731.79004"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 638.20508 1465.1797 C 556.29371 1465.1797 491.59618 1442.9213 444.11133 1398.4043 C 396.03292 1354.4808 371.99219 1297.4972 371.99219 1227.457 L 505.54492 1227.457 C 505.54492 1262.4771 515.63535 1293.0454 535.81641 1319.1621 C 555.40391 1345.8723 589.53311 1359.2285 638.20508 1359.2285 C 685.68993 1359.2285 719.81913 1345.8723 740.59375 1319.1621 C 760.77481 1293.0454 770.86523 1262.4771 770.86523 1227.457 L 904.41797 1227.457 C 904.41797 1297.4972 880.6743 1354.4808 833.18945 1398.4043 C 785.7046 1442.9213 720.71 1465.1797 638.20508 1465.1797 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_pokrytie.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="354.94698"
inkscape:cy="862.01409"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 539.37695 1555.1035 C 460.43339 1555.1035 399.59379 1537.2972 356.85742 1501.6836 C 314.12106 1466.07 292.75195 1419.1787 292.75195 1361.0098 L 292.75195 1328.957 L 406.7168 1328.957 L 406.7168 1344.9824 C 406.7168 1377.6283 418.88472 1401.669 443.2207 1417.1016 C 467.55669 1433.1277 496.04753 1441.1406 528.69336 1441.1406 C 586.8623 1441.1406 633.15942 1431.6424 667.58594 1412.6484 C 702.01245 1394.2481 733.76905 1375.8476 762.85352 1357.4473 C 791.93799 1339.0469 827.55056 1329.8477 869.69336 1329.8477 L 1024.6133 1329.8477 L 1024.6133 1442.9199 L 881.26758 1442.9199 C 849.80887 1442.9199 819.83466 1452.1211 791.34375 1470.5215 C 762.85284 1489.5154 729.31777 1508.2129 690.73633 1526.6133 C 652.15489 1545.6072 601.70082 1555.1035 539.37695 1555.1035 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_slavonic_psili.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="327.28877"
inkscape:cy="594.65143"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 590.95117 1515.4414 L 591.83984 1390.7949 L 540.20117 1287.5156 L 607.86719 1229.6426 L 752.10156 1405.0391 L 752.10156 1515.4414 L 590.95117 1515.4414 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_slavonic_dasia.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="306.54512"
inkscape:cy="724.87549"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 484.10938 1515.4414 L 484.10938 1405.0391 L 627.45508 1229.6426 L 696.90039 1287.5156 L 643.48047 1390.7949 L 644.37109 1515.4414 L 484.10938 1515.4414 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_payerok.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="306.54512"
inkscape:cy="797.47828"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 363.19922 1511.4766 C 357.26361 1437.2815 378.3337 1378.8164 426.41211 1336.0801 C 474.49052 1293.3437 534.14382 1271.9746 605.37109 1271.9746 C 628.51996 1271.9746 651.37243 1275.2404 673.92773 1281.7695 L 645.4375 1175.8184 L 767.41406 1175.8184 L 842.20117 1455.3848 L 720.22461 1455.3848 L 702.41797 1387.7188 C 690.54676 1381.7831 677.4896 1376.7389 663.24414 1372.584 C 648.40513 1369.0226 630.29982 1367.2422 608.93164 1367.2422 C 561.44679 1367.2422 527.91172 1381.7847 508.32422 1410.8691 C 488.73672 1440.5472 479.53554 1474.0822 480.72266 1511.4766 L 363.19922 1511.4766 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_titlo.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="306.54512"
inkscape:cy="862.01409"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 818.94531 1532.8457 L 819.83398 1436.6875 L 339.05078 1436.6875 L 338.16016 1229.2383 L 485.95703 1228.3477 L 485.95703 1340.5312 L 965.85156 1340.5312 L 965.85156 1531.9551 L 818.94531 1532.8457 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Accent from Roboto font family (Regular). Apache License, Version 2.0. -->
<svg
version="1.1"
viewBox="-20 0 1168 2048"
id="svg1"
sodipodi:docname="combining_vzmet.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.86773523"
inkscape:cx="306.54512"
inkscape:cy="630.37662"
inkscape:window-width="2736"
inkscape:window-height="1744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1"
showgrid="false" />
<g
transform="matrix(1 0 0 -1 0 1536)"
id="g1">
<path
id="path1"
d="M 66.349609 1512.25 L 66.349609 1109.8164 L 207.02344 1109.8164 L 207.02344 1376.918 L 971.82812 1376.918 L 971.82812 1109.8164 L 1113.3926 1109.8164 L 1113.3926 1512.25 L 66.349609 1512.25 z M 788.03711 1185.2168 L 788.03711 834.99219 L 884.67969 834.99219 L 884.67969 1185.2168 L 788.03711 1185.2168 z M 516.67773 1130.7461 C 398.97701 1122.8994 292.60777 1080.1769 197.57227 1002.5801 L 194.95703 1005.1953 C 242.90993 956.37148 266.88672 931.52279 266.88672 930.65039 C 344.4831 990.80905 427.74829 1024.3767 516.67773 1031.3516 L 516.67773 1130.7461 z M 121.71875 938.49805 L 127.9043 933.55078 L 125.64258 935.88281 L 121.71875 938.49805 z M 127.9043 933.55078 L 128.2207 933.22461 C 128.2327 933.23861 128.24581 933.25358 128.25781 933.26758 L 127.9043 933.55078 z M 128.2207 933.22461 C 48.031736 841.68946 2.2696574 735.33327 -9.0625 614.16211 L 90.332031 614.16211 C 101.66579 709.19561 137.41301 791.15231 197.57227 860.0293 C 197.57227 860.90169 187.54481 871.80026 167.49219 892.72461 L 128.2207 933.22461 z M 788.03711 733.03516 L 788.03711 382.8125 L 884.67969 382.8125 L 884.67969 733.03516 L 788.03711 733.03516 z M -9.0605469 517.38281 C -0.34668428 391.03067 42.33567 282.0991 118.98047 190.58398 C 123.06103 195.44428 144.50066 217.66175 189.72656 263.66797 C 132.1832 335.16023 99.052758 419.73191 90.333984 517.38281 L -9.0605469 517.38281 z M 118.98047 190.58398 C 118.49847 190.00988 115.08964 186.50781 115.18164 186.50781 L 119.10352 190.43164 C 119.06152 190.48164 119.02242 190.53368 118.98047 190.58398 z M 788.03711 280.85547 L 788.03711 -69.369141 L 884.67969 -69.369141 L 884.67969 280.85547 L 788.03711 280.85547 z M 259.04102 190.43164 L 189.72656 121.11719 C 287.37606 38.28995 396.36157 -7.0488004 516.67969 -14.896484 L 516.67969 84.498047 C 423.38885 94.961125 337.5093 130.27286 259.04102 190.43164 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Some files were not shown because too many files have changed in this diff Show More