o =bd?@sddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ dS)) BaseStemmer)Amongc!@sHeZdZdZedddedddedddeddded dded dded dded dded ddedddg ZedddedddedddedddedddedddgZedddedddedddedddedddedddgZedddedddgZedddeddded dded!dded"dded#dd$ed%dd&ed'dd(ed)ddg Z ed*dded+dded,dded-dded.dded/dded0ddgZ ed1dd2edd3dedd3dedd3dedd3dedd$dedd$ded4d$dedddeddded5dded6dd7edd8ded9d8dd:ed;d8dd<ed=d8ded>d8dd:ed?d8ded@d8dd:edAd8d$ed d8d(edBd8d&edCdd2eddDdeddDdeddDdeddDdeddEdeddEdedFdEdgZ edGddedHddedIddedJddedKddedLddedMd(dedNddedOd7dedPddedQddedRdSdedTddedUdVdgZ edWddedXddgZ edHddedId3dgZgdYZgdZZgd[Zgd\Zgd]Zd^Zd_Zd3Zd3Zd`daZdbdcZdddeZdfdgZdhdiZdjdkZdldmZdndoZdpdqZ drdsZ!dtduZ"dvdwZ#dxS)yFinnishStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ parstikaanhankinuhänukäänkoupäuköllanassataltastaulläunäussäutäultäuställeinensammennenisianenuänunsäaaeeiioouuuääuööattaksin den_FinnishStemmer__r_VIseen_FinnishStemmer__r_LONGhenttenhinsiinhonuhönäuttäejammaimmampaimpammiimmimpiimpiuejäummäuimmä umpäuimpä ij)rr'r'r'r'r'r'r'r'r'r'r'r'r'r'r&)wrGr)rFArr'r'r'r'r'r'r'r'r'r'r'r'r&r' )rFrIrJr'r'r'r'r'r'r'r'r'r'r'r'r'r&r'rK)rFarr'r'r'r'r'r'r'r'r'r'r'r'r&r'rKFcCs|j|_|j|_|tjddsdS|tjddsdS|jd7_|j|_|tjdds1dS|tjdds;dS|jd7_|j|_dS)NrLFrT)limitI_p1I_p2go_out_groupingrg_V1go_in_groupingcursorselfrYA/usr/lib/python3/dist-packages/snowballstemmer/finnish_stemmer.py__r_mark_regionsszFinnishStemmer.__r_mark_regionscCs|j|jksdSdSNFT)rRrVrWrYrYrZ__r_R2s zFinnishStemmer.__r_R2cCs|j|jkrdS|j}|j|_|j|_|tj}|dkr"||_dS|j|_||_|dkr8|tj dds7dSn| s>dS| sDdSdS)NFr'rrLrOT) rVrQlimit_backwardket find_among_bra_0bra in_grouping_bg_particle_end_FinnishStemmer__r_R2 slice_del)rXv_2 among_varrYrYrZ__r_particle_etcs(  zFinnishStemmer.__r_particle_etccCs|j|jkrdS|j}|j|_|j|_|tj}|dkr"||_dS|j|_||_|dkrV|j|j}z | dss