o $a3z@sdZddlZddlZddlZddlmZmZmZzddlZdZ Wn e y+dZ Ynwzddl Z dZ Wn e y?dZ YnwddlmZmZddlmZddlmZGd d d ZGd d d eZeZGd ddeZGdddeZeZGdddeZdS)z sphinx.search.ja ~~~~~~~~~~~~~~~~ Japanese search language: includes routine to split words. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. N)AnyDictListTF)ExtensionError SphinxError)SearchLanguage) import_objectc@s4eZdZdeddfddZdedeefddZdS) BaseSplitteroptionsreturnNcCs ||_dSN)r selfr r2/usr/lib/python3/dist-packages/sphinx/search/ja.py__init__*s zBaseSplitter.__init__inputcCst)zN :param str input: :return: :rtype: list[str] )NotImplementedErrorrrrrrsplit-szBaseSplitter.split)__name__ __module__ __qualname__rrstrrrrrrrr )sr csjeZdZdeddffdd ZdedeefddZdeddfd d Zdeddfd d Z dd dZ Z S) MecabSplitterr r NcsDt|d|_d|_ts||n|||dd|_dS)Ndic_enczutf-8) superrctypes_libmecab ctypes_mecab native_module init_ctypes init_nativeget dict_encoder  __class__rrr7s   zMecabSplitter.__init__rcCs4tr |j|}n |j|j||j}|dS)N ) rnativeparsermecab_sparse_tostrrencoder#rrrresultrrrrAs  zMecabSplitter.splitcCs.d}|d}|r|d|7}t||_dS)Nz-Owakatidict -d %s)r"MeCabTaggerr')rr paramr-rrrr!Is   zMecabSplitter.init_nativec Csddl}|d}|durtjdrd}nd}|j|}ntj ||kr.|j|}n d}tj |r8|}|dur@t dd}|d}|rO|d |7}t pVt }|||_|jf|jj_|j|jj_|j|jf|jj_|j|jj_|j|||_|jdurtd dS) Nrlibwinz libmecab.dllmecabz&MeCab dynamic library is not availablezmecab -Owakatir-r.zmecab initialization failed) ctypes.utilr"sysplatform startswithutil find_libraryospathbasenameexists RuntimeErrorgetfilesystemencodinggetdefaultencodingCDLLrc_char_p mecab_new2argtypesc_void_prestyper)r*rr) rr ctypesr2libnamelibpathr1r-fs_encrrrr Ps8         zMecabSplitter.init_ctypescCs|jr |j|jdSdSr )r mecab_destroyrrrrr__del__tszMecabSplitter.__del__r N) rrrrrrrrr!r rN __classcell__rrr$rr6s  $rcsFeZdZdeddffdd Zd ddZdedeefd d ZZ S) JanomeSplitterr r Ncs2t||d|_|dd|_|dS)Nuser_dic user_dic_encutf8)rrr" user_dict user_dict_encinit_tokenizerr r$rrr|s   zJanomeSplitter.__init__cCs&tstdtjj|j|jd|_dS)NzJanome is not available)udicudic_enc) janome_moduler?janome tokenizer TokenizerrUrVrMrrrrWszJanomeSplitter.init_tokenizerrcCs&ddd|j|D}|dS)Nr&css|]}|jVqdSr )surface).0tokenrrr sz'JanomeSplitter.split..)joinr\tokenizerr+rrrrs zJanomeSplitter.splitrO) rrrrrrWrrrrPrrr$rrQ{s rQc@s/eZdZddddddddd DZd Zd d d ddZiddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1Zd2d3d4d5d6d7d8d9d:d;dd?d@dAdBZ dCdDdEZ dFdGdHdIdJdKdLdMdNdOdPdQdRdSdTZ dUdVdWdXdYdZd[d\d]d^d_ Z id`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dZ dddddddddd?d@dAddBdCdDdEdFddGdHdIdJdKiddLdĐdMdNdOdPdQdRdSdTdUdƐdVdWdXdȐdYdZd[d̐d\d]d^d_d`dadbdΐdcdddedҐdfidgdhd֐didjdkdؐdldmdndڐdodpdqdrdsddtdudvdwdxdydzd{d|d}d~ddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddÓidĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓddГdѐdғdӐdԓdՐd֓dאdؓdِdړdېdܓdݐdޓdߐdddddddiZiddddddddddddddddddddddddddddddddddidddddddd d d d d dd ddddddddddd&dddddd+dddiddd d!d"d#d$d#d2d%dd&dd'd8d(d)d*d+d,d-d,d.d/d0d1d2d1d3d4d5d6d7d8id9d8d<d:d;d<d=d>d?d@dAdBdCdBdDdEddFdHdGddHdIdJdRdKdȐdLdMdNdʐdOdPdQidRdSdadTdddUdVdWdҐdXdYdZd֐d[d\d]d^d]dڐd_dpd`dܐdadbddcddddedfdgdhdgididjddkdldmdndoddpddyddqdrdsdtdudvdwdxdwddyddzdd{d|d}dd~ddddddddddddddd Zddddmddddddddd ZdddddddZidddddddddddddddddddddddddddddddddddddddÐdĐdŜZiddƓddǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓddғddӓddԓddՓdd֓dאddؐdٓdڐdۓdܐdݓddޓdߐddddd4dZddddCdddddddddd ZdddddZiddddddddddddddddddddd d d d d dddddǓdddddҐdddZidd4dddddddddddd ddd d!d"d#d$d%dd&d'd(dd3d)d*dd+Zd,d-d.Zid/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdadDdEdFdGdHdIdJdKdLdMZdNdOdPdQdRdSdTdTdUdVdWdX ZdYdYdZd[d\d\d]d^d_d`dadbdc ZdddedfdgdhZdidjdkdldmdndoZdpdqdrZ dsdtdudvdwdxdydzZ!d{d|d}d~ddZ"ddddddZ#ddiZ$dddZ%ddiZ&dddddddddd Z'ddddZ(dddddddddd Z)iddddddddddddddddddddddddddddddddÓdĐd͓idŐdƓdǐdȓdɐdʓdːd̓d͐dΓdϐdГdѐdғdӐdԓddd֐dדdؐdٓdڐdۓdܐdݓdސdߓddddddddddАdZ*iddddddddddddddddddddddddddddddddddiddGdddddddd d d ddԓdd dd ddddddddddddddddiddғdĐddǐddddɐddːdd͐dd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/dѐd0d1d2id3dd4d5d6d7d8d9d:d;d<d=d>d?dՐd@dڐdAdBdCdDdEdFdGdHdIdJdKdLdMdސdNdOdPidQdRdSdGdTddUdVdWdXdYdZdd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmddnidodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddd'd!d#d%dZ+iddddddddddddddddddddddddddddddddEddiddddddddddddddddddddddddd dddddddddiddddddddddddddÓddēdŐdƓdǐdȓddɓddʓdĐd˓dddǐd̓dd͓dɐdΓidϐdГdːdѓd͐dғd dӓdԐdՓd֐dדd&ddؐdٓdڐdۓdܐdݓdސdߓdddϐdddddd,dddid.ddѐd)ddddd3dddddddddddddd6dddddddddddidddd d d d d d:dddddd<dddɓdd ddddd>ddՐdddd֐dddid d!d"d#d$d%d&dd'd(d)d*d+d,dؐd-d.d/d0d1d2dd3d4dHd5d6d7dJd8d9d:dLd;id<d=d>d?dސd@dAdBdOdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdUdXdYdZid[d\dWd]dYd^dd_d`dadbdcdddedfdgd^dhdidjdkdldmdndodpdddqdrdsdtdudvddidwdxdjdydzdd{d|d}d~dddddddddddddddddddudddVddidddwddydd{dddddddddddddddddd}dddddddddiddddddzdddddddddddd*ddddddddddÓdĐdœdƐdǓdȐdɓddddddӐdՐdאdِdېdݐdߐddʜ Z,idd˓d̐d͓dΐdϓdd˓dАd͓ddѓddғddӓddԓddՓdd֓ddדddؓddٓddړddۓddܓidݐdޓddߓddddddddddddddddddddddddddddddiddd dddddddddddddddddddddddddddddddidddŐddddǐd dd d d dd dddĐddŐddǐddddɐddddϐddːdd͐dKid"dddddd&ddؐddd d!d"d#d$dܐddd%dϐd&d'd(dd)d.d*dd+d1d,d-d.id3d/dd0d4d1d2d3ddړd4d5d6ddd7dd8d9ddd:d:d;dd<d<d=dd-dd>dd?idd@dՐdAddBdCdDd&dEd)dd+dFdGdHdIdJdؐdKdLdMdNdOd0dPdQdKdRdSdTdRdڐdidFdUdHdVdWdXdYdZdLd[d\d]d^d_d`dadbdcdސdddOdedfdgdhdidRdjdkdldmd=dndoidpdqdUdrdYdsdWdtdudddwdddvd^dwdidxdydzd{d|d}d~dvddwddjddldFddFidddddddddd3dddddddddqdddduddddwddyd:d{dddiddddddddddddddddddddadddd!ddddeddddddiddddddddQddddddddddddddddddddddddaddiddddÓddғdĐdӓdŐd&dƐddǐd(dȐddɐddʐddːdd̐d d͐d"dΐd$dϐddАd%Z-iddѓddeddғdӐdԓdՐd֓ddѓddeddדddؓddٓddړddddۓddܓddݓddޓdݐdߓiddddddddddddddddddd dddddddddddddddidddŐddǐdd dddwdǐddddɐdddgdːdd͐dddddNddd.ddӐdd4didddddՐdddd+ddڐddHddWddddސddddOddPd dmd d d dYdZdd ididdddddddwddddddddsdՓdddudddddddNdddd d!d"dd1d#d$dd%d&d'dҐdԐdאddNdd(Z.idd)d̐d*dd+d,d#dd)dАd*dd-dddddd.dd/dd0dd1dd2dd3dd4d d5idd6dddddd7dd8dd9dd:dǐdddГdːd;dܐd<dd=dd>d.dd?dd4d@ddKidՐdAd+d8dܐddHddސdBdDdCdhdDdvdEdsdFddGdHdddIddJdKdLddMdNd+dOd#d<d=dPZ/dQe0dRe0fdSdTZ1dUe2e0e3fdVe0dRe3fdWdXZ4dYe0dRe5e0fdZd[Z6d\S(]DefaultSplittercCsi|] \}}t||qSr)recompile)r_patternvaluerrr szDefaultSplitter.MHIKAN)u/[一二三四五六七八九十百千万億兆]u[一-龠々〆ヵヶ]u [ぁ-ん]u[ァ-ヴーア-ン゙ー]u[a-zA-Za-zA-Z]u [0-90-9]ii ii)HHIIKHOHAAi=AIi ANirqiHMiQHNiHOiIAi/IHi`rriIKiIOitKIiKKiMHiMKi OOiiiri/iiii i7iii ) rqHIHKryrzr|rrMMOArti'i0ii`)BBOBrUB<i)BOri~iiziviiiiiii;iii )BHHBHMBIIBIMBMHBNHBOHBOOOHIOIHOKAOKHOKKOOOviyiiiiHi`iiKi) rBHIrBIHBKKBKOOHHOHMrUHIririh riBKIiriBMMi BNNiriri~riOIIiriOKIiOKOi>OMHiri-iiiDiiiii i3) rrrBIKrBMIrOAHrOHKONNu,とiu,同iuB1あi|uB1同iu、とu、同u」とiuあっiuいうiuいっiuいるiuうしi/uうんiuからi uがらiXuこうiuことi#uこんiuさらiuさんiuしたiQ uしてiPuすでiuそこiuそれiuたちibuためiYuったi uついiuていi%uてきiuできiguですiu uではiLuといiuとみiuどこi/uないiQuなっi uなどiuなんiuにしi uにはiuにもiuに対ipuの一i uの中iuませi uまでiuままi( uまるiuやむieuよっiuれたiA uれでiouをしiDuを見iu亡くiu京都i u取りi u大きiu大阪iu平方iu引きiu日本i=u本当iu毎日iu目指i,)u B1あu B1同u」とz..i11icu――iu−−iiuうかi uかしiuかもiiuかれiuがいiUiuきたiuくなii8uこのiuさせiuされip3iwuしいiuしかiiiuしなiuそのi`uたいiuたたijuただiiuたとiuたはiUiuってiouっとiii8uてくi uてはiuてもiuでいij iuでしi iguでもiibuとこi.uととiuとのii0uともiiHuながiiuなのi6 i uにおii uになi uによiiuに従iuに関iuのかi-uのでimuのにiguののiuはいi1uはがiuはずiuばれiuましii#uまれi!uめてiuもいiuものi'uらかiPuらしiuらにiuりしiuりまiTiuれてiQuればiuろうiuわれiuを通iuんだiuんなiu一人iZu一方iu一日iu一部iu上がiu会社iu出てisu分のiu同党u同日iYu委員iu少なiu年度i#u年間iu府県iu手権iB新聞iu日新i.idu日米i, u曜日iu朝鮮iu本人iwu東京iu然とi社会iu立てi"u第にiu米国iTu11uあたinuありiuあるiuい.i_uい。uいいiuいえiuいくi uいたii[iuいわiuうちi]uうとiuえとiuか.i) uか。uかけiuかっiuかにixuかりiuが,iuが、uがきi uがけiuがっiuがりiimuけどi^iiuころi;uさいi6uさをiuし,iuし、i~i ii0 uしまiuす.iuす。uするiyuず,ib uず、uずにiIuそうiuた.i"uた。iuたのi,uたりiauたるiuだ.iuだ。uだっiiti,i`uておiWi.iuでにi6iuとうiuとしiii)uどうi8iuなくiyiWuに,iuに、iiriT uの,uの、uの子iuは,i9uは、uべきiiYuますiuまっii iuられiuるるiuれ,iVuれ、i:i_iRuれるiCii^iii\iiiiiAii) uんでuカ月u会議u入りu大会u始め市ru日,u日、ruカ月iEiiDiziiiri ii) AAAHHHHHMHIIHOHHOMIHIIOHIOIIOMMMHOOIi(ii~iSii)HHOrHMMrKKHrririZHHIiriHIKri2IHHriIHOiqIIHiIIMiriKHHi@KKAiri?KOKiMHHizi7{i)igii)MHMMHOrNNHNNOOHOi5i@HHKimriHHNriHIHi$iiiiiAIIIIIOiIOO6KAKii: i ikii)KKKrMHIrMMMMOMii<i|i;iitiii) BHHHBHHIBHIHBIHHBIIIBNHHBOHHBOOOOAKKOHHHOHIHOIHIOIIHiii))rrBKAKrriBHHMirBHIIiBIIHiriBMHIiBMHMi0BOMHilrOHHIiOHIIiOHMHiOIHHiorOKAKi OKHHiKniS)OKKAOOHHOOIIii:ii{OAAAi5ri OHHOiriiriOIIIiYi$ii) についu 東京都u ある程iu いったiu ころがi~u しょうi!u その後iu だってiu ていたi) としてiu ともにi[u ものでiZu 一気にu 初めてiu 同時にi_u 大きなiu 対してi_u 社会党ipi:i"i&iiii)iiXi) u いただ していr r u にとっu に当たuので,u ので、u のものu れからu 十二月i!ii iiiEiiIi^i) uいう.u いう。u からなr uたが,u たが、u ているu というu ましたu ませんu ようとu よるとi]ii)rnrmrjOi3i#iiii)rnrkrlrjror ii )rnrliiiii i$i)rnrkrlrmrjror i9i*iii)rkrlrmrjr iiWi}r i*Ei)Br riiiiiii) BHBIBKBNrrtOIOKrqi)rrri!*iyiiX ii9iit) BArrrBMrrrON,u、u「i1uあiSuうiuがiuきyuこiuでi7uとiuどiuにiuのiGuはiuもi.uやi*uよuらiuりuれuをiBuんiwu・iyu主inu京iu区u午igu国i4u大i1u委irieu日isu理iiu生ihi~i2)県都「・iu〇i|i{u」iI iuいuおi uかiuくidiuuさinuざiuしiuすi]uせuそi uたuだi-uつiKuてii+iuなi'iiguひiuべiuまiigiuるiJi;i,i/uアiuカi2uキi8uッi?u三i u不iu世iu中i8iu事iu人u会iu保iju入i$u初i/u副iu北iiZiu天iu太iu子iu学iu実iu小i'iu年iu強i+u手u揺u政iu文iu新iniu明iJu最iu朝iu本iu東i]u果igu次iu民iLu気i4iu発iu目iu相ir&isu立iu第i*u米iu自iu行iFu西u見iu調i議iu込i u開i間ir()」ッアカuキi1iu−iEu々iiin u〓i ixii& uえiiiui uけiuげii uごiiiuiHieiiJuちiuっi\iii ii}ii iiiuふiuへiuほitiuみiuめii ii6iii uわiIiii'uグi'uスijuトi uムiUuルi7uロiuンii.u一iu下i!iu両iiu予iWu二i u今iu他iau以iu低i+u何iu作iiyu元iu党i u全i&u公i*u六iu共iu円iu再i u分ii u別iiu前iiUu力u動u務iu化ii&u千iiu協iu口iu右iu各iu合u同iBu和iu員iiu型imu場iu外u妻iiu安iYiu家i6iu少iu州ii} u平iip u広iu府iEu度iu建iu当iu得iqu思iu性iu戸iu指i{i#u教i9u数i i/ii3u旧iu昨iku時i u曜iIiWu月iu期ihu李i u村iliu核i$u森i u業u氏i5 ibu決u法iLu海iu無iu物iu特iiu用iu町iu的iu直iu省iu知u私iu税i@iiWu系i u約iOu級ihu統i{u総iu線iu者i9u能iiu英iiiu財i#u費iu車i+u軍i u通i選iW郎iu郡i4u部u金長iihiu関iu雨iu電iu非i) u駅1r/r)r0r1uグuストuムルuロンiZ.i u―iu。iigiiiiii.ie iivi~uぎii4iiiii0 iuじi6i%uずiiii iiiiiii9icuぬi=uねiii!uばiiuびiiAi iiiuむiiJiIuゃii uょii iiiiuろi&i i^3iauコiuセiimuメiuラiuリiiiuーiiiiiBu井ii i iu体iu側iu先i*iDu内iiCiWi'iieiiiu参iiiru器iu回iiu園iPu地ibi~u塁u士i{u多i>iu定iu寺iivu屋iu山i$u島iu川ii ivu庁i4u後ii)u感iu所u支iXu改iiii u方i%iMiu木iu来iFu校iii idu沢u済i!u率u球i u産iu田ii"i iici u空iiiy ii{u経izioiiu署ii&u般iu規u警i u谷u賞ii7iu輪igiu近iu道i$ ir'iu野iu銀i[ieiu院iu際u領題館i@u首iu高iHr/r)r0uーr2uコuセr8uメuラuリr9r:iiE2i]i6ikiwiKi iii[iXii8i)iii^4iiiii8iiiiiai i0iiiiGuイiiiiri i{u告iPi8iiiu嵐iiQu席iihiu挙iRiu査iu格iLu機iiiiii]u研iu社iiiGu表iiiii@ iO)u語r-r4r5r6r.r=r>r7uE2r(uイr9r:i(iE1iiii8iiiTi=i eiki_ii2i_iiu件ipiiwiIiiGiiu福iiu連ii:r7uE1)r9r:charr cCs*|jD] \}}||r|SqdS)Nr ) patterns_itemsmatch)rrIrgrhrrrctype_s  zDefaultSplitter.ctype_r-keycCs||vr||SdS)Nrr)rr-rNrrrts_szDefaultSplitter.ts_rcCs6|sgSg}gd}gd}|D]}|||||q|d|d|d|d|d|d|d}d}d}d} td t|dD]?} |j} || d} || d } || d }|| }|| d }|| d }|| d}|| d }|| d }|| }|| d }|| d }| ||j|7} | ||j|7} | ||j| 7} | ||j ||7} | ||j || 7} | ||j | 7} | ||j | 7} | ||j |7} | ||j|7} | ||j|7} | ||j|7} | ||j| |7} | ||j||7} | ||j||7} | ||j| | |7} | ||j| ||7} | ||j|||7} | ||j|||7} | ||j|7} | ||j|7} | ||j|7} | ||j|7} | ||j|7} | ||j|7} | ||j||7} | ||j||7} | ||j ||7} | ||j!|||7} | ||j"|||7} | ||j#|||7} | ||j$|||7} | ||j%||7} | ||j&||7} | ||j%| |7} | ||j'|||7} | ||j(|||7} | ||j)| ||7} | ||j*| ||7} | ||j+||||7} | ||j,||||7} | ||j-| |||7} | ||j.| |||7} d}| d kr||/d }d}|}| }|} ||| 7}qQ||/|S)N)B3B2B1)r r r rFr?E3r Urr)0appendrMrangelenBIAS__rOUP1__UP2__UP3__BP1__BP2__UW1__UW2__UW3__UW4__UW5__UW6__BW1__BW2__BW3__TW1__TW2__TW3__TW4__UC1__UC2__UC3__UC4__UC5__UC6__BC1__BC2__BC3__TC1__TC2__TC3__TC4__UQ1__UQ2__BQ1__BQ2__BQ3__BQ4__TQ1__TQ2__TQ3__TQ4__strip)rrr,segctypetwordp1p2p3iscorew1w2w3w4w5w6c1c2c3c4c5c6prrrrs                  zDefaultSplitter.splitN)7rrrrKrJr]rvrwrxrarbrrrrrirjrkryrzr{r|rrrrrlrmrnrorprqrrrsrtrur^r_r`r}r~UQ3__rcrdrerfrgrhrrMrintrOrrrrrrrds                                     2                         4                           2   4    4  2*     > >                               >                                    !!!!!!" >$                                   !!!!!!""""""######$$$$$<%                                >  ($rdc@sdeZdZdZdZdZdeddfddZd ede efd d Z d ede fd dZ dedefddZ dS)SearchJapanesezg Japanese search implementation: uses no stemmer, but word splitting is quite complicated. jaJapaneser r Nc CsH|dd}z t|||_WdSty#}ztd||d}~ww)Ntypez sphinx.search.ja.DefaultSplitterz$Splitter module %r can't be imported)r"rsplitterr)rr dotted_pathexcrrrinits zSearchJapanese.initrcCs |j|Sr )rrrrrrr zSearchJapanese.split stemmed_wordcCs t|dkS)NrX)r\)rrrrr word_filterrzSearchJapanese.word_filterrcCs|Sr r)rrrrrstemszSearchJapanese.stem)rrr__doc__lang language_namerrrrrboolrrrrrrrsr)rr;rer6typingrrrr/r ImportErrorjanome.tokenizerr[rZ sphinx.errorsrr sphinx.searchr sphinx.utilrr r MeCabBinderrQrd TinySegmenterrrrrrs:     Bz