From: kate Date: Tue, 23 Jun 1998 04:57:40 +0000 (+0000) Subject: Modified Files: X-Git-Tag: egg-980304~2^3 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=ccc2c3cf2a993db1166638b047bff13ee5100336;p=elisp%2Fegg.git Modified Files: docomp.el egg-cnv.el egg-com.el egg-mlh.el egg.el its-keydef.el its.el leim-list-egg.el menudiag.el egg/sj3.el egg/sj3rpc.el egg/wnn.el egg/wnnrpc.el its/ascii.el its/erpin.el its/hangul.el its/hankata.el its/hira.el its/jeonkak.el its/kata.el its/pinyin.el its/quanjiao.el its/zenkaku.el its/zhuyin.el Added Files: egg-edep.el egg-face.el egg/canna.el egg/cannarpc.el Removed Files: egg-hilit.el --- diff --git a/egg-cnv.el b/egg-cnv.el index b85cd04..6045eb2 100644 --- a/egg-cnv.el +++ b/egg-cnv.el @@ -9,7 +9,7 @@ ;; Maintainer: NIIBE Yutaka ;; Keywords: mule, multilingual, input method -;; This file will be part of GNU Emacs (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -31,31 +31,33 @@ ;;; Code: +(require 'egg-edep) + (defvar egg-current-language) (make-variable-buffer-local 'egg-current-language) (put 'egg-current-language 'permanent-local t) (defsubst egg-bunsetsu-info () 'intangible) -(defun egg-get-bunsetsu-info (p) - (let ((bunsetsu-info (get-text-property p (egg-bunsetsu-info)))) +(defun egg-get-bunsetsu-info (p &optional object) + (let ((bunsetsu-info (get-text-property p (egg-bunsetsu-info) object))) (if bunsetsu-info - (setq egg-conversion-backend (get-text-property p 'egg-backend) - egg-current-language (get-text-property p 'egg-lang))) + (setq egg-conversion-backend (get-text-property p 'egg-backend object) + egg-current-language (get-text-property p 'egg-lang object))) bunsetsu-info)) ;; (defconst egg-conversion-backend-other-languages [ egg-init-other-languages - egg-start-conversion-other-languages + egg-start-conversion-other-languages egg-get-bunsetsu-converted-other-languages egg-get-bunsetsu-source-other-languages egg-list-candidates-other-languages - egg-get-number-of-candidates-other-languages - egg-get-current-candidate-number-other-languages - egg-get-all-candidates-other-languages - egg-decide-candidate-other-languages + egg-get-number-of-candidates-other-languages + egg-get-current-candidate-number-other-languages + egg-get-all-candidates-other-languages + egg-decide-candidate-other-languages egg-change-bunsetsu-length-other-languages egg-end-conversion-other-languages nil @@ -67,6 +69,7 @@ ) (defun egg-start-conversion-other-languages (yomi-string language) + (setq egg-conversion-backend egg-conversion-backend-other-languages) (list yomi-string)) (defun egg-get-bunsetsu-converted-other-languages (bunsetsu-info) bunsetsu-info) @@ -88,7 +91,7 @@ (if (= len (length s)) (list s) (list (substring s 0 len) (substring s len))))) -(defun egg-end-conversion-other-languages (bunsetsu-info-list) +(defun egg-end-conversion-other-languages (bunsetsu-info-list abort) nil) (defun egg-fini-other-languages (language) nil) @@ -102,7 +105,7 @@ (defun egg-set-current-backend (language) (setq egg-conversion-backend - (cdr (assoc language egg-conversion-backend-alist))) + (cdr (assq language egg-conversion-backend-alist))) (if (null egg-conversion-backend) (setq egg-conversion-backend egg-conversion-backend-other-languages))) @@ -129,8 +132,8 @@ (funcall (aref egg-conversion-backend 8) bunsetsu-info candidate-pos)) (defun egg-change-bunsetsu-length (b0 b1 b2 len) (funcall (aref egg-conversion-backend 9) b0 b1 b2 len)) -(defun egg-end-conversion (bunsetsu-info-list) - (funcall (aref egg-conversion-backend 10) bunsetsu-info-list)) +(defun egg-end-conversion (bunsetsu-info-list abort) + (funcall (aref egg-conversion-backend 10) bunsetsu-info-list abort)) (defun egg-start-reverse-conversion (yomi-string language) (egg-set-current-backend language) (if (aref egg-conversion-backend 11) @@ -165,165 +168,173 @@ (defvar egg-conversion-open "|" "*$B%U%'%s%9$N;OE@$r<($9J8;zNs(B (1 $BJ8;z0J>e(B)") (defvar egg-conversion-close "|" "*$B%U%'%s%9$N=*E@$r<($9J8;zNs(B (1 $BJ8;z0J>e(B)") (defvar egg-conversion-face nil "*$B%U%'%s%9I=<($KMQ$$$k(B face $B$^$?$O(B nil") +(defvar egg-conversion-invisible nil) (defvar egg-conversion-separator " ") (defun egg-get-conversion-face () (let ((face (and (listp egg-conversion-face) - (or (assoc egg-current-language egg-conversion-face) - (assoc t egg-conversion-face))))) + (or (assq egg-current-language egg-conversion-face) + (assq t egg-conversion-face))))) (if face (cdr face) egg-conversion-face))) ;; (defun egg-convert-region (start end) (interactive "r") - (if (>= start end) - ;; nothing to do - nil - (remove-text-properties start end '(read-only nil intangible nil)) - (goto-char start) - (insert egg-conversion-open) - (let ((inhibit-read-only t) - (max (make-marker)) - bunsetsu-info-list contin p s e result) - (setq p (+ (point) (- end start))) - (set-text-properties start (point) - (list - 'read-only t - 'egg-start t - 'egg-source (buffer-substring (point) p))) - (if egg-conversion-face - (put-text-property start (point) 'invisible t)) - (setq start (point)) - (goto-char p) - (insert egg-conversion-close) - (set-text-properties p (point) '(read-only t rear-nonsticky t egg-end t)) - (if egg-conversion-face - (put-text-property p (point) 'invisible t)) - (set-marker max p) - (egg-separate-languages start max) - (goto-char start) - (while (< (point) max) - (setq egg-current-language (get-text-property (point) 'egg-lang) - s (point) - e (point)) - (while (and (< e max) - (equal egg-current-language - (get-text-property e 'egg-lang))) - (setq e (next-single-property-change e 'egg-lang nil max))) - (condition-case result - (setq bunsetsu-info-list - (egg-start-conversion - (buffer-substring-no-properties s e) - egg-current-language)) - (error - (setq egg-conversion-backend egg-conversion-backend-other-languages - bunsetsu-info-list (egg-start-conversion-other-languages - (buffer-substring-no-properties s e) - egg-current-language)) - (message "egg %s backend: %s" egg-current-language (cadr result)))) - (setq contin (< e max)) - (delete-region s e) - (egg-insert-bunsetsu-list bunsetsu-info-list - (if (< (point) max) 'contine t))) - (set-marker max nil) - (goto-char start)))) - -(defun egg-separate-languages (start end &optional use-context) - (let (lang last-lang last-chinese p pe l c cset) + (let ((source (buffer-substring start end)) + (no-prop-source (buffer-substring-no-properties start end)) + bunsetsu-info-list len result i j s) + (if (>= start end) + ;; nothing to do + nil + (delete-region start end) + (let ((inhibit-read-only t)) + (its-define-select-keys egg-conversion-map) + (goto-char start) + (setq s (copy-sequence egg-conversion-open) + len (length s)) + (set-text-properties 0 len + (list + 'read-only t + 'egg-start t + 'egg-source source) + s) + (if egg-conversion-invisible + (put-text-property 0 len 'invisible t s)) + (insert s) + (setq start (point) + s (copy-sequence egg-conversion-close) + len (length s)) + (set-text-properties 0 len + '(read-only t rear-nonsticky t egg-end t) + s) + (if egg-conversion-invisible + (put-text-property 0 len 'invisible t s)) + (insert s) + (goto-char start) + (egg-separate-languages (copy-sequence source)) + (setq i 0 + len (length source)) + (while (< i len) + (setq egg-current-language (get-text-property i 'egg-lang source) + j (egg-next-single-property-change i 'egg-lang source len)) + (condition-case result + (setq bunsetsu-info-list (egg-start-conversion + (substring no-prop-source i j) + egg-current-language)) + (error + (setq bunsetsu-info-list (egg-start-conversion-other-languages + (substring no-prop-source i j) + egg-current-language)) + (message "egg %s backend: %s" + egg-current-language (nth 1 result)))) + (egg-insert-bunsetsu-list bunsetsu-info-list + (if (< j len) 'contine t)) + (setq i j)) + (goto-char start))))) + +(defconst egg-chinese-sisheng-regexp + (concat "[" (list (make-char 'chinese-sisheng 32)) + "-" (list (make-char 'chinese-sisheng 127)) + "]+")) + +(defun egg-separate-languages (str &optional last-lang) + (let (lang last-chinese + (len (length str)) i j l) ;; 1st pass -- mark undefined Chinese part - (goto-char start) - (and use-context - (setq last-lang (get-text-property (1- (point)) 'egg-lang)) - (or (equal last-lang "Chinese-GB") (equal last-lang "Chinese-CNS")) - (setq last-chinese last-lang)) - (while (< (point) end) - (setq p (point) - pe (next-single-property-change (point) 'egg-lang nil end)) - (cond - ((get-text-property (point) 'egg-lang) - (goto-char pe) - (setq lang nil)) - ((setq l (egg-chinese-syllable (buffer-substring p pe))) - (goto-char (+ p l)) - (setq lang "Chinese")) - ((progn - (setq c (following-char) - cset (char-charset c)) - (eq cset 'chinese-sisheng)) - (forward-char) - (setq lang "Chinese")) - ((eq cset 'ascii) - (skip-chars-forward "\0-\177" pe) - (if (eq (char-charset (following-char)) 'chinese-sisheng) - (goto-char (max (1+ pp) (- (point) 6)))) - (setq lang nil)) - ((eq cset 'composition) - (forward-char) - (setq lang (egg-charset-to-language - (char-charset (car (decompose-composite-char c 'list)))))) - (t - (skip-chars-forward (concat (vector (make-char cset 33 33)) - "-" - (vector (make-char cset 127 127))) - pe) - (setq lang (egg-charset-to-language cset)))) - (if lang - (put-text-property p (point) 'egg-lang lang))) + (if (or (eq last-lang 'Chinese-GB) (eq last-lang 'Chinese-CNS)) + (setq last-chinese last-lang)) + (setq i 0) + (while (< i len) + (setq j (egg-next-single-property-change i 'egg-lang str len)) + (if (get-text-property i 'egg-lang str) + nil + (setq c (egg-string-to-char-at str i) + cset (char-charset c)) + (cond + ((eq cset 'chinese-sisheng) + (string-match egg-chinese-sisheng-regexp str i) + (setq l (match-end 0) + j (min j l) + lang 'Chinese)) + ((setq l (egg-chinese-syllable str i)) + (setq j (+ i l) + lang 'Chinese)) + ((eq cset 'ascii) + (if (eq (string-match "[\0-\177\240-\377]+" str (1+ i)) (1+ i)) + (setq j (match-end 0)) + (setq j (1+ i))) + (if (and (< j len) + (eq (char-charset (egg-string-to-char-at str j)) + 'chinese-sisheng)) + (setq j (max (1+ i) (- j 6)))) + (setq lang nil)) + ((eq cset 'composition) + (setq j (+ i (egg-char-bytes c)) + lang (egg-charset-to-language + (char-charset + (car (decompose-composite-char c 'list)))))) + (t + (string-match (concat "[" (list (make-char cset 32 32)) + "-" (list (make-char cset 127 127)) + "]+") + str i) + (setq j (match-end 0) + lang (egg-charset-to-language cset)))) + (if lang + (put-text-property i j 'egg-lang lang str))) + (setq i j)) ;; 2nd pass -- set language property - (goto-char start) - (while (< (point) end) - (setq lang (get-text-property (point) 'egg-lang)) + (setq i 0) + (while (< i len) + (setq lang (get-text-property i 'egg-lang str)) (cond ((null lang) (setq lang (or last-lang - (egg-next-part-lang end)))) - ((equal lang "Chinese") + (egg-next-part-lang str i)))) + ((equal lang 'Chinese) (setq lang (or last-chinese - (egg-next-chinese-lang end))))) + (egg-next-chinese-lang str i))))) (setq last-lang lang) - (if (or (equal lang "Chinese-GB") (equal lang "Chinese-CNS")) + (if (or (eq lang 'Chinese-GB) (eq lang 'Chinese-CNS)) (setq last-chinese lang)) - (setq p (point)) - (goto-char (next-single-property-change (point) 'egg-lang nil end)) - (set-text-properties p (point) (list 'egg-lang lang))))) + (setq j i + i (egg-next-single-property-change i 'egg-lang str len)) + (set-text-properties j i (list 'egg-lang lang) str)))) (defun egg-charset-to-language (charset) (let ((list language-info-alist)) (while (and list (null (memq charset (assq 'charset (car list))))) (setq list (cdr list))) - (car (car list)))) - -(defun egg-next-part-lang (end) - (let* ((p (next-single-property-change (point) 'egg-lang nil end)) - (lang (get-text-property p 'egg-lang))) - (if (equal lang "Chinese") - (egg-next-chinese-lang end) + (if list + (intern (car (car list)))))) + +(defun egg-next-part-lang (str pos) + (let ((lang (get-text-property + (egg-next-single-property-change pos 'egg-lang str (length str)) + 'egg-lang str))) + (if (eq lang 'Chinese) + (egg-next-chinese-lang str pos) (or lang its-current-language egg-default-language)))) -(defun egg-next-chinese-lang (end) - (let (p lang) - (setq p (point)) - (while (and (< p end) (null lang)) - (setq p (next-single-property-change p 'egg-lang nil end)) - (setq lang (get-text-property p 'egg-lang)) - (if (null (or (equal lang "Chinese-GB") - (equal lang "Chinese-CNS"))) +(defun egg-next-chinese-lang (str pos) + (let ((len (length str)) lang) + (while (and (< pos len) (null lang)) + (setq pos (egg-next-single-property-change pos 'egg-lang str len) + lang (get-text-property pos 'egg-lang str)) + (if (null (or (eq lang 'Chinese-GB) + (eq lang 'Chinese-CNS))) (setq lang nil))) (cond (lang lang) - ((or (equal its-current-language "Chinese-GB") - (equal its-current-language "Chinese-CNS")) - its-current-language) - ((or (equal egg-default-language "Chinese-GB") - (equal egg-default-language "Chinese-CNS")) - egg-default-language) - (t "Chinese-GB")))) + ((eq its-current-language 'Chinese-GB) 'Chinese-GB) + ((eq its-current-language 'Chinese-CNS) 'Chinese-CNS) + ((eq egg-default-language 'Chinese-GB) 'Chinese-GB) + ((eq egg-default-language 'Chinese-CNS) 'Chinese-CNS) + (t 'Chinese-GB)))) -(require 'its-keydef) - (defvar egg-conversion-map (let ((map (make-sparse-keymap)) (i 33)) @@ -352,39 +363,45 @@ (define-key map [right] 'egg-forward-bunsetsu) (define-key map [left] 'egg-backward-bunsetsu) (define-key map " " 'egg-next-candidate) - (its-define-select-keys map) map) "Keymap for EGG Conversion mode.") +(fset 'egg-conversion-map egg-conversion-map) + (defun egg-exit-conversion-unread-char () (interactive) (setq unread-command-events (list last-command-event)) (egg-exit-conversion)) -(defun egg-insert-bunsetsu (bunsetsu-info last) - (let ((bunsetsu (egg-get-bunsetsu-converted bunsetsu-info)) - (p (point)) p1) - (insert bunsetsu) - (setq p1 (point)) +(defun egg-make-bunsetsu (bunsetsu-info last) + (let ((bunsetsu (copy-sequence (egg-get-bunsetsu-converted bunsetsu-info))) + len len1) + (setq len1 (length bunsetsu)) (if (null (eq last t)) - (insert egg-conversion-separator)) - (set-text-properties p (point) + (setq bunsetsu (concat bunsetsu egg-conversion-separator))) + (setq len (length bunsetsu)) + (set-text-properties 0 len (list 'read-only t (egg-bunsetsu-info) bunsetsu-info 'egg-backend egg-conversion-backend 'egg-lang egg-current-language 'egg-bunsetsu-last last - 'local-map egg-conversion-map)) + 'local-map 'egg-conversion-map) + bunsetsu) (if egg-conversion-face - (put-text-property p p1 'face (egg-get-conversion-face))))) + (egg-set-face 0 len1 (egg-get-conversion-face) bunsetsu)) + bunsetsu)) (defun egg-insert-bunsetsu-list (bunsetsu-info-list &optional last) (let ((l bunsetsu-info-list) - bunsetsu-info) + bunsetsu-info bunsetsu) (while l (setq bunsetsu-info (car l) - l (cdr l)) - (egg-insert-bunsetsu bunsetsu-info (and (null l) last))))) + l (cdr l) + bunsetsu (cons (egg-make-bunsetsu bunsetsu-info + (and (null l) last)) + bunsetsu))) + (apply 'insert (nreverse bunsetsu)))) (defun egg-beginning-of-conversion-buffer (n) (interactive "p") @@ -431,13 +448,13 @@ (egg-get-bunsetsu-info (- p 2)))) (defun egg-separate-characters (str) - (let* ((v (string-to-vector str)) + (let* ((v (egg-string-to-vector str)) (len (length v)) (i 0) (j 0) m n (nchar 0)) (while (< i len) (if (setq n (egg-chinese-syllable str j)) - (setq m (chars-in-string (substring str j (+ j n)))) - (setq m 1 n (char-bytes (aref v i)))) + (setq m (egg-chars-in-period str j n)) + (setq m 1 n (egg-char-bytes (aref v i)))) (put-text-property j (+ j n) 'egg-char-size n str) (setq nchar (1+ nchar) i (+ i m) j (+ j n))) nchar)) @@ -486,6 +503,10 @@ (if beep (ding)))) +(defvar egg-conversion-wrap-select nil + "*Candidate selection wraps around to first candidate, if non-nil. +Otherwise stop at the last candidate.") + (defun egg-next-candidate (n) (interactive "p") (let ((inhibit-read-only t) @@ -503,17 +524,21 @@ (setq i (egg-get-current-candidate-number b)) (setq i (+ n i))) (if (null max+) - (setq beep t) - (if (< i 0) ; go backward as if it is ring - (while (< i 0) - (setq i (+ i max+)))) - (if (>= i max+) ; don't go forward - (setq i (1- max+) - beep t)) + (setq beep t) + (cond + ((< i 0) ; go backward as if it is ring + (while (< i 0) + (setq i (+ i max+)))) + ((< i max+)) ; OK + (egg-conversion-wrap-select ; go backward as if it is ring + (while (>= i max+) + (setq i (- i max+)))) + ((setq i (1- max+) ; don't go forward + beep t))) (setq new (egg-decide-candidate b i)) (setq p (point)) (delete-region p (progn (forward-char) (point))) - (egg-insert-bunsetsu new last) + (insert (egg-make-bunsetsu new last)) (goto-char p)) (if beep (ding)))) @@ -559,46 +584,44 @@ (defun egg-decide-before-point () (interactive) (let ((inhibit-read-only t) - (len (length egg-conversion-open)) - bunsetsu-list bl (p (point)) source lang s) - (save-restriction - (if (null (get-text-property (1- (point)) 'egg-start)) - (goto-char (previous-single-property-change (point) 'egg-start))) - (narrow-to-region (- (point) len) p) - (setq bunsetsu-list (setq bl (list nil))) - (while (< (point) (point-max)) - ;; delete sparator/open marker - (delete-region (- (point) len) (point)) - (setq len 1 - bl (setcdr bl (list (egg-get-bunsetsu-info (point))))) - (if (get-text-property (point) 'egg-bunsetsu-last) - (progn - (egg-end-conversion (cdr bunsetsu-list)) - (setq bunsetsu-list (setq bl (list nil))))) - (setq p (point)) - (forward-char) - (set-text-properties p (point) nil))) - (if (cdr bunsetsu-list) - (egg-end-conversion (cdr bunsetsu-list))) - (if (get-text-property (point) 'egg-end) + start end len decided undecided bunsetsu source) + (setq start (if (get-text-property (1- (point)) 'egg-start) + (point) + (previous-single-property-change (point) 'egg-start)) + end (if (get-text-property (point) 'egg-end) + (point) + (next-single-property-change (point) 'egg-end)) + decided (buffer-substring start (point)) + undecided (buffer-substring (point) end)) + (delete-region (- start (length egg-conversion-open)) + (+ end (length egg-conversion-close))) + (setq i 0 + len (length decided)) + (while (< i len) + (setq bunsetsu (cons (egg-get-bunsetsu-info i decided) bunsetsu) + i (egg-next-single-property-change + i (egg-bunsetsu-info) decided len)) + (if (or (= i len) + (get-text-property (1- i) 'egg-bunsetsu-last decided)) + (progn + (setq bunsetsu (nreverse bunsetsu)) + (apply 'insert (mapcar (lambda (b) (egg-get-bunsetsu-converted b)) + bunsetsu)) + (egg-end-conversion bunsetsu nil) + (setq bunsetsu nil)))) + (setq len (length undecided)) + (if (= len 0) (progn - ;; delete close marker - (delete-region (point) (+ (point) (length egg-conversion-close))) (egg-do-auto-fill) (run-hooks 'input-method-after-insert-chunk-hook)) - ;; delete from last speparater - (delete-region (1- (point)) (point)) - (setq source "") - (while (null (get-text-property (point) 'egg-end)) - (setq s (egg-get-bunsetsu-source (egg-get-bunsetsu-info (point)))) - (put-text-property 0 (length s) 'egg-lang egg-current-language s) - (setq source (concat source s)) - (setq p (point)) - (forward-char) - (delete-region p (point))) - ;; delete close marker - (delete-region (point) (+ (point) (length egg-conversion-close))) - (its-restart source t)))) + (setq i 0) + (while (< i len) + (setq source (cons (egg-get-bunsetsu-source + (egg-get-bunsetsu-info i undecided)) + source) + i (egg-next-single-property-change + i (egg-bunsetsu-info) undecided len))) + (its-restart (apply 'concat (nreverse source)) t)))) (defun egg-exit-conversion () (interactive) @@ -615,7 +638,8 @@ (setq source (get-text-property (point) 'egg-source)) (delete-region (point) (+ (next-single-property-change (point) 'egg-end) (length egg-conversion-close))) - (its-restart source))) + (its-restart source) + (its-end-of-input-buffer))) (defun egg-select-candidate () (interactive) @@ -649,7 +673,7 @@ (setq new (egg-decide-candidate b i)) (setq p (point)) (delete-region p (progn (forward-char) (point))) - (egg-insert-bunsetsu new last) + (insert (egg-make-bunsetsu new last)) (goto-char p))))) (provide 'egg-cnv) diff --git a/egg-com.el b/egg-com.el index d9a97fe..1a26c8f 100644 --- a/egg-com.el +++ b/egg-com.el @@ -10,7 +10,7 @@ ;; KATAYAMA Yoshio ; Korean, Chinese support. ;; Maintainer: NIIBE Yutaka -;; This file will be part of GNU Emacs (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -31,6 +31,8 @@ ;;; Code: +(require 'egg-edep) + (defvar egg-fixed-euc 'fixed-euc-jp) (make-variable-buffer-local 'egg-fixed-euc) @@ -60,30 +62,24 @@ (r0 = (r1 | ?\x80)) (write-read-repeat r0))))))))) -(define-ccl-program ccl-encode-fixed-euc +(define-ccl-program ccl-encode-fixed-euc-jp `(2 ((read r0) (loop -; (if (r0 < ?\x20) -; (write-read-repeat r0)) - (if (r0 == ,(charset-id 'latin-jisx0201)) ; Unify + (if (r0 == ,(charset-id 'latin-jisx0201)) ; Unify ((read r0) (r0 &= ?\x7f))) - (if (r0 < ?\x80) + (if (r0 < ?\x80) ;G0 ((write 0) (write-read-repeat r0))) (r6 = (r0 == ,(charset-id 'japanese-jisx0208))) (r6 |= (r0 == ,(charset-id 'japanese-jisx0208-1978))) - (r6 |= (r0 == ,(charset-id 'chinese-gb2312))) - (r6 |= (r0 == ,(charset-id 'korean-ksc5601))) (if r6 ;G1 ((read r0) (write r0) (read r0) (write-read-repeat r0))) - (r6 = (r0 == ,(charset-id 'katakana-jisx0201))) - (r6 |= (r0 == ,(charset-id 'chinese-sisheng))) - (if r6 ;G2 + (if (r0 == ,(charset-id 'katakana-jisx0201)) ;G2 ((read r0) (write 0) (write-read-repeat r0))) @@ -98,7 +94,7 @@ ) (make-coding-system 'fixed-euc-jp 4 ?W "Coding System for fixed EUC Japanese" - (cons ccl-decode-fixed-euc-jp ccl-encode-fixed-euc)) + (cons ccl-decode-fixed-euc-jp ccl-encode-fixed-euc-jp)) ;; Korean @@ -119,17 +115,13 @@ `(2 ((read r0) (loop -; (if (r0 < ?\x20) -; (write-read-repeat r0)) (if (r0 < ?\x80) ((write 0) (write-read-repeat r0))) (if (r0 == ,(charset-id 'korean-ksc5601)) ((read r0) - (r0 |= ?\x80) (write r0) (read r0) - (r0 |= ?\x80) (write-read-repeat r0))) (read r0) (repeat))))) @@ -416,20 +408,23 @@ ?\x0000 ]) -(defun egg-chinese-syllable (str &optional start) - (if start - (setq str (substring str start))) +(defconst egg-chinese-syllable-max-len + (max (length "Zhu(0!(Bng(0@(B") (length "(0ShdA(B"))) + +(defun egg-chinese-syllable (str pos) + (setq str (substring str pos (min (length str) + (+ pos egg-chinese-syllable-max-len)))) (or (car (egg-pinyin-syllable str)) (car (egg-zhuyin-syllable str)))) (defsubst egg-make-fixed-euc-china-code (s y) - (concat (list - (+ (* 2 (nth 1 y)) (logand (nth 2 y) 1) 32) - (+ (* 4 (if (= s 0) 20 s)) (lsh (nth 2 y) -1) 156)))) + (cons + (+ (* 2 (nth 1 y)) (logand (nth 2 y) 1) 32) + (+ (* 4 (if (= s 0) 20 s)) (lsh (nth 2 y) -1) 156))) (defun egg-pinyin-syllable (str) (let (s y end) - (if (string-match "^[A-Za-z(0!(B-(0?(B]+(0@(B" str) + (if (eq (string-match "^[A-Za-z(0!(B-(0?(B]+(0@(B" str) 0) (progn (setq end (match-end 0)) (cond @@ -444,8 +439,8 @@ (cons end (egg-make-fixed-euc-china-code s y))))))) (defun egg-zhuyin-syllable (str) - (let (end s y c z (zhuyin-len (charset-bytes 'chinese-sisheng))) - (if (string-match "^[(0E(B-(0i(B@0-4]+[(0@ABCD(B]" str) + (let (end s y c z (zhuyin-len (egg-charset-bytes 'chinese-sisheng))) + (if (eq (string-match "^[(0E(B-(0i(B@0-4]+[(0@ABCD(B]" str) 0) (progn (setq end (match-end 0) c (substring str 0 zhuyin-len) @@ -465,21 +460,22 @@ (defun encode-fixed-euc-china-region (beg end type) "Encode the text in the region to EUC-CN/TW." - (let (s syl c cset (maxlen (max (length "Zhu(0!(Bng(0@(B") (length "(0ShdA(B")))) + (let (s syl c cset) (save-excursion (save-restriction (narrow-to-region beg end) (goto-char (point-min)) (while (< (point) (point-max)) - (setq s (buffer-substring (point) - (min (+ (point) maxlen) (point-max)))) + (setq s (buffer-substring + (point) + (min (point-max) (+ (point) egg-chinese-syllable-max-len)))) (cond ((setq syl (egg-pinyin-syllable s)) (delete-region (point) (+ (point) (car syl))) - (insert (cdr syl))) + (insert (car (cdr syl)) (cdr (cdr syl)))) ((setq syl (egg-zhuyin-syllable s)) (delete-region (point) (+ (point) (car syl))) - (insert (cdr syl))) + (insert (car (cdr syl)) (cdr (cdr syl)))) (t (setq c (split-char (following-char)) cset (car c)) @@ -494,9 +490,11 @@ ((eq cset 'chinese-sisheng) (delete-char 1) (insert 0 (+ (nth 1 c) 128))) + ((eq cset 'ascii) + (delete-char 1) + (insert 0 (nth 1 c))) (t - (delete-region (point) (1+ (point))) - (insert 0 (nth 1 c))))))) + (delete-char 1)))))) (- (point-max) (point-min)))))) (defun pre-write-encode-fixed-euc-china (from to type) @@ -504,9 +502,11 @@ (work (get-buffer-create " *pre-write-encoding-work*"))) (set-buffer work) (erase-buffer) - (if (stringp from) - (insert from) - (insert-buffer-substring buf from to)) + (if (null (stringp from)) + (save-excursion + (set-buffer buf) + (setq from (buffer-substring from to)))) + (insert (string-as-multibyte from)) (encode-fixed-euc-china-region 1 (point-max) type) nil)) @@ -519,54 +519,56 @@ (defun decode-fixed-euc-china-region (beg end type) "Decode EUC-CN/TW encoded text in the region. Return the length of resulting text." - (interactive "r") (prog1 - (let (c0 c1 s y ss) - (save-restriction - (narrow-to-region beg end) - (goto-char (point-min)) - (while (< (point) (point-max)) - (setq c1 (buffer-substring (point) (+ (point) 2)) - c0 (aref c1 0) - c1 (aref c1 1)) - (delete-region (point) (+ (point) 2)) + (let ((str (string-as-unibyte (buffer-substring beg end))) + (i 0) + l c0 c1 s y ss) + (delete-region beg end) + (setq l (1- (length str))) + (while (< i l) + (setq c0 (aref str i) + c1 (aref str (1+ i)) + i (+ i 2)) + (cond + ((eq c0 0) + (if (> c1 ?\xa0) + (insert leading-code-private-11 + (charset-id 'chinese-sisheng) + c1) + (insert c1))) + ((>= c0 ?\x80) (cond - ((eq c0 0) - (if (> c1 ?\xa0) - (insert leading-code-private-11 - (charset-id 'chinese-sisheng) - c1) - (insert c1))) + ((eq type 'cn) + (insert (charset-id 'chinese-gb2312) c0 (logior c1 ?\x80))) ((>= c0 ?\x80) - (cond - ((eq type 'cn) - (insert (charset-id 'chinese-gb2312) c0 (logior c1 ?\x80))) - ((>= c0 ?\x80) - (insert (charset-id 'chinese-cns11643-1) c0 c1)) - (t - (insert (charset-id 'chinese-cns11643-2) c0 (+ c1 ?\x80))))) + (insert (charset-id 'chinese-cns11643-1) c0 c1)) (t - (setq c1 (logand c1 ?\x7f)) - (setq s (- (lsh c1 -2) 7) ;;(+ (lsh (- c1 32) -2) 1) - y (- (lsh c0 -1) 16) ;;(lsh (- c0 32) -1) - ss (+ (logand c0 1) (logand c1 3))) - (if egg-zhuyin - (progn - (setq c0 (aref yincode-zhuyin-table (+ (* 41 s) y))) - (if (eq (logand c0 ?\x8080) ?\x80) - (setq s (lsh c0 -8) - y (logand c0 ?\x7f))) - (if (and (eq s 20) - (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0)) - (setq s 0)) - (insert (car (nth s yincode-zhuyin-shengmu)) - (car (nth (+ (* 5 y) ss) yincode-zhuyin-yunmu)))) - (if (and (eq s 20) - (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0)) - (setq s 0)) - (insert (car (nth s yincode-pinyin-shengmu)) - (car (nth (+ (* 5 y) ss) yincode-pinyin-yunmu))))))) - (- (point-max) (point-min)))) + (insert (charset-id 'chinese-cns11643-2) c0 (+ c1 ?\x80))))) + (t + (setq c1 (logand c1 ?\x7f)) + (setq s (- (lsh c1 -2) 7);;(+ (lsh (- c1 32) -2) 1) + y (- (lsh c0 -1) 16);;(lsh (- c0 32) -1) + ss (+ (logand c0 1) (logand c1 3))) + (if egg-zhuyin + (progn + (setq c0 (aref yincode-zhuyin-table (+ (* 41 s) y))) + (if (eq (logand c0 ?\x8080) ?\x80) + (setq s (lsh c0 -8) + y (logand c0 ?\x7f))) + (if (and (eq s 20) + (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0)) + (setq s 0)) + (setq s (car (nth s yincode-zhuyin-shengmu)) + y (car (nth (+ (* 5 y) ss) yincode-zhuyin-yunmu)))) + (if (and (eq s 20) + (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0)) + (setq s 0)) + (setq s (car (nth s yincode-pinyin-shengmu)) + y (car (nth (+ (* 5 y) ss) yincode-pinyin-yunmu)))) + (if enable-multibyte-characters + (insert s y) + (insert (string-as-unibyte s) (string-as-unibyte y)))))) + (- (point) beg)) (if (looking-at "\0\0") (forward-char 2)))) (defun post-read-decode-fixed-euc-china (len type) @@ -582,13 +584,13 @@ Return the length of resulting text." (defun post-read-decode-euc-tw (len) (post-read-decode-fixed-euc-china len 'tw)) -(make-coding-system 'fixed-euc-cn 5 ?W "Coding System for fixed EUC Chinese-gb2312") -(put 'fixed-euc-cn 'pre-write-conversion 'pre-write-encode-euc-cn) -(put 'fixed-euc-cn 'post-read-conversion 'post-read-decode-euc-cn) +(make-coding-system 'fixed-euc-cn 0 ?W "Coding System for fixed EUC Chinese-gb2312") +(coding-system-put 'fixed-euc-cn 'pre-write-conversion 'pre-write-encode-euc-cn) +(coding-system-put 'fixed-euc-cn 'post-read-conversion 'post-read-decode-euc-cn) -(make-coding-system 'fixed-euc-tw 5 ?W "Coding System for fixed EUC Chinese-cns11643") -(put 'fixed-euc-tw 'pre-write-conversion 'pre-write-encode-euc-tw) -(put 'fixed-euc-tw 'post-read-conversion 'post-read-decode-euc-tw) +(make-coding-system 'fixed-euc-tw 0 ?W "Coding System for fixed EUC Chinese-cns11643") +(coding-system-put 'fixed-euc-tw 'pre-write-conversion 'pre-write-encode-euc-tw) +(coding-system-put 'fixed-euc-tw 'post-read-conversion 'post-read-decode-euc-tw) (defsubst comm-format-u32c (uint32c) (let ((h0 (car uint32c)) @@ -649,6 +651,9 @@ Return the length of resulting text." (insert s) (insert-char 0 1)) +(defsubst comm-format-u8-vector (s) + (insert (concat s))) + (defsubst comm-format-bytes (s) (insert s) (insert-char 255 1)) @@ -661,7 +666,8 @@ w means unsigned 16-bit in big endian. b means unsigned 8-bit. S means 16-bit(big endian) wide-character string (0x0000 terminated). E means multibyte string (0x00 terminated). -s means 8-bit string (0x00 terminated)." +s means 8-bit string (0x00 terminated). +v means 8-bit vector." (let ((p args) result arg f) (while format (setq arg (car p)) @@ -672,6 +678,7 @@ s means 8-bit string (0x00 terminated)." (cond ((eq f 'U) (list 'comm-format-u32c arg)) ((eq f 'u) (list 'comm-format-u32 arg)) ((eq f 'i) (list 'comm-format-i32 arg)) + ((eq f 'v) (list 'comm-format-u8-vector arg)) ((eq f 'w) (list 'comm-format-u16 arg)) ((eq f 'b) (list 'comm-format-u8 arg)) ((eq f 'S) (list 'comm-format-u16-string arg)) @@ -739,20 +746,22 @@ s means 8-bit string (0x00 terminated)." (let ((start (point))) (while (not (search-forward "\0\0" nil t)) (comm-accept-process-output proc)) - (set s (buffer-substring start - (+ start - (decode-coding-region start (- (point) 2) - egg-fixed-euc)))))) + (set s (string-as-multibyte + (buffer-substring start + (+ start + (decode-coding-region start (- (point) 2) + egg-fixed-euc))))))) ;;; XXX should support other conversion (euc-kr, cns) (defsubst comm-unpack-mb-string (proc s) (let ((start (point))) (while (not (search-forward "\0" nil t)) (comm-accept-process-output proc)) - (set s (buffer-substring start - (+ start - (decode-coding-region start (- (point) 1) - egg-mb-euc)))))) + (set s (string-as-multibyte + (buffer-substring start + (+ start + (decode-coding-region start (- (point) 1) + egg-mb-euc))))))) (defsubst comm-unpack-u8-string (proc s) (let ((start (point))) diff --git a/egg-edep.el b/egg-edep.el new file mode 100644 index 0000000..2d1e3d9 --- /dev/null +++ b/egg-edep.el @@ -0,0 +1,44 @@ +;; This file serves Emacs version dependent definitions + +(if (and (fboundp 'set-buffer-multibyte) + (subrp (symbol-function 'set-buffer-multibyte))) + ;; Emacs 20.3 + (progn + (defun egg-char-bytes (x) 1) + (defun egg-charset-bytes (x) 1) + (defun egg-char-bytes-at (str pos) 1) + (defun egg-chars-in-period (str pos len) len) + (defalias 'egg-string-to-vector 'identity) + (defalias 'egg-string-to-char-at 'aref) + ) + ;; Emacs 20.2 + (defun set-buffer-multibyte (flag) + (setq enable-multibyte-characters flag)) + (defalias 'string-as-unibyte 'identity) + (defalias 'string-as-multibyte 'identity) + (defalias 'coding-system-put 'put) + + (defalias 'egg-char-bytes 'char-bytes) + (defalias 'egg-charset-bytes 'charset-bytes) + (defun egg-char-bytes-at (str pos) + (char-bytes (egg-string-to-char-at str pos))) + (defun egg-chars-in-period (str pos len) + (chars-in-string (substring str pos (+ pos len)))) + (defalias 'egg-string-to-vector 'string-to-vector) + (defun egg-string-to-char-at (str pos) + (let ((c (aref str pos))) + (if (or (< c ?\200) + (>= c ?\240) + (>= (1+ pos) (length str)) + (< (aref str (1+ pos)) ?\240)) + c + (string-match "[\240-\377]+" str (1+ pos)) + (string-to-char (substring str pos (match-end 0)))))) + ) + +;; Elisp bug fix + +(defun egg-next-single-property-change (pos prop &optional object limit) + (min limit (next-single-property-change pos prop object (1+ limit)))) + +(provide 'egg-edep) diff --git a/egg-face.el b/egg-face.el new file mode 100644 index 0000000..11d8fd4 --- /dev/null +++ b/egg-face.el @@ -0,0 +1,33 @@ +(setq debug-on-error t) + +(defvar egg-face-color-Japanese '("Blue" . "Cyan")) +(defvar egg-face-color-Chinese-GB '("Red" . "OrangeRed")) +(defvar egg-face-color-Chinese-CNS '("Purple" . "Violet")) +(defvar egg-face-color-Korean '("ForestGreen" . "Green")) +(defvar egg-face-color-other + (cons (frame-parameter (selected-frame) 'foreground-color) + (frame-parameter (selected-frame) 'foreground-color))) + +(defconst egg-face-lang-names + '("Japanese" "Chinese-GB" "Chinese-CNS" "Korean" "t")) + +(defun egg-make-face (lang) + (let ((mode (eq (frame-parameter (selected-frame) 'background-mode) 'light)) + (face (make-face (intern (concat "egg-face-" lang)))) + (color (intern (concat "egg-face-color-" lang)))) + (setq color (and (boundp color) (symbol-value color))) + (set-face-foreground face + (if (consp color) + (if mode (car color) (cdr color)) + color)) + face)) + +(defconst its-fence-face + (if window-system + (mapcar (lambda (lang) + (let ((lang-name (if (equal lang "t") "other" lang))) + (cons (intern lang) + (egg-make-face lang-name)))) + egg-face-lang-names))) + +(defconst egg-conversion-face its-fence-face) diff --git a/egg-mlh.el b/egg-mlh.el index a520acf..1c9aefe 100644 --- a/egg-mlh.el +++ b/egg-mlh.el @@ -10,7 +10,7 @@ ;; Maintainer: NIIBE Yutaka ;; Keywords: mule, multilingual, input method -;; This file will be part of GNU Emacs (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -33,6 +33,8 @@ ;;; Code: +(defvar mlh-default-backend "wnn") + (defun mlh-space-bar-backward-henkan () "If the character preceding point is / (slash), Do `mlh-backward-henkan'. Then, invoke appropriate conversion, if needed. @@ -41,7 +43,12 @@ Or else, execute command that space-bar invokes usually." (let ((henkan-begin nil) (inhibit-henkan t) (its-disable-special-action t)) - (its-select-hiragana) ;; force to Japanese + (if (null (assq 'Japanese egg-conversion-backend-alist)) + (progn + (setq egg-mode-preference nil) + (activate-input-method (concat "japanese-egg-" mlh-default-backend))) + ;; force to Japanese + (its-select-hiragana)) (mlh-backward-henkan) (if henkan-begin (if (or inhibit-henkan (= henkan-begin (point))) diff --git a/egg.el b/egg.el index a88bcf2..601c981 100644 --- a/egg.el +++ b/egg.el @@ -9,7 +9,7 @@ ;; Maintainer: NIIBE Yutaka ;; Keywords: mule, multilingual, input method -;; This file will be part of GNU Emacs (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -29,10 +29,12 @@ ;;; Commentary: ;;; Code: +(require 'egg-edep) + (defvar egg-mode-preference t "Non-nil if modefull.") -(defvar egg-default-language "Japanese") +(defvar egg-default-language) (defvar egg-last-method-name) (make-variable-buffer-local 'egg-last-method-name) @@ -53,6 +55,7 @@ (setq describe-current-input-method-function nil) (setq current-input-method nil) (use-local-map (keymap-parent (current-local-map))) + (remove-hook 'input-method-activate-hook 'its-set-mode-line-title t) (force-mode-line-update)) ;; Turn on (if (null (string= (car arg) egg-last-method-name)) @@ -66,7 +69,8 @@ (egg-modeless-map))) (setq inactivate-current-input-method-function 'egg-mode) (setq describe-current-input-method-function 'egg-help) - (add-hook 'input-method-activate-hook 'its-set-mode-line-title))) + (make-local-hook 'input-method-activate-hook) + (add-hook 'input-method-activate-hook 'its-set-mode-line-title nil t))) (defun egg-modefull-map () "Generate modefull keymap for EGG mode." @@ -92,6 +96,96 @@ (interactive) (its-start last-command-char)) +(defvar egg-mark-list nil) +(defvar egg-suppress-marking nil) + +(defun egg-set-face (beg eng face &optional object) + (put face 'face face) + (add-text-properties beg eng + (list 'category face + 'egg-face t + 'modification-hooks '(egg-mark-modification)) + object)) + +(defun egg-mark-modification (beg end) + (if (and (null egg-suppress-marking) + (or (get-text-property beg 'egg-face) + (setq beg (next-single-property-change beg 'egg-face))) + (or (get-text-property (1- end) 'egg-face) + (setq end (previous-single-property-change end 'egg-face))) + (< beg end)) + (let ((list egg-mark-list) + (found 0) + pair mb me b e) + (add-hook 'post-command-hook 'egg-redraw-face t) + (setq list egg-mark-list) + (while (and list (< found 2)) + (setq pair (car list) + list (cdr list) + mb (car pair) + me (cdr pair) + b (marker-position mb) + e (marker-position me)) + (cond + ;; no overwrapping -- SKIP + ((or (null (eq (marker-buffer mb) (current-buffer))) + (or (> beg e) (< end b)))) + ;; completely included + ((and (>= beg b) (<= end e)) + (setq found 3)) + ;; partially overwrapping + (t + (set-marker mb nil) + (set-marker me nil) + (setq egg-mark-list (delete pair egg-mark-list) + beg (min beg b) + end (max end e) + found (1+ found))))) + (if (< found 3) + (progn + (setq b (make-marker) + e (make-marker) + egg-mark-list (cons (cons b e) egg-mark-list)) + (set-marker b beg) + (set-marker e end)))))) + +(defun egg-redraw-face () + (let ((inhibit-read-only t) + (inhibit-point-motion-hooks t) + (egg-suppress-marking t) + (list egg-mark-list) + (org-buffer (current-buffer)) + (org-point (point)) + mb me b e p) + (setq egg-mark-list nil) + (remove-hook 'post-command-hook 'egg-redraw-face) + (while list + (setq mb (car (car list)) + me (cdr (car list)) + list (cdr list)) + (when (marker-buffer mb) + (set-buffer (marker-buffer mb)) + (let ((before-change-functions nil) (after-change-functions nil)) + (save-restriction + (widen) + (setq b (max mb (point-min)) + e (min me (point-max))) + (set-marker mb nil) + (set-marker me nil) + (while (< b e) + (if (null (get-text-property b 'egg-face)) + (setq b (next-single-property-change b 'egg-face nil e))) + (setq p (next-single-property-change b 'egg-face nil e)) + (when (< b p) + (goto-char b) + (setq str (buffer-substring b p)) + (delete-region b p) + (remove-text-properties 0 (- p b) '(face) str) + (insert str) + (setq b p))))))) + (set-buffer org-buffer) + (goto-char org-point))) + (defun egg-hinshi-select () (menudiag-select ; Should generate at initialization time '(menu "$BIJ;lL>(B:" @@ -163,17 +257,6 @@ (defgroup egg nil "Tamagotchy --- EGG Versio 4.0") -;;(load-library "its/hira") -;;(setq-default its-current-map its-hira-map) - -;;(load-library "egg/wnn") -;;(load-library "egg/wnnrpc") -;;(setq egg-conversion-backend wnn-conversion-backend) - -;;(load-library "egg/sj3rpc") -;;(load-library "egg/sj3") -;;(setq egg-conversion-backend sj3-conversion-backend) - (defvar egg-support-languages nil) (defun egg-set-support-languages (langs) diff --git a/egg/canna.el b/egg/canna.el new file mode 100644 index 0000000..c401aa2 --- /dev/null +++ b/egg/canna.el @@ -0,0 +1,287 @@ +;;; egg/canna.el --- Canna Support (high level interface) in +;;; Egg Input Method Architecture + +;; Copyright (C) 1998 Mule Project, +;; Powered by Electrotechnical Laboratory, JAPAN. +;; Project Leader: Satoru Tomura + +;; Author: NIIBE Yutaka +;; Maintainer: NIIBE Yutaka + +;; This file is part of EGG. + +;; EGG is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; EGG is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Code: + +(require 'egg-edep) + +(defconst canna-support-languages '(Japanese)) + +(eval-when-compile + (defmacro CANNA-const (c) + (cond ((eq c 'FileNotExist) xxxxxxxxxxxxxx) + ))) + +(defconst canna-conversion-backend + [ canna-init + + canna-start-conversion + canna-get-bunsetsu-converted + canna-get-bunsetsu-source + canna-list-candidates + canna-get-number-of-candidates + canna-get-current-candidate-number + canna-get-all-candidates + canna-decide-candidate + canna-change-bunsetsu-length + canna-end-conversion + nil + + canna-fini + ]) + +(defconst canna-server-port 5680 "Port number of Canna server") +(defvar canna-hostname "localhost" + "Hostname of Canna server") + +(defun canna-open (hostname) + "Establish the connection to CANNA server. Return environment object." + (let* ((buf (generate-new-buffer " *CANNA*")) + (proc (open-network-stream "CANNA" buf hostname canna-server-port)) + result) + (process-kill-without-query proc) + (set-process-coding-system proc 'no-conversion 'no-conversion) + (set-marker-insertion-type (process-mark proc) t) + (save-excursion + (set-buffer buf) + (erase-buffer) + (buffer-disable-undo) + (set-buffer-multibyte nil)) + (setq result (cannarpc-open proc (user-login-name))) + (if (< result 0) + (let ((msg (cannarpc-get-error-message (- result)))) + (delete-process proc) + (kill-buffer buf) + (error "Can't open CANNA session (%s): %s" hostname msg))) + (vector proc result))) + +;; XXX: Should support multiple outstanding context +;; ::= [ ] +(defvar canna-environment nil + "Environment for CANNA kana-kanji conversion") + +(defsubst cannaenv-get-proc (env) + (aref env 0)) +(defsubst cannaenv-get-context (env) + (aref env 1)) + +;; ::= +;; [ +;; ] +(defsubst canna-make-bunsetsu (env converted bunsetsu-pos) + (vector env converted bunsetsu-pos nil nil nil)) + +(defsubst cannabunsetsu-get-env (b) + (aref b 0)) +(defsubst cannabunsetsu-get-converted (b) + (aref b 1)) +(defsubst cannabunsetsu-get-bunsetsu-pos (b) + (aref b 2)) +(defsubst cannabunsetsu-get-source (b) + (aref b 3)) +(defsubst cannabunsetsu-set-source (b s) + (aset b 3 s)) +(defsubst cannabunsetsu-get-zenkouho-pos (b) + (aref b 4)) +(defsubst cannabunsetsu-set-zenkouho-pos (b p) + (aset b 4 p)) +(defsubst cannabunsetsu-get-zenkouho (b) + (aref b 5)) +(defsubst cannabunsetsu-set-zenkouho (b z) + (aset b 5 z)) + +(defun canna-get-bunsetsu-source (b) + (let ((s (cannabunsetsu-get-source b))) + (or s + (let* ((env (cannabunsetsu-get-env b)) + (bp (cannabunsetsu-get-bunsetsu-pos b)) + (s (cannarpc-get-bunsetsu-source env bp))) + (cannabunsetsu-set-source b s))))) + +(defun canna-get-bunsetsu-converted (b) + (cannabunsetsu-get-converted b)) + +(defconst canna-dictionary-specification + '("iroha" + "fuzokugo" + "hojomwd" + "hojoswd" + "bushu" + ("user") + ) + "Dictionary specification of CANNA.") + +(defun canna-filename (p) + "" + (cond ((consp p) (concat (car p) "/" (user-login-name))) + (t p))) + +(defun canna-get-environment () + "Return the backend of CANNA environment." + (if canna-environment + canna-environment + (let* ((env (canna-open canna-hostname)) + (l canna-dictionary-specification) + dict-list) + (while l + (let ((dic (car l)) + result) + (setq result + (canna-open-dictionary env (canna-filename dic))) + (if (= result 255) + (error "Damedamedame") ; XXX + (setq l (cdr l))))) + (setq canna-environment env)))) + +(defun canna-open-dictionary (env name) + (let ((trying t) + ret) + (while trying + (setq ret (cannarpc-open-dictionary env name 0)) ; XXX MODE=0 + (if (= ret 0) + (setq trying nil) + (message "$B<-=q%U%!%$%k(B(%s)$B$,$"$j$^$;$s(B" name) + (setq ret (- ret)) ; Get error code. + (if (and (y-or-n-p + (format "$B<-=q%U%!%$%k(B(%s)$B$,$"$j$^$;$s!#:n$j$^$9$+(B? " + name)) + (= (cannarpc-make-dictionary env name) 0)) + (message "$B<-=q%U%!%$%k(B(%s)$B$r:n$j$^$7$?(B" name) + (error "Fatal")))) + ret)) + +(defun canna-init () + ) + +(defun canna-start-conversion (yomi lang) + "Convert YOMI string to kanji, and enter conversion mode. +Return the list of bunsetsu." + (let ((env (canna-get-environment))) + (cannarpc-begin-conversion env yomi))) + +(defun canna-end-conversion (bunsetsu-list abort) + (let* ((env (cannabunsetsu-get-env (car bunsetsu-list))) + (l bunsetsu-list) + (len (length bunsetsu-list)) + (zenkouho-pos-vector (make-vector (* 2 len) 0)) + (i 0) + (mode 1) ;XXX MODE=1 attru? + bunsetsu zenkouho-pos) + (if abort + (setq mode 0)) + (while l + (setq bunsetsu (car l)) + (setq l (cdr l)) + (setq zenkouho-pos (cannabunsetsu-get-zenkouho-pos bunsetsu)) + (if (null zenkouho-pos) + () ; XXX: NIL--> 0 atteru??? + (aset zenkouho-pos-vector i 0) ; XXX Don't support >=256 + (aset zenkouho-pos-vector (1+ i) zenkouho-pos)) + (setq i (+ i 2))) + (cannarpc-end-conversion env len zenkouho-pos-vector 0))) + +(defun canna-list-candidates (bunsetsu prev-bunsetsu) + (let* ((env (cannabunsetsu-get-env bunsetsu)) + (bunsetsu-pos (cannabunsetsu-get-bunsetsu-pos bunsetsu)) + (z (cannarpc-get-bunsetsu-candidates env bunsetsu-pos))) + (cannabunsetsu-set-zenkouho bunsetsu z) + (cannabunsetsu-set-zenkouho-pos bunsetsu 0) + 0)) + +(defun canna-get-number-of-candidates (bunsetsu) + (let ((l (cannabunsetsu-get-zenkouho bunsetsu))) + (if l + (length l) + nil))) + +(defun canna-decide-candidate (bunsetsu candidate-pos) + (let* ((candidate-list (cannabunsetsu-get-zenkouho bunsetsu)) + (candidate (nth candidate-pos candidate-list))) + (cannabunsetsu-set-zenkouho candidate candidate-list) + (cannabunsetsu-set-zenkouho-pos candidate candidate-pos) + candidate)) + +(defun canna-get-current-candidate-number (bunsetsu) + (cannabunsetsu-get-zenkouho-pos bunsetsu)) + +(defun canna-get-all-candidates (bunsetsu) + (let* ((l (cannabunsetsu-get-zenkouho bunsetsu)) + (result (cons nil nil)) + (r result)) + (catch 'break + (while t + (let ((candidate (car l))) + (setcar r (cannabunsetsu-get-converted candidate)) + (if (null (setq l (cdr l))) + (throw 'break nil) + (setq r (setcdr r (cons nil nil))))))) + result)) + +;;;;;;;;;;;;;;;;;;;;;;; MADAMADA zenzendame, just copy from SJ3 +(defun canna-change-bunsetsu-length (b0 b1 b2 len) + (let ((yomi (concat + (cannabunsetsu-get-source b1) + (if b2 (cannabunsetsu-get-source b2)))) + (env (cannabunsetsu-get-env b1)) + yomi1 yomi2 + bunsetsu1 bunsetsu2) + (setq yomi1 (substring yomi 0 len) + yomi2 (substring yomi len)) + (setq bunsetsu1 + (cannarpc-tanbunsetsu-conversion env yomi1)) + ;; Only set once (memory original length of the bunsetsu). + (cannabunsetsu-set-kugiri-changed bunsetsu1 + (or (cannabunsetsu-get-kugiri-changed b1) + (length (cannabunsetsu-get-source b1)))) + (if (< 0 (length yomi2)) + (setq bunsetsu2 (cannarpc-tanbunsetsu-conversion env yomi2)) + (setq bunsetsu2 nil)) + (if bunsetsu2 + (list bunsetsu1 bunsetsu2) + (list bunsetsu1)))) + +;;;;;;;;;;;;;; MADAMADA +(defun canna-fini (lang) +) + +;;; setup + +(require 'egg) +(load "egg/cannarpc") + +;;;###autoload +(defun egg-activate-canna (&rest arg) + "Activate CANNA backend of Tamagotchy." + (egg-set-support-languages canna-support-languages) + (egg-set-conversion-backend canna-conversion-backend + canna-support-languages + nil) + (apply 'egg-mode arg)) + +;;; egg/canna.el ends here. diff --git a/egg/sj3.el b/egg/sj3.el index 0342dce..865f42b 100644 --- a/egg/sj3.el +++ b/egg/sj3.el @@ -1,14 +1,14 @@ ;;; egg/sj3.el --- SJ3 Support (high level interface) in Egg ;;; Input Method Architecture -;; Copyright (C) 1997 Mule Project, Powered by Electrotechnical -;; Laboratory, JAPAN. +;; Copyright (C) 1997, 1998 Mule Project, +;; Powered by Electrotechnical Laboratory, JAPAN. ;; Project Leader: Satoru Tomura ;; Author: NIIBE Yutaka ;; Maintainer: NIIBE Yutaka -;; This file will be part of GNU Emacs (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -29,7 +29,14 @@ ;;; Code: -(defconst sj3-support-languages '("Japanese")) +(require 'egg-edep) + +(defconst sj3-support-languages '(Japanese)) + +(eval-when-compile + (defmacro SJ3-const (c) + (cond ((eq c 'FileNotExist) 35) + ))) (defconst sj3-conversion-backend [ sj3-init @@ -56,58 +63,89 @@ (defvar sj3-open-message) -(defun sj3-open (hostname-list) +(defun sj3-open (hostname) "Establish the connection to SJ3 server. Return process object." (let* ((buf (generate-new-buffer " *SJ3*")) - (msg-form "SJ3: connecting to sj3serv at %s...") - hostname proc result msg) + (proc (open-network-stream "SJ3" buf hostname sj3-server-port)) + result) + (process-kill-without-query proc) + (set-process-coding-system proc 'no-conversion 'no-conversion) + (set-marker-insertion-type (process-mark proc) t) (save-excursion (set-buffer buf) (erase-buffer) (buffer-disable-undo) - (setq enable-multibyte-characters nil)) - (cond - ((null hostname-list) - (setq hostname-list '("localhost"))) - ((null (listp hostname-list)) - (setq hostname-list (list hostname-list)))) - (while (and hostname-list (null proc)) - (setq hostname (car hostname-list) - hostname-list (cdr hostname-list)) - (message msg-form hostname) - (sit-for 0) - (condition-case result - (setq proc (open-network-stream "SJ3" buf hostname sj3-server-port)) - (error nil)) - (if proc - (progn - (process-kill-without-query proc) - (set-process-coding-system proc 'no-conversion 'no-conversion) - (set-marker-insertion-type (process-mark proc) t) - ;; Initialize dictionaries - (setq sj3-sys-dict-list nil) - (setq sj3-user-dict-list nil) - (setq result (sj3rpc-open proc (system-name) (user-login-name))) - (if (< result 0) - (progn - (delete-process proc) - (setq proc nil - msg (format "Can't open SJ3 session (%s): %s" - hostname msg))) - (setq result (sj3rpc-get-stdy-size proc)) - (if (< result 0) - (progn - (delete-process proc) - (setq proc nil - msg (format "Can't get SJ3 STDYSIZE: %s" - (sj3rpc-get-error-message (- result))))) - (setq sj3-stdy-size result)))))) - (if proc - (progn - (setq sj3-open-message (format (concat msg-form "done") hostname)) - proc) - (kill-buffer buf) - (error "%s" (or msg "no sj3serv available"))))) + (set-buffer-multibyte nil)) + ;; Initialize dictionaries + (setq sj3-sys-dict-list nil) + (setq sj3-user-dict-list nil) + (setq result (sj3rpc-open proc (system-name) (user-login-name))) + (if (< result 0) + (let ((msg (sj3rpc-get-error-message (- result)))) + (delete-process proc) + (kill-buffer buf) + (error "Can't open SJ3 session (%s): %s" hostname msg))) + (setq result (sj3rpc-get-stdy-size proc)) + (if (< result 0) + (let ((msg (sj3rpc-get-error-message (- result)))) + (delete-process proc) + (kill-buffer buf) + (error "Can't get SJ3 STDYSIZE: %s"msg))) + (setq sj3-stdy-size result) + proc)) + +;; (defun sj3-open (hostname-list) +;; "Establish the connection to SJ3 server. Return process object." +;; (let* ((buf (generate-new-buffer " *SJ3*")) +;; (msg-form "SJ3: connecting to sj3serv at %s...") +;; hostname proc result msg) +;; (save-excursion +;; (set-buffer buf) +;; (erase-buffer) +;; (buffer-disable-undo) +;; (setq enable-multibyte-characters nil)) +;; (cond +;; ((null hostname-list) +;; (setq hostname-list '("localhost"))) +;; ((null (listp hostname-list)) +;; (setq hostname-list (list hostname-list)))) +;; (while (and hostname-list (null proc)) +;; (setq hostname (car hostname-list) +;; hostname-list (cdr hostname-list)) +;; (message msg-form hostname) +;; (sit-for 0) +;; (condition-case result +;; (setq proc (open-network-stream "SJ3" buf hostname sj3-server-port)) +;; (error nil)) +;; (if proc +;; (progn +;; (process-kill-without-query proc) +;; (set-process-coding-system proc 'no-conversion 'no-conversion) +;; (set-marker-insertion-type (process-mark proc) t) +;; ;; Initialize dictionaries +;; (setq sj3-sys-dict-list nil) +;; (setq sj3-user-dict-list nil) +;; (setq result (sj3rpc-open proc (system-name) (user-login-name))) +;; (if (< result 0) +;; (progn +;; (delete-process proc) +;; (setq proc nil +;; msg (format "Can't open SJ3 session (%s): %s" +;; hostname msg))) +;; (setq result (sj3rpc-get-stdy-size proc)) +;; (if (< result 0) +;; (progn +;; (delete-process proc) +;; (setq proc nil +;; msg (format "Can't get SJ3 STDYSIZE: %s" +;; (sj3rpc-get-error-message (- result))))) +;; (setq sj3-stdy-size result)))))) +;; (if proc +;; (progn +;; (setq sj3-open-message (format (concat msg-form "done") hostname)) +;; proc) +;; (kill-buffer buf) +;; (error "%s" (or msg "no sj3serv available"))))) ;; ::= [ ] (defvar sj3-environment nil @@ -120,7 +158,7 @@ ;; ::= ;; [ -;; ] +;; ] (defsubst sj3-make-bunsetsu (env source converted rest stdy) (vector env source converted rest stdy nil nil nil)) @@ -142,9 +180,9 @@ (aref b 6)) (defsubst sj3bunsetsu-set-zenkouho-pos (b p) (aset b 6 p)) -(defsubst sj3bunsetsu-get-stdydown (b) +(defsubst sj3bunsetsu-get-kugiri-changed (b) (aref b 7)) -(defsubst sj3bunsetsu-set-stdydown (b s) +(defsubst sj3bunsetsu-set-kugiri-changed (b s) (aset b 7 s)) (defun sj3-get-bunsetsu-source (b) @@ -170,26 +208,64 @@ (t p))) (defun sj3-get-environment () + "Return the backend of SJ3 environment." (if sj3-environment sj3-environment (let* ((proc (sj3-open sj3-hostname)) - (stdy (sj3-filename (car sj3-dictionary-specification))) + (freq-info-name (sj3-filename (car sj3-dictionary-specification))) (l (cdr sj3-dictionary-specification)) dict-list) - (if (/= (sj3rpc-open-stdy proc stdy) 0) - (error "Dame1") ; XXX - (while l - (let ((dic (car l)) - dic-id) - (setq dic-id - (sj3rpc-open-dictionary proc (sj3-filename (aref dic 0)) - (aref dic 1))) - (if (< dic-id 0) - (error "Dame2") ; XXX - (setq dict-list (cons dic-id dict-list) - l (cdr l))))) - (message "%s" sj3-open-message) - (setq sj3-environment (vector proc dict-list)))))) + (sj3-open-freq-info proc freq-info-name) + (while l + (let ((dic (car l)) + dic-id) + (setq dic-id + (sj3-open-dictionary proc (sj3-filename (aref dic 0)) + (aref dic 1))) + (if (< dic-id 0) + (error "Dame2") ; XXX + (setq dict-list (cons dic-id dict-list) + l (cdr l))))) + (setq sj3-environment (vector proc dict-list))))) + +(defun sj3-open-freq-info (proc name) + (let ((trying t) + ret) + (while trying + (setq ret (sj3rpc-open-stdy proc name)) + (if (= ret 0) + (setq trying nil) + (message "$B3X=,%U%!%$%k(B(%s)$B$,$"$j$^$;$s(B" name) + (if (/= ret (SJ3-const FileNotExist)) + (error "Fatal1") ; XXX + (if (and (y-or-n-p + (format "$B3X=,%U%!%$%k(B(%s)$B$,$"$j$^$;$s!#:n$j$^$9$+(B? " + name)) + (sj3rpc-make-directory proc + (file-name-directory name)) + ;; ignore error + (= (sj3rpc-make-stdy proc name) 0)) + (message "$B3X=,%U%!%$%k(B(%s)$B$r:n$j$^$7$?(B" name) + (error "Fatal2"))))))) ; XXX + +(defun sj3-open-dictionary (proc name passwd) + (let ((trying t) + ret) + (while trying + (setq ret (sj3rpc-open-dictionary proc name passwd)) + (if (>= ret 0) + (setq trying nil) + (message "$B<-=q%U%!%$%k(B(%s)$B$,$"$j$^$;$s(B" name) + (setq ret (- ret)) ; Get error code. + (if (/= ret (SJ3-const FileNotExist)) + (error "Fatal3 %d" ret) ; XXX + (if (and (y-or-n-p + (format "$B<-=q%U%!%$%k(B(%s)$B$,$"$j$^$;$s!#:n$j$^$9$+(B? " + name)) + (= (sj3rpc-make-dictionary proc name) 0)) + (message "$B<-=q%U%!%$%k(B(%s)$B$r:n$j$^$7$?(B" name) + (error "Fatal4"))))) ; XXX + ret)) (defun sj3-init () ) @@ -200,9 +276,24 @@ Return the list of bunsetsu." (let ((env (sj3-get-environment))) (sj3rpc-begin env yomi))) -;; XXX: not implemented yet -(defun sj3-end-conversion (bunsetsu-list) - ) +(defun sj3-end-conversion (bunsetsu-list abort) + (if abort + () + (let ((env (sj3bunsetsu-get-env (car bunsetsu-list))) + (l bunsetsu-list) + bunsetsu stdy kugiri-changed) + (while l + (setq bunsetsu (car l)) + (setq l (cdr l)) + (setq stdy (sj3bunsetsu-get-stdy bunsetsu)) + (if stdy + (sj3rpc-bunsetsu-stdy env stdy)) + (if (setq kugiri-changed (sj3bunsetsu-get-kugiri-changed bunsetsu)) + (let ((yomi1 (sj3bunsetsu-get-source bunsetsu)) + (yomi2 (sj3bunsetsu-get-source (car l)))) + (if (/= kugiri-changed (length yomi1)) + (sj3rpc-kugiri-stdy env yomi1 yomi2 + (sj3bunsetsu-get-stdy (car l)))))))))) (defun sj3-list-candidates (bunsetsu prev-bunsetsu) (let* ((env (sj3bunsetsu-get-env bunsetsu)) @@ -252,12 +343,10 @@ Return the list of bunsetsu." yomi2 (substring yomi len)) (setq bunsetsu1 (sj3rpc-tanbunsetsu-conversion env yomi1)) - ;; Only set once. - (sj3bunsetsu-set-stdydown bunsetsu1 - (or (sj3bunsetsu-get-stdydown b1) - (if b2 - (list b1 b2) - (list b1)))) + ;; Only set once (memory original length of the bunsetsu). + (sj3bunsetsu-set-kugiri-changed bunsetsu1 + (or (sj3bunsetsu-get-kugiri-changed b1) + (length (sj3bunsetsu-get-source b1)))) (if (< 0 (length yomi2)) (setq bunsetsu2 (sj3rpc-tanbunsetsu-conversion env yomi2)) (setq bunsetsu2 nil)) @@ -265,9 +354,17 @@ Return the list of bunsetsu." (list bunsetsu1 bunsetsu2) (list bunsetsu1)))) -;; XXX: Not implemented yet (defun sj3-fini (lang) - ) + (let ((proc (sj3env-get-proc sj3-environment)) + (dict-list (sj3env-get-dictionary-list sj3-environment)) + dict) + (while dict-list + (setq dict (car dict-list)) + (setq dict-list (cdr dict-list)) + (sj3rpc-close-dictionary proc dict)) ; XXX: check error + (sj3rpc-close-stdy proc) + (sj3rpc-close proc)) + (setq sj3-environment nil)) ;;; setup diff --git a/egg/sj3rpc.el b/egg/sj3rpc.el index a7eda4c..9520e53 100644 --- a/egg/sj3rpc.el +++ b/egg/sj3rpc.el @@ -1,14 +1,14 @@ -;;; egg/sj3.el --- SJ3 Support (low level interface) in Egg -;;; Input Method Architecture +;;; egg/sj3rpc.el --- SJ3 Support (low level interface) in Egg +;;; Input Method Architecture -;; Copyright (C) 1997 Mule Project, Powered by Electrotechnical -;; Laboratory, JAPAN. +;; Copyright (C) 1997, 1998 Mule Project, +;; Powered by Electrotechnical Laboratory, JAPAN. ;; Project Leader: Satoru Tomura ;; Author: NIIBE Yutaka ;; Maintainer: NIIBE Yutaka -;; This file will be part of GNU Emacs (in future). +;; This file will be part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -53,8 +53,8 @@ ((eq c 'KOUHOSU) 55) ((eq c 'KOUHOSU_EUC) 116) ((eq c 'STDY) 61) - ((eq c 'END) 62) - ((eq c 'END_EUC) 117) + ((eq c 'CLSTDY) 62) + ((eq c 'CLSTDY_EUC) 117) ((eq c 'WREG) 71) ((eq c 'WREG_EUC) 118) ((eq c 'WDEL) 72) @@ -106,6 +106,12 @@ 0 result))) +(defun sj3rpc-close (proc) + (comm-call-with-proc proc (result) + (comm-format (u) (sj3-const CLOSE)) + (comm-unpack (u) result) + result)) + (defun sj3rpc-get-stdy-size (proc) "Return STDYSIZE of SJ3 server. On failure, return error code." (comm-call-with-proc proc (result) @@ -173,8 +179,9 @@ 2048 ; Index length 2048 ; Length 256 ; Number + ) (comm-unpack (u) result) - result))) + result)) (defun sj3rpc-open-stdy (proc stdy-name) (comm-call-with-proc proc (result) @@ -190,10 +197,17 @@ (defun sj3rpc-make-stdy (proc stdy-name) (comm-call-with-proc proc (result) - (comm-format (u) (sj3-const MKSTDY) stdy-name "") + (comm-format (u s u u u) (sj3-const MKSTDY) stdy-name 2048 ; Number 1 ; Step 2048 ; Length + ) + (comm-unpack (u) result) + result)) + +(defun sj3rpc-make-directory (proc name) + (comm-call-with-proc proc (result) + (comm-format (u s) (sj3-const MKDIR) name) (comm-unpack (u) result) result)) @@ -216,6 +230,11 @@ (setq bl (setcdr bl (cons bunsetsu nil))) (setq bunsetsu-list (setq bl (cons bunsetsu nil)))) (setq i (1+ i))) + (setq bunsetsu (sj3-make-bunsetsu env yomi yomi nil nil)) + (setq bl (setcdr bl (cons bunsetsu nil))) + (setq bunsetsu + (sj3-make-bunsetsu env yomi (japanese-katakana yomi) nil nil)) + (setq bl (setcdr bl (cons bunsetsu nil))) bunsetsu-list)))) (defun sj3rpc-get-bunsetsu-candidates (env yomi) @@ -247,4 +266,22 @@ (substring yomi-ext cylen) 'euc-japan)) (setq bunsetsu (sj3-make-bunsetsu env yomi converted rest stdy)))))) +(defun sj3rpc-bunsetsu-stdy (env stdy) + (sj3rpc-call-with-environment env (result) + (comm-format (u v) (sj3-const STDY) stdy) + (comm-unpack (u) result) + (if (/= result 0) + (- result) + 0))) + +(defun sj3rpc-kugiri-stdy (env yomi1 yomi2 stdy) + (let* ((yomi1-ext (encode-coding-string yomi1 'euc-japan)) + (yomi2-ext (encode-coding-string yomi2 'euc-japan))) + (sj3rpc-call-with-environment env (result) + (comm-format (u s s v) (sj3-const CLSTDY_EUC) yomi1-ext yomi2-ext stdy) + (comm-unpack (u) result) + (if (/= result 0) + (- result) + 0)))) + ;;; egg/sj3rpc.el ends here. diff --git a/egg/wnn.el b/egg/wnn.el index 22822b3..acd5bc6 100644 --- a/egg/wnn.el +++ b/egg/wnn.el @@ -10,7 +10,7 @@ ;; ;; Maintainer: NIIBE Yutaka -;; This file will be part of EGG (in future). +;; This file is part of EGG. ;; EGG is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -30,12 +30,14 @@ ;;; Commentary: ;;; Code: + +(require 'egg-edep) + (defgroup wnn nil "Wnn interface for Tamagotchy" :group 'egg) -(defconst wnn-support-languages - '("Japanese" "Chinese-GB" "Chinese-CNS" "Korean")) +(defconst wnn-support-languages '(Japanese Chinese-GB Chinese-CNS Korean)) (eval-when-compile (defmacro WNN-const (c) @@ -166,18 +168,17 @@ ;; The port number should be initialized from $WNNLIB/serverdefs by wnn-init (defconst wnn-server-info-list - ;; language locale server port stream coding-system hostname - '(("Japanese" "ja_JP" jserver wnn-jport "Wnn" fixed-euc-jp wnn-jserver) - ("Chinese-GB" "zh_CN" cserver wnn-cport "cWnn" fixed-euc-cn wnn-cserver) - ("Chinese-CNS" "zh_TW" tserver wnn-tport "tWnn" fixed-euc-tw wnn-tserver) - ("Korean" "ko_KR" kserver wnn-kport "kWnn" fixed-euc-kr wnn-kserver))) - -(defun wnn-get-server-info (lang) - (let (info) - (if (null lang) - (setq lang its-current-language)) - (if (setq info (assoc lang wnn-server-info-list)) info - (assoc "Japanese" wnn-server-info-list)))) + ;; language locale server port stream coding-system hostname + '((Japanese "ja_JP" jserver wnn-jport "Wnn" fixed-euc-jp wnn-jserver) + (Chinese-GB "zh_CN" cserver wnn-cport "cWnn" fixed-euc-cn wnn-cserver) + (Chinese-CNS "zh_TW" tserver wnn-tport "tWnn" fixed-euc-tw wnn-tserver) + (Korean "ko_KR" kserver wnn-kport "kWnn" fixed-euc-kr wnn-kserver))) + +(defsubst wnn-server-get-info (lang) + (assq (or lang its-current-language) wnn-server-info-list)) + +(defsubst wnn-server-language (info) + (car info)) (defsubst wnn-server-locale (info) (nth 1 info)) @@ -206,7 +207,7 @@ (defun wnn-start-conversion (yomi &optional language dic-set reverse) "Convert YOMI string to kanji, and enter conversion mode. Return the list of bunsetsu." - (let* ((server-info (wnn-get-server-info language)) + (let* ((server-info (wnn-server-get-info language)) (env (wnn-get-environment server-info dic-set reverse)) (result (wnnrpc-renbunsetsu-conversion env yomi (WNN-const BUN_SENTOU) ""))) @@ -348,37 +349,98 @@ Return the list of bunsetsu." (concat (wnn-bunsetsu-get-yomi bunsetsu) (wnn-bunsetsu-get-fuzokugo bunsetsu))) -(defun wnn-end-conversion (bunsetsu-info-list) - (let ((env (wnn-bunsetsu-get-env (car bunsetsu-info-list)))) - (wnn-update-frequency env bunsetsu-info-list) - (wnnenv-set-daibunsetsu-info env nil))) +(defun wnn-end-conversion (bunsetsu-info-list abort) + (if abort + () + (let ((env (wnn-bunsetsu-get-env (car bunsetsu-info-list)))) + (wnn-update-frequency env bunsetsu-info-list) + (wnnenv-set-daibunsetsu-info env nil)))) (defvar wnn-sticky-environment-flag nil "*Flag which specifies sticky environment.") -(defun wnn-fini (lang) ; XXX - ; tamago-971009 version - ; argument LANG is still dummy - (if wnn-environments - (let ((l wnn-environments)) - (condition-case nil - (while l - (let ((env (car l))) - (if wnn-sticky-environment-flag - (wnnrpc-make-env-sticky env) - (wnnrpc-make-env-unsticky env)) - (wnnrpc-disconnect env) - (setq l (cdr l)))) - (error nil)) - (setq l wnn-environments) - (while l - (let ((proc (wnnenv-get-proc (car l)))) - (if (eq (process-status proc) 'open) - (progn - (wnnrpc-close proc) - (kill-buffer (process-buffer proc))) - (setq l (cdr l))))) - (setq wnn-environments nil)))) +(defmacro wnn-for-each-environment (lang env &rest body) + `(let* ((server-info (wnn-server-get-info ,lang)) + (server-type (wnn-server-type server-info)) + (env-list wnn-environments)) + (if server-type + (while env-list + (let ((,env (car env-list))) + ,@body) + (setq env-list (cdr env-list)))))) + +(defun wnn-fini (lang &optional save-only) + (let* ((server-info (wnn-server-get-info lang)) + (server-type (wnn-server-type server-info)) + (l wnn-environments) + new-env-list del-list env proc) + (if server-type + (progn + (message "%s $B$NIQEY>pJs!&<-=q>pJs$rB`Hr$7$F$$$^$9(B" + (wnn-server-stream-name server-info)) + (while l + (setq env (car l)) + (if (eq (wnnenv-get-server-type env) server-type) + (condition-case nil + (progn + (wnn-save-dictionaries env) + (if (null save-only) + (progn + (setq del-list (nconc del-list (list env))) + (if wnn-sticky-environment-flag + (wnnrpc-make-env-sticky env) + (wnnrpc-make-env-unsticky env)) + (wnnrpc-disconnect env)))) + (error nil)) + (setq new-env-list (nconc new-env-list (list env)))) + (setq l (cdr l))) + (message "%s $B$NIQEY>pJs!&<-=q>pJs$rB`Hr$7$^$7$?(B" + (wnn-server-stream-name server-info)) + (if (null save-only) + (progn + (setq proc (and del-list (wnnenv-get-proc (car del-list)))) + (if (and proc (eq (process-status proc) 'open)) + (progn + (wnnrpc-close proc) + (kill-buffer (process-buffer proc)))) + (setq wnn-environments new-env-list))))))) + +(defun wnn-close (lang) + (interactive (list (wnn-read-active-lang))) + (or (listp lang) + (setq lang (list lang))) + (while lang + (wnn-fini (car lang)) + (setq lang (cdr lang)))) + +(defun wnn-dictionary-save (lang) + (interactive (list (wnn-read-active-lang))) + (or (listp lang) + (setq lang (list lang))) + (while lang + (wnn-fini (car lang) t) + (setq lang (cdr lang)))) + +(defun wnn-read-active-lang () + (let ((completion-ignore-case t) + (env wnn-environments) + langs server server-list) + (while env + (setq server (wnnenv-get-server-type (car env)) + env (cdr env)) + (if (null (member server server-list)) + (setq server-list (cons server server-list)))) + (setq langs (delete nil + (mapcar (lambda (info) + (if (memq (wnn-server-type info) server-list) + (wnn-server-language info))) + wnn-server-info-list))) + (if (<= (length langs) 1) + langs + (setq langs (cons (cons "All" langs) + (mapcar (lambda (lang) (cons (symbol-name lang) lang)) + langs))) + (cdr (assoc (completing-read "language? " langs nil t) langs))))) ;; (defun wnn-comm-sentinel (proc reason) ; assume it is close @@ -413,8 +475,8 @@ Return the list of bunsetsu." (set-buffer buf) (erase-buffer) (buffer-disable-undo) - (setq enable-multibyte-characters nil - egg-fixed-euc (wnn-server-coding-system server-info))) + (setq egg-fixed-euc (wnn-server-coding-system server-info)) + (set-buffer-multibyte nil)) (cond ((null hostname-list) (setq hostname-list '("localhost"))) @@ -424,7 +486,6 @@ Return the list of bunsetsu." (setq hostname (car hostname-list) hostname-list (cdr hostname-list)) (message msg-form server-type hostname) - (sit-for 0) (condition-case result (setq proc (open-network-stream (wnn-server-stream-name server-info) buf @@ -837,14 +898,41 @@ REVERSE specifies reverse conversion, if non nil." ;(defun wnn-set-conversion-mode () ; (jl-set-environment)) -(defun wnn-save-dictionaries () - (for-each-environment - js-dic-list - (while (< i count) - dic => id - js-file-write - hindo => id - js-file-write))) +(defsubst wnn-dicinfo-entry (info) (aref info 0)) +(defsubst wnn-dicinfo-id (info freq) (aref info (+ 1 freq))) +(defsubst wnn-dicinfo-mode (info freq) (aref info (+ 3 freq))) +(defsubst wnn-dicinfo-enable (info) (aref info 5)) +(defsubst wnn-dicinfo-nice (info) (aref info 6)) +(defsubst wnn-dicinfo-reverse (info) (aref info 7)) +(defsubst wnn-dicinfo-comment (info) (aref info 8)) +(defsubst wnn-dicinfo-name (info freq) (aref info (+ 9 freq))) +(defsubst wnn-dicinfo-passwd (info freq) (aref info (+ 11 freq))) +(defsubst wnn-dicinfo-type (info) (aref info 13)) +(defsubst wnn-dicinfo-words (info) (aref info 14)) +(defsubst wnn-dicinfo-local (info freq) (aref info (+ 15 freq))) + +(defun wnn-save-dictionaries (env) + (let ((dic-list (wnnrpc-get-dictionary-list-with-environment env)) + (result 0) info freq) + (while (and dic-list + (>= result 0)) + (setq info (car dic-list) + dic-list (cdr dic-list) + freq 0) + (while (<= freq 1) + (if (and (> (wnn-dicinfo-id info freq) 0) + (= (wnn-dicinfo-mode info freq) 0)) + (if (= (wnn-dicinfo-local info freq) 1) + (setq result (wnnrpc-write-file env + (wnn-dicinfo-id info freq) + (wnn-dicinfo-name info freq))) + (message "WNN: remote dictionary (%s) not supported yet" + (wnn-dicinfo-name info freq)) + (ding) + (sit-for 1))) + (if (< result 0) + (wnnrpc-disconnect env)) + (setq freq (1+ freq)))))) (defun wnn-version (proc) "Return version number string of WNN server." diff --git a/egg/wnnrpc.el b/egg/wnnrpc.el index 723453a..ee35e72 100644 --- a/egg/wnnrpc.el +++ b/egg/wnnrpc.el @@ -38,60 +38,60 @@ "Macro for WNN constants." (cond ((eq c 'JS_VERSION) 0) ((eq c 'JS_OPEN) 1) - ((eq c 'JS_CLOSE) 3) - ((eq c 'JS_CONNECT) 5) - ((eq c 'JS_DISCONNECT) 6) - ((eq c 'JS_ENV_EXIST) 7) - ((eq c 'JS_ENV_STICKY) 8) - ((eq c 'JS_ENV_UNSTICKY) 9) - ((eq c 'JS_KANREN) 17) - ((eq c 'JS_KANTAN_SHO) 18) - ((eq c 'JS_KANZEN_SHO) 19) - ((eq c 'JS_KANTAN_DAI) 20) - ((eq c 'JS_KANZEN_DAI) 21) - ((eq c 'JS_HINDO_SET) 24) - ((eq c 'JS_DIC_ADD) 33) - ((eq c 'JS_DIC_DELETE) 34) - ((eq c 'JS_DIC_USE) 35) - ((eq c 'JS_DIC_LIST) 36) - ((eq c 'JS_DIC_INFO) 37) - ((eq c 'JS_FUZOKUGO_SET) 41) - ((eq c 'JS_FUZOKUGO_GET) 48) - ((eq c 'JS_WORD_ADD) 49) - ((eq c 'JS_WORD_DELETE) 50) - ((eq c 'JS_WORD_SEARCH) 51) - ((eq c 'JS_WORD_SEARCH_BY_ENV) 52) - ((eq c 'JS_WORD_INFO) 53) - ((eq c 'JS_WORD_COMMENT_SET) 54) - ((eq c 'JS_PARAM_SET) 65) - ((eq c 'JS_PARAM_GET) 66) - ((eq c 'JS_MKDIR) 81) - ((eq c 'JS_ACCESS) 82) - ((eq c 'JS_WHO) 83) - ((eq c 'JS_ENV_LIST) 85) - ((eq c 'JS_FILE_LIST_ALL) 86) - ((eq c 'JS_DIC_LIST_ALL) 87) - ((eq c 'JS_FILE_READ) 97) - ((eq c 'JS_FILE_WRITE) 98) - ((eq c 'JS_FILE_SEND) 99) - ((eq c 'JS_FILE_RECEIVE) 100) - ((eq c 'JS_HINDO_FILE_CREATE) 101) - ((eq c 'JS_DIC_FILE_CREATE) 102) - ((eq c 'JS_FILE_REMOVE) 103) - ((eq c 'JS_FILE_LIST) 104) - ((eq c 'JS_FILE_INFO) 105) - ((eq c 'JS_FILE_LOADED) 106) - ((eq c 'JS_FILE_LOADED_LOCAL) 107) - ((eq c 'JS_FILE_DISCARD) 108) - ((eq c 'JS_FILE_COMMENT_SET) 109) - ((eq c 'JS_FILE_PASSWORD) 110) - ((eq c 'JS_FILE_STAT) 111) - ((eq c 'JS_KILL) 112) - ((eq c 'JS_HINSI_LIST) 114) - ((eq c 'JS_HINSI_NAME) 115) - ((eq c 'JS_HINSI_NUMBER) 116) - ((eq c 'JS_HINSI_DICTS) 117) - ((eq c 'JS_HINSI_TABLE_SET) 118) + ((eq c 'JS_CLOSE) 3) + ((eq c 'JS_CONNECT) 5) + ((eq c 'JS_DISCONNECT) 6) + ((eq c 'JS_ENV_EXIST) 7) + ((eq c 'JS_ENV_STICKY) 8) + ((eq c 'JS_ENV_UNSTICKY) 9) + ((eq c 'JS_KANREN) 17) + ((eq c 'JS_KANTAN_SHO) 18) + ((eq c 'JS_KANZEN_SHO) 19) + ((eq c 'JS_KANTAN_DAI) 20) + ((eq c 'JS_KANZEN_DAI) 21) + ((eq c 'JS_HINDO_SET) 24) + ((eq c 'JS_DIC_ADD) 33) + ((eq c 'JS_DIC_DELETE) 34) + ((eq c 'JS_DIC_USE) 35) + ((eq c 'JS_DIC_LIST) 36) + ((eq c 'JS_DIC_INFO) 37) + ((eq c 'JS_FUZOKUGO_SET) 41) + ((eq c 'JS_FUZOKUGO_GET) 48) + ((eq c 'JS_WORD_ADD) 49) + ((eq c 'JS_WORD_DELETE) 50) + ((eq c 'JS_WORD_SEARCH) 51) + ((eq c 'JS_WORD_SEARCH_BY_ENV) 52) + ((eq c 'JS_WORD_INFO) 53) + ((eq c 'JS_WORD_COMMENT_SET) 54) + ((eq c 'JS_PARAM_SET) 65) + ((eq c 'JS_PARAM_GET) 66) + ((eq c 'JS_MKDIR) 81) + ((eq c 'JS_ACCESS) 82) + ((eq c 'JS_WHO) 83) + ((eq c 'JS_ENV_LIST) 85) + ((eq c 'JS_FILE_LIST_ALL) 86) + ((eq c 'JS_DIC_LIST_ALL) 87) + ((eq c 'JS_FILE_READ) 97) + ((eq c 'JS_FILE_WRITE) 98) + ((eq c 'JS_FILE_SEND) 99) + ((eq c 'JS_FILE_RECEIVE) 100) + ((eq c 'JS_HINDO_FILE_CREATE) 101) + ((eq c 'JS_DIC_FILE_CREATE) 102) + ((eq c 'JS_FILE_REMOVE) 103) + ((eq c 'JS_FILE_LIST) 104) + ((eq c 'JS_FILE_INFO) 105) + ((eq c 'JS_FILE_LOADED) 106) + ((eq c 'JS_FILE_LOADED_LOCAL) 107) + ((eq c 'JS_FILE_DISCARD) 108) + ((eq c 'JS_FILE_COMMENT_SET) 109) + ((eq c 'JS_FILE_PASSWORD) 110) + ((eq c 'JS_FILE_STAT) 111) + ((eq c 'JS_KILL) 112) + ((eq c 'JS_HINSI_LIST) 114) + ((eq c 'JS_HINSI_NAME) 115) + ((eq c 'JS_HINSI_NUMBER) 116) + ((eq c 'JS_HINSI_DICTS) 117) + ((eq c 'JS_HINSI_TABLE_SET) 118) ((eq c 'JLIB_VERSION) 16387) ; 0x4003 @@ -106,7 +106,7 @@ ((eq c 'WNN_MAX_FILE_OF_AN_ENV) 60)))) (defconst wnnrpc-error-message - '(("Japanese" . + '((Japanese . [ nil "$B%U%!%$%k$,B8:_$7$^$;$s(B" @@ -226,7 +226,7 @@ "$B<-=q$KIQEY%U%!%$%k$,$D$$$F$$$^$;$s(B" "$B%Q%9%o!<%I$N%U%!%$%k$,:n@.=PMh$^$;$s(B" ]) - ("Chinese-GB" . + (Chinese-GB . [ nil "$AND<~2;4fTZ(B" @@ -346,7 +346,7 @@ "$AWV5d5DF56HND<~C;SP(B" "password$A5DND<~C;SP44=(3v@4(B" ]) - ("Chinese-CNS" . + (Chinese-CNS . [ nil "$(GEFG5DbGtGc(B" @@ -466,7 +466,7 @@ "$(GGsL(N{s"PyEFG5JtH4(B" "password$(GN{EFG5JtH4^6PzExKt(B" ]) - ("Korean" . + (Korean . [ nil "$(CH-@O@L(B $(CA8@gGOAv(B $(C>J=@4O4Y(B" @@ -590,10 +590,11 @@ (defun wnnrpc-get-error-message (errno) "Return error message string specified by ERRNO." - (let ((msg (or (assoc egg-default-language wnnrpc-error-message) - (assoc its-current-language wnnrpc-error-message) - (assoc "Japanese" wnnrpc-error-message)))) - (or (aref (cdr msg) errno) (format "#%d" errno)))) + (let ((msg (cdr (or (assoc egg-default-language wnnrpc-error-message) + (assoc its-current-language wnnrpc-error-message) + (assoc 'Japanese wnnrpc-error-message))))) + (or (and (< errno (length msg)) (aref msg errno)) + (format "#%d" errno)))) (defmacro wnnrpc-call-with-environment (e vlist send-expr &rest receive-exprs) (let ((v (append @@ -1353,7 +1354,7 @@ HINSHI and FUZOKU are information of preceding bunsetsu." (concat (system-name) "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0") 0 16))) (comm-call-with-proc proc (result) - (comm-format (u U U U s) (wnn-const JS_FILE_LOADED_LOCAL) + (comm-format (u U U U s) (wnn-const JS_FILE_LOADED_LOCAL) time dev inode padded-hostname) (comm-unpack (u) result) result)))) diff --git a/its-keydef.el b/its-keydef.el index 9372491..5e3a835 100644 --- a/its-keydef.el +++ b/its-keydef.el @@ -5,7 +5,7 @@ (make-variable-buffer-local 'its-zhuyin) (put 'its-zhuyin 'permanent-local t) -(eval-when (eval compile) +(eval-and-compile (defun its-make-select-func (key1 key2 func file map &optional zhuyin) (setq func (intern (concat "its-select-" (symbol-name func))) file (intern (concat "its/" (symbol-name file))) @@ -23,31 +23,45 @@ (its-put-cursor t)) ((egg-get-bunsetsu-info (point)) (egg-exit-conversion))) - (setq its-current-select-func ',func) - (setq its-current-map ,map) - (if (its-get-language its-current-map) - (setq its-current-language (its-get-language its-current-map))) + (setq its-current-select-func ',func + its-current-map ',map) + (if (its-get-language ,map) + (setq its-current-language (its-get-language ,map))) ,(if zhuyin `(setq its-zhuyin ,(eq zhuyin 'T))) (if (null mode-line-unchange) (its-set-mode-line-title))))) - `(define-key map - (if fence - ,(concat "\e" key2) - ,(concat "\C-x\C-m" key1)) - ',func)))) + `(,func ,(concat "\C-x\C-m" key1) ,(concat "\e" key2))))) (defmacro its-do-list-make-select-func (list) - (eval-when (eval compile) - (let (funcs keydefs pair) - (while list - (setq pair (apply 'its-make-select-func (car list))) - (setq funcs (cons (car pair) funcs) - keydefs (cons (cdr pair) keydefs)) - (setq list (cdr list))) - `(progn - ,@funcs - (defun its-define-select-keys (map &optional fence) - ,@keydefs))))) + (let (funcs keydefs pair) + (while list + (setq pair (apply 'its-make-select-func (car list)) + funcs (cons (car pair) funcs) + keydefs (cons (cdr pair) keydefs) + list (cdr list))) + `(progn + ,@funcs + (defvar its-define-select-key-list ',keydefs)))) + +(defmacro its-add-select-funcs (list) + (let (funcs keydefs pair) + (while list + (setq pair (apply 'its-make-select-func (car list)) + funcs (cons (car pair) funcs) + keydefs (cons (cdr pair) keydefs) + list (cdr list))) + `(progn + ,@funcs + (setq its-define-select-key-list + (append ',keydefs its-define-select-key-list))))) + +(defun its-define-select-keys (map &optional fence) + (let ((key-list its-define-select-key-list)) + (while key-list + (define-key map (nth 1 (car key-list)) (car (car key-list))) + (if fence + (define-key map (nth 2 (car key-list)) (car (car key-list)))) + (setq key-list (cdr key-list))))) (its-do-list-make-select-func (("Q" "Q" upcase ascii up) diff --git a/its.el b/its.el index d55f755..513e392 100644 --- a/its.el +++ b/its.el @@ -31,6 +31,7 @@ ;;; Code: (require 'cl) +(require 'egg-edep) (defvar its-current-map nil) (make-variable-buffer-local 'its-current-map) @@ -187,8 +188,7 @@ ;; ;; -(eval-when (eval load compile) - (require 'its-keydef)) +(require 'its-keydef) (defvar its-mode-map (let ((map (make-sparse-keymap)) @@ -228,13 +228,15 @@ (define-key map "\M-k" 'its-katakana) (define-key map "\M-<" 'its-hankaku) (define-key map "\M->" 'its-zenkaku) - (its-define-select-keys map t) map) "Keymap for ITS mode.") +(fset 'its-mode-map its-mode-map) + (defvar its-fence-open "|" "*$B%U%'%s%9$N;OE@$r<($9J8;zNs(B (1 $BJ8;z0J>e(B)") (defvar its-fence-close "|" "*$B%U%'%s%9$N=*E@$r<($9J8;zNs(B (1 $BJ8;z0J>e(B)") (defvar its-fence-face nil "*$B%U%'%s%9I=<($KMQ$$$k(B face $B$^$?$O(B nil") +(defvar its-fence-invisible nil) (defconst its-setup-fence-before-insert-SYL nil) @@ -245,11 +247,9 @@ (if face (cdr face) its-fence-face))) (defun its-put-cursor (cursor) - (let ((p (point)) - (map (copy-keymap its-mode-map))) - (its-define-select-keys map) + (let ((p (point))) (insert "!") - (add-text-properties p (point) (list 'local-map map + (add-text-properties p (point) (list 'local-map 'its-mode-map 'read-only t 'invisible t 'intangible 'its-part-2 @@ -275,17 +275,18 @@ (let ((open-props '(its-start t intangible its-part-1)) (close-props '(rear-nonsticky t its-end t intangible its-part-2)) (p (point)) p1) - ;; Put open-fence before inhibit-read-only to detect read-nly + ;; Put open-fence before inhibit-read-only to detect read-only (insert its-fence-open) (let ((inhibit-read-only t)) (setq p1 (point)) (add-text-properties p p1 open-props) (insert its-fence-close) (add-text-properties p1 (point) close-props) - (if its-fence-face + (if its-fence-invisible (put-text-property p (point) 'invisible t)) (put-text-property p (point) 'read-only t) (goto-char p1) + (its-define-select-keys its-mode-map t) (its-put-cursor t)))) (defun its-start (key) @@ -318,7 +319,7 @@ (its-input syl key))) (defun its-initial-ISYL () - (its-get-start-state its-current-map)) + (its-get-start-state (symbol-value its-current-map))) (defun its-make-VSYL (keyseq) (cons keyseq (length keyseq))) @@ -470,7 +471,7 @@ 'read-only t 'intangible 'its-part-1)) (if its-fence-face - (put-text-property p (point) 'face (its-get-fence-face))) + (egg-set-face p (point) (its-get-fence-face))) (its-set-cursor-status cursor)))) (defun its-buffer-delete-SYL (syl) @@ -516,19 +517,21 @@ cursor) (if (null syl) (setq syl (its-initial-ISYL))) - (while (and syl (< i len)) - (setq cursor (its-state-machine syl (aref keyseq i) emit)) - (cond - ((eq cursor 'its-keyseq-test-failed) - (setq syl nil)) - (cursor - (setq syl (its-initial-ISYL))) - (t - its-latest-SYL)) - (setq i (1+ i))) - (if (and syl eol) - (setq cursor (its-state-machine syl -1 emit))) - (not (eq cursor 'its-keyseq-test-failed)))) + (if (numberp (cdr syl)) + nil + (while (and syl (< i len)) + (setq cursor (its-state-machine syl (aref keyseq i) emit)) + (cond + ((eq cursor 'its-keyseq-test-failed) + (setq syl nil)) + (cursor + (setq syl (its-initial-ISYL))) + (t + its-latest-SYL)) + (setq i (1+ i))) + (if (and syl eol) + (setq cursor (its-state-machine syl -1 emit))) + (not (eq cursor 'its-keyseq-test-failed))))) ;;; ;;; Name --> map @@ -551,9 +554,10 @@ (defmacro define-its-state-machine (map name indicator lang doc &rest exprs) `(progn (eval-when (eval compile) - (let ((its-current-map (its-new-map ,name ,indicator ,lang))) + (let ((its-current-map 'its-temporaly-map) + (its-temporaly-map (its-new-map ,name ,indicator ,lang))) ,@exprs - (setq ,map its-current-map))) + (setq ,map its-temporaly-map))) (define-its-compiled-map ,map ,doc))) (defmacro define-its-compiled-map (map doc) @@ -561,9 +565,10 @@ (defmacro define-its-state-machine-append (map &rest exprs) (append - `(let ((its-current-map ,map))) + `(let ((its-current-map 'its-temporaly-map) + (its-temporaly-map ,map))) exprs - (list `(setq ,map its-current-map)))) + (list `(setq ,map its-temporaly-map)))) ;; ;; Construct State Machine @@ -583,7 +588,8 @@ Return last state." (defun its-goto-state (input &optional initial-state build-if-none) (let ((len (length input)) (i 0) - (state (or initial-state (its-get-start-state its-current-map)))) + (state (or initial-state + (its-get-start-state (symbol-value its-current-map))))) (while (< i len) (setq state (or (its-get-next-state state (aref input i)) @@ -638,6 +644,22 @@ Return last state." t)) ;;; +(defun its-set-part-1 (beg end) + (let ((inhibit-point-motion-hooks t) + (str (buffer-substring beg end))) + (goto-char beg) + (delete-region beg end) + (put-text-property 0 (- end beg) 'intangible 'its-part-1 str) + (insert str))) + +(defun its-set-part-2 (beg end) + (let ((inhibit-point-motion-hooks t) + (str (buffer-substring beg end))) + (goto-char beg) + (delete-region beg end) + (put-text-property 0 (- end beg) 'intangible 'its-part-2 str) + (insert str))) + (defun its-beginning-of-input-buffer () (interactive) (let ((inhibit-read-only t)) @@ -645,7 +667,7 @@ Return last state." (if (not (get-text-property (1- (point)) 'its-start)) (let ((begpos (previous-single-property-change (point) 'its-start))) ;; Make SYLs have property of "part 2" - (put-text-property begpos (point) 'intangible 'its-part-2) + (its-set-part-2 begpos (point)) (goto-char begpos))) (its-put-cursor t))) @@ -656,7 +678,7 @@ Return last state." (if (not (get-text-property (point) 'its-end)) (let ((endpos (next-single-property-change (point) 'its-end))) ;; Make SYLs have property of "part 1" - (put-text-property (point) endpos 'intangible 'its-part-1) + (its-set-part-1 (point) endpos) (goto-char endpos))) (its-put-cursor t))) @@ -690,7 +712,7 @@ Return last state." (let ((inhibit-read-only t)) (delete-region (if (get-text-property (1- (point)) 'its-start) (point) - (previous-single-property-change (1- (point)) 'its-start)) + (previous-single-property-change (point) 'its-start)) (if (get-text-property (point) 'its-end) (point) (next-single-property-change (point) 'its-end))) @@ -711,7 +733,7 @@ Return last state." (setq syl (get-text-property (1- p) 'its-syl)) (setq n (1- n))) ;; Make SYLs have property of "part 2" - (put-text-property p old-point 'intangible 'its-part-2) + (its-set-part-2 p old-point) (goto-char p) (its-put-cursor t) (if (> n 0) @@ -731,7 +753,7 @@ Return last state." (setq syl (get-text-property p 'its-syl)) (setq n (1- n))) ;; Make SYLs have property of "part 1" - (put-text-property old-point p 'intangible 'its-part-1) + (its-set-part-1 old-point p) (goto-char p) (its-put-cursor t) (if (> n 0) @@ -799,55 +821,53 @@ Return last state." ;; TODO: killflag (defun its-delete-backward-within-SYL (syl n killflag) - (let* ((keyseq (its-get-keyseq-syl syl)) - (len (length keyseq)) - (p (- (point) (length (its-get-output syl)))) - (its-current-map (get-text-property (1- (point)) 'its-map)) - (its-current-language (get-text-property (1- (point)) 'egg-lang)) - back pp) - (if (< n 0) - (signal 'args-out-of-range (list (- (point) n) (point)))) - (if its-delete-by-keystroke - (while (null (or (eq p pp) (its-concrete-DSYL-p syl))) - (setq pp p) - (while (and (setq syl (get-text-property (1- p) 'its-syl)) - (its-DSYL-with-back-p syl) - (<= (setq back (- (its-get-kst/t syl))) len) - (> back (- len n)) - (equal (substring (its-get-keyseq syl) (- back)) - (substring keyseq 0 back))) - (setq keyseq (concat (its-get-keyseq-syl syl) keyseq) - len (length keyseq) - p (- p (length (its-get-output syl))))) - (if (and (eq p pp) syl (> n len)) - (setq n (- n len) - keyseq (its-get-keyseq-syl syl) - len (length keyseq) - p (- p (length (its-get-output syl)))))) - (if (and (> n len) (its-concrete-DSYL-p syl)) - (setq len 1))) - (if (> n len) - (setq n (- n len) - len 0)) - (while (and (> n len) (setq syl (get-text-property (1- p) 'its-syl))) - (setq n (1- n) - p (- p (length (its-get-output syl))))) - (if (> n len) - (signal 'beginning-of-buffer nil)) - (delete-region p (point)) - (cond - ((> len n) - (its-state-machine-keyseq (substring keyseq 0 (- len n)) - 'its-buffer-ins/del-SYL)) - ;; Check if empty - ((and (get-text-property (1- (point)) 'its-start) - (get-text-property (1+ (point)) 'its-end)) - (its-exit-mode-internal)) - ((and its-delete-by-keystroke - (null (its-concrete-DSYL-p (get-text-property (1- p) 'its-syl)))) - (its-set-cursor-status 'its-cursor)) - (t - (its-set-cursor-status t))))) + (if (let* ((keyseq (its-get-keyseq-syl syl)) + (len (length keyseq)) + (p (- (point) (length (its-get-output syl)))) + (its-current-map (get-text-property (1- (point)) 'its-map)) + (its-current-language (get-text-property (1- (point)) 'egg-lang)) + back pp) + (if (< n 0) + (signal 'args-out-of-range (list (- (point) n) (point)))) + (if its-delete-by-keystroke + (while (null (or (eq p pp) (its-concrete-DSYL-p syl))) + (setq pp p) + (while (and (setq syl (get-text-property (1- p) 'its-syl)) + (its-DSYL-with-back-p syl) + (<= (setq back (- (its-get-kst/t syl))) len) + (> back (- len n)) + (equal (substring (its-get-keyseq syl) (- back)) + (substring keyseq 0 back))) + (setq keyseq (concat (its-get-keyseq-syl syl) keyseq) + len (length keyseq) + p (- p (length (its-get-output syl))))) + (if (and (eq p pp) syl (> n len)) + (setq n (- n len) + keyseq (its-get-keyseq-syl syl) + len (length keyseq) + p (- p (length (its-get-output syl)))))) + (if (and (> n len) (its-concrete-DSYL-p syl)) + (setq len 1))) + (if (> n len) + (setq n (- n len) + len 0)) + (while (and (> n len) (setq syl (get-text-property (1- p) 'its-syl))) + (setq n (1- n) + p (- p (length (its-get-output syl))))) + (if (> n len) + (signal 'beginning-of-buffer nil)) + (delete-region p (point)) + (if (> len n) + (its-state-machine-keyseq (substring keyseq 0 (- len n)) + 'its-buffer-ins/del-SYL) + (its-set-cursor-status + (if (or (null its-delete-by-keystroke) + (its-concrete-DSYL-p (get-text-property (1- p) 'its-syl))) + t + 'its-cursor))) + (and (get-text-property (1- (point)) 'its-start) + (get-text-property (1+ (point)) 'its-end))) + (its-exit-mode-internal))) (defun its-transpose-chars (n) (interactive "p") @@ -918,29 +938,39 @@ Return last state." (defun its-setup-yanked-portion (start end) (let ((yank-before (eq (point) end)) - (max-sisheng (make-char 'chinese-sisheng 127)) - p syl lang) - (remove-text-properties start end '(intangible nil)) - (egg-separate-languages start end t) - (goto-char start) - (while (< (point) end) - (setq p (point) - lang (get-text-property p 'egg-lang)) + syl lang source no-prop-source len i j l) + (setq source (buffer-substring start end) + no-prop-source (buffer-substring-no-properties start end) + len (length source)) + (remove-text-properties 0 len '(intangible nil) source) + (egg-separate-languages source (get-text-property (1- start) 'egg-lang)) + (setq i 0) + (while (< i len) + (setq lang (get-text-property i 'egg-lang source)) (if (and - (or (equal lang "Chinese-GB") (equal lang "Chinese-CNS")) - (<= (following-char) max-sisheng) - (setq len (egg-chinese-syllable (buffer-substring (point) end)))) - (goto-char (+ (point) len)) - (forward-char)) - (setq syl (buffer-substring-no-properties p (point))) - (put-text-property p (point) 'its-syl (cons syl syl)) - (if its-fence-face - (let ((its-current-language (get-text-property p 'egg-lang))) - (put-text-property p (point) 'face (its-get-fence-face))))) + (or (eq lang 'Chinese-GB) (eq lang 'Chinese-CNS)) + (setq l (egg-chinese-syllable source i))) + (setq j (+ i l)) + (setq j (+ i (egg-char-bytes (egg-string-to-char-at source i))))) + (setq syl (substring no-prop-source i j)) + (put-text-property i j 'its-syl (cons syl syl) source) + (setq i j)) + (if its-fence-face + (let (its-current-language) + (setq i 0) + (while (< i len) + (setq j (egg-next-single-property-change i 'egg-lang source len) + its-current-language (get-text-property i 'egg-lang source)) + (egg-set-face i j (its-get-fence-face) source) + (setq i j)))) + (delete-region start end) (if yank-before - (add-text-properties start end '(read-only t intangible its-part-1)) - (add-text-properties start end '(read-only t intangible its-part-2)) + (progn + (add-text-properties 0 len '(read-only t intangible its-part-1) source) + (insert source)) (delete-region (point) (1+ (point))) + (add-text-properties 0 len '(read-only t intangible its-part-2) source) + (insert source) (goto-char start) (its-put-cursor t)))) @@ -949,22 +979,18 @@ Return last state." (let ((cursor (get-text-property (point) 'its-cursor))) ;; key "END" (if (null cursor) - (its-input (get-text-property (1- (point)) 'its-syl) -1)) + (let ((its-current-language (get-text-property (1- (point)) 'egg-lang))) + (its-input (get-text-property (1- (point)) 'its-syl) -1))) (delete-region (point) (1+ (point))))) (defun its-exit-mode () "Exit ITS mode." (interactive) (let ((inhibit-read-only t)) + (its-input-end) + (its-put-cursor t) (its-exit-mode-internal))) -(defun its-exit-mode-off-input-method () - "Exit ITS mode." - (interactive) - (let ((inhibit-read-only t)) - (its-exit-mode-internal) - (inactivate-input-method))) - ;; TODO: handle overwrite-mode, insertion-hook, fill... (defun its-exit-mode-internal (&optional proceed-to-conversion) (let (start end s e) @@ -986,13 +1012,18 @@ Return last state." (if proceed-to-conversion (egg-convert-region start end) ;; Remove all properties - (set-text-properties start end nil) + (goto-char start) + (setq s (buffer-substring-no-properties start end)) + (delete-region start end) + (insert s) (egg-do-auto-fill) (run-hooks 'input-method-after-insert-chunk-hook)))) (defun its-kick-convert-region () (interactive) (let ((inhibit-read-only t)) + (its-input-end) + (its-put-cursor t) (its-exit-mode-internal t))) (defun its-kick-convert-region-or-self-insert () @@ -1048,7 +1079,7 @@ Return last state." (insert its-translation-result))) (defun its-set-mode-line-title () - (let ((title (its-get-indicator its-current-map))) + (let ((title (its-get-indicator (symbol-value its-current-map)))) (setq current-input-method-title (if its-previous-select-func (concat "<" title ">") title)) diff --git a/its/ascii.el b/its/ascii.el index 272a340..3595d17 100644 --- a/its/ascii.el +++ b/its/ascii.el @@ -35,7 +35,7 @@ (require 'its)) (define-its-state-machine its-up-map - "upcase" "aA" nil nil + "upcase" "aA" nil "Map for upcase input." (let ((i ? )) @@ -44,7 +44,7 @@ (setq i (1+ i))))) (define-its-state-machine its-down-map - "downcase" "aa" nil nil + "downcase" "aa" nil "Map for downcase input." (let ((i ? )) diff --git a/its/erpin.el b/its/erpin.el index db0665b..83b1d6f 100644 --- a/its/erpin.el +++ b/its/erpin.el @@ -2,11 +2,21 @@ (require 'its) (require 'cl)) -(defvar its-erpin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-erpin-cn-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-erpin-cn-open-braket "$A!8(B" "*[") ; "$A#[(B" (defvar its-erpin-cn-close-braket "$A!9(B" "*]") ; "$A#](B" -(defvar its-erpin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-erpin-tw-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-erpin-tw-open-braket "$(G!V(B" "*[") ; "$(G!b(B " (defvar its-erpin-tw-close-braket "$(G!W(B" "*]") ; "$(G!c(B" @@ -153,7 +163,7 @@ (its-defrule "on4" "(0?@(B")))) (define-its-state-machine its-erpin-cn-map - "erpin-cn" "$A6~(BG" "Chinese-GB" + "erpin-cn" "$A6~(BG" 'Chinese-GB "Map for Erpin input. (Chinese-GB)" (defconst its-quanjiao-escape "Z") @@ -227,7 +237,7 @@ (its-defrule "!" "$A#!(B")) (define-its-state-machine its-erpin-tw-map - "erpin-tw" "$(GD((BC" "Chinese-CNS" + "erpin-tw" "$(GD((BC" 'Chinese-CNS "Map for Erpin input." (defconst its-quanjiao-escape "Z") @@ -268,11 +278,11 @@ (" " . "$(G!!(B") ("!" . "$(G!*(B") ("@" . "$(G"i(B") ("#" . "$(G!l(B") ("$" . "$(G"c(B") ("%" . "$(G"h(B") ("^" . "$(G!T(B") ("&" . "$(G!m(B") ("*" . "$(G!n(B") ("(" . "$(G!>(B") (")" . "$(G!?(B") - ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"b(B") + ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"`(B") ("|" . "$(G"^(B") ("_" . "$(G"%(B") ("+" . "$(G"0(B") ("~" . "$(G"D(B") - ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$A#{(B") ("}" . "$(G!a(B") + ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$(G!B(B") ("}" . "$(G!C(B") (":" . "$(G!((B") (";" . "$(G!'(B") ("\"" . "$(G!i(B") ("'" . "$(G!k(B") - ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"a(B") + ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"_(B") ("," . "$(G!"(B") ("." . "$(G!%(B") ("a" . "$(G$[(B") ("b" . "$(G$\(B") ("c" . "$(G$](B") ("d" . "$(G$^(B") ("e" . "$(G$_(B") ("f" . "$(G$`(B") ("g" . "$(G$a(B") ("h" . "$(G$b(B") @@ -320,7 +330,7 @@ (its-defrule "=" "$A#=(B") (its-defrule "`" "$A#`(B") (its-defrule "\\" "$A#\(B") (its-defrule "|" "$A#|(B") (its-defrule "_" "$A#_(B") (its-defrule "+" "$A#+(B") - (its-defrule "{" "$A#{(B") (its-defrule "}" "$A#}(B") + (its-defrule "{" "$(G!B(B") (its-defrule "}" "$(G!C(B") (its-defrule "\"" "$A#"(B") (its-defrule "'" "$A#'(B") (its-defrule "<" "$A#<(B") (its-defrule ">" "$A#>(B")) (progn diff --git a/its/hangul.el b/its/hangul.el index 888c434..83a7556 100644 --- a/its/hangul.el +++ b/its/hangul.el @@ -31,57 +31,90 @@ (eval-when-compile (require 'its) + (require 'egg-edep) (require 'cl)) -(defvar its-hangul-enable-jeonkak-alphabet t "*Enable Jeonkak alphabet") +(defvar its-hangul-enable-jeonkak-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Jeonkak alphabet") + (defvar its-hangul-period ". " "*$(C#.(B") ; ". " "$(C#.(B" (defvar its-hangul-comma ", " "*$(C#,(B") ; ", " "$(C#,(B" (defvar its-hangul-open-bracket "$(C!8(B" "*[") ; "$(C#[(B" (defvar its-hangul-close-bracket "$(C!9(B" "*]") ; "$(C#](B" (eval-when-compile - (defconst its-hangul-kijuhynbmlopOP - (its-make-class+back "[kijuhynbmlopOP]" -2)) - (defconst its-hangul-kijuhynbmlopP - (its-make-class+back "[kijuhynbmlopP]" -2)) - (defconst its-hangul-kjhynmlop - (its-make-class+back "[kjhynmlop]" -2)) - - (defmacro its-defrule-hangul-2 (seq out &rest exprs) - `(let ((next-state (its-goto-state ,seq nil t))) - (its-set-output next-state ,out) - (its-make-next-state next-state -1 ,seq ,out) - (its-defrule-otherwise next-state ,out) - (let ((kijuhynbmlopOP (its-make-otherwise ,out its-hangul-kijuhynbmlopOP)) - (kijuhynbmlopP (its-make-otherwise ,out its-hangul-kijuhynbmlopP)) - (kjhynmlop (its-make-otherwise ,out its-hangul-kjhynmlop)) - (next-state next-state)) - ,@exprs))) - - (defmacro its-define-hangul (seq out otherwise &rest exprs) - `(let ((next-state (its-make-next-state ',next-state - (aref ,seq (1- (length ,seq))) - ,seq ,out))) - (its-set-output next-state ,out) - (its-make-next-state next-state -1 ,seq ,out) - (its-define-otherwise next-state - (its-make-otherwise ,out its-otherwise-back-one)) - (its-define-otherwise next-state ,otherwise) - (if ',exprs - (let ((kijuhynbmlopOP (its-make-otherwise ,out its-hangul-kijuhynbmlopOP)) - (kijuhynbmlopP (its-make-otherwise ,out its-hangul-kijuhynbmlopP)) - (kjhynmlop (its-make-otherwise ,out its-hangul-kjhynmlop))) - ,@exprs)))) - - (defun its-defrule-hangul (seq output) - (let ((state (its-goto-state seq nil t))) - (its-set-output state output) - (its-make-next-state state -1 seq output) - - (its-defrule-otherwise state output)))) + (defconst its-hangul-key-alist nil) + (defconst its-hangul-successor-list nil) + + (defsubst its-hangul-sequence-to-key (seq) + (concat (mapcar (lambda (c) + (cdr (assq c its-hangul-key-alist))) + (string-to-list seq)))) + + (defsubst its-hangul-make-successor (init keyseq) + (concat (if init (substring init 0 (1- (length init))) "[") + (list (aref keyseq 1)) + "]"))) + +(eval-when-compile + (defun its-define-hangul-key (key output) + (let ((out (string-to-char output)) + (state (its-goto-state key nil t))) + (setq its-hangul-key-alist (cons (cons out (string-to-char key)) + its-hangul-key-alist)) + (its-set-output state output) + (its-make-next-state state -1 (its-get-keyseq state) output) + (its-defrule-otherwise state output))) + + (defun its-define-hangul-successor-list (keyseq) + (let ((pair (assq (aref keyseq 0) its-hangul-successor-list))) + (if (null pair) + (setq its-hangul-successor-list + (cons (cons (aref keyseq 0) + (its-hangul-make-successor nil keyseq)) + its-hangul-successor-list)) + (if (null (string-match (cdr pair) keyseq 1)) + (setcdr pair (its-hangul-make-successor (cdr pair) keyseq)))))) + + (defun its-defrule-hangul (input output) + (let ((state (its-get-start-state (symbol-value its-current-map))) + (len (length input)) (i 0) + keyseq key prev-out out pair) + (while (< i len) + (setq key (aref input i) + next-state (its-get-next-state state key) + i (1+ i)) + (if next-state + (setq prev-out out + out (its-get-output next-state) + state next-state) + (setq keyseq (substring input 0 i) + prev-out out + out (if (= i len) output (concat out (list key))) + state (its-make-next-state state key keyseq out)) + (its-make-next-state state -1 keyseq out) + (its-defrule-otherwise state out))) + (if (and (= (egg-chars-in-period prev-out 0 (length prev-out)) 1) + (> (string-to-char prev-out) ?\377) + (setq pair (assq (aref keyseq (1- len)) + its-hangul-successor-list))) + (its-defrule-otherwise state prev-out (cdr pair) -2)))) + + (defmacro its-define-hangul (&rest list) + (cons 'progn + (mapcar (lambda (l) + (let ((case-fold-search nil) + (keyseq (its-hangul-sequence-to-key (car l)))) + (if (eq (length keyseq) 2) + (its-define-hangul-successor-list keyseq)) + (list 'its-defrule-hangul keyseq (nth 1 l)))) + list)))) (define-its-state-machine its-hangul-map - "hangul" "$(CGQ(B" "Korean" + "hangul" "$(CGQ(B" 'Korean "Map for Hangul input. (Korean)" (defconst its-jeonkak-escape "Z") @@ -90,2777 +123,2773 @@ (its-defrule-select-mode-temporally "B" downcase) (its-defrule-select-mode-temporally "J" jeonkak-downcase) - (its-defrule-hangul "r" "$(C$!(B") - (its-defrule-hangul "s" "$(C$$(B") - (its-defrule-hangul "e" "$(C$'(B") - (its-defrule-hangul "f" "$(C$)(B") - (its-defrule-hangul "a" "$(C$1(B") - (its-defrule-hangul "q" "$(C$2(B") - (its-defrule-hangul "t" "$(C$5(B") - (its-defrule-hangul "d" "$(C$7(B") - (its-defrule-hangul "w" "$(C$8(B") - (its-defrule-hangul "c" "$(C$:(B") - (its-defrule-hangul "z" "$(C$;(B") - (its-defrule-hangul "x" "$(C$<(B") - (its-defrule-hangul "v" "$(C$=(B") - (its-defrule-hangul "g" "$(C$>(B") - (its-defrule-hangul "R" "$(C$"(B") - (its-defrule-hangul "E" "$(C$((B") - (its-defrule-hangul "Q" "$(C$3(B") - (its-defrule-hangul "T" "$(C$6(B") - (its-defrule-hangul "W" "$(C$9(B") - - (its-defrule-hangul "k" "$(C$?(B") - (its-defrule-hangul "i" "$(C$A(B") - (its-defrule-hangul "j" "$(C$C(B") - (its-defrule-hangul "u" "$(C$E(B") - (its-defrule-hangul "h" "$(C$G(B") - (its-defrule-hangul "y" "$(C$K(B") - (its-defrule-hangul "n" "$(C$L(B") - (its-defrule-hangul "b" "$(C$P(B") - (its-defrule-hangul "m" "$(C$Q(B") - (its-defrule-hangul "l" "$(C$S(B") - (its-defrule-hangul "o" "$(C$@(B") - (its-defrule-hangul "p" "$(C$D(B") - (its-defrule-hangul "O" "$(C$B(B") - (its-defrule-hangul "P" "$(C$F(B") - - (its-defrule-hangul-2 "rk" "$(C0!(B" - (its-define-hangul "rkr" "$(C0"(B" kijuhynbmlopOP) - (its-define-hangul "rks" "$(C0#(B" kijuhynbmlopP) - (its-define-hangul "rke" "$(C0$(B" kijuhynbmlopP) - (its-define-hangul "rkf" "$(C0%(B" kijuhynbmlopP - (its-define-hangul "rkfr" "$(C0&(B" kijuhynbmlopOP) - (its-define-hangul "rkfa" "$(C0'(B" kijuhynbmlopP)) - (its-define-hangul "rka" "$(C0((B" kijuhynbmlopP) - (its-define-hangul "rkq" "$(C0)(B" kijuhynbmlopP - (its-define-hangul "rkqt" "$(C0*(B" kijuhynbmlopOP)) - (its-define-hangul "rkt" "$(C0+(B" kijuhynbmlopOP) - (its-define-hangul "rkT" "$(C0,(B" kjhynmlop) - (its-define-hangul "rkd" "$(C0-(B" kijuhynbmlopOP) - (its-define-hangul "rkw" "$(C0.(B" kijuhynbmlopOP) - (its-define-hangul "rkc" "$(C0/(B" kijuhynbmlopP) - (its-define-hangul "rkx" "$(C00(B" kijuhynbmlopP) - (its-define-hangul "rkv" "$(C01(B" kijuhynbmlopP) - (its-define-hangul "rkg" "$(C02(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ro" "$(C03(B" - (its-define-hangul "ror" "$(C04(B" kijuhynbmlopOP) - (its-define-hangul "ros" "$(C05(B" kijuhynbmlopP) - (its-define-hangul "rof" "$(C06(B" kijuhynbmlopP) - (its-define-hangul "roa" "$(C07(B" kijuhynbmlopP) - (its-define-hangul "roq" "$(C08(B" kijuhynbmlopP) - (its-define-hangul "rot" "$(C09(B" kijuhynbmlopOP) - (its-define-hangul "roT" "$(C0:(B" kjhynmlop) - (its-define-hangul "rod" "$(C0;(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ri" "$(C0<(B" - (its-define-hangul "rir" "$(C0=(B" kijuhynbmlopOP) - (its-define-hangul "ris" "$(C0>(B" kijuhynbmlopP) - (its-define-hangul "rif" "$(C0?(B" kijuhynbmlopP) - (its-define-hangul "rit" "$(C0@(B" kijuhynbmlopOP) - (its-define-hangul "rid" "$(C0A(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rO" "$(C0B(B" - (its-define-hangul "rOs" "$(C0C(B" kijuhynbmlopP) - (its-define-hangul "rOf" "$(C0D(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "rj" "$(C0E(B" - (its-define-hangul "rjr" "$(C0F(B" kijuhynbmlopOP) - (its-define-hangul "rjs" "$(C0G(B" kijuhynbmlopP) - (its-define-hangul "rje" "$(C0H(B" kijuhynbmlopP) - (its-define-hangul "rjf" "$(C0I(B" kijuhynbmlopP - (its-define-hangul "rjfa" "$(C0J(B" kijuhynbmlopP)) - (its-define-hangul "rja" "$(C0K(B" kijuhynbmlopP) - (its-define-hangul "rjq" "$(C0L(B" kijuhynbmlopP) - (its-define-hangul "rjt" "$(C0M(B" kijuhynbmlopOP) - (its-define-hangul "rjT" "$(C0N(B" kjhynmlop) - (its-define-hangul "rjd" "$(C0O(B" kijuhynbmlopOP) - (its-define-hangul "rjw" "$(C0P(B" kijuhynbmlopOP) - (its-define-hangul "rjx" "$(C0Q(B" kijuhynbmlopP) - (its-define-hangul "rjv" "$(C0R(B" kijuhynbmlopP) - (its-define-hangul "rjg" "$(C0S(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "rp" "$(C0T(B" - (its-define-hangul "rps" "$(C0U(B" kijuhynbmlopP) - (its-define-hangul "rpf" "$(C0V(B" kijuhynbmlopP) - (its-define-hangul "rpa" "$(C0W(B" kijuhynbmlopP) - (its-define-hangul "rpq" "$(C0X(B" kijuhynbmlopP) - (its-define-hangul "rpt" "$(C0Y(B" kijuhynbmlopOP) - (its-define-hangul "rpT" "$(C0Z(B" kjhynmlop) - (its-define-hangul "rpd" "$(C0[(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ru" "$(C0\(B" - (its-define-hangul "rur" "$(C0](B" kijuhynbmlopOP) - (its-define-hangul "ruR" "$(C0^(B" kijuhynbmlopP) - (its-define-hangul "rus" "$(C0_(B" kijuhynbmlopP) - (its-define-hangul "rue" "$(C0`(B" kijuhynbmlopP) - (its-define-hangul "ruf" "$(C0a(B" kijuhynbmlopP) - (its-define-hangul "rua" "$(C0b(B" kijuhynbmlopP) - (its-define-hangul "ruq" "$(C0c(B" kijuhynbmlopP) - (its-define-hangul "rut" "$(C0d(B" kijuhynbmlopOP) - (its-define-hangul "ruT" "$(C0e(B" kjhynmlop) - (its-define-hangul "rud" "$(C0f(B" kijuhynbmlopOP) - (its-define-hangul "rux" "$(C0g(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "rP" "$(C0h(B" - (its-define-hangul "rPs" "$(C0i(B" kijuhynbmlopP) - (its-define-hangul "rPf" "$(C0j(B" kijuhynbmlopP) - (its-define-hangul "rPq" "$(C0k(B" kijuhynbmlopP) - (its-define-hangul "rPt" "$(C0l(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rh" "$(C0m(B" - (its-define-hangul "rhr" "$(C0n(B" kijuhynbmlopOP) - (its-define-hangul "rhs" "$(C0o(B" kijuhynbmlopP) - (its-define-hangul "rhe" "$(C0p(B" kijuhynbmlopP) - (its-define-hangul "rhf" "$(C0q(B" kijuhynbmlopP - (its-define-hangul "rhfa" "$(C0r(B" kijuhynbmlopP) - (its-define-hangul "rhft" "$(C0s(B" kijuhynbmlopOP) - (its-define-hangul "rhfg" "$(C0t(B" kijuhynbmlopP)) - (its-define-hangul "rha" "$(C0u(B" kijuhynbmlopP) - (its-define-hangul "rhq" "$(C0v(B" kijuhynbmlopP) - (its-define-hangul "rht" "$(C0w(B" kijuhynbmlopOP) - (its-define-hangul "rhd" "$(C0x(B" kijuhynbmlopOP) - (its-define-hangul "rhw" "$(C0y(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rhk" "$(C0z(B" - (its-define-hangul "rhkr" "$(C0{(B" kijuhynbmlopOP) - (its-define-hangul "rhks" "$(C0|(B" kijuhynbmlopP) - (its-define-hangul "rhkf" "$(C0}(B" kijuhynbmlopP - (its-define-hangul "rhkfa" "$(C0~(B" kijuhynbmlopP)) - (its-define-hangul "rhka" "$(C1!(B" kijuhynbmlopP) - (its-define-hangul "rhkq" "$(C1"(B" kijuhynbmlopP) - (its-define-hangul "rhkt" "$(C1#(B" kijuhynbmlopOP) - (its-define-hangul "rhkd" "$(C1$(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rho" "$(C1%(B" - (its-define-hangul "rhos" "$(C1&(B" kijuhynbmlopP) - (its-define-hangul "rhof" "$(C1'(B" kijuhynbmlopP) - (its-define-hangul "rhoq" "$(C1((B" kijuhynbmlopP) - (its-define-hangul "rhoT" "$(C1)(B" kjhynmlop) - (its-define-hangul "rhod" "$(C1*(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rhl" "$(C1+(B" - (its-define-hangul "rhlr" "$(C1,(B" kijuhynbmlopOP) - (its-define-hangul "rhls" "$(C1-(B" kijuhynbmlopP) - (its-define-hangul "rhlf" "$(C1.(B" kijuhynbmlopP) - (its-define-hangul "rhla" "$(C1/(B" kijuhynbmlopP) - (its-define-hangul "rhlq" "$(C10(B" kijuhynbmlopP) - (its-define-hangul "rhlt" "$(C11(B" kijuhynbmlopOP) - (its-define-hangul "rhld" "$(C12(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ry" "$(C13(B" - (its-define-hangul "rys" "$(C14(B" kijuhynbmlopP) - (its-define-hangul "ryf" "$(C15(B" kijuhynbmlopP) - (its-define-hangul "ryq" "$(C16(B" kijuhynbmlopP) - (its-define-hangul "ryt" "$(C17(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rn" "$(C18(B" - (its-define-hangul "rnr" "$(C19(B" kijuhynbmlopOP) - (its-define-hangul "rns" "$(C1:(B" kijuhynbmlopP) - (its-define-hangul "rne" "$(C1;(B" kijuhynbmlopP) - (its-define-hangul "rnf" "$(C1<(B" kijuhynbmlopP - (its-define-hangul "rnfr" "$(C1=(B" kijuhynbmlopOP) - (its-define-hangul "rnfa" "$(C1>(B" kijuhynbmlopP) - (its-define-hangul "rnfg" "$(C1?(B" kijuhynbmlopP)) - (its-define-hangul "rna" "$(C1@(B" kijuhynbmlopP) - (its-define-hangul "rnq" "$(C1A(B" kijuhynbmlopP) - (its-define-hangul "rnt" "$(C1B(B" kijuhynbmlopOP) - (its-define-hangul "rnd" "$(C1C(B" kijuhynbmlopOP) - (its-define-hangul "rnw" "$(C1D(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rnj" "$(C1E(B" - (its-define-hangul "rnjr" "$(C1F(B" kijuhynbmlopOP) - (its-define-hangul "rnjs" "$(C1G(B" kijuhynbmlopP) - (its-define-hangul "rnjf" "$(C1H(B" kijuhynbmlopP) - (its-define-hangul "rnjT" "$(C1I(B" kjhynmlop) - (its-define-hangul "rnjd" "$(C1J(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rnp" "$(C1K(B" - (its-define-hangul "rnpt" "$(C1L(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rnl" "$(C1M(B" - (its-define-hangul "rnlr" "$(C1N(B" kijuhynbmlopOP) - (its-define-hangul "rnls" "$(C1O(B" kijuhynbmlopP) - (its-define-hangul "rnlf" "$(C1P(B" kijuhynbmlopP) - (its-define-hangul "rnla" "$(C1Q(B" kijuhynbmlopP) - (its-define-hangul "rnlq" "$(C1R(B" kijuhynbmlopP) - (its-define-hangul "rnlt" "$(C1S(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "rb" "$(C1T(B" - (its-define-hangul "rbs" "$(C1U(B" kijuhynbmlopP) - (its-define-hangul "rbf" "$(C1V(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "rm" "$(C1W(B" - (its-define-hangul "rmr" "$(C1X(B" kijuhynbmlopOP) - (its-define-hangul "rms" "$(C1Y(B" kijuhynbmlopP) - (its-define-hangul "rme" "$(C1Z(B" kijuhynbmlopP) - (its-define-hangul "rmf" "$(C1[(B" kijuhynbmlopP - (its-define-hangul "rmfr" "$(C1\(B" kijuhynbmlopOP)) - (its-define-hangul "rma" "$(C1](B" kijuhynbmlopP) - (its-define-hangul "rmq" "$(C1^(B" kijuhynbmlopP) - (its-define-hangul "rmt" "$(C1_(B" kijuhynbmlopOP) - (its-define-hangul "rmd" "$(C1`(B" kijuhynbmlopOP)) - - (its-defrule-hangul "rml" "$(C1a(B") - - (its-defrule-hangul-2 "rl" "$(C1b(B" - (its-define-hangul "rlr" "$(C1c(B" kijuhynbmlopOP) - (its-define-hangul "rls" "$(C1d(B" kijuhynbmlopP) - (its-define-hangul "rle" "$(C1e(B" kijuhynbmlopP) - (its-define-hangul "rlf" "$(C1f(B" kijuhynbmlopP - (its-define-hangul "rlfa" "$(C1g(B" kijuhynbmlopP)) - (its-define-hangul "rla" "$(C1h(B" kijuhynbmlopP) - (its-define-hangul "rlq" "$(C1i(B" kijuhynbmlopP) - (its-define-hangul "rlt" "$(C1j(B" kijuhynbmlopOP) - (its-define-hangul "rld" "$(C1k(B" kijuhynbmlopOP) - (its-define-hangul "rlw" "$(C1l(B" kijuhynbmlopOP) - (its-define-hangul "rlv" "$(C1m(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Rk" "$(C1n(B" - (its-define-hangul "Rkr" "$(C1o(B" kijuhynbmlopOP) - (its-define-hangul "RkR" "$(C1p(B" kijuhynbmlopP) - (its-define-hangul "Rks" "$(C1q(B" kijuhynbmlopP) - (its-define-hangul "Rkf" "$(C1r(B" kijuhynbmlopP - (its-define-hangul "Rkfa" "$(C1s(B" kijuhynbmlopP)) - (its-define-hangul "Rka" "$(C1t(B" kijuhynbmlopP) - (its-define-hangul "Rkq" "$(C1u(B" kijuhynbmlopP) - (its-define-hangul "Rkt" "$(C1v(B" kijuhynbmlopOP) - (its-define-hangul "RkT" "$(C1w(B" kjhynmlop) - (its-define-hangul "Rkd" "$(C1x(B" kijuhynbmlopOP) - (its-define-hangul "Rkx" "$(C1y(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Ro" "$(C1z(B" - (its-define-hangul "Ror" "$(C1{(B" kijuhynbmlopOP) - (its-define-hangul "Ros" "$(C1|(B" kijuhynbmlopP) - (its-define-hangul "Rof" "$(C1}(B" kijuhynbmlopP) - (its-define-hangul "Roa" "$(C1~(B" kijuhynbmlopP) - (its-define-hangul "Roq" "$(C2!(B" kijuhynbmlopP) - (its-define-hangul "Rot" "$(C2"(B" kijuhynbmlopOP) - (its-define-hangul "RoT" "$(C2#(B" kjhynmlop) - (its-define-hangul "Rod" "$(C2$(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Ri" "$(C2%(B" - (its-define-hangul "Rir" "$(C2&(B" kijuhynbmlopOP) - (its-define-hangul "Rif" "$(C2'(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Rj" "$(C2((B" - (its-define-hangul "Rjr" "$(C2)(B" kijuhynbmlopOP) - (its-define-hangul "RjR" "$(C2*(B" kijuhynbmlopP) - (its-define-hangul "Rjs" "$(C2+(B" kijuhynbmlopP) - (its-define-hangul "Rjf" "$(C2,(B" kijuhynbmlopP) - (its-define-hangul "Rja" "$(C2-(B" kijuhynbmlopP) - (its-define-hangul "Rjq" "$(C2.(B" kijuhynbmlopP) - (its-define-hangul "Rjt" "$(C2/(B" kijuhynbmlopOP) - (its-define-hangul "RjT" "$(C20(B" kjhynmlop) - (its-define-hangul "Rjd" "$(C21(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Rp" "$(C22(B" - (its-define-hangul "Rpr" "$(C23(B" kijuhynbmlopOP) - (its-define-hangul "Rps" "$(C24(B" kijuhynbmlopP) - (its-define-hangul "Rpa" "$(C25(B" kijuhynbmlopP) - (its-define-hangul "Rpt" "$(C26(B" kijuhynbmlopOP) - (its-define-hangul "Rpd" "$(C27(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Ru" "$(C28(B" - (its-define-hangul "Rus" "$(C29(B" kijuhynbmlopP) - (its-define-hangul "Ruf" "$(C2:(B" kijuhynbmlopP) - (its-define-hangul "Rut" "$(C2;(B" kijuhynbmlopOP) - (its-define-hangul "RuT" "$(C2<(B" kjhynmlop) - (its-define-hangul "Rux" "$(C2=(B" kijuhynbmlopP)) - - (its-defrule-hangul "RP" "$(C2>(B") - - (its-defrule-hangul-2 "Rh" "$(C2?(B" - (its-define-hangul "Rhr" "$(C2@(B" kijuhynbmlopOP) - (its-define-hangul "Rhs" "$(C2A(B" kijuhynbmlopP - (its-define-hangul "Rhsg" "$(C2B(B" kijuhynbmlopP)) - (its-define-hangul "Rhf" "$(C2C(B" kijuhynbmlopP) - (its-define-hangul "Rha" "$(C2D(B" kijuhynbmlopP) - (its-define-hangul "Rhq" "$(C2E(B" kijuhynbmlopP) - (its-define-hangul "Rht" "$(C2F(B" kijuhynbmlopOP) - (its-define-hangul "Rhd" "$(C2G(B" kijuhynbmlopOP) - (its-define-hangul "Rhw" "$(C2H(B" kijuhynbmlopOP) - (its-define-hangul "Rhc" "$(C2I(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Rhk" "$(C2J(B" - (its-define-hangul "Rhkr" "$(C2K(B" kijuhynbmlopOP) - (its-define-hangul "Rhkf" "$(C2L(B" kijuhynbmlopP) - (its-define-hangul "RhkT" "$(C2M(B" kjhynmlop) - (its-define-hangul "Rhkd" "$(C2N(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Rho" "$(C2O(B" - (its-define-hangul "Rhor" "$(C2P(B" kijuhynbmlopOP) - (its-define-hangul "Rhod" "$(C2Q(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Rhl" "$(C2R(B" - (its-define-hangul "Rhls" "$(C2S(B" kijuhynbmlopP) - (its-define-hangul "Rhlf" "$(C2T(B" kijuhynbmlopP) - (its-define-hangul "Rhla" "$(C2U(B" kijuhynbmlopP) - (its-define-hangul "Rhlq" "$(C2V(B" kijuhynbmlopP) - (its-define-hangul "Rhld" "$(C2W(B" kijuhynbmlopOP)) - - (its-defrule-hangul "Ry" "$(C2X(B") - - (its-defrule-hangul-2 "Rn" "$(C2Y(B" - (its-define-hangul "Rnr" "$(C2Z(B" kijuhynbmlopOP) - (its-define-hangul "Rns" "$(C2[(B" kijuhynbmlopP) - (its-define-hangul "Rnf" "$(C2\(B" kijuhynbmlopP - (its-define-hangul "Rnfg" "$(C2](B" kijuhynbmlopP)) - (its-define-hangul "Rna" "$(C2^(B" kijuhynbmlopP) - (its-define-hangul "Rnq" "$(C2_(B" kijuhynbmlopP) - (its-define-hangul "Rnt" "$(C2`(B" kijuhynbmlopOP) - (its-define-hangul "Rnd" "$(C2a(B" kijuhynbmlopOP) - (its-define-hangul "Rnw" "$(C2b(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Rnj" "$(C2c(B" - (its-define-hangul "Rnjf" "$(C2d(B" kijuhynbmlopP) - (its-define-hangul "RnjT" "$(C2e(B" kjhynmlop) - (its-define-hangul "Rnjd" "$(C2f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Rnp" "$(C2g(B" - (its-define-hangul "Rnpr" "$(C2h(B" kijuhynbmlopOP) - (its-define-hangul "Rnps" "$(C2i(B" kijuhynbmlopP) - (its-define-hangul "Rnpf" "$(C2j(B" kijuhynbmlopP) - (its-define-hangul "Rnpa" "$(C2k(B" kijuhynbmlopP) - (its-define-hangul "Rnpq" "$(C2l(B" kijuhynbmlopP) - (its-define-hangul "RnpT" "$(C2m(B" kjhynmlop)) - - (its-defrule-hangul-2 "Rnl" "$(C2n(B" - (its-define-hangul "Rnls" "$(C2o(B" kijuhynbmlopP) - (its-define-hangul "Rnlf" "$(C2p(B" kijuhynbmlopP) - (its-define-hangul "Rnla" "$(C2q(B" kijuhynbmlopP) - (its-define-hangul "Rnlq" "$(C2r(B" kijuhynbmlopP)) - - (its-defrule-hangul "Rb" "$(C2s(B") - - (its-defrule-hangul-2 "Rm" "$(C2t(B" - (its-define-hangul "Rmr" "$(C2u(B" kijuhynbmlopOP) - (its-define-hangul "Rms" "$(C2v(B" kijuhynbmlopP - (its-define-hangul "Rmsg" "$(C2w(B" kijuhynbmlopP)) - (its-define-hangul "Rmf" "$(C2x(B" kijuhynbmlopP - (its-define-hangul "Rmfa" "$(C2y(B" kijuhynbmlopP) - (its-define-hangul "Rmfg" "$(C2z(B" kijuhynbmlopP)) - (its-define-hangul "Rma" "$(C2{(B" kijuhynbmlopP) - (its-define-hangul "Rmq" "$(C2|(B" kijuhynbmlopP) - (its-define-hangul "Rmt" "$(C2}(B" kijuhynbmlopOP) - (its-define-hangul "Rmd" "$(C2~(B" kijuhynbmlopOP) - (its-define-hangul "Rmx" "$(C3!(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Rl" "$(C3"(B" - (its-define-hangul "Rlr" "$(C3#(B" kijuhynbmlopOP) - (its-define-hangul "Rls" "$(C3$(B" kijuhynbmlopP) - (its-define-hangul "Rlf" "$(C3%(B" kijuhynbmlopP) - (its-define-hangul "Rla" "$(C3&(B" kijuhynbmlopP) - (its-define-hangul "Rlq" "$(C3'(B" kijuhynbmlopP) - (its-define-hangul "Rlt" "$(C3((B" kijuhynbmlopOP) - (its-define-hangul "Rld" "$(C3)(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "sk" "$(C3*(B" - (its-define-hangul "skr" "$(C3+(B" kijuhynbmlopOP) - (its-define-hangul "skR" "$(C3,(B" kijuhynbmlopP) - (its-define-hangul "sks" "$(C3-(B" kijuhynbmlopP) - (its-define-hangul "ske" "$(C3.(B" kijuhynbmlopP) - (its-define-hangul "skf" "$(C3/(B" kijuhynbmlopP - (its-define-hangul "skfr" "$(C30(B" kijuhynbmlopOP) - (its-define-hangul "skfa" "$(C31(B" kijuhynbmlopP)) - (its-define-hangul "ska" "$(C32(B" kijuhynbmlopP) - (its-define-hangul "skq" "$(C33(B" kijuhynbmlopP) - (its-define-hangul "skt" "$(C34(B" kijuhynbmlopOP) - (its-define-hangul "skT" "$(C35(B" kjhynmlop) - (its-define-hangul "skd" "$(C36(B" kijuhynbmlopOP) - (its-define-hangul "skw" "$(C37(B" kijuhynbmlopOP) - (its-define-hangul "skc" "$(C38(B" kijuhynbmlopP) - (its-define-hangul "skx" "$(C39(B" kijuhynbmlopP) - (its-define-hangul "skg" "$(C3:(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "so" "$(C3;(B" - (its-define-hangul "sor" "$(C3<(B" kijuhynbmlopOP) - (its-define-hangul "sos" "$(C3=(B" kijuhynbmlopP) - (its-define-hangul "sof" "$(C3>(B" kijuhynbmlopP) - (its-define-hangul "soa" "$(C3?(B" kijuhynbmlopP) - (its-define-hangul "soq" "$(C3@(B" kijuhynbmlopP) - (its-define-hangul "sot" "$(C3A(B" kijuhynbmlopOP) - (its-define-hangul "soT" "$(C3B(B" kjhynmlop) - (its-define-hangul "sod" "$(C3C(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "si" "$(C3D(B" - (its-define-hangul "sir" "$(C3E(B" kijuhynbmlopOP) - (its-define-hangul "sis" "$(C3F(B" kijuhynbmlopP) - (its-define-hangul "sif" "$(C3G(B" kijuhynbmlopP) - (its-define-hangul "sia" "$(C3H(B" kijuhynbmlopP) - (its-define-hangul "sid" "$(C3I(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "sj" "$(C3J(B" - (its-define-hangul "sjr" "$(C3K(B" kijuhynbmlopOP - (its-define-hangul "sjrt" "$(C3L(B" kijuhynbmlopOP)) - (its-define-hangul "sjs" "$(C3M(B" kijuhynbmlopP) - (its-define-hangul "sjf" "$(C3N(B" kijuhynbmlopP - (its-define-hangul "sjfa" "$(C3O(B" kijuhynbmlopP) - (its-define-hangul "sjfq" "$(C3P(B" kijuhynbmlopP)) - (its-define-hangul "sja" "$(C3Q(B" kijuhynbmlopP) - (its-define-hangul "sjq" "$(C3R(B" kijuhynbmlopP) - (its-define-hangul "sjt" "$(C3S(B" kijuhynbmlopOP) - (its-define-hangul "sjT" "$(C3T(B" kjhynmlop) - (its-define-hangul "sjd" "$(C3U(B" kijuhynbmlopOP) - (its-define-hangul "sjg" "$(C3V(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sp" "$(C3W(B" - (its-define-hangul "spr" "$(C3X(B" kijuhynbmlopOP) - (its-define-hangul "sps" "$(C3Y(B" kijuhynbmlopP) - (its-define-hangul "spf" "$(C3Z(B" kijuhynbmlopP) - (its-define-hangul "spa" "$(C3[(B" kijuhynbmlopP) - (its-define-hangul "spq" "$(C3\(B" kijuhynbmlopP) - (its-define-hangul "spt" "$(C3](B" kijuhynbmlopOP) - (its-define-hangul "spT" "$(C3^(B" kjhynmlop) - (its-define-hangul "spd" "$(C3_(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "su" "$(C3`(B" - (its-define-hangul "sur" "$(C3a(B" kijuhynbmlopOP) - (its-define-hangul "sus" "$(C3b(B" kijuhynbmlopP) - (its-define-hangul "suf" "$(C3c(B" kijuhynbmlopP) - (its-define-hangul "sua" "$(C3d(B" kijuhynbmlopP) - (its-define-hangul "suq" "$(C3e(B" kijuhynbmlopP) - (its-define-hangul "suT" "$(C3f(B" kjhynmlop) - (its-define-hangul "sud" "$(C3g(B" kijuhynbmlopOP) - (its-define-hangul "suz" "$(C3h(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sP" "$(C3i(B" - (its-define-hangul "sPs" "$(C3j(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sh" "$(C3k(B" - (its-define-hangul "shr" "$(C3l(B" kijuhynbmlopOP) - (its-define-hangul "shs" "$(C3m(B" kijuhynbmlopP) - (its-define-hangul "shf" "$(C3n(B" kijuhynbmlopP - (its-define-hangul "shfa" "$(C3o(B" kijuhynbmlopP)) - (its-define-hangul "sha" "$(C3p(B" kijuhynbmlopP) - (its-define-hangul "shq" "$(C3q(B" kijuhynbmlopP) - (its-define-hangul "sht" "$(C3r(B" kijuhynbmlopOP) - (its-define-hangul "shd" "$(C3s(B" kijuhynbmlopOP) - (its-define-hangul "shv" "$(C3t(B" kijuhynbmlopP) - (its-define-hangul "shg" "$(C3u(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "shk" "$(C3v(B" - (its-define-hangul "shks" "$(C3w(B" kijuhynbmlopP) - (its-define-hangul "shkf" "$(C3x(B" kijuhynbmlopP) - (its-define-hangul "shkT" "$(C3y(B" kjhynmlop)) - - (its-defrule-hangul-2 "shl" "$(C3z(B" - (its-define-hangul "shls" "$(C3{(B" kijuhynbmlopP) - (its-define-hangul "shlf" "$(C3|(B" kijuhynbmlopP) - (its-define-hangul "shla" "$(C3}(B" kijuhynbmlopP) - (its-define-hangul "shlq" "$(C3~(B" kijuhynbmlopP) - (its-define-hangul "shlt" "$(C4!(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "sy" "$(C4"(B" - (its-define-hangul "syr" "$(C4#(B" kijuhynbmlopOP) - (its-define-hangul "sys" "$(C4$(B" kijuhynbmlopP) - (its-define-hangul "syf" "$(C4%(B" kijuhynbmlopP) - (its-define-hangul "syq" "$(C4&(B" kijuhynbmlopP) - (its-define-hangul "syt" "$(C4'(B" kijuhynbmlopOP) - (its-define-hangul "syd" "$(C4((B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "sn" "$(C4)(B" - (its-define-hangul "snr" "$(C4*(B" kijuhynbmlopOP) - (its-define-hangul "sns" "$(C4+(B" kijuhynbmlopP) - (its-define-hangul "sne" "$(C4,(B" kijuhynbmlopP) - (its-define-hangul "snf" "$(C4-(B" kijuhynbmlopP) - (its-define-hangul "sna" "$(C4.(B" kijuhynbmlopP) - (its-define-hangul "snq" "$(C4/(B" kijuhynbmlopP) - (its-define-hangul "snt" "$(C40(B" kijuhynbmlopOP) - (its-define-hangul "snd" "$(C41(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "snj" "$(C42(B" - (its-define-hangul "snjT" "$(C43(B" kjhynmlop)) - - (its-defrule-hangul "snp" "$(C44(B") - - (its-defrule-hangul-2 "snl" "$(C45(B" - (its-define-hangul "snls" "$(C46(B" kijuhynbmlopP) - (its-define-hangul "snlf" "$(C47(B" kijuhynbmlopP) - (its-define-hangul "snla" "$(C48(B" kijuhynbmlopP) - (its-define-hangul "snlq" "$(C49(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sb" "$(C4:(B" - (its-define-hangul "sbr" "$(C4;(B" kijuhynbmlopOP) - (its-define-hangul "sbf" "$(C4<(B" kijuhynbmlopP) - (its-define-hangul "sba" "$(C4=(B" kijuhynbmlopP) - (its-define-hangul "sbq" "$(C4>(B" kijuhynbmlopP) - (its-define-hangul "sbd" "$(C4?(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "sm" "$(C4@(B" - (its-define-hangul "smr" "$(C4A(B" kijuhynbmlopOP) - (its-define-hangul "sms" "$(C4B(B" kijuhynbmlopP) - (its-define-hangul "smf" "$(C4C(B" kijuhynbmlopP - (its-define-hangul "smfr" "$(C4D(B" kijuhynbmlopOP) - (its-define-hangul "smfa" "$(C4E(B" kijuhynbmlopP)) - (its-define-hangul "sma" "$(C4F(B" kijuhynbmlopP) - (its-define-hangul "smq" "$(C4G(B" kijuhynbmlopP) - (its-define-hangul "smt" "$(C4H(B" kijuhynbmlopOP) - (its-define-hangul "smd" "$(C4I(B" kijuhynbmlopOP) - (its-define-hangul "smw" "$(C4J(B" kijuhynbmlopOP) - (its-define-hangul "smv" "$(C4K(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sml" "$(C4L(B" - (its-define-hangul "smls" "$(C4M(B" kijuhynbmlopP) - (its-define-hangul "smlf" "$(C4N(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "sl" "$(C4O(B" - (its-define-hangul "slr" "$(C4P(B" kijuhynbmlopOP) - (its-define-hangul "sls" "$(C4Q(B" kijuhynbmlopP) - (its-define-hangul "slf" "$(C4R(B" kijuhynbmlopP - (its-define-hangul "slfa" "$(C4S(B" kijuhynbmlopP)) - (its-define-hangul "sla" "$(C4T(B" kijuhynbmlopP) - (its-define-hangul "slq" "$(C4U(B" kijuhynbmlopP) - (its-define-hangul "slt" "$(C4V(B" kijuhynbmlopOP) - (its-define-hangul "sld" "$(C4W(B" kijuhynbmlopOP) - (its-define-hangul "slv" "$(C4X(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ek" "$(C4Y(B" - (its-define-hangul "ekr" "$(C4Z(B" kijuhynbmlopOP) - (its-define-hangul "ekR" "$(C4[(B" kijuhynbmlopP) - (its-define-hangul "eks" "$(C4\(B" kijuhynbmlopP) - (its-define-hangul "eke" "$(C4](B" kijuhynbmlopP) - (its-define-hangul "ekf" "$(C4^(B" kijuhynbmlopP - (its-define-hangul "ekfr" "$(C4_(B" kijuhynbmlopOP) - (its-define-hangul "ekfa" "$(C4`(B" kijuhynbmlopP) - (its-define-hangul "ekfq" "$(C4a(B" kijuhynbmlopP) - (its-define-hangul "ekfg" "$(C4b(B" kijuhynbmlopP)) - (its-define-hangul "eka" "$(C4c(B" kijuhynbmlopP) - (its-define-hangul "ekq" "$(C4d(B" kijuhynbmlopP) - (its-define-hangul "ekt" "$(C4e(B" kijuhynbmlopOP) - (its-define-hangul "ekT" "$(C4f(B" kjhynmlop) - (its-define-hangul "ekd" "$(C4g(B" kijuhynbmlopOP) - (its-define-hangul "ekw" "$(C4h(B" kijuhynbmlopOP) - (its-define-hangul "ekc" "$(C4i(B" kijuhynbmlopP) - (its-define-hangul "ekg" "$(C4j(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "eo" "$(C4k(B" - (its-define-hangul "eor" "$(C4l(B" kijuhynbmlopOP) - (its-define-hangul "eos" "$(C4m(B" kijuhynbmlopP) - (its-define-hangul "eof" "$(C4n(B" kijuhynbmlopP) - (its-define-hangul "eoa" "$(C4o(B" kijuhynbmlopP) - (its-define-hangul "eoq" "$(C4p(B" kijuhynbmlopP) - (its-define-hangul "eot" "$(C4q(B" kijuhynbmlopOP) - (its-define-hangul "eoT" "$(C4r(B" kjhynmlop) - (its-define-hangul "eod" "$(C4s(B" kijuhynbmlopOP)) - - (its-defrule-hangul "ei" "$(C4t(B") - - (its-defrule-hangul-2 "ej" "$(C4u(B" - (its-define-hangul "ejr" "$(C4v(B" kijuhynbmlopOP) - (its-define-hangul "ejR" "$(C4w(B" kijuhynbmlopP) - (its-define-hangul "ejs" "$(C4x(B" kijuhynbmlopP) - (its-define-hangul "eje" "$(C4y(B" kijuhynbmlopP) - (its-define-hangul "ejf" "$(C4z(B" kijuhynbmlopP - (its-define-hangul "ejfa" "$(C4{(B" kijuhynbmlopP) - (its-define-hangul "ejfq" "$(C4|(B" kijuhynbmlopP)) - (its-define-hangul "eja" "$(C4}(B" kijuhynbmlopP) - (its-define-hangul "ejq" "$(C4~(B" kijuhynbmlopP) - (its-define-hangul "ejt" "$(C5!(B" kijuhynbmlopOP) - (its-define-hangul "ejd" "$(C5"(B" kijuhynbmlopOP) - (its-define-hangul "ejc" "$(C5#(B" kijuhynbmlopP) - (its-define-hangul "ejv" "$(C5$(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ep" "$(C5%(B" - (its-define-hangul "epr" "$(C5&(B" kijuhynbmlopOP) - (its-define-hangul "eps" "$(C5'(B" kijuhynbmlopP) - (its-define-hangul "epf" "$(C5((B" kijuhynbmlopP) - (its-define-hangul "epa" "$(C5)(B" kijuhynbmlopP) - (its-define-hangul "epq" "$(C5*(B" kijuhynbmlopP) - (its-define-hangul "ept" "$(C5+(B" kijuhynbmlopOP) - (its-define-hangul "epT" "$(C5,(B" kjhynmlop) - (its-define-hangul "epd" "$(C5-(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "eu" "$(C5.(B" - (its-define-hangul "eus" "$(C5/(B" kijuhynbmlopP) - (its-define-hangul "euf" "$(C50(B" kijuhynbmlopP) - (its-define-hangul "euT" "$(C51(B" kjhynmlop) - (its-define-hangul "eud" "$(C52(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "eP" "$(C53(B" - (its-define-hangul "ePs" "$(C54(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "eh" "$(C55(B" - (its-define-hangul "ehr" "$(C56(B" kijuhynbmlopOP) - (its-define-hangul "ehs" "$(C57(B" kijuhynbmlopP) - (its-define-hangul "ehe" "$(C58(B" kijuhynbmlopP) - (its-define-hangul "ehf" "$(C59(B" kijuhynbmlopP - (its-define-hangul "ehfa" "$(C5:(B" kijuhynbmlopP) - (its-define-hangul "ehft" "$(C5;(B" kijuhynbmlopOP)) - (its-define-hangul "eha" "$(C5<(B" kijuhynbmlopP) - (its-define-hangul "ehq" "$(C5=(B" kijuhynbmlopP) - (its-define-hangul "eht" "$(C5>(B" kijuhynbmlopOP) - (its-define-hangul "ehd" "$(C5?(B" kijuhynbmlopOP) - (its-define-hangul "ehc" "$(C5@(B" kijuhynbmlopP) - (its-define-hangul "ehx" "$(C5A(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ehk" "$(C5B(B" - (its-define-hangul "ehks" "$(C5C(B" kijuhynbmlopP) - (its-define-hangul "ehkf" "$(C5D(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "eho" "$(C5E(B" - (its-define-hangul "ehoT" "$(C5F(B" kjhynmlop)) - - (its-defrule-hangul-2 "ehl" "$(C5G(B" - (its-define-hangul "ehls" "$(C5H(B" kijuhynbmlopP) - (its-define-hangul "ehlf" "$(C5I(B" kijuhynbmlopP) - (its-define-hangul "ehla" "$(C5J(B" kijuhynbmlopP) - (its-define-hangul "ehlq" "$(C5K(B" kijuhynbmlopP) - (its-define-hangul "ehlt" "$(C5L(B" kijuhynbmlopOP)) - - (its-defrule-hangul "ey" "$(C5M(B") - - (its-defrule-hangul-2 "en" "$(C5N(B" - (its-define-hangul "enr" "$(C5O(B" kijuhynbmlopOP) - (its-define-hangul "ens" "$(C5P(B" kijuhynbmlopP) - (its-define-hangul "enf" "$(C5Q(B" kijuhynbmlopP) - (its-define-hangul "ena" "$(C5R(B" kijuhynbmlopP) - (its-define-hangul "enq" "$(C5S(B" kijuhynbmlopP) - (its-define-hangul "ent" "$(C5T(B" kijuhynbmlopOP) - (its-define-hangul "end" "$(C5U(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "enj" "$(C5V(B" - (its-define-hangul "enjT" "$(C5W(B" kjhynmlop)) - - (its-defrule-hangul-2 "enp" "$(C5X(B" - (its-define-hangul "enpd" "$(C5Y(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "enl" "$(C5Z(B" - (its-define-hangul "enls" "$(C5[(B" kijuhynbmlopP) - (its-define-hangul "enlf" "$(C5\(B" kijuhynbmlopP) - (its-define-hangul "enlq" "$(C5](B" kijuhynbmlopP) - (its-define-hangul "enlt" "$(C5^(B" kijuhynbmlopOP) - (its-define-hangul "enld" "$(C5_(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "eb" "$(C5`(B" - (its-define-hangul "ebs" "$(C5a(B" kijuhynbmlopP) - (its-define-hangul "ebf" "$(C5b(B" kijuhynbmlopP) - (its-define-hangul "eba" "$(C5c(B" kijuhynbmlopP) - (its-define-hangul "ebd" "$(C5d(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "em" "$(C5e(B" - (its-define-hangul "emr" "$(C5f(B" kijuhynbmlopOP) - (its-define-hangul "ems" "$(C5g(B" kijuhynbmlopP) - (its-define-hangul "eme" "$(C5h(B" kijuhynbmlopP) - (its-define-hangul "emf" "$(C5i(B" kijuhynbmlopP - (its-define-hangul "emfa" "$(C5j(B" kijuhynbmlopP)) - (its-define-hangul "ema" "$(C5k(B" kijuhynbmlopP) - (its-define-hangul "emq" "$(C5l(B" kijuhynbmlopP) - (its-define-hangul "emt" "$(C5m(B" kijuhynbmlopOP) - (its-define-hangul "emd" "$(C5n(B" kijuhynbmlopOP)) - - (its-defrule-hangul "eml" "$(C5o(B") - - (its-defrule-hangul-2 "el" "$(C5p(B" - (its-define-hangul "elr" "$(C5q(B" kijuhynbmlopOP) - (its-define-hangul "els" "$(C5r(B" kijuhynbmlopP) - (its-define-hangul "ele" "$(C5s(B" kijuhynbmlopP) - (its-define-hangul "elf" "$(C5t(B" kijuhynbmlopP) - (its-define-hangul "ela" "$(C5u(B" kijuhynbmlopP) - (its-define-hangul "elq" "$(C5v(B" kijuhynbmlopP) - (its-define-hangul "elt" "$(C5w(B" kijuhynbmlopOP) - (its-define-hangul "elT" "$(C5x(B" kjhynmlop) - (its-define-hangul "eld" "$(C5y(B" kijuhynbmlopOP) - (its-define-hangul "elw" "$(C5z(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Ek" "$(C5{(B" - (its-define-hangul "Ekr" "$(C5|(B" kijuhynbmlopOP) - (its-define-hangul "Eks" "$(C5}(B" kijuhynbmlopP) - (its-define-hangul "Ekf" "$(C5~(B" kijuhynbmlopP) - (its-define-hangul "Eka" "$(C6!(B" kijuhynbmlopP) - (its-define-hangul "Ekq" "$(C6"(B" kijuhynbmlopP) - (its-define-hangul "Ekt" "$(C6#(B" kijuhynbmlopOP) - (its-define-hangul "EkT" "$(C6$(B" kjhynmlop) - (its-define-hangul "Ekd" "$(C6%(B" kijuhynbmlopOP) - (its-define-hangul "Ekg" "$(C6&(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Eo" "$(C6'(B" - (its-define-hangul "Eor" "$(C6((B" kijuhynbmlopOP) - (its-define-hangul "Eos" "$(C6)(B" kijuhynbmlopP) - (its-define-hangul "Eof" "$(C6*(B" kijuhynbmlopP) - (its-define-hangul "Eoa" "$(C6+(B" kijuhynbmlopP) - (its-define-hangul "Eoq" "$(C6,(B" kijuhynbmlopP) - (its-define-hangul "Eot" "$(C6-(B" kijuhynbmlopOP) - (its-define-hangul "EoT" "$(C6.(B" kjhynmlop) - (its-define-hangul "Eod" "$(C6/(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Ej" "$(C60(B" - (its-define-hangul "Ejr" "$(C61(B" kijuhynbmlopOP) - (its-define-hangul "Ejs" "$(C62(B" kijuhynbmlopP) - (its-define-hangul "Ejf" "$(C63(B" kijuhynbmlopP - (its-define-hangul "Ejfa" "$(C64(B" kijuhynbmlopP) - (its-define-hangul "Ejfq" "$(C65(B" kijuhynbmlopP)) - (its-define-hangul "Eja" "$(C66(B" kijuhynbmlopP) - (its-define-hangul "Ejq" "$(C67(B" kijuhynbmlopP) - (its-define-hangul "Ejt" "$(C68(B" kijuhynbmlopOP) - (its-define-hangul "EjT" "$(C69(B" kjhynmlop) - (its-define-hangul "Ejd" "$(C6:(B" kijuhynbmlopOP) - (its-define-hangul "Ejg" "$(C6;(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Ep" "$(C6<(B" - (its-define-hangul "Epr" "$(C6=(B" kijuhynbmlopOP) - (its-define-hangul "Eps" "$(C6>(B" kijuhynbmlopP) - (its-define-hangul "Epf" "$(C6?(B" kijuhynbmlopP) - (its-define-hangul "Epa" "$(C6@(B" kijuhynbmlopP) - (its-define-hangul "Epq" "$(C6A(B" kijuhynbmlopP) - (its-define-hangul "Ept" "$(C6B(B" kijuhynbmlopOP) - (its-define-hangul "EpT" "$(C6C(B" kjhynmlop) - (its-define-hangul "Epd" "$(C6D(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Eu" "$(C6E(B" - (its-define-hangul "EuT" "$(C6F(B" kjhynmlop)) - - (its-defrule-hangul-2 "Eh" "$(C6G(B" - (its-define-hangul "Ehr" "$(C6H(B" kijuhynbmlopOP) - (its-define-hangul "Ehs" "$(C6I(B" kijuhynbmlopP) - (its-define-hangul "Ehf" "$(C6J(B" kijuhynbmlopP) - (its-define-hangul "Ehd" "$(C6K(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Ehk" "$(C6L(B" - (its-define-hangul "Ehkf" "$(C6M(B" kijuhynbmlopP)) - - (its-defrule-hangul "Eho" "$(C6N(B") - - (its-defrule-hangul-2 "Ehl" "$(C6O(B" - (its-define-hangul "Ehls" "$(C6P(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "En" "$(C6Q(B" - (its-define-hangul "Enr" "$(C6R(B" kijuhynbmlopOP) - (its-define-hangul "Ens" "$(C6S(B" kijuhynbmlopP) - (its-define-hangul "Enf" "$(C6T(B" kijuhynbmlopP - (its-define-hangul "Enfg" "$(C6U(B" kijuhynbmlopP)) - (its-define-hangul "Ena" "$(C6V(B" kijuhynbmlopP) - (its-define-hangul "End" "$(C6W(B" kijuhynbmlopOP)) - - (its-defrule-hangul "Enp" "$(C6X(B") - - (its-defrule-hangul-2 "Enl" "$(C6Y(B" - (its-define-hangul "Enls" "$(C6Z(B" kijuhynbmlopP) - (its-define-hangul "Enlf" "$(C6[(B" kijuhynbmlopP) - (its-define-hangul "Enla" "$(C6\(B" kijuhynbmlopP) - (its-define-hangul "Enlq" "$(C6](B" kijuhynbmlopP) - (its-define-hangul "Enld" "$(C6^(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Em" "$(C6_(B" - (its-define-hangul "Emr" "$(C6`(B" kijuhynbmlopOP) - (its-define-hangul "Ems" "$(C6a(B" kijuhynbmlopP) - (its-define-hangul "Eme" "$(C6b(B" kijuhynbmlopP) - (its-define-hangul "Emf" "$(C6c(B" kijuhynbmlopP) - (its-define-hangul "Ema" "$(C6d(B" kijuhynbmlopP) - (its-define-hangul "Emq" "$(C6e(B" kijuhynbmlopP) - (its-define-hangul "Emt" "$(C6f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Eml" "$(C6g(B" - (its-define-hangul "Emls" "$(C6h(B" kijuhynbmlopP) - (its-define-hangul "Emlf" "$(C6i(B" kijuhynbmlopP) - (its-define-hangul "Emla" "$(C6j(B" kijuhynbmlopP) - (its-define-hangul "Emlq" "$(C6k(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "El" "$(C6l(B" - (its-define-hangul "Els" "$(C6m(B" kijuhynbmlopP) - (its-define-hangul "Elf" "$(C6n(B" kijuhynbmlopP) - (its-define-hangul "Ela" "$(C6o(B" kijuhynbmlopP) - (its-define-hangul "Elq" "$(C6p(B" kijuhynbmlopP) - (its-define-hangul "Elt" "$(C6q(B" kijuhynbmlopOP) - (its-define-hangul "Eld" "$(C6r(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fk" "$(C6s(B" - (its-define-hangul "fkr" "$(C6t(B" kijuhynbmlopOP) - (its-define-hangul "fks" "$(C6u(B" kijuhynbmlopP) - (its-define-hangul "fkf" "$(C6v(B" kijuhynbmlopP) - (its-define-hangul "fka" "$(C6w(B" kijuhynbmlopP) - (its-define-hangul "fkq" "$(C6x(B" kijuhynbmlopP) - (its-define-hangul "fkt" "$(C6y(B" kijuhynbmlopOP) - (its-define-hangul "fkT" "$(C6z(B" kjhynmlop) - (its-define-hangul "fkd" "$(C6{(B" kijuhynbmlopOP) - (its-define-hangul "fkw" "$(C6|(B" kijuhynbmlopOP) - (its-define-hangul "fkv" "$(C6}(B" kijuhynbmlopP) - (its-define-hangul "fkg" "$(C6~(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "fo" "$(C7!(B" - (its-define-hangul "for" "$(C7"(B" kijuhynbmlopOP) - (its-define-hangul "fos" "$(C7#(B" kijuhynbmlopP) - (its-define-hangul "fof" "$(C7$(B" kijuhynbmlopP) - (its-define-hangul "foa" "$(C7%(B" kijuhynbmlopP) - (its-define-hangul "foq" "$(C7&(B" kijuhynbmlopP) - (its-define-hangul "fot" "$(C7'(B" kijuhynbmlopOP) - (its-define-hangul "foT" "$(C7((B" kjhynmlop) - (its-define-hangul "fod" "$(C7)(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fi" "$(C7*(B" - (its-define-hangul "fir" "$(C7+(B" kijuhynbmlopOP) - (its-define-hangul "fis" "$(C7,(B" kijuhynbmlopP) - (its-define-hangul "fit" "$(C7-(B" kijuhynbmlopOP) - (its-define-hangul "fid" "$(C7.(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fj" "$(C7/(B" - (its-define-hangul "fjr" "$(C70(B" kijuhynbmlopOP) - (its-define-hangul "fjs" "$(C71(B" kijuhynbmlopP) - (its-define-hangul "fjf" "$(C72(B" kijuhynbmlopP) - (its-define-hangul "fja" "$(C73(B" kijuhynbmlopP) - (its-define-hangul "fjq" "$(C74(B" kijuhynbmlopP) - (its-define-hangul "fjt" "$(C75(B" kijuhynbmlopOP) - (its-define-hangul "fjT" "$(C76(B" kjhynmlop) - (its-define-hangul "fjd" "$(C77(B" kijuhynbmlopOP) - (its-define-hangul "fjg" "$(C78(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "fp" "$(C79(B" - (its-define-hangul "fpr" "$(C7:(B" kijuhynbmlopOP) - (its-define-hangul "fps" "$(C7;(B" kijuhynbmlopP) - (its-define-hangul "fpf" "$(C7<(B" kijuhynbmlopP) - (its-define-hangul "fpa" "$(C7=(B" kijuhynbmlopP) - (its-define-hangul "fpq" "$(C7>(B" kijuhynbmlopP) - (its-define-hangul "fpt" "$(C7?(B" kijuhynbmlopOP) - (its-define-hangul "fpd" "$(C7@(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fu" "$(C7A(B" - (its-define-hangul "fur" "$(C7B(B" kijuhynbmlopOP) - (its-define-hangul "fus" "$(C7C(B" kijuhynbmlopP) - (its-define-hangul "fuf" "$(C7D(B" kijuhynbmlopP) - (its-define-hangul "fua" "$(C7E(B" kijuhynbmlopP) - (its-define-hangul "fuq" "$(C7F(B" kijuhynbmlopP) - (its-define-hangul "fut" "$(C7G(B" kijuhynbmlopOP) - (its-define-hangul "fuT" "$(C7H(B" kjhynmlop) - (its-define-hangul "fud" "$(C7I(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fP" "$(C7J(B" - (its-define-hangul "fPs" "$(C7K(B" kijuhynbmlopP) - (its-define-hangul "fPq" "$(C7L(B" kijuhynbmlopP) - (its-define-hangul "fPt" "$(C7M(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fh" "$(C7N(B" - (its-define-hangul "fhr" "$(C7O(B" kijuhynbmlopOP) - (its-define-hangul "fhs" "$(C7P(B" kijuhynbmlopP) - (its-define-hangul "fhf" "$(C7Q(B" kijuhynbmlopP) - (its-define-hangul "fha" "$(C7R(B" kijuhynbmlopP) - (its-define-hangul "fhq" "$(C7S(B" kijuhynbmlopP) - (its-define-hangul "fht" "$(C7T(B" kijuhynbmlopOP) - (its-define-hangul "fhd" "$(C7U(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fhk" "$(C7V(B" - (its-define-hangul "fhks" "$(C7W(B" kijuhynbmlopP) - (its-define-hangul "fhkd" "$(C7X(B" kijuhynbmlopOP)) - - (its-defrule-hangul "fho" "$(C7N(Bo") - (its-defrule-hangul "fhoT" "$(C7Y(B") - - (its-defrule-hangul-2 "fhl" "$(C7Z(B" - (its-define-hangul "fhls" "$(C7[(B" kijuhynbmlopP) - (its-define-hangul "fhlf" "$(C7\(B" kijuhynbmlopP) - (its-define-hangul "fhla" "$(C7](B" kijuhynbmlopP) - (its-define-hangul "fhlq" "$(C7^(B" kijuhynbmlopP) - (its-define-hangul "fhlt" "$(C7_(B" kijuhynbmlopOP) - (its-define-hangul "fhld" "$(C7`(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fy" "$(C7a(B" - (its-define-hangul "fys" "$(C7b(B" kijuhynbmlopP) - (its-define-hangul "fyf" "$(C7c(B" kijuhynbmlopP) - (its-define-hangul "fyq" "$(C7d(B" kijuhynbmlopP) - (its-define-hangul "fyt" "$(C7e(B" kijuhynbmlopOP) - (its-define-hangul "fyd" "$(C7f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fn" "$(C7g(B" - (its-define-hangul "fnr" "$(C7h(B" kijuhynbmlopOP) - (its-define-hangul "fns" "$(C7i(B" kijuhynbmlopP) - (its-define-hangul "fnf" "$(C7j(B" kijuhynbmlopP) - (its-define-hangul "fna" "$(C7k(B" kijuhynbmlopP) - (its-define-hangul "fnq" "$(C7l(B" kijuhynbmlopP) - (its-define-hangul "fnt" "$(C7m(B" kijuhynbmlopOP) - (its-define-hangul "fnd" "$(C7n(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fnj" "$(C7o(B" - (its-define-hangul "fnjT" "$(C7p(B" kjhynmlop)) - - (its-defrule-hangul "fnp" "$(C7q(B") - - (its-defrule-hangul-2 "fnl" "$(C7r(B" - (its-define-hangul "fnlr" "$(C7s(B" kijuhynbmlopOP) - (its-define-hangul "fnls" "$(C7t(B" kijuhynbmlopP) - (its-define-hangul "fnlf" "$(C7u(B" kijuhynbmlopP) - (its-define-hangul "fnla" "$(C7v(B" kijuhynbmlopP) - (its-define-hangul "fnlt" "$(C7w(B" kijuhynbmlopOP) - (its-define-hangul "fnld" "$(C7x(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fb" "$(C7y(B" - (its-define-hangul "fbr" "$(C7z(B" kijuhynbmlopOP) - (its-define-hangul "fbs" "$(C7{(B" kijuhynbmlopP) - (its-define-hangul "fbf" "$(C7|(B" kijuhynbmlopP) - (its-define-hangul "fba" "$(C7}(B" kijuhynbmlopP) - (its-define-hangul "fbq" "$(C7~(B" kijuhynbmlopP) - (its-define-hangul "fbt" "$(C8!(B" kijuhynbmlopOP) - (its-define-hangul "fbd" "$(C8"(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "fm" "$(C8#(B" - (its-define-hangul "fmr" "$(C8$(B" kijuhynbmlopOP) - (its-define-hangul "fms" "$(C8%(B" kijuhynbmlopP) - (its-define-hangul "fmf" "$(C8&(B" kijuhynbmlopP) - (its-define-hangul "fma" "$(C8'(B" kijuhynbmlopP) - (its-define-hangul "fmq" "$(C8((B" kijuhynbmlopP) - (its-define-hangul "fmt" "$(C8)(B" kijuhynbmlopOP) - (its-define-hangul "fmd" "$(C8*(B" kijuhynbmlopOP) - (its-define-hangul "fmw" "$(C8+(B" kijuhynbmlopOP) - (its-define-hangul "fmx" "$(C8,(B" kijuhynbmlopP) - (its-define-hangul "fmv" "$(C8-(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "fl" "$(C8.(B" - (its-define-hangul "flr" "$(C8/(B" kijuhynbmlopOP) - (its-define-hangul "fls" "$(C80(B" kijuhynbmlopP) - (its-define-hangul "flf" "$(C81(B" kijuhynbmlopP) - (its-define-hangul "fla" "$(C82(B" kijuhynbmlopP) - (its-define-hangul "flq" "$(C83(B" kijuhynbmlopP) - (its-define-hangul "flt" "$(C84(B" kijuhynbmlopOP) - (its-define-hangul "fld" "$(C85(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ak" "$(C86(B" - (its-define-hangul "akr" "$(C87(B" kijuhynbmlopOP) - (its-define-hangul "aks" "$(C88(B" kijuhynbmlopP - (its-define-hangul "aksg" "$(C89(B" kijuhynbmlopP)) - (its-define-hangul "ake" "$(C8:(B" kijuhynbmlopP) - (its-define-hangul "akf" "$(C8;(B" kijuhynbmlopP - (its-define-hangul "akfr" "$(C8<(B" kijuhynbmlopOP) - (its-define-hangul "akfa" "$(C8=(B" kijuhynbmlopP)) - (its-define-hangul "aka" "$(C8>(B" kijuhynbmlopP) - (its-define-hangul "akq" "$(C8?(B" kijuhynbmlopP) - (its-define-hangul "akt" "$(C8@(B" kijuhynbmlopOP) - (its-define-hangul "akd" "$(C8A(B" kijuhynbmlopOP) - (its-define-hangul "akw" "$(C8B(B" kijuhynbmlopOP) - (its-define-hangul "akx" "$(C8C(B" kijuhynbmlopP) - (its-define-hangul "akg" "$(C8D(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ao" "$(C8E(B" - (its-define-hangul "aor" "$(C8F(B" kijuhynbmlopOP) - (its-define-hangul "aos" "$(C8G(B" kijuhynbmlopP) - (its-define-hangul "aof" "$(C8H(B" kijuhynbmlopP) - (its-define-hangul "aoa" "$(C8I(B" kijuhynbmlopP) - (its-define-hangul "aoq" "$(C8J(B" kijuhynbmlopP) - (its-define-hangul "aot" "$(C8K(B" kijuhynbmlopOP) - (its-define-hangul "aoT" "$(C8L(B" kjhynmlop) - (its-define-hangul "aod" "$(C8M(B" kijuhynbmlopOP) - (its-define-hangul "aow" "$(C8N(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ai" "$(C8O(B" - (its-define-hangul "air" "$(C8P(B" kijuhynbmlopOP) - (its-define-hangul "aif" "$(C8Q(B" kijuhynbmlopP) - (its-define-hangul "aid" "$(C8R(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "aj" "$(C8S(B" - (its-define-hangul "ajr" "$(C8T(B" kijuhynbmlopOP) - (its-define-hangul "ajs" "$(C8U(B" kijuhynbmlopP) - (its-define-hangul "ajf" "$(C8V(B" kijuhynbmlopP - (its-define-hangul "ajfa" "$(C8W(B" kijuhynbmlopP)) - (its-define-hangul "aja" "$(C8X(B" kijuhynbmlopP) - (its-define-hangul "ajq" "$(C8Y(B" kijuhynbmlopP) - (its-define-hangul "ajt" "$(C8Z(B" kijuhynbmlopOP) - (its-define-hangul "ajd" "$(C8[(B" kijuhynbmlopOP) - (its-define-hangul "ajw" "$(C8\(B" kijuhynbmlopOP) - (its-define-hangul "ajg" "$(C8](B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ap" "$(C8^(B" - (its-define-hangul "apr" "$(C8_(B" kijuhynbmlopOP) - (its-define-hangul "aps" "$(C8`(B" kijuhynbmlopP) - (its-define-hangul "apf" "$(C8a(B" kijuhynbmlopP) - (its-define-hangul "apa" "$(C8b(B" kijuhynbmlopP) - (its-define-hangul "apq" "$(C8c(B" kijuhynbmlopP) - (its-define-hangul "apt" "$(C8d(B" kijuhynbmlopOP) - (its-define-hangul "apT" "$(C8e(B" kjhynmlop) - (its-define-hangul "apd" "$(C8f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "au" "$(C8g(B" - (its-define-hangul "aur" "$(C8h(B" kijuhynbmlopOP) - (its-define-hangul "aus" "$(C8i(B" kijuhynbmlopP) - (its-define-hangul "auf" "$(C8j(B" kijuhynbmlopP) - (its-define-hangul "aut" "$(C8k(B" kijuhynbmlopOP) - (its-define-hangul "auT" "$(C8l(B" kjhynmlop) - (its-define-hangul "aud" "$(C8m(B" kijuhynbmlopOP) - (its-define-hangul "auc" "$(C8n(B" kijuhynbmlopP)) - - (its-defrule-hangul "aP" "$(C8o(B") - - (its-defrule-hangul-2 "ah" "$(C8p(B" - (its-define-hangul "ahr" "$(C8q(B" kijuhynbmlopOP - (its-define-hangul "ahrt" "$(C8r(B" kijuhynbmlopOP)) - (its-define-hangul "ahs" "$(C8s(B" kijuhynbmlopP) - (its-define-hangul "ahf" "$(C8t(B" kijuhynbmlopP - (its-define-hangul "ahfa" "$(C8u(B" kijuhynbmlopP)) - (its-define-hangul "aha" "$(C8v(B" kijuhynbmlopP) - (its-define-hangul "ahq" "$(C8w(B" kijuhynbmlopP) - (its-define-hangul "aht" "$(C8x(B" kijuhynbmlopOP) - (its-define-hangul "ahd" "$(C8y(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ahk" "$(C8z(B" - (its-define-hangul "ahks" "$(C8{(B" kijuhynbmlopP) - (its-define-hangul "ahkT" "$(C8|(B" kjhynmlop) - (its-define-hangul "ahkd" "$(C8}(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ahl" "$(C8~(B" - (its-define-hangul "ahls" "$(C9!(B" kijuhynbmlopP) - (its-define-hangul "ahlf" "$(C9"(B" kijuhynbmlopP) - (its-define-hangul "ahlq" "$(C9#(B" kijuhynbmlopP) - (its-define-hangul "ahlt" "$(C9$(B" kijuhynbmlopOP) - (its-define-hangul "ahld" "$(C9%(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ay" "$(C9&(B" - (its-define-hangul "ays" "$(C9'(B" kijuhynbmlopP) - (its-define-hangul "ayf" "$(C9((B" kijuhynbmlopP) - (its-define-hangul "ayq" "$(C9)(B" kijuhynbmlopP) - (its-define-hangul "ayt" "$(C9*(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "an" "$(C9+(B" - (its-define-hangul "anr" "$(C9,(B" kijuhynbmlopOP) - (its-define-hangul "anR" "$(C9-(B" kijuhynbmlopP) - (its-define-hangul "ans" "$(C9.(B" kijuhynbmlopP) - (its-define-hangul "ane" "$(C9/(B" kijuhynbmlopP) - (its-define-hangul "anf" "$(C90(B" kijuhynbmlopP - (its-define-hangul "anfr" "$(C91(B" kijuhynbmlopOP) - (its-define-hangul "anfa" "$(C92(B" kijuhynbmlopP)) - (its-define-hangul "ana" "$(C93(B" kijuhynbmlopP) - (its-define-hangul "anq" "$(C94(B" kijuhynbmlopP) - (its-define-hangul "ant" "$(C95(B" kijuhynbmlopOP) - (its-define-hangul "and" "$(C96(B" kijuhynbmlopOP) - (its-define-hangul "anx" "$(C97(B" kijuhynbmlopP) - (its-define-hangul "ang" "$(C98(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "anj" "$(C99(B" - (its-define-hangul "anjs" "$(C9:(B" kijuhynbmlopP) - (its-define-hangul "anjf" "$(C9;(B" kijuhynbmlopP) - (its-define-hangul "anjq" "$(C9<(B" kijuhynbmlopP) - (its-define-hangul "anjt" "$(C9=(B" kijuhynbmlopOP)) - - (its-defrule-hangul "anp" "$(C9>(B") - - (its-defrule-hangul-2 "anl" "$(C9?(B" - (its-define-hangul "anls" "$(C9@(B" kijuhynbmlopP) - (its-define-hangul "anlf" "$(C9A(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ab" "$(C9B(B" - (its-define-hangul "abs" "$(C9C(B" kijuhynbmlopP) - (its-define-hangul "abf" "$(C9D(B" kijuhynbmlopP) - (its-define-hangul "aba" "$(C9E(B" kijuhynbmlopP) - (its-define-hangul "abt" "$(C9F(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "am" "$(C9G(B" - (its-define-hangul "ams" "$(C9H(B" kijuhynbmlopP) - (its-define-hangul "amf" "$(C9I(B" kijuhynbmlopP) - (its-define-hangul "ama" "$(C9J(B" kijuhynbmlopP) - (its-define-hangul "amt" "$(C9K(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "al" "$(C9L(B" - (its-define-hangul "alr" "$(C9M(B" kijuhynbmlopOP) - (its-define-hangul "als" "$(C9N(B" kijuhynbmlopP) - (its-define-hangul "ale" "$(C9O(B" kijuhynbmlopP) - (its-define-hangul "alf" "$(C9P(B" kijuhynbmlopP - (its-define-hangul "alfa" "$(C9Q(B" kijuhynbmlopP)) - (its-define-hangul "ala" "$(C9R(B" kijuhynbmlopP) - (its-define-hangul "alq" "$(C9S(B" kijuhynbmlopP) - (its-define-hangul "alt" "$(C9T(B" kijuhynbmlopOP) - (its-define-hangul "alT" "$(C9U(B" kjhynmlop) - (its-define-hangul "ald" "$(C9V(B" kijuhynbmlopOP) - (its-define-hangul "alc" "$(C9W(B" kijuhynbmlopP) - (its-define-hangul "alx" "$(C9X(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qk" "$(C9Y(B" - (its-define-hangul "qkr" "$(C9Z(B" kijuhynbmlopOP - (its-define-hangul "qkrt" "$(C9\(B" kijuhynbmlopOP)) - (its-define-hangul "qkR" "$(C9[(B" kijuhynbmlopP) - (its-define-hangul "qks" "$(C9](B" kijuhynbmlopP) - (its-define-hangul "qke" "$(C9^(B" kijuhynbmlopP) - (its-define-hangul "qkf" "$(C9_(B" kijuhynbmlopP - (its-define-hangul "qkfr" "$(C9`(B" kijuhynbmlopOP) - (its-define-hangul "qkfa" "$(C9a(B" kijuhynbmlopP) - (its-define-hangul "qkfq" "$(C9b(B" kijuhynbmlopP)) - (its-define-hangul "qka" "$(C9c(B" kijuhynbmlopP) - (its-define-hangul "qkq" "$(C9d(B" kijuhynbmlopP) - (its-define-hangul "qkt" "$(C9e(B" kijuhynbmlopOP) - (its-define-hangul "qkd" "$(C9f(B" kijuhynbmlopOP) - (its-define-hangul "qkx" "$(C9g(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qo" "$(C9h(B" - (its-define-hangul "qor" "$(C9i(B" kijuhynbmlopOP) - (its-define-hangul "qos" "$(C9j(B" kijuhynbmlopP) - (its-define-hangul "qof" "$(C9k(B" kijuhynbmlopP) - (its-define-hangul "qoa" "$(C9l(B" kijuhynbmlopP) - (its-define-hangul "qoq" "$(C9m(B" kijuhynbmlopP) - (its-define-hangul "qot" "$(C9n(B" kijuhynbmlopOP) - (its-define-hangul "qoT" "$(C9o(B" kjhynmlop) - (its-define-hangul "qod" "$(C9p(B" kijuhynbmlopOP) - (its-define-hangul "qox" "$(C9q(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qi" "$(C9r(B" - (its-define-hangul "qir" "$(C9s(B" kijuhynbmlopOP) - (its-define-hangul "qis" "$(C9t(B" kijuhynbmlopP) - (its-define-hangul "qiq" "$(C9u(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qj" "$(C9v(B" - (its-define-hangul "qjr" "$(C9w(B" kijuhynbmlopOP) - (its-define-hangul "qjs" "$(C9x(B" kijuhynbmlopP) - (its-define-hangul "qje" "$(C9y(B" kijuhynbmlopP) - (its-define-hangul "qjf" "$(C9z(B" kijuhynbmlopP - (its-define-hangul "qjfa" "$(C9{(B" kijuhynbmlopP)) - (its-define-hangul "qja" "$(C9|(B" kijuhynbmlopP) - (its-define-hangul "qjq" "$(C9}(B" kijuhynbmlopP) - (its-define-hangul "qjt" "$(C9~(B" kijuhynbmlopOP) - (its-define-hangul "qjd" "$(C:!(B" kijuhynbmlopOP) - (its-define-hangul "qjw" "$(C:"(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "qp" "$(C:#(B" - (its-define-hangul "qpr" "$(C:$(B" kijuhynbmlopOP) - (its-define-hangul "qps" "$(C:%(B" kijuhynbmlopP) - (its-define-hangul "qpe" "$(C:&(B" kijuhynbmlopP) - (its-define-hangul "qpf" "$(C:'(B" kijuhynbmlopP) - (its-define-hangul "qpa" "$(C:((B" kijuhynbmlopP) - (its-define-hangul "qpq" "$(C:)(B" kijuhynbmlopP) - (its-define-hangul "qpt" "$(C:*(B" kijuhynbmlopOP) - (its-define-hangul "qpT" "$(C:+(B" kjhynmlop) - (its-define-hangul "qpd" "$(C:,(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "qu" "$(C:-(B" - (its-define-hangul "qur" "$(C:.(B" kijuhynbmlopOP) - (its-define-hangul "qus" "$(C:/(B" kijuhynbmlopP) - (its-define-hangul "quf" "$(C:0(B" kijuhynbmlopP) - (its-define-hangul "quq" "$(C:1(B" kijuhynbmlopP) - (its-define-hangul "qut" "$(C:2(B" kijuhynbmlopOP) - (its-define-hangul "quT" "$(C:3(B" kjhynmlop) - (its-define-hangul "qud" "$(C:4(B" kijuhynbmlopOP) - (its-define-hangul "qux" "$(C:5(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qP" "$(C:6(B" - (its-define-hangul "qPs" "$(C:7(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qh" "$(C:8(B" - (its-define-hangul "qhr" "$(C:9(B" kijuhynbmlopOP) - (its-define-hangul "qhR" "$(C::(B" kijuhynbmlopP) - (its-define-hangul "qhs" "$(C:;(B" kijuhynbmlopP) - (its-define-hangul "qhf" "$(C:<(B" kijuhynbmlopP) - (its-define-hangul "qha" "$(C:=(B" kijuhynbmlopP) - (its-define-hangul "qhq" "$(C:>(B" kijuhynbmlopP) - (its-define-hangul "qht" "$(C:?(B" kijuhynbmlopOP) - (its-define-hangul "qhd" "$(C:@(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "qhk" "$(C:A(B" - (its-define-hangul "qhks" "$(C:B(B" kijuhynbmlopP) - (its-define-hangul "qhkT" "$(C:C(B" kjhynmlop)) - - (its-defrule-hangul-2 "qho" "$(C:D(B" - (its-define-hangul "qhoT" "$(C:E(B" kjhynmlop)) - - (its-defrule-hangul-2 "qhl" "$(C:F(B" - (its-define-hangul "qhlr" "$(C:G(B" kijuhynbmlopOP) - (its-define-hangul "qhls" "$(C:H(B" kijuhynbmlopP) - (its-define-hangul "qhlf" "$(C:I(B" kijuhynbmlopP) - (its-define-hangul "qhla" "$(C:J(B" kijuhynbmlopP) - (its-define-hangul "qhlq" "$(C:K(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qy" "$(C:L(B" - (its-define-hangul "qys" "$(C:M(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qn" "$(C:N(B" - (its-define-hangul "qnr" "$(C:O(B" kijuhynbmlopOP) - (its-define-hangul "qns" "$(C:P(B" kijuhynbmlopP) - (its-define-hangul "qne" "$(C:Q(B" kijuhynbmlopP) - (its-define-hangul "qnf" "$(C:R(B" kijuhynbmlopP - (its-define-hangul "qnfr" "$(C:S(B" kijuhynbmlopOP) - (its-define-hangul "qnfa" "$(C:T(B" kijuhynbmlopP)) - (its-define-hangul "qna" "$(C:U(B" kijuhynbmlopP) - (its-define-hangul "qnq" "$(C:V(B" kijuhynbmlopP) - (its-define-hangul "qnt" "$(C:W(B" kijuhynbmlopOP) - (its-define-hangul "qnd" "$(C:X(B" kijuhynbmlopOP) - (its-define-hangul "qnx" "$(C:Y(B" kijuhynbmlopP) - (its-define-hangul "qnv" "$(C:Z(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "qnj" "$(C:[(B" - (its-define-hangul "qnjf" "$(C:\(B" kijuhynbmlopP) - (its-define-hangul "qnjT" "$(C:](B" kjhynmlop)) - - (its-defrule-hangul "qnp" "$(C:^(B") - - (its-defrule-hangul-2 "qnl" "$(C:_(B" - (its-define-hangul "qnlr" "$(C:`(B" kijuhynbmlopOP) - (its-define-hangul "qnls" "$(C:a(B" kijuhynbmlopP) - (its-define-hangul "qnlf" "$(C:b(B" kijuhynbmlopP) - (its-define-hangul "qnld" "$(C:c(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "qb" "$(C:d(B" - (its-define-hangul "qbs" "$(C:e(B" kijuhynbmlopP) - (its-define-hangul "qbf" "$(C:f(B" kijuhynbmlopP) - (its-define-hangul "qba" "$(C:g(B" kijuhynbmlopP) - (its-define-hangul "qbt" "$(C:h(B" kijuhynbmlopOP) - (its-define-hangul "qbd" "$(C:i(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "qm" "$(C:j(B" - (its-define-hangul "qmr" "$(C:k(B" kijuhynbmlopOP) - (its-define-hangul "qms" "$(C:l(B" kijuhynbmlopP) - (its-define-hangul "qmf" "$(C:m(B" kijuhynbmlopP) - (its-define-hangul "qma" "$(C:n(B" kijuhynbmlopP) - (its-define-hangul "qmq" "$(C:o(B" kijuhynbmlopP) - (its-define-hangul "qmt" "$(C:p(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ql" "$(C:q(B" - (its-define-hangul "qlr" "$(C:r(B" kijuhynbmlopOP) - (its-define-hangul "qls" "$(C:s(B" kijuhynbmlopP) - (its-define-hangul "qlf" "$(C:t(B" kijuhynbmlopP - (its-define-hangul "qlfa" "$(C:u(B" kijuhynbmlopP)) - (its-define-hangul "qla" "$(C:v(B" kijuhynbmlopP) - (its-define-hangul "qlq" "$(C:w(B" kijuhynbmlopP) - (its-define-hangul "qlt" "$(C:x(B" kijuhynbmlopOP) - (its-define-hangul "qld" "$(C:y(B" kijuhynbmlopOP) - (its-define-hangul "qlw" "$(C:z(B" kijuhynbmlopOP) - (its-define-hangul "qlc" "$(C:{(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Qk" "$(C:|(B" - (its-define-hangul "Qkr" "$(C:}(B" kijuhynbmlopOP) - (its-define-hangul "Qks" "$(C:~(B" kijuhynbmlopP) - (its-define-hangul "Qkf" "$(C;!(B" kijuhynbmlopP - (its-define-hangul "Qkfa" "$(C;"(B" kijuhynbmlopP)) - (its-define-hangul "Qka" "$(C;#(B" kijuhynbmlopP) - (its-define-hangul "Qkq" "$(C;$(B" kijuhynbmlopP) - (its-define-hangul "Qkt" "$(C;%(B" kijuhynbmlopOP) - (its-define-hangul "QkT" "$(C;&(B" kjhynmlop) - (its-define-hangul "Qkd" "$(C;'(B" kijuhynbmlopOP) - (its-define-hangul "Qkg" "$(C;((B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Qo" "$(C;)(B" - (its-define-hangul "Qor" "$(C;*(B" kijuhynbmlopOP) - (its-define-hangul "Qos" "$(C;+(B" kijuhynbmlopP) - (its-define-hangul "Qof" "$(C;,(B" kijuhynbmlopP) - (its-define-hangul "Qoa" "$(C;-(B" kijuhynbmlopP) - (its-define-hangul "Qoq" "$(C;.(B" kijuhynbmlopP) - (its-define-hangul "Qot" "$(C;/(B" kijuhynbmlopOP) - (its-define-hangul "QoT" "$(C;0(B" kjhynmlop) - (its-define-hangul "Qod" "$(C;1(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qi" "$(C;2(B" - (its-define-hangul "Qir" "$(C;3(B" kijuhynbmlopOP) - (its-define-hangul "Qia" "$(C;4(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Qj" "$(C;5(B" - (its-define-hangul "Qjr" "$(C;6(B" kijuhynbmlopOP) - (its-define-hangul "Qjs" "$(C;7(B" kijuhynbmlopP) - (its-define-hangul "Qje" "$(C;8(B" kijuhynbmlopP) - (its-define-hangul "Qjf" "$(C;9(B" kijuhynbmlopP) - (its-define-hangul "Qja" "$(C;:(B" kijuhynbmlopP) - (its-define-hangul "Qjt" "$(C;;(B" kijuhynbmlopOP) - (its-define-hangul "QjT" "$(C;<(B" kjhynmlop) - (its-define-hangul "Qjd" "$(C;=(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qp" "$(C;>(B" - (its-define-hangul "Qpd" "$(C;?(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qu" "$(C;@(B" - (its-define-hangul "Qur" "$(C;A(B" kijuhynbmlopOP) - (its-define-hangul "Qua" "$(C;B(B" kijuhynbmlopP) - (its-define-hangul "Quq" "$(C;C(B" kijuhynbmlopP) - (its-define-hangul "Qut" "$(C;D(B" kijuhynbmlopOP) - (its-define-hangul "QuT" "$(C;E(B" kjhynmlop) - (its-define-hangul "Qud" "$(C;F(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qh" "$(C;G(B" - (its-define-hangul "Qhr" "$(C;H(B" kijuhynbmlopOP) - (its-define-hangul "Qhs" "$(C;I(B" kijuhynbmlopP) - (its-define-hangul "Qhf" "$(C;J(B" kijuhynbmlopP) - (its-define-hangul "Qha" "$(C;K(B" kijuhynbmlopP) - (its-define-hangul "Qhq" "$(C;L(B" kijuhynbmlopP) - (its-define-hangul "Qhd" "$(C;M(B" kijuhynbmlopOP)) - - (its-defrule-hangul "Qhl" "$(C;N(B") - - (its-defrule-hangul-2 "Qy" "$(C;O(B" - (its-define-hangul "Qyd" "$(C;P(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qn" "$(C;Q(B" - (its-define-hangul "Qnr" "$(C;R(B" kijuhynbmlopOP) - (its-define-hangul "Qns" "$(C;S(B" kijuhynbmlopP) - (its-define-hangul "Qnf" "$(C;T(B" kijuhynbmlopP) - (its-define-hangul "Qna" "$(C;U(B" kijuhynbmlopP) - (its-define-hangul "Qnt" "$(C;V(B" kijuhynbmlopOP) - (its-define-hangul "Qnd" "$(C;W(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qb" "$(C;X(B" - (its-define-hangul "Qbd" "$(C;Y(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Qm" "$(C;Z(B" - (its-define-hangul "Qms" "$(C;[(B" kijuhynbmlopP) - (its-define-hangul "Qmf" "$(C;\(B" kijuhynbmlopP) - (its-define-hangul "Qma" "$(C;](B" kijuhynbmlopP) - (its-define-hangul "Qmq" "$(C;^(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Ql" "$(C;_(B" - (its-define-hangul "Qlr" "$(C;`(B" kijuhynbmlopOP) - (its-define-hangul "Qls" "$(C;a(B" kijuhynbmlopP) - (its-define-hangul "Qlf" "$(C;b(B" kijuhynbmlopP) - (its-define-hangul "Qla" "$(C;c(B" kijuhynbmlopP) - (its-define-hangul "Qlq" "$(C;d(B" kijuhynbmlopP) - (its-define-hangul "Qlt" "$(C;e(B" kijuhynbmlopOP) - (its-define-hangul "Qld" "$(C;f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "tk" "$(C;g(B" - (its-define-hangul "tkr" "$(C;h(B" kijuhynbmlopOP - (its-define-hangul "tkrt" "$(C;i(B" kijuhynbmlopOP)) - (its-define-hangul "tks" "$(C;j(B" kijuhynbmlopP) - (its-define-hangul "tke" "$(C;k(B" kijuhynbmlopP) - (its-define-hangul "tkf" "$(C;l(B" kijuhynbmlopP - (its-define-hangul "tkfr" "$(C;m(B" kijuhynbmlopOP) - (its-define-hangul "tkfa" "$(C;n(B" kijuhynbmlopP)) - (its-define-hangul "tka" "$(C;o(B" kijuhynbmlopP) - (its-define-hangul "tkq" "$(C;p(B" kijuhynbmlopP) - (its-define-hangul "tkt" "$(C;q(B" kijuhynbmlopOP - (its-define-hangul "tktT" "$(C;r(B" kjhynmlop)) - (its-define-hangul "tkd" "$(C;s(B" kijuhynbmlopOP) - (its-define-hangul "tkx" "$(C;t(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "to" "$(C;u(B" - (its-define-hangul "tor" "$(C;v(B" kijuhynbmlopOP) - (its-define-hangul "tos" "$(C;w(B" kijuhynbmlopP) - (its-define-hangul "tof" "$(C;x(B" kijuhynbmlopP) - (its-define-hangul "toa" "$(C;y(B" kijuhynbmlopP) - (its-define-hangul "toq" "$(C;z(B" kijuhynbmlopP) - (its-define-hangul "tot" "$(C;{(B" kijuhynbmlopOP) - (its-define-hangul "toT" "$(C;|(B" kjhynmlop) - (its-define-hangul "tod" "$(C;}(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ti" "$(C;~(B" - (its-define-hangul "tir" "$(C(B" kijuhynbmlopP) - (its-define-hangul "tpf" "$(C(B" kijuhynbmlopOP)) - (its-define-hangul "tma" "$(C=?(B" kijuhynbmlopP) - (its-define-hangul "tmq" "$(C=@(B" kijuhynbmlopP) - (its-define-hangul "tmt" "$(C=A(B" kijuhynbmlopOP) - (its-define-hangul "tmd" "$(C=B(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "tl" "$(C=C(B" - (its-define-hangul "tlr" "$(C=D(B" kijuhynbmlopOP) - (its-define-hangul "tls" "$(C=E(B" kijuhynbmlopP) - (its-define-hangul "tle" "$(C=F(B" kijuhynbmlopP) - (its-define-hangul "tlf" "$(C=G(B" kijuhynbmlopP - (its-define-hangul "tlfg" "$(C=H(B" kijuhynbmlopP)) - (its-define-hangul "tla" "$(C=I(B" kijuhynbmlopP) - (its-define-hangul "tlq" "$(C=J(B" kijuhynbmlopP) - (its-define-hangul "tlt" "$(C=K(B" kijuhynbmlopOP) - (its-define-hangul "tld" "$(C=L(B" kijuhynbmlopOP) - (its-define-hangul "tlv" "$(C=M(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Tk" "$(C=N(B" - (its-define-hangul "Tkr" "$(C=O(B" kijuhynbmlopOP - (its-define-hangul "Tkrt" "$(C=P(B" kijuhynbmlopOP)) - (its-define-hangul "Tks" "$(C=Q(B" kijuhynbmlopP) - (its-define-hangul "Tkf" "$(C=R(B" kijuhynbmlopP) - (its-define-hangul "Tka" "$(C=S(B" kijuhynbmlopP) - (its-define-hangul "Tkq" "$(C=T(B" kijuhynbmlopP) - (its-define-hangul "TkT" "$(C=U(B" kjhynmlop) - (its-define-hangul "Tkd" "$(C=V(B" kijuhynbmlopOP) - (its-define-hangul "Tkg" "$(C=W(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "To" "$(C=X(B" - (its-define-hangul "Tor" "$(C=Y(B" kijuhynbmlopOP) - (its-define-hangul "Tos" "$(C=Z(B" kijuhynbmlopP) - (its-define-hangul "Tof" "$(C=[(B" kijuhynbmlopP) - (its-define-hangul "Toa" "$(C=\(B" kijuhynbmlopP) - (its-define-hangul "Toq" "$(C=](B" kijuhynbmlopP) - (its-define-hangul "ToT" "$(C=^(B" kjhynmlop) - (its-define-hangul "Tod" "$(C=_(B" kijuhynbmlopOP)) - - (its-defrule-hangul "Ti" "$(C$6(Bi") - (its-defrule-hangul "Tid" "$(C=`(B") - - (its-defrule-hangul-2 "Tj" "$(C=a(B" - (its-define-hangul "Tjr" "$(C=b(B" kijuhynbmlopOP) - (its-define-hangul "Tjs" "$(C=c(B" kijuhynbmlopP) - (its-define-hangul "Tjf" "$(C=d(B" kijuhynbmlopP - (its-define-hangul "Tjfq" "$(C=e(B" kijuhynbmlopP)) - (its-define-hangul "Tja" "$(C=f(B" kijuhynbmlopP) - (its-define-hangul "Tjq" "$(C=g(B" kijuhynbmlopP) - (its-define-hangul "TjT" "$(C=h(B" kjhynmlop) - (its-define-hangul "Tjd" "$(C=i(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Tp" "$(C=j(B" - (its-define-hangul "Tps" "$(C=k(B" kijuhynbmlopP) - (its-define-hangul "Tpf" "$(C=l(B" kijuhynbmlopP)) - - (its-defrule-hangul "TP" "$(C$6(BP") - (its-defrule-hangul "TPs" "$(C=m(B") - - (its-defrule-hangul-2 "Th" "$(C=n(B" - (its-define-hangul "Thr" "$(C=o(B" kijuhynbmlopOP) - (its-define-hangul "Ths" "$(C=p(B" kijuhynbmlopP) - (its-define-hangul "The" "$(C=q(B" kijuhynbmlopP) - (its-define-hangul "Thf" "$(C=r(B" kijuhynbmlopP - (its-define-hangul "Thfa" "$(C=s(B" kijuhynbmlopP)) - (its-define-hangul "Tha" "$(C=t(B" kijuhynbmlopP) - (its-define-hangul "Thq" "$(C=u(B" kijuhynbmlopP) - (its-define-hangul "Thd" "$(C=v(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Thk" "$(C=w(B" - (its-define-hangul "Thkr" "$(C=x(B" kijuhynbmlopOP) - (its-define-hangul "Thks" "$(C=y(B" kijuhynbmlopP) - (its-define-hangul "ThkT" "$(C=z(B" kjhynmlop)) - - (its-defrule-hangul-2 "Tho" "$(C={(B" - (its-define-hangul "ThoT" "$(C=|(B" kjhynmlop)) - - (its-defrule-hangul-2 "Thl" "$(C=}(B" - (its-define-hangul "Thls" "$(C=~(B" kijuhynbmlopP) - (its-define-hangul "Thlf" "$(C>!(B" kijuhynbmlopP) - (its-define-hangul "Thla" "$(C>"(B" kijuhynbmlopP) - (its-define-hangul "Thlq" "$(C>#(B" kijuhynbmlopP)) - - (its-defrule-hangul "Ty" "$(C>$(B") - - (its-defrule-hangul-2 "Tn" "$(C>%(B" - (its-define-hangul "Tnr" "$(C>&(B" kijuhynbmlopOP) - (its-define-hangul "Tns" "$(C>'(B" kijuhynbmlopP) - (its-define-hangul "Tnf" "$(C>((B" kijuhynbmlopP) - (its-define-hangul "Tna" "$(C>)(B" kijuhynbmlopP) - (its-define-hangul "Tnq" "$(C>*(B" kijuhynbmlopP) - (its-define-hangul "Tnd" "$(C>+(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Tnj" "$(C>,(B" - (its-define-hangul "TnjT" "$(C>-(B" kjhynmlop)) - - (its-defrule-hangul "Tnjp" "$(C>.(B") - - (its-defrule-hangul-2 "Tnl" "$(C>/(B" - (its-define-hangul "Tnls" "$(C>0(B" kijuhynbmlopP)) - - (its-defrule-hangul "Tb" "$(C$6(Bd") - (its-defrule-hangul "Tbd" "$(C>1(B") - - (its-defrule-hangul-2 "Tm" "$(C>2(B" - (its-define-hangul "Tmr" "$(C>3(B" kijuhynbmlopOP) - (its-define-hangul "Tms" "$(C>4(B" kijuhynbmlopP) - (its-define-hangul "Tmf" "$(C>5(B" kijuhynbmlopP - (its-define-hangul "Tmfa" "$(C>6(B" kijuhynbmlopP) - (its-define-hangul "Tmfg" "$(C>7(B" kijuhynbmlopP)) - (its-define-hangul "Tma" "$(C>8(B" kijuhynbmlopP) - (its-define-hangul "Tmq" "$(C>9(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Tml" "$(C>:(B" - (its-define-hangul "Tmls" "$(C>;(B" kijuhynbmlopP) - (its-define-hangul "Tmlf" "$(C><(B" kijuhynbmlopP) - (its-define-hangul "Tmla" "$(C>=(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Tl" "$(C>>(B" - (its-define-hangul "Tlr" "$(C>?(B" kijuhynbmlopOP) - (its-define-hangul "Tls" "$(C>@(B" kijuhynbmlopP) - (its-define-hangul "Tlf" "$(C>A(B" kijuhynbmlopP) - (its-define-hangul "Tla" "$(C>B(B" kijuhynbmlopP) - (its-define-hangul "Tlq" "$(C>C(B" kijuhynbmlopP) - (its-define-hangul "Tlt" "$(C>D(B" kijuhynbmlopOP) - (its-define-hangul "Tld" "$(C>E(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dk" "$(C>F(B" - (its-define-hangul "dkr" "$(C>G(B" kijuhynbmlopOP) - (its-define-hangul "dks" "$(C>H(B" kijuhynbmlopP - (its-define-hangul "dksw" "$(C>I(B" kijuhynbmlopOP) - (its-define-hangul "dksg" "$(C>J(B" kijuhynbmlopP)) - (its-define-hangul "dkf" "$(C>K(B" kijuhynbmlopP - (its-define-hangul "dkfr" "$(C>L(B" kijuhynbmlopOP) - (its-define-hangul "dkfa" "$(C>M(B" kijuhynbmlopP) - (its-define-hangul "dkfg" "$(C>N(B" kijuhynbmlopP)) - (its-define-hangul "dka" "$(C>O(B" kijuhynbmlopP) - (its-define-hangul "dkq" "$(C>P(B" kijuhynbmlopP) - (its-define-hangul "dkt" "$(C>Q(B" kijuhynbmlopOP) - (its-define-hangul "dkT" "$(C>R(B" kjhynmlop) - (its-define-hangul "dkd" "$(C>S(B" kijuhynbmlopOP) - (its-define-hangul "dkx" "$(C>T(B" kijuhynbmlopP) - (its-define-hangul "dkv" "$(C>U(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "do" "$(C>V(B" - (its-define-hangul "dor" "$(C>W(B" kijuhynbmlopOP) - (its-define-hangul "dos" "$(C>X(B" kijuhynbmlopP) - (its-define-hangul "dof" "$(C>Y(B" kijuhynbmlopP) - (its-define-hangul "doa" "$(C>Z(B" kijuhynbmlopP) - (its-define-hangul "doq" "$(C>[(B" kijuhynbmlopP) - (its-define-hangul "dot" "$(C>\(B" kijuhynbmlopOP) - (its-define-hangul "doT" "$(C>](B" kjhynmlop) - (its-define-hangul "dod" "$(C>^(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "di" "$(C>_(B" - (its-define-hangul "dir" "$(C>`(B" kijuhynbmlopOP) - (its-define-hangul "dis" "$(C>a(B" kijuhynbmlopP) - (its-define-hangul "dif" "$(C>b(B" kijuhynbmlopP - (its-define-hangul "difq" "$(C>c(B" kijuhynbmlopP)) - (its-define-hangul "dia" "$(C>d(B" kijuhynbmlopP) - (its-define-hangul "diq" "$(C>e(B" kijuhynbmlopP) - (its-define-hangul "dit" "$(C>f(B" kijuhynbmlopOP) - (its-define-hangul "did" "$(C>g(B" kijuhynbmlopOP) - (its-define-hangul "dix" "$(C>h(B" kijuhynbmlopP) - (its-define-hangul "dig" "$(C>i(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dO" "$(C>j(B" - (its-define-hangul "dOs" "$(C>k(B" kijuhynbmlopP) - (its-define-hangul "dOf" "$(C>l(B" kijuhynbmlopP) - (its-define-hangul "dOq" "$(C>m(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dj" "$(C>n(B" - (its-define-hangul "djr" "$(C>o(B" kijuhynbmlopOP) - (its-define-hangul "djs" "$(C>p(B" kijuhynbmlopP - (its-define-hangul "djsw" "$(C>q(B" kijuhynbmlopOP)) - (its-define-hangul "dje" "$(C>r(B" kijuhynbmlopP) - (its-define-hangul "djf" "$(C>s(B" kijuhynbmlopP - (its-define-hangul "djfr" "$(C>t(B" kijuhynbmlopOP) - (its-define-hangul "djfa" "$(C>u(B" kijuhynbmlopP)) - (its-define-hangul "dja" "$(C>v(B" kijuhynbmlopP) - (its-define-hangul "djq" "$(C>w(B" kijuhynbmlopP - (its-define-hangul "djqt" "$(C>x(B" kijuhynbmlopOP)) - (its-define-hangul "djt" "$(C>y(B" kijuhynbmlopOP) - (its-define-hangul "djT" "$(C>z(B" kjhynmlop) - (its-define-hangul "djd" "$(C>{(B" kijuhynbmlopOP) - (its-define-hangul "djw" "$(C>|(B" kijuhynbmlopOP) - (its-define-hangul "djz" "$(C>}(B" kijuhynbmlopP) - (its-define-hangul "djv" "$(C>~(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dp" "$(C?!(B" - (its-define-hangul "dpr" "$(C?"(B" kijuhynbmlopOP) - (its-define-hangul "dps" "$(C?#(B" kijuhynbmlopP) - (its-define-hangul "dpf" "$(C?$(B" kijuhynbmlopP) - (its-define-hangul "dpa" "$(C?%(B" kijuhynbmlopP) - (its-define-hangul "dpq" "$(C?&(B" kijuhynbmlopP) - (its-define-hangul "dpt" "$(C?'(B" kijuhynbmlopOP) - (its-define-hangul "dpd" "$(C?((B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "du" "$(C?)(B" - (its-define-hangul "dur" "$(C?*(B" kijuhynbmlopOP) - (its-define-hangul "duR" "$(C?+(B" kijuhynbmlopP) - (its-define-hangul "dus" "$(C?,(B" kijuhynbmlopP) - (its-define-hangul "duf" "$(C?-(B" kijuhynbmlopP - (its-define-hangul "dufa" "$(C?.(B" kijuhynbmlopP) - (its-define-hangul "dufq" "$(C?/(B" kijuhynbmlopP)) - (its-define-hangul "dua" "$(C?0(B" kijuhynbmlopP) - (its-define-hangul "duq" "$(C?1(B" kijuhynbmlopP - (its-define-hangul "duqt" "$(C?2(B" kijuhynbmlopOP)) - (its-define-hangul "dut" "$(C?3(B" kijuhynbmlopOP) - (its-define-hangul "duT" "$(C?4(B" kjhynmlop) - (its-define-hangul "dud" "$(C?5(B" kijuhynbmlopOP) - (its-define-hangul "dux" "$(C?6(B" kijuhynbmlopP) - (its-define-hangul "duv" "$(C?7(B" kijuhynbmlopP) - (its-define-hangul "dug" "$(C?8(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dP" "$(C?9(B" - (its-define-hangul "dPs" "$(C?:(B" kijuhynbmlopP) - (its-define-hangul "dPf" "$(C?;(B" kijuhynbmlopP) - (its-define-hangul "dPa" "$(C?<(B" kijuhynbmlopP) - (its-define-hangul "dPq" "$(C?=(B" kijuhynbmlopP) - (its-define-hangul "dPt" "$(C?>(B" kijuhynbmlopOP) - (its-define-hangul "dPT" "$(C??(B" kjhynmlop)) - - (its-defrule-hangul-2 "dh" "$(C?@(B" - (its-define-hangul "dhr" "$(C?A(B" kijuhynbmlopOP) - (its-define-hangul "dhs" "$(C?B(B" kijuhynbmlopP) - (its-define-hangul "dhf" "$(C?C(B" kijuhynbmlopP - (its-define-hangul "dhfr" "$(C?D(B" kijuhynbmlopOP) - (its-define-hangul "dhfa" "$(C?E(B" kijuhynbmlopP) - (its-define-hangul "dhft" "$(C?F(B" kijuhynbmlopOP) - (its-define-hangul "dhfg" "$(C?G(B" kijuhynbmlopP)) - (its-define-hangul "dha" "$(C?H(B" kijuhynbmlopP) - (its-define-hangul "dhq" "$(C?I(B" kijuhynbmlopP) - (its-define-hangul "dht" "$(C?J(B" kijuhynbmlopOP) - (its-define-hangul "dhd" "$(C?K(B" kijuhynbmlopOP) - (its-define-hangul "dhc" "$(C?L(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dhk" "$(C?M(B" - (its-define-hangul "dhkr" "$(C?N(B" kijuhynbmlopOP) - (its-define-hangul "dhks" "$(C?O(B" kijuhynbmlopP) - (its-define-hangul "dhkf" "$(C?P(B" kijuhynbmlopP) - (its-define-hangul "dhka" "$(C?Q(B" kijuhynbmlopP) - (its-define-hangul "dhkq" "$(C?R(B" kijuhynbmlopP) - (its-define-hangul "dhkt" "$(C?S(B" kijuhynbmlopOP) - (its-define-hangul "dhkT" "$(C?T(B" kjhynmlop) - (its-define-hangul "dhkd" "$(C?U(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dho" "$(C?V(B" - (its-define-hangul "dhor" "$(C?W(B" kijuhynbmlopOP) - (its-define-hangul "dhos" "$(C?X(B" kijuhynbmlopP) - (its-define-hangul "dhoa" "$(C?Y(B" kijuhynbmlopP) - (its-define-hangul "dhot" "$(C?Z(B" kijuhynbmlopOP) - (its-define-hangul "dhod" "$(C?[(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dhl" "$(C?\(B" - (its-define-hangul "dhlr" "$(C?](B" kijuhynbmlopOP) - (its-define-hangul "dhls" "$(C?^(B" kijuhynbmlopP) - (its-define-hangul "dhlf" "$(C?_(B" kijuhynbmlopP) - (its-define-hangul "dhla" "$(C?`(B" kijuhynbmlopP) - (its-define-hangul "dhlq" "$(C?a(B" kijuhynbmlopP) - (its-define-hangul "dhlt" "$(C?b(B" kijuhynbmlopOP) - (its-define-hangul "dhld" "$(C?c(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dy" "$(C?d(B" - (its-define-hangul "dyr" "$(C?e(B" kijuhynbmlopOP) - (its-define-hangul "dys" "$(C?f(B" kijuhynbmlopP) - (its-define-hangul "dyf" "$(C?g(B" kijuhynbmlopP) - (its-define-hangul "dya" "$(C?h(B" kijuhynbmlopP) - (its-define-hangul "dyq" "$(C?i(B" kijuhynbmlopP) - (its-define-hangul "dyt" "$(C?j(B" kijuhynbmlopOP) - (its-define-hangul "dyd" "$(C?k(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dn" "$(C?l(B" - (its-define-hangul "dnr" "$(C?m(B" kijuhynbmlopOP) - (its-define-hangul "dns" "$(C?n(B" kijuhynbmlopP) - (its-define-hangul "dnf" "$(C?o(B" kijuhynbmlopP - (its-define-hangul "dnfr" "$(C?p(B" kijuhynbmlopOP) - (its-define-hangul "dnfa" "$(C?q(B" kijuhynbmlopP)) - (its-define-hangul "dna" "$(C?r(B" kijuhynbmlopP) - (its-define-hangul "dnq" "$(C?s(B" kijuhynbmlopP) - (its-define-hangul "dnt" "$(C?t(B" kijuhynbmlopOP) - (its-define-hangul "dnd" "$(C?u(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dnj" "$(C?v(B" - (its-define-hangul "dnjr" "$(C?w(B" kijuhynbmlopOP) - (its-define-hangul "dnjs" "$(C?x(B" kijuhynbmlopP) - (its-define-hangul "dnjf" "$(C?y(B" kijuhynbmlopP) - (its-define-hangul "dnja" "$(C?z(B" kijuhynbmlopP) - (its-define-hangul "dnjq" "$(C?{(B" kijuhynbmlopP) - (its-define-hangul "dnjT" "$(C?|(B" kjhynmlop) - (its-define-hangul "dnjd" "$(C?}(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dnp" "$(C?~(B" - (its-define-hangul "dnpr" "$(C@!(B" kijuhynbmlopOP) - (its-define-hangul "dnps" "$(C@"(B" kijuhynbmlopP) - (its-define-hangul "dnpf" "$(C@#(B" kijuhynbmlopP) - (its-define-hangul "dnpa" "$(C@$(B" kijuhynbmlopP) - (its-define-hangul "dnpq" "$(C@%(B" kijuhynbmlopP) - (its-define-hangul "dnpd" "$(C@&(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dnl" "$(C@'(B" - (its-define-hangul "dnlr" "$(C@((B" kijuhynbmlopOP) - (its-define-hangul "dnls" "$(C@)(B" kijuhynbmlopP) - (its-define-hangul "dnlf" "$(C@*(B" kijuhynbmlopP) - (its-define-hangul "dnla" "$(C@+(B" kijuhynbmlopP) - (its-define-hangul "dnlq" "$(C@,(B" kijuhynbmlopP) - (its-define-hangul "dnlt" "$(C@-(B" kijuhynbmlopOP) - (its-define-hangul "dnld" "$(C@.(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "db" "$(C@/(B" - (its-define-hangul "dbr" "$(C@0(B" kijuhynbmlopOP) - (its-define-hangul "dbs" "$(C@1(B" kijuhynbmlopP) - (its-define-hangul "dbf" "$(C@2(B" kijuhynbmlopP) - (its-define-hangul "dba" "$(C@3(B" kijuhynbmlopP) - (its-define-hangul "dbq" "$(C@4(B" kijuhynbmlopP) - (its-define-hangul "dbt" "$(C@5(B" kijuhynbmlopOP) - (its-define-hangul "dbd" "$(C@6(B" kijuhynbmlopOP) - (its-define-hangul "dbc" "$(C@7(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dm" "$(C@8(B" - (its-define-hangul "dmr" "$(C@9(B" kijuhynbmlopOP) - (its-define-hangul "dms" "$(C@:(B" kijuhynbmlopP) - (its-define-hangul "dmf" "$(C@;(B" kijuhynbmlopP - (its-define-hangul "dmfv" "$(C@<(B" kijuhynbmlopP)) - (its-define-hangul "dma" "$(C@=(B" kijuhynbmlopP) - (its-define-hangul "dmq" "$(C@>(B" kijuhynbmlopP) - (its-define-hangul "dmt" "$(C@?(B" kijuhynbmlopOP) - (its-define-hangul "dmd" "$(C@@(B" kijuhynbmlopOP) - (its-define-hangul "dmw" "$(C@A(B" kijuhynbmlopOP) - (its-define-hangul "dmc" "$(C@B(B" kijuhynbmlopP) - (its-define-hangul "dmz" "$(C@C(B" kijuhynbmlopP) - (its-define-hangul "dmx" "$(C@D(B" kijuhynbmlopP) - (its-define-hangul "dmv" "$(C@E(B" kijuhynbmlopP) - (its-define-hangul "dmg" "$(C@F(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "dml" "$(C@G(B" - (its-define-hangul "dmls" "$(C@H(B" kijuhynbmlopP) - (its-define-hangul "dmlf" "$(C@I(B" kijuhynbmlopP) - (its-define-hangul "dmla" "$(C@J(B" kijuhynbmlopP) - (its-define-hangul "dmlt" "$(C@K(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "dl" "$(C@L(B" - (its-define-hangul "dlr" "$(C@M(B" kijuhynbmlopOP) - (its-define-hangul "dls" "$(C@N(B" kijuhynbmlopP) - (its-define-hangul "dlf" "$(C@O(B" kijuhynbmlopP - (its-define-hangul "dlfr" "$(C@P(B" kijuhynbmlopOP) - (its-define-hangul "dlfa" "$(C@Q(B" kijuhynbmlopP) - (its-define-hangul "dlfg" "$(C@R(B" kijuhynbmlopP)) - (its-define-hangul "dla" "$(C@S(B" kijuhynbmlopP) - (its-define-hangul "dlq" "$(C@T(B" kijuhynbmlopP) - (its-define-hangul "dlt" "$(C@U(B" kijuhynbmlopOP) - (its-define-hangul "dlT" "$(C@V(B" kjhynmlop) - (its-define-hangul "dld" "$(C@W(B" kijuhynbmlopOP) - (its-define-hangul "dlw" "$(C@X(B" kijuhynbmlopOP) - (its-define-hangul "dlv" "$(C@Y(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "wk" "$(C@Z(B" - (its-define-hangul "wkr" "$(C@[(B" kijuhynbmlopOP) - (its-define-hangul "wks" "$(C@\(B" kijuhynbmlopP - (its-define-hangul "wksg" "$(C@](B" kijuhynbmlopP)) - (its-define-hangul "wke" "$(C@^(B" kijuhynbmlopP) - (its-define-hangul "wkf" "$(C@_(B" kijuhynbmlopP - (its-define-hangul "wkfa" "$(C@`(B" kijuhynbmlopP)) - (its-define-hangul "wka" "$(C@a(B" kijuhynbmlopP) - (its-define-hangul "wkq" "$(C@b(B" kijuhynbmlopP) - (its-define-hangul "wkt" "$(C@c(B" kijuhynbmlopOP) - (its-define-hangul "wkT" "$(C@d(B" kjhynmlop) - (its-define-hangul "wkd" "$(C@e(B" kijuhynbmlopOP) - (its-define-hangul "wkw" "$(C@f(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wo" "$(C@g(B" - (its-define-hangul "wor" "$(C@h(B" kijuhynbmlopOP) - (its-define-hangul "wos" "$(C@i(B" kijuhynbmlopP) - (its-define-hangul "wof" "$(C@j(B" kijuhynbmlopP) - (its-define-hangul "woa" "$(C@k(B" kijuhynbmlopP) - (its-define-hangul "woq" "$(C@l(B" kijuhynbmlopP) - (its-define-hangul "wot" "$(C@m(B" kijuhynbmlopOP) - (its-define-hangul "woT" "$(C@n(B" kjhynmlop) - (its-define-hangul "wod" "$(C@o(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wi" "$(C@p(B" - (its-define-hangul "wir" "$(C@q(B" kijuhynbmlopOP) - (its-define-hangul "wis" "$(C@r(B" kijuhynbmlopP - (its-define-hangul "wisg" "$(C@s(B" kijuhynbmlopP)) - (its-define-hangul "wif" "$(C@t(B" kijuhynbmlopP) - (its-define-hangul "wia" "$(C@u(B" kijuhynbmlopP) - (its-define-hangul "wid" "$(C@v(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wO" "$(C@w(B" - (its-define-hangul "wOs" "$(C@x(B" kijuhynbmlopP) - (its-define-hangul "wOf" "$(C@y(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "wj" "$(C@z(B" - (its-define-hangul "wjr" "$(C@{(B" kijuhynbmlopOP) - (its-define-hangul "wjs" "$(C@|(B" kijuhynbmlopP) - (its-define-hangul "wjf" "$(C@}(B" kijuhynbmlopP - (its-define-hangul "wjfa" "$(C@~(B" kijuhynbmlopP)) - (its-define-hangul "wja" "$(CA!(B" kijuhynbmlopP) - (its-define-hangul "wjq" "$(CA"(B" kijuhynbmlopP) - (its-define-hangul "wjt" "$(CA#(B" kijuhynbmlopOP) - (its-define-hangul "wjd" "$(CA$(B" kijuhynbmlopOP) - (its-define-hangul "wjw" "$(CA%(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wp" "$(CA&(B" - (its-define-hangul "wpr" "$(CA'(B" kijuhynbmlopOP) - (its-define-hangul "wps" "$(CA((B" kijuhynbmlopP) - (its-define-hangul "wpf" "$(CA)(B" kijuhynbmlopP) - (its-define-hangul "wpa" "$(CA*(B" kijuhynbmlopP) - (its-define-hangul "wpq" "$(CA+(B" kijuhynbmlopP) - (its-define-hangul "wpt" "$(CA,(B" kijuhynbmlopOP) - (its-define-hangul "wpd" "$(CA-(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wu" "$(CA.(B" - (its-define-hangul "wus" "$(CA/(B" kijuhynbmlopP) - (its-define-hangul "wuf" "$(CA0(B" kijuhynbmlopP) - (its-define-hangul "wua" "$(CA1(B" kijuhynbmlopP) - (its-define-hangul "wuq" "$(CA2(B" kijuhynbmlopP) - (its-define-hangul "wuT" "$(CA3(B" kjhynmlop) - (its-define-hangul "wud" "$(CA4(B" kijuhynbmlopOP)) - - (its-defrule-hangul "wP" "$(CA5(B") - - (its-defrule-hangul-2 "wh" "$(CA6(B" - (its-define-hangul "whr" "$(CA7(B" kijuhynbmlopOP) - (its-define-hangul "whs" "$(CA8(B" kijuhynbmlopP) - (its-define-hangul "whf" "$(CA9(B" kijuhynbmlopP - (its-define-hangul "whfa" "$(CA:(B" kijuhynbmlopP)) - (its-define-hangul "wha" "$(CA;(B" kijuhynbmlopP) - (its-define-hangul "whq" "$(CA<(B" kijuhynbmlopP) - (its-define-hangul "wht" "$(CA=(B" kijuhynbmlopOP) - (its-define-hangul "whd" "$(CA>(B" kijuhynbmlopOP) - (its-define-hangul "whw" "$(CA?(B" kijuhynbmlopOP) - (its-define-hangul "whc" "$(CA@(B" kijuhynbmlopP) - (its-define-hangul "whg" "$(CAA(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "whk" "$(CAB(B" - (its-define-hangul "whkr" "$(CAC(B" kijuhynbmlopOP) - (its-define-hangul "whkf" "$(CAD(B" kijuhynbmlopP) - (its-define-hangul "whkq" "$(CAE(B" kijuhynbmlopP) - (its-define-hangul "whkt" "$(CAF(B" kijuhynbmlopOP) - (its-define-hangul "whkd" "$(CAG(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "who" "$(CAH(B" - (its-define-hangul "whoT" "$(CAI(B" kjhynmlop) - (its-define-hangul "whod" "$(CAJ(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "whl" "$(CAK(B" - (its-define-hangul "whls" "$(CAL(B" kijuhynbmlopP) - (its-define-hangul "whlf" "$(CAM(B" kijuhynbmlopP) - (its-define-hangul "whla" "$(CAN(B" kijuhynbmlopP) - (its-define-hangul "whlq" "$(CAO(B" kijuhynbmlopP) - (its-define-hangul "whlt" "$(CAP(B" kijuhynbmlopOP) - (its-define-hangul "whld" "$(CAQ(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wy" "$(CAR(B" - (its-define-hangul "wyr" "$(CAS(B" kijuhynbmlopOP) - (its-define-hangul "wys" "$(CAT(B" kijuhynbmlopP) - (its-define-hangul "wyd" "$(CAU(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wn" "$(CAV(B" - (its-define-hangul "wnr" "$(CAW(B" kijuhynbmlopOP) - (its-define-hangul "wns" "$(CAX(B" kijuhynbmlopP) - (its-define-hangul "wnf" "$(CAY(B" kijuhynbmlopP - (its-define-hangul "wnfr" "$(CAZ(B" kijuhynbmlopOP) - (its-define-hangul "wnfa" "$(CA[(B" kijuhynbmlopP)) - (its-define-hangul "wna" "$(CA\(B" kijuhynbmlopP) - (its-define-hangul "wnq" "$(CA](B" kijuhynbmlopP) - (its-define-hangul "wnt" "$(CA^(B" kijuhynbmlopOP) - (its-define-hangul "wnd" "$(CA_(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wnj" "$(CA`(B" - (its-define-hangul "wnjT" "$(CAa(B" kjhynmlop)) - - (its-defrule-hangul "wnp" "$(CAb(B") - - (its-defrule-hangul-2 "wnl" "$(CAc(B" - (its-define-hangul "wnlr" "$(CAd(B" kijuhynbmlopOP) - (its-define-hangul "wnls" "$(CAe(B" kijuhynbmlopP) - (its-define-hangul "wnlf" "$(CAf(B" kijuhynbmlopP) - (its-define-hangul "wnla" "$(CAg(B" kijuhynbmlopP) - (its-define-hangul "wnlq" "$(CAh(B" kijuhynbmlopP) - (its-define-hangul "wnlt" "$(CAi(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wb" "$(CAj(B" - (its-define-hangul "wbs" "$(CAk(B" kijuhynbmlopP) - (its-define-hangul "wbf" "$(CAl(B" kijuhynbmlopP) - (its-define-hangul "wba" "$(CAm(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "wm" "$(CAn(B" - (its-define-hangul "wmr" "$(CAo(B" kijuhynbmlopOP) - (its-define-hangul "wms" "$(CAp(B" kijuhynbmlopP) - (its-define-hangul "wmf" "$(CAq(B" kijuhynbmlopP) - (its-define-hangul "wma" "$(CAr(B" kijuhynbmlopP) - (its-define-hangul "wmq" "$(CAs(B" kijuhynbmlopP) - (its-define-hangul "wmt" "$(CAt(B" kijuhynbmlopOP) - (its-define-hangul "wmd" "$(CAu(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "wl" "$(CAv(B" - (its-define-hangul "wlr" "$(CAw(B" kijuhynbmlopOP) - (its-define-hangul "wls" "$(CAx(B" kijuhynbmlopP) - (its-define-hangul "wle" "$(CAy(B" kijuhynbmlopP) - (its-define-hangul "wlf" "$(CAz(B" kijuhynbmlopP - (its-define-hangul "wlfa" "$(CA{(B" kijuhynbmlopP)) - (its-define-hangul "wla" "$(CA|(B" kijuhynbmlopP) - (its-define-hangul "wlq" "$(CA}(B" kijuhynbmlopP) - (its-define-hangul "wlt" "$(CA~(B" kijuhynbmlopOP) - (its-define-hangul "wld" "$(CB!(B" kijuhynbmlopOP) - (its-define-hangul "wlw" "$(CB"(B" kijuhynbmlopOP) - (its-define-hangul "wlx" "$(CB#(B" kijuhynbmlopP) - (its-define-hangul "wlv" "$(CB$(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Wk" "$(CB%(B" - (its-define-hangul "Wkr" "$(CB&(B" kijuhynbmlopOP) - (its-define-hangul "Wks" "$(CB'(B" kijuhynbmlopP - (its-define-hangul "Wksg" "$(CB((B" kijuhynbmlopP)) - (its-define-hangul "Wkf" "$(CB)(B" kijuhynbmlopP - (its-define-hangul "Wkfq" "$(CB*(B" kijuhynbmlopP)) - (its-define-hangul "Wka" "$(CB+(B" kijuhynbmlopP) - (its-define-hangul "Wkq" "$(CB,(B" kijuhynbmlopP) - (its-define-hangul "Wkt" "$(CB-(B" kijuhynbmlopOP) - (its-define-hangul "WkT" "$(CB.(B" kjhynmlop) - (its-define-hangul "Wkd" "$(CB/(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wo" "$(CB0(B" - (its-define-hangul "Wor" "$(CB1(B" kijuhynbmlopOP) - (its-define-hangul "Wos" "$(CB2(B" kijuhynbmlopP) - (its-define-hangul "Wof" "$(CB3(B" kijuhynbmlopP) - (its-define-hangul "Woa" "$(CB4(B" kijuhynbmlopP) - (its-define-hangul "Woq" "$(CB5(B" kijuhynbmlopP) - (its-define-hangul "Wot" "$(CB6(B" kijuhynbmlopOP) - (its-define-hangul "WoT" "$(CB7(B" kjhynmlop) - (its-define-hangul "Wod" "$(CB8(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wi" "$(CB9(B" - (its-define-hangul "Wis" "$(CB:(B" kijuhynbmlopP) - (its-define-hangul "Wid" "$(CB;(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wj" "$(CB<(B" - (its-define-hangul "Wjr" "$(CB=(B" kijuhynbmlopOP) - (its-define-hangul "Wjs" "$(CB>(B" kijuhynbmlopP) - (its-define-hangul "Wjf" "$(CB?(B" kijuhynbmlopP) - (its-define-hangul "Wja" "$(CB@(B" kijuhynbmlopP) - (its-define-hangul "Wjq" "$(CBA(B" kijuhynbmlopP) - (its-define-hangul "Wjt" "$(CBB(B" kijuhynbmlopOP) - (its-define-hangul "WjT" "$(CBC(B" kjhynmlop) - (its-define-hangul "Wjd" "$(CBD(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wp" "$(CBE(B" - (its-define-hangul "Wpd" "$(CBF(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wu" "$(CBG(B" - (its-define-hangul "WuT" "$(CBH(B" kjhynmlop)) - - (its-defrule-hangul-2 "Wh" "$(CBI(B" - (its-define-hangul "Whr" "$(CBJ(B" kijuhynbmlopOP) - (its-define-hangul "Whs" "$(CBK(B" kijuhynbmlopP) - (its-define-hangul "Whf" "$(CBL(B" kijuhynbmlopP) - (its-define-hangul "Wha" "$(CBM(B" kijuhynbmlopP) - (its-define-hangul "Whq" "$(CBN(B" kijuhynbmlopP) - (its-define-hangul "Wht" "$(CBO(B" kijuhynbmlopOP) - (its-define-hangul "Whd" "$(CBP(B" kijuhynbmlopOP) - (its-define-hangul "Whc" "$(CBQ(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "Whk" "$(CBR(B" - (its-define-hangul "Whkr" "$(CBS(B" kijuhynbmlopOP) - (its-define-hangul "Whkf" "$(CBT(B" kijuhynbmlopP) - (its-define-hangul "WhkT" "$(CBU(B" kjhynmlop)) - - (its-defrule-hangul-2 "Who" "$(CBV(B" - (its-define-hangul "WhoT" "$(CBW(B" kjhynmlop)) - - (its-defrule-hangul-2 "Whl" "$(CBX(B" - (its-define-hangul "Whls" "$(CBY(B" kijuhynbmlopP) - (its-define-hangul "Whlf" "$(CBZ(B" kijuhynbmlopP) - (its-define-hangul "Whla" "$(CB[(B" kijuhynbmlopP) - (its-define-hangul "Whlq" "$(CB\(B" kijuhynbmlopP)) - - (its-defrule-hangul "Wy" "$(C$9(By") - (its-defrule-hangul "Wyd" "$(CB](B") - - (its-defrule-hangul-2 "Wn" "$(CB^(B" - (its-define-hangul "Wnr" "$(CB_(B" kijuhynbmlopOP) - (its-define-hangul "Wns" "$(CB`(B" kijuhynbmlopP) - (its-define-hangul "Wnf" "$(CBa(B" kijuhynbmlopP) - (its-define-hangul "Wna" "$(CBb(B" kijuhynbmlopP) - (its-define-hangul "Wnq" "$(CBc(B" kijuhynbmlopP) - (its-define-hangul "Wnd" "$(CBd(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wnj" "$(CBe(B" - (its-define-hangul "WnjT" "$(CBf(B" kjhynmlop) - (its-define-hangul "Wnjd" "$(CBg(B" kijuhynbmlopOP)) - - (its-defrule-hangul "Wnl" "$(CBh(B") - - (its-defrule-hangul "Wb" "$(CBi(B") - - (its-defrule-hangul-2 "Wm" "$(CBj(B" - (its-define-hangul "Wma" "$(CBk(B" kijuhynbmlopP) - (its-define-hangul "Wmt" "$(CBl(B" kijuhynbmlopOP) - (its-define-hangul "Wmd" "$(CBm(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "Wl" "$(CBn(B" - (its-define-hangul "Wlr" "$(CBo(B" kijuhynbmlopOP) - (its-define-hangul "Wls" "$(CBp(B" kijuhynbmlopP) - (its-define-hangul "Wlf" "$(CBq(B" kijuhynbmlopP) - (its-define-hangul "Wla" "$(CBr(B" kijuhynbmlopP) - (its-define-hangul "Wlq" "$(CBs(B" kijuhynbmlopP) - (its-define-hangul "Wld" "$(CBt(B" kijuhynbmlopOP) - (its-define-hangul "Wlw" "$(CBu(B" kijuhynbmlopOP) - (its-define-hangul "Wlg" "$(CBv(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ck" "$(CBw(B" - (its-define-hangul "ckr" "$(CBx(B" kijuhynbmlopOP) - (its-define-hangul "cks" "$(CBy(B" kijuhynbmlopP - (its-define-hangul "cksg" "$(CBz(B" kijuhynbmlopP)) - (its-define-hangul "ckf" "$(CB{(B" kijuhynbmlopP) - (its-define-hangul "cka" "$(CB|(B" kijuhynbmlopP) - (its-define-hangul "ckq" "$(CB}(B" kijuhynbmlopP) - (its-define-hangul "ckt" "$(CB~(B" kijuhynbmlopOP) - (its-define-hangul "ckT" "$(CC!(B" kjhynmlop) - (its-define-hangul "ckd" "$(CC"(B" kijuhynbmlopOP) - (its-define-hangul "ckw" "$(CC#(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "co" "$(CC$(B" - (its-define-hangul "cor" "$(CC%(B" kijuhynbmlopOP) - (its-define-hangul "cos" "$(CC&(B" kijuhynbmlopP) - (its-define-hangul "cof" "$(CC'(B" kijuhynbmlopP) - (its-define-hangul "coa" "$(CC((B" kijuhynbmlopP) - (its-define-hangul "coq" "$(CC)(B" kijuhynbmlopP) - (its-define-hangul "cot" "$(CC*(B" kijuhynbmlopOP) - (its-define-hangul "coT" "$(CC+(B" kjhynmlop) - (its-define-hangul "cod" "$(CC,(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ci" "$(CC-(B" - (its-define-hangul "cis" "$(CC.(B" kijuhynbmlopP - (its-define-hangul "cisg" "$(CC/(B" kijuhynbmlopP)) - (its-define-hangul "cif" "$(CC0(B" kijuhynbmlopP) - (its-define-hangul "cia" "$(CC1(B" kijuhynbmlopP) - (its-define-hangul "cid" "$(CC2(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cj" "$(CC3(B" - (its-define-hangul "cjr" "$(CC4(B" kijuhynbmlopOP) - (its-define-hangul "cjs" "$(CC5(B" kijuhynbmlopP) - (its-define-hangul "cjf" "$(CC6(B" kijuhynbmlopP) - (its-define-hangul "cja" "$(CC7(B" kijuhynbmlopP) - (its-define-hangul "cjq" "$(CC8(B" kijuhynbmlopP) - (its-define-hangul "cjt" "$(CC9(B" kijuhynbmlopOP) - (its-define-hangul "cjT" "$(CC:(B" kjhynmlop) - (its-define-hangul "cjd" "$(CC;(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cp" "$(CC<(B" - (its-define-hangul "cpr" "$(CC=(B" kijuhynbmlopOP) - (its-define-hangul "cps" "$(CC>(B" kijuhynbmlopP) - (its-define-hangul "cpf" "$(CC?(B" kijuhynbmlopP) - (its-define-hangul "cpa" "$(CC@(B" kijuhynbmlopP) - (its-define-hangul "cpq" "$(CCA(B" kijuhynbmlopP) - (its-define-hangul "cpt" "$(CCB(B" kijuhynbmlopOP) - (its-define-hangul "cpd" "$(CCC(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cu" "$(CCD(B" - (its-define-hangul "cus" "$(CCE(B" kijuhynbmlopP) - (its-define-hangul "cuT" "$(CCF(B" kjhynmlop)) - - (its-defrule-hangul-2 "cP" "$(CCG(B" - (its-define-hangul "cPs" "$(CCH(B" kijuhynbmlopP) - (its-define-hangul "cPd" "$(CCI(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ch" "$(CCJ(B" - (its-define-hangul "chr" "$(CCK(B" kijuhynbmlopOP) - (its-define-hangul "chs" "$(CCL(B" kijuhynbmlopP) - (its-define-hangul "chf" "$(CCM(B" kijuhynbmlopP) - (its-define-hangul "cha" "$(CCN(B" kijuhynbmlopP) - (its-define-hangul "chq" "$(CCO(B" kijuhynbmlopP) - (its-define-hangul "cht" "$(CCP(B" kijuhynbmlopOP) - (its-define-hangul "chd" "$(CCQ(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "chk" "$(CCR(B" - (its-define-hangul "chks" "$(CCS(B" kijuhynbmlopP) - (its-define-hangul "chkf" "$(CCT(B" kijuhynbmlopP) - (its-define-hangul "chkd" "$(CCU(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "chl" "$(CCV(B" - (its-define-hangul "chls" "$(CCW(B" kijuhynbmlopP) - (its-define-hangul "chlf" "$(CCX(B" kijuhynbmlopP) - (its-define-hangul "chla" "$(CCY(B" kijuhynbmlopP) - (its-define-hangul "chlq" "$(CCZ(B" kijuhynbmlopP) - (its-define-hangul "chlt" "$(CC[(B" kijuhynbmlopOP) - (its-define-hangul "chld" "$(CC\(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cy" "$(CC](B" - (its-define-hangul "cya" "$(CC^(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "cn" "$(CC_(B" - (its-define-hangul "cnr" "$(CC`(B" kijuhynbmlopOP) - (its-define-hangul "cns" "$(CCa(B" kijuhynbmlopP) - (its-define-hangul "cnf" "$(CCb(B" kijuhynbmlopP) - (its-define-hangul "cna" "$(CCc(B" kijuhynbmlopP) - (its-define-hangul "cnq" "$(CCd(B" kijuhynbmlopP) - (its-define-hangul "cnt" "$(CCe(B" kijuhynbmlopOP) - (its-define-hangul "cnd" "$(CCf(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cnj" "$(CCg(B" - (its-define-hangul "cnjT" "$(CCh(B" kjhynmlop)) - - (its-defrule-hangul-2 "cnp" "$(CCi(B" - (its-define-hangul "cnps" "$(CCj(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "cnl" "$(CCk(B" - (its-define-hangul "cnls" "$(CCl(B" kijuhynbmlopP) - (its-define-hangul "cnlf" "$(CCm(B" kijuhynbmlopP) - (its-define-hangul "cnla" "$(CCn(B" kijuhynbmlopP) - (its-define-hangul "cnlq" "$(CCo(B" kijuhynbmlopP) - (its-define-hangul "cnlt" "$(CCp(B" kijuhynbmlopOP) - (its-define-hangul "cnld" "$(CCq(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cb" "$(CCr(B" - (its-define-hangul "cbs" "$(CCs(B" kijuhynbmlopP) - (its-define-hangul "cbf" "$(CCt(B" kijuhynbmlopP) - (its-define-hangul "cba" "$(CCu(B" kijuhynbmlopP) - (its-define-hangul "cbd" "$(CCv(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cm" "$(CCw(B" - (its-define-hangul "cmr" "$(CCx(B" kijuhynbmlopOP) - (its-define-hangul "cms" "$(CCy(B" kijuhynbmlopP) - (its-define-hangul "cmf" "$(CCz(B" kijuhynbmlopP) - (its-define-hangul "cma" "$(CC{(B" kijuhynbmlopP) - (its-define-hangul "cmq" "$(CC|(B" kijuhynbmlopP) - (its-define-hangul "cmt" "$(CC}(B" kijuhynbmlopOP) - (its-define-hangul "cmd" "$(CC~(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "cl" "$(CD!(B" - (its-define-hangul "clr" "$(CD"(B" kijuhynbmlopOP) - (its-define-hangul "cls" "$(CD#(B" kijuhynbmlopP) - (its-define-hangul "cle" "$(CD$(B" kijuhynbmlopP) - (its-define-hangul "clf" "$(CD%(B" kijuhynbmlopP - (its-define-hangul "clfr" "$(CD&(B" kijuhynbmlopOP)) - (its-define-hangul "cla" "$(CD'(B" kijuhynbmlopP) - (its-define-hangul "clq" "$(CD((B" kijuhynbmlopP) - (its-define-hangul "clt" "$(CD)(B" kijuhynbmlopOP) - (its-define-hangul "cld" "$(CD*(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zk" "$(CD+(B" - (its-define-hangul "zkr" "$(CD,(B" kijuhynbmlopOP) - (its-define-hangul "zks" "$(CD-(B" kijuhynbmlopP) - (its-define-hangul "zkf" "$(CD.(B" kijuhynbmlopP) - (its-define-hangul "zka" "$(CD/(B" kijuhynbmlopP) - (its-define-hangul "zkq" "$(CD0(B" kijuhynbmlopP) - (its-define-hangul "zkt" "$(CD1(B" kijuhynbmlopOP) - (its-define-hangul "zkd" "$(CD2(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zo" "$(CD3(B" - (its-define-hangul "zor" "$(CD4(B" kijuhynbmlopOP) - (its-define-hangul "zos" "$(CD5(B" kijuhynbmlopP) - (its-define-hangul "zof" "$(CD6(B" kijuhynbmlopP) - (its-define-hangul "zoa" "$(CD7(B" kijuhynbmlopP) - (its-define-hangul "zoq" "$(CD8(B" kijuhynbmlopP) - (its-define-hangul "zot" "$(CD9(B" kijuhynbmlopOP) - (its-define-hangul "zoT" "$(CD:(B" kjhynmlop) - (its-define-hangul "zod" "$(CD;(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zi" "$(CD<(B" - (its-define-hangul "zir" "$(CD=(B" kijuhynbmlopOP) - (its-define-hangul "zid" "$(CD>(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zj" "$(CD?(B" - (its-define-hangul "zjr" "$(CD@(B" kijuhynbmlopOP) - (its-define-hangul "zjs" "$(CDA(B" kijuhynbmlopP) - (its-define-hangul "zje" "$(CDB(B" kijuhynbmlopP) - (its-define-hangul "zjf" "$(CDC(B" kijuhynbmlopP) - (its-define-hangul "zja" "$(CDD(B" kijuhynbmlopP) - (its-define-hangul "zjq" "$(CDE(B" kijuhynbmlopP) - (its-define-hangul "zjt" "$(CDF(B" kijuhynbmlopOP) - (its-define-hangul "zjT" "$(CDG(B" kjhynmlop) - (its-define-hangul "zjd" "$(CDH(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zp" "$(CDI(B" - (its-define-hangul "zpr" "$(CDJ(B" kijuhynbmlopOP) - (its-define-hangul "zps" "$(CDK(B" kijuhynbmlopP) - (its-define-hangul "zpf" "$(CDL(B" kijuhynbmlopP) - (its-define-hangul "zpa" "$(CDM(B" kijuhynbmlopP) - (its-define-hangul "zpq" "$(CDN(B" kijuhynbmlopP) - (its-define-hangul "zpt" "$(CDO(B" kijuhynbmlopOP) - (its-define-hangul "zpd" "$(CDP(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zu" "$(CDQ(B" - (its-define-hangul "zus" "$(CDR(B" kijuhynbmlopP) - (its-define-hangul "zuf" "$(CDS(B" kijuhynbmlopP) - (its-define-hangul "zua" "$(CDT(B" kijuhynbmlopP) - (its-define-hangul "zuq" "$(CDU(B" kijuhynbmlopP) - (its-define-hangul "zut" "$(CDV(B" kijuhynbmlopOP) - (its-define-hangul "zuT" "$(CDW(B" kjhynmlop) - (its-define-hangul "zud" "$(CDX(B" kijuhynbmlopOP)) - - (its-defrule-hangul "zP" "$(CDY(B") - - (its-defrule-hangul-2 "zh" "$(CDZ(B" - (its-define-hangul "zhr" "$(CD[(B" kijuhynbmlopOP) - (its-define-hangul "zhs" "$(CD\(B" kijuhynbmlopP) - (its-define-hangul "zhf" "$(CD](B" kijuhynbmlopP) - (its-define-hangul "zha" "$(CD^(B" kijuhynbmlopP) - (its-define-hangul "zhq" "$(CD_(B" kijuhynbmlopP) - (its-define-hangul "zht" "$(CD`(B" kijuhynbmlopOP) - (its-define-hangul "zhd" "$(CDa(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zhk" "$(CDb(B" - (its-define-hangul "zhkr" "$(CDc(B" kijuhynbmlopOP) - (its-define-hangul "zhks" "$(CDd(B" kijuhynbmlopP) - (its-define-hangul "zhkf" "$(CDe(B" kijuhynbmlopP) - (its-define-hangul "zhka" "$(CDf(B" kijuhynbmlopP) - (its-define-hangul "zhkd" "$(CDg(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zho" "$(CDh(B" - (its-define-hangul "zhod" "$(CDi(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zhl" "$(CDj(B" - (its-define-hangul "zhlf" "$(CDk(B" kijuhynbmlopP)) - - (its-defrule-hangul "zy" "$(CDl(B") - - (its-defrule-hangul-2 "zn" "$(CDm(B" - (its-define-hangul "znr" "$(CDn(B" kijuhynbmlopOP) - (its-define-hangul "znf" "$(CDp(B" kijuhynbmlopP) - (its-define-hangul "zna" "$(CDq(B" kijuhynbmlopP) - (its-define-hangul "znq" "$(CDr(B" kijuhynbmlopP) - (its-define-hangul "znt" "$(CDs(B" kijuhynbmlopOP) - (its-define-hangul "znd" "$(CDt(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "znj" "$(CDu(B" - (its-define-hangul "znjs" "$(CDv(B" kijuhynbmlopP) - (its-define-hangul "znjf" "$(CDw(B" kijuhynbmlopP) - (its-define-hangul "znjd" "$(CDx(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "znp" "$(CDy(B" - (its-define-hangul "znpd" "$(CDz(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "znl" "$(CD{(B" - (its-define-hangul "znlr" "$(CD|(B" kijuhynbmlopOP) - (its-define-hangul "znls" "$(CD}(B" kijuhynbmlopP) - (its-define-hangul "znlf" "$(CD~(B" kijuhynbmlopP) - (its-define-hangul "znla" "$(CE!(B" kijuhynbmlopP) - (its-define-hangul "znlq" "$(CE"(B" kijuhynbmlopP) - (its-define-hangul "znlt" "$(CE#(B" kijuhynbmlopOP) - (its-define-hangul "znld" "$(CE$(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zb" "$(CE%(B" - (its-define-hangul "zbs" "$(CE&(B" kijuhynbmlopP) - (its-define-hangul "zbf" "$(CE'(B" kijuhynbmlopP) - (its-define-hangul "zba" "$(CE((B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "zm" "$(CE)(B" - (its-define-hangul "zmr" "$(CE*(B" kijuhynbmlopOP) - (its-define-hangul "zms" "$(CE+(B" kijuhynbmlopP) - (its-define-hangul "zmf" "$(CE,(B" kijuhynbmlopP) - (its-define-hangul "zma" "$(CE-(B" kijuhynbmlopP) - (its-define-hangul "zmq" "$(CE.(B" kijuhynbmlopP) - (its-define-hangul "zmd" "$(CE/(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "zl" "$(CE0(B" - (its-define-hangul "zlr" "$(CE1(B" kijuhynbmlopOP) - (its-define-hangul "zls" "$(CE2(B" kijuhynbmlopP) - (its-define-hangul "zlf" "$(CE3(B" kijuhynbmlopP) - (its-define-hangul "zla" "$(CE4(B" kijuhynbmlopP) - (its-define-hangul "zlq" "$(CE5(B" kijuhynbmlopP) - (its-define-hangul "zlt" "$(CE6(B" kijuhynbmlopOP) - (its-define-hangul "zld" "$(CE7(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xk" "$(CE8(B" - (its-define-hangul "xkr" "$(CE9(B" kijuhynbmlopOP) - (its-define-hangul "xks" "$(CE:(B" kijuhynbmlopP) - (its-define-hangul "xkf" "$(CE;(B" kijuhynbmlopP - (its-define-hangul "xkfr" "$(CE<(B" kijuhynbmlopOP)) - (its-define-hangul "xka" "$(CE=(B" kijuhynbmlopP) - (its-define-hangul "xkq" "$(CE>(B" kijuhynbmlopP) - (its-define-hangul "xkt" "$(CE?(B" kijuhynbmlopOP) - (its-define-hangul "xkT" "$(CE@(B" kjhynmlop) - (its-define-hangul "xkd" "$(CEA(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xo" "$(CEB(B" - (its-define-hangul "xor" "$(CEC(B" kijuhynbmlopOP) - (its-define-hangul "xos" "$(CED(B" kijuhynbmlopP) - (its-define-hangul "xof" "$(CEE(B" kijuhynbmlopP) - (its-define-hangul "xoa" "$(CEF(B" kijuhynbmlopP) - (its-define-hangul "xoq" "$(CEG(B" kijuhynbmlopP) - (its-define-hangul "xot" "$(CEH(B" kijuhynbmlopOP) - (its-define-hangul "xoT" "$(CEI(B" kjhynmlop) - (its-define-hangul "xod" "$(CEJ(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xi" "$(CEK(B" - (its-define-hangul "xid" "$(CEL(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xj" "$(CEM(B" - (its-define-hangul "xjr" "$(CEN(B" kijuhynbmlopOP) - (its-define-hangul "xjs" "$(CEO(B" kijuhynbmlopP) - (its-define-hangul "xjf" "$(CEP(B" kijuhynbmlopP - (its-define-hangul "xjfa" "$(CEQ(B" kijuhynbmlopP)) - (its-define-hangul "xja" "$(CER(B" kijuhynbmlopP) - (its-define-hangul "xjq" "$(CES(B" kijuhynbmlopP) - (its-define-hangul "xjt" "$(CET(B" kijuhynbmlopOP) - (its-define-hangul "xjT" "$(CEU(B" kjhynmlop) - (its-define-hangul "xjd" "$(CEV(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xp" "$(CEW(B" - (its-define-hangul "xpr" "$(CEX(B" kijuhynbmlopOP) - (its-define-hangul "xps" "$(CEY(B" kijuhynbmlopP) - (its-define-hangul "xpf" "$(CEZ(B" kijuhynbmlopP) - (its-define-hangul "xpa" "$(CE[(B" kijuhynbmlopP) - (its-define-hangul "xpq" "$(CE\(B" kijuhynbmlopP) - (its-define-hangul "xpt" "$(CE](B" kijuhynbmlopOP) - (its-define-hangul "xpd" "$(CE^(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xu" "$(CE_(B" - (its-define-hangul "xus" "$(CE`(B" kijuhynbmlopP) - (its-define-hangul "xuT" "$(CEa(B" kjhynmlop)) - - (its-defrule-hangul-2 "xP" "$(CEb(B" - (its-define-hangul "xPs" "$(CEc(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "xh" "$(CEd(B" - (its-define-hangul "xhr" "$(CEe(B" kijuhynbmlopOP) - (its-define-hangul "xhs" "$(CEf(B" kijuhynbmlopP) - (its-define-hangul "xhf" "$(CEg(B" kijuhynbmlopP) - (its-define-hangul "xha" "$(CEh(B" kijuhynbmlopP) - (its-define-hangul "xhq" "$(CEi(B" kijuhynbmlopP) - (its-define-hangul "xht" "$(CEj(B" kijuhynbmlopOP) - (its-define-hangul "xhd" "$(CEk(B" kijuhynbmlopOP) - (its-define-hangul "xhv" "$(CEl(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "xhk" "$(CEm(B" - (its-define-hangul "xhks" "$(CEn(B" kijuhynbmlopP)) - - (its-defrule-hangul "xho" "$(CEo(B") - - (its-defrule-hangul-2 "xhl" "$(CEp(B" - (its-define-hangul "xhls" "$(CEq(B" kijuhynbmlopP) - (its-define-hangul "xhlt" "$(CEr(B" kijuhynbmlopOP) - (its-define-hangul "xhld" "$(CEs(B" kijuhynbmlopOP)) - - (its-defrule-hangul "xy" "$(CEt(B") - - (its-defrule-hangul-2 "xn" "$(CEu(B" - (its-define-hangul "xnr" "$(CEv(B" kijuhynbmlopOP) - (its-define-hangul "xns" "$(CEw(B" kijuhynbmlopP) - (its-define-hangul "xnf" "$(CEx(B" kijuhynbmlopP) - (its-define-hangul "xna" "$(CEy(B" kijuhynbmlopP) - (its-define-hangul "xnq" "$(CEz(B" kijuhynbmlopP) - (its-define-hangul "xnt" "$(CE{(B" kijuhynbmlopOP) - (its-define-hangul "xnd" "$(CE|(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xnj" "$(CE}(B" - (its-define-hangul "xnjT" "$(CE~(B" kjhynmlop)) - - (its-defrule-hangul "xnp" "$(CF!(B") - - (its-defrule-hangul-2 "xnl" "$(CF"(B" - (its-define-hangul "xnlr" "$(CF#(B" kijuhynbmlopOP) - (its-define-hangul "xnls" "$(CF$(B" kijuhynbmlopP) - (its-define-hangul "xnlf" "$(CF%(B" kijuhynbmlopP) - (its-define-hangul "xnla" "$(CF&(B" kijuhynbmlopP) - (its-define-hangul "xnlq" "$(CF'(B" kijuhynbmlopP) - (its-define-hangul "xnld" "$(CF((B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xb" "$(CF)(B" - (its-define-hangul "xbs" "$(CF*(B" kijuhynbmlopP) - (its-define-hangul "xbf" "$(CF+(B" kijuhynbmlopP) - (its-define-hangul "xba" "$(CF,(B" kijuhynbmlopP) - (its-define-hangul "xbd" "$(CF-(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xm" "$(CF.(B" - (its-define-hangul "xmr" "$(CF/(B" kijuhynbmlopOP) - (its-define-hangul "xms" "$(CF0(B" kijuhynbmlopP) - (its-define-hangul "xme" "$(CF1(B" kijuhynbmlopP) - (its-define-hangul "xmf" "$(CF2(B" kijuhynbmlopP - (its-define-hangul "xmfa" "$(CF3(B" kijuhynbmlopP)) - (its-define-hangul "xma" "$(CF4(B" kijuhynbmlopP) - (its-define-hangul "xmq" "$(CF5(B" kijuhynbmlopP) - (its-define-hangul "xmt" "$(CF6(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "xml" "$(CF7(B" - (its-define-hangul "xmls" "$(CF8(B" kijuhynbmlopP) - (its-define-hangul "xmlf" "$(CF9(B" kijuhynbmlopP) - (its-define-hangul "xmla" "$(CF:(B" kijuhynbmlopP) - (its-define-hangul "xmlq" "$(CF;(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "xl" "$(CF<(B" - (its-define-hangul "xlr" "$(CF=(B" kijuhynbmlopOP) - (its-define-hangul "xls" "$(CF>(B" kijuhynbmlopP) - (its-define-hangul "xlf" "$(CF?(B" kijuhynbmlopP) - (its-define-hangul "xla" "$(CF@(B" kijuhynbmlopP) - (its-define-hangul "xlq" "$(CFA(B" kijuhynbmlopP) - (its-define-hangul "xlt" "$(CFB(B" kijuhynbmlopOP) - (its-define-hangul "xld" "$(CFC(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vk" "$(CFD(B" - (its-define-hangul "vkr" "$(CFE(B" kijuhynbmlopOP) - (its-define-hangul "vkR" "$(CFF(B" kijuhynbmlopP) - (its-define-hangul "vks" "$(CFG(B" kijuhynbmlopP) - (its-define-hangul "vkf" "$(CFH(B" kijuhynbmlopP - (its-define-hangul "vkfa" "$(CFI(B" kijuhynbmlopP)) - (its-define-hangul "vka" "$(CFJ(B" kijuhynbmlopP) - (its-define-hangul "vkq" "$(CFK(B" kijuhynbmlopP) - (its-define-hangul "vkt" "$(CFL(B" kijuhynbmlopOP) - (its-define-hangul "vkT" "$(CFM(B" kjhynmlop) - (its-define-hangul "vkd" "$(CFN(B" kijuhynbmlopOP) - (its-define-hangul "vkx" "$(CFO(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "vo" "$(CFP(B" - (its-define-hangul "vor" "$(CFQ(B" kijuhynbmlopOP) - (its-define-hangul "vos" "$(CFR(B" kijuhynbmlopP) - (its-define-hangul "vof" "$(CFS(B" kijuhynbmlopP) - (its-define-hangul "voa" "$(CFT(B" kijuhynbmlopP) - (its-define-hangul "voq" "$(CFU(B" kijuhynbmlopP) - (its-define-hangul "vot" "$(CFV(B" kijuhynbmlopOP) - (its-define-hangul "voT" "$(CFW(B" kjhynmlop) - (its-define-hangul "vod" "$(CFX(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vi" "$(CFY(B" - (its-define-hangul "vir" "$(CFZ(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vj" "$(CF[(B" - (its-define-hangul "vjr" "$(CF\(B" kijuhynbmlopOP) - (its-define-hangul "vjs" "$(CF](B" kijuhynbmlopP) - (its-define-hangul "vja" "$(CF_(B" kijuhynbmlopP) - (its-define-hangul "vjq" "$(CF`(B" kijuhynbmlopP) - (its-define-hangul "vjt" "$(CFa(B" kijuhynbmlopOP) - (its-define-hangul "vjT" "$(CFb(B" kjhynmlop) - (its-define-hangul "vjd" "$(CFc(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vp" "$(CFd(B" - (its-define-hangul "vpr" "$(CFe(B" kijuhynbmlopOP) - (its-define-hangul "vps" "$(CFf(B" kijuhynbmlopP) - (its-define-hangul "vpf" "$(CFg(B" kijuhynbmlopP) - (its-define-hangul "vpa" "$(CFh(B" kijuhynbmlopP) - (its-define-hangul "vpq" "$(CFi(B" kijuhynbmlopP) - (its-define-hangul "vpt" "$(CFj(B" kijuhynbmlopOP) - (its-define-hangul "vpd" "$(CFk(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vu" "$(CFl(B" - (its-define-hangul "vus" "$(CFm(B" kijuhynbmlopP) - (its-define-hangul "vuf" "$(CFn(B" kijuhynbmlopP) - (its-define-hangul "vua" "$(CFo(B" kijuhynbmlopP) - (its-define-hangul "vuq" "$(CFp(B" kijuhynbmlopP) - (its-define-hangul "vuT" "$(CFq(B" kjhynmlop) - (its-define-hangul "vud" "$(CFr(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vP" "$(CFs(B" - (its-define-hangul "vPf" "$(CFt(B" kijuhynbmlopP) - (its-define-hangul "vPq" "$(CFu(B" kijuhynbmlopP) - (its-define-hangul "vPt" "$(CFv(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vh" "$(CFw(B" - (its-define-hangul "vhr" "$(CFx(B" kijuhynbmlopOP) - (its-define-hangul "vhs" "$(CFy(B" kijuhynbmlopP) - (its-define-hangul "vhf" "$(CFz(B" kijuhynbmlopP) - (its-define-hangul "vha" "$(CF{(B" kijuhynbmlopP) - (its-define-hangul "vhq" "$(CF|(B" kijuhynbmlopP) - (its-define-hangul "vht" "$(CF}(B" kijuhynbmlopOP) - (its-define-hangul "vhd" "$(CF~(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vhk" "$(CG!(B" - (its-define-hangul "vhkd" "$(CG"(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vhl" "$(CG#(B" - (its-define-hangul "vhls" "$(CG$(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "vy" "$(CG%(B" - (its-define-hangul "vys" "$(CG&(B" kijuhynbmlopP) - (its-define-hangul "vyf" "$(CG'(B" kijuhynbmlopP) - (its-define-hangul "vyq" "$(CG((B" kijuhynbmlopP) - (its-define-hangul "vyt" "$(CG)(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vn" "$(CG*(B" - (its-define-hangul "vnr" "$(CG+(B" kijuhynbmlopOP) - (its-define-hangul "vns" "$(CG,(B" kijuhynbmlopP) - (its-define-hangul "vne" "$(CG-(B" kijuhynbmlopP) - (its-define-hangul "vnf" "$(CG.(B" kijuhynbmlopP - (its-define-hangul "vnfa" "$(CG/(B" kijuhynbmlopP)) - (its-define-hangul "vna" "$(CG0(B" kijuhynbmlopP) - (its-define-hangul "vnq" "$(CG1(B" kijuhynbmlopP) - (its-define-hangul "vnt" "$(CG2(B" kijuhynbmlopOP) - (its-define-hangul "vnd" "$(CG3(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vnj" "$(CG4(B" - (its-define-hangul "vnjd" "$(CG5(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vnl" "$(CG6(B" - (its-define-hangul "vnls" "$(CG7(B" kijuhynbmlopP) - (its-define-hangul "vnlf" "$(CG8(B" kijuhynbmlopP) - (its-define-hangul "vnla" "$(CG9(B" kijuhynbmlopP) - (its-define-hangul "vnlt" "$(CG:(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vb" "$(CG;(B" - (its-define-hangul "vbs" "$(CG<(B" kijuhynbmlopP) - (its-define-hangul "vbf" "$(CG=(B" kijuhynbmlopP) - (its-define-hangul "vba" "$(CG>(B" kijuhynbmlopP) - (its-define-hangul "vbt" "$(CG?(B" kijuhynbmlopOP) - (its-define-hangul "vbd" "$(CG@(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vm" "$(CGA(B" - (its-define-hangul "vms" "$(CGB(B" kijuhynbmlopP) - (its-define-hangul "vmf" "$(CGC(B" kijuhynbmlopP) - (its-define-hangul "vma" "$(CGD(B" kijuhynbmlopP) - (its-define-hangul "vmq" "$(CGE(B" kijuhynbmlopP) - (its-define-hangul "vmt" "$(CGF(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "vl" "$(CGG(B" - (its-define-hangul "vlr" "$(CGH(B" kijuhynbmlopOP) - (its-define-hangul "vls" "$(CGI(B" kijuhynbmlopP) - (its-define-hangul "vlf" "$(CGJ(B" kijuhynbmlopP) - (its-define-hangul "vla" "$(CGK(B" kijuhynbmlopP) - (its-define-hangul "vlq" "$(CGL(B" kijuhynbmlopP) - (its-define-hangul "vlt" "$(CGM(B" kijuhynbmlopOP) - (its-define-hangul "vld" "$(CGN(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gk" "$(CGO(B" - (its-define-hangul "gkr" "$(CGP(B" kijuhynbmlopOP) - (its-define-hangul "gks" "$(CGQ(B" kijuhynbmlopP) - (its-define-hangul "gkf" "$(CGR(B" kijuhynbmlopP - (its-define-hangul "gkfx" "$(CGS(B" kijuhynbmlopP)) - (its-define-hangul "gka" "$(CGT(B" kijuhynbmlopP) - (its-define-hangul "gkq" "$(CGU(B" kijuhynbmlopP) - (its-define-hangul "gkt" "$(CGV(B" kijuhynbmlopOP) - (its-define-hangul "gkd" "$(CGW(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "go" "$(CGX(B" - (its-define-hangul "gor" "$(CGY(B" kijuhynbmlopOP) - (its-define-hangul "gos" "$(CGZ(B" kijuhynbmlopP) - (its-define-hangul "gof" "$(CG[(B" kijuhynbmlopP) - (its-define-hangul "goa" "$(CG\(B" kijuhynbmlopP) - (its-define-hangul "goq" "$(CG](B" kijuhynbmlopP) - (its-define-hangul "got" "$(CG^(B" kijuhynbmlopOP) - (its-define-hangul "goT" "$(CG_(B" kjhynmlop) - (its-define-hangul "god" "$(CG`(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gi" "$(CGa(B" - (its-define-hangul "gid" "$(CGb(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gj" "$(CGc(B" - (its-define-hangul "gjr" "$(CGd(B" kijuhynbmlopOP) - (its-define-hangul "gjs" "$(CGe(B" kijuhynbmlopP) - (its-define-hangul "gjf" "$(CGf(B" kijuhynbmlopP - (its-define-hangul "gjfa" "$(CGg(B" kijuhynbmlopP)) - (its-define-hangul "gja" "$(CGh(B" kijuhynbmlopP) - (its-define-hangul "gjq" "$(CGi(B" kijuhynbmlopP) - (its-define-hangul "gjt" "$(CGj(B" kijuhynbmlopOP) - (its-define-hangul "gjd" "$(CGk(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gp" "$(CGl(B" - (its-define-hangul "gpr" "$(CGm(B" kijuhynbmlopOP) - (its-define-hangul "gps" "$(CGn(B" kijuhynbmlopP) - (its-define-hangul "gpf" "$(CGo(B" kijuhynbmlopP) - (its-define-hangul "gpa" "$(CGp(B" kijuhynbmlopP) - (its-define-hangul "gpq" "$(CGq(B" kijuhynbmlopP) - (its-define-hangul "gpt" "$(CGr(B" kijuhynbmlopOP) - (its-define-hangul "gpd" "$(CGs(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gu" "$(CGt(B" - (its-define-hangul "gur" "$(CGu(B" kijuhynbmlopOP) - (its-define-hangul "gus" "$(CGv(B" kijuhynbmlopP) - (its-define-hangul "guf" "$(CGw(B" kijuhynbmlopP) - (its-define-hangul "gua" "$(CGx(B" kijuhynbmlopP) - (its-define-hangul "guq" "$(CGy(B" kijuhynbmlopP) - (its-define-hangul "gut" "$(CGz(B" kijuhynbmlopOP) - (its-define-hangul "guT" "$(CG{(B" kjhynmlop) - (its-define-hangul "gud" "$(CG|(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gP" "$(CG}(B" - (its-define-hangul "gPs" "$(CG~(B" kijuhynbmlopP) - (its-define-hangul "gPf" "$(CH!(B" kijuhynbmlopP) - (its-define-hangul "gPq" "$(CH"(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "gh" "$(CH#(B" - (its-define-hangul "ghr" "$(CH$(B" kijuhynbmlopOP) - (its-define-hangul "ghs" "$(CH%(B" kijuhynbmlopP) - (its-define-hangul "ghf" "$(CH&(B" kijuhynbmlopP - (its-define-hangul "ghfx" "$(CH'(B" kijuhynbmlopP)) - (its-define-hangul "gha" "$(CH((B" kijuhynbmlopP) - (its-define-hangul "ghq" "$(CH)(B" kijuhynbmlopP) - (its-define-hangul "ght" "$(CH*(B" kijuhynbmlopOP) - (its-define-hangul "ghd" "$(CH+(B" kijuhynbmlopOP) - (its-define-hangul "ghx" "$(CH,(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "ghk" "$(CH-(B" - (its-define-hangul "ghkr" "$(CH.(B" kijuhynbmlopOP) - (its-define-hangul "ghks" "$(CH/(B" kijuhynbmlopP) - (its-define-hangul "ghkf" "$(CH0(B" kijuhynbmlopP) - (its-define-hangul "ghkt" "$(CH1(B" kijuhynbmlopOP) - (its-define-hangul "ghkd" "$(CH2(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gho" "$(CH3(B" - (its-define-hangul "ghor" "$(CH4(B" kijuhynbmlopOP) - (its-define-hangul "ghos" "$(CH5(B" kijuhynbmlopP) - (its-define-hangul "ghot" "$(CH6(B" kijuhynbmlopOP) - (its-define-hangul "ghod" "$(CH7(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "ghl" "$(CH8(B" - (its-define-hangul "ghlr" "$(CH9(B" kijuhynbmlopOP) - (its-define-hangul "ghls" "$(CH:(B" kijuhynbmlopP) - (its-define-hangul "ghlf" "$(CH;(B" kijuhynbmlopP) - (its-define-hangul "ghlq" "$(CH<(B" kijuhynbmlopP) - (its-define-hangul "ghlt" "$(CH=(B" kijuhynbmlopOP) - (its-define-hangul "ghld" "$(CH>(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gy" "$(CH?(B" - (its-define-hangul "gys" "$(CH@(B" kijuhynbmlopP) - (its-define-hangul "gyf" "$(CHA(B" kijuhynbmlopP) - (its-define-hangul "gyq" "$(CHB(B" kijuhynbmlopP) - (its-define-hangul "gyt" "$(CHC(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gn" "$(CHD(B" - (its-define-hangul "gnr" "$(CHE(B" kijuhynbmlopOP) - (its-define-hangul "gns" "$(CHF(B" kijuhynbmlopP) - (its-define-hangul "gnf" "$(CHG(B" kijuhynbmlopP - (its-define-hangul "gnfx" "$(CHH(B" kijuhynbmlopP)) - (its-define-hangul "gna" "$(CHI(B" kijuhynbmlopP) - (its-define-hangul "gnt" "$(CHJ(B" kijuhynbmlopOP) - (its-define-hangul "gnd" "$(CHK(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gnj" "$(CHL(B" - (its-define-hangul "gnjs" "$(CHM(B" kijuhynbmlopP) - (its-define-hangul "gnjf" "$(CHN(B" kijuhynbmlopP) - (its-define-hangul "gnja" "$(CHO(B" kijuhynbmlopP) - (its-define-hangul "gnjd" "$(CHP(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gnp" "$(CHQ(B" - (its-define-hangul "gnpr" "$(CHR(B" kijuhynbmlopOP) - (its-define-hangul "gnps" "$(CHS(B" kijuhynbmlopP) - (its-define-hangul "gnpf" "$(CHT(B" kijuhynbmlopP) - (its-define-hangul "gnpd" "$(CHU(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gnl" "$(CHV(B" - (its-define-hangul "gnlr" "$(CHW(B" kijuhynbmlopOP) - (its-define-hangul "gnls" "$(CHX(B" kijuhynbmlopP) - (its-define-hangul "gnlf" "$(CHY(B" kijuhynbmlopP) - (its-define-hangul "gnla" "$(CHZ(B" kijuhynbmlopP) - (its-define-hangul "gnlq" "$(CH[(B" kijuhynbmlopP) - (its-define-hangul "gnlt" "$(CH\(B" kijuhynbmlopOP) - (its-define-hangul "gnld" "$(CH](B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gb" "$(CH^(B" - (its-define-hangul "gbr" "$(CH_(B" kijuhynbmlopOP) - (its-define-hangul "gbs" "$(CH`(B" kijuhynbmlopP) - (its-define-hangul "gbf" "$(CHa(B" kijuhynbmlopP) - (its-define-hangul "gba" "$(CHb(B" kijuhynbmlopP) - (its-define-hangul "gbt" "$(CHc(B" kijuhynbmlopOP) - (its-define-hangul "gbd" "$(CHd(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gm" "$(CHe(B" - (its-define-hangul "gmr" "$(CHf(B" kijuhynbmlopOP) - (its-define-hangul "gms" "$(CHg(B" kijuhynbmlopP - (its-define-hangul "gmsg" "$(CHh(B" kijuhynbmlopP)) - (its-define-hangul "gme" "$(CHi(B" kijuhynbmlopP) - (its-define-hangul "gmf" "$(CHj(B" kijuhynbmlopP - (its-define-hangul "gmfr" "$(CHk(B" kijuhynbmlopOP)) - (its-define-hangul "gma" "$(CHl(B" kijuhynbmlopP) - (its-define-hangul "gmq" "$(CHm(B" kijuhynbmlopP) - (its-define-hangul "gmt" "$(CHn(B" kijuhynbmlopOP) - (its-define-hangul "gmd" "$(CHo(B" kijuhynbmlopOP) - (its-define-hangul "gmx" "$(CHp(B" kijuhynbmlopP)) - - (its-defrule-hangul-2 "gml" "$(CHq(B" - (its-define-hangul "gmls" "$(CHr(B" kijuhynbmlopP) - (its-define-hangul "gmlf" "$(CHs(B" kijuhynbmlopP) - (its-define-hangul "gmla" "$(CHt(B" kijuhynbmlopP) - (its-define-hangul "gmlq" "$(CHu(B" kijuhynbmlopP) - (its-define-hangul "gmld" "$(CHv(B" kijuhynbmlopOP)) - - (its-defrule-hangul-2 "gl" "$(CHw(B" - (its-define-hangul "glr" "$(CHx(B" kijuhynbmlopOP) - (its-define-hangul "gls" "$(CHy(B" kijuhynbmlopP) - (its-define-hangul "glf" "$(CHz(B" kijuhynbmlopP) - (its-define-hangul "gla" "$(CH{(B" kijuhynbmlopP) - (its-define-hangul "glq" "$(CH|(B" kijuhynbmlopP) - (its-define-hangul "glt" "$(CH}(B" kijuhynbmlopOP) - (its-define-hangul "gld" "$(CH~(B" kijuhynbmlopOP)) + (its-define-hangul-key "r" "$(C$!(B") + (its-define-hangul-key "s" "$(C$$(B") + (its-define-hangul-key "e" "$(C$'(B") + (its-define-hangul-key "f" "$(C$)(B") + (its-define-hangul-key "a" "$(C$1(B") + (its-define-hangul-key "q" "$(C$2(B") + (its-define-hangul-key "t" "$(C$5(B") + (its-define-hangul-key "d" "$(C$7(B") + (its-define-hangul-key "w" "$(C$8(B") + (its-define-hangul-key "c" "$(C$:(B") + (its-define-hangul-key "z" "$(C$;(B") + (its-define-hangul-key "x" "$(C$<(B") + (its-define-hangul-key "v" "$(C$=(B") + (its-define-hangul-key "g" "$(C$>(B") + (its-define-hangul-key "R" "$(C$"(B") + (its-define-hangul-key "E" "$(C$((B") + (its-define-hangul-key "Q" "$(C$3(B") + (its-define-hangul-key "T" "$(C$6(B") + (its-define-hangul-key "W" "$(C$9(B") + + (its-define-hangul-key "k" "$(C$?(B") + (its-define-hangul-key "i" "$(C$A(B") + (its-define-hangul-key "j" "$(C$C(B") + (its-define-hangul-key "u" "$(C$E(B") + (its-define-hangul-key "h" "$(C$G(B") + (its-define-hangul-key "y" "$(C$K(B") + (its-define-hangul-key "n" "$(C$L(B") + (its-define-hangul-key "b" "$(C$P(B") + (its-define-hangul-key "m" "$(C$Q(B") + (its-define-hangul-key "l" "$(C$S(B") + (its-define-hangul-key "o" "$(C$@(B") + (its-define-hangul-key "p" "$(C$D(B") + (its-define-hangul-key "O" "$(C$B(B") + (its-define-hangul-key "P" "$(C$F(B") + + (its-define-hangul + ("$(C$!$?(B" "$(C0!(B") + ("$(C$!$?$!(B" "$(C0"(B") + ("$(C$!$?$$(B" "$(C0#(B") + ("$(C$!$?$'(B" "$(C0$(B") + ("$(C$!$?$)(B" "$(C0%(B") + ("$(C$!$?$)$!(B" "$(C0&(B") + ("$(C$!$?$)$1(B" "$(C0'(B") + ("$(C$!$?$1(B" "$(C0((B") + ("$(C$!$?$2(B" "$(C0)(B") + ("$(C$!$?$2$5(B" "$(C0*(B") + ("$(C$!$?$5(B" "$(C0+(B") + ("$(C$!$?$6(B" "$(C0,(B") + ("$(C$!$?$7(B" "$(C0-(B") + ("$(C$!$?$8(B" "$(C0.(B") + ("$(C$!$?$:(B" "$(C0/(B") + ("$(C$!$?$<(B" "$(C00(B") + ("$(C$!$?$=(B" "$(C01(B") + ("$(C$!$?$>(B" "$(C02(B") + + ("$(C$!$@(B" "$(C03(B") + ("$(C$!$@$!(B" "$(C04(B") + ("$(C$!$@$$(B" "$(C05(B") + ("$(C$!$@$)(B" "$(C06(B") + ("$(C$!$@$1(B" "$(C07(B") + ("$(C$!$@$2(B" "$(C08(B") + ("$(C$!$@$5(B" "$(C09(B") + ("$(C$!$@$6(B" "$(C0:(B") + ("$(C$!$@$7(B" "$(C0;(B") + + ("$(C$!$A(B" "$(C0<(B") + ("$(C$!$A$!(B" "$(C0=(B") + ("$(C$!$A$$(B" "$(C0>(B") + ("$(C$!$A$)(B" "$(C0?(B") + ("$(C$!$A$5(B" "$(C0@(B") + ("$(C$!$A$7(B" "$(C0A(B") + + ("$(C$!$B(B" "$(C0B(B") + ("$(C$!$B$$(B" "$(C0C(B") + ("$(C$!$B$)(B" "$(C0D(B") + + ("$(C$!$C(B" "$(C0E(B") + ("$(C$!$C$!(B" "$(C0F(B") + ("$(C$!$C$$(B" "$(C0G(B") + ("$(C$!$C$'(B" "$(C0H(B") + ("$(C$!$C$)(B" "$(C0I(B") + ("$(C$!$C$)$1(B" "$(C0J(B") + ("$(C$!$C$1(B" "$(C0K(B") + ("$(C$!$C$2(B" "$(C0L(B") + ("$(C$!$C$5(B" "$(C0M(B") + ("$(C$!$C$6(B" "$(C0N(B") + ("$(C$!$C$7(B" "$(C0O(B") + ("$(C$!$C$8(B" "$(C0P(B") + ("$(C$!$C$<(B" "$(C0Q(B") + ("$(C$!$C$=(B" "$(C0R(B") + ("$(C$!$C$>(B" "$(C0S(B") + + ("$(C$!$D(B" "$(C0T(B") + ("$(C$!$D$$(B" "$(C0U(B") + ("$(C$!$D$)(B" "$(C0V(B") + ("$(C$!$D$1(B" "$(C0W(B") + ("$(C$!$D$2(B" "$(C0X(B") + ("$(C$!$D$5(B" "$(C0Y(B") + ("$(C$!$D$6(B" "$(C0Z(B") + ("$(C$!$D$7(B" "$(C0[(B") + + ("$(C$!$E(B" "$(C0\(B") + ("$(C$!$E$!(B" "$(C0](B") + ("$(C$!$E$"(B" "$(C0^(B") + ("$(C$!$E$$(B" "$(C0_(B") + ("$(C$!$E$'(B" "$(C0`(B") + ("$(C$!$E$)(B" "$(C0a(B") + ("$(C$!$E$1(B" "$(C0b(B") + ("$(C$!$E$2(B" "$(C0c(B") + ("$(C$!$E$5(B" "$(C0d(B") + ("$(C$!$E$6(B" "$(C0e(B") + ("$(C$!$E$7(B" "$(C0f(B") + ("$(C$!$E$<(B" "$(C0g(B") + + ("$(C$!$F(B" "$(C0h(B") + ("$(C$!$F$$(B" "$(C0i(B") + ("$(C$!$F$)(B" "$(C0j(B") + ("$(C$!$F$2(B" "$(C0k(B") + ("$(C$!$F$5(B" "$(C0l(B") + + ("$(C$!$G(B" "$(C0m(B") + ("$(C$!$G$!(B" "$(C0n(B") + ("$(C$!$G$$(B" "$(C0o(B") + ("$(C$!$G$'(B" "$(C0p(B") + ("$(C$!$G$)(B" "$(C0q(B") + ("$(C$!$G$)$1(B" "$(C0r(B") + ("$(C$!$G$)$5(B" "$(C0s(B") + ("$(C$!$G$)$>(B" "$(C0t(B") + ("$(C$!$G$1(B" "$(C0u(B") + ("$(C$!$G$2(B" "$(C0v(B") + ("$(C$!$G$5(B" "$(C0w(B") + ("$(C$!$G$7(B" "$(C0x(B") + ("$(C$!$G$8(B" "$(C0y(B") + + ("$(C$!$G$?(B" "$(C0z(B") + ("$(C$!$G$?$!(B" "$(C0{(B") + ("$(C$!$G$?$$(B" "$(C0|(B") + ("$(C$!$G$?$)(B" "$(C0}(B") + ("$(C$!$G$?$)$1(B" "$(C0~(B") + ("$(C$!$G$?$1(B" "$(C1!(B") + ("$(C$!$G$?$2(B" "$(C1"(B") + ("$(C$!$G$?$5(B" "$(C1#(B") + ("$(C$!$G$?$7(B" "$(C1$(B") + + ("$(C$!$G$@(B" "$(C1%(B") + ("$(C$!$G$@$$(B" "$(C1&(B") + ("$(C$!$G$@$)(B" "$(C1'(B") + ("$(C$!$G$@$2(B" "$(C1((B") + ("$(C$!$G$@$6(B" "$(C1)(B") + ("$(C$!$G$@$7(B" "$(C1*(B") + + ("$(C$!$G$S(B" "$(C1+(B") + ("$(C$!$G$S$!(B" "$(C1,(B") + ("$(C$!$G$S$$(B" "$(C1-(B") + ("$(C$!$G$S$)(B" "$(C1.(B") + ("$(C$!$G$S$1(B" "$(C1/(B") + ("$(C$!$G$S$2(B" "$(C10(B") + ("$(C$!$G$S$5(B" "$(C11(B") + ("$(C$!$G$S$7(B" "$(C12(B") + + ("$(C$!$K(B" "$(C13(B") + ("$(C$!$K$$(B" "$(C14(B") + ("$(C$!$K$)(B" "$(C15(B") + ("$(C$!$K$2(B" "$(C16(B") + ("$(C$!$K$5(B" "$(C17(B") + + ("$(C$!$L(B" "$(C18(B") + ("$(C$!$L$!(B" "$(C19(B") + ("$(C$!$L$$(B" "$(C1:(B") + ("$(C$!$L$'(B" "$(C1;(B") + ("$(C$!$L$)(B" "$(C1<(B") + ("$(C$!$L$)$!(B" "$(C1=(B") + ("$(C$!$L$)$1(B" "$(C1>(B") + ("$(C$!$L$)$>(B" "$(C1?(B") + ("$(C$!$L$1(B" "$(C1@(B") + ("$(C$!$L$2(B" "$(C1A(B") + ("$(C$!$L$5(B" "$(C1B(B") + ("$(C$!$L$7(B" "$(C1C(B") + ("$(C$!$L$8(B" "$(C1D(B") + + ("$(C$!$L$C(B" "$(C1E(B") + ("$(C$!$L$C$!(B" "$(C1F(B") + ("$(C$!$L$C$$(B" "$(C1G(B") + ("$(C$!$L$C$)(B" "$(C1H(B") + ("$(C$!$L$C$6(B" "$(C1I(B") + ("$(C$!$L$C$7(B" "$(C1J(B") + + ("$(C$!$L$D(B" "$(C1K(B") + ("$(C$!$L$D$5(B" "$(C1L(B") + + ("$(C$!$L$S(B" "$(C1M(B") + ("$(C$!$L$S$!(B" "$(C1N(B") + ("$(C$!$L$S$$(B" "$(C1O(B") + ("$(C$!$L$S$)(B" "$(C1P(B") + ("$(C$!$L$S$1(B" "$(C1Q(B") + ("$(C$!$L$S$2(B" "$(C1R(B") + ("$(C$!$L$S$5(B" "$(C1S(B") + + ("$(C$!$P(B" "$(C1T(B") + ("$(C$!$P$$(B" "$(C1U(B") + ("$(C$!$P$)(B" "$(C1V(B") + + ("$(C$!$Q(B" "$(C1W(B") + ("$(C$!$Q$!(B" "$(C1X(B") + ("$(C$!$Q$$(B" "$(C1Y(B") + ("$(C$!$Q$'(B" "$(C1Z(B") + ("$(C$!$Q$)(B" "$(C1[(B") + ("$(C$!$Q$)$!(B" "$(C1\(B") + ("$(C$!$Q$1(B" "$(C1](B") + ("$(C$!$Q$2(B" "$(C1^(B") + ("$(C$!$Q$5(B" "$(C1_(B") + ("$(C$!$Q$7(B" "$(C1`(B") + + ("$(C$!$Q$S(B" "$(C1a(B") + + ("$(C$!$S(B" "$(C1b(B") + ("$(C$!$S$!(B" "$(C1c(B") + ("$(C$!$S$$(B" "$(C1d(B") + ("$(C$!$S$'(B" "$(C1e(B") + ("$(C$!$S$)(B" "$(C1f(B") + ("$(C$!$S$)$1(B" "$(C1g(B") + ("$(C$!$S$1(B" "$(C1h(B") + ("$(C$!$S$2(B" "$(C1i(B") + ("$(C$!$S$5(B" "$(C1j(B") + ("$(C$!$S$7(B" "$(C1k(B") + ("$(C$!$S$8(B" "$(C1l(B") + ("$(C$!$S$=(B" "$(C1m(B") + + ("$(C$"$?(B" "$(C1n(B") + ("$(C$"$?$!(B" "$(C1o(B") + ("$(C$"$?$"(B" "$(C1p(B") + ("$(C$"$?$$(B" "$(C1q(B") + ("$(C$"$?$)(B" "$(C1r(B") + ("$(C$"$?$)$1(B" "$(C1s(B") + ("$(C$"$?$1(B" "$(C1t(B") + ("$(C$"$?$2(B" "$(C1u(B") + ("$(C$"$?$5(B" "$(C1v(B") + ("$(C$"$?$6(B" "$(C1w(B") + ("$(C$"$?$7(B" "$(C1x(B") + ("$(C$"$?$<(B" "$(C1y(B") + + ("$(C$"$@(B" "$(C1z(B") + ("$(C$"$@$!(B" "$(C1{(B") + ("$(C$"$@$$(B" "$(C1|(B") + ("$(C$"$@$)(B" "$(C1}(B") + ("$(C$"$@$1(B" "$(C1~(B") + ("$(C$"$@$2(B" "$(C2!(B") + ("$(C$"$@$5(B" "$(C2"(B") + ("$(C$"$@$6(B" "$(C2#(B") + ("$(C$"$@$7(B" "$(C2$(B") + + ("$(C$"$A(B" "$(C2%(B") + ("$(C$"$A$!(B" "$(C2&(B") + ("$(C$"$A$)(B" "$(C2'(B") + + ("$(C$"$C(B" "$(C2((B") + ("$(C$"$C$!(B" "$(C2)(B") + ("$(C$"$C$"(B" "$(C2*(B") + ("$(C$"$C$$(B" "$(C2+(B") + ("$(C$"$C$)(B" "$(C2,(B") + ("$(C$"$C$1(B" "$(C2-(B") + ("$(C$"$C$2(B" "$(C2.(B") + ("$(C$"$C$5(B" "$(C2/(B") + ("$(C$"$C$6(B" "$(C20(B") + ("$(C$"$C$7(B" "$(C21(B") + + ("$(C$"$D(B" "$(C22(B") + ("$(C$"$D$!(B" "$(C23(B") + ("$(C$"$D$$(B" "$(C24(B") + ("$(C$"$D$1(B" "$(C25(B") + ("$(C$"$D$5(B" "$(C26(B") + ("$(C$"$D$7(B" "$(C27(B") + + ("$(C$"$E(B" "$(C28(B") + ("$(C$"$E$$(B" "$(C29(B") + ("$(C$"$E$)(B" "$(C2:(B") + ("$(C$"$E$5(B" "$(C2;(B") + ("$(C$"$E$6(B" "$(C2<(B") + ("$(C$"$E$<(B" "$(C2=(B") + + ("$(C$"$F(B" "$(C2>(B") + + ("$(C$"$G(B" "$(C2?(B") + ("$(C$"$G$!(B" "$(C2@(B") + ("$(C$"$G$$(B" "$(C2A(B") + ("$(C$"$G$$$>(B" "$(C2B(B") + ("$(C$"$G$)(B" "$(C2C(B") + ("$(C$"$G$1(B" "$(C2D(B") + ("$(C$"$G$2(B" "$(C2E(B") + ("$(C$"$G$5(B" "$(C2F(B") + ("$(C$"$G$7(B" "$(C2G(B") + ("$(C$"$G$8(B" "$(C2H(B") + ("$(C$"$G$:(B" "$(C2I(B") + + ("$(C$"$G$?(B" "$(C2J(B") + ("$(C$"$G$?$!(B" "$(C2K(B") + ("$(C$"$G$?$)(B" "$(C2L(B") + ("$(C$"$G$?$6(B" "$(C2M(B") + ("$(C$"$G$?$7(B" "$(C2N(B") + + ("$(C$"$G$@(B" "$(C2O(B") + ("$(C$"$G$@$!(B" "$(C2P(B") + ("$(C$"$G$@$7(B" "$(C2Q(B") + + ("$(C$"$G$S(B" "$(C2R(B") + ("$(C$"$G$S$$(B" "$(C2S(B") + ("$(C$"$G$S$)(B" "$(C2T(B") + ("$(C$"$G$S$1(B" "$(C2U(B") + ("$(C$"$G$S$2(B" "$(C2V(B") + ("$(C$"$G$S$7(B" "$(C2W(B") + + ("$(C$"$K(B" "$(C2X(B") + + ("$(C$"$L(B" "$(C2Y(B") + ("$(C$"$L$!(B" "$(C2Z(B") + ("$(C$"$L$$(B" "$(C2[(B") + ("$(C$"$L$)(B" "$(C2\(B") + ("$(C$"$L$)$>(B" "$(C2](B") + ("$(C$"$L$1(B" "$(C2^(B") + ("$(C$"$L$2(B" "$(C2_(B") + ("$(C$"$L$5(B" "$(C2`(B") + ("$(C$"$L$7(B" "$(C2a(B") + ("$(C$"$L$8(B" "$(C2b(B") + + ("$(C$"$L$C(B" "$(C2c(B") + ("$(C$"$L$C$)(B" "$(C2d(B") + ("$(C$"$L$C$6(B" "$(C2e(B") + ("$(C$"$L$C$7(B" "$(C2f(B") + + ("$(C$"$L$D(B" "$(C2g(B") + ("$(C$"$L$D$!(B" "$(C2h(B") + ("$(C$"$L$D$$(B" "$(C2i(B") + ("$(C$"$L$D$)(B" "$(C2j(B") + ("$(C$"$L$D$1(B" "$(C2k(B") + ("$(C$"$L$D$2(B" "$(C2l(B") + ("$(C$"$L$D$6(B" "$(C2m(B") + + ("$(C$"$L$S(B" "$(C2n(B") + ("$(C$"$L$S$$(B" "$(C2o(B") + ("$(C$"$L$S$)(B" "$(C2p(B") + ("$(C$"$L$S$1(B" "$(C2q(B") + ("$(C$"$L$S$2(B" "$(C2r(B") + + ("$(C$"$P(B" "$(C2s(B") + + ("$(C$"$Q(B" "$(C2t(B") + ("$(C$"$Q$!(B" "$(C2u(B") + ("$(C$"$Q$$(B" "$(C2v(B") + ("$(C$"$Q$$$>(B" "$(C2w(B") + ("$(C$"$Q$)(B" "$(C2x(B") + ("$(C$"$Q$)$1(B" "$(C2y(B") + ("$(C$"$Q$)$>(B" "$(C2z(B") + ("$(C$"$Q$1(B" "$(C2{(B") + ("$(C$"$Q$2(B" "$(C2|(B") + ("$(C$"$Q$5(B" "$(C2}(B") + ("$(C$"$Q$7(B" "$(C2~(B") + ("$(C$"$Q$<(B" "$(C3!(B") + + ("$(C$"$S(B" "$(C3"(B") + ("$(C$"$S$!(B" "$(C3#(B") + ("$(C$"$S$$(B" "$(C3$(B") + ("$(C$"$S$)(B" "$(C3%(B") + ("$(C$"$S$1(B" "$(C3&(B") + ("$(C$"$S$2(B" "$(C3'(B") + ("$(C$"$S$5(B" "$(C3((B") + ("$(C$"$S$7(B" "$(C3)(B") + + ("$(C$$$?(B" "$(C3*(B") + ("$(C$$$?$!(B" "$(C3+(B") + ("$(C$$$?$"(B" "$(C3,(B") + ("$(C$$$?$$(B" "$(C3-(B") + ("$(C$$$?$'(B" "$(C3.(B") + ("$(C$$$?$)(B" "$(C3/(B") + ("$(C$$$?$)$!(B" "$(C30(B") + ("$(C$$$?$)$1(B" "$(C31(B") + ("$(C$$$?$1(B" "$(C32(B") + ("$(C$$$?$2(B" "$(C33(B") + ("$(C$$$?$5(B" "$(C34(B") + ("$(C$$$?$6(B" "$(C35(B") + ("$(C$$$?$7(B" "$(C36(B") + ("$(C$$$?$8(B" "$(C37(B") + ("$(C$$$?$:(B" "$(C38(B") + ("$(C$$$?$<(B" "$(C39(B") + ("$(C$$$?$>(B" "$(C3:(B") + + ("$(C$$$@(B" "$(C3;(B") + ("$(C$$$@$!(B" "$(C3<(B") + ("$(C$$$@$$(B" "$(C3=(B") + ("$(C$$$@$)(B" "$(C3>(B") + ("$(C$$$@$1(B" "$(C3?(B") + ("$(C$$$@$2(B" "$(C3@(B") + ("$(C$$$@$5(B" "$(C3A(B") + ("$(C$$$@$6(B" "$(C3B(B") + ("$(C$$$@$7(B" "$(C3C(B") + + ("$(C$$$A(B" "$(C3D(B") + ("$(C$$$A$!(B" "$(C3E(B") + ("$(C$$$A$$(B" "$(C3F(B") + ("$(C$$$A$)(B" "$(C3G(B") + ("$(C$$$A$1(B" "$(C3H(B") + ("$(C$$$A$7(B" "$(C3I(B") + + ("$(C$$$C(B" "$(C3J(B") + ("$(C$$$C$!(B" "$(C3K(B") + ("$(C$$$C$!$5(B" "$(C3L(B") + ("$(C$$$C$$(B" "$(C3M(B") + ("$(C$$$C$)(B" "$(C3N(B") + ("$(C$$$C$)$1(B" "$(C3O(B") + ("$(C$$$C$)$2(B" "$(C3P(B") + ("$(C$$$C$1(B" "$(C3Q(B") + ("$(C$$$C$2(B" "$(C3R(B") + ("$(C$$$C$5(B" "$(C3S(B") + ("$(C$$$C$6(B" "$(C3T(B") + ("$(C$$$C$7(B" "$(C3U(B") + ("$(C$$$C$>(B" "$(C3V(B") + + ("$(C$$$D(B" "$(C3W(B") + ("$(C$$$D$!(B" "$(C3X(B") + ("$(C$$$D$$(B" "$(C3Y(B") + ("$(C$$$D$)(B" "$(C3Z(B") + ("$(C$$$D$1(B" "$(C3[(B") + ("$(C$$$D$2(B" "$(C3\(B") + ("$(C$$$D$5(B" "$(C3](B") + ("$(C$$$D$6(B" "$(C3^(B") + ("$(C$$$D$7(B" "$(C3_(B") + + ("$(C$$$E(B" "$(C3`(B") + ("$(C$$$E$!(B" "$(C3a(B") + ("$(C$$$E$$(B" "$(C3b(B") + ("$(C$$$E$)(B" "$(C3c(B") + ("$(C$$$E$1(B" "$(C3d(B") + ("$(C$$$E$2(B" "$(C3e(B") + ("$(C$$$E$6(B" "$(C3f(B") + ("$(C$$$E$7(B" "$(C3g(B") + ("$(C$$$E$;(B" "$(C3h(B") + + ("$(C$$$F(B" "$(C3i(B") + ("$(C$$$F$$(B" "$(C3j(B") + + ("$(C$$$G(B" "$(C3k(B") + ("$(C$$$G$!(B" "$(C3l(B") + ("$(C$$$G$$(B" "$(C3m(B") + ("$(C$$$G$)(B" "$(C3n(B") + ("$(C$$$G$)$1(B" "$(C3o(B") + ("$(C$$$G$1(B" "$(C3p(B") + ("$(C$$$G$2(B" "$(C3q(B") + ("$(C$$$G$5(B" "$(C3r(B") + ("$(C$$$G$7(B" "$(C3s(B") + ("$(C$$$G$=(B" "$(C3t(B") + ("$(C$$$G$>(B" "$(C3u(B") + + ("$(C$$$G$?(B" "$(C3v(B") + ("$(C$$$G$?$$(B" "$(C3w(B") + ("$(C$$$G$?$)(B" "$(C3x(B") + ("$(C$$$G$?$6(B" "$(C3y(B") + + ("$(C$$$G$S(B" "$(C3z(B") + ("$(C$$$G$S$$(B" "$(C3{(B") + ("$(C$$$G$S$)(B" "$(C3|(B") + ("$(C$$$G$S$1(B" "$(C3}(B") + ("$(C$$$G$S$2(B" "$(C3~(B") + ("$(C$$$G$S$5(B" "$(C4!(B") + + ("$(C$$$K(B" "$(C4"(B") + ("$(C$$$K$!(B" "$(C4#(B") + ("$(C$$$K$$(B" "$(C4$(B") + ("$(C$$$K$)(B" "$(C4%(B") + ("$(C$$$K$2(B" "$(C4&(B") + ("$(C$$$K$5(B" "$(C4'(B") + ("$(C$$$K$7(B" "$(C4((B") + + ("$(C$$$L(B" "$(C4)(B") + ("$(C$$$L$!(B" "$(C4*(B") + ("$(C$$$L$$(B" "$(C4+(B") + ("$(C$$$L$'(B" "$(C4,(B") + ("$(C$$$L$)(B" "$(C4-(B") + ("$(C$$$L$1(B" "$(C4.(B") + ("$(C$$$L$2(B" "$(C4/(B") + ("$(C$$$L$5(B" "$(C40(B") + ("$(C$$$L$7(B" "$(C41(B") + + ("$(C$$$L$C(B" "$(C42(B") + ("$(C$$$L$C$6(B" "$(C43(B") + + ("$(C$$$L$D(B" "$(C44(B") + + ("$(C$$$L$S(B" "$(C45(B") + ("$(C$$$L$S$$(B" "$(C46(B") + ("$(C$$$L$S$)(B" "$(C47(B") + ("$(C$$$L$S$1(B" "$(C48(B") + ("$(C$$$L$S$2(B" "$(C49(B") + + ("$(C$$$P(B" "$(C4:(B") + ("$(C$$$P$!(B" "$(C4;(B") + ("$(C$$$P$)(B" "$(C4<(B") + ("$(C$$$P$1(B" "$(C4=(B") + ("$(C$$$P$2(B" "$(C4>(B") + ("$(C$$$P$7(B" "$(C4?(B") + + ("$(C$$$Q(B" "$(C4@(B") + ("$(C$$$Q$!(B" "$(C4A(B") + ("$(C$$$Q$$(B" "$(C4B(B") + ("$(C$$$Q$)(B" "$(C4C(B") + ("$(C$$$Q$)$!(B" "$(C4D(B") + ("$(C$$$Q$)$1(B" "$(C4E(B") + ("$(C$$$Q$1(B" "$(C4F(B") + ("$(C$$$Q$2(B" "$(C4G(B") + ("$(C$$$Q$5(B" "$(C4H(B") + ("$(C$$$Q$7(B" "$(C4I(B") + ("$(C$$$Q$8(B" "$(C4J(B") + ("$(C$$$Q$=(B" "$(C4K(B") + + ("$(C$$$Q$S(B" "$(C4L(B") + ("$(C$$$Q$S$$(B" "$(C4M(B") + ("$(C$$$Q$S$)(B" "$(C4N(B") + + ("$(C$$$S(B" "$(C4O(B") + ("$(C$$$S$!(B" "$(C4P(B") + ("$(C$$$S$$(B" "$(C4Q(B") + ("$(C$$$S$)(B" "$(C4R(B") + ("$(C$$$S$)$1(B" "$(C4S(B") + ("$(C$$$S$1(B" "$(C4T(B") + ("$(C$$$S$2(B" "$(C4U(B") + ("$(C$$$S$5(B" "$(C4V(B") + ("$(C$$$S$7(B" "$(C4W(B") + ("$(C$$$S$=(B" "$(C4X(B") + + ("$(C$'$?(B" "$(C4Y(B") + ("$(C$'$?$!(B" "$(C4Z(B") + ("$(C$'$?$"(B" "$(C4[(B") + ("$(C$'$?$$(B" "$(C4\(B") + ("$(C$'$?$'(B" "$(C4](B") + ("$(C$'$?$)(B" "$(C4^(B") + ("$(C$'$?$)$!(B" "$(C4_(B") + ("$(C$'$?$)$1(B" "$(C4`(B") + ("$(C$'$?$)$2(B" "$(C4a(B") + ("$(C$'$?$)$>(B" "$(C4b(B") + ("$(C$'$?$1(B" "$(C4c(B") + ("$(C$'$?$2(B" "$(C4d(B") + ("$(C$'$?$5(B" "$(C4e(B") + ("$(C$'$?$6(B" "$(C4f(B") + ("$(C$'$?$7(B" "$(C4g(B") + ("$(C$'$?$8(B" "$(C4h(B") + ("$(C$'$?$:(B" "$(C4i(B") + ("$(C$'$?$>(B" "$(C4j(B") + + ("$(C$'$@(B" "$(C4k(B") + ("$(C$'$@$!(B" "$(C4l(B") + ("$(C$'$@$$(B" "$(C4m(B") + ("$(C$'$@$)(B" "$(C4n(B") + ("$(C$'$@$1(B" "$(C4o(B") + ("$(C$'$@$2(B" "$(C4p(B") + ("$(C$'$@$5(B" "$(C4q(B") + ("$(C$'$@$6(B" "$(C4r(B") + ("$(C$'$@$7(B" "$(C4s(B") + + ("$(C$'$A(B" "$(C4t(B") + + ("$(C$'$C(B" "$(C4u(B") + ("$(C$'$C$!(B" "$(C4v(B") + ("$(C$'$C$"(B" "$(C4w(B") + ("$(C$'$C$$(B" "$(C4x(B") + ("$(C$'$C$'(B" "$(C4y(B") + ("$(C$'$C$)(B" "$(C4z(B") + ("$(C$'$C$)$1(B" "$(C4{(B") + ("$(C$'$C$)$2(B" "$(C4|(B") + ("$(C$'$C$1(B" "$(C4}(B") + ("$(C$'$C$2(B" "$(C4~(B") + ("$(C$'$C$5(B" "$(C5!(B") + ("$(C$'$C$7(B" "$(C5"(B") + ("$(C$'$C$:(B" "$(C5#(B") + ("$(C$'$C$=(B" "$(C5$(B") + + ("$(C$'$D(B" "$(C5%(B") + ("$(C$'$D$!(B" "$(C5&(B") + ("$(C$'$D$$(B" "$(C5'(B") + ("$(C$'$D$)(B" "$(C5((B") + ("$(C$'$D$1(B" "$(C5)(B") + ("$(C$'$D$2(B" "$(C5*(B") + ("$(C$'$D$5(B" "$(C5+(B") + ("$(C$'$D$6(B" "$(C5,(B") + ("$(C$'$D$7(B" "$(C5-(B") + + ("$(C$'$E(B" "$(C5.(B") + ("$(C$'$E$$(B" "$(C5/(B") + ("$(C$'$E$)(B" "$(C50(B") + ("$(C$'$E$6(B" "$(C51(B") + ("$(C$'$E$7(B" "$(C52(B") + + ("$(C$'$F(B" "$(C53(B") + ("$(C$'$F$$(B" "$(C54(B") + + ("$(C$'$G(B" "$(C55(B") + ("$(C$'$G$!(B" "$(C56(B") + ("$(C$'$G$$(B" "$(C57(B") + ("$(C$'$G$'(B" "$(C58(B") + ("$(C$'$G$)(B" "$(C59(B") + ("$(C$'$G$)$1(B" "$(C5:(B") + ("$(C$'$G$)$5(B" "$(C5;(B") + ("$(C$'$G$1(B" "$(C5<(B") + ("$(C$'$G$2(B" "$(C5=(B") + ("$(C$'$G$5(B" "$(C5>(B") + ("$(C$'$G$7(B" "$(C5?(B") + ("$(C$'$G$:(B" "$(C5@(B") + ("$(C$'$G$<(B" "$(C5A(B") + + ("$(C$'$G$?(B" "$(C5B(B") + ("$(C$'$G$?$$(B" "$(C5C(B") + ("$(C$'$G$?$)(B" "$(C5D(B") + + ("$(C$'$G$@(B" "$(C5E(B") + ("$(C$'$G$@$6(B" "$(C5F(B") + + ("$(C$'$G$S(B" "$(C5G(B") + ("$(C$'$G$S$$(B" "$(C5H(B") + ("$(C$'$G$S$)(B" "$(C5I(B") + ("$(C$'$G$S$1(B" "$(C5J(B") + ("$(C$'$G$S$2(B" "$(C5K(B") + ("$(C$'$G$S$5(B" "$(C5L(B") + + ("$(C$'$K(B" "$(C5M(B") + + ("$(C$'$L(B" "$(C5N(B") + ("$(C$'$L$!(B" "$(C5O(B") + ("$(C$'$L$$(B" "$(C5P(B") + ("$(C$'$L$)(B" "$(C5Q(B") + ("$(C$'$L$1(B" "$(C5R(B") + ("$(C$'$L$2(B" "$(C5S(B") + ("$(C$'$L$5(B" "$(C5T(B") + ("$(C$'$L$7(B" "$(C5U(B") + + ("$(C$'$L$C(B" "$(C5V(B") + ("$(C$'$L$C$6(B" "$(C5W(B") + + ("$(C$'$L$D(B" "$(C5X(B") + ("$(C$'$L$D$7(B" "$(C5Y(B") + + ("$(C$'$L$S(B" "$(C5Z(B") + ("$(C$'$L$S$$(B" "$(C5[(B") + ("$(C$'$L$S$)(B" "$(C5\(B") + ("$(C$'$L$S$2(B" "$(C5](B") + ("$(C$'$L$S$5(B" "$(C5^(B") + ("$(C$'$L$S$7(B" "$(C5_(B") + + ("$(C$'$P(B" "$(C5`(B") + ("$(C$'$P$$(B" "$(C5a(B") + ("$(C$'$P$)(B" "$(C5b(B") + ("$(C$'$P$1(B" "$(C5c(B") + ("$(C$'$P$7(B" "$(C5d(B") + + ("$(C$'$Q(B" "$(C5e(B") + ("$(C$'$Q$!(B" "$(C5f(B") + ("$(C$'$Q$$(B" "$(C5g(B") + ("$(C$'$Q$'(B" "$(C5h(B") + ("$(C$'$Q$)(B" "$(C5i(B") + ("$(C$'$Q$)$1(B" "$(C5j(B") + ("$(C$'$Q$1(B" "$(C5k(B") + ("$(C$'$Q$2(B" "$(C5l(B") + ("$(C$'$Q$5(B" "$(C5m(B") + ("$(C$'$Q$7(B" "$(C5n(B") + + ("$(C$'$Q$S(B" "$(C5o(B") + + ("$(C$'$S(B" "$(C5p(B") + ("$(C$'$S$!(B" "$(C5q(B") + ("$(C$'$S$$(B" "$(C5r(B") + ("$(C$'$S$'(B" "$(C5s(B") + ("$(C$'$S$)(B" "$(C5t(B") + ("$(C$'$S$1(B" "$(C5u(B") + ("$(C$'$S$2(B" "$(C5v(B") + ("$(C$'$S$5(B" "$(C5w(B") + ("$(C$'$S$6(B" "$(C5x(B") + ("$(C$'$S$7(B" "$(C5y(B") + ("$(C$'$S$8(B" "$(C5z(B") + + ("$(C$($?(B" "$(C5{(B") + ("$(C$($?$!(B" "$(C5|(B") + ("$(C$($?$$(B" "$(C5}(B") + ("$(C$($?$)(B" "$(C5~(B") + ("$(C$($?$1(B" "$(C6!(B") + ("$(C$($?$2(B" "$(C6"(B") + ("$(C$($?$5(B" "$(C6#(B") + ("$(C$($?$6(B" "$(C6$(B") + ("$(C$($?$7(B" "$(C6%(B") + ("$(C$($?$>(B" "$(C6&(B") + + ("$(C$($@(B" "$(C6'(B") + ("$(C$($@$!(B" "$(C6((B") + ("$(C$($@$$(B" "$(C6)(B") + ("$(C$($@$)(B" "$(C6*(B") + ("$(C$($@$1(B" "$(C6+(B") + ("$(C$($@$2(B" "$(C6,(B") + ("$(C$($@$5(B" "$(C6-(B") + ("$(C$($@$6(B" "$(C6.(B") + ("$(C$($@$7(B" "$(C6/(B") + + ("$(C$($C(B" "$(C60(B") + ("$(C$($C$!(B" "$(C61(B") + ("$(C$($C$$(B" "$(C62(B") + ("$(C$($C$)(B" "$(C63(B") + ("$(C$($C$)$1(B" "$(C64(B") + ("$(C$($C$)$2(B" "$(C65(B") + ("$(C$($C$1(B" "$(C66(B") + ("$(C$($C$2(B" "$(C67(B") + ("$(C$($C$5(B" "$(C68(B") + ("$(C$($C$6(B" "$(C69(B") + ("$(C$($C$7(B" "$(C6:(B") + ("$(C$($C$>(B" "$(C6;(B") + + ("$(C$($D(B" "$(C6<(B") + ("$(C$($D$!(B" "$(C6=(B") + ("$(C$($D$$(B" "$(C6>(B") + ("$(C$($D$)(B" "$(C6?(B") + ("$(C$($D$1(B" "$(C6@(B") + ("$(C$($D$2(B" "$(C6A(B") + ("$(C$($D$5(B" "$(C6B(B") + ("$(C$($D$6(B" "$(C6C(B") + ("$(C$($D$7(B" "$(C6D(B") + + ("$(C$($E(B" "$(C6E(B") + ("$(C$($E$6(B" "$(C6F(B") + + ("$(C$($G(B" "$(C6G(B") + ("$(C$($G$!(B" "$(C6H(B") + ("$(C$($G$$(B" "$(C6I(B") + ("$(C$($G$)(B" "$(C6J(B") + ("$(C$($G$7(B" "$(C6K(B") + + ("$(C$($G$?(B" "$(C6L(B") + ("$(C$($G$?$)(B" "$(C6M(B") + + ("$(C$($G$@(B" "$(C6N(B") + + ("$(C$($G$S(B" "$(C6O(B") + ("$(C$($G$S$$(B" "$(C6P(B") + + ("$(C$($L(B" "$(C6Q(B") + ("$(C$($L$!(B" "$(C6R(B") + ("$(C$($L$$(B" "$(C6S(B") + ("$(C$($L$)(B" "$(C6T(B") + ("$(C$($L$)$>(B" "$(C6U(B") + ("$(C$($L$1(B" "$(C6V(B") + ("$(C$($L$7(B" "$(C6W(B") + + ("$(C$($L$D(B" "$(C6X(B") + + ("$(C$($L$S(B" "$(C6Y(B") + ("$(C$($L$S$$(B" "$(C6Z(B") + ("$(C$($L$S$)(B" "$(C6[(B") + ("$(C$($L$S$1(B" "$(C6\(B") + ("$(C$($L$S$2(B" "$(C6](B") + ("$(C$($L$S$7(B" "$(C6^(B") + + ("$(C$($Q(B" "$(C6_(B") + ("$(C$($Q$!(B" "$(C6`(B") + ("$(C$($Q$$(B" "$(C6a(B") + ("$(C$($Q$'(B" "$(C6b(B") + ("$(C$($Q$)(B" "$(C6c(B") + ("$(C$($Q$1(B" "$(C6d(B") + ("$(C$($Q$2(B" "$(C6e(B") + ("$(C$($Q$5(B" "$(C6f(B") + + ("$(C$($Q$S(B" "$(C6g(B") + ("$(C$($Q$S$$(B" "$(C6h(B") + ("$(C$($Q$S$)(B" "$(C6i(B") + ("$(C$($Q$S$1(B" "$(C6j(B") + ("$(C$($Q$S$2(B" "$(C6k(B") + + ("$(C$($S(B" "$(C6l(B") + ("$(C$($S$$(B" "$(C6m(B") + ("$(C$($S$)(B" "$(C6n(B") + ("$(C$($S$1(B" "$(C6o(B") + ("$(C$($S$2(B" "$(C6p(B") + ("$(C$($S$5(B" "$(C6q(B") + ("$(C$($S$7(B" "$(C6r(B") + + ("$(C$)$?(B" "$(C6s(B") + ("$(C$)$?$!(B" "$(C6t(B") + ("$(C$)$?$$(B" "$(C6u(B") + ("$(C$)$?$)(B" "$(C6v(B") + ("$(C$)$?$1(B" "$(C6w(B") + ("$(C$)$?$2(B" "$(C6x(B") + ("$(C$)$?$5(B" "$(C6y(B") + ("$(C$)$?$6(B" "$(C6z(B") + ("$(C$)$?$7(B" "$(C6{(B") + ("$(C$)$?$8(B" "$(C6|(B") + ("$(C$)$?$=(B" "$(C6}(B") + ("$(C$)$?$>(B" "$(C6~(B") + + ("$(C$)$@(B" "$(C7!(B") + ("$(C$)$@$!(B" "$(C7"(B") + ("$(C$)$@$$(B" "$(C7#(B") + ("$(C$)$@$)(B" "$(C7$(B") + ("$(C$)$@$1(B" "$(C7%(B") + ("$(C$)$@$2(B" "$(C7&(B") + ("$(C$)$@$5(B" "$(C7'(B") + ("$(C$)$@$6(B" "$(C7((B") + ("$(C$)$@$7(B" "$(C7)(B") + + ("$(C$)$A(B" "$(C7*(B") + ("$(C$)$A$!(B" "$(C7+(B") + ("$(C$)$A$$(B" "$(C7,(B") + ("$(C$)$A$5(B" "$(C7-(B") + ("$(C$)$A$7(B" "$(C7.(B") + + ("$(C$)$C(B" "$(C7/(B") + ("$(C$)$C$!(B" "$(C70(B") + ("$(C$)$C$$(B" "$(C71(B") + ("$(C$)$C$)(B" "$(C72(B") + ("$(C$)$C$1(B" "$(C73(B") + ("$(C$)$C$2(B" "$(C74(B") + ("$(C$)$C$5(B" "$(C75(B") + ("$(C$)$C$6(B" "$(C76(B") + ("$(C$)$C$7(B" "$(C77(B") + ("$(C$)$C$>(B" "$(C78(B") + + ("$(C$)$D(B" "$(C79(B") + ("$(C$)$D$!(B" "$(C7:(B") + ("$(C$)$D$$(B" "$(C7;(B") + ("$(C$)$D$)(B" "$(C7<(B") + ("$(C$)$D$1(B" "$(C7=(B") + ("$(C$)$D$2(B" "$(C7>(B") + ("$(C$)$D$5(B" "$(C7?(B") + ("$(C$)$D$7(B" "$(C7@(B") + + ("$(C$)$E(B" "$(C7A(B") + ("$(C$)$E$!(B" "$(C7B(B") + ("$(C$)$E$$(B" "$(C7C(B") + ("$(C$)$E$)(B" "$(C7D(B") + ("$(C$)$E$1(B" "$(C7E(B") + ("$(C$)$E$2(B" "$(C7F(B") + ("$(C$)$E$5(B" "$(C7G(B") + ("$(C$)$E$6(B" "$(C7H(B") + ("$(C$)$E$7(B" "$(C7I(B") + + ("$(C$)$F(B" "$(C7J(B") + ("$(C$)$F$$(B" "$(C7K(B") + ("$(C$)$F$2(B" "$(C7L(B") + ("$(C$)$F$5(B" "$(C7M(B") + + ("$(C$)$G(B" "$(C7N(B") + ("$(C$)$G$!(B" "$(C7O(B") + ("$(C$)$G$$(B" "$(C7P(B") + ("$(C$)$G$)(B" "$(C7Q(B") + ("$(C$)$G$1(B" "$(C7R(B") + ("$(C$)$G$2(B" "$(C7S(B") + ("$(C$)$G$5(B" "$(C7T(B") + ("$(C$)$G$7(B" "$(C7U(B") + + ("$(C$)$G$?(B" "$(C7V(B") + ("$(C$)$G$?$$(B" "$(C7W(B") + ("$(C$)$G$?$7(B" "$(C7X(B") + + ("$(C$)$G$@$6(B" "$(C7Y(B") + + ("$(C$)$G$S(B" "$(C7Z(B") + ("$(C$)$G$S$$(B" "$(C7[(B") + ("$(C$)$G$S$)(B" "$(C7\(B") + ("$(C$)$G$S$1(B" "$(C7](B") + ("$(C$)$G$S$2(B" "$(C7^(B") + ("$(C$)$G$S$5(B" "$(C7_(B") + ("$(C$)$G$S$7(B" "$(C7`(B") + + ("$(C$)$K(B" "$(C7a(B") + ("$(C$)$K$$(B" "$(C7b(B") + ("$(C$)$K$)(B" "$(C7c(B") + ("$(C$)$K$2(B" "$(C7d(B") + ("$(C$)$K$5(B" "$(C7e(B") + ("$(C$)$K$7(B" "$(C7f(B") + + ("$(C$)$L(B" "$(C7g(B") + ("$(C$)$L$!(B" "$(C7h(B") + ("$(C$)$L$$(B" "$(C7i(B") + ("$(C$)$L$)(B" "$(C7j(B") + ("$(C$)$L$1(B" "$(C7k(B") + ("$(C$)$L$2(B" "$(C7l(B") + ("$(C$)$L$5(B" "$(C7m(B") + ("$(C$)$L$7(B" "$(C7n(B") + + ("$(C$)$L$C(B" "$(C7o(B") + ("$(C$)$L$C$6(B" "$(C7p(B") + + ("$(C$)$L$D(B" "$(C7q(B") + + ("$(C$)$L$S(B" "$(C7r(B") + ("$(C$)$L$S$!(B" "$(C7s(B") + ("$(C$)$L$S$$(B" "$(C7t(B") + ("$(C$)$L$S$)(B" "$(C7u(B") + ("$(C$)$L$S$1(B" "$(C7v(B") + ("$(C$)$L$S$5(B" "$(C7w(B") + ("$(C$)$L$S$7(B" "$(C7x(B") + + ("$(C$)$P(B" "$(C7y(B") + ("$(C$)$P$!(B" "$(C7z(B") + ("$(C$)$P$$(B" "$(C7{(B") + ("$(C$)$P$)(B" "$(C7|(B") + ("$(C$)$P$1(B" "$(C7}(B") + ("$(C$)$P$2(B" "$(C7~(B") + ("$(C$)$P$5(B" "$(C8!(B") + ("$(C$)$P$7(B" "$(C8"(B") + + ("$(C$)$Q(B" "$(C8#(B") + ("$(C$)$Q$!(B" "$(C8$(B") + ("$(C$)$Q$$(B" "$(C8%(B") + ("$(C$)$Q$)(B" "$(C8&(B") + ("$(C$)$Q$1(B" "$(C8'(B") + ("$(C$)$Q$2(B" "$(C8((B") + ("$(C$)$Q$5(B" "$(C8)(B") + ("$(C$)$Q$7(B" "$(C8*(B") + ("$(C$)$Q$8(B" "$(C8+(B") + ("$(C$)$Q$<(B" "$(C8,(B") + ("$(C$)$Q$=(B" "$(C8-(B") + + ("$(C$)$S(B" "$(C8.(B") + ("$(C$)$S$!(B" "$(C8/(B") + ("$(C$)$S$$(B" "$(C80(B") + ("$(C$)$S$)(B" "$(C81(B") + ("$(C$)$S$1(B" "$(C82(B") + ("$(C$)$S$2(B" "$(C83(B") + ("$(C$)$S$5(B" "$(C84(B") + ("$(C$)$S$7(B" "$(C85(B") + + ("$(C$1$?(B" "$(C86(B") + ("$(C$1$?$!(B" "$(C87(B") + ("$(C$1$?$$(B" "$(C88(B") + ("$(C$1$?$$$>(B" "$(C89(B") + ("$(C$1$?$'(B" "$(C8:(B") + ("$(C$1$?$)(B" "$(C8;(B") + ("$(C$1$?$)$!(B" "$(C8<(B") + ("$(C$1$?$)$1(B" "$(C8=(B") + ("$(C$1$?$1(B" "$(C8>(B") + ("$(C$1$?$2(B" "$(C8?(B") + ("$(C$1$?$5(B" "$(C8@(B") + ("$(C$1$?$7(B" "$(C8A(B") + ("$(C$1$?$8(B" "$(C8B(B") + ("$(C$1$?$<(B" "$(C8C(B") + ("$(C$1$?$>(B" "$(C8D(B") + + ("$(C$1$@(B" "$(C8E(B") + ("$(C$1$@$!(B" "$(C8F(B") + ("$(C$1$@$$(B" "$(C8G(B") + ("$(C$1$@$)(B" "$(C8H(B") + ("$(C$1$@$1(B" "$(C8I(B") + ("$(C$1$@$2(B" "$(C8J(B") + ("$(C$1$@$5(B" "$(C8K(B") + ("$(C$1$@$6(B" "$(C8L(B") + ("$(C$1$@$7(B" "$(C8M(B") + ("$(C$1$@$8(B" "$(C8N(B") + + ("$(C$1$A(B" "$(C8O(B") + ("$(C$1$A$!(B" "$(C8P(B") + ("$(C$1$A$)(B" "$(C8Q(B") + ("$(C$1$A$7(B" "$(C8R(B") + + ("$(C$1$C(B" "$(C8S(B") + ("$(C$1$C$!(B" "$(C8T(B") + ("$(C$1$C$$(B" "$(C8U(B") + ("$(C$1$C$)(B" "$(C8V(B") + ("$(C$1$C$)$1(B" "$(C8W(B") + ("$(C$1$C$1(B" "$(C8X(B") + ("$(C$1$C$2(B" "$(C8Y(B") + ("$(C$1$C$5(B" "$(C8Z(B") + ("$(C$1$C$7(B" "$(C8[(B") + ("$(C$1$C$8(B" "$(C8\(B") + ("$(C$1$C$>(B" "$(C8](B") + + ("$(C$1$D(B" "$(C8^(B") + ("$(C$1$D$!(B" "$(C8_(B") + ("$(C$1$D$$(B" "$(C8`(B") + ("$(C$1$D$)(B" "$(C8a(B") + ("$(C$1$D$1(B" "$(C8b(B") + ("$(C$1$D$2(B" "$(C8c(B") + ("$(C$1$D$5(B" "$(C8d(B") + ("$(C$1$D$6(B" "$(C8e(B") + ("$(C$1$D$7(B" "$(C8f(B") + + ("$(C$1$E(B" "$(C8g(B") + ("$(C$1$E$!(B" "$(C8h(B") + ("$(C$1$E$$(B" "$(C8i(B") + ("$(C$1$E$)(B" "$(C8j(B") + ("$(C$1$E$5(B" "$(C8k(B") + ("$(C$1$E$6(B" "$(C8l(B") + ("$(C$1$E$7(B" "$(C8m(B") + ("$(C$1$E$:(B" "$(C8n(B") + + ("$(C$1$F(B" "$(C8o(B") + + ("$(C$1$G(B" "$(C8p(B") + ("$(C$1$G$!(B" "$(C8q(B") + ("$(C$1$G$!$5(B" "$(C8r(B") + ("$(C$1$G$$(B" "$(C8s(B") + ("$(C$1$G$)(B" "$(C8t(B") + ("$(C$1$G$)$1(B" "$(C8u(B") + ("$(C$1$G$1(B" "$(C8v(B") + ("$(C$1$G$2(B" "$(C8w(B") + ("$(C$1$G$5(B" "$(C8x(B") + ("$(C$1$G$7(B" "$(C8y(B") + + ("$(C$1$G$?(B" "$(C8z(B") + ("$(C$1$G$?$$(B" "$(C8{(B") + ("$(C$1$G$?$6(B" "$(C8|(B") + ("$(C$1$G$?$7(B" "$(C8}(B") + + ("$(C$1$G$S(B" "$(C8~(B") + ("$(C$1$G$S$$(B" "$(C9!(B") + ("$(C$1$G$S$)(B" "$(C9"(B") + ("$(C$1$G$S$2(B" "$(C9#(B") + ("$(C$1$G$S$5(B" "$(C9$(B") + ("$(C$1$G$S$7(B" "$(C9%(B") + + ("$(C$1$K(B" "$(C9&(B") + ("$(C$1$K$$(B" "$(C9'(B") + ("$(C$1$K$)(B" "$(C9((B") + ("$(C$1$K$2(B" "$(C9)(B") + ("$(C$1$K$5(B" "$(C9*(B") + + ("$(C$1$L(B" "$(C9+(B") + ("$(C$1$L$!(B" "$(C9,(B") + ("$(C$1$L$"(B" "$(C9-(B") + ("$(C$1$L$$(B" "$(C9.(B") + ("$(C$1$L$'(B" "$(C9/(B") + ("$(C$1$L$)(B" "$(C90(B") + ("$(C$1$L$)$!(B" "$(C91(B") + ("$(C$1$L$)$1(B" "$(C92(B") + ("$(C$1$L$1(B" "$(C93(B") + ("$(C$1$L$2(B" "$(C94(B") + ("$(C$1$L$5(B" "$(C95(B") + ("$(C$1$L$7(B" "$(C96(B") + ("$(C$1$L$<(B" "$(C97(B") + ("$(C$1$L$>(B" "$(C98(B") + + ("$(C$1$L$C(B" "$(C99(B") + ("$(C$1$L$C$$(B" "$(C9:(B") + ("$(C$1$L$C$)(B" "$(C9;(B") + ("$(C$1$L$C$2(B" "$(C9<(B") + ("$(C$1$L$C$5(B" "$(C9=(B") + + ("$(C$1$L$D(B" "$(C9>(B") + + ("$(C$1$L$S(B" "$(C9?(B") + ("$(C$1$L$S$$(B" "$(C9@(B") + ("$(C$1$L$S$)(B" "$(C9A(B") + + ("$(C$1$P(B" "$(C9B(B") + ("$(C$1$P$$(B" "$(C9C(B") + ("$(C$1$P$)(B" "$(C9D(B") + ("$(C$1$P$1(B" "$(C9E(B") + ("$(C$1$P$5(B" "$(C9F(B") + + ("$(C$1$Q(B" "$(C9G(B") + ("$(C$1$Q$$(B" "$(C9H(B") + ("$(C$1$Q$)(B" "$(C9I(B") + ("$(C$1$Q$1(B" "$(C9J(B") + ("$(C$1$Q$5(B" "$(C9K(B") + + ("$(C$1$S(B" "$(C9L(B") + ("$(C$1$S$!(B" "$(C9M(B") + ("$(C$1$S$$(B" "$(C9N(B") + ("$(C$1$S$'(B" "$(C9O(B") + ("$(C$1$S$)(B" "$(C9P(B") + ("$(C$1$S$)$1(B" "$(C9Q(B") + ("$(C$1$S$1(B" "$(C9R(B") + ("$(C$1$S$2(B" "$(C9S(B") + ("$(C$1$S$5(B" "$(C9T(B") + ("$(C$1$S$6(B" "$(C9U(B") + ("$(C$1$S$7(B" "$(C9V(B") + ("$(C$1$S$:(B" "$(C9W(B") + ("$(C$1$S$<(B" "$(C9X(B") + + ("$(C$2$?(B" "$(C9Y(B") + ("$(C$2$?$!(B" "$(C9Z(B") + ("$(C$2$?$!$5(B" "$(C9\(B") + ("$(C$2$?$"(B" "$(C9[(B") + ("$(C$2$?$$(B" "$(C9](B") + ("$(C$2$?$'(B" "$(C9^(B") + ("$(C$2$?$)(B" "$(C9_(B") + ("$(C$2$?$)$!(B" "$(C9`(B") + ("$(C$2$?$)$1(B" "$(C9a(B") + ("$(C$2$?$)$2(B" "$(C9b(B") + ("$(C$2$?$1(B" "$(C9c(B") + ("$(C$2$?$2(B" "$(C9d(B") + ("$(C$2$?$5(B" "$(C9e(B") + ("$(C$2$?$7(B" "$(C9f(B") + ("$(C$2$?$<(B" "$(C9g(B") + + ("$(C$2$@(B" "$(C9h(B") + ("$(C$2$@$!(B" "$(C9i(B") + ("$(C$2$@$$(B" "$(C9j(B") + ("$(C$2$@$)(B" "$(C9k(B") + ("$(C$2$@$1(B" "$(C9l(B") + ("$(C$2$@$2(B" "$(C9m(B") + ("$(C$2$@$5(B" "$(C9n(B") + ("$(C$2$@$6(B" "$(C9o(B") + ("$(C$2$@$7(B" "$(C9p(B") + ("$(C$2$@$<(B" "$(C9q(B") + + ("$(C$2$A(B" "$(C9r(B") + ("$(C$2$A$!(B" "$(C9s(B") + ("$(C$2$A$$(B" "$(C9t(B") + ("$(C$2$A$2(B" "$(C9u(B") + + ("$(C$2$C(B" "$(C9v(B") + ("$(C$2$C$!(B" "$(C9w(B") + ("$(C$2$C$$(B" "$(C9x(B") + ("$(C$2$C$'(B" "$(C9y(B") + ("$(C$2$C$)(B" "$(C9z(B") + ("$(C$2$C$)$1(B" "$(C9{(B") + ("$(C$2$C$1(B" "$(C9|(B") + ("$(C$2$C$2(B" "$(C9}(B") + ("$(C$2$C$5(B" "$(C9~(B") + ("$(C$2$C$7(B" "$(C:!(B") + ("$(C$2$C$8(B" "$(C:"(B") + + ("$(C$2$D(B" "$(C:#(B") + ("$(C$2$D$!(B" "$(C:$(B") + ("$(C$2$D$$(B" "$(C:%(B") + ("$(C$2$D$'(B" "$(C:&(B") + ("$(C$2$D$)(B" "$(C:'(B") + ("$(C$2$D$1(B" "$(C:((B") + ("$(C$2$D$2(B" "$(C:)(B") + ("$(C$2$D$5(B" "$(C:*(B") + ("$(C$2$D$6(B" "$(C:+(B") + ("$(C$2$D$7(B" "$(C:,(B") + + ("$(C$2$E(B" "$(C:-(B") + ("$(C$2$E$!(B" "$(C:.(B") + ("$(C$2$E$$(B" "$(C:/(B") + ("$(C$2$E$)(B" "$(C:0(B") + ("$(C$2$E$2(B" "$(C:1(B") + ("$(C$2$E$5(B" "$(C:2(B") + ("$(C$2$E$6(B" "$(C:3(B") + ("$(C$2$E$7(B" "$(C:4(B") + ("$(C$2$E$<(B" "$(C:5(B") + + ("$(C$2$F(B" "$(C:6(B") + ("$(C$2$F$$(B" "$(C:7(B") + + ("$(C$2$G(B" "$(C:8(B") + ("$(C$2$G$!(B" "$(C:9(B") + ("$(C$2$G$"(B" "$(C::(B") + ("$(C$2$G$$(B" "$(C:;(B") + ("$(C$2$G$)(B" "$(C:<(B") + ("$(C$2$G$1(B" "$(C:=(B") + ("$(C$2$G$2(B" "$(C:>(B") + ("$(C$2$G$5(B" "$(C:?(B") + ("$(C$2$G$7(B" "$(C:@(B") + + ("$(C$2$G$?(B" "$(C:A(B") + ("$(C$2$G$?$$(B" "$(C:B(B") + ("$(C$2$G$?$6(B" "$(C:C(B") + + ("$(C$2$G$@(B" "$(C:D(B") + ("$(C$2$G$@$6(B" "$(C:E(B") + + ("$(C$2$G$S(B" "$(C:F(B") + ("$(C$2$G$S$!(B" "$(C:G(B") + ("$(C$2$G$S$$(B" "$(C:H(B") + ("$(C$2$G$S$)(B" "$(C:I(B") + ("$(C$2$G$S$1(B" "$(C:J(B") + ("$(C$2$G$S$2(B" "$(C:K(B") + + ("$(C$2$K(B" "$(C:L(B") + ("$(C$2$K$$(B" "$(C:M(B") + + ("$(C$2$L(B" "$(C:N(B") + ("$(C$2$L$!(B" "$(C:O(B") + ("$(C$2$L$$(B" "$(C:P(B") + ("$(C$2$L$'(B" "$(C:Q(B") + ("$(C$2$L$)(B" "$(C:R(B") + ("$(C$2$L$)$!(B" "$(C:S(B") + ("$(C$2$L$)$1(B" "$(C:T(B") + ("$(C$2$L$1(B" "$(C:U(B") + ("$(C$2$L$2(B" "$(C:V(B") + ("$(C$2$L$5(B" "$(C:W(B") + ("$(C$2$L$7(B" "$(C:X(B") + ("$(C$2$L$<(B" "$(C:Y(B") + ("$(C$2$L$=(B" "$(C:Z(B") + + ("$(C$2$L$C(B" "$(C:[(B") + ("$(C$2$L$C$)(B" "$(C:\(B") + ("$(C$2$L$C$6(B" "$(C:](B") + + ("$(C$2$L$D(B" "$(C:^(B") + + ("$(C$2$L$S(B" "$(C:_(B") + ("$(C$2$L$S$!(B" "$(C:`(B") + ("$(C$2$L$S$$(B" "$(C:a(B") + ("$(C$2$L$S$)(B" "$(C:b(B") + ("$(C$2$L$S$7(B" "$(C:c(B") + + ("$(C$2$P(B" "$(C:d(B") + ("$(C$2$P$$(B" "$(C:e(B") + ("$(C$2$P$)(B" "$(C:f(B") + ("$(C$2$P$1(B" "$(C:g(B") + ("$(C$2$P$5(B" "$(C:h(B") + ("$(C$2$P$7(B" "$(C:i(B") + + ("$(C$2$Q(B" "$(C:j(B") + ("$(C$2$Q$!(B" "$(C:k(B") + ("$(C$2$Q$$(B" "$(C:l(B") + ("$(C$2$Q$)(B" "$(C:m(B") + ("$(C$2$Q$1(B" "$(C:n(B") + ("$(C$2$Q$2(B" "$(C:o(B") + ("$(C$2$Q$5(B" "$(C:p(B") + + ("$(C$2$S(B" "$(C:q(B") + ("$(C$2$S$!(B" "$(C:r(B") + ("$(C$2$S$$(B" "$(C:s(B") + ("$(C$2$S$)(B" "$(C:t(B") + ("$(C$2$S$)$1(B" "$(C:u(B") + ("$(C$2$S$1(B" "$(C:v(B") + ("$(C$2$S$2(B" "$(C:w(B") + ("$(C$2$S$5(B" "$(C:x(B") + ("$(C$2$S$7(B" "$(C:y(B") + ("$(C$2$S$8(B" "$(C:z(B") + ("$(C$2$S$:(B" "$(C:{(B") + + ("$(C$3$?(B" "$(C:|(B") + ("$(C$3$?$!(B" "$(C:}(B") + ("$(C$3$?$$(B" "$(C:~(B") + ("$(C$3$?$)(B" "$(C;!(B") + ("$(C$3$?$)$1(B" "$(C;"(B") + ("$(C$3$?$1(B" "$(C;#(B") + ("$(C$3$?$2(B" "$(C;$(B") + ("$(C$3$?$5(B" "$(C;%(B") + ("$(C$3$?$6(B" "$(C;&(B") + ("$(C$3$?$7(B" "$(C;'(B") + ("$(C$3$?$>(B" "$(C;((B") + + ("$(C$3$@(B" "$(C;)(B") + ("$(C$3$@$!(B" "$(C;*(B") + ("$(C$3$@$$(B" "$(C;+(B") + ("$(C$3$@$)(B" "$(C;,(B") + ("$(C$3$@$1(B" "$(C;-(B") + ("$(C$3$@$2(B" "$(C;.(B") + ("$(C$3$@$5(B" "$(C;/(B") + ("$(C$3$@$6(B" "$(C;0(B") + ("$(C$3$@$7(B" "$(C;1(B") + + ("$(C$3$A(B" "$(C;2(B") + ("$(C$3$A$!(B" "$(C;3(B") + ("$(C$3$A$1(B" "$(C;4(B") + + ("$(C$3$C(B" "$(C;5(B") + ("$(C$3$C$!(B" "$(C;6(B") + ("$(C$3$C$$(B" "$(C;7(B") + ("$(C$3$C$'(B" "$(C;8(B") + ("$(C$3$C$)(B" "$(C;9(B") + ("$(C$3$C$1(B" "$(C;:(B") + ("$(C$3$C$5(B" "$(C;;(B") + ("$(C$3$C$6(B" "$(C;<(B") + ("$(C$3$C$7(B" "$(C;=(B") + + ("$(C$3$D(B" "$(C;>(B") + ("$(C$3$D$7(B" "$(C;?(B") + + ("$(C$3$E(B" "$(C;@(B") + ("$(C$3$E$!(B" "$(C;A(B") + ("$(C$3$E$1(B" "$(C;B(B") + ("$(C$3$E$2(B" "$(C;C(B") + ("$(C$3$E$5(B" "$(C;D(B") + ("$(C$3$E$6(B" "$(C;E(B") + ("$(C$3$E$7(B" "$(C;F(B") + + ("$(C$3$G(B" "$(C;G(B") + ("$(C$3$G$!(B" "$(C;H(B") + ("$(C$3$G$$(B" "$(C;I(B") + ("$(C$3$G$)(B" "$(C;J(B") + ("$(C$3$G$1(B" "$(C;K(B") + ("$(C$3$G$2(B" "$(C;L(B") + ("$(C$3$G$7(B" "$(C;M(B") + + ("$(C$3$G$S(B" "$(C;N(B") + + ("$(C$3$K(B" "$(C;O(B") + ("$(C$3$K$7(B" "$(C;P(B") + + ("$(C$3$L(B" "$(C;Q(B") + ("$(C$3$L$!(B" "$(C;R(B") + ("$(C$3$L$$(B" "$(C;S(B") + ("$(C$3$L$)(B" "$(C;T(B") + ("$(C$3$L$1(B" "$(C;U(B") + ("$(C$3$L$5(B" "$(C;V(B") + ("$(C$3$L$7(B" "$(C;W(B") + + ("$(C$3$P(B" "$(C;X(B") + ("$(C$3$P$7(B" "$(C;Y(B") + + ("$(C$3$Q(B" "$(C;Z(B") + ("$(C$3$Q$$(B" "$(C;[(B") + ("$(C$3$Q$)(B" "$(C;\(B") + ("$(C$3$Q$1(B" "$(C;](B") + ("$(C$3$Q$2(B" "$(C;^(B") + + ("$(C$3$S(B" "$(C;_(B") + ("$(C$3$S$!(B" "$(C;`(B") + ("$(C$3$S$$(B" "$(C;a(B") + ("$(C$3$S$)(B" "$(C;b(B") + ("$(C$3$S$1(B" "$(C;c(B") + ("$(C$3$S$2(B" "$(C;d(B") + ("$(C$3$S$5(B" "$(C;e(B") + ("$(C$3$S$7(B" "$(C;f(B") + + ("$(C$5$?(B" "$(C;g(B") + ("$(C$5$?$!(B" "$(C;h(B") + ("$(C$5$?$!$5(B" "$(C;i(B") + ("$(C$5$?$$(B" "$(C;j(B") + ("$(C$5$?$'(B" "$(C;k(B") + ("$(C$5$?$)(B" "$(C;l(B") + ("$(C$5$?$)$!(B" "$(C;m(B") + ("$(C$5$?$)$1(B" "$(C;n(B") + ("$(C$5$?$1(B" "$(C;o(B") + ("$(C$5$?$2(B" "$(C;p(B") + ("$(C$5$?$5(B" "$(C;q(B") + ("$(C$5$?$5$6(B" "$(C;r(B") + ("$(C$5$?$7(B" "$(C;s(B") + ("$(C$5$?$<(B" "$(C;t(B") + + ("$(C$5$@(B" "$(C;u(B") + ("$(C$5$@$!(B" "$(C;v(B") + ("$(C$5$@$$(B" "$(C;w(B") + ("$(C$5$@$)(B" "$(C;x(B") + ("$(C$5$@$1(B" "$(C;y(B") + ("$(C$5$@$2(B" "$(C;z(B") + ("$(C$5$@$5(B" "$(C;{(B") + ("$(C$5$@$6(B" "$(C;|(B") + ("$(C$5$@$7(B" "$(C;}(B") + + ("$(C$5$A(B" "$(C;~(B") + ("$(C$5$A$!(B" "$(C(B") + ("$(C$5$D$)(B" "$(C(B") + ("$(C$5$Q$1(B" "$(C=?(B") + ("$(C$5$Q$2(B" "$(C=@(B") + ("$(C$5$Q$5(B" "$(C=A(B") + ("$(C$5$Q$7(B" "$(C=B(B") + + ("$(C$5$S(B" "$(C=C(B") + ("$(C$5$S$!(B" "$(C=D(B") + ("$(C$5$S$$(B" "$(C=E(B") + ("$(C$5$S$'(B" "$(C=F(B") + ("$(C$5$S$)(B" "$(C=G(B") + ("$(C$5$S$)$>(B" "$(C=H(B") + ("$(C$5$S$1(B" "$(C=I(B") + ("$(C$5$S$2(B" "$(C=J(B") + ("$(C$5$S$5(B" "$(C=K(B") + ("$(C$5$S$7(B" "$(C=L(B") + ("$(C$5$S$=(B" "$(C=M(B") + + ("$(C$6$?(B" "$(C=N(B") + ("$(C$6$?$!(B" "$(C=O(B") + ("$(C$6$?$!$5(B" "$(C=P(B") + ("$(C$6$?$$(B" "$(C=Q(B") + ("$(C$6$?$)(B" "$(C=R(B") + ("$(C$6$?$1(B" "$(C=S(B") + ("$(C$6$?$2(B" "$(C=T(B") + ("$(C$6$?$6(B" "$(C=U(B") + ("$(C$6$?$7(B" "$(C=V(B") + ("$(C$6$?$>(B" "$(C=W(B") + + ("$(C$6$@(B" "$(C=X(B") + ("$(C$6$@$!(B" "$(C=Y(B") + ("$(C$6$@$$(B" "$(C=Z(B") + ("$(C$6$@$)(B" "$(C=[(B") + ("$(C$6$@$1(B" "$(C=\(B") + ("$(C$6$@$2(B" "$(C=](B") + ("$(C$6$@$6(B" "$(C=^(B") + ("$(C$6$@$7(B" "$(C=_(B") + + ("$(C$6$A$7(B" "$(C=`(B") + + ("$(C$6$C(B" "$(C=a(B") + ("$(C$6$C$!(B" "$(C=b(B") + ("$(C$6$C$$(B" "$(C=c(B") + ("$(C$6$C$)(B" "$(C=d(B") + ("$(C$6$C$)$2(B" "$(C=e(B") + ("$(C$6$C$1(B" "$(C=f(B") + ("$(C$6$C$2(B" "$(C=g(B") + ("$(C$6$C$6(B" "$(C=h(B") + ("$(C$6$C$7(B" "$(C=i(B") + + ("$(C$6$D(B" "$(C=j(B") + ("$(C$6$D$$(B" "$(C=k(B") + ("$(C$6$D$)(B" "$(C=l(B") + + ("$(C$6$F$$(B" "$(C=m(B") + + ("$(C$6$G(B" "$(C=n(B") + ("$(C$6$G$!(B" "$(C=o(B") + ("$(C$6$G$$(B" "$(C=p(B") + ("$(C$6$G$'(B" "$(C=q(B") + ("$(C$6$G$)(B" "$(C=r(B") + ("$(C$6$G$)$1(B" "$(C=s(B") + ("$(C$6$G$1(B" "$(C=t(B") + ("$(C$6$G$2(B" "$(C=u(B") + ("$(C$6$G$7(B" "$(C=v(B") + + ("$(C$6$G$?(B" "$(C=w(B") + ("$(C$6$G$?$!(B" "$(C=x(B") + ("$(C$6$G$?$$(B" "$(C=y(B") + ("$(C$6$G$?$6(B" "$(C=z(B") + + ("$(C$6$G$@(B" "$(C={(B") + ("$(C$6$G$@$6(B" "$(C=|(B") + + ("$(C$6$G$S(B" "$(C=}(B") + ("$(C$6$G$S$$(B" "$(C=~(B") + ("$(C$6$G$S$)(B" "$(C>!(B") + ("$(C$6$G$S$1(B" "$(C>"(B") + ("$(C$6$G$S$2(B" "$(C>#(B") + + ("$(C$6$K(B" "$(C>$(B") + + ("$(C$6$L(B" "$(C>%(B") + ("$(C$6$L$!(B" "$(C>&(B") + ("$(C$6$L$$(B" "$(C>'(B") + ("$(C$6$L$)(B" "$(C>((B") + ("$(C$6$L$1(B" "$(C>)(B") + ("$(C$6$L$2(B" "$(C>*(B") + ("$(C$6$L$7(B" "$(C>+(B") + + ("$(C$6$L$C(B" "$(C>,(B") + ("$(C$6$L$C$6(B" "$(C>-(B") + + ("$(C$6$L$D(B" "$(C>.(B") + + ("$(C$6$L$S(B" "$(C>/(B") + ("$(C$6$L$S$$(B" "$(C>0(B") + + ("$(C$6$P$7(B" "$(C>1(B") + + ("$(C$6$Q(B" "$(C>2(B") + ("$(C$6$Q$!(B" "$(C>3(B") + ("$(C$6$Q$$(B" "$(C>4(B") + ("$(C$6$Q$)(B" "$(C>5(B") + ("$(C$6$Q$)$1(B" "$(C>6(B") + ("$(C$6$Q$)$>(B" "$(C>7(B") + ("$(C$6$Q$1(B" "$(C>8(B") + ("$(C$6$Q$2(B" "$(C>9(B") + + ("$(C$6$Q$S(B" "$(C>:(B") + ("$(C$6$Q$S$$(B" "$(C>;(B") + ("$(C$6$Q$S$)(B" "$(C><(B") + ("$(C$6$Q$S$1(B" "$(C>=(B") + + ("$(C$6$S(B" "$(C>>(B") + ("$(C$6$S$!(B" "$(C>?(B") + ("$(C$6$S$$(B" "$(C>@(B") + ("$(C$6$S$)(B" "$(C>A(B") + ("$(C$6$S$1(B" "$(C>B(B") + ("$(C$6$S$2(B" "$(C>C(B") + ("$(C$6$S$5(B" "$(C>D(B") + ("$(C$6$S$7(B" "$(C>E(B") + + ("$(C$7$?(B" "$(C>F(B") + ("$(C$7$?$!(B" "$(C>G(B") + ("$(C$7$?$$(B" "$(C>H(B") + ("$(C$7$?$$$8(B" "$(C>I(B") + ("$(C$7$?$$$>(B" "$(C>J(B") + ("$(C$7$?$)(B" "$(C>K(B") + ("$(C$7$?$)$!(B" "$(C>L(B") + ("$(C$7$?$)$1(B" "$(C>M(B") + ("$(C$7$?$)$>(B" "$(C>N(B") + ("$(C$7$?$1(B" "$(C>O(B") + ("$(C$7$?$2(B" "$(C>P(B") + ("$(C$7$?$5(B" "$(C>Q(B") + ("$(C$7$?$6(B" "$(C>R(B") + ("$(C$7$?$7(B" "$(C>S(B") + ("$(C$7$?$<(B" "$(C>T(B") + ("$(C$7$?$=(B" "$(C>U(B") + + ("$(C$7$@(B" "$(C>V(B") + ("$(C$7$@$!(B" "$(C>W(B") + ("$(C$7$@$$(B" "$(C>X(B") + ("$(C$7$@$)(B" "$(C>Y(B") + ("$(C$7$@$1(B" "$(C>Z(B") + ("$(C$7$@$2(B" "$(C>[(B") + ("$(C$7$@$5(B" "$(C>\(B") + ("$(C$7$@$6(B" "$(C>](B") + ("$(C$7$@$7(B" "$(C>^(B") + + ("$(C$7$A(B" "$(C>_(B") + ("$(C$7$A$!(B" "$(C>`(B") + ("$(C$7$A$$(B" "$(C>a(B") + ("$(C$7$A$)(B" "$(C>b(B") + ("$(C$7$A$)$2(B" "$(C>c(B") + ("$(C$7$A$1(B" "$(C>d(B") + ("$(C$7$A$2(B" "$(C>e(B") + ("$(C$7$A$5(B" "$(C>f(B") + ("$(C$7$A$7(B" "$(C>g(B") + ("$(C$7$A$<(B" "$(C>h(B") + ("$(C$7$A$>(B" "$(C>i(B") + + ("$(C$7$B(B" "$(C>j(B") + ("$(C$7$B$$(B" "$(C>k(B") + ("$(C$7$B$)(B" "$(C>l(B") + ("$(C$7$B$2(B" "$(C>m(B") + + ("$(C$7$C(B" "$(C>n(B") + ("$(C$7$C$!(B" "$(C>o(B") + ("$(C$7$C$$(B" "$(C>p(B") + ("$(C$7$C$$$8(B" "$(C>q(B") + ("$(C$7$C$'(B" "$(C>r(B") + ("$(C$7$C$)(B" "$(C>s(B") + ("$(C$7$C$)$!(B" "$(C>t(B") + ("$(C$7$C$)$1(B" "$(C>u(B") + ("$(C$7$C$1(B" "$(C>v(B") + ("$(C$7$C$2(B" "$(C>w(B") + ("$(C$7$C$2$5(B" "$(C>x(B") + ("$(C$7$C$5(B" "$(C>y(B") + ("$(C$7$C$6(B" "$(C>z(B") + ("$(C$7$C$7(B" "$(C>{(B") + ("$(C$7$C$8(B" "$(C>|(B") + ("$(C$7$C$;(B" "$(C>}(B") + ("$(C$7$C$=(B" "$(C>~(B") + + ("$(C$7$D(B" "$(C?!(B") + ("$(C$7$D$!(B" "$(C?"(B") + ("$(C$7$D$$(B" "$(C?#(B") + ("$(C$7$D$)(B" "$(C?$(B") + ("$(C$7$D$1(B" "$(C?%(B") + ("$(C$7$D$2(B" "$(C?&(B") + ("$(C$7$D$5(B" "$(C?'(B") + ("$(C$7$D$7(B" "$(C?((B") + + ("$(C$7$E(B" "$(C?)(B") + ("$(C$7$E$!(B" "$(C?*(B") + ("$(C$7$E$"(B" "$(C?+(B") + ("$(C$7$E$$(B" "$(C?,(B") + ("$(C$7$E$)(B" "$(C?-(B") + ("$(C$7$E$)$1(B" "$(C?.(B") + ("$(C$7$E$)$2(B" "$(C?/(B") + ("$(C$7$E$1(B" "$(C?0(B") + ("$(C$7$E$2(B" "$(C?1(B") + ("$(C$7$E$2$5(B" "$(C?2(B") + ("$(C$7$E$5(B" "$(C?3(B") + ("$(C$7$E$6(B" "$(C?4(B") + ("$(C$7$E$7(B" "$(C?5(B") + ("$(C$7$E$<(B" "$(C?6(B") + ("$(C$7$E$=(B" "$(C?7(B") + ("$(C$7$E$>(B" "$(C?8(B") + + ("$(C$7$F(B" "$(C?9(B") + ("$(C$7$F$$(B" "$(C?:(B") + ("$(C$7$F$)(B" "$(C?;(B") + ("$(C$7$F$1(B" "$(C?<(B") + ("$(C$7$F$2(B" "$(C?=(B") + ("$(C$7$F$5(B" "$(C?>(B") + ("$(C$7$F$6(B" "$(C??(B") + + ("$(C$7$G(B" "$(C?@(B") + ("$(C$7$G$!(B" "$(C?A(B") + ("$(C$7$G$$(B" "$(C?B(B") + ("$(C$7$G$)(B" "$(C?C(B") + ("$(C$7$G$)$!(B" "$(C?D(B") + ("$(C$7$G$)$1(B" "$(C?E(B") + ("$(C$7$G$)$5(B" "$(C?F(B") + ("$(C$7$G$)$>(B" "$(C?G(B") + ("$(C$7$G$1(B" "$(C?H(B") + ("$(C$7$G$2(B" "$(C?I(B") + ("$(C$7$G$5(B" "$(C?J(B") + ("$(C$7$G$7(B" "$(C?K(B") + ("$(C$7$G$:(B" "$(C?L(B") + + ("$(C$7$G$?(B" "$(C?M(B") + ("$(C$7$G$?$!(B" "$(C?N(B") + ("$(C$7$G$?$$(B" "$(C?O(B") + ("$(C$7$G$?$)(B" "$(C?P(B") + ("$(C$7$G$?$1(B" "$(C?Q(B") + ("$(C$7$G$?$2(B" "$(C?R(B") + ("$(C$7$G$?$5(B" "$(C?S(B") + ("$(C$7$G$?$6(B" "$(C?T(B") + ("$(C$7$G$?$7(B" "$(C?U(B") + + ("$(C$7$G$@(B" "$(C?V(B") + ("$(C$7$G$@$!(B" "$(C?W(B") + ("$(C$7$G$@$$(B" "$(C?X(B") + ("$(C$7$G$@$1(B" "$(C?Y(B") + ("$(C$7$G$@$5(B" "$(C?Z(B") + ("$(C$7$G$@$7(B" "$(C?[(B") + + ("$(C$7$G$S(B" "$(C?\(B") + ("$(C$7$G$S$!(B" "$(C?](B") + ("$(C$7$G$S$$(B" "$(C?^(B") + ("$(C$7$G$S$)(B" "$(C?_(B") + ("$(C$7$G$S$1(B" "$(C?`(B") + ("$(C$7$G$S$2(B" "$(C?a(B") + ("$(C$7$G$S$5(B" "$(C?b(B") + ("$(C$7$G$S$7(B" "$(C?c(B") + + ("$(C$7$K(B" "$(C?d(B") + ("$(C$7$K$!(B" "$(C?e(B") + ("$(C$7$K$$(B" "$(C?f(B") + ("$(C$7$K$)(B" "$(C?g(B") + ("$(C$7$K$1(B" "$(C?h(B") + ("$(C$7$K$2(B" "$(C?i(B") + ("$(C$7$K$5(B" "$(C?j(B") + ("$(C$7$K$7(B" "$(C?k(B") + + ("$(C$7$L(B" "$(C?l(B") + ("$(C$7$L$!(B" "$(C?m(B") + ("$(C$7$L$$(B" "$(C?n(B") + ("$(C$7$L$)(B" "$(C?o(B") + ("$(C$7$L$)$!(B" "$(C?p(B") + ("$(C$7$L$)$1(B" "$(C?q(B") + ("$(C$7$L$1(B" "$(C?r(B") + ("$(C$7$L$2(B" "$(C?s(B") + ("$(C$7$L$5(B" "$(C?t(B") + ("$(C$7$L$7(B" "$(C?u(B") + + ("$(C$7$L$C(B" "$(C?v(B") + ("$(C$7$L$C$!(B" "$(C?w(B") + ("$(C$7$L$C$$(B" "$(C?x(B") + ("$(C$7$L$C$)(B" "$(C?y(B") + ("$(C$7$L$C$1(B" "$(C?z(B") + ("$(C$7$L$C$2(B" "$(C?{(B") + ("$(C$7$L$C$6(B" "$(C?|(B") + ("$(C$7$L$C$7(B" "$(C?}(B") + + ("$(C$7$L$D(B" "$(C?~(B") + ("$(C$7$L$D$!(B" "$(C@!(B") + ("$(C$7$L$D$$(B" "$(C@"(B") + ("$(C$7$L$D$)(B" "$(C@#(B") + ("$(C$7$L$D$1(B" "$(C@$(B") + ("$(C$7$L$D$2(B" "$(C@%(B") + ("$(C$7$L$D$7(B" "$(C@&(B") + + ("$(C$7$L$S(B" "$(C@'(B") + ("$(C$7$L$S$!(B" "$(C@((B") + ("$(C$7$L$S$$(B" "$(C@)(B") + ("$(C$7$L$S$)(B" "$(C@*(B") + ("$(C$7$L$S$1(B" "$(C@+(B") + ("$(C$7$L$S$2(B" "$(C@,(B") + ("$(C$7$L$S$5(B" "$(C@-(B") + ("$(C$7$L$S$7(B" "$(C@.(B") + + ("$(C$7$P(B" "$(C@/(B") + ("$(C$7$P$!(B" "$(C@0(B") + ("$(C$7$P$$(B" "$(C@1(B") + ("$(C$7$P$)(B" "$(C@2(B") + ("$(C$7$P$1(B" "$(C@3(B") + ("$(C$7$P$2(B" "$(C@4(B") + ("$(C$7$P$5(B" "$(C@5(B") + ("$(C$7$P$7(B" "$(C@6(B") + ("$(C$7$P$:(B" "$(C@7(B") + + ("$(C$7$Q(B" "$(C@8(B") + ("$(C$7$Q$!(B" "$(C@9(B") + ("$(C$7$Q$$(B" "$(C@:(B") + ("$(C$7$Q$)(B" "$(C@;(B") + ("$(C$7$Q$)$=(B" "$(C@<(B") + ("$(C$7$Q$1(B" "$(C@=(B") + ("$(C$7$Q$2(B" "$(C@>(B") + ("$(C$7$Q$5(B" "$(C@?(B") + ("$(C$7$Q$7(B" "$(C@@(B") + ("$(C$7$Q$8(B" "$(C@A(B") + ("$(C$7$Q$:(B" "$(C@B(B") + ("$(C$7$Q$;(B" "$(C@C(B") + ("$(C$7$Q$<(B" "$(C@D(B") + ("$(C$7$Q$=(B" "$(C@E(B") + ("$(C$7$Q$>(B" "$(C@F(B") + + ("$(C$7$Q$S(B" "$(C@G(B") + ("$(C$7$Q$S$$(B" "$(C@H(B") + ("$(C$7$Q$S$)(B" "$(C@I(B") + ("$(C$7$Q$S$1(B" "$(C@J(B") + ("$(C$7$Q$S$5(B" "$(C@K(B") + + ("$(C$7$S(B" "$(C@L(B") + ("$(C$7$S$!(B" "$(C@M(B") + ("$(C$7$S$$(B" "$(C@N(B") + ("$(C$7$S$)(B" "$(C@O(B") + ("$(C$7$S$)$!(B" "$(C@P(B") + ("$(C$7$S$)$1(B" "$(C@Q(B") + ("$(C$7$S$)$>(B" "$(C@R(B") + ("$(C$7$S$1(B" "$(C@S(B") + ("$(C$7$S$2(B" "$(C@T(B") + ("$(C$7$S$5(B" "$(C@U(B") + ("$(C$7$S$6(B" "$(C@V(B") + ("$(C$7$S$7(B" "$(C@W(B") + ("$(C$7$S$8(B" "$(C@X(B") + ("$(C$7$S$=(B" "$(C@Y(B") + + ("$(C$8$?(B" "$(C@Z(B") + ("$(C$8$?$!(B" "$(C@[(B") + ("$(C$8$?$$(B" "$(C@\(B") + ("$(C$8$?$$$>(B" "$(C@](B") + ("$(C$8$?$'(B" "$(C@^(B") + ("$(C$8$?$)(B" "$(C@_(B") + ("$(C$8$?$)$1(B" "$(C@`(B") + ("$(C$8$?$1(B" "$(C@a(B") + ("$(C$8$?$2(B" "$(C@b(B") + ("$(C$8$?$5(B" "$(C@c(B") + ("$(C$8$?$6(B" "$(C@d(B") + ("$(C$8$?$7(B" "$(C@e(B") + ("$(C$8$?$8(B" "$(C@f(B") + + ("$(C$8$@(B" "$(C@g(B") + ("$(C$8$@$!(B" "$(C@h(B") + ("$(C$8$@$$(B" "$(C@i(B") + ("$(C$8$@$)(B" "$(C@j(B") + ("$(C$8$@$1(B" "$(C@k(B") + ("$(C$8$@$2(B" "$(C@l(B") + ("$(C$8$@$5(B" "$(C@m(B") + ("$(C$8$@$6(B" "$(C@n(B") + ("$(C$8$@$7(B" "$(C@o(B") + + ("$(C$8$A(B" "$(C@p(B") + ("$(C$8$A$!(B" "$(C@q(B") + ("$(C$8$A$$(B" "$(C@r(B") + ("$(C$8$A$$$>(B" "$(C@s(B") + ("$(C$8$A$)(B" "$(C@t(B") + ("$(C$8$A$1(B" "$(C@u(B") + ("$(C$8$A$7(B" "$(C@v(B") + + ("$(C$8$B(B" "$(C@w(B") + ("$(C$8$B$$(B" "$(C@x(B") + ("$(C$8$B$)(B" "$(C@y(B") + + ("$(C$8$C(B" "$(C@z(B") + ("$(C$8$C$!(B" "$(C@{(B") + ("$(C$8$C$$(B" "$(C@|(B") + ("$(C$8$C$)(B" "$(C@}(B") + ("$(C$8$C$)$1(B" "$(C@~(B") + ("$(C$8$C$1(B" "$(CA!(B") + ("$(C$8$C$2(B" "$(CA"(B") + ("$(C$8$C$5(B" "$(CA#(B") + ("$(C$8$C$7(B" "$(CA$(B") + ("$(C$8$C$8(B" "$(CA%(B") + + ("$(C$8$D(B" "$(CA&(B") + ("$(C$8$D$!(B" "$(CA'(B") + ("$(C$8$D$$(B" "$(CA((B") + ("$(C$8$D$)(B" "$(CA)(B") + ("$(C$8$D$1(B" "$(CA*(B") + ("$(C$8$D$2(B" "$(CA+(B") + ("$(C$8$D$5(B" "$(CA,(B") + ("$(C$8$D$7(B" "$(CA-(B") + + ("$(C$8$E(B" "$(CA.(B") + ("$(C$8$E$$(B" "$(CA/(B") + ("$(C$8$E$)(B" "$(CA0(B") + ("$(C$8$E$1(B" "$(CA1(B") + ("$(C$8$E$2(B" "$(CA2(B") + ("$(C$8$E$6(B" "$(CA3(B") + ("$(C$8$E$7(B" "$(CA4(B") + + ("$(C$8$F(B" "$(CA5(B") + + ("$(C$8$G(B" "$(CA6(B") + ("$(C$8$G$!(B" "$(CA7(B") + ("$(C$8$G$$(B" "$(CA8(B") + ("$(C$8$G$)(B" "$(CA9(B") + ("$(C$8$G$)$1(B" "$(CA:(B") + ("$(C$8$G$1(B" "$(CA;(B") + ("$(C$8$G$2(B" "$(CA<(B") + ("$(C$8$G$5(B" "$(CA=(B") + ("$(C$8$G$7(B" "$(CA>(B") + ("$(C$8$G$8(B" "$(CA?(B") + ("$(C$8$G$:(B" "$(CA@(B") + ("$(C$8$G$>(B" "$(CAA(B") + + ("$(C$8$G$?(B" "$(CAB(B") + ("$(C$8$G$?$!(B" "$(CAC(B") + ("$(C$8$G$?$)(B" "$(CAD(B") + ("$(C$8$G$?$2(B" "$(CAE(B") + ("$(C$8$G$?$5(B" "$(CAF(B") + ("$(C$8$G$?$7(B" "$(CAG(B") + + ("$(C$8$G$@(B" "$(CAH(B") + ("$(C$8$G$@$6(B" "$(CAI(B") + ("$(C$8$G$@$7(B" "$(CAJ(B") + + ("$(C$8$G$S(B" "$(CAK(B") + ("$(C$8$G$S$$(B" "$(CAL(B") + ("$(C$8$G$S$)(B" "$(CAM(B") + ("$(C$8$G$S$1(B" "$(CAN(B") + ("$(C$8$G$S$2(B" "$(CAO(B") + ("$(C$8$G$S$5(B" "$(CAP(B") + ("$(C$8$G$S$7(B" "$(CAQ(B") + + ("$(C$8$K(B" "$(CAR(B") + ("$(C$8$K$!(B" "$(CAS(B") + ("$(C$8$K$$(B" "$(CAT(B") + ("$(C$8$K$7(B" "$(CAU(B") + + ("$(C$8$L(B" "$(CAV(B") + ("$(C$8$L$!(B" "$(CAW(B") + ("$(C$8$L$$(B" "$(CAX(B") + ("$(C$8$L$)(B" "$(CAY(B") + ("$(C$8$L$)$!(B" "$(CAZ(B") + ("$(C$8$L$)$1(B" "$(CA[(B") + ("$(C$8$L$1(B" "$(CA\(B") + ("$(C$8$L$2(B" "$(CA](B") + ("$(C$8$L$5(B" "$(CA^(B") + ("$(C$8$L$7(B" "$(CA_(B") + + ("$(C$8$L$C(B" "$(CA`(B") + ("$(C$8$L$C$6(B" "$(CAa(B") + + ("$(C$8$L$D(B" "$(CAb(B") + + ("$(C$8$L$S(B" "$(CAc(B") + ("$(C$8$L$S$!(B" "$(CAd(B") + ("$(C$8$L$S$$(B" "$(CAe(B") + ("$(C$8$L$S$)(B" "$(CAf(B") + ("$(C$8$L$S$1(B" "$(CAg(B") + ("$(C$8$L$S$2(B" "$(CAh(B") + ("$(C$8$L$S$5(B" "$(CAi(B") + + ("$(C$8$P(B" "$(CAj(B") + ("$(C$8$P$$(B" "$(CAk(B") + ("$(C$8$P$)(B" "$(CAl(B") + ("$(C$8$P$1(B" "$(CAm(B") + + ("$(C$8$Q(B" "$(CAn(B") + ("$(C$8$Q$!(B" "$(CAo(B") + ("$(C$8$Q$$(B" "$(CAp(B") + ("$(C$8$Q$)(B" "$(CAq(B") + ("$(C$8$Q$1(B" "$(CAr(B") + ("$(C$8$Q$2(B" "$(CAs(B") + ("$(C$8$Q$5(B" "$(CAt(B") + ("$(C$8$Q$7(B" "$(CAu(B") + + ("$(C$8$S(B" "$(CAv(B") + ("$(C$8$S$!(B" "$(CAw(B") + ("$(C$8$S$$(B" "$(CAx(B") + ("$(C$8$S$'(B" "$(CAy(B") + ("$(C$8$S$)(B" "$(CAz(B") + ("$(C$8$S$)$1(B" "$(CA{(B") + ("$(C$8$S$1(B" "$(CA|(B") + ("$(C$8$S$2(B" "$(CA}(B") + ("$(C$8$S$5(B" "$(CA~(B") + ("$(C$8$S$7(B" "$(CB!(B") + ("$(C$8$S$8(B" "$(CB"(B") + ("$(C$8$S$<(B" "$(CB#(B") + ("$(C$8$S$=(B" "$(CB$(B") + + ("$(C$9$?(B" "$(CB%(B") + ("$(C$9$?$!(B" "$(CB&(B") + ("$(C$9$?$$(B" "$(CB'(B") + ("$(C$9$?$$$>(B" "$(CB((B") + ("$(C$9$?$)(B" "$(CB)(B") + ("$(C$9$?$)$2(B" "$(CB*(B") + ("$(C$9$?$1(B" "$(CB+(B") + ("$(C$9$?$2(B" "$(CB,(B") + ("$(C$9$?$5(B" "$(CB-(B") + ("$(C$9$?$6(B" "$(CB.(B") + ("$(C$9$?$7(B" "$(CB/(B") + + ("$(C$9$@(B" "$(CB0(B") + ("$(C$9$@$!(B" "$(CB1(B") + ("$(C$9$@$$(B" "$(CB2(B") + ("$(C$9$@$)(B" "$(CB3(B") + ("$(C$9$@$1(B" "$(CB4(B") + ("$(C$9$@$2(B" "$(CB5(B") + ("$(C$9$@$5(B" "$(CB6(B") + ("$(C$9$@$6(B" "$(CB7(B") + ("$(C$9$@$7(B" "$(CB8(B") + + ("$(C$9$A(B" "$(CB9(B") + ("$(C$9$A$$(B" "$(CB:(B") + ("$(C$9$A$7(B" "$(CB;(B") + + ("$(C$9$C(B" "$(CB<(B") + ("$(C$9$C$!(B" "$(CB=(B") + ("$(C$9$C$$(B" "$(CB>(B") + ("$(C$9$C$)(B" "$(CB?(B") + ("$(C$9$C$1(B" "$(CB@(B") + ("$(C$9$C$2(B" "$(CBA(B") + ("$(C$9$C$5(B" "$(CBB(B") + ("$(C$9$C$6(B" "$(CBC(B") + ("$(C$9$C$7(B" "$(CBD(B") + + ("$(C$9$D(B" "$(CBE(B") + ("$(C$9$D$7(B" "$(CBF(B") + + ("$(C$9$E(B" "$(CBG(B") + ("$(C$9$E$6(B" "$(CBH(B") + + ("$(C$9$G(B" "$(CBI(B") + ("$(C$9$G$!(B" "$(CBJ(B") + ("$(C$9$G$$(B" "$(CBK(B") + ("$(C$9$G$)(B" "$(CBL(B") + ("$(C$9$G$1(B" "$(CBM(B") + ("$(C$9$G$2(B" "$(CBN(B") + ("$(C$9$G$5(B" "$(CBO(B") + ("$(C$9$G$7(B" "$(CBP(B") + ("$(C$9$G$:(B" "$(CBQ(B") + + ("$(C$9$G$?(B" "$(CBR(B") + ("$(C$9$G$?$!(B" "$(CBS(B") + ("$(C$9$G$?$)(B" "$(CBT(B") + ("$(C$9$G$?$6(B" "$(CBU(B") + + ("$(C$9$G$@(B" "$(CBV(B") + ("$(C$9$G$@$6(B" "$(CBW(B") + + ("$(C$9$G$S(B" "$(CBX(B") + ("$(C$9$G$S$$(B" "$(CBY(B") + ("$(C$9$G$S$)(B" "$(CBZ(B") + ("$(C$9$G$S$1(B" "$(CB[(B") + ("$(C$9$G$S$2(B" "$(CB\(B") + + ("$(C$9$K$7(B" "$(CB](B") + + ("$(C$9$L(B" "$(CB^(B") + ("$(C$9$L$!(B" "$(CB_(B") + ("$(C$9$L$$(B" "$(CB`(B") + ("$(C$9$L$)(B" "$(CBa(B") + ("$(C$9$L$1(B" "$(CBb(B") + ("$(C$9$L$2(B" "$(CBc(B") + ("$(C$9$L$7(B" "$(CBd(B") + + ("$(C$9$L$C(B" "$(CBe(B") + ("$(C$9$L$C$6(B" "$(CBf(B") + ("$(C$9$L$C$7(B" "$(CBg(B") + + ("$(C$9$L$S(B" "$(CBh(B") + + ("$(C$9$P(B" "$(CBi(B") + + ("$(C$9$Q(B" "$(CBj(B") + ("$(C$9$Q$1(B" "$(CBk(B") + ("$(C$9$Q$5(B" "$(CBl(B") + ("$(C$9$Q$7(B" "$(CBm(B") + + ("$(C$9$S(B" "$(CBn(B") + ("$(C$9$S$!(B" "$(CBo(B") + ("$(C$9$S$$(B" "$(CBp(B") + ("$(C$9$S$)(B" "$(CBq(B") + ("$(C$9$S$1(B" "$(CBr(B") + ("$(C$9$S$2(B" "$(CBs(B") + ("$(C$9$S$7(B" "$(CBt(B") + ("$(C$9$S$8(B" "$(CBu(B") + ("$(C$9$S$>(B" "$(CBv(B") + + ("$(C$:$?(B" "$(CBw(B") + ("$(C$:$?$!(B" "$(CBx(B") + ("$(C$:$?$$(B" "$(CBy(B") + ("$(C$:$?$$$>(B" "$(CBz(B") + ("$(C$:$?$)(B" "$(CB{(B") + ("$(C$:$?$1(B" "$(CB|(B") + ("$(C$:$?$2(B" "$(CB}(B") + ("$(C$:$?$5(B" "$(CB~(B") + ("$(C$:$?$6(B" "$(CC!(B") + ("$(C$:$?$7(B" "$(CC"(B") + ("$(C$:$?$8(B" "$(CC#(B") + + ("$(C$:$@(B" "$(CC$(B") + ("$(C$:$@$!(B" "$(CC%(B") + ("$(C$:$@$$(B" "$(CC&(B") + ("$(C$:$@$)(B" "$(CC'(B") + ("$(C$:$@$1(B" "$(CC((B") + ("$(C$:$@$2(B" "$(CC)(B") + ("$(C$:$@$5(B" "$(CC*(B") + ("$(C$:$@$6(B" "$(CC+(B") + ("$(C$:$@$7(B" "$(CC,(B") + + ("$(C$:$A(B" "$(CC-(B") + ("$(C$:$A$$(B" "$(CC.(B") + ("$(C$:$A$$$>(B" "$(CC/(B") + ("$(C$:$A$)(B" "$(CC0(B") + ("$(C$:$A$1(B" "$(CC1(B") + ("$(C$:$A$7(B" "$(CC2(B") + + ("$(C$:$C(B" "$(CC3(B") + ("$(C$:$C$!(B" "$(CC4(B") + ("$(C$:$C$$(B" "$(CC5(B") + ("$(C$:$C$)(B" "$(CC6(B") + ("$(C$:$C$1(B" "$(CC7(B") + ("$(C$:$C$2(B" "$(CC8(B") + ("$(C$:$C$5(B" "$(CC9(B") + ("$(C$:$C$6(B" "$(CC:(B") + ("$(C$:$C$7(B" "$(CC;(B") + + ("$(C$:$D(B" "$(CC<(B") + ("$(C$:$D$!(B" "$(CC=(B") + ("$(C$:$D$$(B" "$(CC>(B") + ("$(C$:$D$)(B" "$(CC?(B") + ("$(C$:$D$1(B" "$(CC@(B") + ("$(C$:$D$2(B" "$(CCA(B") + ("$(C$:$D$5(B" "$(CCB(B") + ("$(C$:$D$7(B" "$(CCC(B") + + ("$(C$:$E(B" "$(CCD(B") + ("$(C$:$E$$(B" "$(CCE(B") + ("$(C$:$E$6(B" "$(CCF(B") + + ("$(C$:$F(B" "$(CCG(B") + ("$(C$:$F$$(B" "$(CCH(B") + ("$(C$:$F$7(B" "$(CCI(B") + + ("$(C$:$G(B" "$(CCJ(B") + ("$(C$:$G$!(B" "$(CCK(B") + ("$(C$:$G$$(B" "$(CCL(B") + ("$(C$:$G$)(B" "$(CCM(B") + ("$(C$:$G$1(B" "$(CCN(B") + ("$(C$:$G$2(B" "$(CCO(B") + ("$(C$:$G$5(B" "$(CCP(B") + ("$(C$:$G$7(B" "$(CCQ(B") + + ("$(C$:$G$?(B" "$(CCR(B") + ("$(C$:$G$?$$(B" "$(CCS(B") + ("$(C$:$G$?$)(B" "$(CCT(B") + ("$(C$:$G$?$7(B" "$(CCU(B") + + ("$(C$:$G$S(B" "$(CCV(B") + ("$(C$:$G$S$$(B" "$(CCW(B") + ("$(C$:$G$S$)(B" "$(CCX(B") + ("$(C$:$G$S$1(B" "$(CCY(B") + ("$(C$:$G$S$2(B" "$(CCZ(B") + ("$(C$:$G$S$5(B" "$(CC[(B") + ("$(C$:$G$S$7(B" "$(CC\(B") + + ("$(C$:$K(B" "$(CC](B") + ("$(C$:$K$1(B" "$(CC^(B") + + ("$(C$:$L(B" "$(CC_(B") + ("$(C$:$L$!(B" "$(CC`(B") + ("$(C$:$L$$(B" "$(CCa(B") + ("$(C$:$L$)(B" "$(CCb(B") + ("$(C$:$L$1(B" "$(CCc(B") + ("$(C$:$L$2(B" "$(CCd(B") + ("$(C$:$L$5(B" "$(CCe(B") + ("$(C$:$L$7(B" "$(CCf(B") + + ("$(C$:$L$C(B" "$(CCg(B") + ("$(C$:$L$C$6(B" "$(CCh(B") + + ("$(C$:$L$D(B" "$(CCi(B") + ("$(C$:$L$D$$(B" "$(CCj(B") + + ("$(C$:$L$S(B" "$(CCk(B") + ("$(C$:$L$S$$(B" "$(CCl(B") + ("$(C$:$L$S$)(B" "$(CCm(B") + ("$(C$:$L$S$1(B" "$(CCn(B") + ("$(C$:$L$S$2(B" "$(CCo(B") + ("$(C$:$L$S$5(B" "$(CCp(B") + ("$(C$:$L$S$7(B" "$(CCq(B") + + ("$(C$:$P(B" "$(CCr(B") + ("$(C$:$P$$(B" "$(CCs(B") + ("$(C$:$P$)(B" "$(CCt(B") + ("$(C$:$P$1(B" "$(CCu(B") + ("$(C$:$P$7(B" "$(CCv(B") + + ("$(C$:$Q(B" "$(CCw(B") + ("$(C$:$Q$!(B" "$(CCx(B") + ("$(C$:$Q$$(B" "$(CCy(B") + ("$(C$:$Q$)(B" "$(CCz(B") + ("$(C$:$Q$1(B" "$(CC{(B") + ("$(C$:$Q$2(B" "$(CC|(B") + ("$(C$:$Q$5(B" "$(CC}(B") + ("$(C$:$Q$7(B" "$(CC~(B") + + ("$(C$:$S(B" "$(CD!(B") + ("$(C$:$S$!(B" "$(CD"(B") + ("$(C$:$S$$(B" "$(CD#(B") + ("$(C$:$S$'(B" "$(CD$(B") + ("$(C$:$S$)(B" "$(CD%(B") + ("$(C$:$S$)$!(B" "$(CD&(B") + ("$(C$:$S$1(B" "$(CD'(B") + ("$(C$:$S$2(B" "$(CD((B") + ("$(C$:$S$5(B" "$(CD)(B") + ("$(C$:$S$7(B" "$(CD*(B") + + ("$(C$;$?(B" "$(CD+(B") + ("$(C$;$?$!(B" "$(CD,(B") + ("$(C$;$?$$(B" "$(CD-(B") + ("$(C$;$?$)(B" "$(CD.(B") + ("$(C$;$?$1(B" "$(CD/(B") + ("$(C$;$?$2(B" "$(CD0(B") + ("$(C$;$?$5(B" "$(CD1(B") + ("$(C$;$?$7(B" "$(CD2(B") + + ("$(C$;$@(B" "$(CD3(B") + ("$(C$;$@$!(B" "$(CD4(B") + ("$(C$;$@$$(B" "$(CD5(B") + ("$(C$;$@$)(B" "$(CD6(B") + ("$(C$;$@$1(B" "$(CD7(B") + ("$(C$;$@$2(B" "$(CD8(B") + ("$(C$;$@$5(B" "$(CD9(B") + ("$(C$;$@$6(B" "$(CD:(B") + ("$(C$;$@$7(B" "$(CD;(B") + + ("$(C$;$A(B" "$(CD<(B") + ("$(C$;$A$!(B" "$(CD=(B") + ("$(C$;$A$7(B" "$(CD>(B") + + ("$(C$;$C(B" "$(CD?(B") + ("$(C$;$C$!(B" "$(CD@(B") + ("$(C$;$C$$(B" "$(CDA(B") + ("$(C$;$C$'(B" "$(CDB(B") + ("$(C$;$C$)(B" "$(CDC(B") + ("$(C$;$C$1(B" "$(CDD(B") + ("$(C$;$C$2(B" "$(CDE(B") + ("$(C$;$C$5(B" "$(CDF(B") + ("$(C$;$C$6(B" "$(CDG(B") + ("$(C$;$C$7(B" "$(CDH(B") + + ("$(C$;$D(B" "$(CDI(B") + ("$(C$;$D$!(B" "$(CDJ(B") + ("$(C$;$D$$(B" "$(CDK(B") + ("$(C$;$D$)(B" "$(CDL(B") + ("$(C$;$D$1(B" "$(CDM(B") + ("$(C$;$D$2(B" "$(CDN(B") + ("$(C$;$D$5(B" "$(CDO(B") + ("$(C$;$D$7(B" "$(CDP(B") + + ("$(C$;$E(B" "$(CDQ(B") + ("$(C$;$E$$(B" "$(CDR(B") + ("$(C$;$E$)(B" "$(CDS(B") + ("$(C$;$E$1(B" "$(CDT(B") + ("$(C$;$E$2(B" "$(CDU(B") + ("$(C$;$E$5(B" "$(CDV(B") + ("$(C$;$E$6(B" "$(CDW(B") + ("$(C$;$E$7(B" "$(CDX(B") + + ("$(C$;$F(B" "$(CDY(B") + + ("$(C$;$G(B" "$(CDZ(B") + ("$(C$;$G$!(B" "$(CD[(B") + ("$(C$;$G$$(B" "$(CD\(B") + ("$(C$;$G$)(B" "$(CD](B") + ("$(C$;$G$1(B" "$(CD^(B") + ("$(C$;$G$2(B" "$(CD_(B") + ("$(C$;$G$5(B" "$(CD`(B") + ("$(C$;$G$7(B" "$(CDa(B") + + ("$(C$;$G$?(B" "$(CDb(B") + ("$(C$;$G$?$!(B" "$(CDc(B") + ("$(C$;$G$?$$(B" "$(CDd(B") + ("$(C$;$G$?$)(B" "$(CDe(B") + ("$(C$;$G$?$1(B" "$(CDf(B") + ("$(C$;$G$?$7(B" "$(CDg(B") + + ("$(C$;$G$@(B" "$(CDh(B") + ("$(C$;$G$@$7(B" "$(CDi(B") + + ("$(C$;$G$S(B" "$(CDj(B") + ("$(C$;$G$S$)(B" "$(CDk(B") + + ("$(C$;$K(B" "$(CDl(B") + + ("$(C$;$L(B" "$(CDm(B") + ("$(C$;$L$!(B" "$(CDn(B") + ("$(C$;$L$)(B" "$(CDp(B") + ("$(C$;$L$1(B" "$(CDq(B") + ("$(C$;$L$2(B" "$(CDr(B") + ("$(C$;$L$5(B" "$(CDs(B") + ("$(C$;$L$7(B" "$(CDt(B") + + ("$(C$;$L$C(B" "$(CDu(B") + ("$(C$;$L$C$$(B" "$(CDv(B") + ("$(C$;$L$C$)(B" "$(CDw(B") + ("$(C$;$L$C$7(B" "$(CDx(B") + + ("$(C$;$L$D(B" "$(CDy(B") + ("$(C$;$L$D$7(B" "$(CDz(B") + + ("$(C$;$L$S(B" "$(CD{(B") + ("$(C$;$L$S$!(B" "$(CD|(B") + ("$(C$;$L$S$$(B" "$(CD}(B") + ("$(C$;$L$S$)(B" "$(CD~(B") + ("$(C$;$L$S$1(B" "$(CE!(B") + ("$(C$;$L$S$2(B" "$(CE"(B") + ("$(C$;$L$S$5(B" "$(CE#(B") + ("$(C$;$L$S$7(B" "$(CE$(B") + + ("$(C$;$P(B" "$(CE%(B") + ("$(C$;$P$$(B" "$(CE&(B") + ("$(C$;$P$)(B" "$(CE'(B") + ("$(C$;$P$1(B" "$(CE((B") + + ("$(C$;$Q(B" "$(CE)(B") + ("$(C$;$Q$!(B" "$(CE*(B") + ("$(C$;$Q$$(B" "$(CE+(B") + ("$(C$;$Q$)(B" "$(CE,(B") + ("$(C$;$Q$1(B" "$(CE-(B") + ("$(C$;$Q$2(B" "$(CE.(B") + ("$(C$;$Q$7(B" "$(CE/(B") + + ("$(C$;$S(B" "$(CE0(B") + ("$(C$;$S$!(B" "$(CE1(B") + ("$(C$;$S$$(B" "$(CE2(B") + ("$(C$;$S$)(B" "$(CE3(B") + ("$(C$;$S$1(B" "$(CE4(B") + ("$(C$;$S$2(B" "$(CE5(B") + ("$(C$;$S$5(B" "$(CE6(B") + ("$(C$;$S$7(B" "$(CE7(B") + + ("$(C$<$?(B" "$(CE8(B") + ("$(C$<$?$!(B" "$(CE9(B") + ("$(C$<$?$$(B" "$(CE:(B") + ("$(C$<$?$)(B" "$(CE;(B") + ("$(C$<$?$)$!(B" "$(CE<(B") + ("$(C$<$?$1(B" "$(CE=(B") + ("$(C$<$?$2(B" "$(CE>(B") + ("$(C$<$?$5(B" "$(CE?(B") + ("$(C$<$?$6(B" "$(CE@(B") + ("$(C$<$?$7(B" "$(CEA(B") + + ("$(C$<$@(B" "$(CEB(B") + ("$(C$<$@$!(B" "$(CEC(B") + ("$(C$<$@$$(B" "$(CED(B") + ("$(C$<$@$)(B" "$(CEE(B") + ("$(C$<$@$1(B" "$(CEF(B") + ("$(C$<$@$2(B" "$(CEG(B") + ("$(C$<$@$5(B" "$(CEH(B") + ("$(C$<$@$6(B" "$(CEI(B") + ("$(C$<$@$7(B" "$(CEJ(B") + + ("$(C$<$A(B" "$(CEK(B") + ("$(C$<$A$7(B" "$(CEL(B") + + ("$(C$<$C(B" "$(CEM(B") + ("$(C$<$C$!(B" "$(CEN(B") + ("$(C$<$C$$(B" "$(CEO(B") + ("$(C$<$C$)(B" "$(CEP(B") + ("$(C$<$C$)$1(B" "$(CEQ(B") + ("$(C$<$C$1(B" "$(CER(B") + ("$(C$<$C$2(B" "$(CES(B") + ("$(C$<$C$5(B" "$(CET(B") + ("$(C$<$C$6(B" "$(CEU(B") + ("$(C$<$C$7(B" "$(CEV(B") + + ("$(C$<$D(B" "$(CEW(B") + ("$(C$<$D$!(B" "$(CEX(B") + ("$(C$<$D$$(B" "$(CEY(B") + ("$(C$<$D$)(B" "$(CEZ(B") + ("$(C$<$D$1(B" "$(CE[(B") + ("$(C$<$D$2(B" "$(CE\(B") + ("$(C$<$D$5(B" "$(CE](B") + ("$(C$<$D$7(B" "$(CE^(B") + + ("$(C$<$E(B" "$(CE_(B") + ("$(C$<$E$$(B" "$(CE`(B") + ("$(C$<$E$6(B" "$(CEa(B") + + ("$(C$<$F(B" "$(CEb(B") + ("$(C$<$F$$(B" "$(CEc(B") + + ("$(C$<$G(B" "$(CEd(B") + ("$(C$<$G$!(B" "$(CEe(B") + ("$(C$<$G$$(B" "$(CEf(B") + ("$(C$<$G$)(B" "$(CEg(B") + ("$(C$<$G$1(B" "$(CEh(B") + ("$(C$<$G$2(B" "$(CEi(B") + ("$(C$<$G$5(B" "$(CEj(B") + ("$(C$<$G$7(B" "$(CEk(B") + ("$(C$<$G$=(B" "$(CEl(B") + + ("$(C$<$G$?(B" "$(CEm(B") + ("$(C$<$G$?$$(B" "$(CEn(B") + + ("$(C$<$G$@(B" "$(CEo(B") + + ("$(C$<$G$S(B" "$(CEp(B") + ("$(C$<$G$S$$(B" "$(CEq(B") + ("$(C$<$G$S$5(B" "$(CEr(B") + ("$(C$<$G$S$7(B" "$(CEs(B") + + ("$(C$<$K(B" "$(CEt(B") + + ("$(C$<$L(B" "$(CEu(B") + ("$(C$<$L$!(B" "$(CEv(B") + ("$(C$<$L$$(B" "$(CEw(B") + ("$(C$<$L$)(B" "$(CEx(B") + ("$(C$<$L$1(B" "$(CEy(B") + ("$(C$<$L$2(B" "$(CEz(B") + ("$(C$<$L$5(B" "$(CE{(B") + ("$(C$<$L$7(B" "$(CE|(B") + + ("$(C$<$L$C(B" "$(CE}(B") + ("$(C$<$L$C$6(B" "$(CE~(B") + + ("$(C$<$L$D(B" "$(CF!(B") + + ("$(C$<$L$S(B" "$(CF"(B") + ("$(C$<$L$S$!(B" "$(CF#(B") + ("$(C$<$L$S$$(B" "$(CF$(B") + ("$(C$<$L$S$)(B" "$(CF%(B") + ("$(C$<$L$S$1(B" "$(CF&(B") + ("$(C$<$L$S$2(B" "$(CF'(B") + ("$(C$<$L$S$7(B" "$(CF((B") + + ("$(C$<$P(B" "$(CF)(B") + ("$(C$<$P$$(B" "$(CF*(B") + ("$(C$<$P$)(B" "$(CF+(B") + ("$(C$<$P$1(B" "$(CF,(B") + ("$(C$<$P$7(B" "$(CF-(B") + + ("$(C$<$Q(B" "$(CF.(B") + ("$(C$<$Q$!(B" "$(CF/(B") + ("$(C$<$Q$$(B" "$(CF0(B") + ("$(C$<$Q$'(B" "$(CF1(B") + ("$(C$<$Q$)(B" "$(CF2(B") + ("$(C$<$Q$)$1(B" "$(CF3(B") + ("$(C$<$Q$1(B" "$(CF4(B") + ("$(C$<$Q$2(B" "$(CF5(B") + ("$(C$<$Q$5(B" "$(CF6(B") + + ("$(C$<$Q$S(B" "$(CF7(B") + ("$(C$<$Q$S$$(B" "$(CF8(B") + ("$(C$<$Q$S$)(B" "$(CF9(B") + ("$(C$<$Q$S$1(B" "$(CF:(B") + ("$(C$<$Q$S$2(B" "$(CF;(B") + + ("$(C$<$S(B" "$(CF<(B") + ("$(C$<$S$!(B" "$(CF=(B") + ("$(C$<$S$$(B" "$(CF>(B") + ("$(C$<$S$)(B" "$(CF?(B") + ("$(C$<$S$1(B" "$(CF@(B") + ("$(C$<$S$2(B" "$(CFA(B") + ("$(C$<$S$5(B" "$(CFB(B") + ("$(C$<$S$7(B" "$(CFC(B") + + ("$(C$=$?(B" "$(CFD(B") + ("$(C$=$?$!(B" "$(CFE(B") + ("$(C$=$?$"(B" "$(CFF(B") + ("$(C$=$?$$(B" "$(CFG(B") + ("$(C$=$?$)(B" "$(CFH(B") + ("$(C$=$?$)$1(B" "$(CFI(B") + ("$(C$=$?$1(B" "$(CFJ(B") + ("$(C$=$?$2(B" "$(CFK(B") + ("$(C$=$?$5(B" "$(CFL(B") + ("$(C$=$?$6(B" "$(CFM(B") + ("$(C$=$?$7(B" "$(CFN(B") + ("$(C$=$?$<(B" "$(CFO(B") + + ("$(C$=$@(B" "$(CFP(B") + ("$(C$=$@$!(B" "$(CFQ(B") + ("$(C$=$@$$(B" "$(CFR(B") + ("$(C$=$@$)(B" "$(CFS(B") + ("$(C$=$@$1(B" "$(CFT(B") + ("$(C$=$@$2(B" "$(CFU(B") + ("$(C$=$@$5(B" "$(CFV(B") + ("$(C$=$@$6(B" "$(CFW(B") + ("$(C$=$@$7(B" "$(CFX(B") + + ("$(C$=$A(B" "$(CFY(B") + ("$(C$=$A$!(B" "$(CFZ(B") + + ("$(C$=$C(B" "$(CF[(B") + ("$(C$=$C$!(B" "$(CF\(B") + ("$(C$=$C$$(B" "$(CF](B") + ("$(C$=$C$1(B" "$(CF_(B") + ("$(C$=$C$2(B" "$(CF`(B") + ("$(C$=$C$5(B" "$(CFa(B") + ("$(C$=$C$6(B" "$(CFb(B") + ("$(C$=$C$7(B" "$(CFc(B") + + ("$(C$=$D(B" "$(CFd(B") + ("$(C$=$D$!(B" "$(CFe(B") + ("$(C$=$D$$(B" "$(CFf(B") + ("$(C$=$D$)(B" "$(CFg(B") + ("$(C$=$D$1(B" "$(CFh(B") + ("$(C$=$D$2(B" "$(CFi(B") + ("$(C$=$D$5(B" "$(CFj(B") + ("$(C$=$D$7(B" "$(CFk(B") + + ("$(C$=$E(B" "$(CFl(B") + ("$(C$=$E$$(B" "$(CFm(B") + ("$(C$=$E$)(B" "$(CFn(B") + ("$(C$=$E$1(B" "$(CFo(B") + ("$(C$=$E$2(B" "$(CFp(B") + ("$(C$=$E$6(B" "$(CFq(B") + ("$(C$=$E$7(B" "$(CFr(B") + + ("$(C$=$F(B" "$(CFs(B") + ("$(C$=$F$)(B" "$(CFt(B") + ("$(C$=$F$2(B" "$(CFu(B") + ("$(C$=$F$5(B" "$(CFv(B") + + ("$(C$=$G(B" "$(CFw(B") + ("$(C$=$G$!(B" "$(CFx(B") + ("$(C$=$G$$(B" "$(CFy(B") + ("$(C$=$G$)(B" "$(CFz(B") + ("$(C$=$G$1(B" "$(CF{(B") + ("$(C$=$G$2(B" "$(CF|(B") + ("$(C$=$G$5(B" "$(CF}(B") + ("$(C$=$G$7(B" "$(CF~(B") + + ("$(C$=$G$?(B" "$(CG!(B") + ("$(C$=$G$?$7(B" "$(CG"(B") + + ("$(C$=$G$S(B" "$(CG#(B") + ("$(C$=$G$S$$(B" "$(CG$(B") + + ("$(C$=$K(B" "$(CG%(B") + ("$(C$=$K$$(B" "$(CG&(B") + ("$(C$=$K$)(B" "$(CG'(B") + ("$(C$=$K$2(B" "$(CG((B") + ("$(C$=$K$5(B" "$(CG)(B") + + ("$(C$=$L(B" "$(CG*(B") + ("$(C$=$L$!(B" "$(CG+(B") + ("$(C$=$L$$(B" "$(CG,(B") + ("$(C$=$L$'(B" "$(CG-(B") + ("$(C$=$L$)(B" "$(CG.(B") + ("$(C$=$L$)$1(B" "$(CG/(B") + ("$(C$=$L$1(B" "$(CG0(B") + ("$(C$=$L$2(B" "$(CG1(B") + ("$(C$=$L$5(B" "$(CG2(B") + ("$(C$=$L$7(B" "$(CG3(B") + + ("$(C$=$L$C(B" "$(CG4(B") + ("$(C$=$L$C$7(B" "$(CG5(B") + + ("$(C$=$L$S(B" "$(CG6(B") + ("$(C$=$L$S$$(B" "$(CG7(B") + ("$(C$=$L$S$)(B" "$(CG8(B") + ("$(C$=$L$S$1(B" "$(CG9(B") + ("$(C$=$L$S$5(B" "$(CG:(B") + + ("$(C$=$P(B" "$(CG;(B") + ("$(C$=$P$$(B" "$(CG<(B") + ("$(C$=$P$)(B" "$(CG=(B") + ("$(C$=$P$1(B" "$(CG>(B") + ("$(C$=$P$5(B" "$(CG?(B") + ("$(C$=$P$7(B" "$(CG@(B") + + ("$(C$=$Q(B" "$(CGA(B") + ("$(C$=$Q$$(B" "$(CGB(B") + ("$(C$=$Q$)(B" "$(CGC(B") + ("$(C$=$Q$1(B" "$(CGD(B") + ("$(C$=$Q$2(B" "$(CGE(B") + ("$(C$=$Q$5(B" "$(CGF(B") + + ("$(C$=$S(B" "$(CGG(B") + ("$(C$=$S$!(B" "$(CGH(B") + ("$(C$=$S$$(B" "$(CGI(B") + ("$(C$=$S$)(B" "$(CGJ(B") + ("$(C$=$S$1(B" "$(CGK(B") + ("$(C$=$S$2(B" "$(CGL(B") + ("$(C$=$S$5(B" "$(CGM(B") + ("$(C$=$S$7(B" "$(CGN(B") + + ("$(C$>$?(B" "$(CGO(B") + ("$(C$>$?$!(B" "$(CGP(B") + ("$(C$>$?$$(B" "$(CGQ(B") + ("$(C$>$?$)(B" "$(CGR(B") + ("$(C$>$?$)$<(B" "$(CGS(B") + ("$(C$>$?$1(B" "$(CGT(B") + ("$(C$>$?$2(B" "$(CGU(B") + ("$(C$>$?$5(B" "$(CGV(B") + ("$(C$>$?$7(B" "$(CGW(B") + + ("$(C$>$@(B" "$(CGX(B") + ("$(C$>$@$!(B" "$(CGY(B") + ("$(C$>$@$$(B" "$(CGZ(B") + ("$(C$>$@$)(B" "$(CG[(B") + ("$(C$>$@$1(B" "$(CG\(B") + ("$(C$>$@$2(B" "$(CG](B") + ("$(C$>$@$5(B" "$(CG^(B") + ("$(C$>$@$6(B" "$(CG_(B") + ("$(C$>$@$7(B" "$(CG`(B") + + ("$(C$>$A(B" "$(CGa(B") + ("$(C$>$A$7(B" "$(CGb(B") + + ("$(C$>$C(B" "$(CGc(B") + ("$(C$>$C$!(B" "$(CGd(B") + ("$(C$>$C$$(B" "$(CGe(B") + ("$(C$>$C$)(B" "$(CGf(B") + ("$(C$>$C$)$1(B" "$(CGg(B") + ("$(C$>$C$1(B" "$(CGh(B") + ("$(C$>$C$2(B" "$(CGi(B") + ("$(C$>$C$5(B" "$(CGj(B") + ("$(C$>$C$7(B" "$(CGk(B") + + ("$(C$>$D(B" "$(CGl(B") + ("$(C$>$D$!(B" "$(CGm(B") + ("$(C$>$D$$(B" "$(CGn(B") + ("$(C$>$D$)(B" "$(CGo(B") + ("$(C$>$D$1(B" "$(CGp(B") + ("$(C$>$D$2(B" "$(CGq(B") + ("$(C$>$D$5(B" "$(CGr(B") + ("$(C$>$D$7(B" "$(CGs(B") + + ("$(C$>$E(B" "$(CGt(B") + ("$(C$>$E$!(B" "$(CGu(B") + ("$(C$>$E$$(B" "$(CGv(B") + ("$(C$>$E$)(B" "$(CGw(B") + ("$(C$>$E$1(B" "$(CGx(B") + ("$(C$>$E$2(B" "$(CGy(B") + ("$(C$>$E$5(B" "$(CGz(B") + ("$(C$>$E$6(B" "$(CG{(B") + ("$(C$>$E$7(B" "$(CG|(B") + + ("$(C$>$F(B" "$(CG}(B") + ("$(C$>$F$$(B" "$(CG~(B") + ("$(C$>$F$)(B" "$(CH!(B") + ("$(C$>$F$2(B" "$(CH"(B") + + ("$(C$>$G(B" "$(CH#(B") + ("$(C$>$G$!(B" "$(CH$(B") + ("$(C$>$G$$(B" "$(CH%(B") + ("$(C$>$G$)(B" "$(CH&(B") + ("$(C$>$G$)$<(B" "$(CH'(B") + ("$(C$>$G$1(B" "$(CH((B") + ("$(C$>$G$2(B" "$(CH)(B") + ("$(C$>$G$5(B" "$(CH*(B") + ("$(C$>$G$7(B" "$(CH+(B") + ("$(C$>$G$<(B" "$(CH,(B") + + ("$(C$>$G$?(B" "$(CH-(B") + ("$(C$>$G$?$!(B" "$(CH.(B") + ("$(C$>$G$?$$(B" "$(CH/(B") + ("$(C$>$G$?$)(B" "$(CH0(B") + ("$(C$>$G$?$5(B" "$(CH1(B") + ("$(C$>$G$?$7(B" "$(CH2(B") + + ("$(C$>$G$@(B" "$(CH3(B") + ("$(C$>$G$@$!(B" "$(CH4(B") + ("$(C$>$G$@$$(B" "$(CH5(B") + ("$(C$>$G$@$5(B" "$(CH6(B") + ("$(C$>$G$@$7(B" "$(CH7(B") + + ("$(C$>$G$S(B" "$(CH8(B") + ("$(C$>$G$S$!(B" "$(CH9(B") + ("$(C$>$G$S$$(B" "$(CH:(B") + ("$(C$>$G$S$)(B" "$(CH;(B") + ("$(C$>$G$S$2(B" "$(CH<(B") + ("$(C$>$G$S$5(B" "$(CH=(B") + ("$(C$>$G$S$7(B" "$(CH>(B") + + ("$(C$>$K(B" "$(CH?(B") + ("$(C$>$K$$(B" "$(CH@(B") + ("$(C$>$K$)(B" "$(CHA(B") + ("$(C$>$K$2(B" "$(CHB(B") + ("$(C$>$K$5(B" "$(CHC(B") + + ("$(C$>$L(B" "$(CHD(B") + ("$(C$>$L$!(B" "$(CHE(B") + ("$(C$>$L$$(B" "$(CHF(B") + ("$(C$>$L$)(B" "$(CHG(B") + ("$(C$>$L$)$<(B" "$(CHH(B") + ("$(C$>$L$1(B" "$(CHI(B") + ("$(C$>$L$5(B" "$(CHJ(B") + ("$(C$>$L$7(B" "$(CHK(B") + + ("$(C$>$L$C(B" "$(CHL(B") + ("$(C$>$L$C$$(B" "$(CHM(B") + ("$(C$>$L$C$)(B" "$(CHN(B") + ("$(C$>$L$C$1(B" "$(CHO(B") + ("$(C$>$L$C$7(B" "$(CHP(B") + + ("$(C$>$L$D(B" "$(CHQ(B") + ("$(C$>$L$D$!(B" "$(CHR(B") + ("$(C$>$L$D$$(B" "$(CHS(B") + ("$(C$>$L$D$)(B" "$(CHT(B") + ("$(C$>$L$D$7(B" "$(CHU(B") + + ("$(C$>$L$S(B" "$(CHV(B") + ("$(C$>$L$S$!(B" "$(CHW(B") + ("$(C$>$L$S$$(B" "$(CHX(B") + ("$(C$>$L$S$)(B" "$(CHY(B") + ("$(C$>$L$S$1(B" "$(CHZ(B") + ("$(C$>$L$S$2(B" "$(CH[(B") + ("$(C$>$L$S$5(B" "$(CH\(B") + ("$(C$>$L$S$7(B" "$(CH](B") + + ("$(C$>$P(B" "$(CH^(B") + ("$(C$>$P$!(B" "$(CH_(B") + ("$(C$>$P$$(B" "$(CH`(B") + ("$(C$>$P$)(B" "$(CHa(B") + ("$(C$>$P$1(B" "$(CHb(B") + ("$(C$>$P$5(B" "$(CHc(B") + ("$(C$>$P$7(B" "$(CHd(B") + + ("$(C$>$Q(B" "$(CHe(B") + ("$(C$>$Q$!(B" "$(CHf(B") + ("$(C$>$Q$$(B" "$(CHg(B") + ("$(C$>$Q$$$>(B" "$(CHh(B") + ("$(C$>$Q$'(B" "$(CHi(B") + ("$(C$>$Q$)(B" "$(CHj(B") + ("$(C$>$Q$)$!(B" "$(CHk(B") + ("$(C$>$Q$1(B" "$(CHl(B") + ("$(C$>$Q$2(B" "$(CHm(B") + ("$(C$>$Q$5(B" "$(CHn(B") + ("$(C$>$Q$7(B" "$(CHo(B") + ("$(C$>$Q$<(B" "$(CHp(B") + + ("$(C$>$Q$S(B" "$(CHq(B") + ("$(C$>$Q$S$$(B" "$(CHr(B") + ("$(C$>$Q$S$)(B" "$(CHs(B") + ("$(C$>$Q$S$1(B" "$(CHt(B") + ("$(C$>$Q$S$2(B" "$(CHu(B") + ("$(C$>$Q$S$7(B" "$(CHv(B") + + ("$(C$>$S(B" "$(CHw(B") + ("$(C$>$S$!(B" "$(CHx(B") + ("$(C$>$S$$(B" "$(CHy(B") + ("$(C$>$S$)(B" "$(CHz(B") + ("$(C$>$S$1(B" "$(CH{(B") + ("$(C$>$S$2(B" "$(CH|(B") + ("$(C$>$S$5(B" "$(CH}(B") + ("$(C$>$S$7(B" "$(CH~(B")) (dolist (ascii '(("1" . "$(C#1(B") ("2" . "$(C#2(B") ("3" . "$(C#3(B") ("4" . "$(C#4(B") - ("5" . "$(C#5(B") ("6" . "$(C#6(B") ("7" . "$(C#7(B") ("8" . "$(C#8(B") - ("9" . "$(C#9(B") ("0" . "$(C#0(B") - (" " . "$(C!!(B") ("!" . "$(C#!(B") ("@" . "$(C#@(B") ("#" . "$(C##(B") - ("$" . "$(C#$(B") ("%" . "$(C#%(B") ("^" . "$(C#^(B") ("&" . "$(C#&(B") - ("*" . "$(C#*(B") ("(" . "$(C#((B") (")" . "$(C#)(B") - ("-" . "$(C#-(B") ("=" . "$(C#=(B") ("`" . "$(C#`(B") ("\\" . "$(C#\(B") - ("|" . "$(C#|(B") ("_" . "$(C#_(B") ("+" . "$(C#+(B") ("~" . "$(C#~(B") - ("[" . "$(C!8(B") ("]" . "$(C!9(B") ("{" . "$(C#{(B") ("}" . "$(C#}(B") - (":" . "$(C#:(B") (";" . "$(C#;(B") ("\"" . "$(C#"(B") ("'" . "$(C#'(B") - ("<" . "$(C#<(B") (">" . "$(C#>(B") ("?" . "$(C#?(B") ("/" . "$(C#/(B") - ("," . "$(C#,(B") ("." . "$(C#.(B") - ("a" . "$(C#a(B") ("b" . "$(C#b(B") ("c" . "$(C#c(B") ("d" . "$(C#d(B") - ("e" . "$(C#e(B") ("f" . "$(C#f(B") ("g" . "$(C#g(B") ("h" . "$(C#h(B") - ("i" . "$(C#i(B") ("j" . "$(C#j(B") ("k" . "$(C#k(B") ("l" . "$(C#l(B") - ("m" . "$(C#m(B") ("n" . "$(C#n(B") ("o" . "$(C#o(B") ("p" . "$(C#p(B") - ("q" . "$(C#q(B") ("r" . "$(C#r(B") ("s" . "$(C#s(B") ("t" . "$(C#t(B") - ("u" . "$(C#u(B") ("v" . "$(C#v(B") ("w" . "$(C#w(B") ("x" . "$(C#x(B") - ("y" . "$(C#y(B") ("z" . "$(C#z(B") - ("A" . "$(C#A(B") ("B" . "$(C#B(B") ("C" . "$(C#C(B") ("D" . "$(C#D(B") - ("E" . "$(C#E(B") ("F" . "$(C#F(B") ("G" . "$(C#G(B") ("H" . "$(C#H(B") - ("I" . "$(C#I(B") ("J" . "$(C#J(B") ("K" . "$(C#K(B") ("L" . "$(C#L(B") - ("M" . "$(C#M(B") ("N" . "$(C#N(B") ("O" . "$(C#O(B") ("P" . "$(C#P(B") - ("Q" . "$(C#Q(B") ("R" . "$(C#R(B") ("S" . "$(C#S(B") ("T" . "$(C#T(B") - ("U" . "$(C#U(B") ("V" . "$(C#V(B") ("W" . "$(C#W(B") ("X" . "$(C#X(B") - ("Y" . "$(C#Y(B") ("Z" . "$(C#Z(B"))) + ("5" . "$(C#5(B") ("6" . "$(C#6(B") ("7" . "$(C#7(B") ("8" . "$(C#8(B") + ("9" . "$(C#9(B") ("0" . "$(C#0(B") + (" " . "$(C!!(B") ("!" . "$(C#!(B") ("@" . "$(C#@(B") ("#" . "$(C##(B") + ("$" . "$(C#$(B") ("%" . "$(C#%(B") ("^" . "$(C#^(B") ("&" . "$(C#&(B") + ("*" . "$(C#*(B") ("(" . "$(C#((B") (")" . "$(C#)(B") + ("-" . "$(C#-(B") ("=" . "$(C#=(B") ("`" . "$(C#`(B") ("\\" . "$(C#\(B") + ("|" . "$(C#|(B") ("_" . "$(C#_(B") ("+" . "$(C#+(B") ("~" . "$(C#~(B") + ("[" . "$(C!8(B") ("]" . "$(C!9(B") ("{" . "$(C#{(B") ("}" . "$(C#}(B") + (":" . "$(C#:(B") (";" . "$(C#;(B") ("\"" . "$(C#"(B") ("'" . "$(C#'(B") + ("<" . "$(C#<(B") (">" . "$(C#>(B") ("?" . "$(C#?(B") ("/" . "$(C#/(B") + ("," . "$(C#,(B") ("." . "$(C#.(B") + ("a" . "$(C#a(B") ("b" . "$(C#b(B") ("c" . "$(C#c(B") ("d" . "$(C#d(B") + ("e" . "$(C#e(B") ("f" . "$(C#f(B") ("g" . "$(C#g(B") ("h" . "$(C#h(B") + ("i" . "$(C#i(B") ("j" . "$(C#j(B") ("k" . "$(C#k(B") ("l" . "$(C#l(B") + ("m" . "$(C#m(B") ("n" . "$(C#n(B") ("o" . "$(C#o(B") ("p" . "$(C#p(B") + ("q" . "$(C#q(B") ("r" . "$(C#r(B") ("s" . "$(C#s(B") ("t" . "$(C#t(B") + ("u" . "$(C#u(B") ("v" . "$(C#v(B") ("w" . "$(C#w(B") ("x" . "$(C#x(B") + ("y" . "$(C#y(B") ("z" . "$(C#z(B") + ("A" . "$(C#A(B") ("B" . "$(C#B(B") ("C" . "$(C#C(B") ("D" . "$(C#D(B") + ("E" . "$(C#E(B") ("F" . "$(C#F(B") ("G" . "$(C#G(B") ("H" . "$(C#H(B") + ("I" . "$(C#I(B") ("J" . "$(C#J(B") ("K" . "$(C#K(B") ("L" . "$(C#L(B") + ("M" . "$(C#M(B") ("N" . "$(C#N(B") ("O" . "$(C#O(B") ("P" . "$(C#P(B") + ("Q" . "$(C#Q(B") ("R" . "$(C#R(B") ("S" . "$(C#S(B") ("T" . "$(C#T(B") + ("U" . "$(C#U(B") ("V" . "$(C#V(B") ("W" . "$(C#W(B") ("X" . "$(C#X(B") + ("Y" . "$(C#Y(B") ("Z" . "$(C#Z(B"))) (let ((in (car ascii)) (out (cdr ascii))) - (its-defrule (concat its-pankak-escape in) in) - (its-defrule (concat its-jeonkak-escape in) out)))) + (its-defrule (concat its-pankak-escape in) in) + (its-defrule (concat its-jeonkak-escape in) out)))) (define-its-state-machine-append its-hangul-map (its-defrule "[" its-hangul-open-bracket) @@ -2869,45 +2898,45 @@ (its-defrule "," its-hangul-comma) (if its-hangul-enable-jeonkak-alphabet - (progn - (its-defrule "1" "$(C#1(B") (its-defrule "2" "$(C#2(B") - (its-defrule "3" "$(C#3(B") (its-defrule "4" "$(C#4(B") - (its-defrule "5" "$(C#5(B") (its-defrule "6" "$(C#6(B") - (its-defrule "7" "$(C#7(B") (its-defrule "8" "$(C#8(B") - (its-defrule "9" "$(C#9(B") (its-defrule "0" "$(C#0(B") - (its-defrule "!" "$(C#!(B") (its-defrule "@" "$(C#@(B") - (its-defrule "#" "$(C##(B") (its-defrule "$" "$(C#$(B") - (its-defrule "%" "$(C#%(B") (its-defrule "^" "$(C#^(B") - (its-defrule "&" "$(C#&(B") (its-defrule "*" "$(C#*(B") - (its-defrule "(" "$(C#((B") (its-defrule ")" "$(C#)(B") - (its-defrule "-" "$(C#-(B") (its-defrule "~" "$(C#~(B") - (its-defrule "=" "$(C#=(B") (its-defrule "`" "$(C#`(B") - (its-defrule "\\" "$(C#\(B") (its-defrule "|" "$(C#|(B") - (its-defrule "_" "$(C#_(B") (its-defrule "+" "$(C#+(B") - (its-defrule "{" "$(C#{(B") (its-defrule "}" "$(C#}(B") - (its-defrule ":" "$(C#:(B") (its-defrule ";" "$(C#;(B") - (its-defrule "\"" "$(C#"(B") (its-defrule "'" "$(C#'(B") - (its-defrule "<" "$(C#<(B") (its-defrule ">" "$(C#>(B") - (its-defrule "?" "$(C#?(B") (its-defrule "/" "$(C#/(B")) + (progn + (its-defrule "1" "$(C#1(B") (its-defrule "2" "$(C#2(B") + (its-defrule "3" "$(C#3(B") (its-defrule "4" "$(C#4(B") + (its-defrule "5" "$(C#5(B") (its-defrule "6" "$(C#6(B") + (its-defrule "7" "$(C#7(B") (its-defrule "8" "$(C#8(B") + (its-defrule "9" "$(C#9(B") (its-defrule "0" "$(C#0(B") + (its-defrule "!" "$(C#!(B") (its-defrule "@" "$(C#@(B") + (its-defrule "#" "$(C##(B") (its-defrule "$" "$(C#$(B") + (its-defrule "%" "$(C#%(B") (its-defrule "^" "$(C#^(B") + (its-defrule "&" "$(C#&(B") (its-defrule "*" "$(C#*(B") + (its-defrule "(" "$(C#((B") (its-defrule ")" "$(C#)(B") + (its-defrule "-" "$(C#-(B") (its-defrule "~" "$(C#~(B") + (its-defrule "=" "$(C#=(B") (its-defrule "`" "$(C#`(B") + (its-defrule "\\" "$(C#\(B") (its-defrule "|" "$(C#|(B") + (its-defrule "_" "$(C#_(B") (its-defrule "+" "$(C#+(B") + (its-defrule "{" "$(C#{(B") (its-defrule "}" "$(C#}(B") + (its-defrule ":" "$(C#:(B") (its-defrule ";" "$(C#;(B") + (its-defrule "\"" "$(C#"(B") (its-defrule "'" "$(C#'(B") + (its-defrule "<" "$(C#<(B") (its-defrule ">" "$(C#>(B") + (its-defrule "?" "$(C#?(B") (its-defrule "/" "$(C#/(B")) (progn - (its-defrule "1" "1") (its-defrule "2" "2") - (its-defrule "3" "3") (its-defrule "4" "4") - (its-defrule "5" "5") (its-defrule "6" "6") - (its-defrule "7" "7") (its-defrule "8" "8") - (its-defrule "9" "9") (its-defrule "0" "0") - (its-defrule "!" "!") (its-defrule "@" "@") - (its-defrule "#" "#") (its-defrule "$" "$") - (its-defrule "%" "%") (its-defrule "^" "^") - (its-defrule "&" "&") (its-defrule "*" "*") - (its-defrule "(" "(") (its-defrule ")" ")") - (its-defrule "-" "-") (its-defrule "~" "~") - (its-defrule "=" "=") (its-defrule "`" "`") - (its-defrule "\\" "\\") (its-defrule "|" "|") - (its-defrule "_" "_") (its-defrule "+" "+") - (its-defrule "{" "{") (its-defrule "}" "}") - (its-defrule ":" ":") (its-defrule ";" ";") - (its-defrule "\"" "\"") (its-defrule "'" "'") - (its-defrule "<" "<") (its-defrule ">" ">") - (its-defrule "?" "?") (its-defrule "/" "/")))) + (its-defrule "1" "1") (its-defrule "2" "2") + (its-defrule "3" "3") (its-defrule "4" "4") + (its-defrule "5" "5") (its-defrule "6" "6") + (its-defrule "7" "7") (its-defrule "8" "8") + (its-defrule "9" "9") (its-defrule "0" "0") + (its-defrule "!" "!") (its-defrule "@" "@") + (its-defrule "#" "#") (its-defrule "$" "$") + (its-defrule "%" "%") (its-defrule "^" "^") + (its-defrule "&" "&") (its-defrule "*" "*") + (its-defrule "(" "(") (its-defrule ")" ")") + (its-defrule "-" "-") (its-defrule "~" "~") + (its-defrule "=" "=") (its-defrule "`" "`") + (its-defrule "\\" "\\") (its-defrule "|" "|") + (its-defrule "_" "_") (its-defrule "+" "+") + (its-defrule "{" "{") (its-defrule "}" "}") + (its-defrule ":" ":") (its-defrule ";" ";") + (its-defrule "\"" "\"") (its-defrule "'" "'") + (its-defrule "<" "<") (its-defrule ">" ">") + (its-defrule "?" "?") (its-defrule "/" "/")))) (provide 'its/hangul) diff --git a/its/hankata.el b/its/hankata.el index fc51124..284d08e 100644 --- a/its/hankata.el +++ b/its/hankata.el @@ -35,16 +35,16 @@ (require 'its) (require 'cl)) -(defvar its-kata-enable-double-n nil "*Enable \"nn\" input for \"$B%s(B\" ") -(defvar its-kata-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet") -(defvar its-kata-period "(I!(B" "*$B%T%j%*%I(B") ; ". " "$B!%(B" -(defvar its-kata-comma "(I$(B" "*$B%3%s%^(B") ; ", " "$B!$(B" -(defvar its-kata-open-bracket "(I"(B" "*[") ; "$B!N(B" -(defvar its-kata-close-bracket "(I#(B" "*]") ; "$B!O(B" -(defvar its-kata-horizontal "(I0(B" "*-") ; "$B!](B" +(defvar its-han-kata-enable-double-n nil "*Enable \"nn\" input for \"$B%s(B\" ") +(defvar its-han-kata-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet") +(defvar its-han-kata-period "(I!(B" "*$B%T%j%*%I(B") ; ". " "$B!%(B" +(defvar its-han-kata-comma "(I$(B" "*$B%3%s%^(B") ; ", " "$B!$(B" +(defvar its-han-kata-open-bracket "(I"(B" "*[") ; "$B!N(B" +(defvar its-han-kata-close-bracket "(I#(B" "*]") ; "$B!O(B" +(defvar its-han-kata-horizontal "(I0(B" "*-") ; "$B!](B" (define-its-state-machine its-han-kata-map - "roma-han-kata" "(I11(B" "Japanese" nil + "roma-han-kata" "(I11(B" 'Japanese "Map for Romaji-Hankaku-Katakana translation. (Japanese)" (defconst its-hankaku-escape "~") ;; Escape character to Hankaku inputs @@ -276,15 +276,15 @@ (its-defrule (concat its-hankaku-escape upcase) upcase))) (define-its-state-machine-append its-han-kata-map - (if its-kata-enable-double-n + (if its-han-kata-enable-double-n (its-defrule "nn" "(I](B") (its-defrule "nn" "(I](B" -1)) - (its-defrule "-" its-kata-horizontal) - (its-defrule "[" its-kata-open-bracket) - (its-defrule "]" its-kata-close-bracket) - (its-defrule "." its-kata-period) - (its-defrule "," its-kata-comma) + (its-defrule "-" its-han-kata-horizontal) + (its-defrule "[" its-han-kata-open-bracket) + (its-defrule "]" its-han-kata-close-bracket) + (its-defrule "." its-han-kata-period) + (its-defrule "," its-han-kata-comma) ) (provide 'its/hankata) diff --git a/its/hira.el b/its/hira.el index 051dcc6..f899001 100644 --- a/its/hira.el +++ b/its/hira.el @@ -36,8 +36,13 @@ (require 'its) (require 'cl)) +(defvar its-hira-enable-zenkaku-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Zenkaku alphabet") + (defvar its-hira-enable-double-n nil "*Enable \"nn\" input for \"$B$s(B\" ") -(defvar its-hira-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet") (defvar its-hira-period "$B!#(B" "*$B%T%j%*%I(B") ; ". " "$B!%(B" (defvar its-hira-comma "$B!"(B" "*$B%3%s%^(B") ; ", " "$B!$(B" (defvar its-hira-open-bracket "$B!V(B" "*[") ; "$B!N(B" @@ -45,7 +50,7 @@ (defvar its-hira-horizontal "$B!<(B" "*-") ; "$B!](B" (define-its-state-machine its-hira-map - "roma-kana" "$B$"(B" "Japanese" nil + "roma-kana" "$B$"(B" 'Japanese "Map for Romaji-Hiragana translation. (Japanese)" (defconst its-zenkaku-escape "Z") ;; Escape character to Zenkaku inputs diff --git a/its/jeonkak.el b/its/jeonkak.el index 2baedfe..e81fb7c 100644 --- a/its/jeonkak.el +++ b/its/jeonkak.el @@ -35,7 +35,7 @@ (require 'its)) (define-its-state-machine its-jeonkak-up-map - "jeonkak-upcase" "$(C#A(B" "Korean" nil + "jeonkak-upcase" "$(C#A(B" 'Korean "Map for jeonkak-upcase input." (dolist (ascii '(("1" . "$(C#1(B") ("2" . "$(C#2(B") ("3" . "$(C#3(B") ("4" . "$(C#4(B") @@ -68,7 +68,7 @@ (its-defrule in out)))) (define-its-state-machine its-jeonkak-down-map - "jeonkak-downcase" "$(C#a(B" "Korean" nil + "jeonkak-downcase" "$(C#a(B" 'Korean "Map for jeonkak-downcase input." (dolist (ascii '(("1" . "$(C#1(B") ("2" . "$(C#2(B") ("3" . "$(C#3(B") ("4" . "$(C#4(B") diff --git a/its/kata.el b/its/kata.el index b138b66..9c11905 100644 --- a/its/kata.el +++ b/its/kata.el @@ -36,8 +36,13 @@ (require 'its) (require 'cl)) +(defvar its-kata-enable-zenkaku-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Zenkaku alphabet") + (defvar its-kata-enable-double-n nil "*Enable \"nn\" input for \"$B%s(B\" ") -(defvar its-kata-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet") (defvar its-kata-period "$B!#(B" "*$B%T%j%*%I(B") ; ". " "$B!%(B" (defvar its-kata-comma "$B!"(B" "*$B%3%s%^(B") ; ", " "$B!$(B" (defvar its-kata-open-bracket "$B!V(B" "*[") ; "$B!N(B" @@ -45,7 +50,7 @@ (defvar its-kata-horizontal "$B!<(B" "*-") ; "$B!](B" (define-its-state-machine its-kata-map - "roma-kata" "$B%"(B" "Japanese" nil + "roma-kata" "$B%"(B" 'Japanese "Map for Romaji-Katakana translation. (Japanese)" (defconst its-zenkaku-escape "Z") ;; Escape character to Zenkaku inputs diff --git a/its/pinyin.el b/its/pinyin.el index 6a32775..36cdd62 100644 --- a/its/pinyin.el +++ b/its/pinyin.el @@ -32,11 +32,21 @@ (require 'its) (require 'cl)) -(defvar its-pinyin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-pinyin-cn-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-pinyin-cn-open-braket "$A!8(B" "*[") ; "$A#[(B" (defvar its-pinyin-cn-close-braket "$A!9(B" "*]") ; "$A#](B" -(defvar its-pinyin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-pinyin-tw-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-pinyin-tw-open-braket "$(G!V(B" "*[") ; "$(G!b(B " (defvar its-pinyin-tw-close-braket "$(G!W(B" "*]") ; "$(G!c(B" @@ -49,7 +59,7 @@ (defun its-prev-terminal-state (input) (let ((len (length input)) - (state (its-get-start-state its-current-map)) + (state (its-get-start-state (symbol-value its-current-map))) (i 0) (ret nil) kst ks) (while (and (< i len) (setq state (its-get-next-state state (aref input i)))) @@ -213,7 +223,7 @@ (its-defrule "n4" "(0?@(B")))) (define-its-state-machine its-pinyin-cn-map - "pinyin-cn" "$AF4(BG" "Chinese-GB" + "pinyin-cn" "$AF4(BG" 'Chinese-GB "Map for Pinyin input. (Chinese-GB)" (defconst its-quanjiao-escape "Z") @@ -287,7 +297,7 @@ (its-defrule "!" "$A#!(B")) (define-its-state-machine its-pinyin-tw-map - "pinyin-tw" "$(GQ;(BC" "Chinese-CNS" + "pinyin-tw" "$(GQ;(BC" 'Chinese-CNS "Map for Pinyin input." (defconst its-quanjiao-escape "Z") @@ -328,11 +338,11 @@ (" " . "$(G!!(B") ("!" . "$(G!*(B") ("@" . "$(G"i(B") ("#" . "$(G!l(B") ("$" . "$(G"c(B") ("%" . "$(G"h(B") ("^" . "$(G!T(B") ("&" . "$(G!m(B") ("*" . "$(G!n(B") ("(" . "$(G!>(B") (")" . "$(G!?(B") - ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"b(B") + ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"`(B") ("|" . "$(G"^(B") ("_" . "$(G"%(B") ("+" . "$(G"0(B") ("~" . "$(G"D(B") - ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$A#{(B") ("}" . "$(G!a(B") + ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$(G!B(B") ("}" . "$(G!C(B") (":" . "$(G!((B") (";" . "$(G!'(B") ("\"" . "$(G!i(B") ("'" . "$(G!k(B") - ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"a(B") + ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"_(B") ("," . "$(G!"(B") ("." . "$(G!%(B") ("a" . "$(G$[(B") ("b" . "$(G$\(B") ("c" . "$(G$](B") ("d" . "$(G$^(B") ("e" . "$(G$_(B") ("f" . "$(G$`(B") ("g" . "$(G$a(B") ("h" . "$(G$b(B") @@ -380,7 +390,7 @@ (its-defrule "=" "$A#=(B") (its-defrule "`" "$A#`(B") (its-defrule "\\" "$A#\(B") (its-defrule "|" "$A#|(B") (its-defrule "_" "$A#_(B") (its-defrule "+" "$A#+(B") - (its-defrule "{" "$A#{(B") (its-defrule "}" "$A#}(B") + (its-defrule "{" "$(G!B(B") (its-defrule "}" "$(G!C(B") (its-defrule "\"" "$A#"(B") (its-defrule "'" "$A#'(B") (its-defrule "<" "$A#<(B") (its-defrule ">" "$A#>(B")) (progn diff --git a/its/quanjiao.el b/its/quanjiao.el index d33205d..d23b881 100644 --- a/its/quanjiao.el +++ b/its/quanjiao.el @@ -35,7 +35,7 @@ (require 'its)) (define-its-state-machine its-quanjiao-up-cn-map - "quanjiao-upcase-cn" "$A#A(B" "Chinese-GB" nil + "quanjiao-upcase-cn" "$A#A(B" 'Chinese-GB "Map for quanjiao-upcase input. (Chinese-GB)" (dolist (ascii '(("0" . "$A#0(B") ("1" . "$A#1(B") ("2" . "$A#2(B") ("3" . "$A#3(B") @@ -68,7 +68,7 @@ (its-defrule in out)))) (define-its-state-machine its-quanjiao-down-cn-map - "quanjiao-downcase-cn" "$A#a(B" "Chinese-GB" nil + "quanjiao-downcase-cn" "$A#a(B" 'Chinese-GB "Map for quanjiao-downcase input. (Chinese-GB)" (dolist (ascii '(("0" . "$A#0(B") ("1" . "$A#1(B") ("2" . "$A#2(B") ("3" . "$A#3(B") @@ -101,7 +101,7 @@ (its-defrule in out)))) (define-its-state-machine its-quanjiao-up-tw-map - "quanjiao-upcase-tw" "$(G$A(B" "Chinese-CNS" nil + "quanjiao-upcase-tw" "$(G$A(B" 'Chinese-CNS "Map for quanjiao-upcase input. (Chinese-CNS)" (dolist (ascii '(("0" . "$(G$!(B") ("1" . "$(G$"(B") ("2" . "$(G$#(B") ("3" . "$(G$$(B") @@ -134,7 +134,7 @@ (its-defrule in out)))) (define-its-state-machine its-quanjiao-down-tw-map - "quanjiao-downcase-tw" "$(G$[(B" "Chinese-CNS" nil + "quanjiao-downcase-tw" "$(G$[(B" 'Chinese-CNS "Map for quanjiao-downcase input. (Chinese-CNS)" (dolist (ascii '(("0" . "$(G$!(B") ("1" . "$(G$"(B") ("2" . "$(G$#(B") ("3" . "$(G$$(B") @@ -143,11 +143,11 @@ (" " . "$(G!!(B") ("!" . "$(G!*(B") ("@" . "$(G"i(B") ("#" . "$(G!l(B") ("$" . "$(G"c(B") ("%" . "$(G"h(B") ("^" . "$(G!T(B") ("&" . "$(G!m(B") ("*" . "$(G!n(B") ("(" . "$(G!>(B") (")" . "$(G!?(B") - ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"b(B") + ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"`(B") ("|" . "$(G"^(B") ("_" . "$(G"%(B") ("+" . "$(G"0(B") ("~" . "$(G"D(B") - ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$A#{(B") ("}" . "$(G!a(B") + ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$(G!B(B") ("}" . "$(G!C(B") (":" . "$(G!((B") (";" . "$(G!'(B") ("\"" . "$(G!i(B") ("'" . "$(G!k(B") - ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"a(B") + ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"_(B") ("," . "$(G!"(B") ("." . "$(G!%(B") ("a" . "$(G$[(B") ("b" . "$(G$\(B") ("c" . "$(G$](B") ("d" . "$(G$^(B") ("e" . "$(G$_(B") ("f" . "$(G$`(B") ("g" . "$(G$a(B") ("h" . "$(G$b(B") diff --git a/its/zenkaku.el b/its/zenkaku.el index d56c1bb..bfde649 100644 --- a/its/zenkaku.el +++ b/its/zenkaku.el @@ -35,7 +35,7 @@ (require 'its)) (define-its-state-machine its-zenkaku-up-map - "zenkaku-upcase" "$B#A(B" "Japanese" nil + "zenkaku-upcase" "$B#A(B" 'Japanese "Map for zenkaku-upcase input." (dolist (ascii '(("0" . "$B#0(B") ("1" . "$B#1(B") ("2" . "$B#2(B") ("3" . "$B#3(B") @@ -68,7 +68,7 @@ (its-defrule in out)))) (define-its-state-machine its-zenkaku-down-map - "zenkaku-downcase" "$B#a(B" "Japanese" nil + "zenkaku-downcase" "$B#a(B" 'Japanese "Map for zenkaku-downcase input." (dolist (ascii '(("0" . "$B#0(B") ("1" . "$B#1(B") ("2" . "$B#2(B") ("3" . "$B#3(B") diff --git a/its/zhuyin.el b/its/zhuyin.el index 442834b..b611112 100644 --- a/its/zhuyin.el +++ b/its/zhuyin.el @@ -32,11 +32,21 @@ (require 'its) (require 'cl)) -(defvar its-zhuyin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-zhuyin-cn-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-zhuyin-cn-open-braket "$A!8(B" "*[") ; "$A#[(B" (defvar its-zhuyin-cn-close-braket "$A!9(B" "*]") ; "$A#](B" -(defvar its-zhuyin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet") +(defvar its-zhuyin-tw-enable-quanjioao-alphabet + (if (boundp 'its-enable-fullwidth-alphabet) + its-enable-fullwidth-alphabet + t) + "*Enable Quanjiao alphabet") + (defvar its-zhuyin-tw-open-braket "$(G!V(B" "*[") ; "$(G!b(B " (defvar its-zhuyin-tw-close-braket "$(G!W(B" "*]") ; "$(G!c(B" @@ -140,7 +150,7 @@ (its-defrule (concat (car N) 4) (concat (nth 1 N) "(0D(B"))))) (define-its-state-machine its-zhuyin-cn-map - "zhuyin-cn" "$AW"(BG" "Chinese-GB" + "zhuyin-cn" "$AW"(BG" 'Chinese-GB "Map for Zhuyin input. (Chinese-GB)" (defconst its-quanjiao-escape "Z") @@ -185,7 +195,7 @@ (its-defrule "?" "$A!"(B")) (define-its-state-machine its-zhuyin-tw-map - "zhuyin-tw" "$(GNC(BC" "Chinese-CNS" + "zhuyin-tw" "$(GNC(BC" 'Chinese-CNS "Map for Zhuyin input." (defconst its-quanjiao-escape "Z") @@ -201,11 +211,11 @@ (" " . "$(G!!(B") ("!" . "$(G!*(B") ("@" . "$(G"i(B") ("#" . "$(G!l(B") ("$" . "$(G"c(B") ("%" . "$(G"h(B") ("^" . "$(G!T(B") ("&" . "$(G!m(B") ("*" . "$(G!n(B") ("(" . "$(G!>(B") (")" . "$(G!?(B") - ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"b(B") + ("-" . "$(G"1(B") ("=" . "$(G"8(B") ("`" . "$(G!j(B") ("\\" . "$(G"`(B") ("|" . "$(G"^(B") ("_" . "$(G"%(B") ("+" . "$(G"0(B") ("~" . "$(G"D(B") - ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$A#{(B") ("}" . "$(G!a(B") + ("[" . "$(G!b(B") ("]" . "$(G!c(B") ("{" . "$(G!B(B") ("}" . "$(G!C(B") (":" . "$(G!((B") (";" . "$(G!'(B") ("\"" . "$(G!i(B") ("'" . "$(G!k(B") - ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"a(B") + ("<" . "$(G"6(B") (">" . "$(G"7(B") ("?" . "$(G!)(B") ("/" . "$(G"_(B") ("," . "$(G!"(B") ("." . "$(G!%(B") ("a" . "$(G$[(B") ("b" . "$(G$\(B") ("c" . "$(G$](B") ("d" . "$(G$^(B") ("e" . "$(G$_(B") ("f" . "$(G$`(B") ("g" . "$(G$a(B") ("h" . "$(G$b(B") @@ -269,9 +279,9 @@ (its-defrule "(" "$(G!>(B") (its-defrule ")" "$(G!?(B") (its-defrule "~" "$(G"D(B") (its-defrule "=" "$(G"8(B") (its-defrule "`" "$(G!j(B") - (its-defrule "\\" "$(G"b(B") (its-defrule "|" "$(G"^(B") + (its-defrule "\\" "$(G"`(B") (its-defrule "|" "$(G"^(B") (its-defrule "_" "$(G"%(B") (its-defrule "+" "$(G"0(B") - (its-defrule "{" "$A#{(B") (its-defrule "}" "$(G!a(B") + (its-defrule "{" "$(G!B(B") (its-defrule "}" "$(G!C(B") (its-defrule "\"" "$(G!i(B") (its-defrule "'" "$(G!k(B")) (progn (its-defrule "#" "#") (its-defrule "$" "$") diff --git a/menudiag.el b/menudiag.el index a8a57de..8829ad5 100644 --- a/menudiag.el +++ b/menudiag.el @@ -59,15 +59,15 @@ (define-key map (char-to-string ch) 'undefined) (setq ch (1+ ch))) (setq ch ?0) - (while (< ch ?9) + (while (<= ch ?9) (define-key map (char-to-string ch) 'menudiag-goto-item) (setq ch (1+ ch))) (setq ch ?a) - (while (< ch ?z) + (while (<= ch ?z) (define-key map (char-to-string ch) 'menudiag-goto-item) (setq ch (1+ ch))) (setq ch ?A) - (while (< ch ?Z) + (while (<= ch ?Z) (define-key map (char-to-string ch) 'menudiag-goto-item) (setq ch (1+ ch))) (define-key map "\C-a" 'menudiag-beginning-of-line) @@ -110,16 +110,20 @@ (defun menudiag-make-selection-list (item-list line-width) (let ((l nil) (line nil) - (width 0)) + (width 0) + (i 0)) (while item-list (let* ((item (car item-list)) (item-width (menudiag-item-width item))) - (if (and line (>= (+ width item-width) line-width)) + (if (and line (or (>= (+ width item-width) line-width) + (>= i 36))) (setq l (cons (reverse line) l) line nil - width 0)) + width 0 + i 0)) (setq line (cons item line) width (+ width (menudiag-item-width item)) + i (1+ i) item-list (cdr item-list)))) (if line (reverse (cons (reverse line) l)) @@ -253,26 +257,29 @@ (if (< pos-in-line (1- (length line))) (menudiag-goto-item-internal (1+ pos-in-line)) (if (>= linepos (1- (length selection-list))) - (signal 'end-of-buffer "") - (menudiag-goto-line (1+ linepos)) - (menudiag-beginning-of-line)))) + (menudiag-goto-line 0) + (menudiag-goto-line (1+ linepos))) + (menudiag-beginning-of-line))) (defun menudiag-backward-item () (interactive) (if (< 0 pos-in-line) (menudiag-goto-item-internal (1- pos-in-line)) (if (< linepos 1) - (signal 'beginning-of-buffer "") - (menudiag-goto-line (1- linepos)) - (menudiag-end-of-line)))) + (menudiag-goto-line (1- (length selection-list))) + (menudiag-goto-line (1- linepos))) + (menudiag-end-of-line))) (defun menudiag-goto-line (n) - (if (or (>= n (length selection-list)) (< n 0)) - (ding) - (setq line (nth n selection-list) - linepos n) - (delete-region (point-min) (point-max)) - (insert (menudiag-make-menu-formatted-string line)))) + (cond + ((>= n (length selection-list)) + (setq n 0)) + ((< n 0) + (setq n (1- (length selection-list))))) + (setq line (nth n selection-list) + linepos n) + (delete-region (point-min) (point-max)) + (insert (menudiag-make-menu-formatted-string line))) (defun menudiag-next-line () (interactive)