| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328 | 
							- /*!
 
-  * UEditor
 
-  * version: ueditor
 
-  * build: Wed Dec 26 2018 17:24:52 GMT+0800 (CST)
 
-  */
 
- !(function () {
 
-   function getListener(a, b, c) {
 
-     var d
 
-     return (
 
-       (b = b.toLowerCase()),
 
-       (d = a.__allListeners || (c && (a.__allListeners = {}))) &&
 
-         (d[b] || (c && (d[b] = [])))
 
-     )
 
-   }
 
-   function getDomNode(a, b, c, d, e, f) {
 
-     var g,
 
-       h = d && a[b]
 
-     for (!h && (h = a[c]); !h && (g = (g || a).parentNode); ) {
 
-       if ('BODY' == g.tagName || (f && !f(g))) return null
 
-       h = g[c]
 
-     }
 
-     return h && e && !e(h) ? getDomNode(h, b, c, !1, e) : h
 
-   }
 
-   UEDITOR_CONFIG = window.UEDITOR_CONFIG || {}
 
-   var baidu = window.baidu || {}
 
-   ;(window.baidu = baidu),
 
-     (window.UE = baidu.editor = window.UE || {}),
 
-     (UE.plugins = {}),
 
-     (UE.commands = {}),
 
-     (UE.instants = {}),
 
-     (UE.I18N = {}),
 
-     (UE._customizeUI = {}),
 
-     (UE.version = '1.4.3')
 
-   var dom = (UE.dom = {}),
 
-     browser = (UE.browser = (function () {
 
-       var a = navigator.userAgent.toLowerCase(),
 
-         b = window.opera,
 
-         c = {
 
-           ie: /(msie\s|trident.*rv:)([\w.]+)/.test(a),
 
-           opera: !!b && b.version,
 
-           webkit: a.indexOf(' applewebkit/') > -1,
 
-           mac: a.indexOf('macintosh') > -1,
 
-           quirks: 'BackCompat' == document.compatMode
 
-         }
 
-       c.gecko = 'Gecko' == navigator.product && !c.webkit && !c.opera && !c.ie
 
-       var d = 0
 
-       if (c.ie) {
 
-         var e = a.match(/(?:msie\s([\w.]+))/),
 
-           f = a.match(/(?:trident.*rv:([\w.]+))/)
 
-         ;(d =
 
-           e && f && e[1] && f[1]
 
-             ? Math.max(1 * e[1], 1 * f[1])
 
-             : e && e[1]
 
-             ? 1 * e[1]
 
-             : f && f[1]
 
-             ? 1 * f[1]
 
-             : 0),
 
-           (c.ie11Compat = 11 == document.documentMode),
 
-           (c.ie9Compat = 9 == document.documentMode),
 
-           (c.ie8 = !!document.documentMode),
 
-           (c.ie8Compat = 8 == document.documentMode),
 
-           (c.ie7Compat =
 
-             (7 == d && !document.documentMode) || 7 == document.documentMode),
 
-           (c.ie6Compat = d < 7 || c.quirks),
 
-           (c.ie9above = d > 8),
 
-           (c.ie9below = d < 9),
 
-           (c.ie11above = d > 10),
 
-           (c.ie11below = d < 11)
 
-       }
 
-       if (c.gecko) {
 
-         var g = a.match(/rv:([\d\.]+)/)
 
-         g &&
 
-           ((g = g[1].split('.')),
 
-           (d = 1e4 * g[0] + 100 * (g[1] || 0) + 1 * (g[2] || 0)))
 
-       }
 
-       return (
 
-         /chrome\/(\d+\.\d)/i.test(a) && (c.chrome = +RegExp.$1),
 
-         /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(a) &&
 
-           !/chrome/i.test(a) &&
 
-           (c.safari = +(RegExp.$1 || RegExp.$2)),
 
-         c.opera && (d = parseFloat(b.version())),
 
-         c.webkit && (d = parseFloat(a.match(/ applewebkit\/(\d+)/)[1])),
 
-         (c.version = d),
 
-         (c.isCompatible =
 
-           !c.mobile &&
 
-           ((c.ie && d >= 6) ||
 
-             (c.gecko && d >= 10801) ||
 
-             (c.opera && d >= 9.5) ||
 
-             (c.air && d >= 1) ||
 
-             (c.webkit && d >= 522) ||
 
-             !1)),
 
-         c
 
-       )
 
-     })()),
 
-     ie = browser.ie,
 
-     webkit = browser.webkit,
 
-     gecko = browser.gecko,
 
-     opera = browser.opera,
 
-     utils = (UE.utils = {
 
-       each: function (a, b, c) {
 
-         if (null != a)
 
-           if (a.length === +a.length) {
 
-             for (var d = 0, e = a.length; d < e; d++)
 
-               if (b.call(c, a[d], d, a) === !1) return !1
 
-           } else
 
-             for (var f in a)
 
-               if (a.hasOwnProperty(f) && b.call(c, a[f], f, a) === !1) return !1
 
-       },
 
-       makeInstance: function (a) {
 
-         var b = new Function()
 
-         return (b.prototype = a), (a = new b()), (b.prototype = null), a
 
-       },
 
-       extend: function (a, b, c) {
 
-         if (b) for (var d in b) (c && a.hasOwnProperty(d)) || (a[d] = b[d])
 
-         return a
 
-       },
 
-       extend2: function (a) {
 
-         for (var b = arguments, c = 1; c < b.length; c++) {
 
-           var d = b[c]
 
-           for (var e in d) a.hasOwnProperty(e) || (a[e] = d[e])
 
-         }
 
-         return a
 
-       },
 
-       inherits: function (a, b) {
 
-         var c = a.prototype,
 
-           d = utils.makeInstance(b.prototype)
 
-         return utils.extend(d, c, !0), (a.prototype = d), (d.constructor = a)
 
-       },
 
-       bind: function (a, b) {
 
-         return function () {
 
-           return a.apply(b, arguments)
 
-         }
 
-       },
 
-       defer: function (a, b, c) {
 
-         var d
 
-         return function () {
 
-           c && clearTimeout(d), (d = setTimeout(a, b))
 
-         }
 
-       },
 
-       indexOf: function (a, b, c) {
 
-         var d = -1
 
-         return (
 
-           (c = this.isNumber(c) ? c : 0),
 
-           this.each(a, function (a, e) {
 
-             if (e >= c && a === b) return (d = e), !1
 
-           }),
 
-           d
 
-         )
 
-       },
 
-       removeItem: function (a, b) {
 
-         for (var c = 0, d = a.length; c < d; c++)
 
-           a[c] === b && (a.splice(c, 1), c--)
 
-       },
 
-       trim: function (a) {
 
-         return a.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, '')
 
-       },
 
-       listToMap: function (a) {
 
-         if (!a) return {}
 
-         a = utils.isArray(a) ? a : a.split(',')
 
-         for (var b, c = 0, d = {}; (b = a[c++]); ) d[b.toUpperCase()] = d[b] = 1
 
-         return d
 
-       },
 
-       unhtml: function (a, b) {
 
-         return a
 
-           ? a.replace(
 
-               b || /[&<">'](?:(amp|lt|quot|gt|#39|nbsp|#\d+);)?/g,
 
-               function (a, b) {
 
-                 return b
 
-                   ? a
 
-                   : {
 
-                       '<': '<',
 
-                       '&': '&',
 
-                       '"': '"',
 
-                       '>': '>',
 
-                       "'": '''
 
-                     }[a]
 
-               }
 
-             )
 
-           : ''
 
-       },
 
-       unhtmlForUrl: function (a, b) {
 
-         return a
 
-           ? a.replace(b || /[<">']/g, function (a) {
 
-               return {
 
-                 '<': '<',
 
-                 '&': '&',
 
-                 '"': '"',
 
-                 '>': '>',
 
-                 "'": '''
 
-               }[a]
 
-             })
 
-           : ''
 
-       },
 
-       html: function (a) {
 
-         return a
 
-           ? a.replace(/&((g|l|quo)t|amp|#39|nbsp);/g, function (a) {
 
-               return {
 
-                 '<': '<',
 
-                 '&': '&',
 
-                 '"': '"',
 
-                 '>': '>',
 
-                 ''': "'",
 
-                 ' ': ' '
 
-               }[a]
 
-             })
 
-           : ''
 
-       },
 
-       cssStyleToDomStyle: (function () {
 
-         var a = document.createElement('div').style,
 
-           b = {
 
-             float:
 
-               void 0 != a.cssFloat
 
-                 ? 'cssFloat'
 
-                 : void 0 != a.styleFloat
 
-                 ? 'styleFloat'
 
-                 : 'float'
 
-           }
 
-         return function (a) {
 
-           return (
 
-             b[a] ||
 
-             (b[a] = a.toLowerCase().replace(/-./g, function (a) {
 
-               return a.charAt(1).toUpperCase()
 
-             }))
 
-           )
 
-         }
 
-       })(),
 
-       loadFile: (function () {
 
-         function a(a, c) {
 
-           try {
 
-             for (var d, e = 0; (d = b[e++]); )
 
-               if (d.doc === a && d.url == (c.src || c.href)) return d
 
-           } catch (f) {
 
-             return null
 
-           }
 
-         }
 
-         var b = []
 
-         return function (c, d, e) {
 
-           var f = a(c, d)
 
-           if (f) return void (f.ready ? e && e() : f.funs.push(e))
 
-           if ((b.push({ doc: c, url: d.src || d.href, funs: [e] }), !c.body)) {
 
-             var g = []
 
-             for (var h in d) 'tag' != h && g.push(h + '="' + d[h] + '"')
 
-             return void c.write(
 
-               '<' + d.tag + ' ' + g.join(' ') + ' ></' + d.tag + '>'
 
-             )
 
-           }
 
-           if (!d.id || !c.getElementById(d.id)) {
 
-             var i = c.createElement(d.tag)
 
-             delete d.tag
 
-             for (var h in d) i.setAttribute(h, d[h])
 
-             ;(i.onload = i.onreadystatechange =
 
-               function () {
 
-                 if (
 
-                   !this.readyState ||
 
-                   /loaded|complete/.test(this.readyState)
 
-                 ) {
 
-                   if (((f = a(c, d)), f.funs.length > 0)) {
 
-                     f.ready = 1
 
-                     for (var b; (b = f.funs.pop()); ) b()
 
-                   }
 
-                   i.onload = i.onreadystatechange = null
 
-                 }
 
-               }),
 
-               (i.onerror = function () {
 
-                 throw Error(
 
-                   'The load ' +
 
-                     (d.href || d.src) +
 
-                     ' fails,check the url settings of file ueditor.config.js '
 
-                 )
 
-               }),
 
-               c.getElementsByTagName('head')[0].appendChild(i)
 
-           }
 
-         }
 
-       })(),
 
-       isEmptyObject: function (a) {
 
-         if (null == a) return !0
 
-         if (this.isArray(a) || this.isString(a)) return 0 === a.length
 
-         for (var b in a) if (a.hasOwnProperty(b)) return !1
 
-         return !0
 
-       },
 
-       fixColor: function (a, b) {
 
-         if (/color/i.test(a) && /rgba?/.test(b)) {
 
-           var c = b.split(',')
 
-           if (c.length > 3) return ''
 
-           b = '#'
 
-           for (var d, e = 0; (d = c[e++]); )
 
-             (d = parseInt(d.replace(/[^\d]/gi, ''), 10).toString(16)),
 
-               (b += 1 == d.length ? '0' + d : d)
 
-           b = b.toUpperCase()
 
-         }
 
-         return b
 
-       },
 
-       optCss: function (a) {
 
-         function b(a, b) {
 
-           if (!a) return ''
 
-           var c = a.top,
 
-             d = a.bottom,
 
-             e = a.left,
 
-             f = a.right,
 
-             g = ''
 
-           if (c && e && d && f)
 
-             g +=
 
-               ';' +
 
-               b +
 
-               ':' +
 
-               (c == d && d == e && e == f
 
-                 ? c
 
-                 : c == d && e == f
 
-                 ? c + ' ' + e
 
-                 : e == f
 
-                 ? c + ' ' + e + ' ' + d
 
-                 : c + ' ' + f + ' ' + d + ' ' + e) +
 
-               ';'
 
-           else for (var h in a) g += ';' + b + '-' + h + ':' + a[h] + ';'
 
-           return g
 
-         }
 
-         var c, d
 
-         return (
 
-           (a = a.replace(
 
-             /(padding|margin|border)\-([^:]+):([^;]+);?/gi,
 
-             function (a, b, e, f) {
 
-               if (1 == f.split(' ').length)
 
-                 switch (b) {
 
-                   case 'padding':
 
-                     return !c && (c = {}), (c[e] = f), ''
 
-                   case 'margin':
 
-                     return !d && (d = {}), (d[e] = f), ''
 
-                   case 'border':
 
-                     return 'initial' == f ? '' : a
 
-                 }
 
-               return a
 
-             }
 
-           )),
 
-           (a += b(c, 'padding') + b(d, 'margin')),
 
-           a
 
-             .replace(/^[ \n\r\t;]*|[ \n\r\t]*$/, '')
 
-             .replace(/;([ \n\r\t]+)|\1;/g, ';')
 
-             .replace(/(&((l|g)t|quot|#39))?;{2,}/g, function (a, b) {
 
-               return b ? b + ';;' : ';'
 
-             })
 
-         )
 
-       },
 
-       clone: function (a, b) {
 
-         var c
 
-         b = b || {}
 
-         for (var d in a)
 
-           a.hasOwnProperty(d) &&
 
-             ((c = a[d]),
 
-             'object' == typeof c
 
-               ? ((b[d] = utils.isArray(c) ? [] : {}), utils.clone(a[d], b[d]))
 
-               : (b[d] = c))
 
-         return b
 
-       },
 
-       transUnitToPx: function (a) {
 
-         if (!/(pt|cm)/.test(a)) return a
 
-         var b
 
-         switch (
 
-           (a.replace(/([\d.]+)(\w+)/, function (c, d, e) {
 
-             ;(a = d), (b = e)
 
-           }),
 
-           b)
 
-         ) {
 
-           case 'cm':
 
-             a = 25 * parseFloat(a)
 
-             break
 
-           case 'pt':
 
-             a = Math.round((96 * parseFloat(a)) / 72)
 
-         }
 
-         return a + (a ? 'px' : '')
 
-       },
 
-       domReady: (function () {
 
-         function a(a) {
 
-           a.isReady = !0
 
-           for (var c; (c = b.pop()); c());
 
-         }
 
-         var b = []
 
-         return function (c, d) {
 
-           d = d || window
 
-           var e = d.document
 
-           c && b.push(c),
 
-             'complete' === e.readyState
 
-               ? a(e)
 
-               : (e.isReady && a(e),
 
-                 browser.ie && 11 != browser.version
 
-                   ? (!(function () {
 
-                       if (!e.isReady) {
 
-                         try {
 
-                           e.documentElement.doScroll('left')
 
-                         } catch (b) {
 
-                           return void setTimeout(arguments.callee, 0)
 
-                         }
 
-                         a(e)
 
-                       }
 
-                     })(),
 
-                     d.attachEvent('onload', function () {
 
-                       a(e)
 
-                     }))
 
-                   : (e.addEventListener(
 
-                       'DOMContentLoaded',
 
-                       function () {
 
-                         e.removeEventListener(
 
-                           'DOMContentLoaded',
 
-                           arguments.callee,
 
-                           !1
 
-                         ),
 
-                           a(e)
 
-                       },
 
-                       !1
 
-                     ),
 
-                     d.addEventListener(
 
-                       'load',
 
-                       function () {
 
-                         a(e)
 
-                       },
 
-                       !1
 
-                     )))
 
-         }
 
-       })(),
 
-       cssRule:
 
-         browser.ie && 11 != browser.version
 
-           ? function (a, b, c) {
 
-               var d, e
 
-               if (void 0 === b || (b && b.nodeType && 9 == b.nodeType)) {
 
-                 if (
 
-                   ((c = b && b.nodeType && 9 == b.nodeType ? b : c || document),
 
-                   (d = c.indexList || (c.indexList = {})),
 
-                   (e = d[a]),
 
-                   void 0 !== e)
 
-                 )
 
-                   return c.styleSheets[e].cssText
 
-               } else {
 
-                 if (
 
-                   ((c = c || document),
 
-                   (d = c.indexList || (c.indexList = {})),
 
-                   (e = d[a]),
 
-                   '' === b)
 
-                 )
 
-                   return (
 
-                     void 0 !== e &&
 
-                     ((c.styleSheets[e].cssText = ''), delete d[a], !0)
 
-                   )
 
-                 void 0 !== e
 
-                   ? (sheetStyle = c.styleSheets[e])
 
-                   : ((sheetStyle = c.createStyleSheet(
 
-                       '',
 
-                       (e = c.styleSheets.length)
 
-                     )),
 
-                     (d[a] = e)),
 
-                   (sheetStyle.cssText = b)
 
-               }
 
-             }
 
-           : function (a, b, c) {
 
-               var d
 
-               return void 0 === b || (b && b.nodeType && 9 == b.nodeType)
 
-                 ? ((c = b && b.nodeType && 9 == b.nodeType ? b : c || document),
 
-                   (d = c.getElementById(a)),
 
-                   d ? d.innerHTML : void 0)
 
-                 : ((c = c || document),
 
-                   (d = c.getElementById(a)),
 
-                   '' === b
 
-                     ? !!d && (d.parentNode.removeChild(d), !0)
 
-                     : void (d
 
-                         ? (d.innerHTML = b)
 
-                         : ((d = c.createElement('style')),
 
-                           (d.id = a),
 
-                           (d.innerHTML = b),
 
-                           c.getElementsByTagName('head')[0].appendChild(d))))
 
-             },
 
-       sort: function (a, b) {
 
-         b =
 
-           b ||
 
-           function (a, b) {
 
-             return a.localeCompare(b)
 
-           }
 
-         for (var c = 0, d = a.length; c < d; c++)
 
-           for (var e = c, f = a.length; e < f; e++)
 
-             if (b(a[c], a[e]) > 0) {
 
-               var g = a[c]
 
-               ;(a[c] = a[e]), (a[e] = g)
 
-             }
 
-         return a
 
-       },
 
-       serializeParam: function (a) {
 
-         var b = []
 
-         for (var c in a)
 
-           if ('method' != c && 'timeout' != c && 'async' != c)
 
-             if (
 
-               'function' != (typeof a[c]).toLowerCase() &&
 
-               'object' != (typeof a[c]).toLowerCase()
 
-             )
 
-               b.push(encodeURIComponent(c) + '=' + encodeURIComponent(a[c]))
 
-             else if (utils.isArray(a[c]))
 
-               for (var d = 0; d < a[c].length; d++)
 
-                 b.push(
 
-                   encodeURIComponent(c) + '[]=' + encodeURIComponent(a[c][d])
 
-                 )
 
-         return b.join('&')
 
-       },
 
-       formatUrl: function (a) {
 
-         var b = a.replace(/&&/g, '&')
 
-         return (
 
-           (b = b.replace(/\?&/g, '?')),
 
-           (b = b.replace(/&$/g, '')),
 
-           (b = b.replace(/&#/g, '#')),
 
-           (b = b.replace(/&+/g, '&'))
 
-         )
 
-       },
 
-       isCrossDomainUrl: function (a) {
 
-         var b = document.createElement('a')
 
-         return (
 
-           (b.href = a),
 
-           browser.ie && (b.href = b.href),
 
-           !(
 
-             b.protocol == location.protocol &&
 
-             b.hostname == location.hostname &&
 
-             (b.port == location.port ||
 
-               ('80' == b.port && '' == location.port) ||
 
-               ('' == b.port && '80' == location.port))
 
-           )
 
-         )
 
-       },
 
-       clearEmptyAttrs: function (a) {
 
-         for (var b in a) '' === a[b] && delete a[b]
 
-         return a
 
-       },
 
-       str2json: function (a) {
 
-         return utils.isString(a)
 
-           ? window.JSON
 
-             ? JSON.parse(a)
 
-             : new Function('return ' + utils.trim(a || ''))()
 
-           : null
 
-       },
 
-       json2str: (function () {
 
-         function a(a) {
 
-           return (
 
-             /["\\\x00-\x1f]/.test(a) &&
 
-               (a = a.replace(/["\\\x00-\x1f]/g, function (a) {
 
-                 var b = e[a]
 
-                 return b
 
-                   ? b
 
-                   : ((b = a.charCodeAt()),
 
-                     '\\u00' +
 
-                       Math.floor(b / 16).toString(16) +
 
-                       (b % 16).toString(16))
 
-               })),
 
-             '"' + a + '"'
 
-           )
 
-         }
 
-         function b(a) {
 
-           var b,
 
-             c,
 
-             d,
 
-             e = ['['],
 
-             f = a.length
 
-           for (c = 0; c < f; c++)
 
-             switch (((d = a[c]), typeof d)) {
 
-               case 'undefined':
 
-               case 'function':
 
-               case 'unknown':
 
-                 break
 
-               default:
 
-                 b && e.push(','), e.push(utils.json2str(d)), (b = 1)
 
-             }
 
-           return e.push(']'), e.join('')
 
-         }
 
-         function c(a) {
 
-           return a < 10 ? '0' + a : a
 
-         }
 
-         function d(a) {
 
-           return (
 
-             '"' +
 
-             a.getFullYear() +
 
-             '-' +
 
-             c(a.getMonth() + 1) +
 
-             '-' +
 
-             c(a.getDate()) +
 
-             'T' +
 
-             c(a.getHours()) +
 
-             ':' +
 
-             c(a.getMinutes()) +
 
-             ':' +
 
-             c(a.getSeconds()) +
 
-             '"'
 
-           )
 
-         }
 
-         if (window.JSON) return JSON.stringify
 
-         var e = {
 
-           '\b': '\\b',
 
-           '\t': '\\t',
 
-           '\n': '\\n',
 
-           '\f': '\\f',
 
-           '\r': '\\r',
 
-           '"': '\\"',
 
-           '\\': '\\\\'
 
-         }
 
-         return function (c) {
 
-           switch (typeof c) {
 
-             case 'undefined':
 
-               return 'undefined'
 
-             case 'number':
 
-               return isFinite(c) ? String(c) : 'null'
 
-             case 'string':
 
-               return a(c)
 
-             case 'boolean':
 
-               return String(c)
 
-             default:
 
-               if (null === c) return 'null'
 
-               if (utils.isArray(c)) return b(c)
 
-               if (utils.isDate(c)) return d(c)
 
-               var e,
 
-                 f,
 
-                 g = ['{'],
 
-                 h = utils.json2str
 
-               for (var i in c)
 
-                 if (Object.prototype.hasOwnProperty.call(c, i))
 
-                   switch (((f = c[i]), typeof f)) {
 
-                     case 'undefined':
 
-                     case 'unknown':
 
-                     case 'function':
 
-                       break
 
-                     default:
 
-                       e && g.push(','), (e = 1), g.push(h(i) + ':' + h(f))
 
-                   }
 
-               return g.push('}'), g.join('')
 
-           }
 
-         }
 
-       })()
 
-     })
 
-   utils.each(
 
-     ['String', 'Function', 'Array', 'Number', 'RegExp', 'Object', 'Date'],
 
-     function (a) {
 
-       UE.utils['is' + a] = function (b) {
 
-         return Object.prototype.toString.apply(b) == '[object ' + a + ']'
 
-       }
 
-     }
 
-   )
 
-   var EventBase = (UE.EventBase = function () {})
 
-   EventBase.prototype = {
 
-     addListener: function (a, b) {
 
-       a = utils.trim(a).split(/\s+/)
 
-       for (var c, d = 0; (c = a[d++]); ) getListener(this, c, !0).push(b)
 
-     },
 
-     on: function (a, b) {
 
-       return this.addListener(a, b)
 
-     },
 
-     off: function (a, b) {
 
-       return this.removeListener(a, b)
 
-     },
 
-     trigger: function () {
 
-       return this.fireEvent.apply(this, arguments)
 
-     },
 
-     removeListener: function (a, b) {
 
-       a = utils.trim(a).split(/\s+/)
 
-       for (var c, d = 0; (c = a[d++]); )
 
-         utils.removeItem(getListener(this, c) || [], b)
 
-     },
 
-     fireEvent: function () {
 
-       var a = arguments[0]
 
-       a = utils.trim(a).split(' ')
 
-       for (var b, c = 0; (b = a[c++]); ) {
 
-         var d,
 
-           e,
 
-           f,
 
-           g = getListener(this, b)
 
-         if (g)
 
-           for (f = g.length; f--; )
 
-             if (g[f]) {
 
-               if (((e = g[f].apply(this, arguments)), e === !0)) return e
 
-               void 0 !== e && (d = e)
 
-             }
 
-         ;(e = this['on' + b.toLowerCase()]) && (d = e.apply(this, arguments))
 
-       }
 
-       return d
 
-     }
 
-   }
 
-   var dtd = (dom.dtd = (function () {
 
-       function a(a) {
 
-         for (var b in a) a[b.toUpperCase()] = a[b]
 
-         return a
 
-       }
 
-       var b = utils.extend2,
 
-         c = a({ isindex: 1, fieldset: 1 }),
 
-         d = a({ input: 1, button: 1, select: 1, textarea: 1, label: 1 }),
 
-         e = b(a({ a: 1 }), d),
 
-         f = b({ iframe: 1 }, e),
 
-         g = a({
 
-           hr: 1,
 
-           ul: 1,
 
-           menu: 1,
 
-           div: 1,
 
-           blockquote: 1,
 
-           noscript: 1,
 
-           table: 1,
 
-           center: 1,
 
-           address: 1,
 
-           dir: 1,
 
-           pre: 1,
 
-           h5: 1,
 
-           dl: 1,
 
-           h4: 1,
 
-           noframes: 1,
 
-           h6: 1,
 
-           ol: 1,
 
-           h1: 1,
 
-           h3: 1,
 
-           h2: 1
 
-         }),
 
-         h = a({ ins: 1, del: 1, script: 1, style: 1 }),
 
-         i = b(
 
-           a({
 
-             b: 1,
 
-             acronym: 1,
 
-             bdo: 1,
 
-             var: 1,
 
-             '#': 1,
 
-             abbr: 1,
 
-             code: 1,
 
-             br: 1,
 
-             i: 1,
 
-             cite: 1,
 
-             kbd: 1,
 
-             u: 1,
 
-             strike: 1,
 
-             s: 1,
 
-             tt: 1,
 
-             strong: 1,
 
-             q: 1,
 
-             samp: 1,
 
-             em: 1,
 
-             dfn: 1,
 
-             span: 1
 
-           }),
 
-           h
 
-         ),
 
-         j = b(
 
-           a({
 
-             sub: 1,
 
-             img: 1,
 
-             embed: 1,
 
-             object: 1,
 
-             sup: 1,
 
-             basefont: 1,
 
-             map: 1,
 
-             applet: 1,
 
-             font: 1,
 
-             big: 1,
 
-             small: 1
 
-           }),
 
-           i
 
-         ),
 
-         k = b(a({ p: 1 }), j),
 
-         l = b(a({ iframe: 1 }), j, d),
 
-         m = a({
 
-           img: 1,
 
-           embed: 1,
 
-           noscript: 1,
 
-           br: 1,
 
-           kbd: 1,
 
-           center: 1,
 
-           button: 1,
 
-           basefont: 1,
 
-           h5: 1,
 
-           h4: 1,
 
-           samp: 1,
 
-           h6: 1,
 
-           ol: 1,
 
-           h1: 1,
 
-           h3: 1,
 
-           h2: 1,
 
-           form: 1,
 
-           font: 1,
 
-           '#': 1,
 
-           select: 1,
 
-           menu: 1,
 
-           ins: 1,
 
-           abbr: 1,
 
-           label: 1,
 
-           code: 1,
 
-           table: 1,
 
-           script: 1,
 
-           cite: 1,
 
-           input: 1,
 
-           iframe: 1,
 
-           strong: 1,
 
-           textarea: 1,
 
-           noframes: 1,
 
-           big: 1,
 
-           small: 1,
 
-           span: 1,
 
-           hr: 1,
 
-           sub: 1,
 
-           bdo: 1,
 
-           var: 1,
 
-           div: 1,
 
-           object: 1,
 
-           sup: 1,
 
-           strike: 1,
 
-           dir: 1,
 
-           map: 1,
 
-           dl: 1,
 
-           applet: 1,
 
-           del: 1,
 
-           isindex: 1,
 
-           fieldset: 1,
 
-           ul: 1,
 
-           b: 1,
 
-           acronym: 1,
 
-           a: 1,
 
-           blockquote: 1,
 
-           i: 1,
 
-           u: 1,
 
-           s: 1,
 
-           tt: 1,
 
-           address: 1,
 
-           q: 1,
 
-           pre: 1,
 
-           p: 1,
 
-           em: 1,
 
-           dfn: 1
 
-         }),
 
-         n = b(a({ a: 0 }), l),
 
-         o = a({ tr: 1 }),
 
-         p = a({ '#': 1 }),
 
-         q = b(a({ param: 1 }), m),
 
-         r = b(a({ form: 1 }), c, f, g, k),
 
-         s = a({ li: 1, ol: 1, ul: 1 }),
 
-         t = a({ style: 1, script: 1 }),
 
-         u = a({ base: 1, link: 1, meta: 1, title: 1 }),
 
-         v = b(u, t),
 
-         w = a({ head: 1, body: 1 }),
 
-         x = a({ html: 1 }),
 
-         y = a({
 
-           address: 1,
 
-           blockquote: 1,
 
-           center: 1,
 
-           dir: 1,
 
-           div: 1,
 
-           dl: 1,
 
-           fieldset: 1,
 
-           form: 1,
 
-           h1: 1,
 
-           h2: 1,
 
-           h3: 1,
 
-           h4: 1,
 
-           h5: 1,
 
-           h6: 1,
 
-           hr: 1,
 
-           isindex: 1,
 
-           menu: 1,
 
-           noframes: 1,
 
-           ol: 1,
 
-           p: 1,
 
-           pre: 1,
 
-           table: 1,
 
-           ul: 1
 
-         }),
 
-         z = a({
 
-           area: 1,
 
-           base: 1,
 
-           basefont: 1,
 
-           br: 1,
 
-           col: 1,
 
-           command: 1,
 
-           dialog: 1,
 
-           embed: 1,
 
-           hr: 1,
 
-           img: 1,
 
-           input: 1,
 
-           isindex: 1,
 
-           keygen: 1,
 
-           link: 1,
 
-           meta: 1,
 
-           param: 1,
 
-           source: 1,
 
-           track: 1,
 
-           wbr: 1
 
-         })
 
-       return a({
 
-         $nonBodyContent: b(x, w, u),
 
-         $block: y,
 
-         $inline: n,
 
-         $inlineWithA: b(a({ a: 1 }), n),
 
-         $body: b(a({ script: 1, style: 1 }), y),
 
-         $cdata: a({ script: 1, style: 1 }),
 
-         $empty: z,
 
-         $nonChild: a({ iframe: 1, textarea: 1 }),
 
-         $listItem: a({ dd: 1, dt: 1, li: 1 }),
 
-         $list: a({ ul: 1, ol: 1, dl: 1 }),
 
-         $isNotEmpty: a({
 
-           table: 1,
 
-           ul: 1,
 
-           ol: 1,
 
-           dl: 1,
 
-           iframe: 1,
 
-           area: 1,
 
-           base: 1,
 
-           col: 1,
 
-           hr: 1,
 
-           img: 1,
 
-           embed: 1,
 
-           input: 1,
 
-           link: 1,
 
-           meta: 1,
 
-           param: 1,
 
-           h1: 1,
 
-           h2: 1,
 
-           h3: 1,
 
-           h4: 1,
 
-           h5: 1,
 
-           h6: 1
 
-         }),
 
-         $removeEmpty: a({
 
-           a: 1,
 
-           abbr: 1,
 
-           acronym: 1,
 
-           address: 1,
 
-           b: 1,
 
-           bdo: 1,
 
-           big: 1,
 
-           cite: 1,
 
-           code: 1,
 
-           del: 1,
 
-           dfn: 1,
 
-           em: 1,
 
-           font: 1,
 
-           i: 1,
 
-           ins: 1,
 
-           label: 1,
 
-           kbd: 1,
 
-           q: 1,
 
-           s: 1,
 
-           samp: 1,
 
-           small: 1,
 
-           span: 1,
 
-           strike: 1,
 
-           strong: 1,
 
-           sub: 1,
 
-           sup: 1,
 
-           tt: 1,
 
-           u: 1,
 
-           var: 1
 
-         }),
 
-         $removeEmptyBlock: a({ p: 1, div: 1 }),
 
-         $tableContent: a({
 
-           caption: 1,
 
-           col: 1,
 
-           colgroup: 1,
 
-           tbody: 1,
 
-           td: 1,
 
-           tfoot: 1,
 
-           th: 1,
 
-           thead: 1,
 
-           tr: 1,
 
-           table: 1
 
-         }),
 
-         $notTransContent: a({ pre: 1, script: 1, style: 1, textarea: 1 }),
 
-         html: w,
 
-         head: v,
 
-         style: p,
 
-         script: p,
 
-         body: r,
 
-         base: {},
 
-         link: {},
 
-         meta: {},
 
-         title: p,
 
-         col: {},
 
-         tr: a({ td: 1, th: 1 }),
 
-         img: {},
 
-         embed: {},
 
-         colgroup: a({ thead: 1, col: 1, tbody: 1, tr: 1, tfoot: 1 }),
 
-         noscript: r,
 
-         td: r,
 
-         br: {},
 
-         th: r,
 
-         center: r,
 
-         kbd: n,
 
-         button: b(k, g),
 
-         basefont: {},
 
-         h5: n,
 
-         h4: n,
 
-         samp: n,
 
-         h6: n,
 
-         ol: s,
 
-         h1: n,
 
-         h3: n,
 
-         option: p,
 
-         h2: n,
 
-         form: b(c, f, g, k),
 
-         select: a({ optgroup: 1, option: 1 }),
 
-         font: n,
 
-         ins: n,
 
-         menu: s,
 
-         abbr: n,
 
-         label: n,
 
-         table: a({
 
-           thead: 1,
 
-           col: 1,
 
-           tbody: 1,
 
-           tr: 1,
 
-           colgroup: 1,
 
-           caption: 1,
 
-           tfoot: 1
 
-         }),
 
-         code: n,
 
-         tfoot: o,
 
-         cite: n,
 
-         li: r,
 
-         input: {},
 
-         iframe: r,
 
-         strong: n,
 
-         textarea: p,
 
-         noframes: r,
 
-         big: n,
 
-         small: n,
 
-         span: a({
 
-           '#': 1,
 
-           br: 1,
 
-           b: 1,
 
-           strong: 1,
 
-           u: 1,
 
-           i: 1,
 
-           em: 1,
 
-           sub: 1,
 
-           sup: 1,
 
-           strike: 1,
 
-           span: 1
 
-         }),
 
-         hr: n,
 
-         dt: n,
 
-         sub: n,
 
-         optgroup: a({ option: 1 }),
 
-         param: {},
 
-         bdo: n,
 
-         var: n,
 
-         div: r,
 
-         object: q,
 
-         sup: n,
 
-         dd: r,
 
-         strike: n,
 
-         area: {},
 
-         dir: s,
 
-         map: b(a({ area: 1, form: 1, p: 1 }), c, h, g),
 
-         applet: q,
 
-         dl: a({ dt: 1, dd: 1 }),
 
-         del: n,
 
-         isindex: {},
 
-         fieldset: b(a({ legend: 1 }), m),
 
-         thead: o,
 
-         ul: s,
 
-         acronym: n,
 
-         b: n,
 
-         a: b(a({ a: 1 }), l),
 
-         blockquote: b(a({ td: 1, tr: 1, tbody: 1, li: 1 }), r),
 
-         caption: n,
 
-         i: n,
 
-         u: n,
 
-         tbody: o,
 
-         s: n,
 
-         address: b(f, k),
 
-         tt: n,
 
-         legend: n,
 
-         q: n,
 
-         pre: b(i, e),
 
-         p: b(a({ a: 1 }), n),
 
-         em: n,
 
-         dfn: n
 
-       })
 
-     })()),
 
-     attrFix =
 
-       ie && browser.version < 9
 
-         ? {
 
-             tabindex: 'tabIndex',
 
-             readonly: 'readOnly',
 
-             for: 'htmlFor',
 
-             class: 'className',
 
-             maxlength: 'maxLength',
 
-             cellspacing: 'cellSpacing',
 
-             cellpadding: 'cellPadding',
 
-             rowspan: 'rowSpan',
 
-             colspan: 'colSpan',
 
-             usemap: 'useMap',
 
-             frameborder: 'frameBorder'
 
-           }
 
-         : { tabindex: 'tabIndex', readonly: 'readOnly' },
 
-     styleBlock = utils.listToMap([
 
-       '-webkit-box',
 
-       '-moz-box',
 
-       'block',
 
-       'list-item',
 
-       'table',
 
-       'table-row-group',
 
-       'table-header-group',
 
-       'table-footer-group',
 
-       'table-row',
 
-       'table-column-group',
 
-       'table-column',
 
-       'table-cell',
 
-       'table-caption'
 
-     ]),
 
-     domUtils = (dom.domUtils = {
 
-       NODE_ELEMENT: 1,
 
-       NODE_DOCUMENT: 9,
 
-       NODE_TEXT: 3,
 
-       NODE_COMMENT: 8,
 
-       NODE_DOCUMENT_FRAGMENT: 11,
 
-       POSITION_IDENTICAL: 0,
 
-       POSITION_DISCONNECTED: 1,
 
-       POSITION_FOLLOWING: 2,
 
-       POSITION_PRECEDING: 4,
 
-       POSITION_IS_CONTAINED: 8,
 
-       POSITION_CONTAINS: 16,
 
-       fillChar: ie && '6' == browser.version ? '\ufeff' : '',
 
-       keys: {
 
-         8: 1,
 
-         46: 1,
 
-         16: 1,
 
-         17: 1,
 
-         18: 1,
 
-         37: 1,
 
-         38: 1,
 
-         39: 1,
 
-         40: 1,
 
-         13: 1
 
-       },
 
-       getPosition: function (a, b) {
 
-         if (a === b) return 0
 
-         var c,
 
-           d = [a],
 
-           e = [b]
 
-         for (c = a; (c = c.parentNode); ) {
 
-           if (c === b) return 10
 
-           d.push(c)
 
-         }
 
-         for (c = b; (c = c.parentNode); ) {
 
-           if (c === a) return 20
 
-           e.push(c)
 
-         }
 
-         if ((d.reverse(), e.reverse(), d[0] !== e[0])) return 1
 
-         for (var f = -1; f++, d[f] === e[f]; );
 
-         for (a = d[f], b = e[f]; (a = a.nextSibling); ) if (a === b) return 4
 
-         return 2
 
-       },
 
-       getNodeIndex: function (a, b) {
 
-         for (var c = a, d = 0; (c = c.previousSibling); )
 
-           b && 3 == c.nodeType
 
-             ? c.nodeType != c.nextSibling.nodeType && d++
 
-             : d++
 
-         return d
 
-       },
 
-       inDoc: function (a, b) {
 
-         return 10 == domUtils.getPosition(a, b)
 
-       },
 
-       findParent: function (a, b, c) {
 
-         if (a && !domUtils.isBody(a))
 
-           for (a = c ? a : a.parentNode; a; ) {
 
-             if (!b || b(a) || domUtils.isBody(a))
 
-               return b && !b(a) && domUtils.isBody(a) ? null : a
 
-             a = a.parentNode
 
-           }
 
-         return null
 
-       },
 
-       findParentByTagName: function (a, b, c, d) {
 
-         return (
 
-           (b = utils.listToMap(utils.isArray(b) ? b : [b])),
 
-           domUtils.findParent(
 
-             a,
 
-             function (a) {
 
-               return b[a.tagName] && !(d && d(a))
 
-             },
 
-             c
 
-           )
 
-         )
 
-       },
 
-       findParents: function (a, b, c, d) {
 
-         for (
 
-           var e = b && ((c && c(a)) || !c) ? [a] : [];
 
-           (a = domUtils.findParent(a, c));
 
-         )
 
-           e.push(a)
 
-         return d ? e : e.reverse()
 
-       },
 
-       insertAfter: function (a, b) {
 
-         return a.nextSibling
 
-           ? a.parentNode.insertBefore(b, a.nextSibling)
 
-           : a.parentNode.appendChild(b)
 
-       },
 
-       remove: function (a, b) {
 
-         var c,
 
-           d = a.parentNode
 
-         if (d) {
 
-           if (b && a.hasChildNodes())
 
-             for (; (c = a.firstChild); ) d.insertBefore(c, a)
 
-           d.removeChild(a)
 
-         }
 
-         return a
 
-       },
 
-       getNextDomNode: function (a, b, c, d) {
 
-         return getDomNode(a, 'firstChild', 'nextSibling', b, c, d)
 
-       },
 
-       getPreDomNode: function (a, b, c, d) {
 
-         return getDomNode(a, 'lastChild', 'previousSibling', b, c, d)
 
-       },
 
-       isBookmarkNode: function (a) {
 
-         return 1 == a.nodeType && a.id && /^_baidu_bookmark_/i.test(a.id)
 
-       },
 
-       getWindow: function (a) {
 
-         var b = a.ownerDocument || a
 
-         return b.defaultView || b.parentWindow
 
-       },
 
-       getCommonAncestor: function (a, b) {
 
-         if (a === b) return a
 
-         for (var c = [a], d = [b], e = a, f = -1; (e = e.parentNode); ) {
 
-           if (e === b) return e
 
-           c.push(e)
 
-         }
 
-         for (e = b; (e = e.parentNode); ) {
 
-           if (e === a) return e
 
-           d.push(e)
 
-         }
 
-         for (c.reverse(), d.reverse(); f++, c[f] === d[f]; );
 
-         return 0 == f ? null : c[f - 1]
 
-       },
 
-       clearEmptySibling: function (a, b, c) {
 
-         function d(a, b) {
 
-           for (
 
-             var c;
 
-             a &&
 
-             !domUtils.isBookmarkNode(a) &&
 
-             (domUtils.isEmptyInlineElement(a) ||
 
-               !new RegExp('[^\t\n\r' + domUtils.fillChar + ']').test(
 
-                 a.nodeValue
 
-               ));
 
-           )
 
-             (c = a[b]), domUtils.remove(a), (a = c)
 
-         }
 
-         !b && d(a.nextSibling, 'nextSibling'),
 
-           !c && d(a.previousSibling, 'previousSibling')
 
-       },
 
-       split: function (a, b) {
 
-         var c = a.ownerDocument
 
-         if (browser.ie && b == a.nodeValue.length) {
 
-           var d = c.createTextNode('')
 
-           return domUtils.insertAfter(a, d)
 
-         }
 
-         var e = a.splitText(b)
 
-         if (browser.ie8) {
 
-           var f = c.createTextNode('')
 
-           domUtils.insertAfter(e, f), domUtils.remove(f)
 
-         }
 
-         return e
 
-       },
 
-       isWhitespace: function (a) {
 
-         return !new RegExp('[^ \t\n\r' + domUtils.fillChar + ']').test(
 
-           a.nodeValue
 
-         )
 
-       },
 
-       getXY: function (a) {
 
-         for (var b = 0, c = 0; a.offsetParent; )
 
-           (c += a.offsetTop), (b += a.offsetLeft), (a = a.offsetParent)
 
-         return { x: b, y: c }
 
-       },
 
-       on: function (a, b, c) {
 
-         var d = utils.isArray(b) ? b : utils.trim(b).split(/\s+/),
 
-           e = d.length
 
-         if (e)
 
-           for (; e--; )
 
-             if (((b = d[e]), a.addEventListener)) a.addEventListener(b, c, !1)
 
-             else {
 
-               c._d || (c._d = { els: [] })
 
-               var f = b + c.toString(),
 
-                 g = utils.indexOf(c._d.els, a)
 
-               ;(c._d[f] && g != -1) ||
 
-                 (g == -1 && c._d.els.push(a),
 
-                 c._d[f] ||
 
-                   (c._d[f] = function (a) {
 
-                     return c.call(a.srcElement, a || window.event)
 
-                   }),
 
-                 a.attachEvent('on' + b, c._d[f]))
 
-             }
 
-         a = null
 
-       },
 
-       un: function (a, b, c) {
 
-         var d = utils.isArray(b) ? b : utils.trim(b).split(/\s+/),
 
-           e = d.length
 
-         if (e)
 
-           for (; e--; )
 
-             if (((b = d[e]), a.removeEventListener))
 
-               a.removeEventListener(b, c, !1)
 
-             else {
 
-               var f = b + c.toString()
 
-               try {
 
-                 a.detachEvent('on' + b, c._d ? c._d[f] : c)
 
-               } catch (g) {}
 
-               if (c._d && c._d[f]) {
 
-                 var h = utils.indexOf(c._d.els, a)
 
-                 h != -1 && c._d.els.splice(h, 1),
 
-                   0 == c._d.els.length && delete c._d[f]
 
-               }
 
-             }
 
-       },
 
-       isSameElement: function (a, b) {
 
-         if (a.tagName != b.tagName) return !1
 
-         var c = a.attributes,
 
-           d = b.attributes
 
-         if (!ie && c.length != d.length) return !1
 
-         for (var e, f, g = 0, h = 0, i = 0; (e = c[i++]); ) {
 
-           if ('style' == e.nodeName) {
 
-             if ((e.specified && g++, domUtils.isSameStyle(a, b))) continue
 
-             return !1
 
-           }
 
-           if (ie) {
 
-             if (!e.specified) continue
 
-             g++, (f = d.getNamedItem(e.nodeName))
 
-           } else f = b.attributes[e.nodeName]
 
-           if (!f.specified || e.nodeValue != f.nodeValue) return !1
 
-         }
 
-         if (ie) {
 
-           for (i = 0; (f = d[i++]); ) f.specified && h++
 
-           if (g != h) return !1
 
-         }
 
-         return !0
 
-       },
 
-       isSameStyle: function (a, b) {
 
-         var c = a.style.cssText
 
-             .replace(/( ?; ?)/g, ';')
 
-             .replace(/( ?: ?)/g, ':'),
 
-           d = b.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':')
 
-         if (browser.opera) {
 
-           if (((c = a.style), (d = b.style), c.length != d.length)) return !1
 
-           for (var e in c)
 
-             if (!/^(\d+|csstext)$/i.test(e) && c[e] != d[e]) return !1
 
-           return !0
 
-         }
 
-         if (!c || !d) return c == d
 
-         if (((c = c.split(';')), (d = d.split(';')), c.length != d.length))
 
-           return !1
 
-         for (var f, g = 0; (f = c[g++]); )
 
-           if (utils.indexOf(d, f) == -1) return !1
 
-         return !0
 
-       },
 
-       isBlockElm: function (a) {
 
-         return (
 
-           1 == a.nodeType &&
 
-           (dtd.$block[a.tagName] ||
 
-             styleBlock[domUtils.getComputedStyle(a, 'display')]) &&
 
-           !dtd.$nonChild[a.tagName]
 
-         )
 
-       },
 
-       isBody: function (a) {
 
-         return a && 1 == a.nodeType && 'body' == a.tagName.toLowerCase()
 
-       },
 
-       breakParent: function (a, b) {
 
-         var c,
 
-           d,
 
-           e,
 
-           f = a,
 
-           g = a
 
-         do {
 
-           for (
 
-             f = f.parentNode,
 
-               d
 
-                 ? ((c = f.cloneNode(!1)),
 
-                   c.appendChild(d),
 
-                   (d = c),
 
-                   (c = f.cloneNode(!1)),
 
-                   c.appendChild(e),
 
-                   (e = c))
 
-                 : ((d = f.cloneNode(!1)), (e = d.cloneNode(!1)));
 
-             (c = g.previousSibling);
 
-           )
 
-             d.insertBefore(c, d.firstChild)
 
-           for (; (c = g.nextSibling); ) e.appendChild(c)
 
-           g = f
 
-         } while (b !== f)
 
-         return (
 
-           (c = b.parentNode),
 
-           c.insertBefore(d, b),
 
-           c.insertBefore(e, b),
 
-           c.insertBefore(a, e),
 
-           domUtils.remove(b),
 
-           a
 
-         )
 
-       },
 
-       isEmptyInlineElement: function (a) {
 
-         if (1 != a.nodeType || !dtd.$removeEmpty[a.tagName]) return 0
 
-         for (a = a.firstChild; a; ) {
 
-           if (domUtils.isBookmarkNode(a)) return 0
 
-           if (
 
-             (1 == a.nodeType && !domUtils.isEmptyInlineElement(a)) ||
 
-             (3 == a.nodeType && !domUtils.isWhitespace(a))
 
-           )
 
-             return 0
 
-           a = a.nextSibling
 
-         }
 
-         return 1
 
-       },
 
-       trimWhiteTextNode: function (a) {
 
-         function b(b) {
 
-           for (
 
-             var c;
 
-             (c = a[b]) && 3 == c.nodeType && domUtils.isWhitespace(c);
 
-           )
 
-             a.removeChild(c)
 
-         }
 
-         b('firstChild'), b('lastChild')
 
-       },
 
-       mergeChild: function (a, b, c) {
 
-         for (
 
-           var d,
 
-             e = domUtils.getElementsByTagName(a, a.tagName.toLowerCase()),
 
-             f = 0;
 
-           (d = e[f++]);
 
-         )
 
-           if (d.parentNode && !domUtils.isBookmarkNode(d))
 
-             if ('span' != d.tagName.toLowerCase())
 
-               domUtils.isSameElement(a, d) && domUtils.remove(d, !0)
 
-             else {
 
-               if (
 
-                 a === d.parentNode &&
 
-                 (domUtils.trimWhiteTextNode(a), 1 == a.childNodes.length)
 
-               ) {
 
-                 ;(a.style.cssText = d.style.cssText + ';' + a.style.cssText),
 
-                   domUtils.remove(d, !0)
 
-                 continue
 
-               }
 
-               if (
 
-                 ((d.style.cssText = a.style.cssText + ';' + d.style.cssText), c)
 
-               ) {
 
-                 var g = c.style
 
-                 if (g) {
 
-                   g = g.split(';')
 
-                   for (var h, i = 0; (h = g[i++]); )
 
-                     d.style[utils.cssStyleToDomStyle(h.split(':')[0])] =
 
-                       h.split(':')[1]
 
-                 }
 
-               }
 
-               domUtils.isSameStyle(d, a) && domUtils.remove(d, !0)
 
-             }
 
-       },
 
-       getElementsByTagName: function (a, b, c) {
 
-         if (c && utils.isString(c)) {
 
-           var d = c
 
-           c = function (a) {
 
-             return domUtils.hasClass(a, d)
 
-           }
 
-         }
 
-         b = utils
 
-           .trim(b)
 
-           .replace(/[ ]{2,}/g, ' ')
 
-           .split(' ')
 
-         for (var e, f = [], g = 0; (e = b[g++]); )
 
-           for (var h, i = a.getElementsByTagName(e), j = 0; (h = i[j++]); )
 
-             (c && !c(h)) || f.push(h)
 
-         return f
 
-       },
 
-       mergeToParent: function (a) {
 
-         for (var b = a.parentNode; b && dtd.$removeEmpty[b.tagName]; ) {
 
-           if (b.tagName == a.tagName || 'A' == b.tagName) {
 
-             if (
 
-               (domUtils.trimWhiteTextNode(b),
 
-               ('SPAN' == b.tagName && !domUtils.isSameStyle(b, a)) ||
 
-                 ('A' == b.tagName && 'SPAN' == a.tagName))
 
-             ) {
 
-               if (b.childNodes.length > 1 || b !== a.parentNode) {
 
-                 ;(a.style.cssText = b.style.cssText + ';' + a.style.cssText),
 
-                   (b = b.parentNode)
 
-                 continue
 
-               }
 
-               ;(b.style.cssText += ';' + a.style.cssText),
 
-                 'A' == b.tagName && (b.style.textDecoration = 'underline')
 
-             }
 
-             if ('A' != b.tagName) {
 
-               b === a.parentNode && domUtils.remove(a, !0)
 
-               break
 
-             }
 
-           }
 
-           b = b.parentNode
 
-         }
 
-       },
 
-       mergeSibling: function (a, b, c) {
 
-         function d(a, b, c) {
 
-           var d
 
-           if (
 
-             (d = c[a]) &&
 
-             !domUtils.isBookmarkNode(d) &&
 
-             1 == d.nodeType &&
 
-             domUtils.isSameElement(c, d)
 
-           ) {
 
-             for (; d.firstChild; )
 
-               'firstChild' == b
 
-                 ? c.insertBefore(d.lastChild, c.firstChild)
 
-                 : c.appendChild(d.firstChild)
 
-             domUtils.remove(d)
 
-           }
 
-         }
 
-         !b && d('previousSibling', 'firstChild', a),
 
-           !c && d('nextSibling', 'lastChild', a)
 
-       },
 
-       unSelectable:
 
-         (ie && browser.ie9below) || browser.opera
 
-           ? function (a) {
 
-               ;(a.onselectstart = function () {
 
-                 return !1
 
-               }),
 
-                 (a.onclick =
 
-                   a.onkeyup =
 
-                   a.onkeydown =
 
-                     function () {
 
-                       return !1
 
-                     }),
 
-                 (a.unselectable = 'on'),
 
-                 a.setAttribute('unselectable', 'on')
 
-               for (var b, c = 0; (b = a.all[c++]); )
 
-                 switch (b.tagName.toLowerCase()) {
 
-                   case 'iframe':
 
-                   case 'textarea':
 
-                   case 'input':
 
-                   case 'select':
 
-                     break
 
-                   default:
 
-                     ;(b.unselectable = 'on'),
 
-                       a.setAttribute('unselectable', 'on')
 
-                 }
 
-             }
 
-           : function (a) {
 
-               a.style.MozUserSelect =
 
-                 a.style.webkitUserSelect =
 
-                 a.style.msUserSelect =
 
-                 a.style.KhtmlUserSelect =
 
-                   'none'
 
-             },
 
-       removeAttributes: function (a, b) {
 
-         b = utils.isArray(b)
 
-           ? b
 
-           : utils
 
-               .trim(b)
 
-               .replace(/[ ]{2,}/g, ' ')
 
-               .split(' ')
 
-         for (var c, d = 0; (c = b[d++]); ) {
 
-           switch ((c = attrFix[c] || c)) {
 
-             case 'className':
 
-               a[c] = ''
 
-               break
 
-             case 'style':
 
-               a.style.cssText = ''
 
-               var e = a.getAttributeNode('style')
 
-               !browser.ie && e && a.removeAttributeNode(e)
 
-           }
 
-           a.removeAttribute(c)
 
-         }
 
-       },
 
-       createElement: function (a, b, c) {
 
-         return domUtils.setAttributes(a.createElement(b), c)
 
-       },
 
-       setAttributes: function (a, b) {
 
-         for (var c in b)
 
-           if (b.hasOwnProperty(c)) {
 
-             var d = b[c]
 
-             switch (c) {
 
-               case 'class':
 
-                 a.className = d
 
-                 break
 
-               case 'style':
 
-                 a.style.cssText = a.style.cssText + ';' + d
 
-                 break
 
-               case 'innerHTML':
 
-                 a[c] = d
 
-                 break
 
-               case 'value':
 
-                 a.value = d
 
-                 break
 
-               default:
 
-                 a.setAttribute(attrFix[c] || c, d)
 
-             }
 
-           }
 
-         return a
 
-       },
 
-       getComputedStyle: function (a, b) {
 
-         var c = 'width height top left'
 
-         if (c.indexOf(b) > -1)
 
-           return (
 
-             a[
 
-               'offset' +
 
-                 b.replace(/^\w/, function (a) {
 
-                   return a.toUpperCase()
 
-                 })
 
-             ] + 'px'
 
-           )
 
-         if (
 
-           (3 == a.nodeType && (a = a.parentNode),
 
-           browser.ie &&
 
-             browser.version < 9 &&
 
-             'font-size' == b &&
 
-             !a.style.fontSize &&
 
-             !dtd.$empty[a.tagName] &&
 
-             !dtd.$nonChild[a.tagName])
 
-         ) {
 
-           var d = a.ownerDocument.createElement('span')
 
-           ;(d.style.cssText = 'padding:0;border:0;font-family:simsun;'),
 
-             (d.innerHTML = '.'),
 
-             a.appendChild(d)
 
-           var e = d.offsetHeight
 
-           return a.removeChild(d), (d = null), e + 'px'
 
-         }
 
-         try {
 
-           var f =
 
-             domUtils.getStyle(a, b) ||
 
-             (window.getComputedStyle
 
-               ? domUtils
 
-                   .getWindow(a)
 
-                   .getComputedStyle(a, '')
 
-                   .getPropertyValue(b)
 
-               : (a.currentStyle || a.style)[utils.cssStyleToDomStyle(b)])
 
-         } catch (g) {
 
-           return ''
 
-         }
 
-         return utils.transUnitToPx(utils.fixColor(b, f))
 
-       },
 
-       removeClasses: function (a, b) {
 
-         b = utils.isArray(b)
 
-           ? b
 
-           : utils
 
-               .trim(b)
 
-               .replace(/[ ]{2,}/g, ' ')
 
-               .split(' ')
 
-         for (var c, d = 0, e = a.className; (c = b[d++]); )
 
-           e = e.replace(new RegExp('\\b' + c + '\\b'), '')
 
-         ;(e = utils.trim(e).replace(/[ ]{2,}/g, ' ')),
 
-           e ? (a.className = e) : domUtils.removeAttributes(a, ['class'])
 
-       },
 
-       addClass: function (a, b) {
 
-         if (a) {
 
-           b = utils
 
-             .trim(b)
 
-             .replace(/[ ]{2,}/g, ' ')
 
-             .split(' ')
 
-           for (var c, d = 0, e = a.className; (c = b[d++]); )
 
-             new RegExp('\\b' + c + '\\b').test(e) || (e += ' ' + c)
 
-           a.className = utils.trim(e)
 
-         }
 
-       },
 
-       hasClass: function (a, b) {
 
-         if (utils.isRegExp(b)) return b.test(a.className)
 
-         b = utils
 
-           .trim(b)
 
-           .replace(/[ ]{2,}/g, ' ')
 
-           .split(' ')
 
-         for (var c, d = 0, e = a.className; (c = b[d++]); )
 
-           if (!new RegExp('\\b' + c + '\\b', 'i').test(e)) return !1
 
-         return d - 1 == b.length
 
-       },
 
-       preventDefault: function (a) {
 
-         a.preventDefault ? a.preventDefault() : (a.returnValue = !1)
 
-       },
 
-       removeStyle: function (a, b) {
 
-         browser.ie
 
-           ? ('color' == b && (b = '(^|;)' + b),
 
-             (a.style.cssText = a.style.cssText.replace(
 
-               new RegExp(b + '[^:]*:[^;]+;?', 'ig'),
 
-               ''
 
-             )))
 
-           : a.style.removeProperty
 
-           ? a.style.removeProperty(b)
 
-           : a.style.removeAttribute(utils.cssStyleToDomStyle(b)),
 
-           a.style.cssText || domUtils.removeAttributes(a, ['style'])
 
-       },
 
-       getStyle: function (a, b) {
 
-         var c = a.style[utils.cssStyleToDomStyle(b)]
 
-         return utils.fixColor(b, c)
 
-       },
 
-       setStyle: function (a, b, c) {
 
-         ;(a.style[utils.cssStyleToDomStyle(b)] = c),
 
-           utils.trim(a.style.cssText) || this.removeAttributes(a, 'style')
 
-       },
 
-       setStyles: function (a, b) {
 
-         for (var c in b) b.hasOwnProperty(c) && domUtils.setStyle(a, c, b[c])
 
-       },
 
-       removeDirtyAttr: function (a) {
 
-         for (var b, c = 0, d = a.getElementsByTagName('*'); (b = d[c++]); )
 
-           b.removeAttribute('_moz_dirty')
 
-         a.removeAttribute('_moz_dirty')
 
-       },
 
-       getChildCount: function (a, b) {
 
-         var c = 0,
 
-           d = a.firstChild
 
-         for (
 
-           b =
 
-             b ||
 
-             function () {
 
-               return 1
 
-             };
 
-           d;
 
-         )
 
-           b(d) && c++, (d = d.nextSibling)
 
-         return c
 
-       },
 
-       isEmptyNode: function (a) {
 
-         return (
 
-           !a.firstChild ||
 
-           0 ==
 
-             domUtils.getChildCount(a, function (a) {
 
-               return (
 
-                 !domUtils.isBr(a) &&
 
-                 !domUtils.isBookmarkNode(a) &&
 
-                 !domUtils.isWhitespace(a)
 
-               )
 
-             })
 
-         )
 
-       },
 
-       clearSelectedArr: function (a) {
 
-         for (var b; (b = a.pop()); ) domUtils.removeAttributes(b, ['class'])
 
-       },
 
-       scrollToView: function (a, b, c) {
 
-         var d = function () {
 
-             var a = b.document,
 
-               c = 'CSS1Compat' == a.compatMode
 
-             return {
 
-               width:
 
-                 (c ? a.documentElement.clientWidth : a.body.clientWidth) || 0,
 
-               height:
 
-                 (c ? a.documentElement.clientHeight : a.body.clientHeight) || 0
 
-             }
 
-           },
 
-           e = function (a) {
 
-             if ('pageXOffset' in a)
 
-               return { x: a.pageXOffset || 0, y: a.pageYOffset || 0 }
 
-             var b = a.document
 
-             return {
 
-               x: b.documentElement.scrollLeft || b.body.scrollLeft || 0,
 
-               y: b.documentElement.scrollTop || b.body.scrollTop || 0
 
-             }
 
-           },
 
-           f = d().height,
 
-           g = f * -1 + c
 
-         g += a.offsetHeight || 0
 
-         var h = domUtils.getXY(a)
 
-         g += h.y
 
-         var i = e(b).y
 
-         ;(g > i || g < i - f) && b.scrollTo(0, g + (g < 0 ? -20 : 20))
 
-       },
 
-       isBr: function (a) {
 
-         return 1 == a.nodeType && 'BR' == a.tagName
 
-       },
 
-       isFillChar: function (a, b) {
 
-         if (3 != a.nodeType) return !1
 
-         var c = a.nodeValue
 
-         return b
 
-           ? new RegExp('^' + domUtils.fillChar).test(c)
 
-           : !c.replace(new RegExp(domUtils.fillChar, 'g'), '').length
 
-       },
 
-       isStartInblock: function (a) {
 
-         var b,
 
-           c = a.cloneRange(),
 
-           d = 0,
 
-           e = c.startContainer
 
-         if (1 == e.nodeType && e.childNodes[c.startOffset]) {
 
-           e = e.childNodes[c.startOffset]
 
-           for (var f = e.previousSibling; f && domUtils.isFillChar(f); )
 
-             (e = f), (f = f.previousSibling)
 
-         }
 
-         for (
 
-           this.isFillChar(e, !0) &&
 
-           1 == c.startOffset &&
 
-           (c.setStartBefore(e), (e = c.startContainer));
 
-           e && domUtils.isFillChar(e);
 
-         )
 
-           (b = e), (e = e.previousSibling)
 
-         for (
 
-           b && (c.setStartBefore(b), (e = c.startContainer)),
 
-             1 == e.nodeType &&
 
-               domUtils.isEmptyNode(e) &&
 
-               1 == c.startOffset &&
 
-               c.setStart(e, 0).collapse(!0);
 
-           !c.startOffset;
 
-         ) {
 
-           if (
 
-             ((e = c.startContainer),
 
-             domUtils.isBlockElm(e) || domUtils.isBody(e))
 
-           ) {
 
-             d = 1
 
-             break
 
-           }
 
-           var g,
 
-             f = c.startContainer.previousSibling
 
-           if (f) {
 
-             for (; f && domUtils.isFillChar(f); )
 
-               (g = f), (f = f.previousSibling)
 
-             g ? c.setStartBefore(g) : c.setStartBefore(c.startContainer)
 
-           } else c.setStartBefore(c.startContainer)
 
-         }
 
-         return d && !domUtils.isBody(c.startContainer) ? 1 : 0
 
-       },
 
-       isEmptyBlock: function (a, b) {
 
-         if (a) {
 
-           if (1 != a.nodeType) return 0
 
-           if (
 
-             ((b = b || new RegExp('[  \t\r\n' + domUtils.fillChar + ']', 'g')),
 
-             a[browser.ie ? 'innerText' : 'textContent'].replace(b, '').length >
 
-               0)
 
-           )
 
-             return 0
 
-           for (var c in dtd.$isNotEmpty)
 
-             if (a.getElementsByTagName(c).length) return 0
 
-           return 1
 
-         }
 
-       },
 
-       setViewportOffset: function (a, b) {
 
-         var c = 0 | parseInt(a.style.left),
 
-           d = 0 | parseInt(a.style.top),
 
-           e = a.getBoundingClientRect(),
 
-           f = b.left - e.left,
 
-           g = b.top - e.top
 
-         f && (a.style.left = c + f + 'px'), g && (a.style.top = d + g + 'px')
 
-       },
 
-       fillNode: function (a, b) {
 
-         var c = browser.ie
 
-           ? a.createTextNode(domUtils.fillChar)
 
-           : a.createElement('br')
 
-         ;(b.innerHTML = ''), b.appendChild(c)
 
-       },
 
-       moveChild: function (a, b, c) {
 
-         for (; a.firstChild; )
 
-           c && b.firstChild
 
-             ? b.insertBefore(a.lastChild, b.firstChild)
 
-             : b.appendChild(a.firstChild)
 
-       },
 
-       hasNoAttributes: function (a) {
 
-         return browser.ie
 
-           ? /^<\w+\s*?>/.test(a.outerHTML)
 
-           : 0 == a.attributes.length
 
-       },
 
-       isCustomeNode: function (a) {
 
-         return 1 == a.nodeType && a.getAttribute('_ue_custom_node_')
 
-       },
 
-       isTagNode: function (a, b) {
 
-         return (
 
-           1 == a.nodeType && new RegExp('\\b' + a.tagName + '\\b', 'i').test(b)
 
-         )
 
-       },
 
-       filterNodeList: function (a, b, c) {
 
-         var d = []
 
-         if (!utils.isFunction(b)) {
 
-           var e = b
 
-           b = function (a) {
 
-             return (
 
-               utils.indexOf(
 
-                 utils.isArray(e) ? e : e.split(' '),
 
-                 a.tagName.toLowerCase()
 
-               ) != -1
 
-             )
 
-           }
 
-         }
 
-         return (
 
-           utils.each(a, function (a) {
 
-             b(a) && d.push(a)
 
-           }),
 
-           0 == d.length ? null : 1 != d.length && c ? d : d[0]
 
-         )
 
-       },
 
-       isInNodeEndBoundary: function (a, b) {
 
-         var c = a.startContainer
 
-         if (3 == c.nodeType && a.startOffset != c.nodeValue.length) return 0
 
-         if (1 == c.nodeType && a.startOffset != c.childNodes.length) return 0
 
-         for (; c !== b; ) {
 
-           if (c.nextSibling) return 0
 
-           c = c.parentNode
 
-         }
 
-         return 1
 
-       },
 
-       isBoundaryNode: function (a, b) {
 
-         for (var c; !domUtils.isBody(a); )
 
-           if (((c = a), (a = a.parentNode), c !== a[b])) return !1
 
-         return !0
 
-       },
 
-       fillHtml: browser.ie11below ? ' ' : '<br/>'
 
-     }),
 
-     fillCharReg = new RegExp(domUtils.fillChar, 'g')
 
-   !(function () {
 
-     function a(a) {
 
-       a.collapsed =
 
-         a.startContainer &&
 
-         a.endContainer &&
 
-         a.startContainer === a.endContainer &&
 
-         a.startOffset == a.endOffset
 
-     }
 
-     function b(a) {
 
-       return (
 
-         !a.collapsed &&
 
-         1 == a.startContainer.nodeType &&
 
-         a.startContainer === a.endContainer &&
 
-         a.endOffset - a.startOffset == 1
 
-       )
 
-     }
 
-     function c(b, c, d, e) {
 
-       return (
 
-         1 == c.nodeType &&
 
-           (dtd.$empty[c.tagName] || dtd.$nonChild[c.tagName]) &&
 
-           ((d = domUtils.getNodeIndex(c) + (b ? 0 : 1)), (c = c.parentNode)),
 
-         b
 
-           ? ((e.startContainer = c),
 
-             (e.startOffset = d),
 
-             e.endContainer || e.collapse(!0))
 
-           : ((e.endContainer = c),
 
-             (e.endOffset = d),
 
-             e.startContainer || e.collapse(!1)),
 
-         a(e),
 
-         e
 
-       )
 
-     }
 
-     function d(a, b) {
 
-       var c,
 
-         d,
 
-         e = a.startContainer,
 
-         f = a.endContainer,
 
-         g = a.startOffset,
 
-         h = a.endOffset,
 
-         i = a.document,
 
-         j = i.createDocumentFragment()
 
-       if (
 
-         (1 == e.nodeType &&
 
-           (e = e.childNodes[g] || (c = e.appendChild(i.createTextNode('')))),
 
-         1 == f.nodeType &&
 
-           (f = f.childNodes[h] || (d = f.appendChild(i.createTextNode('')))),
 
-         e === f && 3 == e.nodeType)
 
-       )
 
-         return (
 
-           j.appendChild(i.createTextNode(e.substringData(g, h - g))),
 
-           b && (e.deleteData(g, h - g), a.collapse(!0)),
 
-           j
 
-         )
 
-       for (
 
-         var k,
 
-           l,
 
-           m = j,
 
-           n = domUtils.findParents(e, !0),
 
-           o = domUtils.findParents(f, !0),
 
-           p = 0;
 
-         n[p] == o[p];
 
-       )
 
-         p++
 
-       for (var q, r = p; (q = n[r]); r++) {
 
-         for (
 
-           k = q.nextSibling,
 
-             q == e
 
-               ? c ||
 
-                 (3 == a.startContainer.nodeType
 
-                   ? (m.appendChild(i.createTextNode(e.nodeValue.slice(g))),
 
-                     b && e.deleteData(g, e.nodeValue.length - g))
 
-                   : m.appendChild(b ? e : e.cloneNode(!0)))
 
-               : ((l = q.cloneNode(!1)), m.appendChild(l));
 
-           k && k !== f && k !== o[r];
 
-         )
 
-           (q = k.nextSibling), m.appendChild(b ? k : k.cloneNode(!0)), (k = q)
 
-         m = l
 
-       }
 
-       ;(m = j),
 
-         n[p] || (m.appendChild(n[p - 1].cloneNode(!1)), (m = m.firstChild))
 
-       for (var s, r = p; (s = o[r]); r++) {
 
-         if (
 
-           ((k = s.previousSibling),
 
-           s == f
 
-             ? d ||
 
-               3 != a.endContainer.nodeType ||
 
-               (m.appendChild(i.createTextNode(f.substringData(0, h))),
 
-               b && f.deleteData(0, h))
 
-             : ((l = s.cloneNode(!1)), m.appendChild(l)),
 
-           r != p || !n[p])
 
-         )
 
-           for (; k && k !== e; )
 
-             (s = k.previousSibling),
 
-               m.insertBefore(b ? k : k.cloneNode(!0), m.firstChild),
 
-               (k = s)
 
-         m = l
 
-       }
 
-       return (
 
-         b &&
 
-           a
 
-             .setStartBefore(o[p] ? (n[p] ? o[p] : n[p - 1]) : o[p - 1])
 
-             .collapse(!0),
 
-         c && domUtils.remove(c),
 
-         d && domUtils.remove(d),
 
-         j
 
-       )
 
-     }
 
-     function e(a, b) {
 
-       try {
 
-         if (g && domUtils.inDoc(g, a))
 
-           if (g.nodeValue.replace(fillCharReg, '').length)
 
-             g.nodeValue = g.nodeValue.replace(fillCharReg, '')
 
-           else {
 
-             var c = g.parentNode
 
-             for (
 
-               domUtils.remove(g);
 
-               c &&
 
-               domUtils.isEmptyInlineElement(c) &&
 
-               (browser.safari
 
-                 ? !(domUtils.getPosition(c, b) & domUtils.POSITION_CONTAINS)
 
-                 : !c.contains(b));
 
-             )
 
-               (g = c.parentNode), domUtils.remove(c), (c = g)
 
-           }
 
-       } catch (d) {}
 
-     }
 
-     function f(a, b) {
 
-       var c
 
-       for (a = a[b]; a && domUtils.isFillChar(a); )
 
-         (c = a[b]), domUtils.remove(a), (a = c)
 
-     }
 
-     var g,
 
-       h = 0,
 
-       i = domUtils.fillChar,
 
-       j = (dom.Range = function (a) {
 
-         var b = this
 
-         ;(b.startContainer =
 
-           b.startOffset =
 
-           b.endContainer =
 
-           b.endOffset =
 
-             null),
 
-           (b.document = a),
 
-           (b.collapsed = !0)
 
-       })
 
-     j.prototype = {
 
-       cloneContents: function () {
 
-         return this.collapsed ? null : d(this, 0)
 
-       },
 
-       deleteContents: function () {
 
-         var a
 
-         return (
 
-           this.collapsed || d(this, 1),
 
-           browser.webkit &&
 
-             ((a = this.startContainer),
 
-             3 != a.nodeType ||
 
-               a.nodeValue.length ||
 
-               (this.setStartBefore(a).collapse(!0), domUtils.remove(a))),
 
-           this
 
-         )
 
-       },
 
-       extractContents: function () {
 
-         return this.collapsed ? null : d(this, 2)
 
-       },
 
-       setStart: function (a, b) {
 
-         return c(!0, a, b, this)
 
-       },
 
-       setEnd: function (a, b) {
 
-         return c(!1, a, b, this)
 
-       },
 
-       setStartAfter: function (a) {
 
-         return this.setStart(a.parentNode, domUtils.getNodeIndex(a) + 1)
 
-       },
 
-       setStartBefore: function (a) {
 
-         return this.setStart(a.parentNode, domUtils.getNodeIndex(a))
 
-       },
 
-       setEndAfter: function (a) {
 
-         return this.setEnd(a.parentNode, domUtils.getNodeIndex(a) + 1)
 
-       },
 
-       setEndBefore: function (a) {
 
-         return this.setEnd(a.parentNode, domUtils.getNodeIndex(a))
 
-       },
 
-       setStartAtFirst: function (a) {
 
-         return this.setStart(a, 0)
 
-       },
 
-       setStartAtLast: function (a) {
 
-         return this.setStart(
 
-           a,
 
-           3 == a.nodeType ? a.nodeValue.length : a.childNodes.length
 
-         )
 
-       },
 
-       setEndAtFirst: function (a) {
 
-         return this.setEnd(a, 0)
 
-       },
 
-       setEndAtLast: function (a) {
 
-         return this.setEnd(
 
-           a,
 
-           3 == a.nodeType ? a.nodeValue.length : a.childNodes.length
 
-         )
 
-       },
 
-       selectNode: function (a) {
 
-         return this.setStartBefore(a).setEndAfter(a)
 
-       },
 
-       selectNodeContents: function (a) {
 
-         return this.setStart(a, 0).setEndAtLast(a)
 
-       },
 
-       cloneRange: function () {
 
-         var a = this
 
-         return new j(a.document)
 
-           .setStart(a.startContainer, a.startOffset)
 
-           .setEnd(a.endContainer, a.endOffset)
 
-       },
 
-       collapse: function (a) {
 
-         var b = this
 
-         return (
 
-           a
 
-             ? ((b.endContainer = b.startContainer),
 
-               (b.endOffset = b.startOffset))
 
-             : ((b.startContainer = b.endContainer),
 
-               (b.startOffset = b.endOffset)),
 
-           (b.collapsed = !0),
 
-           b
 
-         )
 
-       },
 
-       shrinkBoundary: function (a) {
 
-         function b(a) {
 
-           return (
 
-             1 == a.nodeType &&
 
-             !domUtils.isBookmarkNode(a) &&
 
-             !dtd.$empty[a.tagName] &&
 
-             !dtd.$nonChild[a.tagName]
 
-           )
 
-         }
 
-         for (
 
-           var c, d = this, e = d.collapsed;
 
-           1 == d.startContainer.nodeType &&
 
-           (c = d.startContainer.childNodes[d.startOffset]) &&
 
-           b(c);
 
-         )
 
-           d.setStart(c, 0)
 
-         if (e) return d.collapse(!0)
 
-         if (!a)
 
-           for (
 
-             ;
 
-             1 == d.endContainer.nodeType &&
 
-             d.endOffset > 0 &&
 
-             (c = d.endContainer.childNodes[d.endOffset - 1]) &&
 
-             b(c);
 
-           )
 
-             d.setEnd(c, c.childNodes.length)
 
-         return d
 
-       },
 
-       getCommonAncestor: function (a, c) {
 
-         var d = this,
 
-           e = d.startContainer,
 
-           f = d.endContainer
 
-         return e === f
 
-           ? a && b(this) && ((e = e.childNodes[d.startOffset]), 1 == e.nodeType)
 
-             ? e
 
-             : c && 3 == e.nodeType
 
-             ? e.parentNode
 
-             : e
 
-           : domUtils.getCommonAncestor(e, f)
 
-       },
 
-       trimBoundary: function (a) {
 
-         this.txtToElmBoundary()
 
-         var b = this.startContainer,
 
-           c = this.startOffset,
 
-           d = this.collapsed,
 
-           e = this.endContainer
 
-         if (3 == b.nodeType) {
 
-           if (0 == c) this.setStartBefore(b)
 
-           else if (c >= b.nodeValue.length) this.setStartAfter(b)
 
-           else {
 
-             var f = domUtils.split(b, c)
 
-             b === e
 
-               ? this.setEnd(f, this.endOffset - c)
 
-               : b.parentNode === e && (this.endOffset += 1),
 
-               this.setStartBefore(f)
 
-           }
 
-           if (d) return this.collapse(!0)
 
-         }
 
-         return (
 
-           a ||
 
-             ((c = this.endOffset),
 
-             (e = this.endContainer),
 
-             3 == e.nodeType &&
 
-               (0 == c
 
-                 ? this.setEndBefore(e)
 
-                 : (c < e.nodeValue.length && domUtils.split(e, c),
 
-                   this.setEndAfter(e)))),
 
-           this
 
-         )
 
-       },
 
-       txtToElmBoundary: function (a) {
 
-         function b(a, b) {
 
-           var c = a[b + 'Container'],
 
-             d = a[b + 'Offset']
 
-           3 == c.nodeType &&
 
-             (d
 
-               ? d >= c.nodeValue.length &&
 
-                 a[
 
-                   'set' +
 
-                     b.replace(/(\w)/, function (a) {
 
-                       return a.toUpperCase()
 
-                     }) +
 
-                     'After'
 
-                 ](c)
 
-               : a[
 
-                   'set' +
 
-                     b.replace(/(\w)/, function (a) {
 
-                       return a.toUpperCase()
 
-                     }) +
 
-                     'Before'
 
-                 ](c))
 
-         }
 
-         return (
 
-           (!a && this.collapsed) || (b(this, 'start'), b(this, 'end')), this
 
-         )
 
-       },
 
-       insertNode: function (a) {
 
-         var b = a,
 
-           c = 1
 
-         11 == a.nodeType && ((b = a.firstChild), (c = a.childNodes.length)),
 
-           this.trimBoundary(!0)
 
-         var d = this.startContainer,
 
-           e = this.startOffset,
 
-           f = d.childNodes[e]
 
-         return (
 
-           f ? d.insertBefore(a, f) : d.appendChild(a),
 
-           b.parentNode === this.endContainer &&
 
-             (this.endOffset = this.endOffset + c),
 
-           this.setStartBefore(b)
 
-         )
 
-       },
 
-       setCursor: function (a, b) {
 
-         return this.collapse(!a).select(b)
 
-       },
 
-       createBookmark: function (a, b) {
 
-         var c,
 
-           d = this.document.createElement('span')
 
-         return (
 
-           (d.style.cssText = 'display:none;line-height:0px;'),
 
-           d.appendChild(this.document.createTextNode('')),
 
-           (d.id = '_baidu_bookmark_start_' + (b ? '' : h++)),
 
-           this.collapsed ||
 
-             ((c = d.cloneNode(!0)),
 
-             (c.id = '_baidu_bookmark_end_' + (b ? '' : h++))),
 
-           this.insertNode(d),
 
-           c && this.collapse().insertNode(c).setEndBefore(c),
 
-           this.setStartAfter(d),
 
-           { start: a ? d.id : d, end: c ? (a ? c.id : c) : null, id: a }
 
-         )
 
-       },
 
-       moveToBookmark: function (a) {
 
-         var b = a.id ? this.document.getElementById(a.start) : a.start,
 
-           c = a.end && a.id ? this.document.getElementById(a.end) : a.end
 
-         return (
 
-           this.setStartBefore(b),
 
-           domUtils.remove(b),
 
-           c ? (this.setEndBefore(c), domUtils.remove(c)) : this.collapse(!0),
 
-           this
 
-         )
 
-       },
 
-       enlarge: function (a, b) {
 
-         var c,
 
-           d,
 
-           e = domUtils.isBody,
 
-           f = this.document.createTextNode('')
 
-         if (a) {
 
-           for (
 
-             d = this.startContainer,
 
-               1 == d.nodeType
 
-                 ? d.childNodes[this.startOffset]
 
-                   ? (c = d = d.childNodes[this.startOffset])
 
-                   : (d.appendChild(f), (c = d = f))
 
-                 : (c = d);
 
-             ;
 
-           ) {
 
-             if (domUtils.isBlockElm(d)) {
 
-               for (d = c; (c = d.previousSibling) && !domUtils.isBlockElm(c); )
 
-                 d = c
 
-               this.setStartBefore(d)
 
-               break
 
-             }
 
-             ;(c = d), (d = d.parentNode)
 
-           }
 
-           for (
 
-             d = this.endContainer,
 
-               1 == d.nodeType
 
-                 ? ((c = d.childNodes[this.endOffset])
 
-                     ? d.insertBefore(f, c)
 
-                     : d.appendChild(f),
 
-                   (c = d = f))
 
-                 : (c = d);
 
-             ;
 
-           ) {
 
-             if (domUtils.isBlockElm(d)) {
 
-               for (d = c; (c = d.nextSibling) && !domUtils.isBlockElm(c); )
 
-                 d = c
 
-               this.setEndAfter(d)
 
-               break
 
-             }
 
-             ;(c = d), (d = d.parentNode)
 
-           }
 
-           f.parentNode === this.endContainer && this.endOffset--,
 
-             domUtils.remove(f)
 
-         }
 
-         if (!this.collapsed) {
 
-           for (
 
-             ;
 
-             !(
 
-               0 != this.startOffset ||
 
-               (b && b(this.startContainer)) ||
 
-               e(this.startContainer)
 
-             );
 
-           )
 
-             this.setStartBefore(this.startContainer)
 
-           for (
 
-             ;
 
-             !(
 
-               this.endOffset !=
 
-                 (1 == this.endContainer.nodeType
 
-                   ? this.endContainer.childNodes.length
 
-                   : this.endContainer.nodeValue.length) ||
 
-               (b && b(this.endContainer)) ||
 
-               e(this.endContainer)
 
-             );
 
-           )
 
-             this.setEndAfter(this.endContainer)
 
-         }
 
-         return this
 
-       },
 
-       enlargeToBlockElm: function (a) {
 
-         for (; !domUtils.isBlockElm(this.startContainer); )
 
-           this.setStartBefore(this.startContainer)
 
-         if (!a)
 
-           for (; !domUtils.isBlockElm(this.endContainer); )
 
-             this.setEndAfter(this.endContainer)
 
-         return this
 
-       },
 
-       adjustmentBoundary: function () {
 
-         if (!this.collapsed) {
 
-           for (
 
-             ;
 
-             !domUtils.isBody(this.startContainer) &&
 
-             this.startOffset ==
 
-               this.startContainer[
 
-                 3 == this.startContainer.nodeType ? 'nodeValue' : 'childNodes'
 
-               ].length &&
 
-             this.startContainer[
 
-               3 == this.startContainer.nodeType ? 'nodeValue' : 'childNodes'
 
-             ].length;
 
-           )
 
-             this.setStartAfter(this.startContainer)
 
-           for (
 
-             ;
 
-             !domUtils.isBody(this.endContainer) &&
 
-             !this.endOffset &&
 
-             this.endContainer[
 
-               3 == this.endContainer.nodeType ? 'nodeValue' : 'childNodes'
 
-             ].length;
 
-           )
 
-             this.setEndBefore(this.endContainer)
 
-         }
 
-         return this
 
-       },
 
-       applyInlineStyle: function (a, b, c) {
 
-         if (this.collapsed) return this
 
-         this.trimBoundary()
 
-           .enlarge(!1, function (a) {
 
-             return 1 == a.nodeType && domUtils.isBlockElm(a)
 
-           })
 
-           .adjustmentBoundary()
 
-         for (
 
-           var d,
 
-             e,
 
-             f = this.createBookmark(),
 
-             g = f.end,
 
-             h = function (a) {
 
-               return 1 == a.nodeType
 
-                 ? 'br' != a.tagName.toLowerCase()
 
-                 : !domUtils.isWhitespace(a)
 
-             },
 
-             i = domUtils.getNextDomNode(f.start, !1, h),
 
-             j = this.cloneRange();
 
-           i && domUtils.getPosition(i, g) & domUtils.POSITION_PRECEDING;
 
-         )
 
-           if (3 == i.nodeType || dtd[a][i.tagName]) {
 
-             for (
 
-               j.setStartBefore(i), d = i;
 
-               d && (3 == d.nodeType || dtd[a][d.tagName]) && d !== g;
 
-             )
 
-               (e = d),
 
-                 (d = domUtils.getNextDomNode(
 
-                   d,
 
-                   1 == d.nodeType,
 
-                   null,
 
-                   function (b) {
 
-                     return dtd[a][b.tagName]
 
-                   }
 
-                 ))
 
-             var k,
 
-               l = j.setEndAfter(e).extractContents()
 
-             if (c && c.length > 0) {
 
-               var m, n
 
-               n = m = c[0].cloneNode(!1)
 
-               for (var o, p = 1; (o = c[p++]); )
 
-                 m.appendChild(o.cloneNode(!1)), (m = m.firstChild)
 
-               k = m
 
-             } else k = j.document.createElement(a)
 
-             b && domUtils.setAttributes(k, b),
 
-               k.appendChild(l),
 
-               j.insertNode(c ? n : k)
 
-             var q
 
-             if (
 
-               ('span' == a &&
 
-               b.style &&
 
-               /text\-decoration/.test(b.style) &&
 
-               (q = domUtils.findParentByTagName(k, 'a', !0))
 
-                 ? (domUtils.setAttributes(q, b),
 
-                   domUtils.remove(k, !0),
 
-                   (k = q))
 
-                 : (domUtils.mergeSibling(k), domUtils.clearEmptySibling(k)),
 
-               domUtils.mergeChild(k, b),
 
-               (i = domUtils.getNextDomNode(k, !1, h)),
 
-               domUtils.mergeToParent(k),
 
-               d === g)
 
-             )
 
-               break
 
-           } else i = domUtils.getNextDomNode(i, !0, h)
 
-         return this.moveToBookmark(f)
 
-       },
 
-       removeInlineStyle: function (a) {
 
-         if (this.collapsed) return this
 
-         ;(a = utils.isArray(a) ? a : [a]),
 
-           this.shrinkBoundary().adjustmentBoundary()
 
-         for (var b = this.startContainer, c = this.endContainer; ; ) {
 
-           if (1 == b.nodeType) {
 
-             if (utils.indexOf(a, b.tagName.toLowerCase()) > -1) break
 
-             if ('body' == b.tagName.toLowerCase()) {
 
-               b = null
 
-               break
 
-             }
 
-           }
 
-           b = b.parentNode
 
-         }
 
-         for (;;) {
 
-           if (1 == c.nodeType) {
 
-             if (utils.indexOf(a, c.tagName.toLowerCase()) > -1) break
 
-             if ('body' == c.tagName.toLowerCase()) {
 
-               c = null
 
-               break
 
-             }
 
-           }
 
-           c = c.parentNode
 
-         }
 
-         var d,
 
-           e,
 
-           f = this.createBookmark()
 
-         b &&
 
-           ((e = this.cloneRange().setEndBefore(f.start).setStartBefore(b)),
 
-           (d = e.extractContents()),
 
-           e.insertNode(d),
 
-           domUtils.clearEmptySibling(b, !0),
 
-           b.parentNode.insertBefore(f.start, b)),
 
-           c &&
 
-             ((e = this.cloneRange().setStartAfter(f.end).setEndAfter(c)),
 
-             (d = e.extractContents()),
 
-             e.insertNode(d),
 
-             domUtils.clearEmptySibling(c, !1, !0),
 
-             c.parentNode.insertBefore(f.end, c.nextSibling))
 
-         for (
 
-           var g,
 
-             h = domUtils.getNextDomNode(f.start, !1, function (a) {
 
-               return 1 == a.nodeType
 
-             });
 
-           h && h !== f.end;
 
-         )
 
-           (g = domUtils.getNextDomNode(h, !0, function (a) {
 
-             return 1 == a.nodeType
 
-           })),
 
-             utils.indexOf(a, h.tagName.toLowerCase()) > -1 &&
 
-               domUtils.remove(h, !0),
 
-             (h = g)
 
-         return this.moveToBookmark(f)
 
-       },
 
-       getClosedNode: function () {
 
-         var a
 
-         if (!this.collapsed) {
 
-           var c = this.cloneRange().adjustmentBoundary().shrinkBoundary()
 
-           if (b(c)) {
 
-             var d = c.startContainer.childNodes[c.startOffset]
 
-             d &&
 
-               1 == d.nodeType &&
 
-               (dtd.$empty[d.tagName] || dtd.$nonChild[d.tagName]) &&
 
-               (a = d)
 
-           }
 
-         }
 
-         return a
 
-       },
 
-       select: browser.ie
 
-         ? function (a, b) {
 
-             var c
 
-             this.collapsed || this.shrinkBoundary()
 
-             var d = this.getClosedNode()
 
-             if (d && !b) {
 
-               try {
 
-                 ;(c = this.document.body.createControlRange()),
 
-                   c.addElement(d),
 
-                   c.select()
 
-               } catch (h) {}
 
-               return this
 
-             }
 
-             var j,
 
-               k = this.createBookmark(),
 
-               l = k.start
 
-             if (
 
-               ((c = this.document.body.createTextRange()),
 
-               c.moveToElementText(l),
 
-               c.moveStart('character', 1),
 
-               this.collapsed)
 
-             ) {
 
-               if (!a && 3 != this.startContainer.nodeType) {
 
-                 var m = this.document.createTextNode(i),
 
-                   n = this.document.createElement('span')
 
-                 n.appendChild(this.document.createTextNode(i)),
 
-                   l.parentNode.insertBefore(n, l),
 
-                   l.parentNode.insertBefore(m, l),
 
-                   e(this.document, m),
 
-                   (g = m),
 
-                   f(n, 'previousSibling'),
 
-                   f(l, 'nextSibling'),
 
-                   c.moveStart('character', -1),
 
-                   c.collapse(!0)
 
-               }
 
-             } else {
 
-               var o = this.document.body.createTextRange()
 
-               ;(j = k.end), o.moveToElementText(j), c.setEndPoint('EndToEnd', o)
 
-             }
 
-             this.moveToBookmark(k), n && domUtils.remove(n)
 
-             try {
 
-               c.select()
 
-             } catch (h) {}
 
-             return this
 
-           }
 
-         : function (a) {
 
-             function b(a) {
 
-               function b(b, c, d) {
 
-                 3 == b.nodeType &&
 
-                   b.nodeValue.length < c &&
 
-                   (a[d + 'Offset'] = b.nodeValue.length)
 
-               }
 
-               b(a.startContainer, a.startOffset, 'start'),
 
-                 b(a.endContainer, a.endOffset, 'end')
 
-             }
 
-             var c,
 
-               d = domUtils.getWindow(this.document),
 
-               h = d.getSelection()
 
-             if ((browser.gecko ? this.document.body.focus() : d.focus(), h)) {
 
-               if ((h.removeAllRanges(), this.collapsed && !a)) {
 
-                 var j = this.startContainer,
 
-                   k = j
 
-                 1 == j.nodeType && (k = j.childNodes[this.startOffset]),
 
-                   (3 == j.nodeType && this.startOffset) ||
 
-                     (k
 
-                       ? k.previousSibling && 3 == k.previousSibling.nodeType
 
-                       : j.lastChild && 3 == j.lastChild.nodeType) ||
 
-                     ((c = this.document.createTextNode(i)),
 
-                     this.insertNode(c),
 
-                     e(this.document, c),
 
-                     f(c, 'previousSibling'),
 
-                     f(c, 'nextSibling'),
 
-                     (g = c),
 
-                     this.setStart(c, browser.webkit ? 1 : 0).collapse(!0))
 
-               }
 
-               var l = this.document.createRange()
 
-               if (
 
-                 this.collapsed &&
 
-                 browser.opera &&
 
-                 1 == this.startContainer.nodeType
 
-               ) {
 
-                 var k = this.startContainer.childNodes[this.startOffset]
 
-                 if (k) {
 
-                   for (
 
-                     ;
 
-                     k &&
 
-                     domUtils.isBlockElm(k) &&
 
-                     1 == k.nodeType &&
 
-                     k.childNodes[0];
 
-                   )
 
-                     k = k.childNodes[0]
 
-                   k && this.setStartBefore(k).collapse(!0)
 
-                 } else
 
-                   (k = this.startContainer.lastChild),
 
-                     k && domUtils.isBr(k) && this.setStartBefore(k).collapse(!0)
 
-               }
 
-               b(this),
 
-                 l.setStart(this.startContainer, this.startOffset),
 
-                 l.setEnd(this.endContainer, this.endOffset),
 
-                 h.addRange(l)
 
-             }
 
-             return this
 
-           },
 
-       scrollToView: function (a, b) {
 
-         a = a ? window : domUtils.getWindow(this.document)
 
-         var c = this,
 
-           d = c.document.createElement('span')
 
-         return (
 
-           (d.innerHTML = ' '),
 
-           c.cloneRange().insertNode(d),
 
-           domUtils.scrollToView(d, a, b),
 
-           domUtils.remove(d),
 
-           c
 
-         )
 
-       },
 
-       inFillChar: function () {
 
-         var a = this.startContainer
 
-         return !(
 
-           !this.collapsed ||
 
-           3 != a.nodeType ||
 
-           a.nodeValue.replace(new RegExp('^' + domUtils.fillChar), '').length +
 
-             1 !=
 
-             a.nodeValue.length
 
-         )
 
-       },
 
-       createAddress: function (a, b) {
 
-         function c(a) {
 
-           for (
 
-             var c,
 
-               d = a ? e.startContainer : e.endContainer,
 
-               f = domUtils.findParents(d, !0, function (a) {
 
-                 return !domUtils.isBody(a)
 
-               }),
 
-               g = [],
 
-               h = 0;
 
-             (c = f[h++]);
 
-           )
 
-             g.push(domUtils.getNodeIndex(c, b))
 
-           var i = 0
 
-           if (b)
 
-             if (3 == d.nodeType) {
 
-               for (var j = d.previousSibling; j && 3 == j.nodeType; )
 
-                 (i += j.nodeValue.replace(fillCharReg, '').length),
 
-                   (j = j.previousSibling)
 
-               i += a ? e.startOffset : e.endOffset
 
-             } else if ((d = d.childNodes[a ? e.startOffset : e.endOffset]))
 
-               i = domUtils.getNodeIndex(d, b)
 
-             else {
 
-               d = a ? e.startContainer : e.endContainer
 
-               for (var k = d.firstChild; k; )
 
-                 if (domUtils.isFillChar(k)) k = k.nextSibling
 
-                 else if ((i++, 3 == k.nodeType))
 
-                   for (; k && 3 == k.nodeType; ) k = k.nextSibling
 
-                 else k = k.nextSibling
 
-             }
 
-           else
 
-             i = a ? (domUtils.isFillChar(d) ? 0 : e.startOffset) : e.endOffset
 
-           return i < 0 && (i = 0), g.push(i), g
 
-         }
 
-         var d = {},
 
-           e = this
 
-         return (
 
-           (d.startAddress = c(!0)),
 
-           a || (d.endAddress = e.collapsed ? [].concat(d.startAddress) : c()),
 
-           d
 
-         )
 
-       },
 
-       moveToAddress: function (a, b) {
 
-         function c(a, b) {
 
-           for (
 
-             var c, e, f, g = d.document.body, h = 0, i = a.length;
 
-             h < i;
 
-             h++
 
-           )
 
-             if (((f = a[h]), (c = g), (g = g.childNodes[f]), !g)) {
 
-               e = f
 
-               break
 
-             }
 
-           b
 
-             ? g
 
-               ? d.setStartBefore(g)
 
-               : d.setStart(c, e)
 
-             : g
 
-             ? d.setEndBefore(g)
 
-             : d.setEnd(c, e)
 
-         }
 
-         var d = this
 
-         return c(a.startAddress, !0), !b && a.endAddress && c(a.endAddress), d
 
-       },
 
-       equals: function (a) {
 
-         for (var b in this)
 
-           if (this.hasOwnProperty(b) && this[b] !== a[b]) return !1
 
-         return !0
 
-       },
 
-       traversal: function (a, b) {
 
-         if (this.collapsed) return this
 
-         for (
 
-           var c = this.createBookmark(),
 
-             d = c.end,
 
-             e = domUtils.getNextDomNode(c.start, !1, b);
 
-           e &&
 
-           e !== d &&
 
-           domUtils.getPosition(e, d) & domUtils.POSITION_PRECEDING;
 
-         ) {
 
-           var f = domUtils.getNextDomNode(e, !1, b)
 
-           a(e), (e = f)
 
-         }
 
-         return this.moveToBookmark(c)
 
-       }
 
-     }
 
-   })(),
 
-     (function () {
 
-       function a(a, b) {
 
-         var c = domUtils.getNodeIndex
 
-         ;(a = a.duplicate()), a.collapse(b)
 
-         var d = a.parentElement()
 
-         if (!d.hasChildNodes()) return { container: d, offset: 0 }
 
-         for (
 
-           var e,
 
-             f,
 
-             g = d.children,
 
-             h = a.duplicate(),
 
-             i = 0,
 
-             j = g.length - 1,
 
-             k = -1;
 
-           i <= j;
 
-         ) {
 
-           ;(k = Math.floor((i + j) / 2)), (e = g[k]), h.moveToElementText(e)
 
-           var l = h.compareEndPoints('StartToStart', a)
 
-           if (l > 0) j = k - 1
 
-           else {
 
-             if (!(l < 0)) return { container: d, offset: c(e) }
 
-             i = k + 1
 
-           }
 
-         }
 
-         if (k == -1) {
 
-           if (
 
-             (h.moveToElementText(d),
 
-             h.setEndPoint('StartToStart', a),
 
-             (f = h.text.replace(/(\r\n|\r)/g, '\n').length),
 
-             (g = d.childNodes),
 
-             !f)
 
-           )
 
-             return (
 
-               (e = g[g.length - 1]),
 
-               { container: e, offset: e.nodeValue.length }
 
-             )
 
-           for (var m = g.length; f > 0; ) f -= g[--m].nodeValue.length
 
-           return { container: g[m], offset: -f }
 
-         }
 
-         if (
 
-           (h.collapse(l > 0),
 
-           h.setEndPoint(l > 0 ? 'StartToStart' : 'EndToStart', a),
 
-           (f = h.text.replace(/(\r\n|\r)/g, '\n').length),
 
-           !f)
 
-         )
 
-           return dtd.$empty[e.tagName] || dtd.$nonChild[e.tagName]
 
-             ? { container: d, offset: c(e) + (l > 0 ? 0 : 1) }
 
-             : { container: e, offset: l > 0 ? 0 : e.childNodes.length }
 
-         for (; f > 0; )
 
-           try {
 
-             var n = e
 
-             ;(e = e[l > 0 ? 'previousSibling' : 'nextSibling']),
 
-               (f -= e.nodeValue.length)
 
-           } catch (o) {
 
-             return { container: d, offset: c(n) }
 
-           }
 
-         return { container: e, offset: l > 0 ? -f : e.nodeValue.length + f }
 
-       }
 
-       function b(b, c) {
 
-         if (b.item) c.selectNode(b.item(0))
 
-         else {
 
-           var d = a(b, !0)
 
-           c.setStart(d.container, d.offset),
 
-             0 != b.compareEndPoints('StartToEnd', b) &&
 
-               ((d = a(b, !1)), c.setEnd(d.container, d.offset))
 
-         }
 
-         return c
 
-       }
 
-       function c(a) {
 
-         var b
 
-         try {
 
-           b = a.getNative().createRange()
 
-         } catch (c) {
 
-           return null
 
-         }
 
-         var d = b.item ? b.item(0) : b.parentElement()
 
-         return (d.ownerDocument || d) === a.document ? b : null
 
-       }
 
-       var d = (dom.Selection = function (a) {
 
-         var b,
 
-           d = this
 
-         ;(d.document = a),
 
-           browser.ie9below &&
 
-             ((b = domUtils.getWindow(a).frameElement),
 
-             domUtils.on(b, 'beforedeactivate', function () {
 
-               d._bakIERange = d.getIERange()
 
-             }),
 
-             domUtils.on(b, 'activate', function () {
 
-               try {
 
-                 !c(d) && d._bakIERange && d._bakIERange.select()
 
-               } catch (a) {}
 
-               d._bakIERange = null
 
-             })),
 
-           (b = a = null)
 
-       })
 
-       d.prototype = {
 
-         rangeInBody: function (a, b) {
 
-           var c =
 
-             browser.ie9below || b
 
-               ? a.item
 
-                 ? a.item()
 
-                 : a.parentElement()
 
-               : a.startContainer
 
-           return c === this.document.body || domUtils.inDoc(c, this.document)
 
-         },
 
-         getNative: function () {
 
-           var a = this.document
 
-           try {
 
-             return a
 
-               ? browser.ie9below
 
-                 ? a.selection
 
-                 : domUtils.getWindow(a).getSelection()
 
-               : null
 
-           } catch (b) {
 
-             return null
 
-           }
 
-         },
 
-         getIERange: function () {
 
-           var a = c(this)
 
-           return !a && this._bakIERange ? this._bakIERange : a
 
-         },
 
-         cache: function () {
 
-           this.clear(),
 
-             (this._cachedRange = this.getRange()),
 
-             (this._cachedStartElement = this.getStart()),
 
-             (this._cachedStartElementPath = this.getStartElementPath())
 
-         },
 
-         getStartElementPath: function () {
 
-           if (this._cachedStartElementPath) return this._cachedStartElementPath
 
-           var a = this.getStart()
 
-           return a ? domUtils.findParents(a, !0, null, !0) : []
 
-         },
 
-         clear: function () {
 
-           this._cachedStartElementPath =
 
-             this._cachedRange =
 
-             this._cachedStartElement =
 
-               null
 
-         },
 
-         isFocus: function () {
 
-           try {
 
-             if (browser.ie9below) {
 
-               var a = c(this)
 
-               return !(!a || !this.rangeInBody(a))
 
-             }
 
-             return !!this.getNative().rangeCount
 
-           } catch (b) {
 
-             return !1
 
-           }
 
-         },
 
-         getRange: function () {
 
-           function a(a) {
 
-             for (
 
-               var b = c.document.body.firstChild, d = a.collapsed;
 
-               b && b.firstChild;
 
-             )
 
-               a.setStart(b, 0), (b = b.firstChild)
 
-             a.startContainer || a.setStart(c.document.body, 0),
 
-               d && a.collapse(!0)
 
-           }
 
-           var c = this
 
-           if (null != c._cachedRange) return this._cachedRange
 
-           var d = new baidu.editor.dom.Range(c.document)
 
-           if (browser.ie9below) {
 
-             var e = c.getIERange()
 
-             if (e)
 
-               try {
 
-                 b(e, d)
 
-               } catch (f) {
 
-                 a(d)
 
-               }
 
-             else a(d)
 
-           } else {
 
-             var g = c.getNative()
 
-             if (g && g.rangeCount) {
 
-               var h = g.getRangeAt(0),
 
-                 i = g.getRangeAt(g.rangeCount - 1)
 
-               d
 
-                 .setStart(h.startContainer, h.startOffset)
 
-                 .setEnd(i.endContainer, i.endOffset),
 
-                 d.collapsed &&
 
-                   domUtils.isBody(d.startContainer) &&
 
-                   !d.startOffset &&
 
-                   a(d)
 
-             } else {
 
-               if (
 
-                 this._bakRange &&
 
-                 domUtils.inDoc(this._bakRange.startContainer, this.document)
 
-               )
 
-                 return this._bakRange
 
-               a(d)
 
-             }
 
-           }
 
-           return (this._bakRange = d)
 
-         },
 
-         getStart: function () {
 
-           if (this._cachedStartElement) return this._cachedStartElement
 
-           var a,
 
-             b,
 
-             c,
 
-             d,
 
-             e = browser.ie9below ? this.getIERange() : this.getRange()
 
-           if (browser.ie9below) {
 
-             if (!e) return this.document.body.firstChild
 
-             if (e.item) return e.item(0)
 
-             for (
 
-               a = e.duplicate(),
 
-                 a.text.length > 0 && a.moveStart('character', 1),
 
-                 a.collapse(1),
 
-                 b = a.parentElement(),
 
-                 d = c = e.parentElement();
 
-               (c = c.parentNode);
 
-             )
 
-               if (c == b) {
 
-                 b = d
 
-                 break
 
-               }
 
-           } else if (
 
-             (e.shrinkBoundary(),
 
-             (b = e.startContainer),
 
-             1 == b.nodeType &&
 
-               b.hasChildNodes() &&
 
-               (b =
 
-                 b.childNodes[Math.min(b.childNodes.length - 1, e.startOffset)]),
 
-             3 == b.nodeType)
 
-           )
 
-             return b.parentNode
 
-           return b
 
-         },
 
-         getText: function () {
 
-           var a, b
 
-           return this.isFocus() && (a = this.getNative())
 
-             ? ((b = browser.ie9below ? a.createRange() : a.getRangeAt(0)),
 
-               browser.ie9below ? b.text : b.toString())
 
-             : ''
 
-         },
 
-         clearRange: function () {
 
-           this.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges']()
 
-         }
 
-       }
 
-     })(),
 
-     (function () {
 
-       function a(a, b) {
 
-         var c
 
-         if (b.textarea)
 
-           if (utils.isString(b.textarea)) {
 
-             for (
 
-               var d, e = 0, f = domUtils.getElementsByTagName(a, 'textarea');
 
-               (d = f[e++]);
 
-             )
 
-               if (d.id == 'ueditor_textarea_' + b.options.textarea) {
 
-                 c = d
 
-                 break
 
-               }
 
-           } else c = b.textarea
 
-         c ||
 
-           (a.appendChild(
 
-             (c = domUtils.createElement(document, 'textarea', {
 
-               name: b.options.textarea,
 
-               id: 'ueditor_textarea_' + b.options.textarea,
 
-               style: 'display:none'
 
-             }))
 
-           ),
 
-           (b.textarea = c)),
 
-           !c.getAttribute('name') && c.setAttribute('name', b.options.textarea),
 
-           (c.value = b.hasContents()
 
-             ? b.options.allHtmlEnabled
 
-               ? b.getAllHtml()
 
-               : b.getContent(null, null, !0)
 
-             : '')
 
-       }
 
-       function b(a) {
 
-         for (var b in a) return b
 
-       }
 
-       function c(a) {
 
-         ;(a.langIsReady = !0), a.fireEvent('langReady')
 
-       }
 
-       var d,
 
-         e = 0,
 
-         f = (UE.Editor = function (a) {
 
-           var d = this
 
-           ;(d.uid = e++),
 
-             EventBase.call(d),
 
-             (d.commands = {}),
 
-             (d.options = utils.extend(
 
-               utils.clone(a || {}),
 
-               UEDITOR_CONFIG,
 
-               !0
 
-             )),
 
-             (d.shortcutkeys = {}),
 
-             (d.inputRules = []),
 
-             (d.outputRules = []),
 
-             d.setOpt(f.defaultOptions(d)),
 
-             d.loadServerConfig(),
 
-             utils.isEmptyObject(UE.I18N)
 
-               ? utils.loadFile(
 
-                   document,
 
-                   {
 
-                     src:
 
-                       d.options.langPath +
 
-                       d.options.lang +
 
-                       '/' +
 
-                       d.options.lang +
 
-                       '.js',
 
-                     tag: 'script',
 
-                     type: 'text/javascript',
 
-                     defer: 'defer'
 
-                   },
 
-                   function () {
 
-                     UE.plugin.load(d), c(d)
 
-                   }
 
-                 )
 
-               : ((d.options.lang = b(UE.I18N)), UE.plugin.load(d), c(d)),
 
-             (UE.instants['ueditorInstant' + d.uid] = d)
 
-         })
 
-       ;(f.prototype = {
 
-         registerCommand: function (a, b) {
 
-           this.commands[a] = b
 
-         },
 
-         ready: function (a) {
 
-           var b = this
 
-           a && (b.isReady ? a.apply(b) : b.addListener('ready', a))
 
-         },
 
-         setOpt: function (a, b) {
 
-           var c = {}
 
-           utils.isString(a) ? (c[a] = b) : (c = a),
 
-             utils.extend(this.options, c, !0)
 
-         },
 
-         getOpt: function (a) {
 
-           return this.options[a]
 
-         },
 
-         destroy: function () {
 
-           var a = this
 
-           a.fireEvent('destroy')
 
-           var b = a.container.parentNode,
 
-             c = a.textarea
 
-           c
 
-             ? (c.style.display = '')
 
-             : ((c = document.createElement('textarea')),
 
-               b.parentNode.insertBefore(c, b)),
 
-             (c.style.width = a.iframe.offsetWidth + 'px'),
 
-             (c.style.height = a.iframe.offsetHeight + 'px'),
 
-             (c.value = a.getContent()),
 
-             (c.id = a.key),
 
-             (b.innerHTML = ''),
 
-             domUtils.remove(b)
 
-           var d = a.key
 
-           for (var e in a) a.hasOwnProperty(e) && delete this[e]
 
-           UE.delEditor(d)
 
-         },
 
-         render: function (a) {
 
-           var b = this,
 
-             c = b.options,
 
-             d = function (b) {
 
-               return parseInt(domUtils.getComputedStyle(a, b))
 
-             }
 
-           if ((utils.isString(a) && (a = document.getElementById(a)), a)) {
 
-             c.initialFrameWidth
 
-               ? (c.minFrameWidth = c.initialFrameWidth)
 
-               : (c.minFrameWidth = c.initialFrameWidth = a.offsetWidth),
 
-               c.initialFrameHeight
 
-                 ? (c.minFrameHeight = c.initialFrameHeight)
 
-                 : (c.initialFrameHeight = c.minFrameHeight = a.offsetHeight),
 
-               (a.style.width = /%$/.test(c.initialFrameWidth)
 
-                 ? '100%'
 
-                 : c.initialFrameWidth -
 
-                   d('padding-left') -
 
-                   d('padding-right') +
 
-                   'px'),
 
-               (a.style.height = /%$/.test(c.initialFrameHeight)
 
-                 ? '100%'
 
-                 : c.initialFrameHeight -
 
-                   d('padding-top') -
 
-                   d('padding-bottom') +
 
-                   'px'),
 
-               (a.style.zIndex = c.zIndex)
 
-             var e =
 
-               (ie && browser.version < 9 ? '' : '<!DOCTYPE html>') +
 
-               "<html xmlns='http://www.w3.org/1999/xhtml' class='view' ><head><style type='text/css'>.view{padding:0;word-wrap:break-word;cursor:text;height:90%;}\nbody{margin:8px;font-family:sans-serif;font-size:16px;}p{margin:5px 0;}</style>" +
 
-               (c.iframeCssUrl
 
-                 ? "<link rel='stylesheet' type='text/css' href='" +
 
-                   utils.unhtml(c.iframeCssUrl) +
 
-                   "'/>"
 
-                 : '') +
 
-               (c.initialStyle ? '<style>' + c.initialStyle + '</style>' : '') +
 
-               "</head><body class='view' ></body><script type='text/javascript' " +
 
-               (ie ? "defer='defer'" : '') +
 
-               " id='_initialScript'>setTimeout(function(){editor = window.parent.UE.instants['ueditorInstant" +
 
-               b.uid +
 
-               "'];editor._setup(document);},0);var _tmpScript = document.getElementById('_initialScript');_tmpScript.parentNode.removeChild(_tmpScript);</script></html>"
 
-             a.appendChild(
 
-               domUtils.createElement(document, 'iframe', {
 
-                 id: 'ueditor_' + b.uid,
 
-                 width: '100%',
 
-                 height: '100%',
 
-                 frameborder: '0',
 
-                 src:
 
-                   'javascript:void(function(){document.open();' +
 
-                   (c.customDomain && document.domain != location.hostname
 
-                     ? 'document.domain="' + document.domain + '";'
 
-                     : '') +
 
-                   'document.write("' +
 
-                   e +
 
-                   '");document.close();}())'
 
-               })
 
-             ),
 
-               (a.style.overflow = 'hidden'),
 
-               setTimeout(function () {
 
-                 ;/%$/.test(c.initialFrameWidth) &&
 
-                   (c.minFrameWidth = c.initialFrameWidth = a.offsetWidth),
 
-                   /%$/.test(c.initialFrameHeight) &&
 
-                     ((c.minFrameHeight = c.initialFrameHeight = a.offsetHeight),
 
-                     (a.style.height = c.initialFrameHeight + 'px'))
 
-               })
 
-           }
 
-         },
 
-         _setup: function (b) {
 
-           var c = this,
 
-             d = c.options
 
-           ie
 
-             ? ((b.body.disabled = !0),
 
-               (b.body.contentEditable = !0),
 
-               (b.body.disabled = !1))
 
-             : (b.body.contentEditable = !0),
 
-             (b.body.spellcheck = !1),
 
-             (c.document = b),
 
-             (c.window = b.defaultView || b.parentWindow),
 
-             (c.iframe = c.window.frameElement),
 
-             (c.body = b.body),
 
-             (c.selection = new dom.Selection(b))
 
-           var e
 
-           browser.gecko &&
 
-             (e = this.selection.getNative()) &&
 
-             e.removeAllRanges(),
 
-             this._initEvents()
 
-           for (
 
-             var f = this.iframe.parentNode;
 
-             !domUtils.isBody(f);
 
-             f = f.parentNode
 
-           )
 
-             if ('FORM' == f.tagName) {
 
-               ;(c.form = f),
 
-                 c.options.autoSyncData
 
-                   ? domUtils.on(c.window, 'blur', function () {
 
-                       a(f, c)
 
-                     })
 
-                   : domUtils.on(f, 'submit', function () {
 
-                       a(this, c)
 
-                     })
 
-               break
 
-             }
 
-           if (d.initialContent)
 
-             if (d.autoClearinitialContent) {
 
-               var g = c.execCommand
 
-               ;(c.execCommand = function () {
 
-                 return (
 
-                   c.fireEvent('firstBeforeExecCommand'), g.apply(c, arguments)
 
-                 )
 
-               }),
 
-                 this._setDefaultContent(d.initialContent)
 
-             } else this.setContent(d.initialContent, !1, !0)
 
-           domUtils.isEmptyNode(c.body) &&
 
-             (c.body.innerHTML = '<p>' + (browser.ie ? '' : '<br/>') + '</p>'),
 
-             d.focus &&
 
-               setTimeout(function () {
 
-                 c.focus(c.options.focusInEnd),
 
-                   !c.options.autoClearinitialContent && c._selectionChange()
 
-               }, 0),
 
-             c.container || (c.container = this.iframe.parentNode),
 
-             d.fullscreen && c.ui && c.ui.setFullScreen(!0)
 
-           try {
 
-             c.document.execCommand('2D-position', !1, !1)
 
-           } catch (h) {}
 
-           try {
 
-             c.document.execCommand('enableInlineTableEditing', !1, !1)
 
-           } catch (h) {}
 
-           try {
 
-             c.document.execCommand('enableObjectResizing', !1, !1)
 
-           } catch (h) {}
 
-           c._bindshortcutKeys(),
 
-             (c.isReady = 1),
 
-             c.fireEvent('ready'),
 
-             d.onready && d.onready.call(c),
 
-             browser.ie9below ||
 
-               domUtils.on(c.window, ['blur', 'focus'], function (a) {
 
-                 if ('blur' == a.type) {
 
-                   c._bakRange = c.selection.getRange()
 
-                   try {
 
-                     ;(c._bakNativeRange = c.selection
 
-                       .getNative()
 
-                       .getRangeAt(0)),
 
-                       c.selection.getNative().removeAllRanges()
 
-                   } catch (a) {
 
-                     c._bakNativeRange = null
 
-                   }
 
-                 } else
 
-                   try {
 
-                     c._bakRange && c._bakRange.select()
 
-                   } catch (a) {}
 
-               }),
 
-             browser.gecko &&
 
-               browser.version <= 10902 &&
 
-               ((c.body.contentEditable = !1),
 
-               setTimeout(function () {
 
-                 c.body.contentEditable = !0
 
-               }, 100),
 
-               setInterval(function () {
 
-                 c.body.style.height = c.iframe.offsetHeight - 20 + 'px'
 
-               }, 100)),
 
-             !d.isShow && c.setHide(),
 
-             d.readonly && c.setDisabled()
 
-         },
 
-         sync: function (b) {
 
-           var c = this,
 
-             d = b
 
-               ? document.getElementById(b)
 
-               : domUtils.findParent(
 
-                   c.iframe.parentNode,
 
-                   function (a) {
 
-                     return 'FORM' == a.tagName
 
-                   },
 
-                   !0
 
-                 )
 
-           d && a(d, c)
 
-         },
 
-         setHeight: function (a, b) {
 
-           a !== parseInt(this.iframe.parentNode.style.height) &&
 
-             (this.iframe.parentNode.style.height = a + 'px'),
 
-             !b &&
 
-               (this.options.minFrameHeight = this.options.initialFrameHeight =
 
-                 a),
 
-             (this.body.style.height = a + 'px'),
 
-             !b && this.trigger('setHeight')
 
-         },
 
-         addshortcutkey: function (a, b) {
 
-           var c = {}
 
-           b ? (c[a] = b) : (c = a), utils.extend(this.shortcutkeys, c)
 
-         },
 
-         _bindshortcutKeys: function () {
 
-           var a = this,
 
-             b = this.shortcutkeys
 
-           a.addListener('keydown', function (c, d) {
 
-             var e = d.keyCode || d.which
 
-             for (var f in b)
 
-               for (var g, h = b[f].split(','), i = 0; (g = h[i++]); ) {
 
-                 g = g.split(':')
 
-                 var j = g[0],
 
-                   k = g[1]
 
-                 ;(/^(ctrl)(\+shift)?\+(\d+)$/.test(j.toLowerCase()) ||
 
-                   /^(\d+)$/.test(j)) &&
 
-                   ((('ctrl' == RegExp.$1 ? d.ctrlKey || d.metaKey : 0) &&
 
-                     ('' != RegExp.$2 ? d[RegExp.$2.slice(1) + 'Key'] : 1) &&
 
-                     e == RegExp.$3) ||
 
-                     e == RegExp.$1) &&
 
-                   (a.queryCommandState(f, k) != -1 && a.execCommand(f, k),
 
-                   domUtils.preventDefault(d))
 
-               }
 
-           })
 
-         },
 
-         getContent: function (a, b, c, d, e) {
 
-           var f = this
 
-           if (
 
-             (a && utils.isFunction(a) && ((b = a), (a = '')),
 
-             b ? !b() : !this.hasContents())
 
-           )
 
-             return ''
 
-           f.fireEvent('beforegetcontent')
 
-           var g = UE.htmlparser(f.body.innerHTML, d)
 
-           return (
 
-             f.filterOutputRule(g),
 
-             f.fireEvent('aftergetcontent', a, g),
 
-             g.toHtml(e)
 
-           )
 
-         },
 
-         getAllHtml: function () {
 
-           var a = this,
 
-             b = []
 
-           if (
 
-             (a.fireEvent('getAllHtml', b), browser.ie && browser.version > 8)
 
-           ) {
 
-             var c = ''
 
-             utils.each(a.document.styleSheets, function (a) {
 
-               c += a.href
 
-                 ? '<link rel="stylesheet" type="text/css" href="' +
 
-                   a.href +
 
-                   '" />'
 
-                 : '<style>' + a.cssText + '</style>'
 
-             }),
 
-               utils.each(
 
-                 a.document.getElementsByTagName('script'),
 
-                 function (a) {
 
-                   c += a.outerHTML
 
-                 }
 
-               )
 
-           }
 
-           return (
 
-             '<html><head>' +
 
-             (a.options.charset
 
-               ? '<meta http-equiv="Content-Type" content="text/html; charset=' +
 
-                 a.options.charset +
 
-                 '"/>'
 
-               : '') +
 
-             (c || a.document.getElementsByTagName('head')[0].innerHTML) +
 
-             b.join('\n') +
 
-             '</head><body ' +
 
-             (ie && browser.version < 9 ? 'class="view"' : '') +
 
-             '>' +
 
-             a.getContent(null, null, !0) +
 
-             '</body></html>'
 
-           )
 
-         },
 
-         getPlainTxt: function () {
 
-           var a = new RegExp(domUtils.fillChar, 'g'),
 
-             b = this.body.innerHTML.replace(/[\n\r]/g, '')
 
-           return (
 
-             (b = b
 
-               .replace(/<(p|div)[^>]*>(<br\/?>| )<\/\1>/gi, '\n')
 
-               .replace(/<br\/?>/gi, '\n')
 
-               .replace(/<[^>\/]+>/g, '')
 
-               .replace(/(\n)?<\/([^>]+)>/g, function (a, b, c) {
 
-                 return dtd.$block[c] ? '\n' : b ? b : ''
 
-               })),
 
-             b
 
-               .replace(a, '')
 
-               .replace(/\u00a0/g, ' ')
 
-               .replace(/ /g, ' ')
 
-           )
 
-         },
 
-         getContentTxt: function () {
 
-           var a = new RegExp(domUtils.fillChar, 'g')
 
-           return this.body[browser.ie ? 'innerText' : 'textContent']
 
-             .replace(a, '')
 
-             .replace(/\u00a0/g, ' ')
 
-         },
 
-         setContent: function (b, c, d) {
 
-           function e(a) {
 
-             return 'DIV' == a.tagName && a.getAttribute('cdata_tag')
 
-           }
 
-           var f = this
 
-           f.fireEvent('beforesetcontent', b)
 
-           var g = UE.htmlparser(b)
 
-           if (
 
-             (f.filterInputRule(g),
 
-             (b = g.toHtml()),
 
-             (f.body.innerHTML = (c ? f.body.innerHTML : '') + b),
 
-             'p' == f.options.enterTag)
 
-           ) {
 
-             var h,
 
-               i = this.body.firstChild
 
-             if (
 
-               !i ||
 
-               (1 == i.nodeType &&
 
-                 (dtd.$cdata[i.tagName] || e(i) || domUtils.isCustomeNode(i)) &&
 
-                 i === this.body.lastChild)
 
-             )
 
-               this.body.innerHTML =
 
-                 '<p>' +
 
-                 (browser.ie ? ' ' : '<br/>') +
 
-                 '</p>' +
 
-                 this.body.innerHTML
 
-             else
 
-               for (var j = f.document.createElement('p'); i; ) {
 
-                 for (
 
-                   ;
 
-                   i &&
 
-                   (3 == i.nodeType ||
 
-                     (1 == i.nodeType &&
 
-                       dtd.p[i.tagName] &&
 
-                       !dtd.$cdata[i.tagName]));
 
-                 )
 
-                   (h = i.nextSibling), j.appendChild(i), (i = h)
 
-                 if (j.firstChild) {
 
-                   if (!i) {
 
-                     f.body.appendChild(j)
 
-                     break
 
-                   }
 
-                   i.parentNode.insertBefore(j, i),
 
-                     (j = f.document.createElement('p'))
 
-                 }
 
-                 i = i.nextSibling
 
-               }
 
-           }
 
-           f.fireEvent('aftersetcontent'),
 
-             f.fireEvent('contentchange'),
 
-             !d && f._selectionChange(),
 
-             (f._bakRange = f._bakIERange = f._bakNativeRange = null)
 
-           var k
 
-           browser.gecko &&
 
-             (k = this.selection.getNative()) &&
 
-             k.removeAllRanges(),
 
-             f.options.autoSyncData && f.form && a(f.form, f)
 
-         },
 
-         focus: function (a) {
 
-           try {
 
-             var b = this,
 
-               c = b.selection.getRange()
 
-             if (a) {
 
-               var d = b.body.lastChild
 
-               d &&
 
-                 1 == d.nodeType &&
 
-                 !dtd.$empty[d.tagName] &&
 
-                 (domUtils.isEmptyBlock(d)
 
-                   ? c.setStartAtFirst(d)
 
-                   : c.setStartAtLast(d),
 
-                 c.collapse(!0)),
 
-                 c.setCursor(!0)
 
-             } else {
 
-               if (
 
-                 !c.collapsed &&
 
-                 domUtils.isBody(c.startContainer) &&
 
-                 0 == c.startOffset
 
-               ) {
 
-                 var d = b.body.firstChild
 
-                 d &&
 
-                   1 == d.nodeType &&
 
-                   !dtd.$empty[d.tagName] &&
 
-                   c.setStartAtFirst(d).collapse(!0)
 
-               }
 
-               c.select(!0)
 
-             }
 
-             this.fireEvent('focus selectionchange')
 
-           } catch (e) {}
 
-         },
 
-         isFocus: function () {
 
-           return this.selection.isFocus()
 
-         },
 
-         blur: function () {
 
-           var a = this.selection.getNative()
 
-           if (a.empty && browser.ie) {
 
-             var b = document.body.createTextRange()
 
-             b.moveToElementText(document.body),
 
-               b.collapse(!0),
 
-               b.select(),
 
-               a.empty()
 
-           } else a.removeAllRanges()
 
-         },
 
-         _initEvents: function () {
 
-           var a = this,
 
-             b = a.document,
 
-             c = a.window
 
-           ;(a._proxyDomEvent = utils.bind(a._proxyDomEvent, a)),
 
-             domUtils.on(
 
-               b,
 
-               [
 
-                 'click',
 
-                 'contextmenu',
 
-                 'mousedown',
 
-                 'keydown',
 
-                 'keyup',
 
-                 'keypress',
 
-                 'mouseup',
 
-                 'mouseover',
 
-                 'mouseout',
 
-                 'selectstart'
 
-               ],
 
-               a._proxyDomEvent
 
-             ),
 
-             domUtils.on(c, ['focus', 'blur'], a._proxyDomEvent),
 
-             domUtils.on(a.body, 'drop', function (b) {
 
-               browser.gecko && b.stopPropagation && b.stopPropagation(),
 
-                 a.fireEvent('contentchange')
 
-             }),
 
-             domUtils.on(b, ['mouseup', 'keydown'], function (b) {
 
-               ;('keydown' == b.type &&
 
-                 (b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) ||
 
-                 (2 != b.button && a._selectionChange(250, b))
 
-             })
 
-         },
 
-         _proxyDomEvent: function (a) {
 
-           return (
 
-             this.fireEvent(
 
-               'before' + a.type.replace(/^on/, '').toLowerCase()
 
-             ) !== !1 &&
 
-             this.fireEvent(a.type.replace(/^on/, ''), a) !== !1 &&
 
-             this.fireEvent('after' + a.type.replace(/^on/, '').toLowerCase())
 
-           )
 
-         },
 
-         _selectionChange: function (a, b) {
 
-           var c,
 
-             e,
 
-             f = this,
 
-             g = !1
 
-           if (browser.ie && browser.version < 9 && b && 'mouseup' == b.type) {
 
-             var h = this.selection.getRange()
 
-             h.collapsed || ((g = !0), (c = b.clientX), (e = b.clientY))
 
-           }
 
-           clearTimeout(d),
 
-             (d = setTimeout(function () {
 
-               if (f.selection && f.selection.getNative()) {
 
-                 var a
 
-                 if (g && 'None' == f.selection.getNative().type) {
 
-                   a = f.document.body.createTextRange()
 
-                   try {
 
-                     a.moveToPoint(c, e)
 
-                   } catch (d) {
 
-                     a = null
 
-                   }
 
-                 }
 
-                 var h
 
-                 a &&
 
-                   ((h = f.selection.getIERange),
 
-                   (f.selection.getIERange = function () {
 
-                     return a
 
-                   })),
 
-                   f.selection.cache(),
 
-                   h && (f.selection.getIERange = h),
 
-                   f.selection._cachedRange &&
 
-                     f.selection._cachedStartElement &&
 
-                     (f.fireEvent('beforeselectionchange'),
 
-                     f.fireEvent('selectionchange', !!b),
 
-                     f.fireEvent('afterselectionchange'),
 
-                     f.selection.clear())
 
-               }
 
-             }, a || 50))
 
-         },
 
-         _callCmdFn: function (a, b) {
 
-           var c,
 
-             d,
 
-             e = b[0].toLowerCase()
 
-           return (
 
-             (c = this.commands[e] || UE.commands[e]),
 
-             (d = c && c[a]),
 
-             (c && d) || 'queryCommandState' != a
 
-               ? d
 
-                 ? d.apply(this, b)
 
-                 : void 0
 
-               : 0
 
-           )
 
-         },
 
-         execCommand: function (a) {
 
-           a = a.toLowerCase()
 
-           var b,
 
-             c = this,
 
-             d = c.commands[a] || UE.commands[a]
 
-           return d && d.execCommand
 
-             ? (d.notNeedUndo || c.__hasEnterExecCommand
 
-                 ? ((b = this._callCmdFn('execCommand', arguments)),
 
-                   !c.__hasEnterExecCommand &&
 
-                     !d.ignoreContentChange &&
 
-                     !c._ignoreContentChange &&
 
-                     c.fireEvent('contentchange'))
 
-                 : ((c.__hasEnterExecCommand = !0),
 
-                   c.queryCommandState.apply(c, arguments) != -1 &&
 
-                     (c.fireEvent('saveScene'),
 
-                     c.fireEvent.apply(
 
-                       c,
 
-                       ['beforeexeccommand', a].concat(arguments)
 
-                     ),
 
-                     (b = this._callCmdFn('execCommand', arguments)),
 
-                     c.fireEvent.apply(
 
-                       c,
 
-                       ['afterexeccommand', a].concat(arguments)
 
-                     ),
 
-                     c.fireEvent('saveScene')),
 
-                   (c.__hasEnterExecCommand = !1)),
 
-               !c.__hasEnterExecCommand &&
 
-                 !d.ignoreContentChange &&
 
-                 !c._ignoreContentChange &&
 
-                 c._selectionChange(),
 
-               b)
 
-             : null
 
-         },
 
-         queryCommandState: function (a) {
 
-           return this._callCmdFn('queryCommandState', arguments)
 
-         },
 
-         queryCommandValue: function (a) {
 
-           return this._callCmdFn('queryCommandValue', arguments)
 
-         },
 
-         hasContents: function (a) {
 
-           if (a)
 
-             for (var b, c = 0; (b = a[c++]); )
 
-               if (this.document.getElementsByTagName(b).length > 0) return !0
 
-           if (!domUtils.isEmptyBlock(this.body)) return !0
 
-           for (a = ['div'], c = 0; (b = a[c++]); )
 
-             for (
 
-               var d, e = domUtils.getElementsByTagName(this.document, b), f = 0;
 
-               (d = e[f++]);
 
-             )
 
-               if (domUtils.isCustomeNode(d)) return !0
 
-           return !1
 
-         },
 
-         reset: function () {
 
-           this.fireEvent('reset')
 
-         },
 
-         setEnabled: function () {
 
-           var a,
 
-             b = this
 
-           if ('false' == b.body.contentEditable) {
 
-             ;(b.body.contentEditable = !0), (a = b.selection.getRange())
 
-             try {
 
-               a.moveToBookmark(b.lastBk), delete b.lastBk
 
-             } catch (c) {
 
-               a.setStartAtFirst(b.body).collapse(!0)
 
-             }
 
-             a.select(!0),
 
-               b.bkqueryCommandState &&
 
-                 ((b.queryCommandState = b.bkqueryCommandState),
 
-                 delete b.bkqueryCommandState),
 
-               b.bkqueryCommandValue &&
 
-                 ((b.queryCommandValue = b.bkqueryCommandValue),
 
-                 delete b.bkqueryCommandValue),
 
-               b.fireEvent('selectionchange')
 
-           }
 
-         },
 
-         enable: function () {
 
-           return this.setEnabled()
 
-         },
 
-         setDisabled: function (a) {
 
-           var b = this
 
-           ;(a = a ? (utils.isArray(a) ? a : [a]) : []),
 
-             'true' == b.body.contentEditable &&
 
-               (b.lastBk ||
 
-                 (b.lastBk = b.selection.getRange().createBookmark(!0)),
 
-               (b.body.contentEditable = !1),
 
-               (b.bkqueryCommandState = b.queryCommandState),
 
-               (b.bkqueryCommandValue = b.queryCommandValue),
 
-               (b.queryCommandState = function (c) {
 
-                 return utils.indexOf(a, c) != -1
 
-                   ? b.bkqueryCommandState.apply(b, arguments)
 
-                   : -1
 
-               }),
 
-               (b.queryCommandValue = function (c) {
 
-                 return utils.indexOf(a, c) != -1
 
-                   ? b.bkqueryCommandValue.apply(b, arguments)
 
-                   : null
 
-               }),
 
-               b.fireEvent('selectionchange'))
 
-         },
 
-         disable: function (a) {
 
-           return this.setDisabled(a)
 
-         },
 
-         _setDefaultContent: (function () {
 
-           function a() {
 
-             var b = this
 
-             b.document.getElementById('initContent') &&
 
-               ((b.body.innerHTML = '<p>' + (ie ? '' : '<br/>') + '</p>'),
 
-               b.removeListener('firstBeforeExecCommand focus', a),
 
-               setTimeout(function () {
 
-                 b.focus(), b._selectionChange()
 
-               }, 0))
 
-           }
 
-           return function (b) {
 
-             var c = this
 
-             ;(c.body.innerHTML = '<p id="initContent">' + b + '</p>'),
 
-               c.addListener('firstBeforeExecCommand focus', a)
 
-           }
 
-         })(),
 
-         setShow: function () {
 
-           var a = this,
 
-             b = a.selection.getRange()
 
-           if ('none' == a.container.style.display) {
 
-             try {
 
-               b.moveToBookmark(a.lastBk), delete a.lastBk
 
-             } catch (c) {
 
-               b.setStartAtFirst(a.body).collapse(!0)
 
-             }
 
-             setTimeout(function () {
 
-               b.select(!0)
 
-             }, 100),
 
-               (a.container.style.display = '')
 
-           }
 
-         },
 
-         show: function () {
 
-           return this.setShow()
 
-         },
 
-         setHide: function () {
 
-           var a = this
 
-           a.lastBk || (a.lastBk = a.selection.getRange().createBookmark(!0)),
 
-             (a.container.style.display = 'none')
 
-         },
 
-         hide: function () {
 
-           return this.setHide()
 
-         },
 
-         getLang: function (a) {
 
-           if (!this.options) return ''
 
-           var b = UE.I18N[this.options.lang]
 
-           if (!b) throw Error('not import language file')
 
-           a = (a || '').split('.')
 
-           for (var c, d = 0; (c = a[d++]) && ((b = b[c]), b); );
 
-           return b
 
-         },
 
-         getContentLength: function (a, b) {
 
-           var c = this.getContent(!1, !1, !0).length
 
-           if (a) {
 
-             ;(b = (b || []).concat(['hr', 'img', 'iframe'])),
 
-               (c = this.getContentTxt().replace(/[\t\r\n]+/g, '').length)
 
-             for (var d, e = 0; (d = b[e++]); )
 
-               c += this.document.getElementsByTagName(d).length
 
-           }
 
-           return c
 
-         },
 
-         addInputRule: function (a) {
 
-           this.inputRules.push(a)
 
-         },
 
-         filterInputRule: function (a) {
 
-           for (var b, c = 0; (b = this.inputRules[c++]); ) b.call(this, a)
 
-         },
 
-         addOutputRule: function (a) {
 
-           this.outputRules.push(a)
 
-         },
 
-         filterOutputRule: function (a) {
 
-           for (var b, c = 0; (b = this.outputRules[c++]); ) b.call(this, a)
 
-         },
 
-         getActionUrl: function (a) {
 
-           var b = this.getOpt(a) || a,
 
-             c = this.getOpt('imageUrl'),
 
-             d = this.getOpt('serverUrl')
 
-           return (
 
-             !d &&
 
-               c &&
 
-               (d = c.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2')),
 
-             d
 
-               ? ((d =
 
-                   d +
 
-                   (d.indexOf('?') == -1 ? '?' : '&') +
 
-                   'action=' +
 
-                   (b || '')),
 
-                 utils.formatUrl(d))
 
-               : ''
 
-           )
 
-         }
 
-       }),
 
-         utils.inherits(f, EventBase)
 
-     })(),
 
-     (UE.Editor.defaultOptions = function (a) {
 
-       var b = a.options.UEDITOR_HOME_URL
 
-       return {
 
-         isShow: !0,
 
-         initialContent: '',
 
-         initialStyle: '',
 
-         autoClearinitialContent: !1,
 
-         iframeCssUrl: b + 'themes/iframe.css',
 
-         textarea: 'editorValue',
 
-         focus: !1,
 
-         focusInEnd: !0,
 
-         autoClearEmptyNode: !0,
 
-         fullscreen: !1,
 
-         readonly: !1,
 
-         zIndex: 999,
 
-         imagePopup: !0,
 
-         enterTag: 'p',
 
-         customDomain: !1,
 
-         lang: 'zh-cn',
 
-         langPath: b + 'lang/',
 
-         theme: 'default',
 
-         themePath: b + 'themes/',
 
-         allHtmlEnabled: !1,
 
-         scaleEnabled: !1,
 
-         tableNativeEditInFF: !1,
 
-         autoSyncData: !0,
 
-         fileNameFormat: '{time}{rand:6}'
 
-       }
 
-     }),
 
-     (function () {
 
-       ;(UE.Editor.prototype.loadServerConfig = function () {
 
-         function showErrorMsg(a) {
 
-           console && console.error(a)
 
-         }
 
-         var me = this
 
-         setTimeout(function () {
 
-           try {
 
-             me.options.imageUrl &&
 
-               me.setOpt(
 
-                 'serverUrl',
 
-                 me.options.imageUrl.replace(
 
-                   /^(.*[\/]).+([\.].+)$/,
 
-                   '$1controller$2'
 
-                 )
 
-               )
 
-             var configUrl = me.getActionUrl('config'),
 
-               isJsonp = utils.isCrossDomainUrl(configUrl)
 
-             ;(me._serverConfigLoaded = !1),
 
-               configUrl &&
 
-                 UE.ajax.request(configUrl, {
 
-                   method: 'GET',
 
-                   dataType: isJsonp ? 'jsonp' : '',
 
-                   onsuccess: function (r) {
 
-                     try {
 
-                       var config = isJsonp
 
-                         ? r
 
-                         : eval('(' + r.responseText + ')')
 
-                       utils.extend(me.options, config),
 
-                         me.fireEvent('serverConfigLoaded'),
 
-                         (me._serverConfigLoaded = !0)
 
-                     } catch (e) {
 
-                       showErrorMsg(me.getLang('loadconfigFormatError'))
 
-                     }
 
-                   },
 
-                   onerror: function () {
 
-                     showErrorMsg(me.getLang('loadconfigHttpError'))
 
-                   }
 
-                 })
 
-           } catch (e) {
 
-             showErrorMsg(me.getLang('loadconfigError'))
 
-           }
 
-         })
 
-       }),
 
-         (UE.Editor.prototype.isServerConfigLoaded = function () {
 
-           var a = this
 
-           return a._serverConfigLoaded || !1
 
-         }),
 
-         (UE.Editor.prototype.afterConfigReady = function (a) {
 
-           if (a && utils.isFunction(a)) {
 
-             var b = this,
 
-               c = function () {
 
-                 a.apply(b, arguments), b.removeListener('serverConfigLoaded', c)
 
-               }
 
-             b.isServerConfigLoaded()
 
-               ? a.call(b, 'serverConfigLoaded')
 
-               : b.addListener('serverConfigLoaded', c)
 
-           }
 
-         })
 
-     })(),
 
-     (UE.ajax = (function () {
 
-       function a(a) {
 
-         var b = []
 
-         for (var c in a)
 
-           if (
 
-             'method' != c &&
 
-             'timeout' != c &&
 
-             'async' != c &&
 
-             'dataType' != c &&
 
-             'callback' != c &&
 
-             void 0 != a[c] &&
 
-             null != a[c]
 
-           )
 
-             if (
 
-               'function' != (typeof a[c]).toLowerCase() &&
 
-               'object' != (typeof a[c]).toLowerCase()
 
-             )
 
-               b.push(encodeURIComponent(c) + '=' + encodeURIComponent(a[c]))
 
-             else if (utils.isArray(a[c]))
 
-               for (var d = 0; d < a[c].length; d++)
 
-                 b.push(
 
-                   encodeURIComponent(c) + '[]=' + encodeURIComponent(a[c][d])
 
-                 )
 
-         return b.join('&')
 
-       }
 
-       function b(b, c) {
 
-         var d = f(),
 
-           e = !1,
 
-           g = {
 
-             method: 'POST',
 
-             timeout: 5e3,
 
-             async: !0,
 
-             data: {},
 
-             onsuccess: function () {},
 
-             onerror: function () {}
 
-           }
 
-         if (('object' == typeof b && ((c = b), (b = c.url)), d && b)) {
 
-           var h = c ? utils.extend(g, c) : g,
 
-             i = a(h)
 
-           utils.isEmptyObject(h.data) || (i += (i ? '&' : '') + a(h.data))
 
-           var j = setTimeout(function () {
 
-               4 != d.readyState && ((e = !0), d.abort(), clearTimeout(j))
 
-             }, h.timeout),
 
-             k = h.method.toUpperCase(),
 
-             l =
 
-               b +
 
-               (b.indexOf('?') == -1 ? '?' : '&') +
 
-               ('POST' == k ? '' : i + '&noCache=' + +new Date())
 
-           d.open(k, l, h.async),
 
-             (d.onreadystatechange = function () {
 
-               4 == d.readyState &&
 
-                 (e || 200 != d.status ? h.onerror(d) : h.onsuccess(d))
 
-             }),
 
-             'POST' == k
 
-               ? (d.setRequestHeader(
 
-                   'Content-Type',
 
-                   'application/x-www-form-urlencoded'
 
-                 ),
 
-                 d.send(i))
 
-               : d.send(null)
 
-         }
 
-       }
 
-       function c(b, c) {
 
-         function d(a, b, c) {
 
-           a.setAttribute('type', 'text/javascript'),
 
-             a.setAttribute('defer', 'defer'),
 
-             c && a.setAttribute('charset', c),
 
-             a.setAttribute('src', b),
 
-             document.getElementsByTagName('head')[0].appendChild(a)
 
-         }
 
-         function e(a) {
 
-           return function () {
 
-             try {
 
-               if (a) k.onerror && k.onerror()
 
-               else
 
-                 try {
 
-                   clearTimeout(g), i.apply(window, arguments)
 
-                 } catch (b) {}
 
-             } catch (c) {
 
-               k.onerror && k.onerror.call(window, c)
 
-             } finally {
 
-               k.oncomplete && k.oncomplete.apply(window, arguments),
 
-                 j.parentNode && j.parentNode.removeChild(j),
 
-                 (window[f] = null)
 
-               try {
 
-                 delete window[f]
 
-               } catch (b) {}
 
-             }
 
-           }
 
-         }
 
-         var f,
 
-           g,
 
-           h,
 
-           i = c.onsuccess || function () {},
 
-           j = document.createElement('SCRIPT'),
 
-           k = c || {},
 
-           l = k.charset,
 
-           m = k.jsonp || 'callback',
 
-           n = k.timeOut || 0,
 
-           o = new RegExp('(\\?|&)' + m + '=([^&]*)')
 
-         utils.isFunction(i)
 
-           ? ((f =
 
-               'bd__editor__' +
 
-               Math.floor(2147483648 * Math.random()).toString(36)),
 
-             (window[f] = e(0)))
 
-           : utils.isString(i)
 
-           ? (f = i)
 
-           : (h = o.exec(b)) && (f = h[2]),
 
-           (b = b.replace(o, '$1' + m + '=' + f)),
 
-           b.search(o) < 0 &&
 
-             (b += (b.indexOf('?') < 0 ? '?' : '&') + m + '=' + f)
 
-         var p = a(c)
 
-         utils.isEmptyObject(c.data) || (p += (p ? '&' : '') + a(c.data)),
 
-           p && (b = b.replace(/\?/, '?' + p + '&')),
 
-           (j.onerror = e(1)),
 
-           n && (g = setTimeout(e(1), n)),
 
-           d(j, b, l)
 
-       }
 
-       var d = 'XMLHttpRequest()'
 
-       try {
 
-         new ActiveXObject('Msxml2.XMLHTTP'),
 
-           (d = "ActiveXObject('Msxml2.XMLHTTP')")
 
-       } catch (e) {
 
-         try {
 
-           new ActiveXObject('Microsoft.XMLHTTP'),
 
-             (d = "ActiveXObject('Microsoft.XMLHTTP')")
 
-         } catch (e) {}
 
-       }
 
-       var f = new Function('return new ' + d)
 
-       return {
 
-         request: function (a, d) {
 
-           d && 'jsonp' == d.dataType ? c(a, d) : b(a, d)
 
-         },
 
-         getJSONP: function (a, b, d) {
 
-           var e = { data: b, oncomplete: d }
 
-           c(a, e)
 
-         }
 
-       }
 
-     })())
 
-   var filterWord = (UE.filterWord = (function () {
 
-     function a(a) {
 
-       return /(class="?Mso|style="[^"]*\bmso\-|w:WordDocument|<(v|o):|lang=)/gi.test(
 
-         a
 
-       )
 
-     }
 
-     function b(a) {
 
-       return (a = a.replace(/[\d.]+\w+/g, function (a) {
 
-         return utils.transUnitToPx(a)
 
-       }))
 
-     }
 
-     function c(a) {
 
-       return a
 
-         .replace(/[\t\r\n]+/g, ' ')
 
-         .replace(/<!--[\s\S]*?-->/gi, '')
 
-         .replace(/<v:shape [^>]*>[\s\S]*?.<\/v:shape>/gi, function (a) {
 
-           if (browser.opera) return ''
 
-           try {
 
-             if (/Bitmap/i.test(a)) return ''
 
-             var c = a.match(/width:([ \d.]*p[tx])/i)[1],
 
-               d = a.match(/height:([ \d.]*p[tx])/i)[1],
 
-               e = a.match(/src=\s*"([^"]*)"/i)[1]
 
-             return (
 
-               '<img width="' +
 
-               b(c) +
 
-               '" height="' +
 
-               b(d) +
 
-               '" src="' +
 
-               e +
 
-               '" />'
 
-             )
 
-           } catch (f) {
 
-             return ''
 
-           }
 
-         })
 
-         .replace(/<\/?div[^>]*>/g, '')
 
-         .replace(/v:\w+=(["']?)[^'"]+\1/g, '')
 
-         .replace(
 
-           /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi,
 
-           ''
 
-         )
 
-         .replace(
 
-           /<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,
 
-           '<p><strong>$1</strong></p>'
 
-         )
 
-         .replace(
 
-           /\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/gi,
 
-           function (a, b, c, d) {
 
-             return 'class' == b && 'MsoListParagraph' == d ? a : ''
 
-           }
 
-         )
 
-         .replace(/<(font|span)[^>]*>(\s*)<\/\1>/gi, function (a, b, c) {
 
-           return c.replace(/[\t\r\n ]+/g, ' ')
 
-         })
 
-         .replace(
 
-           /(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi,
 
-           function (a, c, d, e) {
 
-             for (
 
-               var f,
 
-                 g = [],
 
-                 h = e
 
-                   .replace(/^\s+|\s+$/, '')
 
-                   .replace(/'/g, "'")
 
-                   .replace(/"/gi, "'")
 
-                   .replace(/[\d.]+(cm|pt)/g, function (a) {
 
-                     return utils.transUnitToPx(a)
 
-                   })
 
-                   .split(/;\s*/g),
 
-                 i = 0;
 
-               (f = h[i]);
 
-               i++
 
-             ) {
 
-               var j,
 
-                 k,
 
-                 l = f.split(':')
 
-               if (2 == l.length) {
 
-                 if (
 
-                   ((j = l[0].toLowerCase()),
 
-                   (k = l[1].toLowerCase()),
 
-                   (/^(background)\w*/.test(j) &&
 
-                     0 == k.replace(/(initial|\s)/g, '').length) ||
 
-                     (/^(margin)\w*/.test(j) && /^0\w+$/.test(k)))
 
-                 )
 
-                   continue
 
-                 switch (j) {
 
-                   case 'mso-padding-alt':
 
-                   case 'mso-padding-top-alt':
 
-                   case 'mso-padding-right-alt':
 
-                   case 'mso-padding-bottom-alt':
 
-                   case 'mso-padding-left-alt':
 
-                   case 'mso-margin-alt':
 
-                   case 'mso-margin-top-alt':
 
-                   case 'mso-margin-right-alt':
 
-                   case 'mso-margin-bottom-alt':
 
-                   case 'mso-margin-left-alt':
 
-                   case 'mso-height':
 
-                   case 'mso-width':
 
-                   case 'mso-vertical-align-alt':
 
-                     ;/<table/.test(c) ||
 
-                       (g[i] = j.replace(/^mso-|-alt$/g, '') + ':' + b(k))
 
-                     continue
 
-                   case 'horiz-align':
 
-                     g[i] = 'text-align:' + k
 
-                     continue
 
-                   case 'vert-align':
 
-                     g[i] = 'vertical-align:' + k
 
-                     continue
 
-                   case 'font-color':
 
-                   case 'mso-foreground':
 
-                     g[i] = 'color:' + k
 
-                     continue
 
-                   case 'mso-background':
 
-                   case 'mso-highlight':
 
-                     g[i] = 'background:' + k
 
-                     continue
 
-                   case 'mso-default-height':
 
-                     g[i] = 'min-height:' + b(k)
 
-                     continue
 
-                   case 'mso-default-width':
 
-                     g[i] = 'min-width:' + b(k)
 
-                     continue
 
-                   case 'mso-padding-between-alt':
 
-                     g[i] = 'border-collapse:separate;border-spacing:' + b(k)
 
-                     continue
 
-                   case 'text-line-through':
 
-                     ;('single' != k && 'double' != k) ||
 
-                       (g[i] = 'text-decoration:line-through')
 
-                     continue
 
-                   case 'mso-zero-height':
 
-                     'yes' == k && (g[i] = 'display:none')
 
-                     continue
 
-                   case 'margin':
 
-                     if (!/[1-9]/.test(k)) continue
 
-                 }
 
-                 if (
 
-                   /^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?:decor|trans)|top-bar|version|vnd|word-break)/.test(
 
-                     j
 
-                   ) ||
 
-                   (/text\-indent|padding|margin/.test(j) && /\-[\d.]+/.test(k))
 
-                 )
 
-                   continue
 
-                 g[i] = j + ':' + l[1]
 
-               }
 
-             }
 
-             return (
 
-               c +
 
-               (g.length
 
-                 ? ' style="' + g.join(';').replace(/;{2,}/g, ';') + '"'
 
-                 : '')
 
-             )
 
-           }
 
-         )
 
-     }
 
-     return function (b) {
 
-       return a(b) ? c(b) : b
 
-     }
 
-   })())
 
-   !(function () {
 
-     function a(a, b, c) {
 
-       return a.push(n), b + (c ? 1 : -1)
 
-     }
 
-     function b(a, b) {
 
-       for (var c = 0; c < b; c++) a.push(m)
 
-     }
 
-     function c(g, h, i, j) {
 
-       switch (g.type) {
 
-         case 'root':
 
-           for (var k, l = 0; (k = g.children[l++]); )
 
-             i &&
 
-               'element' == k.type &&
 
-               !dtd.$inlineWithA[k.tagName] &&
 
-               l > 1 &&
 
-               (a(h, j, !0), b(h, j)),
 
-               c(k, h, i, j)
 
-           break
 
-         case 'text':
 
-           d(g, h)
 
-           break
 
-         case 'element':
 
-           e(g, h, i, j)
 
-           break
 
-         case 'comment':
 
-           f(g, h, i)
 
-       }
 
-       return h
 
-     }
 
-     function d(a, b) {
 
-       'pre' == a.parentNode.tagName
 
-         ? b.push(a.data)
 
-         : b.push(
 
-             l[a.parentNode.tagName]
 
-               ? utils.html(a.data)
 
-               : a.data.replace(/[ ]{2}/g, '  ')
 
-           )
 
-     }
 
-     function e(d, e, f, g) {
 
-       var h = ''
 
-       if (d.attrs) {
 
-         h = []
 
-         var i = d.attrs
 
-         for (var j in i)
 
-           h.push(
 
-             j +
 
-               (void 0 !== i[j]
 
-                 ? '="' +
 
-                   (k[j]
 
-                     ? utils.html(i[j]).replace(/["]/g, function (a) {
 
-                         return '"'
 
-                       })
 
-                     : utils.unhtml(i[j])) +
 
-                   '"'
 
-                 : '')
 
-           )
 
-         h = h.join(' ')
 
-       }
 
-       if (
 
-         (e.push(
 
-           '<' +
 
-             d.tagName +
 
-             (h ? ' ' + h : '') +
 
-             (dtd.$empty[d.tagName] ? '/' : '') +
 
-             '>'
 
-         ),
 
-         f &&
 
-           !dtd.$inlineWithA[d.tagName] &&
 
-           'pre' != d.tagName &&
 
-           d.children &&
 
-           d.children.length &&
 
-           ((g = a(e, g, !0)), b(e, g)),
 
-         d.children && d.children.length)
 
-       )
 
-         for (var l, m = 0; (l = d.children[m++]); )
 
-           f &&
 
-             'element' == l.type &&
 
-             !dtd.$inlineWithA[l.tagName] &&
 
-             m > 1 &&
 
-             (a(e, g), b(e, g)),
 
-             c(l, e, f, g)
 
-       dtd.$empty[d.tagName] ||
 
-         (f &&
 
-           !dtd.$inlineWithA[d.tagName] &&
 
-           'pre' != d.tagName &&
 
-           d.children &&
 
-           d.children.length &&
 
-           ((g = a(e, g)), b(e, g)),
 
-         e.push('</' + d.tagName + '>'))
 
-     }
 
-     function f(a, b) {
 
-       b.push('<!--' + a.data + '-->')
 
-     }
 
-     function g(a, b) {
 
-       var c
 
-       if ('element' == a.type && a.getAttr('id') == b) return a
 
-       if (a.children && a.children.length)
 
-         for (var d, e = 0; (d = a.children[e++]); ) if ((c = g(d, b))) return c
 
-     }
 
-     function h(a, b, c) {
 
-       if (
 
-         ('element' == a.type && a.tagName == b && c.push(a),
 
-         a.children && a.children.length)
 
-       )
 
-         for (var d, e = 0; (d = a.children[e++]); ) h(d, b, c)
 
-     }
 
-     function i(a, b) {
 
-       if (a.children && a.children.length)
 
-         for (var c, d = 0; (c = a.children[d]); )
 
-           i(c, b),
 
-             c.parentNode &&
 
-               (c.children && c.children.length && b(c), c.parentNode && d++)
 
-       else b(a)
 
-     }
 
-     var j = (UE.uNode = function (a) {
 
-         ;(this.type = a.type),
 
-           (this.data = a.data),
 
-           (this.tagName = a.tagName),
 
-           (this.parentNode = a.parentNode),
 
-           (this.attrs = a.attrs || {}),
 
-           (this.children = a.children)
 
-       }),
 
-       k = { href: 1, src: 1, _src: 1, _href: 1, cdata_data: 1 },
 
-       l = { style: 1, script: 1 },
 
-       m = '    ',
 
-       n = '\n'
 
-     ;(j.createElement = function (a) {
 
-       return /[<>]/.test(a)
 
-         ? UE.htmlparser(a).children[0]
 
-         : new j({ type: 'element', children: [], tagName: a })
 
-     }),
 
-       (j.createText = function (a, b) {
 
-         return new UE.uNode({
 
-           type: 'text',
 
-           data: b ? a : utils.unhtml(a || '')
 
-         })
 
-       }),
 
-       (j.prototype = {
 
-         toHtml: function (a) {
 
-           var b = []
 
-           return c(this, b, a, 0), b.join('')
 
-         },
 
-         innerHTML: function (a) {
 
-           if ('element' != this.type || dtd.$empty[this.tagName]) return this
 
-           if (utils.isString(a)) {
 
-             if (this.children)
 
-               for (var b, c = 0; (b = this.children[c++]); ) b.parentNode = null
 
-             this.children = []
 
-             for (var b, d = UE.htmlparser(a), c = 0; (b = d.children[c++]); )
 
-               this.children.push(b), (b.parentNode = this)
 
-             return this
 
-           }
 
-           var d = new UE.uNode({ type: 'root', children: this.children })
 
-           return d.toHtml()
 
-         },
 
-         innerText: function (a, b) {
 
-           if ('element' != this.type || dtd.$empty[this.tagName]) return this
 
-           if (a) {
 
-             if (this.children)
 
-               for (var c, d = 0; (c = this.children[d++]); ) c.parentNode = null
 
-             return (
 
-               (this.children = []), this.appendChild(j.createText(a, b)), this
 
-             )
 
-           }
 
-           return this.toHtml().replace(/<[^>]+>/g, '')
 
-         },
 
-         getData: function () {
 
-           return 'element' == this.type ? '' : this.data
 
-         },
 
-         firstChild: function () {
 
-           return this.children ? this.children[0] : null
 
-         },
 
-         lastChild: function () {
 
-           return this.children ? this.children[this.children.length - 1] : null
 
-         },
 
-         previousSibling: function () {
 
-           for (var a, b = this.parentNode, c = 0; (a = b.children[c]); c++)
 
-             if (a === this) return 0 == c ? null : b.children[c - 1]
 
-         },
 
-         nextSibling: function () {
 
-           for (var a, b = this.parentNode, c = 0; (a = b.children[c++]); )
 
-             if (a === this) return b.children[c]
 
-         },
 
-         replaceChild: function (a, b) {
 
-           if (this.children) {
 
-             a.parentNode && a.parentNode.removeChild(a)
 
-             for (var c, d = 0; (c = this.children[d]); d++)
 
-               if (c === b)
 
-                 return (
 
-                   this.children.splice(d, 1, a),
 
-                   (b.parentNode = null),
 
-                   (a.parentNode = this),
 
-                   a
 
-                 )
 
-           }
 
-         },
 
-         appendChild: function (a) {
 
-           if (
 
-             'root' == this.type ||
 
-             ('element' == this.type && !dtd.$empty[this.tagName])
 
-           ) {
 
-             this.children || (this.children = []),
 
-               a.parentNode && a.parentNode.removeChild(a)
 
-             for (var b, c = 0; (b = this.children[c]); c++)
 
-               if (b === a) {
 
-                 this.children.splice(c, 1)
 
-                 break
 
-               }
 
-             return this.children.push(a), (a.parentNode = this), a
 
-           }
 
-         },
 
-         insertBefore: function (a, b) {
 
-           if (this.children) {
 
-             a.parentNode && a.parentNode.removeChild(a)
 
-             for (var c, d = 0; (c = this.children[d]); d++)
 
-               if (c === b)
 
-                 return this.children.splice(d, 0, a), (a.parentNode = this), a
 
-           }
 
-         },
 
-         insertAfter: function (a, b) {
 
-           if (this.children) {
 
-             a.parentNode && a.parentNode.removeChild(a)
 
-             for (var c, d = 0; (c = this.children[d]); d++)
 
-               if (c === b)
 
-                 return (
 
-                   this.children.splice(d + 1, 0, a), (a.parentNode = this), a
 
-                 )
 
-           }
 
-         },
 
-         removeChild: function (a, b) {
 
-           if (this.children)
 
-             for (var c, d = 0; (c = this.children[d]); d++)
 
-               if (c === a) {
 
-                 if (
 
-                   (this.children.splice(d, 1),
 
-                   (c.parentNode = null),
 
-                   b && c.children && c.children.length)
 
-                 )
 
-                   for (var e, f = 0; (e = c.children[f]); f++)
 
-                     this.children.splice(d + f, 0, e), (e.parentNode = this)
 
-                 return c
 
-               }
 
-         },
 
-         getAttr: function (a) {
 
-           return this.attrs && this.attrs[a.toLowerCase()]
 
-         },
 
-         setAttr: function (a, b) {
 
-           if (!a) return void delete this.attrs
 
-           if ((this.attrs || (this.attrs = {}), utils.isObject(a)))
 
-             for (var c in a)
 
-               a[c] ? (this.attrs[c.toLowerCase()] = a[c]) : delete this.attrs[c]
 
-           else b ? (this.attrs[a.toLowerCase()] = b) : delete this.attrs[a]
 
-         },
 
-         getIndex: function () {
 
-           for (var a, b = this.parentNode, c = 0; (a = b.children[c]); c++)
 
-             if (a === this) return c
 
-           return -1
 
-         },
 
-         getNodeById: function (a) {
 
-           var b
 
-           if (this.children && this.children.length)
 
-             for (var c, d = 0; (c = this.children[d++]); )
 
-               if ((b = g(c, a))) return b
 
-         },
 
-         getNodesByTagName: function (a) {
 
-           a = utils
 
-             .trim(a)
 
-             .replace(/[ ]{2,}/g, ' ')
 
-             .split(' ')
 
-           var b = [],
 
-             c = this
 
-           return (
 
-             utils.each(a, function (a) {
 
-               if (c.children && c.children.length)
 
-                 for (var d, e = 0; (d = c.children[e++]); ) h(d, a, b)
 
-             }),
 
-             b
 
-           )
 
-         },
 
-         getStyle: function (a) {
 
-           var b = this.getAttr('style')
 
-           if (!b) return ''
 
-           var c = new RegExp('(^|;)\\s*' + a + ':([^;]+)', 'i'),
 
-             d = b.match(c)
 
-           return d && d[0] ? d[2] : ''
 
-         },
 
-         setStyle: function (a, b) {
 
-           function c(a, b) {
 
-             var c = new RegExp('(^|;)\\s*' + a + ':([^;]+;?)', 'gi')
 
-             ;(d = d.replace(c, '$1')),
 
-               b && (d = a + ':' + utils.unhtml(b) + ';' + d)
 
-           }
 
-           var d = this.getAttr('style')
 
-           if ((d || (d = ''), utils.isObject(a))) for (var e in a) c(e, a[e])
 
-           else c(a, b)
 
-           this.setAttr('style', utils.trim(d))
 
-         },
 
-         traversal: function (a) {
 
-           return this.children && this.children.length && i(this, a), this
 
-         }
 
-       })
 
-   })()
 
-   var htmlparser = (UE.htmlparser = function (a, b) {
 
-       function c(a, b) {
 
-         if (m[a.tagName]) {
 
-           var c = k.createElement(m[a.tagName])
 
-           a.appendChild(c), c.appendChild(k.createText(b)), (a = c)
 
-         } else a.appendChild(k.createText(b))
 
-       }
 
-       function d(a, b, c) {
 
-         var e
 
-         if ((e = l[b])) {
 
-           for (var f, h = a; 'root' != h.type; ) {
 
-             if (
 
-               utils.isArray(e)
 
-                 ? utils.indexOf(e, h.tagName) != -1
 
-                 : e == h.tagName
 
-             ) {
 
-               ;(a = h), (f = !0)
 
-               break
 
-             }
 
-             h = h.parentNode
 
-           }
 
-           f || (a = d(a, utils.isArray(e) ? e[0] : e))
 
-         }
 
-         var i = new k({
 
-           parentNode: a,
 
-           type: 'element',
 
-           tagName: b.toLowerCase(),
 
-           children: dtd.$empty[b] ? null : []
 
-         })
 
-         if (c) {
 
-           for (var m, n = {}; (m = g.exec(c)); )
 
-             n[m[1].toLowerCase()] = j[m[1].toLowerCase()]
 
-               ? m[2] || m[3] || m[4]
 
-               : utils.unhtml(m[2] || m[3] || m[4])
 
-           i.attrs = n
 
-         }
 
-         return a.children.push(i), dtd.$empty[b] ? a : i
 
-       }
 
-       function e(a, b) {
 
-         a.children.push(new k({ type: 'comment', data: b, parentNode: a }))
 
-       }
 
-       var f =
 
-           /<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g,
 
-         g =
 
-           /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,
 
-         h = {
 
-           b: 1,
 
-           code: 1,
 
-           i: 1,
 
-           u: 1,
 
-           strike: 1,
 
-           s: 1,
 
-           tt: 1,
 
-           strong: 1,
 
-           q: 1,
 
-           samp: 1,
 
-           em: 1,
 
-           span: 1,
 
-           sub: 1,
 
-           img: 1,
 
-           sup: 1,
 
-           font: 1,
 
-           big: 1,
 
-           small: 1,
 
-           iframe: 1,
 
-           a: 1,
 
-           br: 1,
 
-           pre: 1
 
-         }
 
-       ;(a = a.replace(new RegExp(domUtils.fillChar, 'g'), '')),
 
-         b ||
 
-           (a = a.replace(
 
-             new RegExp(
 
-               '[\\r\\t\\n' +
 
-                 (b ? '' : ' ') +
 
-                 ']*</?(\\w+)\\s*(?:[^>]*)>[\\r\\t\\n' +
 
-                 (b ? '' : ' ') +
 
-                 ']*',
 
-               'g'
 
-             ),
 
-             function (a, c) {
 
-               return c && h[c.toLowerCase()]
 
-                 ? a.replace(/(^[\n\r]+)|([\n\r]+$)/g, '')
 
-                 : a
 
-                     .replace(new RegExp('^[\\r\\n' + (b ? '' : ' ') + ']+'), '')
 
-                     .replace(new RegExp('[\\r\\n' + (b ? '' : ' ') + ']+$'), '')
 
-             }
 
-           ))
 
-       for (
 
-         var i,
 
-           j = { href: 1, src: 1 },
 
-           k = UE.uNode,
 
-           l = {
 
-             td: 'tr',
 
-             tr: ['tbody', 'thead', 'tfoot'],
 
-             tbody: 'table',
 
-             th: 'tr',
 
-             thead: 'table',
 
-             tfoot: 'table',
 
-             caption: 'table',
 
-             li: ['ul', 'ol'],
 
-             dt: 'dl',
 
-             dd: 'dl',
 
-             option: 'select'
 
-           },
 
-           m = { ol: 'li', ul: 'li' },
 
-           n = 0,
 
-           o = 0,
 
-           p = new k({ type: 'root', children: [] }),
 
-           q = p;
 
-         (i = f.exec(a));
 
-       ) {
 
-         n = i.index
 
-         try {
 
-           if ((n > o && c(q, a.slice(o, n)), i[3]))
 
-             dtd.$cdata[q.tagName]
 
-               ? c(q, i[0])
 
-               : (q = d(q, i[3].toLowerCase(), i[4]))
 
-           else if (i[1]) {
 
-             if ('root' != q.type)
 
-               if (dtd.$cdata[q.tagName] && !dtd.$cdata[i[1]]) c(q, i[0])
 
-               else {
 
-                 for (
 
-                   var r = q;
 
-                   'element' == q.type && q.tagName != i[1].toLowerCase();
 
-                 )
 
-                   if (((q = q.parentNode), 'root' == q.type))
 
-                     throw ((q = r), 'break')
 
-                 q = q.parentNode
 
-               }
 
-           } else i[2] && e(q, i[2])
 
-         } catch (s) {}
 
-         o = f.lastIndex
 
-       }
 
-       return o < a.length && c(q, a.slice(o)), p
 
-     }),
 
-     filterNode = (UE.filterNode = (function () {
 
-       function a(b, c) {
 
-         switch (b.type) {
 
-           case 'text':
 
-             break
 
-           case 'element':
 
-             var d
 
-             if ((d = c[b.tagName]))
 
-               if ('-' === d) b.parentNode.removeChild(b)
 
-               else if (utils.isFunction(d)) {
 
-                 var e = b.parentNode,
 
-                   f = b.getIndex()
 
-                 if ((d(b), b.parentNode)) {
 
-                   if (b.children)
 
-                     for (var g, h = 0; (g = b.children[h]); )
 
-                       a(g, c), g.parentNode && h++
 
-                 } else
 
-                   for (var g, h = f; (g = e.children[h]); )
 
-                     a(g, c), g.parentNode && h++
 
-               } else {
 
-                 var i = d.$
 
-                 if (i && b.attrs) {
 
-                   var j,
 
-                     k = {}
 
-                   for (var l in i) {
 
-                     if (
 
-                       ((j = b.getAttr(l)), 'style' == l && utils.isArray(i[l]))
 
-                     ) {
 
-                       var m = []
 
-                       utils.each(i[l], function (a) {
 
-                         var c
 
-                         ;(c = b.getStyle(a)) && m.push(a + ':' + c)
 
-                       }),
 
-                         (j = m.join(';'))
 
-                     }
 
-                     j && (k[l] = j)
 
-                   }
 
-                   b.attrs = k
 
-                 }
 
-                 if (b.children)
 
-                   for (var g, h = 0; (g = b.children[h]); )
 
-                     a(g, c), g.parentNode && h++
 
-               }
 
-             else if (dtd.$cdata[b.tagName]) b.parentNode.removeChild(b)
 
-             else {
 
-               var e = b.parentNode,
 
-                 f = b.getIndex()
 
-               b.parentNode.removeChild(b, !0)
 
-               for (var g, h = f; (g = e.children[h]); )
 
-                 a(g, c), g.parentNode && h++
 
-             }
 
-             break
 
-           case 'comment':
 
-             b.parentNode.removeChild(b)
 
-         }
 
-       }
 
-       return function (b, c) {
 
-         if (utils.isEmptyObject(c)) return b
 
-         var d
 
-         ;(d = c['-']) &&
 
-           utils.each(d.split(' '), function (a) {
 
-             c[a] = '-'
 
-           })
 
-         for (var e, f = 0; (e = b.children[f]); ) a(e, c), e.parentNode && f++
 
-         return b
 
-       }
 
-     })())
 
-   UE.plugin = (function () {
 
-     var a = {}
 
-     return {
 
-       register: function (b, c, d, e) {
 
-         d && utils.isFunction(d) && ((e = d), (d = null)),
 
-           (a[b] = { optionName: d || b, execFn: c, afterDisabled: e })
 
-       },
 
-       load: function (b) {
 
-         utils.each(a, function (a) {
 
-           var c = a.execFn.call(b)
 
-           b.options[a.optionName] !== !1
 
-             ? c &&
 
-               utils.each(c, function (a, c) {
 
-                 switch (c.toLowerCase()) {
 
-                   case 'shortcutkey':
 
-                     b.addshortcutkey(a)
 
-                     break
 
-                   case 'bindevents':
 
-                     utils.each(a, function (a, c) {
 
-                       b.addListener(c, a)
 
-                     })
 
-                     break
 
-                   case 'bindmultievents':
 
-                     utils.each(utils.isArray(a) ? a : [a], function (a) {
 
-                       var c = utils.trim(a.type).split(/\s+/)
 
-                       utils.each(c, function (c) {
 
-                         b.addListener(c, a.handler)
 
-                       })
 
-                     })
 
-                     break
 
-                   case 'commands':
 
-                     utils.each(a, function (a, c) {
 
-                       b.commands[c] = a
 
-                     })
 
-                     break
 
-                   case 'outputrule':
 
-                     b.addOutputRule(a)
 
-                     break
 
-                   case 'inputrule':
 
-                     b.addInputRule(a)
 
-                     break
 
-                   case 'defaultoptions':
 
-                     b.setOpt(a)
 
-                 }
 
-               })
 
-             : a.afterDisabled && a.afterDisabled.call(b)
 
-         }),
 
-           utils.each(UE.plugins, function (a) {
 
-             a.call(b)
 
-           })
 
-       },
 
-       run: function (b, c) {
 
-         var d = a[b]
 
-         d && d.exeFn.call(c)
 
-       }
 
-     }
 
-   })()
 
-   var keymap = (UE.keymap = {
 
-       Backspace: 8,
 
-       Tab: 9,
 
-       Enter: 13,
 
-       Shift: 16,
 
-       Control: 17,
 
-       Alt: 18,
 
-       CapsLock: 20,
 
-       Esc: 27,
 
-       Spacebar: 32,
 
-       PageUp: 33,
 
-       PageDown: 34,
 
-       End: 35,
 
-       Home: 36,
 
-       Left: 37,
 
-       Up: 38,
 
-       Right: 39,
 
-       Down: 40,
 
-       Insert: 45,
 
-       Del: 46,
 
-       NumLock: 144,
 
-       Cmd: 91,
 
-       '=': 187,
 
-       '-': 189,
 
-       b: 66,
 
-       i: 73,
 
-       z: 90,
 
-       y: 89,
 
-       v: 86,
 
-       x: 88,
 
-       s: 83,
 
-       n: 78
 
-     }),
 
-     LocalStorage = (UE.LocalStorage = (function () {
 
-       function a() {
 
-         var a = document.createElement('div')
 
-         return (
 
-           (a.style.display = 'none'),
 
-           a.addBehavior
 
-             ? (a.addBehavior('#default#userdata'),
 
-               {
 
-                 getItem: function (b) {
 
-                   var d = null
 
-                   try {
 
-                     document.body.appendChild(a),
 
-                       a.load(c),
 
-                       (d = a.getAttribute(b)),
 
-                       document.body.removeChild(a)
 
-                   } catch (e) {}
 
-                   return d
 
-                 },
 
-                 setItem: function (b, d) {
 
-                   document.body.appendChild(a),
 
-                     a.setAttribute(b, d),
 
-                     a.save(c),
 
-                     document.body.removeChild(a)
 
-                 },
 
-                 removeItem: function (b) {
 
-                   document.body.appendChild(a),
 
-                     a.removeAttribute(b),
 
-                     a.save(c),
 
-                     document.body.removeChild(a)
 
-                 }
 
-               })
 
-             : null
 
-         )
 
-       }
 
-       var b = window.localStorage || a() || null,
 
-         c = 'localStorage'
 
-       return {
 
-         saveLocalData: function (a, c) {
 
-           return !(!b || !c) && (b.setItem(a, c), !0)
 
-         },
 
-         getLocalData: function (a) {
 
-           return b ? b.getItem(a) : null
 
-         },
 
-         removeItem: function (a) {
 
-           b && b.removeItem(a)
 
-         }
 
-       }
 
-     })())
 
-   !(function () {
 
-     var a = 'ueditor_preference'
 
-     ;(UE.Editor.prototype.setPreferences = function (b, c) {
 
-       var d = {}
 
-       utils.isString(b) ? (d[b] = c) : (d = b)
 
-       var e = LocalStorage.getLocalData(a)
 
-       e && (e = utils.str2json(e)) ? utils.extend(e, d) : (e = d),
 
-         e && LocalStorage.saveLocalData(a, utils.json2str(e))
 
-     }),
 
-       (UE.Editor.prototype.getPreferences = function (b) {
 
-         var c = LocalStorage.getLocalData(a)
 
-         return c && (c = utils.str2json(c)) ? (b ? c[b] : c) : null
 
-       }),
 
-       (UE.Editor.prototype.removePreferences = function (b) {
 
-         var c = LocalStorage.getLocalData(a)
 
-         c && (c = utils.str2json(c)) && ((c[b] = void 0), delete c[b]),
 
-           c && LocalStorage.saveLocalData(a, utils.json2str(c))
 
-       })
 
-   })(),
 
-     (UE.plugins.defaultfilter = function () {
 
-       var a = this
 
-       a.setOpt({ allowDivTransToP: !0, disabledTableInTable: !0 }),
 
-         a.addInputRule(function (b) {
 
-           function c(a) {
 
-             for (; a && 'element' == a.type; ) {
 
-               if ('td' == a.tagName) return !0
 
-               a = a.parentNode
 
-             }
 
-             return !1
 
-           }
 
-           var d,
 
-             e = this.options.allowDivTransToP
 
-           b.traversal(function (b) {
 
-             if ('element' == b.type) {
 
-               if (
 
-                 !dtd.$cdata[b.tagName] &&
 
-                 a.options.autoClearEmptyNode &&
 
-                 dtd.$inline[b.tagName] &&
 
-                 !dtd.$empty[b.tagName] &&
 
-                 (!b.attrs || utils.isEmptyObject(b.attrs))
 
-               )
 
-                 return void (b.firstChild()
 
-                   ? 'span' != b.tagName ||
 
-                     (b.attrs && !utils.isEmptyObject(b.attrs)) ||
 
-                     b.parentNode.removeChild(b, !0)
 
-                   : b.parentNode.removeChild(b))
 
-               switch (b.tagName) {
 
-                 case 'style':
 
-                 case 'script':
 
-                   b.setAttr({
 
-                     cdata_tag: b.tagName,
 
-                     cdata_data: b.innerHTML() || '',
 
-                     _ue_custom_node_: 'true'
 
-                   }),
 
-                     (b.tagName = 'div'),
 
-                     b.innerHTML('')
 
-                   break
 
-                 case 'a':
 
-                   ;(d = b.getAttr('href')) && b.setAttr('_href', d)
 
-                   break
 
-                 case 'img':
 
-                   if ((d = b.getAttr('src')) && /^data:/.test(d)) {
 
-                     b.parentNode.removeChild(b)
 
-                     break
 
-                   }
 
-                   b.setAttr('_src', b.getAttr('src'))
 
-                   break
 
-                 case 'span':
 
-                   browser.webkit &&
 
-                     (d = b.getStyle('white-space')) &&
 
-                     /nowrap|normal/.test(d) &&
 
-                     (b.setStyle('white-space', ''),
 
-                     a.options.autoClearEmptyNode &&
 
-                       utils.isEmptyObject(b.attrs) &&
 
-                       b.parentNode.removeChild(b, !0)),
 
-                     (d = b.getAttr('id')),
 
-                     d &&
 
-                       /^_baidu_bookmark_/i.test(d) &&
 
-                       b.parentNode.removeChild(b)
 
-                   break
 
-                 case 'p':
 
-                   ;(d = b.getAttr('align')) &&
 
-                     (b.setAttr('align'), b.setStyle('text-align', d)),
 
-                     utils.each(b.children, function (a) {
 
-                       if ('element' == a.type && 'p' == a.tagName) {
 
-                         var c = a.nextSibling()
 
-                         b.parentNode.insertAfter(a, b)
 
-                         for (var d = a; c; ) {
 
-                           var e = c.nextSibling()
 
-                           b.parentNode.insertAfter(c, d), (d = c), (c = e)
 
-                         }
 
-                         return !1
 
-                       }
 
-                     }),
 
-                     b.firstChild() ||
 
-                       b.innerHTML(browser.ie ? ' ' : '<br/>')
 
-                   break
 
-                 case 'div':
 
-                   if (b.getAttr('cdata_tag')) break
 
-                   if (
 
-                     ((d = b.getAttr('class')), d && /^line number\d+/.test(d))
 
-                   )
 
-                     break
 
-                   if (!e) break
 
-                   for (
 
-                     var f, g = UE.uNode.createElement('p');
 
-                     (f = b.firstChild());
 
-                   )
 
-                     'text' != f.type && UE.dom.dtd.$block[f.tagName]
 
-                       ? g.firstChild()
 
-                         ? (b.parentNode.insertBefore(g, b),
 
-                           (g = UE.uNode.createElement('p')))
 
-                         : b.parentNode.insertBefore(f, b)
 
-                       : g.appendChild(f)
 
-                   g.firstChild() && b.parentNode.insertBefore(g, b),
 
-                     b.parentNode.removeChild(b)
 
-                   break
 
-                 case 'dl':
 
-                   b.tagName = 'ul'
 
-                   break
 
-                 case 'dt':
 
-                 case 'dd':
 
-                   b.tagName = 'li'
 
-                   break
 
-                 case 'li':
 
-                   var h = b.getAttr('class')
 
-                   ;(h && /list\-/.test(h)) || b.setAttr()
 
-                   var i = b.getNodesByTagName('ol ul')
 
-                   UE.utils.each(i, function (a) {
 
-                     b.parentNode.insertAfter(a, b)
 
-                   })
 
-                   break
 
-                 case 'td':
 
-                 case 'th':
 
-                 case 'caption':
 
-                   ;(b.children && b.children.length) ||
 
-                     b.appendChild(
 
-                       browser.ie11below
 
-                         ? UE.uNode.createText(' ')
 
-                         : UE.uNode.createElement('br')
 
-                     )
 
-                   break
 
-                 case 'table':
 
-                   a.options.disabledTableInTable &&
 
-                     c(b) &&
 
-                     (b.parentNode.insertBefore(
 
-                       UE.uNode.createText(b.innerText()),
 
-                       b
 
-                     ),
 
-                     b.parentNode.removeChild(b))
 
-               }
 
-             }
 
-           })
 
-         }),
 
-         a.addOutputRule(function (b) {
 
-           var c
 
-           b.traversal(function (b) {
 
-             if ('element' == b.type) {
 
-               if (
 
-                 a.options.autoClearEmptyNode &&
 
-                 dtd.$inline[b.tagName] &&
 
-                 !dtd.$empty[b.tagName] &&
 
-                 (!b.attrs || utils.isEmptyObject(b.attrs))
 
-               )
 
-                 return void (b.firstChild()
 
-                   ? 'span' != b.tagName ||
 
-                     (b.attrs && !utils.isEmptyObject(b.attrs)) ||
 
-                     b.parentNode.removeChild(b, !0)
 
-                   : b.parentNode.removeChild(b))
 
-               switch (b.tagName) {
 
-                 case 'div':
 
-                   ;(c = b.getAttr('cdata_tag')) &&
 
-                     ((b.tagName = c),
 
-                     b.appendChild(UE.uNode.createText(b.getAttr('cdata_data'))),
 
-                     b.setAttr({
 
-                       cdata_tag: '',
 
-                       cdata_data: '',
 
-                       _ue_custom_node_: ''
 
-                     }))
 
-                   break
 
-                 case 'a':
 
-                   ;(c = b.getAttr('_href')) &&
 
-                     b.setAttr({ href: utils.html(c), _href: '' })
 
-                   break
 
-                 case 'span':
 
-                   ;(c = b.getAttr('id')),
 
-                     c &&
 
-                       /^_baidu_bookmark_/i.test(c) &&
 
-                       b.parentNode.removeChild(b)
 
-                   break
 
-                 case 'img':
 
-                   ;(c = b.getAttr('_src')) &&
 
-                     b.setAttr({ src: b.getAttr('_src'), _src: '' })
 
-               }
 
-             }
 
-           })
 
-         })
 
-     }),
 
-     (UE.commands.inserthtml = {
 
-       execCommand: function (a, b, c) {
 
-         var d,
 
-           e,
 
-           f = this
 
-         if (b && f.fireEvent('beforeinserthtml', b) !== !0) {
 
-           if (
 
-             ((d = f.selection.getRange()),
 
-             (e = d.document.createElement('div')),
 
-             (e.style.display = 'inline'),
 
-             !c)
 
-           ) {
 
-             var g = UE.htmlparser(b)
 
-             f.options.filterRules && UE.filterNode(g, f.options.filterRules),
 
-               f.filterInputRule(g),
 
-               (b = g.toHtml())
 
-           }
 
-           if (((e.innerHTML = utils.trim(b)), !d.collapsed)) {
 
-             var h = d.startContainer
 
-             if (
 
-               (domUtils.isFillChar(h) && d.setStartBefore(h),
 
-               (h = d.endContainer),
 
-               domUtils.isFillChar(h) && d.setEndAfter(h),
 
-               d.txtToElmBoundary(),
 
-               d.endContainer &&
 
-                 1 == d.endContainer.nodeType &&
 
-                 ((h = d.endContainer.childNodes[d.endOffset]),
 
-                 h && domUtils.isBr(h) && d.setEndAfter(h)),
 
-               0 == d.startOffset &&
 
-                 ((h = d.startContainer),
 
-                 domUtils.isBoundaryNode(h, 'firstChild') &&
 
-                   ((h = d.endContainer),
 
-                   d.endOffset ==
 
-                     (3 == h.nodeType
 
-                       ? h.nodeValue.length
 
-                       : h.childNodes.length) &&
 
-                     domUtils.isBoundaryNode(h, 'lastChild') &&
 
-                     ((f.body.innerHTML =
 
-                       '<p>' + (browser.ie ? '' : '<br/>') + '</p>'),
 
-                     d.setStart(f.body.firstChild, 0).collapse(!0)))),
 
-               !d.collapsed && d.deleteContents(),
 
-               1 == d.startContainer.nodeType)
 
-             ) {
 
-               var i,
 
-                 j = d.startContainer.childNodes[d.startOffset]
 
-               if (
 
-                 j &&
 
-                 domUtils.isBlockElm(j) &&
 
-                 (i = j.previousSibling) &&
 
-                 domUtils.isBlockElm(i)
 
-               ) {
 
-                 for (
 
-                   d.setEnd(i, i.childNodes.length).collapse();
 
-                   j.firstChild;
 
-                 )
 
-                   i.appendChild(j.firstChild)
 
-                 domUtils.remove(j)
 
-               }
 
-             }
 
-           }
 
-           var j,
 
-             k,
 
-             i,
 
-             l,
 
-             m,
 
-             n = 0
 
-           d.inFillChar() &&
 
-             ((j = d.startContainer),
 
-             domUtils.isFillChar(j)
 
-               ? (d.setStartBefore(j).collapse(!0), domUtils.remove(j))
 
-               : domUtils.isFillChar(j, !0) &&
 
-                 ((j.nodeValue = j.nodeValue.replace(fillCharReg, '')),
 
-                 d.startOffset--,
 
-                 d.collapsed && d.collapse(!0)))
 
-           var o = domUtils.findParentByTagName(d.startContainer, 'li', !0)
 
-           if (o) {
 
-             for (var p, q; (j = e.firstChild); ) {
 
-               for (
 
-                 ;
 
-                 j &&
 
-                 (3 == j.nodeType ||
 
-                   !domUtils.isBlockElm(j) ||
 
-                   'HR' == j.tagName);
 
-               )
 
-                 (p = j.nextSibling),
 
-                   d.insertNode(j).collapse(),
 
-                   (q = j),
 
-                   (j = p)
 
-               if (j)
 
-                 if (/^(ol|ul)$/i.test(j.tagName)) {
 
-                   for (; j.firstChild; )
 
-                     (q = j.firstChild),
 
-                       domUtils.insertAfter(o, j.firstChild),
 
-                       (o = o.nextSibling)
 
-                   domUtils.remove(j)
 
-                 } else {
 
-                   var r
 
-                   ;(p = j.nextSibling),
 
-                     (r = f.document.createElement('li')),
 
-                     domUtils.insertAfter(o, r),
 
-                     r.appendChild(j),
 
-                     (q = j),
 
-                     (j = p),
 
-                     (o = r)
 
-                 }
 
-             }
 
-             ;(o = domUtils.findParentByTagName(d.startContainer, 'li', !0)),
 
-               domUtils.isEmptyBlock(o) && domUtils.remove(o),
 
-               q && d.setStartAfter(q).collapse(!0).select(!0)
 
-           } else {
 
-             for (; (j = e.firstChild); ) {
 
-               if (n) {
 
-                 for (
 
-                   var s = f.document.createElement('p');
 
-                   j && (3 == j.nodeType || !dtd.$block[j.tagName]);
 
-                 )
 
-                   (m = j.nextSibling), s.appendChild(j), (j = m)
 
-                 s.firstChild && (j = s)
 
-               }
 
-               if (
 
-                 (d.insertNode(j),
 
-                 (m = j.nextSibling),
 
-                 !n &&
 
-                   j.nodeType == domUtils.NODE_ELEMENT &&
 
-                   domUtils.isBlockElm(j) &&
 
-                   ((k = domUtils.findParent(j, function (a) {
 
-                     return domUtils.isBlockElm(a)
 
-                   })),
 
-                   k &&
 
-                     'body' != k.tagName.toLowerCase() &&
 
-                     (!dtd[k.tagName][j.nodeName] || j.parentNode !== k)))
 
-               ) {
 
-                 if (dtd[k.tagName][j.nodeName])
 
-                   for (l = j.parentNode; l !== k; ) (i = l), (l = l.parentNode)
 
-                 else i = k
 
-                 domUtils.breakParent(j, i || l)
 
-                 var i = j.previousSibling
 
-                 domUtils.trimWhiteTextNode(i),
 
-                   i.childNodes.length || domUtils.remove(i),
 
-                   !browser.ie &&
 
-                     (p = j.nextSibling) &&
 
-                     domUtils.isBlockElm(p) &&
 
-                     p.lastChild &&
 
-                     !domUtils.isBr(p.lastChild) &&
 
-                     p.appendChild(f.document.createElement('br')),
 
-                   (n = 1)
 
-               }
 
-               var p = j.nextSibling
 
-               if (!e.firstChild && p && domUtils.isBlockElm(p)) {
 
-                 d.setStart(p, 0).collapse(!0)
 
-                 break
 
-               }
 
-               d.setEndAfter(j).collapse()
 
-             }
 
-             if (
 
-               ((j = d.startContainer),
 
-               m && domUtils.isBr(m) && domUtils.remove(m),
 
-               domUtils.isBlockElm(j) && domUtils.isEmptyNode(j))
 
-             )
 
-               if ((m = j.nextSibling))
 
-                 domUtils.remove(j),
 
-                   1 == m.nodeType &&
 
-                     dtd.$block[m.tagName] &&
 
-                     d.setStart(m, 0).collapse(!0).shrinkBoundary()
 
-               else
 
-                 try {
 
-                   j.innerHTML = browser.ie ? domUtils.fillChar : '<br/>'
 
-                 } catch (t) {
 
-                   d.setStartBefore(j), domUtils.remove(j)
 
-                 }
 
-             try {
 
-               d.select(!0)
 
-             } catch (t) {}
 
-           }
 
-           setTimeout(function () {
 
-             ;(d = f.selection.getRange()),
 
-               d.scrollToView(
 
-                 f.autoHeightEnabled,
 
-                 f.autoHeightEnabled ? domUtils.getXY(f.iframe).y : 0
 
-               ),
 
-               f.fireEvent('afterinserthtml', b)
 
-           }, 200)
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.autotypeset = function () {
 
-       function a(a, b) {
 
-         return a && 3 != a.nodeType
 
-           ? domUtils.isBr(a)
 
-             ? 1
 
-             : a && a.parentNode && l[a.tagName.toLowerCase()]
 
-             ? (g && g.contains(a)) || a.getAttribute('pagebreak')
 
-               ? 0
 
-               : b
 
-               ? !domUtils.isEmptyBlock(a)
 
-               : domUtils.isEmptyBlock(
 
-                   a,
 
-                   new RegExp('[\\s' + domUtils.fillChar + ']', 'g')
 
-                 )
 
-             : void 0
 
-           : 0
 
-       }
 
-       function b(a) {
 
-         a.style.cssText ||
 
-           (domUtils.removeAttributes(a, ['style']),
 
-           'span' == a.tagName.toLowerCase() &&
 
-             domUtils.hasNoAttributes(a) &&
 
-             domUtils.remove(a, !0))
 
-       }
 
-       function c(c, f) {
 
-         var h,
 
-           l = this
 
-         if (f) {
 
-           if (!i.pasteFilter) return
 
-           ;(h = l.document.createElement('div')), (h.innerHTML = f.html)
 
-         } else h = l.document.body
 
-         for (
 
-           var m, n = domUtils.getElementsByTagName(h, '*'), o = 0;
 
-           (m = n[o++]);
 
-         )
 
-           if (l.fireEvent('excludeNodeinautotype', m) !== !0) {
 
-             if (
 
-               (i.clearFontSize &&
 
-                 m.style.fontSize &&
 
-                 (domUtils.removeStyle(m, 'font-size'), b(m)),
 
-               i.clearFontFamily &&
 
-                 m.style.fontFamily &&
 
-                 (domUtils.removeStyle(m, 'font-family'), b(m)),
 
-               a(m))
 
-             ) {
 
-               if (i.mergeEmptyline)
 
-                 for (
 
-                   var p, q = m.nextSibling, r = domUtils.isBr(m);
 
-                   a(q) &&
 
-                   ((p = q),
 
-                   (q = p.nextSibling),
 
-                   !r || (q && (!q || domUtils.isBr(q))));
 
-                 )
 
-                   domUtils.remove(p)
 
-               if (
 
-                 i.removeEmptyline &&
 
-                 domUtils.inDoc(m, h) &&
 
-                 !k[m.parentNode.tagName.toLowerCase()]
 
-               ) {
 
-                 if (
 
-                   domUtils.isBr(m) &&
 
-                   ((q = m.nextSibling), q && !domUtils.isBr(q))
 
-                 )
 
-                   continue
 
-                 domUtils.remove(m)
 
-                 continue
 
-               }
 
-             }
 
-             if (
 
-               (a(m, !0) &&
 
-                 'SPAN' != m.tagName &&
 
-                 (i.indent && (m.style.textIndent = i.indentValue),
 
-                 i.textAlign && (m.style.textAlign = i.textAlign)),
 
-               i.removeClass && m.className && !j[m.className.toLowerCase()])
 
-             ) {
 
-               if (g && g.contains(m)) continue
 
-               domUtils.removeAttributes(m, ['class'])
 
-             }
 
-             if (
 
-               i.imageBlockLine &&
 
-               'img' == m.tagName.toLowerCase() &&
 
-               !m.getAttribute('emotion')
 
-             )
 
-               if (f) {
 
-                 var s = m
 
-                 switch (i.imageBlockLine) {
 
-                   case 'left':
 
-                   case 'right':
 
-                   case 'none':
 
-                     for (
 
-                       var p, t, q, u = s.parentNode;
 
-                       dtd.$inline[u.tagName] || 'A' == u.tagName;
 
-                     )
 
-                       u = u.parentNode
 
-                     if (
 
-                       ((p = u),
 
-                       'P' == p.tagName &&
 
-                         'center' == domUtils.getStyle(p, 'text-align') &&
 
-                         !domUtils.isBody(p) &&
 
-                         1 ==
 
-                           domUtils.getChildCount(p, function (a) {
 
-                             return (
 
-                               !domUtils.isBr(a) && !domUtils.isWhitespace(a)
 
-                             )
 
-                           }))
 
-                     )
 
-                       if (
 
-                         ((t = p.previousSibling),
 
-                         (q = p.nextSibling),
 
-                         t &&
 
-                           q &&
 
-                           1 == t.nodeType &&
 
-                           1 == q.nodeType &&
 
-                           t.tagName == q.tagName &&
 
-                           domUtils.isBlockElm(t))
 
-                       ) {
 
-                         for (t.appendChild(p.firstChild); q.firstChild; )
 
-                           t.appendChild(q.firstChild)
 
-                         domUtils.remove(p), domUtils.remove(q)
 
-                       } else domUtils.setStyle(p, 'text-align', '')
 
-                     domUtils.setStyle(s, 'float', i.imageBlockLine)
 
-                     break
 
-                   case 'center':
 
-                     if ('center' != l.queryCommandValue('imagefloat')) {
 
-                       for (
 
-                         u = s.parentNode,
 
-                           domUtils.setStyle(s, 'float', 'none'),
 
-                           p = s;
 
-                         u &&
 
-                         1 ==
 
-                           domUtils.getChildCount(u, function (a) {
 
-                             return (
 
-                               !domUtils.isBr(a) && !domUtils.isWhitespace(a)
 
-                             )
 
-                           }) &&
 
-                         (dtd.$inline[u.tagName] || 'A' == u.tagName);
 
-                       )
 
-                         (p = u), (u = u.parentNode)
 
-                       var v = l.document.createElement('p')
 
-                       domUtils.setAttributes(v, { style: 'text-align:center' }),
 
-                         p.parentNode.insertBefore(v, p),
 
-                         v.appendChild(p),
 
-                         domUtils.setStyle(p, 'float', '')
 
-                     }
 
-                 }
 
-               } else {
 
-                 var w = l.selection.getRange()
 
-                 w.selectNode(m).select(),
 
-                   l.execCommand('imagefloat', i.imageBlockLine)
 
-               }
 
-             i.removeEmptyNode &&
 
-               i.removeTagNames[m.tagName.toLowerCase()] &&
 
-               domUtils.hasNoAttributes(m) &&
 
-               domUtils.isEmptyBlock(m) &&
 
-               domUtils.remove(m)
 
-           }
 
-         if (i.tobdc) {
 
-           var x = UE.htmlparser(h.innerHTML)
 
-           x.traversal(function (a) {
 
-             'text' == a.type && (a.data = e(a.data))
 
-           }),
 
-             (h.innerHTML = x.toHtml())
 
-         }
 
-         if (i.bdc2sb) {
 
-           var x = UE.htmlparser(h.innerHTML)
 
-           x.traversal(function (a) {
 
-             'text' == a.type && (a.data = d(a.data))
 
-           }),
 
-             (h.innerHTML = x.toHtml())
 
-         }
 
-         f && (f.html = h.innerHTML)
 
-       }
 
-       function d(a) {
 
-         for (var b = '', c = 0; c < a.length; c++) {
 
-           var d = a.charCodeAt(c)
 
-           b +=
 
-             d >= 65281 && d <= 65373
 
-               ? String.fromCharCode(a.charCodeAt(c) - 65248)
 
-               : 12288 == d
 
-               ? String.fromCharCode(a.charCodeAt(c) - 12288 + 32)
 
-               : a.charAt(c)
 
-         }
 
-         return b
 
-       }
 
-       function e(a) {
 
-         a = utils.html(a)
 
-         for (var b = '', c = 0; c < a.length; c++)
 
-           b +=
 
-             32 == a.charCodeAt(c)
 
-               ? String.fromCharCode(12288)
 
-               : a.charCodeAt(c) < 127
 
-               ? String.fromCharCode(a.charCodeAt(c) + 65248)
 
-               : a.charAt(c)
 
-         return b
 
-       }
 
-       function f() {
 
-         var a = h.getPreferences('autotypeset')
 
-         utils.extend(h.options.autotypeset, a)
 
-       }
 
-       this.setOpt({
 
-         autotypeset: {
 
-           mergeEmptyline: !0,
 
-           removeClass: !0,
 
-           removeEmptyline: !1,
 
-           textAlign: 'left',
 
-           imageBlockLine: 'center',
 
-           pasteFilter: !1,
 
-           clearFontSize: !1,
 
-           clearFontFamily: !1,
 
-           removeEmptyNode: !1,
 
-           removeTagNames: utils.extend({ div: 1 }, dtd.$removeEmpty),
 
-           indent: !1,
 
-           indentValue: '2em',
 
-           bdc2sb: !1,
 
-           tobdc: !1
 
-         }
 
-       })
 
-       var g,
 
-         h = this,
 
-         i = h.options.autotypeset,
 
-         j = { selectTdClass: 1, pagebreak: 1, anchorclass: 1 },
 
-         k = { li: 1 },
 
-         l = {
 
-           div: 1,
 
-           p: 1,
 
-           blockquote: 1,
 
-           center: 1,
 
-           h1: 1,
 
-           h2: 1,
 
-           h3: 1,
 
-           h4: 1,
 
-           h5: 1,
 
-           h6: 1,
 
-           span: 1
 
-         }
 
-       i &&
 
-         (f(),
 
-         i.pasteFilter && h.addListener('beforepaste', c),
 
-         (h.commands.autotypeset = {
 
-           execCommand: function () {
 
-             h.removeListener('beforepaste', c),
 
-               i.pasteFilter && h.addListener('beforepaste', c),
 
-               c.call(h)
 
-           }
 
-         }))
 
-     }),
 
-     UE.plugin.register('autosubmit', function () {
 
-       return {
 
-         shortcutkey: { autosubmit: 'ctrl+13' },
 
-         commands: {
 
-           autosubmit: {
 
-             execCommand: function () {
 
-               var a = this,
 
-                 b = domUtils.findParentByTagName(a.iframe, 'form', !1)
 
-               if (b) {
 
-                 if (a.fireEvent('beforesubmit') === !1) return
 
-                 a.sync(), b.submit()
 
-               }
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('background', function () {
 
-       function a(a) {
 
-         var b = {},
 
-           c = a.split(';')
 
-         return (
 
-           utils.each(c, function (a) {
 
-             var c = a.indexOf(':'),
 
-               d = utils.trim(a.substr(0, c)).toLowerCase()
 
-             d && (b[d] = utils.trim(a.substr(c + 1) || ''))
 
-           }),
 
-           b
 
-         )
 
-       }
 
-       function b(a) {
 
-         if (a) {
 
-           var b = []
 
-           for (var c in a) a.hasOwnProperty(c) && b.push(c + ':' + a[c] + '; ')
 
-           utils.cssRule(
 
-             e,
 
-             b.length ? 'body{' + b.join('') + '}' : '',
 
-             d.document
 
-           )
 
-         } else utils.cssRule(e, '', d.document)
 
-       }
 
-       var c,
 
-         d = this,
 
-         e = 'editor_background',
 
-         f = new RegExp('body[\\s]*\\{(.+)\\}', 'i'),
 
-         g = d.hasContents
 
-       return (
 
-         (d.hasContents = function () {
 
-           return !!d.queryCommandValue('background') || g.apply(d, arguments)
 
-         }),
 
-         {
 
-           bindEvents: {
 
-             getAllHtml: function (a, b) {
 
-               var c = this.body,
 
-                 e = domUtils.getComputedStyle(c, 'background-image'),
 
-                 f = ''
 
-               f =
 
-                 e.indexOf(d.options.imagePath) > 0
 
-                   ? e
 
-                       .substring(e.indexOf(d.options.imagePath), e.length - 1)
 
-                       .replace(/"|\(|\)/gi, '')
 
-                   : 'none' != e
 
-                   ? e.replace(/url\("?|"?\)/gi, '')
 
-                   : ''
 
-               var g = '<style type="text/css">body{',
 
-                 h = {
 
-                   'background-color':
 
-                     domUtils.getComputedStyle(c, 'background-color') ||
 
-                     '#ffffff',
 
-                   'background-image': f ? 'url(' + f + ')' : '',
 
-                   'background-repeat':
 
-                     domUtils.getComputedStyle(c, 'background-repeat') || '',
 
-                   'background-position': browser.ie
 
-                     ? domUtils.getComputedStyle(c, 'background-position-x') +
 
-                       ' ' +
 
-                       domUtils.getComputedStyle(c, 'background-position-y')
 
-                     : domUtils.getComputedStyle(c, 'background-position'),
 
-                   height: domUtils.getComputedStyle(c, 'height')
 
-                 }
 
-               for (var i in h)
 
-                 h.hasOwnProperty(i) && (g += i + ':' + h[i] + '; ')
 
-               ;(g += '}</style> '), b.push(g)
 
-             },
 
-             aftersetcontent: function () {
 
-               0 == c && b()
 
-             }
 
-           },
 
-           inputRule: function (d) {
 
-             ;(c = !1),
 
-               utils.each(d.getNodesByTagName('p'), function (d) {
 
-                 var e = d.getAttr('data-background')
 
-                 e && ((c = !0), b(a(e)), d.parentNode.removeChild(d))
 
-               })
 
-           },
 
-           outputRule: function (a) {
 
-             var b = this,
 
-               c = (utils.cssRule(e, b.document) || '')
 
-                 .replace(/[\n\r]+/g, '')
 
-                 .match(f)
 
-             c &&
 
-               a.appendChild(
 
-                 UE.uNode.createElement(
 
-                   '<p style="display:none;" data-background="' +
 
-                     utils.trim(c[1].replace(/"/g, '').replace(/[\s]+/g, ' ')) +
 
-                     '"><br/></p>'
 
-                 )
 
-               )
 
-           },
 
-           commands: {
 
-             background: {
 
-               execCommand: function (a, c) {
 
-                 b(c)
 
-               },
 
-               queryCommandValue: function () {
 
-                 var b = this,
 
-                   c = (utils.cssRule(e, b.document) || '')
 
-                     .replace(/[\n\r]+/g, '')
 
-                     .match(f)
 
-                 return c ? a(c[1]) : null
 
-               },
 
-               notNeedUndo: !0
 
-             }
 
-           }
 
-         }
 
-       )
 
-     }),
 
-     (UE.commands.imagefloat = {
 
-       execCommand: function (a, b) {
 
-         var c = this,
 
-           d = c.selection.getRange()
 
-         if (!d.collapsed) {
 
-           var e = d.getClosedNode()
 
-           if (e && 'IMG' == e.tagName)
 
-             switch (b) {
 
-               case 'left':
 
-               case 'right':
 
-               case 'none':
 
-                 for (
 
-                   var f, g, h, i = e.parentNode;
 
-                   dtd.$inline[i.tagName] || 'A' == i.tagName;
 
-                 )
 
-                   i = i.parentNode
 
-                 if (
 
-                   ((f = i),
 
-                   'P' == f.tagName &&
 
-                     'center' == domUtils.getStyle(f, 'text-align'))
 
-                 ) {
 
-                   if (
 
-                     !domUtils.isBody(f) &&
 
-                     1 ==
 
-                       domUtils.getChildCount(f, function (a) {
 
-                         return !domUtils.isBr(a) && !domUtils.isWhitespace(a)
 
-                       })
 
-                   )
 
-                     if (
 
-                       ((g = f.previousSibling),
 
-                       (h = f.nextSibling),
 
-                       g &&
 
-                         h &&
 
-                         1 == g.nodeType &&
 
-                         1 == h.nodeType &&
 
-                         g.tagName == h.tagName &&
 
-                         domUtils.isBlockElm(g))
 
-                     ) {
 
-                       for (g.appendChild(f.firstChild); h.firstChild; )
 
-                         g.appendChild(h.firstChild)
 
-                       domUtils.remove(f), domUtils.remove(h)
 
-                     } else domUtils.setStyle(f, 'text-align', '')
 
-                   d.selectNode(e).select()
 
-                 }
 
-                 domUtils.setStyle(e, 'float', 'none' == b ? '' : b),
 
-                   'none' == b && domUtils.removeAttributes(e, 'align')
 
-                 break
 
-               case 'center':
 
-                 if ('center' != c.queryCommandValue('imagefloat')) {
 
-                   for (
 
-                     i = e.parentNode,
 
-                       domUtils.setStyle(e, 'float', ''),
 
-                       domUtils.removeAttributes(e, 'align'),
 
-                       f = e;
 
-                     i &&
 
-                     1 ==
 
-                       domUtils.getChildCount(i, function (a) {
 
-                         return !domUtils.isBr(a) && !domUtils.isWhitespace(a)
 
-                       }) &&
 
-                     (dtd.$inline[i.tagName] || 'A' == i.tagName);
 
-                   )
 
-                     (f = i), (i = i.parentNode)
 
-                   d.setStartBefore(f).setCursor(!1),
 
-                     (i = c.document.createElement('div')),
 
-                     i.appendChild(f),
 
-                     domUtils.setStyle(f, 'float', ''),
 
-                     c.execCommand(
 
-                       'insertHtml',
 
-                       '<p id="_img_parent_tmp" style="text-align:center">' +
 
-                         i.innerHTML +
 
-                         '</p>'
 
-                     ),
 
-                     (f = c.document.getElementById('_img_parent_tmp')),
 
-                     f.removeAttribute('id'),
 
-                     (f = f.firstChild),
 
-                     d.selectNode(f).select(),
 
-                     (h = f.parentNode.nextSibling),
 
-                     h && domUtils.isEmptyNode(h) && domUtils.remove(h)
 
-                 }
 
-             }
 
-         }
 
-       },
 
-       queryCommandValue: function () {
 
-         var a,
 
-           b,
 
-           c = this.selection.getRange()
 
-         return c.collapsed
 
-           ? 'none'
 
-           : ((a = c.getClosedNode()),
 
-             a && 1 == a.nodeType && 'IMG' == a.tagName
 
-               ? ((b =
 
-                   domUtils.getComputedStyle(a, 'float') ||
 
-                   a.getAttribute('align')),
 
-                 'none' == b &&
 
-                   (b =
 
-                     'center' ==
 
-                     domUtils.getComputedStyle(a.parentNode, 'text-align')
 
-                       ? 'center'
 
-                       : b),
 
-                 { left: 1, right: 1, center: 1 }[b] ? b : 'none')
 
-               : 'none')
 
-       },
 
-       queryCommandState: function () {
 
-         var a,
 
-           b = this.selection.getRange()
 
-         return b.collapsed
 
-           ? -1
 
-           : ((a = b.getClosedNode()),
 
-             a && 1 == a.nodeType && 'IMG' == a.tagName ? 0 : -1)
 
-       }
 
-     }),
 
-     (UE.commands.insertimage = {
 
-       execCommand: function (a, b) {
 
-         function c(a) {
 
-           utils.each(
 
-             'width,height,border,hspace,vspace'.split(','),
 
-             function (b) {
 
-               a[b] && (a[b] = parseInt(a[b], 10) || 0)
 
-             }
 
-           ),
 
-             utils.each('src,_src'.split(','), function (b) {
 
-               a[b] && (a[b] = utils.unhtmlForUrl(a[b]))
 
-             }),
 
-             utils.each('title,alt'.split(','), function (b) {
 
-               a[b] && (a[b] = utils.unhtml(a[b]))
 
-             })
 
-         }
 
-         if (((b = utils.isArray(b) ? b : [b]), b.length)) {
 
-           var d = this,
 
-             e = d.selection.getRange(),
 
-             f = e.getClosedNode()
 
-           if (d.fireEvent('beforeinsertimage', b) !== !0) {
 
-             if (
 
-               !f ||
 
-               !/img/i.test(f.tagName) ||
 
-               ('edui-faked-video' == f.className &&
 
-                 f.className.indexOf('edui-upload-video') == -1) ||
 
-               f.getAttribute('word_img')
 
-             ) {
 
-               var g,
 
-                 h = [],
 
-                 i = ''
 
-               if (((g = b[0]), 1 == b.length))
 
-                 c(g),
 
-                   (i =
 
-                     '<img src="' +
 
-                     g.src +
 
-                     '" ' +
 
-                     (g._src ? ' _src="' + g._src + '" ' : '') +
 
-                     (g.width ? 'width="' + g.width + '" ' : '') +
 
-                     (g.height ? ' height="' + g.height + '" ' : '') +
 
-                     ('left' == g.floatStyle || 'right' == g.floatStyle
 
-                       ? ' style="float:' + g.floatStyle + ';"'
 
-                       : '') +
 
-                     (g.title && '' != g.title
 
-                       ? ' title="' + g.title + '"'
 
-                       : '') +
 
-                     (g.border && '0' != g.border
 
-                       ? ' border="' + g.border + '"'
 
-                       : '') +
 
-                     (g.alt && '' != g.alt ? ' alt="' + g.alt + '"' : '') +
 
-                     (g.hspace && '0' != g.hspace
 
-                       ? ' hspace = "' + g.hspace + '"'
 
-                       : '') +
 
-                     (g.vspace && '0' != g.vspace
 
-                       ? ' vspace = "' + g.vspace + '"'
 
-                       : '') +
 
-                     '/>'),
 
-                   'center' == g.floatStyle &&
 
-                     (i = '<p style="text-align: center">' + i + '</p>'),
 
-                   h.push(i)
 
-               else
 
-                 for (var j = 0; (g = b[j++]); )
 
-                   c(g),
 
-                     (i =
 
-                       '<p ' +
 
-                       ('center' == g.floatStyle
 
-                         ? 'style="text-align: center" '
 
-                         : '') +
 
-                       '><img src="' +
 
-                       g.src +
 
-                       '" ' +
 
-                       (g.width ? 'width="' + g.width + '" ' : '') +
 
-                       (g._src ? ' _src="' + g._src + '" ' : '') +
 
-                       (g.height ? ' height="' + g.height + '" ' : '') +
 
-                       ' style="' +
 
-                       (g.floatStyle && 'center' != g.floatStyle
 
-                         ? 'float:' + g.floatStyle + ';'
 
-                         : '') +
 
-                       (g.border || '') +
 
-                       '" ' +
 
-                       (g.title ? ' title="' + g.title + '"' : '') +
 
-                       ' /></p>'),
 
-                     h.push(i)
 
-               d.execCommand('insertHtml', h.join(''))
 
-             } else {
 
-               var k = b.shift(),
 
-                 l = k.floatStyle
 
-               delete k.floatStyle,
 
-                 domUtils.setAttributes(f, k),
 
-                 d.execCommand('imagefloat', l),
 
-                 b.length > 0 &&
 
-                   (e.setStartAfter(f).setCursor(!1, !0),
 
-                   d.execCommand('insertimage', b))
 
-             }
 
-             d.fireEvent('afterinsertimage', b)
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.justify = function () {
 
-       var a = domUtils.isBlockElm,
 
-         b = { left: 1, right: 1, center: 1, justify: 1 },
 
-         c = function (b, c) {
 
-           var d = b.createBookmark(),
 
-             e = function (a) {
 
-               return 1 == a.nodeType
 
-                 ? 'br' != a.tagName.toLowerCase() && !domUtils.isBookmarkNode(a)
 
-                 : !domUtils.isWhitespace(a)
 
-             }
 
-           b.enlarge(!0)
 
-           for (
 
-             var f,
 
-               g = b.createBookmark(),
 
-               h = domUtils.getNextDomNode(g.start, !1, e),
 
-               i = b.cloneRange();
 
-             h &&
 
-             !(domUtils.getPosition(h, g.end) & domUtils.POSITION_FOLLOWING);
 
-           )
 
-             if (3 != h.nodeType && a(h)) h = domUtils.getNextDomNode(h, !0, e)
 
-             else {
 
-               for (i.setStartBefore(h); h && h !== g.end && !a(h); )
 
-                 (f = h),
 
-                   (h = domUtils.getNextDomNode(h, !1, null, function (b) {
 
-                     return !a(b)
 
-                   }))
 
-               i.setEndAfter(f)
 
-               var j = i.getCommonAncestor()
 
-               if (!domUtils.isBody(j) && a(j))
 
-                 domUtils.setStyles(
 
-                   j,
 
-                   utils.isString(c) ? { 'text-align': c } : c
 
-                 ),
 
-                   (h = j)
 
-               else {
 
-                 var k = b.document.createElement('p')
 
-                 domUtils.setStyles(
 
-                   k,
 
-                   utils.isString(c) ? { 'text-align': c } : c
 
-                 )
 
-                 var l = i.extractContents()
 
-                 k.appendChild(l), i.insertNode(k), (h = k)
 
-               }
 
-               h = domUtils.getNextDomNode(h, !1, e)
 
-             }
 
-           return b.moveToBookmark(g).moveToBookmark(d)
 
-         }
 
-       UE.commands.justify = {
 
-         execCommand: function (a, b) {
 
-           var d,
 
-             e = this.selection.getRange()
 
-           return (
 
-             e.collapsed &&
 
-               ((d = this.document.createTextNode('p')), e.insertNode(d)),
 
-             c(e, b),
 
-             d && (e.setStartBefore(d).collapse(!0), domUtils.remove(d)),
 
-             e.select(),
 
-             !0
 
-           )
 
-         },
 
-         queryCommandValue: function () {
 
-           var a = this.selection.getStart(),
 
-             c = domUtils.getComputedStyle(a, 'text-align')
 
-           return b[c] ? c : 'left'
 
-         },
 
-         queryCommandState: function () {
 
-           var a = this.selection.getStart(),
 
-             b =
 
-               a && domUtils.findParentByTagName(a, ['td', 'th', 'caption'], !0)
 
-           return b ? -1 : 0
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.font = function () {
 
-       function a(a) {
 
-         for (
 
-           var b;
 
-           (b = a.parentNode) &&
 
-           'SPAN' == b.tagName &&
 
-           1 ==
 
-             domUtils.getChildCount(b, function (a) {
 
-               return !domUtils.isBookmarkNode(a) && !domUtils.isBr(a)
 
-             });
 
-         )
 
-           (b.style.cssText += a.style.cssText), domUtils.remove(a, !0), (a = b)
 
-       }
 
-       function b(a, b, c) {
 
-         if (
 
-           g[b] &&
 
-           (a.adjustmentBoundary(),
 
-           !a.collapsed && 1 == a.startContainer.nodeType)
 
-         ) {
 
-           var d = a.startContainer.childNodes[a.startOffset]
 
-           if (d && domUtils.isTagNode(d, 'span')) {
 
-             var e = a.createBookmark()
 
-             utils.each(domUtils.getElementsByTagName(d, 'span'), function (a) {
 
-               a.parentNode &&
 
-                 !domUtils.isBookmarkNode(a) &&
 
-                 (('backcolor' == b &&
 
-                   domUtils
 
-                     .getComputedStyle(a, 'background-color')
 
-                     .toLowerCase() === c) ||
 
-                   (domUtils.removeStyle(a, g[b]),
 
-                   0 == a.style.cssText.replace(/^\s+$/, '').length &&
 
-                     domUtils.remove(a, !0)))
 
-             }),
 
-               a.moveToBookmark(e)
 
-           }
 
-         }
 
-       }
 
-       function c(c, d, e) {
 
-         var f,
 
-           g = c.collapsed,
 
-           h = c.createBookmark()
 
-         if (g)
 
-           for (f = h.start.parentNode; dtd.$inline[f.tagName]; )
 
-             f = f.parentNode
 
-         else f = domUtils.getCommonAncestor(h.start, h.end)
 
-         utils.each(domUtils.getElementsByTagName(f, 'span'), function (b) {
 
-           if (b.parentNode && !domUtils.isBookmarkNode(b)) {
 
-             if (/\s*border\s*:\s*none;?\s*/i.test(b.style.cssText))
 
-               return void (/^\s*border\s*:\s*none;?\s*$/.test(b.style.cssText)
 
-                 ? domUtils.remove(b, !0)
 
-                 : domUtils.removeStyle(b, 'border'))
 
-             if (
 
-               (/border/i.test(b.style.cssText) &&
 
-                 'SPAN' == b.parentNode.tagName &&
 
-                 /border/i.test(b.parentNode.style.cssText) &&
 
-                 (b.style.cssText = b.style.cssText.replace(
 
-                   /border[^:]*:[^;]+;?/gi,
 
-                   ''
 
-                 )),
 
-               'fontborder' != d || 'none' != e)
 
-             )
 
-               for (
 
-                 var c = b.nextSibling;
 
-                 c && 1 == c.nodeType && 'SPAN' == c.tagName;
 
-               )
 
-                 if (domUtils.isBookmarkNode(c) && 'fontborder' == d)
 
-                   b.appendChild(c), (c = b.nextSibling)
 
-                 else {
 
-                   if (
 
-                     (c.style.cssText == b.style.cssText &&
 
-                       (domUtils.moveChild(c, b), domUtils.remove(c)),
 
-                     b.nextSibling === c)
 
-                   )
 
-                     break
 
-                   c = b.nextSibling
 
-                 }
 
-             if ((a(b), browser.ie && browser.version > 8)) {
 
-               var f = domUtils.findParent(b, function (a) {
 
-                 return (
 
-                   'SPAN' == a.tagName &&
 
-                   /background-color/.test(a.style.cssText)
 
-                 )
 
-               })
 
-               f &&
 
-                 !/background-color/.test(b.style.cssText) &&
 
-                 (b.style.backgroundColor = f.style.backgroundColor)
 
-             }
 
-           }
 
-         }),
 
-           c.moveToBookmark(h),
 
-           b(c, d, e)
 
-       }
 
-       var d = this,
 
-         e = {
 
-           forecolor: 'color',
 
-           backcolor: 'background-color',
 
-           fontsize: 'font-size',
 
-           fontfamily: 'font-family',
 
-           underline: 'text-decoration',
 
-           strikethrough: 'text-decoration',
 
-           fontborder: 'border'
 
-         },
 
-         f = { underline: 1, strikethrough: 1, fontborder: 1 },
 
-         g = {
 
-           forecolor: 'color',
 
-           backcolor: 'background-color',
 
-           fontsize: 'font-size',
 
-           fontfamily: 'font-family'
 
-         }
 
-       d.setOpt({
 
-         fontfamily: [
 
-           { name: 'songti', val: '宋体,SimSun' },
 
-           { name: 'yahei', val: '微软雅黑,Microsoft YaHei' },
 
-           { name: 'kaiti', val: '楷体,楷体_GB2312, SimKai' },
 
-           { name: 'heiti', val: '黑体, SimHei' },
 
-           { name: 'lishu', val: '隶书, SimLi' },
 
-           { name: 'andaleMono', val: 'andale mono' },
 
-           { name: 'arial', val: 'arial, helvetica,sans-serif' },
 
-           { name: 'arialBlack', val: 'arial black,avant garde' },
 
-           { name: 'comicSansMs', val: 'comic sans ms' },
 
-           { name: 'impact', val: 'impact,chicago' },
 
-           { name: 'timesNewRoman', val: 'times new roman' }
 
-         ],
 
-         fontsize: [10, 11, 12, 14, 16, 18, 20, 24, 36]
 
-       }),
 
-         d.addInputRule(function (a) {
 
-           utils.each(a.getNodesByTagName('u s del font strike'), function (a) {
 
-             if ('font' == a.tagName) {
 
-               var b = []
 
-               for (var c in a.attrs)
 
-                 switch (c) {
 
-                   case 'size':
 
-                     b.push(
 
-                       'font-size:' +
 
-                         ({
 
-                           1: '10',
 
-                           2: '12',
 
-                           3: '16',
 
-                           4: '18',
 
-                           5: '24',
 
-                           6: '32',
 
-                           7: '48'
 
-                         }[a.attrs[c]] || a.attrs[c]) +
 
-                         'px'
 
-                     )
 
-                     break
 
-                   case 'color':
 
-                     b.push('color:' + a.attrs[c])
 
-                     break
 
-                   case 'face':
 
-                     b.push('font-family:' + a.attrs[c])
 
-                     break
 
-                   case 'style':
 
-                     b.push(a.attrs[c])
 
-                 }
 
-               a.attrs = { style: b.join(';') }
 
-             } else {
 
-               var d = 'u' == a.tagName ? 'underline' : 'line-through'
 
-               a.attrs = {
 
-                 style: (a.getAttr('style') || '') + 'text-decoration:' + d + ';'
 
-               }
 
-             }
 
-             a.tagName = 'span'
 
-           })
 
-         })
 
-       for (var h in e)
 
-         !(function (a, b) {
 
-           UE.commands[a] = {
 
-             execCommand: function (d, e) {
 
-               e =
 
-                 e ||
 
-                 (this.queryCommandState(d)
 
-                   ? 'none'
 
-                   : 'underline' == d
 
-                   ? 'underline'
 
-                   : 'fontborder' == d
 
-                   ? '1px solid #000'
 
-                   : 'line-through')
 
-               var g,
 
-                 h = this,
 
-                 i = this.selection.getRange()
 
-               if ('default' == e)
 
-                 i.collapsed &&
 
-                   ((g = h.document.createTextNode('font')),
 
-                   i.insertNode(g).select()),
 
-                   h.execCommand('removeFormat', 'span,a', b),
 
-                   g && (i.setStartBefore(g).collapse(!0), domUtils.remove(g)),
 
-                   c(i, d, e),
 
-                   i.select()
 
-               else if (i.collapsed) {
 
-                 var j = domUtils.findParentByTagName(
 
-                   i.startContainer,
 
-                   'span',
 
-                   !0
 
-                 )
 
-                 if (
 
-                   ((g = h.document.createTextNode('font')),
 
-                   !j ||
 
-                     j.children.length ||
 
-                     j[browser.ie ? 'innerText' : 'textContent'].replace(
 
-                       fillCharReg,
 
-                       ''
 
-                     ).length)
 
-                 ) {
 
-                   if (
 
-                     (i.insertNode(g),
 
-                     i.selectNode(g).select(),
 
-                     (j = i.document.createElement('span')),
 
-                     f[a])
 
-                   ) {
 
-                     if (domUtils.findParentByTagName(g, 'a', !0))
 
-                       return (
 
-                         i.setStartBefore(g).setCursor(), void domUtils.remove(g)
 
-                       )
 
-                     h.execCommand('removeFormat', 'span,a', b)
 
-                   }
 
-                   if (
 
-                     ((j.style.cssText = b + ':' + e),
 
-                     g.parentNode.insertBefore(j, g),
 
-                     !browser.ie || (browser.ie && 9 == browser.version))
 
-                   )
 
-                     for (var k = j.parentNode; !domUtils.isBlockElm(k); )
 
-                       'SPAN' == k.tagName &&
 
-                         (j.style.cssText =
 
-                           k.style.cssText + ';' + j.style.cssText),
 
-                         (k = k.parentNode)
 
-                   opera
 
-                     ? setTimeout(function () {
 
-                         i.setStart(j, 0).collapse(!0), c(i, d, e), i.select()
 
-                       })
 
-                     : (i.setStart(j, 0).collapse(!0), c(i, d, e), i.select())
 
-                 } else
 
-                   i.insertNode(g),
 
-                     f[a] &&
 
-                       (i.selectNode(g).select(),
 
-                       h.execCommand('removeFormat', 'span,a', b, null),
 
-                       (j = domUtils.findParentByTagName(g, 'span', !0)),
 
-                       i.setStartBefore(g)),
 
-                     j && (j.style.cssText += ';' + b + ':' + e),
 
-                     i.collapse(!0).select()
 
-                 domUtils.remove(g)
 
-               } else
 
-                 f[a] &&
 
-                   h.queryCommandValue(a) &&
 
-                   h.execCommand('removeFormat', 'span,a', b),
 
-                   (i = h.selection.getRange()),
 
-                   i.applyInlineStyle('span', { style: b + ':' + e }),
 
-                   c(i, d, e),
 
-                   i.select()
 
-               return !0
 
-             },
 
-             queryCommandValue: function (a) {
 
-               var c = this.selection.getStart()
 
-               if ('underline' == a || 'strikethrough' == a) {
 
-                 for (
 
-                   var d, e = c;
 
-                   e && !domUtils.isBlockElm(e) && !domUtils.isBody(e);
 
-                 ) {
 
-                   if (
 
-                     1 == e.nodeType &&
 
-                     ((d = domUtils.getComputedStyle(e, b)), 'none' != d)
 
-                   )
 
-                     return d
 
-                   e = e.parentNode
 
-                 }
 
-                 return 'none'
 
-               }
 
-               if ('fontborder' == a) {
 
-                 for (var f, g = c; g && dtd.$inline[g.tagName]; ) {
 
-                   if (
 
-                     (f = domUtils.getComputedStyle(g, 'border')) &&
 
-                     /1px/.test(f) &&
 
-                     /solid/.test(f)
 
-                   )
 
-                     return f
 
-                   g = g.parentNode
 
-                 }
 
-                 return ''
 
-               }
 
-               if ('FontSize' == a) {
 
-                 var h = domUtils.getComputedStyle(c, b),
 
-                   g = /^([\d\.]+)(\w+)$/.exec(h)
 
-                 return g ? Math.floor(g[1]) + g[2] : h
 
-               }
 
-               return domUtils.getComputedStyle(c, b)
 
-             },
 
-             queryCommandState: function (a) {
 
-               if (!f[a]) return 0
 
-               var b = this.queryCommandValue(a)
 
-               return 'fontborder' == a
 
-                 ? /1px/.test(b) && /solid/.test(b)
 
-                 : 'underline' == a
 
-                 ? /underline/.test(b)
 
-                 : /line\-through/.test(b)
 
-             }
 
-           }
 
-         })(h, e[h])
 
-     }),
 
-     (UE.plugins.link = function () {
 
-       function a(a) {
 
-         var b = a.startContainer,
 
-           c = a.endContainer
 
-         ;(b = domUtils.findParentByTagName(b, 'a', !0)) && a.setStartBefore(b),
 
-           (c = domUtils.findParentByTagName(c, 'a', !0)) && a.setEndAfter(c)
 
-       }
 
-       function b(b, c, d) {
 
-         var e = b.cloneRange(),
 
-           f = d.queryCommandValue('link')
 
-         a((b = b.adjustmentBoundary()))
 
-         var g = b.startContainer
 
-         if (
 
-           (1 == g.nodeType &&
 
-             f &&
 
-             ((g = g.childNodes[b.startOffset]),
 
-             g &&
 
-               1 == g.nodeType &&
 
-               'A' == g.tagName &&
 
-               /^(?:https?|ftp|file)\s*:\s*\/\//.test(
 
-                 g[browser.ie ? 'innerText' : 'textContent']
 
-               ) &&
 
-               (g[browser.ie ? 'innerText' : 'textContent'] = utils.html(
 
-                 c.textValue || c.href
 
-               ))),
 
-           (e.collapsed && !f) ||
 
-             (b.removeInlineStyle('a'), (e = b.cloneRange())),
 
-           e.collapsed)
 
-         ) {
 
-           var h = b.document.createElement('a'),
 
-             i = ''
 
-           c.textValue
 
-             ? ((i = utils.html(c.textValue)), delete c.textValue)
 
-             : (i = utils.html(c.href)),
 
-             domUtils.setAttributes(h, c),
 
-             (g = domUtils.findParentByTagName(e.startContainer, 'a', !0)),
 
-             g &&
 
-               domUtils.isInNodeEndBoundary(e, g) &&
 
-               b.setStartAfter(g).collapse(!0),
 
-             (h[browser.ie ? 'innerText' : 'textContent'] = i),
 
-             b.insertNode(h).selectNode(h)
 
-         } else b.applyInlineStyle('a', c)
 
-       }
 
-       ;(UE.commands.unlink = {
 
-         execCommand: function () {
 
-           var b,
 
-             c = this.selection.getRange()
 
-           ;(c.collapsed &&
 
-             !domUtils.findParentByTagName(c.startContainer, 'a', !0)) ||
 
-             ((b = c.createBookmark()),
 
-             a(c),
 
-             c.removeInlineStyle('a').moveToBookmark(b).select())
 
-         },
 
-         queryCommandState: function () {
 
-           return !this.highlight && this.queryCommandValue('link') ? 0 : -1
 
-         }
 
-       }),
 
-         (UE.commands.link = {
 
-           execCommand: function (a, c) {
 
-             var d
 
-             c._href && (c._href = utils.unhtml(c._href, /[<">]/g)),
 
-               c.href && (c.href = utils.unhtml(c.href, /[<">]/g)),
 
-               c.textValue &&
 
-                 (c.textValue = utils.unhtml(c.textValue, /[<">]/g)),
 
-               b((d = this.selection.getRange()), c, this),
 
-               d.collapse().select(!0)
 
-           },
 
-           queryCommandValue: function () {
 
-             var a,
 
-               b = this.selection.getRange()
 
-             if (!b.collapsed) {
 
-               b.shrinkBoundary()
 
-               var c =
 
-                   3 != b.startContainer.nodeType &&
 
-                   b.startContainer.childNodes[b.startOffset]
 
-                     ? b.startContainer.childNodes[b.startOffset]
 
-                     : b.startContainer,
 
-                 d =
 
-                   3 == b.endContainer.nodeType || 0 == b.endOffset
 
-                     ? b.endContainer
 
-                     : b.endContainer.childNodes[b.endOffset - 1],
 
-                 e = b.getCommonAncestor()
 
-               if (
 
-                 ((a = domUtils.findParentByTagName(e, 'a', !0)),
 
-                 !a && 1 == e.nodeType)
 
-               )
 
-                 for (
 
-                   var f, g, h, i = e.getElementsByTagName('a'), j = 0;
 
-                   (h = i[j++]);
 
-                 )
 
-                   if (
 
-                     ((f = domUtils.getPosition(h, c)),
 
-                     (g = domUtils.getPosition(h, d)),
 
-                     (f & domUtils.POSITION_FOLLOWING ||
 
-                       f & domUtils.POSITION_CONTAINS) &&
 
-                       (g & domUtils.POSITION_PRECEDING ||
 
-                         g & domUtils.POSITION_CONTAINS))
 
-                   ) {
 
-                     a = h
 
-                     break
 
-                   }
 
-               return a
 
-             }
 
-             if (
 
-               ((a = b.startContainer),
 
-               (a = 1 == a.nodeType ? a : a.parentNode),
 
-               a &&
 
-                 (a = domUtils.findParentByTagName(a, 'a', !0)) &&
 
-                 !domUtils.isInNodeEndBoundary(b, a))
 
-             )
 
-               return a
 
-           },
 
-           queryCommandState: function () {
 
-             var a = this.selection.getRange().getClosedNode(),
 
-               b =
 
-                 a &&
 
-                 ('edui-faked-video' == a.className ||
 
-                   a.className.indexOf('edui-upload-video') != -1)
 
-             return b ? -1 : 0
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.insertframe = function () {
 
-       function a() {
 
-         b._iframe && delete b._iframe
 
-       }
 
-       var b = this
 
-       b.addListener('selectionchange', function () {
 
-         a()
 
-       })
 
-     }),
 
-     (UE.commands.scrawl = {
 
-       queryCommandState: function () {
 
-         return browser.ie && browser.version <= 8 ? -1 : 0
 
-       }
 
-     }),
 
-     (UE.plugins.removeformat = function () {
 
-       var a = this
 
-       a.setOpt({
 
-         removeFormatTags:
 
-           'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var',
 
-         removeFormatAttributes:
 
-           'class,style,lang,width,height,align,hspace,valign'
 
-       }),
 
-         (a.commands.removeformat = {
 
-           execCommand: function (a, b, c, d, e) {
 
-             function f(a) {
 
-               if (3 == a.nodeType || 'span' != a.tagName.toLowerCase()) return 0
 
-               if (browser.ie) {
 
-                 var b = a.attributes
 
-                 if (b.length) {
 
-                   for (var c = 0, d = b.length; c < d; c++)
 
-                     if (b[c].specified) return 0
 
-                   return 1
 
-                 }
 
-               }
 
-               return !a.attributes.length
 
-             }
 
-             function g(a) {
 
-               var b = a.createBookmark()
 
-               if ((a.collapsed && a.enlarge(!0), !e)) {
 
-                 var d = domUtils.findParentByTagName(a.startContainer, 'a', !0)
 
-                 d && a.setStartBefore(d),
 
-                   (d = domUtils.findParentByTagName(a.endContainer, 'a', !0)),
 
-                   d && a.setEndAfter(d)
 
-               }
 
-               for (
 
-                 h = a.createBookmark(), p = h.start;
 
-                 (i = p.parentNode) && !domUtils.isBlockElm(i);
 
-               )
 
-                 domUtils.breakParent(p, i), domUtils.clearEmptySibling(p)
 
-               if (h.end) {
 
-                 for (p = h.end; (i = p.parentNode) && !domUtils.isBlockElm(i); )
 
-                   domUtils.breakParent(p, i), domUtils.clearEmptySibling(p)
 
-                 for (
 
-                   var g, l = domUtils.getNextDomNode(h.start, !1, m);
 
-                   l && l != h.end;
 
-                 )
 
-                   (g = domUtils.getNextDomNode(l, !0, m)),
 
-                     dtd.$empty[l.tagName.toLowerCase()] ||
 
-                       domUtils.isBookmarkNode(l) ||
 
-                       (j.test(l.tagName)
 
-                         ? c
 
-                           ? (domUtils.removeStyle(l, c),
 
-                             f(l) &&
 
-                               'text-decoration' != c &&
 
-                               domUtils.remove(l, !0))
 
-                           : domUtils.remove(l, !0)
 
-                         : dtd.$tableContent[l.tagName] ||
 
-                           dtd.$list[l.tagName] ||
 
-                           (domUtils.removeAttributes(l, k),
 
-                           f(l) && domUtils.remove(l, !0))),
 
-                     (l = g)
 
-               }
 
-               var n = h.start.parentNode
 
-               !domUtils.isBlockElm(n) ||
 
-                 dtd.$tableContent[n.tagName] ||
 
-                 dtd.$list[n.tagName] ||
 
-                 domUtils.removeAttributes(n, k),
 
-                 (n = h.end.parentNode),
 
-                 h.end &&
 
-                   domUtils.isBlockElm(n) &&
 
-                   !dtd.$tableContent[n.tagName] &&
 
-                   !dtd.$list[n.tagName] &&
 
-                   domUtils.removeAttributes(n, k),
 
-                 a.moveToBookmark(h).moveToBookmark(b)
 
-               for (
 
-                 var o, p = a.startContainer, q = a.collapsed;
 
-                 1 == p.nodeType &&
 
-                 domUtils.isEmptyNode(p) &&
 
-                 dtd.$removeEmpty[p.tagName];
 
-               )
 
-                 (o = p.parentNode),
 
-                   a.setStartBefore(p),
 
-                   a.startContainer === a.endContainer && a.endOffset--,
 
-                   domUtils.remove(p),
 
-                   (p = o)
 
-               if (!q)
 
-                 for (
 
-                   p = a.endContainer;
 
-                   1 == p.nodeType &&
 
-                   domUtils.isEmptyNode(p) &&
 
-                   dtd.$removeEmpty[p.tagName];
 
-                 )
 
-                   (o = p.parentNode),
 
-                     a.setEndBefore(p),
 
-                     domUtils.remove(p),
 
-                     (p = o)
 
-             }
 
-             var h,
 
-               i,
 
-               j = new RegExp(
 
-                 '^(?:' +
 
-                   (b || this.options.removeFormatTags).replace(/,/g, '|') +
 
-                   ')$',
 
-                 'i'
 
-               ),
 
-               k = c
 
-                 ? []
 
-                 : (d || this.options.removeFormatAttributes).split(','),
 
-               l = new dom.Range(this.document),
 
-               m = function (a) {
 
-                 return 1 == a.nodeType
 
-               }
 
-             ;(l = this.selection.getRange()), g(l), l.select()
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.blockquote = function () {
 
-       function a(a) {
 
-         return domUtils.filterNodeList(
 
-           a.selection.getStartElementPath(),
 
-           'blockquote'
 
-         )
 
-       }
 
-       var b = this
 
-       b.commands.blockquote = {
 
-         execCommand: function (b, c) {
 
-           var d = this.selection.getRange(),
 
-             e = a(this),
 
-             f = dtd.blockquote,
 
-             g = d.createBookmark()
 
-           if (e) {
 
-             var h = d.startContainer,
 
-               i = domUtils.isBlockElm(h)
 
-                 ? h
 
-                 : domUtils.findParent(h, function (a) {
 
-                     return domUtils.isBlockElm(a)
 
-                   }),
 
-               j = d.endContainer,
 
-               k = domUtils.isBlockElm(j)
 
-                 ? j
 
-                 : domUtils.findParent(j, function (a) {
 
-                     return domUtils.isBlockElm(a)
 
-                   })
 
-             ;(i = domUtils.findParentByTagName(i, 'li', !0) || i),
 
-               (k = domUtils.findParentByTagName(k, 'li', !0) || k),
 
-               'LI' == i.tagName ||
 
-               'TD' == i.tagName ||
 
-               i === e ||
 
-               domUtils.isBody(i)
 
-                 ? domUtils.remove(e, !0)
 
-                 : domUtils.breakParent(i, e),
 
-               i !== k &&
 
-                 ((e = domUtils.findParentByTagName(k, 'blockquote')),
 
-                 e &&
 
-                   ('LI' == k.tagName || 'TD' == k.tagName || domUtils.isBody(k)
 
-                     ? e.parentNode && domUtils.remove(e, !0)
 
-                     : domUtils.breakParent(k, e)))
 
-             for (
 
-               var l,
 
-                 m = domUtils.getElementsByTagName(this.document, 'blockquote'),
 
-                 n = 0;
 
-               (l = m[n++]);
 
-             )
 
-               l.childNodes.length
 
-                 ? domUtils.getPosition(l, i) & domUtils.POSITION_FOLLOWING &&
 
-                   domUtils.getPosition(l, k) & domUtils.POSITION_PRECEDING &&
 
-                   domUtils.remove(l, !0)
 
-                 : domUtils.remove(l)
 
-           } else {
 
-             for (
 
-               var o = d.cloneRange(),
 
-                 p =
 
-                   1 == o.startContainer.nodeType
 
-                     ? o.startContainer
 
-                     : o.startContainer.parentNode,
 
-                 q = p,
 
-                 r = 1;
 
-               ;
 
-             ) {
 
-               if (domUtils.isBody(p)) {
 
-                 q !== p
 
-                   ? d.collapsed
 
-                     ? (o.selectNode(q), (r = 0))
 
-                     : o.setStartBefore(q)
 
-                   : o.setStart(p, 0)
 
-                 break
 
-               }
 
-               if (!f[p.tagName]) {
 
-                 d.collapsed ? o.selectNode(q) : o.setStartBefore(q)
 
-                 break
 
-               }
 
-               ;(q = p), (p = p.parentNode)
 
-             }
 
-             if (r)
 
-               for (
 
-                 q =
 
-                   p =
 
-                   p =
 
-                     1 == o.endContainer.nodeType
 
-                       ? o.endContainer
 
-                       : o.endContainer.parentNode;
 
-                 ;
 
-               ) {
 
-                 if (domUtils.isBody(p)) {
 
-                   q !== p ? o.setEndAfter(q) : o.setEnd(p, p.childNodes.length)
 
-                   break
 
-                 }
 
-                 if (!f[p.tagName]) {
 
-                   o.setEndAfter(q)
 
-                   break
 
-                 }
 
-                 ;(q = p), (p = p.parentNode)
 
-               }
 
-             ;(p = d.document.createElement('blockquote')),
 
-               domUtils.setAttributes(p, c),
 
-               p.appendChild(o.extractContents()),
 
-               o.insertNode(p)
 
-             for (
 
-               var s, t = domUtils.getElementsByTagName(p, 'blockquote'), n = 0;
 
-               (s = t[n++]);
 
-             )
 
-               s.parentNode && domUtils.remove(s, !0)
 
-           }
 
-           d.moveToBookmark(g).select()
 
-         },
 
-         queryCommandState: function () {
 
-           return a(this) ? 1 : 0
 
-         }
 
-       }
 
-     }),
 
-     (UE.commands.touppercase = UE.commands.tolowercase =
 
-       {
 
-         execCommand: function (a) {
 
-           var b = this,
 
-             c = b.selection.getRange()
 
-           if (c.collapsed) return c
 
-           for (
 
-             var d = c.createBookmark(),
 
-               e = d.end,
 
-               f = function (a) {
 
-                 return !domUtils.isBr(a) && !domUtils.isWhitespace(a)
 
-               },
 
-               g = domUtils.getNextDomNode(d.start, !1, f);
 
-             g &&
 
-             domUtils.getPosition(g, e) & domUtils.POSITION_PRECEDING &&
 
-             (3 == g.nodeType &&
 
-               (g.nodeValue =
 
-                 g.nodeValue[
 
-                   'touppercase' == a ? 'toUpperCase' : 'toLowerCase'
 
-                 ]()),
 
-             (g = domUtils.getNextDomNode(g, !0, f)),
 
-             g !== e);
 
-           );
 
-           c.moveToBookmark(d).select()
 
-         }
 
-       }),
 
-     (UE.commands.indent = {
 
-       execCommand: function () {
 
-         var a = this,
 
-           b = a.queryCommandState('indent')
 
-             ? '0em'
 
-             : a.options.indentValue || '2em'
 
-         a.execCommand('Paragraph', 'p', { style: 'text-indent:' + b })
 
-       },
 
-       queryCommandState: function () {
 
-         var a = domUtils.filterNodeList(
 
-           this.selection.getStartElementPath(),
 
-           'p h1 h2 h3 h4 h5 h6'
 
-         )
 
-         return a && a.style.textIndent && parseInt(a.style.textIndent) ? 1 : 0
 
-       }
 
-     }),
 
-     (UE.commands.print = {
 
-       execCommand: function () {
 
-         this.window.print()
 
-       },
 
-       notNeedUndo: 1
 
-     }),
 
-     (UE.commands.preview = {
 
-       execCommand: function () {
 
-         var a = window.open('', '_blank', ''),
 
-           b = a.document
 
-         b.open(),
 
-           b.write(
 
-             '<!DOCTYPE html><html><head><meta charset="utf-8"/><script src="' +
 
-               this.options.UEDITOR_HOME_URL +
 
-               "ueditor.parse.js\"></script><script>setTimeout(function(){uParse('div',{rootPath: '" +
 
-               this.options.UEDITOR_HOME_URL +
 
-               "'})},300)</script></head><body><div>" +
 
-               this.getContent(null, null, !0) +
 
-               '</div></body></html>'
 
-           ),
 
-           b.close()
 
-       },
 
-       notNeedUndo: 1
 
-     }),
 
-     (UE.plugins.selectall = function () {
 
-       var a = this
 
-       ;(a.commands.selectall = {
 
-         execCommand: function () {
 
-           var a = this,
 
-             b = a.body,
 
-             c = a.selection.getRange()
 
-           c.selectNodeContents(b),
 
-             domUtils.isEmptyBlock(b) &&
 
-               (browser.opera &&
 
-                 b.firstChild &&
 
-                 1 == b.firstChild.nodeType &&
 
-                 c.setStartAtFirst(b.firstChild),
 
-               c.collapse(!0)),
 
-             c.select(!0)
 
-         },
 
-         notNeedUndo: 1
 
-       }),
 
-         a.addshortcutkey({ selectAll: 'ctrl+65' })
 
-     }),
 
-     (UE.plugins.paragraph = function () {
 
-       var a = this,
 
-         b = domUtils.isBlockElm,
 
-         c = ['TD', 'LI', 'PRE'],
 
-         d = function (a, d, e, f) {
 
-           var g,
 
-             h = a.createBookmark(),
 
-             i = function (a) {
 
-               return 1 == a.nodeType
 
-                 ? 'br' != a.tagName.toLowerCase() && !domUtils.isBookmarkNode(a)
 
-                 : !domUtils.isWhitespace(a)
 
-             }
 
-           a.enlarge(!0)
 
-           for (
 
-             var j,
 
-               k = a.createBookmark(),
 
-               l = domUtils.getNextDomNode(k.start, !1, i),
 
-               m = a.cloneRange();
 
-             l &&
 
-             !(domUtils.getPosition(l, k.end) & domUtils.POSITION_FOLLOWING);
 
-           )
 
-             if (3 != l.nodeType && b(l)) l = domUtils.getNextDomNode(l, !0, i)
 
-             else {
 
-               for (m.setStartBefore(l); l && l !== k.end && !b(l); )
 
-                 (j = l),
 
-                   (l = domUtils.getNextDomNode(l, !1, null, function (a) {
 
-                     return !b(a)
 
-                   }))
 
-               m.setEndAfter(j),
 
-                 (g = a.document.createElement(d)),
 
-                 e &&
 
-                   (domUtils.setAttributes(g, e),
 
-                   f &&
 
-                     'customstyle' == f &&
 
-                     e.style &&
 
-                     (g.style.cssText = e.style)),
 
-                 g.appendChild(m.extractContents()),
 
-                 domUtils.isEmptyNode(g) && domUtils.fillChar(a.document, g),
 
-                 m.insertNode(g)
 
-               var n = g.parentNode
 
-               b(n) &&
 
-                 !domUtils.isBody(g.parentNode) &&
 
-                 utils.indexOf(c, n.tagName) == -1 &&
 
-                 ((f && 'customstyle' == f) ||
 
-                   (n.getAttribute('dir') &&
 
-                     g.setAttribute('dir', n.getAttribute('dir')),
 
-                   n.style.cssText &&
 
-                     (g.style.cssText = n.style.cssText + ';' + g.style.cssText),
 
-                   n.style.textAlign &&
 
-                     !g.style.textAlign &&
 
-                     (g.style.textAlign = n.style.textAlign),
 
-                   n.style.textIndent &&
 
-                     !g.style.textIndent &&
 
-                     (g.style.textIndent = n.style.textIndent),
 
-                   n.style.padding &&
 
-                     !g.style.padding &&
 
-                     (g.style.padding = n.style.padding)),
 
-                 e && /h\d/i.test(n.tagName) && !/h\d/i.test(g.tagName)
 
-                   ? (domUtils.setAttributes(n, e),
 
-                     f &&
 
-                       'customstyle' == f &&
 
-                       e.style &&
 
-                       (n.style.cssText = e.style),
 
-                     domUtils.remove(g, !0),
 
-                     (g = n))
 
-                   : domUtils.remove(g.parentNode, !0)),
 
-                 (l = utils.indexOf(c, n.tagName) != -1 ? n : g),
 
-                 (l = domUtils.getNextDomNode(l, !1, i))
 
-             }
 
-           return a.moveToBookmark(k).moveToBookmark(h)
 
-         }
 
-       a.setOpt('paragraph', {
 
-         p: '',
 
-         h1: '',
 
-         h2: '',
 
-         h3: '',
 
-         h4: '',
 
-         h5: '',
 
-         h6: ''
 
-       }),
 
-         (a.commands.paragraph = {
 
-           execCommand: function (a, b, c, e) {
 
-             var f = this.selection.getRange()
 
-             if (f.collapsed) {
 
-               var g = this.document.createTextNode('p')
 
-               if ((f.insertNode(g), browser.ie)) {
 
-                 var h = g.previousSibling
 
-                 h && domUtils.isWhitespace(h) && domUtils.remove(h),
 
-                   (h = g.nextSibling),
 
-                   h && domUtils.isWhitespace(h) && domUtils.remove(h)
 
-               }
 
-             }
 
-             if (
 
-               ((f = d(f, b, c, e)),
 
-               g &&
 
-                 (f.setStartBefore(g).collapse(!0),
 
-                 (pN = g.parentNode),
 
-                 domUtils.remove(g),
 
-                 domUtils.isBlockElm(pN) &&
 
-                   domUtils.isEmptyNode(pN) &&
 
-                   domUtils.fillNode(this.document, pN)),
 
-               browser.gecko && f.collapsed && 1 == f.startContainer.nodeType)
 
-             ) {
 
-               var i = f.startContainer.childNodes[f.startOffset]
 
-               i &&
 
-                 1 == i.nodeType &&
 
-                 i.tagName.toLowerCase() == b &&
 
-                 f.setStart(i, 0).collapse(!0)
 
-             }
 
-             return f.select(), !0
 
-           },
 
-           queryCommandValue: function () {
 
-             var a = domUtils.filterNodeList(
 
-               this.selection.getStartElementPath(),
 
-               'p h1 h2 h3 h4 h5 h6'
 
-             )
 
-             return a ? a.tagName.toLowerCase() : ''
 
-           }
 
-         })
 
-     }),
 
-     (function () {
 
-       var a = domUtils.isBlockElm,
 
-         b = function (a) {
 
-           return domUtils.filterNodeList(
 
-             a.selection.getStartElementPath(),
 
-             function (a) {
 
-               return a && 1 == a.nodeType && a.getAttribute('dir')
 
-             }
 
-           )
 
-         },
 
-         c = function (c, d, e) {
 
-           var f,
 
-             g = function (a) {
 
-               return 1 == a.nodeType
 
-                 ? !domUtils.isBookmarkNode(a)
 
-                 : !domUtils.isWhitespace(a)
 
-             },
 
-             h = b(d)
 
-           if (h && c.collapsed) return h.setAttribute('dir', e), c
 
-           ;(f = c.createBookmark()), c.enlarge(!0)
 
-           for (
 
-             var i,
 
-               j = c.createBookmark(),
 
-               k = domUtils.getNextDomNode(j.start, !1, g),
 
-               l = c.cloneRange();
 
-             k &&
 
-             !(domUtils.getPosition(k, j.end) & domUtils.POSITION_FOLLOWING);
 
-           )
 
-             if (3 != k.nodeType && a(k)) k = domUtils.getNextDomNode(k, !0, g)
 
-             else {
 
-               for (l.setStartBefore(k); k && k !== j.end && !a(k); )
 
-                 (i = k),
 
-                   (k = domUtils.getNextDomNode(k, !1, null, function (b) {
 
-                     return !a(b)
 
-                   }))
 
-               l.setEndAfter(i)
 
-               var m = l.getCommonAncestor()
 
-               if (!domUtils.isBody(m) && a(m)) m.setAttribute('dir', e), (k = m)
 
-               else {
 
-                 var n = c.document.createElement('p')
 
-                 n.setAttribute('dir', e)
 
-                 var o = l.extractContents()
 
-                 n.appendChild(o), l.insertNode(n), (k = n)
 
-               }
 
-               k = domUtils.getNextDomNode(k, !1, g)
 
-             }
 
-           return c.moveToBookmark(j).moveToBookmark(f)
 
-         }
 
-       UE.commands.directionality = {
 
-         execCommand: function (a, b) {
 
-           var d = this.selection.getRange()
 
-           if (d.collapsed) {
 
-             var e = this.document.createTextNode('d')
 
-             d.insertNode(e)
 
-           }
 
-           return (
 
-             c(d, this, b),
 
-             e && (d.setStartBefore(e).collapse(!0), domUtils.remove(e)),
 
-             d.select(),
 
-             !0
 
-           )
 
-         },
 
-         queryCommandValue: function () {
 
-           var a = b(this)
 
-           return a ? a.getAttribute('dir') : 'ltr'
 
-         }
 
-       }
 
-     })(),
 
-     (UE.plugins.horizontal = function () {
 
-       var a = this
 
-       ;(a.commands.horizontal = {
 
-         execCommand: function (a) {
 
-           var b = this
 
-           if (b.queryCommandState(a) !== -1) {
 
-             b.execCommand('insertHtml', '<hr>')
 
-             var c = b.selection.getRange(),
 
-               d = c.startContainer
 
-             if (1 == d.nodeType && !d.childNodes[c.startOffset]) {
 
-               var e
 
-               ;(e = d.childNodes[c.startOffset - 1]) &&
 
-                 1 == e.nodeType &&
 
-                 'HR' == e.tagName &&
 
-                 ('p' == b.options.enterTag
 
-                   ? ((e = b.document.createElement('p')),
 
-                     c.insertNode(e),
 
-                     c.setStart(e, 0).setCursor())
 
-                   : ((e = b.document.createElement('br')),
 
-                     c.insertNode(e),
 
-                     c.setStartBefore(e).setCursor()))
 
-             }
 
-             return !0
 
-           }
 
-         },
 
-         queryCommandState: function () {
 
-           return domUtils.filterNodeList(
 
-             this.selection.getStartElementPath(),
 
-             'table'
 
-           )
 
-             ? -1
 
-             : 0
 
-         }
 
-       }),
 
-         a.addListener('delkeydown', function (a, b) {
 
-           var c = this.selection.getRange()
 
-           if ((c.txtToElmBoundary(!0), domUtils.isStartInblock(c))) {
 
-             var d = c.startContainer,
 
-               e = d.previousSibling
 
-             if (e && domUtils.isTagNode(e, 'hr'))
 
-               return (
 
-                 domUtils.remove(e), c.select(), domUtils.preventDefault(b), !0
 
-               )
 
-           }
 
-         })
 
-     }),
 
-     (UE.commands.time = UE.commands.date =
 
-       {
 
-         execCommand: function (a, b) {
 
-           function c(a, b) {
 
-             var c = ('0' + a.getHours()).slice(-2),
 
-               d = ('0' + a.getMinutes()).slice(-2),
 
-               e = ('0' + a.getSeconds()).slice(-2)
 
-             return (
 
-               (b = b || 'hh:ii:ss'),
 
-               b.replace(/hh/gi, c).replace(/ii/gi, d).replace(/ss/gi, e)
 
-             )
 
-           }
 
-           function d(a, b) {
 
-             var c = ('000' + a.getFullYear()).slice(-4),
 
-               d = c.slice(-2),
 
-               e = ('0' + (a.getMonth() + 1)).slice(-2),
 
-               f = ('0' + a.getDate()).slice(-2)
 
-             return (
 
-               (b = b || 'yyyy-mm-dd'),
 
-               b
 
-                 .replace(/yyyy/gi, c)
 
-                 .replace(/yy/gi, d)
 
-                 .replace(/mm/gi, e)
 
-                 .replace(/dd/gi, f)
 
-             )
 
-           }
 
-           var e = new Date()
 
-           this.execCommand('insertHtml', 'time' == a ? c(e, b) : d(e, b))
 
-         }
 
-       }),
 
-     (UE.plugins.rowspacing = function () {
 
-       var a = this
 
-       a.setOpt({
 
-         rowspacingtop: ['5', '10', '15', '20', '25'],
 
-         rowspacingbottom: ['5', '10', '15', '20', '25']
 
-       }),
 
-         (a.commands.rowspacing = {
 
-           execCommand: function (a, b, c) {
 
-             return (
 
-               this.execCommand('paragraph', 'p', {
 
-                 style: 'margin-' + c + ':' + b + 'px'
 
-               }),
 
-               !0
 
-             )
 
-           },
 
-           queryCommandValue: function (a, b) {
 
-             var c,
 
-               d = domUtils.filterNodeList(
 
-                 this.selection.getStartElementPath(),
 
-                 function (a) {
 
-                   return domUtils.isBlockElm(a)
 
-                 }
 
-               )
 
-             return d
 
-               ? ((c = domUtils
 
-                   .getComputedStyle(d, 'margin-' + b)
 
-                   .replace(/[^\d]/g, '')),
 
-                 c ? c : 0)
 
-               : 0
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.lineheight = function () {
 
-       var a = this
 
-       a.setOpt({ lineheight: ['1', '1.5', '1.75', '2', '3', '4', '5'] }),
 
-         (a.commands.lineheight = {
 
-           execCommand: function (a, b) {
 
-             return (
 
-               this.execCommand('paragraph', 'p', {
 
-                 style: 'line-height:' + ('1' == b ? 'normal' : b + 'em')
 
-               }),
 
-               !0
 
-             )
 
-           },
 
-           queryCommandValue: function () {
 
-             var a = domUtils.filterNodeList(
 
-               this.selection.getStartElementPath(),
 
-               function (a) {
 
-                 return domUtils.isBlockElm(a)
 
-               }
 
-             )
 
-             if (a) {
 
-               var b = domUtils.getComputedStyle(a, 'line-height')
 
-               return 'normal' == b ? 1 : b.replace(/[^\d.]*/gi, '')
 
-             }
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.insertcode = function () {
 
-       var a = this
 
-       a.ready(function () {
 
-         utils.cssRule(
 
-           'pre',
 
-           'pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}',
 
-           a.document
 
-         )
 
-       }),
 
-         a.setOpt('insertcode', {
 
-           as3: 'ActionScript3',
 
-           bash: 'Bash/Shell',
 
-           cpp: 'C/C++',
 
-           css: 'Css',
 
-           cf: 'CodeFunction',
 
-           'c#': 'C#',
 
-           delphi: 'Delphi',
 
-           diff: 'Diff',
 
-           erlang: 'Erlang',
 
-           groovy: 'Groovy',
 
-           html: 'Html',
 
-           java: 'Java',
 
-           jfx: 'JavaFx',
 
-           js: 'Javascript',
 
-           pl: 'Perl',
 
-           php: 'Php',
 
-           plain: 'Plain Text',
 
-           ps: 'PowerShell',
 
-           python: 'Python',
 
-           ruby: 'Ruby',
 
-           scala: 'Scala',
 
-           sql: 'Sql',
 
-           vb: 'Vb',
 
-           xml: 'Xml'
 
-         }),
 
-         (a.commands.insertcode = {
 
-           execCommand: function (a, b) {
 
-             var c = this,
 
-               d = c.selection.getRange(),
 
-               e = domUtils.findParentByTagName(d.startContainer, 'pre', !0)
 
-             if (e) e.className = 'brush:' + b + ';toolbar:false;'
 
-             else {
 
-               var f = ''
 
-               if (d.collapsed)
 
-                 f =
 
-                   browser.ie && browser.ie11below
 
-                     ? browser.version <= 8
 
-                       ? ' '
 
-                       : ''
 
-                     : '<br/>'
 
-               else {
 
-                 var g = d.extractContents(),
 
-                   h = c.document.createElement('div')
 
-                 h.appendChild(g),
 
-                   utils.each(
 
-                     UE.filterNode(
 
-                       UE.htmlparser(h.innerHTML.replace(/[\r\t]/g, '')),
 
-                       c.options.filterTxtRules
 
-                     ).children,
 
-                     function (a) {
 
-                       if (
 
-                         browser.ie &&
 
-                         browser.ie11below &&
 
-                         browser.version > 8
 
-                       )
 
-                         'element' == a.type
 
-                           ? 'br' == a.tagName
 
-                             ? (f += '\n')
 
-                             : dtd.$empty[a.tagName] ||
 
-                               (utils.each(a.children, function (b) {
 
-                                 'element' == b.type
 
-                                   ? 'br' == b.tagName
 
-                                     ? (f += '\n')
 
-                                     : dtd.$empty[a.tagName] ||
 
-                                       (f += b.innerText())
 
-                                   : (f += b.data)
 
-                               }),
 
-                               /\n$/.test(f) || (f += '\n'))
 
-                           : (f += a.data + '\n'),
 
-                           !a.nextSibling() &&
 
-                             /\n$/.test(f) &&
 
-                             (f = f.replace(/\n$/, ''))
 
-                       else if (browser.ie && browser.ie11below)
 
-                         'element' == a.type
 
-                           ? 'br' == a.tagName
 
-                             ? (f += '<br>')
 
-                             : dtd.$empty[a.tagName] ||
 
-                               (utils.each(a.children, function (b) {
 
-                                 'element' == b.type
 
-                                   ? 'br' == b.tagName
 
-                                     ? (f += '<br>')
 
-                                     : dtd.$empty[a.tagName] ||
 
-                                       (f += b.innerText())
 
-                                   : (f += b.data)
 
-                               }),
 
-                               /br>$/.test(f) || (f += '<br>'))
 
-                           : (f += a.data + '<br>'),
 
-                           !a.nextSibling() &&
 
-                             /<br>$/.test(f) &&
 
-                             (f = f.replace(/<br>$/, ''))
 
-                       else if (
 
-                         ((f +=
 
-                           'element' == a.type
 
-                             ? dtd.$empty[a.tagName]
 
-                               ? ''
 
-                               : a.innerText()
 
-                             : a.data),
 
-                         !/br\/?\s*>$/.test(f))
 
-                       ) {
 
-                         if (!a.nextSibling()) return
 
-                         f += '<br>'
 
-                       }
 
-                     }
 
-                   )
 
-               }
 
-               c.execCommand(
 
-                 'inserthtml',
 
-                 '<pre id="coder"class="brush:' +
 
-                   b +
 
-                   ';toolbar:false">' +
 
-                   f +
 
-                   '</pre>',
 
-                 !0
 
-               ),
 
-                 (e = c.document.getElementById('coder')),
 
-                 domUtils.removeAttributes(e, 'id')
 
-               var i = e.previousSibling
 
-               i &&
 
-                 ((3 == i.nodeType &&
 
-                   1 == i.nodeValue.length &&
 
-                   browser.ie &&
 
-                   6 == browser.version) ||
 
-                   domUtils.isEmptyBlock(i)) &&
 
-                 domUtils.remove(i)
 
-               var d = c.selection.getRange()
 
-               domUtils.isEmptyBlock(e)
 
-                 ? d.setStart(e, 0).setCursor(!1, !0)
 
-                 : d.selectNodeContents(e).select()
 
-             }
 
-           },
 
-           queryCommandValue: function () {
 
-             var a = this.selection.getStartElementPath(),
 
-               b = ''
 
-             return (
 
-               utils.each(a, function (a) {
 
-                 if ('PRE' == a.nodeName) {
 
-                   var c = a.className.match(/brush:([^;]+)/)
 
-                   return (b = c && c[1] ? c[1] : ''), !1
 
-                 }
 
-               }),
 
-               b
 
-             )
 
-           }
 
-         }),
 
-         a.addInputRule(function (a) {
 
-           utils.each(a.getNodesByTagName('pre'), function (a) {
 
-             var b = a.getNodesByTagName('br')
 
-             if (b.length)
 
-               return void (
 
-                 browser.ie &&
 
-                 browser.ie11below &&
 
-                 browser.version > 8 &&
 
-                 utils.each(b, function (a) {
 
-                   var b = UE.uNode.createText('\n')
 
-                   a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a)
 
-                 })
 
-               )
 
-             if (!(browser.ie && browser.ie11below && browser.version > 8)) {
 
-               var c = a.innerText().split(/\n/)
 
-               a.innerHTML(''),
 
-                 utils.each(c, function (b) {
 
-                   b.length && a.appendChild(UE.uNode.createText(b)),
 
-                     a.appendChild(UE.uNode.createElement('br'))
 
-                 })
 
-             }
 
-           })
 
-         }),
 
-         a.addOutputRule(function (a) {
 
-           utils.each(a.getNodesByTagName('pre'), function (a) {
 
-             var b = ''
 
-             utils.each(a.children, function (a) {
 
-               b +=
 
-                 'text' == a.type
 
-                   ? a.data.replace(/[ ]/g, ' ').replace(/\n$/, '')
 
-                   : 'br' == a.tagName
 
-                   ? '\n'
 
-                   : dtd.$empty[a.tagName]
 
-                   ? a.innerText()
 
-                   : ''
 
-             }),
 
-               a.innerText(b.replace(/( |\n)+$/, ''))
 
-           })
 
-         }),
 
-         (a.notNeedCodeQuery = {
 
-           help: 1,
 
-           undo: 1,
 
-           redo: 1,
 
-           source: 1,
 
-           print: 1,
 
-           searchreplace: 1,
 
-           fullscreen: 1,
 
-           preview: 1,
 
-           insertparagraph: 1,
 
-           elementpath: 1,
 
-           insertcode: 1,
 
-           inserthtml: 1,
 
-           selectall: 1
 
-         })
 
-       a.queryCommandState
 
-       ;(a.queryCommandState = function (a) {
 
-         var b = this
 
-         return !b.notNeedCodeQuery[a.toLowerCase()] &&
 
-           b.selection &&
 
-           b.queryCommandValue('insertcode')
 
-           ? -1
 
-           : UE.Editor.prototype.queryCommandState.apply(this, arguments)
 
-       }),
 
-         a.addListener('beforeenterkeydown', function () {
 
-           var b = a.selection.getRange(),
 
-             c = domUtils.findParentByTagName(b.startContainer, 'pre', !0)
 
-           if (c) {
 
-             if (
 
-               (a.fireEvent('saveScene'),
 
-               b.collapsed || b.deleteContents(),
 
-               !browser.ie || browser.ie9above)
 
-             ) {
 
-               var c,
 
-                 d = a.document.createElement('br')
 
-               b.insertNode(d).setStartAfter(d).collapse(!0)
 
-               var e = d.nextSibling
 
-               e || (browser.ie && !(browser.version > 10))
 
-                 ? b.setStartAfter(d)
 
-                 : b.insertNode(d.cloneNode(!1)),
 
-                 (c = d.previousSibling)
 
-               for (var f; c; )
 
-                 if (
 
-                   ((f = c), (c = c.previousSibling), !c || 'BR' == c.nodeName)
 
-                 ) {
 
-                   c = f
 
-                   break
 
-                 }
 
-               if (c) {
 
-                 for (
 
-                   var g = '';
 
-                   c &&
 
-                   'BR' != c.nodeName &&
 
-                   new RegExp('^[\\s' + domUtils.fillChar + ']*$').test(
 
-                     c.nodeValue
 
-                   );
 
-                 )
 
-                   (g += c.nodeValue), (c = c.nextSibling)
 
-                 if ('BR' != c.nodeName) {
 
-                   var h = c.nodeValue.match(
 
-                     new RegExp('^([\\s' + domUtils.fillChar + ']+)')
 
-                   )
 
-                   h && h[1] && (g += h[1])
 
-                 }
 
-                 g &&
 
-                   ((g = a.document.createTextNode(g)),
 
-                   b.insertNode(g).setStartAfter(g))
 
-               }
 
-               b.collapse(!0).select(!0)
 
-             } else if (browser.version > 8) {
 
-               var i = a.document.createTextNode('\n'),
 
-                 j = b.startContainer
 
-               if (0 == b.startOffset) {
 
-                 var k = j.previousSibling
 
-                 if (k) {
 
-                   b.insertNode(i)
 
-                   var l = a.document.createTextNode(' ')
 
-                   b.setStartAfter(i)
 
-                     .insertNode(l)
 
-                     .setStart(l, 0)
 
-                     .collapse(!0)
 
-                     .select(!0)
 
-                 }
 
-               } else {
 
-                 b.insertNode(i).setStartAfter(i)
 
-                 var l = a.document.createTextNode(' ')
 
-                 ;(j = b.startContainer.childNodes[b.startOffset]),
 
-                   j && !/^\n/.test(j.nodeValue) && b.setStartBefore(i),
 
-                   b.insertNode(l).setStart(l, 0).collapse(!0).select(!0)
 
-               }
 
-             } else {
 
-               var d = a.document.createElement('br')
 
-               b.insertNode(d),
 
-                 b.insertNode(a.document.createTextNode(domUtils.fillChar)),
 
-                 b.setStartAfter(d),
 
-                 (c = d.previousSibling)
 
-               for (var f; c; )
 
-                 if (
 
-                   ((f = c), (c = c.previousSibling), !c || 'BR' == c.nodeName)
 
-                 ) {
 
-                   c = f
 
-                   break
 
-                 }
 
-               if (c) {
 
-                 for (
 
-                   var g = '';
 
-                   c &&
 
-                   'BR' != c.nodeName &&
 
-                   new RegExp('^[ ' + domUtils.fillChar + ']*$').test(
 
-                     c.nodeValue
 
-                   );
 
-                 )
 
-                   (g += c.nodeValue), (c = c.nextSibling)
 
-                 if ('BR' != c.nodeName) {
 
-                   var h = c.nodeValue.match(
 
-                     new RegExp('^([ ' + domUtils.fillChar + ']+)')
 
-                   )
 
-                   h && h[1] && (g += h[1])
 
-                 }
 
-                 ;(g = a.document.createTextNode(g)),
 
-                   b.insertNode(g).setStartAfter(g)
 
-               }
 
-               b.collapse(!0).select()
 
-             }
 
-             return a.fireEvent('saveScene'), !0
 
-           }
 
-         }),
 
-         a.addListener('tabkeydown', function (b, c) {
 
-           var d = a.selection.getRange(),
 
-             e = domUtils.findParentByTagName(d.startContainer, 'pre', !0)
 
-           if (e) {
 
-             if ((a.fireEvent('saveScene'), c.shiftKey));
 
-             else if (d.collapsed) {
 
-               var f = a.document.createTextNode('    ')
 
-               d.insertNode(f).setStartAfter(f).collapse(!0).select(!0)
 
-             } else {
 
-               for (
 
-                 var g = d.createBookmark(), h = g.start.previousSibling;
 
-                 h;
 
-               ) {
 
-                 if (e.firstChild === h && !domUtils.isBr(h)) {
 
-                   e.insertBefore(a.document.createTextNode('    '), h)
 
-                   break
 
-                 }
 
-                 if (domUtils.isBr(h)) {
 
-                   e.insertBefore(
 
-                     a.document.createTextNode('    '),
 
-                     h.nextSibling
 
-                   )
 
-                   break
 
-                 }
 
-                 h = h.previousSibling
 
-               }
 
-               var i = g.end
 
-               for (
 
-                 h = g.start.nextSibling,
 
-                   e.firstChild === g.start &&
 
-                     e.insertBefore(
 
-                       a.document.createTextNode('    '),
 
-                       h.nextSibling
 
-                     );
 
-                 h && h !== i;
 
-               ) {
 
-                 if (domUtils.isBr(h) && h.nextSibling) {
 
-                   if (h.nextSibling === i) break
 
-                   e.insertBefore(
 
-                     a.document.createTextNode('    '),
 
-                     h.nextSibling
 
-                   )
 
-                 }
 
-                 h = h.nextSibling
 
-               }
 
-               d.moveToBookmark(g).select()
 
-             }
 
-             return a.fireEvent('saveScene'), !0
 
-           }
 
-         }),
 
-         a.addListener('beforeinserthtml', function (a, b) {
 
-           var c = this,
 
-             d = c.selection.getRange(),
 
-             e = domUtils.findParentByTagName(d.startContainer, 'pre', !0)
 
-           if (e) {
 
-             d.collapsed || d.deleteContents()
 
-             var f = ''
 
-             if (browser.ie && browser.version > 8) {
 
-               utils.each(
 
-                 UE.filterNode(UE.htmlparser(b), c.options.filterTxtRules)
 
-                   .children,
 
-                 function (a) {
 
-                   'element' == a.type
 
-                     ? 'br' == a.tagName
 
-                       ? (f += '\n')
 
-                       : dtd.$empty[a.tagName] ||
 
-                         (utils.each(a.children, function (b) {
 
-                           'element' == b.type
 
-                             ? 'br' == b.tagName
 
-                               ? (f += '\n')
 
-                               : dtd.$empty[a.tagName] || (f += b.innerText())
 
-                             : (f += b.data)
 
-                         }),
 
-                         /\n$/.test(f) || (f += '\n'))
 
-                     : (f += a.data + '\n'),
 
-                     !a.nextSibling() &&
 
-                       /\n$/.test(f) &&
 
-                       (f = f.replace(/\n$/, ''))
 
-                 }
 
-               )
 
-               var g = c.document.createTextNode(
 
-                 utils.html(f.replace(/ /g, ' '))
 
-               )
 
-               d.insertNode(g).selectNode(g).select()
 
-             } else {
 
-               var h = c.document.createDocumentFragment()
 
-               utils.each(
 
-                 UE.filterNode(UE.htmlparser(b), c.options.filterTxtRules)
 
-                   .children,
 
-                 function (a) {
 
-                   'element' == a.type
 
-                     ? 'br' == a.tagName
 
-                       ? h.appendChild(c.document.createElement('br'))
 
-                       : dtd.$empty[a.tagName] ||
 
-                         (utils.each(a.children, function (b) {
 
-                           'element' == b.type
 
-                             ? 'br' == b.tagName
 
-                               ? h.appendChild(c.document.createElement('br'))
 
-                               : dtd.$empty[a.tagName] ||
 
-                                 h.appendChild(
 
-                                   c.document.createTextNode(
 
-                                     utils.html(
 
-                                       b.innerText().replace(/ /g, ' ')
 
-                                     )
 
-                                   )
 
-                                 )
 
-                             : h.appendChild(
 
-                                 c.document.createTextNode(
 
-                                   utils.html(b.data.replace(/ /g, ' '))
 
-                                 )
 
-                               )
 
-                         }),
 
-                         'BR' != h.lastChild.nodeName &&
 
-                           h.appendChild(c.document.createElement('br')))
 
-                     : h.appendChild(
 
-                         c.document.createTextNode(
 
-                           utils.html(a.data.replace(/ /g, ' '))
 
-                         )
 
-                       ),
 
-                     a.nextSibling() ||
 
-                       'BR' != h.lastChild.nodeName ||
 
-                       h.removeChild(h.lastChild)
 
-                 }
 
-               ),
 
-                 d.insertNode(h).select()
 
-             }
 
-             return !0
 
-           }
 
-         }),
 
-         a.addListener('keydown', function (a, b) {
 
-           var c = this,
 
-             d = b.keyCode || b.which
 
-           if (40 == d) {
 
-             var e,
 
-               f = c.selection.getRange(),
 
-               g = f.startContainer
 
-             if (
 
-               f.collapsed &&
 
-               (e = domUtils.findParentByTagName(f.startContainer, 'pre', !0)) &&
 
-               !e.nextSibling
 
-             ) {
 
-               for (var h = e.lastChild; h && 'BR' == h.nodeName; )
 
-                 h = h.previousSibling
 
-               ;(h === g ||
 
-                 (f.startContainer === e &&
 
-                   f.startOffset == e.childNodes.length)) &&
 
-                 (c.execCommand('insertparagraph'), domUtils.preventDefault(b))
 
-             }
 
-           }
 
-         }),
 
-         a.addListener('delkeydown', function (b, c) {
 
-           var d = this.selection.getRange()
 
-           d.txtToElmBoundary(!0)
 
-           var e = d.startContainer
 
-           if (
 
-             domUtils.isTagNode(e, 'pre') &&
 
-             d.collapsed &&
 
-             domUtils.isStartInblock(d)
 
-           ) {
 
-             var f = a.document.createElement('p')
 
-             return (
 
-               domUtils.fillNode(a.document, f),
 
-               e.parentNode.insertBefore(f, e),
 
-               domUtils.remove(e),
 
-               d.setStart(f, 0).setCursor(!1, !0),
 
-               domUtils.preventDefault(c),
 
-               !0
 
-             )
 
-           }
 
-         })
 
-     }),
 
-     (UE.commands.cleardoc = {
 
-       execCommand: function (a) {
 
-         var b = this,
 
-           c = b.options.enterTag,
 
-           d = b.selection.getRange()
 
-         'br' == c
 
-           ? ((b.body.innerHTML = '<br/>'), d.setStart(b.body, 0).setCursor())
 
-           : ((b.body.innerHTML = '<p>' + (ie ? '' : '<br/>') + '</p>'),
 
-             d.setStart(b.body.firstChild, 0).setCursor(!1, !0)),
 
-           setTimeout(function () {
 
-             b.fireEvent('clearDoc')
 
-           }, 0)
 
-       }
 
-     }),
 
-     UE.plugin.register('anchor', function () {
 
-       return {
 
-         bindEvents: {
 
-           ready: function () {
 
-             utils.cssRule(
 
-               'anchor',
 
-               ".anchorclass{background: url('" +
 
-                 this.options.themePath +
 
-                 this.options.theme +
 
-                 "/images/anchor.gif') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}",
 
-               this.document
 
-             )
 
-           }
 
-         },
 
-         outputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('img'), function (a) {
 
-             var b
 
-             ;(b = a.getAttr('anchorname')) &&
 
-               ((a.tagName = 'a'),
 
-               a.setAttr({ anchorname: '', name: b, class: '' }))
 
-           })
 
-         },
 
-         inputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('a'), function (a) {
 
-             var b
 
-             ;(b = a.getAttr('name')) &&
 
-               !a.getAttr('href') &&
 
-               ((a.tagName = 'img'),
 
-               a.setAttr({
 
-                 anchorname: a.getAttr('name'),
 
-                 class: 'anchorclass'
 
-               }),
 
-               a.setAttr('name'))
 
-           })
 
-         },
 
-         commands: {
 
-           anchor: {
 
-             execCommand: function (a, b) {
 
-               var c = this.selection.getRange(),
 
-                 d = c.getClosedNode()
 
-               if (d && d.getAttribute('anchorname'))
 
-                 b
 
-                   ? d.setAttribute('anchorname', b)
 
-                   : (c.setStartBefore(d).setCursor(), domUtils.remove(d))
 
-               else if (b) {
 
-                 var e = this.document.createElement('img')
 
-                 c.collapse(!0),
 
-                   domUtils.setAttributes(e, {
 
-                     anchorname: b,
 
-                     class: 'anchorclass'
 
-                   }),
 
-                   c.insertNode(e).setStartAfter(e).setCursor(!1, !0)
 
-               }
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.wordcount = function () {
 
-       var a = this
 
-       a.setOpt('wordCount', !0),
 
-         a.addListener('contentchange', function () {
 
-           a.fireEvent('wordcount')
 
-         })
 
-       var b
 
-       a.addListener('ready', function () {
 
-         var a = this
 
-         domUtils.on(a.body, 'keyup', function (c) {
 
-           var d = c.keyCode || c.which,
 
-             e = { 16: 1, 18: 1, 20: 1, 37: 1, 38: 1, 39: 1, 40: 1 }
 
-           d in e ||
 
-             (clearTimeout(b),
 
-             (b = setTimeout(function () {
 
-               a.fireEvent('wordcount')
 
-             }, 200)))
 
-         })
 
-       })
 
-     }),
 
-     (UE.plugins.pagebreak = function () {
 
-       function a(a) {
 
-         if (domUtils.isEmptyBlock(a)) {
 
-           for (
 
-             var b, d = a.firstChild;
 
-             d && 1 == d.nodeType && domUtils.isEmptyBlock(d);
 
-           )
 
-             (b = d), (d = d.firstChild)
 
-           !b && (b = a), domUtils.fillNode(c.document, b)
 
-         }
 
-       }
 
-       function b(a) {
 
-         return (
 
-           a &&
 
-           1 == a.nodeType &&
 
-           'HR' == a.tagName &&
 
-           'pagebreak' == a.className
 
-         )
 
-       }
 
-       var c = this,
 
-         d = ['td']
 
-       c.setOpt('pageBreakTag', '_ueditor_page_break_tag_'),
 
-         c.ready(function () {
 
-           utils.cssRule(
 
-             'pagebreak',
 
-             '.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}',
 
-             c.document
 
-           )
 
-         }),
 
-         c.addInputRule(function (a) {
 
-           a.traversal(function (a) {
 
-             if ('text' == a.type && a.data == c.options.pageBreakTag) {
 
-               var b = UE.uNode.createElement(
 
-                 '<hr class="pagebreak" noshade="noshade" size="5" style="-webkit-user-select: none;">'
 
-               )
 
-               a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a)
 
-             }
 
-           })
 
-         }),
 
-         c.addOutputRule(function (a) {
 
-           utils.each(a.getNodesByTagName('hr'), function (a) {
 
-             if ('pagebreak' == a.getAttr('class')) {
 
-               var b = UE.uNode.createText(c.options.pageBreakTag)
 
-               a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a)
 
-             }
 
-           })
 
-         }),
 
-         (c.commands.pagebreak = {
 
-           execCommand: function () {
 
-             var e = c.selection.getRange(),
 
-               f = c.document.createElement('hr')
 
-             domUtils.setAttributes(f, {
 
-               class: 'pagebreak',
 
-               noshade: 'noshade',
 
-               size: '5'
 
-             }),
 
-               domUtils.unSelectable(f)
 
-             var g,
 
-               h = domUtils.findParentByTagName(e.startContainer, d, !0),
 
-               i = []
 
-             if (h)
 
-               switch (h.tagName) {
 
-                 case 'TD':
 
-                   if (((g = h.parentNode), g.previousSibling))
 
-                     g.parentNode.insertBefore(f, g),
 
-                       (i = domUtils.findParents(f))
 
-                   else {
 
-                     var j = domUtils.findParentByTagName(g, 'table')
 
-                     j.parentNode.insertBefore(f, j),
 
-                       (i = domUtils.findParents(f, !0))
 
-                   }
 
-                   ;(g = i[1]),
 
-                     f !== g && domUtils.breakParent(f, g),
 
-                     c.fireEvent('afteradjusttable', c.document)
 
-               }
 
-             else {
 
-               if (!e.collapsed) {
 
-                 e.deleteContents()
 
-                 for (
 
-                   var k = e.startContainer;
 
-                   !domUtils.isBody(k) &&
 
-                   domUtils.isBlockElm(k) &&
 
-                   domUtils.isEmptyNode(k);
 
-                 )
 
-                   e.setStartBefore(k).collapse(!0),
 
-                     domUtils.remove(k),
 
-                     (k = e.startContainer)
 
-               }
 
-               e.insertNode(f)
 
-               for (var l, g = f.parentNode; !domUtils.isBody(g); )
 
-                 domUtils.breakParent(f, g),
 
-                   (l = f.nextSibling),
 
-                   l && domUtils.isEmptyBlock(l) && domUtils.remove(l),
 
-                   (g = f.parentNode)
 
-               l = f.nextSibling
 
-               var m = f.previousSibling
 
-               if ((b(m) ? domUtils.remove(m) : m && a(m), l))
 
-                 b(l) ? domUtils.remove(l) : a(l), e.setEndAfter(f).collapse(!1)
 
-               else {
 
-                 var n = c.document.createElement('p')
 
-                 f.parentNode.appendChild(n),
 
-                   domUtils.fillNode(c.document, n),
 
-                   e.setStart(n, 0).collapse(!0)
 
-               }
 
-               e.select(!0)
 
-             }
 
-           }
 
-         })
 
-     }),
 
-     UE.plugin.register('wordimage', function () {
 
-       var a = this,
 
-         b = []
 
-       return {
 
-         commands: {
 
-           wordimage: {
 
-             execCommand: function () {
 
-               for (
 
-                 var b,
 
-                   c = domUtils.getElementsByTagName(a.body, 'img'),
 
-                   d = [],
 
-                   e = 0;
 
-                 (b = c[e++]);
 
-               ) {
 
-                 var f = b.getAttribute('word_img')
 
-                 f && d.push(f)
 
-               }
 
-               return d
 
-             },
 
-             queryCommandState: function () {
 
-               b = domUtils.getElementsByTagName(a.body, 'img')
 
-               for (var c, d = 0; (c = b[d++]); )
 
-                 if (c.getAttribute('word_img')) return 1
 
-               return -1
 
-             },
 
-             notNeedUndo: !0
 
-           }
 
-         },
 
-         inputRule: function (b) {
 
-           utils.each(b.getNodesByTagName('img'), function (b) {
 
-             var c = b.attrs,
 
-               d = parseInt(c.width) < 128 || parseInt(c.height) < 43,
 
-               e = a.options,
 
-               f = e.UEDITOR_HOME_URL + 'themes/default/images/spacer.gif'
 
-             c.src &&
 
-               /^(?:(file:\/+))/.test(c.src) &&
 
-               b.setAttr({
 
-                 width: c.width,
 
-                 height: c.height,
 
-                 alt: c.alt,
 
-                 word_img: c.src,
 
-                 src: f,
 
-                 style:
 
-                   'background:url(' +
 
-                   (d
 
-                     ? e.themePath + e.theme + '/images/word.gif'
 
-                     : e.langPath + e.lang + '/images/localimage.png') +
 
-                   ') no-repeat center center;border:1px solid #ddd'
 
-               })
 
-           })
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.dragdrop = function () {
 
-       var a = this
 
-       a.ready(function () {
 
-         domUtils.on(this.body, 'dragend', function () {
 
-           var b = a.selection.getRange(),
 
-             c = b.getClosedNode() || a.selection.getStart()
 
-           if (c && 'IMG' == c.tagName) {
 
-             for (
 
-               var d, e = c.previousSibling;
 
-               (d = c.nextSibling) &&
 
-               1 == d.nodeType &&
 
-               'SPAN' == d.tagName &&
 
-               !d.firstChild;
 
-             )
 
-               domUtils.remove(d)
 
-             ;((!e || 1 != e.nodeType || domUtils.isEmptyBlock(e)) && e) ||
 
-               (d && (!d || domUtils.isEmptyBlock(d))) ||
 
-               (e && 'P' == e.tagName && !domUtils.isEmptyBlock(e)
 
-                 ? (e.appendChild(c),
 
-                   domUtils.moveChild(d, e),
 
-                   domUtils.remove(d))
 
-                 : d &&
 
-                   'P' == d.tagName &&
 
-                   !domUtils.isEmptyBlock(d) &&
 
-                   d.insertBefore(c, d.firstChild),
 
-               e &&
 
-                 'P' == e.tagName &&
 
-                 domUtils.isEmptyBlock(e) &&
 
-                 domUtils.remove(e),
 
-               d &&
 
-                 'P' == d.tagName &&
 
-                 domUtils.isEmptyBlock(d) &&
 
-                 domUtils.remove(d),
 
-               b.selectNode(c).select(),
 
-               a.fireEvent('saveScene'))
 
-           }
 
-         })
 
-       }),
 
-         a.addListener('keyup', function (b, c) {
 
-           var d = c.keyCode || c.which
 
-           if (13 == d) {
 
-             var e,
 
-               f = a.selection.getRange()
 
-             ;(e = domUtils.findParentByTagName(f.startContainer, 'p', !0)) &&
 
-               'center' == domUtils.getComputedStyle(e, 'text-align') &&
 
-               domUtils.removeStyle(e, 'text-align')
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.undo = function () {
 
-       function a(a, b) {
 
-         if (a.length != b.length) return 0
 
-         for (var c = 0, d = a.length; c < d; c++) if (a[c] != b[c]) return 0
 
-         return 1
 
-       }
 
-       function b(b, c) {
 
-         return b.collapsed != c.collapsed
 
-           ? 0
 
-           : a(b.startAddress, c.startAddress) && a(b.endAddress, c.endAddress)
 
-           ? 1
 
-           : 0
 
-       }
 
-       function c() {
 
-         ;(this.list = []),
 
-           (this.index = 0),
 
-           (this.hasUndo = !1),
 
-           (this.hasRedo = !1),
 
-           (this.undo = function () {
 
-             if (this.hasUndo) {
 
-               if (!this.list[this.index - 1] && 1 == this.list.length)
 
-                 return void this.reset()
 
-               for (
 
-                 ;
 
-                 this.list[this.index].content ==
 
-                 this.list[this.index - 1].content;
 
-               )
 
-                 if ((this.index--, 0 == this.index)) return this.restore(0)
 
-               this.restore(--this.index)
 
-             }
 
-           }),
 
-           (this.redo = function () {
 
-             if (this.hasRedo) {
 
-               for (
 
-                 ;
 
-                 this.list[this.index].content ==
 
-                 this.list[this.index + 1].content;
 
-               )
 
-                 if ((this.index++, this.index == this.list.length - 1))
 
-                   return this.restore(this.index)
 
-               this.restore(++this.index)
 
-             }
 
-           }),
 
-           (this.restore = function () {
 
-             var a = this.editor,
 
-               b = this.list[this.index],
 
-               c = UE.htmlparser(b.content.replace(h, ''))
 
-             ;(a.options.autoClearEmptyNode = !1),
 
-               a.filterInputRule(c),
 
-               (a.options.autoClearEmptyNode = j),
 
-               (a.document.body.innerHTML = c.toHtml()),
 
-               a.fireEvent('afterscencerestore'),
 
-               browser.ie &&
 
-                 utils.each(
 
-                   domUtils.getElementsByTagName(a.document, 'td th caption p'),
 
-                   function (b) {
 
-                     domUtils.isEmptyNode(b) && domUtils.fillNode(a.document, b)
 
-                   }
 
-                 )
 
-             try {
 
-               var d = new dom.Range(a.document).moveToAddress(b.address)
 
-               d.select(i[d.startContainer.nodeName.toLowerCase()])
 
-             } catch (e) {}
 
-             this.update(), this.clearKey(), a.fireEvent('reset', !0)
 
-           }),
 
-           (this.getScene = function () {
 
-             var a = this.editor,
 
-               b = a.selection.getRange(),
 
-               c = b.createAddress(!1, !0)
 
-             a.fireEvent('beforegetscene')
 
-             var d = UE.htmlparser(a.body.innerHTML)
 
-             ;(a.options.autoClearEmptyNode = !1),
 
-               a.filterOutputRule(d),
 
-               (a.options.autoClearEmptyNode = j)
 
-             var e = d.toHtml()
 
-             return a.fireEvent('aftergetscene'), { address: c, content: e }
 
-           }),
 
-           (this.save = function (a, c) {
 
-             clearTimeout(d)
 
-             var g = this.getScene(c),
 
-               h = this.list[this.index]
 
-             h && h.content != g.content && e.trigger('contentchange'),
 
-               (h &&
 
-                 h.content == g.content &&
 
-                 (a ? 1 : b(h.address, g.address))) ||
 
-                 ((this.list = this.list.slice(0, this.index + 1)),
 
-                 this.list.push(g),
 
-                 this.list.length > f && this.list.shift(),
 
-                 (this.index = this.list.length - 1),
 
-                 this.clearKey(),
 
-                 this.update())
 
-           }),
 
-           (this.update = function () {
 
-             ;(this.hasRedo = !!this.list[this.index + 1]),
 
-               (this.hasUndo = !!this.list[this.index - 1])
 
-           }),
 
-           (this.reset = function () {
 
-             ;(this.list = []),
 
-               (this.index = 0),
 
-               (this.hasUndo = !1),
 
-               (this.hasRedo = !1),
 
-               this.clearKey()
 
-           }),
 
-           (this.clearKey = function () {
 
-             ;(m = 0), (k = null)
 
-           })
 
-       }
 
-       var d,
 
-         e = this,
 
-         f = e.options.maxUndoCount || 20,
 
-         g = e.options.maxInputCount || 20,
 
-         h = new RegExp(domUtils.fillChar + '|</hr>', 'gi'),
 
-         i = { ol: 1, ul: 1, table: 1, tbody: 1, tr: 1, body: 1 },
 
-         j = e.options.autoClearEmptyNode
 
-       ;(e.undoManger = new c()),
 
-         (e.undoManger.editor = e),
 
-         e.addListener('saveScene', function () {
 
-           var a = Array.prototype.splice.call(arguments, 1)
 
-           this.undoManger.save.apply(this.undoManger, a)
 
-         }),
 
-         e.addListener('reset', function (a, b) {
 
-           b || this.undoManger.reset()
 
-         }),
 
-         (e.commands.redo = e.commands.undo =
 
-           {
 
-             execCommand: function (a) {
 
-               this.undoManger[a]()
 
-             },
 
-             queryCommandState: function (a) {
 
-               return this.undoManger[
 
-                 'has' + ('undo' == a.toLowerCase() ? 'Undo' : 'Redo')
 
-               ]
 
-                 ? 0
 
-                 : -1
 
-             },
 
-             notNeedUndo: 1
 
-           })
 
-       var k,
 
-         l = { 16: 1, 17: 1, 18: 1, 37: 1, 38: 1, 39: 1, 40: 1 },
 
-         m = 0,
 
-         n = !1
 
-       e.addListener('ready', function () {
 
-         domUtils.on(this.body, 'compositionstart', function () {
 
-           n = !0
 
-         }),
 
-           domUtils.on(this.body, 'compositionend', function () {
 
-             n = !1
 
-           })
 
-       }),
 
-         e.addshortcutkey({ Undo: 'ctrl+90', Redo: 'ctrl+89' })
 
-       var o = !0
 
-       e.addListener('keydown', function (a, b) {
 
-         function c(a) {
 
-           a.undoManger.save(!1, !0), a.fireEvent('selectionchange')
 
-         }
 
-         var e = this,
 
-           f = b.keyCode || b.which
 
-         if (!(l[f] || b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) {
 
-           if (n) return
 
-           if (!e.selection.getRange().collapsed)
 
-             return e.undoManger.save(!1, !0), void (o = !1)
 
-           0 == e.undoManger.list.length && e.undoManger.save(!0),
 
-             clearTimeout(d),
 
-             (d = setTimeout(function () {
 
-               if (n)
 
-                 var a = setInterval(function () {
 
-                   n || (c(e), clearInterval(a))
 
-                 }, 300)
 
-               else c(e)
 
-             }, 200)),
 
-             (k = f),
 
-             m++,
 
-             m >= g && c(e)
 
-         }
 
-       }),
 
-         e.addListener('keyup', function (a, b) {
 
-           var c = b.keyCode || b.which
 
-           if (!(l[c] || b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) {
 
-             if (n) return
 
-             o || (this.undoManger.save(!1, !0), (o = !0))
 
-           }
 
-         }),
 
-         (e.stopCmdUndo = function () {
 
-           e.__hasEnterExecCommand = !0
 
-         }),
 
-         (e.startCmdUndo = function () {
 
-           e.__hasEnterExecCommand = !1
 
-         })
 
-     }),
 
-     UE.plugin.register('copy', function () {
 
-       function a() {
 
-         ZeroClipboard.config({
 
-           debug: !1,
 
-           swfPath:
 
-             b.options.UEDITOR_HOME_URL +
 
-             'third-party/zeroclipboard/ZeroClipboard.swf'
 
-         })
 
-         var a = (b.zeroclipboard = new ZeroClipboard())
 
-         a.on('copy', function (a) {
 
-           var c = a.client,
 
-             d = b.selection.getRange(),
 
-             e = document.createElement('div')
 
-           e.appendChild(d.cloneContents()),
 
-             c.setText(e.innerText || e.textContent),
 
-             c.setHtml(e.innerHTML),
 
-             d.select()
 
-         }),
 
-           a.on('mouseover mouseout', function (a) {
 
-             var b = a.target
 
-             'mouseover' == a.type
 
-               ? domUtils.addClass(b, 'edui-state-hover')
 
-               : 'mouseout' == a.type &&
 
-                 domUtils.removeClasses(b, 'edui-state-hover')
 
-           }),
 
-           a.on('wrongflash noflash', function () {
 
-             ZeroClipboard.destroy()
 
-           })
 
-       }
 
-       var b = this
 
-       return {
 
-         bindEvents: {
 
-           ready: function () {
 
-             browser.ie ||
 
-               (window.ZeroClipboard
 
-                 ? a()
 
-                 : utils.loadFile(
 
-                     document,
 
-                     {
 
-                       src:
 
-                         b.options.UEDITOR_HOME_URL +
 
-                         'third-party/zeroclipboard/ZeroClipboard.js',
 
-                       tag: 'script',
 
-                       type: 'text/javascript',
 
-                       defer: 'defer'
 
-                     },
 
-                     function () {
 
-                       a()
 
-                     }
 
-                   ))
 
-           }
 
-         },
 
-         commands: {
 
-           copy: {
 
-             execCommand: function (a) {
 
-               b.document.execCommand('copy') || alert(b.getLang('copymsg'))
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.paste = function () {
 
-       function a(a) {
 
-         var b = this.document
 
-         if (!b.getElementById('baidu_pastebin')) {
 
-           var c = this.selection.getRange(),
 
-             d = c.createBookmark(),
 
-             e = b.createElement('div')
 
-           ;(e.id = 'baidu_pastebin'),
 
-             browser.webkit &&
 
-               e.appendChild(
 
-                 b.createTextNode(domUtils.fillChar + domUtils.fillChar)
 
-               ),
 
-             b.body.appendChild(e),
 
-             (d.start.style.display = ''),
 
-             (e.style.cssText =
 
-               'position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:' +
 
-               domUtils.getXY(d.start).y +
 
-               'px'),
 
-             c.selectNodeContents(e).select(!0),
 
-             setTimeout(function () {
 
-               if (browser.webkit)
 
-                 for (
 
-                   var f, g = 0, h = b.querySelectorAll('#baidu_pastebin');
 
-                   (f = h[g++]);
 
-                 ) {
 
-                   if (!domUtils.isEmptyNode(f)) {
 
-                     e = f
 
-                     break
 
-                   }
 
-                   domUtils.remove(f)
 
-                 }
 
-               try {
 
-                 e.parentNode.removeChild(e)
 
-               } catch (i) {}
 
-               c.moveToBookmark(d).select(!0), a(e)
 
-             }, 0)
 
-         }
 
-       }
 
-       function b(a) {
 
-         return a.replace(/<(\/?)([\w\-]+)([^>]*)>/gi, function (a, b, c, d) {
 
-           return (
 
-             (c = c.toLowerCase()),
 
-             { img: 1 }[c]
 
-               ? a
 
-               : ((d = d.replace(
 
-                   /([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi,
 
-                   function (a, b, c) {
 
-                     return { src: 1, href: 1, name: 1 }[b.toLowerCase()]
 
-                       ? b + '=' + c + ' '
 
-                       : ''
 
-                   }
 
-                 )),
 
-                 { span: 1, div: 1 }[c]
 
-                   ? ''
 
-                   : '<' + b + c + ' ' + utils.trim(d) + '>')
 
-           )
 
-         })
 
-       }
 
-       function c(a) {
 
-         var c
 
-         if (a.firstChild) {
 
-           for (
 
-             var h, i = domUtils.getElementsByTagName(a, 'span'), j = 0;
 
-             (h = i[j++]);
 
-           )
 
-             ('_baidu_cut_start' != h.id && '_baidu_cut_end' != h.id) ||
 
-               domUtils.remove(h)
 
-           if (browser.webkit) {
 
-             for (
 
-               var k, l = a.querySelectorAll('div br'), j = 0;
 
-               (k = l[j++]);
 
-             ) {
 
-               var m = k.parentNode
 
-               'DIV' == m.tagName &&
 
-                 1 == m.childNodes.length &&
 
-                 ((m.innerHTML = '<p><br/></p>'), domUtils.remove(m))
 
-             }
 
-             for (
 
-               var n, o = a.querySelectorAll('#baidu_pastebin'), j = 0;
 
-               (n = o[j++]);
 
-             ) {
 
-               var p = d.document.createElement('p')
 
-               for (n.parentNode.insertBefore(p, n); n.firstChild; )
 
-                 p.appendChild(n.firstChild)
 
-               domUtils.remove(n)
 
-             }
 
-             for (var q, r = a.querySelectorAll('meta'), j = 0; (q = r[j++]); )
 
-               domUtils.remove(q)
 
-             var l = a.querySelectorAll('br')
 
-             for (j = 0; (q = l[j++]); )
 
-               /^apple-/i.test(q.className) && domUtils.remove(q)
 
-           }
 
-           if (browser.gecko) {
 
-             var s = a.querySelectorAll('[_moz_dirty]')
 
-             for (j = 0; (q = s[j++]); ) q.removeAttribute('_moz_dirty')
 
-           }
 
-           if (!browser.ie)
 
-             for (
 
-               var q, t = a.querySelectorAll('span.Apple-style-span'), j = 0;
 
-               (q = t[j++]);
 
-             )
 
-               domUtils.remove(q, !0)
 
-           ;(c = a.innerHTML), (c = UE.filterWord(c))
 
-           var u = UE.htmlparser(c)
 
-           if (
 
-             (d.options.filterRules && UE.filterNode(u, d.options.filterRules),
 
-             d.filterInputRule(u),
 
-             browser.webkit)
 
-           ) {
 
-             var v = u.lastChild()
 
-             v && 'element' == v.type && 'br' == v.tagName && u.removeChild(v),
 
-               utils.each(d.body.querySelectorAll('div'), function (a) {
 
-                 domUtils.isEmptyBlock(a) && domUtils.remove(a, !0)
 
-               })
 
-           }
 
-           if (
 
-             ((c = { html: u.toHtml() }),
 
-             d.fireEvent('beforepaste', c, u),
 
-             !c.html)
 
-           )
 
-             return
 
-           ;(u = UE.htmlparser(c.html, !0)),
 
-             1 === d.queryCommandState('pasteplain')
 
-               ? d.execCommand(
 
-                   'insertHtml',
 
-                   UE.filterNode(u, d.options.filterTxtRules).toHtml(),
 
-                   !0
 
-                 )
 
-               : (UE.filterNode(u, d.options.filterTxtRules),
 
-                 (e = u.toHtml()),
 
-                 (f = c.html),
 
-                 (g = d.selection.getRange().createAddress(!0)),
 
-                 d.execCommand(
 
-                   'insertHtml',
 
-                   d.getOpt('retainOnlyLabelPasted') === !0 ? b(f) : f,
 
-                   !0
 
-                 )),
 
-             d.fireEvent('afterpaste', c)
 
-         }
 
-       }
 
-       var d = this
 
-       d.setOpt({ retainOnlyLabelPasted: !1 })
 
-       var e, f, g
 
-       d.addListener('pasteTransfer', function (a, c) {
 
-         if (g && e && f && e != f) {
 
-           var h = d.selection.getRange()
 
-           if ((h.moveToAddress(g, !0), !h.collapsed)) {
 
-             for (; !domUtils.isBody(h.startContainer); ) {
 
-               var i = h.startContainer
 
-               if (1 == i.nodeType) {
 
-                 if (((i = i.childNodes[h.startOffset]), !i)) {
 
-                   h.setStartBefore(h.startContainer)
 
-                   continue
 
-                 }
 
-                 var j = i.previousSibling
 
-                 j &&
 
-                   3 == j.nodeType &&
 
-                   new RegExp('^[\n\r\t ' + domUtils.fillChar + ']*$').test(
 
-                     j.nodeValue
 
-                   ) &&
 
-                   h.setStartBefore(j)
 
-               }
 
-               if (0 != h.startOffset) break
 
-               h.setStartBefore(h.startContainer)
 
-             }
 
-             for (; !domUtils.isBody(h.endContainer); ) {
 
-               var k = h.endContainer
 
-               if (1 == k.nodeType) {
 
-                 if (((k = k.childNodes[h.endOffset]), !k)) {
 
-                   h.setEndAfter(h.endContainer)
 
-                   continue
 
-                 }
 
-                 var l = k.nextSibling
 
-                 l &&
 
-                   3 == l.nodeType &&
 
-                   new RegExp('^[\n\r\t' + domUtils.fillChar + ']*$').test(
 
-                     l.nodeValue
 
-                   ) &&
 
-                   h.setEndAfter(l)
 
-               }
 
-               if (
 
-                 h.endOffset !=
 
-                 h.endContainer[
 
-                   3 == h.endContainer.nodeType ? 'nodeValue' : 'childNodes'
 
-                 ].length
 
-               )
 
-                 break
 
-               h.setEndAfter(h.endContainer)
 
-             }
 
-           }
 
-           h.deleteContents(), h.select(!0), (d.__hasEnterExecCommand = !0)
 
-           var m = f
 
-           2 === c ? (m = b(m)) : c && (m = e),
 
-             d.execCommand('inserthtml', m, !0),
 
-             (d.__hasEnterExecCommand = !1)
 
-           for (
 
-             var n = d.selection.getRange();
 
-             !domUtils.isBody(n.startContainer) &&
 
-             !n.startOffset &&
 
-             n.startContainer[
 
-               3 == n.startContainer.nodeType ? 'nodeValue' : 'childNodes'
 
-             ].length;
 
-           )
 
-             n.setStartBefore(n.startContainer)
 
-           var o = n.createAddress(!0)
 
-           g.endAddress = o.startAddress
 
-         }
 
-       }),
 
-         d.addListener('ready', function () {
 
-           domUtils.on(d.body, 'cut', function () {
 
-             var a = d.selection.getRange()
 
-             !a.collapsed && d.undoManger && d.undoManger.save()
 
-           }),
 
-             domUtils.on(
 
-               d.body,
 
-               browser.ie || browser.opera ? 'keydown' : 'paste',
 
-               function (b) {
 
-                 ;((!browser.ie && !browser.opera) ||
 
-                   ((b.ctrlKey || b.metaKey) && '86' == b.keyCode)) &&
 
-                   a.call(d, function (a) {
 
-                     c(a)
 
-                   })
 
-               }
 
-             )
 
-         }),
 
-         (d.commands.paste = {
 
-           execCommand: function (b) {
 
-             browser.ie
 
-               ? (a.call(d, function (a) {
 
-                   c(a)
 
-                 }),
 
-                 d.document.execCommand('paste'))
 
-               : alert(d.getLang('pastemsg'))
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.pasteplain = function () {
 
-       var a = this
 
-       a.setOpt({
 
-         pasteplain: !1,
 
-         filterTxtRules: (function () {
 
-           function a(a) {
 
-             ;(a.tagName = 'p'), a.setStyle()
 
-           }
 
-           function b(a) {
 
-             a.parentNode.removeChild(a, !0)
 
-           }
 
-           return {
 
-             '-': 'script style object iframe embed input select',
 
-             p: { $: {} },
 
-             br: { $: {} },
 
-             div: function (a) {
 
-               for (
 
-                 var b, c = UE.uNode.createElement('p');
 
-                 (b = a.firstChild());
 
-               )
 
-                 'text' != b.type && UE.dom.dtd.$block[b.tagName]
 
-                   ? c.firstChild()
 
-                     ? (a.parentNode.insertBefore(c, a),
 
-                       (c = UE.uNode.createElement('p')))
 
-                     : a.parentNode.insertBefore(b, a)
 
-                   : c.appendChild(b)
 
-               c.firstChild() && a.parentNode.insertBefore(c, a),
 
-                 a.parentNode.removeChild(a)
 
-             },
 
-             ol: b,
 
-             ul: b,
 
-             dl: b,
 
-             dt: b,
 
-             dd: b,
 
-             li: b,
 
-             caption: a,
 
-             th: a,
 
-             tr: a,
 
-             h1: a,
 
-             h2: a,
 
-             h3: a,
 
-             h4: a,
 
-             h5: a,
 
-             h6: a,
 
-             td: function (a) {
 
-               var b = !!a.innerText()
 
-               b &&
 
-                 a.parentNode.insertAfter(
 
-                   UE.uNode.createText('    '),
 
-                   a
 
-                 ),
 
-                 a.parentNode.removeChild(a, a.innerText())
 
-             }
 
-           }
 
-         })()
 
-       })
 
-       var b = a.options.pasteplain
 
-       a.commands.pasteplain = {
 
-         queryCommandState: function () {
 
-           return b ? 1 : 0
 
-         },
 
-         execCommand: function () {
 
-           b = 0 | !b
 
-         },
 
-         notNeedUndo: 1
 
-       }
 
-     }),
 
-     (UE.plugins.list = function () {
 
-       function a(a) {
 
-         var b = []
 
-         for (var c in a) b.push(c)
 
-         return b
 
-       }
 
-       function b(a) {
 
-         var b = a.className
 
-         return domUtils.hasClass(a, /custom_/)
 
-           ? b.match(/custom_(\w+)/)[1]
 
-           : domUtils.getStyle(a, 'list-style-type')
 
-       }
 
-       function c(a, c) {
 
-         utils.each(domUtils.getElementsByTagName(a, 'ol ul'), function (f) {
 
-           if (domUtils.inDoc(f, a)) {
 
-             var g = f.parentNode
 
-             if (g.tagName == f.tagName) {
 
-               var h = b(f) || ('OL' == f.tagName ? 'decimal' : 'disc'),
 
-                 i = b(g) || ('OL' == g.tagName ? 'decimal' : 'disc')
 
-               if (h == i) {
 
-                 var l = utils.indexOf(k[f.tagName], h)
 
-                 ;(l = l + 1 == k[f.tagName].length ? 0 : l + 1),
 
-                   e(f, k[f.tagName][l])
 
-               }
 
-             }
 
-             var m = 0,
 
-               n = 2
 
-             domUtils.hasClass(f, /custom_/)
 
-               ? (/[ou]l/i.test(g.tagName) && domUtils.hasClass(g, /custom_/)) ||
 
-                 (n = 1)
 
-               : /[ou]l/i.test(g.tagName) &&
 
-                 domUtils.hasClass(g, /custom_/) &&
 
-                 (n = 3)
 
-             var o = domUtils.getStyle(f, 'list-style-type')
 
-             o && (f.style.cssText = 'list-style-type:' + o),
 
-               (f.className =
 
-                 utils.trim(f.className.replace(/list-paddingleft-\w+/, '')) +
 
-                 ' list-paddingleft-' +
 
-                 n),
 
-               utils.each(domUtils.getElementsByTagName(f, 'li'), function (a) {
 
-                 if ((a.style.cssText && (a.style.cssText = ''), !a.firstChild))
 
-                   return void domUtils.remove(a)
 
-                 if (a.parentNode === f) {
 
-                   if ((m++, domUtils.hasClass(f, /custom_/))) {
 
-                     var c = 1,
 
-                       d = b(f)
 
-                     if ('OL' == f.tagName) {
 
-                       if (d)
 
-                         switch (d) {
 
-                           case 'cn':
 
-                           case 'cn1':
 
-                           case 'cn2':
 
-                             m > 10 && (m % 10 == 0 || (m > 10 && m < 20))
 
-                               ? (c = 2)
 
-                               : m > 20 && (c = 3)
 
-                             break
 
-                           case 'num2':
 
-                             m > 9 && (c = 2)
 
-                         }
 
-                       a.className =
 
-                         'list-' + j[d] + m + ' list-' + d + '-paddingleft-' + c
 
-                     } else
 
-                       a.className =
 
-                         'list-' + j[d] + ' list-' + d + '-paddingleft'
 
-                   } else a.className = a.className.replace(/list-[\w\-]+/gi, '')
 
-                   var e = a.getAttribute('class')
 
-                   null === e ||
 
-                     e.replace(/\s/g, '') ||
 
-                     domUtils.removeAttributes(a, 'class')
 
-                 }
 
-               }),
 
-               !c &&
 
-                 d(
 
-                   f,
 
-                   f.tagName.toLowerCase(),
 
-                   b(f) || domUtils.getStyle(f, 'list-style-type'),
 
-                   !0
 
-                 )
 
-           }
 
-         })
 
-       }
 
-       function d(a, d, e, f) {
 
-         var g = a.nextSibling
 
-         g &&
 
-           1 == g.nodeType &&
 
-           g.tagName.toLowerCase() == d &&
 
-           (b(g) ||
 
-             domUtils.getStyle(g, 'list-style-type') ||
 
-             ('ol' == d ? 'decimal' : 'disc')) == e &&
 
-           (domUtils.moveChild(g, a),
 
-           0 == g.childNodes.length && domUtils.remove(g)),
 
-           g && domUtils.isFillChar(g) && domUtils.remove(g)
 
-         var h = a.previousSibling
 
-         h &&
 
-           1 == h.nodeType &&
 
-           h.tagName.toLowerCase() == d &&
 
-           (b(h) ||
 
-             domUtils.getStyle(h, 'list-style-type') ||
 
-             ('ol' == d ? 'decimal' : 'disc')) == e &&
 
-           domUtils.moveChild(a, h),
 
-           h && domUtils.isFillChar(h) && domUtils.remove(h),
 
-           !f && domUtils.isEmptyBlock(a) && domUtils.remove(a),
 
-           b(a) && c(a.ownerDocument, !0)
 
-       }
 
-       function e(a, b) {
 
-         j[b] && (a.className = 'custom_' + b)
 
-         try {
 
-           domUtils.setStyle(a, 'list-style-type', b)
 
-         } catch (c) {}
 
-       }
 
-       function f(a) {
 
-         var b = a.previousSibling
 
-         b && domUtils.isEmptyBlock(b) && domUtils.remove(b),
 
-           (b = a.nextSibling),
 
-           b && domUtils.isEmptyBlock(b) && domUtils.remove(b)
 
-       }
 
-       function g(a) {
 
-         for (; a && !domUtils.isBody(a); ) {
 
-           if ('TABLE' == a.nodeName) return null
 
-           if ('LI' == a.nodeName) return a
 
-           a = a.parentNode
 
-         }
 
-       }
 
-       var h = this,
 
-         i = { TD: 1, PRE: 1, BLOCKQUOTE: 1 },
 
-         j = {
 
-           cn: 'cn-1-',
 
-           cn1: 'cn-2-',
 
-           cn2: 'cn-3-',
 
-           num: 'num-1-',
 
-           num1: 'num-2-',
 
-           num2: 'num-3-',
 
-           dash: 'dash',
 
-           dot: 'dot'
 
-         }
 
-       h.setOpt({
 
-         autoTransWordToList: !1,
 
-         insertorderedlist: {
 
-           num: '',
 
-           num1: '',
 
-           num2: '',
 
-           cn: '',
 
-           cn1: '',
 
-           cn2: '',
 
-           decimal: '',
 
-           'lower-alpha': '',
 
-           'lower-roman': '',
 
-           'upper-alpha': '',
 
-           'upper-roman': ''
 
-         },
 
-         insertunorderedlist: {
 
-           circle: '',
 
-           disc: '',
 
-           square: '',
 
-           dash: '',
 
-           dot: ''
 
-         },
 
-         listDefaultPaddingLeft: '30',
 
-         listiconpath: 'http://bs.baidu.com/listicon/',
 
-         maxListLevel: -1,
 
-         disablePInList: !1
 
-       })
 
-       var k = {
 
-           OL: a(h.options.insertorderedlist),
 
-           UL: a(h.options.insertunorderedlist)
 
-         },
 
-         l = h.options.listiconpath
 
-       for (var m in j)
 
-         h.options.insertorderedlist.hasOwnProperty(m) ||
 
-           h.options.insertunorderedlist.hasOwnProperty(m) ||
 
-           delete j[m]
 
-       h.ready(function () {
 
-         var a = []
 
-         for (var b in j) {
 
-           if ('dash' == b || 'dot' == b)
 
-             a.push(
 
-               'li.list-' + j[b] + '{background-image:url(' + l + j[b] + '.gif)}'
 
-             ),
 
-               a.push(
 
-                 'ul.custom_' +
 
-                   b +
 
-                   '{list-style:none;}ul.custom_' +
 
-                   b +
 
-                   ' li{background-position:0 3px;background-repeat:no-repeat}'
 
-               )
 
-           else {
 
-             for (var c = 0; c < 99; c++)
 
-               a.push(
 
-                 'li.list-' +
 
-                   j[b] +
 
-                   c +
 
-                   '{background-image:url(' +
 
-                   l +
 
-                   'list-' +
 
-                   j[b] +
 
-                   c +
 
-                   '.gif)}'
 
-               )
 
-             a.push(
 
-               'ol.custom_' +
 
-                 b +
 
-                 '{list-style:none;}ol.custom_' +
 
-                 b +
 
-                 ' li{background-position:0 3px;background-repeat:no-repeat}'
 
-             )
 
-           }
 
-           switch (b) {
 
-             case 'cn':
 
-               a.push('li.list-' + b + '-paddingleft-1{padding-left:25px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-3{padding-left:55px}')
 
-               break
 
-             case 'cn1':
 
-               a.push('li.list-' + b + '-paddingleft-1{padding-left:30px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-3{padding-left:55px}')
 
-               break
 
-             case 'cn2':
 
-               a.push('li.list-' + b + '-paddingleft-1{padding-left:40px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-2{padding-left:55px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-3{padding-left:68px}')
 
-               break
 
-             case 'num':
 
-             case 'num1':
 
-               a.push('li.list-' + b + '-paddingleft-1{padding-left:25px}')
 
-               break
 
-             case 'num2':
 
-               a.push('li.list-' + b + '-paddingleft-1{padding-left:35px}'),
 
-                 a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}')
 
-               break
 
-             case 'dash':
 
-               a.push('li.list-' + b + '-paddingleft{padding-left:35px}')
 
-               break
 
-             case 'dot':
 
-               a.push('li.list-' + b + '-paddingleft{padding-left:20px}')
 
-           }
 
-         }
 
-         a.push('.list-paddingleft-1{padding-left:0}'),
 
-           a.push(
 
-             '.list-paddingleft-2{padding-left:' +
 
-               h.options.listDefaultPaddingLeft +
 
-               'px}'
 
-           ),
 
-           a.push(
 
-             '.list-paddingleft-3{padding-left:' +
 
-               2 * h.options.listDefaultPaddingLeft +
 
-               'px}'
 
-           ),
 
-           utils.cssRule(
 
-             'list',
 
-             'ol,ul{margin:0;pading:0;' +
 
-               (browser.ie ? '' : 'width:95%') +
 
-               '}li{clear:both;}' +
 
-               a.join('\n'),
 
-             h.document
 
-           )
 
-       }),
 
-         h.ready(function () {
 
-           domUtils.on(h.body, 'cut', function () {
 
-             setTimeout(function () {
 
-               var a,
 
-                 b = h.selection.getRange()
 
-               if (
 
-                 !b.collapsed &&
 
-                 (a = domUtils.findParentByTagName(
 
-                   b.startContainer,
 
-                   'li',
 
-                   !0
 
-                 )) &&
 
-                 !a.nextSibling &&
 
-                 domUtils.isEmptyBlock(a)
 
-               ) {
 
-                 var c,
 
-                   d = a.parentNode
 
-                 if ((c = d.previousSibling))
 
-                   domUtils.remove(d),
 
-                     b.setStartAtLast(c).collapse(!0),
 
-                     b.select(!0)
 
-                 else if ((c = d.nextSibling))
 
-                   domUtils.remove(d),
 
-                     b.setStartAtFirst(c).collapse(!0),
 
-                     b.select(!0)
 
-                 else {
 
-                   var e = h.document.createElement('p')
 
-                   domUtils.fillNode(h.document, e),
 
-                     d.parentNode.insertBefore(e, d),
 
-                     domUtils.remove(d),
 
-                     b.setStart(e, 0).collapse(!0),
 
-                     b.select(!0)
 
-                 }
 
-               }
 
-             })
 
-           })
 
-         }),
 
-         h.addListener('beforepaste', function (a, c) {
 
-           var d,
 
-             e = this,
 
-             f = e.selection.getRange(),
 
-             g = UE.htmlparser(c.html, !0)
 
-           if ((d = domUtils.findParentByTagName(f.startContainer, 'li', !0))) {
 
-             var h = d.parentNode,
 
-               i = 'OL' == h.tagName ? 'ul' : 'ol'
 
-             utils.each(g.getNodesByTagName(i), function (c) {
 
-               if (((c.tagName = h.tagName), c.setAttr(), c.parentNode === g))
 
-                 a = b(h) || ('OL' == h.tagName ? 'decimal' : 'disc')
 
-               else {
 
-                 var d = c.parentNode.getAttr('class')
 
-                 ;(a =
 
-                   d && /custom_/.test(d)
 
-                     ? d.match(/custom_(\w+)/)[1]
 
-                     : c.parentNode.getStyle('list-style-type')),
 
-                   a || (a = 'OL' == h.tagName ? 'decimal' : 'disc')
 
-               }
 
-               var e = utils.indexOf(k[h.tagName], a)
 
-               c.parentNode !== g &&
 
-                 (e = e + 1 == k[h.tagName].length ? 0 : e + 1)
 
-               var f = k[h.tagName][e]
 
-               j[f]
 
-                 ? c.setAttr('class', 'custom_' + f)
 
-                 : c.setStyle('list-style-type', f)
 
-             })
 
-           }
 
-           c.html = g.toHtml()
 
-         }),
 
-         h.getOpt('disablePInList') === !0 &&
 
-           h.addOutputRule(function (a) {
 
-             utils.each(a.getNodesByTagName('li'), function (a) {
 
-               var b = [],
 
-                 c = 0
 
-               utils.each(a.children, function (d) {
 
-                 if ('p' == d.tagName) {
 
-                   for (var e; (e = d.children.pop()); )
 
-                     b.splice(c, 0, e), (e.parentNode = a), (lastNode = e)
 
-                   if (
 
-                     ((e = b[b.length - 1]),
 
-                     !e || 'element' != e.type || 'br' != e.tagName)
 
-                   ) {
 
-                     var f = UE.uNode.createElement('br')
 
-                     ;(f.parentNode = a), b.push(f)
 
-                   }
 
-                   c = b.length
 
-                 }
 
-               }),
 
-                 b.length && (a.children = b)
 
-             })
 
-           }),
 
-         h.addInputRule(function (a) {
 
-           function b(a, b) {
 
-             var e = b.firstChild()
 
-             if (
 
-               e &&
 
-               'element' == e.type &&
 
-               'span' == e.tagName &&
 
-               /Wingdings|Symbol/.test(e.getStyle('font-family'))
 
-             ) {
 
-               for (var f in d) if (d[f] == e.data) return f
 
-               return 'disc'
 
-             }
 
-             for (var f in c) if (c[f].test(a)) return f
 
-           }
 
-           if (
 
-             (utils.each(a.getNodesByTagName('li'), function (a) {
 
-               for (
 
-                 var b, c = UE.uNode.createElement('p'), d = 0;
 
-                 (b = a.children[d]);
 
-               )
 
-                 'text' == b.type || dtd.p[b.tagName]
 
-                   ? c.appendChild(b)
 
-                   : c.firstChild()
 
-                   ? (a.insertBefore(c, b),
 
-                     (c = UE.uNode.createElement('p')),
 
-                     (d += 2))
 
-                   : d++
 
-               ;((c.firstChild() && !c.parentNode) || !a.firstChild()) &&
 
-                 a.appendChild(c),
 
-                 c.firstChild() || c.innerHTML(browser.ie ? ' ' : '<br/>')
 
-               var e = a.firstChild(),
 
-                 f = e.lastChild()
 
-               f && 'text' == f.type && /^\s*$/.test(f.data) && e.removeChild(f)
 
-             }),
 
-             h.options.autoTransWordToList)
 
-           ) {
 
-             var c = {
 
-                 num1: /^\d+\)/,
 
-                 decimal: /^\d+\./,
 
-                 'lower-alpha': /^[a-z]+\)/,
 
-                 'upper-alpha': /^[A-Z]+\./,
 
-                 cn: /^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/,
 
-                 cn2: /^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/
 
-               },
 
-               d = { square: 'n' }
 
-             utils.each(a.getNodesByTagName('p'), function (a) {
 
-               function d(a, b, d) {
 
-                 if ('ol' == a.tagName)
 
-                   if (browser.ie) {
 
-                     var e = b.firstChild()
 
-                     'element' == e.type &&
 
-                       'span' == e.tagName &&
 
-                       c[d].test(e.innerText()) &&
 
-                       b.removeChild(e)
 
-                   } else b.innerHTML(b.innerHTML().replace(c[d], ''))
 
-                 else b.removeChild(b.firstChild())
 
-                 var f = UE.uNode.createElement('li')
 
-                 f.appendChild(b), a.appendChild(f)
 
-               }
 
-               if ('MsoListParagraph' == a.getAttr('class')) {
 
-                 a.setStyle('margin', ''),
 
-                   a.setStyle('margin-left', ''),
 
-                   a.setAttr('class', '')
 
-                 var e,
 
-                   f = a,
 
-                   g = a
 
-                 if ('li' != a.parentNode.tagName && (e = b(a.innerText(), a))) {
 
-                   var i = UE.uNode.createElement(
 
-                     h.options.insertorderedlist.hasOwnProperty(e) ? 'ol' : 'ul'
 
-                   )
 
-                   for (
 
-                     j[e]
 
-                       ? i.setAttr('class', 'custom_' + e)
 
-                       : i.setStyle('list-style-type', e);
 
-                     a && 'li' != a.parentNode.tagName && b(a.innerText(), a);
 
-                   )
 
-                     (f = a.nextSibling()),
 
-                       f || a.parentNode.insertBefore(i, a),
 
-                       d(i, a, e),
 
-                       (a = f)
 
-                   !i.parentNode &&
 
-                     a &&
 
-                     a.parentNode &&
 
-                     a.parentNode.insertBefore(i, a)
 
-                 }
 
-                 var k = g.firstChild()
 
-                 k &&
 
-                   'element' == k.type &&
 
-                   'span' == k.tagName &&
 
-                   /^\s*( )+\s*$/.test(k.innerText()) &&
 
-                   k.parentNode.removeChild(k)
 
-               }
 
-             })
 
-           }
 
-         }),
 
-         h.addListener('contentchange', function () {
 
-           c(h.document)
 
-         }),
 
-         h.addListener('keydown', function (a, b) {
 
-           function c() {
 
-             b.preventDefault ? b.preventDefault() : (b.returnValue = !1),
 
-               h.fireEvent('contentchange'),
 
-               h.undoManger && h.undoManger.save()
 
-           }
 
-           function d(a, b) {
 
-             for (; a && !domUtils.isBody(a); ) {
 
-               if (b(a)) return null
 
-               if (1 == a.nodeType && /[ou]l/i.test(a.tagName)) return a
 
-               a = a.parentNode
 
-             }
 
-             return null
 
-           }
 
-           var e = b.keyCode || b.which
 
-           if (13 == e && !b.shiftKey) {
 
-             var g = h.selection.getRange(),
 
-               i = domUtils.findParent(
 
-                 g.startContainer,
 
-                 function (a) {
 
-                   return domUtils.isBlockElm(a)
 
-                 },
 
-                 !0
 
-               ),
 
-               j = domUtils.findParentByTagName(g.startContainer, 'li', !0)
 
-             if (i && 'PRE' != i.tagName && !j) {
 
-               var k = i.innerHTML.replace(
 
-                 new RegExp(domUtils.fillChar, 'g'),
 
-                 ''
 
-               )
 
-               ;/^\s*1\s*\.[^\d]/.test(k) &&
 
-                 ((i.innerHTML = k.replace(/^\s*1\s*\./, '')),
 
-                 g.setStartAtLast(i).collapse(!0).select(),
 
-                 (h.__hasEnterExecCommand = !0),
 
-                 h.execCommand('insertorderedlist'),
 
-                 (h.__hasEnterExecCommand = !1))
 
-             }
 
-             var l = h.selection.getRange(),
 
-               m = d(l.startContainer, function (a) {
 
-                 return 'TABLE' == a.tagName
 
-               }),
 
-               n = l.collapsed
 
-                 ? m
 
-                 : d(l.endContainer, function (a) {
 
-                     return 'TABLE' == a.tagName
 
-                   })
 
-             if (m && n && m === n) {
 
-               if (!l.collapsed) {
 
-                 if (
 
-                   ((m = domUtils.findParentByTagName(
 
-                     l.startContainer,
 
-                     'li',
 
-                     !0
 
-                   )),
 
-                   (n = domUtils.findParentByTagName(l.endContainer, 'li', !0)),
 
-                   !m || !n || m !== n)
 
-                 ) {
 
-                   var o = l.cloneRange(),
 
-                     p = o.collapse(!1).createBookmark()
 
-                   l.deleteContents(), o.moveToBookmark(p)
 
-                   var j = domUtils.findParentByTagName(
 
-                     o.startContainer,
 
-                     'li',
 
-                     !0
 
-                   )
 
-                   return f(j), o.select(), void c()
 
-                 }
 
-                 if (
 
-                   (l.deleteContents(),
 
-                   (j = domUtils.findParentByTagName(
 
-                     l.startContainer,
 
-                     'li',
 
-                     !0
 
-                   )),
 
-                   j && domUtils.isEmptyBlock(j))
 
-                 )
 
-                   return (
 
-                     (v = j.previousSibling),
 
-                     (next = j.nextSibling),
 
-                     (s = h.document.createElement('p')),
 
-                     domUtils.fillNode(h.document, s),
 
-                     (q = j.parentNode),
 
-                     v && next
 
-                       ? (l.setStart(next, 0).collapse(!0).select(!0),
 
-                         domUtils.remove(j))
 
-                       : ((v || next) && v
 
-                           ? j.parentNode.parentNode.insertBefore(
 
-                               s,
 
-                               q.nextSibling
 
-                             )
 
-                           : q.parentNode.insertBefore(s, q),
 
-                         domUtils.remove(j),
 
-                         q.firstChild || domUtils.remove(q),
 
-                         l.setStart(s, 0).setCursor()),
 
-                     void c()
 
-                   )
 
-               }
 
-               if (
 
-                 (j = domUtils.findParentByTagName(l.startContainer, 'li', !0))
 
-               ) {
 
-                 if (domUtils.isEmptyBlock(j)) {
 
-                   p = l.createBookmark()
 
-                   var q = j.parentNode
 
-                   if (
 
-                     (j !== q.lastChild
 
-                       ? (domUtils.breakParent(j, q), f(j))
 
-                       : (q.parentNode.insertBefore(j, q.nextSibling),
 
-                         domUtils.isEmptyNode(q) && domUtils.remove(q)),
 
-                     !dtd.$list[j.parentNode.tagName])
 
-                   )
 
-                     if (domUtils.isBlockElm(j.firstChild))
 
-                       domUtils.remove(j, !0)
 
-                     else {
 
-                       for (
 
-                         s = h.document.createElement('p'),
 
-                           j.parentNode.insertBefore(s, j);
 
-                         j.firstChild;
 
-                       )
 
-                         s.appendChild(j.firstChild)
 
-                       domUtils.remove(j)
 
-                     }
 
-                   l.moveToBookmark(p).select()
 
-                 } else {
 
-                   var r = j.firstChild
 
-                   if (!r || !domUtils.isBlockElm(r)) {
 
-                     var s = h.document.createElement('p')
 
-                     for (
 
-                       !j.firstChild && domUtils.fillNode(h.document, s);
 
-                       j.firstChild;
 
-                     )
 
-                       s.appendChild(j.firstChild)
 
-                     j.appendChild(s), (r = s)
 
-                   }
 
-                   var t = h.document.createElement('span')
 
-                   l.insertNode(t), domUtils.breakParent(t, j)
 
-                   var u = t.nextSibling
 
-                   ;(r = u.firstChild),
 
-                     r ||
 
-                       ((s = h.document.createElement('p')),
 
-                       domUtils.fillNode(h.document, s),
 
-                       u.appendChild(s),
 
-                       (r = s)),
 
-                     domUtils.isEmptyNode(r) &&
 
-                       ((r.innerHTML = ''), domUtils.fillNode(h.document, r)),
 
-                     l.setStart(r, 0).collapse(!0).shrinkBoundary().select(),
 
-                     domUtils.remove(t)
 
-                   var v = u.previousSibling
 
-                   v &&
 
-                     domUtils.isEmptyBlock(v) &&
 
-                     ((v.innerHTML = '<p></p>'),
 
-                     domUtils.fillNode(h.document, v.firstChild))
 
-                 }
 
-                 c()
 
-               }
 
-             }
 
-           }
 
-           if (
 
-             8 == e &&
 
-             ((l = h.selection.getRange()),
 
-             l.collapsed &&
 
-               domUtils.isStartInblock(l) &&
 
-               ((o = l.cloneRange().trimBoundary()),
 
-               (j = domUtils.findParentByTagName(l.startContainer, 'li', !0)),
 
-               j && domUtils.isStartInblock(o)))
 
-           ) {
 
-             if (
 
-               ((m = domUtils.findParentByTagName(l.startContainer, 'p', !0)),
 
-               m && m !== j.firstChild)
 
-             ) {
 
-               var q = domUtils.findParentByTagName(m, ['ol', 'ul'])
 
-               return (
 
-                 domUtils.breakParent(m, q),
 
-                 f(m),
 
-                 h.fireEvent('contentchange'),
 
-                 l.setStart(m, 0).setCursor(!1, !0),
 
-                 h.fireEvent('saveScene'),
 
-                 void domUtils.preventDefault(b)
 
-               )
 
-             }
 
-             if (j && (v = j.previousSibling)) {
 
-               if (46 == e && j.childNodes.length) return
 
-               if (
 
-                 (dtd.$list[v.tagName] && (v = v.lastChild),
 
-                 h.undoManger && h.undoManger.save(),
 
-                 (r = j.firstChild),
 
-                 domUtils.isBlockElm(r))
 
-               )
 
-                 if (domUtils.isEmptyNode(r))
 
-                   for (
 
-                     v.appendChild(r), l.setStart(r, 0).setCursor(!1, !0);
 
-                     j.firstChild;
 
-                   )
 
-                     v.appendChild(j.firstChild)
 
-                 else
 
-                   (t = h.document.createElement('span')),
 
-                     l.insertNode(t),
 
-                     domUtils.isEmptyBlock(v) && (v.innerHTML = ''),
 
-                     domUtils.moveChild(j, v),
 
-                     l.setStartBefore(t).collapse(!0).select(!0),
 
-                     domUtils.remove(t)
 
-               else if (domUtils.isEmptyNode(j)) {
 
-                 var s = h.document.createElement('p')
 
-                 v.appendChild(s), l.setStart(s, 0).setCursor()
 
-               } else
 
-                 for (
 
-                   l.setEnd(v, v.childNodes.length).collapse().select(!0);
 
-                   j.firstChild;
 
-                 )
 
-                   v.appendChild(j.firstChild)
 
-               return (
 
-                 domUtils.remove(j),
 
-                 h.fireEvent('contentchange'),
 
-                 h.fireEvent('saveScene'),
 
-                 void domUtils.preventDefault(b)
 
-               )
 
-             }
 
-             if (j && !j.previousSibling) {
 
-               var q = j.parentNode,
 
-                 p = l.createBookmark()
 
-               if (domUtils.isTagNode(q.parentNode, 'ol ul'))
 
-                 q.parentNode.insertBefore(j, q),
 
-                   domUtils.isEmptyNode(q) && domUtils.remove(q)
 
-               else {
 
-                 for (; j.firstChild; )
 
-                   q.parentNode.insertBefore(j.firstChild, q)
 
-                 domUtils.remove(j),
 
-                   domUtils.isEmptyNode(q) && domUtils.remove(q)
 
-               }
 
-               return (
 
-                 l.moveToBookmark(p).setCursor(!1, !0),
 
-                 h.fireEvent('contentchange'),
 
-                 h.fireEvent('saveScene'),
 
-                 void domUtils.preventDefault(b)
 
-               )
 
-             }
 
-           }
 
-         }),
 
-         h.addListener('keyup', function (a, c) {
 
-           var e = c.keyCode || c.which
 
-           if (8 == e) {
 
-             var f,
 
-               g = h.selection.getRange()
 
-             ;(f = domUtils.findParentByTagName(
 
-               g.startContainer,
 
-               ['ol', 'ul'],
 
-               !0
 
-             )) &&
 
-               d(
 
-                 f,
 
-                 f.tagName.toLowerCase(),
 
-                 b(f) || domUtils.getComputedStyle(f, 'list-style-type'),
 
-                 !0
 
-               )
 
-           }
 
-         }),
 
-         h.addListener('tabkeydown', function () {
 
-           function a(a) {
 
-             if (h.options.maxListLevel != -1) {
 
-               for (var b = a.parentNode, c = 0; /[ou]l/i.test(b.tagName); )
 
-                 c++, (b = b.parentNode)
 
-               if (c >= h.options.maxListLevel) return !0
 
-             }
 
-           }
 
-           var c = h.selection.getRange(),
 
-             f = domUtils.findParentByTagName(c.startContainer, 'li', !0)
 
-           if (f) {
 
-             var g
 
-             if (!c.collapsed) {
 
-               h.fireEvent('saveScene'), (g = c.createBookmark())
 
-               for (var i, j, l = 0, m = domUtils.findParents(f); (j = m[l++]); )
 
-                 if (domUtils.isTagNode(j, 'ol ul')) {
 
-                   i = j
 
-                   break
 
-                 }
 
-               var n = f
 
-               if (g.end)
 
-                 for (
 
-                   ;
 
-                   n &&
 
-                   !(
 
-                     domUtils.getPosition(n, g.end) & domUtils.POSITION_FOLLOWING
 
-                   );
 
-                 )
 
-                   if (a(n))
 
-                     n = domUtils.getNextDomNode(n, !1, null, function (a) {
 
-                       return a !== i
 
-                     })
 
-                   else {
 
-                     var o = n.parentNode,
 
-                       p = h.document.createElement(o.tagName),
 
-                       q = utils.indexOf(
 
-                         k[p.tagName],
 
-                         b(o) || domUtils.getComputedStyle(o, 'list-style-type')
 
-                       ),
 
-                       r = q + 1 == k[p.tagName].length ? 0 : q + 1,
 
-                       s = k[p.tagName][r]
 
-                     for (
 
-                       e(p, s), o.insertBefore(p, n);
 
-                       n &&
 
-                       !(
 
-                         domUtils.getPosition(n, g.end) &
 
-                         domUtils.POSITION_FOLLOWING
 
-                       );
 
-                     ) {
 
-                       if (
 
-                         ((f = n.nextSibling),
 
-                         p.appendChild(n),
 
-                         !f || domUtils.isTagNode(f, 'ol ul'))
 
-                       ) {
 
-                         if (f)
 
-                           for (; (f = f.firstChild) && 'LI' != f.tagName; );
 
-                         else
 
-                           f = domUtils.getNextDomNode(
 
-                             n,
 
-                             !1,
 
-                             null,
 
-                             function (a) {
 
-                               return a !== i
 
-                             }
 
-                           )
 
-                         break
 
-                       }
 
-                       n = f
 
-                     }
 
-                     d(p, p.tagName.toLowerCase(), s), (n = f)
 
-                   }
 
-               return (
 
-                 h.fireEvent('contentchange'), c.moveToBookmark(g).select(), !0
 
-               )
 
-             }
 
-             if (a(f)) return !0
 
-             var o = f.parentNode,
 
-               p = h.document.createElement(o.tagName),
 
-               q = utils.indexOf(
 
-                 k[p.tagName],
 
-                 b(o) || domUtils.getComputedStyle(o, 'list-style-type')
 
-               )
 
-             q = q + 1 == k[p.tagName].length ? 0 : q + 1
 
-             var s = k[p.tagName][q]
 
-             if ((e(p, s), domUtils.isStartInblock(c)))
 
-               return (
 
-                 h.fireEvent('saveScene'),
 
-                 (g = c.createBookmark()),
 
-                 o.insertBefore(p, f),
 
-                 p.appendChild(f),
 
-                 d(p, p.tagName.toLowerCase(), s),
 
-                 h.fireEvent('contentchange'),
 
-                 c.moveToBookmark(g).select(!0),
 
-                 !0
 
-               )
 
-           }
 
-         }),
 
-         (h.commands.insertorderedlist = h.commands.insertunorderedlist =
 
-           {
 
-             execCommand: function (a, c) {
 
-               c ||
 
-                 (c =
 
-                   'insertorderedlist' == a.toLowerCase() ? 'decimal' : 'disc')
 
-               var f = this,
 
-                 h = this.selection.getRange(),
 
-                 j = function (a) {
 
-                   return 1 == a.nodeType
 
-                     ? 'br' != a.tagName.toLowerCase()
 
-                     : !domUtils.isWhitespace(a)
 
-                 },
 
-                 k = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul',
 
-                 l = f.document.createDocumentFragment()
 
-               h.adjustmentBoundary().shrinkBoundary()
 
-               var m,
 
-                 n,
 
-                 o,
 
-                 p,
 
-                 q = h.createBookmark(!0),
 
-                 r = g(f.document.getElementById(q.start)),
 
-                 s = 0,
 
-                 t = g(f.document.getElementById(q.end)),
 
-                 u = 0
 
-               if (r || t) {
 
-                 if (
 
-                   (r && (m = r.parentNode),
 
-                   q.end || (t = r),
 
-                   t && (n = t.parentNode),
 
-                   m === n)
 
-                 ) {
 
-                   for (; r !== t; ) {
 
-                     if (
 
-                       ((p = r),
 
-                       (r = r.nextSibling),
 
-                       !domUtils.isBlockElm(p.firstChild))
 
-                     ) {
 
-                       for (
 
-                         var v = f.document.createElement('p');
 
-                         p.firstChild;
 
-                       )
 
-                         v.appendChild(p.firstChild)
 
-                       p.appendChild(v)
 
-                     }
 
-                     l.appendChild(p)
 
-                   }
 
-                   if (
 
-                     ((p = f.document.createElement('span')),
 
-                     m.insertBefore(p, t),
 
-                     !domUtils.isBlockElm(t.firstChild))
 
-                   ) {
 
-                     for (v = f.document.createElement('p'); t.firstChild; )
 
-                       v.appendChild(t.firstChild)
 
-                     t.appendChild(v)
 
-                   }
 
-                   l.appendChild(t),
 
-                     domUtils.breakParent(p, m),
 
-                     domUtils.isEmptyNode(p.previousSibling) &&
 
-                       domUtils.remove(p.previousSibling),
 
-                     domUtils.isEmptyNode(p.nextSibling) &&
 
-                       domUtils.remove(p.nextSibling)
 
-                   var w =
 
-                     b(m) ||
 
-                     domUtils.getComputedStyle(m, 'list-style-type') ||
 
-                     ('insertorderedlist' == a.toLowerCase()
 
-                       ? 'decimal'
 
-                       : 'disc')
 
-                   if (m.tagName.toLowerCase() == k && w == c) {
 
-                     for (
 
-                       var x, y = 0, z = f.document.createDocumentFragment();
 
-                       (x = l.firstChild);
 
-                     )
 
-                       if (domUtils.isTagNode(x, 'ol ul')) z.appendChild(x)
 
-                       else
 
-                         for (; x.firstChild; )
 
-                           z.appendChild(x.firstChild), domUtils.remove(x)
 
-                     p.parentNode.insertBefore(z, p)
 
-                   } else
 
-                     (o = f.document.createElement(k)),
 
-                       e(o, c),
 
-                       o.appendChild(l),
 
-                       p.parentNode.insertBefore(o, p)
 
-                   return (
 
-                     domUtils.remove(p),
 
-                     o && d(o, k, c),
 
-                     void h.moveToBookmark(q).select()
 
-                   )
 
-                 }
 
-                 if (r) {
 
-                   for (; r; ) {
 
-                     if (((p = r.nextSibling), domUtils.isTagNode(r, 'ol ul')))
 
-                       l.appendChild(r)
 
-                     else {
 
-                       for (
 
-                         var A = f.document.createDocumentFragment(), B = 0;
 
-                         r.firstChild;
 
-                       )
 
-                         domUtils.isBlockElm(r.firstChild) && (B = 1),
 
-                           A.appendChild(r.firstChild)
 
-                       if (B) l.appendChild(A)
 
-                       else {
 
-                         var C = f.document.createElement('p')
 
-                         C.appendChild(A), l.appendChild(C)
 
-                       }
 
-                       domUtils.remove(r)
 
-                     }
 
-                     r = p
 
-                   }
 
-                   m.parentNode.insertBefore(l, m.nextSibling),
 
-                     domUtils.isEmptyNode(m)
 
-                       ? (h.setStartBefore(m), domUtils.remove(m))
 
-                       : h.setStartAfter(m),
 
-                     (s = 1)
 
-                 }
 
-                 if (t && domUtils.inDoc(n, f.document)) {
 
-                   for (r = n.firstChild; r && r !== t; ) {
 
-                     if (((p = r.nextSibling), domUtils.isTagNode(r, 'ol ul')))
 
-                       l.appendChild(r)
 
-                     else {
 
-                       for (
 
-                         A = f.document.createDocumentFragment(), B = 0;
 
-                         r.firstChild;
 
-                       )
 
-                         domUtils.isBlockElm(r.firstChild) && (B = 1),
 
-                           A.appendChild(r.firstChild)
 
-                       B
 
-                         ? l.appendChild(A)
 
-                         : ((C = f.document.createElement('p')),
 
-                           C.appendChild(A),
 
-                           l.appendChild(C)),
 
-                         domUtils.remove(r)
 
-                     }
 
-                     r = p
 
-                   }
 
-                   var D = domUtils.createElement(f.document, 'div', {
 
-                     tmpDiv: 1
 
-                   })
 
-                   domUtils.moveChild(t, D),
 
-                     l.appendChild(D),
 
-                     domUtils.remove(t),
 
-                     n.parentNode.insertBefore(l, n),
 
-                     h.setEndBefore(n),
 
-                     domUtils.isEmptyNode(n) && domUtils.remove(n),
 
-                     (u = 1)
 
-                 }
 
-               }
 
-               s || h.setStartBefore(f.document.getElementById(q.start)),
 
-                 q.end && !u && h.setEndAfter(f.document.getElementById(q.end)),
 
-                 h.enlarge(!0, function (a) {
 
-                   return i[a.tagName]
 
-                 }),
 
-                 (l = f.document.createDocumentFragment())
 
-               for (
 
-                 var E,
 
-                   F = h.createBookmark(),
 
-                   G = domUtils.getNextDomNode(F.start, !1, j),
 
-                   H = h.cloneRange(),
 
-                   I = domUtils.isBlockElm;
 
-                 G &&
 
-                 G !== F.end &&
 
-                 domUtils.getPosition(G, F.end) & domUtils.POSITION_PRECEDING;
 
-               )
 
-                 if (3 == G.nodeType || dtd.li[G.tagName]) {
 
-                   if (1 == G.nodeType && dtd.$list[G.tagName]) {
 
-                     for (; G.firstChild; ) l.appendChild(G.firstChild)
 
-                     ;(E = domUtils.getNextDomNode(G, !1, j)),
 
-                       domUtils.remove(G),
 
-                       (G = E)
 
-                     continue
 
-                   }
 
-                   for (
 
-                     E = G, H.setStartBefore(G);
 
-                     G && G !== F.end && (!I(G) || domUtils.isBookmarkNode(G));
 
-                   )
 
-                     (E = G),
 
-                       (G = domUtils.getNextDomNode(G, !1, null, function (a) {
 
-                         return !i[a.tagName]
 
-                       }))
 
-                   G &&
 
-                     I(G) &&
 
-                     ((p = domUtils.getNextDomNode(E, !1, j)),
 
-                     p &&
 
-                       domUtils.isBookmarkNode(p) &&
 
-                       ((G = domUtils.getNextDomNode(p, !1, j)), (E = p))),
 
-                     H.setEndAfter(E),
 
-                     (G = domUtils.getNextDomNode(E, !1, j))
 
-                   var J = h.document.createElement('li')
 
-                   if (
 
-                     (J.appendChild(H.extractContents()),
 
-                     domUtils.isEmptyNode(J))
 
-                   ) {
 
-                     for (var E = h.document.createElement('p'); J.firstChild; )
 
-                       E.appendChild(J.firstChild)
 
-                     J.appendChild(E)
 
-                   }
 
-                   l.appendChild(J)
 
-                 } else G = domUtils.getNextDomNode(G, !0, j)
 
-               h.moveToBookmark(F).collapse(!0),
 
-                 (o = f.document.createElement(k)),
 
-                 e(o, c),
 
-                 o.appendChild(l),
 
-                 h.insertNode(o),
 
-                 d(o, k, c)
 
-               for (
 
-                 var x, y = 0, K = domUtils.getElementsByTagName(o, 'div');
 
-                 (x = K[y++]);
 
-               )
 
-                 x.getAttribute('tmpDiv') && domUtils.remove(x, !0)
 
-               h.moveToBookmark(q).select()
 
-             },
 
-             queryCommandState: function (a) {
 
-               for (
 
-                 var b,
 
-                   c = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul',
 
-                   d = this.selection.getStartElementPath(),
 
-                   e = 0;
 
-                 (b = d[e++]);
 
-               ) {
 
-                 if ('TABLE' == b.nodeName) return 0
 
-                 if (c == b.nodeName.toLowerCase()) return 1
 
-               }
 
-               return 0
 
-             },
 
-             queryCommandValue: function (a) {
 
-               for (
 
-                 var c,
 
-                   d,
 
-                   e = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul',
 
-                   f = this.selection.getStartElementPath(),
 
-                   g = 0;
 
-                 (d = f[g++]);
 
-               ) {
 
-                 if ('TABLE' == d.nodeName) {
 
-                   c = null
 
-                   break
 
-                 }
 
-                 if (e == d.nodeName.toLowerCase()) {
 
-                   c = d
 
-                   break
 
-                 }
 
-               }
 
-               return c
 
-                 ? b(c) || domUtils.getComputedStyle(c, 'list-style-type')
 
-                 : null
 
-             }
 
-           })
 
-     }),
 
-     (function () {
 
-       var a = {
 
-         textarea: function (a, b) {
 
-           var c = b.ownerDocument.createElement('textarea')
 
-           return (
 
-             (c.style.cssText =
 
-               'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;'),
 
-             browser.ie &&
 
-               browser.version < 8 &&
 
-               ((c.style.width = b.offsetWidth + 'px'),
 
-               (c.style.height = b.offsetHeight + 'px'),
 
-               (b.onresize = function () {
 
-                 ;(c.style.width = b.offsetWidth + 'px'),
 
-                   (c.style.height = b.offsetHeight + 'px')
 
-               })),
 
-             b.appendChild(c),
 
-             {
 
-               setContent: function (a) {
 
-                 c.value = a
 
-               },
 
-               getContent: function () {
 
-                 return c.value
 
-               },
 
-               select: function () {
 
-                 var a
 
-                 browser.ie
 
-                   ? ((a = c.createTextRange()), a.collapse(!0), a.select())
 
-                   : (c.setSelectionRange(0, 0), c.focus())
 
-               },
 
-               dispose: function () {
 
-                 b.removeChild(c), (b.onresize = null), (c = null), (b = null)
 
-               }
 
-             }
 
-           )
 
-         },
 
-         codemirror: function (a, b) {
 
-           var c = window.CodeMirror(b, {
 
-               mode: 'text/html',
 
-               tabMode: 'indent',
 
-               lineNumbers: !0,
 
-               lineWrapping: !0
 
-             }),
 
-             d = c.getWrapperElement()
 
-           return (
 
-             (d.style.cssText =
 
-               'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;'),
 
-             (c.getScrollerElement().style.cssText =
 
-               'position:absolute;left:0;top:0;width:100%;height:100%;'),
 
-             c.refresh(),
 
-             {
 
-               getCodeMirror: function () {
 
-                 return c
 
-               },
 
-               setContent: function (a) {
 
-                 c.setValue(a)
 
-               },
 
-               getContent: function () {
 
-                 return c.getValue()
 
-               },
 
-               select: function () {
 
-                 c.focus()
 
-               },
 
-               dispose: function () {
 
-                 b.removeChild(d), (d = null), (c = null)
 
-               }
 
-             }
 
-           )
 
-         }
 
-       }
 
-       UE.plugins.source = function () {
 
-         function b(b) {
 
-           return a[
 
-             'codemirror' == f.sourceEditor && window.CodeMirror
 
-               ? 'codemirror'
 
-               : 'textarea'
 
-           ](e, b)
 
-         }
 
-         var c,
 
-           d,
 
-           e = this,
 
-           f = this.options,
 
-           g = !1
 
-         ;(f.sourceEditor = browser.ie
 
-           ? 'textarea'
 
-           : f.sourceEditor || 'codemirror'),
 
-           e.setOpt({ sourceEditorFirst: !1 })
 
-         var h, i, j
 
-         e.commands.source = {
 
-           execCommand: function () {
 
-             if ((g = !g)) {
 
-               ;(j = e.selection.getRange().createAddress(!1, !0)),
 
-                 e.undoManger && e.undoManger.save(!0),
 
-                 browser.gecko && (e.body.contentEditable = !1),
 
-                 (h = e.iframe.style.cssText),
 
-                 (e.iframe.style.cssText +=
 
-                   'position:absolute;left:-32768px;top:-32768px;'),
 
-                 e.fireEvent('beforegetcontent')
 
-               var a = UE.htmlparser(e.body.innerHTML)
 
-               e.filterOutputRule(a),
 
-                 a.traversal(function (a) {
 
-                   if ('element' == a.type)
 
-                     switch (a.tagName) {
 
-                       case 'td':
 
-                       case 'th':
 
-                       case 'caption':
 
-                         a.children &&
 
-                           1 == a.children.length &&
 
-                           'br' == a.firstChild().tagName &&
 
-                           a.removeChild(a.firstChild())
 
-                         break
 
-                       case 'pre':
 
-                         a.innerText(a.innerText().replace(/ /g, ' '))
 
-                     }
 
-                 }),
 
-                 e.fireEvent('aftergetcontent')
 
-               var f = a.toHtml(!0)
 
-               ;(c = b(e.iframe.parentNode)),
 
-                 c.setContent(f),
 
-                 (d = e.setContent),
 
-                 (e.setContent = function (a) {
 
-                   var b = UE.htmlparser(a)
 
-                   e.filterInputRule(b), (a = b.toHtml()), c.setContent(a)
 
-                 }),
 
-                 setTimeout(function () {
 
-                   c.select(),
 
-                     e.addListener('fullscreenchanged', function () {
 
-                       try {
 
-                         c.getCodeMirror().refresh()
 
-                       } catch (a) {}
 
-                     })
 
-                 }),
 
-                 (i = e.getContent),
 
-                 (e.getContent = function () {
 
-                   return (
 
-                     c.getContent() ||
 
-                     '<p>' + (browser.ie ? '' : '<br/>') + '</p>'
 
-                   )
 
-                 })
 
-             } else {
 
-               e.iframe.style.cssText = h
 
-               var k =
 
-                 c.getContent() || '<p>' + (browser.ie ? '' : '<br/>') + '</p>'
 
-               ;(k = k.replace(
 
-                 new RegExp('[\\r\\t\\n ]*</?(\\w+)\\s*(?:[^>]*)>', 'g'),
 
-                 function (a, b) {
 
-                   return b && !dtd.$inlineWithA[b.toLowerCase()]
 
-                     ? a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g, '')
 
-                     : a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g, '')
 
-                 }
 
-               )),
 
-                 (e.setContent = d),
 
-                 e.setContent(k),
 
-                 c.dispose(),
 
-                 (c = null),
 
-                 (e.getContent = i)
 
-               var l = e.body.firstChild
 
-               if (
 
-                 (l ||
 
-                   ((e.body.innerHTML =
 
-                     '<p>' + (browser.ie ? '' : '<br/>') + '</p>'),
 
-                   (l = e.body.firstChild)),
 
-                 e.undoManger && e.undoManger.save(!0),
 
-                 browser.gecko)
 
-               ) {
 
-                 var m = document.createElement('input')
 
-                 ;(m.style.cssText = 'position:absolute;left:0;top:-32768px'),
 
-                   document.body.appendChild(m),
 
-                   (e.body.contentEditable = !1),
 
-                   setTimeout(function () {
 
-                     domUtils.setViewportOffset(m, { left: -32768, top: 0 }),
 
-                       m.focus(),
 
-                       setTimeout(function () {
 
-                         ;(e.body.contentEditable = !0),
 
-                           e.selection.getRange().moveToAddress(j).select(!0),
 
-                           domUtils.remove(m)
 
-                       })
 
-                   })
 
-               } else
 
-                 try {
 
-                   e.selection.getRange().moveToAddress(j).select(!0)
 
-                 } catch (n) {}
 
-             }
 
-             this.fireEvent('sourcemodechanged', g)
 
-           },
 
-           queryCommandState: function () {
 
-             return 0 | g
 
-           },
 
-           notNeedUndo: 1
 
-         }
 
-         var k = e.queryCommandState
 
-         ;(e.queryCommandState = function (a) {
 
-           return (
 
-             (a = a.toLowerCase()),
 
-             g
 
-               ? a in { source: 1, fullscreen: 1 }
 
-                 ? 1
 
-                 : -1
 
-               : k.apply(this, arguments)
 
-           )
 
-         }),
 
-           'codemirror' == f.sourceEditor &&
 
-             e.addListener('ready', function () {
 
-               utils.loadFile(
 
-                 document,
 
-                 {
 
-                   src:
 
-                     f.codeMirrorJsUrl ||
 
-                     f.UEDITOR_HOME_URL + 'third-party/codemirror/codemirror.js',
 
-                   tag: 'script',
 
-                   type: 'text/javascript',
 
-                   defer: 'defer'
 
-                 },
 
-                 function () {
 
-                   f.sourceEditorFirst &&
 
-                     setTimeout(function () {
 
-                       e.execCommand('source')
 
-                     }, 0)
 
-                 }
 
-               ),
 
-                 utils.loadFile(document, {
 
-                   tag: 'link',
 
-                   rel: 'stylesheet',
 
-                   type: 'text/css',
 
-                   href:
 
-                     f.codeMirrorCssUrl ||
 
-                     f.UEDITOR_HOME_URL + 'third-party/codemirror/codemirror.css'
 
-                 })
 
-             })
 
-       }
 
-     })(),
 
-     (UE.plugins.enterkey = function () {
 
-       var a,
 
-         b = this,
 
-         c = b.options.enterTag
 
-       b.addListener('keyup', function (c, d) {
 
-         var e = d.keyCode || d.which
 
-         if (13 == e) {
 
-           var f,
 
-             g = b.selection.getRange(),
 
-             h = g.startContainer
 
-           if (browser.ie) b.fireEvent('saveScene', !0, !0)
 
-           else {
 
-             if (/h\d/i.test(a)) {
 
-               if (browser.gecko) {
 
-                 var i = domUtils.findParentByTagName(
 
-                   h,
 
-                   [
 
-                     'h1',
 
-                     'h2',
 
-                     'h3',
 
-                     'h4',
 
-                     'h5',
 
-                     'h6',
 
-                     'blockquote',
 
-                     'caption',
 
-                     'table'
 
-                   ],
 
-                   !0
 
-                 )
 
-                 i || (b.document.execCommand('formatBlock', !1, '<p>'), (f = 1))
 
-               } else if (1 == h.nodeType) {
 
-                 var j,
 
-                   k = b.document.createTextNode('')
 
-                 if (
 
-                   (g.insertNode(k),
 
-                   (j = domUtils.findParentByTagName(k, 'div', !0)))
 
-                 ) {
 
-                   for (var l = b.document.createElement('p'); j.firstChild; )
 
-                     l.appendChild(j.firstChild)
 
-                   j.parentNode.insertBefore(l, j),
 
-                     domUtils.remove(j),
 
-                     g.setStartBefore(k).setCursor(),
 
-                     (f = 1)
 
-                 }
 
-                 domUtils.remove(k)
 
-               }
 
-               b.undoManger && f && b.undoManger.save()
 
-             }
 
-             browser.opera && g.select()
 
-           }
 
-         }
 
-       }),
 
-         b.addListener('keydown', function (d, e) {
 
-           var f = e.keyCode || e.which
 
-           if (13 == f) {
 
-             if (b.fireEvent('beforeenterkeydown'))
 
-               return void domUtils.preventDefault(e)
 
-             b.fireEvent('saveScene', !0, !0), (a = '')
 
-             var g = b.selection.getRange()
 
-             if (!g.collapsed) {
 
-               var h = g.startContainer,
 
-                 i = g.endContainer,
 
-                 j = domUtils.findParentByTagName(h, 'td', !0),
 
-                 k = domUtils.findParentByTagName(i, 'td', !0)
 
-               if ((j && k && j !== k) || (!j && k) || (j && !k))
 
-                 return void (e.preventDefault
 
-                   ? e.preventDefault()
 
-                   : (e.returnValue = !1))
 
-             }
 
-             if ('p' == c)
 
-               browser.ie ||
 
-                 ((h = domUtils.findParentByTagName(
 
-                   g.startContainer,
 
-                   [
 
-                     'ol',
 
-                     'ul',
 
-                     'p',
 
-                     'h1',
 
-                     'h2',
 
-                     'h3',
 
-                     'h4',
 
-                     'h5',
 
-                     'h6',
 
-                     'blockquote',
 
-                     'caption'
 
-                   ],
 
-                   !0
 
-                 )),
 
-                 h || browser.opera
 
-                   ? ((a = h.tagName),
 
-                     'p' == h.tagName.toLowerCase() &&
 
-                       browser.gecko &&
 
-                       domUtils.removeDirtyAttr(h))
 
-                   : (b.document.execCommand('formatBlock', !1, '<p>'),
 
-                     browser.gecko &&
 
-                       ((g = b.selection.getRange()),
 
-                       (h = domUtils.findParentByTagName(
 
-                         g.startContainer,
 
-                         'p',
 
-                         !0
 
-                       )),
 
-                       h && domUtils.removeDirtyAttr(h))))
 
-             else if (
 
-               (e.preventDefault ? e.preventDefault() : (e.returnValue = !1),
 
-               g.collapsed)
 
-             ) {
 
-               ;(m = g.document.createElement('br')), g.insertNode(m)
 
-               var l = m.parentNode
 
-               l.lastChild === m
 
-                 ? (m.parentNode.insertBefore(m.cloneNode(!0), m),
 
-                   g.setStartBefore(m))
 
-                 : g.setStartAfter(m),
 
-                 g.setCursor()
 
-             } else if (
 
-               (g.deleteContents(),
 
-               (h = g.startContainer),
 
-               1 == h.nodeType && (h = h.childNodes[g.startOffset]))
 
-             ) {
 
-               for (; 1 == h.nodeType; ) {
 
-                 if (dtd.$empty[h.tagName])
 
-                   return (
 
-                     g.setStartBefore(h).setCursor(),
 
-                     b.undoManger && b.undoManger.save(),
 
-                     !1
 
-                   )
 
-                 if (!h.firstChild) {
 
-                   var m = g.document.createElement('br')
 
-                   return (
 
-                     h.appendChild(m),
 
-                     g.setStart(h, 0).setCursor(),
 
-                     b.undoManger && b.undoManger.save(),
 
-                     !1
 
-                   )
 
-                 }
 
-                 h = h.firstChild
 
-               }
 
-               h === g.startContainer.childNodes[g.startOffset]
 
-                 ? ((m = g.document.createElement('br')),
 
-                   g.insertNode(m).setCursor())
 
-                 : g.setStart(h, 0).setCursor()
 
-             } else
 
-               (m = g.document.createElement('br')),
 
-                 g.insertNode(m).setStartAfter(m).setCursor()
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.keystrokes = function () {
 
-       var a = this,
 
-         b = !0
 
-       a.addListener('keydown', function (c, d) {
 
-         var e = d.keyCode || d.which,
 
-           f = a.selection.getRange()
 
-         if (
 
-           !f.collapsed &&
 
-           !(d.ctrlKey || d.shiftKey || d.altKey || d.metaKey) &&
 
-           ((e >= 65 && e <= 90) ||
 
-             (e >= 48 && e <= 57) ||
 
-             (e >= 96 && e <= 111) ||
 
-             { 13: 1, 8: 1, 46: 1 }[e])
 
-         ) {
 
-           var g = f.startContainer
 
-           if (
 
-             (domUtils.isFillChar(g) && f.setStartBefore(g),
 
-             (g = f.endContainer),
 
-             domUtils.isFillChar(g) && f.setEndAfter(g),
 
-             f.txtToElmBoundary(),
 
-             f.endContainer &&
 
-               1 == f.endContainer.nodeType &&
 
-               ((g = f.endContainer.childNodes[f.endOffset]),
 
-               g && domUtils.isBr(g) && f.setEndAfter(g)),
 
-             0 == f.startOffset &&
 
-               ((g = f.startContainer),
 
-               domUtils.isBoundaryNode(g, 'firstChild') &&
 
-                 ((g = f.endContainer),
 
-                 f.endOffset ==
 
-                   (3 == g.nodeType
 
-                     ? g.nodeValue.length
 
-                     : g.childNodes.length) &&
 
-                   domUtils.isBoundaryNode(g, 'lastChild'))))
 
-           )
 
-             return (
 
-               a.fireEvent('saveScene'),
 
-               (a.body.innerHTML = '<p>' + (browser.ie ? '' : '<br/>') + '</p>'),
 
-               f.setStart(a.body.firstChild, 0).setCursor(!1, !0),
 
-               void a._selectionChange()
 
-             )
 
-         }
 
-         if (e == keymap.Backspace) {
 
-           if (
 
-             ((f = a.selection.getRange()),
 
-             (b = f.collapsed),
 
-             a.fireEvent('delkeydown', d))
 
-           )
 
-             return
 
-           var h, i
 
-           if (
 
-             (f.collapsed &&
 
-               f.inFillChar() &&
 
-               ((h = f.startContainer),
 
-               domUtils.isFillChar(h)
 
-                 ? (f.setStartBefore(h).shrinkBoundary(!0).collapse(!0),
 
-                   domUtils.remove(h))
 
-                 : ((h.nodeValue = h.nodeValue.replace(
 
-                     new RegExp('^' + domUtils.fillChar),
 
-                     ''
 
-                   )),
 
-                   f.startOffset--,
 
-                   f.collapse(!0).select(!0))),
 
-             (h = f.getClosedNode()))
 
-           )
 
-             return (
 
-               a.fireEvent('saveScene'),
 
-               f.setStartBefore(h),
 
-               domUtils.remove(h),
 
-               f.setCursor(),
 
-               a.fireEvent('saveScene'),
 
-               void domUtils.preventDefault(d)
 
-             )
 
-           if (
 
-             !browser.ie &&
 
-             ((h = domUtils.findParentByTagName(f.startContainer, 'table', !0)),
 
-             (i = domUtils.findParentByTagName(f.endContainer, 'table', !0)),
 
-             (h && !i) || (!h && i) || h !== i)
 
-           )
 
-             return void d.preventDefault()
 
-         }
 
-         if (e == keymap.Tab) {
 
-           var j = { ol: 1, ul: 1, table: 1 }
 
-           if (a.fireEvent('tabkeydown', d))
 
-             return void domUtils.preventDefault(d)
 
-           var k = a.selection.getRange()
 
-           a.fireEvent('saveScene')
 
-           for (
 
-             var l = 0,
 
-               m = '',
 
-               n = a.options.tabSize || 4,
 
-               o = a.options.tabNode || ' ';
 
-             l < n;
 
-             l++
 
-           )
 
-             m += o
 
-           var p = a.document.createElement('span')
 
-           if (((p.innerHTML = m + domUtils.fillChar), k.collapsed))
 
-             k.insertNode(p.cloneNode(!0).firstChild).setCursor(!0)
 
-           else {
 
-             var q = function (a) {
 
-               return domUtils.isBlockElm(a) && !j[a.tagName.toLowerCase()]
 
-             }
 
-             if (
 
-               ((h = domUtils.findParent(k.startContainer, q, !0)),
 
-               (i = domUtils.findParent(k.endContainer, q, !0)),
 
-               h && i && h === i)
 
-             )
 
-               k.deleteContents(),
 
-                 k.insertNode(p.cloneNode(!0).firstChild).setCursor(!0)
 
-             else {
 
-               var r = k.createBookmark()
 
-               k.enlarge(!0)
 
-               for (
 
-                 var s = k.createBookmark(),
 
-                   t = domUtils.getNextDomNode(s.start, !1, q);
 
-                 t &&
 
-                 !(domUtils.getPosition(t, s.end) & domUtils.POSITION_FOLLOWING);
 
-               )
 
-                 t.insertBefore(p.cloneNode(!0).firstChild, t.firstChild),
 
-                   (t = domUtils.getNextDomNode(t, !1, q))
 
-               k.moveToBookmark(s).moveToBookmark(r).select()
 
-             }
 
-           }
 
-           domUtils.preventDefault(d)
 
-         }
 
-         if (
 
-           browser.gecko &&
 
-           46 == e &&
 
-           ((k = a.selection.getRange()),
 
-           k.collapsed && ((h = k.startContainer), domUtils.isEmptyBlock(h)))
 
-         ) {
 
-           for (
 
-             var u = h.parentNode;
 
-             1 == domUtils.getChildCount(u) && !domUtils.isBody(u);
 
-           )
 
-             (h = u), (u = u.parentNode)
 
-           return void (h === u.lastChild && d.preventDefault())
 
-         }
 
-       }),
 
-         a.addListener('keyup', function (a, c) {
 
-           var d,
 
-             e = c.keyCode || c.which,
 
-             f = this
 
-           if (e == keymap.Backspace) {
 
-             if (f.fireEvent('delkeyup')) return
 
-             if (((d = f.selection.getRange()), d.collapsed)) {
 
-               var g,
 
-                 h = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']
 
-               if (
 
-                 (g = domUtils.findParentByTagName(d.startContainer, h, !0)) &&
 
-                 domUtils.isEmptyBlock(g)
 
-               ) {
 
-                 var i = g.previousSibling
 
-                 if (i && 'TABLE' != i.nodeName)
 
-                   return (
 
-                     domUtils.remove(g),
 
-                     void d.setStartAtLast(i).setCursor(!1, !0)
 
-                   )
 
-                 var j = g.nextSibling
 
-                 if (j && 'TABLE' != j.nodeName)
 
-                   return (
 
-                     domUtils.remove(g),
 
-                     void d.setStartAtFirst(j).setCursor(!1, !0)
 
-                   )
 
-               }
 
-               if (domUtils.isBody(d.startContainer)) {
 
-                 var g = domUtils.createElement(f.document, 'p', {
 
-                   innerHTML: browser.ie ? domUtils.fillChar : '<br/>'
 
-                 })
 
-                 d.insertNode(g).setStart(g, 0).setCursor(!1, !0)
 
-               }
 
-             }
 
-             if (
 
-               !b &&
 
-               (3 == d.startContainer.nodeType ||
 
-                 (1 == d.startContainer.nodeType &&
 
-                   domUtils.isEmptyBlock(d.startContainer)))
 
-             )
 
-               if (browser.ie) {
 
-                 var k = d.document.createElement('span')
 
-                 d.insertNode(k).setStartBefore(k).collapse(!0),
 
-                   d.select(),
 
-                   domUtils.remove(k)
 
-               } else d.select()
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.fiximgclick = (function () {
 
-       function a() {
 
-         ;(this.editor = null),
 
-           (this.resizer = null),
 
-           (this.cover = null),
 
-           (this.doc = document),
 
-           (this.prePos = { x: 0, y: 0 }),
 
-           (this.startPos = { x: 0, y: 0 })
 
-       }
 
-       var b = !1
 
-       return (
 
-         (function () {
 
-           var c = [
 
-             [0, 0, -1, -1],
 
-             [0, 0, 0, -1],
 
-             [0, 0, 1, -1],
 
-             [0, 0, -1, 0],
 
-             [0, 0, 1, 0],
 
-             [0, 0, -1, 1],
 
-             [0, 0, 0, 1],
 
-             [0, 0, 1, 1]
 
-           ]
 
-           a.prototype = {
 
-             init: function (a) {
 
-               var b = this
 
-               ;(b.editor = a),
 
-                 (b.startPos = this.prePos = { x: 0, y: 0 }),
 
-                 (b.dragId = -1)
 
-               var c = [],
 
-                 d = (b.cover = document.createElement('div')),
 
-                 e = (b.resizer = document.createElement('div'))
 
-               for (
 
-                 d.id = b.editor.ui.id + '_imagescale_cover',
 
-                   d.style.cssText =
 
-                     'position:absolute;display:none;z-index:' +
 
-                     b.editor.options.zIndex +
 
-                     ';filter:alpha(opacity=0); opacity:0;background:#CCC;',
 
-                   domUtils.on(d, 'mousedown click', function () {
 
-                     b.hide()
 
-                   }),
 
-                   i = 0;
 
-                 i < 8;
 
-                 i++
 
-               )
 
-                 c.push(
 
-                   '<span class="edui-editor-imagescale-hand' + i + '"></span>'
 
-                 )
 
-               ;(e.id = b.editor.ui.id + '_imagescale'),
 
-                 (e.className = 'edui-editor-imagescale'),
 
-                 (e.innerHTML = c.join('')),
 
-                 (e.style.cssText +=
 
-                   ';display:none;border:1px solid #3b77ff;z-index:' +
 
-                   b.editor.options.zIndex +
 
-                   ';'),
 
-                 b.editor.ui.getDom().appendChild(d),
 
-                 b.editor.ui.getDom().appendChild(e),
 
-                 b.initStyle(),
 
-                 b.initEvents()
 
-             },
 
-             initStyle: function () {
 
-               utils.cssRule(
 
-                 'imagescale',
 
-                 '.edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}'
 
-               )
 
-             },
 
-             initEvents: function () {
 
-               var a = this
 
-               ;(a.startPos.x = a.startPos.y = 0), (a.isDraging = !1)
 
-             },
 
-             _eventHandler: function (a) {
 
-               var c = this
 
-               switch (a.type) {
 
-                 case 'mousedown':
 
-                   var d,
 
-                     d = a.target || a.srcElement
 
-                   d.className.indexOf('edui-editor-imagescale-hand') != -1 &&
 
-                     c.dragId == -1 &&
 
-                     ((c.dragId = d.className.slice(-1)),
 
-                     (c.startPos.x = c.prePos.x = a.clientX),
 
-                     (c.startPos.y = c.prePos.y = a.clientY),
 
-                     domUtils.on(
 
-                       c.doc,
 
-                       'mousemove',
 
-                       c.proxy(c._eventHandler, c)
 
-                     ))
 
-                   break
 
-                 case 'mousemove':
 
-                   c.dragId != -1 &&
 
-                     (c.updateContainerStyle(c.dragId, {
 
-                       x: a.clientX - c.prePos.x,
 
-                       y: a.clientY - c.prePos.y
 
-                     }),
 
-                     (c.prePos.x = a.clientX),
 
-                     (c.prePos.y = a.clientY),
 
-                     (b = !0),
 
-                     c.updateTargetElement())
 
-                   break
 
-                 case 'mouseup':
 
-                   c.dragId != -1 &&
 
-                     (c.updateContainerStyle(c.dragId, {
 
-                       x: a.clientX - c.prePos.x,
 
-                       y: a.clientY - c.prePos.y
 
-                     }),
 
-                     c.updateTargetElement(),
 
-                     c.target.parentNode && c.attachTo(c.target),
 
-                     (c.dragId = -1)),
 
-                     domUtils.un(
 
-                       c.doc,
 
-                       'mousemove',
 
-                       c.proxy(c._eventHandler, c)
 
-                     ),
 
-                     b && ((b = !1), c.editor.fireEvent('contentchange'))
 
-               }
 
-             },
 
-             updateTargetElement: function () {
 
-               var a = this
 
-               domUtils.setStyles(a.target, {
 
-                 width: a.resizer.style.width,
 
-                 height: a.resizer.style.height
 
-               }),
 
-                 (a.target.width = parseInt(a.resizer.style.width)),
 
-                 (a.target.height = parseInt(a.resizer.style.height)),
 
-                 a.attachTo(a.target)
 
-             },
 
-             updateContainerStyle: function (a, b) {
 
-               var d,
 
-                 e = this,
 
-                 f = e.resizer
 
-               0 != c[a][0] &&
 
-                 ((d = parseInt(f.style.left) + b.x),
 
-                 (f.style.left = e._validScaledProp('left', d) + 'px')),
 
-                 0 != c[a][1] &&
 
-                   ((d = parseInt(f.style.top) + b.y),
 
-                   (f.style.top = e._validScaledProp('top', d) + 'px')),
 
-                 0 != c[a][2] &&
 
-                   ((d = f.clientWidth + c[a][2] * b.x),
 
-                   (f.style.width = e._validScaledProp('width', d) + 'px')),
 
-                 0 != c[a][3] &&
 
-                   ((d = f.clientHeight + c[a][3] * b.y),
 
-                   (f.style.height = e._validScaledProp('height', d) + 'px'))
 
-             },
 
-             _validScaledProp: function (a, b) {
 
-               var c = this.resizer,
 
-                 d = document
 
-               switch (((b = isNaN(b) ? 0 : b), a)) {
 
-                 case 'left':
 
-                   return b < 0
 
-                     ? 0
 
-                     : b + c.clientWidth > d.clientWidth
 
-                     ? d.clientWidth - c.clientWidth
 
-                     : b
 
-                 case 'top':
 
-                   return b < 0
 
-                     ? 0
 
-                     : b + c.clientHeight > d.clientHeight
 
-                     ? d.clientHeight - c.clientHeight
 
-                     : b
 
-                 case 'width':
 
-                   return b <= 0
 
-                     ? 1
 
-                     : b + c.offsetLeft > d.clientWidth
 
-                     ? d.clientWidth - c.offsetLeft
 
-                     : b
 
-                 case 'height':
 
-                   return b <= 0
 
-                     ? 1
 
-                     : b + c.offsetTop > d.clientHeight
 
-                     ? d.clientHeight - c.offsetTop
 
-                     : b
 
-               }
 
-             },
 
-             hideCover: function () {
 
-               this.cover.style.display = 'none'
 
-             },
 
-             showCover: function () {
 
-               var a = this,
 
-                 b = domUtils.getXY(a.editor.ui.getDom()),
 
-                 c = domUtils.getXY(a.editor.iframe)
 
-               domUtils.setStyles(a.cover, {
 
-                 width: a.editor.iframe.offsetWidth + 'px',
 
-                 height: a.editor.iframe.offsetHeight + 'px',
 
-                 top: c.y - b.y + 'px',
 
-                 left: c.x - b.x + 'px',
 
-                 position: 'absolute',
 
-                 display: ''
 
-               })
 
-             },
 
-             show: function (a) {
 
-               var b = this
 
-               ;(b.resizer.style.display = 'block'),
 
-                 a && b.attachTo(a),
 
-                 domUtils.on(
 
-                   this.resizer,
 
-                   'mousedown',
 
-                   b.proxy(b._eventHandler, b)
 
-                 ),
 
-                 domUtils.on(b.doc, 'mouseup', b.proxy(b._eventHandler, b)),
 
-                 b.showCover(),
 
-                 b.editor.fireEvent('afterscaleshow', b),
 
-                 b.editor.fireEvent('saveScene')
 
-             },
 
-             hide: function () {
 
-               var a = this
 
-               a.hideCover(),
 
-                 (a.resizer.style.display = 'none'),
 
-                 domUtils.un(
 
-                   a.resizer,
 
-                   'mousedown',
 
-                   a.proxy(a._eventHandler, a)
 
-                 ),
 
-                 domUtils.un(a.doc, 'mouseup', a.proxy(a._eventHandler, a)),
 
-                 a.editor.fireEvent('afterscalehide', a)
 
-             },
 
-             proxy: function (a, b) {
 
-               return function (c) {
 
-                 return a.apply(b || this, arguments)
 
-               }
 
-             },
 
-             attachTo: function (a) {
 
-               var b = this,
 
-                 c = (b.target = a),
 
-                 d = this.resizer,
 
-                 e = domUtils.getXY(c),
 
-                 f = domUtils.getXY(b.editor.iframe),
 
-                 g = domUtils.getXY(d.parentNode)
 
-               domUtils.setStyles(d, {
 
-                 width: c.width + 'px',
 
-                 height: c.height + 'px',
 
-                 left:
 
-                   f.x +
 
-                   e.x -
 
-                   b.editor.document.body.scrollLeft -
 
-                   g.x -
 
-                   parseInt(d.style.borderLeftWidth) +
 
-                   'px',
 
-                 top:
 
-                   f.y +
 
-                   e.y -
 
-                   b.editor.document.body.scrollTop -
 
-                   g.y -
 
-                   parseInt(d.style.borderTopWidth) +
 
-                   'px'
 
-               })
 
-             }
 
-           }
 
-         })(),
 
-         function () {
 
-           var b,
 
-             c = this
 
-           c.setOpt('imageScaleEnabled', !0),
 
-             !browser.ie &&
 
-               c.options.imageScaleEnabled &&
 
-               c.addListener('click', function (d, e) {
 
-                 var f = c.selection.getRange(),
 
-                   g = f.getClosedNode()
 
-                 if (
 
-                   g &&
 
-                   'IMG' == g.tagName &&
 
-                   'false' != c.body.contentEditable
 
-                 ) {
 
-                   if (
 
-                     g.className.indexOf('edui-faked-music') != -1 ||
 
-                     g.getAttribute('anchorname') ||
 
-                     domUtils.hasClass(g, 'loadingclass') ||
 
-                     domUtils.hasClass(g, 'loaderrorclass')
 
-                   )
 
-                     return
 
-                   if (!b) {
 
-                     ;(b = new a()),
 
-                       b.init(c),
 
-                       c.ui.getDom().appendChild(b.resizer)
 
-                     var h,
 
-                       i = function (a) {
 
-                         b.hide(),
 
-                           b.target &&
 
-                             c.selection.getRange().selectNode(b.target).select()
 
-                       },
 
-                       j = function (a) {
 
-                         var b = a.target || a.srcElement
 
-                         !b ||
 
-                           (void 0 !== b.className &&
 
-                             b.className.indexOf('edui-editor-imagescale') !=
 
-                               -1) ||
 
-                           i(a)
 
-                       }
 
-                     c.addListener('afterscaleshow', function (a) {
 
-                       c.addListener('beforekeydown', i),
 
-                         c.addListener('beforemousedown', j),
 
-                         domUtils.on(document, 'keydown', i),
 
-                         domUtils.on(document, 'mousedown', j),
 
-                         c.selection.getNative().removeAllRanges()
 
-                     }),
 
-                       c.addListener('afterscalehide', function (a) {
 
-                         c.removeListener('beforekeydown', i),
 
-                           c.removeListener('beforemousedown', j),
 
-                           domUtils.un(document, 'keydown', i),
 
-                           domUtils.un(document, 'mousedown', j)
 
-                         var d = b.target
 
-                         d.parentNode &&
 
-                           c.selection.getRange().selectNode(d).select()
 
-                       }),
 
-                       domUtils.on(b.resizer, 'mousedown', function (a) {
 
-                         c.selection.getNative().removeAllRanges()
 
-                         var d = a.target || a.srcElement
 
-                         d &&
 
-                           d.className.indexOf('edui-editor-imagescale-hand') ==
 
-                             -1 &&
 
-                           (h = setTimeout(function () {
 
-                             b.hide(),
 
-                               b.target &&
 
-                                 c.selection.getRange().selectNode(d).select()
 
-                           }, 200))
 
-                       }),
 
-                       domUtils.on(b.resizer, 'mouseup', function (a) {
 
-                         var b = a.target || a.srcElement
 
-                         b &&
 
-                           b.className.indexOf('edui-editor-imagescale-hand') ==
 
-                             -1 &&
 
-                           clearTimeout(h)
 
-                       })
 
-                   }
 
-                   b.show(g)
 
-                 } else b && 'none' != b.resizer.style.display && b.hide()
 
-               }),
 
-             browser.webkit &&
 
-               c.addListener('click', function (a, b) {
 
-                 if (
 
-                   'IMG' == b.target.tagName &&
 
-                   'false' != c.body.contentEditable
 
-                 ) {
 
-                   var d = new dom.Range(c.document)
 
-                   d.selectNode(b.target).select()
 
-                 }
 
-               })
 
-         }
 
-       )
 
-     })()),
 
-     UE.plugin.register(
 
-       'autolink',
 
-       function () {
 
-         var a = 0
 
-         return browser.ie
 
-           ? {}
 
-           : {
 
-               bindEvents: {
 
-                 reset: function () {
 
-                   a = 0
 
-                 },
 
-                 keydown: function (a, b) {
 
-                   var c = this,
 
-                     d = b.keyCode || b.which
 
-                   if (32 == d || 13 == d) {
 
-                     for (
 
-                       var e,
 
-                         f,
 
-                         g = c.selection.getNative(),
 
-                         h = g.getRangeAt(0).cloneRange(),
 
-                         i = h.startContainer;
 
-                       1 == i.nodeType &&
 
-                       h.startOffset > 0 &&
 
-                       (i = h.startContainer.childNodes[h.startOffset - 1]);
 
-                     )
 
-                       h.setStart(
 
-                         i,
 
-                         1 == i.nodeType
 
-                           ? i.childNodes.length
 
-                           : i.nodeValue.length
 
-                       ),
 
-                         h.collapse(!0),
 
-                         (i = h.startContainer)
 
-                     do {
 
-                       if (0 == h.startOffset) {
 
-                         for (
 
-                           i = h.startContainer.previousSibling;
 
-                           i && 1 == i.nodeType;
 
-                         )
 
-                           i = i.lastChild
 
-                         if (!i || domUtils.isFillChar(i)) break
 
-                         e = i.nodeValue.length
 
-                       } else (i = h.startContainer), (e = h.startOffset)
 
-                       h.setStart(i, e - 1), (f = h.toString().charCodeAt(0))
 
-                     } while (160 != f && 32 != f)
 
-                     if (
 
-                       h
 
-                         .toString()
 
-                         .replace(new RegExp(domUtils.fillChar, 'g'), '')
 
-                         .match(
 
-                           /(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i
 
-                         )
 
-                     ) {
 
-                       for (
 
-                         ;
 
-                         h.toString().length &&
 
-                         !/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(
 
-                           h.toString()
 
-                         );
 
-                       )
 
-                         try {
 
-                           h.setStart(h.startContainer, h.startOffset + 1)
 
-                         } catch (j) {
 
-                           for (
 
-                             var i = h.startContainer;
 
-                             !(next = i.nextSibling);
 
-                           ) {
 
-                             if (domUtils.isBody(i)) return
 
-                             i = i.parentNode
 
-                           }
 
-                           h.setStart(next, 0)
 
-                         }
 
-                       if (
 
-                         domUtils.findParentByTagName(h.startContainer, 'a', !0)
 
-                       )
 
-                         return
 
-                       var k,
 
-                         l = c.document.createElement('a'),
 
-                         m = c.document.createTextNode(' ')
 
-                       c.undoManger && c.undoManger.save(),
 
-                         l.appendChild(h.extractContents()),
 
-                         (l.href = l.innerHTML =
 
-                           l.innerHTML.replace(/<[^>]+>/g, '')),
 
-                         (k = l
 
-                           .getAttribute('href')
 
-                           .replace(new RegExp(domUtils.fillChar, 'g'), '')),
 
-                         (k = /^(?:https?:\/\/)/gi.test(k) ? k : 'http://' + k),
 
-                         l.setAttribute('_src', utils.html(k)),
 
-                         (l.href = utils.html(k)),
 
-                         h.insertNode(l),
 
-                         l.parentNode.insertBefore(m, l.nextSibling),
 
-                         h.setStart(m, 0),
 
-                         h.collapse(!0),
 
-                         g.removeAllRanges(),
 
-                         g.addRange(h),
 
-                         c.undoManger && c.undoManger.save()
 
-                     }
 
-                   }
 
-                 }
 
-               }
 
-             }
 
-       },
 
-       function () {
 
-         function a(a) {
 
-           if (3 == a.nodeType) return null
 
-           if ('A' == a.nodeName) return a
 
-           for (var b = a.lastChild; b; ) {
 
-             if ('A' == b.nodeName) return b
 
-             if (3 == b.nodeType) {
 
-               if (domUtils.isWhitespace(b)) {
 
-                 b = b.previousSibling
 
-                 continue
 
-               }
 
-               return null
 
-             }
 
-             b = b.lastChild
 
-           }
 
-         }
 
-         var b = { 37: 1, 38: 1, 39: 1, 40: 1, 13: 1, 32: 1 }
 
-         browser.ie &&
 
-           this.addListener('keyup', function (c, d) {
 
-             var e = this,
 
-               f = d.keyCode
 
-             if (b[f]) {
 
-               var g = e.selection.getRange(),
 
-                 h = g.startContainer
 
-               if (13 == f) {
 
-                 for (; h && !domUtils.isBody(h) && !domUtils.isBlockElm(h); )
 
-                   h = h.parentNode
 
-                 if (h && !domUtils.isBody(h) && 'P' == h.nodeName) {
 
-                   var i = h.previousSibling
 
-                   if (i && 1 == i.nodeType) {
 
-                     var i = a(i)
 
-                     i && !i.getAttribute('_href') && domUtils.remove(i, !0)
 
-                   }
 
-                 }
 
-               } else if (32 == f)
 
-                 3 == h.nodeType &&
 
-                   /^\s$/.test(h.nodeValue) &&
 
-                   ((h = h.previousSibling),
 
-                   h &&
 
-                     'A' == h.nodeName &&
 
-                     !h.getAttribute('_href') &&
 
-                     domUtils.remove(h, !0))
 
-               else if (
 
-                 ((h = domUtils.findParentByTagName(h, 'a', !0)),
 
-                 h && !h.getAttribute('_href'))
 
-               ) {
 
-                 var j = g.createBookmark()
 
-                 domUtils.remove(h, !0), g.moveToBookmark(j).select(!0)
 
-               }
 
-             }
 
-           })
 
-       }
 
-     ),
 
-     (UE.plugins.autoheight = function () {
 
-       function a() {
 
-         var a = this
 
-         clearTimeout(e),
 
-           f ||
 
-             ((!a.queryCommandState ||
 
-               (a.queryCommandState && 1 != a.queryCommandState('source'))) &&
 
-               (e = setTimeout(function () {
 
-                 for (var b = a.body.lastChild; b && 1 != b.nodeType; )
 
-                   b = b.previousSibling
 
-                 b &&
 
-                   1 == b.nodeType &&
 
-                   ((b.style.clear = 'both'),
 
-                   (d = Math.max(
 
-                     domUtils.getXY(b).y + b.offsetHeight + 25,
 
-                     Math.max(h.minFrameHeight, h.initialFrameHeight)
 
-                   )),
 
-                   d != g &&
 
-                     (d !== parseInt(a.iframe.parentNode.style.height) &&
 
-                       (a.iframe.parentNode.style.height = d + 'px'),
 
-                     (a.body.style.height = d + 'px'),
 
-                     (g = d)),
 
-                   domUtils.removeStyle(b, 'clear'))
 
-               }, 50)))
 
-       }
 
-       var b = this
 
-       if (
 
-         ((b.autoHeightEnabled = b.options.autoHeightEnabled !== !1),
 
-         b.autoHeightEnabled)
 
-       ) {
 
-         var c,
 
-           d,
 
-           e,
 
-           f,
 
-           g = 0,
 
-           h = b.options
 
-         b.addListener('fullscreenchanged', function (a, b) {
 
-           f = b
 
-         }),
 
-           b.addListener('destroy', function () {
 
-             b.removeListener('contentchange afterinserthtml keyup mouseup', a)
 
-           }),
 
-           (b.enableAutoHeight = function () {
 
-             var b = this
 
-             if (b.autoHeightEnabled) {
 
-               var d = b.document
 
-               ;(b.autoHeightEnabled = !0),
 
-                 (c = d.body.style.overflowY),
 
-                 (d.body.style.overflowY = 'hidden'),
 
-                 b.addListener('contentchange afterinserthtml keyup mouseup', a),
 
-                 setTimeout(
 
-                   function () {
 
-                     a.call(b)
 
-                   },
 
-                   browser.gecko ? 100 : 0
 
-                 ),
 
-                 b.fireEvent('autoheightchanged', b.autoHeightEnabled)
 
-             }
 
-           }),
 
-           (b.disableAutoHeight = function () {
 
-             ;(b.body.style.overflowY = c || ''),
 
-               b.removeListener('contentchange', a),
 
-               b.removeListener('keyup', a),
 
-               b.removeListener('mouseup', a),
 
-               (b.autoHeightEnabled = !1),
 
-               b.fireEvent('autoheightchanged', b.autoHeightEnabled)
 
-           }),
 
-           b.on('setHeight', function () {
 
-             b.disableAutoHeight()
 
-           }),
 
-           b.addListener('ready', function () {
 
-             b.enableAutoHeight()
 
-             var c
 
-             domUtils.on(
 
-               browser.ie ? b.body : b.document,
 
-               browser.webkit ? 'dragover' : 'drop',
 
-               function () {
 
-                 clearTimeout(c),
 
-                   (c = setTimeout(function () {
 
-                     a.call(b)
 
-                   }, 100))
 
-               }
 
-             )
 
-             var d
 
-             window.onscroll = function () {
 
-               null === d
 
-                 ? (d = this.scrollY)
 
-                 : 0 == this.scrollY &&
 
-                   0 != d &&
 
-                   (b.window.scrollTo(0, 0), (d = null))
 
-             }
 
-           })
 
-       }
 
-     }),
 
-     (UE.plugins.autofloat = function () {
 
-       function a() {
 
-         return UE.ui ? 1 : (alert(g.autofloatMsg), 0)
 
-       }
 
-       function b() {
 
-         var a = document.body.style
 
-         ;(a.backgroundImage = 'url("about:blank")'),
 
-           (a.backgroundAttachment = 'fixed')
 
-       }
 
-       function c() {
 
-         var a = domUtils.getXY(k),
 
-           b = domUtils.getComputedStyle(k, 'position'),
 
-           c = domUtils.getComputedStyle(k, 'left')
 
-         ;(k.style.width = k.offsetWidth + 'px'),
 
-           (k.style.zIndex = 1 * f.options.zIndex + 1),
 
-           k.parentNode.insertBefore(q, k),
 
-           o || (p && browser.ie)
 
-             ? ('absolute' != k.style.position &&
 
-                 (k.style.position = 'absolute'),
 
-               (k.style.top =
 
-                 (document.body.scrollTop ||
 
-                   document.documentElement.scrollTop) -
 
-                 l +
 
-                 i +
 
-                 'px'))
 
-             : (browser.ie7Compat &&
 
-                 r &&
 
-                 ((r = !1),
 
-                 (k.style.left =
 
-                   domUtils.getXY(k).x -
 
-                   document.documentElement.getBoundingClientRect().left +
 
-                   2 +
 
-                   'px')),
 
-               'fixed' != k.style.position &&
 
-                 ((k.style.position = 'fixed'),
 
-                 (k.style.top = i + 'px'),
 
-                 ('absolute' == b || 'relative' == b) &&
 
-                   parseFloat(c) &&
 
-                   (k.style.left = a.x + 'px')))
 
-       }
 
-       function d() {
 
-         ;(r = !0),
 
-           q.parentNode && q.parentNode.removeChild(q),
 
-           (k.style.cssText = j)
 
-       }
 
-       function e() {
 
-         var a = m(f.container),
 
-           b = f.options.toolbarTopOffset || 0
 
-         a.top < 0 && a.bottom - k.offsetHeight > b ? c() : d()
 
-       }
 
-       var f = this,
 
-         g = f.getLang()
 
-       f.setOpt({ topOffset: 0 })
 
-       var h = f.options.autoFloatEnabled !== !1,
 
-         i = f.options.topOffset
 
-       if (h) {
 
-         var j,
 
-           k,
 
-           l,
 
-           m,
 
-           n = UE.ui.uiUtils,
 
-           o = browser.ie && browser.version <= 6,
 
-           p = browser.quirks,
 
-           q = document.createElement('div'),
 
-           r = !0,
 
-           s = utils.defer(
 
-             function () {
 
-               e()
 
-             },
 
-             browser.ie ? 200 : 100,
 
-             !0
 
-           )
 
-         f.addListener('destroy', function () {
 
-           domUtils.un(window, ['scroll', 'resize'], e),
 
-             f.removeListener('keydown', s)
 
-         }),
 
-           f.addListener('ready', function () {
 
-             if (a(f)) {
 
-               if (!f.ui) return
 
-               ;(m = n.getClientRect),
 
-                 (k = f.ui.getDom('toolbarbox')),
 
-                 (l = m(k).top),
 
-                 (j = k.style.cssText),
 
-                 (q.style.height = k.offsetHeight + 'px'),
 
-                 o && b(),
 
-                 domUtils.on(window, ['scroll', 'resize'], e),
 
-                 f.addListener('keydown', s),
 
-                 f.addListener('beforefullscreenchange', function (a, b) {
 
-                   b && d()
 
-                 }),
 
-                 f.addListener('fullscreenchanged', function (a, b) {
 
-                   b || e()
 
-                 }),
 
-                 f.addListener('sourcemodechanged', function (a, b) {
 
-                   setTimeout(function () {
 
-                     e()
 
-                   }, 0)
 
-                 }),
 
-                 f.addListener('clearDoc', function () {
 
-                   setTimeout(function () {
 
-                     e()
 
-                   }, 0)
 
-                 })
 
-             }
 
-           })
 
-       }
 
-     }),
 
-     (UE.plugins.video = function () {
 
-       function a(a, b, d, e, f, g, h) {
 
-         ;(a = utils.unhtmlForUrl(a)),
 
-           (f = utils.unhtml(f)),
 
-           (g = utils.unhtml(g).trim()),
 
-           (b = parseInt(b, 10) || 0),
 
-           (d = parseInt(d, 10) || 0)
 
-         var i
 
-         switch (h) {
 
-           case 'image':
 
-             i =
 
-               '<img ' +
 
-               (e ? 'id="' + e + '"' : '') +
 
-               ' width="' +
 
-               b +
 
-               '" height="' +
 
-               d +
 
-               '" _url="' +
 
-               a +
 
-               '" class="' +
 
-               g.replace(/\bvideo-js\b/, '') +
 
-               '" src="' +
 
-               c.options.UEDITOR_HOME_URL +
 
-               'themes/default/images/spacer.gif" style="background:url(' +
 
-               c.options.UEDITOR_HOME_URL +
 
-               'themes/default/images/videologo.gif) no-repeat center center; border:1px solid gray;' +
 
-               (f ? 'float:' + f + ';' : '') +
 
-               '" />'
 
-             break
 
-           case 'embed':
 
-             i =
 
-               '<embed type="application/x-shockwave-flash" class="' +
 
-               g +
 
-               '" pluginspage="http://www.macromedia.com/go/getflashplayer" src="' +
 
-               utils.html(a) +
 
-               '" width="' +
 
-               b +
 
-               '" height="' +
 
-               d +
 
-               '"' +
 
-               (f ? ' style="float:' + f + '"' : '') +
 
-               ' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" >'
 
-             break
 
-           case 'video':
 
-             var j = a.substr(a.lastIndexOf('.') + 1)
 
-             'ogv' == j && (j = 'ogg'),
 
-               (i =
 
-                 '<video' +
 
-                 (e ? ' id="' + e + '"' : '') +
 
-                 ' class="' +
 
-                 g +
 
-                 ' video-js" ' +
 
-                 (f ? ' style="float:' + f + '"' : '') +
 
-                 ' controls preload="none" width="' +
 
-                 b +
 
-                 '" height="' +
 
-                 d +
 
-                 '" src="' +
 
-                 a +
 
-                 '" data-setup="{}"><source src="' +
 
-                 a +
 
-                 '" type="video/' +
 
-                 j +
 
-                 '" /></video>')
 
-         }
 
-         return i
 
-       }
 
-       function b(b, c) {
 
-         utils.each(
 
-           b.getNodesByTagName(c ? 'img' : 'embed video'),
 
-           function (b) {
 
-             var d = b.getAttr('class')
 
-             if (d && d.indexOf('edui-faked-video') != -1) {
 
-               var e = a(
 
-                 c ? b.getAttr('_url') : b.getAttr('src'),
 
-                 b.getAttr('width'),
 
-                 b.getAttr('height'),
 
-                 null,
 
-                 b.getStyle('float') || '',
 
-                 d,
 
-                 c ? 'embed' : 'image'
 
-               )
 
-               b.parentNode.replaceChild(UE.uNode.createElement(e), b)
 
-             }
 
-             if (d && d.indexOf('edui-upload-video') != -1) {
 
-               var e = a(
 
-                 c ? b.getAttr('_url') : b.getAttr('src'),
 
-                 b.getAttr('width'),
 
-                 b.getAttr('height'),
 
-                 null,
 
-                 b.getStyle('float') || '',
 
-                 d,
 
-                 c ? 'video' : 'image'
 
-               )
 
-               b.parentNode.replaceChild(UE.uNode.createElement(e), b)
 
-             }
 
-           }
 
-         )
 
-       }
 
-       var c = this
 
-       c.addOutputRule(function (a) {
 
-         b(a, !0)
 
-       }),
 
-         c.addInputRule(function (a) {
 
-           b(a)
 
-         }),
 
-         (c.commands.insertvideo = {
 
-           execCommand: function (b, d, e) {
 
-             d = utils.isArray(d) ? d : [d]
 
-             for (
 
-               var f, g, h = [], i = 'tmpVedio', j = 0, k = d.length;
 
-               j < k;
 
-               j++
 
-             )
 
-               (g = d[j]),
 
-                 (f =
 
-                   'upload' == e
 
-                     ? 'edui-upload-video video-js vjs-default-skin'
 
-                     : 'edui-faked-video'),
 
-                 h.push(
 
-                   a(
 
-                     g.url,
 
-                     g.width || 420,
 
-                     g.height || 280,
 
-                     i + j,
 
-                     null,
 
-                     f,
 
-                     'image'
 
-                   )
 
-                 )
 
-             c.execCommand('inserthtml', h.join(''), !0)
 
-             for (
 
-               var l = this.selection.getRange(), j = 0, k = d.length;
 
-               j < k;
 
-               j++
 
-             ) {
 
-               var m = this.document.getElementById('tmpVedio' + j)
 
-               domUtils.removeAttributes(m, 'id'),
 
-                 l.selectNode(m).select(),
 
-                 c.execCommand('imagefloat', d[j].align)
 
-             }
 
-           },
 
-           queryCommandState: function () {
 
-             var a = c.selection.getRange().getClosedNode(),
 
-               b =
 
-                 a &&
 
-                 ('edui-faked-video' == a.className ||
 
-                   a.className.indexOf('edui-upload-video') != -1)
 
-             return b ? 1 : 0
 
-           }
 
-         })
 
-     }),
 
-     (function () {
 
-       function a(a) {}
 
-       var b = (UE.UETable = function (a) {
 
-         ;(this.table = a),
 
-           (this.indexTable = []),
 
-           (this.selectedTds = []),
 
-           (this.cellsRange = {}),
 
-           this.update(a)
 
-       })
 
-       ;(b.removeSelectedClass = function (a) {
 
-         utils.each(a, function (a) {
 
-           domUtils.removeClasses(a, 'selectTdClass')
 
-         })
 
-       }),
 
-         (b.addSelectedClass = function (a) {
 
-           utils.each(a, function (a) {
 
-             domUtils.addClass(a, 'selectTdClass')
 
-           })
 
-         }),
 
-         (b.isEmptyBlock = function (a) {
 
-           var b = new RegExp(domUtils.fillChar, 'g')
 
-           if (
 
-             a[browser.ie ? 'innerText' : 'textContent']
 
-               .replace(/^\s*$/, '')
 
-               .replace(b, '').length > 0
 
-           )
 
-             return 0
 
-           for (var c in dtd.$isNotEmpty)
 
-             if (
 
-               dtd.$isNotEmpty.hasOwnProperty(c) &&
 
-               a.getElementsByTagName(c).length
 
-             )
 
-               return 0
 
-           return 1
 
-         }),
 
-         (b.getWidth = function (a) {
 
-           return a ? parseInt(domUtils.getComputedStyle(a, 'width'), 10) : 0
 
-         }),
 
-         (b.getTableCellAlignState = function (a) {
 
-           !utils.isArray(a) && (a = [a])
 
-           var b = {},
 
-             c = ['align', 'valign'],
 
-             d = null,
 
-             e = !0
 
-           return (
 
-             utils.each(a, function (a) {
 
-               return (
 
-                 utils.each(c, function (c) {
 
-                   if (((d = a.getAttribute(c)), !b[c] && d)) b[c] = d
 
-                   else if (!b[c] || d !== b[c]) return (e = !1), !1
 
-                 }),
 
-                 e
 
-               )
 
-             }),
 
-             e ? b : null
 
-           )
 
-         }),
 
-         (b.getTableItemsByRange = function (a) {
 
-           var b = a.selection.getStart()
 
-           b &&
 
-             b.id &&
 
-             0 === b.id.indexOf('_baidu_bookmark_start_') &&
 
-             b.nextSibling &&
 
-             (b = b.nextSibling)
 
-           var c = b && domUtils.findParentByTagName(b, ['td', 'th'], !0),
 
-             d = c && c.parentNode,
 
-             e = b && domUtils.findParentByTagName(b, 'caption', !0),
 
-             f = e ? e.parentNode : d && d.parentNode.parentNode
 
-           return { cell: c, tr: d, table: f, caption: e }
 
-         }),
 
-         (b.getUETableBySelected = function (a) {
 
-           var c = b.getTableItemsByRange(a).table
 
-           return c && c.ueTable && c.ueTable.selectedTds.length
 
-             ? c.ueTable
 
-             : null
 
-         }),
 
-         (b.getDefaultValue = function (a, b) {
 
-           var c,
 
-             d,
 
-             e,
 
-             f,
 
-             g = { thin: '0px', medium: '1px', thick: '2px' }
 
-           if (b)
 
-             return (
 
-               (h = b.getElementsByTagName('td')[0]),
 
-               (f = domUtils.getComputedStyle(b, 'border-left-width')),
 
-               (c = parseInt(g[f] || f, 10)),
 
-               (f = domUtils.getComputedStyle(h, 'padding-left')),
 
-               (d = parseInt(g[f] || f, 10)),
 
-               (f = domUtils.getComputedStyle(h, 'border-left-width')),
 
-               (e = parseInt(g[f] || f, 10)),
 
-               { tableBorder: c, tdPadding: d, tdBorder: e }
 
-             )
 
-           ;(b = a.document.createElement('table')),
 
-             (b.insertRow(0).insertCell(0).innerHTML = 'xxx'),
 
-             a.body.appendChild(b)
 
-           var h = b.getElementsByTagName('td')[0]
 
-           return (
 
-             (f = domUtils.getComputedStyle(b, 'border-left-width')),
 
-             (c = parseInt(g[f] || f, 10)),
 
-             (f = domUtils.getComputedStyle(h, 'padding-left')),
 
-             (d = parseInt(g[f] || f, 10)),
 
-             (f = domUtils.getComputedStyle(h, 'border-left-width')),
 
-             (e = parseInt(g[f] || f, 10)),
 
-             domUtils.remove(b),
 
-             { tableBorder: c, tdPadding: d, tdBorder: e }
 
-           )
 
-         }),
 
-         (b.getUETable = function (a) {
 
-           var c = a.tagName.toLowerCase()
 
-           return (
 
-             (a =
 
-               'td' == c || 'th' == c || 'caption' == c
 
-                 ? domUtils.findParentByTagName(a, 'table', !0)
 
-                 : a),
 
-             a.ueTable || (a.ueTable = new b(a)),
 
-             a.ueTable
 
-           )
 
-         }),
 
-         (b.cloneCell = function (a, b, c) {
 
-           if (!a || utils.isString(a))
 
-             return this.table.ownerDocument.createElement(a || 'td')
 
-           var d = domUtils.hasClass(a, 'selectTdClass')
 
-           d && domUtils.removeClasses(a, 'selectTdClass')
 
-           var e = a.cloneNode(!0)
 
-           return (
 
-             b && (e.rowSpan = e.colSpan = 1),
 
-             !c && domUtils.removeAttributes(e, 'width height'),
 
-             !c && domUtils.removeAttributes(e, 'style'),
 
-             (e.style.borderLeftStyle = ''),
 
-             (e.style.borderTopStyle = ''),
 
-             (e.style.borderLeftColor = a.style.borderRightColor),
 
-             (e.style.borderLeftWidth = a.style.borderRightWidth),
 
-             (e.style.borderTopColor = a.style.borderBottomColor),
 
-             (e.style.borderTopWidth = a.style.borderBottomWidth),
 
-             d && domUtils.addClass(a, 'selectTdClass'),
 
-             e
 
-           )
 
-         }),
 
-         (b.prototype = {
 
-           getMaxRows: function () {
 
-             for (var a, b = this.table.rows, c = 1, d = 0; (a = b[d]); d++) {
 
-               for (var e, f = 1, g = 0; (e = a.cells[g++]); )
 
-                 f = Math.max(e.rowSpan || 1, f)
 
-               c = Math.max(f + d, c)
 
-             }
 
-             return c
 
-           },
 
-           getMaxCols: function () {
 
-             for (
 
-               var a, b = this.table.rows, c = 0, d = {}, e = 0;
 
-               (a = b[e]);
 
-               e++
 
-             ) {
 
-               for (var f, g = 0, h = 0; (f = a.cells[h++]); )
 
-                 if (((g += f.colSpan || 1), f.rowSpan && f.rowSpan > 1))
 
-                   for (var i = 1; i < f.rowSpan; i++)
 
-                     d['row_' + (e + i)]
 
-                       ? d['row_' + (e + i)]++
 
-                       : (d['row_' + (e + i)] = f.colSpan || 1)
 
-               ;(g += d['row_' + e] || 0), (c = Math.max(g, c))
 
-             }
 
-             return c
 
-           },
 
-           getCellColIndex: function (a) {},
 
-           getHSideCell: function (b, c) {
 
-             try {
 
-               var d,
 
-                 e,
 
-                 f = this.getCellInfo(b),
 
-                 g = this.selectedTds.length,
 
-                 h = this.cellsRange
 
-               return (!c && (g ? !h.beginColIndex : !f.colIndex)) ||
 
-                 (c &&
 
-                   (g
 
-                     ? h.endColIndex == this.colsNum - 1
 
-                     : f.colIndex == this.colsNum - 1))
 
-                 ? null
 
-                 : ((d = g ? h.beginRowIndex : f.rowIndex),
 
-                   (e = c
 
-                     ? g
 
-                       ? h.endColIndex + 1
 
-                       : f.colIndex + 1
 
-                     : g
 
-                     ? h.beginColIndex - 1
 
-                     : f.colIndex < 1
 
-                     ? 0
 
-                     : f.colIndex - 1),
 
-                   this.getCell(
 
-                     this.indexTable[d][e].rowIndex,
 
-                     this.indexTable[d][e].cellIndex
 
-                   ))
 
-             } catch (i) {
 
-               a(i)
 
-             }
 
-           },
 
-           getTabNextCell: function (a, b) {
 
-             var c,
 
-               d = this.getCellInfo(a),
 
-               e = b || d.rowIndex,
 
-               f = d.colIndex + 1 + (d.colSpan - 1)
 
-             try {
 
-               c = this.getCell(
 
-                 this.indexTable[e][f].rowIndex,
 
-                 this.indexTable[e][f].cellIndex
 
-               )
 
-             } catch (g) {
 
-               try {
 
-                 ;(e = 1 * e + 1),
 
-                   (f = 0),
 
-                   (c = this.getCell(
 
-                     this.indexTable[e][f].rowIndex,
 
-                     this.indexTable[e][f].cellIndex
 
-                   ))
 
-               } catch (g) {}
 
-             }
 
-             return c
 
-           },
 
-           getVSideCell: function (b, c, d) {
 
-             try {
 
-               var e,
 
-                 f,
 
-                 g = this.getCellInfo(b),
 
-                 h = this.selectedTds.length && !d,
 
-                 i = this.cellsRange
 
-               return (!c && 0 == g.rowIndex) ||
 
-                 (c &&
 
-                   (h
 
-                     ? i.endRowIndex == this.rowsNum - 1
 
-                     : g.rowIndex + g.rowSpan > this.rowsNum - 1))
 
-                 ? null
 
-                 : ((e = c
 
-                     ? h
 
-                       ? i.endRowIndex + 1
 
-                       : g.rowIndex + g.rowSpan
 
-                     : h
 
-                     ? i.beginRowIndex - 1
 
-                     : g.rowIndex - 1),
 
-                   (f = h ? i.beginColIndex : g.colIndex),
 
-                   this.getCell(
 
-                     this.indexTable[e][f].rowIndex,
 
-                     this.indexTable[e][f].cellIndex
 
-                   ))
 
-             } catch (j) {
 
-               a(j)
 
-             }
 
-           },
 
-           getSameEndPosCells: function (b, c) {
 
-             try {
 
-               for (
 
-                 var d = 'x' === c.toLowerCase(),
 
-                   e =
 
-                     domUtils.getXY(b)[d ? 'x' : 'y'] +
 
-                     b['offset' + (d ? 'Width' : 'Height')],
 
-                   f = this.table.rows,
 
-                   g = null,
 
-                   h = [],
 
-                   i = 0;
 
-                 i < this.rowsNum;
 
-                 i++
 
-               ) {
 
-                 g = f[i].cells
 
-                 for (var j, k = 0; (j = g[k++]); ) {
 
-                   var l =
 
-                     domUtils.getXY(j)[d ? 'x' : 'y'] +
 
-                     j['offset' + (d ? 'Width' : 'Height')]
 
-                   if (l > e && d) break
 
-                   if (
 
-                     (b == j || e == l) &&
 
-                     (1 == j[d ? 'colSpan' : 'rowSpan'] && h.push(j), d)
 
-                   )
 
-                     break
 
-                 }
 
-               }
 
-               return h
 
-             } catch (m) {
 
-               a(m)
 
-             }
 
-           },
 
-           setCellContent: function (a, b) {
 
-             a.innerHTML = b || (browser.ie ? domUtils.fillChar : '<br />')
 
-           },
 
-           cloneCell: b.cloneCell,
 
-           getSameStartPosXCells: function (b) {
 
-             try {
 
-               for (
 
-                 var c,
 
-                   d = domUtils.getXY(b).x + b.offsetWidth,
 
-                   e = this.table.rows,
 
-                   f = [],
 
-                   g = 0;
 
-                 g < this.rowsNum;
 
-                 g++
 
-               ) {
 
-                 c = e[g].cells
 
-                 for (var h, i = 0; (h = c[i++]); ) {
 
-                   var j = domUtils.getXY(h).x
 
-                   if (j > d) break
 
-                   if (j == d && 1 == h.colSpan) {
 
-                     f.push(h)
 
-                     break
 
-                   }
 
-                 }
 
-               }
 
-               return f
 
-             } catch (k) {
 
-               a(k)
 
-             }
 
-           },
 
-           update: function (a) {
 
-             ;(this.table = a || this.table),
 
-               (this.selectedTds = []),
 
-               (this.cellsRange = {}),
 
-               (this.indexTable = [])
 
-             for (
 
-               var b = this.table.rows,
 
-                 c = this.getMaxRows(),
 
-                 d = c - b.length,
 
-                 e = this.getMaxCols();
 
-               d--;
 
-             )
 
-               this.table.insertRow(b.length)
 
-             ;(this.rowsNum = c), (this.colsNum = e)
 
-             for (var f = 0, g = b.length; f < g; f++)
 
-               this.indexTable[f] = new Array(e)
 
-             for (var h, i = 0; (h = b[i]); i++)
 
-               for (var j, k = 0, l = h.cells; (j = l[k]); k++) {
 
-                 j.rowSpan > c && (j.rowSpan = c)
 
-                 for (
 
-                   var m = k, n = j.rowSpan || 1, o = j.colSpan || 1;
 
-                   this.indexTable[i][m];
 
-                 )
 
-                   m++
 
-                 for (var p = 0; p < n; p++)
 
-                   for (var q = 0; q < o; q++)
 
-                     this.indexTable[i + p][m + q] = {
 
-                       rowIndex: i,
 
-                       cellIndex: k,
 
-                       colIndex: m,
 
-                       rowSpan: n,
 
-                       colSpan: o
 
-                     }
 
-               }
 
-             for (p = 0; p < c; p++)
 
-               for (q = 0; q < e; q++)
 
-                 void 0 === this.indexTable[p][q] &&
 
-                   ((h = b[p]),
 
-                   (j = h.cells[h.cells.length - 1]),
 
-                   (j = j
 
-                     ? j.cloneNode(!0)
 
-                     : this.table.ownerDocument.createElement('td')),
 
-                   this.setCellContent(j),
 
-                   1 !== j.colSpan && (j.colSpan = 1),
 
-                   1 !== j.rowSpan && (j.rowSpan = 1),
 
-                   h.appendChild(j),
 
-                   (this.indexTable[p][q] = {
 
-                     rowIndex: p,
 
-                     cellIndex: j.cellIndex,
 
-                     colIndex: q,
 
-                     rowSpan: 1,
 
-                     colSpan: 1
 
-                   }))
 
-             var r = domUtils.getElementsByTagName(this.table, 'td'),
 
-               s = []
 
-             if (
 
-               (utils.each(r, function (a) {
 
-                 domUtils.hasClass(a, 'selectTdClass') && s.push(a)
 
-               }),
 
-               s.length)
 
-             ) {
 
-               var t = s[0],
 
-                 u = s[s.length - 1],
 
-                 v = this.getCellInfo(t),
 
-                 w = this.getCellInfo(u)
 
-               ;(this.selectedTds = s),
 
-                 (this.cellsRange = {
 
-                   beginRowIndex: v.rowIndex,
 
-                   beginColIndex: v.colIndex,
 
-                   endRowIndex: w.rowIndex + w.rowSpan - 1,
 
-                   endColIndex: w.colIndex + w.colSpan - 1
 
-                 })
 
-             }
 
-             if (!domUtils.hasClass(this.table.rows[0], 'firstRow')) {
 
-               domUtils.addClass(this.table.rows[0], 'firstRow')
 
-               for (var f = 1; f < this.table.rows.length; f++)
 
-                 domUtils.removeClasses(this.table.rows[f], 'firstRow')
 
-             }
 
-           },
 
-           getCellInfo: function (a) {
 
-             if (a)
 
-               for (
 
-                 var b = a.cellIndex,
 
-                   c = a.parentNode.rowIndex,
 
-                   d = this.indexTable[c],
 
-                   e = this.colsNum,
 
-                   f = b;
 
-                 f < e;
 
-                 f++
 
-               ) {
 
-                 var g = d[f]
 
-                 if (g.rowIndex === c && g.cellIndex === b) return g
 
-               }
 
-           },
 
-           getCell: function (a, b) {
 
-             return (a < this.rowsNum && this.table.rows[a].cells[b]) || null
 
-           },
 
-           deleteCell: function (a, b) {
 
-             b = 'number' == typeof b ? b : a.parentNode.rowIndex
 
-             var c = this.table.rows[b]
 
-             c.deleteCell(a.cellIndex)
 
-           },
 
-           getCellsRange: function (a, b) {
 
-             function c(a, b, e, f) {
 
-               var g,
 
-                 h,
 
-                 i,
 
-                 j = a,
 
-                 k = b,
 
-                 l = e,
 
-                 m = f
 
-               if (a > 0)
 
-                 for (h = b; h < f; h++)
 
-                   (g = d.indexTable[a][h]),
 
-                     (i = g.rowIndex),
 
-                     i < a && (j = Math.min(i, j))
 
-               if (f < d.colsNum)
 
-                 for (i = a; i < e; i++)
 
-                   (g = d.indexTable[i][f]),
 
-                     (h = g.colIndex + g.colSpan - 1),
 
-                     h > f && (m = Math.max(h, m))
 
-               if (e < d.rowsNum)
 
-                 for (h = b; h < f; h++)
 
-                   (g = d.indexTable[e][h]),
 
-                     (i = g.rowIndex + g.rowSpan - 1),
 
-                     i > e && (l = Math.max(i, l))
 
-               if (b > 0)
 
-                 for (i = a; i < e; i++)
 
-                   (g = d.indexTable[i][b]),
 
-                     (h = g.colIndex),
 
-                     h < b && (k = Math.min(g.colIndex, k))
 
-               return j != a || k != b || l != e || m != f
 
-                 ? c(j, k, l, m)
 
-                 : {
 
-                     beginRowIndex: a,
 
-                     beginColIndex: b,
 
-                     endRowIndex: e,
 
-                     endColIndex: f
 
-                   }
 
-             }
 
-             try {
 
-               var d = this,
 
-                 e = d.getCellInfo(a)
 
-               if (a === b)
 
-                 return {
 
-                   beginRowIndex: e.rowIndex,
 
-                   beginColIndex: e.colIndex,
 
-                   endRowIndex: e.rowIndex + e.rowSpan - 1,
 
-                   endColIndex: e.colIndex + e.colSpan - 1
 
-                 }
 
-               var f = d.getCellInfo(b),
 
-                 g = Math.min(e.rowIndex, f.rowIndex),
 
-                 h = Math.min(e.colIndex, f.colIndex),
 
-                 i = Math.max(
 
-                   e.rowIndex + e.rowSpan - 1,
 
-                   f.rowIndex + f.rowSpan - 1
 
-                 ),
 
-                 j = Math.max(
 
-                   e.colIndex + e.colSpan - 1,
 
-                   f.colIndex + f.colSpan - 1
 
-                 )
 
-               return c(g, h, i, j)
 
-             } catch (k) {}
 
-           },
 
-           getCells: function (a) {
 
-             this.clearSelected()
 
-             for (
 
-               var b,
 
-                 c,
 
-                 d,
 
-                 e = a.beginRowIndex,
 
-                 f = a.beginColIndex,
 
-                 g = a.endRowIndex,
 
-                 h = a.endColIndex,
 
-                 i = {},
 
-                 j = [],
 
-                 k = e;
 
-               k <= g;
 
-               k++
 
-             )
 
-               for (var l = f; l <= h; l++) {
 
-                 ;(b = this.indexTable[k][l]), (c = b.rowIndex), (d = b.colIndex)
 
-                 var m = c + '|' + d
 
-                 if (!i[m]) {
 
-                   if (
 
-                     ((i[m] = 1),
 
-                     c < k ||
 
-                       d < l ||
 
-                       c + b.rowSpan - 1 > g ||
 
-                       d + b.colSpan - 1 > h)
 
-                   )
 
-                     return null
 
-                   j.push(this.getCell(c, b.cellIndex))
 
-                 }
 
-               }
 
-             return j
 
-           },
 
-           clearSelected: function () {
 
-             b.removeSelectedClass(this.selectedTds),
 
-               (this.selectedTds = []),
 
-               (this.cellsRange = {})
 
-           },
 
-           setSelected: function (a) {
 
-             var c = this.getCells(a)
 
-             b.addSelectedClass(c), (this.selectedTds = c), (this.cellsRange = a)
 
-           },
 
-           isFullRow: function () {
 
-             var a = this.cellsRange
 
-             return a.endColIndex - a.beginColIndex + 1 == this.colsNum
 
-           },
 
-           isFullCol: function () {
 
-             var a = this.cellsRange,
 
-               b = this.table,
 
-               c = b.getElementsByTagName('th'),
 
-               d = a.endRowIndex - a.beginRowIndex + 1
 
-             return c.length
 
-               ? d == this.rowsNum || d == this.rowsNum - 1
 
-               : d == this.rowsNum
 
-           },
 
-           getNextCell: function (b, c, d) {
 
-             try {
 
-               var e,
 
-                 f,
 
-                 g = this.getCellInfo(b),
 
-                 h = this.selectedTds.length && !d,
 
-                 i = this.cellsRange
 
-               return (!c && 0 == g.rowIndex) ||
 
-                 (c &&
 
-                   (h
 
-                     ? i.endRowIndex == this.rowsNum - 1
 
-                     : g.rowIndex + g.rowSpan > this.rowsNum - 1))
 
-                 ? null
 
-                 : ((e = c
 
-                     ? h
 
-                       ? i.endRowIndex + 1
 
-                       : g.rowIndex + g.rowSpan
 
-                     : h
 
-                     ? i.beginRowIndex - 1
 
-                     : g.rowIndex - 1),
 
-                   (f = h ? i.beginColIndex : g.colIndex),
 
-                   this.getCell(
 
-                     this.indexTable[e][f].rowIndex,
 
-                     this.indexTable[e][f].cellIndex
 
-                   ))
 
-             } catch (j) {
 
-               a(j)
 
-             }
 
-           },
 
-           getPreviewCell: function (b, c) {
 
-             try {
 
-               var d,
 
-                 e,
 
-                 f = this.getCellInfo(b),
 
-                 g = this.selectedTds.length,
 
-                 h = this.cellsRange
 
-               return (!c && (g ? !h.beginColIndex : !f.colIndex)) ||
 
-                 (c &&
 
-                   (g
 
-                     ? h.endColIndex == this.colsNum - 1
 
-                     : f.rowIndex > this.colsNum - 1))
 
-                 ? null
 
-                 : ((d = c
 
-                     ? g
 
-                       ? h.beginRowIndex
 
-                       : f.rowIndex < 1
 
-                       ? 0
 
-                       : f.rowIndex - 1
 
-                     : g
 
-                     ? h.beginRowIndex
 
-                     : f.rowIndex),
 
-                   (e = c
 
-                     ? g
 
-                       ? h.endColIndex + 1
 
-                       : f.colIndex
 
-                     : g
 
-                     ? h.beginColIndex - 1
 
-                     : f.colIndex < 1
 
-                     ? 0
 
-                     : f.colIndex - 1),
 
-                   this.getCell(
 
-                     this.indexTable[d][e].rowIndex,
 
-                     this.indexTable[d][e].cellIndex
 
-                   ))
 
-             } catch (i) {
 
-               a(i)
 
-             }
 
-           },
 
-           moveContent: function (a, c) {
 
-             if (!b.isEmptyBlock(c)) {
 
-               if (b.isEmptyBlock(a)) return void (a.innerHTML = c.innerHTML)
 
-               var d = a.lastChild
 
-               for (
 
-                 (3 != d.nodeType && dtd.$block[d.tagName]) ||
 
-                 a.appendChild(a.ownerDocument.createElement('br'));
 
-                 (d = c.firstChild);
 
-               )
 
-                 a.appendChild(d)
 
-             }
 
-           },
 
-           mergeRight: function (a) {
 
-             var b = this.getCellInfo(a),
 
-               c = b.colIndex + b.colSpan,
 
-               d = this.indexTable[b.rowIndex][c],
 
-               e = this.getCell(d.rowIndex, d.cellIndex)
 
-             ;(a.colSpan = b.colSpan + d.colSpan),
 
-               a.removeAttribute('width'),
 
-               this.moveContent(a, e),
 
-               this.deleteCell(e, d.rowIndex),
 
-               this.update()
 
-           },
 
-           mergeDown: function (a) {
 
-             var b = this.getCellInfo(a),
 
-               c = b.rowIndex + b.rowSpan,
 
-               d = this.indexTable[c][b.colIndex],
 
-               e = this.getCell(d.rowIndex, d.cellIndex)
 
-             ;(a.rowSpan = b.rowSpan + d.rowSpan),
 
-               a.removeAttribute('height'),
 
-               this.moveContent(a, e),
 
-               this.deleteCell(e, d.rowIndex),
 
-               this.update()
 
-           },
 
-           mergeRange: function () {
 
-             var a = this.cellsRange,
 
-               b = this.getCell(
 
-                 a.beginRowIndex,
 
-                 this.indexTable[a.beginRowIndex][a.beginColIndex].cellIndex
 
-               )
 
-             if ('TH' == b.tagName && a.endRowIndex !== a.beginRowIndex) {
 
-               var c = this.indexTable,
 
-                 d = this.getCellInfo(b)
 
-               ;(b = this.getCell(1, c[1][d.colIndex].cellIndex)),
 
-                 (a = this.getCellsRange(
 
-                   b,
 
-                   this.getCell(
 
-                     c[this.rowsNum - 1][d.colIndex].rowIndex,
 
-                     c[this.rowsNum - 1][d.colIndex].cellIndex
 
-                   )
 
-                 ))
 
-             }
 
-             for (var e, f = this.getCells(a), g = 0; (e = f[g++]); )
 
-               e !== b && (this.moveContent(b, e), this.deleteCell(e))
 
-             if (
 
-               ((b.rowSpan = a.endRowIndex - a.beginRowIndex + 1),
 
-               b.rowSpan > 1 && b.removeAttribute('height'),
 
-               (b.colSpan = a.endColIndex - a.beginColIndex + 1),
 
-               b.colSpan > 1 && b.removeAttribute('width'),
 
-               b.rowSpan == this.rowsNum && 1 != b.colSpan && (b.colSpan = 1),
 
-               b.colSpan == this.colsNum && 1 != b.rowSpan)
 
-             ) {
 
-               var h = b.parentNode.rowIndex
 
-               if (this.table.deleteRow)
 
-                 for (var g = h + 1, i = h + 1, j = b.rowSpan; g < j; g++)
 
-                   this.table.deleteRow(i)
 
-               else
 
-                 for (var g = 0, j = b.rowSpan - 1; g < j; g++) {
 
-                   var k = this.table.rows[h + 1]
 
-                   k.parentNode.removeChild(k)
 
-                 }
 
-               b.rowSpan = 1
 
-             }
 
-             this.update()
 
-           },
 
-           insertRow: function (a, b) {
 
-             function c(a, b, c) {
 
-               if (0 == a) {
 
-                 var d = c.nextSibling || c.previousSibling,
 
-                   e = d.cells[a]
 
-                 'TH' == e.tagName &&
 
-                   ((e = b.ownerDocument.createElement('th')),
 
-                   e.appendChild(b.firstChild),
 
-                   c.insertBefore(e, b),
 
-                   domUtils.remove(b))
 
-               } else if ('TH' == b.tagName) {
 
-                 var f = b.ownerDocument.createElement('td')
 
-                 f.appendChild(b.firstChild),
 
-                   c.insertBefore(f, b),
 
-                   domUtils.remove(b)
 
-               }
 
-             }
 
-             var d,
 
-               e = this.colsNum,
 
-               f = this.table,
 
-               g = f.insertRow(a),
 
-               h = 'string' == typeof b && 'TH' == b.toUpperCase()
 
-             if (0 == a || a == this.rowsNum)
 
-               for (var i = 0; i < e; i++)
 
-                 (d = this.cloneCell(b, !0)),
 
-                   this.setCellContent(d),
 
-                   d.getAttribute('vAlign') &&
 
-                     d.setAttribute('vAlign', d.getAttribute('vAlign')),
 
-                   g.appendChild(d),
 
-                   h || c(i, d, g)
 
-             else {
 
-               var j = this.indexTable[a]
 
-               for (i = 0; i < e; i++) {
 
-                 var k = j[i]
 
-                 k.rowIndex < a
 
-                   ? ((d = this.getCell(k.rowIndex, k.cellIndex)),
 
-                     (d.rowSpan = k.rowSpan + 1))
 
-                   : ((d = this.cloneCell(b, !0)),
 
-                     this.setCellContent(d),
 
-                     g.appendChild(d)),
 
-                   h || c(i, d, g)
 
-               }
 
-             }
 
-             return this.update(), g
 
-           },
 
-           deleteRow: function (a) {
 
-             for (
 
-               var b = this.table.rows[a],
 
-                 c = this.indexTable[a],
 
-                 d = this.colsNum,
 
-                 e = 0,
 
-                 f = 0;
 
-               f < d;
 
-             ) {
 
-               var g = c[f],
 
-                 h = this.getCell(g.rowIndex, g.cellIndex)
 
-               if (h.rowSpan > 1 && g.rowIndex == a) {
 
-                 var i = h.cloneNode(!0)
 
-                 ;(i.rowSpan = h.rowSpan - 1),
 
-                   (i.innerHTML = ''),
 
-                   (h.rowSpan = 1)
 
-                 var j,
 
-                   k = a + 1,
 
-                   l = this.table.rows[k],
 
-                   m = this.getPreviewMergedCellsNum(k, f) - e
 
-                 m < f
 
-                   ? ((j = f - m - 1), domUtils.insertAfter(l.cells[j], i))
 
-                   : l.cells.length && l.insertBefore(i, l.cells[0]),
 
-                   (e += 1)
 
-               }
 
-               f += h.colSpan || 1
 
-             }
 
-             var n = [],
 
-               o = {}
 
-             for (f = 0; f < d; f++) {
 
-               var p = c[f].rowIndex,
 
-                 q = c[f].cellIndex,
 
-                 r = p + '_' + q
 
-               o[r] || ((o[r] = 1), (h = this.getCell(p, q)), n.push(h))
 
-             }
 
-             var s = []
 
-             utils.each(n, function (a) {
 
-               1 == a.rowSpan ? a.parentNode.removeChild(a) : s.push(a)
 
-             }),
 
-               utils.each(s, function (a) {
 
-                 a.rowSpan--
 
-               }),
 
-               b.parentNode.removeChild(b),
 
-               this.update()
 
-           },
 
-           insertCol: function (a, b, c) {
 
-             function d(a, b, c) {
 
-               if (0 == a) {
 
-                 var d = b.nextSibling || b.previousSibling
 
-                 'TH' == d.tagName &&
 
-                   ((d = b.ownerDocument.createElement('th')),
 
-                   d.appendChild(b.firstChild),
 
-                   c.insertBefore(d, b),
 
-                   domUtils.remove(b))
 
-               } else if ('TH' == b.tagName) {
 
-                 var e = b.ownerDocument.createElement('td')
 
-                 e.appendChild(b.firstChild),
 
-                   c.insertBefore(e, b),
 
-                   domUtils.remove(b)
 
-               }
 
-             }
 
-             var e,
 
-               f,
 
-               g,
 
-               h = this.rowsNum,
 
-               i = 0,
 
-               j = parseInt(
 
-                 (this.table.offsetWidth -
 
-                   20 * (this.colsNum + 1) -
 
-                   (this.colsNum + 1)) /
 
-                   (this.colsNum + 1),
 
-                 10
 
-               ),
 
-               k = 'string' == typeof b && 'TH' == b.toUpperCase()
 
-             if (0 == a || a == this.colsNum)
 
-               for (; i < h; i++)
 
-                 (e = this.table.rows[i]),
 
-                   (g = e.cells[0 == a ? a : e.cells.length]),
 
-                   (f = this.cloneCell(b, !0)),
 
-                   this.setCellContent(f),
 
-                   f.setAttribute('vAlign', f.getAttribute('vAlign')),
 
-                   g && f.setAttribute('width', g.getAttribute('width')),
 
-                   a
 
-                     ? domUtils.insertAfter(e.cells[e.cells.length - 1], f)
 
-                     : e.insertBefore(f, e.cells[0]),
 
-                   k || d(i, f, e)
 
-             else
 
-               for (; i < h; i++) {
 
-                 var l = this.indexTable[i][a]
 
-                 l.colIndex < a
 
-                   ? ((f = this.getCell(l.rowIndex, l.cellIndex)),
 
-                     (f.colSpan = l.colSpan + 1))
 
-                   : ((e = this.table.rows[i]),
 
-                     (g = e.cells[l.cellIndex]),
 
-                     (f = this.cloneCell(b, !0)),
 
-                     this.setCellContent(f),
 
-                     f.setAttribute('vAlign', f.getAttribute('vAlign')),
 
-                     g && f.setAttribute('width', g.getAttribute('width')),
 
-                     g ? e.insertBefore(f, g) : e.appendChild(f)),
 
-                   k || d(i, f, e)
 
-               }
 
-             this.update(),
 
-               this.updateWidth(j, c || { tdPadding: 10, tdBorder: 1 })
 
-           },
 
-           updateWidth: function (a, c) {
 
-             var d = this.table,
 
-               e = b.getWidth(d) - 2 * c.tdPadding - c.tdBorder + a
 
-             if (e < d.ownerDocument.body.offsetWidth)
 
-               return void d.setAttribute('width', e)
 
-             var f = domUtils.getElementsByTagName(this.table, 'td th')
 
-             utils.each(f, function (b) {
 
-               b.setAttribute('width', a)
 
-             })
 
-           },
 
-           deleteCol: function (a) {
 
-             for (
 
-               var b = this.indexTable,
 
-                 c = this.table.rows,
 
-                 d = this.table.getAttribute('width'),
 
-                 e = 0,
 
-                 f = this.rowsNum,
 
-                 g = {},
 
-                 h = 0;
 
-               h < f;
 
-             ) {
 
-               var i = b[h],
 
-                 j = i[a],
 
-                 k = j.rowIndex + '_' + j.colIndex
 
-               if (!g[k]) {
 
-                 g[k] = 1
 
-                 var l = this.getCell(j.rowIndex, j.cellIndex)
 
-                 e ||
 
-                   (e = l && parseInt(l.offsetWidth / l.colSpan, 10).toFixed(0)),
 
-                   l.colSpan > 1 ? l.colSpan-- : c[h].deleteCell(j.cellIndex),
 
-                   (h += j.rowSpan || 1)
 
-               }
 
-             }
 
-             this.table.setAttribute('width', d - e), this.update()
 
-           },
 
-           splitToCells: function (a) {
 
-             var b = this,
 
-               c = this.splitToRows(a)
 
-             utils.each(c, function (a) {
 
-               b.splitToCols(a)
 
-             })
 
-           },
 
-           splitToRows: function (a) {
 
-             var b = this.getCellInfo(a),
 
-               c = b.rowIndex,
 
-               d = b.colIndex,
 
-               e = []
 
-             ;(a.rowSpan = 1), e.push(a)
 
-             for (var f = c, g = c + b.rowSpan; f < g; f++)
 
-               if (f != c) {
 
-                 var h = this.table.rows[f],
 
-                   i = h.insertCell(d - this.getPreviewMergedCellsNum(f, d))
 
-                 ;(i.colSpan = b.colSpan),
 
-                   this.setCellContent(i),
 
-                   i.setAttribute('vAlign', a.getAttribute('vAlign')),
 
-                   i.setAttribute('align', a.getAttribute('align')),
 
-                   a.style.cssText && (i.style.cssText = a.style.cssText),
 
-                   e.push(i)
 
-               }
 
-             return this.update(), e
 
-           },
 
-           getPreviewMergedCellsNum: function (a, b) {
 
-             for (var c = this.indexTable[a], d = 0, e = 0; e < b; ) {
 
-               var f = c[e].colSpan,
 
-                 g = c[e].rowIndex
 
-               ;(d += f - (g == a ? 1 : 0)), (e += f)
 
-             }
 
-             return d
 
-           },
 
-           splitToCols: function (a) {
 
-             var b = (a.offsetWidth / a.colSpan - 22).toFixed(0),
 
-               c = this.getCellInfo(a),
 
-               d = c.rowIndex,
 
-               e = c.colIndex,
 
-               f = []
 
-             ;(a.colSpan = 1), a.setAttribute('width', b), f.push(a)
 
-             for (var g = e, h = e + c.colSpan; g < h; g++)
 
-               if (g != e) {
 
-                 var i = this.table.rows[d],
 
-                   j = i.insertCell(this.indexTable[d][g].cellIndex + 1)
 
-                 if (
 
-                   ((j.rowSpan = c.rowSpan),
 
-                   this.setCellContent(j),
 
-                   j.setAttribute('vAlign', a.getAttribute('vAlign')),
 
-                   j.setAttribute('align', a.getAttribute('align')),
 
-                   j.setAttribute('width', b),
 
-                   a.style.cssText && (j.style.cssText = a.style.cssText),
 
-                   'TH' == a.tagName)
 
-                 ) {
 
-                   var k = a.ownerDocument.createElement('th')
 
-                   k.appendChild(j.firstChild),
 
-                     k.setAttribute('vAlign', a.getAttribute('vAlign')),
 
-                     (k.rowSpan = j.rowSpan),
 
-                     i.insertBefore(k, j),
 
-                     domUtils.remove(j)
 
-                 }
 
-                 f.push(j)
 
-               }
 
-             return this.update(), f
 
-           },
 
-           isLastCell: function (a, b, c) {
 
-             ;(b = b || this.rowsNum), (c = c || this.colsNum)
 
-             var d = this.getCellInfo(a)
 
-             return d.rowIndex + d.rowSpan == b && d.colIndex + d.colSpan == c
 
-           },
 
-           getLastCell: function (a) {
 
-             a = a || this.table.getElementsByTagName('td')
 
-             var b,
 
-               c = (this.getCellInfo(a[0]), this),
 
-               d = a[0],
 
-               e = d.parentNode,
 
-               f = 0,
 
-               g = 0
 
-             return (
 
-               utils.each(a, function (a) {
 
-                 a.parentNode == e && (g += a.colSpan || 1),
 
-                   (f += a.rowSpan * a.colSpan || 1)
 
-               }),
 
-               (b = f / g),
 
-               utils.each(a, function (a) {
 
-                 if (c.isLastCell(a, b, g)) return (d = a), !1
 
-               }),
 
-               d
 
-             )
 
-           },
 
-           selectRow: function (a) {
 
-             var b = this.indexTable[a],
 
-               c = this.getCell(b[0].rowIndex, b[0].cellIndex),
 
-               d = this.getCell(
 
-                 b[this.colsNum - 1].rowIndex,
 
-                 b[this.colsNum - 1].cellIndex
 
-               ),
 
-               e = this.getCellsRange(c, d)
 
-             this.setSelected(e)
 
-           },
 
-           selectTable: function () {
 
-             var a = this.table.getElementsByTagName('td'),
 
-               b = this.getCellsRange(a[0], a[a.length - 1])
 
-             this.setSelected(b)
 
-           },
 
-           setBackground: function (a, b) {
 
-             if ('string' == typeof b)
 
-               utils.each(a, function (a) {
 
-                 a.style.backgroundColor = b
 
-               })
 
-             else if ('object' == typeof b) {
 
-               b = utils.extend({ repeat: !0, colorList: ['#ddd', '#fff'] }, b)
 
-               for (
 
-                 var c,
 
-                   d = this.getCellInfo(a[0]).rowIndex,
 
-                   e = 0,
 
-                   f = b.colorList,
 
-                   g = function (a, b, c) {
 
-                     return a[b] ? a[b] : c ? a[b % a.length] : ''
 
-                   },
 
-                   h = 0;
 
-                 (c = a[h++]);
 
-               ) {
 
-                 var i = this.getCellInfo(c)
 
-                 c.style.backgroundColor = g(
 
-                   f,
 
-                   d + e == i.rowIndex ? e : ++e,
 
-                   b.repeat
 
-                 )
 
-               }
 
-             }
 
-           },
 
-           removeBackground: function (a) {
 
-             utils.each(a, function (a) {
 
-               a.style.backgroundColor = ''
 
-             })
 
-           }
 
-         })
 
-     })(),
 
-     (function () {
 
-       function a(a, c) {
 
-         var d = domUtils.getElementsByTagName(a, 'td th')
 
-         utils.each(d, function (a) {
 
-           a.removeAttribute('width')
 
-         }),
 
-           a.setAttribute('width', b(c, !0, g(c, a)))
 
-         var e = []
 
-         setTimeout(function () {
 
-           utils.each(d, function (a) {
 
-             1 == a.colSpan && e.push(a.offsetWidth)
 
-           }),
 
-             utils.each(d, function (a, b) {
 
-               1 == a.colSpan && a.setAttribute('width', e[b] + '')
 
-             })
 
-         }, 0)
 
-       }
 
-       function b(a, b, c) {
 
-         var d = a.body
 
-         return (
 
-           d.offsetWidth -
 
-           (b
 
-             ? 2 * parseInt(domUtils.getComputedStyle(d, 'margin-left'), 10)
 
-             : 0) -
 
-           2 * c.tableBorder -
 
-           (a.options.offsetWidth || 0)
 
-         )
 
-       }
 
-       function c(a) {
 
-         var b = e(a).cell
 
-         if (b) {
 
-           var c = h(b)
 
-           return c.selectedTds.length ? c.selectedTds : [b]
 
-         }
 
-         return []
 
-       }
 
-       var d = UE.UETable,
 
-         e = function (a) {
 
-           return d.getTableItemsByRange(a)
 
-         },
 
-         f = function (a) {
 
-           return d.getUETableBySelected(a)
 
-         },
 
-         g = function (a, b) {
 
-           return d.getDefaultValue(a, b)
 
-         },
 
-         h = function (a) {
 
-           return d.getUETable(a)
 
-         }
 
-       ;(UE.commands.inserttable = {
 
-         queryCommandState: function () {
 
-           return e(this).table ? -1 : 0
 
-         },
 
-         execCommand: function (a, b) {
 
-           function c(a, b) {
 
-             for (var c = [], d = a.numRows, e = a.numCols, f = 0; f < d; f++) {
 
-               c.push('<tr' + (0 == f ? ' class="firstRow"' : '') + '>')
 
-               for (var g = 0; g < e; g++)
 
-                 c.push(
 
-                   '<td width="' +
 
-                     b +
 
-                     '"  vAlign="' +
 
-                     a.tdvalign +
 
-                     '" >' +
 
-                     (browser.ie && browser.version < 11
 
-                       ? domUtils.fillChar
 
-                       : '<br/>') +
 
-                     '</td>'
 
-                 )
 
-               c.push('</tr>')
 
-             }
 
-             return '<table><tbody>' + c.join('') + '</tbody></table>'
 
-           }
 
-           b ||
 
-             (b = utils.extend(
 
-               {},
 
-               {
 
-                 numCols: this.options.defaultCols,
 
-                 numRows: this.options.defaultRows,
 
-                 tdvalign: this.options.tdvalign
 
-               }
 
-             ))
 
-           var d = this,
 
-             e = this.selection.getRange(),
 
-             f = e.startContainer,
 
-             h =
 
-               domUtils.findParent(
 
-                 f,
 
-                 function (a) {
 
-                   return domUtils.isBlockElm(a)
 
-                 },
 
-                 !0
 
-               ) || d.body,
 
-             i = g(d),
 
-             j = h.offsetWidth,
 
-             k = Math.floor(j / b.numCols - 2 * i.tdPadding - i.tdBorder)
 
-           !b.tdvalign && (b.tdvalign = d.options.tdvalign),
 
-             d.execCommand('inserthtml', c(b, k))
 
-         }
 
-       }),
 
-         (UE.commands.insertparagraphbeforetable = {
 
-           queryCommandState: function () {
 
-             return e(this).cell ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = this.document.createElement('p')
 
-               ;(b.innerHTML = browser.ie ? ' ' : '<br />'),
 
-                 a.parentNode.insertBefore(b, a),
 
-                 this.selection.getRange().setStart(b, 0).setCursor()
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.deletetable = {
 
-           queryCommandState: function () {
 
-             var a = this.selection.getRange()
 
-             return domUtils.findParentByTagName(a.startContainer, 'table', !0)
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var c = this.selection.getRange()
 
-             if (
 
-               (b =
 
-                 b ||
 
-                 domUtils.findParentByTagName(c.startContainer, 'table', !0))
 
-             ) {
 
-               var d = b.nextSibling
 
-               d ||
 
-                 ((d = domUtils.createElement(this.document, 'p', {
 
-                   innerHTML: browser.ie ? domUtils.fillChar : '<br/>'
 
-                 })),
 
-                 b.parentNode.insertBefore(d, b)),
 
-                 domUtils.remove(b),
 
-                 (c = this.selection.getRange()),
 
-                 3 == d.nodeType ? c.setStartBefore(d) : c.setStart(d, 0),
 
-                 c.setCursor(!1, !0),
 
-                 this.fireEvent('tablehasdeleted')
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.cellalign = {
 
-           queryCommandState: function () {
 
-             return c(this).length ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var d = c(this)
 
-             if (d.length)
 
-               for (var e, f = 0; (e = d[f++]); ) e.setAttribute('align', b)
 
-           }
 
-         }),
 
-         (UE.commands.cellvalign = {
 
-           queryCommandState: function () {
 
-             return c(this).length ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var d = c(this)
 
-             if (d.length)
 
-               for (var e, f = 0; (e = d[f++]); ) e.setAttribute('vAlign', b)
 
-           }
 
-         }),
 
-         (UE.commands.insertcaption = {
 
-           queryCommandState: function () {
 
-             var a = e(this).table
 
-             return a && 0 == a.getElementsByTagName('caption').length ? 1 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = this.document.createElement('caption')
 
-               ;(b.innerHTML = browser.ie ? domUtils.fillChar : '<br/>'),
 
-                 a.insertBefore(b, a.firstChild)
 
-               var c = this.selection.getRange()
 
-               c.setStart(b, 0).setCursor()
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.deletecaption = {
 
-           queryCommandState: function () {
 
-             var a = this.selection.getRange(),
 
-               b = domUtils.findParentByTagName(a.startContainer, 'table')
 
-             return b
 
-               ? 0 == b.getElementsByTagName('caption').length
 
-                 ? -1
 
-                 : 1
 
-               : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = domUtils.findParentByTagName(a.startContainer, 'table')
 
-             if (b) {
 
-               domUtils.remove(b.getElementsByTagName('caption')[0])
 
-               var c = this.selection.getRange()
 
-               c.setStart(b.rows[0].cells[0], 0).setCursor()
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.inserttitle = {
 
-           queryCommandState: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = a.rows[0]
 
-               return 'th' != b.cells[b.cells.length - 1].tagName.toLowerCase()
 
-                 ? 0
 
-                 : -1
 
-             }
 
-             return -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).table
 
-             a && h(a).insertRow(0, 'th')
 
-             var b = a.getElementsByTagName('th')[0]
 
-             this.selection.getRange().setStart(b, 0).setCursor(!1, !0)
 
-           }
 
-         }),
 
-         (UE.commands.deletetitle = {
 
-           queryCommandState: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = a.rows[0]
 
-               return 'th' == b.cells[b.cells.length - 1].tagName.toLowerCase()
 
-                 ? 0
 
-                 : -1
 
-             }
 
-             return -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).table
 
-             a && domUtils.remove(a.rows[0])
 
-             var b = a.getElementsByTagName('td')[0]
 
-             this.selection.getRange().setStart(b, 0).setCursor(!1, !0)
 
-           }
 
-         }),
 
-         (UE.commands.inserttitlecol = {
 
-           queryCommandState: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = a.rows[a.rows.length - 1]
 
-               return b.getElementsByTagName('th').length ? -1 : 0
 
-             }
 
-             return -1
 
-           },
 
-           execCommand: function (b) {
 
-             var c = e(this).table
 
-             c && h(c).insertCol(0, 'th'), a(c, this)
 
-             var d = c.getElementsByTagName('th')[0]
 
-             this.selection.getRange().setStart(d, 0).setCursor(!1, !0)
 
-           }
 
-         }),
 
-         (UE.commands.deletetitlecol = {
 
-           queryCommandState: function () {
 
-             var a = e(this).table
 
-             if (a) {
 
-               var b = a.rows[a.rows.length - 1]
 
-               return b.getElementsByTagName('th').length ? 0 : -1
 
-             }
 
-             return -1
 
-           },
 
-           execCommand: function () {
 
-             var b = e(this).table
 
-             if (b)
 
-               for (var c = 0; c < b.rows.length; c++)
 
-                 domUtils.remove(b.rows[c].children[0])
 
-             a(b, this)
 
-             var d = b.getElementsByTagName('td')[0]
 
-             this.selection.getRange().setStart(d, 0).setCursor(!1, !0)
 
-           }
 
-         }),
 
-         (UE.commands.mergeright = {
 
-           queryCommandState: function (a) {
 
-             var b = e(this),
 
-               c = b.table,
 
-               d = b.cell
 
-             if (!c || !d) return -1
 
-             var f = h(c)
 
-             if (f.selectedTds.length) return -1
 
-             var g = f.getCellInfo(d),
 
-               i = g.colIndex + g.colSpan
 
-             if (i >= f.colsNum) return -1
 
-             var j = f.indexTable[g.rowIndex][i],
 
-               k = c.rows[j.rowIndex].cells[j.cellIndex]
 
-             return k &&
 
-               d.tagName == k.tagName &&
 
-               j.rowIndex == g.rowIndex &&
 
-               j.rowSpan == g.rowSpan
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function (a) {
 
-             var b = this.selection.getRange(),
 
-               c = b.createBookmark(!0),
 
-               d = e(this).cell,
 
-               f = h(d)
 
-             f.mergeRight(d), b.moveToBookmark(c).select()
 
-           }
 
-         }),
 
-         (UE.commands.mergedown = {
 
-           queryCommandState: function (a) {
 
-             var b = e(this),
 
-               c = b.table,
 
-               d = b.cell
 
-             if (!c || !d) return -1
 
-             var f = h(c)
 
-             if (f.selectedTds.length) return -1
 
-             var g = f.getCellInfo(d),
 
-               i = g.rowIndex + g.rowSpan
 
-             if (i >= f.rowsNum) return -1
 
-             var j = f.indexTable[i][g.colIndex],
 
-               k = c.rows[j.rowIndex].cells[j.cellIndex]
 
-             return k &&
 
-               d.tagName == k.tagName &&
 
-               j.colIndex == g.colIndex &&
 
-               j.colSpan == g.colSpan
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this).cell,
 
-               d = h(c)
 
-             d.mergeDown(c), a.moveToBookmark(b).select()
 
-           }
 
-         }),
 
-         (UE.commands.mergecells = {
 
-           queryCommandState: function () {
 
-             return f(this) ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = f(this)
 
-             if (a && a.selectedTds.length) {
 
-               var b = a.selectedTds[0]
 
-               a.mergeRange()
 
-               var c = this.selection.getRange()
 
-               domUtils.isEmptyBlock(b)
 
-                 ? c.setStart(b, 0).collapse(!0)
 
-                 : c.selectNodeContents(b),
 
-                 c.select()
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.insertrow = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             return b &&
 
-               ('TD' == b.tagName ||
 
-                 ('TH' == b.tagName && a.tr !== a.table.rows[0])) &&
 
-               h(a.table).rowsNum < this.options.maxRowNum
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this),
 
-               d = c.cell,
 
-               f = c.table,
 
-               g = h(f),
 
-               i = g.getCellInfo(d)
 
-             if (g.selectedTds.length)
 
-               for (
 
-                 var j = g.cellsRange,
 
-                   k = 0,
 
-                   l = j.endRowIndex - j.beginRowIndex + 1;
 
-                 k < l;
 
-                 k++
 
-               )
 
-                 g.insertRow(j.beginRowIndex, d)
 
-             else g.insertRow(i.rowIndex, d)
 
-             a.moveToBookmark(b).select(),
 
-               'enabled' === f.getAttribute('interlaced') &&
 
-                 this.fireEvent('interlacetable', f)
 
-           }
 
-         }),
 
-         (UE.commands.insertrownext = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             return b &&
 
-               'TD' == b.tagName &&
 
-               h(a.table).rowsNum < this.options.maxRowNum
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this),
 
-               d = c.cell,
 
-               f = c.table,
 
-               g = h(f),
 
-               i = g.getCellInfo(d)
 
-             if (g.selectedTds.length)
 
-               for (
 
-                 var j = g.cellsRange,
 
-                   k = 0,
 
-                   l = j.endRowIndex - j.beginRowIndex + 1;
 
-                 k < l;
 
-                 k++
 
-               )
 
-                 g.insertRow(j.endRowIndex + 1, d)
 
-             else g.insertRow(i.rowIndex + i.rowSpan, d)
 
-             a.moveToBookmark(b).select(),
 
-               'enabled' === f.getAttribute('interlaced') &&
 
-                 this.fireEvent('interlacetable', f)
 
-           }
 
-         }),
 
-         (UE.commands.deleterow = {
 
-           queryCommandState: function () {
 
-             var a = e(this)
 
-             return a.cell ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).cell,
 
-               b = h(a),
 
-               c = b.cellsRange,
 
-               d = b.getCellInfo(a),
 
-               f = b.getVSideCell(a),
 
-               g = b.getVSideCell(a, !0),
 
-               i = this.selection.getRange()
 
-             if (utils.isEmptyObject(c)) b.deleteRow(d.rowIndex)
 
-             else
 
-               for (var j = c.beginRowIndex; j < c.endRowIndex + 1; j++)
 
-                 b.deleteRow(c.beginRowIndex)
 
-             var k = b.table
 
-             if (k.getElementsByTagName('td').length)
 
-               if (
 
-                 1 == d.rowSpan ||
 
-                 d.rowSpan == c.endRowIndex - c.beginRowIndex + 1
 
-               )
 
-                 (g || f) && i.selectNodeContents(g || f).setCursor(!1, !0)
 
-               else {
 
-                 var l = b.getCell(
 
-                   d.rowIndex,
 
-                   b.indexTable[d.rowIndex][d.colIndex].cellIndex
 
-                 )
 
-                 l && i.selectNodeContents(l).setCursor(!1, !0)
 
-               }
 
-             else {
 
-               var m = k.nextSibling
 
-               domUtils.remove(k), m && i.setStart(m, 0).setCursor(!1, !0)
 
-             }
 
-             'enabled' === k.getAttribute('interlaced') &&
 
-               this.fireEvent('interlacetable', k)
 
-           }
 
-         }),
 
-         (UE.commands.insertcol = {
 
-           queryCommandState: function (a) {
 
-             var b = e(this),
 
-               c = b.cell
 
-             return c &&
 
-               ('TD' == c.tagName ||
 
-                 ('TH' == c.tagName && c !== b.tr.cells[0])) &&
 
-               h(b.table).colsNum < this.options.maxColNum
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function (a) {
 
-             var b = this.selection.getRange(),
 
-               c = b.createBookmark(!0)
 
-             if (this.queryCommandState(a) != -1) {
 
-               var d = e(this).cell,
 
-                 f = h(d),
 
-                 g = f.getCellInfo(d)
 
-               if (f.selectedTds.length)
 
-                 for (
 
-                   var i = f.cellsRange,
 
-                     j = 0,
 
-                     k = i.endColIndex - i.beginColIndex + 1;
 
-                   j < k;
 
-                   j++
 
-                 )
 
-                   f.insertCol(i.beginColIndex, d)
 
-               else f.insertCol(g.colIndex, d)
 
-               b.moveToBookmark(c).select(!0)
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.insertcolnext = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             return b && h(a.table).colsNum < this.options.maxColNum ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this).cell,
 
-               d = h(c),
 
-               f = d.getCellInfo(c)
 
-             if (d.selectedTds.length)
 
-               for (
 
-                 var g = d.cellsRange,
 
-                   i = 0,
 
-                   j = g.endColIndex - g.beginColIndex + 1;
 
-                 i < j;
 
-                 i++
 
-               )
 
-                 d.insertCol(g.endColIndex + 1, c)
 
-             else d.insertCol(f.colIndex + f.colSpan, c)
 
-             a.moveToBookmark(b).select()
 
-           }
 
-         }),
 
-         (UE.commands.deletecol = {
 
-           queryCommandState: function () {
 
-             var a = e(this)
 
-             return a.cell ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).cell,
 
-               b = h(a),
 
-               c = b.cellsRange,
 
-               d = b.getCellInfo(a),
 
-               f = b.getHSideCell(a),
 
-               g = b.getHSideCell(a, !0)
 
-             if (utils.isEmptyObject(c)) b.deleteCol(d.colIndex)
 
-             else
 
-               for (var i = c.beginColIndex; i < c.endColIndex + 1; i++)
 
-                 b.deleteCol(c.beginColIndex)
 
-             var j = b.table,
 
-               k = this.selection.getRange()
 
-             if (j.getElementsByTagName('td').length)
 
-               domUtils.inDoc(a, this.document)
 
-                 ? k.setStart(a, 0).setCursor(!1, !0)
 
-                 : g && domUtils.inDoc(g, this.document)
 
-                 ? k.selectNodeContents(g).setCursor(!1, !0)
 
-                 : f &&
 
-                   domUtils.inDoc(f, this.document) &&
 
-                   k.selectNodeContents(f).setCursor(!0, !0)
 
-             else {
 
-               var l = j.nextSibling
 
-               domUtils.remove(j), l && k.setStart(l, 0).setCursor(!1, !0)
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.splittocells = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             if (!b) return -1
 
-             var c = h(a.table)
 
-             return c.selectedTds.length > 0
 
-               ? -1
 
-               : b && (b.colSpan > 1 || b.rowSpan > 1)
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this).cell,
 
-               d = h(c)
 
-             d.splitToCells(c), a.moveToBookmark(b).select()
 
-           }
 
-         }),
 
-         (UE.commands.splittorows = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             if (!b) return -1
 
-             var c = h(a.table)
 
-             return c.selectedTds.length > 0 ? -1 : b && b.rowSpan > 1 ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this).cell,
 
-               d = h(c)
 
-             d.splitToRows(c), a.moveToBookmark(b).select()
 
-           }
 
-         }),
 
-         (UE.commands.splittocols = {
 
-           queryCommandState: function () {
 
-             var a = e(this),
 
-               b = a.cell
 
-             if (!b) return -1
 
-             var c = h(a.table)
 
-             return c.selectedTds.length > 0 ? -1 : b && b.colSpan > 1 ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.createBookmark(!0),
 
-               c = e(this).cell,
 
-               d = h(c)
 
-             d.splitToCols(c), a.moveToBookmark(b).select()
 
-           }
 
-         }),
 
-         (UE.commands.adaptbytext = UE.commands.adaptbywindow =
 
-           {
 
-             queryCommandState: function () {
 
-               return e(this).table ? 0 : -1
 
-             },
 
-             execCommand: function (b) {
 
-               var c = e(this),
 
-                 d = c.table
 
-               if (d)
 
-                 if ('adaptbywindow' == b) a(d, this)
 
-                 else {
 
-                   var f = domUtils.getElementsByTagName(d, 'td th')
 
-                   utils.each(f, function (a) {
 
-                     a.removeAttribute('width')
 
-                   }),
 
-                     d.removeAttribute('width')
 
-                 }
 
-             }
 
-           }),
 
-         (UE.commands.averagedistributecol = {
 
-           queryCommandState: function () {
 
-             var a = f(this)
 
-             return a && (a.isFullRow() || a.isFullCol()) ? 0 : -1
 
-           },
 
-           execCommand: function (a) {
 
-             function b() {
 
-               var a,
 
-                 b = e.table,
 
-                 c = 0,
 
-                 f = 0,
 
-                 h = g(d, b)
 
-               if (e.isFullRow()) (c = b.offsetWidth), (f = e.colsNum)
 
-               else
 
-                 for (
 
-                   var i,
 
-                     j = e.cellsRange.beginColIndex,
 
-                     k = e.cellsRange.endColIndex,
 
-                     l = j;
 
-                   l <= k;
 
-                 )
 
-                   (i = e.selectedTds[l]),
 
-                     (c += i.offsetWidth),
 
-                     (l += i.colSpan),
 
-                     (f += 1)
 
-               return (a = Math.ceil(c / f) - 2 * h.tdBorder - 2 * h.tdPadding)
 
-             }
 
-             function c(a) {
 
-               utils.each(
 
-                 domUtils.getElementsByTagName(e.table, 'th'),
 
-                 function (a) {
 
-                   a.setAttribute('width', '')
 
-                 }
 
-               )
 
-               var b = e.isFullRow()
 
-                 ? domUtils.getElementsByTagName(e.table, 'td')
 
-                 : e.selectedTds
 
-               utils.each(b, function (b) {
 
-                 1 == b.colSpan && b.setAttribute('width', a)
 
-               })
 
-             }
 
-             var d = this,
 
-               e = f(d)
 
-             e && e.selectedTds.length && c(b())
 
-           }
 
-         }),
 
-         (UE.commands.averagedistributerow = {
 
-           queryCommandState: function () {
 
-             var a = f(this)
 
-             return a
 
-               ? a.selectedTds && /th/gi.test(a.selectedTds[0].tagName)
 
-                 ? -1
 
-                 : a.isFullRow() || a.isFullCol()
 
-                 ? 0
 
-                 : -1
 
-               : -1
 
-           },
 
-           execCommand: function (a) {
 
-             function b() {
 
-               var a,
 
-                 b,
 
-                 c = 0,
 
-                 f = e.table,
 
-                 h = g(d, f),
 
-                 i = parseInt(
 
-                   domUtils.getComputedStyle(
 
-                     f.getElementsByTagName('td')[0],
 
-                     'padding-top'
 
-                   )
 
-                 )
 
-               if (e.isFullCol()) {
 
-                 var j,
 
-                   k,
 
-                   l = domUtils.getElementsByTagName(f, 'caption'),
 
-                   m = domUtils.getElementsByTagName(f, 'th')
 
-                 l.length > 0 && (j = l[0].offsetHeight),
 
-                   m.length > 0 && (k = m[0].offsetHeight),
 
-                   (c = f.offsetHeight - (j || 0) - (k || 0)),
 
-                   (b = 0 == m.length ? e.rowsNum : e.rowsNum - 1)
 
-               } else {
 
-                 for (
 
-                   var n = e.cellsRange.beginRowIndex,
 
-                     o = e.cellsRange.endRowIndex,
 
-                     p = 0,
 
-                     q = domUtils.getElementsByTagName(f, 'tr'),
 
-                     r = n;
 
-                   r <= o;
 
-                   r++
 
-                 )
 
-                   (c += q[r].offsetHeight), (p += 1)
 
-                 b = p
 
-               }
 
-               return (a =
 
-                 browser.ie && browser.version < 9
 
-                   ? Math.ceil(c / b)
 
-                   : Math.ceil(c / b) - 2 * h.tdBorder - 2 * i)
 
-             }
 
-             function c(a) {
 
-               var b = e.isFullCol()
 
-                 ? domUtils.getElementsByTagName(e.table, 'td')
 
-                 : e.selectedTds
 
-               utils.each(b, function (b) {
 
-                 1 == b.rowSpan && b.setAttribute('height', a)
 
-               })
 
-             }
 
-             var d = this,
 
-               e = f(d)
 
-             e && e.selectedTds.length && c(b())
 
-           }
 
-         }),
 
-         (UE.commands.cellalignment = {
 
-           queryCommandState: function () {
 
-             return e(this).table ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var c = this,
 
-               d = f(c)
 
-             if (d)
 
-               utils.each(d.selectedTds, function (a) {
 
-                 domUtils.setAttributes(a, b)
 
-               })
 
-             else {
 
-               var e = c.selection.getStart(),
 
-                 g =
 
-                   e &&
 
-                   domUtils.findParentByTagName(e, ['td', 'th', 'caption'], !0)
 
-               ;/caption/gi.test(g.tagName)
 
-                 ? ((g.style.textAlign = b.align),
 
-                   (g.style.verticalAlign = b.vAlign))
 
-                 : domUtils.setAttributes(g, b),
 
-                 c.selection.getRange().setCursor(!0)
 
-             }
 
-           },
 
-           queryCommandValue: function (a) {
 
-             var b = e(this).cell
 
-             if ((b || (b = c(this)[0]), b)) {
 
-               var d = UE.UETable.getUETable(b).selectedTds
 
-               return !d.length && (d = b), UE.UETable.getTableCellAlignState(d)
 
-             }
 
-             return null
 
-           }
 
-         }),
 
-         (UE.commands.tablealignment = {
 
-           queryCommandState: function () {
 
-             return browser.ie && browser.version < 8
 
-               ? -1
 
-               : e(this).table
 
-               ? 0
 
-               : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var c = this,
 
-               d = c.selection.getStart(),
 
-               e = d && domUtils.findParentByTagName(d, ['table'], !0)
 
-             e && e.setAttribute('align', b)
 
-           }
 
-         }),
 
-         (UE.commands.edittable = {
 
-           queryCommandState: function () {
 
-             return e(this).table ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var c = this.selection.getRange(),
 
-               d = domUtils.findParentByTagName(c.startContainer, 'table')
 
-             if (d) {
 
-               var e = domUtils
 
-                 .getElementsByTagName(d, 'td')
 
-                 .concat(
 
-                   domUtils.getElementsByTagName(d, 'th'),
 
-                   domUtils.getElementsByTagName(d, 'caption')
 
-                 )
 
-               utils.each(e, function (a) {
 
-                 a.style.borderColor = b
 
-               })
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.edittd = {
 
-           queryCommandState: function () {
 
-             return e(this).table ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var c = this,
 
-               d = f(c)
 
-             if (d)
 
-               utils.each(d.selectedTds, function (a) {
 
-                 a.style.backgroundColor = b
 
-               })
 
-             else {
 
-               var e = c.selection.getStart(),
 
-                 g =
 
-                   e &&
 
-                   domUtils.findParentByTagName(e, ['td', 'th', 'caption'], !0)
 
-               g && (g.style.backgroundColor = b)
 
-             }
 
-           }
 
-         }),
 
-         (UE.commands.settablebackground = {
 
-           queryCommandState: function () {
 
-             return c(this).length > 1 ? 0 : -1
 
-           },
 
-           execCommand: function (a, b) {
 
-             var d, e
 
-             ;(d = c(this)), (e = h(d[0])), e.setBackground(d, b)
 
-           }
 
-         }),
 
-         (UE.commands.cleartablebackground = {
 
-           queryCommandState: function () {
 
-             var a = c(this)
 
-             if (!a.length) return -1
 
-             for (var b, d = 0; (b = a[d++]); )
 
-               if ('' !== b.style.backgroundColor) return 0
 
-             return -1
 
-           },
 
-           execCommand: function () {
 
-             var a = c(this),
 
-               b = h(a[0])
 
-             b.removeBackground(a)
 
-           }
 
-         }),
 
-         (UE.commands.interlacetable = UE.commands.uninterlacetable =
 
-           {
 
-             queryCommandState: function (a) {
 
-               var b = e(this).table
 
-               if (!b) return -1
 
-               var c = b.getAttribute('interlaced')
 
-               return 'interlacetable' == a
 
-                 ? 'enabled' === c
 
-                   ? -1
 
-                   : 0
 
-                 : c && 'disabled' !== c
 
-                 ? 0
 
-                 : -1
 
-             },
 
-             execCommand: function (a, b) {
 
-               var c = e(this).table
 
-               'interlacetable' == a
 
-                 ? (c.setAttribute('interlaced', 'enabled'),
 
-                   this.fireEvent('interlacetable', c, b))
 
-                 : (c.setAttribute('interlaced', 'disabled'),
 
-                   this.fireEvent('uninterlacetable', c))
 
-             }
 
-           }),
 
-         (UE.commands.setbordervisible = {
 
-           queryCommandState: function (a) {
 
-             var b = e(this).table
 
-             return b ? 0 : -1
 
-           },
 
-           execCommand: function () {
 
-             var a = e(this).table
 
-             utils.each(domUtils.getElementsByTagName(a, 'td'), function (a) {
 
-               ;(a.style.borderWidth = '1px'), (a.style.borderStyle = 'solid')
 
-             })
 
-           }
 
-         })
 
-     })(),
 
-     (UE.plugins.table = function () {
 
-       function a(a) {}
 
-       function b(a, b) {
 
-         c(a, 'width', !0), c(a, 'height', !0)
 
-       }
 
-       function c(a, b, c) {
 
-         a.style[b] &&
 
-           (c && a.setAttribute(b, parseInt(a.style[b], 10)), (a.style[b] = ''))
 
-       }
 
-       function d(a) {
 
-         if ('TD' == a.tagName || 'TH' == a.tagName) return a
 
-         var b
 
-         return (b =
 
-           domUtils.findParentByTagName(a, 'td', !0) ||
 
-           domUtils.findParentByTagName(a, 'th', !0))
 
-           ? b
 
-           : null
 
-       }
 
-       function e(a) {
 
-         var b = new RegExp(domUtils.fillChar, 'g')
 
-         if (
 
-           a[browser.ie ? 'innerText' : 'textContent']
 
-             .replace(/^\s*$/, '')
 
-             .replace(b, '').length > 0
 
-         )
 
-           return 0
 
-         for (var c in dtd.$isNotEmpty)
 
-           if (a.getElementsByTagName(c).length) return 0
 
-         return 1
 
-       }
 
-       function f(a) {
 
-         return a.pageX || a.pageY
 
-           ? { x: a.pageX, y: a.pageY }
 
-           : {
 
-               x:
 
-                 a.clientX +
 
-                 N.document.body.scrollLeft -
 
-                 N.document.body.clientLeft,
 
-               y:
 
-                 a.clientY +
 
-                 N.document.body.scrollTop -
 
-                 N.document.body.clientTop
 
-             }
 
-       }
 
-       function g(b) {
 
-         if (!A())
 
-           try {
 
-             var c,
 
-               e = d(b.target || b.srcElement)
 
-             if (
 
-               (R &&
 
-                 ((N.body.style.webkitUserSelect = 'none'),
 
-                 (Math.abs(V.x - b.clientX) > T ||
 
-                   Math.abs(V.y - b.clientY) > T) &&
 
-                   (t(), (R = !1), (U = 0), v(b))),
 
-               ca && ha)
 
-             )
 
-               return (
 
-                 (U = 0),
 
-                 (N.body.style.webkitUserSelect = 'none'),
 
-                 N.selection
 
-                   .getNative()
 
-                   [browser.ie9below ? 'empty' : 'removeAllRanges'](),
 
-                 (c = f(b)),
 
-                 m(N, !0, ca, c, e),
 
-                 void ('h' == ca
 
-                   ? (ga.style.left = k(ha, b) + 'px')
 
-                   : 'v' == ca && (ga.style.top = l(ha, b) + 'px'))
 
-               )
 
-             if (e) {
 
-               if (N.fireEvent('excludetable', e) === !0) return
 
-               c = f(b)
 
-               var g = n(e, c),
 
-                 i = domUtils.findParentByTagName(e, 'table', !0)
 
-               if (j(i, e, b, !0)) {
 
-                 if (N.fireEvent('excludetable', i) === !0) return
 
-                 N.body.style.cursor =
 
-                   'url(' + N.options.cursorpath + 'h.png),pointer'
 
-               } else if (j(i, e, b)) {
 
-                 if (N.fireEvent('excludetable', i) === !0) return
 
-                 N.body.style.cursor =
 
-                   'url(' + N.options.cursorpath + 'v.png),pointer'
 
-               } else {
 
-                 N.body.style.cursor = 'text'
 
-                 ;/\d/.test(g) &&
 
-                   ((g = g.replace(/\d/, '')),
 
-                   (e = Y(e).getPreviewCell(e, 'v' == g))),
 
-                   m(N, !!e && !!g, e ? g : '', c, e)
 
-               }
 
-             } else h(!1, i, N)
 
-           } catch (o) {
 
-             a(o)
 
-           }
 
-       }
 
-       function h(a, b, c) {
 
-         if (a) i(b, c)
 
-         else {
 
-           if (fa) return
 
-           la = setTimeout(function () {
 
-             !fa && ea && ea.parentNode && ea.parentNode.removeChild(ea)
 
-           }, 2e3)
 
-         }
 
-       }
 
-       function i(a, b) {
 
-         function c(c, d) {
 
-           clearTimeout(g),
 
-             (g = setTimeout(function () {
 
-               b.fireEvent('tableClicked', a, d)
 
-             }, 300))
 
-         }
 
-         function d(c) {
 
-           clearTimeout(g)
 
-           var d = Y(a),
 
-             e = a.rows[0].cells[0],
 
-             f = d.getLastCell(),
 
-             h = d.getCellsRange(e, f)
 
-           b.selection.getRange().setStart(e, 0).setCursor(!1, !0),
 
-             d.setSelected(h)
 
-         }
 
-         var e = domUtils.getXY(a),
 
-           f = a.ownerDocument
 
-         if (ea && ea.parentNode) return ea
 
-         ;(ea = f.createElement('div')),
 
-           (ea.contentEditable = !1),
 
-           (ea.innerHTML = ''),
 
-           (ea.style.cssText =
 
-             'width:15px;height:15px;background-image:url(' +
 
-             b.options.UEDITOR_HOME_URL +
 
-             'dialogs/table/dragicon.png);position: absolute;cursor:move;top:' +
 
-             (e.y - 15) +
 
-             'px;left:' +
 
-             e.x +
 
-             'px;'),
 
-           domUtils.unSelectable(ea),
 
-           (ea.onmouseover = function (a) {
 
-             fa = !0
 
-           }),
 
-           (ea.onmouseout = function (a) {
 
-             fa = !1
 
-           }),
 
-           domUtils.on(ea, 'click', function (a, b) {
 
-             c(b, this)
 
-           }),
 
-           domUtils.on(ea, 'dblclick', function (a, b) {
 
-             d(b)
 
-           }),
 
-           domUtils.on(ea, 'dragstart', function (a, b) {
 
-             domUtils.preventDefault(b)
 
-           })
 
-         var g
 
-         f.body.appendChild(ea)
 
-       }
 
-       function j(a, b, c, d) {
 
-         var e = f(c),
 
-           g = n(b, e)
 
-         if (d) {
 
-           var h = a.getElementsByTagName('caption')[0],
 
-             i = h ? h.offsetHeight : 0
 
-           return 'v1' == g && e.y - domUtils.getXY(a).y - i < 8
 
-         }
 
-         return 'h1' == g && e.x - domUtils.getXY(a).x < 8
 
-       }
 
-       function k(a, b) {
 
-         var c = Y(a)
 
-         if (c) {
 
-           var d = c.getSameEndPosCells(a, 'x')[0],
 
-             e = c.getSameStartPosXCells(a)[0],
 
-             g = f(b).x,
 
-             h = (d ? domUtils.getXY(d).x : domUtils.getXY(c.table).x) + 20,
 
-             i = e
 
-               ? domUtils.getXY(e).x + e.offsetWidth - 20
 
-               : N.body.offsetWidth + 5 ||
 
-                 parseInt(domUtils.getComputedStyle(N.body, 'width'), 10)
 
-           return (h += Q), (i -= Q), g < h ? h : g > i ? i : g
 
-         }
 
-       }
 
-       function l(b, c) {
 
-         try {
 
-           var d = domUtils.getXY(b).y,
 
-             e = f(c).y
 
-           return e < d ? d : e
 
-         } catch (g) {
 
-           a(g)
 
-         }
 
-       }
 
-       function m(b, c, d, e, f) {
 
-         try {
 
-           ;(b.body.style.cursor =
 
-             'h' == d ? 'col-resize' : 'v' == d ? 'row-resize' : 'text'),
 
-             browser.ie &&
 
-               (!d || ia || Z(b) ? I(b) : (H(b, b.document), J(d, f))),
 
-             (da = c)
 
-         } catch (g) {
 
-           a(g)
 
-         }
 
-       }
 
-       function n(a, b) {
 
-         var c = domUtils.getXY(a)
 
-         return c
 
-           ? c.x + a.offsetWidth - b.x < S
 
-             ? 'h'
 
-             : b.x - c.x < S
 
-             ? 'h1'
 
-             : c.y + a.offsetHeight - b.y < S
 
-             ? 'v'
 
-             : b.y - c.y < S
 
-             ? 'v1'
 
-             : ''
 
-           : ''
 
-       }
 
-       function o(a, b) {
 
-         if (!A())
 
-           if (((V = { x: b.clientX, y: b.clientY }), 2 == b.button)) {
 
-             var c = Z(N),
 
-               d = !1
 
-             if (c) {
 
-               var e = M(N, b)
 
-               utils.each(c.selectedTds, function (a) {
 
-                 a === e && (d = !0)
 
-               }),
 
-                 d
 
-                   ? ((e = c.selectedTds[0]),
 
-                     setTimeout(function () {
 
-                       N.selection.getRange().setStart(e, 0).setCursor(!1, !0)
 
-                     }, 0))
 
-                   : (_(domUtils.getElementsByTagName(N.body, 'th td')),
 
-                     c.clearSelected())
 
-             }
 
-           } else q(b)
 
-       }
 
-       function p(a) {
 
-         ;(U = 0), (a = a || N.window.event)
 
-         var b = d(a.target || a.srcElement)
 
-         if (b) {
 
-           var c
 
-           if ((c = n(b, f(a)))) {
 
-             if ((I(N), 'h1' == c))
 
-               if (
 
-                 ((c = 'h'), j(domUtils.findParentByTagName(b, 'table'), b, a))
 
-               )
 
-                 N.execCommand('adaptbywindow')
 
-               else if ((b = Y(b).getPreviewCell(b))) {
 
-                 var e = N.selection.getRange()
 
-                 e.selectNodeContents(b).setCursor(!0, !0)
 
-               }
 
-             if ('h' == c) {
 
-               var g = Y(b),
 
-                 h = g.table,
 
-                 i = C(b, h, !0)
 
-               ;(i = s(i, 'left')), (g.width = g.offsetWidth)
 
-               var k = [],
 
-                 l = []
 
-               utils.each(i, function (a) {
 
-                 k.push(a.offsetWidth)
 
-               }),
 
-                 utils.each(i, function (a) {
 
-                   a.removeAttribute('width')
 
-                 }),
 
-                 window.setTimeout(function () {
 
-                   var a = !0
 
-                   utils.each(i, function (b, c) {
 
-                     var d = b.offsetWidth
 
-                     return d > k[c] ? ((a = !1), !1) : void l.push(d)
 
-                   })
 
-                   var b = a ? l : k
 
-                   utils.each(i, function (a, c) {
 
-                     a.width = b[c] - G()
 
-                   })
 
-                 }, 0)
 
-             }
 
-           }
 
-         }
 
-       }
 
-       function q(a) {
 
-         if (
 
-           (_(domUtils.getElementsByTagName(N.body, 'td th')),
 
-           utils.each(N.document.getElementsByTagName('table'), function (a) {
 
-             a.ueTable = null
 
-           }),
 
-           (aa = M(N, a)))
 
-         ) {
 
-           var b = domUtils.findParentByTagName(aa, 'table', !0)
 
-           ;(ut = Y(b)),
 
-             ut && ut.clearSelected(),
 
-             da
 
-               ? r(a)
 
-               : ((N.document.body.style.webkitUserSelect = ''),
 
-                 (ia = !0),
 
-                 N.addListener('mouseover', x))
 
-         }
 
-       }
 
-       function r(a) {
 
-         browser.ie && (a = u(a)),
 
-           t(),
 
-           (R = !0),
 
-           (O = setTimeout(function () {
 
-             v(a)
 
-           }, W))
 
-       }
 
-       function s(a, b) {
 
-         for (var c = [], d = null, e = 0, f = a.length; e < f; e++)
 
-           (d = a[e][b]), d && c.push(d)
 
-         return c
 
-       }
 
-       function t() {
 
-         O && clearTimeout(O), (O = null)
 
-       }
 
-       function u(a) {
 
-         var b = [
 
-             'pageX',
 
-             'pageY',
 
-             'clientX',
 
-             'clientY',
 
-             'srcElement',
 
-             'target'
 
-           ],
 
-           c = {}
 
-         if (a)
 
-           for (var d, e, f = 0; (d = b[f]); f++) (e = a[d]), e && (c[d] = e)
 
-         return c
 
-       }
 
-       function v(a) {
 
-         if (((R = !1), (aa = a.target || a.srcElement))) {
 
-           var b = n(aa, f(a))
 
-           ;/\d/.test(b) &&
 
-             ((b = b.replace(/\d/, '')),
 
-             (aa = Y(aa).getPreviewCell(aa, 'v' == b))),
 
-             I(N),
 
-             H(N, N.document),
 
-             N.fireEvent('saveScene'),
 
-             J(b, aa),
 
-             (ia = !0),
 
-             (ca = b),
 
-             (ha = aa)
 
-         }
 
-       }
 
-       function w(a, b) {
 
-         if (!A()) {
 
-           if (
 
-             (t(),
 
-             (R = !1),
 
-             da &&
 
-               ((U = ++U % 3),
 
-               (V = { x: b.clientX, y: b.clientY }),
 
-               (P = setTimeout(function () {
 
-                 U > 0 && U--
 
-               }, W)),
 
-               2 === U))
 
-           )
 
-             return (U = 0), void p(b)
 
-           if (2 != b.button) {
 
-             var c = this,
 
-               d = c.selection.getRange(),
 
-               e = domUtils.findParentByTagName(d.startContainer, 'table', !0),
 
-               f = domUtils.findParentByTagName(d.endContainer, 'table', !0)
 
-             if (
 
-               ((e || f) &&
 
-                 (e === f
 
-                   ? ((e = domUtils.findParentByTagName(
 
-                       d.startContainer,
 
-                       ['td', 'th', 'caption'],
 
-                       !0
 
-                     )),
 
-                     (f = domUtils.findParentByTagName(
 
-                       d.endContainer,
 
-                       ['td', 'th', 'caption'],
 
-                       !0
 
-                     )),
 
-                     e !== f && c.selection.clearRange())
 
-                   : c.selection.clearRange()),
 
-               (ia = !1),
 
-               (c.document.body.style.webkitUserSelect = ''),
 
-               ca &&
 
-                 ha &&
 
-                 (c.selection
 
-                   .getNative()
 
-                   [browser.ie9below ? 'empty' : 'removeAllRanges'](),
 
-                 (U = 0),
 
-                 (ga = c.document.getElementById('ue_tableDragLine'))))
 
-             ) {
 
-               var g = domUtils.getXY(ha),
 
-                 h = domUtils.getXY(ga)
 
-               switch (ca) {
 
-                 case 'h':
 
-                   z(ha, h.x - g.x)
 
-                   break
 
-                 case 'v':
 
-                   B(ha, h.y - g.y - ha.offsetHeight)
 
-               }
 
-               return (ca = ''), (ha = null), I(c), void c.fireEvent('saveScene')
 
-             }
 
-             if (aa) {
 
-               var i = Y(aa),
 
-                 j = i ? i.selectedTds[0] : null
 
-               if (j)
 
-                 (d = new dom.Range(c.document)),
 
-                   domUtils.isEmptyBlock(j)
 
-                     ? d.setStart(j, 0).setCursor(!1, !0)
 
-                     : d.selectNodeContents(j).shrinkBoundary().setCursor(!1, !0)
 
-               else if (
 
-                 ((d = c.selection.getRange().shrinkBoundary()), !d.collapsed)
 
-               ) {
 
-                 var e = domUtils.findParentByTagName(
 
-                     d.startContainer,
 
-                     ['td', 'th'],
 
-                     !0
 
-                   ),
 
-                   f = domUtils.findParentByTagName(
 
-                     d.endContainer,
 
-                     ['td', 'th'],
 
-                     !0
 
-                   )
 
-                 ;((e && !f) || (!e && f) || (e && f && e !== f)) &&
 
-                   d.setCursor(!1, !0)
 
-               }
 
-               ;(aa = null), c.removeListener('mouseover', x)
 
-             } else {
 
-               var k = domUtils.findParentByTagName(
 
-                 b.target || b.srcElement,
 
-                 'td',
 
-                 !0
 
-               )
 
-               if (
 
-                 (k ||
 
-                   (k = domUtils.findParentByTagName(
 
-                     b.target || b.srcElement,
 
-                     'th',
 
-                     !0
 
-                   )),
 
-                 k && ('TD' == k.tagName || 'TH' == k.tagName))
 
-               ) {
 
-                 if (c.fireEvent('excludetable', k) === !0) return
 
-                 ;(d = new dom.Range(c.document)),
 
-                   d.setStart(k, 0).setCursor(!1, !0)
 
-               }
 
-             }
 
-             c._selectionChange(250, b)
 
-           }
 
-         }
 
-       }
 
-       function x(a, b) {
 
-         if (!A()) {
 
-           var c = this,
 
-             d = b.target || b.srcElement
 
-           if (
 
-             ((ba =
 
-               domUtils.findParentByTagName(d, 'td', !0) ||
 
-               domUtils.findParentByTagName(d, 'th', !0)),
 
-             aa &&
 
-               ba &&
 
-               (('TD' == aa.tagName && 'TD' == ba.tagName) ||
 
-                 ('TH' == aa.tagName && 'TH' == ba.tagName)) &&
 
-               domUtils.findParentByTagName(aa, 'table') ==
 
-                 domUtils.findParentByTagName(ba, 'table'))
 
-           ) {
 
-             var e = Y(ba)
 
-             if (aa != ba) {
 
-               ;(c.document.body.style.webkitUserSelect = 'none'),
 
-                 c.selection
 
-                   .getNative()
 
-                   [browser.ie9below ? 'empty' : 'removeAllRanges']()
 
-               var f = e.getCellsRange(aa, ba)
 
-               e.setSelected(f)
 
-             } else
 
-               (c.document.body.style.webkitUserSelect = ''), e.clearSelected()
 
-           }
 
-           b.preventDefault ? b.preventDefault() : (b.returnValue = !1)
 
-         }
 
-       }
 
-       function y(a, b, c) {
 
-         var d = parseInt(domUtils.getComputedStyle(a, 'line-height'), 10),
 
-           e = c + b
 
-         ;(b = e < d ? d : e),
 
-           a.style.height && (a.style.height = ''),
 
-           1 == a.rowSpan
 
-             ? a.setAttribute('height', b)
 
-             : a.removeAttribute && a.removeAttribute('height')
 
-       }
 
-       function z(a, b) {
 
-         var c = Y(a)
 
-         if (c) {
 
-           var d = c.table,
 
-             e = C(a, d)
 
-           if (
 
-             ((d.style.width = ''),
 
-             d.removeAttribute('width'),
 
-             (b = D(b, a, e)),
 
-             a.nextSibling)
 
-           ) {
 
-             utils.each(e, function (a) {
 
-               ;(a.left.width = +a.left.width + b),
 
-                 a.right && (a.right.width = +a.right.width - b)
 
-             })
 
-           } else
 
-             utils.each(e, function (a) {
 
-               a.left.width -= -b
 
-             })
 
-         }
 
-       }
 
-       function A() {
 
-         return 'false' === N.body.contentEditable
 
-       }
 
-       function B(a, b) {
 
-         if (!(Math.abs(b) < 10)) {
 
-           var c = Y(a)
 
-           if (c)
 
-             for (
 
-               var d,
 
-                 e = c.getSameEndPosCells(a, 'y'),
 
-                 f = e[0] ? e[0].offsetHeight : 0,
 
-                 g = 0;
 
-               (d = e[g++]);
 
-             )
 
-               y(d, b, f)
 
-         }
 
-       }
 
-       function C(a, b, c) {
 
-         if ((b || (b = domUtils.findParentByTagName(a, 'table')), !b))
 
-           return null
 
-         for (var d = (domUtils.getNodeIndex(a), a), e = b.rows, f = 0; d; )
 
-           1 === d.nodeType && (f += d.colSpan || 1), (d = d.previousSibling)
 
-         d = null
 
-         var g = []
 
-         return (
 
-           utils.each(e, function (a) {
 
-             var b = a.cells,
 
-               d = 0
 
-             utils.each(b, function (a) {
 
-               return (
 
-                 (d += a.colSpan || 1),
 
-                 d === f
 
-                   ? (g.push({ left: a, right: a.nextSibling || null }), !1)
 
-                   : d > f
 
-                   ? (c && g.push({ left: a }), !1)
 
-                   : void 0
 
-               )
 
-             })
 
-           }),
 
-           g
 
-         )
 
-       }
 
-       function D(a, b, c) {
 
-         if (((a -= G()), a < 0)) return 0
 
-         a -= E(b)
 
-         var d = a < 0 ? 'left' : 'right'
 
-         return (
 
-           (a = Math.abs(a)),
 
-           utils.each(c, function (b) {
 
-             var c = b[d]
 
-             c && (a = Math.min(a, E(c) - Q))
 
-           }),
 
-           (a = a < 0 ? 0 : a),
 
-           'left' === d ? -a : a
 
-         )
 
-       }
 
-       function E(a) {
 
-         var b = 0,
 
-           b = a.offsetWidth - G()
 
-         a.nextSibling || (b -= F(a)), (b = b < 0 ? 0 : b)
 
-         try {
 
-           a.width = b
 
-         } catch (c) {}
 
-         return b
 
-       }
 
-       function F(a) {
 
-         if (
 
-           ((tab = domUtils.findParentByTagName(a, 'table', !1)),
 
-           void 0 === tab.offsetVal)
 
-         ) {
 
-           var b = a.previousSibling
 
-           b
 
-             ? (tab.offsetVal =
 
-                 a.offsetWidth - b.offsetWidth === X.borderWidth
 
-                   ? X.borderWidth
 
-                   : 0)
 
-             : (tab.offsetVal = 0)
 
-         }
 
-         return tab.offsetVal
 
-       }
 
-       function G() {
 
-         if (void 0 === X.tabcellSpace) {
 
-           var a = N.document.createElement('table'),
 
-             b = N.document.createElement('tbody'),
 
-             c = N.document.createElement('tr'),
 
-             d = N.document.createElement('td'),
 
-             e = null
 
-           ;(d.style.cssText = 'border: 0;'),
 
-             (d.width = 1),
 
-             c.appendChild(d),
 
-             c.appendChild((e = d.cloneNode(!1))),
 
-             b.appendChild(c),
 
-             a.appendChild(b),
 
-             (a.style.cssText = 'visibility: hidden;'),
 
-             N.body.appendChild(a),
 
-             (X.paddingSpace = d.offsetWidth - 1)
 
-           var f = a.offsetWidth
 
-           ;(d.style.cssText = ''),
 
-             (e.style.cssText = ''),
 
-             (X.borderWidth = (a.offsetWidth - f) / 3),
 
-             (X.tabcellSpace = X.paddingSpace + X.borderWidth),
 
-             N.body.removeChild(a)
 
-         }
 
-         return (
 
-           (G = function () {
 
-             return X.tabcellSpace
 
-           }),
 
-           X.tabcellSpace
 
-         )
 
-       }
 
-       function H(a, b) {
 
-         ia ||
 
-           ((ga = a.document.createElement('div')),
 
-           domUtils.setAttributes(ga, {
 
-             id: 'ue_tableDragLine',
 
-             unselectable: 'on',
 
-             contenteditable: !1,
 
-             onresizestart: 'return false',
 
-             ondragstart: 'return false',
 
-             onselectstart: 'return false',
 
-             style:
 
-               'background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)'
 
-           }),
 
-           a.body.appendChild(ga))
 
-       }
 
-       function I(a) {
 
-         if (!ia)
 
-           for (var b; (b = a.document.getElementById('ue_tableDragLine')); )
 
-             domUtils.remove(b)
 
-       }
 
-       function J(a, b) {
 
-         if (b) {
 
-           var c,
 
-             d = domUtils.findParentByTagName(b, 'table'),
 
-             e = d.getElementsByTagName('caption'),
 
-             f = d.offsetWidth,
 
-             g = d.offsetHeight - (e.length > 0 ? e[0].offsetHeight : 0),
 
-             h = domUtils.getXY(d),
 
-             i = domUtils.getXY(b)
 
-           switch (a) {
 
-             case 'h':
 
-               ;(c =
 
-                 'height:' +
 
-                 g +
 
-                 'px;top:' +
 
-                 (h.y + (e.length > 0 ? e[0].offsetHeight : 0)) +
 
-                 'px;left:' +
 
-                 (i.x + b.offsetWidth)),
 
-                 (ga.style.cssText =
 
-                   c +
 
-                   'px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)')
 
-               break
 
-             case 'v':
 
-               ;(c =
 
-                 'width:' +
 
-                 f +
 
-                 'px;left:' +
 
-                 h.x +
 
-                 'px;top:' +
 
-                 (i.y + b.offsetHeight)),
 
-                 (ga.style.cssText =
 
-                   c +
 
-                   'px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)')
 
-           }
 
-         }
 
-       }
 
-       function K(a, b) {
 
-         for (
 
-           var c, d, e = domUtils.getElementsByTagName(a.body, 'table'), f = 0;
 
-           (d = e[f++]);
 
-         ) {
 
-           var g = domUtils.getElementsByTagName(d, 'td')
 
-           g[0] &&
 
-             (b
 
-               ? ((c = g[0].style.borderColor.replace(/\s/g, '')),
 
-                 /(#ffffff)|(rgb\(255,255,255\))/gi.test(c) &&
 
-                   domUtils.addClass(d, 'noBorderTable'))
 
-               : domUtils.removeClasses(d, 'noBorderTable'))
 
-         }
 
-       }
 
-       function L(a, b, c) {
 
-         var d = a.body
 
-         return (
 
-           d.offsetWidth -
 
-           (b
 
-             ? 2 * parseInt(domUtils.getComputedStyle(d, 'margin-left'), 10)
 
-             : 0) -
 
-           2 * c.tableBorder -
 
-           (a.options.offsetWidth || 0)
 
-         )
 
-       }
 
-       function M(a, b) {
 
-         var c = domUtils.findParentByTagName(
 
-             b.target || b.srcElement,
 
-             ['td', 'th'],
 
-             !0
 
-           ),
 
-           d = null
 
-         if (!c) return null
 
-         if (((d = n(c, f(b))), !c)) return null
 
-         if ('h1' === d && c.previousSibling) {
 
-           var e = domUtils.getXY(c),
 
-             g = c.offsetWidth
 
-           Math.abs(e.x + g - b.clientX) > g / 3 && (c = c.previousSibling)
 
-         } else if ('v1' === d && c.parentNode.previousSibling) {
 
-           var e = domUtils.getXY(c),
 
-             h = c.offsetHeight
 
-           Math.abs(e.y + h - b.clientY) > h / 3 &&
 
-             (c = c.parentNode.previousSibling.firstChild)
 
-         }
 
-         return c && a.fireEvent('excludetable', c) !== !0 ? c : null
 
-       }
 
-       var N = this,
 
-         O = null,
 
-         P = null,
 
-         Q = 5,
 
-         R = !1,
 
-         S = 5,
 
-         T = 10,
 
-         U = 0,
 
-         V = null,
 
-         W = 360,
 
-         X = UE.UETable,
 
-         Y = function (a) {
 
-           return X.getUETable(a)
 
-         },
 
-         Z = function (a) {
 
-           return X.getUETableBySelected(a)
 
-         },
 
-         $ = function (a, b) {
 
-           return X.getDefaultValue(a, b)
 
-         },
 
-         _ = function (a) {
 
-           return X.removeSelectedClass(a)
 
-         }
 
-       N.ready(function () {
 
-         var a = this,
 
-           b = a.selection.getText
 
-         a.selection.getText = function () {
 
-           var c = Z(a)
 
-           if (c) {
 
-             var d = ''
 
-             return (
 
-               utils.each(c.selectedTds, function (a) {
 
-                 d += a[browser.ie ? 'innerText' : 'textContent']
 
-               }),
 
-               d
 
-             )
 
-           }
 
-           return b.call(a.selection)
 
-         }
 
-       })
 
-       var aa = null,
 
-         ba = null,
 
-         ca = '',
 
-         da = !1,
 
-         ea = null,
 
-         fa = !1,
 
-         ga = null,
 
-         ha = null,
 
-         ia = !1,
 
-         ja = !0
 
-       N.setOpt({
 
-         maxColNum: 20,
 
-         maxRowNum: 100,
 
-         defaultCols: 5,
 
-         defaultRows: 5,
 
-         tdvalign: 'top',
 
-         cursorpath:
 
-           N.options.UEDITOR_HOME_URL + 'themes/default/images/cursor_',
 
-         tableDragable: !1,
 
-         classList: [
 
-           'ue-table-interlace-color-single',
 
-           'ue-table-interlace-color-double'
 
-         ]
 
-       }),
 
-         (N.getUETable = Y)
 
-       var ka = {
 
-         deletetable: 1,
 
-         inserttable: 1,
 
-         cellvalign: 1,
 
-         insertcaption: 1,
 
-         deletecaption: 1,
 
-         inserttitle: 1,
 
-         deletetitle: 1,
 
-         mergeright: 1,
 
-         mergedown: 1,
 
-         mergecells: 1,
 
-         insertrow: 1,
 
-         insertrownext: 1,
 
-         deleterow: 1,
 
-         insertcol: 1,
 
-         insertcolnext: 1,
 
-         deletecol: 1,
 
-         splittocells: 1,
 
-         splittorows: 1,
 
-         splittocols: 1,
 
-         adaptbytext: 1,
 
-         adaptbywindow: 1,
 
-         adaptbycustomer: 1,
 
-         insertparagraph: 1,
 
-         insertparagraphbeforetable: 1,
 
-         averagedistributecol: 1,
 
-         averagedistributerow: 1
 
-       }
 
-       N.ready(function () {
 
-         utils.cssRule(
 
-           'table',
 
-           '.selectTdClass{background-color:#edf5fa !important}table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}table{margin-bottom:10px;border-collapse:collapse;display:table;}td,th{padding: 5px 10px;border: 1px solid #DDD;}caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}th{border-top:1px solid #BBB;background-color:#F7F7F7;}table tr.firstRow th{border-top-width:2px;}.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }td p{margin:0;padding:0;}',
 
-           N.document
 
-         )
 
-         var a, c, f
 
-         N.addListener('keydown', function (b, d) {
 
-           var g = this,
 
-             h = d.keyCode || d.which
 
-           if (8 == h) {
 
-             var i = Z(g)
 
-             i &&
 
-               i.selectedTds.length &&
 
-               (i.isFullCol()
 
-                 ? g.execCommand('deletecol')
 
-                 : i.isFullRow()
 
-                 ? g.execCommand('deleterow')
 
-                 : g.fireEvent('delcells'),
 
-               domUtils.preventDefault(d))
 
-             var j = domUtils.findParentByTagName(
 
-                 g.selection.getStart(),
 
-                 'caption',
 
-                 !0
 
-               ),
 
-               k = g.selection.getRange()
 
-             if (k.collapsed && j && e(j)) {
 
-               g.fireEvent('saveScene')
 
-               var l = j.parentNode
 
-               domUtils.remove(j),
 
-                 l && k.setStart(l.rows[0].cells[0], 0).setCursor(!1, !0),
 
-                 g.fireEvent('saveScene')
 
-             }
 
-           }
 
-           if (46 == h && (i = Z(g))) {
 
-             g.fireEvent('saveScene')
 
-             for (var m, n = 0; (m = i.selectedTds[n++]); )
 
-               domUtils.fillNode(g.document, m)
 
-             g.fireEvent('saveScene'), domUtils.preventDefault(d)
 
-           }
 
-           if (13 == h) {
 
-             var o = g.selection.getRange(),
 
-               j = domUtils.findParentByTagName(o.startContainer, 'caption', !0)
 
-             if (j) {
 
-               var l = domUtils.findParentByTagName(j, 'table')
 
-               return (
 
-                 o.collapsed
 
-                   ? j && o.setStart(l.rows[0].cells[0], 0).setCursor(!1, !0)
 
-                   : (o.deleteContents(), g.fireEvent('saveScene')),
 
-                 void domUtils.preventDefault(d)
 
-               )
 
-             }
 
-             if (o.collapsed) {
 
-               var l = domUtils.findParentByTagName(o.startContainer, 'table')
 
-               if (l) {
 
-                 var p = l.rows[0].cells[0],
 
-                   q = domUtils.findParentByTagName(
 
-                     g.selection.getStart(),
 
-                     ['td', 'th'],
 
-                     !0
 
-                   ),
 
-                   r = l.previousSibling
 
-                 if (
 
-                   p === q &&
 
-                   (!r || (1 == r.nodeType && 'TABLE' == r.tagName)) &&
 
-                   domUtils.isStartInblock(o)
 
-                 ) {
 
-                   var s = domUtils.findParent(
 
-                     g.selection.getStart(),
 
-                     function (a) {
 
-                       return domUtils.isBlockElm(a)
 
-                     },
 
-                     !0
 
-                   )
 
-                   s &&
 
-                     (/t(h|d)/i.test(s.tagName) || s === q.firstChild) &&
 
-                     (g.execCommand('insertparagraphbeforetable'),
 
-                     domUtils.preventDefault(d))
 
-                 }
 
-               }
 
-             }
 
-           }
 
-           if ((d.ctrlKey || d.metaKey) && '67' == d.keyCode) {
 
-             a = null
 
-             var i = Z(g)
 
-             if (i) {
 
-               var t = i.selectedTds
 
-               ;(c = i.isFullCol()),
 
-                 (f = i.isFullRow()),
 
-                 (a = [[i.cloneCell(t[0], null, !0)]])
 
-               for (var m, n = 1; (m = t[n]); n++)
 
-                 m.parentNode !== t[n - 1].parentNode
 
-                   ? a.push([i.cloneCell(m, null, !0)])
 
-                   : a[a.length - 1].push(i.cloneCell(m, null, !0))
 
-             }
 
-           }
 
-         }),
 
-           N.addListener('tablehasdeleted', function () {
 
-             m(this, !1, '', null), ea && domUtils.remove(ea)
 
-           }),
 
-           N.addListener('beforepaste', function (d, g) {
 
-             var h = this,
 
-               i = h.selection.getRange()
 
-             if (domUtils.findParentByTagName(i.startContainer, 'caption', !0)) {
 
-               var j = h.document.createElement('div')
 
-               return (
 
-                 (j.innerHTML = g.html),
 
-                 void (g.html =
 
-                   j[browser.ie9below ? 'innerText' : 'textContent'])
 
-               )
 
-             }
 
-             var k = Z(h)
 
-             if (a) {
 
-               h.fireEvent('saveScene')
 
-               var l,
 
-                 m,
 
-                 i = h.selection.getRange(),
 
-                 n = domUtils.findParentByTagName(
 
-                   i.startContainer,
 
-                   ['td', 'th'],
 
-                   !0
 
-                 )
 
-               if (n) {
 
-                 var o = Y(n)
 
-                 if (f) {
 
-                   var p = o.getCellInfo(n).rowIndex
 
-                   'TH' == n.tagName && p++
 
-                   for (var q, r = 0; (q = a[r++]); ) {
 
-                     for (
 
-                       var s, t = o.insertRow(p++, 'td'), u = 0;
 
-                       (s = q[u]);
 
-                       u++
 
-                     ) {
 
-                       var v = t.cells[u]
 
-                       v || (v = t.insertCell(u)),
 
-                         (v.innerHTML = s.innerHTML),
 
-                         s.getAttribute('width') &&
 
-                           v.setAttribute('width', s.getAttribute('width')),
 
-                         s.getAttribute('vAlign') &&
 
-                           v.setAttribute('vAlign', s.getAttribute('vAlign')),
 
-                         s.getAttribute('align') &&
 
-                           v.setAttribute('align', s.getAttribute('align')),
 
-                         s.style.cssText && (v.style.cssText = s.style.cssText)
 
-                     }
 
-                     for (var s, u = 0; (s = t.cells[u]) && q[u]; u++)
 
-                       (s.innerHTML = q[u].innerHTML),
 
-                         q[u].getAttribute('width') &&
 
-                           s.setAttribute('width', q[u].getAttribute('width')),
 
-                         q[u].getAttribute('vAlign') &&
 
-                           s.setAttribute('vAlign', q[u].getAttribute('vAlign')),
 
-                         q[u].getAttribute('align') &&
 
-                           s.setAttribute('align', q[u].getAttribute('align')),
 
-                         q[u].style.cssText &&
 
-                           (s.style.cssText = q[u].style.cssText)
 
-                   }
 
-                 } else {
 
-                   if (c) {
 
-                     y = o.getCellInfo(n)
 
-                     for (var s, w = 0, u = 0, q = a[0]; (s = q[u++]); )
 
-                       w += s.colSpan || 1
 
-                     for (h.__hasEnterExecCommand = !0, r = 0; r < w; r++)
 
-                       h.execCommand('insertcol')
 
-                     ;(h.__hasEnterExecCommand = !1),
 
-                       (n = o.table.rows[0].cells[y.cellIndex]),
 
-                       'TH' == n.tagName &&
 
-                         (n = o.table.rows[1].cells[y.cellIndex])
 
-                   }
 
-                   for (var q, r = 0; (q = a[r++]); ) {
 
-                     l = n
 
-                     for (var s, u = 0; (s = q[u++]); )
 
-                       if (n)
 
-                         (n.innerHTML = s.innerHTML),
 
-                           s.getAttribute('width') &&
 
-                             n.setAttribute('width', s.getAttribute('width')),
 
-                           s.getAttribute('vAlign') &&
 
-                             n.setAttribute('vAlign', s.getAttribute('vAlign')),
 
-                           s.getAttribute('align') &&
 
-                             n.setAttribute('align', s.getAttribute('align')),
 
-                           s.style.cssText &&
 
-                             (n.style.cssText = s.style.cssText),
 
-                           (m = n),
 
-                           (n = n.nextSibling)
 
-                       else {
 
-                         var x = s.cloneNode(!0)
 
-                         domUtils.removeAttributes(x, [
 
-                           'class',
 
-                           'rowSpan',
 
-                           'colSpan'
 
-                         ]),
 
-                           m.parentNode.appendChild(x)
 
-                       }
 
-                     if (((n = o.getNextCell(l, !0, !0)), !a[r])) break
 
-                     if (!n) {
 
-                       var y = o.getCellInfo(l)
 
-                       o.table.insertRow(o.table.rows.length),
 
-                         o.update(),
 
-                         (n = o.getVSideCell(l, !0))
 
-                     }
 
-                   }
 
-                 }
 
-                 o.update()
 
-               } else {
 
-                 k = h.document.createElement('table')
 
-                 for (var q, r = 0; (q = a[r++]); ) {
 
-                   for (
 
-                     var s, t = k.insertRow(k.rows.length), u = 0;
 
-                     (s = q[u++]);
 
-                   )
 
-                     (x = X.cloneCell(s, null, !0)),
 
-                       domUtils.removeAttributes(x, ['class']),
 
-                       t.appendChild(x)
 
-                   2 == u && x.rowSpan > 1 && (x.rowSpan = 1)
 
-                 }
 
-                 var z = $(h),
 
-                   A =
 
-                     h.body.offsetWidth -
 
-                     (ja
 
-                       ? 2 *
 
-                         parseInt(
 
-                           domUtils.getComputedStyle(h.body, 'margin-left'),
 
-                           10
 
-                         )
 
-                       : 0) -
 
-                     2 * z.tableBorder -
 
-                     (h.options.offsetWidth || 0)
 
-                 h.execCommand(
 
-                   'insertHTML',
 
-                   '<table  ' +
 
-                     (c && f ? 'width="' + A + '"' : '') +
 
-                     '>' +
 
-                     k.innerHTML
 
-                       .replace(/>\s*</g, '><')
 
-                       .replace(/\bth\b/gi, 'td') +
 
-                     '</table>'
 
-                 )
 
-               }
 
-               return (
 
-                 h.fireEvent('contentchange'),
 
-                 h.fireEvent('saveScene'),
 
-                 (g.html = ''),
 
-                 !0
 
-               )
 
-             }
 
-             var B,
 
-               j = h.document.createElement('div')
 
-             ;(j.innerHTML = g.html),
 
-               (B = j.getElementsByTagName('table')),
 
-               domUtils.findParentByTagName(h.selection.getStart(), 'table')
 
-                 ? (utils.each(B, function (a) {
 
-                     domUtils.remove(a)
 
-                   }),
 
-                   domUtils.findParentByTagName(
 
-                     h.selection.getStart(),
 
-                     'caption',
 
-                     !0
 
-                   ) &&
 
-                     (j.innerHTML = j[browser.ie ? 'innerText' : 'textContent']))
 
-                 : utils.each(B, function (a) {
 
-                     b(a, !0),
 
-                       domUtils.removeAttributes(a, ['style', 'border']),
 
-                       utils.each(
 
-                         domUtils.getElementsByTagName(a, 'td'),
 
-                         function (a) {
 
-                           e(a) && domUtils.fillNode(h.document, a), b(a, !0)
 
-                         }
 
-                       )
 
-                   }),
 
-               (g.html = j.innerHTML)
 
-           }),
 
-           N.addListener('afterpaste', function () {
 
-             utils.each(
 
-               domUtils.getElementsByTagName(N.body, 'table'),
 
-               function (a) {
 
-                 if (a.offsetWidth > N.body.offsetWidth) {
 
-                   var b = $(N, a)
 
-                   a.style.width =
 
-                     N.body.offsetWidth -
 
-                     (ja
 
-                       ? 2 *
 
-                         parseInt(
 
-                           domUtils.getComputedStyle(N.body, 'margin-left'),
 
-                           10
 
-                         )
 
-                       : 0) -
 
-                     2 * b.tableBorder -
 
-                     (N.options.offsetWidth || 0) +
 
-                     'px'
 
-                 }
 
-               }
 
-             )
 
-           }),
 
-           N.addListener('blur', function () {
 
-             a = null
 
-           })
 
-         var i
 
-         N.addListener('keydown', function () {
 
-           clearTimeout(i),
 
-             (i = setTimeout(function () {
 
-               var a = N.selection.getRange(),
 
-                 b = domUtils.findParentByTagName(
 
-                   a.startContainer,
 
-                   ['th', 'td'],
 
-                   !0
 
-                 )
 
-               if (b) {
 
-                 var c = b.parentNode.parentNode.parentNode
 
-                 c.offsetWidth > c.getAttribute('width') &&
 
-                   (b.style.wordBreak = 'break-all')
 
-               }
 
-             }, 100))
 
-         }),
 
-           N.addListener('selectionchange', function () {
 
-             m(N, !1, '', null)
 
-           }),
 
-           N.addListener('contentchange', function () {
 
-             var a = this
 
-             if ((I(a), !Z(a))) {
 
-               var b = a.selection.getRange(),
 
-                 c = b.startContainer
 
-               ;(c = domUtils.findParentByTagName(c, ['td', 'th'], !0)),
 
-                 utils.each(
 
-                   domUtils.getElementsByTagName(a.document, 'table'),
 
-                   function (b) {
 
-                     a.fireEvent('excludetable', b) !== !0 &&
 
-                       ((b.ueTable = new X(b)),
 
-                       (b.onmouseover = function () {
 
-                         a.fireEvent('tablemouseover', b)
 
-                       }),
 
-                       (b.onmousemove = function () {
 
-                         a.fireEvent('tablemousemove', b),
 
-                           a.options.tableDragable && h(!0, this, a),
 
-                           utils.defer(function () {
 
-                             a.fireEvent('contentchange', 50)
 
-                           }, !0)
 
-                       }),
 
-                       (b.onmouseout = function () {
 
-                         a.fireEvent('tablemouseout', b),
 
-                           m(a, !1, '', null),
 
-                           I(a)
 
-                       }),
 
-                       (b.onclick = function (b) {
 
-                         b = a.window.event || b
 
-                         var c = d(b.target || b.srcElement)
 
-                         if (c) {
 
-                           var e,
 
-                             f = Y(c),
 
-                             g = f.table,
 
-                             h = f.getCellInfo(c),
 
-                             i = a.selection.getRange()
 
-                           if (j(g, c, b, !0)) {
 
-                             var k = f.getCell(
 
-                               f.indexTable[f.rowsNum - 1][h.colIndex].rowIndex,
 
-                               f.indexTable[f.rowsNum - 1][h.colIndex].cellIndex
 
-                             )
 
-                             return void (b.shiftKey && f.selectedTds.length
 
-                               ? f.selectedTds[0] !== k
 
-                                 ? ((e = f.getCellsRange(f.selectedTds[0], k)),
 
-                                   f.setSelected(e))
 
-                                 : i && i.selectNodeContents(k).select()
 
-                               : c !== k
 
-                               ? ((e = f.getCellsRange(c, k)), f.setSelected(e))
 
-                               : i && i.selectNodeContents(k).select())
 
-                           }
 
-                           if (j(g, c, b)) {
 
-                             var l = f.getCell(
 
-                               f.indexTable[h.rowIndex][f.colsNum - 1].rowIndex,
 
-                               f.indexTable[h.rowIndex][f.colsNum - 1].cellIndex
 
-                             )
 
-                             b.shiftKey && f.selectedTds.length
 
-                               ? f.selectedTds[0] !== l
 
-                                 ? ((e = f.getCellsRange(f.selectedTds[0], l)),
 
-                                   f.setSelected(e))
 
-                                 : i && i.selectNodeContents(l).select()
 
-                               : c !== l
 
-                               ? ((e = f.getCellsRange(c, l)), f.setSelected(e))
 
-                               : i && i.selectNodeContents(l).select()
 
-                           }
 
-                         }
 
-                       }))
 
-                   }
 
-                 ),
 
-                 K(a, !0)
 
-             }
 
-           }),
 
-           domUtils.on(N.document, 'mousemove', g),
 
-           domUtils.on(N.document, 'mouseout', function (a) {
 
-             var b = a.target || a.srcElement
 
-             'TABLE' == b.tagName && m(N, !1, '', null)
 
-           }),
 
-           N.addListener('interlacetable', function (a, b, c) {
 
-             if (b)
 
-               for (
 
-                 var d = this,
 
-                   e = b.rows,
 
-                   f = e.length,
 
-                   g = function (a, b, c) {
 
-                     return a[b] ? a[b] : c ? a[b % a.length] : ''
 
-                   },
 
-                   h = 0;
 
-                 h < f;
 
-                 h++
 
-               )
 
-                 e[h].className = g(c || d.options.classList, h, !0)
 
-           }),
 
-           N.addListener('uninterlacetable', function (a, b) {
 
-             if (b)
 
-               for (
 
-                 var c = this,
 
-                   d = b.rows,
 
-                   e = c.options.classList,
 
-                   f = d.length,
 
-                   g = 0;
 
-                 g < f;
 
-                 g++
 
-               )
 
-                 domUtils.removeClasses(d[g], e)
 
-           }),
 
-           N.addListener('mousedown', o),
 
-           N.addListener('mouseup', w),
 
-           domUtils.on(N.body, 'dragstart', function (a) {
 
-             w.call(N, 'dragstart', a)
 
-           }),
 
-           N.addOutputRule(function (a) {
 
-             utils.each(a.getNodesByTagName('div'), function (a) {
 
-               'ue_tableDragLine' == a.getAttr('id') &&
 
-                 a.parentNode.removeChild(a)
 
-             })
 
-           })
 
-         var k = 0
 
-         N.addListener('mousedown', function () {
 
-           k = 0
 
-         }),
 
-           N.addListener('tabkeydown', function () {
 
-             var a = this.selection.getRange(),
 
-               b = a.getCommonAncestor(!0, !0),
 
-               c = domUtils.findParentByTagName(b, 'table')
 
-             if (c) {
 
-               if (domUtils.findParentByTagName(b, 'caption', !0)) {
 
-                 var d = domUtils.getElementsByTagName(c, 'th td')
 
-                 d && d.length && a.setStart(d[0], 0).setCursor(!1, !0)
 
-               } else {
 
-                 var d = domUtils.findParentByTagName(b, ['td', 'th'], !0),
 
-                   f = Y(d)
 
-                 k = d.rowSpan > 1 ? k : f.getCellInfo(d).rowIndex
 
-                 var g = f.getTabNextCell(d, k)
 
-                 g
 
-                   ? e(g)
 
-                     ? a.setStart(g, 0).setCursor(!1, !0)
 
-                     : a.selectNodeContents(g).select()
 
-                   : (N.fireEvent('saveScene'),
 
-                     (N.__hasEnterExecCommand = !0),
 
-                     this.execCommand('insertrownext'),
 
-                     (N.__hasEnterExecCommand = !1),
 
-                     (a = this.selection.getRange()),
 
-                     a
 
-                       .setStart(c.rows[c.rows.length - 1].cells[0], 0)
 
-                       .setCursor(),
 
-                     N.fireEvent('saveScene'))
 
-               }
 
-               return !0
 
-             }
 
-           }),
 
-           browser.ie &&
 
-             N.addListener('selectionchange', function () {
 
-               m(this, !1, '', null)
 
-             }),
 
-           N.addListener('keydown', function (a, b) {
 
-             var c = this,
 
-               d = b.keyCode || b.which
 
-             if (8 != d && 46 != d) {
 
-               var e = !(b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)
 
-               e && _(domUtils.getElementsByTagName(c.body, 'td'))
 
-               var f = Z(c)
 
-               f && e && f.clearSelected()
 
-             }
 
-           }),
 
-           N.addListener('beforegetcontent', function () {
 
-             K(this, !1),
 
-               browser.ie &&
 
-                 utils.each(
 
-                   this.document.getElementsByTagName('caption'),
 
-                   function (a) {
 
-                     domUtils.isEmptyNode(a) && (a.innerHTML = ' ')
 
-                   }
 
-                 )
 
-           }),
 
-           N.addListener('aftergetcontent', function () {
 
-             K(this, !0)
 
-           }),
 
-           N.addListener('getAllHtml', function () {
 
-             _(N.document.getElementsByTagName('td'))
 
-           }),
 
-           N.addListener('fullscreenchanged', function (a, b) {
 
-             if (!b) {
 
-               var c = this.body.offsetWidth / document.body.offsetWidth,
 
-                 d = domUtils.getElementsByTagName(this.body, 'table')
 
-               utils.each(d, function (a) {
 
-                 if (a.offsetWidth < N.body.offsetWidth) return !1
 
-                 var b = domUtils.getElementsByTagName(a, 'td'),
 
-                   d = []
 
-                 utils.each(b, function (a) {
 
-                   d.push(a.offsetWidth)
 
-                 })
 
-                 for (var e, f = 0; (e = b[f]); f++)
 
-                   e.setAttribute('width', Math.floor(d[f] * c))
 
-                 a.setAttribute('width', Math.floor(L(N, ja, $(N))))
 
-               })
 
-             }
 
-           })
 
-         var l = N.execCommand
 
-         N.execCommand = function (a, b) {
 
-           var c = this
 
-           a = a.toLowerCase()
 
-           var d,
 
-             f,
 
-             g = Z(c),
 
-             h = new dom.Range(c.document),
 
-             i = c.commands[a] || UE.commands[a]
 
-           if (i) {
 
-             if (!g || ka[a] || i.notNeedUndo || c.__hasEnterExecCommand)
 
-               f = l.apply(c, arguments)
 
-             else {
 
-               ;(c.__hasEnterExecCommand = !0),
 
-                 c.fireEvent('beforeexeccommand', a),
 
-                 (d = g.selectedTds)
 
-               for (var j, k, m, n = -2, o = -2, p = 0; (m = d[p]); p++)
 
-                 e(m)
 
-                   ? h.setStart(m, 0).setCursor(!1, !0)
 
-                   : h.selectNode(m).select(!0),
 
-                   (k = c.queryCommandState(a)),
 
-                   (j = c.queryCommandValue(a)),
 
-                   k != -1 &&
 
-                     ((n === k && o === j) ||
 
-                       ((c._ignoreContentChange = !0),
 
-                       (f = l.apply(c, arguments)),
 
-                       (c._ignoreContentChange = !1)),
 
-                     (n = c.queryCommandState(a)),
 
-                     (o = c.queryCommandValue(a)),
 
-                     domUtils.isEmptyBlock(m) &&
 
-                       domUtils.fillNode(c.document, m))
 
-               h.setStart(d[0], 0).shrinkBoundary(!0).setCursor(!1, !0),
 
-                 c.fireEvent('contentchange'),
 
-                 c.fireEvent('afterexeccommand', a),
 
-                 (c.__hasEnterExecCommand = !1),
 
-                 c._selectionChange()
 
-             }
 
-             return f
 
-           }
 
-         }
 
-       })
 
-       var la
 
-     }),
 
-     (UE.UETable.prototype.sortTable = function (a, b) {
 
-       var c = this.table,
 
-         d = c.rows,
 
-         e = [],
 
-         f = 'TH' === d[0].cells[0].tagName,
 
-         g = 0
 
-       if (this.selectedTds.length) {
 
-         for (
 
-           var h = this.cellsRange, i = h.endRowIndex + 1, j = h.beginRowIndex;
 
-           j < i;
 
-           j++
 
-         )
 
-           e[j] = d[j]
 
-         e.splice(0, h.beginRowIndex),
 
-           (g = h.endRowIndex + 1 === this.rowsNum ? 0 : h.endRowIndex + 1)
 
-       } else for (var j = 0, i = d.length; j < i; j++) e[j] = d[j]
 
-       var k = {
 
-         reversecurrent: function (a, b) {
 
-           return 1
 
-         },
 
-         orderbyasc: function (a, b) {
 
-           var c = a.innerText || a.textContent,
 
-             d = b.innerText || b.textContent
 
-           return c.localeCompare(d)
 
-         },
 
-         reversebyasc: function (a, b) {
 
-           var c = a.innerHTML,
 
-             d = b.innerHTML
 
-           return d.localeCompare(c)
 
-         },
 
-         orderbynum: function (a, b) {
 
-           var c = a[browser.ie ? 'innerText' : 'textContent'].match(/\d+/),
 
-             d = b[browser.ie ? 'innerText' : 'textContent'].match(/\d+/)
 
-           return c && (c = +c[0]), d && (d = +d[0]), (c || 0) - (d || 0)
 
-         },
 
-         reversebynum: function (a, b) {
 
-           var c = a[browser.ie ? 'innerText' : 'textContent'].match(/\d+/),
 
-             d = b[browser.ie ? 'innerText' : 'textContent'].match(/\d+/)
 
-           return c && (c = +c[0]), d && (d = +d[0]), (d || 0) - (c || 0)
 
-         }
 
-       }
 
-       c.setAttribute(
 
-         'data-sort-type',
 
-         b && 'string' == typeof b && k[b] ? b : ''
 
-       ),
 
-         f && e.splice(0, 1),
 
-         (e = utils.sort(e, function (c, d) {
 
-           var e
 
-           return (e =
 
-             b && 'function' == typeof b
 
-               ? b.call(this, c.cells[a], d.cells[a])
 
-               : b && 'number' == typeof b
 
-               ? 1
 
-               : b && 'string' == typeof b && k[b]
 
-               ? k[b].call(this, c.cells[a], d.cells[a])
 
-               : k.orderbyasc.call(this, c.cells[a], d.cells[a]))
 
-         }))
 
-       for (
 
-         var l = c.ownerDocument.createDocumentFragment(), m = 0, i = e.length;
 
-         m < i;
 
-         m++
 
-       )
 
-         l.appendChild(e[m])
 
-       var n = c.getElementsByTagName('tbody')[0]
 
-       g
 
-         ? n.insertBefore(l, d[g - h.endRowIndex + h.beginRowIndex - 1])
 
-         : n.appendChild(l)
 
-     }),
 
-     (UE.plugins.tablesort = function () {
 
-       var a = this,
 
-         b = UE.UETable,
 
-         c = function (a) {
 
-           return b.getUETable(a)
 
-         },
 
-         d = function (a) {
 
-           return b.getTableItemsByRange(a)
 
-         }
 
-       a.ready(function () {
 
-         utils.cssRule(
 
-           'tablesort',
 
-           'table.sortEnabled tr.firstRow th,table.sortEnabled tr.firstRow td{padding-right:20px;background-repeat: no-repeat;background-position: center right;   background-image:url(' +
 
-             a.options.themePath +
 
-             a.options.theme +
 
-             '/images/sortable.png);}',
 
-           a.document
 
-         ),
 
-           a.addListener('afterexeccommand', function (a, b) {
 
-             ;('mergeright' != b && 'mergedown' != b && 'mergecells' != b) ||
 
-               this.execCommand('disablesort')
 
-           })
 
-       }),
 
-         (UE.commands.sorttable = {
 
-           queryCommandState: function () {
 
-             var a = this,
 
-               b = d(a)
 
-             if (!b.cell) return -1
 
-             for (
 
-               var c, e = b.table, f = e.getElementsByTagName('td'), g = 0;
 
-               (c = f[g++]);
 
-             )
 
-               if (1 != c.rowSpan || 1 != c.colSpan) return -1
 
-             return 0
 
-           },
 
-           execCommand: function (a, b) {
 
-             var e = this,
 
-               f = e.selection.getRange(),
 
-               g = f.createBookmark(!0),
 
-               h = d(e),
 
-               i = h.cell,
 
-               j = c(h.table),
 
-               k = j.getCellInfo(i)
 
-             j.sortTable(k.cellIndex, b), f.moveToBookmark(g)
 
-             try {
 
-               f.select()
 
-             } catch (l) {}
 
-           }
 
-         }),
 
-         (UE.commands.enablesort = UE.commands.disablesort =
 
-           {
 
-             queryCommandState: function (a) {
 
-               var b = d(this).table
 
-               if (b && 'enablesort' == a)
 
-                 for (
 
-                   var c = domUtils.getElementsByTagName(b, 'th td'), e = 0;
 
-                   e < c.length;
 
-                   e++
 
-                 )
 
-                   if (
 
-                     c[e].getAttribute('colspan') > 1 ||
 
-                     c[e].getAttribute('rowspan') > 1
 
-                   )
 
-                     return -1
 
-               return b
 
-                 ? ('enablesort' == a) ^
 
-                   ('sortEnabled' != b.getAttribute('data-sort'))
 
-                   ? -1
 
-                   : 0
 
-                 : -1
 
-             },
 
-             execCommand: function (a) {
 
-               var b = d(this).table
 
-               b.setAttribute(
 
-                 'data-sort',
 
-                 'enablesort' == a ? 'sortEnabled' : 'sortDisabled'
 
-               ),
 
-                 'enablesort' == a
 
-                   ? domUtils.addClass(b, 'sortEnabled')
 
-                   : domUtils.removeClasses(b, 'sortEnabled')
 
-             }
 
-           })
 
-     }),
 
-     (UE.plugins.contextmenu = function () {
 
-       var a = this
 
-       if (
 
-         (a.setOpt('enableContextMenu', !0),
 
-         a.getOpt('enableContextMenu') !== !1)
 
-       ) {
 
-         var b,
 
-           c = a.getLang('contextMenu'),
 
-           d = a.options.contextMenu || [
 
-             { label: c.selectall, cmdName: 'selectall' },
 
-             {
 
-               label: c.cleardoc,
 
-               cmdName: 'cleardoc',
 
-               exec: function () {
 
-                 confirm(c.confirmclear) && this.execCommand('cleardoc')
 
-               }
 
-             },
 
-             '-',
 
-             { label: c.unlink, cmdName: 'unlink' },
 
-             '-',
 
-             {
 
-               group: c.paragraph,
 
-               icon: 'justifyjustify',
 
-               subMenu: [
 
-                 { label: c.justifyleft, cmdName: 'justify', value: 'left' },
 
-                 { label: c.justifyright, cmdName: 'justify', value: 'right' },
 
-                 { label: c.justifycenter, cmdName: 'justify', value: 'center' },
 
-                 {
 
-                   label: c.justifyjustify,
 
-                   cmdName: 'justify',
 
-                   value: 'justify'
 
-                 }
 
-               ]
 
-             },
 
-             '-',
 
-             {
 
-               group: c.table,
 
-               icon: 'table',
 
-               subMenu: [
 
-                 { label: c.inserttable, cmdName: 'inserttable' },
 
-                 { label: c.deletetable, cmdName: 'deletetable' },
 
-                 '-',
 
-                 { label: c.deleterow, cmdName: 'deleterow' },
 
-                 { label: c.deletecol, cmdName: 'deletecol' },
 
-                 { label: c.insertcol, cmdName: 'insertcol' },
 
-                 { label: c.insertcolnext, cmdName: 'insertcolnext' },
 
-                 { label: c.insertrow, cmdName: 'insertrow' },
 
-                 { label: c.insertrownext, cmdName: 'insertrownext' },
 
-                 '-',
 
-                 { label: c.insertcaption, cmdName: 'insertcaption' },
 
-                 { label: c.deletecaption, cmdName: 'deletecaption' },
 
-                 { label: c.inserttitle, cmdName: 'inserttitle' },
 
-                 { label: c.deletetitle, cmdName: 'deletetitle' },
 
-                 { label: c.inserttitlecol, cmdName: 'inserttitlecol' },
 
-                 { label: c.deletetitlecol, cmdName: 'deletetitlecol' },
 
-                 '-',
 
-                 { label: c.mergecells, cmdName: 'mergecells' },
 
-                 { label: c.mergeright, cmdName: 'mergeright' },
 
-                 { label: c.mergedown, cmdName: 'mergedown' },
 
-                 '-',
 
-                 { label: c.splittorows, cmdName: 'splittorows' },
 
-                 { label: c.splittocols, cmdName: 'splittocols' },
 
-                 { label: c.splittocells, cmdName: 'splittocells' },
 
-                 '-',
 
-                 { label: c.averageDiseRow, cmdName: 'averagedistributerow' },
 
-                 { label: c.averageDisCol, cmdName: 'averagedistributecol' },
 
-                 '-',
 
-                 {
 
-                   label: c.edittd,
 
-                   cmdName: 'edittd',
 
-                   exec: function () {
 
-                     UE.ui.edittd && new UE.ui.edittd(this),
 
-                       this.getDialog('edittd').open()
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.edittable,
 
-                   cmdName: 'edittable',
 
-                   exec: function () {
 
-                     UE.ui.edittable && new UE.ui.edittable(this),
 
-                       this.getDialog('edittable').open()
 
-                   }
 
-                 },
 
-                 { label: c.setbordervisible, cmdName: 'setbordervisible' }
 
-               ]
 
-             },
 
-             {
 
-               group: c.tablesort,
 
-               icon: 'tablesort',
 
-               subMenu: [
 
-                 { label: c.enablesort, cmdName: 'enablesort' },
 
-                 { label: c.disablesort, cmdName: 'disablesort' },
 
-                 '-',
 
-                 {
 
-                   label: c.reversecurrent,
 
-                   cmdName: 'sorttable',
 
-                   value: 'reversecurrent'
 
-                 },
 
-                 {
 
-                   label: c.orderbyasc,
 
-                   cmdName: 'sorttable',
 
-                   value: 'orderbyasc'
 
-                 },
 
-                 {
 
-                   label: c.reversebyasc,
 
-                   cmdName: 'sorttable',
 
-                   value: 'reversebyasc'
 
-                 },
 
-                 {
 
-                   label: c.orderbynum,
 
-                   cmdName: 'sorttable',
 
-                   value: 'orderbynum'
 
-                 },
 
-                 {
 
-                   label: c.reversebynum,
 
-                   cmdName: 'sorttable',
 
-                   value: 'reversebynum'
 
-                 }
 
-               ]
 
-             },
 
-             {
 
-               group: c.borderbk,
 
-               icon: 'borderBack',
 
-               subMenu: [
 
-                 {
 
-                   label: c.setcolor,
 
-                   cmdName: 'interlacetable',
 
-                   exec: function () {
 
-                     this.execCommand('interlacetable')
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.unsetcolor,
 
-                   cmdName: 'uninterlacetable',
 
-                   exec: function () {
 
-                     this.execCommand('uninterlacetable')
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.setbackground,
 
-                   cmdName: 'settablebackground',
 
-                   exec: function () {
 
-                     this.execCommand('settablebackground', {
 
-                       repeat: !0,
 
-                       colorList: ['#bbb', '#ccc']
 
-                     })
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.unsetbackground,
 
-                   cmdName: 'cleartablebackground',
 
-                   exec: function () {
 
-                     this.execCommand('cleartablebackground')
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.redandblue,
 
-                   cmdName: 'settablebackground',
 
-                   exec: function () {
 
-                     this.execCommand('settablebackground', {
 
-                       repeat: !0,
 
-                       colorList: ['red', 'blue']
 
-                     })
 
-                   }
 
-                 },
 
-                 {
 
-                   label: c.threecolorgradient,
 
-                   cmdName: 'settablebackground',
 
-                   exec: function () {
 
-                     this.execCommand('settablebackground', {
 
-                       repeat: !0,
 
-                       colorList: ['#aaa', '#bbb', '#ccc']
 
-                     })
 
-                   }
 
-                 }
 
-               ]
 
-             },
 
-             {
 
-               group: c.aligntd,
 
-               icon: 'aligntd',
 
-               subMenu: [
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'left', vAlign: 'top' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'center', vAlign: 'top' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'right', vAlign: 'top' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'left', vAlign: 'middle' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'center', vAlign: 'middle' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'right', vAlign: 'middle' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'left', vAlign: 'bottom' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'center', vAlign: 'bottom' }
 
-                 },
 
-                 {
 
-                   cmdName: 'cellalignment',
 
-                   value: { align: 'right', vAlign: 'bottom' }
 
-                 }
 
-               ]
 
-             },
 
-             {
 
-               group: c.aligntable,
 
-               icon: 'aligntable',
 
-               subMenu: [
 
-                 {
 
-                   cmdName: 'tablealignment',
 
-                   className: 'left',
 
-                   label: c.tableleft,
 
-                   value: 'left'
 
-                 },
 
-                 {
 
-                   cmdName: 'tablealignment',
 
-                   className: 'center',
 
-                   label: c.tablecenter,
 
-                   value: 'center'
 
-                 },
 
-                 {
 
-                   cmdName: 'tablealignment',
 
-                   className: 'right',
 
-                   label: c.tableright,
 
-                   value: 'right'
 
-                 }
 
-               ]
 
-             },
 
-             '-',
 
-             {
 
-               label: c.insertparagraphbefore,
 
-               cmdName: 'insertparagraph',
 
-               value: !0
 
-             },
 
-             { label: c.insertparagraphafter, cmdName: 'insertparagraph' },
 
-             { label: c.copy, cmdName: 'copy' },
 
-             { label: c.paste, cmdName: 'paste' }
 
-           ]
 
-         if (d.length) {
 
-           var e = UE.ui.uiUtils
 
-           a.addListener('contextmenu', function (f, g) {
 
-             var h = e.getViewportOffsetByEvent(g)
 
-             a.fireEvent('beforeselectionchange'), b && b.destroy()
 
-             for (var i, j = 0, k = []; (i = d[j]); j++) {
 
-               var l
 
-               !(function (b) {
 
-                 function d() {
 
-                   switch (b.icon) {
 
-                     case 'table':
 
-                       return a.getLang('contextMenu.table')
 
-                     case 'justifyjustify':
 
-                       return a.getLang('contextMenu.paragraph')
 
-                     case 'aligntd':
 
-                       return a.getLang('contextMenu.aligntd')
 
-                     case 'aligntable':
 
-                       return a.getLang('contextMenu.aligntable')
 
-                     case 'tablesort':
 
-                       return c.tablesort
 
-                     case 'borderBack':
 
-                       return c.borderbk
 
-                     default:
 
-                       return ''
 
-                   }
 
-                 }
 
-                 if ('-' == b) (l = k[k.length - 1]) && '-' !== l && k.push('-')
 
-                 else if (b.hasOwnProperty('group')) {
 
-                   for (var e, f = 0, g = []; (e = b.subMenu[f]); f++)
 
-                     !(function (b) {
 
-                       '-' == b
 
-                         ? (l = g[g.length - 1]) && '-' !== l
 
-                           ? g.push('-')
 
-                           : g.splice(g.length - 1)
 
-                         : (a.commands[b.cmdName] ||
 
-                             UE.commands[b.cmdName] ||
 
-                             b.query) &&
 
-                           (b.query
 
-                             ? b.query()
 
-                             : a.queryCommandState(b.cmdName)) > -1 &&
 
-                           g.push({
 
-                             label:
 
-                               b.label ||
 
-                               a.getLang(
 
-                                 'contextMenu.' + b.cmdName + (b.value || '')
 
-                               ) ||
 
-                               '',
 
-                             className:
 
-                               'edui-for-' +
 
-                               b.cmdName +
 
-                               (b.className
 
-                                 ? ' edui-for-' + b.cmdName + '-' + b.className
 
-                                 : ''),
 
-                             onclick: b.exec
 
-                               ? function () {
 
-                                   b.exec.call(a)
 
-                                 }
 
-                               : function () {
 
-                                   a.execCommand(b.cmdName, b.value)
 
-                                 }
 
-                           })
 
-                     })(e)
 
-                   g.length &&
 
-                     k.push({
 
-                       label: d(),
 
-                       className: 'edui-for-' + b.icon,
 
-                       subMenu: { items: g, editor: a }
 
-                     })
 
-                 } else
 
-                   (a.commands[b.cmdName] ||
 
-                     UE.commands[b.cmdName] ||
 
-                     b.query) &&
 
-                     (b.query
 
-                       ? b.query.call(a)
 
-                       : a.queryCommandState(b.cmdName)) > -1 &&
 
-                     k.push({
 
-                       label: b.label || a.getLang('contextMenu.' + b.cmdName),
 
-                       className:
 
-                         'edui-for-' +
 
-                         (b.icon ? b.icon : b.cmdName + (b.value || '')),
 
-                       onclick: b.exec
 
-                         ? function () {
 
-                             b.exec.call(a)
 
-                           }
 
-                         : function () {
 
-                             a.execCommand(b.cmdName, b.value)
 
-                           }
 
-                     })
 
-               })(i)
 
-             }
 
-             if (
 
-               ('-' == k[k.length - 1] && k.pop(),
 
-               (b = new UE.ui.Menu({
 
-                 items: k,
 
-                 className: 'edui-contextmenu',
 
-                 editor: a
 
-               })),
 
-               b.render(),
 
-               b.showAt(h),
 
-               a.fireEvent('aftershowcontextmenu', b),
 
-               domUtils.preventDefault(g),
 
-               browser.ie)
 
-             ) {
 
-               var m
 
-               try {
 
-                 m = a.selection.getNative().createRange()
 
-               } catch (n) {
 
-                 return
 
-               }
 
-               if (m.item) {
 
-                 var o = new dom.Range(a.document)
 
-                 o.selectNode(m.item(0)).select(!0, !0)
 
-               }
 
-             }
 
-           }),
 
-             a.addListener('aftershowcontextmenu', function (b, c) {
 
-               if (a.zeroclipboard) {
 
-                 var d = c.items
 
-                 for (var e in d)
 
-                   'edui-for-copy' == d[e].className &&
 
-                     a.zeroclipboard.clip(d[e].getDom())
 
-               }
 
-             })
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.shortcutmenu = function () {
 
-       var a,
 
-         b = this,
 
-         c = b.options.shortcutMenu || []
 
-       c.length &&
 
-         (b.addListener('contextmenu mouseup', function (b, d) {
 
-           var e = this,
 
-             f = {
 
-               type: b,
 
-               target: d.target || d.srcElement,
 
-               screenX: d.screenX,
 
-               screenY: d.screenY,
 
-               clientX: d.clientX,
 
-               clientY: d.clientY
 
-             }
 
-           if (
 
-             (setTimeout(function () {
 
-               var d = e.selection.getRange()
 
-               ;(d.collapsed !== !1 && 'contextmenu' != b) ||
 
-                 (a ||
 
-                   ((a = new baidu.editor.ui.ShortCutMenu({
 
-                     editor: e,
 
-                     items: c,
 
-                     theme: e.options.theme,
 
-                     className: 'edui-shortcutmenu'
 
-                   })),
 
-                   a.render(),
 
-                   e.fireEvent('afterrendershortcutmenu', a)),
 
-                 a.show(f, !!UE.plugins.contextmenu))
 
-             }),
 
-             'contextmenu' == b &&
 
-               (domUtils.preventDefault(d), browser.ie9below))
 
-           ) {
 
-             var g
 
-             try {
 
-               g = e.selection.getNative().createRange()
 
-             } catch (d) {
 
-               return
 
-             }
 
-             if (g.item) {
 
-               var h = new dom.Range(e.document)
 
-               h.selectNode(g.item(0)).select(!0, !0)
 
-             }
 
-           }
 
-         }),
 
-         b.addListener('keydown', function (b) {
 
-           'keydown' == b && a && !a.isHidden && a.hide()
 
-         }))
 
-     }),
 
-     (UE.plugins.basestyle = function () {
 
-       var a = {
 
-           bold: ['strong', 'b'],
 
-           italic: ['em', 'i'],
 
-           subscript: ['sub'],
 
-           superscript: ['sup']
 
-         },
 
-         b = function (a, b) {
 
-           return domUtils.filterNodeList(a.selection.getStartElementPath(), b)
 
-         },
 
-         c = this
 
-       c.addshortcutkey({
 
-         Bold: 'ctrl+66',
 
-         Italic: 'ctrl+73',
 
-         Underline: 'ctrl+85'
 
-       }),
 
-         c.addInputRule(function (a) {
 
-           utils.each(a.getNodesByTagName('b i'), function (a) {
 
-             switch (a.tagName) {
 
-               case 'b':
 
-                 a.tagName = 'strong'
 
-                 break
 
-               case 'i':
 
-                 a.tagName = 'em'
 
-             }
 
-           })
 
-         })
 
-       for (var d in a)
 
-         !(function (a, d) {
 
-           c.commands[a] = {
 
-             execCommand: function (a) {
 
-               var e = c.selection.getRange(),
 
-                 f = b(this, d)
 
-               if (e.collapsed) {
 
-                 if (f) {
 
-                   var g = c.document.createTextNode('')
 
-                   e.insertNode(g).removeInlineStyle(d),
 
-                     e.setStartBefore(g),
 
-                     domUtils.remove(g)
 
-                 } else {
 
-                   var h = e.document.createElement(d[0])
 
-                   ;('superscript' != a && 'subscript' != a) ||
 
-                     ((g = c.document.createTextNode('')),
 
-                     e
 
-                       .insertNode(g)
 
-                       .removeInlineStyle(['sub', 'sup'])
 
-                       .setStartBefore(g)
 
-                       .collapse(!0)),
 
-                     e.insertNode(h).setStart(h, 0)
 
-                 }
 
-                 e.collapse(!0)
 
-               } else
 
-                 ('superscript' != a && 'subscript' != a) ||
 
-                   (f && f.tagName.toLowerCase() == a) ||
 
-                   e.removeInlineStyle(['sub', 'sup']),
 
-                   f ? e.removeInlineStyle(d) : e.applyInlineStyle(d[0])
 
-               e.select()
 
-             },
 
-             queryCommandState: function () {
 
-               return b(this, d) ? 1 : 0
 
-             }
 
-           }
 
-         })(d, a[d])
 
-     }),
 
-     (UE.plugins.elementpath = function () {
 
-       var a,
 
-         b,
 
-         c = this
 
-       c.setOpt('elementPathEnabled', !0),
 
-         c.options.elementPathEnabled &&
 
-           (c.commands.elementpath = {
 
-             execCommand: function (d, e) {
 
-               var f = b[e],
 
-                 g = c.selection.getRange()
 
-               ;(a = 1 * e), g.selectNode(f).select()
 
-             },
 
-             queryCommandValue: function () {
 
-               var c = [].concat(this.selection.getStartElementPath()).reverse(),
 
-                 d = []
 
-               b = c
 
-               for (var e, f = 0; (e = c[f]); f++)
 
-                 if (3 != e.nodeType) {
 
-                   var g = e.tagName.toLowerCase()
 
-                   if (
 
-                     ('img' == g &&
 
-                       e.getAttribute('anchorname') &&
 
-                       (g = 'anchor'),
 
-                     (d[f] = g),
 
-                     a == f)
 
-                   ) {
 
-                     a = -1
 
-                     break
 
-                   }
 
-                 }
 
-               return d
 
-             }
 
-           })
 
-     }),
 
-     (UE.plugins.formatmatch = function () {
 
-       function a(f, g) {
 
-         function h(a) {
 
-           return (
 
-             m && a.selectNode(m),
 
-             a.applyInlineStyle(d[d.length - 1].tagName, null, d)
 
-           )
 
-         }
 
-         if (browser.webkit) var i = 'IMG' == g.target.tagName ? g.target : null
 
-         c.undoManger && c.undoManger.save()
 
-         var j = c.selection.getRange(),
 
-           k = i || j.getClosedNode()
 
-         if (b && k && 'IMG' == k.tagName)
 
-           (k.style.cssText +=
 
-             ';float:' +
 
-             (b.style.cssFloat || b.style.styleFloat || 'none') +
 
-             ';display:' +
 
-             (b.style.display || 'inline')),
 
-             (b = null)
 
-         else if (!b) {
 
-           var l = j.collapsed
 
-           if (l) {
 
-             var m = c.document.createTextNode('match')
 
-             j.insertNode(m).select()
 
-           }
 
-           c.__hasEnterExecCommand = !0
 
-           var n = c.options.removeFormatAttributes
 
-           ;(c.options.removeFormatAttributes = ''),
 
-             c.execCommand('removeformat'),
 
-             (c.options.removeFormatAttributes = n),
 
-             (c.__hasEnterExecCommand = !1),
 
-             (j = c.selection.getRange()),
 
-             d.length && h(j),
 
-             m && j.setStartBefore(m).collapse(!0),
 
-             j.select(),
 
-             m && domUtils.remove(m)
 
-         }
 
-         c.undoManger && c.undoManger.save(),
 
-           c.removeListener('mouseup', a),
 
-           (e = 0)
 
-       }
 
-       var b,
 
-         c = this,
 
-         d = [],
 
-         e = 0
 
-       c.addListener('reset', function () {
 
-         ;(d = []), (e = 0)
 
-       }),
 
-         (c.commands.formatmatch = {
 
-           execCommand: function (f) {
 
-             if (e) return (e = 0), (d = []), void c.removeListener('mouseup', a)
 
-             var g = c.selection.getRange()
 
-             if (((b = g.getClosedNode()), !b || 'IMG' != b.tagName)) {
 
-               g.collapse(!0).shrinkBoundary()
 
-               var h = g.startContainer
 
-               d = domUtils.findParents(h, !0, function (a) {
 
-                 return !domUtils.isBlockElm(a) && 1 == a.nodeType
 
-               })
 
-               for (var i, j = 0; (i = d[j]); j++)
 
-                 if ('A' == i.tagName) {
 
-                   d.splice(j, 1)
 
-                   break
 
-                 }
 
-             }
 
-             c.addListener('mouseup', a), (e = 1)
 
-           },
 
-           queryCommandState: function () {
 
-             return e
 
-           },
 
-           notNeedUndo: 1
 
-         })
 
-     }),
 
-     UE.plugin.register('searchreplace', function () {
 
-       function a(a, b, c) {
 
-         var d = b.searchStr
 
-         b.dir == -1 &&
 
-           ((a = a.split('').reverse().join('')),
 
-           (d = d.split('').reverse().join('')),
 
-           (c = a.length - c))
 
-         for (
 
-           var e, f = new RegExp(d, 'g' + (b.casesensitive ? '' : 'i'));
 
-           (e = f.exec(a));
 
-         )
 
-           if (e.index >= c)
 
-             return b.dir == -1
 
-               ? a.length - e.index - b.searchStr.length
 
-               : e.index
 
-         return -1
 
-       }
 
-       function b(b, c, d) {
 
-         var e,
 
-           f,
 
-           h = d.all || 1 == d.dir ? 'getNextDomNode' : 'getPreDomNode'
 
-         domUtils.isBody(b) && (b = b.firstChild)
 
-         for (var i = 1; b; ) {
 
-           if (
 
-             ((e =
 
-               3 == b.nodeType
 
-                 ? b.nodeValue
 
-                 : b[browser.ie ? 'innerText' : 'textContent']),
 
-             (f = a(e, d, c)),
 
-             (i = 0),
 
-             f != -1)
 
-           )
 
-             return { node: b, index: f }
 
-           for (b = domUtils[h](b); b && g[b.nodeName.toLowerCase()]; )
 
-             b = domUtils[h](b, !0)
 
-           b &&
 
-             (c =
 
-               d.dir == -1
 
-                 ? (3 == b.nodeType
 
-                     ? b.nodeValue
 
-                     : b[browser.ie ? 'innerText' : 'textContent']
 
-                   ).length
 
-                 : 0)
 
-         }
 
-       }
 
-       function c(a, b, d) {
 
-         for (var e, f = 0, g = a.firstChild, h = 0; g; ) {
 
-           if (3 == g.nodeType) {
 
-             if (
 
-               ((h = g.nodeValue.replace(
 
-                 /(^[\t\r\n]+)|([\t\r\n]+$)/,
 
-                 ''
 
-               ).length),
 
-               (f += h),
 
-               f >= b)
 
-             )
 
-               return { node: g, index: h - (f - b) }
 
-           } else if (
 
-             !dtd.$empty[g.tagName] &&
 
-             ((h = g[browser.ie ? 'innerText' : 'textContent'].replace(
 
-               /(^[\t\r\n]+)|([\t\r\n]+$)/,
 
-               ''
 
-             ).length),
 
-             (f += h),
 
-             f >= b && (e = c(g, h - (f - b), d)))
 
-           )
 
-             return e
 
-           g = domUtils.getNextDomNode(g)
 
-         }
 
-       }
 
-       function d(a, d) {
 
-         var f,
 
-           g = a.selection.getRange(),
 
-           h = d.searchStr,
 
-           i = a.document.createElement('span')
 
-         if (
 
-           ((i.innerHTML = '$$ueditor_searchreplace_key$$'),
 
-           g.shrinkBoundary(!0),
 
-           !g.collapsed)
 
-         ) {
 
-           g.select()
 
-           var j = a.selection.getText()
 
-           if (
 
-             new RegExp(
 
-               '^' + d.searchStr + '$',
 
-               d.casesensitive ? '' : 'i'
 
-             ).test(j)
 
-           ) {
 
-             if (void 0 != d.replaceStr)
 
-               return e(g, d.replaceStr), g.select(), !0
 
-             g.collapse(d.dir == -1)
 
-           }
 
-         }
 
-         g.insertNode(i), g.enlargeToBlockElm(!0), (f = g.startContainer)
 
-         var k = f[browser.ie ? 'innerText' : 'textContent'].indexOf(
 
-           '$$ueditor_searchreplace_key$$'
 
-         )
 
-         g.setStartBefore(i), domUtils.remove(i)
 
-         var l = b(f, k, d)
 
-         if (l) {
 
-           var m = c(l.node, l.index, h),
 
-             n = c(l.node, l.index + h.length, h)
 
-           return (
 
-             g.setStart(m.node, m.index).setEnd(n.node, n.index),
 
-             void 0 !== d.replaceStr && e(g, d.replaceStr),
 
-             g.select(),
 
-             !0
 
-           )
 
-         }
 
-         g.setCursor()
 
-       }
 
-       function e(a, b) {
 
-         ;(b = f.document.createTextNode(b)), a.deleteContents().insertNode(b)
 
-       }
 
-       var f = this,
 
-         g = { table: 1, tbody: 1, tr: 1, ol: 1, ul: 1 }
 
-       return {
 
-         commands: {
 
-           searchreplace: {
 
-             execCommand: function (a, b) {
 
-               utils.extend(b, { all: !1, casesensitive: !1, dir: 1 }, !0)
 
-               var c = 0
 
-               if (b.all) {
 
-                 var e = f.selection.getRange(),
 
-                   g = f.body.firstChild
 
-                 for (
 
-                   g && 1 == g.nodeType
 
-                     ? (e.setStart(g, 0), e.shrinkBoundary(!0))
 
-                     : 3 == g.nodeType && e.setStartBefore(g),
 
-                     e.collapse(!0).select(!0),
 
-                     void 0 !== b.replaceStr && f.fireEvent('saveScene');
 
-                   d(this, b);
 
-                 )
 
-                   c++
 
-                 c && f.fireEvent('saveScene')
 
-               } else
 
-                 void 0 !== b.replaceStr && f.fireEvent('saveScene'),
 
-                   d(this, b) && c++,
 
-                   c && f.fireEvent('saveScene')
 
-               return c
 
-             },
 
-             notNeedUndo: 1
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.customstyle = function () {
 
-       var a = this
 
-       a.setOpt({
 
-         customstyle: [
 
-           {
 
-             tag: 'h1',
 
-             name: 'tc',
 
-             style:
 
-               'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;'
 
-           },
 
-           {
 
-             tag: 'h1',
 
-             name: 'tl',
 
-             style:
 
-               'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;'
 
-           },
 
-           {
 
-             tag: 'span',
 
-             name: 'im',
 
-             style:
 
-               'font-size:16px;font-style:italic;font-weight:bold;line-height:18px;'
 
-           },
 
-           {
 
-             tag: 'span',
 
-             name: 'hi',
 
-             style:
 
-               'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;'
 
-           }
 
-         ]
 
-       }),
 
-         (a.commands.customstyle = {
 
-           execCommand: function (a, b) {
 
-             var c,
 
-               d,
 
-               e = this,
 
-               f = b.tag,
 
-               g = domUtils.findParent(
 
-                 e.selection.getStart(),
 
-                 function (a) {
 
-                   return a.getAttribute('label')
 
-                 },
 
-                 !0
 
-               ),
 
-               h = {}
 
-             for (var i in b) void 0 !== b[i] && (h[i] = b[i])
 
-             if ((delete h.tag, g && g.getAttribute('label') == b.label)) {
 
-               if (
 
-                 ((c = this.selection.getRange()),
 
-                 (d = c.createBookmark()),
 
-                 c.collapsed)
 
-               )
 
-                 if (dtd.$block[g.tagName]) {
 
-                   var j = e.document.createElement('p')
 
-                   domUtils.moveChild(g, j),
 
-                     g.parentNode.insertBefore(j, g),
 
-                     domUtils.remove(g)
 
-                 } else domUtils.remove(g, !0)
 
-               else {
 
-                 var k = domUtils.getCommonAncestor(d.start, d.end),
 
-                   l = domUtils.getElementsByTagName(k, f)
 
-                 new RegExp(f, 'i').test(k.tagName) && l.push(k)
 
-                 for (var m, n = 0; (m = l[n++]); )
 
-                   if (m.getAttribute('label') == b.label) {
 
-                     var o = domUtils.getPosition(m, d.start),
 
-                       p = domUtils.getPosition(m, d.end)
 
-                     if (
 
-                       (o & domUtils.POSITION_FOLLOWING ||
 
-                         o & domUtils.POSITION_CONTAINS) &&
 
-                       (p & domUtils.POSITION_PRECEDING ||
 
-                         p & domUtils.POSITION_CONTAINS) &&
 
-                       dtd.$block[f]
 
-                     ) {
 
-                       var j = e.document.createElement('p')
 
-                       domUtils.moveChild(m, j), m.parentNode.insertBefore(j, m)
 
-                     }
 
-                     domUtils.remove(m, !0)
 
-                   }
 
-                 ;(g = domUtils.findParent(
 
-                   k,
 
-                   function (a) {
 
-                     return a.getAttribute('label') == b.label
 
-                   },
 
-                   !0
 
-                 )),
 
-                   g && domUtils.remove(g, !0)
 
-               }
 
-               c.moveToBookmark(d).select()
 
-             } else if (dtd.$block[f]) {
 
-               if (
 
-                 (this.execCommand('paragraph', f, h, 'customstyle'),
 
-                 (c = e.selection.getRange()),
 
-                 !c.collapsed)
 
-               ) {
 
-                 c.collapse(),
 
-                   (g = domUtils.findParent(
 
-                     e.selection.getStart(),
 
-                     function (a) {
 
-                       return a.getAttribute('label') == b.label
 
-                     },
 
-                     !0
 
-                   ))
 
-                 var q = e.document.createElement('p')
 
-                 domUtils.insertAfter(g, q),
 
-                   domUtils.fillNode(e.document, q),
 
-                   c.setStart(q, 0).setCursor()
 
-               }
 
-             } else {
 
-               if (((c = e.selection.getRange()), c.collapsed))
 
-                 return (
 
-                   (g = e.document.createElement(f)),
 
-                   domUtils.setAttributes(g, h),
 
-                   void c.insertNode(g).setStart(g, 0).setCursor()
 
-                 )
 
-               ;(d = c.createBookmark()),
 
-                 c.applyInlineStyle(f, h).moveToBookmark(d).select()
 
-             }
 
-           },
 
-           queryCommandValue: function () {
 
-             var a = domUtils.filterNodeList(
 
-               this.selection.getStartElementPath(),
 
-               function (a) {
 
-                 return a.getAttribute('label')
 
-               }
 
-             )
 
-             return a ? a.getAttribute('label') : ''
 
-           }
 
-         }),
 
-         a.addListener('keyup', function (b, c) {
 
-           var d = c.keyCode || c.which
 
-           if (32 == d || 13 == d) {
 
-             var e = a.selection.getRange()
 
-             if (e.collapsed) {
 
-               var f = domUtils.findParent(
 
-                 a.selection.getStart(),
 
-                 function (a) {
 
-                   return a.getAttribute('label')
 
-                 },
 
-                 !0
 
-               )
 
-               if (f && dtd.$block[f.tagName] && domUtils.isEmptyNode(f)) {
 
-                 var g = a.document.createElement('p')
 
-                 domUtils.insertAfter(f, g),
 
-                   domUtils.fillNode(a.document, g),
 
-                   domUtils.remove(f),
 
-                   e.setStart(g, 0).setCursor()
 
-               }
 
-             }
 
-           }
 
-         })
 
-     }),
 
-     (UE.plugins.catchremoteimage = function () {
 
-       var me = this,
 
-         ajax = UE.ajax
 
-       me.options.catchRemoteImageEnable !== !1 &&
 
-         (me.setOpt({ catchRemoteImageEnable: !1 }),
 
-         me.addListener('afterpaste', function () {
 
-           me.fireEvent('catchRemoteImage')
 
-         }),
 
-         me.addListener('catchRemoteImage', function () {
 
-           function catchremoteimage(a, b) {
 
-             var c =
 
-                 utils.serializeParam(me.queryCommandValue('serverparam')) || '',
 
-               d = utils.formatUrl(
 
-                 catcherActionUrl +
 
-                   (catcherActionUrl.indexOf('?') == -1 ? '?' : '&') +
 
-                   c
 
-               ),
 
-               e = utils.isCrossDomainUrl(d),
 
-               f = {
 
-                 method: 'POST',
 
-                 dataType: e ? 'jsonp' : '',
 
-                 timeout: 6e4,
 
-                 onsuccess: b.success,
 
-                 onerror: b.error
 
-               }
 
-             ;(f[catcherFieldName] = a), ajax.request(d, f)
 
-           }
 
-           for (
 
-             var catcherLocalDomain = me.getOpt('catcherLocalDomain'),
 
-               catcherActionUrl = me.getActionUrl(
 
-                 me.getOpt('catcherActionName')
 
-               ),
 
-               catcherUrlPrefix = me.getOpt('catcherUrlPrefix'),
 
-               catcherFieldName = me.getOpt('catcherFieldName'),
 
-               remoteImages = [],
 
-               imgs = domUtils.getElementsByTagName(me.document, 'img'),
 
-               test = function (a, b) {
 
-                 if (a.indexOf(location.host) != -1 || /(^\.)|(^\/)/.test(a))
 
-                   return !0
 
-                 if (b)
 
-                   for (var c, d = 0; (c = b[d++]); )
 
-                     if (a.indexOf(c) !== -1) return !0
 
-                 return !1
 
-               },
 
-               i = 0,
 
-               ci;
 
-             (ci = imgs[i++]);
 
-           )
 
-             if (!ci.getAttribute('word_img')) {
 
-               var src = ci.getAttribute('_src') || ci.src || ''
 
-               ;/^(https?|ftp):/i.test(src) &&
 
-                 !test(src, catcherLocalDomain) &&
 
-                 remoteImages.push(src)
 
-             }
 
-           remoteImages.length &&
 
-             catchremoteimage(remoteImages, {
 
-               success: function (r) {
 
-                 try {
 
-                   var info =
 
-                     void 0 !== r.state ? r : eval('(' + r.responseText + ')')
 
-                 } catch (e) {
 
-                   return
 
-                 }
 
-                 var i,
 
-                   j,
 
-                   ci,
 
-                   cj,
 
-                   oldSrc,
 
-                   newSrc,
 
-                   list = info.list
 
-                 for (i = 0; (ci = imgs[i++]); )
 
-                   for (
 
-                     oldSrc = ci.getAttribute('_src') || ci.src || '', j = 0;
 
-                     (cj = list[j++]);
 
-                   )
 
-                     if (oldSrc == cj.source && 'SUCCESS' == cj.state) {
 
-                       ;(newSrc = catcherUrlPrefix + cj.url),
 
-                         domUtils.setAttributes(ci, {
 
-                           src: newSrc,
 
-                           _src: newSrc
 
-                         })
 
-                       break
 
-                     }
 
-                 me.fireEvent('catchremotesuccess')
 
-               },
 
-               error: function () {
 
-                 me.fireEvent('catchremoteerror')
 
-               }
 
-             })
 
-         }))
 
-     }),
 
-     UE.plugin.register('snapscreen', function () {
 
-       function getLocation(a) {
 
-         var b,
 
-           c = document.createElement('a'),
 
-           d = utils.serializeParam(me.queryCommandValue('serverparam')) || ''
 
-         return (
 
-           (c.href = a),
 
-           browser.ie && (c.href = c.href),
 
-           (b = c.search),
 
-           d &&
 
-             ((b = b + (b.indexOf('?') == -1 ? '?' : '&') + d),
 
-             (b = b.replace(/[&]+/gi, '&'))),
 
-           {
 
-             port: c.port,
 
-             hostname: c.hostname,
 
-             path: c.pathname + b || +c.hash
 
-           }
 
-         )
 
-       }
 
-       var me = this,
 
-         snapplugin
 
-       return {
 
-         commands: {
 
-           snapscreen: {
 
-             execCommand: function (cmd) {
 
-               function onSuccess(rs) {
 
-                 try {
 
-                   if (((rs = eval('(' + rs + ')')), 'SUCCESS' == rs.state)) {
 
-                     var opt = me.options
 
-                     me.execCommand('insertimage', {
 
-                       src: opt.snapscreenUrlPrefix + rs.url,
 
-                       _src: opt.snapscreenUrlPrefix + rs.url,
 
-                       alt: rs.title || '',
 
-                       floatStyle: opt.snapscreenImgAlign
 
-                     })
 
-                   } else alert(rs.state)
 
-                 } catch (e) {
 
-                   alert(lang.callBackErrorMsg)
 
-                 }
 
-               }
 
-               var url,
 
-                 local,
 
-                 res,
 
-                 lang = me.getLang('snapScreen_plugin')
 
-               if (!snapplugin) {
 
-                 var container = me.container,
 
-                   doc = me.container.ownerDocument || me.container.document
 
-                 snapplugin = doc.createElement('object')
 
-                 try {
 
-                   snapplugin.type = 'application/x-pluginbaidusnap'
 
-                 } catch (e) {
 
-                   return
 
-                 }
 
-                 ;(snapplugin.style.cssText =
 
-                   'position:absolute;left:-9999px;width:0;height:0;'),
 
-                   snapplugin.setAttribute('width', '0'),
 
-                   snapplugin.setAttribute('height', '0'),
 
-                   container.appendChild(snapplugin)
 
-               }
 
-               ;(url = me.getActionUrl(me.getOpt('snapscreenActionName'))),
 
-                 (local = getLocation(url)),
 
-                 setTimeout(function () {
 
-                   try {
 
-                     res = snapplugin.saveSnapshot(
 
-                       local.hostname,
 
-                       local.path,
 
-                       local.port
 
-                     )
 
-                   } catch (a) {
 
-                     return void me.ui._dialogs.snapscreenDialog.open()
 
-                   }
 
-                   onSuccess(res)
 
-                 }, 50)
 
-             },
 
-             queryCommandState: function () {
 
-               return navigator.userAgent.indexOf('Windows', 0) != -1 ? 0 : -1
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.commands.insertparagraph = {
 
-       execCommand: function (a, b) {
 
-         for (
 
-           var c, d = this, e = d.selection.getRange(), f = e.startContainer;
 
-           f && !domUtils.isBody(f);
 
-         )
 
-           (c = f), (f = f.parentNode)
 
-         if (c) {
 
-           var g = d.document.createElement('p')
 
-           b
 
-             ? c.parentNode.insertBefore(g, c)
 
-             : c.parentNode.insertBefore(g, c.nextSibling),
 
-             domUtils.fillNode(d.document, g),
 
-             e.setStart(g, 0).setCursor(!1, !0)
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('webapp', function () {
 
-       function a(a, c) {
 
-         return c
 
-           ? '<iframe class="edui-faked-webapp" title="' +
 
-               a.title +
 
-               '" ' +
 
-               (a.align && !a.cssfloat ? 'align="' + a.align + '"' : '') +
 
-               (a.cssfloat ? 'style="float:' + a.cssfloat + '"' : '') +
 
-               'width="' +
 
-               a.width +
 
-               '" height="' +
 
-               a.height +
 
-               '"  scrolling="no" frameborder="0" src="' +
 
-               a.url +
 
-               '" logo_url = "' +
 
-               a.logo +
 
-               '"></iframe>'
 
-           : '<img title="' +
 
-               a.title +
 
-               '" width="' +
 
-               a.width +
 
-               '" height="' +
 
-               a.height +
 
-               '" src="' +
 
-               b.options.UEDITOR_HOME_URL +
 
-               'themes/default/images/spacer.gif" _logo_url="' +
 
-               a.logo +
 
-               '" style="background:url(' +
 
-               a.logo +
 
-               ') no-repeat center center; border:1px solid gray;" class="edui-faked-webapp" _url="' +
 
-               a.url +
 
-               '" ' +
 
-               (a.align && !a.cssfloat ? 'align="' + a.align + '"' : '') +
 
-               (a.cssfloat ? 'style="float:' + a.cssfloat + '"' : '') +
 
-               '/>'
 
-       }
 
-       var b = this
 
-       return {
 
-         outputRule: function (b) {
 
-           utils.each(b.getNodesByTagName('img'), function (b) {
 
-             var c
 
-             if ('edui-faked-webapp' == b.getAttr('class')) {
 
-               c = a(
 
-                 {
 
-                   title: b.getAttr('title'),
 
-                   width: b.getAttr('width'),
 
-                   height: b.getAttr('height'),
 
-                   align: b.getAttr('align'),
 
-                   cssfloat: b.getStyle('float'),
 
-                   url: b.getAttr('_url'),
 
-                   logo: b.getAttr('_logo_url')
 
-                 },
 
-                 !0
 
-               )
 
-               var d = UE.uNode.createElement(c)
 
-               b.parentNode.replaceChild(d, b)
 
-             }
 
-           })
 
-         },
 
-         inputRule: function (b) {
 
-           utils.each(b.getNodesByTagName('iframe'), function (b) {
 
-             if ('edui-faked-webapp' == b.getAttr('class')) {
 
-               var c = UE.uNode.createElement(
 
-                 a({
 
-                   title: b.getAttr('title'),
 
-                   width: b.getAttr('width'),
 
-                   height: b.getAttr('height'),
 
-                   align: b.getAttr('align'),
 
-                   cssfloat: b.getStyle('float'),
 
-                   url: b.getAttr('src'),
 
-                   logo: b.getAttr('logo_url')
 
-                 })
 
-               )
 
-               b.parentNode.replaceChild(c, b)
 
-             }
 
-           })
 
-         },
 
-         commands: {
 
-           webapp: {
 
-             execCommand: function (b, c) {
 
-               var d = this,
 
-                 e = a(utils.extend(c, { align: 'none' }), !1)
 
-               d.execCommand('inserthtml', e)
 
-             },
 
-             queryCommandState: function () {
 
-               var a = this,
 
-                 b = a.selection.getRange().getClosedNode(),
 
-                 c = b && 'edui-faked-webapp' == b.className
 
-               return c ? 1 : 0
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.template = function () {
 
-       ;(UE.commands.template = {
 
-         execCommand: function (a, b) {
 
-           b.html && this.execCommand('inserthtml', b.html)
 
-         }
 
-       }),
 
-         this.addListener('click', function (a, b) {
 
-           var c = b.target || b.srcElement,
 
-             d = this.selection.getRange(),
 
-             e = domUtils.findParent(
 
-               c,
 
-               function (a) {
 
-                 if (a.className && domUtils.hasClass(a, 'ue_t')) return a
 
-               },
 
-               !0
 
-             )
 
-           e && d.selectNode(e).shrinkBoundary().select()
 
-         }),
 
-         this.addListener('keydown', function (a, b) {
 
-           var c = this.selection.getRange()
 
-           if (
 
-             !c.collapsed &&
 
-             !(b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)
 
-           ) {
 
-             var d = domUtils.findParent(
 
-               c.startContainer,
 
-               function (a) {
 
-                 if (a.className && domUtils.hasClass(a, 'ue_t')) return a
 
-               },
 
-               !0
 
-             )
 
-             d && domUtils.removeClasses(d, ['ue_t'])
 
-           }
 
-         })
 
-     }),
 
-     UE.plugin.register('music', function () {
 
-       function a(a, c, d, e, f, g) {
 
-         return g
 
-           ? '<embed type="application/x-shockwave-flash" class="edui-faked-music" pluginspage="http://www.macromedia.com/go/getflashplayer" src="' +
 
-               a +
 
-               '" width="' +
 
-               c +
 
-               '" height="' +
 
-               d +
 
-               '" ' +
 
-               (e && !f ? 'align="' + e + '"' : '') +
 
-               (f ? 'style="float:' + f + '"' : '') +
 
-               ' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" >'
 
-           : '<img ' +
 
-               (e && !f ? 'align="' + e + '"' : '') +
 
-               (f ? 'style="float:' + f + '"' : '') +
 
-               ' width="' +
 
-               c +
 
-               '" height="' +
 
-               d +
 
-               '" _url="' +
 
-               a +
 
-               '" class="edui-faked-music" src="' +
 
-               b.options.langPath +
 
-               b.options.lang +
 
-               '/images/music.png" />'
 
-       }
 
-       var b = this
 
-       return {
 
-         outputRule: function (b) {
 
-           utils.each(b.getNodesByTagName('img'), function (b) {
 
-             var c
 
-             if ('edui-faked-music' == b.getAttr('class')) {
 
-               var d = b.getStyle('float'),
 
-                 e = b.getAttr('align')
 
-               c = a(
 
-                 b.getAttr('_url'),
 
-                 b.getAttr('width'),
 
-                 b.getAttr('height'),
 
-                 e,
 
-                 d,
 
-                 !0
 
-               )
 
-               var f = UE.uNode.createElement(c)
 
-               b.parentNode.replaceChild(f, b)
 
-             }
 
-           })
 
-         },
 
-         inputRule: function (b) {
 
-           utils.each(b.getNodesByTagName('embed'), function (b) {
 
-             if ('edui-faked-music' == b.getAttr('class')) {
 
-               var c = b.getStyle('float'),
 
-                 d = b.getAttr('align')
 
-               html = a(
 
-                 b.getAttr('src'),
 
-                 b.getAttr('width'),
 
-                 b.getAttr('height'),
 
-                 d,
 
-                 c,
 
-                 !1
 
-               )
 
-               var e = UE.uNode.createElement(html)
 
-               b.parentNode.replaceChild(e, b)
 
-             }
 
-           })
 
-         },
 
-         commands: {
 
-           music: {
 
-             execCommand: function (b, c) {
 
-               var d = this,
 
-                 e = a(c.url, c.width || 400, c.height || 95, 'none', !1)
 
-               d.execCommand('inserthtml', e)
 
-             },
 
-             queryCommandState: function () {
 
-               var a = this,
 
-                 b = a.selection.getRange().getClosedNode(),
 
-                 c = b && 'edui-faked-music' == b.className
 
-               return c ? 1 : 0
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('autoupload', function () {
 
-       function a(a, b) {
 
-         var c,
 
-           d,
 
-           e,
 
-           f,
 
-           g,
 
-           h,
 
-           i,
 
-           j,
 
-           k = b,
 
-           l = /image\/\w+/i.test(a.type) ? 'image' : 'file',
 
-           m = 'loading_' + (+new Date()).toString(36)
 
-         if (
 
-           ((c = k.getOpt(l + 'FieldName')),
 
-           (d = k.getOpt(l + 'UrlPrefix')),
 
-           (e = k.getOpt(l + 'MaxSize')),
 
-           (f = k.getOpt(l + 'AllowFiles')),
 
-           (g = k.getActionUrl(k.getOpt(l + 'ActionName'))),
 
-           (i = function (a) {
 
-             var b = k.document.getElementById(m)
 
-             b && domUtils.remove(b),
 
-               k.fireEvent('showmessage', {
 
-                 id: m,
 
-                 content: a,
 
-                 type: 'error',
 
-                 timeout: 4e3
 
-               })
 
-           }),
 
-           'image' == l
 
-             ? ((h =
 
-                 '<img class="loadingclass" id="' +
 
-                 m +
 
-                 '" src="' +
 
-                 k.options.themePath +
 
-                 k.options.theme +
 
-                 '/images/spacer.gif" title="' +
 
-                 (k.getLang('autoupload.loading') || '') +
 
-                 '" >'),
 
-               (j = function (a) {
 
-                 var b = d + a.url,
 
-                   c = k.document.getElementById(m)
 
-                 c &&
 
-                   (c.setAttribute('src', b),
 
-                   c.setAttribute('_src', b),
 
-                   c.setAttribute('title', a.title || ''),
 
-                   c.setAttribute('alt', a.original || ''),
 
-                   c.removeAttribute('id'),
 
-                   domUtils.removeClasses(c, 'loadingclass'))
 
-               }))
 
-             : ((h =
 
-                 '<p><img class="loadingclass" id="' +
 
-                 m +
 
-                 '" src="' +
 
-                 k.options.themePath +
 
-                 k.options.theme +
 
-                 '/images/spacer.gif" title="' +
 
-                 (k.getLang('autoupload.loading') || '') +
 
-                 '" ></p>'),
 
-               (j = function (a) {
 
-                 var b = d + a.url,
 
-                   c = k.document.getElementById(m),
 
-                   e = k.selection.getRange(),
 
-                   f = e.createBookmark()
 
-                 e.selectNode(c).select(),
 
-                   k.execCommand('insertfile', { url: b }),
 
-                   e.moveToBookmark(f).select()
 
-               })),
 
-           k.execCommand('inserthtml', h),
 
-           !k.getOpt(l + 'ActionName'))
 
-         )
 
-           return void i(k.getLang('autoupload.errorLoadConfig'))
 
-         if (a.size > e) return void i(k.getLang('autoupload.exceedSizeError'))
 
-         var n = a.name ? a.name.substr(a.name.lastIndexOf('.')) : ''
 
-         if (
 
-           (n && 'image' != l) ||
 
-           (f && (f.join('') + '.').indexOf(n.toLowerCase() + '.') == -1)
 
-         )
 
-           return void i(k.getLang('autoupload.exceedTypeError'))
 
-         var o = new XMLHttpRequest(),
 
-           p = new FormData(),
 
-           q = utils.serializeParam(k.queryCommandValue('serverparam')) || '',
 
-           r = utils.formatUrl(g + (g.indexOf('?') == -1 ? '?' : '&') + q)
 
-         p.append(c, a, a.name || 'blob.' + a.type.substr('image/'.length)),
 
-           p.append('type', 'ajax'),
 
-           o.open('post', r, !0),
 
-           o.setRequestHeader('X-Requested-With', 'XMLHttpRequest'),
 
-           o.addEventListener('load', function (a) {
 
-             try {
 
-               var b = new Function('return ' + utils.trim(a.target.response))()
 
-               'SUCCESS' == b.state && b.url ? j(b) : i(b.state)
 
-             } catch (c) {
 
-               i(k.getLang('autoupload.loadError'))
 
-             }
 
-           }),
 
-           o.send(p)
 
-       }
 
-       function b(a) {
 
-         return a.clipboardData &&
 
-           a.clipboardData.items &&
 
-           1 == a.clipboardData.items.length &&
 
-           /^image\//.test(a.clipboardData.items[0].type)
 
-           ? a.clipboardData.items
 
-           : null
 
-       }
 
-       function c(a) {
 
-         return a.dataTransfer && a.dataTransfer.files
 
-           ? a.dataTransfer.files
 
-           : null
 
-       }
 
-       return {
 
-         outputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('img'), function (a) {
 
-             ;/\b(loaderrorclass)|(bloaderrorclass)\b/.test(
 
-               a.getAttr('class')
 
-             ) && a.parentNode.removeChild(a)
 
-           }),
 
-             utils.each(a.getNodesByTagName('p'), function (a) {
 
-               ;/\bloadpara\b/.test(a.getAttr('class')) &&
 
-                 a.parentNode.removeChild(a)
 
-             })
 
-         },
 
-         bindEvents: {
 
-           ready: function (d) {
 
-             var e = this
 
-             window.FormData &&
 
-               window.FileReader &&
 
-               (domUtils.on(e.body, 'paste drop', function (d) {
 
-                 var f,
 
-                   g = !1
 
-                 if ((f = 'paste' == d.type ? b(d) : c(d))) {
 
-                   for (var h, i = f.length; i--; )
 
-                     (h = f[i]),
 
-                       h.getAsFile && (h = h.getAsFile()),
 
-                       h && h.size > 0 && (a(h, e), (g = !0))
 
-                   g && d.preventDefault()
 
-                 }
 
-               }),
 
-               domUtils.on(e.body, 'dragover', function (a) {
 
-                 'Files' == a.dataTransfer.types[0] && a.preventDefault()
 
-               }),
 
-               utils.cssRule(
 
-                 'loading',
 
-                 ".loadingclass{display:inline-block;cursor:default;background: url('" +
 
-                   this.options.themePath +
 
-                   this.options.theme +
 
-                   "/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('" +
 
-                   this.options.themePath +
 
-                   this.options.theme +
 
-                   "/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",
 
-                 this.document
 
-               ))
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('autosave', function () {
 
-       function a(a) {
 
-         var f
 
-         if (!(new Date() - c < d)) {
 
-           if (!a.hasContents()) return void (e && b.removePreferences(e))
 
-           ;(c = new Date()),
 
-             (a._saveFlag = null),
 
-             (f = b.body.innerHTML),
 
-             a.fireEvent('beforeautosave', { content: f }) !== !1 &&
 
-               (b.setPreferences(e, f),
 
-               a.fireEvent('afterautosave', { content: f }))
 
-         }
 
-       }
 
-       var b = this,
 
-         c = new Date(),
 
-         d = 20,
 
-         e = null
 
-       return {
 
-         defaultOptions: { saveInterval: 500, enableAutoSave: !0 },
 
-         bindEvents: {
 
-           ready: function () {
 
-             var a = '-drafts-data',
 
-               c = null
 
-             ;(c = b.key
 
-               ? b.key + a
 
-               : (b.container.parentNode.id || 'ue-common') + a),
 
-               (e =
 
-                 (location.protocol + location.host + location.pathname).replace(
 
-                   /[.:\/]/g,
 
-                   '_'
 
-                 ) + c)
 
-           },
 
-           contentchange: function () {
 
-             b.getOpt('enableAutoSave') &&
 
-               e &&
 
-               (b._saveFlag && window.clearTimeout(b._saveFlag),
 
-               b.options.saveInterval > 0
 
-                 ? (b._saveFlag = window.setTimeout(function () {
 
-                     a(b)
 
-                   }, b.options.saveInterval))
 
-                 : a(b))
 
-           }
 
-         },
 
-         commands: {
 
-           clearlocaldata: {
 
-             execCommand: function (a, c) {
 
-               e && b.getPreferences(e) && b.removePreferences(e)
 
-             },
 
-             notNeedUndo: !0,
 
-             ignoreContentChange: !0
 
-           },
 
-           getlocaldata: {
 
-             execCommand: function (a, c) {
 
-               return e ? b.getPreferences(e) || '' : ''
 
-             },
 
-             notNeedUndo: !0,
 
-             ignoreContentChange: !0
 
-           },
 
-           drafts: {
 
-             execCommand: function (a, c) {
 
-               e &&
 
-                 ((b.body.innerHTML =
 
-                   b.getPreferences(e) || '<p>' + domUtils.fillHtml + '</p>'),
 
-                 b.focus(!0))
 
-             },
 
-             queryCommandState: function () {
 
-               return e ? (null === b.getPreferences(e) ? -1 : 0) : -1
 
-             },
 
-             notNeedUndo: !0,
 
-             ignoreContentChange: !0
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('charts', function () {
 
-       function a(a) {
 
-         var b = null,
 
-           c = 0
 
-         if (a.rows.length < 2) return !1
 
-         if (a.rows[0].cells.length < 2) return !1
 
-         ;(b = a.rows[0].cells), (c = b.length)
 
-         for (var d, e = 0; (d = b[e]); e++)
 
-           if ('th' !== d.tagName.toLowerCase()) return !1
 
-         for (var f, e = 1; (f = a.rows[e]); e++) {
 
-           if (f.cells.length != c) return !1
 
-           if ('th' !== f.cells[0].tagName.toLowerCase()) return !1
 
-           for (var d, g = 1; (d = f.cells[g]); g++) {
 
-             var h = utils.trim(d.innerText || d.textContent || '')
 
-             if (
 
-               ((h = h
 
-                 .replace(new RegExp(UE.dom.domUtils.fillChar, 'g'), '')
 
-                 .replace(/^\s+|\s+$/g, '')),
 
-               !/^\d*\.?\d+$/.test(h))
 
-             )
 
-               return !1
 
-           }
 
-         }
 
-         return !0
 
-       }
 
-       var b = this
 
-       return {
 
-         bindEvents: { chartserror: function () {} },
 
-         commands: {
 
-           charts: {
 
-             execCommand: function (c, d) {
 
-               var e = domUtils.findParentByTagName(
 
-                   this.selection.getRange().startContainer,
 
-                   'table',
 
-                   !0
 
-                 ),
 
-                 f = [],
 
-                 g = {}
 
-               if (!e) return !1
 
-               if (!a(e)) return b.fireEvent('chartserror'), !1
 
-               ;(g.title = d.title || ''),
 
-                 (g.subTitle = d.subTitle || ''),
 
-                 (g.xTitle = d.xTitle || ''),
 
-                 (g.yTitle = d.yTitle || ''),
 
-                 (g.suffix = d.suffix || ''),
 
-                 (g.tip = d.tip || ''),
 
-                 (g.dataFormat = d.tableDataFormat || ''),
 
-                 (g.chartType = d.chartType || 0)
 
-               for (var h in g) g.hasOwnProperty(h) && f.push(h + ':' + g[h])
 
-               e.setAttribute('data-chart', f.join(';')),
 
-                 domUtils.addClass(e, 'edui-charts-table')
 
-             },
 
-             queryCommandState: function (b, c) {
 
-               var d = domUtils.findParentByTagName(
 
-                 this.selection.getRange().startContainer,
 
-                 'table',
 
-                 !0
 
-               )
 
-               return d && a(d) ? 0 : -1
 
-             }
 
-           }
 
-         },
 
-         inputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('table'), function (a) {
 
-             void 0 !== a.getAttr('data-chart') && a.setAttr('style')
 
-           })
 
-         },
 
-         outputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('table'), function (a) {
 
-             void 0 !== a.getAttr('data-chart') &&
 
-               a.setAttr('style', 'display: none;')
 
-           })
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('section', function () {
 
-       function a(a) {
 
-         ;(this.tag = ''),
 
-           (this.level = -1),
 
-           (this.dom = null),
 
-           (this.nextSection = null),
 
-           (this.previousSection = null),
 
-           (this.parentSection = null),
 
-           (this.startAddress = []),
 
-           (this.endAddress = []),
 
-           (this.children = [])
 
-       }
 
-       function b(b) {
 
-         var c = new a()
 
-         return utils.extend(c, b)
 
-       }
 
-       function c(a, b) {
 
-         for (var c = b, d = 0; d < a.length; d++) {
 
-           if (!c.childNodes) return null
 
-           c = c.childNodes[a[d]]
 
-         }
 
-         return c
 
-       }
 
-       var d = this
 
-       return {
 
-         bindMultiEvents: {
 
-           type: 'aftersetcontent afterscencerestore',
 
-           handler: function () {
 
-             d.fireEvent('updateSections')
 
-           }
 
-         },
 
-         bindEvents: {
 
-           ready: function () {
 
-             d.fireEvent('updateSections'),
 
-               domUtils.on(d.body, 'drop paste', function () {
 
-                 d.fireEvent('updateSections')
 
-               })
 
-           },
 
-           afterexeccommand: function (a, b) {
 
-             'paragraph' == b && d.fireEvent('updateSections')
 
-           },
 
-           keyup: function (a, b) {
 
-             var c = this,
 
-               d = c.selection.getRange()
 
-             if (1 != d.collapsed) c.fireEvent('updateSections')
 
-             else {
 
-               var e = b.keyCode || b.which
 
-               ;(13 != e && 8 != e && 46 != e) || c.fireEvent('updateSections')
 
-             }
 
-           }
 
-         },
 
-         commands: {
 
-           getsections: {
 
-             execCommand: function (a, c) {
 
-               function d(a) {
 
-                 for (var b = 0; b < f.length; b++) if (f[b](a)) return b
 
-                 return -1
 
-               }
 
-               function e(a, c) {
 
-                 for (
 
-                   var f, g, i, k = null, l = a.childNodes, m = 0, n = l.length;
 
-                   m < n;
 
-                   m++
 
-                 )
 
-                   if (((i = l[m]), (f = d(i)), f >= 0)) {
 
-                     var o = h.selection
 
-                         .getRange()
 
-                         .selectNode(i)
 
-                         .createAddress(!0).startAddress,
 
-                       p = b({
 
-                         tag: i.tagName,
 
-                         title: i.innerText || i.textContent || '',
 
-                         level: f,
 
-                         dom: i,
 
-                         startAddress: utils.clone(o, []),
 
-                         endAddress: utils.clone(o, []),
 
-                         children: []
 
-                       })
 
-                     for (
 
-                       j.nextSection = p, p.previousSection = j, g = j;
 
-                       f <= g.level;
 
-                     )
 
-                       g = g.parentSection
 
-                     ;(p.parentSection = g), g.children.push(p), (k = j = p)
 
-                   } else
 
-                     1 === i.nodeType && e(i, c),
 
-                       k && k.endAddress[k.endAddress.length - 1]++
 
-               }
 
-               for (
 
-                 var f = c || ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], g = 0;
 
-                 g < f.length;
 
-                 g++
 
-               )
 
-                 'string' == typeof f[g]
 
-                   ? (f[g] = (function (a) {
 
-                       return function (b) {
 
-                         return b.tagName == a.toUpperCase()
 
-                       }
 
-                     })(f[g]))
 
-                   : 'function' != typeof f[g] &&
 
-                     (f[g] = function (a) {
 
-                       return null
 
-                     })
 
-               var h = this,
 
-                 i = b({ level: -1, title: 'root' }),
 
-                 j = i
 
-               return e(h.body, i), i
 
-             },
 
-             notNeedUndo: !0
 
-           },
 
-           movesection: {
 
-             execCommand: function (a, b, d, e) {
 
-               function f(a, b, c) {
 
-                 for (
 
-                   var d = !1, e = !1, f = 0;
 
-                   f < a.length && !(f >= c.length);
 
-                   f++
 
-                 ) {
 
-                   if (c[f] > a[f]) {
 
-                     d = !0
 
-                     break
 
-                   }
 
-                   if (c[f] < a[f]) break
 
-                 }
 
-                 for (var f = 0; f < b.length && !(f >= c.length); f++) {
 
-                   if (c[f] < a[f]) {
 
-                     e = !0
 
-                     break
 
-                   }
 
-                   if (c[f] > a[f]) break
 
-                 }
 
-                 return d && e
 
-               }
 
-               var g,
 
-                 h,
 
-                 i = this
 
-               if (
 
-                 b &&
 
-                 d &&
 
-                 d.level != -1 &&
 
-                 ((g = e ? d.endAddress : d.startAddress),
 
-                 (h = c(g, i.body)),
 
-                 g && h && !f(b.startAddress, b.endAddress, g))
 
-               ) {
 
-                 var j,
 
-                   k,
 
-                   l = c(b.startAddress, i.body),
 
-                   m = c(b.endAddress, i.body)
 
-                 if (e)
 
-                   for (
 
-                     j = m;
 
-                     j &&
 
-                     !(
 
-                       domUtils.getPosition(l, j) & domUtils.POSITION_FOLLOWING
 
-                     ) &&
 
-                     ((k = j.previousSibling),
 
-                     domUtils.insertAfter(h, j),
 
-                     j != l);
 
-                   )
 
-                     j = k
 
-                 else
 
-                   for (
 
-                     j = l;
 
-                     j &&
 
-                     !(
 
-                       domUtils.getPosition(j, m) & domUtils.POSITION_FOLLOWING
 
-                     ) &&
 
-                     ((k = j.nextSibling),
 
-                     h.parentNode.insertBefore(j, h),
 
-                     j != m);
 
-                   )
 
-                     j = k
 
-                 i.fireEvent('updateSections')
 
-               }
 
-             }
 
-           },
 
-           deletesection: {
 
-             execCommand: function (a, b, c) {
 
-               function d(a) {
 
-                 for (var b = e.body, c = 0; c < a.length; c++) {
 
-                   if (!b.childNodes) return null
 
-                   b = b.childNodes[a[c]]
 
-                 }
 
-                 return b
 
-               }
 
-               var e = this
 
-               if (b) {
 
-                 var f,
 
-                   g = d(b.startAddress),
 
-                   h = d(b.endAddress),
 
-                   i = g
 
-                 if (c) domUtils.remove(i)
 
-                 else
 
-                   for (
 
-                     ;
 
-                     i &&
 
-                     domUtils.inDoc(h, e.document) &&
 
-                     !(domUtils.getPosition(i, h) & domUtils.POSITION_FOLLOWING);
 
-                   )
 
-                     (f = i.nextSibling), domUtils.remove(i), (i = f)
 
-                 e.fireEvent('updateSections')
 
-               }
 
-             }
 
-           },
 
-           selectsection: {
 
-             execCommand: function (a, b) {
 
-               if (!b && !b.dom) return !1
 
-               var c = this,
 
-                 d = c.selection.getRange(),
 
-                 e = {
 
-                   startAddress: utils.clone(b.startAddress, []),
 
-                   endAddress: utils.clone(b.endAddress, [])
 
-                 }
 
-               return (
 
-                 e.endAddress[e.endAddress.length - 1]++,
 
-                 d.moveToAddress(e).select().scrollToView(),
 
-                 !0
 
-               )
 
-             },
 
-             notNeedUndo: !0
 
-           },
 
-           scrolltosection: {
 
-             execCommand: function (a, b) {
 
-               if (!b && !b.dom) return !1
 
-               var c = this,
 
-                 d = c.selection.getRange(),
 
-                 e = { startAddress: b.startAddress, endAddress: b.endAddress }
 
-               return (
 
-                 e.endAddress[e.endAddress.length - 1]++,
 
-                 d.moveToAddress(e).scrollToView(),
 
-                 !0
 
-               )
 
-             },
 
-             notNeedUndo: !0
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('simpleupload', function () {
 
-       function a() {
 
-         var a = b.offsetWidth || 20,
 
-           e = b.offsetHeight || 20,
 
-           f =
 
-             'display:block;width:' +
 
-             a +
 
-             'px;height:' +
 
-             e +
 
-             'px;overflow:hidden;border:0;margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;cursor:pointer;',
 
-           g = document.createElement('form'),
 
-           h = document.createElement('input')
 
-         ;(g.id = 'edui_form_' + d),
 
-           (g.enctype = 'multipart/form-data'),
 
-           (g.style = f),
 
-           (h.id = 'edui_input_' + d),
 
-           (h.type = 'file'),
 
-           (h.accept = 'image/*'),
 
-           (h.name = c.options.imageFieldName),
 
-           (h.style = f),
 
-           g.appendChild(h),
 
-           b.appendChild(g),
 
-           h.addEventListener('change', function (a) {
 
-             function b(a) {
 
-               if (d) {
 
-                 var b = c.document.getElementById(d)
 
-                 b && domUtils.remove(b),
 
-                   c.fireEvent('showmessage', {
 
-                     id: d,
 
-                     content: a,
 
-                     type: 'error',
 
-                     timeout: 4e3
 
-                   })
 
-               }
 
-             }
 
-             if (h.value) {
 
-               var d = 'loading_' + (+new Date()).toString(36),
 
-                 e = c.getActionUrl(c.getOpt('imageActionName')),
 
-                 f =
 
-                   utils.serializeParam(c.queryCommandValue('serverparam')) ||
 
-                   '',
 
-                 i = utils.formatUrl(e + (e.indexOf('?') == -1 ? '?' : '&') + f),
 
-                 j = c.getOpt('imageAllowFiles')
 
-               if (
 
-                 (c.focus(),
 
-                 c.execCommand(
 
-                   'inserthtml',
 
-                   '<img class="loadingclass" id="' +
 
-                     d +
 
-                     '" src="' +
 
-                     c.options.themePath +
 
-                     c.options.theme +
 
-                     '/images/spacer.gif" title="' +
 
-                     (c.getLang('simpleupload.loading') || '') +
 
-                     '" >'
 
-                 ),
 
-                 !c.getOpt('imageActionName'))
 
-               )
 
-                 return void b(c.getLang('autoupload.errorLoadConfig'))
 
-               var k = h.value,
 
-                 l = k ? k.substr(k.lastIndexOf('.')) : ''
 
-               if (
 
-                 !l ||
 
-                 (j && (j.join('') + '.').indexOf(l.toLowerCase() + '.') == -1)
 
-               )
 
-                 return void b(c.getLang('simpleupload.exceedTypeError'))
 
-               var m = new XMLHttpRequest()
 
-               if (
 
-                 (m.open('post', i, !0),
 
-                 c.options.headers &&
 
-                   '[object Object]' ===
 
-                     Object.prototype.toString.apply(c.options.headers))
 
-               )
 
-                 for (var n in c.options.headers)
 
-                   m.setRequestHeader(n, c.options.headers[n])
 
-               ;(m.onload = function () {
 
-                 if ((m.status >= 200 && m.status < 300) || 304 == m.status) {
 
-                   var a = JSON.parse(m.responseText),
 
-                     e = c.options.imageUrlPrefix + a.url
 
-                   'SUCCESS' == a.state && a.url
 
-                     ? ((loader = c.document.getElementById(d)),
 
-                       loader.setAttribute('src', e),
 
-                       loader.setAttribute('_src', e),
 
-                       loader.setAttribute('title', a.title || ''),
 
-                       loader.setAttribute('alt', a.original || ''),
 
-                       loader.removeAttribute('id'),
 
-                       domUtils.removeClasses(loader, 'loadingclass'),
 
-                       c.fireEvent('contentchange'))
 
-                     : b(a.state)
 
-                 } else b(c.getLang('simpleupload.loadError'))
 
-               }),
 
-                 (m.onerror = function () {
 
-                   b(c.getLang('simpleupload.loadError'))
 
-                 }),
 
-                 m.send(new FormData(g)),
 
-                 g.reset()
 
-             }
 
-           })
 
-       }
 
-       var b,
 
-         c = this,
 
-         d = (+new Date()).toString(36)
 
-       return {
 
-         bindEvents: {
 
-           ready: function () {
 
-             utils.cssRule(
 
-               'loading',
 
-               ".loadingclass{display:inline-block;cursor:default;background: url('" +
 
-                 this.options.themePath +
 
-                 this.options.theme +
 
-                 "/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('" +
 
-                 this.options.themePath +
 
-                 this.options.theme +
 
-                 "/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}",
 
-               this.document
 
-             )
 
-           },
 
-           simpleuploadbtnready: function (d, e) {
 
-             ;(b = e), c.afterConfigReady(a)
 
-           }
 
-         },
 
-         outputRule: function (a) {
 
-           utils.each(a.getNodesByTagName('img'), function (a) {
 
-             ;/\b(loaderrorclass)|(bloaderrorclass)\b/.test(
 
-               a.getAttr('class')
 
-             ) && a.parentNode.removeChild(a)
 
-           })
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('serverparam', function () {
 
-       var a = {}
 
-       return {
 
-         commands: {
 
-           serverparam: {
 
-             execCommand: function (b, c, d) {
 
-               void 0 === c || null === c
 
-                 ? (a = {})
 
-                 : utils.isString(c)
 
-                 ? void 0 === d || null === d
 
-                   ? delete a[c]
 
-                   : (a[c] = d)
 
-                 : utils.isObject(c)
 
-                 ? utils.extend(a, c, !0)
 
-                 : utils.isFunction(c) && utils.extend(a, c(), !0)
 
-             },
 
-             queryCommandValue: function () {
 
-               return a || {}
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     UE.plugin.register('insertfile', function () {
 
-       function a(a) {
 
-         var b = a.substr(a.lastIndexOf('.') + 1).toLowerCase(),
 
-           c = {
 
-             rar: 'icon_rar.gif',
 
-             zip: 'icon_rar.gif',
 
-             tar: 'icon_rar.gif',
 
-             gz: 'icon_rar.gif',
 
-             bz2: 'icon_rar.gif',
 
-             doc: 'icon_doc.gif',
 
-             docx: 'icon_doc.gif',
 
-             pdf: 'icon_pdf.gif',
 
-             mp3: 'icon_mp3.gif',
 
-             xls: 'icon_xls.gif',
 
-             chm: 'icon_chm.gif',
 
-             ppt: 'icon_ppt.gif',
 
-             pptx: 'icon_ppt.gif',
 
-             avi: 'icon_mv.gif',
 
-             rmvb: 'icon_mv.gif',
 
-             wmv: 'icon_mv.gif',
 
-             flv: 'icon_mv.gif',
 
-             swf: 'icon_mv.gif',
 
-             rm: 'icon_mv.gif',
 
-             exe: 'icon_exe.gif',
 
-             psd: 'icon_psd.gif',
 
-             txt: 'icon_txt.gif',
 
-             jpg: 'icon_jpg.gif',
 
-             png: 'icon_jpg.gif',
 
-             jpeg: 'icon_jpg.gif',
 
-             gif: 'icon_jpg.gif',
 
-             ico: 'icon_jpg.gif',
 
-             bmp: 'icon_jpg.gif'
 
-           }
 
-         return c[b] ? c[b] : c.txt
 
-       }
 
-       var b = this
 
-       return {
 
-         commands: {
 
-           insertfile: {
 
-             execCommand: function (c, d) {
 
-               d = utils.isArray(d) ? d : [d]
 
-               var e,
 
-                 f,
 
-                 g,
 
-                 h,
 
-                 i = '',
 
-                 j = b.getOpt('UEDITOR_HOME_URL'),
 
-                 k =
 
-                   j +
 
-                   ('/' == j.substr(j.length - 1) ? '' : '/') +
 
-                   'dialogs/attachment/fileTypeImages/'
 
-               for (e = 0; e < d.length; e++)
 
-                 (f = d[e]),
 
-                   (g = k + a(f.url)),
 
-                   (h = f.title || f.url.substr(f.url.lastIndexOf('/') + 1)),
 
-                   (i +=
 
-                     '<p style="line-height: 16px;"><img style="vertical-align: middle; margin-right: 2px;" src="' +
 
-                     g +
 
-                     '" _src="' +
 
-                     g +
 
-                     '" /><a style="font-size:12px; color:#0066cc;" href="' +
 
-                     f.url +
 
-                     '" title="' +
 
-                     h +
 
-                     '">' +
 
-                     h +
 
-                     '</a></p>')
 
-               b.execCommand('insertHtml', i)
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }),
 
-     (UE.plugins.xssFilter = function () {
 
-       function a(a) {
 
-         var b = a.tagName,
 
-           d = a.attrs
 
-         return c.hasOwnProperty(b)
 
-           ? void UE.utils.each(d, function (d, e) {
 
-               c[b].indexOf(e) === -1 && a.setAttr(e)
 
-             })
 
-           : (a.parentNode.removeChild(a), !1)
 
-       }
 
-       var b = UEDITOR_CONFIG,
 
-         c = b.whitList
 
-       c &&
 
-         b.xssFilterRules &&
 
-         (this.options.filterRules = (function () {
 
-           var b = {}
 
-           return (
 
-             UE.utils.each(c, function (c, d) {
 
-               b[d] = function (b) {
 
-                 return a(b)
 
-               }
 
-             }),
 
-             b
 
-           )
 
-         })())
 
-       var d = []
 
-       UE.utils.each(c, function (a, b) {
 
-         d.push(b)
 
-       }),
 
-         c &&
 
-           b.inputXssFilter &&
 
-           this.addInputRule(function (b) {
 
-             b.traversal(function (b) {
 
-               return 'element' === b.type && void a(b)
 
-             })
 
-           }),
 
-         c &&
 
-           b.outputXssFilter &&
 
-           this.addOutputRule(function (b) {
 
-             b.traversal(function (b) {
 
-               return 'element' === b.type && void a(b)
 
-             })
 
-           })
 
-     })
 
-   var baidu = baidu || {}
 
-   ;(baidu.editor = baidu.editor || {}),
 
-     (UE.ui = baidu.editor.ui = {}),
 
-     (function () {
 
-       function a() {
 
-         var a = document.getElementById('edui_fixedlayer')
 
-         i.setViewportOffset(a, { left: 0, top: 0 })
 
-       }
 
-       function b(b) {
 
-         d.on(window, 'scroll', a),
 
-           d.on(window, 'resize', baidu.editor.utils.defer(a, 0, !0))
 
-       }
 
-       var c = baidu.editor.browser,
 
-         d = baidu.editor.dom.domUtils,
 
-         e = '$EDITORUI',
 
-         f = (window[e] = {}),
 
-         g = 'ID' + e,
 
-         h = 0,
 
-         i = (baidu.editor.ui.uiUtils = {
 
-           uid: function (a) {
 
-             return a ? a[g] || (a[g] = ++h) : ++h
 
-           },
 
-           hook: function (a, b) {
 
-             var c
 
-             return (
 
-               a && a._callbacks
 
-                 ? (c = a)
 
-                 : ((c = function () {
 
-                     var b
 
-                     a && (b = a.apply(this, arguments))
 
-                     for (var d = c._callbacks, e = d.length; e--; ) {
 
-                       var f = d[e].apply(this, arguments)
 
-                       void 0 === b && (b = f)
 
-                     }
 
-                     return b
 
-                   }),
 
-                   (c._callbacks = [])),
 
-               c._callbacks.push(b),
 
-               c
 
-             )
 
-           },
 
-           createElementByHtml: function (a) {
 
-             var b = document.createElement('div')
 
-             return (
 
-               (b.innerHTML = a),
 
-               (b = b.firstChild),
 
-               b.parentNode.removeChild(b),
 
-               b
 
-             )
 
-           },
 
-           getViewportElement: function () {
 
-             return c.ie && c.quirks ? document.body : document.documentElement
 
-           },
 
-           getClientRect: function (a) {
 
-             var b
 
-             try {
 
-               b = a.getBoundingClientRect()
 
-             } catch (c) {
 
-               b = { left: 0, top: 0, height: 0, width: 0 }
 
-             }
 
-             for (
 
-               var e,
 
-                 f = {
 
-                   left: Math.round(b.left),
 
-                   top: Math.round(b.top),
 
-                   height: Math.round(b.bottom - b.top),
 
-                   width: Math.round(b.right - b.left)
 
-                 };
 
-               (e = a.ownerDocument) !== document &&
 
-               (a = d.getWindow(e).frameElement);
 
-             )
 
-               (b = a.getBoundingClientRect()),
 
-                 (f.left += b.left),
 
-                 (f.top += b.top)
 
-             return (
 
-               (f.bottom = f.top + f.height), (f.right = f.left + f.width), f
 
-             )
 
-           },
 
-           getViewportRect: function () {
 
-             var a = i.getViewportElement(),
 
-               b = 0 | (window.innerWidth || a.clientWidth),
 
-               c = 0 | (window.innerHeight || a.clientHeight)
 
-             return { left: 0, top: 0, height: c, width: b, bottom: c, right: b }
 
-           },
 
-           setViewportOffset: function (a, b) {
 
-             var c = i.getFixedLayer()
 
-             a.parentNode === c
 
-               ? ((a.style.left = b.left + 'px'), (a.style.top = b.top + 'px'))
 
-               : d.setViewportOffset(a, b)
 
-           },
 
-           getEventOffset: function (a) {
 
-             var b = a.target || a.srcElement,
 
-               c = i.getClientRect(b),
 
-               d = i.getViewportOffsetByEvent(a)
 
-             return { left: d.left - c.left, top: d.top - c.top }
 
-           },
 
-           getViewportOffsetByEvent: function (a) {
 
-             var b = a.target || a.srcElement,
 
-               c = d.getWindow(b).frameElement,
 
-               e = { left: a.clientX, top: a.clientY }
 
-             if (c && b.ownerDocument !== document) {
 
-               var f = i.getClientRect(c)
 
-               ;(e.left += f.left), (e.top += f.top)
 
-             }
 
-             return e
 
-           },
 
-           setGlobal: function (a, b) {
 
-             return (f[a] = b), e + '["' + a + '"]'
 
-           },
 
-           unsetGlobal: function (a) {
 
-             delete f[a]
 
-           },
 
-           copyAttributes: function (a, b) {
 
-             for (var e = b.attributes, f = e.length; f--; ) {
 
-               var g = e[f]
 
-               'style' == g.nodeName ||
 
-                 'class' == g.nodeName ||
 
-                 (c.ie && !g.specified) ||
 
-                 a.setAttribute(g.nodeName, g.nodeValue)
 
-             }
 
-             b.className && d.addClass(a, b.className),
 
-               b.style.cssText && (a.style.cssText += ';' + b.style.cssText)
 
-           },
 
-           removeStyle: function (a, b) {
 
-             if (a.style.removeProperty) a.style.removeProperty(b)
 
-             else {
 
-               if (!a.style.removeAttribute) throw ''
 
-               a.style.removeAttribute(b)
 
-             }
 
-           },
 
-           contains: function (a, b) {
 
-             return (
 
-               a &&
 
-               b &&
 
-               a !== b &&
 
-               (a.contains ? a.contains(b) : 16 & a.compareDocumentPosition(b))
 
-             )
 
-           },
 
-           startDrag: function (a, b, c) {
 
-             function d(a) {
 
-               var c = a.clientX - g,
 
-                 d = a.clientY - h
 
-               b.ondragmove(c, d, a),
 
-                 a.stopPropagation ? a.stopPropagation() : (a.cancelBubble = !0)
 
-             }
 
-             function e(a) {
 
-               c.removeEventListener('mousemove', d, !0),
 
-                 c.removeEventListener('mouseup', e, !0),
 
-                 window.removeEventListener('mouseup', e, !0),
 
-                 b.ondragstop()
 
-             }
 
-             function f() {
 
-               i.releaseCapture(),
 
-                 i.detachEvent('onmousemove', d),
 
-                 i.detachEvent('onmouseup', f),
 
-                 i.detachEvent('onlosecaptrue', f),
 
-                 b.ondragstop()
 
-             }
 
-             var c = c || document,
 
-               g = a.clientX,
 
-               h = a.clientY
 
-             if (c.addEventListener)
 
-               c.addEventListener('mousemove', d, !0),
 
-                 c.addEventListener('mouseup', e, !0),
 
-                 window.addEventListener('mouseup', e, !0),
 
-                 a.preventDefault()
 
-             else {
 
-               var i = a.srcElement
 
-               i.setCapture(),
 
-                 i.attachEvent('onmousemove', d),
 
-                 i.attachEvent('onmouseup', f),
 
-                 i.attachEvent('onlosecaptrue', f),
 
-                 (a.returnValue = !1)
 
-             }
 
-             b.ondragstart()
 
-           },
 
-           getFixedLayer: function () {
 
-             var d = document.getElementById('edui_fixedlayer')
 
-             return (
 
-               null == d &&
 
-                 ((d = document.createElement('div')),
 
-                 (d.id = 'edui_fixedlayer'),
 
-                 document.body.appendChild(d),
 
-                 c.ie && c.version <= 8
 
-                   ? ((d.style.position = 'absolute'), b(), setTimeout(a))
 
-                   : (d.style.position = 'fixed'),
 
-                 (d.style.left = '0'),
 
-                 (d.style.top = '0'),
 
-                 (d.style.width = '0'),
 
-                 (d.style.height = '0')),
 
-               d
 
-             )
 
-           },
 
-           makeUnselectable: function (a) {
 
-             if (c.opera || (c.ie && c.version < 9)) {
 
-               if (((a.unselectable = 'on'), a.hasChildNodes()))
 
-                 for (var b = 0; b < a.childNodes.length; b++)
 
-                   1 == a.childNodes[b].nodeType &&
 
-                     i.makeUnselectable(a.childNodes[b])
 
-             } else
 
-               void 0 !== a.style.MozUserSelect
 
-                 ? (a.style.MozUserSelect = 'none')
 
-                 : void 0 !== a.style.WebkitUserSelect
 
-                 ? (a.style.WebkitUserSelect = 'none')
 
-                 : void 0 !== a.style.KhtmlUserSelect &&
 
-                   (a.style.KhtmlUserSelect = 'none')
 
-           }
 
-         })
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = baidu.editor.EventBase,
 
-         d = (baidu.editor.ui.UIBase = function () {})
 
-       ;(d.prototype = {
 
-         className: '',
 
-         uiName: '',
 
-         initOptions: function (a) {
 
-           var c = this
 
-           for (var d in a) c[d] = a[d]
 
-           this.id = this.id || 'edui' + b.uid()
 
-         },
 
-         initUIBase: function () {
 
-           this._globalKey = a.unhtml(b.setGlobal(this.id, this))
 
-         },
 
-         render: function (a) {
 
-           for (
 
-             var c,
 
-               d = this.renderHtml(),
 
-               e = b.createElementByHtml(d),
 
-               f = domUtils.getElementsByTagName(e, '*'),
 
-               g = 'edui-' + (this.theme || this.editor.options.theme),
 
-               h = document.getElementById('edui_fixedlayer'),
 
-               i = 0;
 
-             (c = f[i++]);
 
-           )
 
-             domUtils.addClass(c, g)
 
-           domUtils.addClass(e, g),
 
-             h && ((h.className = ''), domUtils.addClass(h, g))
 
-           var j = this.getDom()
 
-           null != j
 
-             ? (j.parentNode.replaceChild(e, j), b.copyAttributes(e, j))
 
-             : ('string' == typeof a && (a = document.getElementById(a)),
 
-               (a = a || b.getFixedLayer()),
 
-               domUtils.addClass(a, g),
 
-               a.appendChild(e)),
 
-             this.postRender()
 
-         },
 
-         getDom: function (a) {
 
-           return a
 
-             ? document.getElementById(this.id + '_' + a)
 
-             : document.getElementById(this.id)
 
-         },
 
-         postRender: function () {
 
-           this.fireEvent('postrender')
 
-         },
 
-         getHtmlTpl: function () {
 
-           return ''
 
-         },
 
-         formatHtml: function (a) {
 
-           var b = 'edui-' + this.uiName
 
-           return a
 
-             .replace(/##/g, this.id)
 
-             .replace(/%%-/g, this.uiName ? b + '-' : '')
 
-             .replace(/%%/g, (this.uiName ? b : '') + ' ' + this.className)
 
-             .replace(/\$\$/g, this._globalKey)
 
-         },
 
-         renderHtml: function () {
 
-           return this.formatHtml(this.getHtmlTpl())
 
-         },
 
-         dispose: function () {
 
-           var a = this.getDom()
 
-           a && baidu.editor.dom.domUtils.remove(a), b.unsetGlobal(this.id)
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.UIBase,
 
-         c = (baidu.editor.ui.Separator = function (a) {
 
-           this.initOptions(a), this.initSeparator()
 
-         })
 
-       ;(c.prototype = {
 
-         uiName: 'separator',
 
-         initSeparator: function () {
 
-           this.initUIBase()
 
-         },
 
-         getHtmlTpl: function () {
 
-           return '<div id="##" class="edui-box %%"></div>'
 
-         }
 
-       }),
 
-         a.inherits(c, b)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.dom.domUtils,
 
-         c = baidu.editor.ui.UIBase,
 
-         d = baidu.editor.ui.uiUtils,
 
-         e = (baidu.editor.ui.Mask = function (a) {
 
-           this.initOptions(a), this.initUIBase()
 
-         })
 
-       ;(e.prototype = {
 
-         getHtmlTpl: function () {
 
-           return '<div id="##" class="edui-mask %%" onclick="return $$._onClick(event, this);" onmousedown="return $$._onMouseDown(event, this);"></div>'
 
-         },
 
-         postRender: function () {
 
-           var a = this
 
-           b.on(window, 'resize', function () {
 
-             setTimeout(function () {
 
-               a.isHidden() || a._fill()
 
-             })
 
-           })
 
-         },
 
-         show: function (a) {
 
-           this._fill(),
 
-             (this.getDom().style.display = ''),
 
-             (this.getDom().style.zIndex = a)
 
-         },
 
-         hide: function () {
 
-           ;(this.getDom().style.display = 'none'),
 
-             (this.getDom().style.zIndex = '')
 
-         },
 
-         isHidden: function () {
 
-           return 'none' == this.getDom().style.display
 
-         },
 
-         _onMouseDown: function () {
 
-           return !1
 
-         },
 
-         _onClick: function (a, b) {
 
-           this.fireEvent('click', a, b)
 
-         },
 
-         _fill: function () {
 
-           var a = this.getDom(),
 
-             b = d.getViewportRect()
 
-           ;(a.style.width = b.width + 'px'), (a.style.height = b.height + 'px')
 
-         }
 
-       }),
 
-         a.inherits(e, c)
 
-     })(),
 
-     (function () {
 
-       function a(a, b) {
 
-         for (var c = 0; c < g.length; c++) {
 
-           var d = g[c]
 
-           if (!d.isHidden() && d.queryAutoHide(b) !== !1) {
 
-             if (
 
-               a &&
 
-               /scroll/gi.test(a.type) &&
 
-               'edui-wordpastepop' == d.className
 
-             )
 
-               return
 
-             d.hide()
 
-           }
 
-         }
 
-         g.length && d.editor.fireEvent('afterhidepop')
 
-       }
 
-       var b = baidu.editor.utils,
 
-         c = baidu.editor.ui.uiUtils,
 
-         d = baidu.editor.dom.domUtils,
 
-         e = baidu.editor.ui.UIBase,
 
-         f = (baidu.editor.ui.Popup = function (a) {
 
-           this.initOptions(a), this.initPopup()
 
-         }),
 
-         g = []
 
-       f.postHide = a
 
-       var h = [
 
-         'edui-anchor-topleft',
 
-         'edui-anchor-topright',
 
-         'edui-anchor-bottomleft',
 
-         'edui-anchor-bottomright'
 
-       ]
 
-       ;(f.prototype = {
 
-         SHADOW_RADIUS: 5,
 
-         content: null,
 
-         _hidden: !1,
 
-         autoRender: !0,
 
-         canSideLeft: !0,
 
-         canSideUp: !0,
 
-         initPopup: function () {
 
-           this.initUIBase(), g.push(this)
 
-         },
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div id="##" class="edui-popup %%" onmousedown="return false;"> <div id="##_body" class="edui-popup-body"> <iframe style="position:absolute;z-index:-1;left:0;top:0;background-color: transparent;" frameborder="0" width="100%" height="100%" src="about:blank"></iframe> <div class="edui-shadow"></div> <div id="##_content" class="edui-popup-content">' +
 
-             this.getContentHtmlTpl() +
 
-             '  </div> </div></div>'
 
-           )
 
-         },
 
-         getContentHtmlTpl: function () {
 
-           return this.content
 
-             ? 'string' == typeof this.content
 
-               ? this.content
 
-               : this.content.renderHtml()
 
-             : ''
 
-         },
 
-         _UIBase_postRender: e.prototype.postRender,
 
-         postRender: function () {
 
-           if (
 
-             (this.content instanceof e && this.content.postRender(),
 
-             this.captureWheel && !this.captured)
 
-           ) {
 
-             this.captured = !0
 
-             var a =
 
-                 (document.documentElement.clientHeight ||
 
-                   document.body.clientHeight) - 80,
 
-               b = this.getDom().offsetHeight,
 
-               f = c.getClientRect(this.combox.getDom()).top,
 
-               g = this.getDom('content'),
 
-               h = this.getDom('body').getElementsByTagName('iframe'),
 
-               i = this
 
-             for (h.length && (h = h[0]); f + b > a; ) b -= 30
 
-             ;(g.style.height = b + 'px'),
 
-               h && (h.style.height = b + 'px'),
 
-               window.XMLHttpRequest
 
-                 ? d.on(
 
-                     g,
 
-                     'onmousewheel' in document.body
 
-                       ? 'mousewheel'
 
-                       : 'DOMMouseScroll',
 
-                     function (a) {
 
-                       a.preventDefault
 
-                         ? a.preventDefault()
 
-                         : (a.returnValue = !1),
 
-                         a.wheelDelta
 
-                           ? (g.scrollTop -= (a.wheelDelta / 120) * 60)
 
-                           : (g.scrollTop -= (a.detail / -3) * 60)
 
-                     }
 
-                   )
 
-                 : d.on(this.getDom(), 'mousewheel', function (a) {
 
-                     ;(a.returnValue = !1),
 
-                       (i.getDom('content').scrollTop -=
 
-                         (a.wheelDelta / 120) * 60)
 
-                   })
 
-           }
 
-           this.fireEvent('postRenderAfter'),
 
-             this.hide(!0),
 
-             this._UIBase_postRender()
 
-         },
 
-         _doAutoRender: function () {
 
-           !this.getDom() && this.autoRender && this.render()
 
-         },
 
-         mesureSize: function () {
 
-           var a = this.getDom('content')
 
-           return c.getClientRect(a)
 
-         },
 
-         fitSize: function () {
 
-           if (this.captureWheel && this.sized) return this.__size
 
-           this.sized = !0
 
-           var a = this.getDom('body')
 
-           ;(a.style.width = ''), (a.style.height = '')
 
-           var b = this.mesureSize()
 
-           if (this.captureWheel) {
 
-             a.style.width = -(-20 - b.width) + 'px'
 
-             var c = parseInt(this.getDom('content').style.height, 10)
 
-             !window.isNaN(c) && (b.height = c)
 
-           } else a.style.width = b.width + 'px'
 
-           return (
 
-             (a.style.height = b.height + 'px'),
 
-             (this.__size = b),
 
-             this.captureWheel &&
 
-               (this.getDom('content').style.overflow = 'auto'),
 
-             b
 
-           )
 
-         },
 
-         showAnchor: function (a, b) {
 
-           this.showAnchorRect(c.getClientRect(a), b)
 
-         },
 
-         showAnchorRect: function (a, b, e) {
 
-           this._doAutoRender()
 
-           var f = c.getViewportRect()
 
-           ;(this.getDom().style.visibility = 'hidden'), this._show()
 
-           var g,
 
-             i,
 
-             j,
 
-             k,
 
-             l = this.fitSize()
 
-           b
 
-             ? ((g =
 
-                 this.canSideLeft &&
 
-                 a.right + l.width > f.right &&
 
-                 a.left > l.width),
 
-               (i =
 
-                 this.canSideUp &&
 
-                 a.top + l.height > f.bottom &&
 
-                 a.bottom > l.height),
 
-               (j = g ? a.left - l.width : a.right),
 
-               (k = i ? a.bottom - l.height : a.top))
 
-             : ((g =
 
-                 this.canSideLeft &&
 
-                 a.right + l.width > f.right &&
 
-                 a.left > l.width),
 
-               (i =
 
-                 this.canSideUp &&
 
-                 a.top + l.height > f.bottom &&
 
-                 a.bottom > l.height),
 
-               (j = g ? a.right - l.width : a.left),
 
-               (k = i ? a.top - l.height : a.bottom))
 
-           var m = this.getDom()
 
-           c.setViewportOffset(m, { left: j, top: k }),
 
-             d.removeClasses(m, h),
 
-             (m.className += ' ' + h[2 * (i ? 1 : 0) + (g ? 1 : 0)]),
 
-             this.editor &&
 
-               ((m.style.zIndex = 1 * this.editor.container.style.zIndex + 10),
 
-               (baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex =
 
-                 m.style.zIndex - 1)),
 
-             (this.getDom().style.visibility = 'visible')
 
-         },
 
-         showAt: function (a) {
 
-           var b = a.left,
 
-             c = a.top,
 
-             d = { left: b, top: c, right: b, bottom: c, height: 0, width: 0 }
 
-           this.showAnchorRect(d, !1, !0)
 
-         },
 
-         _show: function () {
 
-           if (this._hidden) {
 
-             var a = this.getDom()
 
-             ;(a.style.display = ''), (this._hidden = !1), this.fireEvent('show')
 
-           }
 
-         },
 
-         isHidden: function () {
 
-           return this._hidden
 
-         },
 
-         show: function () {
 
-           this._doAutoRender(), this._show()
 
-         },
 
-         hide: function (a) {
 
-           !this._hidden &&
 
-             this.getDom() &&
 
-             ((this.getDom().style.display = 'none'),
 
-             (this._hidden = !0),
 
-             a || this.fireEvent('hide'))
 
-         },
 
-         queryAutoHide: function (a) {
 
-           return !a || !c.contains(this.getDom(), a)
 
-         }
 
-       }),
 
-         b.inherits(f, e),
 
-         d.on(document, 'mousedown', function (b) {
 
-           var c = b.target || b.srcElement
 
-           a(b, c)
 
-         }),
 
-         d.on(window, 'scroll', function (b, c) {
 
-           a(b, c)
 
-         })
 
-     })(),
 
-     (function () {
 
-       function a(a, b) {
 
-         for (
 
-           var c =
 
-               '<div id="##" class="edui-colorpicker %%"><div class="edui-colorpicker-topbar edui-clearfix"><div unselectable="on" id="##_preview" class="edui-colorpicker-preview"></div><div unselectable="on" class="edui-colorpicker-nocolor" onclick="$$._onPickNoColor(event, this);">' +
 
-               a +
 
-               '</div></div><table  class="edui-box" style="border-collapse: collapse;" onmouseover="$$._onTableOver(event, this);" onmouseout="$$._onTableOut(event, this);" onclick="return $$._onTableClick(event, this);" cellspacing="0" cellpadding="0"><tr style="border-bottom: 1px solid #ddd;font-size: 13px;line-height: 25px;color:#39C;padding-top: 2px"><td colspan="10">' +
 
-               b.getLang('themeColor') +
 
-               '</td> </tr><tr class="edui-colorpicker-tablefirstrow" >',
 
-             d = 0;
 
-           d < e.length;
 
-           d++
 
-         )
 
-           d &&
 
-             d % 10 === 0 &&
 
-             (c +=
 
-               '</tr>' +
 
-               (60 == d
 
-                 ? '<tr style="border-bottom: 1px solid #ddd;font-size: 13px;line-height: 25px;color:#39C;"><td colspan="10">' +
 
-                   b.getLang('standardColor') +
 
-                   '</td></tr>'
 
-                 : '') +
 
-               '<tr' +
 
-               (60 == d ? ' class="edui-colorpicker-tablefirstrow"' : '') +
 
-               '>'),
 
-             (c +=
 
-               d < 70
 
-                 ? '<td style="padding: 0 2px;"><a hidefocus title="' +
 
-                   e[d] +
 
-                   '" onclick="return false;" href="javascript:" unselectable="on" class="edui-box edui-colorpicker-colorcell" data-color="#' +
 
-                   e[d] +
 
-                   '" style="background-color:#' +
 
-                   e[d] +
 
-                   ';border:solid #ccc;' +
 
-                   (d < 10 || d >= 60
 
-                     ? 'border-width:1px;'
 
-                     : d >= 10 && d < 20
 
-                     ? 'border-width:1px 1px 0 1px;'
 
-                     : 'border-width:0 1px 0 1px;') +
 
-                   '"></a></td>'
 
-                 : '')
 
-         return (c += '</tr></table></div>')
 
-       }
 
-       var b = baidu.editor.utils,
 
-         c = baidu.editor.ui.UIBase,
 
-         d = (baidu.editor.ui.ColorPicker = function (a) {
 
-           this.initOptions(a),
 
-             (this.noColorText =
 
-               this.noColorText || this.editor.getLang('clearColor')),
 
-             this.initUIBase()
 
-         })
 
-       ;(d.prototype = {
 
-         getHtmlTpl: function () {
 
-           return a(this.noColorText, this.editor)
 
-         },
 
-         _onTableClick: function (a) {
 
-           var b = a.target || a.srcElement,
 
-             c = b.getAttribute('data-color')
 
-           c && this.fireEvent('pickcolor', c)
 
-         },
 
-         _onTableOver: function (a) {
 
-           var b = a.target || a.srcElement,
 
-             c = b.getAttribute('data-color')
 
-           c && (this.getDom('preview').style.backgroundColor = c)
 
-         },
 
-         _onTableOut: function () {
 
-           this.getDom('preview').style.backgroundColor = ''
 
-         },
 
-         _onPickNoColor: function () {
 
-           this.fireEvent('picknocolor')
 
-         }
 
-       }),
 
-         b.inherits(d, c)
 
-       var e =
 
-         'ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,d8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,'.split(
 
-           ','
 
-         )
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = baidu.editor.ui.UIBase,
 
-         d = (baidu.editor.ui.TablePicker = function (a) {
 
-           this.initOptions(a), this.initTablePicker()
 
-         })
 
-       ;(d.prototype = {
 
-         defaultNumRows: 10,
 
-         defaultNumCols: 10,
 
-         maxNumRows: 20,
 
-         maxNumCols: 20,
 
-         numRows: 10,
 
-         numCols: 10,
 
-         lengthOfCellSide: 22,
 
-         initTablePicker: function () {
 
-           this.initUIBase()
 
-         },
 
-         getHtmlTpl: function () {
 
-           return '<div id="##" class="edui-tablepicker %%"><div class="edui-tablepicker-body"><div class="edui-infoarea"><span id="##_label" class="edui-label"></span></div><div class="edui-pickarea" onmousemove="$$._onMouseMove(event, this);" onmouseover="$$._onMouseOver(event, this);" onmouseout="$$._onMouseOut(event, this);" onclick="$$._onClick(event, this);"><div id="##_overlay" class="edui-overlay"></div></div></div></div>'
 
-         },
 
-         _UIBase_render: c.prototype.render,
 
-         render: function (a) {
 
-           this._UIBase_render(a),
 
-             (this.getDom('label').innerHTML =
 
-               '0' +
 
-               this.editor.getLang('t_row') +
 
-               ' x 0' +
 
-               this.editor.getLang('t_col'))
 
-         },
 
-         _track: function (a, b) {
 
-           var c = this.getDom('overlay').style,
 
-             d = this.lengthOfCellSide
 
-           ;(c.width = a * d + 'px'), (c.height = b * d + 'px')
 
-           var e = this.getDom('label')
 
-           ;(e.innerHTML =
 
-             a +
 
-             this.editor.getLang('t_col') +
 
-             ' x ' +
 
-             b +
 
-             this.editor.getLang('t_row')),
 
-             (this.numCols = a),
 
-             (this.numRows = b)
 
-         },
 
-         _onMouseOver: function (a, c) {
 
-           var d = a.relatedTarget || a.fromElement
 
-           b.contains(c, d) ||
 
-             c === d ||
 
-             ((this.getDom('label').innerHTML =
 
-               '0' +
 
-               this.editor.getLang('t_col') +
 
-               ' x 0' +
 
-               this.editor.getLang('t_row')),
 
-             (this.getDom('overlay').style.visibility = ''))
 
-         },
 
-         _onMouseOut: function (a, c) {
 
-           var d = a.relatedTarget || a.toElement
 
-           b.contains(c, d) ||
 
-             c === d ||
 
-             ((this.getDom('label').innerHTML =
 
-               '0' +
 
-               this.editor.getLang('t_col') +
 
-               ' x 0' +
 
-               this.editor.getLang('t_row')),
 
-             (this.getDom('overlay').style.visibility = 'hidden'))
 
-         },
 
-         _onMouseMove: function (a, c) {
 
-           var d = (this.getDom('overlay').style, b.getEventOffset(a)),
 
-             e = this.lengthOfCellSide,
 
-             f = Math.ceil(d.left / e),
 
-             g = Math.ceil(d.top / e)
 
-           this._track(f, g)
 
-         },
 
-         _onClick: function () {
 
-           this.fireEvent('picktable', this.numCols, this.numRows)
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.browser,
 
-         b = baidu.editor.dom.domUtils,
 
-         c = baidu.editor.ui.uiUtils,
 
-         d =
 
-           'onmousedown="$$.Stateful_onMouseDown(event, this);" onmouseup="$$.Stateful_onMouseUp(event, this);"' +
 
-           (a.ie
 
-             ? ' onmouseenter="$$.Stateful_onMouseEnter(event, this);" onmouseleave="$$.Stateful_onMouseLeave(event, this);"'
 
-             : ' onmouseover="$$.Stateful_onMouseOver(event, this);" onmouseout="$$.Stateful_onMouseOut(event, this);"')
 
-       baidu.editor.ui.Stateful = {
 
-         alwalysHoverable: !1,
 
-         target: null,
 
-         Stateful_init: function () {
 
-           ;(this._Stateful_dGetHtmlTpl = this.getHtmlTpl),
 
-             (this.getHtmlTpl = this.Stateful_getHtmlTpl)
 
-         },
 
-         Stateful_getHtmlTpl: function () {
 
-           var a = this._Stateful_dGetHtmlTpl()
 
-           return a.replace(/stateful/g, function () {
 
-             return d
 
-           })
 
-         },
 
-         Stateful_onMouseEnter: function (a, b) {
 
-           ;(this.target = b),
 
-             (this.isDisabled() && !this.alwalysHoverable) ||
 
-               (this.addState('hover'), this.fireEvent('over'))
 
-         },
 
-         Stateful_onMouseLeave: function (a, b) {
 
-           ;(this.isDisabled() && !this.alwalysHoverable) ||
 
-             (this.removeState('hover'),
 
-             this.removeState('active'),
 
-             this.fireEvent('out'))
 
-         },
 
-         Stateful_onMouseOver: function (a, b) {
 
-           var d = a.relatedTarget
 
-           c.contains(b, d) || b === d || this.Stateful_onMouseEnter(a, b)
 
-         },
 
-         Stateful_onMouseOut: function (a, b) {
 
-           var d = a.relatedTarget
 
-           c.contains(b, d) || b === d || this.Stateful_onMouseLeave(a, b)
 
-         },
 
-         Stateful_onMouseDown: function (a, b) {
 
-           this.isDisabled() || this.addState('active')
 
-         },
 
-         Stateful_onMouseUp: function (a, b) {
 
-           this.isDisabled() || this.removeState('active')
 
-         },
 
-         Stateful_postRender: function () {
 
-           this.disabled &&
 
-             !this.hasState('disabled') &&
 
-             this.addState('disabled')
 
-         },
 
-         hasState: function (a) {
 
-           return b.hasClass(this.getStateDom(), 'edui-state-' + a)
 
-         },
 
-         addState: function (a) {
 
-           this.hasState(a) ||
 
-             (this.getStateDom().className += ' edui-state-' + a)
 
-         },
 
-         removeState: function (a) {
 
-           this.hasState(a) &&
 
-             b.removeClasses(this.getStateDom(), ['edui-state-' + a])
 
-         },
 
-         getStateDom: function () {
 
-           return this.getDom('state')
 
-         },
 
-         isChecked: function () {
 
-           return this.hasState('checked')
 
-         },
 
-         setChecked: function (a) {
 
-           !this.isDisabled() && a
 
-             ? this.addState('checked')
 
-             : this.removeState('checked')
 
-         },
 
-         isDisabled: function () {
 
-           return this.hasState('disabled')
 
-         },
 
-         setDisabled: function (a) {
 
-           a
 
-             ? (this.removeState('hover'),
 
-               this.removeState('checked'),
 
-               this.removeState('active'),
 
-               this.addState('disabled'))
 
-             : this.removeState('disabled')
 
-         }
 
-       }
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.UIBase,
 
-         c = baidu.editor.ui.Stateful,
 
-         d = (baidu.editor.ui.Button = function (a) {
 
-           if (a.name) {
 
-             var b = a.name,
 
-               c = a.cssRules
 
-             a.className || (a.className = 'edui-for-' + b),
 
-               (a.cssRules =
 
-                 '.edui-default  .edui-for-' + b + ' .edui-icon {' + c + '}')
 
-           }
 
-           this.initOptions(a), this.initButton()
 
-         })
 
-       ;(d.prototype = {
 
-         uiName: 'button',
 
-         label: '',
 
-         title: '',
 
-         showIcon: !0,
 
-         showText: !0,
 
-         cssRules: '',
 
-         initButton: function () {
 
-           this.initUIBase(),
 
-             this.Stateful_init(),
 
-             this.cssRules &&
 
-               a.cssRule('edui-customize-' + this.name + '-style', this.cssRules)
 
-         },
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div id="##" class="edui-box %%"><div id="##_state" stateful><div class="%%-wrap"><div id="##_body" unselectable="on" ' +
 
-             (this.title ? 'title="' + this.title + '"' : '') +
 
-             ' class="%%-body" onmousedown="return $$._onMouseDown(event, this);" onclick="return $$._onClick(event, this);">' +
 
-             (this.showIcon ? '<div class="edui-box edui-icon"></div>' : '') +
 
-             (this.showText
 
-               ? '<div class="edui-box edui-label">' + this.label + '</div>'
 
-               : '') +
 
-             '</div></div></div></div>'
 
-           )
 
-         },
 
-         postRender: function () {
 
-           this.Stateful_postRender(), this.setDisabled(this.disabled)
 
-         },
 
-         _onMouseDown: function (a) {
 
-           var b = a.target || a.srcElement,
 
-             c = b && b.tagName && b.tagName.toLowerCase()
 
-           if ('input' == c || 'object' == c || 'object' == c) return !1
 
-         },
 
-         _onClick: function () {
 
-           this.isDisabled() || this.fireEvent('click')
 
-         },
 
-         setTitle: function (a) {
 
-           var b = this.getDom('label')
 
-           b.innerHTML = a
 
-         }
 
-       }),
 
-         a.inherits(d, b),
 
-         a.extend(d.prototype, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = (baidu.editor.dom.domUtils, baidu.editor.ui.UIBase),
 
-         d = baidu.editor.ui.Stateful,
 
-         e = (baidu.editor.ui.SplitButton = function (a) {
 
-           this.initOptions(a), this.initSplitButton()
 
-         })
 
-       ;(e.prototype = {
 
-         popup: null,
 
-         uiName: 'splitbutton',
 
-         title: '',
 
-         initSplitButton: function () {
 
-           this.initUIBase(), this.Stateful_init()
 
-           if (null != this.popup) {
 
-             var a = this.popup
 
-             ;(this.popup = null), this.setPopup(a)
 
-           }
 
-         },
 
-         _UIBase_postRender: c.prototype.postRender,
 
-         postRender: function () {
 
-           this.Stateful_postRender(), this._UIBase_postRender()
 
-         },
 
-         setPopup: function (c) {
 
-           this.popup !== c &&
 
-             (null != this.popup && this.popup.dispose(),
 
-             c.addListener('show', a.bind(this._onPopupShow, this)),
 
-             c.addListener('hide', a.bind(this._onPopupHide, this)),
 
-             c.addListener(
 
-               'postrender',
 
-               a.bind(function () {
 
-                 c
 
-                   .getDom('body')
 
-                   .appendChild(
 
-                     b.createElementByHtml(
 
-                       '<div id="' +
 
-                         this.popup.id +
 
-                         '_bordereraser" class="edui-bordereraser edui-background" style="width:' +
 
-                         (b.getClientRect(this.getDom()).width + 20) +
 
-                         'px"></div>'
 
-                     )
 
-                   ),
 
-                   (c.getDom().className += ' ' + this.className)
 
-               }, this)
 
-             ),
 
-             (this.popup = c))
 
-         },
 
-         _onPopupShow: function () {
 
-           this.addState('opened')
 
-         },
 
-         _onPopupHide: function () {
 
-           this.removeState('opened')
 
-         },
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div id="##" class="edui-box %%"><div ' +
 
-             (this.title ? 'title="' + this.title + '"' : '') +
 
-             ' id="##_state" stateful><div class="%%-body"><div id="##_button_body" class="edui-box edui-button-body" onclick="$$._onButtonClick(event, this);"><div class="edui-box edui-icon"></div></div><div class="edui-box edui-splitborder"></div><div class="edui-box edui-arrow" onclick="$$._onArrowClick();"></div></div></div></div>'
 
-           )
 
-         },
 
-         showPopup: function () {
 
-           var a = b.getClientRect(this.getDom())
 
-           ;(a.top -= this.popup.SHADOW_RADIUS),
 
-             (a.height += this.popup.SHADOW_RADIUS),
 
-             this.popup.showAnchorRect(a)
 
-         },
 
-         _onArrowClick: function (a, b) {
 
-           this.isDisabled() || this.showPopup()
 
-         },
 
-         _onButtonClick: function () {
 
-           this.isDisabled() || this.fireEvent('buttonclick')
 
-         }
 
-       }),
 
-         a.inherits(e, c),
 
-         a.extend(e.prototype, d, !0)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = baidu.editor.ui.ColorPicker,
 
-         d = baidu.editor.ui.Popup,
 
-         e = baidu.editor.ui.SplitButton,
 
-         f = (baidu.editor.ui.ColorButton = function (a) {
 
-           this.initOptions(a), this.initColorButton()
 
-         })
 
-       ;(f.prototype = {
 
-         initColorButton: function () {
 
-           var a = this
 
-           ;(this.popup = new d({
 
-             content: new c({
 
-               noColorText: a.editor.getLang('clearColor'),
 
-               editor: a.editor,
 
-               onpickcolor: function (b, c) {
 
-                 a._onPickColor(c)
 
-               },
 
-               onpicknocolor: function (b, c) {
 
-                 a._onPickNoColor(c)
 
-               }
 
-             }),
 
-             editor: a.editor
 
-           })),
 
-             this.initSplitButton()
 
-         },
 
-         _SplitButton_postRender: e.prototype.postRender,
 
-         postRender: function () {
 
-           this._SplitButton_postRender(),
 
-             this.getDom('button_body').appendChild(
 
-               b.createElementByHtml(
 
-                 '<div id="' +
 
-                   this.id +
 
-                   '_colorlump" class="edui-colorlump"></div>'
 
-               )
 
-             ),
 
-             (this.getDom().className += ' edui-colorbutton')
 
-         },
 
-         setColor: function (a) {
 
-           ;(this.getDom('colorlump').style.backgroundColor = a),
 
-             (this.color = a)
 
-         },
 
-         _onPickColor: function (a) {
 
-           this.fireEvent('pickcolor', a) !== !1 &&
 
-             (this.setColor(a), this.popup.hide())
 
-         },
 
-         _onPickNoColor: function (a) {
 
-           this.fireEvent('picknocolor') !== !1 && this.popup.hide()
 
-         }
 
-       }),
 
-         a.inherits(f, e)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.Popup,
 
-         c = baidu.editor.ui.TablePicker,
 
-         d = baidu.editor.ui.SplitButton,
 
-         e = (baidu.editor.ui.TableButton = function (a) {
 
-           this.initOptions(a), this.initTableButton()
 
-         })
 
-       ;(e.prototype = {
 
-         initTableButton: function () {
 
-           var a = this
 
-           ;(this.popup = new b({
 
-             content: new c({
 
-               editor: a.editor,
 
-               onpicktable: function (b, c, d) {
 
-                 a._onPickTable(c, d)
 
-               }
 
-             }),
 
-             editor: a.editor
 
-           })),
 
-             this.initSplitButton()
 
-         },
 
-         _onPickTable: function (a, b) {
 
-           this.fireEvent('picktable', a, b) !== !1 && this.popup.hide()
 
-         }
 
-       }),
 
-         a.inherits(e, d)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.UIBase,
 
-         c = (baidu.editor.ui.AutoTypeSetPicker = function (a) {
 
-           this.initOptions(a), this.initAutoTypeSetPicker()
 
-         })
 
-       ;(c.prototype = {
 
-         initAutoTypeSetPicker: function () {
 
-           this.initUIBase()
 
-         },
 
-         getHtmlTpl: function () {
 
-           var a = this.editor,
 
-             b = a.options.autotypeset,
 
-             c = a.getLang('autoTypeSet'),
 
-             d = 'textAlignValue' + a.uid,
 
-             e = 'imageBlockLineValue' + a.uid,
 
-             f = 'symbolConverValue' + a.uid
 
-           return (
 
-             '<div id="##" class="edui-autotypesetpicker %%"><div class="edui-autotypesetpicker-body"><table ><tr><td nowrap><input type="checkbox" name="mergeEmptyline" ' +
 
-             (b.mergeEmptyline ? 'checked' : '') +
 
-             '>' +
 
-             c.mergeLine +
 
-             '</td><td colspan="2"><input type="checkbox" name="removeEmptyline" ' +
 
-             (b.removeEmptyline ? 'checked' : '') +
 
-             '>' +
 
-             c.delLine +
 
-             '</td></tr><tr><td nowrap><input type="checkbox" name="removeClass" ' +
 
-             (b.removeClass ? 'checked' : '') +
 
-             '>' +
 
-             c.removeFormat +
 
-             '</td><td colspan="2"><input type="checkbox" name="indent" ' +
 
-             (b.indent ? 'checked' : '') +
 
-             '>' +
 
-             c.indent +
 
-             '</td></tr><tr><td nowrap><input type="checkbox" name="textAlign" ' +
 
-             (b.textAlign ? 'checked' : '') +
 
-             '>' +
 
-             c.alignment +
 
-             '</td><td colspan="2" id="' +
 
-             d +
 
-             '"><input type="radio" name="' +
 
-             d +
 
-             '" value="left" ' +
 
-             (b.textAlign && 'left' == b.textAlign ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('justifyleft') +
 
-             '<input type="radio" name="' +
 
-             d +
 
-             '" value="center" ' +
 
-             (b.textAlign && 'center' == b.textAlign ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('justifycenter') +
 
-             '<input type="radio" name="' +
 
-             d +
 
-             '" value="right" ' +
 
-             (b.textAlign && 'right' == b.textAlign ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('justifyright') +
 
-             '</td></tr><tr><td nowrap><input type="checkbox" name="imageBlockLine" ' +
 
-             (b.imageBlockLine ? 'checked' : '') +
 
-             '>' +
 
-             c.imageFloat +
 
-             '</td><td nowrap id="' +
 
-             e +
 
-             '"><input type="radio" name="' +
 
-             e +
 
-             '" value="none" ' +
 
-             (b.imageBlockLine && 'none' == b.imageBlockLine ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('default') +
 
-             '<input type="radio" name="' +
 
-             e +
 
-             '" value="left" ' +
 
-             (b.imageBlockLine && 'left' == b.imageBlockLine ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('justifyleft') +
 
-             '<input type="radio" name="' +
 
-             e +
 
-             '" value="center" ' +
 
-             (b.imageBlockLine && 'center' == b.imageBlockLine
 
-               ? 'checked'
 
-               : '') +
 
-             '>' +
 
-             a.getLang('justifycenter') +
 
-             '<input type="radio" name="' +
 
-             e +
 
-             '" value="right" ' +
 
-             (b.imageBlockLine && 'right' == b.imageBlockLine ? 'checked' : '') +
 
-             '>' +
 
-             a.getLang('justifyright') +
 
-             '</td></tr><tr><td nowrap><input type="checkbox" name="clearFontSize" ' +
 
-             (b.clearFontSize ? 'checked' : '') +
 
-             '>' +
 
-             c.removeFontsize +
 
-             '</td><td colspan="2"><input type="checkbox" name="clearFontFamily" ' +
 
-             (b.clearFontFamily ? 'checked' : '') +
 
-             '>' +
 
-             c.removeFontFamily +
 
-             '</td></tr><tr><td nowrap colspan="3"><input type="checkbox" name="removeEmptyNode" ' +
 
-             (b.removeEmptyNode ? 'checked' : '') +
 
-             '>' +
 
-             c.removeHtml +
 
-             '</td></tr><tr><td nowrap colspan="3"><input type="checkbox" name="pasteFilter" ' +
 
-             (b.pasteFilter ? 'checked' : '') +
 
-             '>' +
 
-             c.pasteFilter +
 
-             '</td></tr><tr><td nowrap><input type="checkbox" name="symbolConver" ' +
 
-             (b.bdc2sb || b.tobdc ? 'checked' : '') +
 
-             '>' +
 
-             c.symbol +
 
-             '</td><td id="' +
 
-             f +
 
-             '"><input type="radio" name="bdc" value="bdc2sb" ' +
 
-             (b.bdc2sb ? 'checked' : '') +
 
-             '>' +
 
-             c.bdc2sb +
 
-             '<input type="radio" name="bdc" value="tobdc" ' +
 
-             (b.tobdc ? 'checked' : '') +
 
-             '>' +
 
-             c.tobdc +
 
-             '</td><td nowrap align="right"><button >' +
 
-             c.run +
 
-             '</button></td></tr></table></div></div>'
 
-           )
 
-         },
 
-         _UIBase_render: b.prototype.render
 
-       }),
 
-         a.inherits(c, b)
 
-     })(),
 
-     (function () {
 
-       function a(a) {
 
-         for (
 
-           var c,
 
-             d = {},
 
-             e = a.getDom(),
 
-             f = a.editor.uid,
 
-             g = null,
 
-             h = null,
 
-             i = domUtils.getElementsByTagName(e, 'input'),
 
-             j = i.length - 1;
 
-           (c = i[j--]);
 
-         )
 
-           if (((g = c.getAttribute('type')), 'checkbox' == g))
 
-             if (
 
-               ((h = c.getAttribute('name')), d[h] && delete d[h], c.checked)
 
-             ) {
 
-               var k = document.getElementById(h + 'Value' + f)
 
-               if (k) {
 
-                 if (/input/gi.test(k.tagName)) d[h] = k.value
 
-                 else
 
-                   for (
 
-                     var l,
 
-                       m = k.getElementsByTagName('input'),
 
-                       n = m.length - 1;
 
-                     (l = m[n--]);
 
-                   )
 
-                     if (l.checked) {
 
-                       d[h] = l.value
 
-                       break
 
-                     }
 
-               } else d[h] = !0
 
-             } else d[h] = !1
 
-           else d[c.getAttribute('value')] = c.checked
 
-         for (
 
-           var o, p = domUtils.getElementsByTagName(e, 'select'), j = 0;
 
-           (o = p[j++]);
 
-         ) {
 
-           var q = o.getAttribute('name')
 
-           d[q] = d[q] ? o.value : ''
 
-         }
 
-         b.extend(a.editor.options.autotypeset, d),
 
-           a.editor.setPreferences('autotypeset', d)
 
-       }
 
-       var b = baidu.editor.utils,
 
-         c = baidu.editor.ui.Popup,
 
-         d = baidu.editor.ui.AutoTypeSetPicker,
 
-         e = baidu.editor.ui.SplitButton,
 
-         f = (baidu.editor.ui.AutoTypeSetButton = function (a) {
 
-           this.initOptions(a), this.initAutoTypeSetButton()
 
-         })
 
-       ;(f.prototype = {
 
-         initAutoTypeSetButton: function () {
 
-           var b = this
 
-           this.popup = new c({
 
-             content: new d({ editor: b.editor }),
 
-             editor: b.editor,
 
-             hide: function () {
 
-               !this._hidden &&
 
-                 this.getDom() &&
 
-                 (a(this),
 
-                 (this.getDom().style.display = 'none'),
 
-                 (this._hidden = !0),
 
-                 this.fireEvent('hide'))
 
-             }
 
-           })
 
-           var e = 0
 
-           this.popup.addListener('postRenderAfter', function () {
 
-             var c = this
 
-             if (!e) {
 
-               var d = this.getDom(),
 
-                 f = d.getElementsByTagName('button')[0]
 
-               ;(f.onclick = function () {
 
-                 a(c), b.editor.execCommand('autotypeset'), c.hide()
 
-               }),
 
-                 domUtils.on(d, 'click', function (d) {
 
-                   var e = d.target || d.srcElement,
 
-                     f = b.editor.uid
 
-                   if (e && 'INPUT' == e.tagName) {
 
-                     if (
 
-                       'imageBlockLine' == e.name ||
 
-                       'textAlign' == e.name ||
 
-                       'symbolConver' == e.name
 
-                     )
 
-                       for (
 
-                         var g = e.checked,
 
-                           h = document.getElementById(e.name + 'Value' + f),
 
-                           i = h.getElementsByTagName('input'),
 
-                           j = {
 
-                             imageBlockLine: 'none',
 
-                             textAlign: 'left',
 
-                             symbolConver: 'tobdc'
 
-                           },
 
-                           k = 0;
 
-                         k < i.length;
 
-                         k++
 
-                       )
 
-                         g
 
-                           ? i[k].value == j[e.name] &&
 
-                             (i[k].checked = 'checked')
 
-                           : (i[k].checked = !1)
 
-                     if (
 
-                       e.name == 'imageBlockLineValue' + f ||
 
-                       e.name == 'textAlignValue' + f ||
 
-                       'bdc' == e.name
 
-                     ) {
 
-                       var l =
 
-                         e.parentNode.previousSibling.getElementsByTagName(
 
-                           'input'
 
-                         )
 
-                       l && (l[0].checked = !0)
 
-                     }
 
-                     a(c)
 
-                   }
 
-                 }),
 
-                 (e = 1)
 
-             }
 
-           }),
 
-             this.initSplitButton()
 
-         }
 
-       }),
 
-         b.inherits(f, e)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.Popup,
 
-         c = baidu.editor.ui.Stateful,
 
-         d = baidu.editor.ui.UIBase,
 
-         e = (baidu.editor.ui.CellAlignPicker = function (a) {
 
-           this.initOptions(a), this.initSelected(), this.initCellAlignPicker()
 
-         })
 
-       ;(e.prototype = {
 
-         initSelected: function () {
 
-           var a = {
 
-             valign: { top: 0, middle: 1, bottom: 2 },
 
-             align: { left: 0, center: 1, right: 2 },
 
-             count: 3
 
-           }
 
-           this.selected &&
 
-             (this.selectedIndex =
 
-               a.valign[this.selected.valign] * a.count +
 
-               a.align[this.selected.align])
 
-         },
 
-         initCellAlignPicker: function () {
 
-           this.initUIBase(), this.Stateful_init()
 
-         },
 
-         getHtmlTpl: function () {
 
-           for (
 
-             var a = ['left', 'center', 'right'],
 
-               b = 9,
 
-               c = null,
 
-               d = -1,
 
-               e = [],
 
-               f = 0;
 
-             f < b;
 
-             f++
 
-           )
 
-             (c =
 
-               this.selectedIndex === f
 
-                 ? ' class="edui-cellalign-selected" '
 
-                 : ''),
 
-               (d = f % 3),
 
-               0 === d && e.push('<tr>'),
 
-               e.push(
 
-                 '<td index="' +
 
-                   f +
 
-                   '" ' +
 
-                   c +
 
-                   ' stateful><div class="edui-icon edui-' +
 
-                   a[d] +
 
-                   '"></div></td>'
 
-               ),
 
-               2 === d && e.push('</tr>')
 
-           return (
 
-             '<div id="##" class="edui-cellalignpicker %%"><div class="edui-cellalignpicker-body"><table onclick="$$._onClick(event);">' +
 
-             e.join('') +
 
-             '</table></div></div>'
 
-           )
 
-         },
 
-         getStateDom: function () {
 
-           return this.target
 
-         },
 
-         _onClick: function (a) {
 
-           var c = a.target || a.srcElement
 
-           ;/icon/.test(c.className) &&
 
-             (this.items[c.parentNode.getAttribute('index')].onclick(),
 
-             b.postHide(a))
 
-         },
 
-         _UIBase_render: d.prototype.render
 
-       }),
 
-         a.inherits(e, d),
 
-         a.extend(e.prototype, c, !0)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.Stateful,
 
-         c = baidu.editor.ui.uiUtils,
 
-         d = baidu.editor.ui.UIBase,
 
-         e = (baidu.editor.ui.PastePicker = function (a) {
 
-           this.initOptions(a), this.initPastePicker()
 
-         })
 
-       ;(e.prototype = {
 
-         initPastePicker: function () {
 
-           this.initUIBase(), this.Stateful_init()
 
-         },
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div class="edui-pasteicon" onclick="$$._onClick(this)"></div><div class="edui-pastecontainer"><div class="edui-title">' +
 
-             this.editor.getLang('pasteOpt') +
 
-             '</div><div class="edui-button"><div title="' +
 
-             this.editor.getLang('pasteSourceFormat') +
 
-             '" onclick="$$.format(false)" stateful><div class="edui-richtxticon"></div></div><div title="' +
 
-             this.editor.getLang('tagFormat') +
 
-             '" onclick="$$.format(2)" stateful><div class="edui-tagicon"></div></div><div title="' +
 
-             this.editor.getLang('pasteTextFormat') +
 
-             '" onclick="$$.format(true)" stateful><div class="edui-plaintxticon"></div></div></div></div></div>'
 
-           )
 
-         },
 
-         getStateDom: function () {
 
-           return this.target
 
-         },
 
-         format: function (a) {
 
-           ;(this.editor.ui._isTransfer = !0),
 
-             this.editor.fireEvent('pasteTransfer', a)
 
-         },
 
-         _onClick: function (a) {
 
-           var b = domUtils.getNextDomNode(a),
 
-             d = c.getViewportRect().height,
 
-             e = c.getClientRect(b)
 
-           e.top + e.height > d
 
-             ? (b.style.top = -e.height - a.offsetHeight + 'px')
 
-             : (b.style.top = ''),
 
-             /hidden/gi.test(domUtils.getComputedStyle(b, 'visibility'))
 
-               ? ((b.style.visibility = 'visible'),
 
-                 domUtils.addClass(a, 'edui-state-opened'))
 
-               : ((b.style.visibility = 'hidden'),
 
-                 domUtils.removeClasses(a, 'edui-state-opened'))
 
-         },
 
-         _UIBase_render: d.prototype.render
 
-       }),
 
-         a.inherits(e, d),
 
-         a.extend(e.prototype, b, !0)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = baidu.editor.ui.UIBase,
 
-         d = (baidu.editor.ui.Toolbar = function (a) {
 
-           this.initOptions(a), this.initToolbar()
 
-         })
 
-       ;(d.prototype = {
 
-         items: null,
 
-         initToolbar: function () {
 
-           ;(this.items = this.items || []), this.initUIBase()
 
-         },
 
-         add: function (a, b) {
 
-           void 0 === b ? this.items.push(a) : this.items.splice(b, 0, a)
 
-         },
 
-         getHtmlTpl: function () {
 
-           for (var a = [], b = 0; b < this.items.length; b++)
 
-             a[b] = this.items[b].renderHtml()
 
-           return (
 
-             '<div id="##" class="edui-toolbar %%" onselectstart="return false;" onmousedown="return $$._onMouseDown(event, this);">' +
 
-             a.join('') +
 
-             '</div>'
 
-           )
 
-         },
 
-         postRender: function () {
 
-           for (var a = this.getDom(), c = 0; c < this.items.length; c++)
 
-             this.items[c].postRender()
 
-           b.makeUnselectable(a)
 
-         },
 
-         _onMouseDown: function (a) {
 
-           var b = a.target || a.srcElement,
 
-             c = b && b.tagName && b.tagName.toLowerCase()
 
-           if ('input' == c || 'object' == c || 'object' == c) return !1
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.dom.domUtils,
 
-         c = baidu.editor.ui.uiUtils,
 
-         d = baidu.editor.ui.UIBase,
 
-         e = baidu.editor.ui.Popup,
 
-         f = baidu.editor.ui.Stateful,
 
-         g = baidu.editor.ui.CellAlignPicker,
 
-         h = (baidu.editor.ui.Menu = function (a) {
 
-           this.initOptions(a), this.initMenu()
 
-         }),
 
-         i = {
 
-           renderHtml: function () {
 
-             return '<div class="edui-menuitem edui-menuseparator"><div class="edui-menuseparator-inner"></div></div>'
 
-           },
 
-           postRender: function () {},
 
-           queryAutoHide: function () {
 
-             return !0
 
-           }
 
-         }
 
-       ;(h.prototype = {
 
-         items: null,
 
-         uiName: 'menu',
 
-         initMenu: function () {
 
-           ;(this.items = this.items || []), this.initPopup(), this.initItems()
 
-         },
 
-         initItems: function () {
 
-           for (var a = 0; a < this.items.length; a++) {
 
-             var b = this.items[a]
 
-             '-' == b
 
-               ? (this.items[a] = this.getSeparator())
 
-               : b instanceof j ||
 
-                 ((b.editor = this.editor),
 
-                 (b.theme = this.editor.options.theme),
 
-                 (this.items[a] = this.createItem(b)))
 
-           }
 
-         },
 
-         getSeparator: function () {
 
-           return i
 
-         },
 
-         createItem: function (a) {
 
-           return (a.menu = this), new j(a)
 
-         },
 
-         _Popup_getContentHtmlTpl: e.prototype.getContentHtmlTpl,
 
-         getContentHtmlTpl: function () {
 
-           if (0 == this.items.length) return this._Popup_getContentHtmlTpl()
 
-           for (var a = [], b = 0; b < this.items.length; b++) {
 
-             var c = this.items[b]
 
-             a[b] = c.renderHtml()
 
-           }
 
-           return '<div class="%%-body">' + a.join('') + '</div>'
 
-         },
 
-         _Popup_postRender: e.prototype.postRender,
 
-         postRender: function () {
 
-           for (var a = this, d = 0; d < this.items.length; d++) {
 
-             var e = this.items[d]
 
-             ;(e.ownerMenu = this), e.postRender()
 
-           }
 
-           b.on(this.getDom(), 'mouseover', function (b) {
 
-             b = b || event
 
-             var d = b.relatedTarget || b.fromElement,
 
-               e = a.getDom()
 
-             c.contains(e, d) || e === d || a.fireEvent('over')
 
-           }),
 
-             this._Popup_postRender()
 
-         },
 
-         queryAutoHide: function (a) {
 
-           if (a) {
 
-             if (c.contains(this.getDom(), a)) return !1
 
-             for (var b = 0; b < this.items.length; b++) {
 
-               var d = this.items[b]
 
-               if (d.queryAutoHide(a) === !1) return !1
 
-             }
 
-           }
 
-         },
 
-         clearItems: function () {
 
-           for (var a = 0; a < this.items.length; a++) {
 
-             var b = this.items[a]
 
-             clearTimeout(b._showingTimer),
 
-               clearTimeout(b._closingTimer),
 
-               b.subMenu && b.subMenu.destroy()
 
-           }
 
-           this.items = []
 
-         },
 
-         destroy: function () {
 
-           this.getDom() && b.remove(this.getDom()), this.clearItems()
 
-         },
 
-         dispose: function () {
 
-           this.destroy()
 
-         }
 
-       }),
 
-         a.inherits(h, e)
 
-       var j = (baidu.editor.ui.MenuItem = function (a) {
 
-         if (
 
-           (this.initOptions(a),
 
-           this.initUIBase(),
 
-           this.Stateful_init(),
 
-           this.subMenu && !(this.subMenu instanceof h))
 
-         )
 
-           if (a.className && a.className.indexOf('aligntd') != -1) {
 
-             var c = this
 
-             ;(this.subMenu.selected =
 
-               this.editor.queryCommandValue('cellalignment')),
 
-               (this.subMenu = new e({
 
-                 content: new g(this.subMenu),
 
-                 parentMenu: c,
 
-                 editor: c.editor,
 
-                 destroy: function () {
 
-                   this.getDom() && b.remove(this.getDom())
 
-                 }
 
-               })),
 
-               this.subMenu.addListener('postRenderAfter', function () {
 
-                 b.on(this.getDom(), 'mouseover', function () {
 
-                   c.addState('opened')
 
-                 })
 
-               })
 
-           } else this.subMenu = new h(this.subMenu)
 
-       })
 
-       ;(j.prototype = {
 
-         label: '',
 
-         subMenu: null,
 
-         ownerMenu: null,
 
-         uiName: 'menuitem',
 
-         alwalysHoverable: !0,
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div id="##" class="%%" stateful onclick="$$._onClick(event, this);"><div class="%%-body">' +
 
-             this.renderLabelHtml() +
 
-             '</div></div>'
 
-           )
 
-         },
 
-         postRender: function () {
 
-           var a = this
 
-           this.addListener('over', function () {
 
-             a.ownerMenu.fireEvent('submenuover', a),
 
-               a.subMenu && a.delayShowSubMenu()
 
-           }),
 
-             this.subMenu &&
 
-               ((this.getDom().className += ' edui-hassubmenu'),
 
-               this.subMenu.render(),
 
-               this.addListener('out', function () {
 
-                 a.delayHideSubMenu()
 
-               }),
 
-               this.subMenu.addListener('over', function () {
 
-                 clearTimeout(a._closingTimer),
 
-                   (a._closingTimer = null),
 
-                   a.addState('opened')
 
-               }),
 
-               this.ownerMenu.addListener('hide', function () {
 
-                 a.hideSubMenu()
 
-               }),
 
-               this.ownerMenu.addListener('submenuover', function (b, c) {
 
-                 c !== a && a.delayHideSubMenu()
 
-               }),
 
-               (this.subMenu._bakQueryAutoHide = this.subMenu.queryAutoHide),
 
-               (this.subMenu.queryAutoHide = function (b) {
 
-                 return (
 
-                   (!b || !c.contains(a.getDom(), b)) &&
 
-                   this._bakQueryAutoHide(b)
 
-                 )
 
-               })),
 
-             (this.getDom().style.tabIndex = '-1'),
 
-             c.makeUnselectable(this.getDom()),
 
-             this.Stateful_postRender()
 
-         },
 
-         delayShowSubMenu: function () {
 
-           var a = this
 
-           a.isDisabled() ||
 
-             (a.addState('opened'),
 
-             clearTimeout(a._showingTimer),
 
-             clearTimeout(a._closingTimer),
 
-             (a._closingTimer = null),
 
-             (a._showingTimer = setTimeout(function () {
 
-               a.showSubMenu()
 
-             }, 250)))
 
-         },
 
-         delayHideSubMenu: function () {
 
-           var a = this
 
-           a.isDisabled() ||
 
-             (a.removeState('opened'),
 
-             clearTimeout(a._showingTimer),
 
-             a._closingTimer ||
 
-               (a._closingTimer = setTimeout(function () {
 
-                 a.hasState('opened') || a.hideSubMenu(),
 
-                   (a._closingTimer = null)
 
-               }, 400)))
 
-         },
 
-         renderLabelHtml: function () {
 
-           return (
 
-             '<div class="edui-arrow"></div><div class="edui-box edui-icon"></div><div class="edui-box edui-label %%-label">' +
 
-             (this.label || '') +
 
-             '</div>'
 
-           )
 
-         },
 
-         getStateDom: function () {
 
-           return this.getDom()
 
-         },
 
-         queryAutoHide: function (a) {
 
-           if (this.subMenu && this.hasState('opened'))
 
-             return this.subMenu.queryAutoHide(a)
 
-         },
 
-         _onClick: function (a, b) {
 
-           this.hasState('disabled') ||
 
-             (this.fireEvent('click', a, b) !== !1 &&
 
-               (this.subMenu ? this.showSubMenu() : e.postHide(a)))
 
-         },
 
-         showSubMenu: function () {
 
-           var a = c.getClientRect(this.getDom())
 
-           ;(a.right -= 5),
 
-             (a.left += 2),
 
-             (a.width -= 7),
 
-             (a.top -= 4),
 
-             (a.bottom += 4),
 
-             (a.height += 8),
 
-             this.subMenu.showAnchorRect(a, !0, !0)
 
-         },
 
-         hideSubMenu: function () {
 
-           this.subMenu.hide()
 
-         }
 
-       }),
 
-         a.inherits(j, d),
 
-         a.extend(j.prototype, f, !0)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.uiUtils,
 
-         c = baidu.editor.ui.Menu,
 
-         d = baidu.editor.ui.SplitButton,
 
-         e = (baidu.editor.ui.Combox = function (a) {
 
-           this.initOptions(a), this.initCombox()
 
-         })
 
-       ;(e.prototype = {
 
-         uiName: 'combox',
 
-         onbuttonclick: function () {
 
-           this.showPopup()
 
-         },
 
-         initCombox: function () {
 
-           var a = this
 
-           this.items = this.items || []
 
-           for (var b = 0; b < this.items.length; b++) {
 
-             var d = this.items[b]
 
-             ;(d.uiName = 'listitem'),
 
-               (d.index = b),
 
-               (d.onclick = function () {
 
-                 a.selectByIndex(this.index)
 
-               })
 
-           }
 
-           ;(this.popup = new c({
 
-             items: this.items,
 
-             uiName: 'list',
 
-             editor: this.editor,
 
-             captureWheel: !0,
 
-             combox: this
 
-           })),
 
-             this.initSplitButton()
 
-         },
 
-         _SplitButton_postRender: d.prototype.postRender,
 
-         postRender: function () {
 
-           this._SplitButton_postRender(),
 
-             this.setLabel(this.label || ''),
 
-             this.setValue(this.initValue || '')
 
-         },
 
-         showPopup: function () {
 
-           var a = b.getClientRect(this.getDom())
 
-           ;(a.top += 1),
 
-             (a.bottom -= 1),
 
-             (a.height -= 2),
 
-             this.popup.showAnchorRect(a)
 
-         },
 
-         getValue: function () {
 
-           return this.value
 
-         },
 
-         setValue: function (a) {
 
-           var b = this.indexByValue(a)
 
-           b != -1
 
-             ? ((this.selectedIndex = b),
 
-               this.setLabel(this.items[b].label),
 
-               (this.value = this.items[b].value))
 
-             : ((this.selectedIndex = -1),
 
-               this.setLabel(this.getLabelForUnknowValue(a)),
 
-               (this.value = a))
 
-         },
 
-         setLabel: function (a) {
 
-           ;(this.getDom('button_body').innerHTML = a), (this.label = a)
 
-         },
 
-         getLabelForUnknowValue: function (a) {
 
-           return a
 
-         },
 
-         indexByValue: function (a) {
 
-           for (var b = 0; b < this.items.length; b++)
 
-             if (a == this.items[b].value) return b
 
-           return -1
 
-         },
 
-         getItem: function (a) {
 
-           return this.items[a]
 
-         },
 
-         selectByIndex: function (a) {
 
-           a < this.items.length &&
 
-             this.fireEvent('select', a) !== !1 &&
 
-             ((this.selectedIndex = a),
 
-             (this.value = this.items[a].value),
 
-             this.setLabel(this.items[a].label))
 
-         }
 
-       }),
 
-         a.inherits(e, d)
 
-     })(),
 
-     (function () {
 
-       var a,
 
-         b,
 
-         c,
 
-         d = baidu.editor.utils,
 
-         e = baidu.editor.dom.domUtils,
 
-         f = baidu.editor.ui.uiUtils,
 
-         g = baidu.editor.ui.Mask,
 
-         h = baidu.editor.ui.UIBase,
 
-         i = baidu.editor.ui.Button,
 
-         j = (baidu.editor.ui.Dialog = function (a) {
 
-           if (a.name) {
 
-             var b = a.name,
 
-               c = a.cssRules
 
-             a.className || (a.className = 'edui-for-' + b),
 
-               c &&
 
-                 (a.cssRules =
 
-                   '.edui-default .edui-for-' +
 
-                   b +
 
-                   ' .edui-dialog-content  {' +
 
-                   c +
 
-                   '}')
 
-           }
 
-           this.initOptions(
 
-             d.extend(
 
-               {
 
-                 autoReset: !0,
 
-                 draggable: !0,
 
-                 onok: function () {},
 
-                 oncancel: function () {},
 
-                 onclose: function (a, b) {
 
-                   return b ? this.onok() : this.oncancel()
 
-                 },
 
-                 holdScroll: !1
 
-               },
 
-               a
 
-             )
 
-           ),
 
-             this.initDialog()
 
-         })
 
-       ;(j.prototype = {
 
-         draggable: !1,
 
-         uiName: 'dialog',
 
-         initDialog: function () {
 
-           var e = this,
 
-             f = this.editor.options.theme
 
-           if (
 
-             (this.cssRules &&
 
-               d.cssRule(
 
-                 'edui-customize-' + this.name + '-style',
 
-                 this.cssRules
 
-               ),
 
-             this.initUIBase(),
 
-             (this.modalMask =
 
-               a ||
 
-               (a = new g({
 
-                 className: 'edui-dialog-modalmask',
 
-                 theme: f,
 
-                 onclick: function () {
 
-                   c && c.close(!1)
 
-                 }
 
-               }))),
 
-             (this.dragMask =
 
-               b ||
 
-               (b = new g({ className: 'edui-dialog-dragmask', theme: f }))),
 
-             (this.closeButton = new i({
 
-               className: 'edui-dialog-closebutton',
 
-               title: e.closeDialog,
 
-               theme: f,
 
-               onclick: function () {
 
-                 e.close(!1)
 
-               }
 
-             })),
 
-             this.fullscreen && this.initResizeEvent(),
 
-             this.buttons)
 
-           )
 
-             for (var h = 0; h < this.buttons.length; h++)
 
-               this.buttons[h] instanceof i ||
 
-                 (this.buttons[h] = new i(
 
-                   d.extend(this.buttons[h], { editor: this.editor }, !0)
 
-                 ))
 
-         },
 
-         initResizeEvent: function () {
 
-           var a = this
 
-           e.on(window, 'resize', function () {
 
-             a._hidden ||
 
-               void 0 === a._hidden ||
 
-               (a.__resizeTimer && window.clearTimeout(a.__resizeTimer),
 
-               (a.__resizeTimer = window.setTimeout(function () {
 
-                 a.__resizeTimer = null
 
-                 var b = a.getDom(),
 
-                   c = a.getDom('content'),
 
-                   d = UE.ui.uiUtils.getClientRect(b),
 
-                   e = UE.ui.uiUtils.getClientRect(c),
 
-                   g = f.getViewportRect()
 
-                 ;(c.style.width = g.width - d.width + e.width + 'px'),
 
-                   (c.style.height = g.height - d.height + e.height + 'px'),
 
-                   (b.style.width = g.width + 'px'),
 
-                   (b.style.height = g.height + 'px'),
 
-                   a.fireEvent('resize')
 
-               }, 100)))
 
-           })
 
-         },
 
-         fitSize: function () {
 
-           var a = this.getDom('body'),
 
-             b = this.mesureSize()
 
-           return (
 
-             (a.style.width = b.width + 'px'),
 
-             (a.style.height = b.height + 'px'),
 
-             b
 
-           )
 
-         },
 
-         safeSetOffset: function (a) {
 
-           var b = this,
 
-             c = b.getDom(),
 
-             d = f.getViewportRect(),
 
-             e = f.getClientRect(c),
 
-             g = a.left
 
-           g + e.width > d.right && (g = d.right - e.width)
 
-           var h = a.top
 
-           h + e.height > d.bottom && (h = d.bottom - e.height),
 
-             (c.style.left = Math.max(g, 0) + 'px'),
 
-             (c.style.top = Math.max(h, 0) + 'px')
 
-         },
 
-         showAtCenter: function () {
 
-           var a = f.getViewportRect()
 
-           if (this.fullscreen) {
 
-             var b = this.getDom(),
 
-               c = this.getDom('content')
 
-             b.style.display = 'block'
 
-             var d = UE.ui.uiUtils.getClientRect(b),
 
-               g = UE.ui.uiUtils.getClientRect(c)
 
-             ;(b.style.left = '-100000px'),
 
-               (c.style.width = a.width - d.width + g.width + 'px'),
 
-               (c.style.height = a.height - d.height + g.height + 'px'),
 
-               (b.style.width = a.width + 'px'),
 
-               (b.style.height = a.height + 'px'),
 
-               (b.style.left = 0),
 
-               (this._originalContext = {
 
-                 html: {
 
-                   overflowX: document.documentElement.style.overflowX,
 
-                   overflowY: document.documentElement.style.overflowY
 
-                 },
 
-                 body: {
 
-                   overflowX: document.body.style.overflowX,
 
-                   overflowY: document.body.style.overflowY
 
-                 }
 
-               }),
 
-               (document.documentElement.style.overflowX = 'hidden'),
 
-               (document.documentElement.style.overflowY = 'hidden'),
 
-               (document.body.style.overflowX = 'hidden'),
 
-               (document.body.style.overflowY = 'hidden')
 
-           } else {
 
-             this.getDom().style.display = ''
 
-             var h = this.fitSize(),
 
-               i = 0 | this.getDom('titlebar').offsetHeight,
 
-               j = a.width / 2 - h.width / 2,
 
-               k = a.height / 2 - (h.height - i) / 2 - i,
 
-               l = this.getDom()
 
-             this.safeSetOffset({
 
-               left: Math.max(0 | j, 0),
 
-               top: Math.max(0 | k, 0)
 
-             }),
 
-               e.hasClass(l, 'edui-state-centered') ||
 
-                 (l.className += ' edui-state-centered')
 
-           }
 
-           this._show()
 
-         },
 
-         getContentHtml: function () {
 
-           var a = ''
 
-           return (
 
-             'string' == typeof this.content
 
-               ? (a = this.content)
 
-               : this.iframeUrl &&
 
-                 (a =
 
-                   '<span id="' +
 
-                   this.id +
 
-                   '_contmask" class="dialogcontmask"></span><iframe id="' +
 
-                   this.id +
 
-                   '_iframe" class="%%-iframe" height="100%" width="100%" frameborder="0" src="' +
 
-                   this.iframeUrl +
 
-                   '"></iframe>'),
 
-             a
 
-           )
 
-         },
 
-         getHtmlTpl: function () {
 
-           var a = ''
 
-           if (this.buttons) {
 
-             for (var b = [], c = 0; c < this.buttons.length; c++)
 
-               b[c] = this.buttons[c].renderHtml()
 
-             a =
 
-               '<div class="%%-foot"><div id="##_buttons" class="%%-buttons">' +
 
-               b.join('') +
 
-               '</div></div>'
 
-           }
 
-           return (
 
-             '<div id="##" class="%%"><div ' +
 
-             (this.fullscreen
 
-               ? 'class="%%-wrap edui-dialog-fullscreen-flag"'
 
-               : 'class="%%"') +
 
-             '><div id="##_body" class="%%-body"><div class="%%-shadow"></div><div id="##_titlebar" class="%%-titlebar"><div class="%%-draghandle" onmousedown="$$._onTitlebarMouseDown(event, this);"><span class="%%-caption">' +
 
-             (this.title || '') +
 
-             '</span></div>' +
 
-             this.closeButton.renderHtml() +
 
-             '</div><div id="##_content" class="%%-content">' +
 
-             (this.autoReset ? '' : this.getContentHtml()) +
 
-             '</div>' +
 
-             a +
 
-             '</div></div></div>'
 
-           )
 
-         },
 
-         postRender: function () {
 
-           this.modalMask.getDom() ||
 
-             (this.modalMask.render(), this.modalMask.hide()),
 
-             this.dragMask.getDom() ||
 
-               (this.dragMask.render(), this.dragMask.hide())
 
-           var a = this
 
-           if (
 
-             (this.addListener('show', function () {
 
-               a.modalMask.show(this.getDom().style.zIndex - 2)
 
-             }),
 
-             this.addListener('hide', function () {
 
-               a.modalMask.hide()
 
-             }),
 
-             this.buttons)
 
-           )
 
-             for (var b = 0; b < this.buttons.length; b++)
 
-               this.buttons[b].postRender()
 
-           e.on(window, 'resize', function () {
 
-             setTimeout(function () {
 
-               a.isHidden() || a.safeSetOffset(f.getClientRect(a.getDom()))
 
-             })
 
-           }),
 
-             this._hide()
 
-         },
 
-         mesureSize: function () {
 
-           var a = this.getDom('body'),
 
-             b = f.getClientRect(this.getDom('content')).width,
 
-             c = a.style
 
-           return (c.width = b), f.getClientRect(a)
 
-         },
 
-         _onTitlebarMouseDown: function (a, b) {
 
-           if (this.draggable) {
 
-             var c,
 
-               d = (f.getViewportRect(), this)
 
-             f.startDrag(a, {
 
-               ondragstart: function () {
 
-                 ;(c = f.getClientRect(d.getDom())),
 
-                   (d.getDom('contmask').style.visibility = 'visible'),
 
-                   d.dragMask.show(d.getDom().style.zIndex - 1)
 
-               },
 
-               ondragmove: function (a, b) {
 
-                 var e = c.left + a,
 
-                   f = c.top + b
 
-                 d.safeSetOffset({ left: e, top: f })
 
-               },
 
-               ondragstop: function () {
 
-                 ;(d.getDom('contmask').style.visibility = 'hidden'),
 
-                   e.removeClasses(d.getDom(), ['edui-state-centered']),
 
-                   d.dragMask.hide()
 
-               }
 
-             })
 
-           }
 
-         },
 
-         reset: function () {
 
-           ;(this.getDom('content').innerHTML = this.getContentHtml()),
 
-             this.fireEvent('dialogafterreset')
 
-         },
 
-         _show: function () {
 
-           this._hidden &&
 
-             ((this.getDom().style.display = ''),
 
-             this.editor.container.style.zIndex &&
 
-               (this.getDom().style.zIndex =
 
-                 1 * this.editor.container.style.zIndex + 10),
 
-             (this._hidden = !1),
 
-             this.fireEvent('show'),
 
-             (baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex =
 
-               this.getDom().style.zIndex - 4))
 
-         },
 
-         isHidden: function () {
 
-           return this._hidden
 
-         },
 
-         _hide: function () {
 
-           if (!this._hidden) {
 
-             var a = this.getDom()
 
-             ;(a.style.display = 'none'),
 
-               (a.style.zIndex = ''),
 
-               (a.style.width = ''),
 
-               (a.style.height = ''),
 
-               (this._hidden = !0),
 
-               this.fireEvent('hide')
 
-           }
 
-         },
 
-         open: function () {
 
-           if (this.autoReset)
 
-             try {
 
-               this.reset()
 
-             } catch (a) {
 
-               this.render(), this.open()
 
-             }
 
-           if ((this.showAtCenter(), this.iframeUrl))
 
-             try {
 
-               this.getDom('iframe').focus()
 
-             } catch (b) {}
 
-           c = this
 
-         },
 
-         _onCloseButtonClick: function (a, b) {
 
-           this.close(!1)
 
-         },
 
-         close: function (a) {
 
-           if (this.fireEvent('close', a) !== !1) {
 
-             this.fullscreen &&
 
-               ((document.documentElement.style.overflowX =
 
-                 this._originalContext.html.overflowX),
 
-               (document.documentElement.style.overflowY =
 
-                 this._originalContext.html.overflowY),
 
-               (document.body.style.overflowX =
 
-                 this._originalContext.body.overflowX),
 
-               (document.body.style.overflowY =
 
-                 this._originalContext.body.overflowY),
 
-               delete this._originalContext),
 
-               this._hide()
 
-             var b = this.getDom('content'),
 
-               c = this.getDom('iframe')
 
-             if (b && c) {
 
-               var d = c.contentDocument || c.contentWindow.document
 
-               d && (d.body.innerHTML = ''), e.remove(b)
 
-             }
 
-           }
 
-         }
 
-       }),
 
-         d.inherits(j, h)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.Menu,
 
-         c = baidu.editor.ui.SplitButton,
 
-         d = (baidu.editor.ui.MenuButton = function (a) {
 
-           this.initOptions(a), this.initMenuButton()
 
-         })
 
-       ;(d.prototype = {
 
-         initMenuButton: function () {
 
-           var a = this
 
-           ;(this.uiName = 'menubutton'),
 
-             (this.popup = new b({
 
-               items: a.items,
 
-               className: a.className,
 
-               editor: a.editor
 
-             })),
 
-             this.popup.addListener('show', function () {
 
-               for (var b = this, c = 0; c < b.items.length; c++)
 
-                 b.items[c].removeState('checked'),
 
-                   b.items[c].value == a._value &&
 
-                     (b.items[c].addState('checked'), (this.value = a._value))
 
-             }),
 
-             this.initSplitButton()
 
-         },
 
-         setValue: function (a) {
 
-           this._value = a
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.Popup,
 
-         c = baidu.editor.ui.SplitButton,
 
-         d = (baidu.editor.ui.MultiMenuPop = function (a) {
 
-           this.initOptions(a), this.initMultiMenu()
 
-         })
 
-       ;(d.prototype = {
 
-         initMultiMenu: function () {
 
-           var a = this
 
-           ;(this.popup = new b({
 
-             content: '',
 
-             editor: a.editor,
 
-             iframe_rendered: !1,
 
-             onshow: function () {
 
-               this.iframe_rendered ||
 
-                 ((this.iframe_rendered = !0),
 
-                 (this.getDom('content').innerHTML =
 
-                   '<iframe id="' +
 
-                   a.id +
 
-                   '_iframe" src="' +
 
-                   a.iframeUrl +
 
-                   '" frameborder="0"></iframe>'),
 
-                 a.editor.container.style.zIndex &&
 
-                   (this.getDom().style.zIndex =
 
-                     1 * a.editor.container.style.zIndex + 1))
 
-             }
 
-           })),
 
-             (this.onbuttonclick = function () {
 
-               this.showPopup()
 
-             }),
 
-             this.initSplitButton()
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       function a(a) {
 
-         var b = a.target || a.srcElement,
 
-           c = g.findParent(
 
-             b,
 
-             function (a) {
 
-               return (
 
-                 g.hasClass(a, 'edui-shortcutmenu') ||
 
-                 g.hasClass(a, 'edui-popup')
 
-               )
 
-             },
 
-             !0
 
-           )
 
-         if (!c) for (var d, e = 0; (d = h[e++]); ) d.hide()
 
-       }
 
-       var b,
 
-         c = baidu.editor.ui,
 
-         d = c.UIBase,
 
-         e = c.uiUtils,
 
-         f = baidu.editor.utils,
 
-         g = baidu.editor.dom.domUtils,
 
-         h = [],
 
-         i = !1,
 
-         j = (c.ShortCutMenu = function (a) {
 
-           this.initOptions(a), this.initShortCutMenu()
 
-         })
 
-       ;(j.postHide = a),
 
-         (j.prototype = {
 
-           isHidden: !0,
 
-           SPACE: 5,
 
-           initShortCutMenu: function () {
 
-             ;(this.items = this.items || []),
 
-               this.initUIBase(),
 
-               this.initItems(),
 
-               this.initEvent(),
 
-               h.push(this)
 
-           },
 
-           initEvent: function () {
 
-             var a = this,
 
-               c = a.editor.document
 
-             g.on(c, 'mousemove', function (c) {
 
-               if (a.isHidden === !1) {
 
-                 if (a.getSubMenuMark() || 'contextmenu' == a.eventType) return
 
-                 var d = !0,
 
-                   e = a.getDom(),
 
-                   f = e.offsetWidth,
 
-                   g = e.offsetHeight,
 
-                   h = f / 2 + a.SPACE,
 
-                   i = g / 2,
 
-                   j = Math.abs(c.screenX - a.left),
 
-                   k = Math.abs(c.screenY - a.top)
 
-                 clearTimeout(b),
 
-                   (b = setTimeout(function () {
 
-                     k > 0 && k < i
 
-                       ? a.setOpacity(e, '1')
 
-                       : k > i && k < i + 70
 
-                       ? (a.setOpacity(e, '0.5'), (d = !1))
 
-                       : k > i + 70 && k < i + 140 && a.hide(),
 
-                       d && j > 0 && j < h
 
-                         ? a.setOpacity(e, '1')
 
-                         : j > h && j < h + 70
 
-                         ? a.setOpacity(e, '0.5')
 
-                         : j > h + 70 && j < h + 140 && a.hide()
 
-                   }))
 
-               }
 
-             }),
 
-               browser.chrome &&
 
-                 g.on(c, 'mouseout', function (b) {
 
-                   var c = b.relatedTarget || b.toElement
 
-                   ;(null != c && 'HTML' != c.tagName) || a.hide()
 
-                 }),
 
-               a.editor.addListener('afterhidepop', function () {
 
-                 a.isHidden || (i = !0)
 
-               })
 
-           },
 
-           initItems: function () {
 
-             if (f.isArray(this.items))
 
-               for (var a = 0, b = this.items.length; a < b; a++) {
 
-                 var d = this.items[a].toLowerCase()
 
-                 c[d] &&
 
-                   ((this.items[a] = new c[d](this.editor)),
 
-                   (this.items[a].className += ' edui-shortcutsubmenu '))
 
-               }
 
-           },
 
-           setOpacity: function (a, b) {
 
-             browser.ie && browser.version < 9
 
-               ? (a.style.filter =
 
-                   'alpha(opacity = ' + 100 * parseFloat(b) + ');')
 
-               : (a.style.opacity = b)
 
-           },
 
-           getSubMenuMark: function () {
 
-             i = !1
 
-             for (
 
-               var a,
 
-                 b = e.getFixedLayer(),
 
-                 c = g.getElementsByTagName(b, 'div', function (a) {
 
-                   return g.hasClass(a, 'edui-shortcutsubmenu edui-popup')
 
-                 }),
 
-                 d = 0;
 
-               (a = c[d++]);
 
-             )
 
-               'none' != a.style.display && (i = !0)
 
-             return i
 
-           },
 
-           show: function (a, b) {
 
-             function c(a) {
 
-               a.left < 0 && (a.left = 0),
 
-                 a.top < 0 && (a.top = 0),
 
-                 (i.style.cssText =
 
-                   'position:absolute;left:' +
 
-                   a.left +
 
-                   'px;top:' +
 
-                   a.top +
 
-                   'px;')
 
-             }
 
-             function d(a) {
 
-               a.tagName || (a = a.getDom()),
 
-                 (h.left = parseInt(a.style.left)),
 
-                 (h.top = parseInt(a.style.top)),
 
-                 (h.top -= i.offsetHeight + 15),
 
-                 c(h)
 
-             }
 
-             var f = this,
 
-               h = {},
 
-               i = this.getDom(),
 
-               j = e.getFixedLayer()
 
-             if (
 
-               ((f.eventType = a.type),
 
-               (i.style.cssText = 'display:block;left:-9999px'),
 
-               'contextmenu' == a.type && b)
 
-             ) {
 
-               var k = g.getElementsByTagName(j, 'div', 'edui-contextmenu')[0]
 
-               k
 
-                 ? d(k)
 
-                 : f.editor.addListener('aftershowcontextmenu', function (a, b) {
 
-                     d(b)
 
-                   })
 
-             } else
 
-               (h = e.getViewportOffsetByEvent(a)),
 
-                 (h.top -= i.offsetHeight + f.SPACE),
 
-                 (h.left += f.SPACE + 20),
 
-                 c(h),
 
-                 f.setOpacity(i, 0.2)
 
-             ;(f.isHidden = !1),
 
-               (f.left = a.screenX + i.offsetWidth / 2 - f.SPACE),
 
-               (f.top = a.screenY - i.offsetHeight / 2 - f.SPACE),
 
-               f.editor &&
 
-                 ((i.style.zIndex = 1 * f.editor.container.style.zIndex + 10),
 
-                 (j.style.zIndex = i.style.zIndex - 1))
 
-           },
 
-           hide: function () {
 
-             this.getDom() && (this.getDom().style.display = 'none'),
 
-               (this.isHidden = !0)
 
-           },
 
-           postRender: function () {
 
-             if (f.isArray(this.items))
 
-               for (var a, b = 0; (a = this.items[b++]); ) a.postRender()
 
-           },
 
-           getHtmlTpl: function () {
 
-             var a
 
-             if (f.isArray(this.items)) {
 
-               a = []
 
-               for (var b = 0; b < this.items.length; b++)
 
-                 a[b] = this.items[b].renderHtml()
 
-               a = a.join('')
 
-             } else a = this.items
 
-             return (
 
-               '<div id="##" class="%% edui-toolbar" data-src="shortcutmenu" onmousedown="return false;" onselectstart="return false;" >' +
 
-               a +
 
-               '</div>'
 
-             )
 
-           }
 
-         }),
 
-         f.inherits(j, d),
 
-         g.on(document, 'mousedown', function (b) {
 
-           a(b)
 
-         }),
 
-         g.on(window, 'scroll', function (b) {
 
-           a(b)
 
-         })
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui.UIBase,
 
-         c = (baidu.editor.ui.Breakline = function (a) {
 
-           this.initOptions(a), this.initSeparator()
 
-         })
 
-       ;(c.prototype = {
 
-         uiName: 'Breakline',
 
-         initSeparator: function () {
 
-           this.initUIBase()
 
-         },
 
-         getHtmlTpl: function () {
 
-           return '<br/>'
 
-         }
 
-       }),
 
-         a.inherits(c, b)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.dom.domUtils,
 
-         c = baidu.editor.ui.UIBase,
 
-         d = (baidu.editor.ui.Message = function (a) {
 
-           this.initOptions(a), this.initMessage()
 
-         })
 
-       ;(d.prototype = {
 
-         initMessage: function () {
 
-           this.initUIBase()
 
-         },
 
-         getHtmlTpl: function () {
 
-           return '<div id="##" class="edui-message %%"> <div id="##_closer" class="edui-message-closer">×</div> <div id="##_body" class="edui-message-body edui-message-type-info"> <iframe style="position:absolute;z-index:-1;left:0;top:0;background-color: transparent;" frameborder="0" width="100%" height="100%" src="about:blank"></iframe> <div class="edui-shadow"></div> <div id="##_content" class="edui-message-content">  </div> </div></div>'
 
-         },
 
-         reset: function (a) {
 
-           var b = this
 
-           a.keepshow ||
 
-             (clearTimeout(this.timer),
 
-             (b.timer = setTimeout(function () {
 
-               b.hide()
 
-             }, a.timeout || 4e3))),
 
-             void 0 !== a.content && b.setContent(a.content),
 
-             void 0 !== a.type && b.setType(a.type),
 
-             b.show()
 
-         },
 
-         postRender: function () {
 
-           var a = this,
 
-             c = this.getDom('closer')
 
-           c &&
 
-             b.on(c, 'click', function () {
 
-               a.hide()
 
-             })
 
-         },
 
-         setContent: function (a) {
 
-           this.getDom('content').innerHTML = a
 
-         },
 
-         setType: function (a) {
 
-           a = a || 'info'
 
-           var b = this.getDom('body')
 
-           b.className = b.className.replace(
 
-             /edui-message-type-[\w-]+/,
 
-             'edui-message-type-' + a
 
-           )
 
-         },
 
-         getContent: function () {
 
-           return this.getDom('content').innerHTML
 
-         },
 
-         getType: function () {
 
-           var a = this.getDom('body').match(/edui-message-type-([\w-]+)/)
 
-           return a ? a[1] : ''
 
-         },
 
-         show: function () {
 
-           this.getDom().style.display = 'block'
 
-         },
 
-         hide: function () {
 
-           var a = this.getDom()
 
-           a &&
 
-             ((a.style.display = 'none'),
 
-             a.parentNode && a.parentNode.removeChild(a))
 
-         }
 
-       }),
 
-         a.inherits(d, c)
 
-     })(),
 
-     (function () {
 
-       var a = baidu.editor.utils,
 
-         b = baidu.editor.ui,
 
-         c = b.Dialog
 
-       ;(b.buttons = {}),
 
-         (b.Dialog = function (a) {
 
-           var b = new c(a)
 
-           return (
 
-             b.addListener('hide', function () {
 
-               if (b.editor) {
 
-                 var a = b.editor
 
-                 try {
 
-                   if (browser.gecko) {
 
-                     var c = a.window.scrollY,
 
-                       d = a.window.scrollX
 
-                     a.body.focus(), a.window.scrollTo(d, c)
 
-                   } else a.focus()
 
-                 } catch (e) {}
 
-               }
 
-             }),
 
-             b
 
-           )
 
-         })
 
-       for (
 
-         var d,
 
-           e = {
 
-             anchor: '~/dialogs/anchor/anchor.html',
 
-             insertimage: '~/dialogs/image/image.html',
 
-             link: '~/dialogs/link/link.html',
 
-             spechars: '~/dialogs/spechars/spechars.html',
 
-             searchreplace: '~/dialogs/searchreplace/searchreplace.html',
 
-             map: '~/dialogs/map/map.html',
 
-             gmap: '~/dialogs/gmap/gmap.html',
 
-             insertvideo: '~/dialogs/video/video.html',
 
-             help: '~/dialogs/help/help.html',
 
-             preview: '~/dialogs/preview/preview.html',
 
-             emotion: '~/dialogs/emotion/emotion.html',
 
-             wordimage: '~/dialogs/wordimage/wordimage.html',
 
-             attachment: '~/dialogs/attachment/attachment.html',
 
-             insertframe: '~/dialogs/insertframe/insertframe.html',
 
-             edittip: '~/dialogs/table/edittip.html',
 
-             edittable: '~/dialogs/table/edittable.html',
 
-             edittd: '~/dialogs/table/edittd.html',
 
-             webapp: '~/dialogs/webapp/webapp.html',
 
-             snapscreen: '~/dialogs/snapscreen/snapscreen.html',
 
-             scrawl: '~/dialogs/scrawl/scrawl.html',
 
-             music: '~/dialogs/music/music.html',
 
-             template: '~/dialogs/template/template.html',
 
-             background: '~/dialogs/background/background.html',
 
-             charts: '~/dialogs/charts/charts.html'
 
-           },
 
-           f = [
 
-             'undo',
 
-             'redo',
 
-             'formatmatch',
 
-             'bold',
 
-             'italic',
 
-             'underline',
 
-             'fontborder',
 
-             'touppercase',
 
-             'tolowercase',
 
-             'strikethrough',
 
-             'subscript',
 
-             'superscript',
 
-             'source',
 
-             'indent',
 
-             'outdent',
 
-             'blockquote',
 
-             'pasteplain',
 
-             'pagebreak',
 
-             'selectall',
 
-             'print',
 
-             'horizontal',
 
-             'removeformat',
 
-             'time',
 
-             'date',
 
-             'unlink',
 
-             'insertparagraphbeforetable',
 
-             'insertrow',
 
-             'insertcol',
 
-             'mergeright',
 
-             'mergedown',
 
-             'deleterow',
 
-             'deletecol',
 
-             'splittorows',
 
-             'splittocols',
 
-             'splittocells',
 
-             'mergecells',
 
-             'deletetable',
 
-             'drafts'
 
-           ],
 
-           g = 0;
 
-         (d = f[g++]);
 
-       )
 
-         (d = d.toLowerCase()),
 
-           (b[d] = (function (a) {
 
-             return function (c) {
 
-               var d = new b.Button({
 
-                 className: 'edui-for-' + a,
 
-                 title:
 
-                   c.options.labelMap[a] || c.getLang('labelMap.' + a) || '',
 
-                 onclick: function () {
 
-                   c.execCommand(a)
 
-                 },
 
-                 theme: c.options.theme,
 
-                 showText: !1
 
-               })
 
-               return (
 
-                 (b.buttons[a] = d),
 
-                 c.addListener('selectionchange', function (b, e, f) {
 
-                   var g = c.queryCommandState(a)
 
-                   g == -1
 
-                     ? (d.setDisabled(!0), d.setChecked(!1))
 
-                     : f || (d.setDisabled(!1), d.setChecked(g))
 
-                 }),
 
-                 d
 
-               )
 
-             }
 
-           })(d))
 
-       b.cleardoc = function (a) {
 
-         var c = new b.Button({
 
-           className: 'edui-for-cleardoc',
 
-           title:
 
-             a.options.labelMap.cleardoc || a.getLang('labelMap.cleardoc') || '',
 
-           theme: a.options.theme,
 
-           onclick: function () {
 
-             confirm(a.getLang('confirmClear')) && a.execCommand('cleardoc')
 
-           }
 
-         })
 
-         return (
 
-           (b.buttons.cleardoc = c),
 
-           a.addListener('selectionchange', function () {
 
-             c.setDisabled(a.queryCommandState('cleardoc') == -1)
 
-           }),
 
-           c
 
-         )
 
-       }
 
-       var h = {
 
-         justify: ['left', 'right', 'center', 'justify'],
 
-         imagefloat: ['none', 'left', 'center', 'right'],
 
-         directionality: ['ltr', 'rtl']
 
-       }
 
-       for (var i in h)
 
-         !(function (a, c) {
 
-           for (var d, e = 0; (d = c[e++]); )
 
-             !(function (c) {
 
-               b[a.replace('float', '') + c] = function (d) {
 
-                 var e = new b.Button({
 
-                   className: 'edui-for-' + a.replace('float', '') + c,
 
-                   title:
 
-                     d.options.labelMap[a.replace('float', '') + c] ||
 
-                     d.getLang('labelMap.' + a.replace('float', '') + c) ||
 
-                     '',
 
-                   theme: d.options.theme,
 
-                   onclick: function () {
 
-                     d.execCommand(a, c)
 
-                   }
 
-                 })
 
-                 return (
 
-                   (b.buttons[a] = e),
 
-                   d.addListener('selectionchange', function (b, f, g) {
 
-                     e.setDisabled(d.queryCommandState(a) == -1),
 
-                       e.setChecked(d.queryCommandValue(a) == c && !g)
 
-                   }),
 
-                   e
 
-                 )
 
-               }
 
-             })(d)
 
-         })(i, h[i])
 
-       for (var d, g = 0; (d = ['backcolor', 'forecolor'][g++]); )
 
-         b[d] = (function (a) {
 
-           return function (c) {
 
-             var d = new b.ColorButton({
 
-               className: 'edui-for-' + a,
 
-               color: 'default',
 
-               title: c.options.labelMap[a] || c.getLang('labelMap.' + a) || '',
 
-               editor: c,
 
-               onpickcolor: function (b, d) {
 
-                 c.execCommand(a, d)
 
-               },
 
-               onpicknocolor: function () {
 
-                 c.execCommand(a, 'default'),
 
-                   this.setColor('transparent'),
 
-                   (this.color = 'default')
 
-               },
 
-               onbuttonclick: function () {
 
-                 c.execCommand(a, this.color)
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons[a] = d),
 
-               c.addListener('selectionchange', function () {
 
-                 d.setDisabled(c.queryCommandState(a) == -1)
 
-               }),
 
-               d
 
-             )
 
-           }
 
-         })(d)
 
-       var j = {
 
-         noOk: ['searchreplace', 'help', 'spechars', 'webapp', 'preview'],
 
-         ok: [
 
-           'attachment',
 
-           'anchor',
 
-           'link',
 
-           'insertimage',
 
-           'map',
 
-           'gmap',
 
-           'insertframe',
 
-           'wordimage',
 
-           'insertvideo',
 
-           'insertframe',
 
-           'edittip',
 
-           'edittable',
 
-           'edittd',
 
-           'scrawl',
 
-           'template',
 
-           'music',
 
-           'background',
 
-           'charts'
 
-         ]
 
-       }
 
-       for (var i in j)
 
-         !(function (c, d) {
 
-           for (var f, g = 0; (f = d[g++]); )
 
-             (browser.opera && 'searchreplace' === f) ||
 
-               !(function (d) {
 
-                 b[d] = function (f, g, h) {
 
-                   ;(g = g || (f.options.iframeUrlMap || {})[d] || e[d]),
 
-                     (h =
 
-                       f.options.labelMap[d] || f.getLang('labelMap.' + d) || '')
 
-                   var i
 
-                   g &&
 
-                     ((i = new b.Dialog(
 
-                       a.extend(
 
-                         {
 
-                           iframeUrl: f.ui.mapUrl(g),
 
-                           editor: f,
 
-                           className: 'edui-for-' + d,
 
-                           title: h,
 
-                           holdScroll: 'insertimage' === d,
 
-                           fullscreen: /charts|preview/.test(d),
 
-                           closeDialog: f.getLang('closeDialog')
 
-                         },
 
-                         'ok' == c
 
-                           ? {
 
-                               buttons: [
 
-                                 {
 
-                                   className: 'edui-okbutton',
 
-                                   label: f.getLang('ok'),
 
-                                   editor: f,
 
-                                   onclick: function () {
 
-                                     i.close(!0)
 
-                                   }
 
-                                 },
 
-                                 {
 
-                                   className: 'edui-cancelbutton',
 
-                                   label: f.getLang('cancel'),
 
-                                   editor: f,
 
-                                   onclick: function () {
 
-                                     i.close(!1)
 
-                                   }
 
-                                 }
 
-                               ]
 
-                             }
 
-                           : {}
 
-                       )
 
-                     )),
 
-                     (f.ui._dialogs[d + 'Dialog'] = i))
 
-                   var j = new b.Button({
 
-                     className: 'edui-for-' + d,
 
-                     title: h,
 
-                     onclick: function () {
 
-                       if (i)
 
-                         switch (d) {
 
-                           case 'wordimage':
 
-                             var a = f.execCommand('wordimage')
 
-                             a && a.length && (i.render(), i.open())
 
-                             break
 
-                           case 'scrawl':
 
-                             f.queryCommandState('scrawl') != -1 &&
 
-                               (i.render(), i.open())
 
-                             break
 
-                           default:
 
-                             i.render(), i.open()
 
-                         }
 
-                     },
 
-                     theme: f.options.theme,
 
-                     disabled:
 
-                       ('scrawl' == d && f.queryCommandState('scrawl') == -1) ||
 
-                       'charts' == d
 
-                   })
 
-                   return (
 
-                     (b.buttons[d] = j),
 
-                     f.addListener('selectionchange', function () {
 
-                       var a = { edittable: 1 }
 
-                       if (!(d in a)) {
 
-                         var b = f.queryCommandState(d)
 
-                         j.getDom() && (j.setDisabled(b == -1), j.setChecked(b))
 
-                       }
 
-                     }),
 
-                     j
 
-                   )
 
-                 }
 
-               })(f.toLowerCase())
 
-         })(i, j[i])
 
-       ;(b.snapscreen = function (a, c, d) {
 
-         d =
 
-           a.options.labelMap.snapscreen ||
 
-           a.getLang('labelMap.snapscreen') ||
 
-           ''
 
-         var f = new b.Button({
 
-           className: 'edui-for-snapscreen',
 
-           title: d,
 
-           onclick: function () {
 
-             a.execCommand('snapscreen')
 
-           },
 
-           theme: a.options.theme
 
-         })
 
-         if (
 
-           ((b.buttons.snapscreen = f),
 
-           (c = c || (a.options.iframeUrlMap || {}).snapscreen || e.snapscreen))
 
-         ) {
 
-           var g = new b.Dialog({
 
-             iframeUrl: a.ui.mapUrl(c),
 
-             editor: a,
 
-             className: 'edui-for-snapscreen',
 
-             title: d,
 
-             buttons: [
 
-               {
 
-                 className: 'edui-okbutton',
 
-                 label: a.getLang('ok'),
 
-                 editor: a,
 
-                 onclick: function () {
 
-                   g.close(!0)
 
-                 }
 
-               },
 
-               {
 
-                 className: 'edui-cancelbutton',
 
-                 label: a.getLang('cancel'),
 
-                 editor: a,
 
-                 onclick: function () {
 
-                   g.close(!1)
 
-                 }
 
-               }
 
-             ]
 
-           })
 
-           g.render(), (a.ui._dialogs.snapscreenDialog = g)
 
-         }
 
-         return (
 
-           a.addListener('selectionchange', function () {
 
-             f.setDisabled(a.queryCommandState('snapscreen') == -1)
 
-           }),
 
-           f
 
-         )
 
-       }),
 
-         (b.insertcode = function (c, d, e) {
 
-           ;(d = c.options.insertcode || []),
 
-             (e =
 
-               c.options.labelMap.insertcode ||
 
-               c.getLang('labelMap.insertcode') ||
 
-               '')
 
-           var f = []
 
-           a.each(d, function (a, b) {
 
-             f.push({
 
-               label: a,
 
-               value: b,
 
-               theme: c.options.theme,
 
-               renderLabelHtml: function () {
 
-                 return (
 
-                   '<div class="edui-label %%-label" >' +
 
-                   (this.label || '') +
 
-                   '</div>'
 
-                 )
 
-               }
 
-             })
 
-           })
 
-           var g = new b.Combox({
 
-             editor: c,
 
-             items: f,
 
-             onselect: function (a, b) {
 
-               c.execCommand('insertcode', this.items[b].value)
 
-             },
 
-             onbuttonclick: function () {
 
-               this.showPopup()
 
-             },
 
-             title: e,
 
-             initValue: e,
 
-             className: 'edui-for-insertcode',
 
-             indexByValue: function (a) {
 
-               if (a)
 
-                 for (var b, c = 0; (b = this.items[c]); c++)
 
-                   if (b.value.indexOf(a) != -1) return c
 
-               return -1
 
-             }
 
-           })
 
-           return (
 
-             (b.buttons.insertcode = g),
 
-             c.addListener('selectionchange', function (a, b, d) {
 
-               if (!d) {
 
-                 var f = c.queryCommandState('insertcode')
 
-                 if (f == -1) g.setDisabled(!0)
 
-                 else {
 
-                   g.setDisabled(!1)
 
-                   var h = c.queryCommandValue('insertcode')
 
-                   if (!h) return void g.setValue(e)
 
-                   h && (h = h.replace(/['"]/g, '').split(',')[0]), g.setValue(h)
 
-                 }
 
-               }
 
-             }),
 
-             g
 
-           )
 
-         }),
 
-         (b.fontfamily = function (c, d, e) {
 
-           if (
 
-             ((d = c.options.fontfamily || []),
 
-             (e =
 
-               c.options.labelMap.fontfamily ||
 
-               c.getLang('labelMap.fontfamily') ||
 
-               ''),
 
-             d.length)
 
-           ) {
 
-             for (var f, g = 0, h = []; (f = d[g]); g++) {
 
-               var i = c.getLang('fontfamily')[f.name] || ''
 
-               !(function (b, d) {
 
-                 h.push({
 
-                   label: b,
 
-                   value: d,
 
-                   theme: c.options.theme,
 
-                   renderLabelHtml: function () {
 
-                     return (
 
-                       '<div class="edui-label %%-label" style="font-family:' +
 
-                       a.unhtml(this.value) +
 
-                       '">' +
 
-                       (this.label || '') +
 
-                       '</div>'
 
-                     )
 
-                   }
 
-                 })
 
-               })(f.label || i, f.val)
 
-             }
 
-             var j = new b.Combox({
 
-               editor: c,
 
-               items: h,
 
-               onselect: function (a, b) {
 
-                 c.execCommand('FontFamily', this.items[b].value)
 
-               },
 
-               onbuttonclick: function () {
 
-                 this.showPopup()
 
-               },
 
-               title: e,
 
-               initValue: e,
 
-               className: 'edui-for-fontfamily',
 
-               indexByValue: function (a) {
 
-                 if (a)
 
-                   for (var b, c = 0; (b = this.items[c]); c++)
 
-                     if (b.value.indexOf(a) != -1) return c
 
-                 return -1
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons.fontfamily = j),
 
-               c.addListener('selectionchange', function (a, b, d) {
 
-                 if (!d) {
 
-                   var e = c.queryCommandState('FontFamily')
 
-                   if (e == -1) j.setDisabled(!0)
 
-                   else {
 
-                     j.setDisabled(!1)
 
-                     var f = c.queryCommandValue('FontFamily')
 
-                     f && (f = f.replace(/['"]/g, '').split(',')[0]),
 
-                       j.setValue(f)
 
-                   }
 
-                 }
 
-               }),
 
-               j
 
-             )
 
-           }
 
-         }),
 
-         (b.fontsize = function (a, c, d) {
 
-           if (
 
-             ((d =
 
-               a.options.labelMap.fontsize ||
 
-               a.getLang('labelMap.fontsize') ||
 
-               ''),
 
-             (c = c || a.options.fontsize || []),
 
-             c.length)
 
-           ) {
 
-             for (var e = [], f = 0; f < c.length; f++) {
 
-               var g = c[f] + 'px'
 
-               e.push({
 
-                 label: g,
 
-                 value: g,
 
-                 theme: a.options.theme,
 
-                 renderLabelHtml: function () {
 
-                   return (
 
-                     '<div class="edui-label %%-label" style="line-height:1;font-size:' +
 
-                     this.value +
 
-                     '">' +
 
-                     (this.label || '') +
 
-                     '</div>'
 
-                   )
 
-                 }
 
-               })
 
-             }
 
-             var h = new b.Combox({
 
-               editor: a,
 
-               items: e,
 
-               title: d,
 
-               initValue: d,
 
-               onselect: function (b, c) {
 
-                 a.execCommand('FontSize', this.items[c].value)
 
-               },
 
-               onbuttonclick: function () {
 
-                 this.showPopup()
 
-               },
 
-               className: 'edui-for-fontsize'
 
-             })
 
-             return (
 
-               (b.buttons.fontsize = h),
 
-               a.addListener('selectionchange', function (b, c, d) {
 
-                 if (!d) {
 
-                   var e = a.queryCommandState('FontSize')
 
-                   e == -1
 
-                     ? h.setDisabled(!0)
 
-                     : (h.setDisabled(!1),
 
-                       h.setValue(a.queryCommandValue('FontSize')))
 
-                 }
 
-               }),
 
-               h
 
-             )
 
-           }
 
-         }),
 
-         (b.paragraph = function (c, d, e) {
 
-           if (
 
-             ((e =
 
-               c.options.labelMap.paragraph ||
 
-               c.getLang('labelMap.paragraph') ||
 
-               ''),
 
-             (d = c.options.paragraph || []),
 
-             !a.isEmptyObject(d))
 
-           ) {
 
-             var f = []
 
-             for (var g in d)
 
-               f.push({
 
-                 value: g,
 
-                 label: d[g] || c.getLang('paragraph')[g],
 
-                 theme: c.options.theme,
 
-                 renderLabelHtml: function () {
 
-                   return (
 
-                     '<div class="edui-label %%-label"><span class="edui-for-' +
 
-                     this.value +
 
-                     '">' +
 
-                     (this.label || '') +
 
-                     '</span></div>'
 
-                   )
 
-                 }
 
-               })
 
-             var h = new b.Combox({
 
-               editor: c,
 
-               items: f,
 
-               title: e,
 
-               initValue: e,
 
-               className: 'edui-for-paragraph',
 
-               onselect: function (a, b) {
 
-                 c.execCommand('Paragraph', this.items[b].value)
 
-               },
 
-               onbuttonclick: function () {
 
-                 this.showPopup()
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons.paragraph = h),
 
-               c.addListener('selectionchange', function (a, b, d) {
 
-                 if (!d) {
 
-                   var e = c.queryCommandState('Paragraph')
 
-                   if (e == -1) h.setDisabled(!0)
 
-                   else {
 
-                     h.setDisabled(!1)
 
-                     var f = c.queryCommandValue('Paragraph'),
 
-                       g = h.indexByValue(f)
 
-                     g != -1 ? h.setValue(f) : h.setValue(h.initValue)
 
-                   }
 
-                 }
 
-               }),
 
-               h
 
-             )
 
-           }
 
-         }),
 
-         (b.customstyle = function (a) {
 
-           var c = a.options.customstyle || [],
 
-             d =
 
-               a.options.labelMap.customstyle ||
 
-               a.getLang('labelMap.customstyle') ||
 
-               ''
 
-           if (c.length) {
 
-             for (
 
-               var e, f = a.getLang('customstyle'), g = 0, h = [];
 
-               (e = c[g++]);
 
-             )
 
-               !(function (b) {
 
-                 var c = {}
 
-                 ;(c.label = b.label ? b.label : f[b.name]),
 
-                   (c.style = b.style),
 
-                   (c.className = b.className),
 
-                   (c.tag = b.tag),
 
-                   h.push({
 
-                     label: c.label,
 
-                     value: c,
 
-                     theme: a.options.theme,
 
-                     renderLabelHtml: function () {
 
-                       return (
 
-                         '<div class="edui-label %%-label"><' +
 
-                         c.tag +
 
-                         ' ' +
 
-                         (c.className ? ' class="' + c.className + '"' : '') +
 
-                         (c.style ? ' style="' + c.style + '"' : '') +
 
-                         '>' +
 
-                         c.label +
 
-                         '</' +
 
-                         c.tag +
 
-                         '></div>'
 
-                       )
 
-                     }
 
-                   })
 
-               })(e)
 
-             var i = new b.Combox({
 
-               editor: a,
 
-               items: h,
 
-               title: d,
 
-               initValue: d,
 
-               className: 'edui-for-customstyle',
 
-               onselect: function (b, c) {
 
-                 a.execCommand('customstyle', this.items[c].value)
 
-               },
 
-               onbuttonclick: function () {
 
-                 this.showPopup()
 
-               },
 
-               indexByValue: function (a) {
 
-                 for (var b, c = 0; (b = this.items[c++]); )
 
-                   if (b.label == a) return c - 1
 
-                 return -1
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons.customstyle = i),
 
-               a.addListener('selectionchange', function (b, c, d) {
 
-                 if (!d) {
 
-                   var e = a.queryCommandState('customstyle')
 
-                   if (e == -1) i.setDisabled(!0)
 
-                   else {
 
-                     i.setDisabled(!1)
 
-                     var f = a.queryCommandValue('customstyle'),
 
-                       g = i.indexByValue(f)
 
-                     g != -1 ? i.setValue(f) : i.setValue(i.initValue)
 
-                   }
 
-                 }
 
-               }),
 
-               i
 
-             )
 
-           }
 
-         }),
 
-         (b.inserttable = function (a, c, d) {
 
-           d =
 
-             a.options.labelMap.inserttable ||
 
-             a.getLang('labelMap.inserttable') ||
 
-             ''
 
-           var e = new b.TableButton({
 
-             editor: a,
 
-             title: d,
 
-             className: 'edui-for-inserttable',
 
-             onpicktable: function (b, c, d) {
 
-               a.execCommand('InsertTable', {
 
-                 numRows: d,
 
-                 numCols: c,
 
-                 border: 1
 
-               })
 
-             },
 
-             onbuttonclick: function () {
 
-               this.showPopup()
 
-             }
 
-           })
 
-           return (
 
-             (b.buttons.inserttable = e),
 
-             a.addListener('selectionchange', function () {
 
-               e.setDisabled(a.queryCommandState('inserttable') == -1)
 
-             }),
 
-             e
 
-           )
 
-         }),
 
-         (b.lineheight = function (a) {
 
-           var c = a.options.lineheight || []
 
-           if (c.length) {
 
-             for (var d, e = 0, f = []; (d = c[e++]); )
 
-               f.push({
 
-                 label: d,
 
-                 value: d,
 
-                 theme: a.options.theme,
 
-                 onclick: function () {
 
-                   a.execCommand('lineheight', this.value)
 
-                 }
 
-               })
 
-             var g = new b.MenuButton({
 
-               editor: a,
 
-               className: 'edui-for-lineheight',
 
-               title:
 
-                 a.options.labelMap.lineheight ||
 
-                 a.getLang('labelMap.lineheight') ||
 
-                 '',
 
-               items: f,
 
-               onbuttonclick: function () {
 
-                 var b = a.queryCommandValue('LineHeight') || this.value
 
-                 a.execCommand('LineHeight', b)
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons.lineheight = g),
 
-               a.addListener('selectionchange', function () {
 
-                 var b = a.queryCommandState('LineHeight')
 
-                 if (b == -1) g.setDisabled(!0)
 
-                 else {
 
-                   g.setDisabled(!1)
 
-                   var c = a.queryCommandValue('LineHeight')
 
-                   c && g.setValue((c + '').replace(/cm/, '')), g.setChecked(b)
 
-                 }
 
-               }),
 
-               g
 
-             )
 
-           }
 
-         })
 
-       for (var k, l = ['top', 'bottom'], m = 0; (k = l[m++]); )
 
-         !(function (a) {
 
-           b['rowspacing' + a] = function (c) {
 
-             var d = c.options['rowspacing' + a] || []
 
-             if (!d.length) return null
 
-             for (var e, f = 0, g = []; (e = d[f++]); )
 
-               g.push({
 
-                 label: e,
 
-                 value: e,
 
-                 theme: c.options.theme,
 
-                 onclick: function () {
 
-                   c.execCommand('rowspacing', this.value, a)
 
-                 }
 
-               })
 
-             var h = new b.MenuButton({
 
-               editor: c,
 
-               className: 'edui-for-rowspacing' + a,
 
-               title:
 
-                 c.options.labelMap['rowspacing' + a] ||
 
-                 c.getLang('labelMap.rowspacing' + a) ||
 
-                 '',
 
-               items: g,
 
-               onbuttonclick: function () {
 
-                 var b = c.queryCommandValue('rowspacing', a) || this.value
 
-                 c.execCommand('rowspacing', b, a)
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons[a] = h),
 
-               c.addListener('selectionchange', function () {
 
-                 var b = c.queryCommandState('rowspacing', a)
 
-                 if (b == -1) h.setDisabled(!0)
 
-                 else {
 
-                   h.setDisabled(!1)
 
-                   var d = c.queryCommandValue('rowspacing', a)
 
-                   d && h.setValue((d + '').replace(/%/, '')), h.setChecked(b)
 
-                 }
 
-               }),
 
-               h
 
-             )
 
-           }
 
-         })(k)
 
-       for (
 
-         var n, o = ['insertorderedlist', 'insertunorderedlist'], p = 0;
 
-         (n = o[p++]);
 
-       )
 
-         !(function (a) {
 
-           b[a] = function (c) {
 
-             var d = c.options[a],
 
-               e = function () {
 
-                 c.execCommand(a, this.value)
 
-               },
 
-               f = []
 
-             for (var g in d)
 
-               f.push({
 
-                 label: d[g] || c.getLang()[a][g] || '',
 
-                 value: g,
 
-                 theme: c.options.theme,
 
-                 onclick: e
 
-               })
 
-             var h = new b.MenuButton({
 
-               editor: c,
 
-               className: 'edui-for-' + a,
 
-               title: c.getLang('labelMap.' + a) || '',
 
-               items: f,
 
-               onbuttonclick: function () {
 
-                 var b = c.queryCommandValue(a) || this.value
 
-                 c.execCommand(a, b)
 
-               }
 
-             })
 
-             return (
 
-               (b.buttons[a] = h),
 
-               c.addListener('selectionchange', function () {
 
-                 var b = c.queryCommandState(a)
 
-                 if (b == -1) h.setDisabled(!0)
 
-                 else {
 
-                   h.setDisabled(!1)
 
-                   var d = c.queryCommandValue(a)
 
-                   h.setValue(d), h.setChecked(b)
 
-                 }
 
-               }),
 
-               h
 
-             )
 
-           }
 
-         })(n)
 
-       ;(b.fullscreen = function (a, c) {
 
-         c =
 
-           a.options.labelMap.fullscreen ||
 
-           a.getLang('labelMap.fullscreen') ||
 
-           ''
 
-         var d = new b.Button({
 
-           className: 'edui-for-fullscreen',
 
-           title: c,
 
-           theme: a.options.theme,
 
-           onclick: function () {
 
-             a.ui && a.ui.setFullScreen(!a.ui.isFullScreen()),
 
-               this.setChecked(a.ui.isFullScreen())
 
-           }
 
-         })
 
-         return (
 
-           (b.buttons.fullscreen = d),
 
-           a.addListener('selectionchange', function () {
 
-             var b = a.queryCommandState('fullscreen')
 
-             d.setDisabled(b == -1), d.setChecked(a.ui.isFullScreen())
 
-           }),
 
-           d
 
-         )
 
-       }),
 
-         (b.emotion = function (a, c) {
 
-           var d = 'emotion',
 
-             f = new b.MultiMenuPop({
 
-               title: a.options.labelMap[d] || a.getLang('labelMap.' + d) || '',
 
-               editor: a,
 
-               className: 'edui-for-' + d,
 
-               iframeUrl: a.ui.mapUrl(
 
-                 c || (a.options.iframeUrlMap || {})[d] || e[d]
 
-               )
 
-             })
 
-           return (
 
-             (b.buttons[d] = f),
 
-             a.addListener('selectionchange', function () {
 
-               f.setDisabled(a.queryCommandState(d) == -1)
 
-             }),
 
-             f
 
-           )
 
-         }),
 
-         (b.autotypeset = function (a) {
 
-           var c = new b.AutoTypeSetButton({
 
-             editor: a,
 
-             title:
 
-               a.options.labelMap.autotypeset ||
 
-               a.getLang('labelMap.autotypeset') ||
 
-               '',
 
-             className: 'edui-for-autotypeset',
 
-             onbuttonclick: function () {
 
-               a.execCommand('autotypeset')
 
-             }
 
-           })
 
-           return (
 
-             (b.buttons.autotypeset = c),
 
-             a.addListener('selectionchange', function () {
 
-               c.setDisabled(a.queryCommandState('autotypeset') == -1)
 
-             }),
 
-             c
 
-           )
 
-         }),
 
-         (b.simpleupload = function (a) {
 
-           var c = 'simpleupload',
 
-             d = new b.Button({
 
-               className: 'edui-for-' + c,
 
-               title: a.options.labelMap[c] || a.getLang('labelMap.' + c) || '',
 
-               onclick: function () {},
 
-               theme: a.options.theme,
 
-               showText: !1
 
-             })
 
-           return (
 
-             (b.buttons[c] = d),
 
-             a.addListener('ready', function () {
 
-               var b = d.getDom('body'),
 
-                 c = b.children[0]
 
-               a.fireEvent('simpleuploadbtnready', c)
 
-             }),
 
-             a.addListener('selectionchange', function (b, e, f) {
 
-               var g = a.queryCommandState(c)
 
-               g == -1
 
-                 ? (d.setDisabled(!0), d.setChecked(!1))
 
-                 : f || (d.setDisabled(!1), d.setChecked(g))
 
-             }),
 
-             d
 
-           )
 
-         })
 
-     })(),
 
-     (function () {
 
-       function a(a) {
 
-         this.initOptions(a), this.initEditorUI()
 
-       }
 
-       var b = baidu.editor.utils,
 
-         c = baidu.editor.ui.uiUtils,
 
-         d = baidu.editor.ui.UIBase,
 
-         e = baidu.editor.dom.domUtils,
 
-         f = []
 
-       ;(a.prototype = {
 
-         uiName: 'editor',
 
-         initEditorUI: function () {
 
-           function a(a, b) {
 
-             a.setOpt({
 
-               wordCount: !0,
 
-               maximumWords: 1e4,
 
-               wordCountMsg: a.options.wordCountMsg || a.getLang('wordCountMsg'),
 
-               wordOverFlowMsg:
 
-                 a.options.wordOverFlowMsg || a.getLang('wordOverFlowMsg')
 
-             })
 
-             var c = a.options,
 
-               d = c.maximumWords,
 
-               e = c.wordCountMsg,
 
-               f = c.wordOverFlowMsg,
 
-               g = b.getDom('wordcount')
 
-             if (c.wordCount) {
 
-               var h = a.getContentLength(!0)
 
-               h > d
 
-                 ? ((g.innerHTML = f), a.fireEvent('wordcountoverflow'))
 
-                 : (g.innerHTML = e
 
-                     .replace('{#leave}', d - h)
 
-                     .replace('{#count}', h))
 
-             }
 
-           }
 
-           ;(this.editor.ui = this),
 
-             (this._dialogs = {}),
 
-             this.initUIBase(),
 
-             this._initToolbars()
 
-           var b = this.editor,
 
-             c = this
 
-           b.addListener('ready', function () {
 
-             function d() {
 
-               a(b, c), e.un(b.document, 'click', arguments.callee)
 
-             }
 
-             ;(b.getDialog = function (a) {
 
-               return b.ui._dialogs[a + 'Dialog']
 
-             }),
 
-               e.on(b.window, 'scroll', function (a) {
 
-                 baidu.editor.ui.Popup.postHide(a)
 
-               }),
 
-               (b.ui._actualFrameWidth = b.options.initialFrameWidth),
 
-               UE.browser.ie &&
 
-                 6 === UE.browser.version &&
 
-                 b.container.ownerDocument.execCommand(
 
-                   'BackgroundImageCache',
 
-                   !1,
 
-                   !0
 
-                 ),
 
-               b.options.elementPathEnabled &&
 
-                 (b.ui.getDom('elementpath').innerHTML =
 
-                   '<div class="edui-editor-breadcrumb">' +
 
-                   b.getLang('elementPathTip') +
 
-                   ':</div>'),
 
-               b.options.wordCount &&
 
-                 (e.on(b.document, 'click', d),
 
-                 (b.ui.getDom('wordcount').innerHTML =
 
-                   b.getLang('wordCountTip'))),
 
-               b.ui._scale(),
 
-               b.options.scaleEnabled
 
-                 ? (b.autoHeightEnabled && b.disableAutoHeight(),
 
-                   c.enableScale())
 
-                 : c.disableScale(),
 
-               b.options.elementPathEnabled ||
 
-                 b.options.wordCount ||
 
-                 b.options.scaleEnabled ||
 
-                 ((b.ui.getDom('elementpath').style.display = 'none'),
 
-                 (b.ui.getDom('wordcount').style.display = 'none'),
 
-                 (b.ui.getDom('scale').style.display = 'none')),
 
-               b.selection.isFocus() && b.fireEvent('selectionchange', !1, !0)
 
-           }),
 
-             b.addListener('mousedown', function (a, b) {
 
-               var c = b.target || b.srcElement
 
-               baidu.editor.ui.Popup.postHide(b, c),
 
-                 baidu.editor.ui.ShortCutMenu.postHide(b)
 
-             }),
 
-             b.addListener('delcells', function () {
 
-               UE.ui.edittip && new UE.ui.edittip(b),
 
-                 b.getDialog('edittip').open()
 
-             })
 
-           var d,
 
-             f,
 
-             g = !1
 
-           b.addListener('afterpaste', function () {
 
-             b.queryCommandState('pasteplain') ||
 
-               (baidu.editor.ui.PastePicker &&
 
-                 ((d = new baidu.editor.ui.Popup({
 
-                   content: new baidu.editor.ui.PastePicker({ editor: b }),
 
-                   editor: b,
 
-                   className: 'edui-wordpastepop'
 
-                 })),
 
-                 d.render()),
 
-               (g = !0))
 
-           }),
 
-             b.addListener('afterinserthtml', function () {
 
-               clearTimeout(f),
 
-                 (f = setTimeout(function () {
 
-                   if (d && (g || b.ui._isTransfer)) {
 
-                     if (d.isHidden()) {
 
-                       var a = e.createElement(b.document, 'span', {
 
-                           style: 'line-height:0px;',
 
-                           innerHTML: '\ufeff'
 
-                         }),
 
-                         c = b.selection.getRange()
 
-                       c.insertNode(a)
 
-                       var f = getDomNode(a, 'firstChild', 'previousSibling')
 
-                       f && d.showAnchor(3 == f.nodeType ? f.parentNode : f),
 
-                         e.remove(a)
 
-                     } else d.show()
 
-                     delete b.ui._isTransfer, (g = !1)
 
-                   }
 
-                 }, 200))
 
-             }),
 
-             b.addListener('contextmenu', function (a, b) {
 
-               baidu.editor.ui.Popup.postHide(b)
 
-             }),
 
-             b.addListener('keydown', function (a, b) {
 
-               d && d.dispose(b)
 
-               var c = b.keyCode || b.which
 
-               b.altKey && 90 == c && UE.ui.buttons.fullscreen.onclick()
 
-             }),
 
-             b.addListener('wordcount', function (b) {
 
-               a(this, c)
 
-             }),
 
-             b.addListener('selectionchange', function () {
 
-               b.options.elementPathEnabled &&
 
-                 c[
 
-                   (b.queryCommandState('elementpath') == -1 ? 'dis' : 'en') +
 
-                     'ableElementPath'
 
-                 ](),
 
-                 b.options.scaleEnabled &&
 
-                   c[
 
-                     (b.queryCommandState('scale') == -1 ? 'dis' : 'en') +
 
-                       'ableScale'
 
-                   ]()
 
-             })
 
-           var h = new baidu.editor.ui.Popup({
 
-             editor: b,
 
-             content: '',
 
-             className: 'edui-bubble',
 
-             _onEditButtonClick: function () {
 
-               this.hide(), b.ui._dialogs.linkDialog.open()
 
-             },
 
-             _onImgEditButtonClick: function (a) {
 
-               this.hide(), b.ui._dialogs[a] && b.ui._dialogs[a].open()
 
-             },
 
-             _onImgSetFloat: function (a) {
 
-               this.hide(), b.execCommand('imagefloat', a)
 
-             },
 
-             _setIframeAlign: function (a) {
 
-               var b = h.anchorEl,
 
-                 c = b.cloneNode(!0)
 
-               switch (a) {
 
-                 case -2:
 
-                   c.setAttribute('align', '')
 
-                   break
 
-                 case -1:
 
-                   c.setAttribute('align', 'left')
 
-                   break
 
-                 case 1:
 
-                   c.setAttribute('align', 'right')
 
-               }
 
-               b.parentNode.insertBefore(c, b),
 
-                 e.remove(b),
 
-                 (h.anchorEl = c),
 
-                 h.showAnchor(h.anchorEl)
 
-             },
 
-             _updateIframe: function () {
 
-               var a = (b._iframe = h.anchorEl)
 
-               e.hasClass(a, 'ueditor_baidumap')
 
-                 ? (b.selection.getRange().selectNode(a).select(),
 
-                   b.ui._dialogs.mapDialog.open(),
 
-                   h.hide())
 
-                 : (b.ui._dialogs.insertframeDialog.open(), h.hide())
 
-             },
 
-             _onRemoveButtonClick: function (a) {
 
-               b.execCommand(a), this.hide()
 
-             },
 
-             queryAutoHide: function (a) {
 
-               return a &&
 
-                 a.ownerDocument == b.document &&
 
-                 ('img' == a.tagName.toLowerCase() ||
 
-                   e.findParentByTagName(a, 'a', !0))
 
-                 ? a !== h.anchorEl
 
-                 : baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, a)
 
-             }
 
-           })
 
-           h.render(),
 
-             b.options.imagePopup &&
 
-               (b.addListener('mouseover', function (a, c) {
 
-                 c = c || window.event
 
-                 var d = c.target || c.srcElement
 
-                 if (
 
-                   b.ui._dialogs.insertframeDialog &&
 
-                   /iframe/gi.test(d.tagName)
 
-                 ) {
 
-                   var e = h.formatHtml(
 
-                     '<nobr>' +
 
-                       b.getLang('property') +
 
-                       ': <span onclick=$$._setIframeAlign(-2) class="edui-clickable">' +
 
-                       b.getLang('default') +
 
-                       '</span>  <span onclick=$$._setIframeAlign(-1) class="edui-clickable">' +
 
-                       b.getLang('justifyleft') +
 
-                       '</span>  <span onclick=$$._setIframeAlign(1) class="edui-clickable">' +
 
-                       b.getLang('justifyright') +
 
-                       '</span>   <span onclick="$$._updateIframe( this);" class="edui-clickable">' +
 
-                       b.getLang('modify') +
 
-                       '</span></nobr>'
 
-                   )
 
-                   e
 
-                     ? ((h.getDom('content').innerHTML = e),
 
-                       (h.anchorEl = d),
 
-                       h.showAnchor(h.anchorEl))
 
-                     : h.hide()
 
-                 }
 
-               }),
 
-               b.addListener('selectionchange', function (a, c) {
 
-                 if (c) {
 
-                   var d = '',
 
-                     f = '',
 
-                     g = b.selection.getRange().getClosedNode(),
 
-                     i = b.ui._dialogs
 
-                   if (g && 'IMG' == g.tagName) {
 
-                     var j = 'insertimageDialog'
 
-                     if (
 
-                       ((g.className.indexOf('edui-faked-video') == -1 &&
 
-                         g.className.indexOf('edui-upload-video') == -1) ||
 
-                         (j = 'insertvideoDialog'),
 
-                       g.className.indexOf('edui-faked-webapp') != -1 &&
 
-                         (j = 'webappDialog'),
 
-                       g.src.indexOf('http://api.map.baidu.com') != -1 &&
 
-                         (j = 'mapDialog'),
 
-                       g.className.indexOf('edui-faked-music') != -1 &&
 
-                         (j = 'musicDialog'),
 
-                       g.src.indexOf(
 
-                         'http://maps.google.com/maps/api/staticmap'
 
-                       ) != -1 && (j = 'gmapDialog'),
 
-                       g.getAttribute('anchorname') &&
 
-                         ((j = 'anchorDialog'),
 
-                         (d = h.formatHtml(
 
-                           '<nobr>' +
 
-                             b.getLang('property') +
 
-                             ': <span onclick=$$._onImgEditButtonClick("anchorDialog") class="edui-clickable">' +
 
-                             b.getLang('modify') +
 
-                             '</span>  <span onclick=$$._onRemoveButtonClick(\'anchor\') class="edui-clickable">' +
 
-                             b.getLang('delete') +
 
-                             '</span></nobr>'
 
-                         ))),
 
-                       g.getAttribute('word_img') &&
 
-                         ((b.word_img = [g.getAttribute('word_img')]),
 
-                         (j = 'wordimageDialog')),
 
-                       (e.hasClass(g, 'loadingclass') ||
 
-                         e.hasClass(g, 'loaderrorclass')) &&
 
-                         (j = ''),
 
-                       !i[j])
 
-                     )
 
-                       return
 
-                     ;(f =
 
-                       '<nobr>' +
 
-                       b.getLang('property') +
 
-                       ': <span onclick=$$._onImgSetFloat("none") class="edui-clickable">' +
 
-                       b.getLang('default') +
 
-                       '</span>  <span onclick=$$._onImgSetFloat("left") class="edui-clickable">' +
 
-                       b.getLang('justifyleft') +
 
-                       '</span>  <span onclick=$$._onImgSetFloat("right") class="edui-clickable">' +
 
-                       b.getLang('justifyright') +
 
-                       '</span>  <span onclick=$$._onImgSetFloat("center") class="edui-clickable">' +
 
-                       b.getLang('justifycenter') +
 
-                       '</span>  <span onclick="$$._onImgEditButtonClick(\'' +
 
-                       j +
 
-                       '\');" class="edui-clickable">' +
 
-                       b.getLang('modify') +
 
-                       '</span></nobr>'),
 
-                       !d && (d = h.formatHtml(f))
 
-                   }
 
-                   if (b.ui._dialogs.linkDialog) {
 
-                     var k,
 
-                       l = b.queryCommandValue('link')
 
-                     if (
 
-                       l &&
 
-                       (k = l.getAttribute('_href') || l.getAttribute('href', 2))
 
-                     ) {
 
-                       var m = k
 
-                       k.length > 30 && (m = k.substring(0, 20) + '...'),
 
-                         d && (d += '<div style="height:5px;"></div>'),
 
-                         (d += h.formatHtml(
 
-                           '<nobr>' +
 
-                             b.getLang('anthorMsg') +
 
-                             ': <a target="_blank" href="' +
 
-                             k +
 
-                             '" title="' +
 
-                             k +
 
-                             '" >' +
 
-                             m +
 
-                             '</a> <span class="edui-clickable" onclick="$$._onEditButtonClick();">' +
 
-                             b.getLang('modify') +
 
-                             '</span> <span class="edui-clickable" onclick="$$._onRemoveButtonClick(\'unlink\');"> ' +
 
-                             b.getLang('clear') +
 
-                             '</span></nobr>'
 
-                         )),
 
-                         h.showAnchor(l)
 
-                     }
 
-                   }
 
-                   d
 
-                     ? ((h.getDom('content').innerHTML = d),
 
-                       (h.anchorEl = g || l),
 
-                       h.showAnchor(h.anchorEl))
 
-                     : h.hide()
 
-                 }
 
-               }))
 
-         },
 
-         _initToolbars: function () {
 
-           for (
 
-             var a = this.editor, b = this.toolbars || [], c = [], d = 0;
 
-             d < b.length;
 
-             d++
 
-           ) {
 
-             for (
 
-               var e = b[d],
 
-                 f = new baidu.editor.ui.Toolbar({ theme: a.options.theme }),
 
-                 g = 0;
 
-               g < e.length;
 
-               g++
 
-             ) {
 
-               var h = e[g],
 
-                 i = null
 
-               if ('string' == typeof h) {
 
-                 if (
 
-                   ((h = h.toLowerCase()),
 
-                   '|' == h && (h = 'Separator'),
 
-                   '||' == h && (h = 'Breakline'),
 
-                   baidu.editor.ui[h] && (i = new baidu.editor.ui[h](a)),
 
-                   'fullscreen' == h)
 
-                 ) {
 
-                   c && c[0]
 
-                     ? c[0].items.splice(0, 0, i)
 
-                     : i && f.items.splice(0, 0, i)
 
-                   continue
 
-                 }
 
-               } else i = h
 
-               i && i.id && f.add(i)
 
-             }
 
-             c[d] = f
 
-           }
 
-           for (var j in UE._customizeUI) {
 
-             var k,
 
-               l,
 
-               m = UE._customizeUI[j]
 
-             ;(m.id && m.id != a.key) ||
 
-               ((k = m.execFn.call(a, a, j)),
 
-               k &&
 
-                 ((l = m.index),
 
-                 void 0 === l && (l = f.items.length),
 
-                 f.add(k, l)))
 
-           }
 
-           this.toolbars = c
 
-         },
 
-         getHtmlTpl: function () {
 
-           return (
 
-             '<div id="##" class="%%"><div id="##_toolbarbox" class="%%-toolbarbox">' +
 
-             (this.toolbars.length
 
-               ? '<div id="##_toolbarboxouter" class="%%-toolbarboxouter"><div class="%%-toolbarboxinner">' +
 
-                 this.renderToolbarBoxHtml() +
 
-                 '</div></div>'
 
-               : '') +
 
-             '<div id="##_toolbarmsg" class="%%-toolbarmsg" style="display:none;"><div id = "##_upload_dialog" class="%%-toolbarmsg-upload" onclick="$$.showWordImageDialog();">' +
 
-             this.editor.getLang('clickToUpload') +
 
-             '</div><div class="%%-toolbarmsg-close" onclick="$$.hideToolbarMsg();">x</div><div id="##_toolbarmsg_label" class="%%-toolbarmsg-label"></div><div style="height:0;overflow:hidden;clear:both;"></div></div><div id="##_message_holder" class="%%-messageholder"></div></div><div id="##_iframeholder" class="%%-iframeholder"></div><div id="##_bottombar" class="%%-bottomContainer"><table><tr><td id="##_elementpath" class="%%-bottombar"></td><td id="##_wordcount" class="%%-wordcount"></td><td id="##_scale" class="%%-scale"><div class="%%-icon"></div></td></tr></table></div><div id="##_scalelayer"></div></div>'
 
-           )
 
-         },
 
-         showWordImageDialog: function () {
 
-           this._dialogs.wordimageDialog.open()
 
-         },
 
-         renderToolbarBoxHtml: function () {
 
-           for (var a = [], b = 0; b < this.toolbars.length; b++)
 
-             a.push(this.toolbars[b].renderHtml())
 
-           return a.join('')
 
-         },
 
-         setFullScreen: function (a) {
 
-           var b = this.editor,
 
-             c = b.container.parentNode.parentNode
 
-           if (this._fullscreen != a) {
 
-             if (
 
-               ((this._fullscreen = a),
 
-               this.editor.fireEvent('beforefullscreenchange', a),
 
-               baidu.editor.browser.gecko)
 
-             )
 
-               var d = b.selection.getRange().createBookmark()
 
-             if (a) {
 
-               for (; 'BODY' != c.tagName; ) {
 
-                 var e = baidu.editor.dom.domUtils.getComputedStyle(
 
-                   c,
 
-                   'position'
 
-                 )
 
-                 f.push(e), (c.style.position = 'static'), (c = c.parentNode)
 
-               }
 
-               ;(this._bakHtmlOverflow =
 
-                 document.documentElement.style.overflow),
 
-                 (this._bakBodyOverflow = document.body.style.overflow),
 
-                 (this._bakAutoHeight = this.editor.autoHeightEnabled),
 
-                 (this._bakScrollTop = Math.max(
 
-                   document.documentElement.scrollTop,
 
-                   document.body.scrollTop
 
-                 )),
 
-                 (this._bakEditorContaninerWidth =
 
-                   b.iframe.parentNode.offsetWidth),
 
-                 this._bakAutoHeight &&
 
-                   ((b.autoHeightEnabled = !1), this.editor.disableAutoHeight()),
 
-                 (document.documentElement.style.overflow = 'hidden'),
 
-                 window.scrollTo(0, window.scrollY),
 
-                 (this._bakCssText = this.getDom().style.cssText),
 
-                 (this._bakCssText1 = this.getDom('iframeholder').style.cssText),
 
-                 (b.iframe.parentNode.style.width = ''),
 
-                 this._updateFullScreen()
 
-             } else {
 
-               for (; 'BODY' != c.tagName; )
 
-                 (c.style.position = f.shift()), (c = c.parentNode)
 
-               ;(this.getDom().style.cssText = this._bakCssText),
 
-                 (this.getDom('iframeholder').style.cssText = this._bakCssText1),
 
-                 this._bakAutoHeight &&
 
-                   ((b.autoHeightEnabled = !0), this.editor.enableAutoHeight()),
 
-                 (document.documentElement.style.overflow =
 
-                   this._bakHtmlOverflow),
 
-                 (document.body.style.overflow = this._bakBodyOverflow),
 
-                 (b.iframe.parentNode.style.width =
 
-                   this._bakEditorContaninerWidth + 'px'),
 
-                 window.scrollTo(0, this._bakScrollTop)
 
-             }
 
-             if (browser.gecko && 'true' === b.body.contentEditable) {
 
-               var g = document.createElement('input')
 
-               document.body.appendChild(g),
 
-                 (b.body.contentEditable = !1),
 
-                 setTimeout(function () {
 
-                   g.focus(),
 
-                     setTimeout(function () {
 
-                       ;(b.body.contentEditable = !0),
 
-                         b.fireEvent('fullscreenchanged', a),
 
-                         b.selection.getRange().moveToBookmark(d).select(!0),
 
-                         baidu.editor.dom.domUtils.remove(g),
 
-                         a && window.scroll(0, 0)
 
-                     }, 0)
 
-                 }, 0)
 
-             }
 
-             'true' === b.body.contentEditable &&
 
-               (this.editor.fireEvent('fullscreenchanged', a),
 
-               this.triggerLayout())
 
-           }
 
-         },
 
-         _updateFullScreen: function () {
 
-           if (this._fullscreen) {
 
-             var a = c.getViewportRect()
 
-             if (
 
-               ((this.getDom().style.cssText =
 
-                 'border:0;position:absolute;left:0;top:' +
 
-                 (this.editor.options.topOffset || 0) +
 
-                 'px;width:' +
 
-                 a.width +
 
-                 'px;height:' +
 
-                 a.height +
 
-                 'px;z-index:' +
 
-                 (1 * this.getDom().style.zIndex + 100)),
 
-               c.setViewportOffset(this.getDom(), {
 
-                 left: 0,
 
-                 top: this.editor.options.topOffset || 0
 
-               }),
 
-               this.editor.setHeight(
 
-                 a.height -
 
-                   this.getDom('toolbarbox').offsetHeight -
 
-                   this.getDom('bottombar').offsetHeight -
 
-                   (this.editor.options.topOffset || 0),
 
-                 !0
 
-               ),
 
-               browser.gecko)
 
-             )
 
-               try {
 
-                 window.onresize()
 
-               } catch (b) {}
 
-           }
 
-         },
 
-         _updateElementPath: function () {
 
-           var a,
 
-             b = this.getDom('elementpath')
 
-           if (
 
-             this.elementPathEnabled &&
 
-             (a = this.editor.queryCommandValue('elementpath'))
 
-           ) {
 
-             for (var c, d = [], e = 0; (c = a[e]); e++)
 
-               d[e] = this.formatHtml(
 
-                 '<span unselectable="on" onclick="$$.editor.execCommand("elementpath", "' +
 
-                   e +
 
-                   '");">' +
 
-                   c +
 
-                   '</span>'
 
-               )
 
-             b.innerHTML =
 
-               '<div class="edui-editor-breadcrumb" onmousedown="return false;">' +
 
-               this.editor.getLang('elementPathTip') +
 
-               ': ' +
 
-               d.join(' > ') +
 
-               '</div>'
 
-           } else b.style.display = 'none'
 
-         },
 
-         disableElementPath: function () {
 
-           var a = this.getDom('elementpath')
 
-           ;(a.innerHTML = ''),
 
-             (a.style.display = 'none'),
 
-             (this.elementPathEnabled = !1)
 
-         },
 
-         enableElementPath: function () {
 
-           var a = this.getDom('elementpath')
 
-           ;(a.style.display = ''),
 
-             (this.elementPathEnabled = !0),
 
-             this._updateElementPath()
 
-         },
 
-         _scale: function () {
 
-           function a() {
 
-             ;(o = e.getXY(h)),
 
-               p ||
 
-                 (p =
 
-                   g.options.minFrameHeight + j.offsetHeight + k.offsetHeight),
 
-               (m.style.cssText =
 
-                 'position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:' +
 
-                 h.offsetWidth +
 
-                 'px;height:' +
 
-                 h.offsetHeight +
 
-                 'px;z-index:' +
 
-                 (g.options.zIndex + 1)),
 
-               e.on(f, 'mousemove', b),
 
-               e.on(i, 'mouseup', c),
 
-               e.on(f, 'mouseup', c)
 
-           }
 
-           function b(a) {
 
-             d()
 
-             var b = a || window.event
 
-             ;(r = b.pageX || f.documentElement.scrollLeft + b.clientX),
 
-               (s = b.pageY || f.documentElement.scrollTop + b.clientY),
 
-               (t = r - o.x),
 
-               (u = s - o.y),
 
-               t >= q && ((n = !0), (m.style.width = t + 'px')),
 
-               u >= p && ((n = !0), (m.style.height = u + 'px'))
 
-           }
 
-           function c() {
 
-             n &&
 
-               ((n = !1),
 
-               (g.ui._actualFrameWidth = m.offsetWidth - 2),
 
-               (h.style.width = g.ui._actualFrameWidth + 'px'),
 
-               g.setHeight(
 
-                 m.offsetHeight - k.offsetHeight - j.offsetHeight - 2,
 
-                 !0
 
-               )),
 
-               m && (m.style.display = 'none'),
 
-               d(),
 
-               e.un(f, 'mousemove', b),
 
-               e.un(i, 'mouseup', c),
 
-               e.un(f, 'mouseup', c)
 
-           }
 
-           function d() {
 
-             browser.ie
 
-               ? f.selection.clear()
 
-               : window.getSelection().removeAllRanges()
 
-           }
 
-           var f = document,
 
-             g = this.editor,
 
-             h = g.container,
 
-             i = g.document,
 
-             j = this.getDom('toolbarbox'),
 
-             k = this.getDom('bottombar'),
 
-             l = this.getDom('scale'),
 
-             m = this.getDom('scalelayer'),
 
-             n = !1,
 
-             o = null,
 
-             p = 0,
 
-             q = g.options.minFrameWidth,
 
-             r = 0,
 
-             s = 0,
 
-             t = 0,
 
-             u = 0,
 
-             v = this
 
-           this.editor.addListener('fullscreenchanged', function (a, b) {
 
-             if (b) v.disableScale()
 
-             else if (v.editor.options.scaleEnabled) {
 
-               v.enableScale()
 
-               var c = v.editor.document.createElement('span')
 
-               v.editor.body.appendChild(c),
 
-                 (v.editor.body.style.height =
 
-                   Math.max(e.getXY(c).y, v.editor.iframe.offsetHeight - 20) +
 
-                   'px'),
 
-                 e.remove(c)
 
-             }
 
-           }),
 
-             (this.enableScale = function () {
 
-               1 != g.queryCommandState('source') &&
 
-                 ((l.style.display = ''),
 
-                 (this.scaleEnabled = !0),
 
-                 e.on(l, 'mousedown', a))
 
-             }),
 
-             (this.disableScale = function () {
 
-               ;(l.style.display = 'none'),
 
-                 (this.scaleEnabled = !1),
 
-                 e.un(l, 'mousedown', a)
 
-             })
 
-         },
 
-         isFullScreen: function () {
 
-           return this._fullscreen
 
-         },
 
-         postRender: function () {
 
-           d.prototype.postRender.call(this)
 
-           for (var a = 0; a < this.toolbars.length; a++)
 
-             this.toolbars[a].postRender()
 
-           var b,
 
-             c = this,
 
-             e = baidu.editor.dom.domUtils,
 
-             f = function () {
 
-               clearTimeout(b),
 
-                 (b = setTimeout(function () {
 
-                   c._updateFullScreen()
 
-                 }))
 
-             }
 
-           e.on(window, 'resize', f),
 
-             c.addListener('destroy', function () {
 
-               e.un(window, 'resize', f), clearTimeout(b)
 
-             })
 
-         },
 
-         showToolbarMsg: function (a, b) {
 
-           if (
 
-             ((this.getDom('toolbarmsg_label').innerHTML = a),
 
-             (this.getDom('toolbarmsg').style.display = ''),
 
-             !b)
 
-           ) {
 
-             var c = this.getDom('upload_dialog')
 
-             c.style.display = 'none'
 
-           }
 
-         },
 
-         hideToolbarMsg: function () {
 
-           this.getDom('toolbarmsg').style.display = 'none'
 
-         },
 
-         mapUrl: function (a) {
 
-           return a
 
-             ? a.replace('~/', this.editor.options.UEDITOR_HOME_URL || '')
 
-             : ''
 
-         },
 
-         triggerLayout: function () {
 
-           var a = this.getDom()
 
-           '1' == a.style.zoom ? (a.style.zoom = '100%') : (a.style.zoom = '1')
 
-         }
 
-       }),
 
-         b.inherits(a, baidu.editor.ui.UIBase)
 
-       var g = {}
 
-       ;(UE.ui.Editor = function (c) {
 
-         var d = new UE.Editor(c)
 
-         ;(d.options.editor = d),
 
-           b.loadFile(document, {
 
-             href: d.options.themePath + d.options.theme + '/css/ueditor.css',
 
-             tag: 'link',
 
-             type: 'text/css',
 
-             rel: 'stylesheet'
 
-           })
 
-         var f = d.render
 
-         return (
 
-           (d.render = function (c) {
 
-             c.constructor === String && ((d.key = c), (g[c] = d)),
 
-               b.domReady(function () {
 
-                 function b() {
 
-                   if (
 
-                     (d.setOpt({
 
-                       labelMap: d.options.labelMap || d.getLang('labelMap')
 
-                     }),
 
-                     new a(d.options),
 
-                     c &&
 
-                       (c.constructor === String &&
 
-                         (c = document.getElementById(c)),
 
-                       c &&
 
-                         c.getAttribute('name') &&
 
-                         (d.options.textarea = c.getAttribute('name')),
 
-                       c && /script|textarea/gi.test(c.tagName)))
 
-                   ) {
 
-                     var b = document.createElement('div')
 
-                     c.parentNode.insertBefore(b, c)
 
-                     var g = c.value || c.innerHTML
 
-                     ;(d.options.initialContent = /^[\t\r\n ]*$/.test(g)
 
-                       ? d.options.initialContent
 
-                       : g
 
-                           .replace(/>[\n\r\t]+([ ]{4})+/g, '>')
 
-                           .replace(/[\n\r\t]+([ ]{4})+</g, '<')
 
-                           .replace(/>[\n\r\t]+</g, '><')),
 
-                       c.className && (b.className = c.className),
 
-                       c.style.cssText && (b.style.cssText = c.style.cssText),
 
-                       /textarea/i.test(c.tagName)
 
-                         ? ((d.textarea = c),
 
-                           (d.textarea.style.display = 'none'))
 
-                         : c.parentNode.removeChild(c),
 
-                       c.id && ((b.id = c.id), e.removeAttributes(c, 'id')),
 
-                       (c = b),
 
-                       (c.innerHTML = '')
 
-                   }
 
-                   e.addClass(c, 'edui-' + d.options.theme), d.ui.render(c)
 
-                   var h = d.options
 
-                   d.container = d.ui.getDom()
 
-                   for (
 
-                     var i, j = e.findParents(c, !0), k = [], l = 0;
 
-                     (i = j[l]);
 
-                     l++
 
-                   )
 
-                     (k[l] = i.style.display), (i.style.display = 'block')
 
-                   if (h.initialFrameWidth) h.minFrameWidth = h.initialFrameWidth
 
-                   else {
 
-                     h.minFrameWidth = h.initialFrameWidth = c.offsetWidth
 
-                     var m = c.style.width
 
-                     ;/%$/.test(m) && (h.initialFrameWidth = m)
 
-                   }
 
-                   h.initialFrameHeight
 
-                     ? (h.minFrameHeight = h.initialFrameHeight)
 
-                     : (h.initialFrameHeight = h.minFrameHeight = c.offsetHeight)
 
-                   for (var i, l = 0; (i = j[l]); l++) i.style.display = k[l]
 
-                   c.style.height && (c.style.height = ''),
 
-                     (d.container.style.width =
 
-                       h.initialFrameWidth +
 
-                       (/%$/.test(h.initialFrameWidth) ? '' : 'px')),
 
-                     (d.container.style.zIndex = h.zIndex),
 
-                     f.call(d, d.ui.getDom('iframeholder')),
 
-                     d.fireEvent('afteruiready')
 
-                 }
 
-                 d.langIsReady ? b() : d.addListener('langReady', b)
 
-               })
 
-           }),
 
-           d
 
-         )
 
-       }),
 
-         (UE.getEditor = function (a, b) {
 
-           var c = g[a]
 
-           return c || ((c = g[a] = new UE.ui.Editor(b)), c.render(a)), c
 
-         }),
 
-         (UE.delEditor = function (a) {
 
-           var b
 
-           ;(b = g[a]) && (b.key && b.destroy(), delete g[a])
 
-         }),
 
-         (UE.registerUI = function (a, c, d, e) {
 
-           b.each(a.split(/\s+/), function (a) {
 
-             UE._customizeUI[a] = { id: e, execFn: c, index: d }
 
-           })
 
-         })
 
-     })(),
 
-     UE.registerUI('message', function (a) {
 
-       function b() {
 
-         var a = g.ui.getDom('toolbarbox')
 
-         a && (c.style.top = a.offsetHeight + 3 + 'px'),
 
-           (c.style.zIndex =
 
-             Math.max(g.options.zIndex, g.iframe.style.zIndex) + 1)
 
-       }
 
-       var c,
 
-         d = baidu.editor.ui,
 
-         e = d.Message,
 
-         f = [],
 
-         g = a
 
-       g.addListener('ready', function () {
 
-         ;(c = document.getElementById(g.ui.id + '_message_holder')), b()
 
-       }),
 
-         g.addListener('showmessage', function (a, d) {
 
-           d = utils.isString(d) ? { content: d } : d
 
-           var h = new e({
 
-               timeout: d.timeout,
 
-               type: d.type,
 
-               content: d.content,
 
-               keepshow: d.keepshow,
 
-               editor: g
 
-             }),
 
-             i = d.id || 'msg_' + (+new Date()).toString(36)
 
-           return h.render(c), (f[i] = h), h.reset(d), b(), i
 
-         }),
 
-         g.addListener('updatemessage', function (a, b, d) {
 
-           d = utils.isString(d) ? { content: d } : d
 
-           var e = f[b]
 
-           e.render(c), e && e.reset(d)
 
-         }),
 
-         g.addListener('hidemessage', function (a, b) {
 
-           var c = f[b]
 
-           c && c.hide()
 
-         })
 
-     }),
 
-     UE.registerUI('autosave', function (a) {
 
-       var b = null,
 
-         c = null
 
-       a.on('afterautosave', function () {
 
-         clearTimeout(b),
 
-           (b = setTimeout(function () {
 
-             c && a.trigger('hidemessage', c),
 
-               (c = a.trigger('showmessage', {
 
-                 content: a.getLang('autosave.success'),
 
-                 timeout: 2e3
 
-               }))
 
-           }, 2e3))
 
-       })
 
-     })
 
- })()
 
 
  |