snowball
Version:
snowball word stemming algorithm implementation
107 lines • 78.4 kB
JavaScript
/*!
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
function Snowball(N){function a(v,n,q,m){this.s_size=v.length;this.s=this.toCharArray(v);this.substring_i=n;this.result=q;this.method=m}function G(){var v;return{b:0,k:0,l:0,c:0,lb:0,s_c:function(n){v=n;this.c=0;this.l=n.length;this.lb=0;this.b=this.c;this.k=this.l},g_c:function(){var n=v;v=null;return n},i_g:function(n,q,m){if(this.c<this.l){var s=v.charCodeAt(this.c);if(s<=m&&s>=q){s-=q;if(n[s>>3]&1<<(s&7)){this.c++;return true}}}return false},i_g_b:function(n,q,m){if(this.c>this.lb){var s=v.charCodeAt(this.c-
1);if(s<=m&&s>=q){s-=q;if(n[s>>3]&1<<(s&7)){this.c--;return true}}}return false},o_g:function(n,q,m){if(this.c<this.l){var s=v.charCodeAt(this.c);if(s>m||s<q){this.c++;return true}s-=q;if(!(n[s>>3]&1<<(s&7))){this.c++;return true}}return false},o_g_b:function(n,q,m){if(this.c>this.lb){var s=v.charCodeAt(this.c-1);if(s>m||s<q){this.c--;return true}s-=q;if(!(n[s>>3]&1<<(s&7))){this.c--;return true}}return false},e_s:function(n,q){if(this.l-this.c<n)return false;for(var m=0;m<n;m++)if(v.charCodeAt(this.c+
m)!=q.charCodeAt(m))return false;this.c+=n;return true},e_s_b:function(n,q){if(this.c-this.lb<n)return false;for(var m=0;m<n;m++)if(v.charCodeAt(this.c-n+m)!=q.charCodeAt(m))return false;this.c-=n;return true},f_a:function(n,q){for(var m=0,s=q,z=this.c,w=this.l,i=0,x=0,j=false;;){for(var y=m+(s-m>>1),A=0,B=i<x?i:x,g=n[y],h=B;h<g.s_size;h++){if(z+B==w){A=-1;break}if(A=v.charCodeAt(z+B)-g.s[h])break;B++}if(A<0){s=y;x=B}else{m=y;i=B}if(s-m<=1){if(m>0||s==m||j)break;j=true}}for(;;){g=n[m];if(i>=g.s_size){this.c=
z+g.s_size;if(!g.method)return g.result;m=g.method();this.c=z+g.s_size;if(m)return g.result}m=g.substring_i;if(m<0)return 0}},f_a_b:function(n,q){for(var m=0,s=q,z=this.c,w=this.lb,i=0,x=0,j=false;;){for(var y=m+(s-m>>1),A=0,B=i<x?i:x,g=n[y],h=g.s_size-1-B;h>=0;h--){if(z-B==w){A=-1;break}if(A=v.charCodeAt(z-1-B)-g.s[h])break;B++}if(A<0){s=y;x=B}else{m=y;i=B}if(s-m<=1){if(m>0||s==m||j)break;j=true}}for(;;){g=n[m];if(i>=g.s_size){this.c=z-g.s_size;if(!g.method)return g.result;m=g.method();this.c=z-
g.s_size;if(m)return g.result}m=g.substring_i;if(m<0)return 0}},r_s:function(n,q,m){var s=m.length-(q-n),z=v.substring(0,n),w=v.substring(q);v=z+m+w;this.l+=s;if(this.c>=q)this.c+=s;else if(this.c>n)this.c=n;return s},s_ch:function(){if(this.b<0||this.b>this.k||this.k>this.l||this.l>v.length)throw"faulty slice operation";},s_f:function(n){this.s_ch();this.r_s(this.b,this.k,n)},s_d:function(){this.s_f("")},i_:function(n,q,m){q=this.r_s(n,q,m);if(n<=this.b)this.b+=q;if(n<=this.k)this.k+=q},s_t:function(){this.s_ch();
return v.substring(this.b,this.k)},e_v_b:function(n){return this.e_s_b(n.length,n)}}}a.prototype.toCharArray=function(v){for(var n=v.length,q=Array(n),m=0;m<n;m++)q[m]=v.charCodeAt(m);return q};return new ({DanishStemmer:function(){function v(){var y=j.l-j.c,A;if(j.c>=i){A=j.lb;j.lb=i;j.k=j.c;if(j.f_a_b(q,4)){j.b=j.c;j.lb=A;j.c=j.l-y;if(j.c>j.lb){j.c--;j.b=j.c;j.s_d()}}else j.lb=A}}var n=[new a("hed",-1,1),new a("ethed",0,1),new a("ered",-1,1),new a("e",-1,1),new a("erede",3,1),new a("ende",3,1),
new a("erende",5,1),new a("ene",3,1),new a("erne",3,1),new a("ere",3,1),new a("en",-1,1),new a("heden",10,1),new a("eren",10,1),new a("er",-1,1),new a("heder",13,1),new a("erer",13,1),new a("s",-1,2),new a("heds",16,1),new a("es",16,1),new a("endes",18,1),new a("erendes",19,1),new a("enes",18,1),new a("ernes",18,1),new a("eres",18,1),new a("ens",16,1),new a("hedens",24,1),new a("erens",24,1),new a("ers",16,1),new a("ets",16,1),new a("erets",28,1),new a("et",-1,1),new a("eret",30,1)],q=[new a("gd",
-1,-1),new a("dt",-1,-1),new a("gt",-1,-1),new a("kt",-1,-1)],m=[new a("ig",-1,1),new a("lig",0,1),new a("elig",1,1),new a("els",-1,1),new a("l\u00f8st",-1,2)],s=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],z=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],w,i,x,j=new G;this.setCurrent=function(y){j.s_c(y)};this.getCurrent=function(){return j.g_c()};this.stem=function(){var y=j.c;a:{var A;A=j.c+3;i=j.l;if(0<=A&&A<=j.l){for(w=A;;){A=j.c;if(j.i_g(s,97,248)){j.c=A;break}j.c=A;if(A>=j.l)break a;j.c++}for(;!j.o_g(s,
97,248);){if(j.c>=j.l)break a;j.c++}i=j.c;if(i<w)i=w}}j.lb=y;j.c=j.l;if(j.c>=i){A=j.lb;j.lb=i;j.k=j.c;y=j.f_a_b(n,32);j.lb=A;if(y){j.b=j.c;switch(y){case 1:j.s_d();break;case 2:j.i_g_b(z,97,229)&&j.s_d()}}}j.c=j.l;v();j.c=j.l;y=j.l-j.c;j.k=j.c;if(j.e_s_b(2,"st")){j.b=j.c;j.e_s_b(2,"ig")&&j.s_d()}j.c=j.l-y;if(j.c>=i){A=j.lb;j.lb=i;j.k=j.c;y=j.f_a_b(m,5);j.lb=A;if(y){j.b=j.c;switch(y){case 1:j.s_d();y=j.l-j.c;v();j.c=j.l-y;break;case 2:j.s_f("l\u00f8s")}}}j.c=j.l;if(j.c>=i){y=j.lb;j.lb=i;j.k=j.c;if(j.o_g_b(s,
97,248)){j.b=j.c;x=j.s_t(x);j.lb=y;j.e_v_b(x)&&j.s_d()}else j.lb=y}return true}},DutchStemmer:function(){function v(o){d.c=o;if(o>=d.l)return true;d.c++;return false}function n(){for(;!d.i_g(B,97,232);){if(d.c>=d.l)return true;d.c++}for(;!d.o_g(B,97,232);){if(d.c>=d.l)return true;d.c++}return false}function q(){return k<=d.c}function m(){var o=d.l-d.c;if(d.f_a_b(x,3)){d.c=d.l-o;d.k=d.c;if(d.c>d.lb){d.c--;d.b=d.c;d.s_d()}}}function s(){var o;t=false;d.k=d.c;if(d.e_s_b(1,"e")){d.b=d.c;if(r<=d.c){o=
d.l-d.c;if(d.o_g_b(B,97,232)){d.c=d.l-o;d.s_d();t=true;m()}}}}function z(){var o;if(r<=d.c){o=d.l-d.c;if(d.o_g_b(B,97,232)){d.c=d.l-o;if(!d.e_s_b(3,"gem")){d.c=d.l-o;d.s_d();m()}}}}var w=[new a("",-1,6),new a("\u00e1",0,1),new a("\u00e4",0,1),new a("\u00e9",0,2),new a("\u00eb",0,2),new a("\u00ed",0,3),new a("\u00ef",0,3),new a("\u00f3",0,4),new a("\u00f6",0,4),new a("\u00fa",0,5),new a("\u00fc",0,5)],i=[new a("",-1,3),new a("I",0,2),new a("Y",0,1)],x=[new a("dd",-1,-1),new a("kk",-1,-1),new a("tt",
-1,-1)],j=[new a("ene",-1,2),new a("se",-1,3),new a("en",-1,2),new a("heden",2,1),new a("s",-1,3)],y=[new a("end",-1,1),new a("ig",-1,2),new a("ing",-1,1),new a("lijk",-1,3),new a("baar",-1,4),new a("bar",-1,5)],A=[new a("aa",-1,-1),new a("ee",-1,-1),new a("oo",-1,-1),new a("uu",-1,-1)],B=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],g=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],h=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],k,r,t,d=new G;this.setCurrent=function(o){d.s_c(o)};this.getCurrent=function(){return d.g_c()};
this.stem=function(){for(var o=d.c,f,b=d.c;;){d.b=d.c;if(f=d.f_a(w,11)){d.k=d.c;switch(f){case 1:d.s_f("a");continue;case 2:d.s_f("e");continue;case 3:d.s_f("i");continue;case 4:d.s_f("o");continue;case 5:d.s_f("u");continue;case 6:if(d.c>=d.l)break;d.c++;continue}}break}d.c=b;d.b=b;if(d.e_s(1,"y")){d.k=d.c;d.s_f("Y")}else d.c=b;for(;;){f=d.c;if(d.i_g(B,97,232)){b=d.c;d.b=b;if(d.e_s(1,"i")){d.k=d.c;if(d.i_g(B,97,232)){d.s_f("I");d.c=f}}else{d.c=b;if(d.e_s(1,"y")){d.k=d.c;d.s_f("Y");d.c=f}else if(v(f))break}}else if(v(f))break}d.c=
o;k=r=d.l;if(!n()){r=d.c;if(r<3)r=3;if(!n())k=d.c}d.lb=o;d.c=d.l;o=d.l-d.c;d.k=d.c;if(f=d.f_a_b(j,5)){d.b=d.c;switch(f){case 1:r<=d.c&&d.s_f("heid");break;case 2:z();break;case 3:r<=d.c&&d.o_g_b(h,97,232)&&d.s_d()}}d.c=d.l-o;s();d.c=d.l-o;d.k=d.c;if(d.e_s_b(4,"heid")){d.b=d.c;if(q()){f=d.l-d.c;if(!d.e_s_b(1,"c")){d.c=d.l-f;d.s_d();d.k=d.c;if(d.e_s_b(2,"en")){d.b=d.c;z()}}}}d.c=d.l-o;d.k=d.c;if(f=d.f_a_b(y,6)){d.b=d.c;switch(f){case 1:if(q()){d.s_d();f=d.l-d.c;d.k=d.c;if(d.e_s_b(2,"ig")){d.b=d.c;if(q()){b=
d.l-d.c;if(!d.e_s_b(1,"e")){d.c=d.l-b;d.s_d();break}}}d.c=d.l-f;m()}break;case 2:if(q()){f=d.l-d.c;if(!d.e_s_b(1,"e")){d.c=d.l-f;d.s_d()}}break;case 3:if(q()){d.s_d();s()}break;case 4:q()&&d.s_d();break;case 5:q()&&t&&d.s_d()}}d.c=d.l-o;if(d.o_g_b(g,73,232)){o=d.l-d.c;if(d.f_a_b(A,4)&&d.o_g_b(B,97,232)){d.c=d.l-o;d.k=d.c;if(d.c>d.lb){d.c--;d.b=d.c;d.s_d()}}}d.c=d.lb;a:for(;;){d.b=d.c;if(o=d.f_a(i,3)){d.k=d.c;switch(o){case 1:d.s_f("y");break;case 2:d.s_f("i");break;case 3:if(d.c>=d.l)break a;d.c++}}}return true}},
EnglishStemmer:function(){function v(){for(;!f.i_g(g,97,121);){if(f.c>=f.l)return true;f.c++}for(;!f.o_g(g,97,121);){if(f.c>=f.l)return true;f.c++}return false}function n(){var b=f.l-f.c;if(!(f.o_g_b(h,89,121)&&f.i_g_b(g,97,121)&&f.o_g_b(g,97,121))){f.c=f.l-b;if(!f.o_g_b(g,97,121)||!f.i_g_b(g,97,121)||f.c>f.lb)return false}return true}var q=[new a("arsen",-1,-1),new a("commun",-1,-1),new a("gener",-1,-1)],m=[new a("'",-1,1),new a("'s'",0,1),new a("'s",-1,1)],s=[new a("ied",-1,2),new a("s",-1,3),new a("ies",
1,2),new a("sses",1,1),new a("ss",1,-1),new a("us",1,-1)],z=[new a("",-1,3),new a("bb",0,2),new a("dd",0,2),new a("ff",0,2),new a("gg",0,2),new a("bl",0,1),new a("mm",0,2),new a("nn",0,2),new a("pp",0,2),new a("rr",0,2),new a("at",0,1),new a("tt",0,2),new a("iz",0,1)],w=[new a("ed",-1,2),new a("eed",0,1),new a("ing",-1,2),new a("edly",-1,2),new a("eedly",3,1),new a("ingly",-1,2)],i=[new a("anci",-1,3),new a("enci",-1,2),new a("ogi",-1,13),new a("li",-1,16),new a("bli",3,12),new a("abli",4,4),new a("alli",
3,8),new a("fulli",3,14),new a("lessli",3,15),new a("ousli",3,10),new a("entli",3,5),new a("aliti",-1,8),new a("biliti",-1,12),new a("iviti",-1,11),new a("tional",-1,1),new a("ational",14,7),new a("alism",-1,8),new a("ation",-1,7),new a("ization",17,6),new a("izer",-1,6),new a("ator",-1,7),new a("iveness",-1,11),new a("fulness",-1,9),new a("ousness",-1,10)],x=[new a("icate",-1,4),new a("ative",-1,6),new a("alize",-1,3),new a("iciti",-1,4),new a("ical",-1,4),new a("tional",-1,1),new a("ational",5,
2),new a("ful",-1,5),new a("ness",-1,5)],j=[new a("ic",-1,1),new a("ance",-1,1),new a("ence",-1,1),new a("able",-1,1),new a("ible",-1,1),new a("ate",-1,1),new a("ive",-1,1),new a("ize",-1,1),new a("iti",-1,1),new a("al",-1,1),new a("ism",-1,1),new a("ion",-1,2),new a("er",-1,1),new a("ous",-1,1),new a("ant",-1,1),new a("ent",-1,1),new a("ment",15,1),new a("ement",16,1)],y=[new a("e",-1,1),new a("l",-1,2)],A=[new a("succeed",-1,-1),new a("proceed",-1,-1),new a("exceed",-1,-1),new a("canning",-1,-1),
new a("inning",-1,-1),new a("earring",-1,-1),new a("herring",-1,-1),new a("outing",-1,-1)],B=[new a("andes",-1,-1),new a("atlas",-1,-1),new a("bias",-1,-1),new a("cosmos",-1,-1),new a("dying",-1,3),new a("early",-1,9),new a("gently",-1,7),new a("howe",-1,-1),new a("idly",-1,6),new a("lying",-1,4),new a("news",-1,-1),new a("only",-1,10),new a("singly",-1,11),new a("skies",-1,2),new a("skis",-1,1),new a("sky",-1,-1),new a("tying",-1,5),new a("ugly",-1,8)],g=[17,65,16,1],h=[1,17,65,208,1],k=[55,141,
2],r,t,d,o=[function(){var b,c;f.k=f.c;if(b=f.f_a_b(w,6)){f.b=f.c;switch(b){case 1:d<=f.c&&f.s_f("ee");break;case 2:for(b=f.l-f.c;!f.i_g_b(g,97,121);){if(f.c<=f.lb)return;f.c--}f.c=f.l-b;f.s_d();c=f.l-f.c;if(b=f.f_a_b(z,13)){f.c=f.l-c;switch(b){case 1:b=f.c;f.i_(f.c,f.c,"e");f.c=b;break;case 2:f.k=f.c;if(f.c>f.lb){f.c--;f.b=f.c;f.s_d()}break;case 3:if(f.c==d){b=f.l-f.c;if(n()){f.c=f.l-b;b=f.c;f.i_(f.c,f.c,"e");f.c=b}}}}}}},function(){var b=f.l-f.c;f.k=f.c;if(!f.e_s_b(1,"y")){f.c=f.l-b;if(!f.e_s_b(1,
"Y"))return}f.b=f.c;f.o_g_b(g,97,121)&&f.c>f.lb&&f.s_f("i")},function(){var b;f.k=f.c;if(b=f.f_a_b(i,24)){f.b=f.c;if(d<=f.c)switch(b){case 1:f.s_f("tion");break;case 2:f.s_f("ence");break;case 3:f.s_f("ance");break;case 4:f.s_f("able");break;case 5:f.s_f("ent");break;case 6:f.s_f("ize");break;case 7:f.s_f("ate");break;case 8:f.s_f("al");break;case 9:f.s_f("ful");break;case 10:f.s_f("ous");break;case 11:f.s_f("ive");break;case 12:f.s_f("ble");break;case 13:f.e_s_b(1,"l")&&f.s_f("og");break;case 14:f.s_f("ful");
break;case 15:f.s_f("less");break;case 16:f.i_g_b(k,99,116)&&f.s_d()}}},function(){var b;f.k=f.c;if(b=f.f_a_b(x,9)){f.b=f.c;if(d<=f.c)switch(b){case 1:f.s_f("tion");break;case 2:f.s_f("ate");break;case 3:f.s_f("al");break;case 4:f.s_f("ic");break;case 5:f.s_d();break;case 6:t<=f.c&&f.s_d()}}},function(){var b;f.k=f.c;if(b=f.f_a_b(j,18)){f.b=f.c;if(t<=f.c)switch(b){case 1:f.s_d();break;case 2:b=f.l-f.c;if(!f.e_s_b(1,"s")){f.c=f.l-b;if(!f.e_s_b(1,"t"))break}f.s_d()}}},function(){var b;f.k=f.c;if(b=
f.f_a_b(y,2)){f.b=f.c;switch(b){case 1:b=f.l-f.c;if(!(t<=f.c)){f.c=f.l-b;if(!(d<=f.c)||n())break;f.c=f.l-b}f.s_d();break;case 2:if(!(t<=f.c)||!f.e_s_b(1,"l"))break;f.s_d()}}}],f=new G;this.setCurrent=function(b){f.s_c(b)};this.getCurrent=function(){return f.g_c()};this.stem=function(){var b=f.c,c;a:{f.b=f.c;if(c=f.f_a(B,18)){f.k=f.c;if(f.c>=f.l){switch(c){case 1:f.s_f("ski");break;case 2:f.s_f("sky");break;case 3:f.s_f("die");break;case 4:f.s_f("lie");break;case 5:f.s_f("tie");break;case 6:f.s_f("idl");
break;case 7:f.s_f("gentl");break;case 8:f.s_f("ugli");break;case 9:f.s_f("earli");break;case 10:f.s_f("onli");break;case 11:f.s_f("singl")}c=true;break a}}c=false}if(!c){f.c=b;c=f.c+3;if(0<=c&&c<=f.l){f.c=b;c=f.c;var l;r=false;f.b=f.c;if(f.e_s(1,"'")){f.k=f.c;f.s_d()}f.c=c;f.b=c;if(f.e_s(1,"y")){f.k=f.c;f.s_f("Y");r=true}for(f.c=c;;){l=f.c;if(f.i_g(g,97,121)){f.b=f.c;if(f.e_s(1,"y")){f.k=f.c;f.c=l;f.s_f("Y");r=true;continue}}if(l>=f.l){f.c=c;break}f.c=l+1}f.c=b;a:{c=f.c;t=d=f.l;if(!f.f_a(q,3)){f.c=
c;if(v()){f.c=c;break a}}d=f.c;if(!v())t=f.c}f.lb=b;f.c=f.l;a:{c=f.l-f.c;f.k=f.c;if(b=f.f_a_b(m,3)){f.b=f.c;b==1&&f.s_d()}else f.c=f.l-c;f.k=f.c;if(b=f.f_a_b(s,6)){f.b=f.c;switch(b){case 1:f.s_f("ss");break;case 2:b=f.c-2;if(f.lb>b||b>f.l){f.s_f("ie");break}f.c=b;f.s_f("i");break;case 3:do{if(f.c<=f.lb)break a;f.c--}while(!f.i_g_b(g,97,121));f.s_d()}}}f.c=f.l;f.k=f.c;if(f.f_a_b(A,8)){f.b=f.c;b=f.c<=f.lb}else b=false;if(!b)for(b=0;b<o.length;b++){f.c=f.l;o[b]()}f.c=f.lb;if(r)for(;;){b=f.c;f.b=b;if(f.e_s(1,
"Y")){f.k=f.c;f.c=b;f.s_f("y")}else{f.c=b;if(f.c>=f.l)break;f.c++}}}}return true}},FinnishStemmer:function(){function v(){for(var l;;){l=c.c;if(c.i_g(k,97,246))break;c.c=l;if(l>=c.l)return true;c.c++}for(c.c=l;!c.o_g(k,97,246);){if(c.c>=c.l)return true;c.c++}return false}function n(){return c.f_a_b(j,7)}function q(){return c.e_s_b(1,"i")&&c.i_g_b(r,97,246)}function m(){var l,C;if(c.c>=b){C=c.lb;c.lb=b;c.k=c.c;if(l=c.f_a_b(y,30)){c.b=c.c;c.lb=C;switch(l){case 1:if(!c.e_s_b(1,"a"))return;break;case 2:case 9:if(!c.e_s_b(1,
"e"))return;break;case 3:if(!c.e_s_b(1,"i"))return;break;case 4:if(!c.e_s_b(1,"o"))return;break;case 5:if(!c.e_s_b(1,"\u00e4"))return;break;case 6:if(!c.e_s_b(1,"\u00f6"))return;break;case 7:l=c.l-c.c;if(!n()){c.c=c.l-l;if(!c.e_s_b(2,"ie")){c.c=c.l-l;break}}c.c=c.l-l;if(c.c<=c.lb){c.c=c.l-l;break}c.c--;c.b=c.c;break;case 8:if(!c.i_g_b(k,97,246)||!c.o_g_b(k,97,246))return}c.s_d();d=true}else c.lb=C}}var s=[new a("pa",-1,1),new a("sti",-1,2),new a("kaan",-1,1),new a("han",-1,1),new a("kin",-1,1),new a("h\u00e4n",
-1,1),new a("k\u00e4\u00e4n",-1,1),new a("ko",-1,1),new a("p\u00e4",-1,1),new a("k\u00f6",-1,1)],z=[new a("lla",-1,-1),new a("na",-1,-1),new a("ssa",-1,-1),new a("ta",-1,-1),new a("lta",3,-1),new a("sta",3,-1)],w=[new a("ll\u00e4",-1,-1),new a("n\u00e4",-1,-1),new a("ss\u00e4",-1,-1),new a("t\u00e4",-1,-1),new a("lt\u00e4",3,-1),new a("st\u00e4",3,-1)],i=[new a("lle",-1,-1),new a("ine",-1,-1)],x=[new a("nsa",-1,3),new a("mme",-1,3),new a("nne",-1,3),new a("ni",-1,2),new a("si",-1,1),new a("an",-1,
4),new a("en",-1,6),new a("\u00e4n",-1,5),new a("ns\u00e4",-1,3)],j=[new a("aa",-1,-1),new a("ee",-1,-1),new a("ii",-1,-1),new a("oo",-1,-1),new a("uu",-1,-1),new a("\u00e4\u00e4",-1,-1),new a("\u00f6\u00f6",-1,-1)],y=[new a("a",-1,8),new a("lla",0,-1),new a("na",0,-1),new a("ssa",0,-1),new a("ta",0,-1),new a("lta",4,-1),new a("sta",4,-1),new a("tta",4,9),new a("lle",-1,-1),new a("ine",-1,-1),new a("ksi",-1,-1),new a("n",-1,7),new a("han",11,1),new a("den",11,-1,q),new a("seen",11,-1,n),new a("hen",
11,2),new a("tten",11,-1,q),new a("hin",11,3),new a("siin",11,-1,q),new a("hon",11,4),new a("h\u00e4n",11,5),new a("h\u00f6n",11,6),new a("\u00e4",-1,8),new a("ll\u00e4",22,-1),new a("n\u00e4",22,-1),new a("ss\u00e4",22,-1),new a("t\u00e4",22,-1),new a("lt\u00e4",26,-1),new a("st\u00e4",26,-1),new a("tt\u00e4",26,9)],A=[new a("eja",-1,-1),new a("mma",-1,1),new a("imma",1,-1),new a("mpa",-1,1),new a("impa",3,-1),new a("mmi",-1,1),new a("immi",5,-1),new a("mpi",-1,1),new a("impi",7,-1),new a("ej\u00e4",
-1,-1),new a("mm\u00e4",-1,1),new a("imm\u00e4",10,-1),new a("mp\u00e4",-1,1),new a("imp\u00e4",12,-1)],B=[new a("i",-1,-1),new a("j",-1,-1)],g=[new a("mma",-1,1),new a("imma",0,-1)],h=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],k=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],r=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],t=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],d,o,f,b,c=new G;this.setCurrent=function(l){c.s_c(l)};this.getCurrent=function(){return c.g_c()};this.stem=function(){var l=c.c;f=b=c.l;if(!v()){b=
c.c;if(!v())f=c.c}d=false;c.lb=l;c.c=c.l;a:{var C;if(c.c>=b){C=c.lb;c.lb=b;c.k=c.c;if(l=c.f_a_b(s,10)){c.b=c.c;c.lb=C;switch(l){case 1:if(!c.i_g_b(t,97,246))break a;break;case 2:if(!(f<=c.c))break a}c.s_d()}else c.lb=C}}c.c=c.l;if(c.c>=b){C=c.lb;c.lb=b;c.k=c.c;if(l=c.f_a_b(x,9)){c.b=c.c;c.lb=C;switch(l){case 1:l=c.l-c.c;if(!c.e_s_b(1,"k")){c.c=c.l-l;c.s_d()}break;case 2:c.s_d();c.k=c.c;if(c.e_s_b(3,"kse")){c.b=c.c;c.s_f("ksi")}break;case 3:c.s_d();break;case 4:c.f_a_b(z,6)&&c.s_d();break;case 5:c.f_a_b(w,
6)&&c.s_d();break;case 6:c.f_a_b(i,2)&&c.s_d()}}else c.lb=C}c.c=c.l;m();c.c=c.l;a:if(c.c>=f){C=c.lb;c.lb=f;c.k=c.c;if(l=c.f_a_b(A,14)){c.b=c.c;c.lb=C;if(l==1){l=c.l-c.c;if(c.e_s_b(2,"po"))break a;c.c=c.l-l}c.s_d()}else c.lb=C}c.c=c.l;if(d){if(c.c>=b){l=c.lb;c.lb=b;c.k=c.c;if(c.f_a_b(B,2)){c.b=c.c;c.lb=l;c.s_d()}else c.lb=l}}else{c.c=c.l;a:{var F;if(c.c>=b){l=c.lb;c.lb=b;c.k=c.c;if(c.e_s_b(1,"t")){c.b=c.c;C=c.l-c.c;if(c.i_g_b(k,97,246)){c.c=c.l-C;c.s_d();c.lb=l;F=c.l-c.c;if(c.c>=f){c.c=f;C=c.lb;c.lb=
c.c;c.c=c.l-F;c.k=c.c;if(F=c.f_a_b(g,2)){c.b=c.c;c.lb=C;if(F==1){l=c.l-c.c;if(c.e_s_b(2,"po"))break a;c.c=c.l-l}c.s_d();break a}}}}c.lb=l}}}c.c=c.l;a:if(c.c>=b){l=c.lb;c.lb=b;C=c.l-c.c;if(n()){c.c=c.l-C;c.k=c.c;if(c.c>c.lb){c.c--;c.b=c.c;c.s_d()}}c.c=c.l-C;c.k=c.c;if(c.i_g_b(h,97,228)){c.b=c.c;c.o_g_b(k,97,246)&&c.s_d()}c.c=c.l-C;c.k=c.c;if(c.e_s_b(1,"j")){c.b=c.c;F=c.l-c.c;if(c.e_s_b(1,"o"))c.s_d();else{c.c=c.l-F;c.e_s_b(1,"u")&&c.s_d()}}c.c=c.l-C;c.k=c.c;if(c.e_s_b(1,"o")){c.b=c.c;c.e_s_b(1,"j")&&
c.s_d()}c.c=c.l-C;for(c.lb=l;;){l=c.l-c.c;if(c.o_g_b(k,97,246)){c.c=c.l-l;break}c.c=c.l-l;if(c.c<=c.lb)break a;c.c--}c.k=c.c;if(c.c>c.lb){c.c--;c.b=c.c;o=c.s_t();c.e_v_b(o)&&c.s_d()}}return true}},FrenchStemmer:function(){function v(c,l,C){if(b.e_s(1,c)){b.k=b.c;if(b.i_g(r,97,251)){b.s_f(l);b.c=C;return true}}return false}function n(c,l,C){if(b.e_s(1,c)){b.k=b.c;b.s_f(l);b.c=C;return true}return false}function q(){for(;!b.i_g(r,97,251);){if(b.c>=b.l)return true;b.c++}for(;!b.o_g(r,97,251);){if(b.c>=
b.l)return true;b.c++}return false}function m(){return d<=b.c}function s(){var c;b.k=b.c;if(c=b.f_a_b(A,43)){b.b=b.c;switch(c){case 1:if(!m())return false;b.s_d();break;case 2:if(!m())return false;b.s_d();b.k=b.c;if(b.e_s_b(2,"ic")){b.b=b.c;m()?b.s_d():b.s_f("iqU")}break;case 3:if(!m())return false;b.s_f("log");break;case 4:if(!m())return false;b.s_f("u");break;case 5:if(!m())return false;b.s_f("ent");break;case 6:if(!(f<=b.c))return false;b.s_d();b.k=b.c;if(c=b.f_a_b(j,6)){b.b=b.c;switch(c){case 1:if(m()){b.s_d();
b.k=b.c;if(b.e_s_b(2,"at")){b.b=b.c;m()&&b.s_d()}}break;case 2:if(m())b.s_d();else o<=b.c&&b.s_f("eux");break;case 3:m()&&b.s_d();break;case 4:f<=b.c&&b.s_f("i")}}break;case 7:if(!m())return false;b.s_d();b.k=b.c;if(c=b.f_a_b(y,3)){b.b=b.c;switch(c){case 1:m()?b.s_d():b.s_f("abl");break;case 2:m()?b.s_d():b.s_f("iqU");break;case 3:m()&&b.s_d()}}break;case 8:if(!m())return false;b.s_d();b.k=b.c;if(b.e_s_b(2,"at")){b.b=b.c;if(m()){b.s_d();b.k=b.c;if(b.e_s_b(2,"ic")){b.b=b.c;m()?b.s_d():b.s_f("iqU");
break}}}break;case 9:b.s_f("eau");break;case 10:if(!(o<=b.c))return false;b.s_f("al");break;case 11:if(m())b.s_d();else if(o<=b.c)b.s_f("eux");else return false;break;case 12:if(!(o<=b.c)||!b.o_g_b(r,97,251))return false;b.s_d();break;case 13:f<=b.c&&b.s_f("ant");return false;case 14:f<=b.c&&b.s_f("ent");return false;case 15:c=b.l-b.c;if(b.i_g_b(r,97,251)&&f<=b.c){b.c=b.l-c;b.s_d()}return false}return true}return false}function z(){var c,l;if(b.c<f)return false;l=b.lb;b.lb=f;b.k=b.c;c=b.f_a_b(B,35);
if(!c){b.lb=l;return false}b.b=b.c;if(c==1){if(!b.o_g_b(r,97,251)){b.lb=l;return false}b.s_d()}b.lb=l;return true}function w(){var c,l;if(b.c<f)return false;l=b.lb;b.lb=f;b.k=b.c;c=b.f_a_b(g,38);if(!c){b.lb=l;return false}b.b=b.c;switch(c){case 1:if(!m()){b.lb=l;return false}b.s_d();break;case 2:b.s_d();break;case 3:b.s_d();c=b.l-b.c;b.k=b.c;if(b.e_s_b(1,"e")){b.b=b.c;b.s_d()}else b.c=b.l-c}b.lb=l;return true}var i=[new a("col",-1,-1),new a("par",-1,-1),new a("tap",-1,-1)],x=[new a("",-1,4),new a("I",
0,1),new a("U",0,2),new a("Y",0,3)],j=[new a("iqU",-1,3),new a("abl",-1,3),new a("I\u00e8r",-1,4),new a("i\u00e8r",-1,4),new a("eus",-1,2),new a("iv",-1,1)],y=[new a("ic",-1,2),new a("abil",-1,1),new a("iv",-1,3)],A=[new a("iqUe",-1,1),new a("atrice",-1,2),new a("ance",-1,1),new a("ence",-1,5),new a("logie",-1,3),new a("able",-1,1),new a("isme",-1,1),new a("euse",-1,11),new a("iste",-1,1),new a("ive",-1,8),new a("if",-1,8),new a("usion",-1,4),new a("ation",-1,2),new a("ution",-1,4),new a("ateur",
-1,2),new a("iqUes",-1,1),new a("atrices",-1,2),new a("ances",-1,1),new a("ences",-1,5),new a("logies",-1,3),new a("ables",-1,1),new a("ismes",-1,1),new a("euses",-1,11),new a("istes",-1,1),new a("ives",-1,8),new a("ifs",-1,8),new a("usions",-1,4),new a("ations",-1,2),new a("utions",-1,4),new a("ateurs",-1,2),new a("ments",-1,15),new a("ements",30,6),new a("issements",31,12),new a("it\u00e9s",-1,7),new a("ment",-1,15),new a("ement",34,6),new a("issement",35,12),new a("amment",34,13),new a("emment",
34,14),new a("aux",-1,10),new a("eaux",39,9),new a("eux",-1,1),new a("it\u00e9",-1,7)],B=[new a("ira",-1,1),new a("ie",-1,1),new a("isse",-1,1),new a("issante",-1,1),new a("i",-1,1),new a("irai",4,1),new a("ir",-1,1),new a("iras",-1,1),new a("ies",-1,1),new a("\u00eemes",-1,1),new a("isses",-1,1),new a("issantes",-1,1),new a("\u00eetes",-1,1),new a("is",-1,1),new a("irais",13,1),new a("issais",13,1),new a("irions",-1,1),new a("issions",-1,1),new a("irons",-1,1),new a("issons",-1,1),new a("issants",
-1,1),new a("it",-1,1),new a("irait",21,1),new a("issait",21,1),new a("issant",-1,1),new a("iraIent",-1,1),new a("issaIent",-1,1),new a("irent",-1,1),new a("issent",-1,1),new a("iront",-1,1),new a("\u00eet",-1,1),new a("iriez",-1,1),new a("issiez",-1,1),new a("irez",-1,1),new a("issez",-1,1)],g=[new a("a",-1,3),new a("era",0,2),new a("asse",-1,3),new a("ante",-1,3),new a("\u00e9e",-1,2),new a("ai",-1,3),new a("erai",5,2),new a("er",-1,2),new a("as",-1,3),new a("eras",8,2),new a("\u00e2mes",-1,3),
new a("asses",-1,3),new a("antes",-1,3),new a("\u00e2tes",-1,3),new a("\u00e9es",-1,2),new a("ais",-1,3),new a("erais",15,2),new a("ions",-1,1),new a("erions",17,2),new a("assions",17,3),new a("erons",-1,2),new a("ants",-1,3),new a("\u00e9s",-1,2),new a("ait",-1,3),new a("erait",23,2),new a("ant",-1,3),new a("aIent",-1,3),new a("eraIent",26,2),new a("\u00e8rent",-1,2),new a("assent",-1,3),new a("eront",-1,2),new a("\u00e2t",-1,3),new a("ez",-1,2),new a("iez",32,2),new a("eriez",33,2),new a("assiez",
33,3),new a("erez",32,2),new a("\u00e9",-1,2)],h=[new a("e",-1,3),new a("I\u00e8re",0,2),new a("i\u00e8re",0,2),new a("ion",-1,1),new a("Ier",-1,2),new a("ier",-1,2),new a("\u00eb",-1,4)],k=[new a("ell",-1,-1),new a("eill",-1,-1),new a("enn",-1,-1),new a("onn",-1,-1),new a("ett",-1,-1)],r=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],t=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],d,o,f,b=new G;this.setCurrent=function(c){b.s_c(c)};this.getCurrent=function(){return b.g_c()};this.stem=function(){for(var c=
b.c,l,C;;){l=b.c;if(b.i_g(r,97,251)){C=b.b=b.c;if(v("u","U",l))continue;b.c=C;if(v("i","I",l))continue;b.c=C;if(n("y","Y",l))continue}b.c=l;b.b=l;if(!v("y","Y",l)){b.c=l;if(b.e_s(1,"q")){b.b=b.c;if(n("u","U",l))continue}b.c=l;if(l>=b.l)break;b.c++}}b.c=c;l=b.c;d=o=f=b.l;if(b.i_g(r,97,251)&&b.i_g(r,97,251)&&b.c<b.l)b.c++;else{b.c=l;if(!b.f_a(i,3)){b.c=l;do{if(b.c>=b.l){b.c=f;break}b.c++}while(!b.i_g(r,97,251))}}f=b.c;b.c=l;if(!q()){o=b.c;if(!q())d=b.c}b.lb=c;b.c=b.l;a:{if(!s()){b.c=b.l;if(!z()){b.c=
b.l;if(!w()){b.c=b.l;c=b.l-b.c;b.k=b.c;if(b.e_s_b(1,"s")){b.b=b.c;l=b.l-b.c;if(b.o_g_b(t,97,232)){b.c=b.l-l;b.s_d()}else b.c=b.l-c}else b.c=b.l-c;if(b.c>=f){c=b.lb;b.lb=f;b.k=b.c;if(l=b.f_a_b(h,7)){b.b=b.c;switch(l){case 1:if(m()){l=b.l-b.c;if(!b.e_s_b(1,"s")){b.c=b.l-l;if(!b.e_s_b(1,"t"))break}b.s_d()}break;case 2:b.s_f("i");break;case 3:b.s_d();break;case 4:b.e_s_b(2,"gu")&&b.s_d()}}b.lb=c}break a}}}b.c=b.l;b.k=b.c;if(b.e_s_b(1,"Y")){b.b=b.c;b.s_f("i")}else{b.c=b.l;if(b.e_s_b(1,"\u00e7")){b.b=b.c;
b.s_f("c")}}}b.c=b.l;c=b.l-b.c;if(b.f_a_b(k,5)){b.c=b.l-c;b.k=b.c;if(b.c>b.lb){b.c--;b.b=b.c;b.s_d()}}b.c=b.l;a:{for(c=1;b.o_g_b(r,97,251);)c--;if(c<=0){b.k=b.c;c=b.l-b.c;if(!b.e_s_b(1,"\u00e9")){b.c=b.l-c;if(!b.e_s_b(1,"\u00e8"))break a}b.b=b.c;b.s_f("e")}}b.c=b.lb;a:for(;;){c=b.c;b.b=c;c=b.f_a(x,4);if(!c)break;b.k=b.c;switch(c){case 1:b.s_f("i");break;case 2:b.s_f("u");break;case 3:b.s_f("y");break;case 4:if(b.c>=b.l)break a;b.c++}}return true}},GermanStemmer:function(){function v(h,k,r){if(g.e_s(1,
h)){g.k=g.c;if(g.i_g(i,97,252)){g.s_f(k);g.c=r;return true}}return false}function n(){for(;!g.i_g(i,97,252);){if(g.c>=g.l)return true;g.c++}for(;!g.o_g(i,97,252);){if(g.c>=g.l)return true;g.c++}return false}var q=[new a("",-1,6),new a("U",0,2),new a("Y",0,1),new a("\u00e4",0,3),new a("\u00f6",0,4),new a("\u00fc",0,5)],m=[new a("e",-1,2),new a("em",-1,1),new a("en",-1,2),new a("ern",-1,1),new a("er",-1,1),new a("s",-1,3),new a("es",5,2)],s=[new a("en",-1,1),new a("er",-1,1),new a("st",-1,2),new a("est",
2,1)],z=[new a("ig",-1,1),new a("lich",-1,1)],w=[new a("end",-1,1),new a("ig",-1,2),new a("ung",-1,1),new a("lich",-1,3),new a("isch",-1,2),new a("ik",-1,2),new a("heit",-1,3),new a("keit",-1,4)],i=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],x=[117,30,5],j=[117,30,4],y,A,B,g=new G;this.setCurrent=function(h){g.s_c(h)};this.getCurrent=function(){return g.g_c()};this.stem=function(){var h=g.c;a:{for(var k=g.c,r,t;;){r=g.c;g.b=r;if(g.e_s(1,"\u00df")){g.k=g.c;g.s_f("ss")}else{if(r>=g.l)break;g.c=r+
1}}for(g.c=k;;)for(k=g.c;;){r=g.c;if(g.i_g(i,97,252)){t=g.c;g.b=t;if(v("u","U",r))break;g.c=t;if(v("y","Y",r))break}if(r>=g.l){g.c=k;break a}g.c=r+1}}g.c=h;A=B=g.l;k=g.c+3;if(0<=k&&k<=g.l){y=k;if(!n()){B=g.c;if(B<y)B=y;if(!n())A=g.c}}g.lb=h;g.c=g.l;h=g.l-g.c;g.k=g.c;if(k=g.f_a_b(m,7)){g.b=g.c;if(B<=g.c)switch(k){case 1:g.s_d();break;case 2:g.s_d();g.k=g.c;if(g.e_s_b(1,"s")){g.b=g.c;g.e_s_b(3,"nis")&&g.s_d()}break;case 3:g.i_g_b(x,98,116)&&g.s_d()}}g.c=g.l-h;g.k=g.c;if(k=g.f_a_b(s,4)){g.b=g.c;if(B<=
g.c)switch(k){case 1:g.s_d();break;case 2:if(g.i_g_b(j,98,116)){k=g.c-3;if(g.lb<=k&&k<=g.l){g.c=k;g.s_d()}}}}g.c=g.l-h;g.k=g.c;if(k=g.f_a_b(w,8)){g.b=g.c;if(A<=g.c)switch(k){case 1:g.s_d();g.k=g.c;if(g.e_s_b(2,"ig")){g.b=g.c;h=g.l-g.c;if(!g.e_s_b(1,"e")){g.c=g.l-h;A<=g.c&&g.s_d()}}break;case 2:h=g.l-g.c;if(!g.e_s_b(1,"e")){g.c=g.l-h;g.s_d()}break;case 3:g.s_d();g.k=g.c;h=g.l-g.c;if(!g.e_s_b(2,"er")){g.c=g.l-h;if(!g.e_s_b(2,"en"))break}g.b=g.c;B<=g.c&&g.s_d();break;case 4:g.s_d();g.k=g.c;if(k=g.f_a_b(z,
2)){g.b=g.c;A<=g.c&&k==1&&g.s_d()}}}g.c=g.lb;a:for(;;){h=g.c;g.b=h;h=g.f_a(q,6);if(!h)break;g.k=g.c;switch(h){case 1:g.s_f("y");break;case 2:case 5:g.s_f("u");break;case 3:g.s_f("a");break;case 4:g.s_f("o");break;case 6:if(g.c>=g.l)break a;g.c++}}return true}},HungarianStemmer:function(){function v(){var o=d.c,f;t=d.l;if(d.i_g(r,97,252))for(;;){f=d.c;if(d.o_g(r,97,252)){d.c=f;if(!d.f_a(s,8)){d.c=f;f<d.l&&d.c++}t=d.c;return}d.c=f;if(f>=d.l){t=f;return}d.c++}d.c=o;if(d.o_g(r,97,252)){for(;!d.i_g(r,
97,252);){if(d.c>=d.l)return;d.c++}t=d.c}}function n(){return t<=d.c}function q(){var o=d.l-d.c;if(!d.f_a_b(w,23))return false;d.c=d.l-o;return true}function m(){if(d.c>d.lb){d.c--;d.k=d.c;var o=d.c-1;if(d.lb<=o&&o<=d.l){d.c=o;d.b=o;d.s_d()}}}var s=[new a("cs",-1,-1),new a("dzs",-1,-1),new a("gy",-1,-1),new a("ly",-1,-1),new a("ny",-1,-1),new a("sz",-1,-1),new a("ty",-1,-1),new a("zs",-1,-1)],z=[new a("\u00e1",-1,1),new a("\u00e9",-1,2)],w=[new a("bb",-1,-1),new a("cc",-1,-1),new a("dd",-1,-1),new a("ff",
-1,-1),new a("gg",-1,-1),new a("jj",-1,-1),new a("kk",-1,-1),new a("ll",-1,-1),new a("mm",-1,-1),new a("nn",-1,-1),new a("pp",-1,-1),new a("rr",-1,-1),new a("ccs",-1,-1),new a("ss",-1,-1),new a("zzs",-1,-1),new a("tt",-1,-1),new a("vv",-1,-1),new a("ggy",-1,-1),new a("lly",-1,-1),new a("nny",-1,-1),new a("tty",-1,-1),new a("ssz",-1,-1),new a("zz",-1,-1)],i=[new a("al",-1,1),new a("el",-1,2)],x=[new a("ba",-1,-1),new a("ra",-1,-1),new a("be",-1,-1),new a("re",-1,-1),new a("ig",-1,-1),new a("nak",-1,
-1),new a("nek",-1,-1),new a("val",-1,-1),new a("vel",-1,-1),new a("ul",-1,-1),new a("n\u00e1l",-1,-1),new a("n\u00e9l",-1,-1),new a("b\u00f3l",-1,-1),new a("r\u00f3l",-1,-1),new a("t\u00f3l",-1,-1),new a("b\u00f5l",-1,-1),new a("r\u00f5l",-1,-1),new a("t\u00f5l",-1,-1),new a("\u00fcl",-1,-1),new a("n",-1,-1),new a("an",19,-1),new a("ban",20,-1),new a("en",19,-1),new a("ben",22,-1),new a("k\u00e9ppen",22,-1),new a("on",19,-1),new a("\u00f6n",19,-1),new a("k\u00e9pp",-1,-1),new a("kor",-1,-1),new a("t",
-1,-1),new a("at",29,-1),new a("et",29,-1),new a("k\u00e9nt",29,-1),new a("ank\u00e9nt",32,-1),new a("enk\u00e9nt",32,-1),new a("onk\u00e9nt",32,-1),new a("ot",29,-1),new a("\u00e9rt",29,-1),new a("\u00f6t",29,-1),new a("hez",-1,-1),new a("hoz",-1,-1),new a("h\u00f6z",-1,-1),new a("v\u00e1",-1,-1),new a("v\u00e9",-1,-1)],j=[new a("\u00e1n",-1,2),new a("\u00e9n",-1,1),new a("\u00e1nk\u00e9nt",-1,3)],y=[new a("stul",-1,2),new a("astul",0,1),new a("\u00e1stul",0,3),new a("st\u00fcl",-1,2),new a("est\u00fcl",
3,1),new a("\u00e9st\u00fcl",3,4)],A=[new a("\u00e1",-1,1),new a("\u00e9",-1,2)],B=[new a("k",-1,7),new a("ak",0,4),new a("ek",0,6),new a("ok",0,5),new a("\u00e1k",0,1),new a("\u00e9k",0,2),new a("\u00f6k",0,3)],g=[new a("\u00e9i",-1,7),new a("\u00e1\u00e9i",0,6),new a("\u00e9\u00e9i",0,5),new a("\u00e9",-1,9),new a("k\u00e9",3,4),new a("ak\u00e9",4,1),new a("ek\u00e9",4,1),new a("ok\u00e9",4,1),new a("\u00e1k\u00e9",4,3),new a("\u00e9k\u00e9",4,2),new a("\u00f6k\u00e9",4,1),new a("\u00e9\u00e9",
3,8)],h=[new a("a",-1,18),new a("ja",0,17),new a("d",-1,16),new a("ad",2,13),new a("ed",2,13),new a("od",2,13),new a("\u00e1d",2,14),new a("\u00e9d",2,15),new a("\u00f6d",2,13),new a("e",-1,18),new a("je",9,17),new a("nk",-1,4),new a("unk",11,1),new a("\u00e1nk",11,2),new a("\u00e9nk",11,3),new a("\u00fcnk",11,1),new a("uk",-1,8),new a("juk",16,7),new a("\u00e1juk",17,5),new a("\u00fck",-1,8),new a("j\u00fck",19,7),new a("\u00e9j\u00fck",20,6),new a("m",-1,12),new a("am",22,9),new a("em",22,9),new a("om",
22,9),new a("\u00e1m",22,10),new a("\u00e9m",22,11),new a("o",-1,18),new a("\u00e1",-1,19),new a("\u00e9",-1,20)],k=[new a("id",-1,10),new a("aid",0,9),new a("jaid",1,6),new a("eid",0,9),new a("jeid",3,6),new a("\u00e1id",0,7),new a("\u00e9id",0,8),new a("i",-1,15),new a("ai",7,14),new a("jai",8,11),new a("ei",7,14),new a("jei",10,11),new a("\u00e1i",7,12),new a("\u00e9i",7,13),new a("itek",-1,24),new a("eitek",14,21),new a("jeitek",15,20),new a("\u00e9itek",14,23),new a("ik",-1,29),new a("aik",18,
26),new a("jaik",19,25),new a("eik",18,26),new a("jeik",21,25),new a("\u00e1ik",18,27),new a("\u00e9ik",18,28),new a("ink",-1,20),new a("aink",25,17),new a("jaink",26,16),new a("eink",25,17),new a("jeink",28,16),new a("\u00e1ink",25,18),new a("\u00e9ink",25,19),new a("aitok",-1,21),new a("jaitok",32,20),new a("\u00e1itok",-1,22),new a("im",-1,5),new a("aim",35,4),new a("jaim",36,1),new a("eim",35,4),new a("jeim",38,1),new a("\u00e1im",35,2),new a("\u00e9im",35,3)],r=[17,65,16,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,17,52,14],t,d=new G;this.setCurrent=function(o){d.s_c(o)};this.getCurrent=function(){return d.g_c()};this.stem=function(){var o=d.c;v();d.lb=o;d.c=d.l;a:{d.k=d.c;if(o=d.f_a_b(i,2)){d.b=d.c;if(n()){if(o==1||o==2)if(!q())break a;d.s_d();m()}}}d.c=d.l;d.k=d.c;if(d.f_a_b(x,44)){d.b=d.c;if(n()){d.s_d();d.k=d.c;if(o=d.f_a_b(z,2)){d.b=d.c;if(n())switch(o){case 1:d.s_f("a");break;case 2:d.s_f("e")}}}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(j,3)){d.b=d.c;if(n())switch(o){case 1:d.s_f("e");break;case 2:case 3:d.s_f("a")}}d.c=
d.l;d.k=d.c;if(o=d.f_a_b(y,6)){d.b=d.c;if(n())switch(o){case 1:case 2:d.s_d();break;case 3:d.s_f("a");break;case 4:d.s_f("e")}}d.c=d.l;a:{d.k=d.c;if(o=d.f_a_b(A,2)){d.b=d.c;if(n()){if(o==1||o==2)if(!q())break a;d.s_d();m()}}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(g,12)){d.b=d.c;if(n())switch(o){case 1:case 4:case 7:case 9:d.s_d();break;case 2:case 5:case 8:d.s_f("e");break;case 3:case 6:d.s_f("a")}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(h,31)){d.b=d.c;if(n())switch(o){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:d.s_d();
break;case 2:case 5:case 10:case 14:case 19:d.s_f("a");break;case 3:case 6:case 11:case 15:case 20:d.s_f("e")}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(k,42)){d.b=d.c;if(n())switch(o){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:d.s_d();break;case 2:case 7:case 12:case 18:case 22:case 27:d.s_f("a");break;case 3:case 8:case 13:case 19:case 23:case 28:d.s_f("e")}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(B,7)){d.b=d.c;if(n())switch(o){case 1:d.s_f("a");
break;case 2:d.s_f("e");break;case 3:case 4:case 5:case 6:case 7:d.s_d()}}return true}},ItalianStemmer:function(){function v(c,l,C){if(b.e_s(1,c)){b.k=b.c;if(b.i_g(k,97,249)){b.s_f(l);b.c=C;return true}}return false}function n(c){b.c=c;if(!b.i_g(k,97,249))return false;for(;!b.o_g(k,97,249);){if(b.c>=b.l)return false;b.c++}return true}function q(){if(b.i_g(k,97,249)){var c=b.c;if(b.o_g(k,97,249)){for(;!b.i_g(k,97,249);){if(b.c>=b.l)return n(c);b.c++}return true}return n(c)}return false}function m(){var c=
b.c;if(!q()){b.c=c;if(!b.o_g(k,97,249))return;c=b.c;if(b.o_g(k,97,249)){for(;!b.i_g(k,97,249);){if(b.c>=b.l){b.c=c;b.i_g(k,97,249)&&b.c<b.l&&b.c++;return}b.c++}f=b.c;return}b.c=c;if(!b.i_g(k,97,249)||b.c>=b.l)return;b.c++}f=b.c}function s(){for(;!b.i_g(k,97,249);){if(b.c>=b.l)return false;b.c++}for(;!b.o_g(k,97,249);){if(b.c>=b.l)return false;b.c++}return true}function z(){return d<=b.c}function w(){var c;b.k=b.c;c=b.f_a_b(g,51);if(!c)return false;b.b=b.c;switch(c){case 1:if(!z())return false;b.s_d();
break;case 2:if(!z())return false;b.s_d();b.k=b.c;if(b.e_s_b(2,"ic")){b.b=b.c;z()&&b.s_d()}break;case 3:if(!z())return false;b.s_f("log");break;case 4:if(!z())return false;b.s_f("u");break;case 5:if(!z())return false;b.s_f("ente");break;case 6:if(!(f<=b.c))return false;b.s_d();break;case 7:if(!(o<=b.c))return false;b.s_d();b.k=b.c;if(c=b.f_a_b(A,4)){b.b=b.c;if(z()){b.s_d();if(c==1){b.k=b.c;if(b.e_s_b(2,"at")){b.b=b.c;z()&&b.s_d()}}}}break;case 8:if(!z())return false;b.s_d();b.k=b.c;if(c=b.f_a_b(B,
3)){b.b=b.c;c==1&&z()&&b.s_d()}break;case 9:if(!z())return false;b.s_d();b.k=b.c;if(b.e_s_b(2,"at")){b.b=b.c;if(z()){b.s_d();b.k=b.c;if(b.e_s_b(2,"ic")){b.b=b.c;z()&&b.s_d()}}}}return true}var i=[new a("",-1,7),new a("qu",0,6),new a("\u00e1",0,1),new a("\u00e9",0,2),new a("\u00ed",0,3),new a("\u00f3",0,4),new a("\u00fa",0,5)],x=[new a("",-1,3),new a("I",0,1),new a("U",0,2)],j=[new a("la",-1,-1),new a("cela",0,-1),new a("gliela",0,-1),new a("mela",0,-1),new a("tela",0,-1),new a("vela",0,-1),new a("le",
-1,-1),new a("cele",6,-1),new a("gliele",6,-1),new a("mele",6,-1),new a("tele",6,-1),new a("vele",6,-1),new a("ne",-1,-1),new a("cene",12,-1),new a("gliene",12,-1),new a("mene",12,-1),new a("sene",12,-1),new a("tene",12,-1),new a("vene",12,-1),new a("ci",-1,-1),new a("li",-1,-1),new a("celi",20,-1),new a("glieli",20,-1),new a("meli",20,-1),new a("teli",20,-1),new a("veli",20,-1),new a("gli",20,-1),new a("mi",-1,-1),new a("si",-1,-1),new a("ti",-1,-1),new a("vi",-1,-1),new a("lo",-1,-1),new a("celo",
31,-1),new a("glielo",31,-1),new a("melo",31,-1),new a("telo",31,-1),new a("velo",31,-1)],y=[new a("ando",-1,1),new a("endo",-1,1),new a("ar",-1,2),new a("er",-1,2),new a("ir",-1,2)],A=[new a("ic",-1,-1),new a("abil",-1,-1),new a("os",-1,-1),new a("iv",-1,1)],B=[new a("ic",-1,1),new a("abil",-1,1),new a("iv",-1,1)],g=[new a("ica",-1,1),new a("logia",-1,3),new a("osa",-1,1),new a("ista",-1,1),new a("iva",-1,9),new a("anza",-1,1),new a("enza",-1,5),new a("ice",-1,1),new a("atrice",7,1),new a("iche",
-1,1),new a("logie",-1,3),new a("abile",-1,1),new a("ibile",-1,1),new a("usione",-1,4),new a("azione",-1,2),new a("uzione",-1,4),new a("atore",-1,2),new a("ose",-1,1),new a("ante",-1,1),new a("mente",-1,1),new a("amente",19,7),new a("iste",-1,1),new a("ive",-1,9),new a("anze",-1,1),new a("enze",-1,5),new a("ici",-1,1),new a("atrici",25,1),new a("ichi",-1,1),new a("abili",-1,1),new a("ibili",-1,1),new a("ismi",-1,1),new a("usioni",-1,4),new a("azioni",-1,2),new a("uzioni",-1,4),new a("atori",-1,2),
new a("osi",-1,1),new a("anti",-1,1),new a("amenti",-1,6),new a("imenti",-1,6),new a("isti",-1,1),new a("ivi",-1,9),new a("ico",-1,1),new a("ismo",-1,1),new a("oso",-1,1),new a("amento",-1,6),new a("imento",-1,6),new a("ivo",-1,9),new a("it\u00e0",-1,8),new a("ist\u00e0",-1,1),new a("ist\u00e8",-1,1),new a("ist\u00ec",-1,1)],h=[new a("isca",-1,1),new a("enda",-1,1),new a("ata",-1,1),new a("ita",-1,1),new a("uta",-1,1),new a("ava",-1,1),new a("eva",-1,1),new a("iva",-1,1),new a("erebbe",-1,1),new a("irebbe",
-1,1),new a("isce",-1,1),new a("ende",-1,1),new a("are",-1,1),new a("ere",-1,1),new a("ire",-1,1),new a("asse",-1,1),new a("ate",-1,1),new a("avate",16,1),new a("evate",16,1),new a("ivate",16,1),new a("ete",-1,1),new a("erete",20,1),new a("irete",20,1),new a("ite",-1,1),new a("ereste",-1,1),new a("ireste",-1,1),new a("ute",-1,1),new a("erai",-1,1),new a("irai",-1,1),new a("isci",-1,1),new a("endi",-1,1),new a("erei",-1,1),new a("irei",-1,1),new a("assi",-1,1),new a("ati",-1,1),new a("iti",-1,1),new a("eresti",
-1,1),new a("iresti",-1,1),new a("uti",-1,1),new a("avi",-1,1),new a("evi",-1,1),new a("ivi",-1,1),new a("isco",-1,1),new a("ando",-1,1),new a("endo",-1,1),new a("Yamo",-1,1),new a("iamo",-1,1),new a("avamo",-1,1),new a("evamo",-1,1),new a("ivamo",-1,1),new a("eremo",-1,1),new a("iremo",-1,1),new a("assimo",-1,1),new a("ammo",-1,1),new a("emmo",-1,1),new a("eremmo",54,1),new a("iremmo",54,1),new a("immo",-1,1),new a("ano",-1,1),new a("iscano",58,1),new a("avano",58,1),new a("evano",58,1),new a("ivano",
58,1),new a("eranno",-1,1),new a("iranno",-1,1),new a("ono",-1,1),new a("iscono",65,1),new a("arono",65,1),new a("erono",65,1),new a("irono",65,1),new a("erebbero",-1,1),new a("irebbero",-1,1),new a("assero",-1,1),new a("essero",-1,1),new a("issero",-1,1),new a("ato",-1,1),new a("ito",-1,1),new a("uto",-1,1),new a("avo",-1,1),new a("evo",-1,1),new a("ivo",-1,1),new a("ar",-1,1),new a("ir",-1,1),new a("er\u00e0",-1,1),new a("ir\u00e0",-1,1),new a("er\u00f2",-1,1),new a("ir\u00f2",-1,1)],k=[17,65,16,
0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],r=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],t=[17],d,o,f,b=new G;this.setCurrent=function(c){b.s_c(c)};this.getCurrent=function(){return b.g_c()};this.stem=function(){var c=b.c;a:{for(var l,C=b.c,F;;){b.b=b.c;if(l=b.f_a(i,7)){b.k=b.c;switch(l){case 1:b.s_f("\u00e0");continue;case 2:b.s_f("\u00e8");continue;case 3:b.s_f("\u00ec");continue;case 4:b.s_f("\u00f2");continue;case 5:b.s_f("\u00f9");continue;case 6:b.s_f("qU");continue;case 7:if(b.c>=b.l)break;b.c++;
continue}}break}for(b.c=C;;)for(l=b.c;;){C=b.c;if(b.i_g(k,97,249)){F=b.b=b.c;if(v("u","U",C))break;b.c=F;if(v("i","I",C))break}b.c=C;if(b.c>=b.l){b.c=l;break a}b.c++}}b.c=c;l=b.c;d=o=f=b.l;m();b.c=l;if(s()){o=b.c;if(s())d=b.c}b.lb=c;b.c=b.l;b.k=b.c;if(b.f_a_b(j,37)){b.b=b.c;if((c=b.f_a_b(y,5))&&f<=b.c)switch(c){case 1:b.s_d();break;case 2:b.s_f("e")}}b.c=b.l;if(!w()){b.c=b.l;if(b.c>=f){l=b.lb;b.lb=f;b.k=b.c;if(c=b.f_a_b(h,87)){b.b=b.c;c==1&&b.s_d()}b.lb=l}}b.c=b.l;a:{c=b.l-b.c;b.k=b.c;if(b.i_g_b(r,
97,242)){b.b=b.c;if(f<=b.c){b.s_d();b.k=b.c;if(b.e_s_b(1,"i")){b.b=b.c;if(f<=b.c){b.s_d();break a}}}}b.c=b.l-c}b.k=b.c;if(b.e_s_b(1,"h")){b.b=b.c;b.i_g_b(t,99,103)&&f<=b.c&&b.s_d()}b.c=b.lb;a:for(;;){b.b=b.c;c=b.f_a(x,3);if(!c)break;b.k=b.c;switch(c){case 1:b.s_f("i");break;case 2:b.s_f("u");break;case 3:if(b.c>=b.l)break a;b.c++}}return true}},NorwegianStemmer:function(){var v=[new a("a",-1,1),new a("e",-1,1),new a("ede",1,1),new a("ande",1,1),new a("ende",1,1),new a("ane",1,1),new a("ene",1,1),
new a("hetene",6,1),new a("erte",1,3),new a("en",-1,1),new a("heten",9,1),new a("ar",-1,1),new a("er",-1,1),new a("heter",12,1),new a("s",-1,2),new a("as",14,1),new a("es",14,1),new a("edes",16,1),new a("endes",16,1),new a("enes",16,1),new a("hetenes",19,1),new a("ens",14,1),new a("hetens",21,1),new a("ers",14,1),new a("ets",14,1),new a("et",-1,1),new a("het",25,1),new a("ert",-1,3),new a("ast",-1,1)],n=[new a("dt",-1,-1),new a("vt",-1,-1)],q=[new a("leg",-1,1),new a("eleg",0,1),new a("ig",-1,1),
new a("eig",2,1),new a("lig",2,1),new a("elig",4,1),new a("els",-1,1),new a("lov",-1,1),new a("elov",7,1),new a("slov",7,1),new a("hetslov",9,1)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],s=[119,125,149,1],z,w,i=new G;this.setCurrent=function(x){i.s_c(x)};this.getCurrent=function(){return i.g_c()};this.stem=function(){var x=i.c;a:{var j;j=i.c+3;w=i.l;if(0<=j||j<=i.l){for(z=j;;){j=i.c;if(i.i_g(m,97,248)){i.c=j;break}if(j>=i.l)break a;i.c=j+1}for(;!i.o_g(m,97,248);){if(i.c>=i.l)break a;i.c++}w=
i.c;if(w<z)w=z}}i.lb=x;i.c=i.l;if(i.c>=w){j=i.lb;i.lb=w;i.k=i.c;x=i.f_a_b(v,29);i.lb=j;if(x){i.b=i.c;switch(x){case 1:i.s_d();break;case 2:x=i.l-i.c;if(i.i_g_b(s,98,122))i.s_d();else{i.c=i.l-x;i.e_s_b(1,"k")&&i.o_g_b(m,97,248)&&i.s_d()}break;case 3:i.s_f("er")}}}i.c=i.l;x=i.l-i.c;if(i.c>=w){j=i.lb;i.lb=w;i.k=i.c;if(i.f_a_b(n,2)){i.b=i.c;i.lb=j;i.c=i.l-x;if(i.c>i.lb){i.c--;i.b=i.c;i.s_d()}}else i.lb=j}i.c=i.l;if(i.c>=w){j=i.lb;i.lb=w;i.k=i.c;if(x=i.f_a_b(q,11)){i.b=i.c;i.lb=j;x==1&&i.s_d()}else i.lb=
j}return true}},PortugueseStemmer:function(){function v(){if(d.o_g(h,97,250)){for(;!d.i_g(h,97,250);){if(d.c>=d.l)return true;d.c++}return false}return true}function n(){for(;!d.i_g(h,97,250);){if(d.c>=d.l)return false;d.c++}for(;!d.o_g(h,97,250);){if(d.c>=d.l)return false;d.c++}return true}function q(){return k<=d.c}function m(){var o;d.k=d.c;o=d.f_a_b(y,45);if(!o)return false;d.b=d.c;switch(o){case 1:if(!q())return false;d.s_d();break;case 2:if(!q())return false;d.s_f("log");break;case 3:if(!q())return false;
d.s_f("u");break;case 4:if(!q())return false;d.s_f("ente");break;case 5:if(!(r<=d.c))return false;d.s_d();d.k=d.c;if(o=d.f_a_b(i,4)){d.b=d.c;if(q()){d.s_d();if(o==1){d.k=d.c;if(d.e_s_b(2,"at")){d.b=d.c;q()&&d.s_d()}}}}break;case 6:if(!q())return false;d.s_d();d.k=d.c;if(o=d.f_a_b(x,3)){d.b=d.c;o==1&&q()&&d.s_d()}break;case 7:if(!q())return false;d.s_d();d.k=d.c;if(o=d.f_a_b(j,3)){d.b=d.c;o==1&&q()&&d.s_d()}break;case 8:if(!q())return false;d.s_d();d.k=d.c;if(d.e_s_b(2,"at")){d.b=d.c;q()&&d.s_d()}break;
case 9:if(!(t<=d.c)||!d.e_s_b(1,"e"))return false;d.s_f("ir")}return true}function s(o,f){if(d.e_s_b(1,o)){d.b=d.c;var b=d.l-d.c;if(d.e_s_b(1,f)){d.c=d.l-b;t<=d.c&&d.s_d();return false}}return true}var z=[new a("",-1,3),new a("\u00e3",0,1),new a("\u00f5",0,2)],w=[new a("",-1,3),new a("a~",0,1),new a("o~",0,2)],i=[new a("ic",-1,-1),new a("ad",-1,-1),new a("os",-1,-1),new a("iv",-1,1)],x=[new a("ante",-1,1),new a("avel",-1,1),new a("\u00edvel",-1,1)],j=[new a("ic",-1,1),new a("abil",-1,1),new a("iv",
-1,1)],y=[new a("ica",-1,1),new a("\u00e2ncia",-1,1),new a("\u00eancia",-1,4),new a("ira",-1,9),new a("adora",-1,1),new a("osa",-1,1),new a("ista",-1,1),new a("iva",-1,8),new a("eza",-1,1),new a("log\u00eda",-1,2),new a("idade",-1,7),new a("ante",-1,1),new a("mente",-1,6),new a("amente",12,5),new a("\u00e1vel",-1,1),new a("\u00edvel",-1,1),new a("uci\u00f3n",-1,3),new a("ico",-1,1),new a("ismo",-1,1),new a("oso",-1,1),new a("amento",-1,1),new a("imento",-1,1),new a("ivo",-1,8),new a("a\u00e7a~o",
-1,1),new a("ador",-1,1),new a("icas",-1,1),new a("\u00eancias",-1,4),new a("iras",-1,9),new a("adoras",-1,1),new a("osas",-1,1),new a("istas",-1,1),new a("ivas",-1,8),new a("ezas",-1,1),new a("log\u00edas",-1,2),new a("idades",-1,7),new a("uciones",-1,3),new a("adores",-1,1),new a("antes",-1,1),new a("a\u00e7o~es",-1,1),new a("icos",-1,1),new a("ismos",-1,1),new a("osos",-1,1),new a("amentos",-1,1),new a("imentos",-1,1),new a("ivos",-1,8)],A=[new a("ada",-1,1),new a("ida",-1,1),new a("ia",-1,1),
new a("aria",2,1),new a("eria",2,1),new a("iria",2,1),new a("ara",-1,1),new a("era",-1,1),new a("ira",-1,1),new a("ava",-1,1),new a("asse",-1,1),new a("esse",-1,1),new a("isse",-1,1),new a("aste",-1,1),new a("este",-1,1),new a("iste",-1,1),new a("ei",-1,1),new a("arei",16,1),new a("erei",16,1),new a("irei",16,1),new a("am",-1,1),new a("iam",20,1),new a("ariam",21,1),new a("eriam",21,1),new a("iriam",21,1),new a("aram",20,1),new a("eram",20,1),new a("iram",20,1),new a("avam",20,1),new a("em",-1,1),
new a("arem",29,1),new a("erem",29,1),new a("irem",29,1),new a("assem",29,1),new a("essem",29,1),new a("issem",29,1),new a("ado",-1,1),new a("ido",-1,1),new a("ando",-1,1),new a("endo",-1,1),new a("indo",-1,1),new a("ara~o",-1,1),new a("era~o",-1,1),new a("ira~o",-1,1),new a("ar",-1,1),new a("er",-1,1),new a("ir",-1,1),new a("as",-1,1),new a("adas",47,1),new a("idas",47,1),new a("ias",47,1),new a("arias",50,1),new a("erias",50,1),new a("irias",50,1),new a("aras",47,1),new a("eras",47,1),new a("iras",
47,1),new a("avas",47,1),new a("es",-1,1),new a("ardes",58,1),new a("erdes",58,1),new a("irdes",58,1),new a("ares",58,1),new a("eres",58,1),new a("ires",58,1),new a("asses",58,1),new a("esses",58,1),new a("isses",58,1),new a("astes",58,1),new a("estes",58,1),new a("istes",58,1),new a("is",-1,1),new a("ais",71,1),new a("eis",71,1),new a("areis",73,1),new a("ereis",73,1),new a("ireis",73,1),new a("\u00e1reis",73,1),new a("\u00e9reis",73,1),new a("\u00edreis",73,1),new a("\u00e1sseis",73,1),new a("\u00e9sseis",
73,1),new a("\u00edsseis",73,1),new a("\u00e1veis",73,1),new a("\u00edeis",73,1),new a("ar\u00edeis",84,1),new a("er\u00edeis",84,1),new a("ir\u00edeis",84,1),new a("ados",-1,1),new a("idos",-1,1),new a("amos",-1,1),new a("\u00e1ramos",90,1),new a("\u00e9ramos",90,1),new a("\u00edramos",90,1),new a("\u00e1vamos",90,1),new a("\u00edamos",90,1),new a("ar\u00edamos",95,1),new a("er\u00edamos",95,1),new a("ir\u00edamos",95,1),new a("emos",-1,1),new a("aremos",99,1),new a("eremos",99,1),new a("iremos",
99,1),new a("\u00e1ssemos",99,1),new a("\u00eassemos",99,1),new a("\u00edssemos",99,1),new a("imos",-1,1),new a("armos",-1,1),new a("ermos",-1,1),new a("irmos",-1,1),new a("\u00e1mos",-1,1),new a("ar\u00e1s",-1,1),new a("er\u00e1s",-1,1),new a("ir\u00e1s",-1,1),new a("eu",-1,1),new a("iu",-1,1),new a("ou",-1,1),new a("ar\u00e1",-1,1),new a("er\u00e1",-1,1),new a("ir\u00e1",-1,1)],B=[new a("a",-1,1),new a("i",-1,1),new a("o",-1,1),new a("os",-1,1),new a("\u00e1",-1,1),new a("\u00ed",-1,1),new a("\u00f3",
-1,1)],g=[new a("e",-1,1),new a("\u00e7",-1,2),new a("\u00e9",-1,1),new a("\u00ea",-1,1)],h=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],k,r,t,d=new G;this.setCurrent=function(o){d.s_c(o)};this.getCurrent=function(){return d.g_c()};this.stem=function(){for(var o=d.c,f;;){d.b=d.c;if(f=d.f_a(z,3)){d.k=d.c;switch(f){case 1:d.s_f("a~");continue;case 2:d.s_f("o~");continue;case 3:if(d.c>=d.l)break;d.c++;continue}}break}d.c=o;f=d.c;k=r=t=d.l;a:{var b=d.c,c;if(d.i_g(h,97,250)){c=d.c;if(v()){d.c=c;b:{if(d.i_g(h,
97,250))for(;!d.o_g(h,97,250);){if(d.c>=d.l){c=false;break b}d.c++}t=d.c;c=true}if(c)break a}else t=d.c}d.c=b;if(d.o_g(h,97,250)){b=d.c;if(v()){d.c=b;if(!d.i_g(h,97,250)||d.c>=d.l)break a;d.c++}t=d.c}}d.c=f;if(n()){r=d.c;if(n())k=d.c}d.lb=o;d.c=d.l;a:{if(!m()){d.c=d.l;b:{if(d.c>=t){f=d.lb;d.lb=t;d.k=d.c;if(o=d.f_a_b(A,120)){d.b=d.c;o==1&&d.s_d();d.lb=f;o=true;break b}d.lb=f}o=false}if(!o){d.c=d.l;d.k=d.c;if(o=d.f_a_b(B,7)){d.b=d.c;o==1&&t<=d.c&&d.s_d()}break a}}d.c=d.l;d.k=d.c;if(d.e_s_b(1,"i")){d.b=
d.c;if(d.e_s_b(1,"c")){d.c=d.l;t<=d.c&&d.s_d()}}}d.c=d.l;d.k=d.c;if(o=d.f_a_b(g,4)){d.b=d.c;switch(o){case 1:if(t<=d.c){d.s_d();d.k=d.c;s("u","g")&&s("i","c")}break;case 2:d.s_f("c")}}for(d.c=d.lb;;){d.b=d.c;if(o=d.f_a(w,3)){d.k=d.c;switch(o){case 1:d.s_f("\u00e3");continue;case 2:d.s_f("\u00f5");continue;case 3:if(d.c>=d.l)break;d.c++;continue}}break}return true}},RomanianStemmer:function(){function v(k,r){if(h.e_s(1,k)){h.k=h.c;h.i_g(j,97,259)&&h.s_f(r)}}function n(){if(h.o_g(j,97,259)){for(;!h.i_g(j,
97,259);){if(h.c>=h.l)return true;h.c++}return false}return true}function q(){for(;!h.i_g(j,97,259);){if(h.c>=h.l)return false;h.c++}for(;!h.o_g(j,97,259);){if(h.c>=h.l)return false;h.c++}return true}var m=[new a("",-1,3),new a("I",0,1),new a("U",0,2)],s=[new a("ea",-1,3),new a("a\u0163ia",-1,7),new a("aua",-1,2),new a("iua",-1,4),new a("a\u0163ie",-1,7),new a("ele",-1,3),new a("ile",-1,5),new a("iile",6,4),new a("iei",-1,4),new a("atei",-1,6),new a("ii",-1,4),new a("ului",-1,1),new a("ul",-1,1),
new a("elor",-1,3),new a("ilor",-1,4),new a("iilor",14,4)],z=[new a("icala",-1,4),new a("iciva",-1,4),new a("ativa",-1,5),new a("itiva",-1,6),new a("icale",-1,4),new a("a\u0163iune",-1,5),new a("i\u0163iune",-1,6),new a("atoare",-1,5),new a("itoare",-1,6),new a("\u0103toare",-1,5),new a("icitate",-1,4),new a("abilitate",-1,1),new a("ibilitate",-1,2),new a("ivitate",-1,3),new a("icive",-1,4),new a("ative",-1,5),new a("itive",-1,6),new a("icali",-1,4),new a("atori",-1,5),new a("icatori",18,4),new a("itori",
-1,6),new a("\u0103tori",-1,5),new a("icitati",-1,4),new a("abilitati",-1,1),new a("ivitati",-1,3),new a("icivi",-1,4),new a("ativi",-1,5),new a("itivi",-1,6),new a("icit\u0103i",-1,4),new a("abilit\u0103i",-1,1),new a("ivit\u0103i",-1,3),new a("icit\u0103\u0163i",-1,4),new a("abilit\u0103\u0163i",-1,1),new a("ivit\u0103\u0163i",-1,3),new a("ical",-1,4),new a("ator",-1,5),new a("icator",35,4),new a("itor",-1,6),new a("\u0103tor",-1,5),new a("iciv",-1,4),new a("ativ",-1,5),new a("itiv",-1,6),new a("ical\u0103",
-1,4),new a