;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require quail hanja-util] 2)
(defconst hangul-djamo-table '((cho (1 . [1]) (7 . [7]) (18 . [18]) (21 . [21]) (24 . [24])) (jung (39 . [31 32 51]) (44 . [35 36 51]) (49 . [51])) (jong (1 . [1 21]) (4 . [24 30]) (9 . [1 17 18 21 28 29 30]) (18 . [18 21]) (21 . [21]))))
(defconst hangul2-keymap [17 48 26 23 7 9 30 39 33 35 31 51 49 44 32 36 18 1 4 21 37 29 24 28 43 27])
(defconst hangul3-keymap [2 183 24 15 14 8220 120 39 126 8221 43 44 41 46 74 119 30 22 18 78 83 68 73 85 79 52 110 44 62 46 33 10 7 63 27 12 5 11 69 48 55 49 50 51 34 45 56 57 29 16 6 13 54 3 28 20 53 26 40 58 60 61 59 42 23 79 71 86 72 66 84 96 109 115 93 116 122 113 118 121 21 67 4 70 99 74 9 1 101 17 37 92 47 8251])
(defconst hangul390-keymap [24 34 35 36 37 38 120 40 41 42 43 44 45 46 73 119 30 22 18 77 82 67 72 84 78 58 110 50 61 51 63 64 7 33 11 10 27 2 47 39 56 52 53 54 49 48 57 62 29 68 6 59 55 16 28 20 60 26 91 92 93 94 95 96 23 78 70 85 71 65 83 90 109 115 87 116 122 113 118 121 21 66 4 69 99 73 9 1 101 17 123 124 125 126])#@68 Keymap for Hangul method.  It is used by all Hangul input methods.
(defvar hangul-im-keymap (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\305#\210\207" [make-sparse-keymap define-key "" hangul-delete-backward-char [f9] hangul-to-hanja-conversion [Hangul_Hanja]] 5) (#$ . 1136))
(defvar hangul-queue (make-vector 6 0))#@15 

(fn NUMBER)
(defalias 'notzerop #[257 "\211\300U?\207" [0] 3 (#$ . 1477)])
(byte-code "\300\301\302\303#\210\304\301\305\306#\307\301\310\311#\207" [make-obsolete notzerop "use `(not (zerop ...))'." "29.1" function-put speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@13 

(fn CHAR)
(defalias 'hangul-alphabetp #[257 "\211\300Y\203\f \211\301X\206 \211\302Y\205 \211\303X\207" [65 90 97 122] 3 (#$ . 1762)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul-alphabetp speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@227 Convert CHO, JUNG, JONG to the precomposed `Hangul Syllables' character.
CHO, JUNG, JONG are relative indices in `Hangul Compatibility Jamo' of Unicode.
Return a zero-length string if the conversion fails.

(fn CHO JUNG JONG)
(defalias 'hangul-character #[771 "\300\301\302U\204o \302U\204o \303\304\305\211\306W\203 \307\202? \310W\203( \311\202? \312W\2033 \313\202? \314W\203> \315\202? \316Z_\317\320Z_\211\321W\203S \302\202j \322W\203^ \307\202j \323W\203i \311\202j \306Z$\202\215 \324\302U\204z \202\214 \302U\204\204 \202\214 \302U?\205\214 \\\"\206\222 \325\207" [decode-char ucs 0 + 44032 588 3 1 5 2 10 4 20 11 12 28 31 8 19 25 12592 ""] 12 (#$ . 2049)])#@154 Insert characters generated from QUEUES.
Each queue has the same form as `hangul-queue'.
Setup `quail-overlay' to the last character.

(fn &rest QUEUES)
(defalias 'hangul-insert-character #[128 "\203 	\203 \303 \304 |\210\305 \210\306\n!\203 \306\n!\307\n!|\210\211@\310\311H\312\313\311H\314H#\\\315H\312\316\315H\317H#\\\320H\312\321\320H\322H#\\#c\266\323\n\306\n!`#\210\211A\211\205\236 \211@\310\311H\312\313\311H\314H#\\\315H\312\316\315H\317H#\\\320H\312\321\320H\322H#\\#c\210\323\n\306\n!T`#\210A\266\202\202Z \207" [mark-active transient-mark-mode quail-overlay region-beginning region-end deactivate-mark overlay-start overlay-end hangul-character 0 hangul-djamo cho 1 2 jung 3 4 jong 5 move-overlay] 12 (#$ . 2747)])#@233 Return the double Jamo index calculated from the arguments.
JAMO is a type of Hangul Jamo; `cho', `jung', or `jong'.
CHAR1 and CHAR2 are Hangul Jamo indices.
Return nil if CHAR1 and CHAR2 can not be combined.

(fn JAMO CHAR1 CHAR2)
(defalias 'hangul-djamo #[771 "\301\"A\301\"A\211\2035 \211G\30220 \211\303V\205/ SHU\203( \304\302\"\210\211S\262\202 0\2064 \303\207\303\207" [hangul-djamo-table assoc found 0 throw] 9 (#$ . 3512)])#@422 Store Hangul Jamo indice CHAR in `hangul-queue'.
It is a Hangul 2-Bulsik Jaum.
This function processes a Hangul 2-Bulsik Jaum.
The Hangul 2-Bulsik is composed of a Jaum and a Moum.
The Jaum can be located in a Choseong position and a Jongseong position.
Unless the function inserts CHAR to `hangul-queue',
commit current `hangul-queue' and then set a new `hangul-queue',
and insert CHAR to new `hangul-queue'.

(fn CHAR)
(defalias 'hangul2-input-method-jaum #[257 "\301H\301U\203 \301I\202\300 \302H\301U\2032 \303H\301U\2032 \304\305\301H#\301U\2042 \302I\202\300 \306H\301U\203| \303H\301U\204| \211\307U\204| \211\310U\204| \211\311U\204| \312\301H\304\305\301H\302H#\\\303H\304\313\303H\314H#\\#\247\203| \306I\202\300 \315H\301U\203\307 \304\316\306H#\301U\204\307 \312\301H\304\305\301H\302H#\\\303H\304\313\303H\314H#\\\306H\304\316\306H#\\#\247\203\307 \315I\203\307 \317!\207\317\320\301\211\211\211\211&\211\"\207" [hangul-queue 0 1 2 hangul-djamo cho 4 8 19 25 hangul-character jung 3 5 jong hangul-insert-character vector] 10 (#$ . 3961)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul2-input-method-jaum speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@247 Store Hangul Jamo indice CHAR in `hangul-queue'.
It is a Hangul 2-Bulsik Moum.
This function processes a Hangul 2-Bulsik Moum.
The Moum can be located in a Jungseong position.
Other parts are the same as a `hangul2-input-method-jaum'.

(fn CHAR)
(defalias 'hangul2-input-method-moum #[257 "\301H\302U\203 \301I\202/ \303H\302U\2036 \304H\302U\2036 \305\306\301H#\302U\2046 \303I\2036 \307!\207\310\302\211\302\211\211&\311H\302U\204V \211\302\311HI\210\311\302I\210\202j \304H\302U\204j \211\302\304HI\210\304\302I\210\307\211\"\207" [hangul-queue 2 0 3 4 hangul-djamo jung hangul-insert-character vector 5] 8 (#$ . 5211)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul2-input-method-moum speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@334 Store Hangul Jamo indice CHAR in `hangul-queue'.
It is a Hangul 3-Bulsik Choseong.
This function processes a Hangul 3-Bulsik Choseong.
The Hangul 3-Bulsik is composed of a Choseong, a Jungseong and a Jongseong.
The Choseong can be located in a Choseong position.
Other parts are the same as a `hangul2-input-method-jaum'.

(fn CHAR)
(defalias 'hangul3-input-method-cho #[257 "\301H\301U\203 \302H\301U\203 \301I\2027 \303H\301U\203> \304H\301U\203> \305\306\301H#\301U\204> \303I\203> \307!\207\307\310\301\211\211\211\211&\211\"\207" [hangul-queue 0 4 1 2 hangul-djamo cho hangul-insert-character vector] 10 (#$ . 6014)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul3-input-method-cho speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@261 Store Hangul Jamo indice CHAR in `hangul-queue'.
It is a Hangul 3-Bulsik Jungseong.
This function processes a Hangul 3-Bulsik Jungseong.
The Jungseong can be located in a Jungseong position.
Other parts are the same as a `hangul3-input-method-cho'.

(fn CHAR)
(defalias 'hangul3-input-method-jung #[257 "\301H\302U\203 \303H\302U\203 \301I\202/ \304H\302U\2036 \305\306\301H#\302U\2046 \304I\2036 \307!\207\307\310\302\211\302\211\211&\211\"\207" [hangul-queue 2 0 4 3 hangul-djamo jung hangul-insert-character vector] 10 (#$ . 6810)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul3-input-method-jung speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@261 Store Hangul Jamo indice CHAR in `hangul-queue'.
It is a Hangul 3-Bulsik Jongseong.
This function processes a Hangul 3-Bulsik Jongseong.
The Jongseong can be located in a Jongseong position.
Other parts are the same as a `hangul3-input-method-cho'.

(fn CHAR)
(defalias 'hangul3-input-method-jong #[257 "\301H\302U\203@ \302H\302U\204@ \303H\302U\204@ \304\302H\305\306\302H\307H#\\\303H\305\310\303H\311H#\\#\247\203@ \301I\202\204 \312H\302U\203\213 \305\313\301H#\302U\204\213 \304\302H\305\306\302H\307H#\\\303H\305\310\303H\311H#\\\301H\305\313\301H#\\#\247\203\213 \312I\203\213 \314!\207\315\316\317\320\"\"\302U\203\246 \314\321\302\211\211\211\302&\211!\207\314\321\302\211\211\211\302&\211\"\207" [hangul-queue 4 0 2 hangul-character hangul-djamo cho 1 jung 3 5 jong hangul-insert-character apply + append nil vector] 10 (#$ . 7519)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hangul3-input-method-jong speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@53 Delete the previous hangul character by Jaso units.
(defalias 'hangul-delete-backward-char #[0 "\301\211\302V\203 H\302U\203 \211S\262\202 \302I\266\303\304\305\306\"\"\302U\204, \307!\207\310\311!\207" [hangul-queue 5 0 apply + append nil hangul-insert-character delete-char -1] 5 (#$ . 8558) nil])#@152 Convert the previous hangul character to the corresponding hanja character.
When a Korean input method is off, convert the following hangul character.
(defalias 'hangul-to-hanja-conversion #[0 "\303\304\211\305	!\203 \306	!\203 \307h!\262\310\262\202$ \307g!\262\311\262\211\205D  \210\211c\210\312\313\303\"\305	!\205D \306	!\205D \314	``#)\207" [echo-keystrokes quail-overlay hangul-queue 0 nil overlayp overlay-start hangul-to-hanja-char #[0 "\300\301!\207" [delete-char -1] 2] #[0 "\300\301!\207" [delete-char 1] 2] make-vector 6 move-overlay] 7 (#$ . 8875) nil])#@12 

(fn KEY)
(defalias 'hangul2-input-method-internal #[257 "\302\246SH\303U\204 \304U\203 \305\2029 \306U\2044 \307U\2044 \310U\2044 \311U\2044 \312U\2038 \313\2029 \314\\\211\315W\203\211	\314H\314U\203P 	\314I\202	\313H\314U\203s 	\305H\314U\203s \316\317	\314H#\314U\204s 	\313I\202	\320H\314U\203\275 	\305H\314U\204\275 \211\321U\204\275 \211\322U\204\275 \211\323U\204\275 \324	\314H\316\317	\314H	\313H#\\	\305H\316\325	\305H	\326H#\\#\247\203\275 	\320I\202	\327H\314U\203\316\330	\320H#\314U\204\324	\314H\316\317	\314H	\313H#\\	\305H\316\325	\305H	\326H#\\	\320H\316\330	\320H#\\#\247\203	\327I\203\331	!\207\331	\332\314\211\211\211\211&\211\"\207\211	\305H\314U\203'	\305I\202G	\326H\314U\203N	\320H\314U\203N\316\325	\305H#\314U\204N	\326I\203N\331	!\207\332\314\211\314\211\211&	\327H\314U\204n\211\314	\327HI\210	\327\314I\210\202\202	\320H\314U\204\202\211\314	\320HI\210	\320\314I\210\331	\211\"\207" [hangul2-keymap hangul-queue 32 79 80 2 69 81 82 84 87 1 0 31 hangul-djamo cho 4 8 19 25 hangul-character jung 3 5 jong hangul-insert-character vector] 12 (#$ . 9458)])#@34 2-Bulsik input method.

(fn KEY)
(defalias 'hangul2-input-method #[257 "\204 \211\211\306Y\203 \211\307X\206 \211\310Y\205 \211\311X\262\204\" \211C\207\312\313!\210\313\314\313\315\316\314\"\317!\210\320\216\3212\232 \322\313!\323\"\313;\203{ G\324U\203{ \314H\211\262\203{ \211\211\306Y\203e \211\307X\206n \211\310Y\205n \211\311X\262\203{ \317!\266\202; \325!\203\211 \326!\266\202; \327!\244\330\321\313\"\266\202; ,\207" [buffer-read-only help-char echo-keystrokes input-method-function hangul-queue hangul-im-keymap 65 90 97 122 quail-setup-overlays nil 0 make-vector 6 hangul2-input-method-internal #[0 "\300 \207" [quail-delete-overlays] 1] exit-input-loop read-key-sequence lookup-key 1 commandp call-interactively listify-key-sequence throw unread-command-events] 7 (#$ . 10604)])#@12 

(fn KEY)
(defalias 'hangul3-input-method-internal #[257 "\303ZH\211\304V\203a \211\305W\203a \211\304Z	\306H\306U\203+ 	\307H\306U\203+ 	\306I\202K 	\310H\306U\203R 	\311H\306U\203R \312\313	\306H#\306U\204R 	\310I\203R \314	!\207\314	\315\306\211\211\211\211&\211\"\207\211\316V\203\265 \211\317W\203\265 \211\320Z	\311H\306U\203\207 	\307H\306U\203\207 	\311I\202\237 	\321H\306U\203\246 \312\322	\311H#\306U\204\246 	\321I\203\246 \314	!\207\314	\315\306\211\306\211\211&\211\"\207\211\323W\203r\211	\307H\306U\203\374 	\306H\306U\204\374 	\311H\306U\204\374 \324	\306H\312\313	\306H	\310H#\\	\311H\312\322	\311H	\321H#\\#\247\203\374 	\307I\202@	\325H\306U\203G\312\326	\307H#\306U\204G\324	\306H\312\313	\306H	\310H#\\	\311H\312\322	\311H	\321H#\\	\307H\312\326	\307H#\\#\247\203G	\325I\203G\314	!\207\327\330\331	\332\"\"\306U\203b\314\315\306\211\211\211\306&\211!\207\314	\315\306\211\211\211\306&\211\"\207\333\334\306\"\211c\210\335\n``#\207" [hangul3-keymap hangul-queue quail-overlay 33 92 123 0 4 1 2 hangul-djamo cho hangul-insert-character vector 65 87 35 3 jung 31 hangul-character 5 jong apply + append nil make-vector 6 move-overlay] 12 (#$ . 11430)])#@40 3-Bulsik final input method.

(fn KEY)
(defalias 'hangul3-input-method #[257 "\204 \211\306W\204 \211\307Y\203 \211C\207\310\311!\210\311\312\311\313\314\312\"\315!\210\316\216\3172| \320\311!\321\"\311;\203] G\322U\203] \312H\211\262\203] \211\306Y\203] \211\307W\203] \315!\266\202, \323!\203k \324!\266\202, \325!\244\326\317\311\"\266\202, ,\207" [buffer-read-only help-char echo-keystrokes input-method-function hangul-queue hangul-im-keymap 33 127 quail-setup-overlays nil 0 make-vector 6 hangul3-input-method-internal #[0 "\300 \207" [quail-delete-overlays] 1] exit-input-loop read-key-sequence lookup-key 1 commandp call-interactively listify-key-sequence throw unread-command-events] 7 (#$ . 12643)])#@12 

(fn KEY)
(defalias 'hangul390-input-method-internal #[257 "\303ZH\211\304V\203 \211\305W\204 \211\306V\203w \211\307W\203w \211\310W\203( \304\202) \311Z	\312H\312U\203A 	\313H\312U\203A 	\312I\202a 	\314H\312U\203h 	\315H\312U\203h \316\317	\312H#\312U\204h 	\314I\203h \320	!\207\320	\321\312\211\211\211\211&\211\"\207\211\322V\203\313 \211\304W\203\313 \211\323Z	\315H\312U\203\235 	\313H\312U\203\235 	\315I\202\265 	\324H\312U\203\274 \316\325	\315H#\312U\204\274 	\324I\203\274 \320	!\207\320	\321\312\211\312\211\211&\211\"\207\211\326W\203\210\211	\313H\312U\203	\312H\312U\204	\315H\312U\204\327	\312H\316\317	\312H	\314H#\\	\315H\316\325	\315H	\324H#\\#\247\203	\313I\202V	\330H\312U\203]\316\331	\313H#\312U\204]\327	\312H\316\317	\312H	\314H#\\	\315H\316\325	\315H	\324H#\\	\313H\316\331	\313H#\\#\247\203]	\330I\203]\320	!\207\332\333\334	\335\"\"\312U\203x\320\321\312\211\211\211\312&\211!\207\320	\321\312\211\211\211\312&\211\"\207\336\337\312\"\211c\210\340\n``#\207" [hangul390-keymap hangul-queue quail-overlay 33 86 91 96 123 97 92 0 4 1 2 hangul-djamo cho hangul-insert-character vector 64 34 3 jung 31 hangul-character 5 jong apply + append nil make-vector 6 move-overlay] 12 (#$ . 13384)])#@38 3-Bulsik 390 input method.

(fn KEY)
(defalias 'hangul390-input-method #[257 "\204 \211\306W\204 \211\307Y\203 \211C\207\310\311!\210\311\312\311\313\314\312\"\315!\210\316\216\3172| \320\311!\321\"\311;\203] G\322U\203] \312H\211\262\203] \211\306Y\203] \211\307W\203] \315!\266\202, \323!\203k \324!\266\202, \325!\244\326\317\311\"\266\202, ,\207" [buffer-read-only help-char echo-keystrokes input-method-function hangul-queue hangul-im-keymap 33 127 quail-setup-overlays nil 0 make-vector 6 hangul390-input-method-internal #[0 "\300 \207" [quail-delete-overlays] 1] exit-input-loop read-key-sequence lookup-key 1 commandp call-interactively listify-key-sequence throw unread-command-events] 7 (#$ . 14653)])
(defvar hangul-input-method-help-text nil nil)
(make-variable-buffer-local 'hangul-input-method-help-text)#@189 Activate Hangul input method INPUT-METHOD.
FUNC is a function to handle input key.
HELP-TEXT is a text set in `hangul-input-method-help-text'.

(fn INPUT-METHOD FUNC HELP-TEXT &rest ARGS)
(defalias 'hangul-input-method-activate #[899 "\304\305\306 \210\307 \310 =\203 \311\312\313\"\210\314\303!\210\211\207" [deactivate-current-input-method-function describe-current-input-method-function hangul-input-method-help-text input-method-function hangul-input-method-deactivate hangul-input-method-help quail-delete-overlays selected-window minibuffer-window add-hook minibuffer-exit-hook quail-exit-from-minibuffer make-local-variable] 7 (#$ . 15504)])#@45 Deactivate the current Hangul input method.
(defalias 'hangul-input-method-deactivate #[0 "\301\216\302 \210\303 \210\304\211)\207" [describe-current-input-method-function #[0 "\300\301!\207" [kill-local-variable input-method-function] 2] quail-hide-guidance quail-delete-overlays nil] 2 (#$ . 16165) nil])#@43 Describe the current Hangul input method.
(defalias 'hangul-input-method-help #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!+\210\211\316!\317!)\210\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*Help*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ internal-temp-output-buffer-show standard-output hangul-input-method-help-text] 6 (#$ . 16478) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307!\207" [defalias alphabetp hangul-alphabetp nil make-obsolete "29.1" provide hangul] 4)
