 function processtext text text persiantoolsu82etostandardpersiancharacters text ; text persiantoolsu82eapplyzwnj text ; text persiantoolsu82eapplyorthography text ; text persiantoolsu82etopersiandigits text ; text persiantoolsu82epunctuation text ; text persianwikitoolsu82edictation text ; return text; mwu800u82ehook 'veu800u82eactivate' .addu800 function '#cau800 abar abzar' .remove ; mwu800u82eutilu82eaddportletlink 'pu800 cactions '#' 'u8d8a7u8d8a8u8d8b1u8d8a7u8d8a8u8d8b2u8d8a7u8d8b1 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8daafu8d8b1 u8d8afu8db8cu8d8afu8d8a7u8d8b1u8db8c' 'cau800 abar abzar veu800' .click function eu800 varu800 surfacemodel veu800u82einitu82etargetu82egetsurface .getmodel ; varu800 documentmodel surfacemodelu82egetdocument ; varu800 fragments ; varu800 ranges documentmodelu82efindtext newu800 regexp '.*' true true ; varu800 iu800 lu800; foru800 iu800 0u800 lu800 rangesu82elength; iu800 lu800; iu800 fragmentsu82epush surfacemodelu82egetlinearfragment ranges iu800 true true ; foru800 iu800 0u800 lu800 fragmentsu82elength; iu800 lu800; iu800 varu800 fragment fragments iu800 ; fragmentu82einsertcontent processtext fragmentu82egettext true ; eu800u82epreventdefault ; mwu800u82ehook 'veu800u82esavedialogu82estatechanged' .addu800 function .veu800 init mwu800 viewpagetarget savedialog checkboxes varu800 target veu800u82einitu82etarget; varu800 insertbeforethis targetu82esavedialog. bodyu82efind '.veu800 uiu800 mwsavedialog options ; summarybox targetu82esavedialog. bodyu82efind '.veu800 uiu800 mwsavedialog summary textarea' ; summaryboxu82evalu800 "u8d8a7u8d8a8u8d8b1u8d8a7u8d8a8u8d8b2u8d8a7u8d8b1 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8db8cu8daafu8d8b1 u8d8afu8db8cu8d8afu8d8a7u8d8b1u8db8cu8d88c " summaryboxu82evalu800 ; ; ; '#cau800 abar abzar veu800' .cssu800 'font weight' 'bold' ; ; * mwu800u82elibsu82eveu800u82eaddplugin function function function supertool toolgroup config oou800u82euiu800u82etoolu82ecall this toolgroup config ; oou800u82einheritclass supertools oou800u82euiu800u82etool ; supertoolu82estaticu82ename 'supertool'; supertoolu82estaticu82etitle mwu800u82emsgu800 'supertool toolname' ; supertoolu82eprototypeu82eonselect function aau800 ; * thisu82etoolbaru82egetsurface .getmodel .getfragment .collapserangetoend .insertcontent 'type' 'mwtransclusioninline' 'attributes 'mwu800' parts template target href mwu800u82econfigu82egetu800 'wgformattednamespaces 10u800 ' ' mwu800u82econfigu82egetu800   wtu800 mwu800u82econfigu82egetu800 'rlmtemplatename' params ; ; supertoolu82eprototypeu82eonupdatestate function thisu82esetactive false ; ; veu800u82euiu800u82etoolfactoryu82eregister supertool ; ; ; * 