/*---------------------------------------------------------------------------- CHIM - CHuoi's Input Method ---------------------------------------------------------------------------- copyright : (C) 2005, 2006, 2007 by Dao Hai Lam http:/xvnkb.sf.net/chim email : daohailamyahoocom last modify : Thu, 05 Jul 2007 23:07:22 +0700 version : 0.9.3 ---------------------------------------------------------------------------- Mudim - Mudzot's Input Method (c)2008 by Mudzot http:/code.google.com/p/mudim email: mudzotgmail.com version: 0.8 date: 29.05.08 ---------------------------------------------------------------------------- This program 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 of the License, or (at your option) any later version. ------------------------------------------------------------------------------- Packed with Dean Edwards' Packer ported to Python by Florian Schulze ----------------------------------------------------------------------------*/ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]);return p}('J(2C(ax)==\'2B\'){}D=P(){L 4z};F=P(){L 4z};F.3D=[\'1g-15\',\'1g-6m\',\'1g-6l\',\'1g-6k\',\'1g-6j\'];F.5X=\'1g-6i\';F.5W=\'1g-6h\';D.4T=\'A\';D.4U=\'a\';D.6w=\'E\';D.6x=\'e\';D.4Y=\'U\';D.4Z=\'u\';D.4W=\'G\';D.4X=\'g\';D.1K=\'Q\';D.1L=\'q\';D.6y=\'y\';D.6z=\'Y\';D.aw=\'i\';D.av=\'I\';D.3N=5L.5K(at);D.29="8e";D.1P=" !@#$%^&*()8d+=-{}[]|\\\\:\\";\'<>?,./~`\\r\\n\\t";D.15=0;D.1f=[];D.1O=V;D.3M=P(u){K n,2y=D.2y;u=u.1k(0);1m(n=0;2y[n]!=0&&2y[n]!=u;n++){}L 2y[n]!=0?n:-1};D.4V=P(u){K n,O=D.O;u=u.1k(0);1m(n=0;O[n]!=0&&O[n]!=u;n++){}L O[n]!=0?n:-1};D.6A=P(8g,8f){K 1G=D.1G;K n,i=-1,j=-1,u;1m(n=0,u=8g.1k(0);1G[n]!=0&&1G[n]!=u;n++){}J(1G[n]!=0){i=n}1m(n=0,u=8f.1k(0);1G[n]!=0&&1G[n]!=u;n++){}J(1G[n]){j=n}L i-j};D.2N=P(n,c){D.1f[n]=5L.5K(c)};D.W=P(){L 4z};D.W.1W=14;D.W.1r=0;D.W.1d=0;D.W.29=[];D.W.63=[];D.W.1U=P(){D.W.1W=!D.W.1W;F.27()};D.W.4C=P(1r,Z){D.W.29[D.W.1d]=D.W.1r;D.W.63[D.W.1d++]=Z;D.W.1r=1r};D.W.5Y=P(){D.W.1r=-1;D.W.1d=0};D.W.88=P(){L D.W.63[D.W.1d-1]};F.60="as";F.8b="8e|ar|\'`~?.^*+=";F.87="|aq|ap|an|am|al|ak|aj|ah|ai|ag|af|au|ae|ad|ac|ab|ao|aa|a9|a8|a7|a6|";F.8a="a5";F.1P="!@#$%^&*()8d+=-{}[]|\\\\:\\";\'<>?,./~`";F.8c=\'|c|a4|p|t|m|n|4F|66|\';F.2D=P(Z,3F){K b=D.1f;K 11=b.X;K n=Z.1M();J(D.W.1W&&!F.3H){J(3F>0&&D.15==0){J(F.1T.X>0){K 62=F.8c.1i(\'|\'+F.1T+\'|\');J(62<0){D.15=11;F.1T=\'\';L 14}S J(62<9&&3F==2){K 4D=F.1s(n,2);J(4D!=0&&4D!=1&&4D!=5){D.15=11;F.1T=\'\';L 14}}}J(11==2&&(b[1]==D.4Z||b[1]==D.4Y)&&(b[0]==D.1L||b[0]==D.1K)&&(3F==2||(3F==1&&F.1s(n,1)==1))){D.15=11;L D.1Q(11,c,Z)}}S J(!D.15){K 1I=F.8b.1i(Z);J(11>0){K 1o=b[11-1].1M()}J(11==0){J(F.8a.1i(Z)>=0){D.15=-1}S J(1I>=0&&1I<12){D.W.4C(0,Z)}S J(1I==12||1I>37){L}S{D.W.5Y()}}S J(1I==12||1I>37){D.1H();L}S J(1I>12){D.15=11}S J(1I>=0){K i=0;1p(F.60.1i(b[i])>=0){i++}J(i>0){F.1J=b.6B(0,i).2P().2O(/,/g,\'\').1M()}J(D.W.1r<0){J(F.1J==\'q\'){J(11==1&&n!=\'u\'){D.15=11}S J(b[1]==\'u\'&&n==\'u\'){D.15=11}}S J(1o==\'p\'&&n!=\'h\'){D.15=11}S J(1o==\'k\'&&n!=\'i\'&&n!=\'e\'&&n!=\'y\'){D.15=11}S J(F.1J==\'a3\'&&n!=\'i\'&&n!=\'e\'){D.15=11}S{D.W.4C(11,Z);J(n==\'y\'){J(\'a2\'.1i(1o)<0){D.15=11}}S J(n==\'e\'||n==\'i\'){J(11>1&&(1o==\'g\')){D.15=11}J(1o==\'c\'){D.15=1}}}}S J(11-D.W.1r>1){D.15=11}S{K w="|"+D.W.88().1M()+Z.1M()+"|";K 61=F.87.1i(w);J(61<0){D.15=11}S J(61<18&&(F.1J==\'c\'||F.1J==\'C\')){D.15=11}S J(1o==\'y\'&&F.1J==\'\'&&n!=\'e\'){D.15=11}S{D.W.4C(11,Z)}}}S{28(Z){19\'h\':19\'H\':J(1o>=D.3N||"a1".1i(1o)<0){D.15=11}1c;19\'g\':19\'G\':J(1o!=\'n\'&&1o!=\'N\'){D.15=11}1c;19\'r\':19\'R\':J(1o!=\'t\'&&1o!=\'T\'){D.15=11}1c;6C:J(F.60.1i(1o)>=0){D.15=11}1c}}}J(D.15!=0){L 14}}L V};D.1Q=P(1d,a0,Z){J(F.1P.1i(Z)>=0){D.1H();L}F.9Z=\'9Y\';D.1f.86(Z);L F.4Q(D.1C[F.1j-1][2].1E(0))};D.7G=P(Z){K p=-1;K i,j=-1;K b,c=0,9X,l;K 1d=D.1f.X;K m=D.1C[F.1j-1],n;K v=1l;J(!1d||D.15!=0||F.3I){J(F.2D(Z,l)){L D.1Q(1d,c,Z)}L D.1Q(0,0,Z)}b=D.1f;c=b[p=1d-1];n=Z.1M();1m(l=1;l=0){1c}J(l>=m.X){F.2D(Z,0);L D.1Q(1d,c,Z)}J((p=F.4P(n))<0){F.2D(Z,0);L D.1Q(1d,c,Z)}F.9W=\'9V\';J(F.2D(Z,l)){L D.1Q(1d,c,Z)}c=b[p];K x=c.1k(0);K 3E=V;J(l==1){m=m[0];1m(i=0;!3E&&i0&&F.1s(n,1)==1&&p<1d-1&&D.4V(b[p])>=0&&D.3M(b[p-1])>=0&&b[0]!=D.1L&&b[0]!=D.1K){F.1D(p-1,b[p-1].1k(0),1,D.1F,n,V)}3E=14;1c}}1c}}}S{1m(i=0;i=0};D.7Y=P(){K 1d=D.1f.X;J(1d<=0){D.1O=14}S{J(F.2G[0]==1d-1)F.3L();K i=D.1X.X-1;K 5Z=D.1f[1d-1].1k(0);1p(i>=0&&D.1X[i]!=5Z){i--}J(i<0){i=D.1F.X-1;1p(i>=0&&D.1F[i]!=5Z){i--}}J(i>=0&&(i%2)==1){F.w--}--1d;D.1f.9U();J(1d==D.W.1r){D.W.1r=D.W.29[--D.W.1d]}J((D.15<0&&!1d)||(1d<=D.15)){D.15=0}}};D.1H=P(){D.15=0;F.w=0;D.W.5Y();F.3L();F.1T=\'\';F.1J=\'\';F.25=0;F.23=0;J(D.1f.X>0){F.3I=V;F.3H=V}D.1f=[]};D.2K=P(){J(2C(F.3D)!="2B"&&F.1jM.X||M.5V<0||M.5V>M.X||M.5V0){1p(c>=0&&1P.1i(M.1b.1E(c))<0){D.1f.9H(M.1b.1E(c));c=c-1}}F.22=c+1}S{D.1f=D.1N.7N(M).4O(\'\')}D.1O=V};D.81=9;D.5O=8;D.5J=13;D.7X=46;D.5I=32;D.7I=9G;D.5N=37;D.5M=39;D.7W=36;D.7V=35;D.7U=33;D.7T=34;D.7S=38;D.7R=40;D.7P=9F;D.7O=5c;D.7Q=9E;D.5F=17;D.5H=16;D.9D=18;D.5B=P(1a,7Z){28(1a){19 D.81:19 D.5J:D.1H();1c;19 D.5O:J(!7Z){D.7Y()}1c;19 D.7X:19 D.5N:19 D.5M:19 D.7W:19 D.7V:19 D.7U:19 D.7T:19 D.7S:19 D.7R:D.1O=14;1c}};D.7D=P(e,k){J(k==D.7Q){F.4K();L 14}S J(k==D.7P||k==D.7O){D.1U();L 14}L V};D.1N=P(){L 4z};D.1N.5P=P(M){J(!M.4y.3A){L}K 5Q=M.4y.3A.5A;L(!1n.1S&&1e.1R)?5Q.1e.1t.5R():5Q.9C().9B(0)};D.1N.7N=P(M){K 1h=D.1N.5P(M);J(!1h){L\'\'}J(!1n.1S&&1e.1R){1p(1h.4w(\'20\',-1)==-1){J(D.1P.1i(1h.1B.1E(0))>=0){1h.4w(\'20\',1);1c}}L 1h.1B}K 4x=\'\';K s;J(!(s=1h.7L.4v)){L\'\'}K c=1h.7K-1;J(c>0){1p(c>=0&&D.1P.1i(s.1E(c))<0&&s.1k(c)!=9A){4x=s.1E(c)+4x;c=c-1}}L 4x};D.1N.6H=P(M,l){K 1h=D.1N.5P(M);J(2C(1h)==\'2B\'){L}K b=D.1f;J(!1n.1S&&1e.1R){K x=-l;1h.4w(\'20\',x);1h.7M(\'20\',x+b.X);1h.9z(b.2P().2O(/,/g,\'\'));L}K 2A=1h.7L;K 3B=1h.7K;K 2a=3B-l;2A.4v=2A.4v.2Q(0,2a)+b.2P().2O(/,/g,\'\')+2A.4v.2Q(2a+l);J(l0){1m(K i=0;i<4u.X;i++){J(M.1A==4u[i]){L 14}}}L V};D.4p=P(e){J(e==1l){e=1n.4t}J(e.7J==14){L}e.7J=14;K 1a=e.1a;J(1a==0){1a=e.4s}J(1a==0){1a=e.7A}J(F.1j==0){L}K M=1l;J(!(M=D.5E(e))||!D.5D||D.5C(M)){L}J(e.7C||e.7B||e.5G){J(1a==D.5O||1a==D.5N||1a==D.5M){D.1O=14}L}J(e.4s==1l||e.4s!=0){K Z=5L.5K(1a);J(1a==D.5I||1a==D.5J){D.1H()}S J(1a>D.5I&&1a=0){1c}p=11-1;F.9f=\'9e\';28(l=i){19 1:J(F.1s(k,1)==3){1c}19 2:6C:i=p;1p(i>=0&&b[i]=0&&(D.29.1i(b[i-1])>=0||b[i-1]>D.3N)&&D.6A(b[i-1],b[i])<0)i--;J(i==11-1&&i-1>=0&&(j=D.3M(b[i-1]))>0){28(b[i]){19 D.4U:19 D.4T:J((i-2<0||(j<24&&b[i-2]!=D.1L&&b[i-2]!=D.1K)||(j>=24&&b[i-2]!=D.4X&&b[i-2]!=D.4W))&&(l==2||(l==1&&F.1s(k,1)==1)))i--;1c;19 D.4Z:19 D.4Y:J(i-2<0||(b[i-2]!=D.4X&&b[i-2]!=D.4W))i--;1c;19 D.6z:19 D.6y:J((!F.1x)&&i-2>=0&&b[i-2]!=D.1L&&b[i-2]!=D.1K){i--}1c}}J(i==11-1&&i-1>=0&&D.4V(b[i-1])>0){28(b[i]){19 D.4U:19 D.4T:J(!F.1x&&(l==2||(l==1&&F.1s(k,1)!=1)))i--;1c;19 D.6x:19 D.6w:J(!F.1x)i--;1c}}J(i==11-2&&i-1>=0){K 4S=D.3M(b[i]);J(4S>=0&&4S<24&(b[i-1]==D.1L||b[i-1]==D.1K)){i++}}p=i;1c};J(F.1s(k,1)==3&&b[0]==\'d\'){L 0}L p};F.1D=P(1Y,6u,2L,6v,Z,4R){K v=6v;K i;1m(i=0;i=0){J(j!=i){D.2N(1Y,v[j]);F.2G=[1Y,(D.1f[1Y]).1k(0),v,Z]}S{D.2N(1Y,v[0]);F.3L();J(4R){D.15=D.1f.X+1}}}1c}L 14}}L V};F.3L=P(){F.2G=[-1,0,1l,\'z\']};F.4Q=P(6t){J(D.15!=0){L V}K p=F.4P(6t);K a=F.2G;K b=D.1f;K v,i,j,c;J(p<0){L V}i=D.1X.X-1;c=b[p].1k(0);1p(i>=0&&D.1X[i]!=c){i--}j=D.1F.X-1;J(p>0){c=b[p-1].1k(0);1p(j>=0&&D.1F[j]!=c){j--}}S{j=-1}J(p0&&i>=0&&j>=0){J(F.w==1){J(i%2==0){F.1D(p,b[p].1k(0),1,D.1X,D.1C[F.1j-1][1].1E(1),V);J(b[0]==D.1L||b[0]==D.1K){F.1D(p-1,b[p-1].1k(0),1,D.1F,D.1C[F.1j-1][1].1E(1),V)}}S{J(b[0]!=D.1L&&b[0]!=D.1K){F.1D(p-1,b[p-1].1k(0),1,D.1F,D.1C[F.1j-1][1].1E(1),V)}}L 14}}J(a[0]>=0&&p>0&&a[0]!=p){F.1D(a[0],a[1],2,a[2],a[3],V);1m(i=0;i=0){L j}}L j}};F.27=P(){K d=9d 9c();d.9b(d.9a()+99);K 6s=\';98=\'+d.96()+\';95=/\';K 1b=F.1j;K 1b=D.W.1W?1b+8:1b;1b=F.1x?1b+16:1b;1b=F.1w?1b+32:1b;1e.6r=\'|1g-6q=\'+1b+6s};F.6c=P(){K c=1e.6r.4O(\';\');1m(K i=0;iF 8z.8 <1V 2J="1g" 1A="1g-15" 1y="F.1v(0);" 1z="2I">\'+F.1u[0]+\'<1V 2J="1g" 1A="1g-6m" 1y="F.1v(1);" 1z="2I"> \'+F.1u[1]+\' <1V 2J="1g" 1A="1g-6l" 1y="F.1v(2);" 1z="2I"> \'+F.1u[2]+\' <1V 2J="1g" 1A="1g-6k" 1y="F.1v(3);" 1z="2I"> \'+F.1u[3]+\' <1V 2J="1g" 1A="1g-6j" 1y="F.1v(4);" 1z="2I"> \'+F.1u[4]+\' <1V 1A="1g-6i" 1y="6g:F.6b();" 1z="6e">\'+F.1u[5]+\'<1V 1A="1g-6h" 1y="6g:F.6f();" 1z="6e">\'+F.1u[6]+\' [&8y;\'+F.1u[7]+\' (8x) \'+F.1u[8]+\' (8w) ]\';f.2H.3K=\'4I\';1e.6d.8v(f,1e.6d.8u);F.26=f;F.6c()}};F.6b=P(){D.W.1U()};F.1U=P(){D.1U()};F.1v=P(m){D.1v(m)};F.4H=P(){D.4H()};F.4E=P(){D.3J();1n.8t(\'D.3J()\',8s);};F.1j=4;F.1x=14;F.4G=4;F.1w=14;F.2G=[-1,0,1l,-1];F.w=0;F.3I=V;F.3H=V;F.3G=V;F.25=0;F.23=0;F.1J=\'\';F.1T=\'\';F.22=0;F.6a=\'8r\';F.67=\'8q\';F.1u=[\'Tắt\',\'8p\',\'8o\',\'8n\',\'Tổ4F hợp\',\'8mí66 tả\',\'Bỏ dấu 8lểu mới\',\'Bật/Tắt\',\'Ẩn/8kện bả4F điều 8jển\'];F.64=[];J(!1n.1S&&1e.1R){1n.2F("8i",F.4E)}S{1n.2E("8h",F.4E,V)}',62,654,'|||||||||||||||||||||||||||||||||||||||CHIM||Mudim||||if|var|return|target|||function|||else|||false|Speller|length||key||len|||true|off||||case|keyCode|value|break|count|document|buffer|mudim|range|indexOf|method|charCodeAt|null|for|window|lkey|while|index|position|GetMarkTypeID|selection|LANG|SetMethod|showPanel|newAccentRule|onclick|type|id|text|modes|PutMark|charAt|vn_UW|VN|ClearBuffer|kp|headConsonants|CHAR_Q|CHAR_q|toLowerCase|HTMLEditor|dirty|separators|Append|all|opera|tailConsonants|Toggle|input|enabled|vn_OW|pos|7900|character|textRange|startWordOffset|shiftSerie||ctrlSerie|Panel|SetPreference|switch|vowels|start|tagName|7906|7907|7904|7905|7902|7903|7901|7898|7899|416|417|7896|7897|7894|7895|7892|7893|7891|7888|7889|212|244|UI|doc|container|undefined|typeof|CheckSpell|addEventListener|attachEvent|accent|style|radio|name|SetDisplay|group|vncode_2|SetCharAt|replace|toString|substring|GetCursorPosition|7890|7884|7885|213|245|7886|7887|210|242|211|||||||||243|111|7862|7863|7860|7861|7858|7859|7856|7857|7854|7855|258|259|7852|7853|7850|7851|7848|7849|7846|7847|7844|7845|194|226|iframe|offset|selectionStart|DISPLAY_ID|found|grp|newTempDisableSpellCheckRequest|tempDisableSpellCheck|tempOff|Activate|display|ResetAccentInfo|CharIsUI|CHAR_0x80|7920|7921|7918|7919|7916|7917|7914|7915|7912|7913|431|432||7908|7909|360|361|7910||7911|217|249|218|250|117|7840|7841|195|227|7842|7843|192|224|193|225|Attach|MouseDown|KeyHandler|KeyUp|KeyDown|charCode|event|ign|nodeValue|moveStart|word|parentNode|this|checked|getElementById|Set|typeid|Init|ng|oldMethod|SwitchMethod|None|div|TogglePanel|href|100|InitPanel|split|FindAccentPos|AdjustAccent|checkDouble|uipos|CHAR_A|CHAR_a|CharIsO|CHAR_G|CHAR_g|CHAR_U|CHAR_u|HTML|7882|7883|296|297|7880|7881|204|236|205|237|105|121|7878|7879|7876|7877|7874|7875|7872|7873|7870|7871|202|234|7864|7865|7868|7869|7866|7867|200|232|201|233|101|contentWindow|ProcessControlKey|Freeze|peckable|GetTarget|VK_CTRL|metaKey|VK_SHIFT|VK_SPACE|VK_ENTER|fromCharCode|String|VK_RIGHT_ARROW|VK_LEFT_ARROW|VK_BACKSPACE|GetRange|win|createRange|createTextRange|caret|contents|selectionEnd|ACCENTRULE_ID|SPELLCHECK_ID|Clear|code|consonants|idx|ecIdx|lasts|IGNORE_ID||nh|PANEL_BACKGROUND|||COLOR|ToggleSpeller|GetPreference|body|checkbox|ToggleAccentRule|javascript|accentrule|checkspell|auto|viqr|telex|vni|opacity|HidePanel|ShowPanel|settings|cookie|tail|vk|charCodeAtPos|subsTab|CHAR_E|CHAR_e|CHAR_y|CHAR_Y|CharPriorityCompare|slice|default|nKey|scrollTop|SetCursorPosition|end|Process|UpdateUI|272|273|7924|7925|7928|7929|7926|7927|7922|7923|221|253|vn_DD|vn_AW|vn_OO|vn_EE|vn_AA|vncode_1|vn_y0|vn_Y0||vn_i0|vn_I0|vn_e6|vn_E6|vn_e0||vn_E0|vn_u7|vn_U7|vn_u0|vn_U0|vn_o7|vn_O7|vn_o6|vn_O6|vn_o0|vn_O0|vn_a8|vn_A8|vn_a6|vn_A6|vn_a0|vn_A0|catch|try|contentDocument|getElementsByTagName|chim|onmousedown|onkeypress|onkeyup|onkeydown|which|ctrlLeft|ctrlKey|IsHotkey|preventDefault|stopPropagation|AddKey|UpdateBuffer|VK_LIMIT|isHandled|startOffset|startContainer|moveEnd|GetCurrentWord|VK_ONOFF2|VK_ONOFF|VK_PANELTOGGLE|VK_DOWN_ARROW|VK_UP_ARROW|VK_PAGE_DOWN|VK_PAGE_UP|VK_END|VK_HOME|VK_DELETE|BackSpace|release||VK_TAB|setSelectionRange|boundingLeft|srcElement||push|vwchk|Last||nvchk|spchk|tailConsonantsPattern|_|AIUEOYaiueoy|u2|u1|load|onload|khi|Hi|ki|Ch|Viqr|Telex|VNI|lightYellow|Black|2000|setTimeout|firstChild|insertBefore|F8|F9|nbsp|v0|Method|Input|Mudzot|title|com|googlecode|http|10pt|size|font|center|align|width|right|top|fixed|alpha|filter|color|background|3px|padding|black|solid|1px|bottom|border|mudimPanel|innerHTML|createElement|parseInt|path|toGMTString||expires|604800000|getTime|setTime|Date|new|ot|is|0123456zsfrxj|6789ewoda|zsfrxj|ewoda|012345|6789|frame|mousedown|keypress|keyup|keydown|shiftLeft|shiftKey|altLeft|altKey|returnValue|cancelBubble|setStart|setEnd|pasteHTML|160|getRangeAt|getSelection|VK_ALT|119|120|128|unshift|select|collapse|move|parentElement|duplicate|TEXTAREA|findText|INPUT|inRange|textarea|BODY|nodeType|pop|dz|lord|cc|mu|my|lastkey|CGKNPTcgknpt|hklms|ngh|ch|FfJjWwZz|yu|io|uu|ay|eo|ie|eu|ia|iu|oi|ui|uo||ua|ye|ou|oe|ue||uy|oa|BDFJKLQSVWXZbdfjklqsvwxz|BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz|0x80||CHAR_I|CHAR_i|console'.split('|'),0,{})) COLOR='Black'; PANEL_BACKGROUND='lightYellow'; LANG=['Tắt','VNI','Telex','Viqr','Tổng hợp','Chính tả','Bỏ dấu kiểu mới','Bật/Tắt','Ẩn/Hiện bảng điều khiển']; IGNORE_ID = [];