Content-Type: multipart/related; start=; boundary=----------XTsu3py7d4Aozjv3Kg74PK Content-Location: file://localhost/F:/ZSP_Zaklady_spolecenskych_ved.htm Subject: =?utf-8?Q?ZSP:=20Z=C3=A1klady=20spole=C4=8Densk=C3=BDch=20v=C4=9Bd?= MIME-Version: 1.0 ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=ZSP_Zaklady_spolecenskych_ved.htm Content-Type: text/html; name=ZSP_Zaklady_spolecenskych_ved.htm Content-ID: Content-Location: file://localhost/F:/ZSP_Zaklady_spolecenskych_ved.htm Content-Transfer-Encoding: 8bit ZSP: Základy společenských věd

Základy společenských věd

Prohlídka náhledu

Započetí testustředa, 19. října 2011, 11.20
Dokončení testustředa, 19. října 2011, 11.20
Délka pokusu8 sekund
Známka0 z možných 40 (0%)
Question 1 Upravit
Body: 1
Moc výkonná je v České republice zastoupena:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 2 Upravit
Body: 1
Lidská psychika se skládá z:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 3 Upravit
Body: 1
Který z myslitelů vyslovil tezi, že společnost je rozdělena na třídu těch, kteří jsou nuceni prodávat svou pracovní sílu a těch, kteří ji kupují (tj. třídu odcizených vlastníků výrobních prostředků)?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 4 Upravit
Body: 1
Kultura jako sociologický termín je:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 5 Upravit
Body: 1
Kurz měny je vyjádřen:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 6 Upravit
Body: 1
Kdo je autorem díla „O pohybech nebeských těles“?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 7 Upravit
Body: 1
Naturalistický směr v sociologii:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 8 Upravit
Body: 1
Které z filosofických děl nenapsal Tomáš Garrigue Masaryk?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 9 Upravit
Body: 1
Který z představitelů řecké filosofie je známý svým výrokem „Vím že nic nevím.“?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 10 Upravit
Body: 1
Enkulturací rozumíme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 11 Upravit
Body: 1
Řeč je:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 12 Upravit
Body: 1
Demokracie představuje:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 13 Upravit
Body: 1
Termínem „nevědomí“ označujeme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 14 Upravit
Body: 1
Společenské role jsou dány:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 15 Upravit
Body: 1
Psychologie osobnosti zkoumá:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 16 Upravit
Body: 1
Sociální deviace jsou:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 17 Upravit
Body: 1
Který z filosofů byl významným představitelem patristiky (která byla pokusem o teologicko – filozofické vyjádření křesťanského náboženství) a který se snažil o vytvoření spirituálního monismu, v němž je Bůh nejvyšším principem a zdrojem světa?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 18 Upravit
Body: 1
Čemu říkáme panteismus?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 19 Upravit
Body: 1
Kdo je zakladatelem fenomenologie (učení o tom, co se jeví, co je nepochybně dáno)?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 20 Upravit
Body: 1
Sociologie:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 21 Upravit
Body: 1
Sociální kontestací rozumíme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 22 Upravit
Body: 1
Psycholingvistika patří mezi:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 23 Upravit
Body: 1
Zakladatelem psychoanalýzy byl:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 24 Upravit
Body: 1
Termínem chování označujeme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 25 Upravit
Body: 1
Termínem „konflikt“ označujeme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 26 Upravit
Body: 1
Který z představitelů řecké filosofie nesouhlasil s Platónem a zastával myšlenku, že každá věc je jednotou látky a tvaru?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 27 Upravit
Body: 1
Ekonomii dělíme na:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 28 Upravit
Body: 1
Vývojová psychologie patří mezi:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 29 Upravit
Body: 1
Proces socializace probíhá:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 30 Upravit
Body: 1
Předpoklady vnímání jsou:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 31 Upravit
Body: 1
Který z filosofů (novověké filosofie) zastával myšlenku, že lidské vědomí při narození je čistá nepopsaná deska (tabula rasa)?
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 32 Upravit
Body: 1
Moc založenou na dědičném právu označuje M. Weber termínem:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 33 Upravit
Body: 1
Psychologie je věda:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 34 Upravit
Body: 1
Za poptávku považujeme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 35 Upravit
Body: 1
Na utváření osobnosti mají vliv:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 36 Upravit
Body: 1
Který z představitelů řecké filosofie zastával učení, že „...svět není stvořen bohy ani lidmi, ale že je věčně živým ohněm...?“ Byl zastáncem relativnosti našich soudů.
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 37 Upravit
Body: 1
Termín „archetypy“ a „kolektivní nevědomí“ používal:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 38 Upravit
Body: 1
Afektem rozumíme:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 39 Upravit
Body: 1
Sociální role:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
Question 40 Upravit
Body: 1
Primární skupinou je:
Vyberte jednu odpověď
Nesprávná odpověď
Bodový zisk: 0/1.
------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline Content-Type: image/gif Content-Location: http://prijimacky.osu.cz/theme/standard/pix/tab/right.gif Content-Transfer-Encoding: Base64 R0lGODlh3QVGAOMLAJmZmaampq2trbW1tby8vMzMzNbW1t/f3+bm5u/v7/f39/// /////////////////yH5BAEKAA8ALAAAAADdBUYAAAT+8MlJq7046827/2AojmRp nmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/g sHhMLpvP6LR6zW673/C4fE6v2+/4vH7P7/v/gIGCg4SFhoeIiYoSAI2Oj5CRkpOU lZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBjQED BQcaC8nKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP0 9fb3+Pn6+/z9CwoIDBAIEKAABn8IEypcyLChw4cQI0qcSLGixYsYM2rcyDHfAQH+ AY5V6EiypMmTKFOqXMmypcuXMGPKnHnvAAACI2nq3Mmzp8+fQIMKHUq0qFGWCQYI oHC0qdOnUKNKnUq1qtWrWKkpEIBTQtavYMOKHUu2rNmzaJ0qKOg1rdu3cOPKnUu3 rl20BwIkeHC3r9+/gAMLHky4MLoBOA0rXsy4sePHkCPTtHlAgeXLmDNr3sy5s+fP oEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMr F811ufPn0KNLn069uvXr2LNr3869u/fv4MOLh05AwPjz6NOrX8++vfv38OPLn0+/ vn3lBgLc38+/v///AAb+KOCABBZo4IH1IaBfAgow6GCDED4oYYQUTmhhhRheqGGG HG7oYYcgfihiiCSOaGKJKJ6oYoosrpiAiy3GCOOMMtZI44025ojjjjr2yOOPPgYJ 5JBCFknkkUYmieSSSjbJ5JNOVgjllFFSaWWVWGq4oGUPQkihl10y+KWYYXIJpplk omnmmGqemSabcJYZ55lzvilnl3WueSede9rJ559+BqonoIMK6mahiB6qaJpiLtom o4lC6miek/YZ6aOYUirppplaWimhhxrKqaadgjqqp6eaWqqoq15K6quotvqpobCq Wiurt7oaa66z6mrrrsD+ymuquAZbrLDHJuursr3+Nkvsspcy+6yzsk5rbbXYDput sdBSq+2cekXooITjitsgueea+6K66K5brrvpwutuu/Sya++79eJ7b7z5vsvvvvMC 7G/A+hb8r8EEH6xwwgwP7HC8C4+bb8QQN1zxw/JiPLHFGV/scccgb6yxwB+LrC7F IZOcMsIjs1yyyiavjHLMNMNss8srtzzzzTvjXLPPPHP8c89ECx10u0XrbDTQTCf9 ctNLOy1z1FQrPXTVT0t9tdVZYz011193DfbWYh+s14toS5z2uWmrjTbba7c9b9tw vy2323PHLXfdedu999184y144HUTDvjhfydON+KLK65345A/LrnfkVM+ed/+6xru uOWcYz4445d/vrnnmldOOuidi27656WH3nrqr58+uuquoy776rHTDrvtut8+ee7A 8x787MPjLvzxxCNvfPLJF18788tH/7z0u0M//fXVU++75c5nj/324Pcufvfhkz++ 8t+f3/bZd7fv/vvwxy///PTXb//9+Oev//789+///wAMoAAHSMACGvCACEygAhfI wAY68IEQjKAEJ0jBClrwghjMoAY3eED2cfCDIAyhCEdIwhKa8IQoTKEKV8jCFrrw hTCMoQxn+EEP0vCGOMyhDnfIwx768IdADKIQh0jEIhoRgzY8ohKXyMQmOvGJUIyi FKdIxSpaMYgBQED+ArTIxS16sYtg/KIYw0jGMZqxjGg8oxrTyMY1urGNcHyjHONI xznasY54vKMe86jFPfqRj38MJCAHKchCEvKQhkwkIhepyEYy8pGOjCQkJynJSlLy kpbMJCY3qclOcjKMngzlJ0VJylGaUo166aIXxbhKVfbRlS+CJStf2cpY1nKWtqQl Lncpy17e0pe6BKYteTlMYdYymL9MJjKXWUxlNpOZx3ymNKNJTVpC05rDJOY1czlN bFaTm9/UZjfB6c1ykvOc4gynMc2ZTlhus53oXGc8nalOerJTnvDMJz73ac95vtOX 9fxnP/U5UH4K9KDjJChCA5pQg55zofcsqET+IerPhk7UohRVKEY3+s2MOpShII2o Ry8a0oqWVKMn/ahIpakgMLLRpWuEKRplekaaktGmY8SpTV/6RZ5yEY867alQZzrU mhb1pkfNaVJ3GtOlHtWnW4QqU4n606ZWlapRtWpWsYoAqXpVq10F61e5CsegXnWr Rj0rUtWqVLZONa1oXWtc2zrXt8o1rGQVq17zSkezxnWscMVrYAF7V8LSVbCF3etg FZtYPvoVsYa162Ej+1TGTtayks1sZfm6WLdutrOgbWxoL8tZ0ZqWtKPVrFopu1qw JiCLV+0qXme7Vdn+NLZRlW1ua5vb2eLWtrflLXB3S9vh6ra4tiVubI/+i9zeBve5 y/WtcJPL3Noy97fUba5xtZtd7F53ut9FbnijC13pite85FWuddG7Xui2V72+ZW98 3Ttf+N5Wvvelb37t61z7Ane8761ufQW8XwL318Db9S5+D8xdAA+4wQtOMHgj3N0J P5e/Ej6vfhms4A1nOL0IrrCGMSxiEEPYwyUO8ImV6+ACrzjELeawhUkc4w+ruMM0 pnCNU/xgHOs2xyjesZB1TOQgFxnISIbxkZVs5CYnWbxZFG5vp9tT7lYZu1em8n21 PGXtdvm3X5ZydsV8XStv2ctjLm6Y1Zzm1Zp5zW7G8pnB3Oa/IhbOdpYzniH75jrz Wc9+dmmfQ5z+ZTQTes5k/nNNB81oQB96z4J2dKO5HOhC0/nRlUY0mzFdZkl7mtKc nrShRX1pUif606NGdanjDGpTb9rVrE51q1V96lnbWta4XjWkLV3rXPda175+Na2F fWtgG/vXyCZ2sLmYyv86O7/Pnm+0oR1t507b2tWedoK1Te1nY5vb0s42uLvt7G+X e9zk/q+51Y3udW8b3e++drvnPW53d5fb9u60vOtNb3DnG9731va/0x1vcfu73/hG uMAVvu+D8xvg+jZ4wh/u8IpP3OILp/jFN55xjEM83N5muMQ7zvGGl3zkJie5ylPO co2vHOUwD7nLWy5zj8f83DO/ObtzXnP+jsNW5wR3t9BfHvCdA93oPcc50IdO84gX veBPj7rTmb50ojv96klHutKzDnWsB93qIPc61bku9bCb/etNP/vYt27zsqO96ml/ O9nFvvK1a/3uXVc72OXOdrzH3e5557vf6f73vX8b8G5HPOHhzvi56z3ug3984/se eMVL3vGCr3zkAfDxznv+86APvehHT/rSm/70qE+96lfP+ta7/vWwj73sZ0/72tv+ 9rjPve53z/ve+/73wA++8CHO+eEb//jIT77yl8/85jv/+dCPvvSnT/3qW//62M++ 9Iuv/e57//vgD7/4x0/+8pv//OhPv/rXz/6Pc7/98I+//OdP//r+2//++M+//vfP /+QD4AAIAIACGIAEOIAGWIAIeIAKmIAMuIAO2IAQ+IASGIEUOIEWWIEYeIEamIEc uIEb2IEg6IEhOIIiWIIkeIImmIIouIIq2IIs+IIuGIMwOIMyWIM0CIE3aIM6mIM8 uIM+2INAaINBOIQ/WIREeIRGmIRIuIRKSBkH8IRQGIVSOIVUWIVWeIVYmIVauIVc 2IVe+IVgGIZiOIZkWIZmeIZomIZquIZs2IZu+IZwGIdyOId0WId2eId4mId6uId8 2Id++IeAGIiCOIhb+H+EeIiImIiKuIiM2IiO+IiQGImSOImUWImWeImYmImauImJ aIic+In+oBiKojiKpFiKpniKqJiKqriKrNiKriiInviKsjiLtFiLtniLuJiLuriL vNiLvriKsfiLwjiMxFiMxniMyJiMyriMzNiMheiM0BiN0jiN1FiN1niN2JiNxxiM 2tiN3viN4BiO4jiO5FiO2MiN5piO6riO7NiO7viO8BiPaoiO8liP9niP+JiP+riP /KiK9NiPABmQAjmQBFmQBnmQVPiPCLmQDNmQDvmQEBmRuqiQElmRFnmRGJmRGrmR c0iRHPmRIBmSIjmSJEmQHlmSKJmSKrmSLNmSyXiSLhmTMjmTNFmTNhmJMHmTOrmT PNmTPvmTXZiTQDmURFmURnmUHCmalEi5lEzZlE75lO+olFA5lVRZlVZ5lcUolVi5 lVzZlV75lZqolWA5lmRZlmZ5lh2Jlmq5lmzZlm4phmL5lnI5l3RZl0gZl3aZl3q5 l3yJknjZl4AZmII5mAb5l4R5mIiZmIppjoa5mI75mJAZmS8pmZRZmZZ5mcjYmJi5 mZzZmZ4JiZr5maI5mqRZmnQYmqaZmqq5mqyphQAQAQA7 ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline Content-Type: image/gif Content-Location: http://prijimacky.osu.cz/theme/standard/pix/tab/left.gif Content-Transfer-Encoding: Base64 R0lGODlhDgBGAOMMAJmZmaWlpa2trbW1tb6+vszMzNfX19/f3+Xl5ebm5u/v7/f3 9////////////////yH5BAEKAA8ALAAAAAAOAEYAAATS8MlJq704683lKUKAFUFA GIh1BMPBvExFBC78UsKw2PBE6Lzeg7QL3hQBhLFHICxhC4Di+TIIFtisFjsgbL8L wQG8lZK15oVCzV6vAW3smq2WKtz4tvnO79/tfoGAgX2DhH+HfoaHUggKjpCPkgCR lZIIlI+Qm5OangiVlI4Hn6CgAAmpqquqqKyvCa6wq7KzqagHCbm7ur0AB8DBwsG/ w8YHxcfCycrAzM3PytHH08bVw9fLzdrbzt3e39nE38jk4uDd5+Xh5u3s7+nu8fDb 6uoRADs= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline Content-Type: image/gif Content-Location: http://prijimacky.osu.cz/theme/standard/pix/tab/tabrow1.gif Content-Transfer-Encoding: Base64 R0lGODlhKAA6AOMOAO3t7ezs7PLy8rS0tPv7+/n5+fPz8+Dg4Pf39+/v7+jo6ISE hPj4+PHx8f///////yH5BAEAAA8ALAAAAAAoADoAAAS6kMhJq704681l+WAojmRp nmiqrmzrkkgsz3Rt33iu73zv/0CbYUgsGo/IpHLJbDqf0KgUmahar9isdsvter/g sHhM1jbO6LR6zW673/C4fE6v2+/4vH7P7+cPgIGCg4SFhoeIiYqLjI2Oj4UKkpOU lZaXmJmam5ydnp+goZd+pKWmp34Mqqusra6vsLGys7S1tre4ua8OvL2+v8DBwsPE xcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3cQRADs= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=styles.css Content-Type: text/css; charset=UTF-8; name=styles.css Content-Location: http://prijimacky.osu.cz/theme/standard/styles.php Content-Transfer-Encoding: Quoted-Printable /************************************** * THEME NAME: standard * * Files included in this sheet: * * standard/styles_layout.css * standard/styles_fonts.css * standard/styles_color.css * /mod/assignment/styles.php * /mod/choice/styles.php * /mod/data/styles.php * /mod/lesson/styles.php * /mod/scorm/styles.php * /mod/workshop/styles.php * /blocks/blog_tags/styles.php * /blocks/calendar_month/styles.php * /blocks/calendar_upcoming/styles.php * /blocks/course_summary/styles.php * /blocks/login/styles.php * /blocks/news_items/styles.php * /blocks/quiz_results/styles.php * /blocks/rss_client/styles.php * /blocks/search_forums/styles.php * /grade/report/grader/styles.php * /grade/report/user/styles.php **************************************/ /***** standard/styles_layout.css start *****/ /******************************************************************* styles_layout.css This CSS file contains all layout definitions like positioning, floats, margins, padding, borders etc. Styles are organised into the following sections: core forms header footer admin blocks blog calendar course doc grades login message notes mymoodle question tabs tags user various modules *******************************************************************/ /*** *** Core ***/ h1.main, h2.main, h3.main, h4.main, h5.main, h6.main { text-align: center; } #layout-table { width:100%; border-collapse:separate; margin-top: 8px; } #layout-table #left-column, #layout-table #middle-column, #layout-table #right-column { vertical-align:top; } #layout-table #middle-column { padding-left:12px; padding-right:12px; } .clearer { clear:both; margin:0; padding:0; height:1px; border:none; background:transparent; display:block; } .clearfix { min-width: 0; /* overflow: hidden; */ } .clearfix:after { /* content: ""; */ content: "."; display: block; height: 0; clear: both; visibility: hidden; } #redirect { text-align: center; margin-top:10%; } #redirect #message { } #redirect #continue { } /* .clearfix {display: inline-table;} */ /* Hides from IE-mac \*/ * html .clearfix {height: 1%;} .clearfix {display: block;} /* End hide from IE-mac */ .mdl-align { text-align: center; } .mdl-left { text-align: left; } .mdl-right { text-align: right; } .continuebutton { text-align: center; } form { margin-bottom:0; } table { border-spacing: 0; border-collapse: collapse; } a img { border:none; } img.userpicture, img.grouppicture { border: 0; } #grouppicture { text-align: center; } div.groupselector { float: left; margin-top: 3px; margin-bottom: 3px; } #addmembersform table { margin-left: auto; margin-right: auto; } .notifyproblem { text-align: center; padding: 10px; } .notifysuccess { text-align:center; padding: 10px; } .notifytiny { text-align:left; padding: 0; } .singlebutton form, .singlebutton div { display:inline; } .box { clear: both; } .generalbox { border-width:1px; border-style:solid; margin-bottom: 15px; padding:10px; } .generalbox#intro { width:70%; margin-left:auto; margin-right:auto; padding-bottom:15px; } .boxaligncenter { margin-left:auto; margin-right:auto; } .boxalignright { margin-left:auto; margin-right:0; } .boxalignleft { margin-left:0; margin-right:auto; } .boxwidthnarrow { width: 30% } .boxwidthnormal { width: 50% } .boxwidthwide { width: 80% } .centerpara { text-align:center } .noticebox { border-width:1px; border-style:solid; padding:10px; } #notice.generalbox { width: 60%; margin-left:auto; margin-right:auto; } #notice .buttons { text-align:center } #notice .buttons div, #notice .buttons form { display:inline; } #notice .singlebutton { text-align:center; padding: 5px; margin: 0px; } .errorbox { border-width:1px; border-style:solid; margin: 1em 15%; width: 70%; padding:10px; } .errorbox .title { padding: 5px; } .informationbox { border-width:1px; border-style:solid; padding: 10px; } .feedbackbox { border-width:1px; border-style:solid; } .feedbackby { } .feedback { } .rsslink { padding: 0 0 0 0.3em; } .printicon { padding: 0 0 0 0.3em; } .generaltable { border-width: 1px; border-style: solid; } .generaltable .cell { border-width: 1px; border-style: solid; border-collapse: collapse; } #participationreport .reporttable { text-align: center; margin-left:auto; margin-right:auto; } #participationreport { text-align: center; } #participationreport .modulename { font-weight: bold; } #participationreportselector { text-align: center; } #participationreportactions { text-align: center; } .initialbar { text-align: center; } #help .indent { margin-left:3em; } .closewindow, #help .helpindex { text-align: center; } .tabledivider { border-width:1px; border-style:solid; border-left:0; border-right:0; border-top:0; } .sitetopic { margin-bottom:20px; } .sitetopiccontent { border-width:1px; border-style:solid; } .pagingbar { text-align:center; } table.formtable { margin: auto; } table.formtable tbody th { vertical-align: top; } table.formtable tbody td, table.formtable tbody th { padding: 5px; } table.formtable tbody .htmlarea td, table.formtable tbody .htmlarea th { padding: 0; } .flexible th { white-space: nowrap; } .paging { text-align: center; margin: 10px 0 10px 0; } .unread { padding-right:2px; } .cell { vertical-align: top; } .helplink img { vertical-align: middle; margin: 0 2px; width: 17px; height: 17px; } img.emoticon { vertical-align: middle; width: 15px; height: 15px; } form.popupform, form.popupform div { display: inline; } form.popupform label { margin-right: 0.5em; } .arrow_button { margin-top:3em; } .arrow_button input { padding:0.3em; overflow:hidden; } .groupmanagementtable td { vertical-align: top; } .groupmanagementtable p { text-align: center; } .groupmanagementtable select { width: 18em; } #group-groupings .buttons { margin: 20px; text-align:center; } #group-groupings .buttons .singlebutton { display: inline; padding: 5px; } #group-usersummary { width: 14em; } img.icon { vertical-align:middle; margin-right:4px; width:16px; height:16px; border:0px; } img.iconsmall { vertical-align:middle; margin-right:1px; width:11px; height:11px; border:0px; } img.iconhelp { vertical-align:middle; margin-right:4px; width:17px; height:17px; border:0px; } img.iconkbhelp { width:49px; height:17px; border:0px; } /*Accessibility: text 'seen' by screen readers but not visual users. Fix= ed for RTL languages, example Farsi. */ .accesshide { position:absolute; left:-10000px; font-weight:normal; font-size:1em; } .dir-rtl .accesshide { top:-30000px; left:auto; } .invisiblefieldset { display:inline; border:0px; padding:0px; margin:0px; } span.hide, div.hide { display:none; } /*** *** Forms ***/ .mform { margin: 0 auto; padding: 0; width: 80%; } .mform fieldset { border: 1px solid #DDDDDD; padding: 10px 0; margin: 0.7em 0; width:100%; } .mform fieldset.hidden, .mform fieldset.felement { border: 0; } .mform fieldset.felement { width: auto; } .mform fieldset legend { font-weight: bold; margin-left: 0.5em; } .mform fieldset .advancedbutton{ width:100%; text-align:right; } .mform div.fitem { clear: both; width: 100%; min-height: 1.5em; } .mform .fitemtitle { display: block; float: left; width: 30%; padding: 0; margin: 5px 0 0 10px; text-align: right; } .mform .fitemtitle div{ display: inline; } div.fitem fieldset.fgroup label, div.fradio label, div.fcheckbox label,= fieldset.fdate_selector label { display:inline; float: none; width: auto; } .mform div.felement, .mform fieldset.felement{ display: block; float: left; margin: 5px 0 0 10px; padding: 0; text-align:left; width: 60%; } .mform div.fdescription { clear: both; min-height: 1.5em; } .mform .fdescription.required { text-align:right; } .mform input, .mform select { width: auto; } .mform .ftextarea #id_alltext { width: 100%; } .mform br { clear: left; } .mform div.fhtmleditor { margin: 0 auto 10px auto; width : 600px; clear:both; float:none; padding: 25px 0 20px 0; } .mform span.error, .mform span.required { color: red; } .mform div.error,.mform fieldset.error { border: 1px solid red; padding: 5px; color: inherit; } .mform .fcheckbox input { margin-left: 0px; } .mform .fpassword .unmask { display:inline; } .mform .fpassword .unmask input { margin-left:5px; margin-right:3px; } .mform label .req, .mform label .adv { cursor: help; } /* form frozen */ div.mform div.fitem div.fstatic{ border-color : #D3D3D3; border-style : dashed; border-width : thin; } #admin-register .mform .fsubmit { padding:20px; text-align:center; } div.phpinfo .center{ text-align: center; } div.phpinfo .center table { margin-left: auto; margin-right: auto; text-align: left; } div.phpinfo .center th { text-align: center; } .backup-form-instances { margin:0px 20px 0px 20px; } .restore-form-instances { margin:0px 20px 0px 20px; } /*** *** Header ***/ #header-home { } #header { } .headermain, h1.headermain { float:left; margin:0; padding:0; } .headermenu { float:right; text-align:right; } .navigation li, .navigation div, .navigation button, .navigation form { display: inline; } .navbar { width:auto; padding:3px 0.5em; border-width:1px; border-style:solid; } .navbar .langmenu { text-align:right; } table.navbar { width: 100%; } .navbar .navbutton { margin-top: 3px; float: left; } .navbar .navbutton div, .navbar .navbutton form { display:inline; margin:0px; padding:0px; } .navbar .breadcrumb { float:left; margin:0.2em 0; } .breadcrumb ul { padding:0; margin:0; text-indent:0; list-style:none; } .breadcrumb li { display:inline; } .navbar .navbutton, .navbar .menu { float:right; } #footer .navbar { margin-top: 4em; } .reportlink { text-align:right; } .navigation { margin-bottom: 4px; } .navigation ul { margin:0px; padding:0px; list-style-type:none; } .navigation ul li form, .navigation ul li { display:inline; margin:0px; padding:0px; margin-left:2px; } .navigation ul li form fieldset, .navigation ul li form div select { vertical-align: middle; } .navigation optgroup { text-align:center; padding-top:4px; } .navigation option { text-align:left; } .navigation optgroup option { padding:0px; } #navmenupopup option, #navmenufooterpopup option { padding: 2px 0 2px 20px; background-repeat: no-repeat; background-position: 1px 2px; vertical-align: middle; } /*** *** Footer ***/ #footer { text-align:center; margin-top: 40px; } .homelink { margin: 1em 0; } .homelink a { padding-left:1em; padding-right:1em; } .sitelink { padding-top:1em; } .performanceinfo { margin: 2em; } .performanceinfo span { display: block; } #footer .validators { margin-top:40px; padding-top:5px; border-top: 1px dotted gray; } #footer .validators ul { margin:0px; padding:0px; list-style-type:none; } #footer .validators ul li { display:inline; margin-right:10px; margin-left:10px; } /*** *** Filters ***/ .mediaplugin { display:block; clear:both; margin-top:5px; margin-bottom:5px; } .mediaplugin_mp3, .mediaplugin_swf, .mediaplugin_flv { display:inline; clear:none; margin:0px; margin-left:0.5em; } .texrender { border:0px; vertical-align:middle; } /*** *** Admin ***/ body#admin-index .c0 { vertical-align: top; } body#admin-index .c1 { vertical-align: middle; } body#admin-blocks table.generaltable th, body#admin-filters table.generaltable th, body#admin-modules table.generaltable th, body#admin-auth table.generaltable th { white-space: nowrap; } body#admin-modules .generaltablecell { padding-top: 2px; padding-bottom: 2px; } body#admin-blocks table.generaltable th, body#admin-blocks table.generaltable td.cell, body#admin-filters table.generaltable th, body#admin-filters table.generaltable td.cell, body#admin-modules table.generaltable th, body#admin-modules table.generaltable td.cell, body#admin-auth table.generaltable th, body#admin-auth table.generaltable td.cell { padding: 4px; text-align: center; vertical-align: middle; } body#admin-blocks table.generaltable th.c0, body#admin-blocks table.generaltable td.c0, body#admin-filters table.generaltable th.c0, body#admin-filters table.generaltable td.c0, body#admin-modules table.generaltable th.c0, body#admin-modules table.generaltable td.c0, body#admin-auth table.generaltable th.c0, body#admin-auth table.generaltable td.c0 { text-align: left; } body#admin-modules table.generaltable td.c0 { white-space: nowrap; } #admin-blocks #admin-config .confighelp { display: block; padding-bottom: 20px; } #admin-roles-manage table.generalbox { margin: auto; } #admin-stickyblocks .generalbox { text-align:center; } #admin-index .copyrightnotice { margin: auto; text-align: center; } #admin-maintenance .buttons { text-align:center; } #admin-report-unittest-index .exception pre { padding: 8px; } #admin-report-unittest-index .unittestsummary { padding: 8px; margin-top: 1em; } #admin-report-security-index #timewarning { text-align:center; } #admin-report-security-index .timewarninghidden { display:none; } #admin-roles-allowassign .buttons, #admin-roles-allowoverride .buttons, #admin-roles-manage .buttons, #admin-roles-override .buttons { margin: 20px; text-align:center; } #admin-roles-manage .buttons .singlebutton, #admin-roles-override .buttons .singlebutton { display: inline; padding: 5px; } #admin-roles-manage .selector, #admin-roles-assign .selector, #admin-roles-override .selector { text-align:center; margin-bottom:1em; } #admin-roles-manage table.roledesc, #admin-roles-override table.roledesc { margin-left:auto; margin-right:auto; } #admin-roles-manage table.rolecap, #admin-roles-override table.rolecap { margin-left:auto; margin-right:auto; } .rolecap .inherit, .rolecap .allow, .rolecap .prevent, .rolecap .prohibit { text-align:center; } #admin-roles-manage .rolecap .cap-desc .cap-name, #admin-roles-override .rolecap .cap-desc .cap-name { display: block; } #admin-roles-override .cell.c1, #admin-roles-assign .cell.c3, #admin-roles-assign .cell.c1 { padding-top: 0.75em; } #admin-roles-override .sefeoverridenotice { text-align:center; } #admin-lang .generalbox { text-align:center; margin:auto; border-width: 1px; border-style: solid; } #admin-langimport .generalbox { text-align:center; margin:auto; border-width: 1px; border-style: solid; } #admin-langimport .generalbox table { text-align:center; margin:auto; } #admin-mnet-index .generalbox table{ width:100%; } #admin-index .adminerror, #admin-index .adminwarning { text-align:center; border-width: 1px; border-style: solid; margin:20px; } #admin-index .adminerror .singlebutton, #admin-index .adminwarning .singlebutton, #admin-index #layout-table .singlebutton { text-align:center; margin:20px; } #admin-user-user_bulk #users .fgroup { white-space: nowrap; } .plugincompattable caption { text-align: center; width: 100%; font-weight: bold; font-size: 130%; } .plugincheckwrapper td{ border: 1px #bbbbbb solid; } .plugincheckwrapper{ width: 100%; } /* Admin settings */ #adminsettings div.form-item { clear: both; margin: 1em 0 2em 0; } #adminsettings .form-label { display: block; float: left; width: 12.5em; text-align: right; } #adminsettings .form-shortname { display: block; } #adminsettings .form-setting { display: block; margin-left: 13em; text-align: left; } #adminsettings .form-defaultinfo { display: inline; } #adminsettings .defaultsnext { margin-right: 0.5em; display: inline; } #adminsettings .form-description { display: block; margin: 0.5em 0 0em 13em; text-align: left; } #adminsettings fieldset { margin-top: 1em; padding: 1em 0.5em; } #adminsettings legend { display: none; } #adminsettings fieldset.error { margin: 0.2em 0 0.5em 0; padding: 0.5em 0 0 0; } #adminsettings fieldset.error legend { display: block; } #adminsettings .form-multicheckbox li { list-style: none; } #adminsettings .form-multicheckbox ul { padding:0; margin:0; } #adminsettings .form-item .pathok, #adminsettings .form-item .patherror { margin-left: 0.5em; } #adminsettings .form-htmlarea { width: 640px; display:inline; } #adminsettings .form-htmlarea .htmlarea { width: 640px; display:block; } .environmentbox { margin-top: 1em; } .form-buttons { margin: 10px 0 0 13em; } .adminsearchform { padding-top:10px; } .block_admin_tree .admintree { text-align:left; } .block_admin_tree .admintree .depth1 { padding-left: 16px; } .block_admin_tree .admintree .depth2 { padding-left: 32px; } .block_admin_tree .admintree .depth3 { padding-left: 48px; } .block_admin_tree .admintree .depth4 { padding-left: 64px; } #admin-lang .translator { border-width: 1px; border-style: solid; } #adminsettings #admin-calendar_weekend table { width: 100%; } #adminsettings #admin-calendar_weekend table td { text-align: center; } #adminsettings #admin-calendar_weekend table td label { width: 100%; text-align: center; float: none; } #trustedhosts .generaltable { margin-left: auto; margin-right: auto; width: 500px; } #trustedhosts .standard { width: auto; } #mnetconfig table { margin-left: auto; margin-right: auto; } #admin-report-courseoverview-index .graph, #course-report-stats-index .graph, #admin-report-stats-index .graph { text-align: center; margin-bottom: 1em; } #admin-uploaduser table#uuresults { margin-bottom: 2em; } #admin-uploaduser table#uupreview, #admin-uploaduser table#uuresults td.cell { padding-left: 3px; padding-right: 3px; } /*** *** Blocks ***/ /*Accessibility: Skip block link, for keyboard-only users. */ a.skip-block, a.skip { position: absolute; top: -1000em; font-size: 0.85em; } a.skip-block:focus, a.skip-block:active, a.skip:focus, a.skip:active { position: static; display: block; } .skip-block-to, #maincontent { display: block; height: 1px; } .sideblock { margin-bottom:1em; width: 100%; } .sideblock .header, .sideblock h2.header { text-align: left; margin:0; padding:4px; padding-top:0; border-width: 1px; border-style: solid; border-bottom: none; } .sideblock h2 { margin:0; padding:0; } .sideblock .header .hide-show-image { float:right; height:11px; width:11px; margin-top:0.25em; } .sideblock .header .commands { margin-top: 0.3em; clear: both; height: 16px; } .sideblock .header .commands a { margin: 0px 2px; } #left-column .hidden .header, #right-column .hidden .header { border-bottom-width: 1px; border-bottom-style: solid; } #left-column .hidden .content, #right-column .hidden .content { display: none; } .sideblock .header .icon.hide, .sideblock .header .icon.edit { margin-right: 6px; } .sideblock .content { padding: 4px; border-width: 1px; border-style: solid; } .sideblock .content h3, .sideblock .content h2 { text-align: left; } .sideblock .content h2 { margin:1.5em 0 0; padding:0; } .sideblock .content .head { margin-top: 10px; } .sideblock .content hr { height:1px; margin-top:4px; margin-bottom:4px; border:none; border-top:1px solid; } .sideblock div.column { margin:0px; margin-right:4px; padding:0px; } .sideblock div.column.c0 { float: left; } .sideblock div.column.c1 { display: inline; } .sideblock .content .c0 img.icon { margin:0px; } .sideblock .content .list, .unlist, .inline-list { list-style:none; padding:0; margin:0; } .sideblock .content .list { width: 100%; } .sideblock .content .list li { clear: left; } .sideblock .content .inline-list li, .inline-list li { display: inline; } .sideblock .content ul.list li.listentry { clear:both; } .sideblock .content div.info { text-align:center; } .sideblock .footer { margin-bottom: 4px; text-align:center; clear:both; } .sideblock img.userpicture { width:16px; height:16px; margin-right:4px; } .blockconfigtable { margin-top: 0; margin-right: auto; margin-left: auto; } .blockconfigtable td.label { text-align: right; width: 50%; } .blockconfigtable td.value { text-align: left; width: 50%; } .blockconfigtable td.submit { text-align: center; } .blockconfiginstancecontent .tabs { margin-bottom: 0px; margin-left: auto; margin-right: auto; } .block_adminblock { width: 180px; } .block_messages .content { text-align:left; font-size:0.75em; padding-top:5px; } .block_recent_activitysideblock .h3 { padding-top:5px; } .block_online_users .listentry div.user, .block_messages .listentry div.user { float:left; } .block_online_users .listentry div.message, .block_messages .listentry div.message { float:right; } .block_course_list .footer { margin-top: 5px; } #rssfeeds { margin-left: auto; margin-right: auto; } #block_rss { text-align: center; } .block_search_forums .invisiblefieldset { display: block; } .block_tag_youtube .youtube-thumb { padding: 3px; padding-bottom: 0.5em; display: block; float: left; } .block_tag_youtube .yt-video-entry li { clear: left; } .block_tag_flickr .flickr-photos { padding:3px; } .tempblockhandler, .tempblockhandler .content{ height: 3px; margin-bottom: -3px; visibility: hidden; } /*** *** Blogs ***/ .addbloglink { text-align: center; } .blogpost .audience { text-align: right; } .blogpost .tags { margin-top: 15px; } /*** *** Calendar ***/ #calendar { width: 100%; border-spacing: 5px; border-collapse: separate; } #calendar h2, #calendar h3 { text-align: center; } #calendar .sideblock h2 { text-align: left; } #calendar .maincalendar, #calendar .sidecalendar { vertical-align: top; border: 1px solid; padding: 0px; } #calendar .maincalendar { height: 100%; } #calendar .maincalendar .heightcontainer { height: 100%; position: relative; } #calendar .maincalendar .bottom { width: 100%; text-align: center; padding:5px 0 0; } #calendar .sidecalendar { width: 25%; } #calendar .maincalendar table.calendarmonth { border-collapse: separate; margin: 0px auto; width: 98%; } #calendar .maincalendar table.calendarmonth th { padding:10px; border-bottom:2px solid; } #calendar .maincalendar table.calendarmonth td { height: 5em; padding-left: 4px; padding-top: 4px; line-height:1.2em; } #calendar .maincalendar table.calendarmonth td, table.minicalendar td, table.minicalendar th { width:14%; vertical-align:top; } table.minicalendar td { text-align: center; } #calendar .maincalendar table.calendarmonth td table td { height: auto; } #calendar div.header { padding: 5px; } #calendar .sideblock div.header { border:none; } #calendar .maincalendar .buttons { float: right; } #calendar .maincalendar .filters table, #calendar .sidecalendar .filters table, .sideblock.block_calendar_month .filters table { border-collapse:separate; border-spacing: 2px; padding: 2px; width: 100%; } #calendar .maincalendar .filters { padding: 0px 10px; } #calendar .sidecalendar .filters { padding: 5px; } #calendar .maincalendar .controls { clear:both; padding:10px; } #calendar .maincalendar table.calendarmonth ul.events-new, #calendar .maincalendar table.calendarmonth ul.events-underway { padding:0px; margin:0px; list-style-type:none; } #calendar .maincalendar table.calendarmonth ul li { margin-top: 4px; } .minicalendarblock { padding: 0px 4px; } table.minicalendar { width: 100%; margin: 10px auto; padding:2px; border-width:1px; border-style:solid; border-collapse:separate; border-spacing:1px !important; } table.minicalendar th { padding: 0px 2px; } #calendar .maincalendar .eventlist { padding: 10px; } #calendar .maincalendar .eventlist .topic { padding: 5px; border-style:solid; border-width: 0px; border-bottom-color: #EEEEEE; border-bottom-width: 1px; } #calendar .maincalendar .eventlist .event { width:100%; margin-bottom:10px; border-spacing:0px; border-collapse:separate; border-width:1px; border-style:solid; } #calendar .maincalendar .eventlist .event .name { float:left; } #calendar .maincalendar .eventlist .event .course { float:left; clear:left; } #calendar .maincalendar .eventlist .event .date { float:right; } #calendar .maincalendar .eventlist .event .description .commands { width:100%; } #calendar .maincalendar .eventlist .event .description { padding:5px; } #calendar .maincalendar .eventlist .event .picture { padding:8px; } #calendar .maincalendar .eventlist .event .side { width:32px; } #calendar #selecteventtype table { margin:auto; } #calendar .event_global, #calendar .event_course, #calendar .event_group, #calendar .event_user, .minicalendar .event_global, .minicalendar .event_course, .minicalendar .event_group, .minicalendar .event_user { border:2px solid !important; } #calendar .duration_global, #calendar .duration_course, #calendar .duration_group, #calendar .duration_user, .minicalendar .duration_global, .minicalendar .duration_course, .minicalendar .duration_group, .minicalendar .duration_user { border-top:2px solid !important; border-bottom:2px solid !important; } #calendar .today, .minicalendar .today { border:2px solid; } #calendar .nottoday, .minicalendar .today { border:1px solid; } .cal_popup_bg { padding:0px; margin:0px; border:1px solid; } .cal_popup_close { margin-right:5px; } .cal_popup_caption { border-width:0px 0px 1px 0px; border-style:solid; padding-bottom:2px; } /*Accessibility: controls now div and span, 20:58:20% or 12:74:12% */ .calendar-controls .previous, .calendar-controls .next, .calendar-controls .current { display: block; float: left; width: 12%; } .calendar-controls .previous { text-align: left; } .calendar-controls .current { text-align: center; width: 76%; } .calendar-controls .next { text-align: right; } #calendar .maincalendar .calendar-controls .previous, #calendar .maincalendar .calendar-controls .next { width: 30%; } #calendar .maincalendar .calendar-controls .current { width: 39.95%; } #calendar .indent { padding-left: 20px; } #calendar td.sidecalendar { border-width:0px; } #calendar td.sidecalendar .sideblock { border: 1px solid; margin-bottom:10px; } #calendar td.sidecalendar .minicalendartop { padding-top:10px; } .sideblock .content h3.eventskey { margin-top:0.5em; margin-bottom:0; margin-left:0.5em; } /*** *** Course ***/ .activitydate, .activityhead { text-align:center; } #course-view .section td { vertical-align:top; } #course-view .section td.content { padding:5px; border-style:solid; border-width:1px; border-left:0px; border-right:0px; } #course-view .section td.side { padding:5px; border-style:solid; border-width:1px; } #course-view .section td.left { border-right:0px; text-align:center; width: 1.5em; } #course-view .section td.right { border-left:0px; text-align:center; width: 1.5em; } #course-view .current .side { } #course-view .section .spacer { height:0.5em; } #course-view .section .weekdates { } #course-view ul.section, #site-index ul.section { margin: 0; padding: 0; list-style: none; } .section_add_menus { text-align:right; } .section_add_menus .horizontal div { display:inline; } /*#course-view ul.section li.activity ul li, #site-index ul.section li.activity ul li { list-style: disc; }*/ /*Accessibility: No-tables course format. */ #course-view ul.weekscss { margin: 0; padding: 0; list-style: none; } /* Window-width: 800 pixels. IE doesn't support, see inline IE conditional comment. */ .weekscss-format { min-width: 763px; } .weekscss-format .block_adminblock select, .weekscss-format .block_calendar_month .minicalendar { width: 100%; padding: 0; } .weekscss-format .block_calendar_month .minicalendar th, .weekscss-format .block_calendar_month .minicalendar td { padding: 0.1em 0 0.1em 1px; } .weekscss-format #middle-column { margin: 0 12.5em 0 12.5em; } .weekscss-format #left-column, .weekscss-format #right-column { width: 11.5em; } .weekscss-format #left-column { float: left; } .weekscss-format #right-column { float: right; } .weekscss li.section { margin-bottom: 0.5em; border-style:solid; border-width:1px; } .weekscss .content, .weekscss .side { padding: 5px; } .weekscss .content { margin: 0 1.7em 0 1.7em; } .weekscss .right { width: 1.6em; float: right; text-align:center; } .section .activity img.activityicon { vertical-align:middle; height:16px; width:16px; } .section img.movetarget { height:16px; width:80px; } body#course-view .unread { margin-left: 3em; } body#course-view .sideblock.drag .header { cursor: move; } body#course-enrol .generalbox { margin-top: 20px; } body#course-enrol .coursebox { margin-top: 20px; } body#course-user .graph { text-align: center; } body#course-user .section, body#course-user .content { margin-left: 30px; margin-right: 30px; } body#course-user .section { border-width:1px; border-style:solid; padding:10px; margin-bottom: 20px; } body#course-user .section h2 { margin-top: 0; } .headingblock, h2.headingblock { border-width:1px; border-style:solid; padding:5px; margin:0; } #site-index .subscribelink, #course-view .subscribelink { text-align:right; } body#site-index .headingblock, body#course-view .headingblock { margin-bottom: 9px; } body#course-category .courseboxes, body#course-index .courseboxes { padding:20px; } body#course-category .rolelink { text-align:right; padding:10px; } body#course-category .addcategory { text-align: center; padding: 10px; } body#course-index .buttons .singlebutton, body#course-category .buttons .singlebutton { display: inline; } body#course-index .buttons, body#course-category .buttons { text-align: center; margin-bottom: 15px; } body#course-index #middle-column .editcourse { margin-left:auto; margin-right:auto; margin-top:20px; margin-bottom:20px; } body#course-index #middle-column .editcourse th, body#course-index #middle-column .editcourse td { padding-left:10px; padding-right:10px; } body#course-index #middle-column .editcourse .count { text-align:right; } body#course-index .singlebutton, body#course-index .addcategory { text-align: center; } body#course-info .generalbox.icons { text-align: center; } body#course-info .generalbox.info { margin-left:auto; margin-right:auto; } .coursebox { width: 100%; /* float:left; */ margin-bottom: 15px; border-width:1px; border-style:solid; } .coursebox .summary { float: right; text-align:left; width: 48%; padding:5px; } .coursebox .info { float: left; text-align:left; width: 48%; padding:5px; } #my-index .coursebox .info { float: none; } #my-index .name { margin-left: 5px; } #course-pending .pendingcourserequests { margin-bottom: 1em; } #course-pending .pendingcourserequests .singlebutton { display: inline; } #course-pending .pendingcourserequests .cell { padding: 0 5px; } #course-pending .pendingcourserequests .cell.c6 { white-space: nowrap; } #course-pending .singlebutton { text-align: center; } .categorylist { width: 90%; margin-left: auto; margin-right: auto; } .categorylist .category.image { width: 20px; } .categorylist .category.number { text-align: right; } .categorylist .category.indentation { width: 1px; } .categoryboxcontent { border-width:1px; border-style:solid; } .categorypicker { text-align:center; padding-bottom:10px; } #coursesearch, #coursesearch2 { margin-top: 1em; text-align:center; } .addcoursebutton { text-align:center; } .coursebox .cost { padding-top: 20px; } .coursebox ul.teachers li { list-style-type:none; padding:0; margin:0; } #course-category #renameform { text-align:center; } #course-category #themeform { text-align: center; } #course-category .singlebutton { text-align:center; } #course-category #coursesearch { text-align:center; } #course-report #content { padding-top:15px; padding-bottom:15px; } #course-report p { text-align:center; } #course-report .logselectform, #course-report .participationselectform, #course-report-log-index .logselectform, #course-report-participation-index .participationselectform { margin-left:auto; margin-right:auto; text-align:center; margin-top:10px; margin-bottom:10px; } #course-report .participationselectform label, #course-report-participation-index .participationselectform label { margin-left:15px; margin-right:5px; } #course-report-log-index .info, #course-report-log-indexlive .info { margin-left:auto; margin-right:auto; text-align:center; margin:10px; } .course-report-outline td.numviews { text-align:right; } .course-report-outline div.loginfo { text-align:center; margin: 1em; } #content .coursebox .summary .category { text-align:right; } #course-editsection .singlebutton { text-align:center; } .jumpmenu {text-align:center} /*** *** Group ***/ body#group-index #groupeditform { text-align: center; } #add, #remove{ text-align:center; } /*** *** Doc ***/ body#doc-contents h1 { margin: 1em 0px 0px 0px; } body#doc-contents ul { list-style-type: none; margin: 0; padding: 0; width: 90%; } /*** *** Grades ***/ /* scales edit */ .grade-edit-scale .buttons { margin: 20px; text-align:center; } .grade-edit-scale .buttons .singlebutton { display: inline; padding: 5px; } /* outcomes edit */ .grade-edit-outcome .buttons { margin: 20px; text-align:center; } .grade-edit-outcome .buttons .singlebutton { display: inline; padding: 5px; } div.allcoursegrades { width: 100%; text-align: right; padding: 4px 0px 5px 0px; } .importoutcomenofile .singlebutton { text-align: center; margin-top: 5px; } /* gradebook edit tree */ .grade-edit-tree .gradetreebox { width:70%; margin-left:auto; margin-right:auto; margin-top:10px; padding-bottom:15px; } .grade-edit-tree .buttons { margin: 20px; text-align:center; } .grade-edit-tree .idnumber { margin-left: 15px; } .grade-edit-tree .buttons .singlebutton { display: inline; padding: 5px; } .grade-edit-tree .movetarget { position: relative; width: 80px; height: 16px; } .grade-edit-tree ul#grade_tree { width: auto; } .grade-edit-tree ul#grade_tree li { list-style: none; } .grade-edit-tree ul#grade_tree li.category { margin-bottom: 6px; } .grade-edit-tree .iconsmall { margin-left: 4px; } #grade-report-toggles { text-align: center; } .gradeexportlink { padding: 2em; text-align: center; margin-left: auto; margin-right: auto; } #grade-aggregation-help dt { margin-top: 15px; } #grade-aggregation-help dd.example { margin-top: 7px; } #grade-aggregation-help code { display: block; margin-top: 7px; } /*** *** Login ***/ .loginbox { margin-top:15px; margin-bottom:15px; border:1px solid; width:50%; margin-left:25%; overflow:hidden; } .loginbox form { margin:0px; padding:0px; } .loginbox.twocolumns { width:90%; margin-left:5%; /* background: #faa; */ } .loginbox h2, .loginbox .subcontent { margin:5px; padding:10px; text-align:center; } .loginbox .loginpanel .subcontent { text-align:center; } .loginbox .loginpanel .desc { margin:0px; padding:0px; margin-bottom:5px; } .loginbox .signuppanel .subcontent { text-align:left; } .loginbox .loginsub { margin-left:0%; margin-right:0%; } .loginbox .guestsub, .loginbox .forgotsub { border-top:1px solid; margin-left:12%; margin-right:12%; margin-bottom:5px; } .loginbox .loginform { margin-top:1em; text-align:left; } .loginbox .loginform .form-label { float:left; text-align:right; width:40%; } .loginbox .loginform .form-input { float:right; width:59%; } .loginbox .loginform .form-input input { width: 6em; } .loginbox .signupform { margin-top:1em; text-align:center; } .loginbox.twocolumns .loginpanel { float:left; width:49.5%; border-right: 1px solid; margin-bottom:-2000px; padding-bottom:2000px; /* background: #afa; */ } .loginbox.twocolumns .signuppanel { float:right; width:50%; margin-bottom:-2000px; padding-bottom:2000px; } /*** *** Message ***/ #message-user .userpicture, #message-history .userpicture { width: 100px; height: 100px; } .message-discussion-noframes #userinfo .userpicture { float:left; } .message-discussion-noframes #userinfo .name h1 { margin:0px; } .message-discussion-noframes #userinfo .name { text-align:center; margin-left:60px; } .message-discussion-noframes #userinfo .commands { text-align:left; margin-left:60px; } .message-discussion-noframes #userinfo .commands ul { margin:0px; padding:0px; list-style-type:none; } .message-discussion-noframes #userinfo .commands ul li { display:inline; padding-right:16px; } .message-discussion-noframes #send { padding-top:10px; clear:both; } .message-discussion-noframes #send h1 { margin:0px; } .message-discussion-noframes #messages { padding-top:10px; } .message-discussion-noframes #messages ul.messagelist { margin:0px; padding:0px; } .message-discussion-noframes #send h1 { margin:0px; } .message .noframesjslink { margin-top:20px; } .message .link { vertical-align:middle; } table.message .searchresults td { padding:5px; border-width:1px; border-style:solid; border-collapse:collapse; border-spacing:0px; } .message .summary .link { text-align:right; } .message .heading { text-align:center; } .message .note { text-align:center; padding:10px; } #message-user .commands span { margin-left:10px; margin-right:10px; } body#message-messages { padding:10px; } body#message-send .notifysuccess { padding:1px; } body#message-send td.fixeditor { text-align:center; } /*** *** Notes ***/ .notepost { margin-bottom: 1em; background-color: #EEE; } .sitenotepost { } .coursenotepost { } .draftnotepost { } .ownnotepost .info { } .notepost .header { background: #DDD; padding: 5px; } .notepost .user { font-weight: bolder; } .notepost .userpicture { float: left; margin-right: 5px; } .notepost .info { font-size: smaller; } .notepost .content { clear: both; } .notepost .footer { clear: both; } body.notes .generalbox { margin-left:auto; margin-right:auto; width:90%; } body.notes .notesgroup { margin-left:20px; } /*** *** MyMoodle ***/ .my .coursebox .overview .info { margin-left:20px; } .my .coursebox .overview { margin-bottom:10px; } /*** *** Question ***/ .questionbank h2 { margin-top: 0; } .questioncategories h3 { margin-top: 0; } .que { text-align: left; margin: 0 auto 1.8em auto; border: 1px solid; clear: both; } .que .info { float: left; margin: 0.5em 0 0.5em 1.2em; width: 8%; } .que .content { float: left; margin: 0.5em 1.2em 0.5em 0; width: 85%; } .que.description .info { margin: 0.5em 0 0.5em 0.2em; width: 1em; } .que.description .content, .que.description .generalfeedback { margin-left: 1.2em; margin-bottom: 0.5em; float: none; width: auto; } .que.description .qtext { margin-bottom: 0; } .que .qtext { margin-bottom: 1.5em; } .que .ablock { margin: 0.7em 0 0.3em 0; } .que .prompt { float: left; width: 15%; height: 2em; padding-top: 0.3em; } .que .control { width: 5%; } .que .answer { float: left; width: 83%; margin-bottom: 0.5em; } .que .submit { position: relative; clear: both; float: left; } /* MSIE Hack */ * html .que .submit { float: none; } .multianswer .submit { margin-top: 1em; } .que .c0, .que .c1 { padding: 0.3em 0 0.3em 0.3em; vertical-align: top; } .que .feedback { clear: both; padding: 0 0 0.3em 0.3em; margin-bottom: 0.5em; border: 1px solid; } .multichoice td.feedback { width: auto; vertical-align: top; padding-top: 0.3em; border-style: none; } .essay .feedback { border-style: none; } .multichoice .text { width: auto; } .calculated .answer, .numerical .answer, .shortanswer .answer { padding: 0.3em; width: auto; } .truefalse .answer span { float: left; clear: left; padding: 0.3em; width: 100%; } .que .grading, .que .comment, .que .commentlink, .que .generalfeedback, .que .history { margin-top: 0.5em; } .que .grade { margin-top: 0.5em; } .importerror { margin-top: 10px; border-bottom: 1px solid #555; } /*** *** Logs ***/ .logtable { margin-left:auto; margin-right:auto; } .logtable td, .logtable th { padding-left: 10px; padding-right: 10px; } .logtable th { text-align:left; } #course-user .info { margin-left:auto; margin-right:auto; text-align:center; margin:10px; } /*** *** Tabs ***/ /*globalnav*/ .tabtree { position:relative; } .tabrow0 { text-align: center; width:100%; margin:0; margin-top: 10px; padding:0 0 1.75em 0; list-style:none; line-height:1.8em; font-size: 84%; } .tabrow0 li { display: inline; margin: 0 -4px 0 0; padding: 0; } .tabrow0 a span { padding: 10px 14px 0.35em 0; background: transparent url(pix/tab/right.gif) no-repeat right top; } .tabrow1 li a span { background: none !important; } .tabrow0 a { text-decoration: none; background: transparent url(pix/tab/left.gif) no-repeat left top; margin: 0 -1px 0 0; padding: 10px 0 0.35em 13px; } .tabrow0 a:hover { background-image: url(pix/tab/left_hover.gif); } .tabrow0 .here a:hover { background-image: url(pix/tab/left.gif); } .tabrow0 a:hover span { background-image: url(pix/tab/right_hover.gif); } .tabrow0 .here a:hover span { background-image: url(pix/tab/right.gif); } .tabrow0 .here a { color:#444; } .tabrow0 .here a:link, .tabrow0 .here a:visited, .tabrow0 .here a.nolink { position:relative; z-index:102; } /*subnav*/ .tabrow0 .empty { height: 1px; overflow: hidden; padding: 0; } .tabrow0 div, .tabrow0 ul { position: absolute; left: 0; top: 1.95em; width: 100%; margin: 0; padding: 0.25em 0; list-style: none; border-top: 1px solid #aaa; line-height: normal; background: transparent url(pix/tab/tabrow1.gif) repeat-x center left;= font-size: 90%; } .tabrow0 ul li { display:inline; margin-top:1px; background-image: none; } .tabrow0 ul a { background-image: none; color:#00c; margin:0; padding:0 1em; border:0 } .tabrow0 ul a span { padding: 0; background-image: none; } .tabrow0 ul .last span, .tabrow0 ul li a:hover, .tabrow0 ul li a:hover span, .tabrow0 ul .here a:hover, .tabrow0 ul .here a:hover span { background-image: none !important; } .tabrow0 ul div { display: none; } ul.tabrow1 li a, ul.tabrow1 li a:link, ul.tabrow1 li a:visited { color:#00c; font-size: 110%; } ul.tabrow1 li.here.selected a { color:#444; } /*** *** Tags ***/ h2.tag-heading { text-align:center; margin-left:auto; margin-right:auto; display:block; width:95%; padding: 5px 5px 5px 5px; } div#tag-description, div#tag-blogs { width:95%; padding: 5px 5px 5px 5px; margin-left:auto; margin-right:auto; display:block; } body#tag-index .moreblogs { text-align:center; } div#tag-management-box { margin-bottom:10px; text-align:center; line-height:20px; display:block; font-size:12px; } div#tag-user-table { padding:3px; width:95%; clear: both; margin-left:auto; margin-right:auto; display:block; } body.tag .managelink { text-align:right; padding:10px; } /* small css hack for firefox*/ div#tag-user-table:after{ content:"."; display:block; clear:both; visibility:hidden; height:0; overflow:hidden; } /* end hack*/ div.user-box { margin-left:8px; margin-right:8px; margin-top:8px; margin-bottom:8px; width:115px; height:160px; text-align:center; display:block; float:left; clear: none; } img.user-image { border:0px; height:100px; width:100px; } div#small-tag-cloud-box { width:300px; margin-left:auto; margin-right:auto; margin-bottom:0px; margin-top:0px; } div#big-tag-cloud-box { width:600px; margin-left:auto; margin-right:auto; margin-bottom:0px; margin-top:0px; display:block; float:none; } ul#tag-cloud-list { list-style:none; padding:5px; margin:0px; list-style-type:none; } ul#tag-cloud-list li { margin:0px; display:inline; } /* search start*/ div#tag-search-box { text-align:center; margin-left:auto; margin-right:auto; margin-top:10px; margin-bottom:10px; } div#tag-search-results-container { padding:0px; width:100%; } ul#tag-search-results { padding:0px; margin-left:20%; margin-right:20%; margin-top:15px; margin-bottom:0px; float:left; width:60%; display:block; list-style:none; } ul#tag-search-results li{ width:30%; float:left; padding-left:1%; text-align:left; line-height:20px; padding-right:1%; } div#tags-management-links { text-align:right; display:block; font-size:12px; } /* search end*/ /* tag management start*/ span.flagged-tag { color:#FF0000; } span.flagged-tag a{ color:#FF0000; } table#tag-management-list { text-align:left; margin-left:auto; margin-right:auto; } table#tag-management-list tr td{ padding-left:4px; padding-right :4px; } .tag-management-form { text-align:center; } /* tag management end*/ /* autocomplete start*/ #relatedtags-autocomplete-container { margin-left:auto; margin-right:auto; min-height:4.6em; width:100%; } #relatedtags-autocomplete { position:relative; display:block; width:60%; margin-left:auto; margin-right:auto; } #relatedtags-autocomplete .yui-ac-content { position:absolute; width:420px; left:20%; border:1px solid #404040; background:#fff; overflow:hidden; z-index:9050; } #relatedtags-autocomplete .ysearchquery { position:absolute; right:10px; color:#808080; z-index:10; } #relatedtags-autocomplete .yui-ac-shadow { position:absolute; margin:.3em; width:100%; background:#a0a0a0; z-index:9049; } #relatedtags-autocomplete ul { padding:0;width:100%; margin:0; list-style-type:none; } #relatedtags-autocomplete li { padding:0 5px; cursor:default; white-space: nowrap; } #relatedtags-autocomplete li.yui-ac-highlight { background:#FFFFCC; } /* autocomplete end*/ /*** *** User ***/ .userinfobox { margin-bottom:5px; border-width: 1px; border-style: solid; border-collapse: separate; } .userinfobox .left, .userinfobox .side { padding: 10px; width: 100px; vertical-align: top; } .userinfobox .userpicture { width: 100px; height: 100px; } .userinfobox .content { padding: 10px; vertical-align: top; } .userinfobox .links { width: 100px; padding: 5px; vertical-align: bottom; } .userinfobox .list td { padding: 3px; } .userinfobox .username { padding-bottom: 20px; } .userinfobox td.label { text-align:right; white-space: nowrap; vertical-align: top; } table.userinfobox { width: 80%; margin-left: 10%; margin-right: 10%; } table.groupinfobox { width: 60%; margin-left: 20%; margin-right: 20%; border-width:1px; border-style:solid; margin-bottom: 20px; } .groupinfobox .left { padding: 10px; width: 100px; vertical-align: top; } body#user-index h2 { text-align: center; } #user-view .buttons, #user-index .buttons { text-align: center; } #user-view .buttons form, #user-view .buttons form div { display:inline; } body#user-index #longtimenosee, body#user-index #showall { text-align: center; } body#user-index #showall { margin: 10px 0px; } body#user-index table#participants, body#tag-manage table#tag-management-list { margin: auto; width: 80%; } body#tag-manage table#tag-management-list td, body#tag-manage table#tag-management-list th, body#user-index table#participants td, body#user-index table#participants th { vertical-align: middle; text-align: left; padding: 4px; } body#user-index table.controls { width: 100%; } body#user-index table.controls tr { vertical-align: top; } body#user-index table.controls td.right, body#user-index table.controls td.left { padding: 4px; } body#user-index table.controls .right { text-align: right; } body#course-participation h2 { text-align:center; } body#course-participation #showall { text-align:center; margin: 10px 0px; } body#user-index .rolesform { text-align:center; } #user-policy .noticebox { text-align:center; margin-left:auto; margin-right:auto; margin-bottom:10px; width:80%; height:250px; } #user-policy #policyframe { width:100%; height:100%; } .iplookup #map { margin:auto; } .iplookup #note { text-align:center; } /*** *** Modules: Assignment ***/ .userpicture, .picture user, .picture teacher { width:35px; height:35px; vertical-align:top; } .modform { text-align:center; } #wordcount { text-align: right; } /*** *** Modules: Chat ***/ .nextchatsession { text-align:center; } #mod-chat-gui_header_js-jsupdate { margin:10px } #mod-chat-gui_header_js-jsupdate .chat-event, #mod-chat-gui_header_js-jsupdate .chat-message { width:100%; padding:0; margin-top:7px } #mod-chat-view #chatcurrentusers .chatuserdetails { vertical-align: middle; } #mod-chat-view #enterlink { text-align: center; margin-left: auto; margin-right: auto; width: 50%; } .chat-event .picture, .chat-message .picture { width:40px; vertical-align:top; } .chat-event .text, .chat-message .text { text-align: left; } #mod-chat-gui_basic #participants ul { margin:0px; padding:0px; list-style-type:none; } #mod-chat-gui_basic #participants ul li { display:inline; margin-right:10px; } #mod-chat-gui_basic #participants ul li .userinfo { display:inline; } #mod-chat-gui_basic #messages dl { padding:0px; margin:1px; } #mod-chat-gui_basic #messages dd, #mod-chat-gui_basic #messages dt { margin-left:0px; margin-right:5px; padding:0px; display:inline; } /*** *** Modules: Choice ***/ .button { text-align:center; } .attemptcell { width:5px; white-space: nowrap; } .anonymous, .names { margin-left:auto; margin-right:auto; } .downloadreport { border:0px; margin-left:auto; margin-right:auto; } .choiceresponse { width:100%; } .choiceresponse .picture { width:10px; white-space: nowrap; } .choiceresponse .fullname { width:100%; white-space: nowrap; } .results.data { vertical-align:top; white-space: nowrap; } /*** *** Modules: Data ***/ .fieldadd, .sortdefault, .defaulttemplate { text-align:center; } .datapreferences { text-align:center; } table.presets { margin-left: auto; margin-right: auto; } /*** *** Modules: Forum ***/ #mod-forum-view .forummode { text-align:center; } .forumheaderlist, .forumpost { border-width:1px; border-style:solid; border-collapse:separate; } .forumpost { margin-top: 15px; } .forumpost .topic { padding: 4px; border-style:solid; border-width: 0px; border-bottom-width: 1px; } .forumpost .commands { padding-top: 0.5em; text-align:right; clear: both; } .forumpost .ratings { padding-top: 1em; text-align:right; } .forumpost .attachments { padding: 7px; text-align:right; } .forumpost .content { padding: 4px; } .forumpost .footer { padding-top: 0.5em; text-align:right; } .forumpost .link { padding-top: 0.5em; text-align:right; } .forumpost .left { width: 35px; padding: 4px; text-align: center; vertical-align: top; } .mod-forum .indent { margin-left: 30px; } body#user-view .forumpost, .course .forumpost { width: 100%; } body#mod-forum-search .c0 { text-align: right; } body#mod-forum-search .introcontent { padding: 15px; } .forumolddiscuss { text-align: right; } .forumheaderlist { width: 100%; } .forumheaderlist td { border-width:1px 0px 0px 1px; border-style:solid; } .forumheaderlist .replies { text-align: center; white-space: nowrap; } .forumheaderlist .picture { width: 35px; } .forumheaderlist .discussion .starter { vertical-align: middle; } .forumheaderlist .lastpost { white-space: nowrap; text-align: right; } .forumheaderlist .discussion .author { white-space: nowrap; } .forumolddiscuss { text-align:right; } .forumaddnew, .forumnodiscuss, .noticeboxcontent { text-align:center; } #mod-forum-view .forumaddnew { margin-bottom: 20px; } #mod-forum-view .forumcontrol .groupmenu { float: left; text-align:left; white-space: nowrap; } #mod-forum-view .groupmenu { float: left; text-align:left; white-space: nowrap; } #mod-forum-view .forumcontrol .subscription { float: right; text-align:right; white-space: nowrap; } #mod-forum-view .subscription { float: right; text-align:right; white-space: nowrap; } #mod-forum-index .subscription { float: right; text-align:right; white-space: nowrap; } #mod-forum-view .unread { padding-left: 3px; padding-right: 3px; } #mod-forum-discuss .forumpost.unread .content { border-style: solid; border-width: 2px; } #mod-forum-discuss .ratingsubmit { text-align:center; padding:10px; } #mod-forum-index .unread img, #mod-forum-view .unread img { margin-left: 5px; } #mod-forum-discuss .discussioncontrols td { width: 33%; text-align:center; } #email .unsubscribelink { margin-top:20px; border-width: 0px 1px 0px 0px; border-style: solid; text-align:center; } #mod-forum-view .subscription { margin: 5px 0; } /*** *** Modules: Glossary ***/ .glossarypost .commands { width: 200px; white-space: nowrap; } #mod-glossary-comments .glossarypost, #mod-glossary-comment .glossarypost { margin-top: 15px; } .entryboxheader { border-width: 1px 1px 0px 1px; border-style: solid; } .entrybox { width: 100%; border-width: 0px 1px 1px 1px; border-style: solid; } .entrybox hr { border-left:none; border-right:none; } .glossarypost { width: 95%; border-width:1px; border-style:solid; border-collapse:separate; margin-left:auto; margin-right:auto; margin-bottom: 5px; text-align: left; } .entrylist { border-width:0px; } .entrylowersection { padding-top: 10px; } .entrylowersection table{ width: 100%; } .entrylowersection .aliases { text-align:center; } .entrylowersection .icons, .entrylowersection .ratings { text-align:right; padding-right: 5px; } .entrylowersection .ratings { padding-bottom: 2px; } .glossarycategoryheader { width: 95%; margin-left:auto; margin-right:auto; } .glossaryformatheader { width: 90%; } .glossarypost .entry { padding: 3px; } .glossarypost .picture { width: 35px; } .glossarycomment { border-width:1px; border-style:solid; border-collapse:separate; margin-bottom: 5px; text-align: left; } .glossarycomment .entry { padding: 3px; } .glossarycomment .picture { width: 35px; } .glossarycomment .icons { text-align: right; } .glossarydisplay { width: 90%; margin-left:auto; margin-right:auto; text-align:center; } .glossarydisplay .tabs { width: 100%; } .glossarydisplay .separator { width: 4px; } .glossarydisplay .tabs .selected, .glossarydisplay .tabs .inactive, .glossarydisplay .tabs .general { } .glossaryimportexport { margin-left:auto; margin-right:auto; text-align:center; } .glossarypopup { width: 95%; } .glossaryapproval { width: 100%; } .mod-glossary .glossarydisplay .tabs { margin-bottom: 0px; } .mod-glossary .glossarydisplay .tabs .side { border-style: none; border-width: 0px; width: auto; } .glossaryexplain, .glossaryaddentry { text-align: center; } .mod-glossary .tabrow0 { padding-bottom: 5px; } #mod-glossary-view .glossarycontrol { float: right; text-align:right; white-space: nowrap; margin: 5px 0; } /*** *** Modules: Journal ***/ #mod-journal-view .lastedit, #mod-journal-view .editend { margin: 5px; text-align: center; } #mod-journal-view .feedbackbox { width: 75%; border-collapse: separate; } #mod-journal-view .entrycontent { padding: 3px; } #mod-journal-view .picture { width: 35px; } #mod-journal-view .grade { text-align: right; } #mod-journal-view .info { margin-bottom: 5px; text-align: right; } /*** *** Modules: Label ***/ /*** *** Modules: Lesson ***/ #mod-lesson-lesson #page .addform { text-align: center; } #mod-lesson-edit #page .label { font-weight: bold; } #mod-lesson-edit #page .labelcorrect { text-decoration: underline; font-weight: bold; } .lessonmediafilecontrol { text-align: center; margin-left: auto; margin-right: auto; } #mod-lesson-view #content .invisiblefieldset { display: block; text-align: left; } /*** *** Modules: Quiz ***/ #mod-quiz-view .quizinfo { text-align: center; } #mod-quiz-view #page .quizgradefeedback, #mod-quiz-view #page .quizattempt { text-align: center; } #mod-quiz-view #page .quizattemptsummary td p { margin-top: 0; } #mod-quiz-view .generalbox#feedback { width:70%; margin-left:auto; margin-right:auto; padding-bottom:15px; } #mod-quiz-view .generalbox#feedback h2 { margin: 0 0; } body#mod-quiz-view .generalbox#feedback .overriddennotice { text-align: center; font-size: 0.7em; } #mod-quiz-view .generalbox#feedback h3 { text-align: left; } .generalbox#passwordbox { /* Should probably match .generalbox#intro abo= ve */ width:70%; margin-left:auto; margin-right:auto; } #passwordform { margin: 1em 0; } #mod-quiz-attempt #page { text-align: center; } #mod-quiz-attempt .pagingbar { margin: 1.5em auto; } #mod-quiz-attempt #page { text-align: center; } #mod-quiz-attempt #timer .generalbox { width:150px } #mod-quiz-attempt.securewindow .que { margin-left: 155px; margin-right: 155px; } #mod-quiz-attempt #timer { position:absolute; /*top:100px; is set by js*/ left:10px } body#question-preview .quemodname, body#question-preview .controls { text-align: center; } body#question-preview .quemodname, body#question-preview .controls { text-align: center; } #mod-quiz-attempt #page .controls, #mod-quiz-review #page .controls { text-align: center; margin: 8px auto; } #mod-quiz-review .pagingbar { margin: 1.5em auto; } #mod-quiz-review .pagingbar { margin: 1.5em auto; } table.quizreviewsummary { margin-bottom: 1.8em; width: 100%; } table.quizreviewsummary tr { } table.quizreviewsummary th.cell { padding: 1px 0.5em 1px 1em; font-weight: bold; text-align: right; width: 10em; } table.quizreviewsummary td.cell { padding: 1px 1em 1px 0.5em; } #mod-quiz-mod #reviewoptionshdr .fitem { float: left; width: 30%; margin-left: 10px; clear: none; } #mod-quiz-mod #reviewoptionshdr .fitemtitle { width: 100%; font-weight: bold; text-align: left; height: 2.5em; margin-left: 0; } #mod-quiz-mod #reviewoptionshdr fieldset.fgroup { width: 100%; text-align: left; margin-left: 0; } #mod-quiz-mod #reviewoptionshdr fieldset.fgroup span { float: left; clear: left; } #mod-quiz-edit #page .controls, #mod-quiz-edit #page .quizattemptcounts { clear : left; text-align: center; } #mod-quiz-edit .quizquestions h2 { margin-top: 0; } #mod-quiz-edit #showbreaks { margin-top: 0.7em; } .quizquestionlistcontrols { text-align: center; } #mod-quiz-report table#attempts, #mod-quiz-report table#commands, #mod-quiz-report table#itemanalysis { width: 80%; margin: auto; } #mod-quiz-report table#attempts, #mod-quiz-report h2.main { clear: both; } #mod-quiz-report table#attempts { margin: 20px auto; } #mod-quiz-report table#attempts .header, #mod-quiz-report table#attempts .cell { padding: 4px; } #mod-quiz-report table#attempts .header .commands { display: inline; } #mod-quiz-report table#attempts .picture { width: 40px; } #mod-quiz-report table#attempts td { border-left-width: 1px; border-right-width: 1px; border-left-style: solid; border-right-style: solid; vertical-align: middle; } #mod-quiz-report table#attempts .header { text-align: left; } #mod-quiz-report table#attempts .picture { text-align: center !important; } #mod-quiz-report .controls { text-align: center; } #mod-quiz-report table#itemanalysis { margin: 20px auto; } #mod-quiz-report table#itemanalysis .header, #mod-quiz-report table#itemanalysis .cell { padding: 4px; } #mod-quiz-report table#itemanalysis .header .commands { display: inline; } #mod-quiz-report table#itemanalysis td { border-width: 1px; border-style: solid; } #mod-quiz-report table#itemanalysis .header { text-align: left; } #mod-quiz-report table#itemanalysis .numcol { text-align: center; vertical-align : middle !important; } #mod-quiz-report table#itemanalysis .uncorrect { color: red; } #mod-quiz-report table#itemanalysis .correct { color: blue; font-weight : bold; } #mod-quiz-report table#itemanalysis .partialcorrect { color: green !important; } #mod-quiz-report table#itemanalysis .qname { color: green !important; } /* manual grading */ #mod-quiz-grading table#grading { width: 80%; margin: auto; } #mod-quiz-grading table#grading { margin: 20px auto; } #mod-quiz-grading table#grading .header, #mod-quiz-grading table#grading .cell { padding: 4px; } #mod-quiz-grading table#grading .header .commands { display: inline; } #mod-quiz-grading table#grading .picture { width: 40px; } #mod-quiz-grading table#grading td { border-left-width: 1px; border-right-width: 1px; border-left-style: solid; border-right-style: solid; vertical-align: bottom; } .mod-quiz .gradingdetails { font-size: small; } .quizattemptcounts { text-align: center; clear : left; margin: 6px 0; } /*** *** Modules: Resource ***/ #mod-resource-view .resourcecontent { text-align:center; margin:20px; } #mod-resource-view .resourcepdf { width: 100%; padding-top: 15px; text-align: center } .resourcecontent object { height:480px; width:600px; } .resourcepdf object{ height: 800px; width: 800px; } .mod-resource .modified { text-align:center; } .mod-resource .popupnotice { text-align:center; margin:40px; } .ims-nav-bar { margin-top:0.2em; position: relative; } .ims-nav-button a, .ims-nav-dimmed { padding-left:1em; padding-right:1em; padding-top:0.2em; padding-bottom:0.2em; } #ims-containerdiv { margin-top:0.2em; } #ims-menudiv { padding-top:1em; padding-right:0.2em; position:absolute; width:250px; overflow:auto; } #ims-menudiv ol { margin:0em; list-style-type:none; padding-left:1em; } #ims-contentframe { position:absolute; left:260px; border:1px solid; width:640px; height:480px; } #ims-contentframe-no-nav { position:absolute; border:1px solid; width:640px; height:480px; } #mod-resource-view div#footer { margin-top: 5px; } /*** *** Modules: Scorm ***/ /*** *** Modules: Survey ***/ .resultgraph { text-align:center; border:1px solid; } .reportsummary, .studentreport, .reportbuttons { text-align:center; } .centerpara { text-align:center; } .fullnamecell { width:10%; vertical-align:top; white-space: nowrap; } .questiontext { font-size:1em; } .smalltext { font-size: 0.75em; } #surveyform th { font-weight: normal; text-align: left; } #surveyform th.hresponse { text-align: center; width: 9%; } .rblock label { display: block; text-align: center; } .foundthat, .preferthat { white-space: nowrap; } .qnummiddlecell { vertical-align:middle; } .optioncell { width: 50%; vertical-align: top; } .buttoncell { width:5%; } .questioncell { width:50%; vertical-align:top; } .whitecell { background-color:white; } /*** *** Modules: Wiki ***/ .sideblockheading, .howtowiki { text-align:right; } .wikisearchform, .wikilinksblock, wikiadminactions { text-align:center; } .wikilinkright{ text-align:right; padding-bottom: 0.5em; } .wikiexportbox{ margin-left:auto; margin-right:auto; } /*** *** Modules: Workshop ***/ .redfont { color: red; } .workshopuploadform, .workshopkey { text-align:center; } /*** *** Help files (/lang/-/help) ***/ #help hr { border: none; height: 1px; background: #ccc; } #help .example1 { color: #a00; } #help .success { color: #080; } #help .center { text-align: center; } #help .moreinfo { text-align: right; } /* Equivalent to 1 and 5 nested blockquotes respectively. */ #help .indent { margin-left: 40px; } #help .indent-big { margin-left: 160px; margin-right:160px; } #help pre, #help code { background: #eee; border: 1px dashed #ddd; padding: 3px; } /***** standard/styles_layout.css end *****/ /***** standard/styles_fonts.css start *****/ /******************************************************************* styles_fonts.css This CSS file contains all font definitions like family, size, weight, text-align, letter-spacing etc. Styles are organised into the following sections: core header footer admin blocks calendar course doc grades login message mymoodle question tabs user various modules *******************************************************************/ /*** *** Core ***/ .clearer { font-size:1px; } body, table, td, th, li { font-family:Arial, Verdana, Helvetica, sans-serif; font-size:100%; /*letter-spacing:0.02em;*/ } th { font-weight: bold; } a:link, a:visited { text-decoration:none; } a:hover { text-decoration: underline; } .img-text a:hover { text-decoration: none; } .img-text a:hover span { text-decoration: underline; } h1.main, h2.main, h3.main, h4.main, h5.main, h6.main { font-weight:bold; } h1 { font-size:1.7em; } h2 { font-size:1.4em; } h3 { font-size:1.1em; } h4 { font-size:1.0em; } .bold { font-weight:bold; } .warning { font-weight: bold; font-style: italic; } .errorbox .title { font-weight: bold; font-size: 1.2em; text-align: center; } .errorboxcontent { text-align: center; } .errorcode { font-size: 0.7em; } .notifytiny { line-height : 100%; font-size: 0.7em; } .pagingbar .title { font-weight: bold; } .pagingbar .thispage { font-weight: bold; } .categorybox .category { font-size:1.2em; font-weight:bold; } .helplink { font-size:0.8em; } .headingblock { font-weight: bold; } #site-index .subscribelink, #course-view .subscribelink { font-size: 0.8em; } .files .file { font-size: 0.9em; } .files .folder { font-size: 0.9em; } .files .folder .size { font-weight: bold; } /*Accessibility: resizable icons. */ img.resize { width: 1em; height: 1em; } acronym, abbr { cursor: help; } a.useredit, a:hover.useredit, .blink { color: black; text-decoration: blink; cursor: help; } /*** *** Header ***/ .headermain { font-weight:bold; } #header-home .headermain { font-size:1.5em; } #header .headermain { font-size:1.3em; } .breadcrumb { font-size:0.9em; font-weight:bold; } .logininfo, #header-home .headermenu font { font-size:0.8em; } /* Accessibility: only certain fonts support Unicode chars like ►= in IE6 */ .arrow, .arrow_button input { font-family: Arial,Helvetica,Courier,sans-serif; } .navigation button { font-size: 80%; } /*** *** Footer ***/ .homelink { } .performanceinfo { font-size: 0.6em; } #footer .validators { font-size: 0.6em; } /*** *** Admin ***/ table.formtable tbody th { font-weight: normal; text-align: right; } body#admin-blocks table#incompatible td.c0 { font-weight: bold; } body#admin-index .explanation { font-size: 0.7em; vertical-align: bottom; } body#admin-index .copyright { text-align: center; font-size: 0.8em; } .environmenttable { font-size: 0.8em; } #admin-roles-manage .rolecap .cap-desc .cap-name, #admin-roles-override .rolecap .cap-desc .cap-name { font-size: 0.75em; } #adminsettings .form-shortname { font-size: 0.75em; } #adminsettings .form-defaultinfo { font-size: 0.8em; } #admin-roles-override .cell.c1, #admin-roles-assign .cell.c3, #admin-roles-assign .cell.c1 { font-size: 0.7em; } #admin-lang .translator .strkey { font-size: 0.75em; } #admin-uploaduser table#uupreview { font-size: 0.8em; } #admin-uploaduser table#uuresults { font-size: 0.9em; } #adminsettings .form-warning, #adminsettings .form-overridden { font-size: 0.8em; } .plugincompattable { font-size: 70%; } .plugincompattable td.standard { font-weight: normal; } .plugincompattable td.nonstandard { font-weight: bold; } .plugincompattable td.missingplugin { font-weight: bold; } .plugincompattable td.warning { font-style: normal; } .plugincompattable { text-align: left; } .plugincheckwrapper { text-align: center; } .course-report-outline td.lastaccess { font-size:0.8em; } .course-report-outline tr.section { text-align: center; } /*** *** Blocks ***/ a.skip-block { text-decoration:none; } .sideblock img.resize, .breadcrumb img.resize { width: 0.8em; height: 0.9em; } .sideblock .searchform img.resize { width: 1em; height: 1.1em; } .sideblock .header, .sideblock h2 { font-size:0.9em; font-weight: bold; } .sideblock .content { font-size:0.9em; line-height:1.2em; } .sideblock a { line-height:1.2em } .sideblock .content h3, .sideblock .content h2 { font-size:1.0em; } .sideblock .content .message { font-size:0.9em } .sideblock .header .commands { font-size:0.9em; } .sideblock .footer { font-size:0.9em; } .sideblock .head, .sideblock .info, .sideblock .event { font-size: 0.9em; } .sideblock .date { font-style: italic; } .block_site_main_menu .footer select { font-size: 0.8em; } .block_messages .content .listentry, .block_online_users .content .listentry { font-size:0.75em } /*** *** Blogs ***/ .blogpost .audience { font-size: 0.85em; } .blogpost .tags { font-size: 0.85em; } /*** *** Calendar ***/ #calendar .sidecalendar abbr, .block_calendar_month abbr { border: none; } #calendar .eventnone a, .block_calendar_month .eventnone a { text-decoration:none; color:black; cursor:text; } #calendar .maincalendar .eventlist .event .referer { font-weight:bold; } #calendar .maincalendar .eventlist .event .course { font-size:0.8em; } #calendar .maincalendar .eventlist .event .description .commands { text-align: right; } #calendar .maincalendar table.calendarmonth td { font-size:0.8em; } #calendar div.header { font-weight:bold; } #calendar .sidecalendar .filters { font-size:0.8em; } .sideblock .filters td { font-size:1.1em; } #calendar .maincalendar .controls { font-size:1.2em; } #calendar .maincalendar .day { font-weight: bold; } table.minicalendar { font-size:0.85em; } .cal_popup_caption { font-family:sans-serif; font-size:0.8em; font-weight:bold; } .cal_popup_close { font-family:sans-serif; font-size:0.8em; font-weight:bold; } #calendar .maincalendar .calendar-controls .current { font-weight: bold; } /*** *** Course ***/ #course-view .section { font-size:0.95em; line-height:1.2em; } #course-view .section .activity { padding:0.2em 0; } #course-view .section .activity a { line-height:1em; } #course-view .section .weekdates { margin: 0; font-weight: normal; font-size: 1em; } #course-view .section .left { font-weight:bold; } .activitydate, .activityhead { font-size:0.9em; } .weeklydatetext { font-size:0.9em; font-weight:bold; } .coursebox .info { font-size:1em; } .coursebox .teachers, .coursebox .cost { font-size:0.9em; } .coursebox .summary { font-size:0.9em; } #course-recent h2.main { font-size:1.1em; } #course-recent .user { font-size:0.75em; } #course-recent .grade { font-style: italic; font-size:0.9em; } #course-recent .forum-recent .reply .title { font-style: italic; font-size:0.9em; } #course-recent .forum-recent .discussion .title { font-weight:bold; font-style: italic; font-size:0.9em; } h2.headingblock { font-size:1.1em; } .section_add_menus optgroup { font-weight:normal; font-style: italic; } .section .groupinglabel { color: #666666; } /*** *** Doc ***/ body#doc-contents h1 { font-size: 0.9em; } body#doc-contents ul { font-size: 0.8em; } /*** *** Grades ***/ body#grade-index .grades .header { font-weight: bold; font-size: 0.7em; } .grade-edit-scale .scale_options { font-size: 0.7em; } #grade-aggregation-help dt { font-weight: bold; } #grade-aggregation-help dd.example { font-style: italic; } #grade-aggregation-help code { font-style: normal; } /*** *** Login ***/ #login-index #content { font-size: 0.85em; } /*** *** Logs ***/ .logtable td { font-size: 0.8em; } .logtable th { font-size: 0.9em; } /*** *** Message ***/ .message-discussion-noframes #userinfo .name h1 { font-weight: bold; font-size:1em; } .message-discussion-noframes #userinfo .commands { font-size:0.8em; } .message-discussion-noframes #send h1 { font-size:1em; } .message .noframesjslink { font-size:0.8em; } .message-discussion-noframes #messages h1 { font-size:1em; } .message .link { font-size:0.8em; } .message_form { font-size:0.8em; } .message .heading { font-size:1.0em; font-weight:bold; } .message .date, .message .contact, .message .summary { font-size:0.9em; } .message .note, .message .pix { font-size:0.8em; } .message .author { font-weight: bold; font-size:0.8em; } .message .time { font-style: italic; font-size:0.8em; } .message .content { font-size:0.8em; } #message-user .commands span { font-size:0.7em; white-space:nowrap; } #message-user .name { font-weight: bold; font-size:1.1em; } /*** *** MyMoodle ***/ .my .courseboxcontent .overview .info { font-size:0.7em; } /*** *** Question ***/ .que .no { font-size: 1.2em; font-weight: bold; } .que .grade { font-size: 0.8em; } .que .history { font-size:75%; } /*** *** Tabs ***/ .tabtree a.nolink:hover { text-decoration: none; } /*** *** Tags ***/ .tag_cloud .s20 { font-size: 1.5em; font-weight: bold; } .tag_cloud .s19 { font-size: 1.5em; } .tag_cloud .s18 { font-size: 1.4em; font-weight: bold; } .tag_cloud .s17 { font-size: 1.4em; } .tag_cloud .s16 { font-size: 1.3em; font-weight: bold; } .tag_cloud .s15 { font-size: 1.3em; } .tag_cloud .s14 { font-size: 1.2em; font-weight: bold; } .tag_cloud .s13 { font-size: 1.2em; } .tag_cloud .s12, .tag_cloud .s11 { font-size: 1.1em; font-weight: bold; } .tag_cloud .s10, .tag_cloud .s9 { font-size: 1.1em; } .tag_cloud .s8, .tag_cloud .s7 { font-size: 1em; font-weight: bold; } .tag_cloud .s6, .tag_cloud .s5 { font-size: 1em; } .tag_cloud .s4, .tag_cloud .s3 { font-size: 0.9em; font-weight: bold; } .tag_cloud .s2, .tag_cloud .s1 { font-size: 0.9em; } .tag_cloud .s0 { font-size: 0.8em; } /*** *** User ***/ .userinfobox .username { font-weight: bold; } .userinfobox .links { font-size: 0.7em; } .userinfobox td.label { font-weight: bold; } body#user-index #longtimenosee { font-size: 0.8em; } .iplookup #header h1.headermain { font-size:1em; } .iplookup #note { font-size:0.8em; font-style: italic; } /*** *** Modules: Assignment ***/ #mod-assignment-index .cell { font-size:0.8em; } #wordcount { font-size: 0.8em; } /*** *** Modules: Chat ***/ #mod-chat-index .cell { font-size:0.8em; } #mod-chat-gui_basic h1 { font-size:1.4em; } #mod-chat-gui_basic #participants .idle { font-size:0.6em; } #mod-chat-view #chatcurrentusers .chatuserdetails { font-size: 0.6em; } /*** *** Modules: Choice ***/ #mod-choice-index .cell { font-size:0.8em; } /*** *** Modules: Forum ***/ .forumnodiscuss{ font-weight:bold; } .forumpost .topic .subject { font-weight: bold; } .forumpost .topic .author { font-size: 0.8em; } .forumpost .commands, .forumpost .link, .forumpost .footer { font-size: 0.9em; } .forumheaderlist .discussion .lastpost { font-size: 0.7em; } body#mod-forum-search .introcontent { font-weight:bold; } body#mod-forum-index .generalbox .cell { font-size: 0.80em; } .forumpost .edited { font-style: italic; } /*** *** Modules: Glossary ***/ .glossarypost .commands { font-size: 0.8em; } .glossarypost .author { font-size: 0.8em; } .glossarypost .time { font-size: 0.8em; } .glossarycategoryheader h2, .glossarypost .concept h3 { font-size: 1em; margin: 0; } .glossarypost div.concept h3, .glossarypost.continuous .concept { display: inline; } .glossarypost .entryheader { font-weight: normal; text-align: left; } .glossarycomment .author { font-size: 0.8em; } .entrylowersection .aliases { font-size: 0.8em; } .entrylowersection .icons, .entrylowersection .ratings { font-size: 0.8em; } #mod-glossary-index .cell { font-size:0.8em; } /*** *** Modules: Journal ***/ #mod-journal-view .lastedit, #mod-journal-view .editend { font-size: 0.7em; } #mod-journal-view .author { font-size: 1em; font-weight: bold; } #mod-journal-view .time { font-size: 0.7em; font-style: italic; } #mod-journal-view .grade { font-weight: bold; font-style: italic; } #mod-journal-index .cell { font-size:0.8em; } /*** *** Modules: Label ***/ /*** *** Modules: Lesson ***/ #mod-lesson-index .cell { font-size:0.8em; } /*** *** Modules: Quiz ***/ /*** *** Modules: Resource ***/ #mod-resource-index .cell { font-size:0.8em; } .mod-resource .modified { font-size:0.6em; } .ims-nav-dimmed, .ims-nav-button { font-size:0.8em; } #ims-toc-selected { font-weight: bold; } #ims-menudiv { font-size:0.8em; } /*** *** Modules: Scorm ***/ #mod-scorm-index .cell { font-size:0.8em; } /*** *** Modules: Survey ***/ #mod-survey-index .cell { font-size:0.8em; } /*** *** Modules: Wiki ***/ #mod-wiki-index .cell { font-size:0.8em; } /*** *** Modules: Workshop ***/ #mod-workshop-index .cell { font-size:0.8em; } #thegroup, #thegrouping, #dummygrouping { font-size: 0.8em; /*letter-spacing: -0.01em;*/ display: block; } /*** *** Phpinfo display ***/ .phpinfo table { border-collapse: collapse; } .phpinfo .center { text-align: center; } .phpinfo .e, .v, .h { border: 1px solid #000000; font-size: 0.8em; vertical-align: baseline; } .phpinfo .e { background-color: #ccccff; font-weight: bold; color: #000000; } .phpinfo .h { background-color: #9999cc; font-weight: bold; color: #000000; } .phpinfo .v { background-color: #cccccc; color: #000000; } .sideblock .content h3.eventskey { font-size:0.8em; } /***** standard/styles_fonts.css end *****/ /***** standard/styles_color.css start *****/ /******************************************************************* styles_color.css This CSS file contains all color definitions like background-color, font-color, border-color etc. Styles are organised into the following sections: core header footer admin blocks calendar course doc login message question tabs user various modules *******************************************************************/ /*** *** Core ***/ a:link, a:visited { color:#0000FF; } a.dimmed:link, a.dimmed:visited { color:#AAAAAA; } a:hover { color:#FF0000; } a.autolink:link, a.autolink:visited { color:#000000; background: #DDDDDD; } a.autolink.glossary:hover { cursor: help; } img.userpicture, img.grouppicture { border-color:#000 } .block_online_users .listentry img { border:#888 } body { background-color:#FAFAFA; color:#000; } th.header, td.header, div.header { border-color:#DDDDDD; } .navbar { border-color:#DDDDDD; } table.formtable tbody th { background-color: transparent; background-image: none; } .highlight { background-color:#AAFFAA; } .highlight2 { color:#AA0000; /* highlight missing terms in forum search */ } /* Alternate rows even */ .r0 { } /* Alternate rows odd */ .r1 { } /* notification messages (can be good or bad) */ .notifyproblem { color:#660000; } .notifysuccess { color:#006600; } .notifytiny { color:#000044; } #admin-auth_config .required { background-color:#DDDDDD; } .generalbox { border-color:#DDDDDD; } .informationbox { border-color:#DDDDDD; } .feedbackbox { border-color: #888888; } .feedbackby { background-color:#BBBBBB; } .noticebox { border-color:#DDDDDD; } .errorbox { color:#ffffff; border-color:#660000; background-color:#990000; } .errorboxcontent { background-color:#FFBBBB; } .tabledivider { border-color:#DDDDDD; } .sitetopic { } .sitetopiccontent { border-color:#DDDDDD; background-color:#FFFFFF; } .dimmed_text, .dimmed_text a { color:#AAAAAA; } .teacheronly { color:#990000; } .unread { background: #FFD991; } .censoredtext { color:#000000; background:#000000; } /* kept for backward compatibility with some non-standard modules which use these classes for various things */ .generaltab, .generaltabinactive { background-color:#BBBBBB; } .generaltabselected { background-color:#DDDDDD; } .generaltabinactive { color:#CCCCCC; } .generaltable .cell { background-color:#FFFFFF; border-color:#EEEEEE; } .generaltable { border-color:#EEEEEE; } /*** *** Header ***/ .breadcrumb .sep, #admin-report-unittest-index .sep { color:#aaa; } .navigation select { background-color:#FFFFFF; } .navigation optgroup { background-color:#EEEEEE; } .navigation optgroup option { background-color:#FFFFFF; } /*** *** Footer ***/ /*Accessibility: .debugwarn */ .debugwarn { text-align: center; background: #FDD; } .homelink a:link, .homelink a:visited, .homelink a:hover { color: #000; text-decoration: none; } .homelink a:link, .homelink a:visited { border-top: 1px solid #cecece; border-bottom: 2px solid #4a4a4a; border-left: 1px solid #cecece; border-right: 2px solid #4a4a4a; } .homelink a:hover { border-bottom: 1px solid #cecece; border-top: 2px solid #4a4a4a; border-right: 1px solid #cecece; border-left: 2px solid #4a4a4a; } /*** *** Admin ***/ .admin .generalboxcontent { background-color:#EEEEEE; } .admin .generalbox { border-color:#BBBBBB; background-color:#EEEEEE; } .admin .informationbox { border-color:#BBBBBB; background-color:#FFFFFF; } #admin-index .adminerror { background-color:#ff6666; } body#admin-index .c0 { background-color: #FAFAFA; } body#admin-blocks table#blocks .r0, body#admin-blocks table#incompatible .r0 { background-color: #f0f0f0; } body#admin-blocks table#blocks .r1, body#admin-blocks table#incompatible .r1 { background-color: #fafafa; } body#admin-blocks table#incompatible td.c0 { color: #ff0000; } table.flexible .r0 { background-color: #f0f0f0; } table.flexible .r1 { background-color: #fafafa; } #admin-report-unittest-index span.notice { color: teal; } #admin-report-unittest-index b.pass { color: green; } #admin-report-unittest-index b.fail, b.exception { color: red; } #admin-report-unittest-index .exception, .exception pre { background-color: #fdd; } #admin-report-unittest-index .unittestsummary { color: white; } #admin-report-unittest-index .unittestsummary.failed { background-color: red; } #admin-report-unittest-index .unittestsummary.passed { background-color: green; } #admin-report-security-index .statuswarning { background-color: #f0e000; } #admin-report-security-index .statusserious { background-color: #f07000; } #admin-report-security-index .statuscritical { background-color: #f00000; } .plugincompattable td.ok { color: #008000; } .plugincompattable td.warning { color: #DF7800; } .plugincompattable td.error { color: #DF0000; } /* Admin settings */ #adminsettings fieldset { background-color: #EEE; border-color: #BBB; color: #000; } #adminsettings fieldset.error { border: 1px solid red; } #adminsettings fieldset.error legend { color: red; } #adminsettings .form-shortname { color: #888; } #adminsettings .form-overridden { background-color: #ff6; } #adminsettings .form-warning { background-color: #f88; } #adminsettings .form-defaultinfo { color: #888; } #adminsettings .form-item .pathok { color: green; } #adminsettings .form-item .patherror { color: red; } .block_admin_tree.sideblock .link.current { background-color:#EEEEEE; } .block_admin_tree.sideblock .link.criticalnotification { background-color:#ff6666; } .block_admin_tree.sideblock .link.hidden { color:#999999; } #admin-lang .translator { border-color: #dddddd; } #admin-lang .translator tr.r0 { background-color: #f0f0f0; } #admin-lang .translator tr.r1 { background-color: #fafafa; } #admin-lang .translator .strkey { color: #666666; } #admin-lang .translator .bothmissing { background-color: #ef6868; } #admin-lang .translator .mastermissing { background-color: #feff7f; } #admin-lang .translator .localdifferent { background-color: #aaffaa; } .environmenttable .error { background-color : red; color : inherit; } .environmenttable .warn { background-color : yellow; } .environmenttable .ok { background-color : lime; } #admin-uploaduser .uuinfo { background-color: #8e8; } #admin-uploaduser .uuwarning { background-color: #ee8; } #admin-uploaduser .uuerror { background-color: #e99; } /*** *** Blocks ***/ .sideblock .header { border-color: #dddddd; } .sideblock .content { border-color: #dddddd; background-color:#FCFCFC; } .sideblock .content hr { border-top-color:#999999; } #left-column .hidden .header, #right-column .hidden .header { border-bottom-color: #dddddd; } /*** *** Blogs ***/ .blogpost.blogdraft .content { background-color:#EEEEEE; } .block_blog_tags .official { color: #0000cc; } .block_blog_tags .personal { color: #666699; } /*** *** Calendar ***/ #calendar .maincalendar, #calendar .sidecalendar { border-color: #DDDDDD; } #calendar .maincalendar table.calendarmonth th { border-color: #000000; } table.minicalendar { border-color: #DDDDDD; } #calendar .maincalendar .eventlist .event { border-color:#DDDDDD; } #calendar .maincalendar .eventlist .event .topic, #calendar .maincalendar .eventlist .event .picture, #calendar .maincalendar .eventlist .event .side { background-color:#EEEEEE; } #calendar .maincalendar table.calendarmonth ul.events-underway { color:#999999; } /*Accessibility: increase contrast, darker link/weekend colors, lighter = event backgrounds. */ .minicalendar a, .calendarmonth a { color:#000077; } #calendar .event_global, .minicalendar .event_global, .block_calendar_month .event_global { border-color:#D6F8CD !important; /* #C5E7BC */ background-color:#D6F8CD; } #calendar .event_course, .minicalendar .event_course, .block_calendar_month .event_course { border-color:#FFD3BD !important; /* #EEC2AC */ background-color:#FFD3BD; } #calendar .event_group, .minicalendar .event_group, .block_calendar_month .event_group { border-color:#FEE7AE !important; /* #EDD69D */ background-color:#FEE7AE; } #calendar .event_user, .minicalendar .event_user, .block_calendar_month .event_user { border-color:#DCE7EC !important; /* #CBD6DB */ background-color:#DCE7EC; } #calendar .duration_global, .minicalendar .duration_global { border-top-color:#66D14D !important; border-bottom-color:#66D14D !important; } #calendar .duration_course, .minicalendar .duration_course { border-top-color:#FF9966 !important; border-bottom-color:#FF9966 !important; } #calendar .duration_course0, .minicalendar .duration_course0 { border-top-color:#FF9966 !important; border-bottom-color:#FF9966 !important; } #calendar .duration_course1, .minicalendar .duration_course1 { border-top-color:#0099FF !important; border-bottom-color:#0099FF !important; } #calendar .duration_course2, .minicalendar .duration_course2 { border-top-color:#FFFF00 !important; border-bottom-color:#FFFF00 !important; } #calendar .duration_group, .minicalendar .duration_group { border-top-color:#FBBB23 !important; border-bottom-color:#FBBB23 !important; } #calendar .duration_user, .minicalendar .duration_user { border-top-color:#A1BECB !important; border-bottom-color:#A1BECB !important; } #calendar .weekend, .minicalendar .weekend { color:#990000; } #calendar .today, .minicalendar .today { border-color:#444444; } #calendar .nottoday, .minicalendar .nottoday { border-color:#eeeeee; } .cal_popup_fg { background-color:#FFFFFF; } .cal_popup_bg { border-color:#000000; background-color:#FFFFFF; } #calendar .maincalendar .filters table, #calendar .sidecalendar .filters table, .block_calendar_month .filters table { background-color: #EEEEEE; } #calendar td.sidecalendar .sideblock { border-color: #DDDDDD; } /*** *** Course ***/ /* course, entry-page, login */ .headingblock { border-color:#DDDDDD; } /* course */ .headingblock .outline { border-color:#DDDDDD; } #course-view .weekscss .section, #course-view .section td { border-color:#DDDDDD; } /* .content should match the body background, sides are white. */ #course-view .weekscss .content { background: #FAFAFA; } #course-view .weekscss .section, #course-view .section td.side { background: #FFFFFF; } #course-view .section .side { } #course-view .section .left { } #course-view .section .right { } #course-view .weekscss .current, #course-view .current td.side { background: #FFD991; } #course-view .weekscss .hidden, #course-view .hidden td.side { background: #DDDDDD; } #course-view .topics { } #course-view .weeks { } #course-view .section .spacer { } #course-view .section .weekdates { color: #777777; } #course-view .weekscss .weekdates { color: #333333; } .categoryboxcontent, .coursebox { border-color:#DDDDDD; } body#course-user .section { border-color:#AAAAAA; } #admin-report .plugin, #course-report .plugin, #course-import .plugin { margin-bottom: 20px; margin-left:10%; margin-right:10%; border-bottom: 1px solid #cecece; border-top: 1px solid #cecece; border-right: 1px solid #cecece; border-left: 1px solid #cecece; background-color: #fdfdfd; } /** * unread count background on * course/view.php = **/ #course-view .unread{ background: #9EBEFF; = } /*** *** Doc ***/ /*** *** Grades ***/ body#grade-index .grades { border-color:black; } body#grade-index .grades td { border-color:#e0e0e0; } body#grade-index .grades .r0 { background-color: #ffffff; } body#grade-index .grades .r1 { background-color: #f0f0f0; } td.grade div.overridden { background-color: #DDDDDD; } .grade-report-grader table#user-grades td.cell span.gradepass { background-color: #C2EBBD; = } .grade-report-grader table#user-grades td.cell span.gradefail { background-color: #EBC4BD; = } /* grade edit */ .grade-edit-tree .moving { background-color: #E8EEF7; } /*** *** Login ***/ .loginbox, .loginbox.twocolumns .loginpanel, .loginbox .subcontent { border-color:#DDDDDD; } /*** *** Message ***/ table.message_search_results td { border-color:#DDDDDD; } .message.other .author { color: #8888CC; } .message.me .author { color: #999999; } .message .time { color: #999999; } .message .content { } /*** *** Question ***/ .que { border-color: #DDD; } .que .r0 { background-color: #F5F5F5; } .que .r1 { background-color: #EEE; } .calculated .answer, .numerical .answer, .shortanswer .answer { background-color: #EEE; } .essay .answerreview { background-color: #EEE; } .que .feedback { border-color: #DDD; } .que .incorrect { background-color: #faa; } .que.multianswer .incorrect { background-color: #faa; } .que .partiallycorrect { background-color: #ff9; } .que .correct { background-color: #afa; } /*** *** Logs ***/ .logtable .r1 { background-color:#EEEEEE; } /*** *** Tabs ***/ /*** *** User ***/ .userpicture { } .userinfobox { border-color: #DDDDDD; } .groupinfobox { border-color: #DDDDDD; } /*** *** Modules: Chat ***/ #mod-chat-gui_basic .text, #mod-chat-gui_header_js-jsupdate .text { color:#000 } #mod-chat-gui_basic .event, #mod-chat-gui_basic .title, #mod-chat-gui_header_js-jsupdate .event, #mod-chat-gui_header_js-jsupdate .title { color:#888 } #mod-chat-gui_header_js-chatinput .wait { background: #dddddd; } #mod-chat-view #chatcurrentusers .idletime { color: #888888; } /*** *** Modules: Choice ***/ /*** *** Modules: Forum ***/ /** * Patch MDL-18971 version 3 puts the forum classes * in page sequence. Also added one course class (above) * for course/view.php = **/ /** The location of these classes is unknown * Commented out with patch MDL-18971 version 3 **/ /*.sideblock .post .head { color:#555555; = }*/ /** Unread Posts count background on * mod/forum/index.php **/ #mod-forum-index .unread { background: #9EBEFF; } /** wire frame around cells in = * mod/forum/view.php = **/ .forumheaderlist td { border-color: #FFFFFF; } /** Discussion column background in = * mod/forum/view.php = * The inner class is actually "topic starter" **/ .forumheaderlist .discussion .starter { background:#DDDDDD; } /** unread column background on * mod/forum/view.php = **/ #mod-forum-view .unread{ background: #9EBEFF; } /** border around posts in = * mod/forum/view.php (forumheaderlist) and = * mod/forum/discuss.php (forumpost) **/ .forumheaderlist, .forumpost { border-color:#DDDDDD; } /** post body color in = * mod/forum/discuss.php = **/ .forumpost .content { background: #FFFFFF; } /** left photo section of each post in = * mod/forum/discuss.php = **/ .forumpost .left { background:#EEEEEE; } /** line between header and post body in = * mod/forum/discuss.php = **/ .forumpost .topic { border-bottom-color: #EEEEEE; } /** header of the first post in = * mod/forum/discuss.php = **/ .forumpost .starter { background:#DDDDDD; } /** header of reply posts and * lower corners of all posts in = * mod/forum/discuss.php = **/ #mod-forum-discuss .forumpost { background: none; } /** inside border of unread posts in nested format in * mod/forum/discuss.php = **/ #mod-forum-discuss .forumpost.unread .content { border-width:2px; border-color: #0046C7; = } /** headers of unread posts in threaded format in * mod/forum/discuss.php = **/ #mod-forum-discuss .forumthread.unread { background: #9EBEFF; = } /*** *** Modules: Glossary ***/ .entryboxheader { border-color: #BBBBBB; } .entrybox { border-color: #BBBBBB; } .entry { } .glossarypost { border-color: #DDDDDD; } .glossarypost .entryheader, .glossarypost .entryapproval, .glossarypost .picture, .glossarypost .entryattachment, .glossarypost .left { background-color: #F0F0F0; } .glossarycomment { border-color: #DDDDDD; } .glossarycomment .entryheader, .glossarycomment .picture, .glossarycomment .left { background-color: #F0F0F0; } #mod-glossary-report .generalbox .teacher { background: #F0F0F0; } .glossarycategoryheader { background-color: #dddddd; } .glossaryformatheader { background-color: #dddddd; } /*** *** Modules: Journal ***/ #mod-journal-view .feedbackbox .left, #mod-journal-view .feedbackbox .entryheader { background-color: #dddddd; } /*** *** Modules: Label ***/ /*** *** Modules: Lesson ***/ /*** *** Modules: Quiz ***/ table.quizattemptsummary .bestrow td { background-color: #e8e8e8; } table.quizreviewsummary th.cell { background: #f0f0f0; } table.quizreviewsummary td.cell { background: #fafafa; } .mod-quiz .highlightgraded { background:yellow; } /*** *** Modules: Resource ***/ .ims-nav-dimmed { color: #AAAAAA; text-decoration: none; } .ims-nav-button a:link, .ims-nav-button a:visited, .ims-nav-button a:hover { color: #000; text-decoration: none; } .ims-nav-dimmed, .ims-nav-button a:link, .ims-nav-button a:visited { border-top: 1px solid #cecece; border-bottom: 2px solid #4a4a4a; border-left: 1px solid #cecece; border-right: 2px solid #4a4a4a; } .ims-nav-button a:hover { border-bottom: 1px solid #cecece; border-top: 2px solid #4a4a4a; border-right: 1px solid #cecece; border-left: 2px solid #4a4a4a; } #ims-contentframe, #ims-contentframe-no-nav { border-color: #cecece; } /*** *** Modules: Scorm ***/ /*** *** Modules: Survey ***/ #mod-survey-view .r0 { background-color: #EEEEEE; } #mod-survey-view .r1 { background-color: #DDDDDD; } /*** *** Modules: Wiki ***/ /*** *** Modules: Workshop ***/ .workshoppostpicture { background-color:#FEE6B9; } .workshopassessmentheading { background-color:#DDDDDD; } .error { color:#ff0000; } #admin-roles-override .capcurrent { background-color:#FFFFFF; border: 1px solid #cecece; } #admin-roles-manage .capdefault { background-color:#dddddd; border: 1px solid #cecece; } #admin-roles-manage .rolecap, #admin-roles-override .rolecap { border:none; border-bottom:1px solid; border-bottom-color: #cecece; } #admin-roles-manage .rolecap .cap-desc .cap-name, #admin-roles-override .rolecap .cap-desc .cap-name { color: #888; } form.mform .required label { color:#a00; } form.mform .fdescription.required { color:#a00; } form.mform .required .fgroup span label { color:#000; } /***** standard/styles_color.css end *****/ /***** /mod/assignment/styles.php start *****/ #mod-assignment-submissions .feedback .content, #mod-assignment-submissions .feedback .topic, #mod-assignment-submissions .feedback .picture { padding: 10px; border-width:1px; border-style:solid; border-color:#DDDDDD; } #mod-assignment-submissions form#options div { text-align:right; margin-left:auto; margin-right:20px; } .mod-assignment .feedback .files { float: right; background-color: #EFEFEF; padding:5px; } .mod-assignment .feedback .grade, .mod-assignment .feedback .outcome, .mod-assignment .feedback .finalgrade { float: right; } .mod-assignment .feedback .disabledfeedback { width: 500px; height: 250px; } .mod-assignment .feedback .from { float: left; } .mod-assignment .feedback .time { font-size: 0.8em; } .mod-assignment .late { color: red; } .mod-assignment .files img { margin-right: 4px; } .mod-assignment .files a { white-space:nowrap; } #mod-assignment-submissions .generaltable .r1 { background-color: #FFFFFF; } #mod-assignment-submissions .header .commands { display: inline; } #mod-assignment-submissions .s0 { background: #FFD991; } #mod-assignment-submissions table.submissions td, #mod-assignment-submissions table.submissions th { border-width: 1px; border-style: solid; border-color: #DDDDDD; vertical-align: middle; padding-left: 5px; padding-right: 5px; } #mod-assignment-submissions .submissions .grade { text-align: right; font-weight:bold; } #mod-assignment-submissions .picture { width: 35px; } #mod-assignment-submissions .fullname { text-align: left; } #mod-assignment-submissions .timemodified, #mod-assignment-submissions .timemarked { text-align: left; font-size: 0.9em; } #mod-assignment-submissions .status { text-align: center; } #mod-assignment-submissions .submissions .outcome, #mod-assignment-submissions .submissions .finalgrade { text-align: right; } #mod-assignment-view #online .singlebutton { text-align: center; } #mod-assignment-view #dates { font-size: 0.8em; margin-top: 30px; margin-bottom: 30px; } #mod-assignment-view #dates .c0{ text-align:right; font-weight:bold; } #mod-assignment-view .feedback { border-width:1px; border-style:solid; border-color:#DDDDDD; margin-top: 15px; width: 80%; margin-left: 10%; margin-right: 10%; } #mod-assignment-view .feedback .topic { padding: 4px; border-style:solid; border-width: 0px; border-bottom-width: 1px; border-color:#DDDDDD; } #mod-assignment-view .feedback .fullname { font-weight: bold; } #mod-assignment-view .feedback .date { font-size: 0.8em; } #mod-assignment-view .feedback .content { padding: 4px; } #mod-assignment-view .feedback .grade { text-align: right; font-weight:bold; } #mod-assignment-view .feedback .left { width: 35px; padding: 4px; text-align: center; vertical-align: top; } #mod-assignment-submissions .qgprefs #optiontable { text-align:right; margin-left:auto; } #mod-assignment-submissions .fgcontrols { margin-top: 1em; text-align:center; } #mod-assignment-submissions .fgcontrols .fastgbutton{ margin-top: 0.5em; } /***** /mod/assignment/styles.php end *****/ /***** /mod/choice/styles.php start *****/ .mod-choice .results { border-collapse: separate; } .mod-choice .results .data { border-width:1px; border-style:solid; border-color:#999; } /***** /mod/choice/styles.php end *****/ /***** /mod/data/styles.php start *****/ #mod-data-view #sortsearch .c0 { text-align: right; } #mod-data-view .approve img.icon { width:34px; height:34px; } #mod-data-preset .presetmapping { text-align: center; } #mod-data-preset .presetmapping table { text-align: left; margin-left: auto; margin-right: auto; } #mod-data-preset .overwritesettings { margin-bottom: 1em; } .mod-data-field .c0 { text-align: right; } .mod-data-field .fieldadd, .mod-data-field .sortdefault { margin-bottom: 1em; margin-top: 1em; } .mod-data-field .fieldadd select, .mod-data-field .sortdefault select { margin-left: 1em; } .mod-data-field .fieldname { width:300px; } .mod-data-field .fielddescription { width:300px; } .presetcontrols form { display: inline; } /***** /mod/data/styles.php end *****/ /***** /mod/lesson/styles.php start *****/ /*** *** General styles (scope: all of lesson) ***/ = .mod-lesson .contents { text-align: left; } .mod-lesson #layout-table { width: 100%; } .mod-lesson .edit_buttons form, .mod-lesson .edit_buttons input { display: inline; } .mod-lesson .clock .content { text-align: center; } .mod-lesson .addlinks { font-size: .8em; } .mod-lesson .userinfotable .cell, .mod-lesson .userinfotable .userpicture { vertical-align: middle; } .mod-lesson .invisiblefieldset.fieldsetfix { display: block; } .mod-lesson .invisiblefieldset.fieldsetfix tr { text-align: left; } /*** *** Style for view.php ***/ #mod-lesson-view .password-form { text-align: center; margin-top: 20px; } #mod-lesson-view .password-form .submitbutton { display: inline; } /*** *** Style for essay.php ***/ #mod-lesson-essay .graded { color:#DF041E; } #mod-lesson-essay .sent { color:#006600; } #mod-lesson-essay .ungraded { color:#999999; } #mod-lesson-essay .gradetable { margin-bottom: 20px; } #mod-lesson-essay .buttons { text-align: center; } /*** *** Style for responses ***/ /* .response style is applied for both .correct and .incorrect */ .mod-lesson .response { padding-top: 10px; } /* for correct responses (can override .response) */ .mod-lesson .correct { /*color: green;*/ } /* for incorrect responses (can override .response) */ .mod-lesson .incorrect { /*color: red;*/ } /* for highlighting matches in responses for short answer regular expres= sion (can override .incorrect) */ .mod-lesson .matches { /*color: red;*/ } /*** *** Slide show Style ***/ /* NOTE: background color, height and width are set in the lesson settin= gs */ .mod-lesson .slideshow { = overflow: auto; padding-right: 16px; /* for the benefit of macIE5 only */ = /* \ commented backslash hack - recover from macIE5 workarounds, it = will ignore the following rule */ padding-right: 0; padding: 15px; } /*** *** Left Menu Styles ***/ .mod-lesson .menu .content { padding: 0px; } .mod-lesson .menu .menuwrapper { max-height: 400px; overflow: auto; vertical-align: top; margin-bottom: 10px; } .mod-lesson .menu ul { list-style: none; padding: 5px 0px 0px 5px; margin: 0px; } .mod-lesson .menu li { padding-bottom: 5px; } .mod-lesson .leftmenu_selected_link { } .mod-lesson .leftmenu_not_selected_link { } .mod-lesson .skip { position: absolute; left: -1000em; width: 20em; } /*** *** Lesson Buttons ***/ .mod-lesson .lessonbutton a { padding-left:1em; padding-right:1em; } .mod-lesson .lessonbutton a:link, .mod-lesson .lessonbutton a:visited, = .mod-lesson .lessonbutton a:hover { color: #000; text-decoration: none; } .mod-lesson .lessonbutton a:link, .mod-lesson .lessonbutton a:visited { border-top: 1px solid #cecece; border-bottom: 2px solid #4a4a4a; border-left: 1px solid #cecece; border-right: 2px solid #4a4a4a; } .mod-lesson .lessonbutton a:hover { border-bottom: 1px solid #cecece; border-top: 2px solid #4a4a4a; border-right: 1px solid #cecece; border-left: 2px solid #4a4a4a; } /* Branch table buttons when displayed horizontally */ .mod-lesson .branchbuttoncontainer.horizontal div, .mod-lesson .branchbuttoncontainer.horizontal form { display: inline; } /* Branch table buttons when displayed vertically */ .mod-lesson .branchbuttoncontainer.vertical .lessonbutton { padding: 5px; } /*** *** Lesson Progress Bar *** Default styles for this are very basic right now. *** User is supposed to configure this to their liking (like using p= ictures) ***/ .mod-lesson .progress_bar { padding: 20px; } .mod-lesson .progress_bar_table { width: 80%; padding: 0px; margin: 0px; } .mod-lesson .progress_bar_completed { /* Example Use of Image background-image: url(http://prijimacky.osu.cz/mod/lesson/completed.= gif); background-position: center; background-repeat: repeat-x; */ background-color: green; padding: 0px; margin: 0px; = } .mod-lesson .progress_bar_todo { /* Example Use of Image background-image: url(http://prijimacky.osu.cz/mod/lesson/todo.gif);= background-repeat: repeat-x; background-position: center; */ background-color: red; text-align: left; padding: 0px; margin: 0px; } .mod-lesson .progress_bar_token { /* Example Use of Image background-image: url(http://prijimacky.osu.cz/mod/lesson/token.gif)= ; background-repeat: repeat-none; */ background-color: #000000; height: 20px; width: 5px; padding: 0px; margin: 0px; } /***** /mod/lesson/styles.php end *****/ /***** /mod/scorm/styles.php start *****/ .structlist { list-style-type: none; white-space: nowrap; font-size: small; } .orgtitle { font-weight: bold; font-size: small; } .mod-scorm .top { vertical-align: top; } .mod-scorm .scorm-left { text-align: left; } .mod-scorm .scorm-center { text-align: center; } .mod-scorm .scorm-right { text-align: right; } .mod-scorm .scoframe { position: relative; width: 100%; height: 100%; } #mod-scorm-player #scormpage { position: relative; width: 100%; } #mod-scorm-player #tochead { position: relative; text-align: center; top: 3px; height: 30px; = } #mod-scorm-player .toc { width: 80%; = margin-left: 20%; = } #mod-scorm-player .no-toc { width: 100%; } #mod-scorm-player #scormobject { height: 400px; = } #mod-scorm-player #scormtop { position: relative; width: 100%; height: 30px; } #mod-scorm-player #scormbrowse { position: absolute; left: 5px; top: 0px; } #mod-scorm-player #scormnav { position: absolute; right: 5px; top: 0px; text-align: center; top: 3px; width: 100%; } #mod-scorm-view .structurehead { text-align: center; } #mod-scorm-view .structurelist { list-style-type: none; white-space: nowrap; } #mod-scorm-player #scormbox { width: 74%; position: absolute; right: 0px; top: 0px; } #mod-scorm-player #tocbox { position: relative; left: 0px; width: 24%; font-size: 0.8em; } #mod-scorm-player #tochead { position: relative; text-align: center; top: 3px; height: 30px; = } #toctree { position:relative; width:100%; overflow-x: auto; overflow-y: auto; } .structurelist { list-style-type: none; } #mod-scorm-player .structurelist { position: relative; list-style-type: none; width: 96%; margin-left:0; = padding-left: 0; = margin-right:0; = padding-right: 0; = padding-top: 0; = padding-bottom: 0; = margin-top:0; = margin-bottom:0; = } #mod-scorm-player .structurelist ul{ padding-left: 0.5em; margin-left: 0.5em; } #mod-scorm-view .structurelist { list-style-type: none; white-space: nowrap; } a#mod-scorm-log-toggle { font-size: 0.7em; font-weight: bold; }/***** /mod/scorm/styles.php end *****/ /***** /mod/workshop/styles.php start *****/ .workshop_feedbackbox { margin-top: 5px; border-width: 1px; border-style: solid; border-color: #999999; } .workshop_feedbackbox .picture { vertical-align: top; } .workshop_feedbackbox .author { vertical-align: top; display: block; } .workshop_feedbackbox .time { vertical-align: top; display: block; } .workshop_feedbackbox .content { vertical-align: top; } .workshop_feedbackbox .comment { display: block; } .workshop_feedbackbox .teachercomment { display: block; font-weight: bold; } /***** /mod/workshop/styles.php end *****/ /***** /blocks/blog_tags/styles.php start *****/ .block_blog_tags .s20 { font-size: 1.5em; font-weight: bold; } .block_blog_tags .s19 { font-size: 1.5em; } .block_blog_tags .s18 { font-size: 1.4em; font-weight: bold; } .block_blog_tags .s17 { font-size: 1.4em; } .block_blog_tags .s16 { font-size: 1.3em; font-weight: bold; } .block_blog_tags .s15 { font-size: 1.3em; } .block_blog_tags .s14 { font-size: 1.2em; font-weight: bold; } .block_blog_tags .s13 { font-size: 1.2em; } .block_blog_tags .s12, .block_blog_tags .s11 { font-size: 1.1em; font-weight: bold; } .block_blog_tags .s10, .block_blog_tags .s9 { font-size: 1.1em; } .block_blog_tags .s8, .block_blog_tags .s7 { font-size: 1em; font-weight: bold; } .block_blog_tags .s6, .block_blog_tags .s5 { font-size: 1em; } .block_blog_tags .s4, .block_blog_tags .s3 { font-size: 0.9em; font-weight: bold; } .block_blog_tags .s2, .block_blog_tags .s1 { font-size: 0.9em; } /***** /blocks/blog_tags/styles.php end *****/ /***** /blocks/calendar_month/styles.php start *****/ .block_calendar_month .cal_popup_caption, .block_calendar_month .cal_popup_fg div { font-size: 0.85em !important; } .block_calendar_month .filters { font-size:0.75em; padding: 5px; } .block_calendar_month .filters table { border-collapse:separate; border-spacing: 2px; padding: 2px; } .block_calendar_month .event_global, .block_calendar_month .event_course, .block_calendar_month .event_group, .block_calendar_month .event_user { border-width: 2px; border-style: solid; } /***** /blocks/calendar_month/styles.php end *****/ /***** /blocks/calendar_upcoming/styles.php start *****/ .block_calendar_upcoming .event .date { text-align:right; } /***** /blocks/calendar_upcoming/styles.php end *****/ /***** /blocks/course_summary/styles.php start *****/ .block_course_summary .content { padding:10px; } .block_course_summary .editbutton { text-align:right; } /***** /blocks/course_summary/styles.php end *****/ /***** /blocks/login/styles.php start *****/ .block_login .logintable { text-align:center; } .block_login .loginform { display:inline; } .block_login .loginform .fld input { width:5em; } .block_login .loginform label { padding-right: 4px; } .block_login .loginform div { margin:0.3em 0.8em; text-align:right; display:block; } .block_login .loginform div.c1.btn { text-align:center; } /***** /blocks/login/styles.php end *****/ /***** /blocks/news_items/styles.php start *****/ .block_news_items .newlink { text-align: center; } /***** /blocks/news_items/styles.php end *****/ /***** /blocks/quiz_results/styles.php start *****/ .block_quiz_results { text-align: center; } .block_quiz_results table.grades .number, = .block_quiz_results table.grades .grade { text-align: right; width: 10%; } .block_quiz_results table.grades { text-align: left; width: 100%; } .block_quiz_results table.grades caption { margin: 1em 0px 0px 0px; border-bottom: 1px solid; font-weight: bold; } .block_quiz_results h1 { margin: 4px; font-weight: bold; font-size: 1.1em; } /***** /blocks/quiz_results/styles.php end *****/ /***** /blocks/rss_client/styles.php start *****/ .block_rss_client .link { border-top:1px solid; border-top-color:#DDDDDD; padding-bottom:5px; font-size:0.82em; } .block_rss_client .description { color:#555555; font-size:0.78em; padding-left:10px; padding-bottom:8px; } .block_rss_client .title { font-size:1.0em; } .block_rss_client .image { } .blockconfigtable #rssfeeds { margin-left: auto; margin-right: auto; background-color: blue; } .blockconfigtable #rssfeeds td.actions { text-align: center; vertical-align: middle; padding: 10px; } .blockconfigtable #rssfeeds td.feed { vertical-align: middle; padding: 5px; } .blockconfigtable #rssfeeds .title { font-weight: bold; margin-bottom: 2px; } .blockconfigtable #rssfeeds .url, .blockconfigtable #rssfeeds .descripti= on { font-size: 0.8em; } .blockconfigtable #rssfeeds tr.r0 { background-color: #ffffff; } .blockconfigtable #rssfeeds tr.r1 { background-color: #f0f0f0; } /***** /blocks/rss_client/styles.php end *****/ /***** /blocks/search_forums/styles.php start *****/ .block_search_forums .searchform { text-align: center; } .block_search_forums .searchform img { vertical-align: middle; } /***** /blocks/search_forums/styles.php end *****/ /***** /grade/report/grader/styles.php start *****/ .flexible th { white-space:normal; } .gradestable th.user img { width:20px; height:20px; } .grade-report-grader table#user-grades .catlevel2 { background-color:#f9f9f9; } .grade-report-grader table#user-grades td.overridden { background-color:#ddd; } .grade-report-grader table#user-grades tr.avg td.cell { background-color:#efefff; font-weight:700; color:#00008B; } .grade-report-grader table#user-grades tr.odd td.cell { background-color:#efefef; white-space:nowrap; } .grade-report-grader table#user-grades tr.even td.overridden { background-color:#F3E4C0; } .grade-report-grader table#user-grades tr.odd td.overridden { background-color:#EFD9A4; } .grade-report-grader table#user-grades tr.even td.excluded { background-color:#EABFFF; } .grade-report-grader table#user-grades tr.odd td.excluded { background-color:#E5AFFF; } .grade-report-grader table#user-grades tr.odd th.header { background-color:#efefef; background-image:none; } .grade-report-grader table#user-grades tr.groupavg td.cell { background-color:#efffef; font-weight:700; color:#006400; } .grade-report-grader table#user-grades td.cat,.grade-report-grader table= #user-grades td.course { font-weight:700; } .grade-report-grader table#user-grades { font-size:10px; width:auto; background-color:transparent; border-style:solid; border-width:1px; margin:20px 0 0; } .grade-report-grader #overDiv table { margin:0; } .grade-report-grader #overDiv table td.feedback { border:0; } .grade-report-grader #overDiv .feedback { font-size:70%; background-color:#ABF; color:#000; font-family:Verdana; font-weight:400; } .grade-report-grader #overDiv .caption { font-size:70%; background-color:#56C; color:#CCF; font-family:Arial; font-weight:700; } .grade-report-grader #overDiv .intersection { font-size:70%; background-color:#ABF; color:#000; font-family:Verdana; font-weight:400; } .grade-report-grader #overDiv .intersectioncaption { background-color:#56C; color:#CCF; font-family:Arial; font-weight:700; } .grade-report-grader div.submit { margin-top:20px; text-align:center; } .grade-report-grader table#user-grades td { text-align:right; border-style:solid; border-width:0 1px 1px 0; } .grade-report-grader table#user-grades th.category { vertical-align:top; border-style:solid; border-width:1px 1px 0; } .grade-report-grader table#user-grades th.user { text-align:left; border-style:solid; border-width:0 0 1px; } .grade-report-grader table#user-grades th.useridnumber { border-style:solid; border-width:0 0 1px 1px; } .grade-report-grader table#user-grades th.categoryitem,.grade-report-gra= der table#user-grades th.courseitem,.grade-report-grader table#user-grad= es td.topleft { vertical-align:top; border-style:solid; border-width:0 1px; } /* we don't want 25px height - at all * This causes the columns to fall out of line if Static Students Column= is enabled .grade-report-grader table#user-grades th.category, .grade-report-grader table#user-grades th.item, .grade-report-grader table#user-grades th.categoryitem, .grade-report-grader table#user-grades th.courseitem { height: 25px; } */ .grade-report-grader td,.grade-report-grader th { border-color:#CECECE; } .grade-report-grader table#participants th { vertical-align:top; width:auto; } .grade-report-grader table#user-grades td.fillerfirst { border-style:solid; border-width:0 0 0 1px; } .grade-report-grader table#user-grades td.fillerlast { border-style:solid; border-width:0 1px 0 0; } .grade-report-grader table#user-grades th.item , .grade-report-grader table#user-grades th.categoryitem , .grade-report-grader table#user-grades th.courseitem { border-bottom-color:#000; vertical-align:top; border-style:solid; border-width:1px; } .grade-report-grader div.gradertoggle { display:inline; margin-left:20px; } .grade-report-grader table#user-grades th.range { text-align:right; border-style:solid; border-width:1px; } .grade-report-grader table#user-grades .userpic { display:inline; margin-right:10px; } .grade-report-grader table#user-grades .quickfeedback { border:#000 1px dashed; } .grade-report-grader #siteconfiglink { text-align:right; } .grade-report-grader table#user-grades .hidden,.grade-report-grader tabl= e#user-grades .hidden a { color:#aaa; } .grade-report-grader table#user-grades .datesubmitted { font-size:.7em; } .grade-report-grader table#user-grades td.cell { padding-left:5px; padding-right:5px; vertical-align:middle; } .grade-report-grader table { border-collapse:collapse; background-color:#fff; font-size:10px; border-color:#cecece; } .grade-report-grader th { padding:2px 10px 0; } .grade-report-grader span.inclusion-links { margin:0 5px 0 10px; } .grade-report-grader table#user-grades .item { background-color:#e9e9e9; } .grade-report-grader table tr.odd th.header { background-color:#efefef; background-image:none; border-width:0 0 1px; } .grade-report-grader table tr.heading th.header { border-top:1px solid #cecece; } .grade-report-grader table#user-grades tr.heading th.categoryitem,.grade= -report-grader table#user-grades tr.heading th.courseitem { border-width:0 0 0 1px; } .grade-report-grader table#user-grades th.category.header.catlevel1 { vertical-align:top; border-style:solid; border-width:1px 1px 0 0; } .grade-report-grader div.left_scroller th.user a { vertical-align:middle; margin:0; padding:0; } .grade-report-grader table#user-grades th.categoryitem,.grade-report-gra= der table#user-grades th.courseitem,.grade-report-grader table td.toplef= t { vertical-align:top; border-color:#cecece #cecece #000; border-style:solid; border-width:0 1px 1px; } .grade-report-grader table td.topleft { border-bottom:none; } .grade-report-grader table#user-grades td.topleft { background-color:#fff; } .grade-report-grader div.userpic { margin-right:10px; float:left; } .grade-report-grader div.userpic img { border:3px double #cecece; vertical-align:middle; width:2.7em; height:2.7em; } .grade-report-grader a.quickedit { line-height:1em; display:block; float:right; clear:none; font-size:9px; background-color:transparent; margin:.1em 0 0; } .grade-report-grader a.quickedit2 { display:block; float:right; clear:none; background-color:transparent; margin:1.3em 0 0; } .grade-report-grader table#quick_edit { border:1px solid #cecece; margin:0 auto; } .grade-report-grader table#quick_edit td { vertical-align:middle; border:1px solid #cecece; text-align:left; margin:0; padding:5px; } .grade-report-grader table#quick_edit td img { border:3px double #cecece; vertical-align:middle; padding:0; } .grade-report-grader td input { border:1px solid #666; margin-left:10px; margin-right:10px; } .grade-report-grader table#quick_edit td.fullname { border-left:none; padding-left:5px; } .grade-report-grader table#quick_edit td.picture { border-right:none; } .grade-report-grader table#quick_edit td.finalgrade input { width:5em; } .grade-report-grader h1 { text-align:center; clear:both; } .grade-report-grader form { text-align:center; } .grade-report-grader input.center { margin:10px auto 0; } .grade-report-grader .lefttbody { width:auto; vertical-align:middle; } .grade-report-grader table#user-grades th.fixedcolumn { border:1px solid #cecece; vertical-align:middle; } .grade-report-grader table#fixed_column th { border:1px solid #cecece; vertical-align:middle; border-right-color:#000; } .grade-report-grader table#fixed_column th.user{ border-right-color:#cecece; } .grade-report-grader table#fixed_column { padding-top:20px; border-top:1px solid #cecece; background-color:#fff; } .grade-report-grader .left_scroller { float:left; clear:none; padding-top:20px; } .grade-report-grader .right_scroller { width:auto; clear:none; /*force horizontal scrollbar to appear or IE adds one over the bottom ro= w of the table MDL-21088*/ overflow-x:scroll; overflow-y:hidden; } .grade-report-grader table tr.avg,.grade-report-grader table tr.groupavg= td,.grade-report-grader table tr.avg td,.grade-report-grader table tr.g= roupavg th,.grade-report-grader table tr.avg th,.grade-report-grader tab= le tr.controls_row,.grade-report-grader table tr.controls_row th,.grade-= report-grader table tr.range_row,.grade-report-grader table tr.range_row= th,div.right_scroller tr { height:2em; } .grade-report-grader table#user-grades tr.groupavg td.cell,.grade-report= -grader tr.groupavg th.header { background-color:#efffef; } .grade-report-grader form td.excluded { color:red; } .grade-report-grader .excludedfloater { font-weight:700; color:red; font-size:9px; float:left; } .grade-report-grader span.gradepass { color:#298721; } .grade-report-grader span.gradefail { color:#890d0d; } .gradeweight { color:#461d7c; font-weight:700; } .grade-report-grader td select { font-size:100%; padding:0; } .grade-report-grader .righttest td select { font-size:86%; padding:0; } .grade-report-grader tr.avg,tr.controls,td.controls,th.controls,.grade-r= eport-grader tr.groupavg,tr.range,th.range,td.range,tr.heading th.range = { height:2.8em!important; white-space:nowrap; } .heading_name_row th { white-space:nowrap; width:2000px; } /*MDL-21088 - IE 7 ignores nowraps on tds or ths so we put a span within= it with a nowrap on it*/ .heading_name_row th span { white-space:nowrap; } .grade_icons img.ajax { float:right; } .gradestable th.user,.gradestable th.range,.grade-report-grader .flexibl= e th,.grade-report-grader .flexible td,.grade-report-grader .flexible th= a,.grade-report-grader .flexible td a,.grade-report-grader .gradestable= th.range,.grade-report-grader td { white-space:nowrap; } .grade-report-grader table#user-grades .catlevel1,.grade-report-grader .= r1,.grade-report-grader table tr.even td.cell,.grade-report-grader table= tr.even th { background-color:#fff; } .grade-report-grader table#user-grades .catlevel3,.grade-report-grader t= able tr.odd td.cell { background-color:#efefef; } .grade-report-grader table#fixed_column tr.odd th , .grade-report-grader table#user-grades tr.odd th { background-color:#efefef; } .grade-report-grader table#user-grades td.vmarked,.grade-report-grader t= able#user-grades tr.odd td.vmarked,.grade-report-grader table#user-grade= s td.vmarked,.grade-report-grader table#user-grades tr.odd td.vmarked,.g= rade-report-grader table#user-grades tr.even td.vmarked { background-color:#fc3; } .grade-report-grader table#user-grades td.hmarked,.grade-report-grader t= able#user-grades tr.odd td.hmarked,.grade-report-grader table#user-grade= s td.hmarked,.grade-report-grader table#user-grades tr.odd td.hmarked,.g= rade-report-grader table#user-grades tr.even td.hmarked { background-color:#ff9; } .grade-report-grader table#user-grades td.hmarked.vmarked,.grade-report-= grader table#user-grades tr.odd td.hmarked.vmarked,.grade-report-grader = table#user-grades td.hmarked.vmarked,.grade-report-grader table#user-gra= des tr.even td.hmarked.vmarked,.grade-report-grader table#user-grades tr= .odd td.hmarked.vmarked { background-color:#fc9; } .grade-report-grader table#user-grades tr.heading,.grade-report-grader t= able#user-grades .heading td { border-style:solid; border-width:0; } .grade-report-grader table#user-grades td.useridnumber,.grade-report-gra= der table#user-grades th,.grade-report-grader div.gradeparent,.grade-rep= ort-grader table#user-grades td.ajax { text-align:left; } .grade-report-grader table tr.avg td.cell,.grade-report-grader table#use= r-grades td.controls,.grade-report-grader table tr.avg,.grade-report-gra= der table tr.avg td,.grade-report-grader table tr.avg th { background-color:#f3ead8; } .grade-report-grader div.left_scroller tr,.grade-report-grader div.right= _scroller tr,.grade-report-grader div.left_scroller td,.grade-report-gra= der div.right_scroller td,.grade-report-grader div.left_scroller th,.gra= de-report-grader div.right_scroller th { height:4.4em; font-size:10px; } .grade-report-grader table th.user,.grade-report-grader table td.useridn= umber { text-align:left; vertical-align:middle; } /* .grade-report-grader .yui-overlay { background-color: #FFEE69; border-color: #D4C237 #A6982B #A6982B; border-style: solid; border-width: 1px; left: 0; padding: 2px 5px; font-size: 0.7em; } */ .grade-report-grader .yui-overlay .fullname { color: #5F3E00; font-weight: bold; } .grade-report-grader .yui-overlay .itemname { color: #194F3E; font-weight: bold; } .grade-report-grader .yui-overlay .feedback { color: #5F595E; } /* .grade-report-grader table#user-grades td */ /* .grader-report-grader table#user-grades td .yui-panel div.hd { */ #tooltipPanel { text-align: left; } /* Copyright (c) 2008, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.6.0 */ .yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-= index:2;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:non= e;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbar= s{overflow:auto;}.masked select,.drag select,.hide-select select{_visibi= lity:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scro= llbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{displ= ay:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrol= lbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.sho= w-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:a= uto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bott= om:1px;}.yui-effect-fade .underlay{display:none;}.yui-tt-shadow{position= :absolute;}.yui-override-padding{padding:0 !important;}.yui-panel-contai= ner .container-close{overflow:hidden;text-indent:-10000em;text-decoratio= n:none;}.yui-skin-sam .mask{background-color:#000;opacity:.25;*filter:al= pha(opacity=3D25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*pad= ding:2px;}.yui-skin-sam .yui-panel{position:relative;left:0;top:0;border= -style:solid;border-width:1px 0;border-color:#808080;z-index:1;*border-w= idth:1px;*zoom:1;_zoom:normal;}.yui-skin-sam .yui-panel .hd,.yui-skin-sa= m .yui-panel .bd,.yui-skin-sam .yui-panel .ft{border-style:solid;border-= width:0 1px;border-color:#808080;margin:0 -1px;*margin:0;*border:0;}.yui= -skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yu= i-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-= skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line= -height:1.9;font-weight:bold;color:#000;background:url(../../../../asset= s/skins/sam/sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{= padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;= padding:5px 10px;font-size:77%;}.yui-skin-sam .yui-panel-container.focus= ed .yui-panel .hd{}.yui-skin-sam .container-close{position:absolute;top:= 5px;right:6px;width:25px;height:15px;background:url(../../../../assets/s= kins/sam/sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-skin-sam .y= ui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-pa= nel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sa= m .yui-panel-container.shadow{_padding:2px 4px 0 2px;}.yui-skin-sam .yui= -panel-container.shadow .underlay{position:absolute;top:2px;left:-3px;ri= ght:-3px;bottom:-3px;*top:4px;*left:-1px;*right:-1px;*bottom:-1px;_top:0= ;_left:0;_right:0;_bottom:0;_margin-top:3px;_margin-left:-1px;background= -color:#000;opacity:.12;*filter:alpha(opacity=3D12);}.yui-skin-sam .yui-= dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui= -skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}= .yui-skin-sam .yui-dialog .ft button.default{font-weight:bold;}.yui-skin= -sam .yui-dialog .ft span.default{border-color:#304369;background-positi= on:0 -1400px;}.yui-skin-sam .yui-dialog .ft span.default .first-child{bo= rder-color:#304369;}.yui-skin-sam .yui-dialog .ft span.default button{co= lor:#fff;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled{backgro= und-position:0pt -1500px;border-color:#ccc;}.yui-skin-sam .yui-dialog .f= t span.yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam= .yui-dialog .ft span.yui-button-disabled button{color:#a6a6a6;}.yui-ski= n-sam .yui-simple-dialog .bd .yui-icon{background:url(../../../../assets= /skins/sam/sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right= :10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{bac= kground-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.al= rticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .= bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple= -dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .= yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-= skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250= px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;c= olor:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;b= order-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-s= am .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shad= ow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-= skin-sam .yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=3D12);= } .yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;= *line-height:1.9;font-weight:bold;color:#000;background:url(http://priji= macky.osu.cz/lib/yui/assets/skins/sam/sprite.png) repeat-x 0 -200px;} .yui-skin-sam .container-close{border-color: #45c;position:absolute;top:= 5px;right:6px;width:25px;height:15px;background:url(http://prijimacky.os= u.cz/lib/yui/assets/skins/sam/sprite.png) no-repeat 0 -300px;cursor:poin= ter;} .yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(http://pri= jimacky.osu.cz/lib/yui/assets/skins/sam/sprite.png) no-repeat 0 0;width:= 16px;height:16px;margin-right:10px;float:left;} .grade-report-grader .yui-overlay a.container-close { margin-top: -3px; } #hiddentooltiproot, .tooltipDiv { display: none; } /***** /grade/report/grader/styles.php end *****/ /***** /grade/report/user/styles.php start *****/ .grade-report-user table.user-grade .datesubmitted { font-size: 0.7em; } .grade-report-user table.user-grade .courseitem, .grade-report-user table.user-grade .categoryitem { font-weight: bold; } .grade-report-user table.user-grade td.cell { padding-left: 5px; padding-right: 5px; } #graded_users_selector { float: right; text-align: right; } /* this must be last if we want to override other category and course it= em colors */ .grade-report-user table.user-grade .hidden, .grade-report-user table.user-grade .hidden a { color:#aaaaaa; } table.user-grade { border: 1px solid black; margin: auto; padding: 0.25em; font-size: 0.8em; } table.user-grade td { margin: 1px; padding: 0.25em; } table.user-grade thead { border-bottom: 3px double black; } table.user-grade thead th { padding: 0.25em 0.75em 0.25em 0.75em; } table.user-grade td.oddd1 { background-color: #f3dfd0; } table.user-grade td.oddd2 { background-color: #d0dbf3; } table.user-grade td.oddd3 { background-color: #d0f3d6; } table.user-grade td.oddd4 { background-color: #f0f0aa; } table.user-grade td.evend2 { background-color: #b0bbd3; } table.user-grade td.evend3 { background-color: #b0dfb6; } table.user-grade td.evend4 { background-color: #cac8be; } table.user-grade td.b1t { border-top: 1px solid black; } table.user-grade td.b1r { border-right: 1px solid black; } table.user-grade td.b1b { border-bottom: 1px solid black; } table.user-grade td.b1l { border-left: 1px solid black; } table.user-grade td.b2t { border-top: 2px solid black; } table.user-grade td.b2r { border-right: 2px solid black; } table.user-grade td.b2b { border-bottom: 2px solid black; } table.user-grade td.b2l { border-left: 2px solid black; } table.user-grade td.baggt, table.user-grade td.baggb { font-style: italic; font-weight: bold; } table.user-grade td.baggt { border-top: 3px double black; } table.user-grade td.baggb { border-bottom: 3px double black; } table.user-grade td.item { border-left: 1px solid gray; border-right: 1px solid gray; } table.user-grade td.excluded { /*text-decoration: line-through;*/ background-color: #666; } table.user-grade td.hidden { color: #aaa; } table.user-grade td { min-width: 0.5em; vertical-align: top; } /***** /grade/report/user/styles.php end *****/ ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://prijimacky.osu.cz/theme/Universita/images/hdbg.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEAYABgAAD/7QjyUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAA AAccAgAAAgACADhCSU0EJQAAAAAAEEYM8okmuFbasJwBobCnkHc4QklNA+0AAAAA ABAASAAAAAEAAQBIAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklN BA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAA AQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAA AEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAA AAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////// //////////////////8D6AAAAAD/////////////////////////////A+gAAAAA /////////////////////////////wPoAAAAAP////////////////////////// //8D6AAAOEJJTQQAAAAAAAACAAE4QklNBAIAAAAAAAQAAAAAOEJJTQQIAAAAAAAQ AAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAG AAAAAAAAAAAAAABwAAAAKQAAAAgAaABlAGEAZABlAHIAYgBnAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAABAAAAAAAAAAAAAAApAAAAcAAAAAAAAAAAAAAAAAAAAAABAAAA AAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2Jq YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcA AAAAAAAAAEJ0b21sb25nAAAAcAAAAABSZ2h0bG9uZwAAACkAAAAGc2xpY2VzVmxM cwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAA AAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2lu AAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJ bWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcA AAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAHAAAAAAUmdodGxvbmcA AAApAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRF WFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJv b2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VT bGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNs aWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVT bGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAK bGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3Jp Z2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQU AAAAAAAEAAAABDhCSU0EDAAAAAADDgAAAAEAAAApAAAAcAAAAHwAADZAAAAC8gAY AAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQR DAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgA cAApAwEiAAIRAQMRAf/dAAQAA//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1 FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaG lqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdk RVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH l6e3x//aAAwDAQACEQMRAD8AvpJJLQaCkkkklKSSSSU//9C+kkktBoKSSSSUpJJJ JT//0b6SSS0GgpJJJJSkkkklP//SvpJJLQaCkkkklKSSSSU//9O+kkktBoKSSSSU pJJJJT//1L6SSS0GgpJJJJSkkkklP//VvpJf8zOof9z7v893/kkv+ZnUP+593+e7 /wAkrfvf1S1fa/rBSSX/ADM6h/3Pu/z3f+SS/wCZnUP+593+e7/ySXvf1Sr2v6wU kl/zM6h/3Pu/z3f+SS/5mdQ/7n3f57v/ACSXvf1Sr2v6wf/ZOEJJTQQhAAAAAABT AAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAEgBBAGQA bwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwAAAAEAOEJJTQQGAAAAAAAH AAgBAQABAQD/4QQkRXhpZgAASUkqAAgAAAAHABIBAwABAAAAAQAAABoBBQABAAAA YgAAABsBBQABAAAAagAAACgBAwABAAAAAgAIADEBAgAbAAAAcgAAADIBAgAUAAAA jgAAAGmHBAABAAAAogAAAMwAAABIAAAAAQAAAEgAAAABAAAAQWRvYmUgUGhvdG9z aG9wIENTIFdpbmRvd3MAADIwMDU6MDQ6MjQgMTE6Mjg6MjgAAwABoAMAAQAAAAEA //8CoAQAAQAAACkAAAADoAQAAQAAAHAAAAAAAAAABgADAQMAAQAAAAYAAAAaAQUA AQAAABoBAAAbAQUAAQAAACIBAAAoAQMAAQAAAAIAAAABAgQAAQAAACoBAAACAgQA AQAAAPICAAAAAAAASAAAAAEAAABIAAAAAQAAAP/Y/+AAEEpGSUYAAQIBAEgASAAA /+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsK CxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABwACkDASIAAhEBAxEB/90ABAAD/8QB PwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAAB AAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOE w9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFy gpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU 5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwC+kkkt BoKSSSSUpJJJJT//0L6SSS0GgpJJJJSkkkklP//RvpJJLQaCkkkklKSSSSU//9K+ kkktBoKSSSSUpJJJJT//076SSS0GgpJJJJSkkkklP//UvpJJLQaCkkkklKSSSSU/ /9W+kl/zM6h/3Pu/z3f+SS/5mdQ/7n3f57v/ACSt+9/VLV9r+sFJJf8AMzqH/c+7 /Pd/5JL/AJmdQ/7n3f57v/JJe9/VKva/rBSSX/MzqH/c+7/Pd/5JL/mZ1D/ufd/n u/8AJJe9/VKva/rB/9n/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRy UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAA AAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0 AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFla AAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3 AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD AAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdo dCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAAS c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA WFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA AABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+E AAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAA FklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5 NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA AAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5n IENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAA AEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAAC c2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3 ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCu ALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEy ATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHh AekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPT A+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAad Bq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRgha CG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJ EegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgb GEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2Mbihuy G9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+U H78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPC I/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/ KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0M LUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIq MmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9 Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnw SjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7 UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19h X7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9 Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94 b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gR eG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk isqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQg lIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5A nq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjE qTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/ v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3 yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY 11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY 8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26 /kv+3P9t////2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjL/wAARCABwACkDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY GRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlaKKK9g8YKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAorrv+FMWvrD/37FH/AApi19Yf+/Yrl+sP+U6vq6/mORor rv8AhTFr6w/9+xR/wpi19Yf+/Yo+sP8AlD6uv5jkaK67/hTFr6w/9+xR/wAKYtfW H/v2KPrD/lD6uv5j/9k= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://prijimacky.osu.cz/theme/Universita/images/hdbgend.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEAYABgAAD/7QjyUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAA AAccAgAAAgACADhCSU0EJQAAAAAAEEYM8okmuFbasJwBobCnkHc4QklNA+0AAAAA ABAASAAAAAEAAQBIAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklN BA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAA AQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAA AEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAA AAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////// //////////////////8D6AAAAAD/////////////////////////////A+gAAAAA /////////////////////////////wPoAAAAAP////////////////////////// //8D6AAAOEJJTQQAAAAAAAACAAE4QklNBAIAAAAAAAQAAAAAOEJJTQQIAAAAAAAQ AAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAG AAAAAAAAAAAAAABwAAAAKQAAAAgAaABlAGEAZABlAHIAYgBnAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAABAAAAAAAAAAAAAAApAAAAcAAAAAAAAAAAAAAAAAAAAAABAAAA AAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2Jq YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcA AAAAAAAAAEJ0b21sb25nAAAAcAAAAABSZ2h0bG9uZwAAACkAAAAGc2xpY2VzVmxM cwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAA AAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2lu AAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJ bWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcA AAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAHAAAAAAUmdodGxvbmcA AAApAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRF WFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJv b2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VT bGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNs aWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVT bGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAK bGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3Jp Z2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQU AAAAAAAEAAAABDhCSU0EDAAAAAADDgAAAAEAAAApAAAAcAAAAHwAADZAAAAC8gAY AAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQR DAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgA cAApAwEiAAIRAQMRAf/dAAQAA//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1 FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaG lqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdk RVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH l6e3x//aAAwDAQACEQMRAD8AvpJJLQaCkkkklKSSSSU//9C+kkktBoKSSSSUpJJJ JT//0b6SSS0GgpJJJJSkkkklP//SvpJJLQaCkkkklKSSSSU//9O+kkktBoKSSSSU pJJJJT//1L6SSS0GgpJJJJSkkkklP//VvpJf8zOof9z7v893/kkv+ZnUP+593+e7 /wAkrfvf1S1fa/rBSSX/ADM6h/3Pu/z3f+SS/wCZnUP+593+e7/ySXvf1Sr2v6wU kl/zM6h/3Pu/z3f+SS/5mdQ/7n3f57v/ACSXvf1Sr2v6wf/ZOEJJTQQhAAAAAABT AAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAEgBBAGQA bwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwAAAAEAOEJJTQQGAAAAAAAH AAgBAQABAQD/4QQkRXhpZgAASUkqAAgAAAAHABIBAwABAAAAAQAAABoBBQABAAAA YgAAABsBBQABAAAAagAAACgBAwABAAAAAgAIADEBAgAbAAAAcgAAADIBAgAUAAAA jgAAAGmHBAABAAAAogAAAMwAAABIAAAAAQAAAEgAAAABAAAAQWRvYmUgUGhvdG9z aG9wIENTIFdpbmRvd3MAADIwMDU6MDQ6MjQgMTE6Mjg6MjgAAwABoAMAAQAAAAEA //8CoAQAAQAAACkAAAADoAQAAQAAAHAAAAAAAAAABgADAQMAAQAAAAYAAAAaAQUA AQAAABoBAAAbAQUAAQAAACIBAAAoAQMAAQAAAAIAAAABAgQAAQAAACoBAAACAgQA AQAAAPICAAAAAAAASAAAAAEAAABIAAAAAQAAAP/Y/+AAEEpGSUYAAQIBAEgASAAA /+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsK CxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABwACkDASIAAhEBAxEB/90ABAAD/8QB PwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAAB AAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOE w9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFy gpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU 5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwC+kkkt BoKSSSSUpJJJJT//0L6SSS0GgpJJJJSkkkklP//RvpJJLQaCkkkklKSSSSU//9K+ kkktBoKSSSSUpJJJJT//076SSS0GgpJJJJSkkkklP//UvpJJLQaCkkkklKSSSSU/ /9W+kl/zM6h/3Pu/z3f+SS/5mdQ/7n3f57v/ACSt+9/VLV9r+sFJJf8AMzqH/c+7 /Pd/5JL/AJmdQ/7n3f57v/JJe9/VKva/rBSSX/MzqH/c+7/Pd/5JL/mZ1D/ufd/n u/8AJJe9/VKva/rB/9n/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRy UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAA AAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0 AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFla AAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3 AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD AAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdo dCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAAS c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA WFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA AABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+E AAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAA FklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5 NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA AAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5n IENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAA AEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAAC c2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3 ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCu ALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEy ATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHh AekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPT A+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAad Bq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRgha CG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJ EegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgb GEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2Mbihuy G9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+U H78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPC I/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/ KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0M LUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIq MmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9 Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnw SjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7 UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19h X7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9 Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94 b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gR eG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk isqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQg lIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5A nq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjE qTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/ v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3 yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY 11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY 8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26 /kv+3P9t////2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjL/wAARCABwACkDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY GRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlaKKK9g8YKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAorrv+FMWvrD/37FH/AApi19Yf+/Yrl+sP+U6vq6/mORor rv8AhTFr6w/9+xR/wpi19Yf+/Yo+sP8AlD6uv5jkaK67/hTFr6w/9+xR/wAKYtfW H/v2KPrD/lD6uv5j/9k= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=styles.css Content-Type: text/css; charset=UTF-8; name=styles.css Content-Location: http://prijimacky.osu.cz/theme/Universita/styles.php Content-Transfer-Encoding: 8bit /************************************** * THEME NAME: Universita * * Files included in this sheet: * * Universita/cornflower.css **************************************/ /***** Universita/cornflower.css start *****/ /******************************************************************* Cornflower CSS This CSS file contains all color and layout definitions for the Cornflower theme. This theme requires the Standard theme to be present. *******************************************************************/ /*** *** Core ***/ a:link, a:visited { color:#000040; /* barva pisma v blocich */ } a:hover { color:#000040; /* barva v celem Moodle odkazu, ukazu-li na neco ..... */ text-decoration:underline; } body { background-color:#2E6086; /* barva pozadi */ border-color:#F7F7F7; } th.header, td.header, div.header { background-color: #739FC4; /* barva pisma zahlavi u pridat noveho uzivatele */ } .navbar { background-color:#FFE5C0; /* barva zahlavi E-learning - kategorie kurzu... */ border-color:#FFE5C0; /* barva oramovani viz vyse */ } .generalbox { border-color:#F2F2F2; /* barva pozadi Dulezitych informaci */ border-color:#6186A3; /* barva ramecku kolem Dulezitych informaci */ } .informationbox { border-color:#739FC4; } .feedbackbox { border-color: #739FC4; } .noticebox { border-color:#739FC4; } .errorbox { color:#ffffff; border-color:#660000; /* barva pisma u chybovych hlasek */ background-color:#990000; } .tabledivider { border-color:#739FC4; /* barva primo v kurzu, cary mezi studijnimi materialy */ } .sitetopic { } .sitetopiccontent { border-color:#739FC4; background-color:#FFFFFF; } .unread { background: #78A2CD; } /*** *** Header ***/ #header-home, #header { background: #ececec url(images/hdbg.jpg) 1px 0 repeat-x; /* barva pozadi v zahlavi kombinovana s obrazkem */ height:112px; } .headermain { background: transparent url(images/hdbgend.jpg) 100% 0 no-repeat; /* souvisi s viz vyse */ float: none; } /*** *** Admin ***/ .admin .generalboxcontent { background-color:#EEEEEE; } .admin .generalbox { border-color:#739FC4; /* barva oramovani na strance Informace */ } .admin .informationbox { border-color:#739FC4; background-color:#FFFFFF; } /*** *** Blocks ***/ .sideblock { border-top: 1px solid #6186A3; /* barva horni linky u bloku */ border-right: 1px solid #6186A3; border-bottom: 2px groove #6186A3; border-left: 1px solid #6186A3; } .sideblock .header { text-align: left; padding:4px; background-color: #527B9A; /* barva u bloku - zahlavi */ border-bottom: 2px groove #739FC4; /* barva linky v bloku pod nazvem bloku */ } .sideblock .content { background-color:#F2F2F2; /* barva vyplne bloku */ } /*** *** Calendar ***/ #calendar .maincalendar, #calendar .sidecalendar { border-color: #739FC4; } #calendar .maincalendar table.calendarmonth th { border-color: #000000; } table.minicalendar { border-color:#527B9A; /* barva ramecku kolem kalendare */ } #calendar .maincalendar .eventlist .event { border-color:#739FC4; } #calendar .maincalendar .eventlist .event .topic, #calendar .maincalendar .eventlist .event .picture, #calendar .maincalendar .eventlist .event .side { background-color:#FFFFFF; } #calendar .maincalendar table.calendarmonth ul.events-underway { color:#739FC4; } #calendar .event_global, .minicalendar .event_global, .block_calendar_month .event_global { border-color:#00FF00 !important; background-color:#0FFF00; } #calendar .event_course, .minicalendar .event_course, .block_calendar_month .event_course { border-color:#FF80FF !important; background-color:#FF80FF; } #calendar .event_group, .minicalendar .event_group, .block_calendar_month .event_group { border-color:#FFFF00 !important; background-color:#FFFF00; } #calendar .event_user, .minicalendar .event_user, .block_calendar_month .event_user { border-color:#306186 !important; background-color:#306186; } #calendar .duration_global, .minicalendar .duration_global { border-top-color:#00FF00 !important; border-bottom-color:#00FF00 !important; } #calendar .duration_course, .minicalendar .duration_course { border-top-color:#FF80FF !important; border-bottom-color:#FF80FF !important; } #calendar .duration_group, .minicalendar .duration_group { border-top-color:#FF0000 !important; border-bottom-color:#FF0000 !important; } #calendar .duration_user, .minicalendar .duration_user { border-top-color:#306186 !important; border-bottom-color:#306186 !important; } #calendar .weekend, .minicalendar .weekend { color:#FF0000; } #calendar .today, .minicalendar .today { border-color:#000000 !important; } .cal_popup_fg { background-color:#FFFFFF; } .cal_popup_bg { border-color:#000000; background-color:#FFFFFF; } #calendar .maincalendar .filters table, #calendar .sidecalendar .filters table, .block_calendar_month .filters table { background-color: #F2F2F2; /* barva v kalendari kolem typu udalosti */ } /*** *** Course ***/ /* course, entry-page, login */ .headingblock { background-color: #527B9A; /* barva Novinek stranek */ border-top: 1px solid #739FC4; /* barva horni linky u Novinek stranek */ border-right: 1px solid #4A677F; border-bottom: 2px groove #4A677F; border-left: 1px solid #4A677F; } /* course */ .headingblock .outline { border-color:#739FC4; } #course-view .weekscss .section, #course-view .section td { border-color:#527B9A; /* barva oramovani tydnu a temat v kurzu */ } /* .content should match the body background, sides are white. */ #course-view .content { background: #FFFFFF; } #course-view .weekscss .section, #course-view .section td.side { background: #527B9A; /* barva vyplne tydnu a temat v kurzu */ } #course-view .section .side { } #course-view .section .left { } #course-view .section .right { } #course-view .weekscss .current, #course-view .current td.side { background: #3b92dc; } #course-view .weekscss .hidden, #course-view .hidden td.side { background: #DDDDDD; } .categoryboxcontent, .courseboxcontent { border-top: 1px solid #739FC4; border-right: 1px solid #4A677F; border-bottom: 2px groove #4A677F; border-left: 1px solid #4A677F; background: #FFFFFF; } body#course-user .section { border-color:#AAAAAA; } /*** *** Login ***/ .loginbox, .loginbox.twocolumns .loginpanel, .loginbox .subcontent { border-color:#739FC4; /* barva oramovani panelu pro prihlaseni */ } /*** *** Message ***/ table.message_search_results td { border-color:#739FC4; } .message .author { color: #739FC4; } .message .time { color: #739FC4; } .message .content { } /*** *** User ***/ .userpicture { background:#EEEEEE; } .userinfobox { border-color: #739FC4; /* barva oramovani profilu ucastnika */ background-color: #F7F7F7; } .groupinfobox { border-color: #739FC4; background-color: #FCFCFC; } /*** *** Modules: Forum ***/ .forumheaderlist, .forumpost { border-color:#1D5083; /* barva oramovani fora na hlavni strance */ background-color:#F2F2F2; /* barva ve foru, ne na hlavni strance */ } .forumpost .content { background: #F2F2F2; /* barva vyplne fora primo pri cteni */ } .forumpost .left { background:#2E6086; /* barva u fora kolem obrazku uzivatele */ } .forumpost .topic { border-bottom-color: #6186A3; /* barva ve foru cara pod hlavickou */ background:#6186A3; /* barva ve foru - odpovedi na prvni prispevek */ } .forumpost .starter { background:#527B9A; /* barva ve foru hlavicka */ color:#FFFFFF; /* barva nazvu prispevku ve foru, textu autor a data pridani prispevku */ } .forumheaderlist .discussion .starter { background:#F2F2F2; /* barva ve foru diskuse, ne na hlavni strance */ } .forumheaderlist td { border-color: #739FC4; /* barva olemovani ve foru */ } .sideblock .post .head { color:#555555; } .forumthread .unread { background: #78A2CD; } #mod-forum-discuss .forumpost { background: none; } #mod-forum-discuss .unread .forumpost .message { border-color: #78A2CD; } #mod-forum-discuss .forumthread .unread { } #mod-forum-index .unread { } /*** *** Modules: Glossary ***/ .glossarypost { border-color: #739FC4; /* barva oramovani pojmu ve slovniku */ } .glossarypost .entryheader, .glossarypost .entryapproval, .glossarypost .picture, .glossarypost .entryattachment, .glossarypost .left { background-color: #6186A3; /* barva kolem nazvu pojmu ve slovniku */ } .glossarycomment { border-color: #739FC4; } .glossarycomment .entryheader, .glossarycomment .picture, .glossarycomment .left { background-color: #739fc4; } #mod-glossary-report .generalbox .teacher { background: #739fc4; } .categoryheader { background-color: #efefef; } .glossaryformatheader { background-color: #739FC4; } /*** *** Modules: Journal ***/ #mod-journal-view .feedbackbox .left, #mod-journal-view .feedbackbox .entryheader { background-color: #739FC4; } /*** *** Modules: Quiz ***/ body#mod-quiz-report table#attempts td { border-color: #739FC4; } body#mod-quiz-report table#attempts .r1 { background-color: #eeeeee; } /*** *** Misc Color ***/ .headermenu a:link { text-decoration: none; color: #ffffff; } .headermenu a:visited { text-decoration: none; color: #ffffff; } .headermenu a:hover { text-decoration: underline; color: #ffffff; } .cornflowersurround { background: #FFE4C0; /* barva pozadi celeho Moodle */ border-top: 1px solid #4A677F; border-right: 1px solid #4A677F; border-bottom: 2px groove #4A677F; border-left: 1px solid #4A677F; } .generalboxcontent { background-color:#FFFFFF; } /*** *** Layout Core ***/ h1.main, h2.main, h3.main, h4.main, h5.main, h6.main { text-align: center; } #layout-table { width:100%; border-collapse:separate; margin-top: 8px; } #layout-table #left-column, #layout-table #middle-column, #layout-table #right-column { vertical-align:top; } #layout-table #middle-column { padding-left:12px; padding-right:12px; } #layout-table #left-column { padding-left:10px; } #layout-table #right-column { padding-right:10px; } div.headermenu { position: absolute; top: 15px; right: 10px; } /***** Universita/cornflower.css end *****/ ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=javascript-static.js Content-Type: application/javascript; charset=UTF-8; name=javascript-static.js Content-Location: http://prijimacky.osu.cz/lib/javascript-static.js Content-Transfer-Encoding: Base64 Ly8gTWlzY2VsbGFuZW91cyBjb3JlIEphdmFzY3JpcHQgZnVuY3Rpb25zIGZvciBN b29kbGUKCmZ1bmN0aW9uIHBvcHVwY2hlY2tlcihtc2cpIHsKICAgIHZhciB0ZXN0 d2luZG93ID0gd2luZG93Lm9wZW4oJ2l0ZXN0d2luLmh0bWwnLCAnJywgJ3dpZHRo PTEsaGVpZ2h0PTEsbGVmdD0wLHRvcD0wLHNjcm9sbGJhcnM9bm8nKTsKICAgIGlm ICh0ZXN0d2luZG93ID09IG51bGwpCiAgICAgICAge2FsZXJ0KG1zZyk7fQogICAg ZWxzZSB7CiAgICAgICAgdGVzdHdpbmRvdy5jbG9zZSgpOwogICAgfQp9CgovKgpm dW5jdGlvbiBwb3BVcFByb3BlcnRpZXMoaW5vYmopIHsKLy8vIExlZ2FjeSBmdW5j dGlvbgogIHZhciBvcCA9IHdpbmRvdy5vcGVuKCk7CiAgb3AuZG9jdW1lbnQub3Bl bigndGV4dC9wbGFpbicpOwogIGZvciAob2JqcHJvcCBpbiBpbm9iaikgewogICAg b3AuZG9jdW1lbnQud3JpdGUob2JqcHJvcCArICcgPT4gJyArIGlub2JqW29ianBy b3BdICsgJ1xuJyk7CiAgfQogIG9wLmRvY3VtZW50LmNsb3NlKCk7Cn0KCmZ1bmN0 aW9uIGZpbGxtZXNzYWdlYm94KHRleHQpIHsKLy8vIExlZ2FjeSBmdW5jdGlvbgog IGRvY3VtZW50LmZvcm0ubWVzc2FnZS52YWx1ZSA9IHRleHQ7Cn0KCmZ1bmN0aW9u IGNvcHlyaWNodGV4dCh0ZXh0bmFtZSkgewovLy8gTGVnYWN5IHN0dWIgZm9yIG9s ZCBlZGl0b3IgLSB0byBiZSByZW1vdmVkIHNvb24KICByZXR1cm4gdHJ1ZTsKfQoq LwoKZnVuY3Rpb24gY2hlY2thbGwoKSB7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7CiAgZm9yKHZhciBpPTA7IGk8ZWwu bGVuZ3RoOyBpKyspIHsKICAgIGlmKGVsW2ldLnR5cGUgPT0gJ2NoZWNrYm94Jykg ewogICAgICBlbFtpXS5jaGVja2VkID0gdHJ1ZTsKICAgIH0KICB9Cn0KCmZ1bmN0 aW9uIGNoZWNrbm9uZSgpIHsKICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgnaW5wdXQnKTsKICBmb3IodmFyIGk9MDsgaTxlbC5sZW5ndGg7 IGkrKykgewogICAgaWYoZWxbaV0udHlwZSA9PSAnY2hlY2tib3gnKSB7CiAgICAg IGVsW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgIH0KICB9Cn0KCmZ1bmN0aW9uIGxv Y2tvcHRpb25zKGZvcm1pZCwgbWFzdGVyLCBzdWJpdGVtcykgewogIC8vIFN1Yml0 ZW1zIGlzIGFuIGFycmF5IG9mIG5hbWVzIG9mIHN1YiBpdGVtcy4KICAvLyBPcHRp b25hbGx5LCBlYWNoIGl0ZW0gaW4gc3ViaXRlbXMgbWF5IGhhdmUgYQogIC8vIGNv bXBhbmlvbiBoaWRkZW4gaXRlbSBpbiB0aGUgZm9ybSB3aXRoIHRoZQogIC8vIHNh bWUgbmFtZSBidXQgcHJlZml4ZWQgYnkgImgiLgogIHZhciBmb3JtID0gZG9jdW1l bnQuZm9ybXNbZm9ybWlkXTsKCiAgaWYgKGV2YWwoImZvcm0uIittYXN0ZXIrIi5j aGVja2VkIikpIHsKICAgIGZvciAoaT0wOyBpPHN1Yml0ZW1zLmxlbmd0aDsgaSsr KSB7CiAgICAgIHVubG9ja29wdGlvbihmb3JtLCBzdWJpdGVtc1tpXSk7CiAgICB9 CiAgfSBlbHNlIHsKICAgIGZvciAoaT0wOyBpPHN1Yml0ZW1zLmxlbmd0aDsgaSsr KSB7CiAgICAgIGxvY2tvcHRpb24oZm9ybSwgc3ViaXRlbXNbaV0pOwogICAgfQog IH0KICByZXR1cm4odHJ1ZSk7Cn0KCmZ1bmN0aW9uIGxvY2tvcHRpb24oZm9ybSxp dGVtKSB7CiAgZXZhbCgiZm9ybS4iK2l0ZW0rIi5kaXNhYmxlZD10cnVlIik7Lyog SUUgdGhpbmcgKi8KICBpZihmb3JtLmVsZW1lbnRzWydoJytpdGVtXSkgewogICAg ZXZhbCgiZm9ybS5oIitpdGVtKyIudmFsdWU9MSIpOwogIH0KfQoKZnVuY3Rpb24g dW5sb2Nrb3B0aW9uKGZvcm0saXRlbSkgewogIGV2YWwoImZvcm0uIitpdGVtKyIu ZGlzYWJsZWQ9ZmFsc2UiKTsvKiBJRSB0aGluZyAqLwogIGlmKGZvcm0uZWxlbWVu dHNbJ2gnK2l0ZW1dKSB7CiAgICBldmFsKCJmb3JtLmgiK2l0ZW0rIi52YWx1ZT0w Iik7CiAgfQp9CgovKioKICogR2V0IHRoZSB2YWx1ZSBvZiB0aGUgJ3ZpcnR1YWwg Zm9ybSBlbGVtZW50JyB3aXRoIGEgcGFydGljdWxhciBuYW1lLiBUaGF0IGlzLAog KiBhYnN0cmFjdHMgYXdheSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgbm9ybWFs IGZvcm0gZWxlbWVudCwgbGlrZSBhIHNlbGVjdAogKiB3aGljaCBpcyBhIHNpbmds ZSBIVE1MIGVsZW1lbnQgd2l0aCBhIC52YWx1ZSBwcm9wZXJ0eSwgYW5kIGEgc2V0 IG9mIHJhZGlvCiAqIGJ1dHRvbnMsIHdoaWNoIGlzIHNldmVyYWwgSFRNTCBlbGVt ZW50cy4KICoKICogQHBhcmFtIGZvcm0gYSBIVE1MIGZvcm0uCiAqIEBwYXJhbSBt YXN0ZXIgdGhlIG5hbWUgb2YgYW4gZWxlbWVudCBpbiB0aGF0IGZvcm0uCiAqIEBy ZXR1cm4gdGhlIHZhbHVlIG9mIHRoYXQgZWxlbWVudC4KICovCmZ1bmN0aW9uIGdl dF9mb3JtX2VsZW1lbnRfdmFsdWUoZm9ybSwgbmFtZSkgewogICAgdmFyIGVsZW1l bnQgPSBmb3JtW25hbWVdOwogICAgaWYgKCFlbGVtZW50KSB7CiAgICAgICAgcmV0 dXJuIG51bGw7CiAgICB9CiAgICBpZiAoZWxlbWVudC50YWdOYW1lKSB7CiAgICAg ICAgLy8gT3JkaW5hcmx5IHRoaW5nIGxpa2UgYSBzZWxlY3QgYm94LgogICAgICAg IHJldHVybiBlbGVtZW50LnZhbHVlOwogICAgfQogICAgLy8gQXJyYXkgb2YgdGhp bmdzLCBsaWtlIHJhZGlvIGJ1dHRvbnMuCiAgICBmb3IgKHZhciBqID0gMDsgaiA8 IGVsZW1lbnQubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgZWwgPSBlbGVtZW50 W2pdOwogICAgICAgIGlmIChlbC5jaGVja2VkKSB7CiAgICAgICAgICAgIHJldHVy biBlbC52YWx1ZTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gbnVsbDsKfQoK Ci8qKgogKiBTZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSAndmlydHVhbCBm b3JtIGVsZW1lbnQnIHdpdGggYSBwYXJ0aWN1bGFyIG5hbWUuCiAqIFRoaXMgYWJz dHJhY3RzIGF3YXkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIG5vcm1hbCBmb3Jt IGVsZW1lbnQsIGxpa2UgYSBzZWxlY3QKICogd2hpY2ggaXMgYSBzaW5nbGUgSFRN TCBlbGVtZW50IHdpdGggYSAudmFsdWUgcHJvcGVydHksIGFuZCBhIHNldCBvZiBy YWRpbwogKiBidXR0b25zLCB3aGljaCBpcyBzZXZlcmFsIEhUTUwgZWxlbWVudHMu CiAqCiAqIEBwYXJhbSBmb3JtIGEgSFRNTCBmb3JtLgogKiBAcGFyYW0gbWFzdGVy IHRoZSBuYW1lIG9mIGFuIGVsZW1lbnQgaW4gdGhhdCBmb3JtLgogKiBAcGFyYW0g ZGlzYWJsZWQgdGhlIGRpc2FibGVkIHN0YXRlIHRvIHNldC4KICovCmZ1bmN0aW9u IHNldF9mb3JtX2VsZW1lbnRfZGlzYWJsZWQoZm9ybSwgbmFtZSwgZGlzYWJsZWQp IHsKICAgIHZhciBlbGVtZW50ID0gZm9ybVtuYW1lXTsKICAgIGlmICghZWxlbWVu dCkgewogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChlbGVtZW50LnRhZ05h bWUpIHsKICAgICAgICAvLyBPcmRpbmFybHkgdGhpbmcgbGlrZSBhIHNlbGVjdCBi b3guCiAgICAgICAgZWxlbWVudC5kaXNhYmxlZCA9IGRpc2FibGVkOwogICAgfQog ICAgLy8gQXJyYXkgb2YgdGhpbmdzLCBsaWtlIHJhZGlvIGJ1dHRvbnMuCiAgICBm b3IgKHZhciBqID0gMDsgaiA8IGVsZW1lbnQubGVuZ3RoOyBqKyspIHsKICAgICAg ICB2YXIgZWwgPSBlbGVtZW50W2pdOwogICAgICAgIGVsLmRpc2FibGVkID0gZGlz YWJsZWQ7CiAgICB9Cn0KCi8qKgogKiBTZXQgdGhlIGhpZGRlbiBzdGF0ZSBvZiB0 aGUgJ3ZpcnR1YWwgZm9ybSBlbGVtZW50JyB3aXRoIGEgcGFydGljdWxhciBuYW1l LgogKiBUaGlzIGFic3RyYWN0cyBhd2F5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g YSBub3JtYWwgZm9ybSBlbGVtZW50LCBsaWtlIGEgc2VsZWN0CiAqIHdoaWNoIGlz IGEgc2luZ2xlIEhUTUwgZWxlbWVudCB3aXRoIGEgLnZhbHVlIHByb3BlcnR5LCBh bmQgYSBzZXQgb2YgcmFkaW8KICogYnV0dG9ucywgd2hpY2ggaXMgc2V2ZXJhbCBI VE1MIGVsZW1lbnRzLgogKgogKiBAcGFyYW0gZm9ybSBhIEhUTUwgZm9ybS4KICog QHBhcmFtIG1hc3RlciB0aGUgbmFtZSBvZiBhbiBlbGVtZW50IGluIHRoYXQgZm9y bS4KICogQHBhcmFtIGhpZGRlbiB0aGUgaGlkZGVuIHN0YXRlIHRvIHNldC4KICov CmZ1bmN0aW9uIHNldF9mb3JtX2VsZW1lbnRfaGlkZGVuKGZvcm0sIG5hbWUsIGhp ZGRlbikgewogICAgdmFyIGVsZW1lbnQgPSBmb3JtW25hbWVdOwogICAgaWYgKCFl bGVtZW50KSB7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGVsZW1lbnQu dGFnTmFtZSkgewogICAgICAgIHZhciBlbCA9IGZpbmRQYXJlbnROb2RlKGVsZW1l bnQsICdESVYnLCAnZml0ZW0nLCBmYWxzZSk7CiAgICAgICAgaWYgKGVsIT1udWxs KSB7CiAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBoaWRkZW4gPyAnbm9u ZScgOiAnJzsKICAgICAgICAgICAgZWwuc3R5bGUudmlzaWJpbGl0eSA9IGhpZGRl biA/ICdoaWRkZW4nIDogJyc7CiAgICAgICAgfQogICAgfQogICAgLy8gQXJyYXkg b2YgdGhpbmdzLCBsaWtlIHJhZGlvIGJ1dHRvbnMuCiAgICBmb3IgKHZhciBqID0g MDsgaiA8IGVsZW1lbnQubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgZWwgPSBm aW5kUGFyZW50Tm9kZShlbGVtZW50W2pdLCAnRElWJywgJ2ZpdGVtJywgZmFsc2Up OwogICAgICAgIGlmIChlbCE9bnVsbCkgewogICAgICAgICAgICBlbC5zdHlsZS5k aXNwbGF5ID0gaGlkZGVuID8gJ25vbmUnIDogJyc7CiAgICAgICAgICAgIGVsLnN0 eWxlLnZpc2liaWxpdHkgPSBoaWRkZW4gPyAnaGlkZGVuJyA6ICcnOwogICAgICAg IH0KICAgIH0KfQoKZnVuY3Rpb24gbG9ja29wdGlvbnNhbGwoZm9ybWlkKSB7CiAg ICB2YXIgZm9ybSA9IGRvY3VtZW50LmZvcm1zW2Zvcm1pZF07CiAgICB2YXIgZGVw ZW5kb25zID0gZXZhbChmb3JtaWQgKyAnaXRlbXMnKTsKICAgIHZhciB0b2xvY2sg PSBbXTsKICAgIHZhciB0b2hpZGUgPSBbXTsKICAgIGZvciAodmFyIGRlcGVuZG9u IGluIGRlcGVuZG9ucykgewogICAgICAgIC8vIGNoYW5nZSBmb3IgTW9vVG9vbHMg Y29tcGF0aWJpbGl0eQogICAgICAgIGlmICghZGVwZW5kb25zLnByb3BlcnR5SXNF bnVtZXJhYmxlKGRlcGVuZG9uKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAg ICAgICB9CiAgICAgICAgaWYgKCFmb3JtW2RlcGVuZG9uXSkgewogICAgICAgICAg ICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZm9yICh2YXIgY29uZGl0aW9u IGluIGRlcGVuZG9uc1tkZXBlbmRvbl0pIHsKICAgICAgICAgICAgZm9yICh2YXIg dmFsdWUgaW4gZGVwZW5kb25zW2RlcGVuZG9uXVtjb25kaXRpb25dKSB7CiAgICAg ICAgICAgICAgICB2YXIgbG9jazsKICAgICAgICAgICAgICAgIHZhciBoaWRlID0g ZmFsc2U7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbikgewogICAg ICAgICAgICAgICAgICBjYXNlICdub3RjaGVja2VkJzoKICAgICAgICAgICAgICAg ICAgICAgIGxvY2sgPSAhZm9ybVtkZXBlbmRvbl0uY2hlY2tlZDsgYnJlYWs7CiAg ICAgICAgICAgICAgICAgIGNhc2UgJ2NoZWNrZWQnOgogICAgICAgICAgICAgICAg ICAgICAgbG9jayA9IGZvcm1bZGVwZW5kb25dLmNoZWNrZWQ7IGJyZWFrOwogICAg ICAgICAgICAgICAgICBjYXNlICdub2l0ZW1zZWxlY3RlZCc6CiAgICAgICAgICAg ICAgICAgICAgICBsb2NrID0gZm9ybVtkZXBlbmRvbl0uc2VsZWN0ZWRJbmRleCA9 PSAtMTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgIGNhc2UgJ2VxJzoKICAgICAg ICAgICAgICAgICAgICAgIGxvY2sgPSBnZXRfZm9ybV9lbGVtZW50X3ZhbHVlKGZv cm0sIGRlcGVuZG9uKSA9PSB2YWx1ZTsgYnJlYWs7CiAgICAgICAgICAgICAgICAg IGNhc2UgJ2hpZGUnOgogICAgICAgICAgICAgICAgICAgICAgLy8gaGlkZSBhcyB3 ZWxsIGFzIGRpc2FibGUKICAgICAgICAgICAgICAgICAgICAgIGhpZGUgPSB0cnVl OyBicmVhazsKICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg ICAgICAgICAgIGxvY2sgPSBnZXRfZm9ybV9lbGVtZW50X3ZhbHVlKGZvcm0sIGRl cGVuZG9uKSAhPSB2YWx1ZTsgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICBmb3IgKHZhciBlaSBpbiBkZXBlbmRvbnNbZGVwZW5kb25dW2Nv bmRpdGlvbl1bdmFsdWVdKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGVsdG9s b2NrID0gZGVwZW5kb25zW2RlcGVuZG9uXVtjb25kaXRpb25dW3ZhbHVlXVtlaV07 CiAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGUpIHsKICAgICAgICAgICAgICAg ICAgICAgICAgdG9oaWRlW2VsdG9sb2NrXSA9IHRydWU7CiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICh0b2xvY2tbZWx0b2xvY2td ICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdG9sb2NrW2VsdG9s b2NrXSA9IGxvY2sgfHwgdG9sb2NrW2VsdG9sb2NrXTsKICAgICAgICAgICAgICAg ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB0b2xvY2tbZWx0 b2xvY2tdID0gbG9jazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBmb3IgKHZh ciBlbCBpbiB0b2xvY2spIHsKICAgICAgICAvLyBjaGFuZ2UgZm9yIE1vb1Rvb2xz IGNvbXBhdGliaWxpdHkKICAgICAgICBpZiAoIXRvbG9jay5wcm9wZXJ0eUlzRW51 bWVyYWJsZShlbCkpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQog ICAgICAgIHNldF9mb3JtX2VsZW1lbnRfZGlzYWJsZWQoZm9ybSwgZWwsIHRvbG9j a1tlbF0pOwogICAgICAgIGlmICh0b2hpZGUucHJvcGVydHlJc0VudW1lcmFibGUo ZWwpKSB7CiAgICAgICAgICAgIHNldF9mb3JtX2VsZW1lbnRfaGlkZGVuKGZvcm0s IGVsLCB0b2xvY2tbZWxdKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1 ZTsKfQoKZnVuY3Rpb24gbG9ja29wdGlvbnNhbGxzZXR1cChmb3JtaWQpIHsKICAg IHZhciBmb3JtID0gZG9jdW1lbnQuZm9ybXNbZm9ybWlkXTsKICAgIHZhciBkZXBl bmRvbnMgPSBldmFsKGZvcm1pZCsnaXRlbXMnKTsKICAgIGZvciAodmFyIGRlcGVu ZG9uIGluIGRlcGVuZG9ucykgewogICAgICAgIC8vIGNoYW5nZSBmb3IgTW9vVG9v bHMgY29tcGF0aWJpbGl0eQogICAgICAgIGlmICghZGVwZW5kb25zLnByb3BlcnR5 SXNFbnVtZXJhYmxlKGRlcGVuZG9uKSkgewogICAgICAgICAgICBjb250aW51ZTsK ICAgICAgICB9CiAgICAgICAgdmFyIG1hc3RlcnMgPSBmb3JtW2RlcGVuZG9uXTsK ICAgICAgICBpZiAoIW1hc3RlcnMpIHsKICAgICAgICAgICAgY29udGludWU7CiAg ICAgICAgfQogICAgICAgIGlmIChtYXN0ZXJzLnRhZ05hbWUpIHsKICAgICAgICAg ICAgLy8gSWYgbWFzdGVyIGlzIHJhZGlvIGJ1dHRvbnMsIHdlIGdldCBhbiBhcnJh eSwgb3RoZXJ3aXNlIHdlIGRvbid0LgogICAgICAgICAgICAvLyBDb252ZXJ0IGJv dGggY2FzZXMgdG8gYW4gYXJyYXkgZm9yIGNvbnZpbmllbmNlLgogICAgICAgICAg ICBtYXN0ZXJzID0gW21hc3RlcnNdOwogICAgICAgIH0KICAgICAgICBmb3IgKHZh ciBqID0gMDsgaiA8IG1hc3RlcnMubGVuZ3RoOyBqKyspIHsKICAgICAgICAgICAg bWFzdGVyID0gbWFzdGVyc1tqXTsKICAgICAgICAgICAgbWFzdGVyLmZvcm1pZCA9 IGZvcm1pZDsKICAgICAgICAgICAgbWFzdGVyLm9uY2xpY2sgID0gZnVuY3Rpb24o KSB7cmV0dXJuIGxvY2tvcHRpb25zYWxsKHRoaXMuZm9ybWlkKTt9OwogICAgICAg ICAgICBtYXN0ZXIub25ibHVyICAgPSBmdW5jdGlvbigpIHtyZXR1cm4gbG9ja29w dGlvbnNhbGwodGhpcy5mb3JtaWQpO307CiAgICAgICAgICAgIG1hc3Rlci5vbmNo YW5nZSA9IGZ1bmN0aW9uKCkge3JldHVybiBsb2Nrb3B0aW9uc2FsbCh0aGlzLmZv cm1pZCk7fTsKICAgICAgICB9CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8 IGZvcm0uZWxlbWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgZm9ybWVs ZW1lbnQgPSBmb3JtLmVsZW1lbnRzW2ldOwogICAgICAgIGlmIChmb3JtZWxlbWVu dC50eXBlPT0ncmVzZXQnKSB7CiAgICAgICAgICAgIGZvcm1lbGVtZW50LmZvcm1p ZCA9IGZvcm1pZDsKICAgICAgICAgICAgZm9ybWVsZW1lbnQub25jbGljayAgPSBm dW5jdGlvbigpIHt0aGlzLmZvcm0ucmVzZXQoKTtyZXR1cm4gbG9ja29wdGlvbnNh bGwodGhpcy5mb3JtaWQpO307CiAgICAgICAgICAgIGZvcm1lbGVtZW50Lm9uYmx1 ciAgID0gZnVuY3Rpb24oKSB7dGhpcy5mb3JtLnJlc2V0KCk7cmV0dXJuIGxvY2tv cHRpb25zYWxsKHRoaXMuZm9ybWlkKTt9OwogICAgICAgICAgICBmb3JtZWxlbWVu dC5vbmNoYW5nZSA9IGZ1bmN0aW9uKCkge3RoaXMuZm9ybS5yZXNldCgpO3JldHVy biBsb2Nrb3B0aW9uc2FsbCh0aGlzLmZvcm1pZCk7fTsKICAgICAgICB9CiAgICB9 CiAgICByZXR1cm4gbG9ja29wdGlvbnNhbGwoZm9ybWlkKTsKfQoKCmZ1bmN0aW9u IHN1Ym1pdEZvcm1CeUlkKGlkKSB7CiAgICB2YXIgdGhlZm9ybSA9IGRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgIGlmKCF0aGVmb3JtKSB7CiAgICAgICAg cmV0dXJuIGZhbHNlOwogICAgfQogICAgaWYodGhlZm9ybS50YWdOYW1lLnRvTG93 ZXJDYXNlKCkgIT0gJ2Zvcm0nKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg fQogICAgaWYoIXRoZWZvcm0ub25zdWJtaXQgfHwgdGhlZm9ybS5vbnN1Ym1pdCgp KSB7CiAgICAgICAgcmV0dXJuIHRoZWZvcm0uc3VibWl0KCk7CiAgICB9Cn0KCmZ1 bmN0aW9uIHNlbGVjdF9hbGxfaW4oZWxUYWdOYW1lLCBlbENsYXNzLCBlbElkKSB7 CiAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo J2lucHV0Jyk7CiAgICBpbnB1dHMgPSBmaWx0ZXJCeVBhcmVudChpbnB1dHMsIGZ1 bmN0aW9uKGVsKSB7cmV0dXJuIGZpbmRQYXJlbnROb2RlKGVsLCBlbFRhZ05hbWUs IGVsQ2xhc3MsIGVsSWQpO30pOwogICAgZm9yKHZhciBpID0gMDsgaSA8IGlucHV0 cy5sZW5ndGg7ICsraSkgewogICAgICAgIGlmKGlucHV0c1tpXS50eXBlID09ICdj aGVja2JveCcgfHwgaW5wdXRzW2ldLnR5cGUgPT0gJ3JhZGlvJykgewogICAgICAg ICAgICBpbnB1dHNbaV0uY2hlY2tlZCA9ICdjaGVja2VkJzsKICAgICAgICB9CiAg ICB9Cn0KCmZ1bmN0aW9uIGRlc2VsZWN0X2FsbF9pbihlbFRhZ05hbWUsIGVsQ2xh c3MsIGVsSWQpIHsKICAgIHZhciBpbnB1dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgnSU5QVVQnKTsKICAgIGlucHV0cyA9IGZpbHRlckJ5UGFyZW50 KGlucHV0cywgZnVuY3Rpb24oZWwpIHtyZXR1cm4gZmluZFBhcmVudE5vZGUoZWws IGVsVGFnTmFtZSwgZWxDbGFzcywgZWxJZCk7fSk7CiAgICBmb3IodmFyIGkgPSAw OyBpIDwgaW5wdXRzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgaWYoaW5wdXRzW2ld LnR5cGUgPT0gJ2NoZWNrYm94JyB8fCBpbnB1dHNbaV0udHlwZSA9PSAncmFkaW8n KSB7CiAgICAgICAgICAgIGlucHV0c1tpXS5jaGVja2VkID0gJyc7CiAgICAgICAg fQogICAgfQp9CgpmdW5jdGlvbiBjb25maXJtX2lmKGV4cHIsIG1lc3NhZ2UpIHsK ICAgIGlmKCFleHByKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBy ZXR1cm4gY29uZmlybShtZXNzYWdlKTsKfQoKCi8qCiAgICBmaW5kUGFyZW50Tm9k ZSAoc3RhcnQsIGVsZW1lbnROYW1lLCBlbGVtZW50Q2xhc3MsIGVsZW1lbnRJRCkK CiAgICBUcmF2ZWxzIHVwIHRoZSBET00gaGllcmFyY2h5IHRvIGZpbmQgYSBwYXJl bnQgZWxlbWVudCB3aXRoIHRoZQogICAgc3BlY2lmaWVkIHRhZyBuYW1lLCBjbGFz cywgYW5kIGlkLiBBbGwgY29uZGl0aW9ucyBtdXN0IGJlIG1ldCwKICAgIGJ1dCBh bnkgY2FuIGJlIG9tbWl0dGVkLiBSZXR1cm5zIHRoZSBCT0RZIGVsZW1lbnQgaWYg bm8gbWF0Y2gKICAgIGZvdW5kLgoqLwpmdW5jdGlvbiBmaW5kUGFyZW50Tm9kZShl bCwgZWxOYW1lLCBlbENsYXNzLCBlbElkKSB7CiAgICB3aGlsZShlbC5ub2RlTmFt ZS50b1VwcGVyQ2FzZSgpICE9ICdCT0RZJykgewogICAgICAgIGlmKAogICAgICAg ICAgICAoIWVsTmFtZSB8fCBlbC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09IGVs TmFtZSkgJiYKICAgICAgICAgICAgKCFlbENsYXNzIHx8IGVsLmNsYXNzTmFtZS5p bmRleE9mKGVsQ2xhc3MpICE9IC0xKSAmJgogICAgICAgICAgICAoIWVsSWQgfHwg ZWwuaWQgPT0gZWxJZCkpCiAgICAgICAgewogICAgICAgICAgICBicmVhazsKICAg ICAgICB9CiAgICAgICAgZWwgPSBlbC5wYXJlbnROb2RlOwogICAgfQogICAgcmV0 dXJuIGVsOwp9Ci8qCiAgICBmaW5kQ2hpbGROb2RlIChzdGFydCwgZWxlbWVudE5h bWUsIGVsZW1lbnRDbGFzcywgZWxlbWVudElEKQoKICAgIFRyYXZlbHMgZG93biB0 aGUgRE9NIGhpZXJhcmNoeSB0byBmaW5kIGFsbCBjaGlsZCBlbGVtZW50cyB3aXRo IHRoZQogICAgc3BlY2lmaWVkIHRhZyBuYW1lLCBjbGFzcywgYW5kIGlkLiBBbGwg Y29uZGl0aW9ucyBtdXN0IGJlIG1ldCwKICAgIGJ1dCBhbnkgY2FuIGJlIG9tbWl0 dGVkLgogICAgRG9lc24ndCBleGFtaW5lIGNoaWxkcmVuIG9mIG1hdGNoZXMuCiov CmZ1bmN0aW9uIGZpbmRDaGlsZE5vZGVzKHN0YXJ0LCB0YWdOYW1lLCBlbGVtZW50 Q2xhc3MsIGVsZW1lbnRJRCwgZWxlbWVudE5hbWUpIHsKICAgIHZhciBjaGlsZHJl biA9IG5ldyBBcnJheSgpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGFydC5j aGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGNsYXNzZm91bmQg PSBmYWxzZTsKICAgICAgICB2YXIgY2hpbGQgPSBzdGFydC5jaGlsZE5vZGVzW2ld OwogICAgICAgIGlmKChjaGlsZC5ub2RlVHlwZSA9PSAxKSAmJi8vZWxlbWVudCBu b2RlIHR5cGUKICAgICAgICAgICAgICAgICAgKGVsZW1lbnRDbGFzcyAmJiAodHlw ZW9mKGNoaWxkLmNsYXNzTmFtZSk9PSdzdHJpbmcnKSkpIHsKICAgICAgICAgICAg dmFyIGNoaWxkQ2xhc3NlcyA9IGNoaWxkLmNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7 CiAgICAgICAgICAgIGZvciAodmFyIGNoaWxkQ2xhc3NJbmRleCBpbiBjaGlsZENs YXNzZXMpIHsKICAgICAgICAgICAgICAgIGlmIChjaGlsZENsYXNzZXNbY2hpbGRD bGFzc0luZGV4XT09ZWxlbWVudENsYXNzKSB7CiAgICAgICAgICAgICAgICAgICAg Y2xhc3Nmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAg aWYoY2hpbGQubm9kZVR5cGUgPT0gMSkgeyAvL2VsZW1lbnQgbm9kZSB0eXBlCiAg ICAgICAgICAgIGlmICAoICghdGFnTmFtZSB8fCBjaGlsZC5ub2RlTmFtZSA9PSB0 YWdOYW1lKSAmJgogICAgICAgICAgICAgICAgKCFlbGVtZW50Q2xhc3MgfHwgY2xh c3Nmb3VuZCkmJgogICAgICAgICAgICAgICAgKCFlbGVtZW50SUQgfHwgY2hpbGQu aWQgPT0gZWxlbWVudElEKSAmJgogICAgICAgICAgICAgICAgKCFlbGVtZW50TmFt ZSB8fCBjaGlsZC5uYW1lID09IGVsZW1lbnROYW1lKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5jb25jYXQoY2hpbGQp OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY2hpbGRyZW4g PSBjaGlsZHJlbi5jb25jYXQoZmluZENoaWxkTm9kZXMoY2hpbGQsIHRhZ05hbWUs IGVsZW1lbnRDbGFzcywgZWxlbWVudElELCBlbGVtZW50TmFtZSkpOwogICAgICAg ICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGNoaWxkcmVuOwp9Ci8q CiAgICBlbGVtZW50U2V0SGlkZSAoZWxlbWVudHMsIGhpZGUpCgogICAgQWRkcyBv ciByZW1vdmVzIHRoZSAiaGlkZSIgY2xhc3MgZm9yIHRoZSBzcGVjaWZpZWQgZWxl bWVudHMgZGVwZW5kaW5nIG9uIGJvb2xlYW4gaGlkZS4KKi8KZnVuY3Rpb24gZWxl bWVudFNob3dBZHZhbmNlZChlbGVtZW50cywgc2hvdykgewogICAgZm9yICh2YXIg ZWxlbWVudEluZGV4IGluIGVsZW1lbnRzKSB7CiAgICAgICAgZWxlbWVudCA9IGVs ZW1lbnRzW2VsZW1lbnRJbmRleF07CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUg PSBlbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoJyA/aGlkZScp LCAnJykKICAgICAgICBpZighc2hvdykgewogICAgICAgICAgICBlbGVtZW50LmNs YXNzTmFtZSArPSAnIGhpZGUnOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24g c2hvd0FkdmFuY2VkSW5pdChhZGRCZWZvcmUsIG5hbWVBdHRyLCBidXR0b25MYWJl bCwgaGlkZVRleHQsIHNob3dUZXh0KSB7CiAgICB2YXIgc2hvd0hpZGVCdXR0b24g PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogICAgc2hvd0hpZGVC dXR0b24udHlwZSA9ICdidXR0b24nOwogICAgc2hvd0hpZGVCdXR0b24udmFsdWUg PSBidXR0b25MYWJlbDsKICAgIHNob3dIaWRlQnV0dG9uLm5hbWUgPSBuYW1lQXR0 cjsKICAgIHNob3dIaWRlQnV0dG9uLm1vb2RsZSA9IHsKICAgICAgICBoaWRlTGFi ZWw6IGhpZGVUZXh0LAogICAgICAgIHNob3dMYWJlbDogc2hvd1RleHQKICAgIH07 CiAgICBZQUhPTy51dGlsLkV2ZW50LmFkZExpc3RlbmVyKHNob3dIaWRlQnV0dG9u LCAnY2xpY2snLCBzaG93QWR2YW5jZWRPbkNsaWNrKTsKICAgIGVsID0gZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoYWRkQmVmb3JlKTsKICAgIGVsLnBhcmVudE5vZGUu aW5zZXJ0QmVmb3JlKHNob3dIaWRlQnV0dG9uLCBlbCk7Cn0KCmZ1bmN0aW9uIHNo b3dBZHZhbmNlZE9uQ2xpY2soZSkgewogICAgdmFyIGJ1dHRvbiA9IGUudGFyZ2V0 ID8gZS50YXJnZXQgOiBlLnNyY0VsZW1lbnQ7CgogICAgdmFyIHRvU2V0PWZpbmRD aGlsZE5vZGVzKGJ1dHRvbi5mb3JtLCBudWxsLCAnYWR2YW5jZWQnKTsKICAgIHZh ciBidXR0b250ZXh0ID0gJyc7CiAgICBpZiAoYnV0dG9uLmZvcm0uZWxlbWVudHNb J21mb3JtX3Nob3dhZHZhbmNlZF9sYXN0J10udmFsdWUgPT0gJzAnIHx8ICBidXR0 b24uZm9ybS5lbGVtZW50c1snbWZvcm1fc2hvd2FkdmFuY2VkX2xhc3QnXS52YWx1 ZSA9PSAnJyApIHsKICAgICAgICBlbGVtZW50U2hvd0FkdmFuY2VkKHRvU2V0LCB0 cnVlKTsKICAgICAgICBidXR0b250ZXh0ID0gYnV0dG9uLm1vb2RsZS5oaWRlTGFi ZWw7CiAgICAgICAgYnV0dG9uLmZvcm0uZWxlbWVudHNbJ21mb3JtX3Nob3dhZHZh bmNlZF9sYXN0J10udmFsdWUgPSAnMSc7CiAgICB9IGVsc2UgewogICAgICAgIGVs ZW1lbnRTaG93QWR2YW5jZWQodG9TZXQsIGZhbHNlKTsKICAgICAgICBidXR0b250 ZXh0ID0gYnV0dG9uLm1vb2RsZS5zaG93TGFiZWw7CiAgICAgICAgYnV0dG9uLmZv cm0uZWxlbWVudHNbJ21mb3JtX3Nob3dhZHZhbmNlZF9sYXN0J10udmFsdWUgPSAn MCc7CiAgICB9CiAgICB2YXIgZm9ybWVsZW1lbnRzID0gYnV0dG9uLmZvcm0uZWxl bWVudHM7CiAgICAvLyBGaXhlZCBNREwtMTA1MDYKICAgIGZvciAodmFyIGkgPSAw OyBpIDwgZm9ybWVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKGZv cm1lbGVtZW50c1tpXSAmJiBmb3JtZWxlbWVudHNbaV0ubmFtZSAmJiAoZm9ybWVs ZW1lbnRzW2ldLm5hbWU9PSdtZm9ybV9zaG93YWR2YW5jZWQnKSkgewogICAgICAg ICAgICBmb3JtZWxlbWVudHNbaV0udmFsdWUgPSBidXR0b250ZXh0OwogICAgICAg IH0KICAgIH0KICAgIC8vbmV2ZXIgc3VibWl0IHRoZSBmb3JtIGlmIGpzIGlzIGVu YWJsZWQuCiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIHVubWFza1Bhc3N3 b3JkKGlkKSB7CiAgdmFyIHB3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQp OwogIHZhciBjaGIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCsndW5tYXNr Jyk7CgogIHRyeSB7CiAgICAvLyBmaXJzdCB0cnkgSUUgd2F5IC0gaXQgY2FuIG5v dCBzZXQgbmFtZSBhdHRyaWJ1dGUgbGF0ZXIKICAgIGlmIChjaGIuY2hlY2tlZCkg ewogICAgICB2YXIgbmV3cHcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCc8aW5w dXQgdHlwZT0idGV4dCIgbmFtZT0iJytwdy5uYW1lKyciPicpOwogICAgfSBlbHNl IHsKICAgICAgdmFyIG5ld3B3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnPGlu cHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSInK3B3Lm5hbWUrJyI+Jyk7CiAgICB9 CiAgICBuZXdwdy5hdHRyaWJ1dGVzWydjbGFzcyddLm5vZGVWYWx1ZSA9IHB3LmF0 dHJpYnV0ZXNbJ2NsYXNzJ10ubm9kZVZhbHVlOwogIH0gY2F0Y2ggKGUpIHsKICAg IHZhciBuZXdwdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAg ICBuZXdwdy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBwdy5uYW1lKTsKICAgIGlmIChj aGIuY2hlY2tlZCkgewogICAgICBuZXdwdy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAn dGV4dCcpOwogICAgfSBlbHNlIHsKICAgICAgbmV3cHcuc2V0QXR0cmlidXRlKCd0 eXBlJywgJ3Bhc3N3b3JkJyk7CiAgICB9CiAgICBuZXdwdy5zZXRBdHRyaWJ1dGUo J2NsYXNzJywgcHcuZ2V0QXR0cmlidXRlKCdjbGFzcycpKTsKICB9CiAgbmV3cHcu aWQgPSBwdy5pZDsKICBuZXdwdy5zaXplID0gcHcuc2l6ZTsKICBuZXdwdy5vbmJs dXIgPSBwdy5vbmJsdXI7CiAgbmV3cHcub25jaGFuZ2UgPSBwdy5vbmNoYW5nZTsK ICBuZXdwdy52YWx1ZSA9IHB3LnZhbHVlOwogIHB3LnBhcmVudE5vZGUucmVwbGFj ZUNoaWxkKG5ld3B3LCBwdyk7Cn0KCi8qCiAgICBlbGVtZW50VG9nZ2xlSGlkZSAo ZWxlbWVudCwgZWxlbWVudEZpbmRlcikKCiAgICBJZiBlbGVtZW50RmluZGVyIGlz IG5vdCBwcm92aWRlZCwgdG9nZ2xlcyB0aGUgImhpZGRlbiIgY2xhc3MgZm9yIHRo ZSBzcGVjaWZpZWQgZWxlbWVudC4KICAgIElmIGVsZW1lbnRGaW5kZXIgaXMgcHJv dmlkZWQsIHRoZW4gdGhlICJoaWRkZW4iIGNsYXNzIHdpbGwgYmUgdG9nZ2xlZCBm b3IgdGhlIG9iamVjdAogICAgcmV0dXJuZWQgYnkgdGhlIGZ1bmN0aW9uIGNhbGwg ZWxlbWVudEZpbmRlcihlbGVtZW50KS4KCiAgICBJZiBwZXJzaXN0ZW50ID09IHRy dWUsIGFsc28gc2V0cyBhIGNvb2tpZSBmb3IgdGhpcy4KKi8KZnVuY3Rpb24gZWxl bWVudFRvZ2dsZUhpZGUoZWwsIHBlcnNpc3RlbnQsIGVsZW1lbnRGaW5kZXIsIHN0 clNob3csIHN0ckhpZGUpIHsKICAgIGlmKCFlbGVtZW50RmluZGVyKSB7CiAgICAg ICAgdmFyIG9iaiA9IGVsOyAgLy9lbDpjb250YWluZXIKICAgICAgICBlbCA9IGRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2dnbGVoaWRlXycrb2JqLmlkKTsKICAg IH0KICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSBlbGVtZW50RmluZGVyKGVs KTsgIC8vZWw6YnV0dG9uLgogICAgfQogICAgaWYob2JqLmNsYXNzTmFtZS5pbmRl eE9mKCdoaWRkZW4nKSA9PSAtMSkgewogICAgICAgIG9iai5jbGFzc05hbWUgKz0g JyBoaWRkZW4nOwogICAgICAgIGlmIChlbC5zcmMpIHsKICAgICAgICAgICAgZWwu c3JjID0gZWwuc3JjLnJlcGxhY2UoJ3N3aXRjaF9taW51cycsICdzd2l0Y2hfcGx1 cycpOwogICAgICAgICAgICBlbC5hbHQgPSBzdHJTaG93OwogICAgICAgICAgICBl bC50aXRsZSA9IHN0clNob3c7CiAgICAgICAgfQogICAgICAgIHZhciBzaG93biA9 IDA7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBvYmouY2xhc3NOYW1lID0gb2Jq LmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoJyA/aGlkZGVuJyksICcnKTsK ICAgICAgICBpZiAoZWwuc3JjKSB7CiAgICAgICAgICAgIGVsLnNyYyA9IGVsLnNy Yy5yZXBsYWNlKCdzd2l0Y2hfcGx1cycsICdzd2l0Y2hfbWludXMnKTsKICAgICAg ICAgICAgZWwuYWx0ID0gc3RySGlkZTsKICAgICAgICAgICAgZWwudGl0bGUgPSBz dHJIaWRlOwogICAgICAgIH0KICAgICAgICB2YXIgc2hvd24gPSAxOwogICAgfQoK ICAgIGlmKHBlcnNpc3RlbnQgPT0gdHJ1ZSkgewogICAgICAgIG5ldyBjb29raWUo J2hpZGU6JyArIG9iai5pZCwgMSwgKHNob3duID8gLTEgOiAzNTYpLCAnLycpLnNl dCgpOwogICAgfQp9CgpmdW5jdGlvbiBlbGVtZW50Q29va2llSGlkZShpZCwgc3Ry U2hvdywgc3RySGlkZSkgewogICAgdmFyIG9iaiAgPSBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZChpZCk7CiAgICB2YXIgY29vayA9IG5ldyBjb29raWUoJ2hpZGU6JyAr IGlkKS5yZWFkKCk7CiAgICBpZihjb29rICE9IG51bGwpIHsKICAgICAgICBlbGVt ZW50VG9nZ2xlSGlkZShvYmosIGZhbHNlLCBudWxsLCBzdHJTaG93LCBzdHJIaWRl KTsKICAgIH0KfQoKZnVuY3Rpb24gZmlsdGVyQnlQYXJlbnQoZWxDb2xsZWN0aW9u LCBwYXJlbnRGaW5kZXIpIHsKICAgIHZhciBmaWx0ZXJlZENvbGxlY3Rpb24gPSBb XTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBlbENvbGxlY3Rpb24ubGVuZ3RoOyAr K2kpIHsKICAgICAgICB2YXIgZmluZFBhcmVudCA9IHBhcmVudEZpbmRlcihlbENv bGxlY3Rpb25baV0pOwogICAgICAgIGlmKGZpbmRQYXJlbnQubm9kZU5hbWUgIT0g J0JPRFknKSB7CiAgICAgICAgICAgIGZpbHRlcmVkQ29sbGVjdGlvbi5wdXNoKGVs Q29sbGVjdGlvbltpXSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZpbHRl cmVkQ29sbGVjdGlvbjsKfQoKLyoKICAgIEFsbCB0aGlzIGlzIGhlcmUganVzdCBz byB0aGF0IElFIGdldHMgdG8gaGFuZGxlIG92ZXJzaXplZCBibG9ja3MKICAgIGlu IGEgdmlzdWFsbHkgcGxlYXNpbmcgbWFubmVyLiBJdCBkb2VzIGEgYnJvd3NlciBk ZXRlY3QuIFNvIHN1ZSBtZS4KKi8KCmZ1bmN0aW9uIGZpeF9jb2x1bW5fd2lkdGhz KCkgewogICAgdmFyIGFndCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNh c2UoKTsKICAgIGlmICgoYWd0LmluZGV4T2YoIm1zaWUiKSAhPSAtMSkgJiYgKGFn dC5pbmRleE9mKCJvcGVyYSIpID09IC0xKSkgewogICAgICAgIGZpeF9jb2x1bW5f d2lkdGgoJ2xlZnQtY29sdW1uJyk7CiAgICAgICAgZml4X2NvbHVtbl93aWR0aCgn cmlnaHQtY29sdW1uJyk7CiAgICB9Cn0KCmZ1bmN0aW9uIGZpeF9jb2x1bW5fd2lk dGgoY29sTmFtZSkgewogICAgaWYoY29sdW1uID0gZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoY29sTmFtZSkpIHsKICAgICAgICBpZighY29sdW1uLm9mZnNldFdpZHRo KSB7CiAgICAgICAgICAgIHNldFRpbWVvdXQoImZpeF9jb2x1bW5fd2lkdGgoJyIg KyBjb2xOYW1lICsgIicpIiwgMjApOwogICAgICAgICAgICByZXR1cm47CiAgICAg ICAgfQoKICAgICAgICB2YXIgd2lkdGggPSAwOwogICAgICAgIHZhciBub2RlcyA9 IGNvbHVtbi5jaGlsZE5vZGVzOwoKICAgICAgICBmb3IoaSA9IDA7IGkgPCBub2Rl cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICBpZihub2Rlc1tpXS5jbGFzc05h bWUuaW5kZXhPZigic2lkZWJsb2NrIikgIT0gLTEgKSB7CiAgICAgICAgICAgICAg ICBpZih3aWR0aCA8IG5vZGVzW2ldLm9mZnNldFdpZHRoKSB7CiAgICAgICAgICAg ICAgICAgICAgd2lkdGggPSBub2Rlc1tpXS5vZmZzZXRXaWR0aDsKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yKGkg PSAwOyBpIDwgbm9kZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgaWYobm9k ZXNbaV0uY2xhc3NOYW1lLmluZGV4T2YoInNpZGVibG9jayIpICE9IC0xICkgewog ICAgICAgICAgICAgICAgbm9kZXNbaV0uc3R5bGUud2lkdGggPSB3aWR0aCArICdw eCc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCgovKgogICBJbnNl cnQgbXlWYWx1ZSBhdCBjdXJyZW50IGN1cnNvciBwb3NpdGlvbgogKi8KZnVuY3Rp b24gaW5zZXJ0QXRDdXJzb3IobXlGaWVsZCwgbXlWYWx1ZSkgewogICAgLy8gSUUg c3VwcG9ydAogICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgewogICAgICAgIG15 RmllbGQuZm9jdXMoKTsKICAgICAgICBzZWwgPSBkb2N1bWVudC5zZWxlY3Rpb24u Y3JlYXRlUmFuZ2UoKTsKICAgICAgICBzZWwudGV4dCA9IG15VmFsdWU7CiAgICB9 CiAgICAvLyBNb3ppbGxhL05ldHNjYXBlIHN1cHBvcnQKICAgIGVsc2UgaWYgKG15 RmllbGQuc2VsZWN0aW9uU3RhcnQgfHwgbXlGaWVsZC5zZWxlY3Rpb25TdGFydCA9 PSAnMCcpIHsKICAgICAgICB2YXIgc3RhcnRQb3MgPSBteUZpZWxkLnNlbGVjdGlv blN0YXJ0OwogICAgICAgIHZhciBlbmRQb3MgPSBteUZpZWxkLnNlbGVjdGlvbkVu ZDsKICAgICAgICBteUZpZWxkLnZhbHVlID0gbXlGaWVsZC52YWx1ZS5zdWJzdHJp bmcoMCwgc3RhcnRQb3MpCiAgICAgICAgICAgICsgbXlWYWx1ZSArIG15RmllbGQu dmFsdWUuc3Vic3RyaW5nKGVuZFBvcywgbXlGaWVsZC52YWx1ZS5sZW5ndGgpOwog ICAgfSBlbHNlIHsKICAgICAgICBteUZpZWxkLnZhbHVlICs9IG15VmFsdWU7CiAg ICB9Cn0KCgovKgogICAgICAgIENhbGwgaW5zdGVhZCBvZiBzZXR0aW5nIHdpbmRv dy5vbmxvYWQgZGlyZWN0bHkgb3Igc2V0dGluZyBib2R5IG9ubG9hZD0uCiAgICAg ICAgQWRkcyB5b3VyIGZ1bmN0aW9uIHRvIGEgY2hhaW4gb2YgZnVuY3Rpb25zIHJh dGhlciB0aGFuIG92ZXJ3cml0aW5nIGFueXRoaW5nCiAgICAgICAgdGhhdCBleGlz dHMuCiovCmZ1bmN0aW9uIGFkZG9ubG9hZChmbikgewogICAgdmFyIG9sZGhhbmRs ZXI9d2luZG93Lm9ubG9hZDsKICAgIHdpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oKSB7 CiAgICAgICAgaWYob2xkaGFuZGxlcikgb2xkaGFuZGxlcigpOwogICAgICAgICAg ICBmbigpOwogICAgfQp9Cg== ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=javascript-mod.js Content-Type: text/javascript; charset=utf-8; name=javascript-mod.js Content-Location: http://prijimacky.osu.cz/lib/javascript-mod.php Content-Transfer-Encoding: 8bit // Javascript from Moodle modules ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=overlib.js Content-Type: application/javascript; charset=utf-8; name=overlib.js Content-Location: http://prijimacky.osu.cz/lib/overlib/overlib.js Content-Transfer-Encoding: Base64 Ly9cLy8vLy8KLy9cICBvdmVyTElCIDQuMjEgLSBZb3UgbWF5IG5vdCByZW1vdmUg b3IgY2hhbmdlIHRoaXMgbm90aWNlLgovL1wgIENvcHlyaWdodCBFcmlrIEJvc3J1 cCAxOTk4LTIwMDQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vXAovL1wgIENvbnRy aWJ1dG9ycyBhcmUgbGlzdGVkIG9uIHRoZSBob21lcGFnZS4KLy9cICBUaGlzIGZp bGUgbWlnaHQgYmUgb2xkLCBhbHdheXMgY2hlY2sgZm9yIHRoZSBsYXRlc3QgdmVy c2lvbiBhdDoKLy9cICBodHRwOi8vd3d3LmJvc3J1cC5jb20vd2ViL292ZXJsaWIv Ci8vXAovL1wgIFBsZWFzZSByZWFkIHRoZSBsaWNlbnNlIGFncmVlbWVudCAoYXZh aWxhYmxlIHRocm91Z2ggdGhlIGxpbmsgYWJvdmUpCi8vXCAgYmVmb3JlIHVzaW5n IG92ZXJMSUIuIERpcmVjdCBhbnkgbGljZW5zaW5nIHF1ZXN0aW9ucyB0byBlcmlr QGJvc3J1cC5jb20uCi8vXAovL1wgIERvIG5vdCBzZWxsIHRoaXMgYXMgeW91ciBv d24gd29yayBvciByZW1vdmUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLiAKLy9cICBG b3IgZnVsbCBkZXRhaWxzIG9uIGNvcHlpbmcgb3IgY2hhbmdpbmcgdGhpcyBzY3Jp cHQgcGxlYXNlIHJlYWQgdGhlCi8vXCAgbGljZW5zZSBhZ3JlZW1lbnQgYXQgdGhl IGxpbmsgYWJvdmUuIFBsZWFzZSBnaXZlIGNyZWRpdCBvbiBzaXRlcyB0aGF0Ci8v XCAgdXNlIG92ZXJMSUIgYW5kIHN1Ym1pdCBjaGFuZ2VzIG9mIHRoZSBzY3JpcHQg c28gb3RoZXIgcGVvcGxlIGNhbiB1c2UKLy9cICB0aGVtIGFzIHdlbGwuCi8vICAg JFJldmlzaW9uOiAxLjEuMi4xICQgICAgICAgICAgICAgICAgJERhdGU6IDIwMTAv MTIvMjIgMDc6NDk6MTAgJAovL1wvLy8vLwovL1xtaW5pCgovLy8vLy8vLwovLyBQ UkUtSU5JVAovLyBJZ25vcmUgdGhlc2UgbGluZXMsIGNvbmZpZ3VyYXRpb24gaXMg YmVsb3cuCi8vLy8vLy8vCnZhciBvbExvYWRlZCA9IDA7dmFyIHBtU3RhcnQgPSAx MDAwMDAwMDsgdmFyIHBtVXBwZXIgPSAxMDAwMTAwMDsgdmFyIHBtQ291bnQgPSBw bVN0YXJ0KzE7IHZhciBwbXQ9Jyc7IHZhciBwbXMgPSBuZXcgQXJyYXkoKTsgdmFy IG9sSW5mbyA9IG5ldyBJbmZvKCc0LjIxJywgMSk7CnZhciBGUkVQTEFDRSA9IDA7 IHZhciBGQkVGT1JFID0gMTsgdmFyIEZBRlRFUiA9IDI7IHZhciBGQUxURVJOQVRF ID0gMzsgdmFyIEZDSEFJTj00Owp2YXIgb2xIaWRlRm9ybT0wOyAgLy8gcGFyYW1l dGVyIGZvciBoaWRpbmcgU0VMRUNUIGFuZCBBY3RpdmVYIGVsZW1lbnRzIGluIElF NS41KyAKdmFyIG9sSGF1dG9GbGFnID0gMDsgIC8vIGZsYWdzIGZvciBvdmVyLXJp ZGluZyBWQVVUTyBhbmQgSEFVVE8gaWYgY29ycmVzcG9uZGluZwp2YXIgb2xWYXV0 b0ZsYWcgPSAwOyAgLy8gcG9zaXRpb25pbmcgY29tbWFuZHMgYXJlIHVzZWQgb24g dGhlIGNvbW1hbmQgbGluZQp2YXIgaG9va1B0cyA9IG5ldyBBcnJheSgpLCBwb3N0 UGFyc2UgPSBuZXcgQXJyYXkoKSwgY21kTGluZSA9IG5ldyBBcnJheSgpLCBydW5U aW1lID0gbmV3IEFycmF5KCk7Ci8vIGZvciBwbHVnaW5zCnJlZ2lzdGVyQ29tbWFu ZHMoJ2Rvbm90aGluZyxpbmFycmF5LGNhcGFycmF5LHN0aWNreSxiYWNrZ3JvdW5k LG5vY2xvc2UsY2FwdGlvbixsZWZ0LHJpZ2h0LGNlbnRlcixvZmZzZXR4LG9mZnNl dHksZmdjb2xvcixiZ2NvbG9yLHRleHRjb2xvcixjYXBjb2xvcixjbG9zZWNvbG9y LHdpZHRoLGJvcmRlcixjZWxscGFkLHN0YXR1cyxhdXRvc3RhdHVzLGF1dG9zdGF0 dXNjYXAsaGVpZ2h0LGNsb3NldGV4dCxzbmFweCxzbmFweSxmaXh4LGZpeHkscmVs eCxyZWx5LGZnYmFja2dyb3VuZCxiZ2JhY2tncm91bmQscGFkeCxwYWR5LGZ1bGxo dG1sLGFib3ZlLGJlbG93LGNhcGljb24sdGV4dGZvbnQsY2FwdGlvbmZvbnQsY2xv c2Vmb250LHRleHRzaXplLGNhcHRpb25zaXplLGNsb3Nlc2l6ZSx0aW1lb3V0LGZ1 bmN0aW9uLGRlbGF5LGhhdXRvLHZhdXRvLGNsb3NlY2xpY2ssd3JhcCxmb2xsb3dt b3VzZSxtb3VzZW9mZixjbG9zZXRpdGxlLGNzc29mZixjb21wYXRtb2RlLGNzc2Ns YXNzLGZnY2xhc3MsYmdjbGFzcyx0ZXh0Zm9udGNsYXNzLGNhcHRpb25mb250Y2xh c3MsY2xvc2Vmb250Y2xhc3MnKTsKCi8vLy8vLy8vCi8vIERFRkFVTFQgQ09ORklH VVJBVElPTgovLyBTZXR0aW5ncyB5b3Ugd2FudCBldmVyeXdoZXJlIGFyZSBzZXQg aGVyZS4gQWxsIG9mIHRoaXMgY2FuIGFsc28gYmUKLy8gY2hhbmdlZCBvbiB5b3Vy IGh0bWwgcGFnZSBvciB0aHJvdWdoIGFuIG92ZXJMSUIgY2FsbC4KLy8vLy8vLy8K aWYgKHR5cGVvZiBvbF9mZ2NvbG9yPT0ndW5kZWZpbmVkJykgdmFyIG9sX2ZnY29s b3I9IiNDQ0NDRkYiOwppZiAodHlwZW9mIG9sX2JnY29sb3I9PSd1bmRlZmluZWQn KSB2YXIgb2xfYmdjb2xvcj0iIzMzMzM5OSI7CmlmICh0eXBlb2Ygb2xfdGV4dGNv bG9yPT0ndW5kZWZpbmVkJykgdmFyIG9sX3RleHRjb2xvcj0iIzAwMDAwMCI7Cmlm ICh0eXBlb2Ygb2xfY2FwY29sb3I9PSd1bmRlZmluZWQnKSB2YXIgb2xfY2FwY29s b3I9IiNGRkZGRkYiOwppZiAodHlwZW9mIG9sX2Nsb3NlY29sb3I9PSd1bmRlZmlu ZWQnKSB2YXIgb2xfY2xvc2Vjb2xvcj0iIzk5OTlGRiI7CmlmICh0eXBlb2Ygb2xf dGV4dGZvbnQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfdGV4dGZvbnQ9IlZlcmRhbmEs QXJpYWwsSGVsdmV0aWNhIjsKaWYgKHR5cGVvZiBvbF9jYXB0aW9uZm9udD09J3Vu ZGVmaW5lZCcpIHZhciBvbF9jYXB0aW9uZm9udD0iVmVyZGFuYSxBcmlhbCxIZWx2 ZXRpY2EiOwppZiAodHlwZW9mIG9sX2Nsb3NlZm9udD09J3VuZGVmaW5lZCcpIHZh ciBvbF9jbG9zZWZvbnQ9IlZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhIjsKaWYgKHR5 cGVvZiBvbF90ZXh0c2l6ZT09J3VuZGVmaW5lZCcpIHZhciBvbF90ZXh0c2l6ZT0i MSI7CmlmICh0eXBlb2Ygb2xfY2FwdGlvbnNpemU9PSd1bmRlZmluZWQnKSB2YXIg b2xfY2FwdGlvbnNpemU9IjEiOwppZiAodHlwZW9mIG9sX2Nsb3Nlc2l6ZT09J3Vu ZGVmaW5lZCcpIHZhciBvbF9jbG9zZXNpemU9IjEiOwppZiAodHlwZW9mIG9sX3dp ZHRoPT0ndW5kZWZpbmVkJykgdmFyIG9sX3dpZHRoPSIyMDAiOwppZiAodHlwZW9m IG9sX2JvcmRlcj09J3VuZGVmaW5lZCcpIHZhciBvbF9ib3JkZXI9IjEiOwppZiAo dHlwZW9mIG9sX2NlbGxwYWQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfY2VsbHBhZD0y OwppZiAodHlwZW9mIG9sX29mZnNldHg9PSd1bmRlZmluZWQnKSB2YXIgb2xfb2Zm c2V0eD0xMDsKaWYgKHR5cGVvZiBvbF9vZmZzZXR5PT0ndW5kZWZpbmVkJykgdmFy IG9sX29mZnNldHk9MTA7CmlmICh0eXBlb2Ygb2xfdGV4dD09J3VuZGVmaW5lZCcp IHZhciBvbF90ZXh0PSJEZWZhdWx0IFRleHQiOwppZiAodHlwZW9mIG9sX2NhcD09 J3VuZGVmaW5lZCcpIHZhciBvbF9jYXA9IiI7CmlmICh0eXBlb2Ygb2xfc3RpY2t5 PT0ndW5kZWZpbmVkJykgdmFyIG9sX3N0aWNreT0wOwppZiAodHlwZW9mIG9sX2Jh Y2tncm91bmQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfYmFja2dyb3VuZD0iIjsKaWYg KHR5cGVvZiBvbF9jbG9zZT09J3VuZGVmaW5lZCcpIHZhciBvbF9jbG9zZT0iQ2xv c2UiOwppZiAodHlwZW9mIG9sX2hwb3M9PSd1bmRlZmluZWQnKSB2YXIgb2xfaHBv cz1SSUdIVDsKaWYgKHR5cGVvZiBvbF9zdGF0dXM9PSd1bmRlZmluZWQnKSB2YXIg b2xfc3RhdHVzPSIiOwppZiAodHlwZW9mIG9sX2F1dG9zdGF0dXM9PSd1bmRlZmlu ZWQnKSB2YXIgb2xfYXV0b3N0YXR1cz0wOwppZiAodHlwZW9mIG9sX2hlaWdodD09 J3VuZGVmaW5lZCcpIHZhciBvbF9oZWlnaHQ9LTE7CmlmICh0eXBlb2Ygb2xfc25h cHg9PSd1bmRlZmluZWQnKSB2YXIgb2xfc25hcHg9MDsKaWYgKHR5cGVvZiBvbF9z bmFweT09J3VuZGVmaW5lZCcpIHZhciBvbF9zbmFweT0wOwppZiAodHlwZW9mIG9s X2ZpeHg9PSd1bmRlZmluZWQnKSB2YXIgb2xfZml4eD0tMTsKaWYgKHR5cGVvZiBv bF9maXh5PT0ndW5kZWZpbmVkJykgdmFyIG9sX2ZpeHk9LTE7CmlmICh0eXBlb2Yg b2xfcmVseD09J3VuZGVmaW5lZCcpIHZhciBvbF9yZWx4PW51bGw7CmlmICh0eXBl b2Ygb2xfcmVseT09J3VuZGVmaW5lZCcpIHZhciBvbF9yZWx5PW51bGw7CmlmICh0 eXBlb2Ygb2xfZmdiYWNrZ3JvdW5kPT0ndW5kZWZpbmVkJykgdmFyIG9sX2ZnYmFj a2dyb3VuZD0iIjsKaWYgKHR5cGVvZiBvbF9iZ2JhY2tncm91bmQ9PSd1bmRlZmlu ZWQnKSB2YXIgb2xfYmdiYWNrZ3JvdW5kPSIiOwppZiAodHlwZW9mIG9sX3BhZHhs PT0ndW5kZWZpbmVkJykgdmFyIG9sX3BhZHhsPTE7CmlmICh0eXBlb2Ygb2xfcGFk eHI9PSd1bmRlZmluZWQnKSB2YXIgb2xfcGFkeHI9MTsKaWYgKHR5cGVvZiBvbF9w YWR5dD09J3VuZGVmaW5lZCcpIHZhciBvbF9wYWR5dD0xOwppZiAodHlwZW9mIG9s X3BhZHliPT0ndW5kZWZpbmVkJykgdmFyIG9sX3BhZHliPTE7CmlmICh0eXBlb2Yg b2xfZnVsbGh0bWw9PSd1bmRlZmluZWQnKSB2YXIgb2xfZnVsbGh0bWw9MDsKaWYg KHR5cGVvZiBvbF92cG9zPT0ndW5kZWZpbmVkJykgdmFyIG9sX3Zwb3M9QkVMT1c7 CmlmICh0eXBlb2Ygb2xfYWJvdmVoZWlnaHQ9PSd1bmRlZmluZWQnKSB2YXIgb2xf YWJvdmVoZWlnaHQ9MDsKaWYgKHR5cGVvZiBvbF9jYXBpY29uPT0ndW5kZWZpbmVk JykgdmFyIG9sX2NhcGljb249IiI7CmlmICh0eXBlb2Ygb2xfZnJhbWU9PSd1bmRl ZmluZWQnKSB2YXIgb2xfZnJhbWU9c2VsZjsKaWYgKHR5cGVvZiBvbF90aW1lb3V0 PT0ndW5kZWZpbmVkJykgdmFyIG9sX3RpbWVvdXQ9MDsKaWYgKHR5cGVvZiBvbF9m dW5jdGlvbj09J3VuZGVmaW5lZCcpIHZhciBvbF9mdW5jdGlvbj1udWxsOwppZiAo dHlwZW9mIG9sX2RlbGF5PT0ndW5kZWZpbmVkJykgdmFyIG9sX2RlbGF5PTA7Cmlm ICh0eXBlb2Ygb2xfaGF1dG89PSd1bmRlZmluZWQnKSB2YXIgb2xfaGF1dG89MDsK aWYgKHR5cGVvZiBvbF92YXV0bz09J3VuZGVmaW5lZCcpIHZhciBvbF92YXV0bz0w OwppZiAodHlwZW9mIG9sX2Nsb3NlY2xpY2s9PSd1bmRlZmluZWQnKSB2YXIgb2xf Y2xvc2VjbGljaz0wOwppZiAodHlwZW9mIG9sX3dyYXA9PSd1bmRlZmluZWQnKSB2 YXIgb2xfd3JhcD0wOwppZiAodHlwZW9mIG9sX2ZvbGxvd21vdXNlPT0ndW5kZWZp bmVkJykgdmFyIG9sX2ZvbGxvd21vdXNlPTE7CmlmICh0eXBlb2Ygb2xfbW91c2Vv ZmY9PSd1bmRlZmluZWQnKSB2YXIgb2xfbW91c2VvZmY9MDsKaWYgKHR5cGVvZiBv bF9jbG9zZXRpdGxlPT0ndW5kZWZpbmVkJykgdmFyIG9sX2Nsb3NldGl0bGU9J0Ns b3NlJzsKaWYgKHR5cGVvZiBvbF9jb21wYXRtb2RlPT0ndW5kZWZpbmVkJykgdmFy IG9sX2NvbXBhdG1vZGU9MDsKaWYgKHR5cGVvZiBvbF9jc3M9PSd1bmRlZmluZWQn KSB2YXIgb2xfY3NzPUNTU09GRjsKaWYgKHR5cGVvZiBvbF9mZ2NsYXNzPT0ndW5k ZWZpbmVkJykgdmFyIG9sX2ZnY2xhc3M9IiI7CmlmICh0eXBlb2Ygb2xfYmdjbGFz cz09J3VuZGVmaW5lZCcpIHZhciBvbF9iZ2NsYXNzPSIiOwppZiAodHlwZW9mIG9s X3RleHRmb250Y2xhc3M9PSd1bmRlZmluZWQnKSB2YXIgb2xfdGV4dGZvbnRjbGFz cz0iIjsKaWYgKHR5cGVvZiBvbF9jYXB0aW9uZm9udGNsYXNzPT0ndW5kZWZpbmVk JykgdmFyIG9sX2NhcHRpb25mb250Y2xhc3M9IiI7CmlmICh0eXBlb2Ygb2xfY2xv c2Vmb250Y2xhc3M9PSd1bmRlZmluZWQnKSB2YXIgb2xfY2xvc2Vmb250Y2xhc3M9 IiI7CgovLy8vLy8vLwovLyBBUlJBWSBDT05GSUdVUkFUSU9OCi8vLy8vLy8vCgov LyBZb3UgY2FuIHVzZSB0aGVzZSBhcnJheXMgdG8gc3RvcmUgcG9wdXAgdGV4dCBo ZXJlIGluc3RlYWQgb2YgaW4gdGhlIGh0bWwuCmlmICh0eXBlb2Ygb2xfdGV4dHM9 PSd1bmRlZmluZWQnKSB2YXIgb2xfdGV4dHMgPSBuZXcgQXJyYXkoIlRleHQgMCIs ICJUZXh0IDEiKTsKaWYgKHR5cGVvZiBvbF9jYXBzPT0ndW5kZWZpbmVkJykgdmFy IG9sX2NhcHMgPSBuZXcgQXJyYXkoIkNhcHRpb24gMCIsICJDYXB0aW9uIDEiKTsK Ci8vLy8vLy8vCi8vIEVORCBPRiBDT05GSUdVUkFUSU9OCi8vIERvbid0IGNoYW5n ZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUsIGFsbCBjb25maWd1cmF0aW9uIGlz IGFib3ZlLgovLy8vLy8vLwoKCgoKCi8vLy8vLy8vCi8vIElOSVQKLy8vLy8vLy8K Ly8gUnVudGltZSB2YXJpYWJsZXMgaW5pdC4gRG9uJ3QgY2hhbmdlIGZvciBjb25m aWchCnZhciBvM190ZXh0PSIiOwp2YXIgbzNfY2FwPSIiOwp2YXIgbzNfc3RpY2t5 PTA7CnZhciBvM19iYWNrZ3JvdW5kPSIiOwp2YXIgbzNfY2xvc2U9IkNsb3NlIjsK dmFyIG8zX2hwb3M9UklHSFQ7CnZhciBvM19vZmZzZXR4PTI7CnZhciBvM19vZmZz ZXR5PTI7CnZhciBvM19mZ2NvbG9yPSIiOwp2YXIgbzNfYmdjb2xvcj0iIjsKdmFy IG8zX3RleHRjb2xvcj0iIjsKdmFyIG8zX2NhcGNvbG9yPSIiOwp2YXIgbzNfY2xv c2Vjb2xvcj0iIjsKdmFyIG8zX3dpZHRoPTEwMDsKdmFyIG8zX2JvcmRlcj0xOwp2 YXIgbzNfY2VsbHBhZD0yOwp2YXIgbzNfc3RhdHVzPSIiOwp2YXIgbzNfYXV0b3N0 YXR1cz0wOwp2YXIgbzNfaGVpZ2h0PS0xOwp2YXIgbzNfc25hcHg9MDsKdmFyIG8z X3NuYXB5PTA7CnZhciBvM19maXh4PS0xOwp2YXIgbzNfZml4eT0tMTsKdmFyIG8z X3JlbHg9bnVsbDsKdmFyIG8zX3JlbHk9bnVsbDsKdmFyIG8zX2ZnYmFja2dyb3Vu ZD0iIjsKdmFyIG8zX2JnYmFja2dyb3VuZD0iIjsKdmFyIG8zX3BhZHhsPTA7CnZh ciBvM19wYWR4cj0wOwp2YXIgbzNfcGFkeXQ9MDsKdmFyIG8zX3BhZHliPTA7CnZh ciBvM19mdWxsaHRtbD0wOwp2YXIgbzNfdnBvcz1CRUxPVzsKdmFyIG8zX2Fib3Zl aGVpZ2h0PTA7CnZhciBvM19jYXBpY29uPSIiOwp2YXIgbzNfdGV4dGZvbnQ9IlZl cmRhbmEsQXJpYWwsSGVsdmV0aWNhIjsKdmFyIG8zX2NhcHRpb25mb250PSJWZXJk YW5hLEFyaWFsLEhlbHZldGljYSI7CnZhciBvM19jbG9zZWZvbnQ9IlZlcmRhbmEs QXJpYWwsSGVsdmV0aWNhIjsKdmFyIG8zX3RleHRzaXplPSIxIjsKdmFyIG8zX2Nh cHRpb25zaXplPSIxIjsKdmFyIG8zX2Nsb3Nlc2l6ZT0iMSI7CnZhciBvM19mcmFt ZT1zZWxmOwp2YXIgbzNfdGltZW91dD0wOwp2YXIgbzNfdGltZXJpZD0wOwp2YXIg bzNfYWxsb3dtb3ZlPTA7CnZhciBvM19mdW5jdGlvbj1udWxsOyAKdmFyIG8zX2Rl bGF5PTA7CnZhciBvM19kZWxheWlkPTA7CnZhciBvM19oYXV0bz0wOwp2YXIgbzNf dmF1dG89MDsKdmFyIG8zX2Nsb3NlY2xpY2s9MDsKdmFyIG8zX3dyYXA9MDsKdmFy IG8zX2ZvbGxvd21vdXNlPTE7CnZhciBvM19tb3VzZW9mZj0wOwp2YXIgbzNfY2xv c2V0aXRsZT0nJzsKdmFyIG8zX2NvbXBhdG1vZGU9MDsKdmFyIG8zX2Nzcz1DU1NP RkY7CnZhciBvM19mZ2NsYXNzPSIiOwp2YXIgbzNfYmdjbGFzcz0iIjsKdmFyIG8z X3RleHRmb250Y2xhc3M9IiI7CnZhciBvM19jYXB0aW9uZm9udGNsYXNzPSIiOwp2 YXIgbzNfY2xvc2Vmb250Y2xhc3M9IiI7CgovLyBEaXNwbGF5IHN0YXRlIHZhcmlh Ymxlcwp2YXIgbzNfeCA9IDA7CnZhciBvM195ID0gMDsKdmFyIG8zX3Nob3dpbmdz dGlja3kgPSAwOwp2YXIgbzNfcmVtb3ZlY291bnRlciA9IDA7CgovLyBPdXIgbGF5 ZXIKdmFyIG92ZXIgPSBudWxsOwp2YXIgZm5SZWYsIGhvdmVyaW5nU3dpdGNoID0g ZmFsc2U7CnZhciBvbEhpZGVEZWxheTsKCi8vIERlY2lkZSBicm93c2VyIHZlcnNp b24KdmFyIGlzTWFjID0gKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFj IikgIT0gLTEpOwp2YXIgb2xPcCA9IChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93 ZXJDYXNlKCkuaW5kZXhPZignb3BlcmEnKSA+IC0xICYmIGRvY3VtZW50LmNyZWF0 ZVRleHROb2RlKTsgIC8vIE9wZXJhIDcKdmFyIG9sTnM0ID0gKG5hdmlnYXRvci5h cHBOYW1lPT0nTmV0c2NhcGUnICYmIHBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJz aW9uKSA9PSA0KTsKdmFyIG9sTnM2ID0gKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk KSA/IHRydWUgOiBmYWxzZTsKdmFyIG9sS3EgPSAob2xOczYgJiYgL2tvbnF1ZXJv ci9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpOwp2YXIgb2xJZTQgPSAoZG9j dW1lbnQuYWxsKSA/IHRydWUgOiBmYWxzZTsKdmFyIG9sSWU1ID0gZmFsc2U7IAp2 YXIgb2xJZTU1ID0gZmFsc2U7IC8vIEFkZGVkIGFkZGl0aW9uYWwgdmFyaWFibGUg dG8gaWRlbnRpZnkgSUU1LjUrCnZhciBkb2NSb290ID0gJ2RvY3VtZW50LmJvZHkn OwoKLy8gUmVzaXplIGZpeCBmb3IgTlM0LnggdG8ga2VlcCB0cmFjayBvZiBsYXll cgppZiAob2xOczQpIHsKCXZhciBvVyA9IHdpbmRvdy5pbm5lcldpZHRoOwoJdmFy IG9IID0gd2luZG93LmlubmVySGVpZ2h0OwoJd2luZG93Lm9ucmVzaXplID0gZnVu Y3Rpb24oKSB7IGlmIChvVyAhPSB3aW5kb3cuaW5uZXJXaWR0aCB8fCBvSCAhPSB3 aW5kb3cuaW5uZXJIZWlnaHQpIGxvY2F0aW9uLnJlbG9hZCgpOyB9Cn0KCi8vIE1p Y3Jvc29mdCBTdHVwaWRpdHkgQ2hlY2sodG0pLgppZiAob2xJZTQpIHsKCXZhciBh Z2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7CglpZiAoL01TSUUvLnRlc3QoYWdl bnQpKSB7CgkJdmFyIHZlcnNOdW0gPSBwYXJzZUZsb2F0KGFnZW50Lm1hdGNoKC9N U0lFWyBdKFxkXC5cZCspXC4qL2kpWzFdKTsKCQlpZiAodmVyc051bSA+PSA1KXsK CQkJb2xJZTU9dHJ1ZTsKCQkJb2xJZTU1PSh2ZXJzTnVtPj01LjUmJiFvbE9wKSA/ IHRydWUgOiBmYWxzZTsKCQkJaWYgKG9sTnM2KSBvbE5zNj1mYWxzZTsKCQl9Cgl9 CglpZiAob2xOczYpIG9sSWU0ID0gZmFsc2U7Cn0KCi8vIENoZWNrIGZvciBjb21w YXRhYmlsaXR5IG1vZGUuCmlmIChkb2N1bWVudC5jb21wYXRNb2RlICYmIGRvY3Vt ZW50LmNvbXBhdE1vZGUgPT0gJ0NTUzFDb21wYXQnKSB7Cglkb2NSb290PSAoKG9s SWU0ICYmICFvbE9wKSA/ICdkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQnIDogZG9j Um9vdCk7Cn0KCi8vIEFkZCB3aW5kb3cgb25sb2FkIGhhbmRsZXJzIHRvIGluZGlj YXRlIHdoZW4gYWxsIG1vZHVsZXMgaGF2ZSBiZWVuIGxvYWRlZAovLyBGb3IgTmV0 c2NhcGUgNisgYW5kIE1vemlsbGEsIHVzZXMgYWRkRXZlbnRMaXN0ZW5lciBtZXRo b2Qgb24gdGhlIHdpbmRvdyBvYmplY3QKLy8gRm9yIElFIGl0IHVzZXMgdGhlIGF0 dGFjaEV2ZW50IG1ldGhvZCBvZiB0aGUgd2luZG93IG9iamVjdCBhbmQgZm9yIE5l dHNjYXBlIDQueAovLyBpdCBzZXRzIHRoZSB3aW5kb3cub25sb2FkIGhhbmRsZXIg dG8gdGhlIE9Mb25sb2FkX2hhbmRsZXIgZnVuY3Rpb24gZm9yIEJ1YmJsaW5nCmlm KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l cigibG9hZCIsT0xvbkxvYWRfaGFuZGxlcixmYWxzZSk7CmVsc2UgaWYgKHdpbmRv dy5hdHRhY2hFdmVudCkgd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLE9Mb25M b2FkX2hhbmRsZXIpOwoKdmFyIGNhcEV4dGVudDsKCi8vLy8vLy8vCi8vIFBVQkxJ QyBGVU5DVElPTlMKLy8vLy8vLy8KCi8vIG92ZXJsaWIoYXJnMCwuLi4sYXJnTikK Ly8gTG9hZHMgcGFyYW1ldGVycyBpbnRvIGdsb2JhbCBydW50aW1lIHZhcmlhYmxl cy4KZnVuY3Rpb24gb3ZlcmxpYigpIHsKCWlmICghb2xMb2FkZWQgfHwgaXNFeGNs dXNpdmUob3ZlcmxpYi5hcmd1bWVudHMpKSByZXR1cm4gdHJ1ZTsKCWlmIChvbENo ZWNrTW91c2VDYXB0dXJlKSBvbE1vdXNlQ2FwdHVyZSgpOwoJaWYgKG92ZXIpIHsK CQlvdmVyID0gKHR5cGVvZiBvdmVyLmlkICE9ICdzdHJpbmcnKSA/IG8zX2ZyYW1l LmRvY3VtZW50LmFsbFsnb3ZlckRpdiddIDogb3ZlcjsKCQljQ2xpY2soKTsKCX0K CgkvLyBMb2FkIGRlZmF1bHRzIHRvIHJ1bnRpbWUuCiAgb2xIaWRlRGVsYXk9MDsK CW8zX3RleHQ9b2xfdGV4dDsKCW8zX2NhcD1vbF9jYXA7CglvM19zdGlja3k9b2xf c3RpY2t5OwoJbzNfYmFja2dyb3VuZD1vbF9iYWNrZ3JvdW5kOwoJbzNfY2xvc2U9 b2xfY2xvc2U7CglvM19ocG9zPW9sX2hwb3M7CglvM19vZmZzZXR4PW9sX29mZnNl dHg7CglvM19vZmZzZXR5PW9sX29mZnNldHk7CglvM19mZ2NvbG9yPW9sX2ZnY29s b3I7CglvM19iZ2NvbG9yPW9sX2JnY29sb3I7CglvM190ZXh0Y29sb3I9b2xfdGV4 dGNvbG9yOwoJbzNfY2FwY29sb3I9b2xfY2FwY29sb3I7CglvM19jbG9zZWNvbG9y PW9sX2Nsb3NlY29sb3I7CglvM193aWR0aD1vbF93aWR0aDsKCW8zX2JvcmRlcj1v bF9ib3JkZXI7CglvM19jZWxscGFkPW9sX2NlbGxwYWQ7CglvM19zdGF0dXM9b2xf c3RhdHVzOwoJbzNfYXV0b3N0YXR1cz1vbF9hdXRvc3RhdHVzOwoJbzNfaGVpZ2h0 PW9sX2hlaWdodDsKCW8zX3NuYXB4PW9sX3NuYXB4OwoJbzNfc25hcHk9b2xfc25h cHk7CglvM19maXh4PW9sX2ZpeHg7CglvM19maXh5PW9sX2ZpeHk7CglvM19yZWx4 PW9sX3JlbHg7CglvM19yZWx5PW9sX3JlbHk7CglvM19mZ2JhY2tncm91bmQ9b2xf ZmdiYWNrZ3JvdW5kOwoJbzNfYmdiYWNrZ3JvdW5kPW9sX2JnYmFja2dyb3VuZDsK CW8zX3BhZHhsPW9sX3BhZHhsOwoJbzNfcGFkeHI9b2xfcGFkeHI7CglvM19wYWR5 dD1vbF9wYWR5dDsKCW8zX3BhZHliPW9sX3BhZHliOwoJbzNfZnVsbGh0bWw9b2xf ZnVsbGh0bWw7CglvM192cG9zPW9sX3Zwb3M7CglvM19hYm92ZWhlaWdodD1vbF9h Ym92ZWhlaWdodDsKCW8zX2NhcGljb249b2xfY2FwaWNvbjsKCW8zX3RleHRmb250 PW9sX3RleHRmb250OwoJbzNfY2FwdGlvbmZvbnQ9b2xfY2FwdGlvbmZvbnQ7Cglv M19jbG9zZWZvbnQ9b2xfY2xvc2Vmb250OwoJbzNfdGV4dHNpemU9b2xfdGV4dHNp emU7CglvM19jYXB0aW9uc2l6ZT1vbF9jYXB0aW9uc2l6ZTsKCW8zX2Nsb3Nlc2l6 ZT1vbF9jbG9zZXNpemU7CglvM190aW1lb3V0PW9sX3RpbWVvdXQ7CglvM19mdW5j dGlvbj1vbF9mdW5jdGlvbjsKCW8zX2RlbGF5PW9sX2RlbGF5OwoJbzNfaGF1dG89 b2xfaGF1dG87CglvM192YXV0bz1vbF92YXV0bzsKCW8zX2Nsb3NlY2xpY2s9b2xf Y2xvc2VjbGljazsKCW8zX3dyYXA9b2xfd3JhcDsJCglvM19mb2xsb3dtb3VzZT1v bF9mb2xsb3dtb3VzZTsKCW8zX21vdXNlb2ZmPW9sX21vdXNlb2ZmOwoJbzNfY2xv c2V0aXRsZT1vbF9jbG9zZXRpdGxlOwoJbzNfY3NzPW9sX2NzczsKCW8zX2NvbXBh dG1vZGU9b2xfY29tcGF0bW9kZTsKCW8zX2ZnY2xhc3M9b2xfZmdjbGFzczsKCW8z X2JnY2xhc3M9b2xfYmdjbGFzczsKCW8zX3RleHRmb250Y2xhc3M9b2xfdGV4dGZv bnRjbGFzczsKCW8zX2NhcHRpb25mb250Y2xhc3M9b2xfY2FwdGlvbmZvbnRjbGFz czsKCW8zX2Nsb3NlZm9udGNsYXNzPW9sX2Nsb3NlZm9udGNsYXNzOwoJCglzZXRS dW5UaW1lVmFyaWFibGVzKCk7CgkKCWZuUmVmID0gJyc7CgkKCS8vIFNwZWNpYWwg Zm9yIGZyYW1lIHN1cHBvcnQsIG92ZXIgbXVzdCBiZSByZXNldC4uLgoJbzNfZnJh bWUgPSBvbF9mcmFtZTsKCQoJaWYoIShvdmVyPWNyZWF0ZURpdkNvbnRhaW5lcigp KSkgcmV0dXJuIGZhbHNlOwoKCXBhcnNlVG9rZW5zKCdvM18nLCBvdmVybGliLmFy Z3VtZW50cyk7CglpZiAoIXBvc3RQYXJzZUNoZWNrcygpKSByZXR1cm4gZmFsc2U7 CgoJaWYgKG8zX2RlbGF5ID09IDApIHsKCQlyZXR1cm4gcnVuSG9vaygib2xNYWlu IiwgRlJFUExBQ0UpOwogCX0gZWxzZSB7CgkJbzNfZGVsYXlpZCA9IHNldFRpbWVv dXQoInJ1bkhvb2soJ29sTWFpbicsIEZSRVBMQUNFKSIsIG8zX2RlbGF5KTsKCQly ZXR1cm4gZmFsc2U7Cgl9Cn0KCi8vIENsZWFycyBwb3B1cHMgaWYgYXBwcm9wcmlh dGUKZnVuY3Rpb24gbmQodGltZSkgewoJaWYgKG9sTG9hZGVkICYmICFpc0V4Y2x1 c2l2ZSgpKSB7CgkJaGlkZURlbGF5KHRpbWUpOyAgLy8gZGVsYXkgcG9wdXAgY2xv c2UgaWYgdGltZSBzcGVjaWZpZWQKCgkJaWYgKG8zX3JlbW92ZWNvdW50ZXIgPj0g MSkgeyBvM19zaG93aW5nc3RpY2t5ID0gMCB9OwoJCQoJCWlmIChvM19zaG93aW5n c3RpY2t5ID09IDApIHsKCQkJbzNfYWxsb3dtb3ZlID0gMDsKCQkJaWYgKG92ZXIg IT0gbnVsbCAmJiBvM190aW1lcmlkID09IDApIHJ1bkhvb2soImhpZGVPYmplY3Qi LCBGUkVQTEFDRSwgb3Zlcik7CgkJfSBlbHNlIHsKCQkJbzNfcmVtb3ZlY291bnRl cisrOwoJCX0KCX0KCQoJcmV0dXJuIHRydWU7Cn0KCi8vIFRoZSBDbG9zZSBvbk1v dXNlT3ZlciBmdW5jdGlvbiBmb3Igc3RpY2tpZXMKZnVuY3Rpb24gY0NsaWNrKCkg ewoJaWYgKG9sTG9hZGVkKSB7CgkJcnVuSG9vaygiaGlkZU9iamVjdCIsIEZSRVBM QUNFLCBvdmVyKTsKCQlvM19zaG93aW5nc3RpY2t5ID0gMDsJCgl9CQoJcmV0dXJu IGZhbHNlOwp9CgovLyBNZXRob2QgZm9yIHNldHRpbmcgcGFnZSBzcGVjaWZpYyBk ZWZhdWx0cy4KZnVuY3Rpb24gb3ZlcmxpYl9wYWdlZGVmYXVsdHMoKSB7CglwYXJz ZVRva2Vucygnb2xfJywgb3ZlcmxpYl9wYWdlZGVmYXVsdHMuYXJndW1lbnRzKTsK fQoKCi8vLy8vLy8vCi8vIE9WRVJMSUIgTUFJTiBGVU5DVElPTgovLy8vLy8vLwoK Ly8gVGhpcyBmdW5jdGlvbiBkZWNpZGVzIHdoYXQgaXQgaXMgd2Ugd2FudCB0byBk aXNwbGF5IGFuZCBob3cgd2Ugd2FudCBpdCBkb25lLgpmdW5jdGlvbiBvbE1haW4o KSB7Cgl2YXIgbGF5ZXJodG1sLCBzdHlsZVR5cGU7CiAJcnVuSG9vaygib2xNYWlu IiwgRkJFRk9SRSk7CiAJCglpZiAobzNfYmFja2dyb3VuZCE9IiIgfHwgbzNfZnVs bGh0bWwpIHsKCQkvLyBVc2UgYmFja2dyb3VuZCBpbnN0ZWFkIG9mIGJveC4KCQls YXllcmh0bWwgPSBydW5Ib29rKCdvbF9jb250ZW50X2JhY2tncm91bmQnLCBGQUxU RVJOQVRFLCBvM19jc3MsIG8zX3RleHQsIG8zX2JhY2tncm91bmQsIG8zX2Z1bGxo dG1sKTsKCX0gZWxzZSB7CgkJLy8gVGhleSB3YW50IGEgcG9wdXAgYm94LgoJCXN0 eWxlVHlwZSA9IChwbXNbbzNfY3NzLTEtcG1TdGFydF0gPT0gImNzc29mZiIgfHwg cG1zW28zX2Nzcy0xLXBtU3RhcnRdID09ICJjc3NjbGFzcyIpOwoKCQkvLyBQcmVw YXJlIHBvcHVwIGJhY2tncm91bmQKCQlpZiAobzNfZmdiYWNrZ3JvdW5kICE9ICIi KSBvM19mZ2JhY2tncm91bmQgPSAiYmFja2dyb3VuZD1cIiIrbzNfZmdiYWNrZ3Jv dW5kKyJcIiI7CgkJaWYgKG8zX2JnYmFja2dyb3VuZCAhPSAiIikgbzNfYmdiYWNr Z3JvdW5kID0gKHN0eWxlVHlwZSA/ICJiYWNrZ3JvdW5kPVwiIitvM19iZ2JhY2tn cm91bmQrIlwiIiA6IG8zX2JnYmFja2dyb3VuZCk7CgoJCS8vIFByZXBhcmUgcG9w dXAgY29sb3JzCgkJaWYgKG8zX2ZnY29sb3IgIT0gIiIpIG8zX2ZnY29sb3IgPSAo c3R5bGVUeXBlID8gImJnY29sb3I9XCIiK28zX2ZnY29sb3IrIlwiIiA6IG8zX2Zn Y29sb3IpOwoJCWlmIChvM19iZ2NvbG9yICE9ICIiKSBvM19iZ2NvbG9yID0gKHN0 eWxlVHlwZSA/ICJiZ2NvbG9yPVwiIitvM19iZ2NvbG9yKyJcIiIgOiBvM19iZ2Nv bG9yKTsKCgkJLy8gUHJlcGFyZSBwb3B1cCBoZWlnaHQKCQlpZiAobzNfaGVpZ2h0 ID4gMCkgbzNfaGVpZ2h0ID0gKHN0eWxlVHlwZSA/ICJoZWlnaHQ9XCIiK28zX2hl aWdodCsiXCIiIDogbzNfaGVpZ2h0KTsKCQllbHNlIG8zX2hlaWdodCA9ICIiOwoK CQkvLyBEZWNpZGUgd2hpY2gga2luZGEgYm94LgoJCWlmIChvM19jYXA9PSIiKSB7 CgkJCS8vIFBsYWluCgkJCWxheWVyaHRtbCA9IHJ1bkhvb2soJ29sX2NvbnRlbnRf c2ltcGxlJywgRkFMVEVSTkFURSwgbzNfY3NzLCBvM190ZXh0KTsKCQl9IGVsc2Ug ewoJCQkvLyBXaXRoIGNhcHRpb24KCQkJaWYgKG8zX3N0aWNreSkgewoJCQkJLy8g U2hvdyBjbG9zZSB0ZXh0CgkJCQlsYXllcmh0bWwgPSBydW5Ib29rKCdvbF9jb250 ZW50X2NhcHRpb24nLCBGQUxURVJOQVRFLCBvM19jc3MsIG8zX3RleHQsIG8zX2Nh cCwgbzNfY2xvc2UpOwoJCQl9IGVsc2UgewoJCQkJLy8gTm8gY2xvc2UgdGV4dAoJ CQkJbGF5ZXJodG1sID0gcnVuSG9vaygnb2xfY29udGVudF9jYXB0aW9uJywgRkFM VEVSTkFURSwgbzNfY3NzLCBvM190ZXh0LCBvM19jYXAsICIiKTsKCQkJfQoJCX0K CX0JCgoJLy8gV2Ugd2FudCBpdCB0byBzdGljayEKCWlmIChvM19zdGlja3kpIHsK CQlpZiAobzNfdGltZXJpZCA+IDApIHsKCQkJY2xlYXJUaW1lb3V0KG8zX3RpbWVy aWQpOwoJCQlvM190aW1lcmlkID0gMDsKCQl9CgkJbzNfc2hvd2luZ3N0aWNreSA9 IDE7CgkJbzNfcmVtb3ZlY291bnRlciA9IDA7Cgl9CgoJLy8gQ3JlYXRlZCBhIHNl cGFyYXRlIHJvdXRpbmUgdG8gZ2VuZXJhdGUgdGhlIHBvcHVwIHRvIG1ha2UgaXQg ZWFzaWVyCgkvLyB0byBpbXBsZW1lbnQgYSBwbHVnaW4gY2FwYWJpbGl0eQoJaWYg KCFydW5Ib29rKCJjcmVhdGVQb3B1cCIsIEZSRVBMQUNFLCBsYXllcmh0bWwpKSBy ZXR1cm4gZmFsc2U7CgoJLy8gUHJlcGFyZSBzdGF0dXMgYmFyCglpZiAobzNfYXV0 b3N0YXR1cyA+IDApIHsKCQlvM19zdGF0dXMgPSBvM190ZXh0OwoJCWlmIChvM19h dXRvc3RhdHVzID4gMSkgbzNfc3RhdHVzID0gbzNfY2FwOwoJfQoKCS8vIFdoZW4g cGxhY2luZyB0aGUgbGF5ZXIgdGhlIGZpcnN0IHRpbWUsIGV2ZW4gc3RpY2tpZXMg bWF5IGJlIG1vdmVkLgoJbzNfYWxsb3dtb3ZlID0gMDsKCgkvLyBJbml0aWF0ZSBh IHRpbWVyIGZvciB0aW1lb3V0CglpZiAobzNfdGltZW91dCA+IDApIHsgICAgICAg ICAgCgkJaWYgKG8zX3RpbWVyaWQgPiAwKSBjbGVhclRpbWVvdXQobzNfdGltZXJp ZCk7CgkJbzNfdGltZXJpZCA9IHNldFRpbWVvdXQoImNDbGljaygpIiwgbzNfdGlt ZW91dCk7Cgl9CgoJLy8gU2hvdyBsYXllcgoJcnVuSG9vaygiZGlzcCIsIEZSRVBM QUNFLCBvM19zdGF0dXMpOwoJcnVuSG9vaygib2xNYWluIiwgRkFGVEVSKTsKCgly ZXR1cm4gKG9sT3AgJiYgZXZlbnQgJiYgZXZlbnQudHlwZSA9PSAnbW91c2VvdmVy JyAmJiAhbzNfc3RhdHVzKSA/ICcnIDogKG8zX3N0YXR1cyAhPSAnJyk7Cn0KCi8v Ly8vLy8vCi8vIExBWUVSIEdFTkVSQVRJT04gRlVOQ1RJT05TCi8vLy8vLy8vCi8v IFRoZXNlIGZ1bmN0aW9ucyBqdXN0IGhhbmRsZSBwb3B1cCBjb250ZW50IHdpdGgg dGFncyB0aGF0IHNob3VsZCBhZGhlcmUgdG8gdGhlIFczQyBzdGFuZGFyZHMgc3Bl Y2lmaWNhdGlvbi4KCi8vIE1ha2VzIHNpbXBsZSB0YWJsZSB3aXRob3V0IGNhcHRp b24KZnVuY3Rpb24gb2xfY29udGVudF9zaW1wbGUodGV4dCkgewoJdmFyIGNwSXNN dWx0aXBsZSA9IC8sLy50ZXN0KG8zX2NlbGxwYWQpOwoJdmFyIHR4dCA9ICc8dGFi bGUgd2lkdGg9IicrbzNfd2lkdGgrICciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9 IicrbzNfYm9yZGVyKyciIGNlbGxzcGFjaW5nPSIwIiAnKyhvM19iZ2NsYXNzID8g J2NsYXNzPSInK28zX2JnY2xhc3MrJyInIDogbzNfYmdjb2xvcisnICcrbzNfaGVp Z2h0KSsnPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiICcr KChvbE5zNHx8IWNwSXNNdWx0aXBsZSkgPyAnY2VsbHBhZGRpbmc9IicrbzNfY2Vs bHBhZCsnIiAnIDogJycpKydjZWxsc3BhY2luZz0iMCIgJysobzNfZmdjbGFzcyA/ ICdjbGFzcz0iJytvM19mZ2NsYXNzKyciJyA6IG8zX2ZnY29sb3IrJyAnK28zX2Zn YmFja2dyb3VuZCsnICcrbzNfaGVpZ2h0KSsnPjx0cj48dGQgdmFsaWduPSJUT1Ai JysobzNfdGV4dGZvbnRjbGFzcyA/ICcgY2xhc3M9IicrbzNfdGV4dGZvbnRjbGFz cysnIj4nIDogKCghb2xOczQmJmNwSXNNdWx0aXBsZSkgPyAnIHN0eWxlPSInK3Nl dENlbGxQYWRTdHIobzNfY2VsbHBhZCkrJyI+JyA6ICc+JykpKyhvM190ZXh0Zm9u dGNsYXNzID8gJycgOiB3cmFwU3RyKDAsbzNfdGV4dHNpemUsJ3RleHQnKSkrdGV4 dCsobzNfdGV4dGZvbnRjbGFzcyA/ICcnIDogd3JhcFN0cigxLG8zX3RleHRzaXpl KSkrJzwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPic7CgoJc2V0 X2JhY2tncm91bmQoIiIpOwoJcmV0dXJuIHR4dDsKfQoKLy8gTWFrZXMgdGFibGUg d2l0aCBjYXB0aW9uIGFuZCBvcHRpb25hbCBjbG9zZSBsaW5rCmZ1bmN0aW9uIG9s X2NvbnRlbnRfY2FwdGlvbih0ZXh0LHRpdGxlLGNsb3NlKSB7Cgl2YXIgbmFtZUlk LCB0eHQsIGNwSXNNdWx0aXBsZSA9IC8sLy50ZXN0KG8zX2NlbGxwYWQpOwoJdmFy IGNsb3NpbmcsIGNsb3NlZXZlbnQ7CgoJY2xvc2luZyA9ICIiOwoJY2xvc2VldmVu dCA9ICJvbm1vdXNlb3ZlciI7CglpZiAobzNfY2xvc2VjbGljayA9PSAxKSBjbG9z ZWV2ZW50ID0gKG8zX2Nsb3NldGl0bGUgPyAidGl0bGU9JyIgKyBvM19jbG9zZXRp dGxlICsiJyIgOiAiIikgKyAiIG9uY2xpY2siOwoJaWYgKG8zX2NhcGljb24gIT0g IiIpIHsKCSAgbmFtZUlkID0gJyBoc3BhY2UgPSBcIjVcIicrJyBhbGlnbiA9IFwi bWlkZGxlXCIgYWx0ID0gXCJcIic7CgkgIGlmICh0eXBlb2YgbzNfZHJhZ2ltZyAh PSAndW5kZWZpbmVkJyAmJiBvM19kcmFnaW1nKSBuYW1lSWQgPScgaHNwYWNlPVwi NVwiJysnIG5hbWU9XCInK28zX2RyYWdpbWcrJ1wiIGlkPVwiJytvM19kcmFnaW1n KydcIiBhbGlnbj1cIm1pZGRsZVwiIGFsdD1cIkRyYWcgRW5hYmxlZFwiIHRpdGxl PVwiRHJhZyBFbmFibGVkXCInOwoJICBvM19jYXBpY29uID0gJzxpbWcgc3JjPVwi JytvM19jYXBpY29uKydcIicrbmFtZUlkKycgLz4nOwoJfQoKCWlmIChjbG9zZSAh PSAiIikKCQljbG9zaW5nID0gJzx0ZCAnKyghbzNfY29tcGF0bW9kZSAmJiBvM19j bG9zZWZvbnRjbGFzcyA/ICdjbGFzcz0iJytvM19jbG9zZWZvbnRjbGFzcyA6ICdh bGlnbj0iUklHSFQnKSsnIj48YSBocmVmPSJqYXZhc2NyaXB0OnJldHVybiAnK2Zu UmVmKydjQ2xpY2soKTsiJysoKG8zX2NvbXBhdG1vZGUgJiYgbzNfY2xvc2Vmb250 Y2xhc3MpID8gJyBjbGFzcz0iJyArIG8zX2Nsb3NlZm9udGNsYXNzICsgJyIgJyA6 ICcgJykrY2xvc2VldmVudCsnPSJyZXR1cm4gJytmblJlZisnY0NsaWNrKCk7Ij4n KyhvM19jbG9zZWZvbnRjbGFzcyA/ICcnIDogd3JhcFN0cigwLG8zX2Nsb3Nlc2l6 ZSwnY2xvc2UnKSkrY2xvc2UrKG8zX2Nsb3NlZm9udGNsYXNzID8gJycgOiB3cmFw U3RyKDEsbzNfY2xvc2VzaXplLCdjbG9zZScpKSsnPC9hPjwvdGQ+JzsKCXR4dCA9 ICc8dGFibGUgd2lkdGg9IicrbzNfd2lkdGgrICciIGJvcmRlcj0iMCIgY2VsbHBh ZGRpbmc9IicrbzNfYm9yZGVyKyciIGNlbGxzcGFjaW5nPSIwIiAnKyhvM19iZ2Ns YXNzID8gJ2NsYXNzPSInK28zX2JnY2xhc3MrJyInIDogbzNfYmdjb2xvcisnICcr bzNfYmdiYWNrZ3JvdW5kKycgJytvM19oZWlnaHQpKyc+PHRyPjx0ZD48dGFibGUg d2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFj aW5nPSIwIj48dHI+PHRkJysobzNfY2FwdGlvbmZvbnRjbGFzcyA/ICcgY2xhc3M9 IicrbzNfY2FwdGlvbmZvbnRjbGFzcysnIj4nIDogJz4nKSsobzNfY2FwdGlvbmZv bnRjbGFzcyA/ICcnIDogJzxiPicrd3JhcFN0cigwLG8zX2NhcHRpb25zaXplLCdj YXB0aW9uJykpK28zX2NhcGljb24rdGl0bGUrKG8zX2NhcHRpb25mb250Y2xhc3Mg PyAnJyA6IHdyYXBTdHIoMSxvM19jYXB0aW9uc2l6ZSkrJzwvYj4nKSsnPC90ZD4n K2Nsb3NpbmcrJzwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRl cj0iMCIgJysoKG9sTnM0fHwhY3BJc011bHRpcGxlKSA/ICdjZWxscGFkZGluZz0i JytvM19jZWxscGFkKyciICcgOiAnJykrJ2NlbGxzcGFjaW5nPSIwIiAnKyhvM19m Z2NsYXNzID8gJ2NsYXNzPSInK28zX2ZnY2xhc3MrJyInIDogbzNfZmdjb2xvcisn ICcrbzNfZmdiYWNrZ3JvdW5kKycgJytvM19oZWlnaHQpKyc+PHRyPjx0ZCB2YWxp Z249IlRPUCInKyhvM190ZXh0Zm9udGNsYXNzID8gJyBjbGFzcz0iJytvM190ZXh0 Zm9udGNsYXNzKyciPicgOigoIW9sTnM0JiZjcElzTXVsdGlwbGUpID8gJyBzdHls ZT0iJytzZXRDZWxsUGFkU3RyKG8zX2NlbGxwYWQpKyciPicgOiAnPicpKSsobzNf dGV4dGZvbnRjbGFzcyA/ICcnIDogd3JhcFN0cigwLG8zX3RleHRzaXplLCd0ZXh0 JykpK3RleHQrKG8zX3RleHRmb250Y2xhc3MgPyAnJyA6IHdyYXBTdHIoMSxvM190 ZXh0c2l6ZSkpICsgJzwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxl Pic7CgoJc2V0X2JhY2tncm91bmQoIiIpOwoJcmV0dXJuIHR4dDsKfQoKLy8gU2V0 cyB0aGUgYmFja2dyb3VuZCBwaWN0dXJlLHBhZGRpbmcgYW5kIGxvdHMgbW9yZS4g OikKZnVuY3Rpb24gb2xfY29udGVudF9iYWNrZ3JvdW5kKHRleHQscGljdHVyZSxo YXNmdWxsaHRtbCkgewoJaWYgKGhhc2Z1bGxodG1sKSB7CgkJdHh0PXRleHQ7Cgl9 IGVsc2UgewoJCXR4dD0nPHRhYmxlIHdpZHRoPSInK28zX3dpZHRoKyciIGJvcmRl cj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBoZWlnaHQ9Iicr bzNfaGVpZ2h0KyciPjx0cj48dGQgY29sc3Bhbj0iMyIgaGVpZ2h0PSInK28zX3Bh ZHl0KyciPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSInK28zX3BhZHhsKyciPjwv dGQ+PHRkIHZhbGlnbj0iVE9QIiB3aWR0aD0iJysobzNfd2lkdGgtbzNfcGFkeGwt bzNfcGFkeHIpKyhvM190ZXh0Zm9udGNsYXNzID8gJyIgY2xhc3M9IicrbzNfdGV4 dGZvbnRjbGFzcyA6ICcnKSsnIj4nKyhvM190ZXh0Zm9udGNsYXNzID8gJycgOiB3 cmFwU3RyKDAsbzNfdGV4dHNpemUsJ3RleHQnKSkrdGV4dCsobzNfdGV4dGZvbnRj bGFzcyA/ICcnIDogd3JhcFN0cigxLG8zX3RleHRzaXplKSkrJzwvdGQ+PHRkIHdp ZHRoPSInK28zX3BhZHhyKyciPjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49IjMi IGhlaWdodD0iJytvM19wYWR5YisnIj48L3RkPjwvdHI+PC90YWJsZT4nOwoJfQoK CXNldF9iYWNrZ3JvdW5kKHBpY3R1cmUpOwoJcmV0dXJuIHR4dDsKfQoKLy8gTG9h ZHMgYSBwaWN0dXJlIGludG8gdGhlIGRpdi4KZnVuY3Rpb24gc2V0X2JhY2tncm91 bmQocGljKSB7CglpZiAocGljID09ICIiKSB7CgkJaWYgKG9sTnM0KSB7CgkJCW92 ZXIuYmFja2dyb3VuZC5zcmMgPSBudWxsOyAKCQl9IGVsc2UgaWYgKG92ZXIuc3R5 bGUpIHsKCQkJb3Zlci5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAibm9uZSI7CgkJ fQoJfSBlbHNlIHsKCQlpZiAob2xOczQpIHsKCQkJb3Zlci5iYWNrZ3JvdW5kLnNy YyA9IHBpYzsKCQl9IGVsc2UgaWYgKG92ZXIuc3R5bGUpIHsKCQkJb3Zlci5zdHls ZS53aWR0aD1vM193aWR0aCArICdweCc7CgkJCW92ZXIuc3R5bGUuYmFja2dyb3Vu ZEltYWdlID0gInVybCgiK3BpYysiKSI7CgkJfQoJfQp9CgovLy8vLy8vLwovLyBI QU5ETElORyBGVU5DVElPTlMKLy8vLy8vLy8KdmFyIG9sU2hvd0lkPS0xOwoKLy8g RGlzcGxheXMgdGhlIHBvcHVwCmZ1bmN0aW9uIGRpc3Aoc3RhdHVzdGV4dCkgewoJ cnVuSG9vaygiZGlzcCIsIEZCRUZPUkUpOwoJCglpZiAobzNfYWxsb3dtb3ZlID09 IDApIHsKCQlydW5Ib29rKCJwbGFjZUxheWVyIiwgRlJFUExBQ0UpOwoJCShvbE5z NiYmb2xTaG93SWQ8MCkgPyBvbFNob3dJZD1zZXRUaW1lb3V0KCJydW5Ib29rKCdz aG93T2JqZWN0JywgRlJFUExBQ0UsIG92ZXIpIiwgMSkgOiBydW5Ib29rKCJzaG93 T2JqZWN0IiwgRlJFUExBQ0UsIG92ZXIpOwoJCW8zX2FsbG93bW92ZSA9IChvM19z dGlja3kgfHwgbzNfZm9sbG93bW91c2U9PTApID8gMCA6IDE7Cgl9CgkKCXJ1bkhv b2soImRpc3AiLCBGQUZURVIpOwoKCWlmIChzdGF0dXN0ZXh0ICE9ICIiKSBzZWxm LnN0YXR1cyA9IHN0YXR1c3RleHQ7Cn0KCi8vIENyZWF0ZXMgdGhlIGFjdHVhbCBw b3B1cCBzdHJ1Y3R1cmUKZnVuY3Rpb24gY3JlYXRlUG9wdXAobHlyQ29udGVudCl7 CglydW5Ib29rKCJjcmVhdGVQb3B1cCIsIEZCRUZPUkUpOwoJCglpZiAobzNfd3Jh cCkgewoJCXZhciB3ZCx3dyx0aGVPYmogPSAob2xOczQgPyBvdmVyIDogb3Zlci5z dHlsZSk7CgkJdGhlT2JqLnRvcCA9IHRoZU9iai5sZWZ0ID0gKChvbEllNCYmIW9s T3ApID8gMCA6IC0xMDAwMCkgKyAoIW9sTnM0ID8gJ3B4JyA6IDApOwoJCWxheWVy V3JpdGUobHlyQ29udGVudCk7CgkJd2QgPSAob2xOczQgPyBvdmVyLmNsaXAud2lk dGggOiBvdmVyLm9mZnNldFdpZHRoKTsKCQlpZiAod2QgPiAod3c9d2luZG93V2lk dGgoKSkpIHsKCQkJbHlyQ29udGVudD1seXJDb250ZW50LnJlcGxhY2UoL1wmbmJz cDsvZywgJyAnKTsKCQkJbzNfd2lkdGg9d3c7CgkJCW8zX3dyYXA9MDsKCQl9IAoJ fQoKCWxheWVyV3JpdGUobHlyQ29udGVudCk7CgkKCS8vIEhhdmUgdG8gc2V0IG8z X3dpZHRoIGZvciBwbGFjZUxheWVyKCkgcm91dGluZSBpZiBvM193cmFwIGlzIHR1 cm5lZCBvbgoJaWYgKG8zX3dyYXApIG8zX3dpZHRoPShvbE5zNCA/IG92ZXIuY2xp cC53aWR0aCA6IG92ZXIub2Zmc2V0V2lkdGgpOwoJCglydW5Ib29rKCJjcmVhdGVQ b3B1cCIsIEZBRlRFUiwgbHlyQ29udGVudCk7CgoJcmV0dXJuIHRydWU7Cn0KCi8v IERlY2lkZXMgd2hlcmUgd2Ugd2FudCB0aGUgcG9wdXAuCmZ1bmN0aW9uIHBsYWNl TGF5ZXIoKSB7Cgl2YXIgcGxhY2VYLCBwbGFjZVksIHdpZHRoRml4ID0gMDsKCQoJ Ly8gSE9SSVpPTlRBTCBQTEFDRU1FTlQsIHJlLWFycmFuZ2VkIHRvIHdvcmsgaW4g U2FmYXJpCglpZiAobzNfZnJhbWUuaW5uZXJXaWR0aCkgd2lkdGhGaXg9MTg7IAoJ aXdpZHRoID0gd2luZG93V2lkdGgoKTsKCgkvLyBIb3Jpem9udGFsIHNjcm9sbCBv ZmZzZXQKCXdpbm9mZnNldD0ob2xJZTQpID8gZXZhbCgnbzNfZnJhbWUuJytkb2NS b290Kycuc2Nyb2xsTGVmdCcpIDogbzNfZnJhbWUucGFnZVhPZmZzZXQ7CgoJcGxh Y2VYID0gcnVuSG9vaygnaG9yaXpvbnRhbFBsYWNlbWVudCcsRkNIQUlOLGl3aWR0 aCx3aW5vZmZzZXQsd2lkdGhGaXgpOwoKCS8vIFZFUlRJQ0FMIFBMQUNFTUVOVCwg cmUtYXJyYW5nZWQgdG8gd29yayBpbiBTYWZhcmkKCWlmIChvM19mcmFtZS5pbm5l ckhlaWdodCkgewoJCWloZWlnaHQ9bzNfZnJhbWUuaW5uZXJIZWlnaHQ7Cgl9IGVs c2UgaWYgKGV2YWwoJ28zX2ZyYW1lLicrZG9jUm9vdCkmJmV2YWwoInR5cGVvZiBv M19mcmFtZS4iK2RvY1Jvb3QrIi5jbGllbnRIZWlnaHQ9PSdudW1iZXInIikmJmV2 YWwoJ28zX2ZyYW1lLicrZG9jUm9vdCsnLmNsaWVudEhlaWdodCcpKSB7IAoJCWlo ZWlnaHQ9ZXZhbCgnbzNfZnJhbWUuJytkb2NSb290KycuY2xpZW50SGVpZ2h0Jyk7 Cgl9CQkJCgoJLy8gVmVydGljYWwgc2Nyb2xsIG9mZnNldAoJc2Nyb2xsb2Zmc2V0 PShvbEllNCkgPyBldmFsKCdvM19mcmFtZS4nK2RvY1Jvb3QrJy5zY3JvbGxUb3An KSA6IG8zX2ZyYW1lLnBhZ2VZT2Zmc2V0OwoJcGxhY2VZID0gcnVuSG9vaygndmVy dGljYWxQbGFjZW1lbnQnLEZDSEFJTixpaGVpZ2h0LHNjcm9sbG9mZnNldCk7CgoJ Ly8gQWN0dWFsbHkgbW92ZSB0aGUgb2JqZWN0LgoJcmVwb3NpdGlvblRvKG92ZXIs IHBsYWNlWCwgcGxhY2VZKTsKfQoKLy8gTW92ZXMgdGhlIGxheWVyCmZ1bmN0aW9u IG9sTW91c2VNb3ZlKGUpIHsKCXZhciBlID0gKGUpID8gZSA6IGV2ZW50OwoKCWlm IChlLnBhZ2VYKSB7CgkJbzNfeCA9IGUucGFnZVg7CgkJbzNfeSA9IGUucGFnZVk7 Cgl9IGVsc2UgaWYgKGUuY2xpZW50WCkgewoJCW8zX3ggPSBldmFsKCdlLmNsaWVu dFgrbzNfZnJhbWUuJytkb2NSb290Kycuc2Nyb2xsTGVmdCcpOwoJCW8zX3kgPSBl dmFsKCdlLmNsaWVudFkrbzNfZnJhbWUuJytkb2NSb290Kycuc2Nyb2xsVG9wJyk7 Cgl9CgkKCWlmIChvM19hbGxvd21vdmUgPT0gMSkgcnVuSG9vaygicGxhY2VMYXll ciIsIEZSRVBMQUNFKTsKCgkvLyBNb3VzZU91dCBoYW5kbGVyCglpZiAoaG92ZXJp bmdTd2l0Y2ggJiYgIW9sTnM0ICYmIHJ1bkhvb2soImN1cnNvck9mZiIsIEZSRVBM QUNFKSkgewoJCShvbEhpZGVEZWxheSA/IGhpZGVEZWxheShvbEhpZGVEZWxheSkg OiBjQ2xpY2soKSk7CgkJaG92ZXJpbmdTd2l0Y2ggPSAhaG92ZXJpbmdTd2l0Y2g7 Cgl9Cn0KCi8vIEZha2UgZnVuY3Rpb24gZm9yIDMuMCB1c2Vycy4KZnVuY3Rpb24g bm9fb3ZlcmxpYigpIHsgcmV0dXJuIHZlcjNmaXg7IH0KCi8vIENhcHR1cmUgdGhl IG1vdXNlIGFuZCBjaGFpbiBvdGhlciBzY3JpcHRzLgpmdW5jdGlvbiBvbE1vdXNl Q2FwdHVyZSgpIHsKCWNhcEV4dGVudCA9IGRvY3VtZW50OwoJdmFyIGZOLCBzdHIg PSAnJywgbCwgaywgZiwgd012LCBzUywgbXNlSGFuZGxlciA9IG9sTW91c2VNb3Zl OwoJdmFyIHJlID0gL2Z1bmN0aW9uWyBdKihcdyopXCgvOwoJCgl3TXYgPSAoIW9s SWU0ICYmIHdpbmRvdy5vbm1vdXNlbW92ZSk7CglpZiAoZG9jdW1lbnQub25tb3Vz ZW1vdmUgfHwgd012KSB7CgkJaWYgKHdNdikgY2FwRXh0ZW50ID0gd2luZG93OwoJ CWYgPSBjYXBFeHRlbnQub25tb3VzZW1vdmUudG9TdHJpbmcoKTsKCQlmTiA9IGYu bWF0Y2gocmUpOwoJCWlmIChmTiA9PSBudWxsKSB7CgkJCXN0ciA9IGYrJyhlKTsg JzsKCQl9IGVsc2UgaWYgKGZOWzFdID09ICdhbm9ueW1vdXMnIHx8IGZOWzFdID09 ICdvbE1vdXNlTW92ZScgfHwgKHdNdiAmJiBmTlsxXSA9PSAnb25tb3VzZW1vdmUn KSkgewoJCQlpZiAoIW9sT3AgJiYgd012KSB7CgkJCQlsID0gZi5pbmRleE9mKCd7 JykrMTsKCQkJCWsgPSBmLmxhc3RJbmRleE9mKCd9Jyk7CgkJCQlzUyA9IGYuc3Vi c3RyaW5nKGwsayk7CgkJCQlpZiAoKGwgPSBzUy5pbmRleE9mKCcoJykpICE9IC0x KSB7CgkJCQkJc1MgPSBzUy5zdWJzdHJpbmcoMCxsKS5yZXBsYWNlKC9eXHMrLywn JykucmVwbGFjZSgvXHMrJC8sJycpOwoJCQkJCWlmIChldmFsKCJ0eXBlb2YgIiAr IHNTICsgIiA9PSAndW5kZWZpbmVkJyIpKSB3aW5kb3cub25tb3VzZW1vdmUgPSBu dWxsOwoJCQkJCWVsc2Ugc3RyID0gc1MgKyAnKGUpOyc7CgkJCQl9CgkJCX0KCQkJ aWYgKCFzdHIpIHsKCQkJCW9sQ2hlY2tNb3VzZUNhcHR1cmUgPSBmYWxzZTsKCQkJ CXJldHVybjsKCQkJfQoJCX0gZWxzZSB7CgkJCWlmIChmTlsxXSkgc3RyID0gZk5b MV0rJyhlKTsgJzsKCQkJZWxzZSB7CgkJCQlsID0gZi5pbmRleE9mKCd7JykrMTsK CQkJCWsgPSBmLmxhc3RJbmRleE9mKCd9Jyk7CgkJCQlzdHIgPSBmLnN1YnN0cmlu ZyhsLGspICsgJ1xuJzsKCQkJfQoJCX0KCQlzdHIgKz0gJ29sTW91c2VNb3ZlKGUp OyAnOwoJCW1zZUhhbmRsZXIgPSBuZXcgRnVuY3Rpb24oJ2UnLCBzdHIpOwoJfQoK CWNhcEV4dGVudC5vbm1vdXNlbW92ZSA9IG1zZUhhbmRsZXI7CglpZiAob2xOczQp IGNhcEV4dGVudC5jYXB0dXJlRXZlbnRzKEV2ZW50Lk1PVVNFTU9WRSk7Cn0KCi8v Ly8vLy8vCi8vIFBBUlNJTkcgRlVOQ1RJT05TCi8vLy8vLy8vCgovLyBEb2VzIHRo ZSBhY3R1YWwgY29tbWFuZCBwYXJzaW5nLgpmdW5jdGlvbiBwYXJzZVRva2Vucyhw ZiwgYXIpIHsKCS8vIFdoYXQgdGhlIG5leHQgYXJndW1lbnQgaXMgZXhwZWN0ZWQg dG8gYmUuCgl2YXIgdiwgaSwgbW9kZT0tMSwgcGFyID0gKHBmICE9ICdvbF8nKTsJ Cgl2YXIgZm5NYXJrID0gKHBhciAmJiAhYXIubGVuZ3RoID8gMSA6IDApOwoKCWZv ciAoaSA9IDA7IGkgPCBhci5sZW5ndGg7IGkrKykgewoJCWlmIChtb2RlIDwgMCkg ewoJCQkvLyBBcmcgaXMgbWFpbnRleHQsdW5sZXNzIGl0cyBhIG51bWJlciBiZXR3 ZWVuIHBtU3RhcnQgYW5kIHBtVXBwZXIKCQkJLy8gdGhlbiBpdHMgYSBjb21tYW5k LgoJCQlpZiAodHlwZW9mIGFyW2ldID09ICdudW1iZXInICYmIGFyW2ldID4gcG1T dGFydCAmJiBhcltpXSA8IHBtVXBwZXIpIHsKCQkJCWZuTWFyayA9IChwYXIgPyAx IDogMCk7CgkJCQlpLS07ICAgLy8gYmFja3VwIG9uZSBzbyB0aGF0IHRoZSBuZXh0 IGJsb2NrIGNhbiBwYXJzZSBpdAoJCQl9IGVsc2UgewoJCQkJc3dpdGNoKHBmKSB7 CgkJCQkJY2FzZSAnb2xfJzoKCQkJCQkJb2xfdGV4dCA9IGFyW2ldLnRvU3RyaW5n KCk7CgkJCQkJCWJyZWFrOwoJCQkJCWRlZmF1bHQ6CgkJCQkJCW8zX3RleHQ9YXJb aV0udG9TdHJpbmcoKTsgIAoJCQkJfQoJCQl9CgkJCW1vZGUgPSAwOwoJCX0gZWxz ZSB7CgkJCS8vIE5vdGU6IE5TNCBkb2Vzbid0IGxpa2Ugc3dpdGNoIGNhc2VzIHdp dGggdmFycy4KCQkJaWYgKGFyW2ldID49IHBtQ291bnQgfHwgYXJbaV09PURPTk9U SElORykgeyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUlOQVJSQVkpIHsgZm5N YXJrID0gMDsgZXZhbChwZisndGV4dD1vbF90ZXh0c1snK2FyWysraV0rJ10udG9T dHJpbmcoKScpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNBUEFSUkFZKSB7 IGV2YWwocGYrJ2NhcD1vbF9jYXBzWycrYXJbKytpXSsnXS50b1N0cmluZygpJyk7 IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09U1RJQ0tZKSB7IGlmIChwZiE9J29s XycpIGV2YWwocGYrJ3N0aWNreT0xJyk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltp XT09QkFDS0dST1VORCkgeyBldmFsKHBmKydiYWNrZ3JvdW5kPSInK2FyWysraV0r JyInKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1OT0NMT1NFKSB7IGlmIChw ZiE9J29sXycpIG9wdF9OT0NMT1NFKCk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltp XT09Q0FQVElPTikgeyBldmFsKHBmKyJjYXA9JyIrZXNjU2dsUXVvdGUoYXJbKytp XSkrIiciKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1DRU5URVIgfHwgYXJb aV09PUxFRlQgfHwgYXJbaV09PVJJR0hUKSB7IGV2YWwocGYrJ2hwb3M9Jythcltp XSk7IGlmKHBmIT0nb2xfJykgb2xIYXV0b0ZsYWc9MTsgY29udGludWU7IH0KCQkJ aWYgKGFyW2ldPT1PRkZTRVRYKSB7IGV2YWwocGYrJ29mZnNldHg9JythclsrK2ld KTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1PRkZTRVRZKSB7IGV2YWwocGYr J29mZnNldHk9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1G R0NPTE9SKSB7IGV2YWwocGYrJ2ZnY29sb3I9IicrYXJbKytpXSsnIicpOyBjb250 aW51ZTsgfQoJCQlpZiAoYXJbaV09PUJHQ09MT1IpIHsgZXZhbChwZisnYmdjb2xv cj0iJythclsrK2ldKyciJyk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09VEVY VENPTE9SKSB7IGV2YWwocGYrJ3RleHRjb2xvcj0iJythclsrK2ldKyciJyk7IGNv bnRpbnVlOyB9CgkJCWlmIChhcltpXT09Q0FQQ09MT1IpIHsgZXZhbChwZisnY2Fw Y29sb3I9IicrYXJbKytpXSsnIicpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09 PUNMT1NFQ09MT1IpIHsgZXZhbChwZisnY2xvc2Vjb2xvcj0iJythclsrK2ldKyci Jyk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09V0lEVEgpIHsgZXZhbChwZisn d2lkdGg9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1CT1JE RVIpIHsgZXZhbChwZisnYm9yZGVyPScrYXJbKytpXSk7IGNvbnRpbnVlOyB9CgkJ CWlmIChhcltpXT09Q0VMTFBBRCkgeyBpPW9wdF9NVUxUSVBMRUFSR1MoKytpLGFy LChwZisnY2VsbHBhZCcpKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1TVEFU VVMpIHsgZXZhbChwZisic3RhdHVzPSciK2VzY1NnbFF1b3RlKGFyWysraV0pKyIn Iik7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09QVVUT1NUQVRVUykgeyBldmFs KHBmICsnYXV0b3N0YXR1cz0oJytwZisnYXV0b3N0YXR1cyA9PSAxKSA/IDAgOiAx Jyk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09QVVUT1NUQVRVU0NBUCkgeyBl dmFsKHBmICsnYXV0b3N0YXR1cz0oJytwZisnYXV0b3N0YXR1cyA9PSAyKSA/IDAg OiAyJyk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09SEVJR0hUKSB7IGV2YWwo cGYrJ2hlaWdodD0nK3BmKydhYm92ZWhlaWdodD0nK2FyWysraV0pOyBjb250aW51 ZTsgfSAvLyBTYW1lIHBhcmFtIGFnYWluLgoJCQlpZiAoYXJbaV09PUNMT1NFVEVY VCkgeyBldmFsKHBmKyJjbG9zZT0nIitlc2NTZ2xRdW90ZShhclsrK2ldKSsiJyIp OyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PVNOQVBYKSB7IGV2YWwocGYrJ3Nu YXB4PScrYXJbKytpXSk7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09U05BUFkp IHsgZXZhbChwZisnc25hcHk9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYg KGFyW2ldPT1GSVhYKSB7IGV2YWwocGYrJ2ZpeHg9JythclsrK2ldKTsgY29udGlu dWU7IH0KCQkJaWYgKGFyW2ldPT1GSVhZKSB7IGV2YWwocGYrJ2ZpeHk9Jythclsr K2ldKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1SRUxYKSB7IGV2YWwocGYr J3JlbHg9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1SRUxZ KSB7IGV2YWwocGYrJ3JlbHk9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYg KGFyW2ldPT1GR0JBQ0tHUk9VTkQpIHsgZXZhbChwZisnZmdiYWNrZ3JvdW5kPSIn K2FyWysraV0rJyInKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1CR0JBQ0tH Uk9VTkQpIHsgZXZhbChwZisnYmdiYWNrZ3JvdW5kPSInK2FyWysraV0rJyInKTsg Y29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1QQURYKSB7IGV2YWwocGYrJ3BhZHhs PScrYXJbKytpXSk7IGV2YWwocGYrJ3BhZHhyPScrYXJbKytpXSk7IGNvbnRpbnVl OyB9CgkJCWlmIChhcltpXT09UEFEWSkgeyBldmFsKHBmKydwYWR5dD0nK2FyWysr aV0pOyBldmFsKHBmKydwYWR5Yj0nK2FyWysraV0pOyBjb250aW51ZTsgfQoJCQlp ZiAoYXJbaV09PUZVTExIVE1MKSB7IGlmIChwZiE9J29sXycpIGV2YWwocGYrJ2Z1 bGxodG1sPTEnKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1CRUxPVyB8fCBh cltpXT09QUJPVkUpIHsgZXZhbChwZisndnBvcz0nK2FyW2ldKTsgaWYgKHBmIT0n b2xfJykgb2xWYXV0b0ZsYWc9MTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1D QVBJQ09OKSB7IGV2YWwocGYrJ2NhcGljb249IicrYXJbKytpXSsnIicpOyBjb250 aW51ZTsgfQoJCQlpZiAoYXJbaV09PVRFWFRGT05UKSB7IGV2YWwocGYrInRleHRm b250PSciK2VzY1NnbFF1b3RlKGFyWysraV0pKyInIik7IGNvbnRpbnVlOyB9CgkJ CWlmIChhcltpXT09Q0FQVElPTkZPTlQpIHsgZXZhbChwZisiY2FwdGlvbmZvbnQ9 JyIrZXNjU2dsUXVvdGUoYXJbKytpXSkrIiciKTsgY29udGludWU7IH0KCQkJaWYg KGFyW2ldPT1DTE9TRUZPTlQpIHsgZXZhbChwZisiY2xvc2Vmb250PSciK2VzY1Nn bFF1b3RlKGFyWysraV0pKyInIik7IGNvbnRpbnVlOyB9CgkJCWlmIChhcltpXT09 VEVYVFNJWkUpIHsgZXZhbChwZisndGV4dHNpemU9IicrYXJbKytpXSsnIicpOyBj b250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNBUFRJT05TSVpFKSB7IGV2YWwocGYr J2NhcHRpb25zaXplPSInK2FyWysraV0rJyInKTsgY29udGludWU7IH0KCQkJaWYg KGFyW2ldPT1DTE9TRVNJWkUpIHsgZXZhbChwZisnY2xvc2VzaXplPSInK2FyWysr aV0rJyInKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1USU1FT1VUKSB7IGV2 YWwocGYrJ3RpbWVvdXQ9JythclsrK2ldKTsgY29udGludWU7IH0KCQkJaWYgKGFy W2ldPT1GVU5DVElPTikgeyBpZiAocGY9PSdvbF8nKSB7IGlmICh0eXBlb2YgYXJb aSsxXSE9J251bWJlcicpIHsgdj1hclsrK2ldOyBvbF9mdW5jdGlvbj0odHlwZW9m IHY9PSdmdW5jdGlvbicgPyB2IDogbnVsbCk7IH19IGVsc2Uge2ZuTWFyayA9IDA7 IHYgPSBudWxsOyBpZiAodHlwZW9mIGFyW2krMV0hPSdudW1iZXInKSB2ID0gYXJb KytpXTsgIG9wdF9GVU5DVElPTih2KTsgfSBjb250aW51ZTsgfQoJCQlpZiAoYXJb aV09PURFTEFZKSB7IGV2YWwocGYrJ2RlbGF5PScrYXJbKytpXSk7IGNvbnRpbnVl OyB9CgkJCWlmIChhcltpXT09SEFVVE8pIHsgZXZhbChwZisnaGF1dG89KCcrcGYr J2hhdXRvID09IDApID8gMSA6IDAnKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ld PT1WQVVUTykgeyBldmFsKHBmKyd2YXV0bz0oJytwZisndmF1dG8gPT0gMCkgPyAx IDogMCcpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNMT1NFQ0xJQ0spIHsg ZXZhbChwZiArJ2Nsb3NlY2xpY2s9KCcrcGYrJ2Nsb3NlY2xpY2sgPT0gMCkgPyAx IDogMCcpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PVdSQVApIHsgZXZhbChw ZiArJ3dyYXA9KCcrcGYrJ3dyYXAgPT0gMCkgPyAxIDogMCcpOyBjb250aW51ZTsg fQoJCQlpZiAoYXJbaV09PUZPTExPV01PVVNFKSB7IGV2YWwocGYgKydmb2xsb3dt b3VzZT0oJytwZisnZm9sbG93bW91c2UgPT0gMSkgPyAwIDogMScpOyBjb250aW51 ZTsgfQoJCQlpZiAoYXJbaV09PU1PVVNFT0ZGKSB7IGV2YWwocGYgKydtb3VzZW9m Zj0oJytwZisnbW91c2VvZmY9PTApID8gMSA6IDAnKTsgdj1hcltpKzFdOyBpZiAo cGYgIT0gJ29sXycgJiYgZXZhbChwZisnbW91c2VvZmYnKSAmJiB0eXBlb2YgdiA9 PSAnbnVtYmVyJyAmJiAodiA8IHBtU3RhcnQgfHwgdiA+IHBtVXBwZXIpKSBvbEhp ZGVEZWxheT1hclsrK2ldOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNMT1NF VElUTEUpIHsgZXZhbChwZisiY2xvc2V0aXRsZT0nIitlc2NTZ2xRdW90ZShhclsr K2ldKSsiJyIpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNTU09GRnx8YXJb aV09PUNTU0NMQVNTKSB7IGV2YWwocGYrJ2Nzcz0nK2FyW2ldKTsgY29udGludWU7 IH0KCQkJaWYgKGFyW2ldPT1DT01QQVRNT0RFKSB7IGV2YWwocGYrJ2NvbXBhdG1v ZGU9KCcrcGYrJ2NvbXBhdG1vZGU9PTApID8gMSA6IDAnKTsgY29udGludWU7IH0K CQkJaWYgKGFyW2ldPT1GR0NMQVNTKSB7IGV2YWwocGYrJ2ZnY2xhc3M9IicrYXJb KytpXSsnIicpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUJHQ0xBU1MpIHsg ZXZhbChwZisnYmdjbGFzcz0iJythclsrK2ldKyciJyk7IGNvbnRpbnVlOyB9CgkJ CWlmIChhcltpXT09VEVYVEZPTlRDTEFTUykgeyBldmFsKHBmKyd0ZXh0Zm9udGNs YXNzPSInK2FyWysraV0rJyInKTsgY29udGludWU7IH0KCQkJaWYgKGFyW2ldPT1D QVBUSU9ORk9OVENMQVNTKSB7IGV2YWwocGYrJ2NhcHRpb25mb250Y2xhc3M9Iicr YXJbKytpXSsnIicpOyBjb250aW51ZTsgfQoJCQlpZiAoYXJbaV09PUNMT1NFRk9O VENMQVNTKSB7IGV2YWwocGYrJ2Nsb3NlZm9udGNsYXNzPSInK2FyWysraV0rJyIn KTsgY29udGludWU7IH0KCQkJaSA9IHBhcnNlQ21kTGluZShwZiwgaSwgYXIpOwoJ CX0KCX0KCglpZiAoZm5NYXJrICYmIG8zX2Z1bmN0aW9uKSBvM190ZXh0ID0gbzNf ZnVuY3Rpb24oKTsKCQoJaWYgKChwZiA9PSAnbzNfJykgJiYgbzNfd3JhcCkgewoJ CW8zX3dpZHRoID0gMDsKCQkKCQl2YXIgdFJlZz0vPC4qXG4qPi9pZzsKCQlpZiAo IXRSZWcudGVzdChvM190ZXh0KSkgbzNfdGV4dCA9IG8zX3RleHQucmVwbGFjZSgv WyBdKy9nLCAnJm5ic3A7Jyk7CgkJaWYgKCF0UmVnLnRlc3QobzNfY2FwKSlvM19j YXAgPSBvM19jYXAucmVwbGFjZSgvWyBdKy9nLCAnJm5ic3A7Jyk7Cgl9CglpZiAo KHBmID09ICdvM18nKSAmJiBvM19zdGlja3kpIHsKCQlpZiAoIW8zX2Nsb3NlICYm IChvM19mcmFtZSAhPSBvbF9mcmFtZSkpIG8zX2Nsb3NlID0gb2xfY2xvc2U7CgkJ aWYgKG8zX21vdXNlb2ZmICYmIChvM19mcmFtZSA9PSBvbF9mcmFtZSkpIG9wdF9O T0NMT1NFKCcgJyk7Cgl9Cn0KCgovLy8vLy8vLwovLyBMQVlFUiBGVU5DVElPTlMK Ly8vLy8vLy8KCi8vIFdyaXRlcyB0byBhIGxheWVyCmZ1bmN0aW9uIGxheWVyV3Jp dGUodHh0KSB7Cgl0eHQgKz0gIlxuIjsKCWlmIChvbE5zNCkgewoJCXZhciBseXIg PSBvM19mcmFtZS5kb2N1bWVudC5sYXllcnNbJ292ZXJEaXYnXS5kb2N1bWVudAoJ CWx5ci53cml0ZSh0eHQpCgkJbHlyLmNsb3NlKCkKCX0gZWxzZSBpZiAodHlwZW9m IG92ZXIuaW5uZXJIVE1MICE9ICd1bmRlZmluZWQnKSB7CgkJaWYgKG9sSWU1ICYm IGlzTWFjKSBvdmVyLmlubmVySFRNTCA9ICcnOwoJCW92ZXIuaW5uZXJIVE1MID0g dHh0OwoJfSBlbHNlIHsKCQlyYW5nZSA9IG8zX2ZyYW1lLmRvY3VtZW50LmNyZWF0 ZVJhbmdlKCk7CgkJcmFuZ2Uuc2V0U3RhcnRBZnRlcihvdmVyKTsKCQlkb21mcmFn ID0gcmFuZ2UuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHR4dCk7CgkJCgkJd2hp bGUgKG92ZXIuaGFzQ2hpbGROb2RlcygpKSB7CgkJCW92ZXIucmVtb3ZlQ2hpbGQo b3Zlci5sYXN0Q2hpbGQpOwoJCX0KCQkKCQlvdmVyLmFwcGVuZENoaWxkKGRvbWZy YWcpOwoJfQp9CgovLyBNYWtlIGFuIG9iamVjdCB2aXNpYmxlCmZ1bmN0aW9uIHNo b3dPYmplY3Qob2JqKSB7CglydW5Ib29rKCJzaG93T2JqZWN0IiwgRkJFRk9SRSk7 CgoJdmFyIHRoZU9iaj0ob2xOczQgPyBvYmogOiBvYmouc3R5bGUpOwoJdGhlT2Jq LnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CgoJcnVuSG9vaygic2hvd09iamVjdCIs IEZBRlRFUik7Cn0KCi8vIEhpZGVzIGFuIG9iamVjdApmdW5jdGlvbiBoaWRlT2Jq ZWN0KG9iaikgewoJcnVuSG9vaygiaGlkZU9iamVjdCIsIEZCRUZPUkUpOwoKCXZh ciB0aGVPYmo9KG9sTnM0ID8gb2JqIDogb2JqLnN0eWxlKTsKCWlmIChvbE5zNiAm JiBvbFNob3dJZD4wKSB7IGNsZWFyVGltZW91dChvbFNob3dJZCk7IG9sU2hvd0lk PTA7IH0KCXRoZU9iai52aXNpYmlsaXR5ID0gJ2hpZGRlbic7Cgl0aGVPYmoudG9w ID0gdGhlT2JqLmxlZnQgPSAoKG9sSWU0JiYhb2xPcCkgPyAwIDogLTEwMDAwKSAr ICghb2xOczQgPyAncHgnIDogMCk7CgoJaWYgKG8zX3RpbWVyaWQgPiAwKSBjbGVh clRpbWVvdXQobzNfdGltZXJpZCk7CglpZiAobzNfZGVsYXlpZCA+IDApIGNsZWFy VGltZW91dChvM19kZWxheWlkKTsKCglvM190aW1lcmlkID0gMDsKCW8zX2RlbGF5 aWQgPSAwOwoJc2VsZi5zdGF0dXMgPSAiIjsKCglpZiAob2JqLm9ubW91c2VvdXR8 fG9iai5vbm1vdXNlb3ZlcikgewoJCWlmIChvbE5zNCkgb2JqLnJlbGVhc2VFdmVu dHMoRXZlbnQuTU9VU0VPVVQgfHwgRXZlbnQuTU9VU0VPVkVSKTsKCQlvYmoub25t b3VzZW91dCA9IG9iai5vbm1vdXNlb3ZlciA9IG51bGw7Cgl9CgoJcnVuSG9vaygi aGlkZU9iamVjdCIsIEZBRlRFUik7Cn0KCi8vIE1vdmUgYSBsYXllcgpmdW5jdGlv biByZXBvc2l0aW9uVG8ob2JqLCB4TCwgeUwpIHsKCXZhciB0aGVPYmo9KG9sTnM0 ID8gb2JqIDogb2JqLnN0eWxlKTsKCXRoZU9iai5sZWZ0ID0geEwgKyAoIW9sTnM0 ID8gJ3B4JyA6IDApOwoJdGhlT2JqLnRvcCA9IHlMICsgKCFvbE5zNCA/ICdweCcg OiAwKTsKfQoKLy8gQ2hlY2sgcG9zaXRpb24gb2YgY3Vyc29yIHJlbGF0aXZlIHRv IG92ZXJEaXYgRElWaXNpb247IG1vdXNlT3V0IGZ1bmN0aW9uCmZ1bmN0aW9uIGN1 cnNvck9mZigpIHsKCXZhciBsZWZ0ID0gcGFyc2VJbnQob3Zlci5zdHlsZS5sZWZ0 KTsKCXZhciB0b3AgPSBwYXJzZUludChvdmVyLnN0eWxlLnRvcCk7Cgl2YXIgcmln aHQgPSBsZWZ0ICsgKG92ZXIub2Zmc2V0V2lkdGggPj0gcGFyc2VJbnQobzNfd2lk dGgpID8gb3Zlci5vZmZzZXRXaWR0aCA6IHBhcnNlSW50KG8zX3dpZHRoKSk7Cgl2 YXIgYm90dG9tID0gdG9wICsgKG92ZXIub2Zmc2V0SGVpZ2h0ID49IG8zX2Fib3Zl aGVpZ2h0ID8gb3Zlci5vZmZzZXRIZWlnaHQgOiBvM19hYm92ZWhlaWdodCk7CgoJ aWYgKG8zX3ggPCBsZWZ0IHx8IG8zX3ggPiByaWdodCB8fCBvM195IDwgdG9wIHx8 IG8zX3kgPiBib3R0b20pIHJldHVybiB0cnVlOwoKCXJldHVybiBmYWxzZTsKfQoK Ci8vLy8vLy8vCi8vIENPTU1BTkQgRlVOQ1RJT05TCi8vLy8vLy8vCgovLyBDYWxs cyBjYWxsbWUgb3IgdGhlIGRlZmF1bHQgZnVuY3Rpb24uCmZ1bmN0aW9uIG9wdF9G VU5DVElPTihjYWxsbWUpIHsKCW8zX3RleHQgPSAoY2FsbG1lID8gKHR5cGVvZiBj YWxsbWU9PSdzdHJpbmcnID8gKC8uK1woLipcKS8udGVzdChjYWxsbWUpID8gZXZh bChjYWxsbWUpIDogY2FsbG1lKSA6IGNhbGxtZSgpKSA6IChvM19mdW5jdGlvbiA/ IG8zX2Z1bmN0aW9uKCkgOiAnTm8gRnVuY3Rpb24nKSk7CgoJcmV0dXJuIDA7Cn0K Ci8vIEhhbmRsZSBob3ZlcmluZwpmdW5jdGlvbiBvcHRfTk9DTE9TRSh1bnVzZWQp IHsKCWlmICghdW51c2VkKSBvM19jbG9zZSA9ICIiOwoKCWlmIChvbE5zNCkgewoJ CW92ZXIuY2FwdHVyZUV2ZW50cyhFdmVudC5NT1VTRU9VVCB8fCBFdmVudC5NT1VT RU9WRVIpOwoJCW92ZXIub25tb3VzZW92ZXIgPSBmdW5jdGlvbiAoKSB7IGlmIChv M190aW1lcmlkID4gMCkgeyBjbGVhclRpbWVvdXQobzNfdGltZXJpZCk7IG8zX3Rp bWVyaWQgPSAwOyB9IH0KCQlvdmVyLm9ubW91c2VvdXQgPSBmdW5jdGlvbiAoZSkg eyBpZiAob2xIaWRlRGVsYXkpIGhpZGVEZWxheShvbEhpZGVEZWxheSk7IGVsc2Ug Y0NsaWNrKGUpOyB9Cgl9IGVsc2UgewoJCW92ZXIub25tb3VzZW92ZXIgPSBmdW5j dGlvbiAoKSB7aG92ZXJpbmdTd2l0Y2ggPSB0cnVlOyBpZiAobzNfdGltZXJpZCA+ IDApIHsgY2xlYXJUaW1lb3V0KG8zX3RpbWVyaWQpOyBvM190aW1lcmlkID0wOyB9 IH0KCX0KCglyZXR1cm4gMDsKfQoKLy8gRnVuY3Rpb24gdG8gc2NhbiBjb21tYW5k IGxpbmUgYXJndW1lbnRzIGZvciBtdWx0aXBsZXMKZnVuY3Rpb24gb3B0X01VTFRJ UExFQVJHUyhpLCBhcmdzLCBwYXJhbWV0ZXIpIHsKICB2YXIgaz1pLCByZSwgcFYs IHN0cj0nJzsKCiAgZm9yKGs9aTsgazxhcmdzLmxlbmd0aDsgaysrKSB7CgkJaWYo dHlwZW9mIGFyZ3Nba10gPT0gJ251bWJlcicgJiYgYXJnc1trXT5wbVN0YXJ0KSBi cmVhazsKCQlzdHIgKz0gYXJnc1trXSArICcsJzsKCX0KCWlmIChzdHIpIHN0ciA9 IHN0ci5zdWJzdHJpbmcoMCwtLXN0ci5sZW5ndGgpOwoKCWstLTsgIC8vIHJlZHVj ZSBieSBvbmUgc28gdGhlIGZvciBsb29wIHRoaXMgaXMgaW4gd29ya3MgY29ycmVj dGx5CglwVj0ob2xOczQgJiYgL2NlbGxwYWQvaS50ZXN0KHBhcmFtZXRlcikpID8g c3RyLnNwbGl0KCcsJylbMF0gOiBzdHI7CglldmFsKHBhcmFtZXRlciArICc9Iicg KyBwViArICciJyk7CgoJcmV0dXJuIGs7Cn0KCi8vIFJlbW92ZSAmbmJzcDsgaW4g dGV4dHMgd2hlbiBkb25lLgpmdW5jdGlvbiBuYnNwQ2xlYW51cCgpIHsKCWlmIChv M193cmFwKSB7CgkJbzNfdGV4dCA9IG8zX3RleHQucmVwbGFjZSgvXCZuYnNwOy9n LCAnICcpOwoJCW8zX2NhcCA9IG8zX2NhcC5yZXBsYWNlKC9cJm5ic3A7L2csICcg Jyk7Cgl9Cn0KCi8vIEVzY2FwZSBlbWJlZGRlZCBzaW5nbGUgcXVvdGVzIGluIHRl eHQgc3RyaW5ncwpmdW5jdGlvbiBlc2NTZ2xRdW90ZShzdHIpIHsKICByZXR1cm4g c3RyLnRvU3RyaW5nKCkucmVwbGFjZSgvJy9nLCJcXCciKTsKfQoKLy8gT25sb2Fk IGhhbmRsZXIgZm9yIHdpbmRvdyBvbmxvYWQgZXZlbnQKZnVuY3Rpb24gT0xvbkxv YWRfaGFuZGxlcihlKSB7Cgl2YXIgcmUgPSAvXHcrXCguKlwpWztcc10rL2csIG9s cmUgPSAvb3ZlcmxpYlwofG5kXCh8Y0NsaWNrXCgvLCBmbiwgbCwgaTsKCglpZigh b2xMb2FkZWQpIG9sTG9hZGVkPTE7CgogIC8vIFJlbW92ZSBpdCBmb3IgR2Vja28g YmFzZWQgYnJvd3NlcnMKCWlmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyICYm IGUuZXZlbnRQaGFzZSA9PSAzKSB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigi bG9hZCIsT0xvbkxvYWRfaGFuZGxlcixmYWxzZSk7CgllbHNlIGlmKHdpbmRvdy5k ZXRhY2hFdmVudCkgeyAvLyBhbmQgZm9yIElFIGFuZCBPcGVyYSA0LnggYnV0IGV4 ZWN1dGUgY2FsbHMgdG8gb3ZlcmxpYiwgbmQsIG9yIGNDbGljaygpCgkJd2luZG93 LmRldGFjaEV2ZW50KCJvbmxvYWQiLE9Mb25Mb2FkX2hhbmRsZXIpOwoJCXZhciBm TiA9IGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCdvbmxvYWQnKTsKCQlpZiAo Zk4pIHsKCQkJZk49Zk4udG9TdHJpbmcoKS5tYXRjaChyZSk7CgkJCWlmIChmTiAm JiBmTi5sZW5ndGgpIHsKCQkJCWZvciAoaT0wOyBpPGZOLmxlbmd0aDsgaSsrKSB7 CgkJCQkJaWYgKC9hbm9ueW1vdXMvLnRlc3QoZk5baV0pKSBjb250aW51ZTsKCQkJ CQl3aGlsZSgobD1mTltpXS5zZWFyY2goL1wpWztcc10rLykpICE9IC0xKSB7CgkJ CQkJCWZuPWZOW2ldLnN1YnN0cmluZygwLGwrMSk7CgkJCQkJCWZOW2ldID0gZk5b aV0uc3Vic3RyaW5nKGwrMik7CgkJCQkJCWlmIChvbHJlLnRlc3QoZm4pKSBldmFs KGZuKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9Cn0KCi8vIFdyYXBzIHN0cmlu Z3MgaW4gTGF5ZXIgR2VuZXJhdGlvbiBGdW5jdGlvbnMgd2l0aCB0aGUgY29ycmVj dCB0YWdzCi8vICAgIGVuZFdyYXAgdHJ1ZShpZiBlbmQgdGFnKSBvciBmYWxzZSBp ZiBzdGFydCB0YWcKLy8gICAgZm9udFNpemVTdHIgLSBmb250IHNpemUgc3RyaW5n IHN1Y2ggYXMgJzEnIG9yICcxMHB4JwovLyAgICB3aGljaFN0cmluZyBpcyBiZWlu ZyB3cmFwcGVkIC0tICd0ZXh0JywgJ2NhcHRpb24nLCBvciAnY2xvc2UnCmZ1bmN0 aW9uIHdyYXBTdHIoZW5kV3JhcCxmb250U2l6ZVN0cix3aGljaFN0cmluZykgewoJ dmFyIGZvbnRTdHIsIGZvbnRDb2xvciwgaXNDbG9zZT0oKHdoaWNoU3RyaW5nPT0n Y2xvc2UnKSA/IDEgOiAwKSwgaGFzRGltcz0vWyVcLWEtel0rJC8udGVzdChmb250 U2l6ZVN0cik7Cglmb250U2l6ZVN0ciA9IChvbE5zNCkgPyAoIWhhc0RpbXMgPyBm b250U2l6ZVN0ciA6ICcxJykgOiBmb250U2l6ZVN0cjsKCWlmIChlbmRXcmFwKSBy ZXR1cm4gKGhhc0RpbXMmJiFvbE5zNCkgPyAoaXNDbG9zZSA/ICc8L3NwYW4+JyA6 ICc8L2Rpdj4nKSA6ICc8L2ZvbnQ+JzsKCWVsc2UgewoJCWZvbnRTdHI9J28zXycr d2hpY2hTdHJpbmcrJ2ZvbnQnOwoJCWZvbnRDb2xvcj0nbzNfJysoKHdoaWNoU3Ry aW5nPT0nY2FwdGlvbicpPyAnY2FwJyA6IHdoaWNoU3RyaW5nKSsnY29sb3InOwoJ CXJldHVybiAoaGFzRGltcyYmIW9sTnM0KSA/IChpc0Nsb3NlID8gJzxzcGFuIHN0 eWxlPSJmb250LWZhbWlseTogJytxdW90ZU11bHRpTmFtZUZvbnRzKGV2YWwoZm9u dFN0cikpKyc7IGNvbG9yOiAnK2V2YWwoZm9udENvbG9yKSsnOyBmb250LXNpemU6 ICcrZm9udFNpemVTdHIrJzsiPicgOiAnPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 ICcrcXVvdGVNdWx0aU5hbWVGb250cyhldmFsKGZvbnRTdHIpKSsnOyBjb2xvcjog JytldmFsKGZvbnRDb2xvcikrJzsgZm9udC1zaXplOiAnK2ZvbnRTaXplU3RyKyc7 Ij4nKSA6ICc8Zm9udCBmYWNlPSInK2V2YWwoZm9udFN0cikrJyIgY29sb3I9Iicr ZXZhbChmb250Q29sb3IpKyciIHNpemU9IicrKHBhcnNlSW50KGZvbnRTaXplU3Ry KT43ID8gJzcnIDogZm9udFNpemVTdHIpKyciPic7Cgl9Cn0KCi8vIFF1b3RlcyBN dWx0aSB3b3JkIGZvbnQgbmFtZXM7IG5lZWRlZCBmb3IgQ1NTIFN0YW5kYXJkcyBh ZGhlcmVuY2UgaW4gZm9udC1mYW1pbHkKZnVuY3Rpb24gcXVvdGVNdWx0aU5hbWVG b250cyh0aGVGb250KSB7Cgl2YXIgdiwgcE09dGhlRm9udC5zcGxpdCgnLCcpOwoJ Zm9yICh2YXIgaT0wOyBpPHBNLmxlbmd0aDsgaSsrKSB7CgkJdj1wTVtpXTsKCQl2 PXYucmVwbGFjZSgvXlxzKy8sJycpLnJlcGxhY2UoL1xzKyQvLCcnKTsKCQlpZigv XHMvLnRlc3QodikgJiYgIS9bJyJdLy50ZXN0KHYpKSB7CgkJCXY9IlwnIit2KyJc JyI7CgkJCXBNW2ldPXY7CgkJfQoJfQoJcmV0dXJuIHBNLmpvaW4oKTsKfQoKLy8g ZHVtbXkgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBvdmVycmlkZGVuIApmdW5jdGlv biBpc0V4Y2x1c2l2ZShhcmdzKSB7CglyZXR1cm4gZmFsc2U7Cn0KCi8vIFNldHMg Y2VsbHBhZGRpbmcgc3R5bGUgc3RyaW5nIHZhbHVlCmZ1bmN0aW9uIHNldENlbGxQ YWRTdHIocGFyYW1ldGVyKSB7Cgl2YXIgU3RyPScnLCBqPTAsIGFyeSA9IG5ldyBB cnJheSgpLCB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQ7CgoJU3RyKz0ncGFkZGlu ZzogJzsKCWFyeT1wYXJhbWV0ZXIucmVwbGFjZSgvXHMrL2csJycpLnNwbGl0KCcs Jyk7CgoJc3dpdGNoKGFyeS5sZW5ndGgpIHsKCQljYXNlIDI6CgkJCXRvcD1ib3R0 b209YXJ5W2pdOwoJCQlsZWZ0PXJpZ2h0PWFyeVsrK2pdOwoJCQlicmVhazsKCQlj YXNlIDM6CgkJCXRvcD1hcnlbal07CgkJCWxlZnQ9cmlnaHQ9YXJ5Wysral07CgkJ CWJvdHRvbT1hcnlbKytqXTsKCQkJYnJlYWs7CgkJY2FzZSA0OgoJCQl0b3A9YXJ5 W2pdOwoJCQlyaWdodD1hcnlbKytqXTsKCQkJYm90dG9tPWFyeVsrK2pdOwoJCQls ZWZ0PWFyeVsrK2pdOwoJCQlicmVhazsKCX0KCglTdHIrPSAoKGFyeS5sZW5ndGg9 PTEpID8gYXJ5WzBdICsgJ3B4OycgOiB0b3AgKyAncHggJyArIHJpZ2h0ICsgJ3B4 ICcgKyBib3R0b20gKyAncHggJyArIGxlZnQgKyAncHg7Jyk7CgoJcmV0dXJuIFN0 cjsKfQoKLy8gZnVuY3Rpb24gd2lsbCBkZWxheSBjbG9zZSBieSB0aW1lIG1pbGxp c2Vjb25kcwpmdW5jdGlvbiBoaWRlRGVsYXkodGltZSkgewoJaWYgKHRpbWUmJiFv M19kZWxheSkgewoJCWlmIChvM190aW1lcmlkID4gMCkgY2xlYXJUaW1lb3V0KG8z X3RpbWVyaWQpOwoKCQlvM190aW1lcmlkPXNldFRpbWVvdXQoImNDbGljaygpIiwo bzNfdGltZW91dD10aW1lKSk7Cgl9Cn0KCi8vIFdhcyBvcmlnaW5hbGx5IGluIHRo ZSBwbGFjZUxheWVyKCkgcm91dGluZTsgc2VwYXJhdGVkIG91dCBmb3IgZnV0dXJl IGVhc2UKZnVuY3Rpb24gaG9yaXpvbnRhbFBsYWNlbWVudChicm93c2VyV2lkdGgs IGhvcml6b250YWxTY3JvbGxBbW91bnQsIHdpZHRoRml4KSB7Cgl2YXIgcGxhY2VY LCBpd2lkdGg9YnJvd3NlcldpZHRoLCB3aW5vZmZzZXQ9aG9yaXpvbnRhbFNjcm9s bEFtb3VudDsKCXZhciBwYXJzZWRXaWR0aCA9IHBhcnNlSW50KG8zX3dpZHRoKTsK CglpZiAobzNfZml4eCA+IC0xIHx8IG8zX3JlbHggIT0gbnVsbCkgewoJCS8vIEZp eGVkIHBvc2l0aW9uCgkJcGxhY2VYPShvM19yZWx4ICE9IG51bGwgPyAoIG8zX3Jl bHggPCAwID8gd2lub2Zmc2V0ICtvM19yZWx4KyBpd2lkdGggLSBwYXJzZWRXaWR0 aCAtIHdpZHRoRml4IDogd2lub2Zmc2V0K28zX3JlbHgpIDogbzNfZml4eCk7Cgl9 IGVsc2UgeyAgCgkJLy8gSWYgSEFVVE8sIGRlY2lkZSB3aGF0IHRvIHVzZS4KCQlp ZiAobzNfaGF1dG8gPT0gMSkgewoJCQlpZiAoKG8zX3ggLSB3aW5vZmZzZXQpID4g KGl3aWR0aCAvIDIpKSB7CgkJCQlvM19ocG9zID0gTEVGVDsKCQkJfSBlbHNlIHsK CQkJCW8zX2hwb3MgPSBSSUdIVDsKCQkJfQoJCX0gIAkJCgoJCS8vIEZyb20gbW91 c2UKCQlpZiAobzNfaHBvcyA9PSBDRU5URVIpIHsgLy8gQ2VudGVyCgkJCXBsYWNl WCA9IG8zX3grbzNfb2Zmc2V0eC0ocGFyc2VkV2lkdGgvMik7CgoJCQlpZiAocGxh Y2VYIDwgd2lub2Zmc2V0KSBwbGFjZVggPSB3aW5vZmZzZXQ7CgkJfQoKCQlpZiAo bzNfaHBvcyA9PSBSSUdIVCkgeyAvLyBSaWdodAoJCQlwbGFjZVggPSBvM194K28z X29mZnNldHg7CgoJCQlpZiAoKHBsYWNlWCtwYXJzZWRXaWR0aCkgPiAod2lub2Zm c2V0K2l3aWR0aCAtIHdpZHRoRml4KSkgewoJCQkJcGxhY2VYID0gaXdpZHRoK3dp bm9mZnNldCAtIHBhcnNlZFdpZHRoIC0gd2lkdGhGaXg7CgkJCQlpZiAocGxhY2VY IDwgMCkgcGxhY2VYID0gMDsKCQkJfQoJCX0KCQlpZiAobzNfaHBvcyA9PSBMRUZU KSB7IC8vIExlZnQKCQkJcGxhY2VYID0gbzNfeC1vM19vZmZzZXR4LXBhcnNlZFdp ZHRoOwoJCQlpZiAocGxhY2VYIDwgd2lub2Zmc2V0KSBwbGFjZVggPSB3aW5vZmZz ZXQ7CgkJfSAgCQoKCQkvLyBTbmFwcGluZyEKCQlpZiAobzNfc25hcHggPiAxKSB7 CgkJCXZhciBzbmFwcGluZyA9IHBsYWNlWCAlIG8zX3NuYXB4OwoKCQkJaWYgKG8z X2hwb3MgPT0gTEVGVCkgewoJCQkJcGxhY2VYID0gcGxhY2VYIC0gKG8zX3NuYXB4 K3NuYXBwaW5nKTsKCQkJfSBlbHNlIHsKCQkJCS8vIENFTlRFUiBhbmQgUklHSFQK CQkJCXBsYWNlWCA9IHBsYWNlWCsobzNfc25hcHggLSBzbmFwcGluZyk7CgkJCX0K CgkJCWlmIChwbGFjZVggPCB3aW5vZmZzZXQpIHBsYWNlWCA9IHdpbm9mZnNldDsK CQl9Cgl9CQoKCXJldHVybiBwbGFjZVg7Cn0KCi8vIHdhcyBvcmlnaW5hbGx5IGlu IHRoZSBwbGFjZUxheWVyKCkgcm91dGluZTsgc2VwYXJhdGVkIG91dCBmb3IgZnV0 dXJlIGVhc2UKZnVuY3Rpb24gdmVydGljYWxQbGFjZW1lbnQoYnJvd3NlckhlaWdo dCx2ZXJ0aWNhbFNjcm9sbEFtb3VudCkgewoJdmFyIHBsYWNlWSwgaWhlaWdodD1i cm93c2VySGVpZ2h0LCBzY3JvbGxvZmZzZXQ9dmVydGljYWxTY3JvbGxBbW91bnQ7 Cgl2YXIgcGFyc2VkSGVpZ2h0PShvM19hYm92ZWhlaWdodCA/IHBhcnNlSW50KG8z X2Fib3ZlaGVpZ2h0KSA6IChvbE5zNCA/IG92ZXIuY2xpcC5oZWlnaHQgOiBvdmVy Lm9mZnNldEhlaWdodCkpOwoKCWlmIChvM19maXh5ID4gLTEgfHwgbzNfcmVseSAh PSBudWxsKSB7CgkJLy8gRml4ZWQgcG9zaXRpb24KCQlwbGFjZVk9KG8zX3JlbHkg IT0gbnVsbCA/IChvM19yZWx5IDwgMCA/IHNjcm9sbG9mZnNldCtvM19yZWx5K2lo ZWlnaHQgLSBwYXJzZWRIZWlnaHQgOiBzY3JvbGxvZmZzZXQrbzNfcmVseSkgOiBv M19maXh5KTsKCX0gZWxzZSB7CgkJLy8gSWYgVkFVVE8sIGRlY2lkZSB3aGF0IHRv IHVzZS4KCQlpZiAobzNfdmF1dG8gPT0gMSkgewoJCQlpZiAoKG8zX3kgLSBzY3Jv bGxvZmZzZXQpID4gKGloZWlnaHQgLyAyKSAmJiBvM192cG9zID09IEJFTE9XICYm IChvM195ICsgcGFyc2VkSGVpZ2h0ICsgbzNfb2Zmc2V0eSAtIChzY3JvbGxvZmZz ZXQgKyBpaGVpZ2h0KSA+IDApKSB7CgkJCQlvM192cG9zID0gQUJPVkU7CgkJCX0g ZWxzZSBpZiAobzNfdnBvcyA9PSBBQk9WRSAmJiAobzNfeSAtIChwYXJzZWRIZWln aHQgKyBvM19vZmZzZXR5KSAtIHNjcm9sbG9mZnNldCA8IDApKSB7CgkJCQlvM192 cG9zID0gQkVMT1c7CgkJCX0KCQl9CgoJCS8vIEZyb20gbW91c2UKCQlpZiAobzNf dnBvcyA9PSBBQk9WRSkgewoJCQlpZiAobzNfYWJvdmVoZWlnaHQgPT0gMCkgbzNf YWJvdmVoZWlnaHQgPSBwYXJzZWRIZWlnaHQ7IAoKCQkJcGxhY2VZID0gbzNfeSAt IChvM19hYm92ZWhlaWdodCtvM19vZmZzZXR5KTsKCQkJaWYgKHBsYWNlWSA8IHNj cm9sbG9mZnNldCkgcGxhY2VZID0gc2Nyb2xsb2Zmc2V0OwoJCX0gZWxzZSB7CgkJ CS8vIEJFTE9XCgkJCXBsYWNlWSA9IG8zX3krbzNfb2Zmc2V0eTsKCQl9IAoKCQkv LyBTbmFwcGluZyEKCQlpZiAobzNfc25hcHkgPiAxKSB7CgkJCXZhciBzbmFwcGlu ZyA9IHBsYWNlWSAlIG8zX3NuYXB5OyAgCQkJCgoJCQlpZiAobzNfYWJvdmVoZWln aHQgPiAwICYmIG8zX3Zwb3MgPT0gQUJPVkUpIHsKCQkJCXBsYWNlWSA9IHBsYWNl WSAtIChvM19zbmFweStzbmFwcGluZyk7CgkJCX0gZWxzZSB7CgkJCQlwbGFjZVkg PSBwbGFjZVkrKG8zX3NuYXB5IC0gc25hcHBpbmcpOwoJCQl9IAkJCQoKCQkJaWYg KHBsYWNlWSA8IHNjcm9sbG9mZnNldCkgcGxhY2VZID0gc2Nyb2xsb2Zmc2V0OwoJ CX0KCX0KCglyZXR1cm4gcGxhY2VZOwp9CgovLyBjaGVja3MgcG9zaXRpb25pbmcg ZmxhZ3MKZnVuY3Rpb24gY2hlY2tQb3NpdGlvbkZsYWdzKCkgewoJaWYgKG9sSGF1 dG9GbGFnKSBvbEhhdXRvRmxhZyA9IG8zX2hhdXRvPTA7CglpZiAob2xWYXV0b0Zs YWcpIG9sVmF1dG9GbGFnID0gbzNfdmF1dG89MDsKCXJldHVybiB0cnVlOwp9Cgov LyBnZXQgQnJvd3NlciB3aW5kb3cgd2lkdGgKZnVuY3Rpb24gd2luZG93V2lkdGgo KSB7Cgl2YXIgdzsKCWlmIChvM19mcmFtZS5pbm5lcldpZHRoKSB3PW8zX2ZyYW1l LmlubmVyV2lkdGg7CgllbHNlIGlmIChldmFsKCdvM19mcmFtZS4nK2RvY1Jvb3Qp JiZldmFsKCJ0eXBlb2YgbzNfZnJhbWUuIitkb2NSb290KyIuY2xpZW50V2lkdGg9 PSdudW1iZXInIikmJmV2YWwoJ28zX2ZyYW1lLicrZG9jUm9vdCsnLmNsaWVudFdp ZHRoJykpIAoJCXc9ZXZhbCgnbzNfZnJhbWUuJytkb2NSb290KycuY2xpZW50V2lk dGgnKTsKCXJldHVybiB3OwkJCQp9CgovLyBjcmVhdGUgdGhlIGRpdiBjb250YWlu ZXIgZm9yIHBvcHVwIGNvbnRlbnQgaWYgaXQgZG9lc24ndCBleGlzdApmdW5jdGlv biBjcmVhdGVEaXZDb250YWluZXIoaWQsZnJtLHpWYWx1ZSkgewoJaWQgPSAoaWQg fHwgJ292ZXJEaXYnKSwgZnJtID0gKGZybSB8fCBvM19mcmFtZSksIHpWYWx1ZSA9 ICh6VmFsdWUgfHwgMTAwMCk7Cgl2YXIgb2JqUmVmLCBkaXZDb250YWluZXIgPSBs YXllclJlZmVyZW5jZShpZCk7CgoJaWYgKGRpdkNvbnRhaW5lciA9PSBudWxsKSB7 CgkJaWYgKG9sTnM0KSB7CgkJCWRpdkNvbnRhaW5lciA9IGZybS5kb2N1bWVudC5s YXllcnNbaWRdID0gbmV3IExheWVyKHdpbmRvdy5pbm5lcldpZHRoLCBmcm0pOwoJ CQlvYmpSZWYgPSBkaXZDb250YWluZXI7CgkJfSBlbHNlIHsKCQkJdmFyIGJvZHkg PSAob2xJZTQgPyBmcm0uZG9jdW1lbnQuYWxsLnRhZ3MoJ0JPRFknKVswXSA6IGZy bS5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiQk9EWSIpWzBdKTsKCQkJ aWYgKG9sSWU0JiYhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHsKCQkJCWJvZHku aW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVFbmQiLCc8ZGl2IGlkPSInK2lkKyci PjwvZGl2PicpOwoJCQkJZGl2Q29udGFpbmVyPWxheWVyUmVmZXJlbmNlKGlkKTsK CQkJfSBlbHNlIHsKCQkJCWRpdkNvbnRhaW5lciA9IGZybS5kb2N1bWVudC5jcmVh dGVFbGVtZW50KCJESVYiKTsKCQkJCWRpdkNvbnRhaW5lci5pZCA9IGlkOwoJCQkJ Ym9keS5hcHBlbmRDaGlsZChkaXZDb250YWluZXIpOwoJCQl9CgkJCW9ialJlZiA9 IGRpdkNvbnRhaW5lci5zdHlsZTsKCQl9CgoJCW9ialJlZi5wb3NpdGlvbiA9ICdh YnNvbHV0ZSc7CgkJb2JqUmVmLnZpc2liaWxpdHkgPSAnaGlkZGVuJzsKCQlvYmpS ZWYuekluZGV4ID0gelZhbHVlOwoJCWlmIChvbEllNCYmIW9sT3ApIG9ialJlZi5s ZWZ0ID0gb2JqUmVmLnRvcCA9ICcwcHgnOwoJCWVsc2Ugb2JqUmVmLmxlZnQgPSBv YmpSZWYudG9wID0gIC0xMDAwMCArICghb2xOczQgPyAncHgnIDogMCk7Cgl9CgoJ cmV0dXJuIGRpdkNvbnRhaW5lcjsKfQoKLy8gZ2V0IHJlZmVyZW5jZSB0byBhIGxh eWVyIHdpdGggSUQ9aWQKZnVuY3Rpb24gbGF5ZXJSZWZlcmVuY2UoaWQpIHsKCXJl dHVybiAob2xOczQgPyBvM19mcmFtZS5kb2N1bWVudC5sYXllcnNbaWRdIDogKGRv Y3VtZW50LmFsbCA/IG8zX2ZyYW1lLmRvY3VtZW50LmFsbFtpZF0gOiBvM19mcmFt ZS5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpKTsKfQovLy8vLy8vLwovLyAg VVRJTElUWSBGVU5DVElPTlMKLy8vLy8vLy8KCi8vIENoZWNrcyBpZiBzb21ldGhp bmcgaXMgYSBmdW5jdGlvbi4KZnVuY3Rpb24gaXNGdW5jdGlvbihmblJlZikgewoJ dmFyIHJ0biA9IHRydWU7CgoJaWYgKHR5cGVvZiBmblJlZiA9PSAnb2JqZWN0Jykg ewoJCWZvciAodmFyIGkgPSAwOyBpIDwgZm5SZWYubGVuZ3RoOyBpKyspIHsKCQkJ aWYgKHR5cGVvZiBmblJlZltpXT09J2Z1bmN0aW9uJykgY29udGludWU7CgkJCXJ0 biA9IGZhbHNlOwoJCQlicmVhazsKCQl9Cgl9IGVsc2UgaWYgKHR5cGVvZiBmblJl ZiAhPSAnZnVuY3Rpb24nKSB7CgkJcnRuID0gZmFsc2U7Cgl9CgkKCXJldHVybiBy dG47Cn0KCi8vIENvbnZlcnRzIGFuIGFycmF5IGludG8gYW4gYXJndW1lbnQgc3Ry aW5nIGZvciB1c2UgaW4gZXZhbC4KZnVuY3Rpb24gYXJnVG9TdHJpbmcoYXJyYXks IHN0cnRJbmQsIGFyZ05hbWUpIHsKCXZhciBqUyA9IHN0cnRJbmQsIGFTID0gJycs IGFyID0gYXJyYXk7CglhcmdOYW1lPShhcmdOYW1lID8gYXJnTmFtZSA6ICdhcicp OwoJCglpZiAoYXIubGVuZ3RoID4galMpIHsKCQlmb3IgKHZhciBrID0galM7IGsg PCBhci5sZW5ndGg7IGsrKykgYVMgKz0gYXJnTmFtZSsnWycraysnXSwgJzsKCQlh UyA9IGFTLnN1YnN0cmluZygwLCBhUy5sZW5ndGgtMik7Cgl9CgkKCXJldHVybiBh UzsKfQoKLy8gUGxhY2VzIGEgaG9vayBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbiBp biBhIGhvb2sgcG9pbnQuCmZ1bmN0aW9uIHJlT3JkZXIoaG9va1B0LCBmblJlZiwg b3JkZXIpIHsKCXZhciBuZXdQdCA9IG5ldyBBcnJheSgpLCBtYXRjaCwgaSwgajsK CglpZiAoIW9yZGVyIHx8IHR5cGVvZiBvcmRlciA9PSAndW5kZWZpbmVkJyB8fCB0 eXBlb2Ygb3JkZXIgPT0gJ251bWJlcicpIHJldHVybiBob29rUHQ7CgkKCWlmICh0 eXBlb2Ygb3JkZXI9PSdmdW5jdGlvbicpIHsKCQlpZiAodHlwZW9mIGZuUmVmPT0n b2JqZWN0JykgewoJCQluZXdQdCA9IG5ld1B0LmNvbmNhdChmblJlZik7CgkJfSBl bHNlIHsKCQkJbmV3UHRbbmV3UHQubGVuZ3RoKytdPWZuUmVmOwoJCX0KCQkKCQlm b3IgKGkgPSAwOyBpIDwgaG9va1B0Lmxlbmd0aDsgaSsrKSB7CgkJCW1hdGNoID0g ZmFsc2U7CgkJCWlmICh0eXBlb2YgZm5SZWYgPT0gJ2Z1bmN0aW9uJyAmJiBob29r UHRbaV0gPT0gZm5SZWYpIHsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2UgewoJCQkJ Zm9yKGogPSAwOyBqIDwgZm5SZWYubGVuZ3RoOyBqKyspIGlmIChob29rUHRbaV0g PT0gZm5SZWZbal0pIHsKCQkJCQltYXRjaCA9IHRydWU7CgkJCQkJYnJlYWs7CgkJ CQl9CgkJCX0KCQkJaWYgKCFtYXRjaCkgbmV3UHRbbmV3UHQubGVuZ3RoKytdID0g aG9va1B0W2ldOwoJCX0KCgkJbmV3UHRbbmV3UHQubGVuZ3RoKytdID0gb3JkZXI7 CgoJfSBlbHNlIGlmICh0eXBlb2Ygb3JkZXIgPT0gJ29iamVjdCcpIHsKCQlpZiAo dHlwZW9mIGZuUmVmID09ICdvYmplY3QnKSB7CgkJCW5ld1B0ID0gbmV3UHQuY29u Y2F0KGZuUmVmKTsKCQl9IGVsc2UgewoJCQluZXdQdFtuZXdQdC5sZW5ndGgrK10g PSBmblJlZjsKCQl9CgkJCgkJZm9yIChqID0gMDsgaiA8IGhvb2tQdC5sZW5ndGg7 IGorKykgewoJCQltYXRjaCA9IGZhbHNlOwoJCQlpZiAodHlwZW9mIGZuUmVmID09 ICdmdW5jdGlvbicgJiYgaG9va1B0W2pdID09IGZuUmVmKSB7CgkJCQljb250aW51 ZTsKCQkJfSBlbHNlIHsKCQkJCWZvciAoaSA9IDA7IGkgPCBmblJlZi5sZW5ndGg7 IGkrKykgaWYgKGhvb2tQdFtqXSA9PSBmblJlZltpXSkgewoJCQkJCW1hdGNoID0g dHJ1ZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlpZiAoIW1hdGNoKSBuZXdQ dFtuZXdQdC5sZW5ndGgrK109aG9va1B0W2pdOwoJCX0KCgkJZm9yIChpID0gMDsg aSA8IG5ld1B0Lmxlbmd0aDsgaSsrKSBob29rUHRbaV0gPSBuZXdQdFtpXTsKCQlu ZXdQdC5sZW5ndGggPSAwOwoJCQoJCWZvciAoaiA9IDA7IGogPCBob29rUHQubGVu Z3RoOyBqKyspIHsKCQkJbWF0Y2ggPSBmYWxzZTsKCQkJZm9yIChpID0gMDsgaSA8 IG9yZGVyLmxlbmd0aDsgaSsrKSB7CgkJCQlpZiAoaG9va1B0W2pdID09IG9yZGVy W2ldKSB7CgkJCQkJbWF0Y2ggPSB0cnVlOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9 CgkJCWlmICghbWF0Y2gpIG5ld1B0W25ld1B0Lmxlbmd0aCsrXSA9IGhvb2tQdFtq XTsKCQl9CgkJbmV3UHQgPSBuZXdQdC5jb25jYXQob3JkZXIpOwoJfQoKCWhvb2tQ dCA9IG5ld1B0OwoKCXJldHVybiBob29rUHQ7Cn0KCi8vLy8vLy8vCi8vICBQTFVH SU4gQUNUSVZBVElPTiBGVU5DVElPTlMKLy8vLy8vLy8KCi8vIFJ1bnMgcGx1Z2lu IGZ1bmN0aW9ucyB0byBzZXQgcnVudGltZSB2YXJpYWJsZXMuCmZ1bmN0aW9uIHNl dFJ1blRpbWVWYXJpYWJsZXMoKXsKCWlmICh0eXBlb2YgcnVuVGltZSAhPSAndW5k ZWZpbmVkJyAmJiBydW5UaW1lLmxlbmd0aCkgewoJCWZvciAodmFyIGsgPSAwOyBr IDwgcnVuVGltZS5sZW5ndGg7IGsrKykgewoJCQlydW5UaW1lW2tdKCk7CgkJfQoJ fQp9CgovLyBSdW5zIHBsdWdpbiBmdW5jdGlvbnMgdG8gcGFyc2UgY29tbWFuZHMu CmZ1bmN0aW9uIHBhcnNlQ21kTGluZShwZiwgaSwgYXJncykgewoJaWYgKHR5cGVv ZiBjbWRMaW5lICE9ICd1bmRlZmluZWQnICYmIGNtZExpbmUubGVuZ3RoKSB7IAoJ CWZvciAodmFyIGsgPSAwOyBrIDwgY21kTGluZS5sZW5ndGg7IGsrKykgeyAKCQkJ dmFyIGogPSBjbWRMaW5lW2tdKHBmLCBpLCBhcmdzKTsKCQkJaWYgKGogPi0gMSkg ewoJCQkJaSA9IGo7CgkJCQlicmVhazsKCQkJfQoJCX0KCX0KCglyZXR1cm4gaTsK fQoKLy8gUnVucyBwbHVnaW4gZnVuY3Rpb25zIHRvIGRvIHRoaW5ncyBhZnRlciBw YXJzZS4KZnVuY3Rpb24gcG9zdFBhcnNlQ2hlY2tzKHBmLGFyZ3MpewoJaWYgKHR5 cGVvZiBwb3N0UGFyc2UgIT0gJ3VuZGVmaW5lZCcgJiYgcG9zdFBhcnNlLmxlbmd0 aCkgewoJCWZvciAodmFyIGsgPSAwOyBrIDwgcG9zdFBhcnNlLmxlbmd0aDsgaysr KSB7CgkJCWlmIChwb3N0UGFyc2Vba10ocGYsYXJncykpIGNvbnRpbnVlOwoJCQly ZXR1cm4gZmFsc2U7ICAvLyBlbmQgbm93IHNpbmNlIGhhdmUgYW4gZXJyb3IKCQl9 Cgl9CglyZXR1cm4gdHJ1ZTsKfQoKCi8vLy8vLy8vCi8vICBQTFVHSU4gUkVHSVNU UkFUSU9OIEZVTkNUSU9OUwovLy8vLy8vLwoKLy8gUmVnaXN0ZXJzIGNvbW1hbmRz IGFuZCBjcmVhdGVzIGNvbnN0YW50cy4KZnVuY3Rpb24gcmVnaXN0ZXJDb21tYW5k cyhjbWRTdHIpIHsKCWlmICh0eXBlb2YgY21kU3RyIT0nc3RyaW5nJykgcmV0dXJu OwoKCXZhciBwTSA9IGNtZFN0ci5zcGxpdCgnLCcpOwoJcG1zID0gcG1zLmNvbmNh dChwTSk7CgoJZm9yICh2YXIgaSA9IDA7IGk8IHBNLmxlbmd0aDsgaSsrKSB7CgkJ ZXZhbChwTVtpXS50b1VwcGVyQ2FzZSgpKyc9JytwbUNvdW50KyspOwoJfQp9Cgov LyBSZWdpc3RlcnMgbm8tcGFyYW1ldGVyIGNvbW1hbmRzCmZ1bmN0aW9uIHJlZ2lz dGVyTm9QYXJhbWV0ZXJDb21tYW5kcyhjbWRTdHIpIHsKCWlmICghY21kU3RyICYm IHR5cGVvZiBjbWRTdHIgIT0gJ3N0cmluZycpIHJldHVybjsKCXBtdD0oIXBtdCkg PyBjbWRTdHIgOiBwbXQgKyAnLCcgKyBjbWRTdHI7Cn0KCi8vIFJlZ2lzdGVyIGEg ZnVuY3Rpb24gdG8gaG9vayBhdCBhIGNlcnRhaW4gcG9pbnQuCmZ1bmN0aW9uIHJl Z2lzdGVySG9vayhmbkhvb2tUbywgZm5SZWYsIGhvb2tUeXBlLCBvcHRQbSkgewoJ dmFyIGhvb2tQdCwgbGFzdCA9IHR5cGVvZiBvcHRQbTsKCQoJaWYgKGZuSG9va1Rv ID09ICdwbGdJbid8fGZuSG9va1RvID09ICdwb3N0UGFyc2UnKSByZXR1cm47Cglp ZiAodHlwZW9mIGhvb2tQdHNbZm5Ib29rVG9dID09ICd1bmRlZmluZWQnKSBob29r UHRzW2ZuSG9va1RvXSA9IG5ldyBGdW5jdGlvblJlZmVyZW5jZSgpOwoKCWhvb2tQ dCA9IGhvb2tQdHNbZm5Ib29rVG9dOwoKCWlmIChob29rVHlwZSAhPSBudWxsKSB7 CgkJaWYgKGhvb2tUeXBlID09IEZSRVBMQUNFKSB7CgkJCWhvb2tQdC5vdmxvYWQg PSBmblJlZjsgIC8vIHJlcGxhY2Ugbm9ybWFsIG92ZXJsaWIgcm91dGluZQoJCQlp ZiAoZm5Ib29rVG8uaW5kZXhPZignb2xfY29udGVudF8nKSA+IC0xKSBob29rUHQu YWx0W3Btc1tDU1NPRkYtMS1wbVN0YXJ0XV09Zm5SZWY7IAoKCQl9IGVsc2UgaWYg KGhvb2tUeXBlID09IEZCRUZPUkUgfHwgaG9va1R5cGUgPT0gRkFGVEVSKSB7CgkJ CXZhciBob29rUHQ9KGhvb2tUeXBlID09IDEgPyBob29rUHQuYmVmb3JlIDogaG9v a1B0LmFmdGVyKTsKCgkJCWlmICh0eXBlb2YgZm5SZWYgPT0gJ29iamVjdCcpIHsK CQkJCWhvb2tQdCA9IGhvb2tQdC5jb25jYXQoZm5SZWYpOwoJCQl9IGVsc2UgewoJ CQkJaG9va1B0W2hvb2tQdC5sZW5ndGgrK10gPSBmblJlZjsKCQkJfQoKCQkJaWYg KG9wdFBtKSBob29rUHQgPSByZU9yZGVyKGhvb2tQdCwgZm5SZWYsIG9wdFBtKTsK CgkJfSBlbHNlIGlmIChob29rVHlwZSA9PSBGQUxURVJOQVRFKSB7CgkJCWlmIChs YXN0PT0nbnVtYmVyJykgaG9va1B0LmFsdFtwbXNbb3B0UG0tMS1wbVN0YXJ0XV0g PSBmblJlZjsKCQl9IGVsc2UgaWYgKGhvb2tUeXBlID09IEZDSEFJTikgewoJCQlo b29rUHQgPSBob29rUHQuY2hhaW47IAoJCQlpZiAodHlwZW9mIGZuUmVmPT0nb2Jq ZWN0JykgaG9va1B0PWhvb2tQdC5jb25jYXQoZm5SZWYpOyAvLyBhZGQgb3RoZXIg ZnVuY3Rpb25zIAoJCQllbHNlIGhvb2tQdFtob29rUHQubGVuZ3RoKytdPWZuUmVm OwoJCX0KCgkJcmV0dXJuOwoJfQp9CgovLyBSZWdpc3RlciBhIGZ1bmN0aW9uIHRo YXQgd2lsbCBzZXQgcnVudGltZSB2YXJpYWJsZXMuCmZ1bmN0aW9uIHJlZ2lzdGVy UnVuVGltZUZ1bmN0aW9uKGZuKSB7CglpZiAoaXNGdW5jdGlvbihmbikpIHsKCQlp ZiAodHlwZW9mIGZuID09ICdvYmplY3QnKSB7CgkJCXJ1blRpbWUgPSBydW5UaW1l LmNvbmNhdChmbik7CgkJfSBlbHNlIHsKCQkJcnVuVGltZVtydW5UaW1lLmxlbmd0 aCsrXSA9IGZuOwoJCX0KCX0KfQoKLy8gUmVnaXN0ZXIgYSBmdW5jdGlvbiB0aGF0 IHdpbGwgaGFuZGxlIGNvbW1hbmQgcGFyc2luZy4KZnVuY3Rpb24gcmVnaXN0ZXJD bWRMaW5lRnVuY3Rpb24oZm4pewoJaWYgKGlzRnVuY3Rpb24oZm4pKSB7CgkJaWYg KHR5cGVvZiBmbiA9PSAnb2JqZWN0JykgewoJCQljbWRMaW5lID0gY21kTGluZS5j b25jYXQoZm4pOwoJCX0gZWxzZSB7CgkJCWNtZExpbmVbY21kTGluZS5sZW5ndGgr K10gPSBmbjsKCQl9Cgl9Cn0KCi8vIFJlZ2lzdGVyIGEgZnVuY3Rpb24gdGhhdCBk b2VzIHRoaW5ncyBhZnRlciBjb21tYW5kIHBhcnNpbmcuIApmdW5jdGlvbiByZWdp c3RlclBvc3RQYXJzZUZ1bmN0aW9uKGZuKXsKCWlmIChpc0Z1bmN0aW9uKGZuKSkg ewoJCWlmICh0eXBlb2YgZm4gPT0gJ29iamVjdCcpIHsKCQkJcG9zdFBhcnNlID0g cG9zdFBhcnNlLmNvbmNhdChmbik7CgkJfSBlbHNlIHsKCQkJcG9zdFBhcnNlW3Bv c3RQYXJzZS5sZW5ndGgrK10gPSBmbjsKCQl9Cgl9Cn0KCi8vLy8vLy8vCi8vICBQ TFVHSU4gUkVHSVNUUkFUSU9OIEZVTkNUSU9OUwovLy8vLy8vLwoKLy8gUnVucyBh bnkgaG9va3MgcmVnaXN0ZXJlZC4KZnVuY3Rpb24gcnVuSG9vayhmbkhvb2tUbywg aG9va1R5cGUpIHsKCXZhciBsID0gaG9va1B0c1tmbkhvb2tUb10sIGssIHJ0blZh bCA9IG51bGwsIG9wdFBtLCBhclMsIGFyID0gcnVuSG9vay5hcmd1bWVudHM7CgoJ aWYgKGhvb2tUeXBlID09IEZSRVBMQUNFKSB7CgkJYXJTID0gYXJnVG9TdHJpbmco YXIsIDIpOwoKCQlpZiAodHlwZW9mIGwgPT0gJ3VuZGVmaW5lZCcgfHwgIShsID0g bC5vdmxvYWQpKSBydG5WYWwgPSBldmFsKGZuSG9va1RvKycoJythclMrJyknKTsK CQllbHNlIHJ0blZhbCA9IGV2YWwoJ2woJythclMrJyknKTsKCgl9IGVsc2UgaWYg KGhvb2tUeXBlID09IEZCRUZPUkUgfHwgaG9va1R5cGUgPT0gRkFGVEVSKSB7CgkJ aWYgKHR5cGVvZiBsICE9ICd1bmRlZmluZWQnKSB7CgkJCWw9KGhvb2tUeXBlID09 IDEgPyBsLmJlZm9yZSA6IGwuYWZ0ZXIpOwoJCgkJCWlmIChsLmxlbmd0aCkgewoJ CQkJYXJTID0gYXJnVG9TdHJpbmcoYXIsIDIpOwoJCQkJZm9yICh2YXIgayA9IDA7 IGsgPCBsLmxlbmd0aDsgaysrKSBldmFsKCdsW2tdKCcrYXJTKycpJyk7CgkJCX0K CQl9Cgl9IGVsc2UgaWYgKGhvb2tUeXBlID09IEZBTFRFUk5BVEUpIHsKCQlvcHRQ bSA9IGFyWzJdOwoJCWFyUyA9IGFyZ1RvU3RyaW5nKGFyLCAzKTsKCgkJaWYgKHR5 cGVvZiBsID09ICd1bmRlZmluZWQnIHx8IChsID0gbC5hbHRbcG1zW29wdFBtLTEt cG1TdGFydF1dKSA9PSAndW5kZWZpbmVkJykgewoJCQlydG5WYWwgPSBldmFsKGZu SG9va1RvKycoJythclMrJyknKTsKCQl9IGVsc2UgewoJCQlydG5WYWwgPSBldmFs KCdsKCcrYXJTKycpJyk7CgkJfQoJfSBlbHNlIGlmIChob29rVHlwZSA9PSBGQ0hB SU4pIHsKCQlhclM9YXJnVG9TdHJpbmcoYXIsMik7CgkJbD1sLmNoYWluOwoKCQlm b3IgKGs9bC5sZW5ndGg7IGsgPiAwOyBrLS0pIGlmKChydG5WYWw9ZXZhbCgnbFtr LTFdKCcrYXJTKycpJykpIT12b2lkKDApKSBicmVhazsKCX0KCglyZXR1cm4gcnRu VmFsOwp9CgovLy8vLy8vLwovLyBPQkpFQ1QgQ09OU1RSVUNUT1JTCi8vLy8vLy8v CgovLyBPYmplY3QgZm9yIGhhbmRsaW5nIGhvb2tzLgpmdW5jdGlvbiBGdW5jdGlv blJlZmVyZW5jZSgpIHsKCXRoaXMub3Zsb2FkID0gbnVsbDsKCXRoaXMuYmVmb3Jl ID0gbmV3IEFycmF5KCk7Cgl0aGlzLmFmdGVyID0gbmV3IEFycmF5KCk7Cgl0aGlz LmFsdCA9IG5ldyBBcnJheSgpOwoJdGhpcy5jaGFpbiA9IG5ldyBBcnJheSgpOwp9 CgovLyBPYmplY3QgZm9yIHNpbXBsZSBhY2Nlc3MgdG8gdGhlIG92ZXJMSUIgdmVy c2lvbiB1c2VkLgovLyBFeGFtcGxlczogc2ltcGxldmVyc2lvbjozNTEgbWFqb3I6 MyBtaW5vcjo1IHJldmlzaW9uOjEKZnVuY3Rpb24gSW5mbyh2ZXJzaW9uLCBwcmVy ZWxlYXNlKSB7Cgl0aGlzLnZlcnNpb24gPSB2ZXJzaW9uOwoJdGhpcy5wcmVyZWxl YXNlID0gcHJlcmVsZWFzZTsKCgl0aGlzLnNpbXBsZXZlcnNpb24gPSBNYXRoLnJv dW5kKHRoaXMudmVyc2lvbioxMDApOwoJdGhpcy5tYWpvciA9IHBhcnNlSW50KHRo aXMuc2ltcGxldmVyc2lvbiAvIDEwMCk7Cgl0aGlzLm1pbm9yID0gcGFyc2VJbnQo dGhpcy5zaW1wbGV2ZXJzaW9uIC8gMTApIC0gdGhpcy5tYWpvciAqIDEwOwoJdGhp cy5yZXZpc2lvbiA9IHBhcnNlSW50KHRoaXMuc2ltcGxldmVyc2lvbikgLSB0aGlz Lm1ham9yICogMTAwIC0gdGhpcy5taW5vciAqIDEwOwoJdGhpcy5tZWV0cyA9IG1l ZXRzOwp9CgovLyBjaGVja3MgZm9yIENvcmUgVmVyc2lvbiByZXF1aXJlZApmdW5j dGlvbiBtZWV0cyhyZXFkVmVyc2lvbikgewoJcmV0dXJuICghcmVxZFZlcnNpb24p ID8gZmFsc2UgOiB0aGlzLnNpbXBsZXZlcnNpb24gPj0gTWF0aC5yb3VuZCgxMDAq cGFyc2VGbG9hdChyZXFkVmVyc2lvbikpOwp9CgoKLy8vLy8vLy8KLy8gU1RBTkRB UkQgUkVHSVNUUkFUSU9OUwovLy8vLy8vLwpyZWdpc3Rlckhvb2soIm9sX2NvbnRl bnRfc2ltcGxlIiwgb2xfY29udGVudF9zaW1wbGUsIEZBTFRFUk5BVEUsIENTU09G Rik7CnJlZ2lzdGVySG9vaygib2xfY29udGVudF9jYXB0aW9uIiwgb2xfY29udGVu dF9jYXB0aW9uLCBGQUxURVJOQVRFLCBDU1NPRkYpOwpyZWdpc3Rlckhvb2soIm9s X2NvbnRlbnRfYmFja2dyb3VuZCIsIG9sX2NvbnRlbnRfYmFja2dyb3VuZCwgRkFM VEVSTkFURSwgQ1NTT0ZGKTsKcmVnaXN0ZXJIb29rKCJvbF9jb250ZW50X3NpbXBs ZSIsIG9sX2NvbnRlbnRfc2ltcGxlLCBGQUxURVJOQVRFLCBDU1NDTEFTUyk7CnJl Z2lzdGVySG9vaygib2xfY29udGVudF9jYXB0aW9uIiwgb2xfY29udGVudF9jYXB0 aW9uLCBGQUxURVJOQVRFLCBDU1NDTEFTUyk7CnJlZ2lzdGVySG9vaygib2xfY29u dGVudF9iYWNrZ3JvdW5kIiwgb2xfY29udGVudF9iYWNrZ3JvdW5kLCBGQUxURVJO QVRFLCBDU1NDTEFTUyk7CnJlZ2lzdGVyUG9zdFBhcnNlRnVuY3Rpb24oY2hlY2tQ b3NpdGlvbkZsYWdzKTsKcmVnaXN0ZXJIb29rKCJoaWRlT2JqZWN0IiwgbmJzcENs ZWFudXAsIEZBRlRFUik7CnJlZ2lzdGVySG9vaygiaG9yaXpvbnRhbFBsYWNlbWVu dCIsIGhvcml6b250YWxQbGFjZW1lbnQsIEZDSEFJTik7CnJlZ2lzdGVySG9vaygi dmVydGljYWxQbGFjZW1lbnQiLCB2ZXJ0aWNhbFBsYWNlbWVudCwgRkNIQUlOKTsK aWYgKG9sTnM0fHwob2xJZTUmJmlzTWFjKXx8b2xLcSkgb2xMb2FkZWQ9MTsKcmVn aXN0ZXJOb1BhcmFtZXRlckNvbW1hbmRzKCdzdGlja3ksYXV0b3N0YXR1cyxhdXRv c3RhdHVzY2FwLGZ1bGxodG1sLGhhdXRvLHZhdXRvLGNsb3NlY2xpY2ssd3JhcCxm b2xsb3dtb3VzZSxtb3VzZW9mZixjb21wYXRtb2RlJyk7Ci8vLy8vLy8KLy8gRVNU QUJMSVNIIE1PVVNFQ0FQVFVSSU5HCi8vLy8vLy8KCi8vIENhcHR1cmUgZXZlbnRz LCBhbHQuIGRpZmZ1c2VzIHRoZSBvdmVybGliIGZ1bmN0aW9uLgp2YXIgb2xDaGVj a01vdXNlQ2FwdHVyZT10cnVlOwppZiAoKG9sTnM0IHx8IG9sTnM2IHx8IG9sSWU0 KSkgewoJb2xNb3VzZUNhcHR1cmUoKTsKfSBlbHNlIHsKCW92ZXJsaWIgPSBub19v dmVybGliOwoJbmQgPSBub19vdmVybGliOwoJdmVyM2ZpeCA9IHRydWU7Cn0K ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=overlib_cssstyle.js Content-Type: application/javascript; charset=utf-8; name=overlib_cssstyle.js Content-Location: http://prijimacky.osu.cz/lib/overlib/overlib_cssstyle.js Content-Transfer-Encoding: Base64 Ly9cLy8vLy8KLy9cICBvdmVyTElCIENTUyBTdHlsZSBQbHVnaW4KLy9cICBUaGlz IGZpbGUgcmVxdWlyZXMgb3ZlckxJQiA0LjEwIG9yIGxhdGVyLgovL1wKLy9cICBv dmVyTElCIDQuMDUgLSBZb3UgbWF5IG5vdCByZW1vdmUgb3IgY2hhbmdlIHRoaXMg bm90aWNlLgovL1wgIENvcHlyaWdodCBFcmlrIEJvc3J1cCAxOTk4LTIwMDQuIEFs bCByaWdodHMgcmVzZXJ2ZWQuCi8vXCAgQ29udHJpYnV0b3JzIGFyZSBsaXN0ZWQg b24gdGhlIGhvbWVwYWdlLgovL1wgIFNlZSBodHRwOi8vd3d3LmJvc3J1cC5jb20v d2ViL292ZXJsaWIvIGZvciBkZXRhaWxzLgovLyAgICRSZXZpc2lvbjogMS4xLjIu MSAkICAgICAgICAgICAgICAgICAgICAgICREYXRlOiAyMDEwLzEyLzIyIDA3OjQ5 OjEwICQKLy9cLy8vLy8KLy9cbWluaQoKCi8vLy8vLy8vCi8vIFBSRS1JTklUCi8v IElnbm9yZSB0aGVzZSBsaW5lcywgY29uZmlndXJhdGlvbiBpcyBiZWxvdy4KLy8v Ly8vLy8KaWYgKHR5cGVvZiBvbEluZm8gPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9m IG9sSW5mby5tZWV0cyA9PSAndW5kZWZpbmVkJyB8fCAhb2xJbmZvLm1lZXRzKDQu MTApKSBhbGVydCgnb3ZlckxJQiA0LjEwIG9yIGxhdGVyIGlzIHJlcXVpcmVkIGZv ciB0aGUgQ1NTIFN0eWxlIFBsdWdpbi4nKTsKZWxzZSB7CnJlZ2lzdGVyQ29tbWFu ZHMoJ2Nzc3N0eWxlLHBhZHVuaXQsaGVpZ2h0dW5pdCx3aWR0aHVuaXQsdGV4dHNp emV1bml0LHRleHRkZWNvcmF0aW9uLHRleHRzdHlsZSx0ZXh0d2VpZ2h0LGNhcHRp b25zaXpldW5pdCxjYXB0aW9uZGVjb3JhdGlvbixjYXB0aW9uc3R5bGUsY2FwdGlv bndlaWdodCxjbG9zZXNpemV1bml0LGNsb3NlZGVjb3JhdGlvbixjbG9zZXN0eWxl LGNsb3Nld2VpZ2h0Jyk7CgoKLy8vLy8vLy8KLy8gREVGQVVMVCBDT05GSUdVUkFU SU9OCi8vIFNldHRpbmdzIHlvdSB3YW50IGV2ZXJ5d2hlcmUgYXJlIHNldCBoZXJl LiBBbGwgb2YgdGhpcyBjYW4gYWxzbyBiZQovLyBjaGFuZ2VkIG9uIHlvdXIgaHRt bCBwYWdlIG9yIHRocm91Z2ggYW4gb3ZlckxJQiBjYWxsLgovLy8vLy8vLwppZiAo dHlwZW9mIG9sX3BhZHVuaXQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfcGFkdW5pdD0i cHgiOwppZiAodHlwZW9mIG9sX2hlaWdodHVuaXQ9PSd1bmRlZmluZWQnKSB2YXIg b2xfaGVpZ2h0dW5pdD0icHgiOwppZiAodHlwZW9mIG9sX3dpZHRodW5pdD09J3Vu ZGVmaW5lZCcpIHZhciBvbF93aWR0aHVuaXQ9InB4IjsKaWYgKHR5cGVvZiBvbF90 ZXh0c2l6ZXVuaXQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfdGV4dHNpemV1bml0PSJw eCI7CmlmICh0eXBlb2Ygb2xfdGV4dGRlY29yYXRpb249PSd1bmRlZmluZWQnKSB2 YXIgb2xfdGV4dGRlY29yYXRpb249Im5vbmUiOwppZiAodHlwZW9mIG9sX3RleHRz dHlsZT09J3VuZGVmaW5lZCcpIHZhciBvbF90ZXh0c3R5bGU9Im5vcm1hbCI7Cmlm ICh0eXBlb2Ygb2xfdGV4dHdlaWdodD09J3VuZGVmaW5lZCcpIHZhciBvbF90ZXh0 d2VpZ2h0PSJub3JtYWwiOwppZiAodHlwZW9mIG9sX2NhcHRpb25zaXpldW5pdD09 J3VuZGVmaW5lZCcpIHZhciBvbF9jYXB0aW9uc2l6ZXVuaXQ9InB4IjsKaWYgKHR5 cGVvZiBvbF9jYXB0aW9uZGVjb3JhdGlvbj09J3VuZGVmaW5lZCcpIHZhciBvbF9j YXB0aW9uZGVjb3JhdGlvbj0ibm9uZSI7CmlmICh0eXBlb2Ygb2xfY2FwdGlvbnN0 eWxlPT0ndW5kZWZpbmVkJykgdmFyIG9sX2NhcHRpb25zdHlsZT0ibm9ybWFsIjsK aWYgKHR5cGVvZiBvbF9jYXB0aW9ud2VpZ2h0PT0ndW5kZWZpbmVkJykgdmFyIG9s X2NhcHRpb253ZWlnaHQ9ImJvbGQiOwppZiAodHlwZW9mIG9sX2Nsb3Nlc2l6ZXVu aXQ9PSd1bmRlZmluZWQnKSB2YXIgb2xfY2xvc2VzaXpldW5pdD0icHgiOwppZiAo dHlwZW9mIG9sX2Nsb3NlZGVjb3JhdGlvbj09J3VuZGVmaW5lZCcpIHZhciBvbF9j bG9zZWRlY29yYXRpb249Im5vbmUiOwppZiAodHlwZW9mIG9sX2Nsb3Nlc3R5bGU9 PSd1bmRlZmluZWQnKSB2YXIgb2xfY2xvc2VzdHlsZT0ibm9ybWFsIjsKaWYgKHR5 cGVvZiBvbF9jbG9zZXdlaWdodD09J3VuZGVmaW5lZCcpIHZhciBvbF9jbG9zZXdl aWdodD0ibm9ybWFsIjsKCi8vLy8vLy8vCi8vIEVORCBPRiBDT05GSUdVUkFUSU9O Ci8vIERvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUsIGFsbCBj b25maWd1cmF0aW9uIGlzIGFib3ZlLgovLy8vLy8vLwoKCgovLy8vLy8vLwovLyBJ TklUCi8vLy8vLy8vCi8vIFJ1bnRpbWUgdmFyaWFibGVzIGluaXQuIERvbid0IGNo YW5nZSBmb3IgY29uZmlnIQp2YXIgbzNfcGFkdW5pdD0icHgiOwp2YXIgbzNfaGVp Z2h0dW5pdD0icHgiOwp2YXIgbzNfd2lkdGh1bml0PSJweCI7CnZhciBvM190ZXh0 c2l6ZXVuaXQ9InB4IjsKdmFyIG8zX3RleHRkZWNvcmF0aW9uPSIiOwp2YXIgbzNf dGV4dHN0eWxlPSIiOwp2YXIgbzNfdGV4dHdlaWdodD0iIjsKdmFyIG8zX2NhcHRp b25zaXpldW5pdD0icHgiOwp2YXIgbzNfY2FwdGlvbmRlY29yYXRpb249IiI7CnZh ciBvM19jYXB0aW9uc3R5bGU9IiI7CnZhciBvM19jYXB0aW9ud2VpZ2h0PSIiOwp2 YXIgbzNfY2xvc2VzaXpldW5pdD0icHgiOwp2YXIgbzNfY2xvc2VkZWNvcmF0aW9u PSIiOwp2YXIgbzNfY2xvc2VzdHlsZT0iIjsKdmFyIG8zX2Nsb3Nld2VpZ2h0PSIi OwoKCi8vLy8vLy8vCi8vIFBMVUdJTiBGVU5DVElPTlMKLy8vLy8vLy8KCi8vIEZ1 bmN0aW9uIHdoaWNoIHNldHMgcnVudGltZSB2YXJpYWJsZXMgdG8gdGhlaXIgZGVm YXVsdCB2YWx1ZXMKZnVuY3Rpb24gc2V0Q1NTU3R5bGVWYXJpYWJsZXMoKSB7Cglv M19wYWR1bml0PW9sX3BhZHVuaXQ7CglvM19oZWlnaHR1bml0PW9sX2hlaWdodHVu aXQ7CglvM193aWR0aHVuaXQ9b2xfd2lkdGh1bml0OwoJbzNfdGV4dHNpemV1bml0 PW9sX3RleHRzaXpldW5pdDsKCW8zX3RleHRkZWNvcmF0aW9uPW9sX3RleHRkZWNv cmF0aW9uOwoJbzNfdGV4dHN0eWxlPW9sX3RleHRzdHlsZTsKCW8zX3RleHR3ZWln aHQ9b2xfdGV4dHdlaWdodDsKCW8zX2NhcHRpb25zaXpldW5pdD1vbF9jYXB0aW9u c2l6ZXVuaXQ7CglvM19jYXB0aW9uZGVjb3JhdGlvbj1vbF9jYXB0aW9uZGVjb3Jh dGlvbjsKCW8zX2NhcHRpb25zdHlsZT1vbF9jYXB0aW9uc3R5bGU7CglvM19jYXB0 aW9ud2VpZ2h0PW9sX2NhcHRpb253ZWlnaHQ7CglvM19jbG9zZXNpemV1bml0PW9s X2Nsb3Nlc2l6ZXVuaXQ7CglvM19jbG9zZWRlY29yYXRpb249b2xfY2xvc2VkZWNv cmF0aW9uOwoJbzNfY2xvc2VzdHlsZT1vbF9jbG9zZXN0eWxlOwoJbzNfY2xvc2V3 ZWlnaHQ9b2xfY2xvc2V3ZWlnaHQ7Cn0KCi8vIFBhcnNlcyBDU1MgU3R5bGUgY29t bWFuZHMuCmZ1bmN0aW9uIHBhcnNlQ1NTU3R5bGVFeHRyYXMocGYsIGksIGFyKSB7 Cgl2YXIgayA9IGk7CgkKCWlmIChrIDwgYXIubGVuZ3RoKSB7CgkJaWYgKGFyW2td PT1DU1NTVFlMRSkgeyBldmFsKHBmKydjc3M9JythcltrXSk7IHJldHVybiBrOyB9 CgkJaWYgKGFyW2tdPT1QQURVTklUKSB7IGV2YWwocGYrJ3BhZHVuaXQ9IicrYXJb KytrXSsnIicpOyByZXR1cm4gazsgfQoJCWlmIChhcltrXT09SEVJR0hUVU5JVCkg eyBldmFsKHBmKydoZWlnaHR1bml0PSInK2FyWysra10rJyInKTsgcmV0dXJuIGs7 IH0KCQlpZiAoYXJba109PVdJRFRIVU5JVCkgeyBldmFsKHBmKyd3aWR0aHVuaXQ9 IicrYXJbKytrXSsnIicpOyByZXR1cm4gazsgfQoJCWlmIChhcltrXT09VEVYVFNJ WkVVTklUKSB7IGV2YWwocGYrJ3RleHRzaXpldW5pdD0iJythclsrK2tdKyciJyk7 IHJldHVybiBrOyB9CgkJaWYgKGFyW2tdPT1URVhUREVDT1JBVElPTikgeyBldmFs KHBmKyd0ZXh0ZGVjb3JhdGlvbj0iJythclsrK2tdKyciJyk7IHJldHVybiBrOyB9 CgkJaWYgKGFyW2tdPT1URVhUU1RZTEUpIHsgZXZhbChwZisndGV4dHN0eWxlPSIn K2FyWysra10rJyInKTsgcmV0dXJuIGs7IH0KCQlpZiAoYXJba109PVRFWFRXRUlH SFQpIHsgZXZhbChwZisndGV4dHdlaWdodD0iJythclsrK2tdKyciJyk7IHJldHVy biBrOyB9CgkJaWYgKGFyW2tdPT1DQVBUSU9OU0laRVVOSVQpIHsgZXZhbChwZisn Y2FwdGlvbnNpemV1bml0PSInK2FyWysra10rJyInKTsgcmV0dXJuIGs7IH0KCQlp ZiAoYXJba109PUNBUFRJT05ERUNPUkFUSU9OKSB7IGV2YWwocGYrJ2NhcHRpb25k ZWNvcmF0aW9uPSInK2FyWysra10rJyInKTsgcmV0dXJuIGs7IH0KCQlpZiAoYXJb a109PUNBUFRJT05TVFlMRSkgeyBldmFsKHBmKydjYXB0aW9uc3R5bGU9IicrYXJb KytrXSsnIicpOyByZXR1cm4gazsgfQoJCWlmIChhcltrXT09Q0FQVElPTldFSUdI VCkgeyBldmFsKHBmKydjYXB0aW9ud2VpZ2h0PSInK2FyWysra10rJyInKTsgcmV0 dXJuIGs7IH0KCQlpZiAoYXJba109PUNMT1NFU0laRVVOSVQpIHsgZXZhbChwZisn Y2xvc2VzaXpldW5pdD0iJythclsrK2tdKyciJyk7IHJldHVybiBrOyB9CgkJaWYg KGFyW2tdPT1DTE9TRURFQ09SQVRJT04pIHsgZXZhbChwZisnY2xvc2VkZWNvcmF0 aW9uPSInK2FyWysra10rJyInKTsgcmV0dXJuIGs7IH0KCQlpZiAoYXJba109PUNM T1NFU1RZTEUpIHsgZXZhbChwZisnY2xvc2VzdHlsZT0iJythclsrK2tdKyciJyk7 IHJldHVybiBrOyB9CgkJaWYgKGFyW2tdPT1DTE9TRVdFSUdIVCkgeyBldmFsKHBm KydjbG9zZXdlaWdodD0iJythclsrK2tdKyciJyk7IHJldHVybiBrOyB9Cgl9CgkK CXJldHVybiAtMTsKfQoKLy8vLy8vLy8KLy8gTEFZRVIgR0VORVJBVElPTiBGVU5D VElPTlMKLy8vLy8vLy8KCi8vIE1ha2VzIHNpbXBsZSB0YWJsZSB3aXRob3V0IGNh cHRpb24KZnVuY3Rpb24gb2xfY29udGVudF9zaW1wbGVfY3Nzc3R5bGUodGV4dCkg ewoJdHh0ID0gJzx0YWJsZSB3aWR0aD0iJytvM193aWR0aCsgJyIgYm9yZGVyPSIw IiBjZWxscGFkZGluZz0iJytvM19ib3JkZXIrJyIgY2VsbHNwYWNpbmc9IjAiIHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAnK28zX2JnY29sb3IrJzsgaGVpZ2h0OiAn K28zX2hlaWdodCtvM19oZWlnaHR1bml0Kyc7Ij48dHI+PHRkPjx0YWJsZSB3aWR0 aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iJyArIG8zX2NlbGxwYWQg KyAnIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9ImNvbG9yOiAnK28zX2ZnY29sb3Ir JzsgYmFja2dyb3VuZC1jb2xvcjogJytvM19mZ2NvbG9yKyc7IGhlaWdodDogJytv M19oZWlnaHQrbzNfaGVpZ2h0dW5pdCsnOyI+PHRyPjx0ZCB2YWxpZ249IlRPUCI+ PGZvbnQgc3R5bGU9ImZvbnQtZmFtaWx5OiAnK28zX3RleHRmb250Kyc7IGNvbG9y OiAnK28zX3RleHRjb2xvcisnOyBmb250LXNpemU6ICcrbzNfdGV4dHNpemUrbzNf dGV4dHNpemV1bml0Kyc7IHRleHQtZGVjb3JhdGlvbjogJytvM190ZXh0ZGVjb3Jh dGlvbisnOyBmb250LXdlaWdodDogJytvM190ZXh0d2VpZ2h0Kyc7IGZvbnQtc3R5 bGU6JytvM190ZXh0c3R5bGUrJyI+Jyt0ZXh0Kyc8L2ZvbnQ+PC90ZD48L3RyPjwv dGFibGU+PC90ZD48L3RyPjwvdGFibGU+JzsKCXNldF9iYWNrZ3JvdW5kKCIiKTsK CQoJcmV0dXJuIHR4dDsKfQoKLy8gTWFrZXMgdGFibGUgd2l0aCBjYXB0aW9uIGFu ZCBvcHRpb25hbCBjbG9zZSBsaW5rCmZ1bmN0aW9uIG9sX2NvbnRlbnRfY2FwdGlv bl9jc3NzdHlsZSh0ZXh0LCB0aXRsZSwgY2xvc2UpIHsKCXZhciBuYW1lSWQ7Cglj bG9zaW5nID0gIiI7CgljbG9zZWV2ZW50ID0gIm9uTW91c2VPdmVyIjsKCQoJaWYg KG8zX2Nsb3NlY2xpY2sgPT0gMSkgY2xvc2VldmVudD0gKG8zX2Nsb3NldGl0bGUg PyAidGl0bGU9JyIgKyBvM19jbG9zZXRpdGxlICsiJyIgOiAiIikgKyAiIG9uQ2xp Y2siOwoKCWlmIChvM19jYXBpY29uIT0iIikgewoJCW5hbWVJZD0nIGhzcGFjZT1c IjVcIicrJyBhbGlnbj1cIm1pZGRsZVwiIGFsdD1cIlwiJzsKCQlpZiAodHlwZW9m IG8zX2RyYWdpbWcgIT0gJ3VuZGVmaW5lZCcgJiYgbzNfZHJhZ2ltZykgbmFtZUlk ID0gJyBoc3BhY2U9XCI1XCInKycgbmFtZT1cIicrbzNfZHJhZ2ltZysnXCIgaWQ9 XCInK28zX2RyYWdpbWcrJ1wiIGFsaWduPVwibWlkZGxlXCIgYWx0PVwiRHJhZyBF bmFibGVkXCIgdGl0bGU9XCJEcmFnIEVuYWJsZWRcIic7CgkJbzNfY2FwaWNvbiA9 ICc8aW1nIHNyYz1cIicrbzNfY2FwaWNvbisnXCInK25hbWVJZCsnIC8+JzsKCX0K CQoJaWYgKGNsb3NlICE9ICIiKSB7CgkJY2xvc2luZyA9ICc8dGQgYWxpZ249IlJJ R0hUIj48YSBocmVmPSJqYXZhc2NyaXB0OnJldHVybiAnK2ZuUmVmKydjQ2xpY2so KTsiICcrY2xvc2VldmVudCsnPSJyZXR1cm4gJytmblJlZisnY0NsaWNrKCk7IiBz dHlsZT0iY29sb3I6ICcrbzNfY2xvc2Vjb2xvcisnOyBmb250LWZhbWlseTogJytv M19jbG9zZWZvbnQrJzsgZm9udC1zaXplOiAnK28zX2Nsb3Nlc2l6ZStvM19jbG9z ZXNpemV1bml0Kyc7IHRleHQtZGVjb3JhdGlvbjogJytvM19jbG9zZWRlY29yYXRp b24rJzsgZm9udC13ZWlnaHQ6ICcrbzNfY2xvc2V3ZWlnaHQrJzsgZm9udC1zdHls ZTonK28zX2Nsb3Nlc3R5bGUrJzsiPicrY2xvc2UrJzwvYT48L3RkPic7Cgl9CgkK CXR4dCA9ICc8dGFibGUgd2lkdGg9IicrbzNfd2lkdGgrICciIGJvcmRlcj0iMCIg Y2VsbHBhZGRpbmc9IicrbzNfYm9yZGVyKyciIGNlbGxzcGFjaW5nPSIwIiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogJytvM19iZ2NvbG9yKyc7IGJhY2tncm91bmQt aW1hZ2U6IHVybCgnK28zX2JnYmFja2dyb3VuZCsnKTsgaGVpZ2h0OiAnK28zX2hl aWdodCtvM19oZWlnaHR1bml0Kyc7Ij48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAw JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0 cj48dGQ+PGZvbnQgc3R5bGU9ImZvbnQtZmFtaWx5OiAnK28zX2NhcHRpb25mb250 Kyc7IGNvbG9yOiAnK28zX2NhcGNvbG9yKyc7IGZvbnQtc2l6ZTogJytvM19jYXB0 aW9uc2l6ZStvM19jYXB0aW9uc2l6ZXVuaXQrJzsgZm9udC13ZWlnaHQ6ICcrbzNf Y2FwdGlvbndlaWdodCsnOyBmb250LXN0eWxlOiAnK28zX2NhcHRpb25zdHlsZSsn OyB0ZXh0LWRlY29yYXRpb246ICcrbzNfY2FwdGlvbmRlY29yYXRpb24rJzsiPicr bzNfY2FwaWNvbit0aXRsZSsnPC9mb250PjwvdGQ+JytjbG9zaW5nKyc8L3RyPjwv dGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5n PSInICsgbzNfY2VsbHBhZCArICciIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0iY29s b3I6ICcrbzNfZmdjb2xvcisnOyBiYWNrZ3JvdW5kLWNvbG9yOiAnK28zX2ZnY29s b3IrJzsgaGVpZ2h0OiAnK28zX2hlaWdodCtvM19oZWlnaHR1bml0Kyc7Ij48dHI+ PHRkIHZhbGlnbj0iVE9QIj48Zm9udCBzdHlsZT0iZm9udC1mYW1pbHk6ICcrbzNf dGV4dGZvbnQrJzsgY29sb3I6ICcrbzNfdGV4dGNvbG9yKyc7IGZvbnQtc2l6ZTog JytvM190ZXh0c2l6ZStvM190ZXh0c2l6ZXVuaXQrJzsgdGV4dC1kZWNvcmF0aW9u OiAnK28zX3RleHRkZWNvcmF0aW9uKyc7IGZvbnQtd2VpZ2h0OiAnK28zX3RleHR3 ZWlnaHQrJzsgZm9udC1zdHlsZTonK28zX3RleHRzdHlsZSsnIj4nK3RleHQrJzwv Zm9udD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT4nOwoJc2V0 X2JhY2tncm91bmQoIiIpOwoKCXJldHVybiB0eHQ7Cn0KCi8vIFNldHMgdGhlIGJh Y2tncm91bmQgcGljdHVyZSwgcGFkZGluZyBhbmQgbG90cyBtb3JlLiA6KQpmdW5j dGlvbiBvbF9jb250ZW50X2JhY2tncm91bmRfY3Nzc3R5bGUodGV4dCwgcGljdHVy ZSwgaGFzZnVsbGh0bWwpIHsKCWlmIChoYXNmdWxsaHRtbCkgewoJCXR4dCA9IHRl eHQ7Cgl9IGVsc2UgewoJCXZhciBwVSwgaFUsIHdVOwoJCXBVID0gKG8zX3BhZHVu aXQgPT0gJyUnID8gJyUnIDogJycpOwoJCWhVID0gKG8zX2hlaWdodHVuaXQgPT0g JyUnID8gJyUnIDogJycpOwoJCXdVID0gKG8zX3dpZHRodW5pdCA9PSAnJScgPyAn JScgOiAnJyk7CgkJdHh0ID0gJzx0YWJsZSB3aWR0aD0iJytvM193aWR0aCt3dSsn IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgaGVp Z2h0PSInK28zX2hlaWdodCtodSsnIj48dHI+PHRkIGNvbHNwYW49IjMiIGhlaWdo dD0iJytvM19wYWR5dCtwdSsnIj48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iJytv M19wYWR4bCtwdSsnIj48L3RkPjx0ZCB2YWxpZ249IlRPUCIgd2lkdGg9IicrKG8z X3dpZHRoLW8zX3BhZHhsLW8zX3BhZHhyKStwdSsnIj48Zm9udCBzdHlsZT0iZm9u dC1mYW1pbHk6ICcrbzNfdGV4dGZvbnQrJzsgY29sb3I6ICcrbzNfdGV4dGNvbG9y Kyc7IGZvbnQtc2l6ZTogJytvM190ZXh0c2l6ZStvM190ZXh0c2l6ZXVuaXQrJzsi PicrdGV4dCsnPC9mb250PjwvdGQ+PHRkIHdpZHRoPSInK28zX3BhZHhyK3B1Kyci PjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49IjMiIGhlaWdodD0iJytvM19wYWR5 YitwdSsnIj48L3RkPjwvdHI+PC90YWJsZT4nOwoJfQoKCXNldF9iYWNrZ3JvdW5k KHBpY3R1cmUpOwoKCXJldHVybiB0eHQ7Cn0KCi8vLy8vLy8vCi8vIFBMVUdJTiBS RUdJU1RSQVRJT05TCi8vLy8vLy8vCnJlZ2lzdGVyUnVuVGltZUZ1bmN0aW9uKHNl dENTU1N0eWxlVmFyaWFibGVzKTsKcmVnaXN0ZXJDbWRMaW5lRnVuY3Rpb24ocGFy c2VDU1NTdHlsZUV4dHJhcyk7CnJlZ2lzdGVySG9vaygib2xfY29udGVudF9zaW1w bGUiLCBvbF9jb250ZW50X3NpbXBsZV9jc3NzdHlsZSwgRkFMVEVSTkFURSwgQ1NT U1RZTEUpOwpyZWdpc3Rlckhvb2soIm9sX2NvbnRlbnRfY2FwdGlvbiIsIG9sX2Nv bnRlbnRfY2FwdGlvbl9jc3NzdHlsZSwgRkFMVEVSTkFURSwgQ1NTU1RZTEUpOwpy ZWdpc3Rlckhvb2soIm9sX2NvbnRlbnRfYmFja2dyb3VuZCIsIG9sX2NvbnRlbnRf YmFja2dyb3VuZF9jc3NzdHlsZSwgRkFMVEVSTkFURSwgQ1NTU1RZTEUpOwp9 ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=cookies.js Content-Type: application/javascript; charset=utf-8; name=cookies.js Content-Location: http://prijimacky.osu.cz/lib/cookies.js Content-Transfer-Encoding: Base64 LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKQ09PS0lFIEZVTkNUSU9OQUxJVFkKQmFzZWQgb24gIk5pZ2h0IG9m IHRoZSBMaXZpbmcgQ29va2llIiBieSBCaWxsIERvcnRjaAooYykgMjAwMywgUnlh biBQYXJtYW4KaHR0cDovL3d3dy5za3l6eXguY29tCkRpc3RyaWJ1dGVkIGFjY29y ZGluZyB0byBTa3lHUEwgMi4xLCBodHRwOi8vd3d3LnNreXp5eC5jb20vbGljZW5z ZS8KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KZnVuY3Rpb24gY29va2llKG5hbWUsIHZhbHVlLCBleHBpcmVz LCBwYXRoLCBkb21haW4sIHNlY3VyZSkKewoJLy8gUGFzc2VkIFZhbHVlcwoJdGhp cy5uYW1lPW5hbWU7Cgl0aGlzLnZhbHVlPXZhbHVlOwoJdGhpcy5leHBpcmVzPWV4 cGlyZXM7Cgl0aGlzLnBhdGg9cGF0aDsKCXRoaXMuZG9tYWluPWRvbWFpbjsKCXRo aXMuc2VjdXJlPXNlY3VyZTsKCgkvLyBSZWFkIGNvb2tpZQoJdGhpcy5yZWFkPWZ1 bmN0aW9uKCkKCXsKCQkvLyBUbyBhbGxvdyBmb3IgZmFzdGVyIHBhcnNpbmcKCQl2 YXIgY2s9ZG9jdW1lbnQuY29va2llOwoKCQl2YXIgYXJnID0gdGhpcy5uYW1lICsg Ij0iOwoJCXZhciBhbGVuID0gYXJnLmxlbmd0aDsKCQl2YXIgY2xlbiA9IGNrLmxl bmd0aDsKCQl2YXIgaSA9IDA7CgoJCXdoaWxlIChpIDwgY2xlbikKCQl7CgkJCXZh ciBqID0gaSArIGFsZW47CgkJCWlmIChjay5zdWJzdHJpbmcoaSwgaikgPT0gYXJn KQoJCQl7CgkJCQl2YXIgZW5kc3RyID0gY2suaW5kZXhPZiAoIjsiLCBqKTsKCQkJ CWlmIChlbmRzdHIgPT0gLTEpIGVuZHN0ciA9IGNrLmxlbmd0aDsKCQkJCXJldHVy biB1bmVzY2FwZShjay5zdWJzdHJpbmcoaiwgZW5kc3RyKSk7CgkJCX0KCQkJaSA9 IGNrLmluZGV4T2YoIiAiLCBpKSArIDE7CgkJCWlmIChpID09IDApIGJyZWFrOwoJ CX0KCQlyZXR1cm4gbnVsbDsKCX0KCgkvLyBTZXQgY29va2llCgl0aGlzLnNldD1m dW5jdGlvbigpCgl7CgkJLy8gU3RvcmUgaW5pdGlhbCB2YWx1ZSBvZiAidGhpcy5l eHBpcmVzIiBmb3IgcmUtaW5pdGlhbGl6YXRpb24uCgkJZXhwU3RvcmU9dGhpcy5l eHBpcmVzOwoKCQkvLyBTZXQgdGltZSB0byBhYnNvbHV0ZSB6ZXJvLgoJCWV4cCA9 IG5ldyBEYXRlKCk7CgkJYmFzZSA9IG5ldyBEYXRlKDApOwoJCXNrZXcgPSBiYXNl LmdldFRpbWUoKTsKCQlpZiAoc2tldyA+IDApICBleHAuc2V0VGltZSAoZXhwLmdl dFRpbWUoKSAtIHNrZXcpOwoJCWV4cC5zZXRUaW1lKGV4cC5nZXRUaW1lKCkgKyAo dGhpcy5leHBpcmVzKjI0KjYwKjYwKjEwMDApKTsKCQl0aGlzLmV4cGlyZXM9ZXhw OwoKCQlkb2N1bWVudC5jb29raWUgPSB0aGlzLm5hbWUgKyAiPSIgKyBlc2NhcGUg KHRoaXMudmFsdWUpICsKCQkJCSgodGhpcy5leHBpcmVzKSA/ICI7IGV4cGlyZXM9 IiArIHRoaXMuZXhwaXJlcy50b0dNVFN0cmluZygpIDogIiIpICsKCQkJCSgodGhp cy5wYXRoKSA/ICI7IHBhdGg9IiArIHRoaXMucGF0aCA6ICIiKSArCgkJCQkoKHRo aXMuZG9tYWluKSA/ICI7IGRvbWFpbj0iICsgdGhpcy5kb21haW4gOiAiIikgKwoJ CQkJKCh0aGlzLnNlY3VyZSkgPyAiOyBzZWN1cmUiIDogIiIpOwoKCQkvLyBSZS1p bml0aWFsaXplCgkJdGhpcy5leHBpcmVzPWV4cFN0b3JlOwoJfQoKCS8vIEtpbGwg Y29va2llCgl0aGlzLmtpbGw9ZnVuY3Rpb24oKQoJewoJCWRvY3VtZW50LmNvb2tp ZSA9IHRoaXMubmFtZSArICI9IiArCgkJCQkoKHRoaXMucGF0aCkgPyAiOyBwYXRo PSIgKyB0aGlzLnBhdGggOiAiIikgKwoJCQkJKCh0aGlzLmRvbWFpbikgPyAiOyBk b21haW49IiArIHRoaXMuZG9tYWluIDogIiIpICsKCQkJCSI7IGV4cGlyZXM9VGh1 LCAwMS1KYW4tNzAgMDA6MDA6MDEgR01UIjsKCX0KCgkvLyBDaGFuZ2UgY29va2ll IHNldHRpbmdzLgoJdGhpcy5jaGFuZ2VOYW1lPWZ1bmN0aW9uKGNoTmFtZSkgeyB0 aGlzLmtpbGwoKTsgdGhpcy5uYW1lPWNoTmFtZTsgdGhpcy5zZXQoKTsgfQoJdGhp cy5jaGFuZ2VWYWw9ZnVuY3Rpb24oY2hWYWwpIHsgdGhpcy5raWxsKCk7IHRoaXMu dmFsdWU9Y2hWYWw7IHRoaXMuc2V0KCk7IH0KCXRoaXMuY2hhbmdlRXhwPWZ1bmN0 aW9uKGNoRXhwKSB7IHRoaXMua2lsbCgpOyB0aGlzLmV4cGlyZXM9Y2hFeHA7IHRo aXMuc2V0KCk7IH0KCXRoaXMuY2hhbmdlUGF0aD1mdW5jdGlvbihjaFBhdGgpIHsg dGhpcy5raWxsKCk7IHRoaXMucGF0aD1jaFBhdGg7IHRoaXMuc2V0KCk7IH0KCXRo aXMuY2hhbmdlRG9tYWluPWZ1bmN0aW9uKGNoRG9tKSB7IHRoaXMua2lsbCgpOyB0 aGlzLmRvbWFpbj1jaERvbTsgdGhpcy5zZXQoKTsgfQoJdGhpcy5jaGFuZ2VTZWN1 cml0eT1mdW5jdGlvbihjaFNlYykgeyB0aGlzLmtpbGwoKTsgdGhpcy5zZWN1cmU9 Y2hTZWM7IHRoaXMuc2V0KCk7IH0KfQo= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=ufo.js Content-Type: application/javascript; charset=utf-8; name=ufo.js Content-Location: http://prijimacky.osu.cz/lib/ufo.js Content-Transfer-Encoding: Base64 LyoJVW5vYnRydXNpdmUgRmxhc2ggT2JqZWN0cyAoVUZPKSB2My4yMiA8aHR0cDov L3d3dy5ib2JieXZhbmRlcnNsdWlzLmNvbS91Zm8vPgoJQ29weXJpZ2h0IDIwMDUt MjAwNyBCb2JieSB2YW4gZGVyIFNsdWlzCglUaGlzIHNvZnR3YXJlIGlzIGxpY2Vu c2VkIHVuZGVyIHRoZSBDQy1HTlUgTEdQTCA8aHR0cDovL2NyZWF0aXZlY29tbW9u cy5vcmcvbGljZW5zZXMvTEdQTC8yLjEvPgoKICAgIENPTlRBSU5TIE1JTk9SIENI QU5HRSBGT1IgTU9PRExFIChib3R0b20gY29kZSBmb3IgTURMLTk4MjUpCiovCgp2 YXIgVUZPID0gewoJcmVxOiBbIm1vdmllIiwgIndpZHRoIiwgImhlaWdodCIsICJt YWpvcnZlcnNpb24iLCAiYnVpbGQiXSwKCW9wdDogWyJwbGF5IiwgImxvb3AiLCAi bWVudSIsICJxdWFsaXR5IiwgInNjYWxlIiwgInNhbGlnbiIsICJ3bW9kZSIsICJi Z2NvbG9yIiwgImJhc2UiLCAiZmxhc2h2YXJzIiwgImRldmljZWZvbnQiLCAiYWxs b3dzY3JpcHRhY2Nlc3MiLCAic2VhbWxlc3N0YWJiaW5nIiwgImFsbG93ZnVsbHNj cmVlbiIsICJhbGxvd25ldHdvcmtpbmciXSwKCW9wdEF0dDogWyJpZCIsICJuYW1l IiwgImFsaWduIl0sCglvcHRFeGM6IFsic3dsaXZlY29ubmVjdCJdLAoJeGltb3Zp ZTogInVmby5zd2YiLAoJeGl3aWR0aDogIjIxNSIsCgl4aWhlaWdodDogIjEzOCIs Cgl1YTogbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLAoJcGx1Z2lu VHlwZTogIiIsCglmdjogWzAsMF0sCglmb0xpc3Q6IFtdLAoJCQoJY3JlYXRlOiBm dW5jdGlvbihGTywgaWQpIHsKCQlpZiAoIVVGTy51YUhhcygidzNjZG9tIikgfHwg VUZPLnVhSGFzKCJpZU1hYyIpKSByZXR1cm47CgkJVUZPLmdldEZsYXNoVmVyc2lv bigpOwoJCVVGTy5mb0xpc3RbaWRdID0gVUZPLnVwZGF0ZUZPKEZPKTsKCQlVRk8u Y3JlYXRlQ1NTKCIjIiArIGlkLCAidmlzaWJpbGl0eTpoaWRkZW47Iik7CgkJVUZP LmRvbUxvYWQoaWQpOwoJfSwKCgl1cGRhdGVGTzogZnVuY3Rpb24oRk8pIHsKCQlp ZiAodHlwZW9mIEZPLnhpICE9ICJ1bmRlZmluZWQiICYmIEZPLnhpID09ICJ0cnVl IikgewoJCQlpZiAodHlwZW9mIEZPLnhpbW92aWUgPT0gInVuZGVmaW5lZCIpIEZP LnhpbW92aWUgPSBVRk8ueGltb3ZpZTsKCQkJaWYgKHR5cGVvZiBGTy54aXdpZHRo ID09ICJ1bmRlZmluZWQiKSBGTy54aXdpZHRoID0gVUZPLnhpd2lkdGg7CgkJCWlm ICh0eXBlb2YgRk8ueGloZWlnaHQgPT0gInVuZGVmaW5lZCIpIEZPLnhpaGVpZ2h0 ID0gVUZPLnhpaGVpZ2h0OwoJCX0KCQlGTy5tYWluQ2FsbGVkID0gZmFsc2U7CgkJ cmV0dXJuIEZPOwoJfSwKCglkb21Mb2FkOiBmdW5jdGlvbihpZCkgewoJCXZhciBf dCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewoJCQlpZiAoKGRvY3VtZW50Lmdl dEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0gIT0gbnVsbCB8fCBkb2N1bWVu dC5ib2R5ICE9IG51bGwpICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSAh PSBudWxsKSB7CgkJCQlVRk8ubWFpbihpZCk7CgkJCQljbGVhckludGVydmFsKF90 KTsKCQkJfQoJCX0sIDI1MCk7CgkJaWYgKHR5cGVvZiBkb2N1bWVudC5hZGRFdmVu dExpc3RlbmVyICE9ICJ1bmRlZmluZWQiKSB7CgkJCWRvY3VtZW50LmFkZEV2ZW50 TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbigpIHsgVUZPLm1h aW4oaWQpOyBjbGVhckludGVydmFsKF90KTsgfSAsIG51bGwpOyAvLyBHZWNrbywg T3BlcmEgOSsKCQl9Cgl9LAoKCW1haW46IGZ1bmN0aW9uKGlkKSB7CgkJdmFyIF9m byA9IFVGTy5mb0xpc3RbaWRdOwoJCWlmIChfZm8ubWFpbkNhbGxlZCkgcmV0dXJu OwoJCVVGTy5mb0xpc3RbaWRdLm1haW5DYWxsZWQgPSB0cnVlOwoJCWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKGlkKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7 CgkJaWYgKFVGTy5oYXNSZXF1aXJlZChpZCkpIHsKCQkJaWYgKFVGTy5oYXNGbGFz aFZlcnNpb24ocGFyc2VJbnQoX2ZvLm1ham9ydmVyc2lvbiwgMTApLCBwYXJzZUlu dChfZm8uYnVpbGQsIDEwKSkpIHsKCQkJCWlmICh0eXBlb2YgX2ZvLnNldGNvbnRh aW5lcmNzcyAhPSAidW5kZWZpbmVkIiAmJiBfZm8uc2V0Y29udGFpbmVyY3NzID09 ICJ0cnVlIikgVUZPLnNldENvbnRhaW5lckNTUyhpZCk7CgkJCQlVRk8ud3JpdGVT V0YoaWQpOwoJCQl9CgkJCWVsc2UgaWYgKF9mby54aSA9PSAidHJ1ZSIgJiYgVUZP Lmhhc0ZsYXNoVmVyc2lvbig2LCA2NSkpIHsKCQkJCVVGTy5jcmVhdGVEaWFsb2co aWQpOwoJCQl9CgkJfQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5zdHls ZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwoJfSwKCQoJY3JlYXRlQ1NTOiBmdW5j dGlvbihzZWxlY3RvciwgZGVjbGFyYXRpb24pIHsKCQl2YXIgX2ggPSBkb2N1bWVu dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdOyAKCQl2YXIgX3MgPSBV Rk8uY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKCQlpZiAoIVVGTy51YUhhcygiaWVX aW4iKSkgX3MuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc2Vs ZWN0b3IgKyAiIHsiICsgZGVjbGFyYXRpb24gKyAifSIpKTsgLy8gYnVncyBpbiBJ RS9XaW4KCQlfcy5zZXRBdHRyaWJ1dGUoInR5cGUiLCAidGV4dC9jc3MiKTsKCQlf cy5zZXRBdHRyaWJ1dGUoIm1lZGlhIiwgInNjcmVlbiIpOyAKCQlfaC5hcHBlbmRD aGlsZChfcyk7CgkJaWYgKFVGTy51YUhhcygiaWVXaW4iKSAmJiBkb2N1bWVudC5z dHlsZVNoZWV0cyAmJiBkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGggPiAwKSB7 CgkJCXZhciBfbHMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1tkb2N1bWVudC5zdHls ZVNoZWV0cy5sZW5ndGggLSAxXTsKCQkJaWYgKHR5cGVvZiBfbHMuYWRkUnVsZSA9 PSAib2JqZWN0IikgX2xzLmFkZFJ1bGUoc2VsZWN0b3IsIGRlY2xhcmF0aW9uKTsK CQl9Cgl9LAoJCglzZXRDb250YWluZXJDU1M6IGZ1bmN0aW9uKGlkKSB7CgkJdmFy IF9mbyA9IFVGTy5mb0xpc3RbaWRdOwoJCXZhciBfdyA9IC8lLy50ZXN0KF9mby53 aWR0aCkgPyAiIiA6ICJweCI7CgkJdmFyIF9oID0gLyUvLnRlc3QoX2ZvLmhlaWdo dCkgPyAiIiA6ICJweCI7CgkJVUZPLmNyZWF0ZUNTUygiIyIgKyBpZCwgIndpZHRo OiIgKyBfZm8ud2lkdGggKyBfdyArIjsgaGVpZ2h0OiIgKyBfZm8uaGVpZ2h0ICsg X2ggKyI7Iik7CgkJaWYgKF9mby53aWR0aCA9PSAiMTAwJSIpIHsKCQkJVUZPLmNy ZWF0ZUNTUygiYm9keSIsICJtYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDsg cGFkZGluZy1sZWZ0OjA7IHBhZGRpbmctcmlnaHQ6MDsiKTsKCQl9CgkJaWYgKF9m by5oZWlnaHQgPT0gIjEwMCUiKSB7CgkJCVVGTy5jcmVhdGVDU1MoImh0bWwiLCAi aGVpZ2h0OjEwMCU7IG92ZXJmbG93OmhpZGRlbjsiKTsKCQkJVUZPLmNyZWF0ZUNT UygiYm9keSIsICJtYXJnaW4tdG9wOjA7IG1hcmdpbi1ib3R0b206MDsgcGFkZGlu Zy10b3A6MDsgcGFkZGluZy1ib3R0b206MDsgaGVpZ2h0OjEwMCU7Iik7CgkJfQoJ fSwKCgljcmVhdGVFbGVtZW50OiBmdW5jdGlvbihlbCkgewoJCXJldHVybiAoVUZP LnVhSGFzKCJ4bWwiKSAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5T ICE9ICJ1bmRlZmluZWQiKSA/ICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0 dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCBlbCkgOiBkb2N1bWVudC5jcmVh dGVFbGVtZW50KGVsKTsKCX0sCgoJY3JlYXRlT2JqUGFyYW06IGZ1bmN0aW9uKGVs LCBhTmFtZSwgYVZhbHVlKSB7CgkJdmFyIF9wID0gVUZPLmNyZWF0ZUVsZW1lbnQo InBhcmFtIik7CgkJX3Auc2V0QXR0cmlidXRlKCJuYW1lIiwgYU5hbWUpOwkKCQlf cC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgYVZhbHVlKTsKCQllbC5hcHBlbmRDaGls ZChfcCk7Cgl9LAoKCXVhSGFzOiBmdW5jdGlvbihmdCkgewoJCXZhciBfdSA9IFVG Ty51YTsKCQlzd2l0Y2goZnQpIHsKCQkJY2FzZSAidzNjZG9tIjoKCQkJCXJldHVy biAodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkICE9ICJ1bmRlZmluZWQi ICYmIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSAhPSAidW5k ZWZpbmVkIiAmJiAodHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT0gInVu ZGVmaW5lZCIgfHwgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyAhPSAi dW5kZWZpbmVkIikpOwoJCQljYXNlICJ4bWwiOgoJCQkJdmFyIF9tID0gZG9jdW1l bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTsKCQkJCXZhciBfbCA9IF9t Lmxlbmd0aDsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgX2w7IGkrKykgewoJCQkJ CWlmICgvY29udGVudC10eXBlL2kudGVzdChfbVtpXS5nZXRBdHRyaWJ1dGUoImh0 dHAtZXF1aXYiKSkgJiYgL3htbC9pLnRlc3QoX21baV0uZ2V0QXR0cmlidXRlKCJj b250ZW50IikpKSByZXR1cm4gdHJ1ZTsKCQkJCX0KCQkJCXJldHVybiBmYWxzZTsK CQkJY2FzZSAiaWVNYWMiOgoJCQkJcmV0dXJuIC9tc2llLy50ZXN0KF91KSAmJiAh L29wZXJhLy50ZXN0KF91KSAmJiAvbWFjLy50ZXN0KF91KTsKCQkJY2FzZSAiaWVX aW4iOgoJCQkJcmV0dXJuIC9tc2llLy50ZXN0KF91KSAmJiAhL29wZXJhLy50ZXN0 KF91KSAmJiAvd2luLy50ZXN0KF91KTsKCQkJY2FzZSAiZ2Vja28iOgoJCQkJcmV0 dXJuIC9nZWNrby8udGVzdChfdSkgJiYgIS9hcHBsZXdlYmtpdC8udGVzdChfdSk7 CgkJCWNhc2UgIm9wZXJhIjoKCQkJCXJldHVybiAvb3BlcmEvLnRlc3QoX3UpOwoJ CQljYXNlICJzYWZhcmkiOgoJCQkJcmV0dXJuIC9hcHBsZXdlYmtpdC8udGVzdChf dSk7CgkJCWRlZmF1bHQ6CgkJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfSwKCQoJZ2V0 Rmxhc2hWZXJzaW9uOiBmdW5jdGlvbigpIHsKCQlpZiAoVUZPLmZ2WzBdICE9IDAp IHJldHVybjsgIAoJCWlmIChuYXZpZ2F0b3IucGx1Z2lucyAmJiB0eXBlb2YgbmF2 aWdhdG9yLnBsdWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCJdID09ICJvYmplY3QiKSB7 CgkJCVVGTy5wbHVnaW5UeXBlID0gIm5wYXBpIjsKCQkJdmFyIF9kID0gbmF2aWdh dG9yLnBsdWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCJdLmRlc2NyaXB0aW9uOwoJCQlp ZiAodHlwZW9mIF9kICE9ICJ1bmRlZmluZWQiKSB7CgkJCQlfZCA9IF9kLnJlcGxh Y2UoL14uKlxzKyhcUytccytcUyskKS8sICIkMSIpOwoJCQkJdmFyIF9tID0gcGFy c2VJbnQoX2QucmVwbGFjZSgvXiguKilcLi4qJC8sICIkMSIpLCAxMCk7CgkJCQl2 YXIgX3IgPSAvci8udGVzdChfZCkgPyBwYXJzZUludChfZC5yZXBsYWNlKC9eLipy KC4qKSQvLCAiJDEiKSwgMTApIDogMDsKCQkJCVVGTy5mdiA9IFtfbSwgX3JdOwoJ CQl9CgkJfQoJCWVsc2UgaWYgKHdpbmRvdy5BY3RpdmVYT2JqZWN0KSB7CgkJCVVG Ty5wbHVnaW5UeXBlID0gImF4IjsKCQkJdHJ5IHsgLy8gYXZvaWQgZnAgNiBjcmFz aGVzCgkJCQl2YXIgX2EgPSBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxh c2guU2hvY2t3YXZlRmxhc2guNyIpOwoJCQl9CgkJCWNhdGNoKGUpIHsKCQkJCXRy eSB7IAoJCQkJCXZhciBfYSA9IG5ldyBBY3RpdmVYT2JqZWN0KCJTaG9ja3dhdmVG bGFzaC5TaG9ja3dhdmVGbGFzaC42Iik7CgkJCQkJVUZPLmZ2ID0gWzYsIDBdOwoJ CQkJCV9hLkFsbG93U2NyaXB0QWNjZXNzID0gImFsd2F5cyI7IC8vIHRocm93cyBp ZiBmcCA8IDYuNDcgCgkJCQl9CgkJCQljYXRjaChlKSB7CgkJCQkJaWYgKFVGTy5m dlswXSA9PSA2KSByZXR1cm47CgkJCQl9CgkJCQl0cnkgewoJCQkJCXZhciBfYSA9 IG5ldyBBY3RpdmVYT2JqZWN0KCJTaG9ja3dhdmVGbGFzaC5TaG9ja3dhdmVGbGFz aCIpOwoJCQkJfQoJCQkJY2F0Y2goZSkge30KCQkJfQoJCQlpZiAodHlwZW9mIF9h ID09ICJvYmplY3QiKSB7CgkJCQl2YXIgX2QgPSBfYS5HZXRWYXJpYWJsZSgiJHZl cnNpb24iKTsgLy8gYnVncyBpbiBmcCA2LjIxLzYuMjMKCQkJCWlmICh0eXBlb2Yg X2QgIT0gInVuZGVmaW5lZCIpIHsKCQkJCQlfZCA9IF9kLnJlcGxhY2UoL15cUytc cysoLiopJC8sICIkMSIpLnNwbGl0KCIsIik7CgkJCQkJVUZPLmZ2ID0gW3BhcnNl SW50KF9kWzBdLCAxMCksIHBhcnNlSW50KF9kWzJdLCAxMCldOwoJCQkJfQoJCQl9 CgkJfQoJfSwKCgloYXNSZXF1aXJlZDogZnVuY3Rpb24oaWQpIHsKCQl2YXIgX2wg PSBVRk8ucmVxLmxlbmd0aDsKCQlmb3IgKHZhciBpID0gMDsgaSA8IF9sOyBpKysp IHsKCQkJaWYgKHR5cGVvZiBVRk8uZm9MaXN0W2lkXVtVRk8ucmVxW2ldXSA9PSAi dW5kZWZpbmVkIikgcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0s CgkKCWhhc0ZsYXNoVmVyc2lvbjogZnVuY3Rpb24obWFqb3IsIHJlbGVhc2UpIHsK CQlyZXR1cm4gKFVGTy5mdlswXSA+IG1ham9yIHx8IChVRk8uZnZbMF0gPT0gbWFq b3IgJiYgVUZPLmZ2WzFdID49IHJlbGVhc2UpKSA/IHRydWUgOiBmYWxzZTsKCX0s CgoJd3JpdGVTV0Y6IGZ1bmN0aW9uKGlkKSB7CgkJdmFyIF9mbyA9IFVGTy5mb0xp c3RbaWRdOwoJCXZhciBfZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsK CQlpZiAoVUZPLnBsdWdpblR5cGUgPT0gIm5wYXBpIikgewoJCQlpZiAoVUZPLnVh SGFzKCJnZWNrbyIpIHx8IFVGTy51YUhhcygieG1sIikpIHsKCQkJCXdoaWxlKF9l Lmhhc0NoaWxkTm9kZXMoKSkgewoJCQkJCV9lLnJlbW92ZUNoaWxkKF9lLmZpcnN0 Q2hpbGQpOwoJCQkJfQoJCQkJdmFyIF9vYmogPSBVRk8uY3JlYXRlRWxlbWVudCgi b2JqZWN0Iik7CgkJCQlfb2JqLnNldEF0dHJpYnV0ZSgidHlwZSIsICJhcHBsaWNh dGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpOwoJCQkJX29iai5zZXRBdHRyaWJ1dGUo ImRhdGEiLCBfZm8ubW92aWUpOwoJCQkJX29iai5zZXRBdHRyaWJ1dGUoIndpZHRo IiwgX2ZvLndpZHRoKTsKCQkJCV9vYmouc2V0QXR0cmlidXRlKCJoZWlnaHQiLCBf Zm8uaGVpZ2h0KTsKCQkJCXZhciBfbCA9IFVGTy5vcHRBdHQubGVuZ3RoOwoJCQkJ Zm9yICh2YXIgaSA9IDA7IGkgPCBfbDsgaSsrKSB7CgkJCQkJaWYgKHR5cGVvZiBf Zm9bVUZPLm9wdEF0dFtpXV0gIT0gInVuZGVmaW5lZCIpIF9vYmouc2V0QXR0cmli dXRlKFVGTy5vcHRBdHRbaV0sIF9mb1tVRk8ub3B0QXR0W2ldXSk7CgkJCQl9CgkJ CQl2YXIgX28gPSBVRk8ub3B0LmNvbmNhdChVRk8ub3B0RXhjKTsKCQkJCXZhciBf bCA9IF9vLmxlbmd0aDsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgX2w7IGkrKykg ewoJCQkJCWlmICh0eXBlb2YgX2ZvW19vW2ldXSAhPSAidW5kZWZpbmVkIikgVUZP LmNyZWF0ZU9ialBhcmFtKF9vYmosIF9vW2ldLCBfZm9bX29baV1dKTsKCQkJCX0K CQkJCV9lLmFwcGVuZENoaWxkKF9vYmopOwoJCQl9CgkJCWVsc2UgewoJCQkJdmFy IF9lbWIgPSAiIjsKCQkJCXZhciBfbyA9IFVGTy5vcHQuY29uY2F0KFVGTy5vcHRB dHQpLmNvbmNhdChVRk8ub3B0RXhjKTsKCQkJCXZhciBfbCA9IF9vLmxlbmd0aDsK CQkJCWZvciAodmFyIGkgPSAwOyBpIDwgX2w7IGkrKykgewoJCQkJCWlmICh0eXBl b2YgX2ZvW19vW2ldXSAhPSAidW5kZWZpbmVkIikgX2VtYiArPSAnICcgKyBfb1tp XSArICc9IicgKyBfZm9bX29baV1dICsgJyInOwoJCQkJfQoJCQkJX2UuaW5uZXJI VE1MID0gJzxlbWJlZCB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFz aCIgc3JjPSInICsgX2ZvLm1vdmllICsgJyIgd2lkdGg9IicgKyBfZm8ud2lkdGgg KyAnIiBoZWlnaHQ9IicgKyBfZm8uaGVpZ2h0ICsgJyIgcGx1Z2luc3BhZ2U9Imh0 dHA6Ly93d3cubWFjcm9tZWRpYS5jb20vZ28vZ2V0Zmxhc2hwbGF5ZXIiJyArIF9l bWIgKyAnPjwvZW1iZWQ+JzsKCQkJfQoJCX0KCQllbHNlIGlmIChVRk8ucGx1Z2lu VHlwZSA9PSAiYXgiKSB7CgkJCXZhciBfb2JqQXR0ID0gIiI7CgkJCXZhciBfbCA9 IFVGTy5vcHRBdHQubGVuZ3RoOwoJCQlmb3IgKHZhciBpID0gMDsgaSA8IF9sOyBp KyspIHsKCQkJCWlmICh0eXBlb2YgX2ZvW1VGTy5vcHRBdHRbaV1dICE9ICJ1bmRl ZmluZWQiKSBfb2JqQXR0ICs9ICcgJyArIFVGTy5vcHRBdHRbaV0gKyAnPSInICsg X2ZvW1VGTy5vcHRBdHRbaV1dICsgJyInOwoJCQl9CgkJCXZhciBfb2JqUGFyID0g IiI7CgkJCXZhciBfbCA9IFVGTy5vcHQubGVuZ3RoOwoJCQlmb3IgKHZhciBpID0g MDsgaSA8IF9sOyBpKyspIHsKCQkJCWlmICh0eXBlb2YgX2ZvW1VGTy5vcHRbaV1d ICE9ICJ1bmRlZmluZWQiKSBfb2JqUGFyICs9ICc8cGFyYW0gbmFtZT0iJyArIFVG Ty5vcHRbaV0gKyAnIiB2YWx1ZT0iJyArIF9mb1tVRk8ub3B0W2ldXSArICciIC8+ JzsKCQkJfQoJCQl2YXIgX3AgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgPT0g Imh0dHBzOiIgPyAiaHR0cHM6IiA6ICJodHRwOiI7CgkJCV9lLmlubmVySFRNTCA9 ICc8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4 LTQ0NDU1MzU0MDAwMCInICsgX29iakF0dCArICcgd2lkdGg9IicgKyBfZm8ud2lk dGggKyAnIiBoZWlnaHQ9IicgKyBfZm8uaGVpZ2h0ICsgJyIgY29kZWJhc2U9Iicg KyBfcCArICcvL2Rvd25sb2FkLm1hY3JvbWVkaWEuY29tL3B1Yi9zaG9ja3dhdmUv Y2Ficy9mbGFzaC9zd2ZsYXNoLmNhYiN2ZXJzaW9uPScgKyBfZm8ubWFqb3J2ZXJz aW9uICsgJywwLCcgKyBfZm8uYnVpbGQgKyAnLDAiPjxwYXJhbSBuYW1lPSJtb3Zp ZSIgdmFsdWU9IicgKyBfZm8ubW92aWUgKyAnIiAvPicgKyBfb2JqUGFyICsgJzwv b2JqZWN0Pic7CgkJfQoJfSwKCQkKCWNyZWF0ZURpYWxvZzogZnVuY3Rpb24oaWQp IHsKCQl2YXIgX2ZvID0gVUZPLmZvTGlzdFtpZF07CgkJVUZPLmNyZWF0ZUNTUygi aHRtbCIsICJoZWlnaHQ6MTAwJTsgb3ZlcmZsb3c6aGlkZGVuOyIpOwoJCVVGTy5j cmVhdGVDU1MoImJvZHkiLCAiaGVpZ2h0OjEwMCU7IG92ZXJmbG93OmhpZGRlbjsi KTsKCQlVRk8uY3JlYXRlQ1NTKCIjeGktY29uIiwgInBvc2l0aW9uOmFic29sdXRl OyBsZWZ0OjA7IHRvcDowOyB6LWluZGV4OjEwMDA7IHdpZHRoOjEwMCU7IGhlaWdo dDoxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7IGZpbHRlcjphbHBoYShvcGFj aXR5Ojc1KTsgb3BhY2l0eTowLjc1OyIpOwoJCVVGTy5jcmVhdGVDU1MoIiN4aS1k aWEiLCAicG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6NTAlOyB0b3A6NTAlOyBtYXJn aW4tbGVmdDogLSIgKyBNYXRoLnJvdW5kKHBhcnNlSW50KF9mby54aXdpZHRoLCAx MCkgLyAyKSArICJweDsgbWFyZ2luLXRvcDogLSIgKyBNYXRoLnJvdW5kKHBhcnNl SW50KF9mby54aWhlaWdodCwgMTApIC8gMikgKyAicHg7IHdpZHRoOiIgKyBfZm8u eGl3aWR0aCArICJweDsgaGVpZ2h0OiIgKyBfZm8ueGloZWlnaHQgKyAicHg7Iik7 CgkJdmFyIF9iID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHki KVswXTsKCQl2YXIgX2MgPSBVRk8uY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJX2Mu c2V0QXR0cmlidXRlKCJpZCIsICJ4aS1jb24iKTsKCQl2YXIgX2QgPSBVRk8uY3Jl YXRlRWxlbWVudCgiZGl2Iik7CgkJX2Quc2V0QXR0cmlidXRlKCJpZCIsICJ4aS1k aWEiKTsKCQlfYy5hcHBlbmRDaGlsZChfZCk7CgkJX2IuYXBwZW5kQ2hpbGQoX2Mp OwoJCXZhciBfbW11ID0gd2luZG93LmxvY2F0aW9uOwoJCWlmIChVRk8udWFIYXMo InhtbCIpICYmIFVGTy51YUhhcygic2FmYXJpIikpIHsKCQkJdmFyIF9tbWQgPSBk b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXS5maXJzdENo aWxkLm5vZGVWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0 aXRsZSIpWzBdLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsIDQ3KSArICIg LSBGbGFzaCBQbGF5ZXIgSW5zdGFsbGF0aW9uIjsKCQl9CgkJZWxzZSB7CgkJCXZh ciBfbW1kID0gZG9jdW1lbnQudGl0bGUgPSBkb2N1bWVudC50aXRsZS5zbGljZSgw LCA0NykgKyAiIC0gRmxhc2ggUGxheWVyIEluc3RhbGxhdGlvbiI7CgkJfQoJCXZh ciBfbW1wID0gVUZPLnBsdWdpblR5cGUgPT0gImF4IiA/ICJBY3RpdmVYIiA6ICJQ bHVnSW4iOwoJCXZhciBfdWMgPSB0eXBlb2YgX2ZvLnhpdXJsY2FuY2VsICE9ICJ1 bmRlZmluZWQiID8gIiZ4aVVybENhbmNlbD0iICsgX2ZvLnhpdXJsY2FuY2VsIDog IiI7CgkJdmFyIF91ZiA9IHR5cGVvZiBfZm8ueGl1cmxmYWlsZWQgIT0gInVuZGVm aW5lZCIgPyAiJnhpVXJsRmFpbGVkPSIgKyBfZm8ueGl1cmxmYWlsZWQgOiAiIjsK CQlVRk8uZm9MaXN0WyJ4aS1kaWEiXSA9IHsgbW92aWU6X2ZvLnhpbW92aWUsIHdp ZHRoOl9mby54aXdpZHRoLCBoZWlnaHQ6X2ZvLnhpaGVpZ2h0LCBtYWpvcnZlcnNp b246IjYiLCBidWlsZDoiNjUiLCBmbGFzaHZhcnM6Ik1NcmVkaXJlY3RVUkw9IiAr IF9tbXUgKyAiJk1NcGxheWVyVHlwZT0iICsgX21tcCArICImTU1kb2N0aXRsZT0i ICsgX21tZCArIF91YyArIF91ZiB9OwoJCVVGTy53cml0ZVNXRigieGktZGlhIik7 Cgl9LAoKCWV4cHJlc3NJbnN0YWxsQ2FsbGJhY2s6IGZ1bmN0aW9uKCkgewoJCXZh ciBfYiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07 CgkJdmFyIF9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInhpLWNvbiIpOwoJ CV9iLnJlbW92ZUNoaWxkKF9jKTsKCQlVRk8uY3JlYXRlQ1NTKCJib2R5IiwgImhl aWdodDphdXRvOyBvdmVyZmxvdzphdXRvOyIpOwoJCVVGTy5jcmVhdGVDU1MoImh0 bWwiLCAiaGVpZ2h0OmF1dG87IG92ZXJmbG93OmF1dG87Iik7Cgl9LAoKCWNsZWFu dXBJRUxlYWtzOiBmdW5jdGlvbigpIHsKCQl2YXIgX28gPSBkb2N1bWVudC5nZXRF bGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iik7CgkJdmFyIF9sID0gX28ubGVuZ3Ro CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBfbDsgaSsrKSB7CgkJCV9vW2ldLnN0eWxl LmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgICAgIHZhciBqID0gMDsKCQkJZm9y ICh2YXIgeCBpbiBfb1tpXSkgewogICAgICAgICAgICAgICAgaisrOwoJCQkJaWYg KHR5cGVvZiBfb1tpXVt4XSA9PSAiZnVuY3Rpb24iKSB7CgkJCQkJX29baV1beF0g PSBudWxsOwoJCQkJfQogICAgICAgICAgICAgICAgaWYgKGogPiAxMDAwKSB7CiAg ICAgICAgICAgICAgICAgICAgLy8gc29tZXRoaW5nIGlzIHdyb25nLCBwcm9iYWJs eSBpbmZpbml0ZSBsb29wIGNhdXNlZCBieSBlbWJlZGRlZCBodG1sIGZpbGUKICAg ICAgICAgICAgICAgICAgICAvLyBzZWUgTURMLTk4MjUKICAgICAgICAgICAgICAg ICAgICBicmVhazsKCQkJCX0KCQkJfQoJCX0KCX0KCn07CgppZiAodHlwZW9mIHdp bmRvdy5hdHRhY2hFdmVudCAhPSAidW5kZWZpbmVkIiAmJiBVRk8udWFIYXMoImll V2luIikpIHsKCXdpbmRvdy5hdHRhY2hFdmVudCgib251bmxvYWQiLCBVRk8uY2xl YW51cElFTGVha3MpOwp9Cg== ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=dropdown.js Content-Type: application/javascript; charset=utf-8; name=dropdown.js Content-Location: http://prijimacky.osu.cz/lib/dropdown.js Content-Transfer-Encoding: Base64 LyoqKioKQXV0aG9yOiBKZXJvbWUgTW91bmV5cmFjCkJ1ZyBSZWZlcmVuY2U6IGh0 dHA6Ly90cmFja2VyLm1vb2RsZS5vcmcvYnJvd3NlL01ETC0xNDQzOQpJRSBhbmQg T3BlcmEgZmlyZSB0aGUgb25jaGFuZ2Ugd2hlbiBldmVyIHlvdSBtb3ZlIGludG8g YSBkcm9wZHdvd24gbGlzdCB3aXRoIHRoZSBrZXlib2FyZC4KVGhlc2UgZnVuY3Rp b25zIGZpeCB0aGlzIHByb2JsZW0uCioqKiovCgovKgpnbG9iYWwgdmFyaWFibGVz CgpOb3RlOgppZiBJIGRpZG4ndCB1c2UgZ2xvYmFsIHZhcmlhYmxlcywgd2Ugd291 bGQgbmVlZCB0byBwYXNzIHRoZW0gYXMgcGFyYW1ldGVyOiAgCj0+IGluIGluaXRT ZWxlY3QoKTogCiAgIEkgd291bGQgd3JpdGUgInRoZVNlbGVjdC5vbmNoYW5nZSA9 IHNlbGVjdENoYW5nZWQoLi4uKTsiCiAgIFRoaXMgY29kZSBjYXVzZXMgYSBqYXZh c2NyaXB0IGVycm9yIG9uIElFLiAobm90IGZpcmVmb3gpCnNvIEkgaGFkIHRvIHdy aXRlIHRoZVNlbGVjdC5vbmNoYW5nZSA9IHNlbGVjdENoYW5nZWQ7IEl0J3Mgd2h5 IEkgdXNlIGdsb2JhbCB2YXJpYWJsZXMgLgpCZWNhdXNlIEkgdXNlIGdsb2JhbCB2 YXJpYWJsZXMsIEkgZGlkbid0IHB1dCB0aGlzIGNvZGUgaW4gamF2YXNjcmlwdC1z dGF0aWMuanMuClRoaXMgZmlsZSBpcyBsb2FkZWQgaW4gamF2YXNjcmlwdC5waHAu CiovIAp2YXIgc2VsZWN0X2Zvcm1pZDsKdmFyIHNlbGVjdF90YXJnZXR3aW5kb3c7 CgovL3dlIHJlZGVmaW5lIGFsbCB1c2VyIGFjdGlvbnMgb24gdGhlIGRyb3Bkb3du IGxpc3QKLy9vbmZvY3VzLCBvbmNoYW5nZSwgb25rZXlkb3duLCBhbmQgb25jbGlj awpmdW5jdGlvbiBpbml0U2VsZWN0KGZvcm1JZCx0YXJnZXRXaW5kb3cpCnsKICAg IC8vaW5pdGlhbGlzZSBnbG9iYWwgdmFyaWFibGVzCiAgICBzZWxlY3RfZm9ybWlk PWZvcm1JZDsKICAgIHNlbGVjdF90YXJnZXR3aW5kb3c9dGFyZ2V0V2luZG93OwoK ICAgIHZhciB0aGVTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxl Y3RfZm9ybWlkKyJfanVtcCIpOwoKICAgIHRoZVNlbGVjdC5jaGFuZ2VkID0gZmFs c2U7CgogICAgdGhlU2VsZWN0LmluaXRWYWx1ZSA9IHRoZVNlbGVjdC52YWx1ZTsK CiAgICB0aGVTZWxlY3Qub25jaGFuZ2UgPSBzZWxlY3RDaGFuZ2VkOwogICAgdGhl U2VsZWN0Lm9ua2V5ZG93biA9IHNlbGVjdEtleWVkOwogICAgdGhlU2VsZWN0Lm9u Y2xpY2sgPSBzZWxlY3RDbGlja2VkOwogICAgCiAgICByZXR1cm4gdHJ1ZTsKfQoK ZnVuY3Rpb24gc2VsZWN0Q2hhbmdlZCh0aGVFbGVtZW50KQp7CiAgICB2YXIgdGhl U2VsZWN0OwogICAgCiAgICBpZiAodGhlRWxlbWVudCAmJiB0aGVFbGVtZW50LnZh bHVlKQogICAgewogICAgICAgIHRoZVNlbGVjdCA9IHRoZUVsZW1lbnQ7CiAgICB9 CiAgICBlbHNlCiAgICB7CiAgICAgICAgdGhlU2VsZWN0ID0gdGhpczsKICAgIH0K ICAgIAogICAgaWYgKCF0aGVTZWxlY3QuY2hhbmdlZCkKICAgIHsKICAgICAgICBy ZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLy9oZXJlIGlzIHRoZSBvbmNoYW5nZSBy ZWRpcmVjdGlvbgogICAgc2VsZWN0X3RhcmdldHdpbmRvdy5sb2NhdGlvbj1kb2N1 bWVudC5nZXRFbGVtZW50QnlJZChzZWxlY3RfZm9ybWlkKS5qdW1wLm9wdGlvbnNb ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsZWN0X2Zvcm1pZCkuanVtcC5zZWxl Y3RlZEluZGV4XS52YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgCiAgICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gc2VsZWN0Q2xpY2tl ZCgpCnsKICAgIHRoaXMuY2hhbmdlZCA9IHRydWU7Cn0KCi8vd2Uga2VlcCBGaXJl Zm94IGJlaGF2aW9yczogb25jaGFuZ2UgaXMgZmlyZWQgd2hlbiB3ZSBwcmVzcyAi RW50ZXIiLCAiRXNjIiwgb3IgIlRhYiIiIGtleXMuCi8vbm90ZSB0aGF0IGlzIHBy b2JhYmx5IG5vdCB3b3JraW5nIG9uIE1hYyAoa2V5Q29kZSBjb3VsZCBiZSBkaWZm ZXJlbnQpCmZ1bmN0aW9uIHNlbGVjdEtleWVkKGUpCnsKICAgIHZhciB0aGVFdmVu dDsKICAgIHZhciBrZXlDb2RlVGFiID0gIjkiOwogICAgdmFyIGtleUNvZGVFbnRl ciA9ICIxMyI7CiAgICB2YXIga2V5Q29kZUVzYyA9ICIyNyI7CiAgICAKICAgIGlm IChlKQogICAgewogICAgICAgIHRoZUV2ZW50ID0gZTsKICAgIH0KICAgIGVsc2UK ICAgIHsKICAgICAgICB0aGVFdmVudCA9IGV2ZW50OwogICAgfQogICAgCiAgICBp ZiAoKHRoZUV2ZW50LmtleUNvZGUgPT0ga2V5Q29kZUVudGVyIHx8IHRoZUV2ZW50 LmtleUNvZGUgPT0ga2V5Q29kZVRhYikgJiYgdGhpcy52YWx1ZSAhPSB0aGlzLmlu aXRWYWx1ZSkKICAgIHsKICAgICAgICB0aGlzLmNoYW5nZWQgPSB0cnVlOwogICAg ICAgIHNlbGVjdENoYW5nZWQodGhpcyk7CiAgICB9CiAgICBlbHNlIGlmICh0aGVF dmVudC5rZXlDb2RlID09IGtleUNvZGVFc2MpCiAgICB7CiAgICAgICAgdGhpcy52 YWx1ZSA9IHRoaXMuaW5pdFZhbHVlOwogICAgfQogICAgZWxzZQogICAgewogICAg ICAgIHRoaXMuY2hhbmdlZCA9IGZhbHNlOwogICAgfQogICAgCiAgICByZXR1cm4g dHJ1ZTsKfQ== ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=logo.jpg Content-Type: image/jpeg; name=logo.jpg Content-Location: http://prijimacky.osu.cz/theme/Universita/images/logo.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUG BgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4O Dg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AA EQgAZQOEAwERAAIRAQMRAf/EALoAAQABBAMBAQAAAAAAAAAAAAADBQYHCAEECQIK AQEAAwEBAQEAAAAAAAAAAAAAAQIDBAUGBxAAAQMDAgMFBAUJBQYEBwAAAgEDBAAF BhEHIRIIMSLSExVBkRRUUTKSVRZhcYGh0UJSIwnBYoJTJLFyQzREF7IzYyXhc4O0 dhg4EQACAgECBAMGBgECBgIDAAAAAQIDEVEEITESE0FhBXGBkaHRIvCxweEyFEJS FfGi0iMkNGKCssIz/9oADAMBAAIRAxEAPwDVWv0k/NBQCgFAKAUAoDlEVVRERVUu AontoCuriuUJG+MXG7okPTX4r4N/y9Pp5+TT9dU7sM4yviX7U8Zw/gUFUVFVFRUV OCp9FXKCgFAKAUBUrc1qRPKnAe6P517arJloomuTmgA0naa6r+ZKiKJkUerlBQCg FAKAUB9NgThiA9pLolAXK2AtgID2CmiVkaH3QkUAoBQCgFAKAUAoBQCgFAKAUAoB QCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQFuy2vKfMU4CXeH8y1onwM2depIFAKA UAoBQFyMOeayBrx5k0L8/YtZvgaIoMhryXjD2a6j+Zaunko0Q1JAoBQCgFAKAUAo BQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAUAoBQCgFAKAU AoBQCgFAKAUAoBQFQG3PJb1ub38mMbisxVLtecFEU0BPagIqcy+zVE7VqvVxwW6e GTbHpw6Rcp3vVvJL0+7im3TbhAt55EKVPIF0NuC2fdVEVFQnS7qLwRDVFRPM3/qk Nt9q4y009v0PT9P9LnufufCGuvs+p7A7cbAbS7VxWWcRwyAxOaRPMv0tsZdxcJO0 ilPIRpr26Byj9CJXy243117+6T9nh8D6vb7GmhfZFe3x+JmPRK5DrMK7l9PO0m68 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 36qtnsnaffxfZfaKz3Cx2e4yo0h10getcqMj6x44vOoJmTTYpyqXKiEemqoL+jYt vOPOcmn8x/cg9xF8oRWPkfGLdUeC5bmnUDt3vbksu9bH7m3a6y8RyR5iZIdtgNvq NuWOwLRvtArDbRAPldxwBUhTmOk9lOEK51rE4pZWuohvITlOFjzCTeHpoec97hwL feLpBtV2av1siSnWbfe2GnmW5bIGqNvC1IBt0EMdF5TFFT2pXrxbaTawzypJJ4Ty egfRlnvTltFYchy7PNwxse6V/B+3WrSz3GcVmhIiijjRtQ32ScePQy4qnKIiumpo vleo1X3NRjHMV5rj8z09hbTUnKUsSfk+HyMO71410vx8dueR7ab15HuJuHcLkD8m BdrfKYF8ZDhHKkOPPW6OinquvE9VVfbXRtp7jqSnBKOPB/uYbiFHTmE25ef/AAM4 3ncDp06m8C2zHd7caftXuJtxb0td5lJb3prd1jILYmbRtA6KKSt86a6EJEachjot c0ar9tOXbj1Rl58jolbTuYR65dMl8zWHrF33xnda+YNhO3DUpja7aGzBZcVOWCtP SjVtppyQoLoSB5TDQAhohd0iVE5uVOrY7aVSlKf8pPLOfe7iNrUYfxisIqXTvu/t 3gvT11QYNlWQ+l5TuJaG4uHWv4SW/wDGOjFlNqPmsMuNNd5wU1dMU4/nqu6onO6u UVwT4k7a6EKrIt8WuBpFXonAbu7r7v7d5L0d7CbV2TIfjc8wq7yJWTWL4SW38M0a z+UviHGRYc184OAOEvH8i151FE47mc2vta4fI77roS28IJ8U+PzKLft1MCxvpAxX ZjBb36nmmdZG9ke8KNxZLAxgiqPwUInZDTYO68jBp5REIk2fZzJraNM5bl2SXBLE SJXQjt1XF8W8sofSLJ2Ksm6UbMd+snbs1gxAAnWCzO26dcAuNy5tGfNGHHkaNx9P MVD05i5E4jzJVt8rZV9NSy35rgiuydSn1WPgjajf24dFW9WUZVuTeupfKLhlMqEY Y/YWrHPahsDHbL4SEz5lo7jfN2qpcSIjJdVVa4tst1TFQVax7V8eZ17l7a2Tm5vP sf0LR2V3e2e3J6dWemze/KJuByMRu63bBM1biOTmBA3HnfLcFoSJCD4l8NC0HkMU QkUdK1votrv71azlYaM6bq7Ke1Y8YfBn1vnu5tfZdmcX6cNkLvMyfG7bcTu2ZZtM jnG9QlIZOC20DggXL5haqvIiIgNoJF3lWdtt7JWu61YfJLQrub61Uqq3leLMc9F+ 6mA7Nb8zMv3Hv34cx5/GZsELh8LKmayHnYyth5cNl9zijRceXThxWtPUaZ3VdMFl 5Ken3Qqs6pPCwa0Y5Fw3I9zITGZZMWLYNdL2bl+yUIz8g2IBOk4ZtsMtOuqZj3QT kXQlRSTRFrrm5Rh9qy8cjlgoyn9zws8z1S3mzvoX3ix3BsKc3+vOE4Jt9G8mwYhY bBdAieag+Wj7vnWlwjMW+6iqvDU17TJV8bb17umUpdCcnzba+p699m1tSj1tJeCT +h5SbgQMMteaZFb9vL5JyXCYksm8cv0xomX5UZETRxxs2mCFVXXgrY/mr26nJwTm sPxPGtUVJqLyvAtIa1MiVPZQhkyVJDJkqSCYfZUkEw+yhUmGpIJxqSCYakgnGhUm H2VJBKlSQTJUkMlHsoQSpUkEiUIJEqQfdCBQCgFAKAUAoBQCgFAKAUAoBQCgFAKA UAoBQCgFAKAUBR/QLN93t/aPxVTtx0Ne9PUegWb7vb+0fip246DvT1HoFm+72/tH 4qduOg709R6BZvu9v7R+KnbjoO9PUvhnam3vbbXHcfSOMS35LCxtbZo6rhuTIcqZ 53Pz6IIpG5dNOPN+Tji5R7qrx4N/BpfqbLr7Tsz4pfFN/oZgtXSBecjtwScX+Cvd 0dwW2Z1GsYi608+xcZb0X4RlScVCeBWVUU/f15R72iLyy3tUH9ywupxz7FnPsOuO 0umsxll9Klj2vGPaUfbrphTcCFjkn4uPYZGQZnMwxYMqO+rsaTDtvqJuup5gqif8 Pl01RdV/JVr91Cpv7c4ipfF4Kbfb2WpfdjMnHloskdq6ZW71k229ot9yt7uP7iY6 uTJmJC6MO2w4gPLdUlauaIUA47jbic2ikg6L30qZbmEYzbjxi8Y8W/DHtyI0WSnB KXCSznwS8c+zBcGRdLWJWDGMXvP43bl3rLrfY7naMfSxXUW/h748yDXm3EVOI2TY OqZCp6rpypxIdc692pSa6OCbWcr/AB8uZezbSjBPucWk0sP/AC8+Rdx9Elsk35q3 2DO7Zf7Pb77dsbzC6MWu5hKt9yssR+bKjx7eSK7PNWo5oCRlLmLh7day/wBwio5l DDwmuK4pvC4+HPxNf6E3LEbMpNp8HwaWXw8eXgYkXYbCbjfM6g4tmkO/2TB8Y/E0 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 ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=edit.gif Content-Type: image/gif; name=edit.gif Content-Location: http://prijimacky.osu.cz/pix/t/edit.gif Content-Transfer-Encoding: Base64 R0lGODlhCwALAKIAAP9jzv//AP/OnP///wAAAP///wAAAAAAACH5BAEAAAMALAAA AAALAAsAAAMiOLpLxIyABwcJVDmHIRFXpoEYGG0fSKVCq2qO+2aoUzVEAgA7 ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=cross_red_small.gif Content-Type: image/gif; name=cross_red_small.gif Content-Location: http://prijimacky.osu.cz/pix/i/cross_red_small.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAQALMAAP9oQf+0oP+EZf/j3P+Ocf/QxP+giP9xTf+9rP/a0P/t6P+h if///wAAAAAAAAAAACH5BAEHAAwALAAAAAAQABAAAAQwkMlJq704612FYoqxHYEi LBtxCAcXAEDBIYDADbCtKcdBAJ+MasBDCROSgYzDbDIjADs= ------------XTsu3py7d4Aozjv3Kg74PK Content-Disposition: inline; filename=tick_green_small.gif Content-Type: image/gif; name=tick_green_small.gif Content-Location: http://prijimacky.osu.cz/pix/i/tick_green_small.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAQALMAAACuLV/MeyC4R5DcpL/rylDHbxCzOnDSiZ/hsDC9VX/Wlpze tYDXlv///wAAAAAAACH5BAEHAA0ALAAAAAAQABAAAAQssMlJq70464nM2Q0BJGCT GKWIlIWgKQEhMtoAFDZYAEZRGoAVKFdqDIrITQQAOw== ------------XTsu3py7d4Aozjv3Kg74PK--