From 04ce252a254c4211ef17a0e0fa65281496d4188e Mon Sep 17 00:00:00 2001 From: jsteemann Date: Fri, 20 May 2016 09:48:45 +0200 Subject: [PATCH 01/22] test what happens when default value for authentication is changed... --- etc/arangodb3/arangod.conf.in | 2 +- etc/relative/arangod.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/arangodb3/arangod.conf.in b/etc/arangodb3/arangod.conf.in index cb8b63420e..c910e2e9f8 100644 --- a/etc/arangodb3/arangod.conf.in +++ b/etc/arangodb3/arangod.conf.in @@ -32,7 +32,7 @@ endpoint = tcp://127.0.0.1:8529 # reuse-address = false # disable authentication for the admin frontend -authentication = false +authentication = true # number of server threads, 0 to use them all # threads = 4 diff --git a/etc/relative/arangod.conf b/etc/relative/arangod.conf index 3255b01890..449a2dc25f 100644 --- a/etc/relative/arangod.conf +++ b/etc/relative/arangod.conf @@ -1,5 +1,5 @@ [server] -authentication = false +authentication = true endpoint = tcp://0.0.0.0:8529 [javascript] From 42c02730e77656ae0491aa2f077b37e70da2d53d Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 09:53:15 +0200 Subject: [PATCH 02/22] user image --- .../frontend/compressed-img/default_user.png | Bin 661 -> 6614 bytes .../APP/frontend/img/default_user.png | Bin 2395 -> 10195 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/compressed-img/default_user.png b/js/apps/system/_admin/aardvark/APP/frontend/compressed-img/default_user.png index b7f732b4af301a4cf59316de7f5b6dc8133683d1..6fccb8e122367f6a62ea0fba84670615cbe24e91 100644 GIT binary patch literal 6614 zcmaiZWl$S$)Grz&!68tj1lr=1;8xtd#kCFY6!$`KhajaCin~LLyK5;fg#y9did%W} zpSd6Ihxg9?u)A~iJm<{p?mXuw8}(LQfdHQx9}NwSKuJ+n6LlT>@4yA1&XxLAS!ig_ zGL>Ydw7nOPG9&cJmB_lTKi(a``I!@GF|0)1{SEsav5=$?H#^%l?XOUh7giTPg=0$K za6BozVA+F=vSkCnLMWqXtI6eiG4~+L;^IK9-12h%uAUwsrw3kB z1BLvr;r}~5ur-)K@9QY%=s3&X!SodS*W=dDcgxg5@(?4OP;v;(o!Mgfwu1wtm|%z} zqp4#;Fn$h1UM=4{uT4=1`9AO+F8ZO(IW7{$@XmL&g?+8D`E94)ZpwbRkVz2Xrry&W z^JQ&2)9-ZiH?X9n;_&aPg{h=A!9WC2Hu9nwh}D&{i$x`D#fB9}g|iYw0-X`X0uWwe zM+6<8Dy-(7T1)8NWM9u0Nf5Fwdho)9x!sBy{dTCop|QeS%w0oH49CHK`49thwGxYq{|nkppB+U=YyA zlZ5vL7O5srmxOzr1)cOOmbTo4WXf*jA&D$mVC2QDK`w4Ew}-sWL&d{At{Od_kpIWf z5kVo+yp5!_#ki%33N*QA4?my~F{Vm7CX?=R!5Ww?*!wnNM&f8vWGH!&7S}}Q6~~R& zohZ=@k8`|`%?r8Hn>{xhTU%Qkd?4l&uX9~PcaTe0c%^8!;7iRDf#KI$UNWY%;0HfL z;EPuC=l|Af9A-r@zA%_d`Vtc!y}Z}e!}%SNAf>6iO=l+v@A3Xv7Gu~F=r)@eb}%!e6%Q-%RD&jGog6$)W* z*A<(P9%#+A$^8fjFFrIN$;eU##zH}c^O*UGWxC#PmBGf&&PSE-BJoi;{`q*JK4yrEQG^U0o>en+ zxW;k5!&9e^0~Fbhep{c>SW1YW-E@VaprAOxll8_e%bXO@*P~tK6ue2<7JNFHJZ#-K zo7S7uMaP-1amv!$%U-KmMxkN0Gr0=_Hn-i*=1q&G?FY zBH>R?O=^mscx`WjK(FP!4m z9xhs8{6pypO2Q2$Ati2J!N0a;F8Ea}wnghlRW|)M2yfa-M(MYx=`sfcx~=Wx%C0rn z-_p0^E-bBj@*y5dAD5fwo&Hb}OZ_P)Yu+h<%_N&bP353IK{Nv*@pPDGJI=6oi~_#q z*CTBi6r$FzwRHnXrp8DKiEja4Qc|TBN}}p)Bhk4DajmZZ_=jr=QUYWllF!9_Fj#~{Dt0~x;otjyWTBlpdiau5N7XSSMlF*)Q*y# zgxfnOnN7VhnhHsJ|D{gV1g_mX^EC>jNQs6Qmxi{L%}#~LCjPUWFqU$>SAp#$(<|_4 zi;Ae68&LXqMUXTFu8FZ+Gh@IA)@lFHq00?1@qrw00OF~gMDIi0G^W7yID4x!)G(!O z>R)Ca42s#ADeAQ}n2eHOV1m+0jU_YYRG0_CCq`HD)1#OAc{CdCNJof*&#QJI+@f-o zaWhDC9X+qLv3UHwg(Sy2K~6{$vuvN6Y-r_nd%!s%UGYGFG?<)Sv+Za^3HJ$NxT^Be{+L3pq{0~stV}4p~iJ$IS0}agvosj8-?NF zDH?T~kyX6!{7hZI4Jk^9SI=z3va_@M9UN&T_xgQ@vftD*zy=(ay&}^xrs@7B1Lh`Y zBl*7lb?91RauahkN#Wyehw16*nU=}J9OEBjl9r?K#ukww{kq_+Bv7R3wcYkNZIK`E z`fgvxqA6L6Nwp$+D7h{YzBAvbtAddQyM zJ7>Z&^Ad^ajs?CQjDtYd|M)Q|Il6SA-+a5FdbxTp!vAbMu)HqKq0)BkW#-Myklc z5A>ow;s3SANn+N>?k(6mo3KWFQL}2?9FK{Lh;*4oE{-jMP*1cNCf#3GREn4Pu+n-> z53xO#c5QShrNIwS52ap9<39NKD4ioLw0UN$6HAF{76C=74LpL1_M=sU^1jjP|BD+; z9Hzr@!8RPrX;RE4nsm`UQY>>;H=Uk(z(X zcch)P>v+1sD=RB2-D|8}O*E|)gz;Sg@$>qISMPlz9dJ4k zEQ`tU^C7=m#izX2nsWR5Tx8K?7zbn?R?lI}MRd-`J(euV6>;rBd9@zUl;GK>)~n~C ztlUvh4rnl>i-wKf4esC6}oJtr#=U!#|90Opc{8L0Ucpt(lt+W;v8pK3WMxo(Mhb z^nb+X0>1Cf{g#YCq)VZ<8|$uo`2HG~k*!6>#?b4lGY^XDT@>2ibe`H2Nw1y^+`?->ix79mGW_Xw%oiS8e;C8r{V5;OiBU4>sbAC;gdg-*H(H5!G%%;?eQ-7;%bu`ADTFT zOoM&Xn|Qc1z>cKq6VB$4-8^J{lQ*_XDl_>T|K4s%%+$a3U~PwI~_Ln|`zEG^DUvrEsCDEpLjcGHM_diNI;N zam0IB$T=hNF2X%OaMdNDVXpH!msy~NAdR}AFN{0YYTzN^n-#sc%0>#j{L2j5W%O`faE`{%y_PK)M6$o zbGk1}!wO7%#4xACTyTmwUAmQ*T1R|=t|NI8?)3jsjm1>SQ`!SpZKZ12?a@twx+YFw z=?&&1_fwzC5w+gfP2M;M(Hxk57A6BT3k*3;g9EzMGBytAgvN);x7M{~BV$|RIVMs> za8_=-I+*9ioJllSi-lARZv14*53J$Ghy>H~crjwKFJ(q+*KbWOx%*!xm0znj)|6N& z^6iJ^AFbL8Ivv!eZCLXN+)!x!#El7DurV}2v14ePw*i`33;E7T4dlDZWl>EeVY8CD zk*uR1bZkEdQ^t|s?C)dmSx-K5x>33gL6jYO;-k$)cKd_EgmP`VpU!ZMPgB4oYACl0 zys_h%_2qou0dQ5{mJaB)w{dW|D|G4ZqM^J}-_DBIGN56>jw^q%;jFQfJm#v{u1&gs zTA%+$*32}$4T{8@$A7f>2D_21`z-JDceCJ;GHLeSK1US0SpOXjxp=(tJD${vf;nlN z1lkDRo%532v%MewEUcXQ*b)`cft1~`rE3-vcubtA=SeZ+sM7QX%S68inJN|XeiZ0t z$JKuFr{ot6kZ}{VC(>=w}&R!;Z4SYBm?1(npxFWDgH$tpeM_}VzTiLl=@vdS%BUbKxXgN~IP zpPhT9^DNcUN&Y>oTFjLI%;dWd;nA$KsTK>GjE0#QSZ-0yHXBm&8z#^soy2k4)|?_V z{7GddKlORXqH~*zp=k4$3I(R@H|)r$7G5i6t>v%jkjauU-#;yW*_x?;%* z@aGjjK=&s(?)+0Y3y$e(cYey>nbefi0+fVEI({ni$ha)Ln+umU|8y`phj3iK5Nb8J zhCL1!ElxcW#iij=w4_v@!iO-OPr6??(}4%zr_YY+1cHrlK|ar<(ev7z9d=3`l6%>z z)@68Hj)OfjIl=%~dcOvD@3?C(iH)`xzO~hL9Bz8gy30yJ&tbi=pzVR8c>hV z!W2BNDINP2C_;H{`CZe)@zxhZknx;kPDvtAtOVm=v4)2IKQ0# zP)m&_+X@aoFkiSDGQ5|mz=-tEy(il4f+a{+b(-tEjvmk9}wSoLhZJI$5GKa03RzV)>-f>ziweOpZ>CKHoU zkXbxnpQG5@fD?bFcFJsi1ye-Q@Q{{x8T(k+nF?hS)m*~(llKY2pDyW?2bb`+%p4c* zxE>fxgitkOV9qPAkXP(;`$maZ7L22Iwkx0Q1*fTT|I1Z}HOZiK``f4X+(E5&-6f*$ z?pq?hJWxo56}rm>9Oe1w8gR_$_x>mFyYjZmOINbdP3sE|#kf7h{VU5zF%bg;@*>Er z>!2D#3`KfojYt*ci0Ei#ZnVWI2nOKt03cuhLH;2!S~&}?064dv>fa#f{aozq|! zI&isM`JR3PKg!*R9|U6%b7-q74ntOx&`tSqa2wFl`CdFKS!jh*p4JA>NZ%^;k5~_=gu!%2T z6_2UT2-qVv$#j9~g0ZxspVPlB@k74b`WtBilC6I-tR~sl>T~`kBYn>QEK7WxvNzZt zMj2CI{(3Id#`{*8nDW40hrcq`6&y30$5*{+s~V*QPnz;FEAXMAriQKbsNTegrq>wO zB^}EdX#5PoN5>ucu5-|=pE$d2)}Imxo>m(2{4mCTpMZjoh^I@J+!cj4B>H3gweM>z zDEI^gmn0x}bYb^IS|rrgwfbY|e~UM5heYwQZSM2yAt+m-D8voW;yew|-G~+getV^; zzWsi}@pH{NXQN~3ifft(Zz8Wjh1IAkYA(Ycg7w6**6SDJrJp5*sr>MsCNDn=Cun)x zjVcA^l$I)iC{=FBhs6D3vq=BkMa<4n4~37lR+x!ZI7!vqIP|5J`ojs!Cn?;YCMKQF z8(=uQEU!@HoFf0M0Cv>&ZUm_LWZ>XTH+GDk$aSS=${iY)F569IM53#Fv|kbN(fQ?{ z=Ibsy=MoI!6cmeRT~=Wg%YrzFy}`gEJ~V=<9hiDhs&wp5efNT*aPGqG`G7s+p<&|a z5hW?MMpk&LJ;O8x-a3eBt>wwE3Az&YbcNNg0@Ui}9_F z2Lau2lm;nZBPfc>iK58eeCKD_HNAxGP6$5oEd^wR88G))z1oIp+$M9OP{+-3g###Z z!)dumYJ?Bc_%}$~zstZV&_V`WVT8)7=FnLRA)3^Cau(33ratxQlbw{K2GF5I+Kc9S z&ax1h&v19zm#UX*!oN`>axPMH>x~iiv;|jSVK-ZM283l<-eK?3Gv;$4Nc^3lyOPvW09SZHbG== zP%p=P|EL~oBt6Q)Ch)KRSLHj(Xx(99vkTZ;r<_~Omm!A?5wW!q=|2m4J(E54=;D4E zQZuB4NNGX)k5GKP^f)@MHe9R0lLQekKF5w#>qFfR@yKZCMX3Z_8vaBlVqL(-q?5P# zX;hd3$A#xbPTW&F-O|4!0hY7H8M-%eC7X~R@4P>MJI%B z;F|I4TPv2&lSu>)De+de1dZy>5(bq3o}$9riKH|d2M5y0g&A4VsTLU;&WEqZ4;f;m zao~>EAIyJzbsIhVhZL*fhdNLbYjq*Va%jv#1bgRBg5F#;fI>|$%#lVETzyyU&M5Y6--rp5rt|cwM64e zv{~jHA6jS6q=mlpFeDK8a+Z7V%qV>1P)-;jt7{P*fsnQTZP6hK5%ZsS<;uq{GaZT$ z^Uj^=(WIEXwcHFdN>EUBYAB^5$YgqAE5wA5Wlc2=1V955V{h5&M=ajT3j+?q$Xss( z@+kfsKW=1f0bs=L_baT+8*!Ha)JER>OH=%HttH$9%rmRpjUvSDxiq>7CMwZch=1M` zUXm{R`}Y%COnHbgv=&_$Tm0Nh%;ELE?_q?Px1Y|x<_|N28CBP1D*mv^s|(K>-gBe4#qar1 zaVk64Zdc~UhvS!*Uh(c#IRF=zJw|a2>-%g%U{*~}J^uTvUaNg+HtywPkcCuwspB$= zlVh)tK?8I|p`E?3P~9lxq!cFTV3-3-VZ`F<>4QljNFjs}LL%w_0I23ZJF`~oB+Y4Q zuREgi2>^hy?6jlUN$Q#gy#m$TH#?2f{wCZj4)#6XWwuLVPbC8D#c={SSpt6t5_;Ns($r60zC)0 vcMwJ1VFG_Zz3(uNBKpsXh)(!B%rTRHQ2i!48GaRq00000NkvXXu0mjfS%5TJ diff --git a/js/apps/system/_admin/aardvark/APP/frontend/img/default_user.png b/js/apps/system/_admin/aardvark/APP/frontend/img/default_user.png index 6d8efbb7fd3bf595728c668b029bc47a17a69393..c0bad52d16747e5a936a6070d7aab03f71f6dd9a 100644 GIT binary patch delta 9377 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 delta 1564 zcmV+%2IKkDPumhMiBL{Q4GJ0x0000DNk~Le0000o0000o2m$~A0FhlE<^TWy0drDE zLIAGL9O;oU7XkyQkxJ8(!vP|bK>-t!9RXV|J_;ZpARr(hARr(-cx`YxO>bmrW_d(m zbY(s=FflbPFgPtTHB>P-IxsjoI5v~<167lR0y&c`0x*;I0XCDp0xXkP0x^^60u=!@ zk^^Q0H84CclTiZ|lYj#UlSTwCe;)j*=l}o(Oi4sRR9Fe^n8!*jOB9B$S3@)pOTVNS63Gn7N#Mc<>(XTI$Pq2aejV&baZrmeLXlhm^{G=;p^+` z%gYO8O-f4Y>gvkQ&i2O4e>Wo(N4RuVN2j!;f_!DTVOw(OgA7q?*~T0OBRO+QOVI3`(!#z8 zx1Pg^V8HxFT9J{FY?XX{)>O2&P?d@%4Wo2t?EB?^s@pWuHcSK8!;)(MZbF^1OLqm9YILUw+avpIb zbH?ZA=iJ=frluw~2wqWogkr~<(EoO9g8(32cXxL;H#bjCe@+Su3(LyNwzs!ASY~Hu z*~;-MnWMO5lo8&|&CR@;n3&+!LnQh6`LVIFc-0JA@Uyu=hzZKUImoedadB~Zd5Mqm z^74+34(!g%%s`jpWp8f}W;r=Id3kx6nVA5NkB@tMdwF|(eGQ?wxVVy%60N2Zs*0Hv zE$LHu^!4>Ee=IC;lF(QrhOLN{(8%PhrlyA7l4{DH34jc-B#gDSHS)w&g3^OW2$jah z#+H^Axtv)rQ__+=!Jxmte`;!q7QqTckxRYk9w;KG{V7mZRu;^t^78UB*_C2(qEk>Y zC0z*7_V)I+wl)#E&X%NVZf>rprzasHfu+s_EHOeir9vmD%OX4^3God9Q2yJX^h!vySS0vEFIJ>bJku2y8Drtc;RnX~s zUb5M;cc|2rw1_DxDoUmH6}c3VmN#xXnpq_+5HzNS`{fhv-xk$S(n7~V?dvSbnS~K0 zEp#|uEHpj8B3d|c-g9=Tj3{aG>Bhvws6Jqoe>sP8XmO0Xqa`iLDZ!sXH#awOav|h# z=+zV^78uzb_?U`|i-AezjCf_XfL2sgaJ_^Uz0d7H?gBqL&eMZBM&QH^r@p?P|8p>- z3f1Of1G&k`$?@@VY|&~KJB=}7orLsr8{_Z7>gsClgS_=Z%U2CTr>CboJ3CwnkrSd= za@6dqCK`+$<#xoam420$(o}TpWvR@TytY<0wP-8ECKy%uMBRp#fSeez4M2?85^_OH zpo~U-nnasuU=1%4>-6|)F?W Date: Fri, 20 May 2016 09:53:26 +0200 Subject: [PATCH 03/22] Tune shard synchronization. --- js/server/modules/@arangodb/cluster.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/js/server/modules/@arangodb/cluster.js b/js/server/modules/@arangodb/cluster.js index 8cc7779596..d2366b396e 100644 --- a/js/server/modules/@arangodb/cluster.js +++ b/js/server/modules/@arangodb/cluster.js @@ -75,11 +75,11 @@ function startReadingQuery (endpoint, collName, timeout) { } var count = 0; while (true) { - if (++count > 5) { - console.error("startReadingQuery: Read transaction did not begin. Giving up after 5 tries"); + if (++count > 15) { + console.error("startReadingQuery: Read transaction did not begin. Giving up after 10 tries"); return false; } - require("internal").wait(0.2); + require("internal").wait(1); r = request({ url: url + "/_api/query/current", method: "GET" }); if (r.status !== 200) { console.error("startReadingQuery: Bad response from /_api/query/current", @@ -106,7 +106,6 @@ function startReadingQuery (endpoint, collName, timeout) { } } console.info("startReadingQuery: Did not find query.", r); - require("internal").wait(0.5, false); } } From 42037ff65442b2c2a6f14c13335f8df13a33223d Mon Sep 17 00:00:00 2001 From: Heiko Date: Fri, 20 May 2016 10:00:45 +0200 Subject: [PATCH 04/22] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 787761b70c..b8b79699f2 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ArangoDB Master: [![Build Status](https://secure.travis-ci.org/arangodb/arangodb.png?branch=master)](http://travis-ci.org/arangodb/arangodb) -Slack: ![ArangoDB-Logo](http://slack.arangodb.com/badge.svg) +Slack: [![ArangoDB-Logo](http://slack.arangodb.com/badge.svg)](https://slack.arangodb.com) ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally with a few mouse clicks. From f71c9a53eaf13b9faab5f161e59cc077fa24e72b Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 20 May 2016 10:18:37 +0200 Subject: [PATCH 05/22] updated documentation --- .../ReleaseNotes/UpgradingChanges30.mdpp | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/Documentation/Books/Users/ReleaseNotes/UpgradingChanges30.mdpp b/Documentation/Books/Users/ReleaseNotes/UpgradingChanges30.mdpp index cea313bddf..a7ba9be205 100644 --- a/Documentation/Books/Users/ReleaseNotes/UpgradingChanges30.mdpp +++ b/Documentation/Books/Users/ReleaseNotes/UpgradingChanges30.mdpp @@ -323,8 +323,9 @@ it may break client applications that rely on the old behavior. !SUBSECTION Databases API -`_listDatabases()` has been renamed to `_databases()` (making it consistent with `_collections()`) -`_listEndpoints()` has been renamed to `_endpoints()` (making it consistent with `_collections()`) +The `_listDatabases()` function of the `db` object has been renamed to `_databases()`, making it +consistent with the `_collections()` function. Also the `_listEndpoints()` function has been +renamed to `_endpoints()`. !SUBSECTION Collection API @@ -589,6 +590,43 @@ could be overridden by sending the HTTP header `x-arango-version: 1.4`. Clients still send the header, but this will not make the database name in the "location" response header disappear. +The result format for querying all collections via the API GET `/_api/collection` +has been changed. + +Previous versions of ArangoDB returned an object with an attribute named `collections` +and an attribute named `names`. Both contained all available collections, but +`collections` contained the collections as an array, and `names` contained the +collections again, contained in an object in which the attribute names were the +collection names, e.g. + +``` +{ + "collections": [ + {"id":"5874437","name":"test","isSystem":false,"status":3,"type":2}, + {"id":"17343237","name":"something","isSystem":false,"status":3,"type":2}, + ... + ], + "names": { + "test": {"id":"5874437","name":"test","isSystem":false,"status":3,"type":2}, + "something": {"id":"17343237","name":"something","isSystem":false,"status":3,"type":2}, + ... + } +} +``` + +This result structure was redundant, and therefore has been simplified to just + +``` +{ + "result": [ + {"id":"5874437","name":"test","isSystem":false,"status":3,"type":2}, + {"id":"17343237","name":"something","isSystem":false,"status":3,"type":2}, + ... + ] +} + +in ArangoDB 3.0. + !SUBSECTION Replication APIs The URL parameter "failOnUnknown" was removed from the REST API GET `/_api/replication/dump`. @@ -771,7 +809,7 @@ to adapt to the new behavior, making the option superfluous in 3.0. !SECTION Web Admin Interface The JavaScript shell has been removed from ArangoDB's web interface. The functionality -it provided is still fully available in the ArangoShell (arangosh) binary shipped +the shell provided is still fully available in the ArangoShell (arangosh) binary shipped with ArangoDB. !SECTION ArangoShell and client tools From 721b906d08d1bca1853aa1ce176463e37f0147ea Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 10:49:27 +0200 Subject: [PATCH 06/22] grunt --- .../aardvark/APP/frontend/build/app.min.js | 14 ++++ .../APP/frontend/build/extra-minified.css | 31 +++++++++ .../aardvark/APP/frontend/build/libs.min.js | 67 +++++++++++++++++++ .../APP/frontend/build/style-minified.css | 9 +++ 4 files changed, 121 insertions(+) create mode 100644 js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js create mode 100644 js/apps/system/_admin/aardvark/APP/frontend/build/extra-minified.css create mode 100644 js/apps/system/_admin/aardvark/APP/frontend/build/libs.min.js create mode 100644 js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js new file mode 100644 index 0000000000..f15699d6e1 --- /dev/null +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js @@ -0,0 +1,14 @@ +function JSONAdapter(a,b,c,d,e,f){"use strict";var g=this,h={},i={},j=new AbstractAdapter(b,c,this,d);h.range=e/2,h.start=e/4,h.getStart=function(){return this.start+Math.random()*this.range},i.range=f/2,i.start=f/4,i.getStart=function(){return this.start+Math.random()*this.range},g.loadNode=function(a,b){g.loadNodeFromTreeById(a,b)},g.loadInitialNode=function(b,c){var d=a+b+".json";j.cleanUp(),d3.json(d,function(a,d){void 0!==a&&null!==a&&console.log(a);var e=j.insertInitialNode(d);g.requestCentralityChildren(b,function(a){e._centrality=a}),_.each(d.children,function(a){var b=j.insertNode(a),c={_from:e._id,_to:b._id,_id:e._id+"-"+b._id};j.insertEdge(c),g.requestCentralityChildren(b._id,function(a){b._centrality=a}),delete b._data.children}),delete e._data.children,c&&c(e)})},g.loadNodeFromTreeById=function(b,c){var d=a+b+".json";d3.json(d,function(a,d){void 0!==a&&null!==a&&console.log(a);var e=j.insertNode(d);g.requestCentralityChildren(b,function(a){e._centrality=a}),_.each(d.children,function(a){var b=j.insertNode(a),c={_from:e._id,_to:b._id,_id:e._id+"-"+b._id};j.insertEdge(c),g.requestCentralityChildren(b._id,function(a){e._centrality=a}),delete b._data.children}),delete e._data.children,c&&c(e)})},g.requestCentralityChildren=function(b,c){var d=a+b+".json";d3.json(d,function(a,b){void 0!==a&&null!==a&&console.log(a),void 0!==c&&c(void 0!==b.children?b.children.length:0)})},g.loadNodeFromTreeByAttributeValue=function(a,b,c){throw"Sorry this adapter is read-only"},g.loadInitialNodeByAttributeValue=function(a,b,c){throw"Sorry this adapter is read-only"},g.createEdge=function(a,b){throw"Sorry this adapter is read-only"},g.deleteEdge=function(a,b){throw"Sorry this adapter is read-only"},g.patchEdge=function(a,b,c){throw"Sorry this adapter is read-only"},g.createNode=function(a,b){throw"Sorry this adapter is read-only"},g.deleteNode=function(a,b){throw"Sorry this adapter is read-only"},g.patchNode=function(a,b,c){throw"Sorry this adapter is read-only"},g.setNodeLimit=function(a,b){},g.setChildLimit=function(a){},g.expandCommunity=function(a,b){},g.setWidth=function(){},g.explore=j.explore}function AbstractAdapter(a,b,c,d,e){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"An inheriting class has to be given.";if(void 0===d)throw"A reference to the graph viewer has to be given.";e=e||{};var f,g,h,i,j,k=this,l=!1,m={},n={},o={},p={},q=0,r={},s={},t=function(a){void 0!==a.prioList&&g.changePrioList(a.prioList||[])},u=function(a){m.range=a/2,m.start=a/4,m.getStart=function(){return this.start+Math.random()*this.range}},v=function(a){n.range=a/2,n.start=a/4,n.getStart=function(){return this.start+Math.random()*this.range}},w=function(b){var c=p[b]||b,d=$.grep(a,function(a){return a._id===c});if(0===d.length)return!1;if(1===d.length)return d[0];throw"Too many nodes with the same ID, should never happen"},x=function(a){var c=$.grep(b,function(b){return b._id===a});if(0===c.length)return!1;if(1===c.length)return c[0];throw"Too many edges with the same ID, should never happen"},y=function(b,c,d){var e={_data:b,_id:b._id},f=w(e._id);return f?f:(e.x=c||m.getStart(),e.y=d||n.getStart(),e.weight=1,a.push(e),e._outboundCounter=0,e._inboundCounter=0,e)},z=function(a){var b=y(a);return b.x=2*m.start,b.y=2*n.start,b.fixed=!0,b},A=function(){a.length=0,b.length=0,p={},o={},d.cleanUp()},B=function(a){var c,d,e,f=!0,g={_data:a,_id:a._id},i=x(g._id);if(i)return i;if(c=w(a._from),d=w(a._to),!c)throw"Unable to insert Edge, source node not existing "+a._from;if(!d)throw"Unable to insert Edge, target node not existing "+a._to;return g.source=c,g.source._isCommunity?(e=o[g.source._id],g.source=e.getNode(a._from),g.source._outboundCounter++,e.insertOutboundEdge(g),f=!1):c._outboundCounter++,g.target=d,g.target._isCommunity?(e=o[g.target._id],g.target=e.getNode(a._to),g.target._inboundCounter++,e.insertInboundEdge(g),f=!1):d._inboundCounter++,b.push(g),f&&h.call("insertEdge",c._id,d._id),g},C=function(b){var c;for(c=0;c0){var c,d=[];for(c=0;cf&&(c?c.collapse():K(b))},M=function(c){var d=c.getDissolveInfo(),e=d.nodes,g=d.edges.both,i=d.edges.inbound,j=d.edges.outbound;C(c),fi){var b=g.bucketNodes(_.values(a),i);_.each(b,function(a){if(a.nodes.length>1){var b=_.map(a.nodes,function(a){return a._id});I(b,a.reason)}})}},P=function(a,b){f=a,L(),void 0!==b&&b()},Q=function(a){i=a},R=function(a,b){a._expanded=!1;var c=b.removeOutboundEdgesFromNode(a);_.each(c,function(a){j(a),E(a,!0)})},S=function(a){a._expanded=!1,p[a._id]&&o[p[a._id]].collapseNode(a);var b=H(a),c=[];_.each(b,function(b){0===q?(r=b,s=a,c.push(b)):void 0!==a&&(a._id===r.target._id?b.target._id===s._id&&c.push(r):c.push(b),r=b,s=a),q++}),_.each(c,j),q=0},T=function(a){var b=a.getDissolveInfo();C(a),_.each(b.nodes,function(a){delete p[a._id]}),_.each(b.edges.outbound,function(a){j(a),E(a,!0)}),delete o[a._id]},U=function(a,b){a._isCommunity?k.expandCommunity(a,b):(a._expanded=!0,c.loadNode(a._id,b))},V=function(a,b){a._expanded?S(a):U(a,b)};j=function(a){var b,c=a.target;return c._isCommunity?(b=a._target,c.removeInboundEdge(a),b._inboundCounter--,0===b._inboundCounter&&(R(b,c),c.removeNode(b),delete p[b._id]),void(0===c._inboundCounter&&T(c))):(c._inboundCounter--,void(0===c._inboundCounter&&(S(c),C(c))))},i=Number.POSITIVE_INFINITY,g=e.prioList?new NodeReducer(e.prioList):new NodeReducer,h=new WebWorkerWrapper(ModularityJoiner,J),m.getStart=function(){return 0},n.getStart=function(){return 0},this.cleanUp=A,this.setWidth=u,this.setHeight=v,this.insertNode=y,this.insertInitialNode=z,this.insertEdge=B,this.removeNode=C,this.removeEdge=E,this.removeEdgesForNode=F,this.expandCommunity=N,this.setNodeLimit=P,this.setChildLimit=Q,this.checkSizeOfInserted=O,this.checkNodeLimit=L,this.explore=V,this.changeTo=t,this.getPrioList=g.getPrioList,this.dissolveCommunity=M}function ArangoAdapter(a,b,c,d){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"A reference to the graph viewer has to be given.";if(void 0===d)throw"A configuration with node- and edgeCollection has to be given.";if(void 0===d.graph){if(void 0===d.nodeCollection)throw"The nodeCollection or a graphname has to be given.";if(void 0===d.edgeCollection)throw"The edgeCollection or a graphname has to be given."}var e,f,g,h,i,j=this,k={},l={},m={},n=function(a){h=a},o=function(a){f=a,l.node=l.base+"document?collection="+f},p=function(a){g=a,l.edge=l.base+"edge?collection="+g},q=function(a){$.ajax({cache:!1,type:"GET",async:!1,url:l.graph+"/"+a,contentType:"application/json",success:function(a){o(a.graph.vertices),p(a.graph.edges)}})},r=function(a){console.log(a.baseUrl);var b=a.baseUrl||"";void 0!==a.width&&e.setWidth(a.width),void 0!==a.height&&e.setHeight(a.height),i=void 0!==a.undirected&&a.undirected===!0?"any":"outbound",l.base=b+"_api/",l.cursor=l.base+"cursor",l.graph=l.base+"graph",l.collection=l.base+"collection/",l.document=l.base+"document/",l.any=l.base+"simple/any",a.graph?(q(a.graph),n(a.graph)):(o(a.nodeCollection),p(a.edgeCollection),n(void 0))},s=function(a,b,c){a!==m.getAllGraphs&&(a!==m.connectedEdges&&(b["@nodes"]=f,a!==m.childrenCentrality&&(b.dir=i)),b["@edges"]=g);var d={query:a,bindVars:b};$.ajax({type:"POST",url:l.cursor,data:JSON.stringify(d),contentType:"application/json",dataType:"json",processData:!1,success:function(a){c(a.result)},error:function(a){try{throw console.log(a.statusText),"["+a.errorNum+"] "+a.errorMessage}catch(b){throw"Undefined ERROR"}}})},t=function(a,b){var c=[],d=0,e=function(d){c.push(d.document||{}),c.length===a&&b(c)};for(d=0;a>d;d++)$.ajax({cache:!1,type:"PUT",url:l.any,data:JSON.stringify({collection:f}),contentType:"application/json",success:e})},u=function(b,c){if(0===b.length)return void(c&&c({errorCode:404}));b=b[0];var d={},f=e.insertNode(b[0].vertex),g=a.length;_.each(b,function(b){var c=e.insertNode(b.vertex),f=b.path;g=2&&$.ajax({cache:!1,type:"GET",url:l.collection,contentType:"application/json",dataType:"json",processData:!1,success:function(b){var c=b.collections,d=[],e=[];_.each(c,function(a){a.name.match(/^_/)||(3===a.type?e.push(a.name):2===a.type&&d.push(a.name))}),a(d,e)},error:function(a){throw a.statusText}})},j.getGraphs=function(a){a&&a.length>=1&&s(m.getAllGraphs,{},a)},j.getAttributeExamples=function(a){a&&a.length>=1&&t(10,function(b){var c=_.sortBy(_.uniq(_.flatten(_.map(b,function(a){return _.keys(a)}))),function(a){return a.toLowerCase()});a(c)})},j.getNodeCollection=function(){return f},j.getEdgeCollection=function(){return g},j.getDirection=function(){return i},j.getGraphName=function(){return h},j.setWidth=e.setWidth,j.changeTo=e.changeTo,j.getPrioList=e.getPrioList}function ColourMapper(){"use strict";var a,b={},c={},d=[],e=this,f=0;d.push({back:"#C8E6C9",front:"black"}),d.push({back:"#8aa249",front:"white"}),d.push({back:"#8BC34A",front:"black"}),d.push({back:"#388E3C",front:"white"}),d.push({back:"#4CAF50",front:"white"}),d.push({back:"#212121",front:"white"}),d.push({back:"#727272",front:"white"}),d.push({back:"#B6B6B6",front:"black"}),d.push({back:"#e5f0a3",front:"black"}),d.push({back:"#6c4313",front:"white"}),d.push({back:"#9d8564",front:"white"}),this.getColour=function(g){return void 0===b[g]&&(b[g]=d[f],void 0===c[d[f].back]&&(c[d[f].back]={front:d[f].front,list:[]}),c[d[f].back].list.push(g),f++,f===d.length&&(f=0)),void 0!==a&&a(e.getList()),b[g].back},this.getCommunityColour=function(){return"#333333"},this.getForegroundColour=function(g){return void 0===b[g]&&(b[g]=d[f],void 0===c[d[f].back]&&(c[d[f].back]={front:d[f].front,list:[]}),c[d[f].back].list.push(g),f++,f===d.length&&(f=0)),void 0!==a&&a(e.getList()),b[g].front},this.getForegroundCommunityColour=function(){return"white"},this.reset=function(){b={},c={},f=0,void 0!==a&&a(e.getList())},this.getList=function(){return c},this.setChangeListener=function(b){a=b},this.reset()}function CommunityNode(a,b){"use strict";if(_.isUndefined(a)||!_.isFunction(a.dissolveCommunity)||!_.isFunction(a.checkNodeLimit))throw"A parent element has to be given.";b=b||[];var c,d,e,f,g,h=this,i={},j=[],k=[],l={},m={},n={},o={},p=function(a){return h._expanded?2*a*Math.sqrt(j.length):a},q=function(a){return h._expanded?4*a*Math.sqrt(j.length):a},r=function(a){var b=h.position,c=a.x*b.z+b.x,d=a.y*b.z+b.y,e=a.z*b.z;return{x:c,y:d,z:e}},s=function(a){return h._expanded?r(a._source.position):h.position},t=function(a){return h._expanded?r(a._target.position):h.position},u=function(){var a=document.getElementById(h._id).getBBox();c.attr("transform","translate("+(a.x-5)+","+(a.y-25)+")"),d.attr("width",a.width+10).attr("height",a.height+30),e.attr("width",a.width+10)},v=function(){if(!f){var a=new DomObserverFactory;f=a.createObserver(function(a){_.any(a,function(a){return"transform"===a.attributeName})&&(u(),f.disconnect())})}return f},w=function(){g.stop(),j.length=0,_.each(i,function(a){j.push(a)}),g.start()},x=function(){g.stop(),k.length=0,_.each(l,function(a){k.push(a)}),g.start()},y=function(a){var b=[];return _.each(a,function(a){b.push(a)}),b},z=function(a){return!!i[a]},A=function(){return j},B=function(a){return i[a]},C=function(a){i[a._id]=a,w(),h._size++},D=function(a){_.each(a,function(a){i[a._id]=a,h._size++}),w()},E=function(a){var b=a._id||a;delete i[b],w(),h._size--},F=function(a){var b;return _.has(a,"_id")?b=a._id:(b=a,a=l[b]||m[b]),a.target=a._target,delete a._target,l[b]?(delete l[b],h._outboundCounter++,n[b]=a,void x()):(delete m[b],void h._inboundCounter--)},G=function(a){var b;return _.has(a,"_id")?b=a._id:(b=a,a=l[b]||n[b]),a.source=a._source,delete a._source,delete o[a.source._id][b],l[b]?(delete l[b],h._inboundCounter++,m[b]=a,void x()):(delete n[b],void h._outboundCounter--)},H=function(a){var b=a._id||a,c=[];return _.each(o[b],function(a){G(a),c.push(a)}),delete o[b],c},I=function(a){return a._target=a.target,a.target=h,n[a._id]?(delete n[a._id],h._outboundCounter--,l[a._id]=a,x(),!0):(m[a._id]=a,h._inboundCounter++,!1)},J=function(a){var b=a.source._id;return a._source=a.source,a.source=h,o[b]=o[b]||{},o[b][a._id]=a,m[a._id]?(delete m[a._id],h._inboundCounter--,l[a._id]=a,x(),!0):(h._outboundCounter++,n[a._id]=a,!1)},K=function(){return{nodes:j,edges:{both:k,inbound:y(m),outbound:y(n)}}},L=function(){this._expanded=!0},M=function(){a.dissolveCommunity(h)},N=function(){this._expanded=!1},O=function(a,b){var c=a.select("rect").attr("width"),d=a.append("text").attr("text-anchor","middle").attr("fill",b.getForegroundCommunityColour()).attr("stroke","none");c*=2,c/=3,h._reason&&h._reason.key&&(d.append("tspan").attr("x","0").attr("dy","-4").text(h._reason.key+":"),d.append("tspan").attr("x","0").attr("dy","16").text(h._reason.value)),d.append("tspan").attr("x",c).attr("y","0").attr("fill",b.getCommunityColour()).text(h._size)},P=function(b,c,d,e){var f=b.append("g").attr("stroke",e.getForegroundCommunityColour()).attr("fill",e.getCommunityColour());c(f,9),c(f,6),c(f,3),c(f),f.on("click",function(){h.expand(),a.checkNodeLimit(h),d()}),O(f,e)},Q=function(a,b){var c=a.selectAll(".node").data(j,function(a){return a._id});c.enter().append("g").attr("class","node").attr("id",function(a){return a._id}),c.exit().remove(),c.selectAll("* > *").remove(),b(c)},R=function(a,b){c=a.append("g"),d=c.append("rect").attr("rx","8").attr("ry","8").attr("fill","none").attr("stroke","black"),e=c.append("rect").attr("rx","8").attr("ry","8").attr("height","20").attr("fill","#686766").attr("stroke","none"),c.append("image").attr("id",h._id+"_dissolve").attr("xlink:href","img/icon_delete.png").attr("width","16").attr("height","16").attr("x","5").attr("y","2").attr("style","cursor:pointer").on("click",function(){h.dissolve(),b()}),c.append("image").attr("id",h._id+"_collapse").attr("xlink:href","img/gv_collapse.png").attr("width","16").attr("height","16").attr("x","25").attr("y","2").attr("style","cursor:pointer").on("click",function(){h.collapse(),b()});var f=c.append("text").attr("x","45").attr("y","15").attr("fill","white").attr("stroke","none").attr("text-anchor","left");h._reason&&f.text(h._reason.text),v().observe(document.getElementById(h._id),{subtree:!0,attributes:!0})},S=function(a){if(h._expanded){var b=a.focus(),c=[b[0]-h.position.x,b[1]-h.position.y];a.focus(c),_.each(j,function(b){b.position=a(b),b.position.x/=h.position.z,b.position.y/=h.position.z,b.position.z/=h.position.z}),a.focus(b)}},T=function(a,b,c,d,e){return a.on("click",null),h._expanded?(R(a,d),void Q(a,c,d,e)):void P(a,b,d,e)},U=function(a,b,c){if(h._expanded){var d=a.selectAll(".link"),e=d.select("line");b(e,d),c(d)}},V=function(a,b){var c,d,e=function(a){return a._id};h._expanded&&(d=a.selectAll(".link").data(k,e),d.enter().append("g").attr("class","link").attr("id",e),d.exit().remove(),d.selectAll("* > *").remove(),c=d.append("line"),b(c,d))},W=function(a){H(a)};g=new ForceLayouter({distance:100,gravity:.1,charge:-500,width:1,height:1,nodes:j,links:k}),this._id="*community_"+Math.floor(1e6*Math.random()),b.length>0?(this.x=b[0].x,this.y=b[0].y):(this.x=0,this.y=0),this._size=0,this._inboundCounter=0,this._outboundCounter=0,this._expanded=!1,this._isCommunity=!0,D(b),this.hasNode=z,this.getNodes=A,this.getNode=B,this.getDistance=p,this.getCharge=q,this.insertNode=C,this.insertInboundEdge=I,this.insertOutboundEdge=J,this.removeNode=E,this.removeInboundEdge=F,this.removeOutboundEdge=G,this.removeOutboundEdgesFromNode=H,this.collapseNode=W,this.dissolve=M,this.getDissolveInfo=K,this.collapse=N,this.expand=L,this.shapeNodes=T,this.shapeInnerEdges=V,this.updateInnerEdges=U,this.addDistortion=S,this.getSourcePosition=s,this.getTargetPosition=t}function DomObserverFactory(){"use strict";var a=window.WebKitMutationObserver||window.MutationObserver;this.createObserver=function(b){if(!a)throw"Observer not supported";return new a(b)}}function EdgeShaper(a,b,c){"use strict";var d,e,f,g=this,h=[],i={},j=new ContextMenu("gv_edge_cm"),k=function(a,b){return _.isArray(a)?b[_.find(a,function(a){return b[a]})]:b[a]},l=function(a){if(void 0===a)return[""];"string"!=typeof a&&(a=String(a));var b=a.match(/[\w\W]{1,10}(\s|$)|\S+?(\s|$)/g);return b[0]=$.trim(b[0]),b[1]=$.trim(b[1]),b[0].length>12&&(b[0]=$.trim(a.substring(0,10))+"-",b[1]=$.trim(a.substring(10)),b[1].length>12&&(b[1]=b[1].split(/\W/)[0],b[1].length>12&&(b[1]=b[1].substring(0,10)+"...")),b.length=2),b.length>2&&(b.length=2,b[1]+="..."),b},m=!0,n={},o=function(a){return a._id},p=function(a,b){},q=new ColourMapper,r=function(){q.reset()},s=p,t=p,u=p,v=p,w=function(){f={click:p,dblclick:p,mousedown:p,mouseup:p,mousemove:p,mouseout:p,mouseover:p}},x=function(a,b){return 180*Math.atan2(b.y-a.y,b.x-a.x)/Math.PI},y=function(a,b){var c,d=Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x));return a.x===b.x?d-=18*b.z:(c=Math.abs((b.y-a.y)/(b.x-a.x)),d-=.4>c?Math.abs(d*b.z*45/(b.x-a.x)):Math.abs(d*b.z*18/(b.y-a.y))),d},z=function(a,b){_.each(f,function(a,c){b.on(c,a)})},A=function(a,b){if("update"===a)s=b;else{if(void 0===f[a])throw"Sorry Unknown Event "+a+" cannot be bound.";f[a]=b}},B=function(a){var b,c,d,e;return d=a.source,e=a.target,d._isCommunity?(i[d._id]=d,b=d.getSourcePosition(a)):b=d.position,e._isCommunity?(i[e._id]=e,c=e.getTargetPosition(a)):c=e.position,{s:b,t:c}},C=function(a,b){i={},b.attr("transform",function(a){var b=B(a);return"translate("+b.s.x+", "+b.s.y+")rotate("+x(b.s,b.t)+")"}),a.attr("x2",function(a){var b=B(a);return y(b.s,b.t)})},D=function(a,b){t(a,b),m&&u(a,b),v(a,b),z(a,b),C(a,b)},E=function(a){void 0!==a&&(h=a);var b,c=g.parent.selectAll(".link").data(h,o);c.enter().append("g").attr("class","link").attr("id",o),c.exit().remove(),c.selectAll("* > *").remove(),b=c.append("line"),D(b,c),_.each(i,function(a){a.shapeInnerEdges(d3.select(this),D)}),j.bindMenu($(".link"))},F=function(){var a=g.parent.selectAll(".link"),b=a.select("line");C(b,a),s(a),_.each(i,function(a){a.updateInnerEdges(d3.select(this),C,s)})},G=function(a){switch($("svg defs marker#arrow").remove(),a.type){case EdgeShaper.shapes.NONE:t=p;break;case EdgeShaper.shapes.ARROW:t=function(a,b){a.attr("marker-end","url(#arrow)")},0===d.selectAll("defs")[0].length&&d.append("defs"),d.select("defs").append("marker").attr("id","arrow").attr("refX","10").attr("refY","5").attr("markerUnits","strokeWidth").attr("markerHeight","10").attr("markerWidth","10").attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z");break;default:throw"Sorry given Shape not known!"}},H=function(a){u=_.isFunction(a)?function(b,c){c.append("text").attr("text-anchor","middle").text(a)}:function(b,c){c.append("text").attr("text-anchor","middle").text(function(b){var c=l(k(a,b._data));return c[0]||""})},s=function(a){a.select("text").attr("transform",function(a){var b=B(a);return"translate("+y(b.s,b.t)/2+", -3)"})}},I=function(a){void 0!==a.reset&&a.reset&&w(),_.each(a,function(a,b){"reset"!==b&&A(b,a)})},J=function(a){switch($("svg defs #gradientEdgeColor").remove(),r(),a.type){case"single":v=function(b,c){b.attr("stroke",a.stroke)};break;case"gradient":0===d.selectAll("defs")[0].length&&d.append("defs");var b=d.select("defs").append("linearGradient").attr("id","gradientEdgeColor");b.append("stop").attr("offset","0").attr("stop-color",a.source),b.append("stop").attr("offset","0.4").attr("stop-color",a.source),b.append("stop").attr("offset","0.6").attr("stop-color",a.target),b.append("stop").attr("offset","1").attr("stop-color",a.target),v=function(a,b){a.attr("stroke","url(#gradientEdgeColor)"),a.attr("y2","0.0000000000000001")};break;case"attribute":v=function(b,c){c.attr("stroke",function(b){return q.getColour(b._data[a.key])})};break;default:throw"Sorry given colour-scheme not known"}},K=function(a){void 0!==a.shape&&G(a.shape),void 0!==a.label&&(H(a.label),g.label=a.label),void 0!==a.actions&&I(a.actions),void 0!==a.color&&J(a.color)};for(g.parent=a,w(),d=a;d[0][0]&&d[0][0].ownerSVGElement;)d=d3.select(d[0][0].ownerSVGElement);void 0===b&&(b={color:{type:"single",stroke:"#686766"}}),void 0===b.color&&(b.color={type:"single",stroke:"#686766"}),K(b),_.isFunction(c)&&(o=c),e=d.append("g"),g.changeTo=function(a){K(a),E(),F()},g.drawEdges=function(a){E(a),F()},g.updateEdges=function(){F()},g.reshapeEdges=function(){E()},g.activateLabel=function(a){m=a?!0:!1,E()},g.addAnEdgeFollowingTheCursor=function(a,b){return n=e.append("line"),n.attr("stroke","black").attr("id","connectionLine").attr("x1",a).attr("y1",b).attr("x2",a).attr("y2",b),function(a,b){n.attr("x2",a).attr("y2",b)}},g.removeCursorFollowingEdge=function(){n.remove&&(n.remove(),n={})},g.addMenuEntry=function(a,b){j.addEntry(a,b)},g.getLabel=function(){return g.label||""},g.resetColourMap=r}function EventDispatcher(a,b,c){"use strict";var d,e,f,g,h=this,i=function(b){if(void 0===b.shaper&&(b.shaper=a),d.checkNodeEditorConfig(b)){var c=new d.InsertNode(b),e=new d.PatchNode(b),f=new d.DeleteNode(b);h.events.CREATENODE=function(a,b,d,e){var f;return f=_.isFunction(a)?a():a,function(){c(f,b,d,e)}},h.events.PATCHNODE=function(a,b,c){if(!_.isFunction(b))throw"Please give a function to extract the new node data";return function(){e(a,b(),c)}},h.events.DELETENODE=function(a){return function(b){f(b,a)}}}},j=function(a){if(void 0===a.shaper&&(a.shaper=b),d.checkEdgeEditorConfig(a)){var c=new d.InsertEdge(a),e=new d.PatchEdge(a),f=new d.DeleteEdge(a),g=null,i=!1;h.events.STARTCREATEEDGE=function(a){return function(b){var c=d3.event||window.event;g=b,i=!1,void 0!==a&&a(b,c),c.stopPropagation()}},h.events.CANCELCREATEEDGE=function(a){return function(){g=null,void 0===a||i||a()}},h.events.FINISHCREATEEDGE=function(a){return function(b){null!==g&&b!==g&&(c(g,b,a),i=!0)}},h.events.PATCHEDGE=function(a,b,c){if(!_.isFunction(b))throw"Please give a function to extract the new node data";return function(){e(a,b(),c)}},h.events.DELETEEDGE=function(a){return function(b){f(b,a)}}}},k=function(){g=g||$("svg"),g.unbind(),_.each(e,function(a,b){g.bind(b,function(c){_.each(a,function(a){a(c)}),f[b]&&f[b](c)})})};if(void 0===a)throw"NodeShaper has to be given.";if(void 0===b)throw"EdgeShaper has to be given.";d=new EventLibrary,e={click:[],dblclick:[],mousedown:[],mouseup:[],mousemove:[],mouseout:[],mouseover:[]},f={},h.events={},void 0!==c&&(void 0!==c.expand&&d.checkExpandConfig(c.expand)&&(h.events.EXPAND=new d.Expand(c.expand),a.setGVStartFunction(function(){c.expand.reshapeNodes(),c.expand.startCallback()})),void 0!==c.drag&&d.checkDragConfig(c.drag)&&(h.events.DRAG=d.Drag(c.drag)),void 0!==c.nodeEditor&&i(c.nodeEditor),void 0!==c.edgeEditor&&j(c.edgeEditor)),Object.freeze(h.events),h.bind=function(c,d,e){if(void 0===e||!_.isFunction(e))throw"You have to give a function that should be bound as a third argument";var g={};switch(c){case"nodes":g[d]=e,a.changeTo({actions:g});break;case"edges":g[d]=e,b.changeTo({actions:g});break;case"svg":f[d]=e,k();break;default:if(void 0===c.bind)throw'Sorry cannot bind to object. Please give either "nodes", "edges" or a jQuery-selected DOM-Element';c.unbind(d),c.bind(d,e)}},h.rebind=function(c,d){switch(d=d||{},d.reset=!0,c){case"nodes":a.changeTo({actions:d});break;case"edges":b.changeTo({actions:d});break;case"svg":f={},_.each(d,function(a,b){"reset"!==b&&(f[b]=a)}),k();break;default:throw'Sorry cannot rebind to object. Please give either "nodes", "edges" or "svg"'}},h.fixSVG=function(a,b){if(void 0===e[a])throw"Sorry unkown event";e[a].push(b),k()},Object.freeze(h.events)}function EventLibrary(){"use strict";var a=this;this.checkExpandConfig=function(a){if(void 0===a.startCallback)throw"A callback to the Start-method has to be defined";if(void 0===a.adapter||void 0===a.adapter.explore)throw"An adapter to load data has to be defined";if(void 0===a.reshapeNodes)throw"A callback to reshape nodes has to be defined";return!0},this.Expand=function(b){a.checkExpandConfig(b);var c=b.startCallback,d=b.adapter.explore,e=b.reshapeNodes;return function(a){d(a,c),e(),c()}},this.checkDragConfig=function(a){if(void 0===a.layouter)throw"A layouter has to be defined";if(void 0===a.layouter.drag||!_.isFunction(a.layouter.drag))throw"The layouter has to offer a drag function";return!0},this.Drag=function(b){return a.checkDragConfig(b),b.layouter.drag},this.checkNodeEditorConfig=function(a){if(void 0===a.adapter)throw"An adapter has to be defined";if(void 0===a.shaper)throw"A node shaper has to be defined";return!0},this.checkEdgeEditorConfig=function(a){if(void 0===a.adapter)throw"An adapter has to be defined";if(void 0===a.shaper)throw"An edge Shaper has to be defined";return!0},this.InsertNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e,f){var g,h;_.isFunction(a)&&!b?(g=a,h={}):(g=b,h=a),c.createNode(h,function(a){d.reshapeNodes(),g(a)},e,f)}},this.PatchNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.patchNode(a,b,function(a){d.reshapeNodes(),e(a)})}},this.DeleteNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b){c.deleteNode(a,function(){d.reshapeNodes(),b()})}},this.SelectNodeCollection=function(b){a.checkNodeEditorConfig(b);var c=b.adapter;if(!_.isFunction(c.useNodeCollection))throw"The adapter has to support collection changes";return function(a,b){c.useNodeCollection(a),b()}},this.InsertEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.createEdge({source:a,target:b},function(a){d.reshapeEdges(),e(a)})}},this.PatchEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.patchEdge(a,b,function(a){d.reshapeEdges(),e(a)})}},this.DeleteEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b){c.deleteEdge(a,function(){d.reshapeEdges(),b()})}}}function ForceLayouter(a){"use strict";var b=this,c=d3.layout.force(),d=a.charge||-600,e=a.distance||80,f=a.gravity||.01,g=function(a){ +var b=0;return b+=a.source._isCommunity?a.source.getDistance(e):e,b+=a.target._isCommunity?a.target.getDistance(e):e},h=function(a){return a._isCommunity?a.getCharge(d):d},i=a.onUpdate||function(){},j=a.width||880,k=a.height||680,l=function(a){a.distance&&(e=a.distance),a.gravity&&c.gravity(a.gravity),a.charge&&(d=a.charge)};if(void 0===a.nodes)throw"No nodes defined";if(void 0===a.links)throw"No links defined";c.nodes(a.nodes),c.links(a.links),c.size([j,k]),c.linkDistance(g),c.gravity(f),c.charge(h),c.on("tick",function(){}),b.start=function(){c.start()},b.stop=function(){c.stop()},b.drag=c.drag,b.setCombinedUpdateFunction=function(a,d,e){void 0!==e?(i=function(){c.alpha()<.1&&(a.updateNodes(),d.updateEdges(),e(),c.alpha()<.05&&b.stop())},c.on("tick",i)):(i=function(){c.alpha()<.1&&(a.updateNodes(),d.updateEdges(),c.alpha()<.05&&b.stop())},c.on("tick",i))},b.changeTo=function(a){l(a)},b.changeWidth=function(a){j=a,c.size([j,k])}}function FoxxAdapter(a,b,c,d,e){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"The route has to be given.";if(void 0===d)throw"A reference to the graph viewer has to be given.";e=e||{};var f,g=this,h={},i={},j=c,k={cache:!1,contentType:"application/json",dataType:"json",processData:!1,error:function(a){try{throw console.log(a.statusText),"["+a.errorNum+"] "+a.errorMessage}catch(b){throw console.log(b),"Undefined ERROR"}}},l=function(){i.query={get:function(a,b){var c=$.extend(k,{type:"GET",url:j+"/query/"+a,success:b});$.ajax(c)}},i.nodes={post:function(a,b){var c=$.extend(k,{type:"POST",url:j+"/nodes",data:JSON.stringify(a),success:b});$.ajax(c)},put:function(a,b,c){var d=$.extend(k,{type:"PUT",url:j+"/nodes/"+a,data:JSON.stringify(b),success:c});$.ajax(d)},del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/nodes/"+a,success:b});$.ajax(c)}},i.edges={post:function(a,b){var c=$.extend(k,{type:"POST",url:j+"/edges",data:JSON.stringify(a),success:b});$.ajax(c)},put:function(a,b,c){var d=$.extend(k,{type:"PUT",url:j+"/edges/"+a,data:JSON.stringify(b),success:c});$.ajax(d)},del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/edges/"+a,success:b});$.ajax(c)}},i.forNode={del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/edges/forNode/"+a,success:b});$.ajax(c)}}},m=function(a,b,c){i[a].get(b,c)},n=function(a,b,c){i[a].post(b,c)},o=function(a,b,c){i[a].del(b,c)},p=function(a,b,c,d){i[a].put(b,c,d)},q=function(a){void 0!==a.width&&f.setWidth(a.width),void 0!==a.height&&f.setHeight(a.height)},r=function(b,c){var d={},e=b.first,g=a.length;e=f.insertNode(e),_.each(b.nodes,function(b){b=f.insertNode(b),g=l.TOTAL_NODES?$(".infoField").hide():$(".infoField").show());var e=t(l.NODES_TO_DISPLAY,d[c]);if(e.length>0){return _.each(e,function(a){l.randomNodes.push(a)}),void l.loadInitialNode(e[0]._id,a)}}a({errorCode:404})},l.loadInitialNode=function(a,b){e.cleanUp(),l.loadNode(a,v(b))},l.getRandomNodes=function(){var a=[],b=[];l.definedNodes.length>0&&_.each(l.definedNodes,function(a){b.push(a)}),l.randomNodes.length>0&&_.each(l.randomNodes,function(a){b.push(a)});var c=0;return _.each(b,function(b){c0?_.each(d,function(a){s(o.traversal,{example:a.vertex._id},function(a){_.each(a[0][0],function(a){c[0][0].push(a)}),u(c,b)})}):s(o.traversal,{example:a},function(a){u(a,b)})})},l.loadNodeFromTreeByAttributeValue=function(a,b,c){var d={};d[a]=b,s(o.traversal,{example:d},function(a){u(a,c)})},l.getNodeExampleFromTreeByAttributeValue=function(a,b,c){var d={};d[a]=b,s(o.traversal,{example:d},function(d){if(void 0===d[0][0])throw arangoHelper.arangoError("Graph error","no nodes found"),"No suitable nodes have been found.";_.each(d[0][0],function(d){if(d.vertex[a]===b){var f={};f._key=d.vertex._key,f._id=d.vertex._id,f._rev=d.vertex._rev,e.insertNode(f),c(f)}})})},l.loadAdditionalNodeByAttributeValue=function(a,b,c){l.getNodeExampleFromTreeByAttributeValue(a,b,c)},l.loadInitialNodeByAttributeValue=function(a,b,c){e.cleanUp(),l.loadNodeFromTreeByAttributeValue(a,b,v(c))},l.requestCentralityChildren=function(a,b){s(o.childrenCentrality,{id:a},function(a){b(a[0])})},l.createEdge=function(a,b){var c={};c._from=a.source._id,c._to=a.target._id,$.ajax({cache:!1,type:"POST",url:n.edges+i,data:JSON.stringify(c),dataType:"json",contentType:"application/json",processData:!1,success:function(a){if(a.error===!1){var d,f=a.edge;f._from=c._from,f._to=c._to,d=e.insertEdge(f),b(d)}},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.deleteEdge=function(a,b){$.ajax({cache:!1,type:"DELETE",url:n.edges+a._id,contentType:"application/json",dataType:"json",processData:!1,success:function(){e.removeEdge(a),void 0!==b&&_.isFunction(b)&&b()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.patchEdge=function(a,b,c){$.ajax({cache:!1,type:"PUT",url:n.edges+a._id,data:JSON.stringify(b),dataType:"json",contentType:"application/json",processData:!1,success:function(){a._data=$.extend(a._data,b),c()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.createNode=function(a,b){$.ajax({cache:!1,type:"POST",url:n.vertices+g,data:JSON.stringify(a),dataType:"json",contentType:"application/json",processData:!1,success:function(c){c.error===!1&&(a._key=c.vertex._key,a._id=c.vertex._id,a._rev=c.vertex._rev,e.insertNode(a),b(a))},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.deleteNode=function(a,b){$.ajax({cache:!1,type:"DELETE",url:n.vertices+a._id,dataType:"json",contentType:"application/json",processData:!1,success:function(){e.removeEdgesForNode(a),e.removeNode(a),void 0!==b&&_.isFunction(b)&&b()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.patchNode=function(a,b,c){$.ajax({cache:!1,type:"PUT",url:n.vertices+a._id,data:JSON.stringify(b),dataType:"json",contentType:"application/json",processData:!1,success:function(){a._data=$.extend(a._data,b),c(a)},error:function(a){throw a.statusText}})},l.changeToGraph=function(a,b){e.cleanUp(),q(a),void 0!==b&&(k=b===!0?"any":"outbound")},l.setNodeLimit=function(a,b){e.setNodeLimit(a,b)},l.setChildLimit=function(a){e.setChildLimit(a)},l.expandCommunity=function(a,b){e.expandCommunity(a),void 0!==b&&b()},l.getGraphs=function(a){a&&a.length>=1&&s(o.getAllGraphs,{},a)},l.getAttributeExamples=function(a){if(a&&a.length>=1){var b,c=[],d=_.shuffle(l.getNodeCollections());for(b=0;b0&&(c=c.concat(_.flatten(_.map(e,function(a){return _.keys(a)}))))}var c=_.sortBy(_.uniq(c),function(a){return a.toLowerCase()});a(c)}},l.getEdgeCollections=function(){return h},l.getSelectedEdgeCollection=function(){return i},l.useEdgeCollection=function(a){if(!_.contains(h,a))throw"Collection "+a+" is not available in the graph.";i=a},l.getNodeCollections=function(){return f},l.getSelectedNodeCollection=function(){return g},l.useNodeCollection=function(a){if(!_.contains(f,a))throw"Collection "+a+" is not available in the graph.";g=a},l.getDirection=function(){return k},l.getGraphName=function(){return j},l.setWidth=e.setWidth,l.changeTo=e.changeTo,l.getPrioList=e.getPrioList}function ModularityJoiner(){"use strict";var a={},b=Array.prototype.forEach,c=Object.keys,d=Array.isArray,e=Object.prototype.toString,f=Array.prototype.indexOf,g=Array.prototype.map,h=Array.prototype.some,i={isArray:d||function(a){return"[object Array]"===e.call(a)},isFunction:function(a){return"function"==typeof a},isString:function(a){return"[object String]"===e.call(a)},each:function(c,d,e){if(null!==c&&void 0!==c){var f,g,h;if(b&&c.forEach===b)c.forEach(d,e);else if(c.length===+c.length){for(f=0,g=c.length;g>f;f++)if(d.call(e,c[f],f,c)===a)return}else for(h in c)if(c.hasOwnProperty(h)&&d.call(e,c[h],h,c)===a)return}},keys:c||function(a){if("object"!=typeof a||Array.isArray(a))throw new TypeError("Invalid object");var b,c=[];for(b in a)a.hasOwnProperty(b)&&(c[c.length]=b);return c},min:function(a,b,c){if(!b&&i.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&i.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return i.each(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gc&&(c=a,b=d)}),0>c?void delete q[a]:void(q[a]=b)},t=function(a,b){s(b)},u=function(a,b){return b>a?p[a]&&p[a][b]:p[b]&&p[b][a]},v=function(a,b){return b>a?p[a][b]:p[b][a]},w=function(a,b,c){return b>a?(p[a]=p[a]||{},void(p[a][b]=c)):(p[b]=p[b]||{},void(p[b][a]=c))},x=function(a,b){if(b>a){if(!p[a])return;return delete p[a][b],void(i.isEmpty(p[a])&&delete p[a])}a!==b&&x(b,a)},y=function(a,b){var c,d;return b>a?u(a,b)?(d=v(a,b),q[a]===b?void s(a):u(a,q[a])?(c=v(a,q[a]),void(d>c&&(q[a]=b))):void s(a)):void s(a):void(a!==b&&y(b,a))},z=function(a,b){o[a]._in+=o[b]._in,o[a]._out+=o[b]._out,delete o[b]},A=function(a,b){j[a]=j[a]||{},j[a][b]=(j[a][b]||0)+1,k[b]=k[b]||{},k[b][a]=(k[b][a]||0)+1,l[a]=l[a]||{_in:0,_out:0},l[b]=l[b]||{_in:0,_out:0},l[a]._out++,l[b]._in++,m++,n=Math.pow(m,-1)},B=function(a,b){j[a]&&(j[a][b]--,0===j[a][b]&&delete j[a][b],k[b][a]--,0===k[b][a]&&delete k[b][a],l[a]._out--,l[b]._in--,m--,n=m>0?Math.pow(m,-1):0,i.isEmpty(j[a])&&delete j[a],i.isEmpty(k[b])&&delete k[b],0===l[a]._in&&0===l[a]._out&&delete l[a],0===l[b]._in&&0===l[b]._out&&delete l[b])},C=function(){return o={},i.each(l,function(a,b){o[b]={_in:a._in/m,_out:a._out/m}}),o},D=function(a,b){return o[a]._out*o[b]._in+o[a]._in*o[b]._out},E=function(a){var b=i.keys(j[a]||{}),c=i.keys(k[a]||{});return i.union(b,c)},F=function(){p={},i.each(j,function(a,b){var c=k[b]||{},d=E(b);i.each(d,function(d){var e,f=a[d]||0;f+=c[d]||0,e=f*n-D(b,d),e>0&&w(b,d,e)})})},G=function(){return q={},i.each(p,t),q},H=function(a,b,c){var d;return u(c,a)?(d=v(c,a),u(c,b)?(d+=v(c,b),w(c,a,d),x(c,b),y(c,a),void y(c,b)):(d-=D(c,b),0>d&&x(c,a),void y(c,a))):void(u(c,b)&&(d=v(c,b),d-=D(c,a),d>0&&w(c,a,d),y(c,a),x(c,b),y(c,b)))},I=function(a,b){i.each(p,function(c,d){return d===a||d===b?void i.each(c,function(c,d){return d===b?(x(a,b),void y(a,b)):void H(a,b,d)}):void H(a,b,d)})},J=function(){return j},K=function(){return q},L=function(){return p},M=function(){return o},N=function(){return r},O=function(){var a,b,c=Number.NEGATIVE_INFINITY;return i.each(q,function(d,e){c=c?null:{sID:b,lID:a,val:c}},P=function(a){var b,c=Number.NEGATIVE_INFINITY;return i.each(a,function(a){a.q>c&&(c=a.q,b=a.nodes)}),b},Q=function(){C(),F(),G(),r={}},R=function(a){var b=a.sID,c=a.lID,d=a.val;r[b]=r[b]||{nodes:[b],q:0},r[c]?(r[b].nodes=r[b].nodes.concat(r[c].nodes),r[b].q+=r[c].q,delete r[c]):r[b].nodes.push(c),r[b].q+=d,I(b,c),z(b,c)},S=function(a,b,c){if(0===c.length)return!0;var d=[];return i.each(c,function(c){a[c]===Number.POSITIVE_INFINITY&&(a[c]=b,d=d.concat(E(c)))}),S(a,b+1,d)},T=function(a){var b={};if(i.each(j,function(a,c){b[c]=Number.POSITIVE_INFINITY}),b[a]=0,S(b,1,E(a)))return b;throw"FAIL!"},U=function(a){return function(b){return a[b]}},V=function(a,b){var c,d={},e=[],f={},g=function(a,b){var c=f[i.min(a,U(f))],e=f[i.min(b,U(f))],g=e-c;return 0===g&&(g=d[b[b.length-1]].q-d[a[a.length-1]].q),g};for(Q(),c=O();null!==c;)R(c),c=O();return d=N(),void 0!==b?(i.each(d,function(a,c){i.contains(a.nodes,b)&&delete d[c]}),e=i.pluck(i.values(d),"nodes"),f=T(b),e.sort(g),e[0]):P(d)};this.insertEdge=A,this.deleteEdge=B,this.getAdjacencyMatrix=J,this.getHeap=K,this.getDQ=L,this.getDegrees=M,this.getCommunities=N,this.getBest=O,this.setup=Q,this.joinCommunity=R,this.getCommunity=V}function NodeReducer(a){"use strict";a=a||[];var b=function(a,b){a.push(b)},c=function(a,b){if(!a.reason.example)return a.reason.example=b,1;var c=b._data||{},d=a.reason.example._data||{},e=_.union(_.keys(d),_.keys(c)),f=0,g=0;return _.each(e,function(a){void 0!==d[a]&&void 0!==c[a]&&(f++,d[a]===c[a]&&(f+=4))}),g=5*e.length,g++,f++,f/g},d=function(){return a},e=function(b){a=b},f=function(b,c){var d={},e=[];return _.each(b,function(b){var c,e,f=b._data,g=0;for(g=0;gd;d++){if(g[d]=g[d]||{reason:{type:"similar",text:"Similar Nodes"},nodes:[]},c(g[d],a)>h)return void b(g[d].nodes,a);i>g[d].nodes.length&&(f=d,i=g[d].nodes.length)}b(g[f].nodes,a)}),g):f(d,e)};this.bucketNodes=g,this.changePrioList=e,this.getPrioList=d}function NodeShaper(a,b,c){"use strict";var d,e,f=this,g=[],h=!0,i=new ContextMenu("gv_node_cm"),j=function(a,b){return _.isArray(a)?b[_.find(a,function(a){return b[a]})]:b[a]},k=function(a){if(void 0===a)return[""];"string"!=typeof a&&(a=String(a));var b=a.match(/[\w\W]{1,10}(\s|$)|\S+?(\s|$)/g);return b[0]=$.trim(b[0]),b[1]=$.trim(b[1]),b[0].length>12&&(b[0]=$.trim(a.substring(0,10)),b[1]=$.trim(a.substring(10)),b[1].length>12&&(b[1]=b[1].split(/\W/)[0],b[1].length>2&&(b[1]=b[1].substring(0,5)+"...")),b.length=2),b.length>2&&(b.length=2,b[1]+="..."),b},l=function(a){},m=l,n=function(a){return{x:a.x,y:a.y,z:1}},o=n,p=function(){_.each(g,function(a){a.position=o(a),a._isCommunity&&a.addDistortion(o)})},q=new ColourMapper,r=function(){q.reset()},s=function(a){return a._id},t=l,u=l,v=l,w=function(){return"black"},x=function(){f.parent.selectAll(".node").on("mousedown.drag",null),d={click:l,dblclick:l,drag:l,mousedown:l,mouseup:l,mousemove:l,mouseout:l,mouseover:l},e=l},y=function(a){_.each(d,function(b,c){"drag"===c?a.call(b):a.on(c,b)})},z=function(a){var b=a.filter(function(a){return a._isCommunity}),c=a.filter(function(a){return!a._isCommunity});u(c),b.each(function(a){a.shapeNodes(d3.select(this),u,z,m,q)}),h&&v(c),t(c),y(c),p()},A=function(a,b){if("update"===a)e=b;else{if(void 0===d[a])throw"Sorry Unknown Event "+a+" cannot be bound.";d[a]=b}},B=function(){var a=f.parent.selectAll(".node");p(),a.attr("transform",function(a){return"translate("+a.position.x+","+a.position.y+")scale("+a.position.z+")"}),e(a)},C=function(a){void 0!==a&&(g=a);var b=f.parent.selectAll(".node").data(g,s);b.enter().append("g").attr("class",function(a){return a._isCommunity?"node communitynode":"node"}).attr("id",s),b.exit().remove(),b.selectAll("* > *").remove(),z(b),B(),i.bindMenu($(".node"))},D=function(a){var b,c,d,e,f,g,h;switch(a.type){case NodeShaper.shapes.NONE:u=l;break;case NodeShaper.shapes.CIRCLE:b=a.radius||25,u=function(a,c){a.append("circle").attr("r",b),c&&a.attr("cx",-c).attr("cy",-c)};break;case NodeShaper.shapes.RECT:c=a.width||90,d=a.height||36,e=_.isFunction(c)?function(a){return-(c(a)/2)}:function(a){return-(c/2)},f=_.isFunction(d)?function(a){return-(d(a)/2)}:function(){return-(d/2)},u=function(a,b){b=b||0,a.append("rect").attr("width",c).attr("height",d).attr("x",function(a){return e(a)-b}).attr("y",function(a){return f(a)-b}).attr("rx","8").attr("ry","8")};break;case NodeShaper.shapes.IMAGE:c=a.width||32,d=a.height||32,g=a.fallback||"",h=a.source||g,e=_.isFunction(c)?function(a){return-(c(a)/2)}:-(c/2),f=_.isFunction(d)?function(a){return-(d(a)/2)}:-(d/2),u=function(a){var b=a.append("image").attr("width",c).attr("height",d).attr("x",e).attr("y",f);_.isFunction(h)?b.attr("xlink:href",h):b.attr("xlink:href",function(a){return a._data[h]?a._data[h]:g})};break;case void 0:break;default:throw"Sorry given Shape not known!"}},E=function(a){var b=[];_.each(a,function(a){b=$(a).find("text"),$(a).css("width","90px"),$(a).css("height","36px"),$(a).textfill({innerTag:"text",maxFontPixels:16,minFontPixels:10,explicitWidth:90,explicitHeight:36})})},F=function(a){v=_.isFunction(a)?function(b){var c=b.append("text").attr("text-anchor","middle").attr("fill",w).attr("stroke","none");c.each(function(b){var c=k(a(b)),d=c[0];2===c.length&&(d+=c[1]),d.length>15&&(d=d.substring(0,13)+"..."),(void 0===d||""===d)&&(d="ATTR NOT SET"),d3.select(this).append("tspan").attr("x","0").attr("dy","5").text(d)}),E(b)}:function(b){var c=b.append("text").attr("text-anchor","middle").attr("fill",w).attr("stroke","none");c.each(function(b){var c=k(j(a,b._data)),d=c[0];2===c.length&&(d+=c[1]),d.length>15&&(d=d.substring(0,13)+"..."),(void 0===d||""===d)&&(d="ATTR NOT SET"),d3.select(this).append("tspan").attr("x","0").attr("dy","5").text(d)}),E(b)}},G=function(a){void 0!==a.reset&&a.reset&&x(),_.each(a,function(a,b){"reset"!==b&&A(b,a)})},H=function(a){switch(r(),a.type){case"single":t=function(b){b.attr("fill",a.fill)},w=function(b){return a.stroke};break;case"expand":t=function(b){b.attr("fill",function(b){return b._expanded?a.expanded:a.collapsed})},w=function(a){return"white"};break;case"attribute":t=function(b){b.attr("fill",function(b){return void 0===b._data?q.getCommunityColour():q.getColour(j(a.key,b._data))}).attr("stroke",function(a){return a._expanded?"#fff":"transparent"}).attr("fill-opacity",function(a){return a._expanded?"1":"0.3"})},w=function(b){return void 0===b._data?q.getForegroundCommunityColour():q.getForegroundColour(j(a.key,b._data))};break;default:throw"Sorry given colour-scheme not known"}},I=function(a){if("reset"===a)o=n;else{if(!_.isFunction(a))throw"Sorry distortion cannot be parsed.";o=a}},J=function(a){void 0!==a.shape&&D(a.shape),void 0!==a.label&&(F(a.label),f.label=a.label),void 0!==a.actions&&G(a.actions),void 0!==a.color&&(H(a.color),f.color=a.color),void 0!==a.distortion&&I(a.distortion)};f.parent=a,x(),void 0===b&&(b={}),void 0===b.shape&&(b.shape={type:NodeShaper.shapes.RECT}),void 0===b.color&&(b.color={type:"single",fill:"#333333",stroke:"white"}),void 0===b.distortion&&(b.distortion="reset"),J(b),_.isFunction(c)&&(s=c),f.changeTo=function(a){J(a),C()},f.drawNodes=function(a){C(a)},f.updateNodes=function(){B()},f.reshapeNodes=function(){C()},f.activateLabel=function(a){h=a?!0:!1,C()},f.getColourMapping=function(){return q.getList()},f.setColourMappingListener=function(a){q.setChangeListener(a)},f.setGVStartFunction=function(a){m=a},f.getLabel=function(){return f.label||""},f.getColor=function(){return f.color.key||""},f.addMenuEntry=function(a,b){i.addEntry(a,b)},f.resetColourMap=r}function PreviewAdapter(a,b,c,d){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"A reference to the graph viewer has to be given.";var e=this,f=new AbstractAdapter(a,b,this,c),g=function(a){void 0!==a.width&&f.setWidth(a.width),void 0!==a.height&&f.setHeight(a.height)},h=function(a,b){var c={},d=a.first;d=f.insertNode(d),_.each(a.nodes,function(a){a=f.insertNode(a),c[a._id]=a}),_.each(a.edges,function(a){f.insertEdge(a)}),delete c[d._id],void 0!==b&&_.isFunction(b)&&b(d)};d=d||{},g(d),e.loadInitialNode=function(a,b){f.cleanUp();var c=function(a){b(f.insertInitialNode(a))};e.loadNode(a,c)},e.loadNode=function(a,b){var c=[],d=[],e={},f={_id:1,label:"Node 1",image:"img/stored.png"},g={_id:2,label:"Node 2"},i={_id:3,label:"Node 3"},j={_id:4,label:"Node 4"},k={_id:5,label:"Node 5"},l={_id:"1-2",_from:1,_to:2,label:"Edge 1"},m={_id:"1-3",_from:1,_to:3,label:"Edge 2"},n={_id:"1-4",_from:1,_to:4,label:"Edge 3"},o={_id:"1-5",_from:1,_to:5,label:"Edge 4"},p={_id:"2-3",_from:2,_to:3,label:"Edge 5"};c.push(f),c.push(g),c.push(i),c.push(j),c.push(k),d.push(l),d.push(m),d.push(n),d.push(o),d.push(p),e.first=f,e.nodes=c,e.edges=d,h(e,b)},e.explore=f.explore,e.requestCentralityChildren=function(a,b){},e.createEdge=function(a,b){arangoHelper.arangoError("Server-side","createEdge was triggered.")},e.deleteEdge=function(a,b){arangoHelper.arangoError("Server-side","deleteEdge was triggered.")},e.patchEdge=function(a,b,c){arangoHelper.arangoError("Server-side","patchEdge was triggered.")},e.createNode=function(a,b){arangoHelper.arangoError("Server-side","createNode was triggered.")},e.deleteNode=function(a,b){arangoHelper.arangoError("Server-side","deleteNode was triggered."),arangoHelper.arangoError("Server-side","onNodeDelete was triggered.")},e.patchNode=function(a,b,c){arangoHelper.arangoError("Server-side","patchNode was triggered.")},e.setNodeLimit=function(a,b){f.setNodeLimit(a,b)},e.setChildLimit=function(a){f.setChildLimit(a)},e.setWidth=f.setWidth,e.expandCommunity=function(a,b){f.expandCommunity(a),void 0!==b&&b()}}function WebWorkerWrapper(a,b){"use strict";if(void 0===a)throw"A class has to be given.";if(void 0===b)throw"A callback has to be given.";var c,d=Array.prototype.slice.call(arguments),e={},f=function(){var c,d=function(a){switch(a.data.cmd){case"construct":try{w=new(Function.prototype.bind.apply(Construct,[null].concat(a.data.args))),w?self.postMessage({cmd:"construct",result:!0}):self.postMessage({cmd:"construct",result:!1})}catch(b){self.postMessage({cmd:"construct",result:!1,error:b.message||b})}break;default:var c,d={cmd:a.data.cmd};if(w&&"function"==typeof w[a.data.cmd])try{c=w[a.data.cmd].apply(w,a.data.args),c&&(d.result=c),self.postMessage(d)}catch(e){d.error=e.message||e,self.postMessage(d)}else d.error="Method not known",self.postMessage(d)}},e=function(a){var b="var w, Construct = "+a.toString()+";self.onmessage = "+d.toString();return new window.Blob(b.split())},f=window.URL,g=new e(a);return c=new window.Worker(f.createObjectURL(g)),c.onmessage=b,c},g=function(){return a.apply(this,d)};try{return c=f(),e.call=function(a){var b=Array.prototype.slice.call(arguments);b.shift(),c.postMessage({cmd:a,args:b})},d.shift(),d.shift(),d.unshift("construct"),e.call.apply(this,d),e}catch(h){d.shift(),d.shift(),g.prototype=a.prototype;try{c=new g}catch(i){return void b({data:{cmd:"construct",error:i}})}return e.call=function(a){var d=Array.prototype.slice.call(arguments),e={data:{cmd:a}};if(!_.isFunction(c[a]))return e.data.error="Method not known",void b(e);d.shift();try{e.data.result=c[a].apply(c,d),b(e)}catch(f){e.data.error=f,b(e)}},b({data:{cmd:"construct",result:!0}}),e}}function ZoomManager(a,b,c,d,e,f,g,h){"use strict";if(void 0===a||0>a)throw"A width has to be given.";if(void 0===b||0>b)throw"A height has to be given.";if(void 0===c||void 0===c.node||"svg"!==c.node().tagName.toLowerCase())throw"A svg has to be given.";if(void 0===d||void 0===d.node||"g"!==d.node().tagName.toLowerCase())throw"A group has to be given.";if(void 0===e||void 0===e.activateLabel||void 0===e.changeTo||void 0===e.updateNodes)throw"The Node shaper has to be given.";if(void 0===f||void 0===f.activateLabel||void 0===f.updateEdges)throw"The Edge shaper has to be given.";var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=this,y=a*b,z=h||function(){},A=function(){var a,b;return l>=k?(b=i*l,b*=b,a=60*b):(b=j*l,b*=b,a=4*Math.PI*b),Math.floor(y/a)},B=function(){q=s/l-.99999999,r=t/l,p.distortion(q),p.radius(r)},C=function(a,b,c,g){g?null!==a&&(l=a):l=a,null!==b&&(m[0]+=b),null!==c&&(m[1]+=c),o=A(),z(o),e.activateLabel(l>=k),f.activateLabel(l>=k),B();var h="translate("+m+")",i=" scale("+l+")";d._isCommunity?d.attr("transform",h):d.attr("transform",h+i),v&&v.slider("option","value",l)},D=function(a){var b=[];return b[0]=a[0]-n[0],b[1]=a[1]-n[1],n[0]=a[0],n[1]=a[1],b},E=function(a){void 0===a&&(a={});var b=a.maxFont||16,c=a.minFont||6,d=a.maxRadius||25,e=a.minRadius||4;s=a.focusZoom||1,t=a.focusRadius||100,w=e/d,i=b,j=d,k=c/b,l=1,m=[0,0],n=[0,0],B(),o=A(),u=d3.behavior.zoom().scaleExtent([w,1]).on("zoom",function(){var a,b=d3.event.sourceEvent,c=l;"mousewheel"===b.type||"DOMMouseScroll"===b.type?(b.wheelDelta?b.wheelDelta>0?(c+=.01,c>1&&(c=1)):(c-=.01,w>c&&(c=w)):b.detail>0?(c+=.01,c>1&&(c=1)):(c-=.01,w>c&&(c=w)),a=[0,0]):a=D(d3.event.translate),C(c,a[0],a[1])})},F=function(){};p=d3.fisheye.circular(),E(g),c.call(u),e.changeTo({distortion:p}),c.on("mousemove",F),x.translation=function(){return null},x.scaleFactor=function(){return l},x.scaledMouse=function(){return null},x.getDistortion=function(){return q},x.getDistortionRadius=function(){return r},x.getNodeLimit=function(){return o},x.getMinimalZoomFactor=function(){return w},x.registerSlider=function(a){v=a},x.triggerScale=function(a){C(a,null,null,!0)},x.triggerTranslation=function(a,b){C(null,a,b,!0)},x.changeWidth=function(c){y=a*b}}function ArangoAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The ArangoAdapter has to be given.";this.addControlChangeCollections=function(c){var d="control_adapter_collections",e=d+"_";b.getCollections(function(f,g){b.getGraphs(function(h){uiComponentsHelper.createButton(a,"Collections",d,function(){modalDialogHelper.createModalDialog("Switch Collections",e,[{type:"decission",id:"collections",group:"loadtype",text:"Select existing collections",isDefault:void 0===b.getGraphName(),interior:[{type:"list",id:"node_collection",text:"Vertex collection",objects:f,selected:b.getNodeCollection()},{type:"list",id:"edge_collection",text:"Edge collection",objects:g,selected:b.getEdgeCollection()}]},{type:"decission", +id:"graphs",group:"loadtype",text:"Select existing graph",isDefault:void 0!==b.getGraphName(),interior:[{type:"list",id:"graph",objects:h,selected:b.getGraphName()}]},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0},{type:"checkbox",id:"undirected",selected:"any"===b.getDirection()}],function(){var a=$("#"+e+"node_collection").children("option").filter(":selected").text(),d=$("#"+e+"edge_collection").children("option").filter(":selected").text(),f=$("#"+e+"graph").children("option").filter(":selected").text(),g=!!$("#"+e+"undirected").prop("checked"),h=!!$("#"+e+"random").prop("checked"),i=$("input[type='radio'][name='loadtype']:checked").prop("id");return i===e+"collections"?b.changeToCollections(a,d,g):b.changeToGraph(f,g),h?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e=(b.getPrioList(),"Group vertices");uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e,d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];a.each(function(a,b){var d=$(b).val();""!==d&&c.push(d)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeCollections(),this.addControlChangePriority()}}function ContextMenu(a){"use strict";if(void 0===a)throw"An id has to be given.";var b,c,d="#"+a,e=function(a,d){var e,f;e=document.createElement("div"),e.className="context-menu-item",f=document.createElement("div"),f.className="context-menu-item-inner",f.appendChild(document.createTextNode(a)),f.onclick=function(){d(d3.select(c.target).data()[0])},e.appendChild(f),b.appendChild(e)},f=function(a){c=$.contextMenu.create(d,{shadow:!1}),a.each(function(){$(this).bind("contextmenu",function(a){return c.show(this,a),!1})})},g=function(){return b=document.getElementById(a),b&&b.parentElement.removeChild(b),b=document.createElement("div"),b.className="context-menu context-menu-theme-osx",b.id=a,document.body.appendChild(b),b};g(),this.addEntry=e,this.bindMenu=f}function EdgeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The EdgeShaper has to be given.";var c=this;this.addControlOpticShapeNone=function(){var c="control_edge_none";uiComponentsHelper.createButton(a,"None",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.NONE}})})},this.addControlOpticShapeArrow=function(){var c="control_edge_arrow";uiComponentsHelper.createButton(a,"Arrow",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.ARROW}})})},this.addControlOpticLabel=function(){var c="control_edge_label",d=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalDialog("Switch Label Attribute",d,[{type:"text",id:"key",text:"Edge label attribute",value:b.getLabel()}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({label:a})})})},this.addControlOpticLabelList=function(){var d="control_edge_label",e=d+"_";uiComponentsHelper.createButton(a,"Configure Label",d,function(){modalDialogHelper.createModalDialog("Change Label Attribute",e,[{type:"extendable",id:"label",text:"Edge label attribute",objects:b.getLabel()}],function(){var a=$("input[id^="+e+"label_]"),d=[];a.each(function(a,b){var c=$(b).val();""!==c&&d.push(c)});var f={label:d};c.applyLocalStorage(f),b.changeTo(f)})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.hasOwnProperty("edgeShaper")||(b[e].viewer.edgeShaper={}),b[e].viewer.edgeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticSingleColour=function(){var c="control_edge_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"stroke"}],function(){var a=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",stroke:a}})})})},this.addControlOpticAttributeColour=function(){var c="control_edge_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticGradientColour=function(){var c="control_edge_gradientcolour",d=c+"_";uiComponentsHelper.createButton(a,"Gradient Colour",c,function(){modalDialogHelper.createModalDialog("Change colours for gradient",d,[{type:"text",id:"source"},{type:"text",id:"target"}],function(){var a=$("#"+d+"source").attr("value"),c=$("#"+d+"target").attr("value");b.changeTo({color:{type:"gradient",source:a,target:c}})})})},this.addAllOptics=function(){c.addControlOpticShapeNone(),c.addControlOpticShapeArrow(),c.addControlOpticLabel(),c.addControlOpticSingleColour(),c.addControlOpticAttributeColour(),c.addControlOpticGradientColour()},this.addAllActions=function(){},this.addAll=function(){c.addAllOptics(),c.addAllActions()}}function EventDispatcherControls(a,b,c,d,e){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";if(void 0===c)throw"The EdgeShaper has to be given.";if(void 0===d)throw"The Start callback has to be given.";var f=this,g={expand:{icon:"hand-pointer-o",title:"Expand a node."},add:{icon:"plus-square",title:"Add a node."},trash:{icon:"minus-square",title:"Remove a node/edge."},drag:{icon:"hand-rock-o",title:"Drag a node."},edge:{icon:"external-link-square",title:"Create an edge between two nodes."},edit:{icon:"pencil-square",title:"Edit attributes of a node."},view:{icon:"search",title:"View attributes of a node."}},h=new EventDispatcher(b,c,e),i=e.edgeEditor.adapter,j=!!i&&_.isFunction(i.useNodeCollection)&&_.isFunction(i.useEdgeCollection),k=function(b){a.appendChild(b)},l=function(a,b,c){var d=uiComponentsHelper.createIconButton(a,"control_event_"+b,c);k(d)},m=function(a){h.rebind("nodes",a)},n=function(a){h.rebind("edges",a)},o=function(a){h.rebind("svg",a)},p=function(a){var b=a||window.event,c={};return c.x=b.clientX,c.y=b.clientY,c.x+=document.body.scrollLeft,c.y+=document.body.scrollTop,c},q=function(a){var b,c,d,e=p(a),f=$("svg#graphViewerSVG").offset();return b=d3.select("svg#graphViewerSVG").node(),d=b.getBoundingClientRect(),$("svg#graphViewerSVG").height()<=d.height?{x:e.x-f.left,y:e.y-f.top}:(c=b.getBBox(),{x:e.x-(d.left-c.x),y:e.y-(d.top-c.y)})},r={nodes:{},edges:{},svg:{}},s=function(){var a="control_event_new_node",c=a+"_",e=function(a){var e=q(a);modalDialogHelper.createModalCreateDialog("Create New Node",c,{},function(a){h.events.CREATENODE(a,function(a){$("#"+c+"modal").modal("hide"),b.reshapeNodes(),d()},e.x,e.y)()})};r.nodes.newNode=e},t=function(){var a=function(a){modalDialogHelper.createModalViewDialog("View Node "+a._id,"control_event_node_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Node "+a._id,"control_event_node_edit_",a._data,function(b){h.events.PATCHNODE(a,b,function(){$("#control_event_node_edit_modal").modal("hide")})()})})},b=function(a){modalDialogHelper.createModalViewDialog("View Edge "+a._id,"control_event_edge_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Edge "+a._id,"control_event_edge_edit_",a._data,function(b){h.events.PATCHEDGE(a,b,function(){$("#control_event_edge_edit_modal").modal("hide")})()})})};r.nodes.view=a,r.edges.view=b},u=function(){var a=h.events.STARTCREATEEDGE(function(a,b){var d=q(b),e=c.addAnEdgeFollowingTheCursor(d.x,d.y);h.bind("svg","mousemove",function(a){var b=q(a);e(b.x,b.y)})}),b=h.events.FINISHCREATEEDGE(function(a){c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0}),d()}),e=function(){h.events.CANCELCREATEEDGE(),c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0})};r.nodes.startEdge=a,r.nodes.endEdge=b,r.svg.cancelEdge=e},v=function(){var a=function(a){arangoHelper.openDocEditor(a._id,"document")},b=function(a){arangoHelper.openDocEditor(a._id,"edge")};r.nodes.edit=a,r.edges.edit=b},w=function(){var a=function(a){modalDialogHelper.createModalDeleteDialog("Delete Node "+a._id,"control_event_node_delete_",a,function(a){h.events.DELETENODE(function(){$("#control_event_node_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})},e=function(a){modalDialogHelper.createModalDeleteDialog("Delete Edge "+a._id,"control_event_edge_delete_",a,function(a){h.events.DELETEEDGE(function(){$("#control_event_edge_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})};r.nodes.del=a,r.edges.del=e},x=function(){r.nodes.spot=h.events.EXPAND};s(),t(),u(),v(),w(),x(),this.dragRebinds=function(){return{nodes:{drag:h.events.DRAG}}},this.newNodeRebinds=function(){return{svg:{click:r.nodes.newNode}}},this.viewRebinds=function(){return{nodes:{click:r.nodes.view},edges:{click:r.edges.view}}},this.connectNodesRebinds=function(){return{nodes:{mousedown:r.nodes.startEdge,mouseup:r.nodes.endEdge},svg:{mouseup:r.svg.cancelEdge}}},this.editRebinds=function(){return{nodes:{click:r.nodes.edit},edges:{click:r.edges.edit}}},this.expandRebinds=function(){return{nodes:{click:r.nodes.spot}}},this.deleteRebinds=function(){return{nodes:{click:r.nodes.del},edges:{click:r.edges.del}}},this.rebindAll=function(a){m(a.nodes),n(a.edges),o(a.svg)},b.addMenuEntry("Edit",r.nodes.edit),b.addMenuEntry("Spot",r.nodes.spot),b.addMenuEntry("Trash",r.nodes.del),c.addMenuEntry("Edit",r.edges.edit),c.addMenuEntry("Trash",r.edges.del),this.addControlNewNode=function(){var a=g.add,b="select_node_collection",c=function(){j&&i.getNodeCollections().length>1&&modalDialogHelper.createModalDialog("Select Vertex Collection",b,[{type:"list",id:"vertex",objects:i.getNodeCollections(),text:"Select collection",selected:i.getSelectedNodeCollection()}],function(){var a=$("#"+b+"vertex").children("option").filter(":selected").text();i.useNodeCollection(a)},"Select"),f.rebindAll(f.newNodeRebinds())};l(a,"new_node",c)},this.addControlView=function(){var a=g.view,b=function(){f.rebindAll(f.viewRebinds())};l(a,"view",b)},this.addControlDrag=function(){var a=g.drag,b=function(){f.rebindAll(f.dragRebinds())};l(a,"drag",b)},this.addControlEdit=function(){var a=g.edit,b=function(){f.rebindAll(f.editRebinds())};l(a,"edit",b)},this.addControlExpand=function(){var a=g.expand,b=function(){f.rebindAll(f.expandRebinds())};l(a,"expand",b)},this.addControlDelete=function(){var a=g.trash,b=function(){f.rebindAll(f.deleteRebinds())};l(a,"delete",b)},this.addControlConnect=function(){var a=g.edge,b="select_edge_collection",c=function(){j&&i.getEdgeCollections().length>1&&modalDialogHelper.createModalDialog("Select Edge Collection",b,[{type:"list",id:"edge",objects:i.getEdgeCollections(),text:"Select collection",selected:i.getSelectedEdgeCollection()}],function(){var a=$("#"+b+"edge").children("option").filter(":selected").text();i.useEdgeCollection(a)},"Select"),f.rebindAll(f.connectNodesRebinds())};l(a,"connect",c)},this.addAll=function(){f.addControlExpand(),f.addControlDrag(),f.addControlEdit(),f.addControlConnect(),f.addControlNewNode(),f.addControlDelete()}}function GharialAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The GharialAdapter has to be given.";this.addControlChangeGraph=function(c){var d="control_adapter_graph",e=d+"_";b.getGraphs(function(f){uiComponentsHelper.createButton(a,"Switch Graph",d,function(){modalDialogHelper.createModalDialog("Switch Graph",e,[{type:"list",id:"graph",objects:f,text:"Select graph",selected:b.getGraphName()},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0}],function(){var a=$("#"+e+"graph").children("option").filter(":selected").text(),d=!!$("#"+e+"undirected").prop("checked"),f=!!$("#"+e+"random").prop("checked");return b.changeToGraph(a,d),f?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e="Group vertices";uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e+" by attribute",d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];_.each(a,function(a){var b=$(a).val();""!==b&&c.push(b)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeGraph(),this.addControlChangePriority()}}function GraphViewerPreview(a,b){"use strict";var c,d,e,f,g,h,i,j=function(){return d3.select(a).append("svg").attr("id","graphViewerSVG").attr("width",d).attr("height",e).attr("class","graph-viewer").attr("style","width:"+d+"px;height:"+e+";")},k=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},l=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},m=function(a){if(a){var b={};a.drag&&l(b,i.dragRebinds()),a.create&&(l(b,i.newNodeRebinds()),l(b,i.connectNodesRebinds())),a.remove&&l(b,i.deleteRebinds()),a.expand&&l(b,i.expandRebinds()),a.edit&&l(b,i.editRebinds()),i.rebindAll(b)}},n=function(b){var c=document.createElement("div");i=new EventDispatcherControls(c,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig),c.id="toolbox",c.className="btn-group btn-group-vertical pull-left toolbox",a.appendChild(c),_.each(b,function(a,b){switch(b){case"expand":i.addControlExpand();break;case"create":i.addControlNewNode(),i.addControlConnect();break;case"drag":i.addControlDrag();break;case"edit":i.addControlEdit();break;case"remove":i.addControlDelete()}})},o=function(a){var b=document.createElement("div");i=new EventDispatcherControls(b,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig)},p=function(){b&&(b.nodeShaper&&(b.nodeShaper.label&&(b.nodeShaper.label="label"),b.nodeShaper.shape&&b.nodeShaper.shape.type===NodeShaper.shapes.IMAGE&&b.nodeShaper.shape.source&&(b.nodeShaper.shape.source="image")),b.edgeShaper&&b.edgeShaper.label&&(b.edgeShaper.label="label"))},q=function(){return p(),new GraphViewer(c,d,e,h,b)};d=a.getBoundingClientRect().width,e=a.getBoundingClientRect().height,h={type:"preview"},b=b||{},g=k(b.toolbox),g&&(d-=43),c=j(),f=q(),g?n(b.toolbox):o(),f.loadGraph("1"),m(b.actions)}function GraphViewerUI(a,b,c,d,e,f){"use strict";if(void 0===a)throw"A parent element has to be given.";if(!a.id)throw"The parent element needs an unique id.";if(void 0===b)throw"An adapter configuration has to be given";var g,h,i,j,k,l,m,n,o,p=c+20||a.getBoundingClientRect().width-81+20,q=d||a.getBoundingClientRect().height,r=document.createElement("ul"),s=document.createElement("div"),t=function(){g.adapter.NODES_TO_DISPLAYGraph too big. A random section is rendered.
'),$(".infoField .fa-info-circle").attr("title","You can display additional/other vertices by using the toolbar buttons.").tooltip())},u=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},n=function(){$(s).css("cursor","")},o=function(a){return n(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""===a.value||void 0===a.value?g.loadGraph(i.value,o):g.loadGraphWithAttributeValue(a.value,i.value,o)};b.id="filterDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),m=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",m.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(m),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(m).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Filter graph by attribute:",b.appendChild(q),b.appendChild(c),b},v=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},m=function(){$(s).css("cursor","")},o=function(a){return m(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""!==a.value&&g.loadGraphWithAdditionalNode(a.value,i.value,o)};b.id="nodeDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),n=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle2",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",n.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(n),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),C(n),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(n).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Add specific node by attribute:",b.appendChild(q),b.appendChild(c),b},w=function(){var a,b,c,d,e,f,g,h;return a=document.createElement("div"),a.id="configureDropdown",a.className="headerDropdown",b=document.createElement("div"),b.className="dropdownInner",c=document.createElement("ul"),d=document.createElement("li"),d.className="nav-header",d.appendChild(document.createTextNode("Vertices")),g=document.createElement("ul"),h=document.createElement("li"),h.className="nav-header",h.appendChild(document.createTextNode("Edges")),e=document.createElement("ul"),f=document.createElement("li"),f.className="nav-header",f.appendChild(document.createTextNode("Connection")),c.appendChild(d),g.appendChild(h),e.appendChild(f),b.appendChild(c),b.appendChild(g),b.appendChild(e),a.appendChild(b),{configure:a,nodes:c,edges:g,col:e}},x=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;return a.className="headerButtonBar",e=document.createElement("ul"),e.className="headerButtonList",a.appendChild(e),g=document.createElement("li"),g.className="enabled",h=document.createElement("a"),h.id=b,h.className="headerButton",i=document.createElement("span"),i.className="icon_arangodb_settings2",$(i).attr("title","Configure"),e.appendChild(g),g.appendChild(h),h.appendChild(i),j=document.createElement("li"),j.className="enabled",k=document.createElement("a"),k.id=d,k.className="headerButton",l=document.createElement("span"),l.className="fa fa-search-plus",$(l).attr("title","Show additional vertices"),e.appendChild(j),j.appendChild(k),k.appendChild(l),m=document.createElement("li"),m.className="enabled",n=document.createElement("a"),n.id=c,n.className="headerButton",o=document.createElement("span"),o.className="icon_arangodb_filter",$(o).attr("title","Filter"),e.appendChild(m),m.appendChild(n),n.appendChild(o),f=w(),f.filter=u(),f.node=v(),h.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#configuredropdown").toggleClass("activated"),$(f.configure).slideToggle(200),$(f.filter).hide(),$(f.node).hide()},k.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#configuredropdown").removeClass("activated"),$("#nodedropdown").toggleClass("activated"),$(f.node).slideToggle(200),$(f.filter).hide(),$(f.configure).hide()},n.onclick=function(){$("#configuredropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#filterdropdown").toggleClass("activated"),$(f.filter).slideToggle(200),$(f.node).hide(),$(f.configure).hide()},f},y=function(){return console.log(q),d3.select("#"+a.id+" #background").append("svg").attr("id","graphViewerSVG").attr("width",p).attr("height",q).attr("class","graph-viewer").style("width",p+"px").style("height",q+"px")},z=function(){var a=document.createElement("div"),b=document.createElement("div"),c=document.createElement("button"),d=document.createElement("button"),e=document.createElement("button"),f=document.createElement("button");a.className="gv_zoom_widget",b.className="gv_zoom_buttons_bg",c.className="btn btn-icon btn-zoom btn-zoom-top gv-zoom-btn pan-top",d.className="btn btn-icon btn-zoom btn-zoom-left gv-zoom-btn pan-left",e.className="btn btn-icon btn-zoom btn-zoom-right gv-zoom-btn pan-right",f.className="btn btn-icon btn-zoom btn-zoom-bottom gv-zoom-btn pan-bottom",c.onclick=function(){g.zoomManager.triggerTranslation(0,-10)},d.onclick=function(){g.zoomManager.triggerTranslation(-10,0)},e.onclick=function(){g.zoomManager.triggerTranslation(10,0)},f.onclick=function(){g.zoomManager.triggerTranslation(0,10)},b.appendChild(c),b.appendChild(d),b.appendChild(e),b.appendChild(f),l=document.createElement("div"),l.id="gv_zoom_slider",l.className="gv_zoom_slider",s.appendChild(a),s.insertBefore(a,o[0][0]),a.appendChild(b),a.appendChild(l),$("#gv_zoom_slider").slider({orientation:"vertical",min:g.zoomManager.getMinimalZoomFactor(),max:1,value:1,step:.01,slide:function(a,b){g.zoomManager.triggerScale(b.value)}}),g.zoomManager.registerSlider($("#gv_zoom_slider"))},A=function(){var a=document.createElement("div"),b=new EventDispatcherControls(a,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig);a.id="toolbox",a.className="btn-group btn-group-vertical toolbox",s.insertBefore(a,o[0][0]),b.addAll(),$("#control_event_expand").click()},B=function(){var a='
  • ';$(".headerBar .headerButtonList").prepend(a)},C=function(a){var b;b=a?$(a):$(m),b.innerHTML="";var c=document.createElement("li"),d=document.createElement("img");$(c).append(d),d.className="gv-throbber",b.append(c),g.adapter.getAttributeExamples(function(a){$(b).html(""),_.each(a,function(a){var c=document.createElement("li"),d=document.createElement("a"),e=document.createElement("label");$(c).append(d),$(d).append(e),$(e).append(document.createTextNode(a)),e.className="gv_dropdown_label",b.append(c),c.onclick=function(){b.value=a,$(b).parent().find("input").val(a),$(b).slideToggle(200)}})})},D=function(){var a=document.createElement("div"),b=document.createElement("div"),c=(document.createElement("a"),x(b,"configuredropdown","filterdropdown","nodedropdown"));i=new NodeShaperControls(c.nodes,g.nodeShaper),j=new EdgeShaperControls(c.edges,g.edgeShaper),k=new GharialAdapterControls(c.col,g.adapter),r.id="menubar",a.className="headerBar",b.id="modifiers",r.appendChild(a),r.appendChild(c.configure),r.appendChild(c.filter),r.appendChild(c.node),a.appendChild(b),k.addControlChangeGraph(function(){C(),g.start(!0)}),k.addControlChangePriority(),i.addControlOpticLabelAndColourList(g.adapter),j.addControlOpticLabelList(),C()},E=function(){h=i.createColourMappingList(),h.className="gv-colour-list",s.insertBefore(h,o[0][0])};a.appendChild(r),a.appendChild(s),s.className="contentDiv gv-background ",s.id="background",e=e||{},e.zoom=!0,o=y(),"undefined"!==Storage&&(this.graphSettings={},this.loadLocalStorage=function(){var a=b.baseUrl.split("/")[2],c=b.graphName+a;if(null===localStorage.getItem("graphSettings")||"null"===localStorage.getItem("graphSettings")){var d={};d[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(d))}else try{var f=JSON.parse(localStorage.getItem("graphSettings"));this.graphSettings=f,void 0!==f[c].viewer&&(e=f[c].viewer),void 0!==f[c].adapter&&(b=f[c].adapter)}catch(g){console.log("Could not load graph settings, resetting graph settings."),this.graphSettings[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(this.graphSettings))}},this.loadLocalStorage(),this.writeLocalStorage=function(){}),g=new GraphViewer(o,p,q,b,e),A(),z(),D(),E(),t(),B(),$("#graphSize").on("change",function(){var a=$("#graphSize").find(":selected").val();g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")},a)}),f&&("string"==typeof f?g.loadGraph(f):g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")})),this.changeWidth=function(a){g.changeWidth(a);var b=a-55;o.attr("width",b).style("width",b+"px")}}function GraphViewerWidget(a,b){"use strict";var c,d,e,f,g,h,i,j,k=function(){return d3.select(d).append("svg").attr("id","graphViewerSVG").attr("width",e).attr("height",f).attr("class","graph-viewer").attr("style","width:"+e+"px;height:"+f+"px;")},l=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},m=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},n=function(a){if(a){var b={};a.drag&&m(b,j.dragRebinds()),a.create&&(m(b,j.newNodeRebinds()),m(b,j.connectNodesRebinds())),a.remove&&m(b,j.deleteRebinds()),a.expand&&m(b,j.expandRebinds()),a.edit&&m(b,j.editRebinds()),j.rebindAll(b)}},o=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig),b.id="toolbox",b.className="btn-group btn-group-vertical pull-left toolbox",d.appendChild(b),_.each(a,function(a,b){switch(b){case"expand":j.addControlExpand();break;case"create":j.addControlNewNode(),j.addControlConnect();break;case"drag":j.addControlDrag();break;case"edit":j.addControlEdit();break;case"remove":j.addControlDelete()}})},p=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig)},q=function(){return new GraphViewer(c,e,f,i,a)};d=document.body,e=d.getBoundingClientRect().width,f=d.getBoundingClientRect().height,i={type:"foxx",route:"."},a=a||{},h=l(a.toolbox),h&&(e-=43),c=k(),g=q(),h?o(a.toolbox):p(),b&&g.loadGraph(b),n(a.actions)}function LayouterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The Layouter has to be given.";var c=this;this.addControlGravity=function(){var c="control_layout_gravity",d=c+"_";uiComponentsHelper.createButton(a,"Gravity",c,function(){modalDialogHelper.createModalDialog("Switch Gravity Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({gravity:a})})})},this.addControlCharge=function(){var c="control_layout_charge",d=c+"_";uiComponentsHelper.createButton(a,"Charge",c,function(){modalDialogHelper.createModalDialog("Switch Charge Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({charge:a})})})},this.addControlDistance=function(){var c="control_layout_distance",d=c+"_";uiComponentsHelper.createButton(a,"Distance",c,function(){modalDialogHelper.createModalDialog("Switch Distance Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({distance:a})})})},this.addAll=function(){c.addControlDistance(),c.addControlGravity(),c.addControlCharge()}}function NodeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";var c,d=this,e=function(a){for(;c.hasChildNodes();)c.removeChild(c.lastChild);var b=document.createElement("ul");c.appendChild(b),_.each(a,function(a,c){var d=document.createElement("ul"),e=a.list,f=a.front;d.style.backgroundColor=c,d.style.color=f,_.each(e,function(a){var b=document.createElement("li");b.appendChild(document.createTextNode(a)),d.appendChild(b)}),b.appendChild(d)})};this.addControlOpticShapeNone=function(){uiComponentsHelper.createButton(a,"None","control_node_none",function(){b.changeTo({shape:{type:NodeShaper.shapes.NONE}})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.nodeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticShapeCircle=function(){var c="control_node_circle",d=c+"_";uiComponentsHelper.createButton(a,"Circle",c,function(){modalDialogHelper.createModalDialog("Switch to Circle",d,[{type:"text",id:"radius"}],function(){var a=$("#"+d+"radius").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.CIRCLE,radius:a}})})})},this.addControlOpticShapeRect=function(){var c="control_node_rect",d=c+"_";uiComponentsHelper.createButton(a,"Rectangle",c,function(){modalDialogHelper.createModalDialog("Switch to Rectangle","control_node_rect_",[{type:"text",id:"width"},{type:"text",id:"height"}],function(){var a=$("#"+d+"width").attr("value"),c=$("#"+d+"height").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.RECT,width:a,height:c}})})})},this.addControlOpticLabel=function(){var c="control_node_label",e=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",e,[{type:"text",id:"key"}],function(){var a=$("#"+e+"key").attr("value"),c={label:a};d.applyLocalStorage(c),b.changeTo(c)})})},this.addControlOpticSingleColour=function(){var c="control_node_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"fill"},{type:"text",id:"stroke"}],function(){var a=$("#"+d+"fill").attr("value"),c=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",fill:a,stroke:c}})})})},this.addControlOpticAttributeColour=function(){var c="control_node_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticExpandColour=function(){var c="control_node_expandcolour",d=c+"_";uiComponentsHelper.createButton(a,"Expansion Colour",c,function(){modalDialogHelper.createModalDialog("Display colours for expansion",d,[{type:"text",id:"expanded"},{ +type:"text",id:"collapsed"}],function(){var a=$("#"+d+"expanded").attr("value"),c=$("#"+d+"collapsed").attr("value");b.changeTo({color:{type:"expand",expanded:a,collapsed:c}})})})},this.addControlOpticLabelAndColour=function(e){var f="control_node_labelandcolour",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"text",id:"label-attribute",text:"Vertex label attribute",value:b.getLabel()||""},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"text",id:"colour-attribute",text:"Color attribute",value:b.getColor()||""}]}],function(){var a=$("#"+g+"label-attribute").attr("value"),e=$("#"+g+"colour-attribute").attr("value"),f=$("input[type='radio'][name='colour']:checked").attr("id");f===g+"samecolour"&&(e=a);var h={label:a,color:{type:"attribute",key:e}};d.applyLocalStorage(h),b.changeTo(h),void 0===c&&(c=d.createColourMappingList())})})},this.addControlOpticLabelAndColourList=function(e){var f="control_node_labelandcolourlist",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"extendable",id:"label",text:"Vertex label attribute",objects:b.getLabel()},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"extendable",id:"colour",text:"Color attribute",objects:b.getColor()||""}]}],function(){var a=$("input[id^="+g+"label_]"),e=$("input[id^="+g+"colour_]"),f=$("input[type='radio'][name='colour']:checked").attr("id"),h=[],i=[];a.each(function(a,b){var c=$(b).val();""!==c&&h.push(c)}),e.each(function(a,b){var c=$(b).val();""!==c&&i.push(c)}),f===g+"samecolour"&&(i=h);var j={label:h,color:{type:"attribute",key:i}};d.applyLocalStorage(j),b.changeTo(j),void 0===c&&(c=d.createColourMappingList())})})},this.addAllOptics=function(){d.addControlOpticShapeNone(),d.addControlOpticShapeCircle(),d.addControlOpticShapeRect(),d.addControlOpticLabel(),d.addControlOpticSingleColour(),d.addControlOpticAttributeColour(),d.addControlOpticExpandColour()},this.addAllActions=function(){},this.addAll=function(){d.addAllOptics(),d.addAllActions()},this.createColourMappingList=function(){return void 0!==c?c:(c=document.createElement("div"),c.id="node_colour_list",e(b.getColourMapping()),b.setColourMappingListener(e),c)}}function GraphViewer(a,b,c,d,e){"use strict";if($("html").attr("xmlns:xlink","http://www.w3.org/1999/xlink"),void 0===a||void 0===a.append)throw"SVG has to be given and has to be selected using d3.select";if(void 0===b||0>=b)throw"A width greater 0 has to be given";if(void 0===c||0>=c)throw"A height greater 0 has to be given";if(void 0===d||void 0===d.type)throw"An adapter configuration has to be given";var f,g,h,i,j,k,l,m,n=this,o=[],p=[],q=function(a){if(!a)return a={},a.nodes=p,a.links=o,a.width=b,a.height=c,void(i=new ForceLayouter(a));switch(a.type.toLowerCase()){case"force":a.nodes=p,a.links=o,a.width=b,a.height=c,i=new ForceLayouter(a);break;default:throw"Sorry unknown layout type."}},r=function(a){f.setNodeLimit(a,n.start)},s=function(d){d&&(j=new ZoomManager(b,c,a,k,g,h,{},r))},t=function(a){var b=a.edgeShaper||{},c=a.nodeShaper||{},d=c.idfunc||void 0,e=a.zoom||!1;b.shape=b.shape||{type:EdgeShaper.shapes.ARROW},q(a.layouter),m=k.append("g"),h=new EdgeShaper(m,b),l=k.append("g"),g=new NodeShaper(l,c,d),i.setCombinedUpdateFunction(g,h),s(e)};switch(d.type.toLowerCase()){case"arango":d.width=b,d.height=c,f=new ArangoAdapter(p,o,this,d),f.setChildLimit(10);break;case"gharial":d.width=b,d.height=c,f=new GharialAdapter(p,o,this,d),f.setChildLimit(10);break;case"foxx":d.width=b,d.height=c,f=new FoxxAdapter(p,o,d.route,this,d);break;case"json":f=new JSONAdapter(d.path,p,o,this,b,c);break;case"preview":d.width=b,d.height=c,f=new PreviewAdapter(p,o,this,d);break;default:throw"Sorry unknown adapter type."}k=a.append("g"),t(e||{}),this.start=function(a){i.stop(),a&&(""!==$(".infoField").text()?_.each(p,function(a){_.each(f.randomNodes,function(b){a._id===b._id&&(a._expanded=!0)})}):_.each(p,function(a){a._expanded=!0})),g.drawNodes(p),h.drawEdges(o),i.start()},this.loadGraph=function(a,b){f.loadInitialNode(a,function(a){return a.errorCode?void b(a):(a._expanded=!0,n.start(),void(_.isFunction(b)&&b()))})},this.loadGraphWithRandomStart=function(a,b){f.loadRandomNode(function(b){return b.errorCode&&404===b.errorCode?void a(b):(b._expanded=!0,n.start(!0),void(_.isFunction(a)&&a()))},b)},this.loadGraphWithAdditionalNode=function(a,b,c){f.loadAdditionalNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.loadGraphWithAttributeValue=function(a,b,c){f.randomNodes=[],f.definedNodes=[],f.loadInitialNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.cleanUp=function(){g.resetColourMap(),h.resetColourMap()},this.changeWidth=function(a){i.changeWidth(a),j.changeWidth(a),f.setWidth(a)},this.dispatcherConfig={expand:{edges:o,nodes:p,startCallback:n.start,adapter:f,reshapeNodes:g.reshapeNodes},drag:{layouter:i},nodeEditor:{nodes:p,adapter:f},edgeEditor:{edges:o,adapter:f}},this.adapter=f,this.nodeShaper=g,this.edgeShaper=h,this.layouter=i,this.zoomManager=j}EdgeShaper.shapes=Object.freeze({NONE:0,ARROW:1}),NodeShaper.shapes=Object.freeze({NONE:0,CIRCLE:1,RECT:2,IMAGE:3});var modalDialogHelper=modalDialogHelper||{};!function(){"use strict";var a,b=function(a){$(document).bind("keypress.key13",function(b){b.which&&13===b.which&&$(a).click()})},c=function(){$(document).unbind("keypress.key13")},d=function(a,b,c,d,e){var f,g,h=function(){e(f)},i=modalDialogHelper.modalDivTemplate(a,b,c,h),j=document.createElement("tr"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("th"),n=document.createElement("button"),o=1;f=function(){var a={};return _.each($("#"+c+"table tr:not(#first_row)"),function(b){var c=$(".keyCell input",b).val(),d=$(".valueCell input",b).val();a[c]=d}),a},i.appendChild(j),j.id="first_row",j.appendChild(k),k.className="keyCell",j.appendChild(l),l.className="valueCell",j.appendChild(m),m.className="actionCell",m.appendChild(n),n.id=c+"new",n.className="graphViewer-icon-button gv-icon-small add",g=function(a,b){var d,e,f,g=/^_(id|rev|key|from|to)/,h=document.createElement("tr"),j=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th");g.test(b)||(i.appendChild(h),h.appendChild(k),k.className="keyCell",e=document.createElement("input"),e.type="text",e.id=c+b+"_key",e.value=b,k.appendChild(e),h.appendChild(l),l.className="valueCell",f=document.createElement("input"),f.type="text",f.id=c+b+"_value","object"==typeof a?f.value=JSON.stringify(a):f.value=a,l.appendChild(f),h.appendChild(j),j.className="actionCell",d=document.createElement("button"),d.id=c+b+"_delete",d.className="graphViewer-icon-button gv-icon-small delete",j.appendChild(d),d.onclick=function(){i.removeChild(h)})},n.onclick=function(){g("","new_"+o),o++},_.each(d,g),$("#"+c+"modal").modal("show")},e=function(a,b,c,d,e){var f=modalDialogHelper.modalDivTemplate(a,b,c,e),g=document.createElement("tr"),h=document.createElement("th"),i=document.createElement("pre");f.appendChild(g),g.appendChild(h),h.appendChild(i),i.className="gv-object-view",i.innerHTML=JSON.stringify(d,null,2),$("#"+c+"modal").modal("show")},f=function(a,b){var c=document.createElement("input");return c.type="text",c.id=a,c.value=b,c},g=function(a,b){var c=document.createElement("input");return c.type="checkbox",c.id=a,c.checked=b,c},h=function(a,b,c){var d=document.createElement("select");return d.id=a,_.each(_.sortBy(b,function(a){return a.toLowerCase()}),function(a){var b=document.createElement("option");b.value=a,b.selected=a===c,b.appendChild(document.createTextNode(a)),d.appendChild(b)}),d},i=function(a){var b=$(".decission_"+a),c=$("input[type='radio'][name='"+a+"']:checked").attr("id");b.each(function(){$(this).attr("decider")===c?$(this).css("display",""):$(this).css("display","none")})},j=function(b,c,d,e,f,g,h,j){var k=document.createElement("input"),l=b+c,m=document.createElement("label"),n=document.createElement("tbody");k.id=l,k.type="radio",k.name=d,k.className="gv-radio-button",m.className="radio",h.appendChild(m),m.appendChild(k),m.appendChild(document.createTextNode(e)),j.appendChild(n),$(n).toggleClass("decission_"+d,!0),$(n).attr("decider",l),_.each(g,function(c){a(n,b,c)}),f?k.checked=!0:k.checked=!1,m.onclick=function(a){i(d),a.stopPropagation()},i(d)},k=function(a,b,c,d,e,f){var g,h=[],i=a+b,j=1,k=document.createElement("th"),l=document.createElement("button"),m=document.createElement("input"),n=function(a){j++;var c,d=document.createElement("tr"),g=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("input"),n=document.createElement("button");m.type="text",m.id=i+"_"+j,m.value=a||"",c=0===h.length?$(f):$(h[h.length-1]),c.after(d),d.appendChild(g),g.className="collectionTh capitalize",g.appendChild(document.createTextNode(b+" "+j+":")),d.appendChild(k),k.className="collectionTh",k.appendChild(m),n.id=i+"_"+j+"_remove",n.className="graphViewer-icon-button gv-icon-small delete",n.onclick=function(){e.removeChild(d),h.splice(h.indexOf(d),1)},l.appendChild(n),d.appendChild(l),h.push(d)};for(m.type="text",m.id=i+"_1",d.appendChild(m),k.appendChild(l),f.appendChild(k),l.onclick=function(){n()},l.id=i+"_addLine",l.className="graphViewer-icon-button gv-icon-small add","string"==typeof c&&c.length>0&&(c=[c]),c.length>0&&(m.value=c[0]),g=1;g'+c+""),a.disabled||$("#subNavigationBar .bottom").children().last().bind("click",function(){window.App.navigate(a.route,{trigger:!0})})})},buildNodeSubNav:function(a,b,c){var d={Dashboard:{route:"#node/"+encodeURIComponent(a)},Logs:{route:"#nLogs/"+encodeURIComponent(a),disabled:!0}};d[b].active=!0,d[c].disabled=!0,this.buildSubNavBar(d)},buildNodesSubNav:function(a){var b={Coordinators:{route:"#cNodes"},DBServers:{route:"#dNodes"}};"coordinator"===a?b.Coordinators.active=!0:b.DBServers.active=!0,this.buildSubNavBar(b)},buildCollectionSubNav:function(a,b){var c="#collection/"+encodeURIComponent(a),d={Content:{route:c+"/documents/1"},Indices:{route:"#cIndices/"+encodeURIComponent(a)},Info:{route:"#cInfo/"+encodeURIComponent(a)},Settings:{route:"#cSettings/"+encodeURIComponent(a)}};d[b].active=!0,this.buildSubNavBar(d)},enableKeyboardHotkeys:function(a){var b=window.arangoHelper.hotkeysFunctions;a===!0&&($(document).on("keydown",null,"j",b.scrollDown),$(document).on("keydown",null,"k",b.scrollUp))},databaseAllowed:function(a){var b=function(b,c){b?arangoHelper.arangoError("",""):$.ajax({type:"GET",cache:!1,url:this.databaseUrl("/_api/database/",c),contentType:"application/json",processData:!1,success:function(){a(!1,!0)},error:function(){a(!0,!1)}})}.bind(this);this.currentDatabase(b)},arangoNotification:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"success"})},arangoError:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"error"})},hideArangoNotifications:function(){$.noty.clearQueue(),$.noty.closeAll()},openDocEditor:function(a,b,c){var d=a.split("/"),e=this,f=new window.DocumentView({collection:window.App.arangoDocumentStore});f.breadcrumb=function(){},f.colid=d[0],f.docid=d[1],f.el=".arangoFrame .innerDiv",f.render(),f.setType(b),$(".arangoFrame .headerBar").remove(),$(".arangoFrame .outerDiv").prepend(''),$(".arangoFrame .outerDiv").click(function(){e.closeDocEditor()}),$(".arangoFrame .innerDiv").click(function(a){a.stopPropagation()}),$(".fa-times").click(function(){e.closeDocEditor()}),$(".arangoFrame").show(),f.customView=!0,f.customDeleteFunction=function(){window.modalView.hide(),$(".arangoFrame").hide()},$(".arangoFrame #deleteDocumentButton").click(function(){f.deleteDocumentModal()}),$(".arangoFrame #saveDocumentButton").click(function(){f.saveDocument()}),$(".arangoFrame #deleteDocumentButton").css("display","none")},closeDocEditor:function(){$(".arangoFrame .outerDiv .fa-times").remove(),$(".arangoFrame").hide()},addAardvarkJob:function(a,b){$.ajax({cache:!1,type:"POST",url:this.databaseUrl("/_admin/aardvark/job"),data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAardvarkJob:function(a,b){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAllAardvarkJobs:function(a){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getAardvarkJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){console.log("error"),a&&a(!0,b)}})},getPendingJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_api/job/pending"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},syncAndReturnUninishedAardvarkJobs:function(a,b){var c=function(c,d){if(c)b(!0);else{var e=function(c,e){if(c)arangoHelper.arangoError("","");else{var f=[];e.length>0?_.each(d,function(b){if(b.type===a||void 0===b.type){var c=!1;_.each(e,function(a){b.id===a&&(c=!0)}),c?f.push({collection:b.collection,id:b.id,type:b.type,desc:b.desc}):window.arangoHelper.deleteAardvarkJob(b.id)}}):d.length>0&&this.deleteAllAardvarkJobs(),b(!1,f)}}.bind(this);this.getPendingJobs(e)}}.bind(this);this.getAardvarkJobs(c)},getRandomToken:function(){return Math.round((new Date).getTime())},isSystemAttribute:function(a){var b=this.systemAttributes();return b[a]},isSystemCollection:function(a){return"_"===a.name.substr(0,1)},setDocumentStore:function(a){this.arangoDocumentStore=a},collectionApiType:function(a,b,c){if(b||void 0===this.CollectionTypes[a]){var d=function(b,c,d){b?arangoHelper.arangoError("Error","Could not detect collection type"):(this.CollectionTypes[a]=c.type,3===this.CollectionTypes[a]?d(!1,"edge"):d(!1,"document"))}.bind(this);this.arangoDocumentStore.getCollectionInfo(a,d,c)}else c(!1,this.CollectionTypes[a])},collectionType:function(a){if(!a||""===a.name)return"-";var b;return b=2===a.type?"document":3===a.type?"edge":"unknown",this.isSystemCollection(a)&&(b+=" (system)"),b},formatDT:function(a){var b=function(a){return 10>a?"0"+a:a};return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+1)+"-"+b(a.getUTCDate())+" "+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())},escapeHtml:function(a){return String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},backendUrl:function(a){return frontendConfig.basePath+a},databaseUrl:function(a,b){if("/_db/"===a.substr(0,5))throw new Error("Calling databasUrl with a databased url ("+a+") doesn't make any sense");return b||(b="_system",frontendConfig.db&&(b=frontendConfig.db)),this.backendUrl("/_db/"+encodeURIComponent(b)+a)}}}(),function(){"use strict";if(!window.hasOwnProperty("TEST_BUILD")){var a=function(){var a={};return a.createTemplate=function(a){var b=$("#"+a.replace(".","\\.")).html();return{render:function(a){var c=_.template(b);return c=c(a)}}},a};window.templateEngine=new a}}(),function(){"use strict";window.dygraphConfig={defaultFrame:12e5,zeropad:function(a){return 10>a?"0"+a:a},xAxisFormat:function(a){if(-1===a)return"";var b=new Date(a);return this.zeropad(b.getHours())+":"+this.zeropad(b.getMinutes())+":"+this.zeropad(b.getSeconds())},mergeObjects:function(a,b,c){c||(c=[]);var d,e={};return c.forEach(function(c){var d=a[c],f=b[c];void 0===d&&(d={}),void 0===f&&(f={}),e[c]=_.extend(d,f)}),d=_.extend(a,b),Object.keys(e).forEach(function(a){d[a]=e[a]}),d},mapStatToFigure:{residentSize:["times","residentSizePercent"],pageFaults:["times","majorPageFaultsPerSecond","minorPageFaultsPerSecond"],systemUserTime:["times","systemTimePerSecond","userTimePerSecond"],totalTime:["times","avgQueueTime","avgRequestTime","avgIoTime"],dataTransfer:["times","bytesSentPerSecond","bytesReceivedPerSecond"],requests:["times","getsPerSecond","putsPerSecond","postsPerSecond","deletesPerSecond","patchesPerSecond","headsPerSecond","optionsPerSecond","othersPerSecond"]},colors:["rgb(95, 194, 135)","rgb(238, 190, 77)","#81ccd8","#7ca530","#3c3c3c","#aa90bd","#e1811d","#c7d4b2","#d0b2d4"],figureDependedOptions:{clusterRequestsPerSecond:{showLabelsOnHighlight:!0,title:"",header:"Cluster Requests per Second",stackedGraph:!0,div:"lineGraphLegend",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},residentSize:{header:"Memory",axes:{y:{labelsKMG2:!1,axisLabelFormatter:function(a){return parseFloat(100*a.toPrecision(3))+"%"},valueFormatter:function(a){return parseFloat(100*a.toPrecision(3))+"%"}}}},pageFaults:{header:"Page Faults",visibility:[!0,!1],labels:["datetime","Major Page","Minor Page"],div:"pageFaultsChart",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},systemUserTime:{div:"systemUserTimeChart",header:"System and User Time",labels:["datetime","System Time","User Time"],stackedGraph:!0,labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},totalTime:{div:"totalTimeChart",header:"Total Time",labels:["datetime","Queue","Computation","I/O"],labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}},stackedGraph:!0},dataTransfer:{header:"Data Transfer",labels:["datetime","Bytes sent","Bytes received"],stackedGraph:!0,div:"dataTransferChart"},requests:{header:"Requests",labels:["datetime","Reads","Writes"],stackedGraph:!0,div:"requestsChart",axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}}},getDashBoardFigures:function(a){var b=[],c=this;return Object.keys(this.figureDependedOptions).forEach(function(d){"clusterRequestsPerSecond"!==d&&(c.figureDependedOptions[d].div||a)&&b.push(d)}),b},getDefaultConfig:function(a){var b=this,c={digitsAfterDecimal:1,drawGapPoints:!0,fillGraph:!0,fillAlpha:.85,showLabelsOnHighlight:!1,strokeWidth:0,lineWidth:0,strokeBorderWidth:0,includeZero:!0,highlightCircleSize:2.5,labelsSeparateLines:!0,strokeBorderColor:"rgba(0,0,0,0)",interactionModel:{},maxNumberWidth:10,colors:[this.colors[0]],xAxisLabelWidth:"50",rightGap:15,showRangeSelector:!1,rangeSelectorHeight:50,rangeSelectorPlotStrokeColor:"#365300",rangeSelectorPlotFillColor:"",pixelsPerLabel:50,labelsKMG2:!0,dateWindow:[(new Date).getTime()-this.defaultFrame,(new Date).getTime()],axes:{x:{valueFormatter:function(a){return b.xAxisFormat(a)}},y:{ticker:Dygraph.numericLinearTicks}}};return this.figureDependedOptions[a]&&(c=this.mergeObjects(c,this.figureDependedOptions[a],["axes"]),c.div&&c.labels&&(c.colors=this.getColors(c.labels),c.labelsDiv=document.getElementById(c.div+"Legend"),c.legend="always",c.showLabelsOnHighlight=!0)),c},getDetailChartConfig:function(a){var b=_.extend(this.getDefaultConfig(a),{showRangeSelector:!0,interactionModel:null,showLabelsOnHighlight:!0,highlightCircleSize:2.5,legend:"always",labelsDiv:"div#detailLegend.dashboard-legend-inner"});return"pageFaults"===a&&(b.visibility=[!0,!0]),b.labels||(b.labels=["datetime",b.header],b.colors=this.getColors(b.labels)),b},getColors:function(a){var b;return b=this.colors.concat([]),b.slice(0,a.length-1)}}}(),function(){"use strict";window.arangoCollectionModel=Backbone.Model.extend({idAttribute:"name",urlRoot:arangoHelper.databaseUrl("/_api/collection"),defaults:{id:"",name:"",status:"",type:"",isSystem:!1,picture:"",locked:!1,desc:void 0},getProperties:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+encodeURIComponent(this.get("id"))+"/properties"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getFigures:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/figures"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},getRevision:function(a,b){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/revision"),contentType:"application/json",processData:!1,success:function(c){a(!1,c,b)},error:function(){a(!0)}})},getIndex:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/index/?collection="+this.get("id")),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},createIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/index?collection="+c.get("id")),headers:{"x-arango-async":"store"},data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Creating Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}})},deleteIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"DELETE",url:arangoHelper.databaseUrl("/_api/index/"+this.get("name")+"/"+encodeURIComponent(a)),headers:{"x-arango-async":"store"},success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Removing Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}}),b()},truncateCollection:function(){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/truncate"),success:function(){arangoHelper.arangoNotification("Collection truncated.")},error:function(){arangoHelper.arangoError("Collection error.")}})},loadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/load"),success:function(){a(!1)},error:function(){a(!0)}}),a()},unloadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/unload?flush=true"),success:function(){a(!1)},error:function(){a(!0)}}),a()},renameCollection:function(a,b){var c=this;$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/rename"),data:JSON.stringify({name:a}),contentType:"application/json",processData:!1,success:function(){c.set("name",a),b(!1)},error:function(a){b(!0,a)}})},changeCollection:function(a,b,c,d){var e=!1;"true"===a?a=!0:"false"===a&&(a=!1);var f={ +waitForSync:a,journalSize:parseInt(b),indexBuckets:parseInt(c)};return $.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/properties"),data:JSON.stringify(f),contentType:"application/json",processData:!1,success:function(){d(!1)},error:function(a){d(!1,a)}}),e}})}(),window.DatabaseModel=Backbone.Model.extend({idAttribute:"name",initialize:function(){"use strict"},isNew:function(){"use strict";return!1},sync:function(a,b,c){"use strict";return"update"===a&&(a="create"),Backbone.sync(a,b,c)},url:arangoHelper.databaseUrl("/_api/database"),defaults:{}}),window.arangoDocumentModel=Backbone.Model.extend({initialize:function(){"use strict"},urlRoot:arangoHelper.databaseUrl("/_api/document"),defaults:{_id:"",_rev:"",_key:""},getSorted:function(){"use strict";var a=this,b=Object.keys(a.attributes).sort(function(a,b){var c=arangoHelper.isSystemAttribute(a),d=arangoHelper.isSystemAttribute(b);return c!==d?c?-1:1:b>a?-1:1}),c={};return _.each(b,function(b){c[b]=a.attributes[b]}),c}}),function(){"use strict";window.ArangoQuery=Backbone.Model.extend({urlRoot:arangoHelper.databaseUrl("/_api/user"),defaults:{name:"",type:"custom",value:""}})}(),window.Replication=Backbone.Model.extend({defaults:{state:{},server:{}},initialize:function(){}}),window.Statistics=Backbone.Model.extend({defaults:{},url:function(){"use strict";return"/_admin/statistics"}}),window.StatisticsDescription=Backbone.Model.extend({defaults:{figures:"",groups:""},url:function(){"use strict";return"/_admin/statistics-description"}}),window.Users=Backbone.Model.extend({defaults:{user:"",active:!1,extra:{}},idAttribute:"user",parse:function(a){return this.isNotNew=!0,a},isNew:function(){return!this.isNotNew},url:function(){return this.isNew()?arangoHelper.databaseUrl("/_api/user"):""!==this.get("user")?arangoHelper.databaseUrl("/_api/user/"+this.get("user")):arangoHelper.databaseUrl("/_api/user")},checkPassword:function(a,b){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})},setPassword:function(a){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1})},setExtras:function(a,b,c){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({extra:{name:a,img:b}}),contentType:"application/json",processData:!1,success:function(){c(!1)},error:function(){c(!0)}})}}),function(){"use strict";window.ClusterCoordinator=Backbone.Model.extend({defaults:{name:"",status:"ok",address:"",protocol:""},idAttribute:"name",forList:function(){return{name:this.get("name"),status:this.get("status"),url:this.get("url")}}})}(),function(){"use strict";window.ClusterServer=Backbone.Model.extend({defaults:{name:"",address:"",role:"",status:"ok"},idAttribute:"name",forList:function(){return{name:this.get("name"),address:this.get("address"),status:this.get("status")}}})}(),function(){"use strict";window.Coordinator=Backbone.Model.extend({defaults:{address:"",protocol:"",name:"",status:""}})}(),function(){"use strict";window.CurrentDatabase=Backbone.Model.extend({url:arangoHelper.databaseUrl("/_api/database/current",frontendConfig.db),parse:function(a){return a.result}})}(),function(){"use strict";var a=function(a,b,c,d,e,f){var g={contentType:"application/json",processData:!1,type:c};b=b||function(){},f=_.extend({mount:a.encodedMount()},f);var h=_.reduce(f,function(a,b,c){return a+encodeURIComponent(c)+"="+encodeURIComponent(b)+"&"},"?");g.url=arangoHelper.databaseUrl("/_admin/aardvark/foxxes"+(d?"/"+d:"")+h.slice(0,h.length-1)),void 0!==e&&(g.data=JSON.stringify(e)),$.ajax(g).then(function(a){b(null,a)},function(a){window.xhr=a,b(_.extend(a.status?new Error(a.responseJSON?a.responseJSON.errorMessage:a.responseText):new Error("Network Error"),{statusCode:a.status}))})};window.Foxx=Backbone.Model.extend({idAttribute:"mount",defaults:{author:"Unknown Author",name:"",version:"Unknown Version",description:"No description",license:"Unknown License",contributors:[],scripts:{},config:{},deps:{},git:"",system:!1,development:!1},isNew:function(){return!1},encodedMount:function(){return encodeURIComponent(this.get("mount"))},destroy:function(b,c){a(this,c,"DELETE",void 0,void 0,b)},isBroken:function(){return!1},needsAttention:function(){return this.isBroken()||this.needsConfiguration()||this.hasUnconfiguredDependencies()},needsConfiguration:function(){return _.any(this.get("config"),function(a){return void 0===a.current&&a.required!==!1})},hasUnconfiguredDependencies:function(){return _.any(this.get("deps"),function(a){return void 0===a.current&&a.definition.required!==!1})},getConfiguration:function(b){a(this,function(a,c){a||this.set("config",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","config")},setConfiguration:function(b,c){a(this,c,"PATCH","config",b)},getDependencies:function(b){a(this,function(a,c){a||this.set("deps",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","deps")},setDependencies:function(b,c){a(this,c,"PATCH","deps",b)},toggleDevelopment:function(b,c){a(this,function(a,d){a||this.set("development",b),"function"==typeof c&&c(a,d)}.bind(this),"PATCH","devel",b)},runScript:function(b,c,d){a(this,d,"POST","scripts/"+b,c)},runTests:function(b,c){a(this,function(a,b){"function"==typeof c&&c(a?a.responseJSON:a,b)}.bind(this),"POST","tests",b)},isSystem:function(){return this.get("system")},isDevelopment:function(){return this.get("development")},download:function(){window.open("/_db/"+arango.getDatabaseName()+"/_admin/aardvark/foxxes/download/zip?mount="+this.encodedMount())}})}(),function(){"use strict";window.Graph=Backbone.Model.extend({idAttribute:"_key",urlRoot:arangoHelper.databaseUrl("/_api/gharial"),isNew:function(){return!this.get("_id")},parse:function(a){return a.graph||a},addEdgeDefinition:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/edge",data:JSON.stringify(a)})},deleteEdgeDefinition:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a})},modifyEdgeDefinition:function(a){$.ajax({async:!1,type:"PUT",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a.collection,data:JSON.stringify(a)})},addVertexCollection:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/vertex",data:JSON.stringify({collection:a})})},deleteVertexCollection:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/vertex/"+a})},defaults:{name:"",edgeDefinitions:[],orphanCollections:[]}})}(),function(){"use strict";window.newArangoLog=Backbone.Model.extend({defaults:{lid:"",level:"",timestamp:"",text:"",totalAmount:""},getLogStatus:function(){switch(this.get("level")){case 1:return"Error";case 2:return"Warning";case 3:return"Info";case 4:return"Debug";default:return"Unknown"}}})}(),function(){"use strict";window.Notification=Backbone.Model.extend({defaults:{title:"",date:0,content:"",priority:"",tags:"",seen:!1}})}(),function(){"use strict";window.queryManagementModel=Backbone.Model.extend({defaults:{id:"",query:"",started:"",runTime:""}})}(),function(){"use strict";window.workMonitorModel=Backbone.Model.extend({defaults:{name:"",number:"",status:"",type:""}})}(),function(){"use strict";window.AutomaticRetryCollection=Backbone.Collection.extend({_retryCount:0,checkRetries:function(){var a=this;return this.updateUrl(),this._retryCount>10?(window.setTimeout(function(){a._retryCount=0},1e4),window.App.clusterUnreachable(),!1):!0},successFullTry:function(){this._retryCount=0},failureTry:function(a,b,c){401===c.status?window.App.requestAuth():(window.App.clusterPlan.rotateCoordinator(),this._retryCount++,a())}})}(),function(){"use strict";window.PaginatedCollection=Backbone.Collection.extend({page:0,pagesize:10,totalAmount:0,getPage:function(){return this.page+1},setPage:function(a){return a>=this.getLastPageNumber()?void(this.page=this.getLastPageNumber()-1):1>a?void(this.page=0):void(this.page=a-1)},getLastPageNumber:function(){return Math.max(Math.ceil(this.totalAmount/this.pagesize),1)},getOffset:function(){return this.page*this.pagesize},getPageSize:function(){return this.pagesize},setPageSize:function(a){if("all"===a)this.pagesize="all";else try{a=parseInt(a,10),this.pagesize=a}catch(b){}},setToFirst:function(){this.page=0},setToLast:function(){this.setPage(this.getLastPageNumber())},setToPrev:function(){this.setPage(this.getPage()-1)},setToNext:function(){this.setPage(this.getPage()+1)},setTotal:function(a){this.totalAmount=a},getTotal:function(){return this.totalAmount},setTotalMinusOne:function(){this.totalAmount--}})}(),window.ClusterStatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics",updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host,window.App.registerForUpdate(this)}}),function(){"use strict";window.arangoCollections=Backbone.Collection.extend({url:arangoHelper.databaseUrl("/_api/collection"),model:arangoCollectionModel,searchOptions:{searchPhrase:null,includeSystem:!1,includeDocument:!0,includeEdge:!0,includeLoaded:!0,includeUnloaded:!0,sortBy:"name",sortOrder:1},translateStatus:function(a){switch(a){case 0:return"corrupted";case 1:return"new born collection";case 2:return"unloaded";case 3:return"loaded";case 4:return"unloading";case 5:return"deleted";case 6:return"loading";default:return}},translateTypePicture:function(a){var b="";switch(a){case"document":b+="fa-file-text-o";break;case"edge":b+="fa-share-alt";break;case"unknown":b+="fa-question";break;default:b+="fa-cogs"}return b},parse:function(a){var b=this;return _.each(a.result,function(a){a.isSystem=arangoHelper.isSystemCollection(a),a.type=arangoHelper.collectionType(a),a.status=b.translateStatus(a.status),a.picture=b.translateTypePicture(a.type)}),a.result},getPosition:function(a){var b,c=this.getFiltered(this.searchOptions),d=null,e=null;for(b=0;b0&&(d=c[b-1]),b0){var e,f=d.get("name").toLowerCase();for(e=0;ed?-1:1):0}),b},newCollection:function(a,b){var c={};c.name=a.collName,c.waitForSync=a.wfs,a.journalSize>0&&(c.journalSize=a.journalSize),c.isSystem=a.isSystem,c.type=parseInt(a.collType,10),a.shards&&(c.numberOfShards=a.shards,c.shardKeys=a.keys),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/collection"),data:JSON.stringify(c),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})}})}(),function(){"use strict";window.ArangoDatabase=Backbone.Collection.extend({model:window.DatabaseModel,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/database"),comparator:function(a,b){var c=a.get("name").toLowerCase(),d=b.get("name").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},parse:function(a){return a?_.map(a.result,function(a){return{name:a}}):void 0},initialize:function(){var a=this;this.fetch().done(function(){a.sort()})},setSortingDesc:function(a){this.sortOptions.desc=a},getDatabases:function(){var a=this;return this.fetch().done(function(){a.sort()}),this.models},getDatabasesForUser:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/user",contentType:"application/json",processData:!1,success:function(b){a(!1,b.result.sort())},error:function(){a(!0,[])}})},createDatabaseURL:function(a,b,c){var d=window.location,e=window.location.hash;b=b?"SSL"===b||"https:"===b?"https:":"http:":d.protocol,c=c||d.port;var f=b+"//"+window.location.hostname+":"+c+"/_db/"+encodeURIComponent(a)+"/_admin/aardvark/standalone.html";if(e){var g=e.split("/")[0];0===g.indexOf("#collection")&&(g="#collections"),0===g.indexOf("#service")&&(g="#services"),f+=g}return f},getCurrentDatabase:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/current",contentType:"application/json",processData:!1,success:function(b){200===b.code?a(!1,b.result.name):a(!1,b)},error:function(b){a(!0,b)}})},hasSystemAccess:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):a(!1,_.contains(c,"_system"))}.bind(this);this.getDatabasesForUser(b)}})}(),window.arangoDocument=Backbone.Collection.extend({url:"/_api/document/",model:arangoDocumentModel,collectionInfo:{},deleteEdge:function(a,b,c){this.deleteDocument(a,b,c)},deleteDocument:function(a,b,c){$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),success:function(){c(!1)},error:function(){c(!0)}})},addDocument:function(a,b){var c=this;c.createTypeDocument(a,b)},createTypeEdge:function(a,b,c,d,e){var f;f=d?JSON.stringify({_key:d,_from:b,_to:c}):JSON.stringify({_from:b,_to:c}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:f,contentType:"application/json",processData:!1,success:function(a){e(!1,a)},error:function(a){e(!0,a)}})},createTypeDocument:function(a,b,c){var d;d=b?JSON.stringify({_key:b}):JSON.stringify({}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:d,contentType:"application/json",processData:!1,success:function(a){c(!1,a._id)},error:function(a){c(!0,a._id)}})},getCollectionInfo:function(a,b,c){var d=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+a+"?"+arangoHelper.getRandomToken()),contentType:"application/json",processData:!1,success:function(a){d.collectionInfo=a,b(!1,a,c)},error:function(a){b(!0,a,c)}})},getEdge:function(a,b,c){this.getDocument(a,b,c)},getDocument:function(a,b,c){var d=this;this.clearDocument(),$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),contentType:"application/json",processData:!1,success:function(a){d.add(a),c(!1,a,"document")},error:function(a){d.add(!0,a)}})},saveEdge:function(a,b,c,d){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/edge/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),data:c,contentType:"application/json",processData:!1,success:function(a){d(!1,a)},error:function(a){d(!0,a)}})},saveDocument:function(a,b,c,d){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),data:c,contentType:"application/json",processData:!1,success:function(a){d(!1,a)},error:function(a){d(!0,a)}})},updateLocalDocument:function(a){this.clearDocument(),this.add(a)},clearDocument:function(){this.reset()}}),function(){"use strict";window.arangoDocuments=window.PaginatedCollection.extend({collectionID:1,filters:[],checkCursorTimer:void 0,MAX_SORT:12e3,lastQuery:{},sortAttribute:"",url:arangoHelper.databaseUrl("/_api/documents"),model:window.arangoDocumentModel,loadTotal:function(a){var b=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+this.collectionID+"/count"),contentType:"application/json",processData:!1,success:function(c){b.setTotal(c.count),a(!1)},error:function(){a(!0)}})},setCollection:function(a){var b=function(a){a&&arangoHelper.arangoError("Documents","Could not fetch documents count")}.bind(this);this.resetFilter(),this.collectionID=a,this.setPage(1),this.loadTotal(b)},setSort:function(a){this.sortAttribute=a},getSort:function(){return this.sortAttribute},addFilter:function(a,b,c){this.filters.push({attr:a,op:b,val:c})},setFiltersForQuery:function(a){if(0===this.filters.length)return"";var b=" FILTER",c="",d=_.map(this.filters,function(b,d){return"LIKE"===b.op?(c=" "+b.op+"(x.`"+b.attr+"`, @param",c+=d,c+=")"):(c="IN"===b.op||"NOT IN"===b.op?" ":" x.`",c+=b.attr,c+="IN"===b.op||"NOT IN"===b.op?" ":"` ",c+=b.op,c+="IN"===b.op||"NOT IN"===b.op?" x.@param":" @param",c+=d),a["param"+d]=b.val,c});return b+d.join(" &&")},setPagesize:function(a){this.setPageSize(a)},resetFilter:function(){this.filters=[]},moveDocument:function(a,b,c,d){var e,f,g,h,i={"@collection":b,filterid:a};e="FOR x IN @@collection",e+=" FILTER x._key == @filterid",e+=" INSERT x IN ",e+=c,f="FOR x in @@collection",f+=" FILTER x._key == @filterid",f+=" REMOVE x IN @@collection",g={query:e,bindVars:i},h={query:f,bindVars:i},window.progressView.show(),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(g),contentType:"application/json",success:function(){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(h),contentType:"application/json",success:function(){d&&d(),window.progressView.hide()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Documents inserted, but could not be removed.")}})},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Could not move selected documents.")}})},getDocuments:function(a){var b,c,d,e,f=this;c={"@collection":this.collectionID,offset:this.getOffset(),count:this.getPageSize()},b="FOR x IN @@collection LET att = SLICE(ATTRIBUTES(x), 0, 25)",b+=this.setFiltersForQuery(c),this.getTotal()0&&(a+=" SORT x."+this.getSort()),a+=" RETURN x",b={query:a,bindVars:c}},uploadDocuments:function(a,b){$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/import?type=auto&collection="+encodeURIComponent(this.collectionID)+"&createCollection=false"),data:a,processData:!1,contentType:"json",dataType:"json",complete:function(a){if(4===a.readyState&&201===a.status)b(!1);else try{var c=JSON.parse(a.responseText);if(c.errors>0){var d="At least one error occurred during upload";b(!1,d)}}catch(e){console.log(e)}}})}})}(),function(){"use strict";window.ArangoLogs=window.PaginatedCollection.extend({upto:!1,loglevel:0,totalPages:0,parse:function(a){var b=[];return _.each(a.lid,function(c,d){b.push({level:a.level[d],lid:c,text:a.text[d],timestamp:a.timestamp[d],totalAmount:a.totalAmount})}),this.totalAmount=a.totalAmount,this.totalPages=Math.ceil(this.totalAmount/this.pagesize),b},initialize:function(a){a.upto===!0&&(this.upto=!0),this.loglevel=a.loglevel},model:window.newArangoLog,url:function(){var a,b,c,d;c=this.page*this.pagesize;var e=this.totalAmount-(this.page+1)*this.pagesize;return 0>e&&this.page===this.totalPages-1?(e=0,d=this.totalAmount%this.pagesize):d=this.pagesize,0===this.totalAmount&&(d=1),a=this.upto?"upto":"level",b="/_admin/log?"+a+"="+this.loglevel+"&size="+d+"&offset="+e,arangoHelper.databaseUrl(b)}})}(),function(){"use strict";window.ArangoQueries=Backbone.Collection.extend({initialize:function(a,b){var c=this;$.ajax("whoAmI?_="+Date.now(),{async:!0}).done(function(a){this.activeUser===!1?c.activeUser="root":c.activeUser=a.user})},url:arangoHelper.databaseUrl("/_api/user/"),model:ArangoQuery,activeUser:null,parse:function(a){var b,c=this;return this.activeUser===!1&&(this.activeUser="root"),_.each(a.result,function(a){if(a.user===c.activeUser)try{a.extra.queries&&(b=a.extra.queries)}catch(d){}}),b},saveCollectionQueries:function(a){if(0===this.activeUser)return!1;this.activeUser===!1&&(this.activeUser="root");var b=[];this.each(function(a){b.push({value:a.attributes.value,parameter:a.attributes.parameter,name:a.attributes.name})}),$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.activeUser)),data:JSON.stringify({extra:{queries:b}}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},saveImportQueries:function(a,b){return 0===this.activeUser?!1:(window.progressView.show("Fetching documents..."),void $.ajax({cache:!1,type:"POST",url:"query/upload/"+encodeURIComponent(this.activeUser),data:a,contentType:"application/json",processData:!1,success:function(){window.progressView.hide(),arangoHelper.arangoNotification("Queries successfully imported."),b()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Query error","queries could not be imported")}}))}})}(),window.ArangoReplication=Backbone.Collection.extend({model:window.Replication,url:"../api/user",getLogState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/logger-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getApplyState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/applier-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})}}),window.StatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics"}),window.StatisticsDescriptionCollection=Backbone.Collection.extend({model:window.StatisticsDescription,url:"/_admin/statistics-description",parse:function(a){return a}}),window.ArangoUsers=Backbone.Collection.extend({model:window.Users,activeUser:null,activeUserSettings:{query:{},shell:{},testing:!0},sortOptions:{desc:!1},url:frontendConfig.basePath+"/_api/user",comparator:function(a,b){var c=a.get("user").toLowerCase(),d=b.get("user").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},login:function(a,b,c){var d=this;$.ajax("login",{method:"POST",data:JSON.stringify({username:a,password:b}),dataType:"json"}).success(function(a){d.activeUser=a.user,c(!1,d.activeUser)}).error(function(){d.activeUser=null,c(!0,null)})},setSortingDesc:function(a){this.sortOptions.desc=a},logout:function(){$.ajax("logout",{method:"POST"}),this.activeUser=null,this.reset(),window.App.navigate(""),window.location.reload()},setUserSettings:function(a,b){this.activeUserSettings.identifier=b},loadUserSettings:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:frontendConfig.basePath+"/_api/user/"+encodeURIComponent(b.activeUser),contentType:"application/json",processData:!1,success:function(c){b.activeUserSettings=c.extra,a(!1,c)},error:function(b){a(!0,b)}})},saveUserSettings:function(a){var b=this;$.ajax({cache:!1,type:"PUT",url:frontendConfig.basePath+"/_api/user/"+encodeURIComponent(b.activeUser),data:JSON.stringify({extra:b.activeUserSettings}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},parse:function(a){var b=[];return _.each(a.result,function(a){b.push(a)}),b},whoAmI:function(a){return this.activeUser?void a(!1,this.activeUser):void $.ajax("whoAmI?_="+Date.now()).success(function(b){a(!1,b.user)}).error(function(b){a(!0,null)})}}),function(){"use strict";window.ClusterCoordinators=window.AutomaticRetryCollection.extend({model:window.ClusterCoordinator,url:"/_admin/aardvark/cluster/Coordinators",updateUrl:function(){this.url=window.App.getNewRoute("Coordinators")},initialize:function(){},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.getStatuses.bind(c,a,b))}).done(function(){c.successFullTry(),c.forEach(function(b){a(c.statusClass(b.get("status")),b.get("address"))}),b()})}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].coords=a[c].coords||[],a[c].coords.push(b)}),b(a)})}},checkConnection:function(a){var b=this;this.checkRetries()&&this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.checkConnection.bind(b,a))}).done(function(){b.successFullTry(),a()})}})}(),function(){"use strict";window.ClusterServers=window.AutomaticRetryCollection.extend({model:window.ClusterServer,host:"",url:"/_admin/aardvark/cluster/DBServers",updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a){if(this.checkRetries()){var b=this,c=function(){b.successFullTry(),b._retryCount=0,b.forEach(function(c){a(b.statusClass(c.get("status")),c.get("address"))})};this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.getStatuses.bind(b,a))}).done(c)}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].dbs=a[c].dbs||[],a[c].dbs.push(b)}),b(a)}).error(function(a){console.log("error"),console.log(a)})}},getList:function(){throw"Do not use"},getOverview:function(){throw"Do not use DbServer.getOverview"}})}(),function(){"use strict";window.CoordinatorCollection=Backbone.Collection.extend({model:window.Coordinator,url:"/_admin/aardvark/cluster/Coordinators"})}(),function(){"use strict";window.FoxxCollection=Backbone.Collection.extend({model:window.Foxx,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_admin/aardvark/foxxes"),comparator:function(a,b){var c,d;return this.sortOptions.desc===!0?(c=a.get("mount"),d=b.get("mount"),d>c?1:c>d?-1:0):(c=a.get("mount"),d=b.get("mount"),c>d?1:d>c?-1:0)},setSortingDesc:function(a){this.sortOptions.desc=a},installFromGithub:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/git?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromStore:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/store?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromZip:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/zip?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify({zipFile:a}),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},generate:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/generate?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})}})}(),function(){"use strict";window.GraphCollection=Backbone.Collection.extend({model:window.Graph,sortOptions:{desc:!1},url:frontendConfig.basePath+"/_api/gharial",dropAndDeleteGraph:function(a,b){$.ajax({type:"DELETE",url:frontendConfig.basePath+"/_api/gharial/"+encodeURIComponent(a)+"?dropCollections=true",contentType:"application/json",processData:!0,success:function(){b(!0)},error:function(){b(!1)}})},comparator:function(a,b){var c=a.get("_key")||"",d=b.get("_key")||"";return c=c.toLowerCase(),d=d.toLowerCase(),this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},setSortingDesc:function(a){this.sortOptions.desc=a},parse:function(a){return a.error?void 0:a.graphs}})}(),function(){"use strict";window.NotificationCollection=Backbone.Collection.extend({model:window.Notification,url:""})}(),function(){"use strict";window.QueryManagementActive=Backbone.Collection.extend({model:window.queryManagementModel,url:function(){return frontendConfig.basePath+"/_api/query/current"},killRunningQuery:function(a,b){$.ajax({url:frontendConfig.basePath+"/_api/query/"+encodeURIComponent(a),type:"DELETE",success:function(a){b()}})}})}(),function(){"use strict";window.QueryManagementSlow=Backbone.Collection.extend({model:window.queryManagementModel,url:"/_api/query/slow",deleteSlowQueryHistory:function(a){var b=this;$.ajax({url:b.url,type:"DELETE",success:function(b){a()}})}})}(),function(){"use strict";window.WorkMonitorCollection=Backbone.Collection.extend({model:window.workMonitorModel,url:"/_admin/work-monitor",parse:function(a){return a.work}})}(),function(){"use strict";window.PaginationView=Backbone.View.extend({collection:null,paginationDiv:"",idPrefix:"",rerender:function(){},jumpTo:function(a){this.collection.setPage(a),this.rerender()},firstPage:function(){this.jumpTo(1)},lastPage:function(){this.jumpTo(this.collection.getLastPageNumber())},firstDocuments:function(){this.jumpTo(1)},lastDocuments:function(){this.jumpTo(this.collection.getLastPageNumber())},prevDocuments:function(){this.jumpTo(this.collection.getPage()-1)},nextDocuments:function(){this.jumpTo(this.collection.getPage()+1)},renderPagination:function(){$(this.paginationDiv).html("");var a=this,b=this.collection.getPage(),c=this.collection.getLastPageNumber(),d=$(this.paginationDiv),e={page:b,lastPage:c,click:function(b){var c=window.location.hash.split("/"); +"documents"===c[2]?(e.page=b,window.location.hash=c[0]+"/"+c[1]+"/"+c[2]+"/"+b):(a.jumpTo(b),e.page=b)}};d.html(""),d.pagination(e),$(this.paginationDiv).prepend('
    '),$(this.paginationDiv).append('
    ')}})}(),function(){"use strict";window.ApplicationDetailView=Backbone.View.extend({el:"#content",divs:["#readme","#swagger","#app-info","#sideinformation","#information","#settings"],navs:["#service-info","#service-api","#service-readme","#service-settings"],template:templateEngine.createTemplate("applicationDetailView.ejs"),events:{"click .open":"openApp","click .delete":"deleteApp","click #app-deps":"showDepsDialog","click #app-switch-mode":"toggleDevelopment","click #app-scripts [data-script]":"runScript","click #app-tests":"runTests","click #app-replace":"replaceApp","click #download-app":"downloadApp","click .subMenuEntries li":"changeSubview","mouseenter #app-scripts":"showDropdown","mouseleave #app-scripts":"hideDropdown"},changeSubview:function(a){_.each(this.navs,function(a){$(a).removeClass("active")}),$(a.currentTarget).addClass("active"),_.each(this.divs,function(a){$(".headerButtonBar").hide(),$(a).hide()}),"service-readme"===a.currentTarget.id?$("#readme").show():"service-api"===a.currentTarget.id?$("#swagger").show():"service-info"===a.currentTarget.id?($("#information").show(),$("#sideinformation").show()):"service-settings"===a.currentTarget.id&&(this.showConfigDialog(),$(".headerButtonBar").show(),$("#settings").show())},downloadApp:function(){this.model.isSystem()||this.model.download()},replaceApp:function(){var a=this.model.get("mount");window.foxxInstallView.upgrade(a,function(){window.App.applicationDetail(encodeURIComponent(a))}),$(".createModalDialog .arangoHeader").html("Replace Service"),$("#infoTab").click()},updateConfig:function(){this.model.getConfiguration(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-config")[this.model.needsConfiguration()?"show":"hide"](),this.model.needsConfiguration()?$("#app-config").addClass("error"):$("#app-config").removeClass("error")}.bind(this))},updateDeps:function(){this.model.getDependencies(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-deps")[this.model.hasUnconfiguredDependencies()?"show":"hide"](),this.model.hasUnconfiguredDependencies()?$("#app-deps").addClass("error"):$("#app-deps").removeClass("error")}.bind(this))},toggleDevelopment:function(){this.model.toggleDevelopment(!this.model.isDevelopment(),function(){this.model.isDevelopment()?($(".app-switch-mode").text("Set Production"),$("#app-development-indicator").css("display","inline"),$("#app-development-path").css("display","inline")):($(".app-switch-mode").text("Set Development"),$("#app-development-indicator").css("display","none"),$("#app-development-path").css("display","none"))}.bind(this))},runScript:function(a){a.preventDefault();var b=$(a.currentTarget).attr("data-script"),c=[window.modalView.createBlobEntry("app_script_arguments","Script arguments","",null,"optional",!1,[{rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty"}])],d=[window.modalView.createSuccessButton("Run script",function(){var a=$("#app_script_arguments").val();a=a&&JSON.parse(a),window.modalView.hide(),this.model.runScript(b,a,function(a,c){var d;d=a?"

    The script failed with an error"+(a.statusCode?" (HTTP "+a.statusCode+")":"")+":

    "+a.message+"
    ":c?"

    Script results:

    "+JSON.stringify(c,null,2)+"
    ":"

    The script ran successfully.

    ",window.modalView.show("modalTable.ejs",'Result of script "'+b+'"',void 0,void 0,void 0,d)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run script "'+b+'" on "'+this.model.get("mount")+'"',d,c)},showSwagger:function(a){a.preventDefault(),this.render("swagger")},showReadme:function(a){a.preventDefault(),this.render("readme")},runTests:function(a){a.preventDefault();var b="

    WARNING: Running tests may result in destructive side-effects including data loss. Please make sure not to run tests on a production database.

    ";this.model.isDevelopment()&&(b+="

    WARNING: This app is running in development mode. If any of the tests access the app's HTTP API they may become non-deterministic.

    ");var c=[window.modalView.createSuccessButton("Run tests",function(){window.modalView.hide(),this.model.runTests({reporter:"suite"},function(a,b){window.modalView.show("modalTestResults.ejs","Test results",void 0,void 0,void 0,a||b)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run tests for app "'+this.model.get("mount")+'"',c,void 0,void 0,b)},render:function(a){var b=function(b,c){var d=this;b?arangoHelper.arangoError("DB","Could not get current database"):($(this.el).html(this.template.render({app:this.model,db:c,mode:a})),$.get(this.appUrl(c)).success(function(){$(".open",this.el).prop("disabled",!1)}.bind(this)),this.updateConfig(),this.updateDeps(),"swagger"===a&&$.get("./foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")),function(a){Object.keys(a.paths).length<1&&(d.render("readme"),$("#app-show-swagger").attr("disabled","true"))})),this.breadcrumb()}.bind(this);return arangoHelper.currentDatabase(b),_.isEmpty(this.model.get("config"))&&$("#service-settings").attr("disabled",!0),$(this.el)},breadcrumb:function(){console.log(this.model.toJSON());var a="Service: "+this.model.get("name")+'',b='

    Contributors:';this.model.get("contributors")&&this.model.get("contributors").length>0?_.each(this.model.get("contributors"),function(a){b+=''+a.name+""}):b+="No contributors",b+="

    ",$(".information").append(b),this.model.get("author")&&$(".information").append('

    Author:'+this.model.get("author")+"

    "),this.model.get("mount")&&$(".information").append('

    Mount:'+this.model.get("mount")+"

    "),this.model.get("development")&&this.model.get("path")&&$(".information").append('

    Path:'+this.model.get("path")+"

    "),$("#subNavigationBar .breadcrumb").html(a)},openApp:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current database"):window.open(this.appUrl(b),this.model.get("title")).focus()}.bind(this);arangoHelper.currentDatabase(a)},deleteApp:function(){var a=[window.modalView.createDeleteButton("Delete",function(){var a={teardown:$("#app_delete_run_teardown").is(":checked")};this.model.destroy(a,function(a,b){a||b.error!==!1||(window.modalView.hide(),window.App.navigate("services",{trigger:!0}))})}.bind(this))],b=[window.modalView.createCheckboxEntry("app_delete_run_teardown","Run teardown?",!0,"Should this app's teardown script be executed before removing the app?",!0)];window.modalView.show("modalTable.ejs",'Delete Foxx App mounted at "'+this.model.get("mount")+'"',a,b,void 0,"

    Are you sure? There is no way back...

    ",!0)},appUrl:function(a){return window.location.origin+"/_db/"+encodeURIComponent(a)+this.model.get("mount")},applyConfig:function(){var a={};_.each(this.model.get("config"),function(b,c){var d=$("#app_config_"+c),e=d.val();if("boolean"===b.type||"bool"===b.type)return void(a[c]=d.is(":checked"));if(""===e&&b.hasOwnProperty("default"))return a[c]=b["default"],void("json"===b.type&&(a[c]=JSON.stringify(b["default"])));if("number"===b.type)a[c]=parseFloat(e);else if("integer"===b.type||"int"===b.type)a[c]=parseInt(e,10);else{if("json"!==b.type)return void(a[c]=window.arangoHelper.escapeHtml(e));a[c]=e&&JSON.stringify(JSON.parse(e))}}),this.model.setConfiguration(a,function(){this.updateConfig(),arangoHelper.arangoNotification(this.model.get("name"),"Settings applied.")}.bind(this))},showConfigDialog:function(){if(_.isEmpty(this.model.get("config")))return void $("#settings .buttons").html($("#hidden_buttons").html());var a=_.map(this.model.get("config"),function(a,b){var c=void 0===a["default"]?"":String(a["default"]),d=void 0===a.current?"":String(a.current),e="createTextEntry",f=!1,g=[];return"boolean"===a.type||"bool"===a.type?(e="createCheckboxEntry",a["default"]=a["default"]||!1,c=a["default"]||!1,d=a.current||!1):"json"===a.type?(e="createBlobEntry",c=void 0===a["default"]?"":JSON.stringify(a["default"]),d=void 0===a.current?"":a.current,g.push({rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty."})):"integer"===a.type||"int"===a.type?g.push({rule:Joi.number().integer().optional().allow(""),msg:"Has to be an integer."}):"number"===a.type?g.push({rule:Joi.number().optional().allow(""),msg:"Has to be a number."}):("password"===a.type&&(e="createPasswordEntry"),g.push({rule:Joi.string().optional().allow(""),msg:"Has to be a string."})),void 0===a["default"]&&a.required!==!1&&(f=!0,g.unshift({rule:Joi.any().required(),msg:"This field is required."})),window.modalView[e]("app_config_"+b,b,d,a.description,c,f,g)}),b=[window.modalView.createSuccessButton("Apply",this.applyConfig.bind(this))];window.modalView.show("modalTable.ejs","Configuration",b,a,null,null,null,null,null,"settings"),$(".modal-footer").prepend($("#hidden_buttons").html())},applyDeps:function(){var a={};_.each(this.model.get("deps"),function(b,c){var d=$("#app_deps_"+c);a[c]=window.arangoHelper.escapeHtml(d.val())}),this.model.setDependencies(a,function(){window.modalView.hide(),this.updateDeps()}.bind(this))},showDepsDialog:function(){if(!_.isEmpty(this.model.get("deps"))){var a=_.map(this.model.get("deps"),function(a,b){var c=void 0===a.current?"":String(a.current),d="",e=a.definition.name;"*"!==a.definition.version&&(e+="@"+a.definition.version);var f=[{rule:Joi.string().optional().allow(""),msg:"Has to be a string."}];return a.definition.required&&f.push({rule:Joi.string().required(),msg:"This value is required."}),window.modalView.createTextEntry("app_deps_"+b,a.title,c,e,d,a.definition.required,f)}),b=[window.modalView.createSuccessButton("Apply",this.applyDeps.bind(this))];window.modalView.show("modalTable.ejs","Dependencies",b,a)}},showDropdown:function(){_.isEmpty(this.model.get("scripts"))||$("#scripts_dropdown").show(200)},hideDropdown:function(){$("#scripts_dropdown").hide()}})}(),function(){"use strict";window.ApplicationsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("applicationsView.ejs"),events:{"click #addApp":"createInstallModal","click #foxxToggle":"slideToggle","click #checkDevel":"toggleDevel","click #checkProduction":"toggleProduction","click #checkSystem":"toggleSystem"},fixCheckboxes:function(){this._showDevel?$("#checkDevel").attr("checked","checked"):$("#checkDevel").removeAttr("checked"),this._showSystem?$("#checkSystem").attr("checked","checked"):$("#checkSystem").removeAttr("checked"),this._showProd?$("#checkProduction").attr("checked","checked"):$("#checkProduction").removeAttr("checked"),$("#checkDevel").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkSystem").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkProduction").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),arangoHelper.setCheckboxStatus("#foxxDropdown")},toggleDevel:function(){var a=this;this._showDevel=!this._showDevel,_.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel)}),this.fixCheckboxes()},toggleProduction:function(){var a=this;this._showProd=!this._showProd,_.each(this._installedSubViews,function(b){b.toggle("production",a._showProd)}),this.fixCheckboxes()},toggleSystem:function(){this._showSystem=!this._showSystem;var a=this;_.each(this._installedSubViews,function(b){b.toggle("system",a._showSystem)}),this.fixCheckboxes()},reload:function(){var a=this;_.each(this._installedSubViews,function(a){a.undelegateEvents()}),this.collection.fetch({success:function(){a.createSubViews(),a.render()}})},createSubViews:function(){var a=this;this._installedSubViews={},a.collection.each(function(b){var c=new window.FoxxActiveView({model:b,appsView:a});a._installedSubViews[b.get("mount")]=c})},initialize:function(){this._installedSubViews={},this._showDevel=!0,this._showProd=!0,this._showSystem=!1},slideToggle:function(){$("#foxxToggle").toggleClass("activated"),$("#foxxDropdownOut").slideToggle(200)},createInstallModal:function(a){a.preventDefault(),window.foxxInstallView.install(this.reload.bind(this))},render:function(){this.collection.sort(),$(this.el).html(this.template.render({})),_.each(this._installedSubViews,function(a){$("#installedList").append(a.render())}),this.delegateEvents(),$("#checkDevel").attr("checked",this._showDevel),$("#checkProduction").attr("checked",this._showProd),$("#checkSystem").attr("checked",this._showSystem),arangoHelper.setCheckboxStatus("#foxxDropdown");var a=this;return _.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel),b.toggle("system",a._showSystem)}),arangoHelper.fixTooltips("icon_arangodb","left"),this}})}(),function(){"use strict";window.ClusterView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("clusterView.ejs"),events:{},statsEnabled:!1,historyInit:!1,initDone:!1,interval:5e3,maxValues:100,knownServers:[],chartData:{},charts:{},nvcharts:[],startHistory:{},startHistoryAccumulated:{},initialize:function(a){var b=this;window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),window.setInterval(function(){if("#cluster"===window.location.hash||"#"===window.location.hash){var a=function(a){b.rerenderValues(a),b.rerenderGraphs(a)};b.getCoordStatHistory(a)}},this.interval))},render:function(){this.$el.html(this.template.render({})),this.initDone||(void 0!==this.coordinators.first()?this.getServerStatistics():this.waitForCoordinators(),this.initDone=!0),this.initGraphs()},waitForCoordinators:function(){var a=this;window.setTimeout(function(){a.coordinators?a.getServerStatistics():a.waitForCoordinators()},500)},updateServerTime:function(){this.serverTime=(new Date).getTime()},getServerStatistics:function(){var a=this;this.data=void 0;var b=this.coordinators.first();this.statCollectCoord=new window.ClusterStatisticsCollection([],{host:b.get("address")}),this.statCollectDBS=new window.ClusterStatisticsCollection([],{host:b.get("address")});var c=[];_.each(this.dbServers,function(a){a.each(function(a){c.push(a)})}),_.each(c,function(c){if("ok"===c.get("status")){-1===a.knownServers.indexOf(c.id)&&a.knownServers.push(c.id);var d=new window.Statistics({name:c.id});d.url=b.get("protocol")+"://"+b.get("address")+"/_admin/clusterStatistics?DBserver="+c.get("name"),a.statCollectDBS.add(d)}}),this.coordinators.forEach(function(b){if("ok"===b.get("status")){-1===a.knownServers.indexOf(b.id)&&a.knownServers.push(b.id);var c=new window.Statistics({name:b.id});c.url=b.get("protocol")+"://"+b.get("address")+"/_admin/statistics",a.statCollectCoord.add(c)}});var d=function(b){a.rerenderValues(b),a.rerenderGraphs(b)}.bind(this);a.getCoordStatHistory(d),a.coordinators.fetch({success:function(){a.renderNode(!0)},error:function(){a.renderNode(!1)}})},rerenderValues:function(a){var b=this;this.coordinators.fetch({success:function(){b.renderNode(!0)},error:function(){b.renderNode(!1)}}),this.renderValue("#clusterConnections",Math.round(a.clientConnectionsCurrent)),this.renderValue("#clusterConnectionsAvg",Math.round(a.clientConnections15M));var c=a.physicalMemory,d=a.residentSizeCurrent;this.renderValue("#clusterRam",[d,c])},renderValue:function(a,b,c){if("number"==typeof b)$(a).html(b);else if($.isArray(b)){var d=b[0],e=b[1],f=1/(e/d)*100;$(a).html(f.toFixed(1)+" %")}else"string"==typeof b&&$(a).html(b);c?($(a).addClass("negative"),$(a).removeClass("positive")):($(a).addClass("positive"),$(a).removeClass("negative"))},renderNode:function(a){var b=0,c=0;if(a)if(this.coordinators.each(function(a){"ok"===a.toJSON().status?b++:c++}),c>0){var d=c+b;this.renderValue("#clusterNodes",b+"/"+d,!0)}else this.renderValue("#clusterNodes",b);else this.renderValue("#clusterNodes","OFFLINE",!0)},initValues:function(){var a=["#clusterNodes","#clusterRam","#clusterConnections","#clusterConnectionsAvg"];_.each(a,function(a){$(a).html('')})},graphData:{data:{sent:[],received:[]},http:[],average:[]},checkArraySizes:function(){var a=this;_.each(a.chartsOptions,function(b,c){_.each(b.options,function(b,d){b.values.length>a.maxValues-1&&a.chartsOptions[c].options[d].values.shift()})})},formatDataForGraph:function(a){var b=this;b.historyInit?(b.checkArraySizes(),b.chartsOptions[0].options[0].values.push({x:a.times[a.times.length-1],y:a.bytesSentPerSecond[a.bytesSentPerSecond.length-1]}),b.chartsOptions[0].options[1].values.push({x:a.times[a.times.length-1],y:a.bytesReceivedPerSecond[a.bytesReceivedPerSecond.length-1]}),b.chartsOptions[1].options[0].values.push({x:a.times[a.times.length-1],y:b.calcTotalHttp(a.http,a.bytesSentPerSecond.length-1)}),b.chartsOptions[2].options[0].values.push({x:a.times[a.times.length-1],y:a.avgRequestTime[a.bytesSentPerSecond.length-1]})):(_.each(a.times,function(c,d){b.chartsOptions[0].options[0].values.push({x:c,y:a.bytesSentPerSecond[d]}),b.chartsOptions[0].options[1].values.push({x:c,y:a.bytesReceivedPerSecond[d]}),b.chartsOptions[1].options[0].values.push({x:c,y:b.calcTotalHttp(a.http,d)}),b.chartsOptions[2].options[0].values.push({x:c,y:a.avgRequestTime[d]})}),b.historyInit=!0)},chartsOptions:[{id:"#clusterData",count:2,options:[{area:!0,values:[],key:"Bytes out",color:"rgb(23,190,207)",strokeWidth:2,fillOpacity:.1},{area:!0,values:[],key:"Bytes in",color:"rgb(188, 189, 34)",strokeWidth:2,fillOpacity:.1}]},{id:"#clusterHttp",options:[{area:!0,values:[],key:"Bytes",color:"rgb(0, 166, 90)",fillOpacity:.1}]},{id:"#clusterAverage",data:[],options:[{area:!0,values:[],key:"Bytes",color:"rgb(243, 156, 18)",fillOpacity:.1}]}],initGraphs:function(){var a=this,b="Fetching data...";a.statsEnabled===!1&&(b="Statistics disabled."),_.each(a.chartsOptions,function(c){nv.addGraph(function(){a.charts[c.id]=nv.models.stackedAreaChart().options({useInteractiveGuideline:!0,showControls:!1,noData:b,duration:0}),a.charts[c.id].xAxis.axisLabel("").tickFormat(function(a){var b=new Date(1e3*a);return(b.getHours()<10?"0":"")+b.getHours()+":"+(b.getMinutes()<10?"0":"")+b.getMinutes()+":"+(b.getSeconds()<10?"0":"")+b.getSeconds()}).staggerLabels(!1),a.charts[c.id].yAxis.axisLabel("").tickFormat(function(a){if(null===a)return"N/A";var b=parseFloat(d3.format(".2f")(a));return prettyBytes(b)});var d,e=a.returnGraphOptions(c.id);return e.length>0?_.each(e,function(a,b){c.options[b].values=a}):c.options[0].values=[],d=c.options,a.chartData[c.id]=d3.select(c.id).append("svg").datum(d).transition().duration(300).call(a.charts[c.id]).each("start",function(){window.setTimeout(function(){d3.selectAll(c.id+" *").each(function(){this.__transition__&&(this.__transition__.duration=0)})},0)}),nv.utils.windowResize(a.charts[c.id].update),a.nvcharts.push(a.charts[c.id]),a.charts[c.id]})})},returnGraphOptions:function(a){var b=[];return b="#clusterData"===a?[this.chartsOptions[0].options[0].values,this.chartsOptions[0].options[1].values]:"#clusterHttp"===a?[this.chartsOptions[1].options[0].values]:"#clusterAverage"===a?[this.chartsOptions[2].options[0].values]:[]},rerenderGraphs:function(a){if(this.statsEnabled){var b,c,d=this;this.formatDataForGraph(a),_.each(d.chartsOptions,function(a){c=d.returnGraphOptions(a.id),c.length>0?_.each(c,function(b,c){a.options[c].values=b}):a.options[0].values=[],b=a.options,b[0].values.length>0&&d.historyInit&&d.charts[a.id]&&d.charts[a.id].update()})}},calcTotalHttp:function(a,b){var c=0;return _.each(a,function(a){c+=a[b]}),c},getCoordStatHistory:function(a){var b,c=this,d=[],e={http:{}},f=function(a){return $.get(a,{count:c.statCollectCoord.size()},null,"json")},g=function(a){var b,d=["times"],f=["physicalMemory","residentSizeCurrent","clientConnections15M","clientConnectionsCurrent"],g=["optionsPerSecond","putsPerSecond","headsPerSecond","postsPerSecond","getsPerSecond","deletesPerSecond","othersPerSecond","patchesPerSecond"],h=["bytesSentPerSecond","bytesReceivedPerSecond","avgRequestTime"],i=0;_.each(a,function(a){a.enabled?c.statsEnabled=!0:c.statsEnabled=!1,"object"==typeof a&&(0===i?(_.each(d,function(b){e[b]=a[b]}),_.each(f,function(b){e[b]=a[b]}),_.each(g,function(b){e.http[b]=a[b]}),_.each(h,function(b){e[b]=a[b]})):(_.each(f,function(b){e[b]=e[b]+a[b]}),_.each(g,function(c){b=0,_.each(a[c],function(a){e.http[c][i]=e.http[c][i]+a,b++})}),_.each(h,function(c){b=0,_.each(a[c],function(a){e[c][i]=e[c][i]+a,b++})})),i++)})};this.statCollectCoord.each(function(a){b=a.url+"/short",d.push(f(b))}),$.when.apply($,d).done(function(){var b=[];_.each(d,function(a){b.push(a.responseJSON)}),g(b),a(e)})}})}(),function(){"use strict";window.CollectionListItemView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("collectionsItemView.ejs"),initialize:function(a){this.collectionsView=a.collectionsView},events:{"click .iconSet.icon_arangodb_settings2":"createEditPropertiesModal","click .pull-left":"noop","click .icon_arangodb_settings2":"editProperties","click .spanInfo":"showProperties",click:"selectCollection"},render:function(){return this.model.get("locked")?($(this.el).addClass("locked"),$(this.el).addClass(this.model.get("lockType"))):$(this.el).removeClass("locked"),("loading"===this.model.get("status")||"unloading"===this.model.get("status"))&&$(this.el).addClass("locked"),$(this.el).html(this.template.render({model:this.model})),$(this.el).attr("id","collection_"+this.model.get("name")),this},editProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createEditPropertiesModal())},showProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createInfoModal())},selectCollection:function(a){return $(a.target).hasClass("disabled")?0:this.model.get("locked")?0:"loading"===this.model.get("status")?0:void("unloaded"===this.model.get("status")?this.loadCollection():window.App.navigate("collection/"+encodeURIComponent(this.model.get("name"))+"/documents/1",{trigger:!0}))},noop:function(a){a.stopPropagation()},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.modalView.hide()}}),this.collectionsView.render()},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g)!==Math.pow(2,Math.log2(g)))throw"invalid indexBuckets value"}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);this.model.renameCollection(c,i)}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection error: "+b.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this);this.model.renameCollection(c,j)}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},createEditPropertiesModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a),"loaded"===this.model.get("status")?this.getIndex():$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()}.bind(this);this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#modal-dialog .modal-footer .button-danger").hide(),$("#modal-dialog .modal-footer .button-success").hide(),$("#modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#modal-dialog .modal-footer .button-danger").show(),$("#modal-dialog .modal-footer .button-success").show(),$("#modal-dialog .modal-footer .button-notification").show();var b=($(".index-button-bar")[0],$(".index-button-bar2")[0]);$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},createInfoModal:function(){var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e)}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson"),h=d.checkboxToValue("#newGeoConstraint"),i=d.checkboxToValue("#newGeoIgnoreNull");f={type:"geo",fields:d.stringToArray(a),geoJson:g,constraint:h,ignoreNull:i};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var j=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:j};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var k=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.refreshCollectionsView()};window.modalView.hide(),d.model.createIndex(f,k)},lastTarget:null,prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},refreshCollectionsView:function(){window.App.arangoCollectionsStore.fetch({success:function(){window.App.collectionsView.render()}})},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''), +this.model.set("locked",!1),this.refreshCollectionsView()):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1),this.refreshCollectionsView()),this.refreshCollectionsView()}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.CollectionsView=Backbone.View.extend({el:"#content",el2:"#collectionsThumbnailsIn",searchTimeout:null,refreshRate:1e4,template:templateEngine.createTemplate("collectionsView.ejs"),refetchCollections:function(){var a=this;this.collection.fetch({success:function(){a.checkLockedCollections()}})},checkLockedCollections:function(){var a=function(a,b){var c=this;a?console.log("Could not check locked collections"):(this.collection.each(function(a){a.set("locked",!1)}),_.each(b,function(a){var b=c.collection.findWhere({id:a.collection});b.set("locked",!0),b.set("lockType",a.type),b.set("desc",a.desc)}),this.collection.each(function(a){a.get("locked")||($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").addClass(a.get("status"))),a.get("locked")||"loading"===a.get("status")?($("#collection_"+a.get("name")).addClass("locked"),a.get("locked")?($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")).find(".corneredBadge").addClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("desc"))):$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status"))):($("#collection_"+a.get("name")).removeClass("locked"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").hasClass("inProgress")&&($("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").removeClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").addClass("loaded")),"unloaded"===a.get("status")&&$("#collection_"+a.get("name")+" .icon_arangodb_info").addClass("disabled"))}))}.bind(this);window.arangoHelper.syncAndReturnUninishedAardvarkJobs("index",a)},initialize:function(){var a=this;window.setInterval(function(){"#collections"===window.location.hash&&window.VISIBLE&&a.refetchCollections()},a.refreshRate)},render:function(){this.checkLockedCollections();var a=!1;$("#collectionsDropdown").is(":visible")&&(a=!0),$(this.el).html(this.template.render({})),this.setFilterValues(),a===!0&&$("#collectionsDropdown2").show();var b=this.collection.searchOptions;this.collection.getFiltered(b).forEach(function(a){$("#collectionsThumbnailsIn",this.el).append(new window.CollectionListItemView({model:a,collectionsView:this}).render().el)},this),"none"===$("#collectionsDropdown2").css("display")?$("#collectionsToggle").removeClass("activated"):$("#collectionsToggle").addClass("activated");var c;arangoHelper.setCheckboxStatus("#collectionsDropdown");try{c=b.searchPhrase.length}catch(d){}return $("#searchInput").val(b.searchPhrase),$("#searchInput").focus(),$("#searchInput")[0].setSelectionRange(c,c),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","left"),this},events:{"click #createCollection":"createCollection","keydown #searchInput":"restrictToSearchPhraseKey","change #searchInput":"restrictToSearchPhrase","click #searchSubmit":"restrictToSearchPhrase","click .checkSystemCollections":"checkSystem","click #checkLoaded":"checkLoaded","click #checkUnloaded":"checkUnloaded","click #checkDocument":"checkDocument","click #checkEdge":"checkEdge","click #sortName":"sortName","click #sortType":"sortType","click #sortOrder":"sortOrder","click #collectionsToggle":"toggleView","click .css-label":"checkBoxes"},updateCollectionsView:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},toggleView:function(){$("#collectionsToggle").toggleClass("activated"),$("#collectionsDropdown2").slideToggle(200)},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},checkSystem:function(){var a=this.collection.searchOptions,b=a.includeSystem;a.includeSystem=$(".checkSystemCollections").is(":checked")===!0,b!==a.includeSystem&&this.render()},checkEdge:function(){var a=this.collection.searchOptions,b=a.includeEdge;a.includeEdge=$("#checkEdge").is(":checked")===!0,b!==a.includeEdge&&this.render()},checkDocument:function(){var a=this.collection.searchOptions,b=a.includeDocument;a.includeDocument=$("#checkDocument").is(":checked")===!0,b!==a.includeDocument&&this.render()},checkLoaded:function(){var a=this.collection.searchOptions,b=a.includeLoaded;a.includeLoaded=$("#checkLoaded").is(":checked")===!0,b!==a.includeLoaded&&this.render()},checkUnloaded:function(){var a=this.collection.searchOptions,b=a.includeUnloaded;a.includeUnloaded=$("#checkUnloaded").is(":checked")===!0,b!==a.includeUnloaded&&this.render()},sortName:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortName").is(":checked")===!0?"name":"type",b!==a.sortBy&&this.render()},sortType:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortType").is(":checked")===!0?"type":"name",b!==a.sortBy&&this.render()},sortOrder:function(){var a=this.collection.searchOptions,b=a.sortOrder;a.sortOrder=$("#sortOrder").is(":checked")===!0?-1:1,b!==a.sortOrder&&this.render()},setFilterValues:function(){var a=this.collection.searchOptions;$("#checkLoaded").attr("checked",a.includeLoaded),$("#checkUnloaded").attr("checked",a.includeUnloaded),$(".checkSystemCollections").attr("checked",a.includeSystem),$("#checkEdge").attr("checked",a.includeEdge),$("#checkDocument").attr("checked",a.includeDocument),$("#sortName").attr("checked","type"!==a.sortBy),$("#sortType").attr("checked","type"===a.sortBy),$("#sortOrder").attr("checked",1!==a.sortOrder)},search:function(){var a=this.collection.searchOptions,b=$("#searchInput").val();b!==a.searchPhrase&&(a.searchPhrase=b,this.render())},resetSearch:function(){this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null);var a=this.collection.searchOptions;a.searchPhrase=null},restrictToSearchPhraseKey:function(){var a=this;this.resetSearch(),a.searchTimeout=setTimeout(function(){a.search()},200)},restrictToSearchPhrase:function(){this.resetSearch(),this.search()},createCollection:function(a){a.preventDefault(),this.createNewCollectionModal()},submitCreateCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=$("#new-collection-name").val(),d=$("#new-collection-size").val(),e=$("#new-replication-factor").val(),f=$("#new-collection-type").val(),g=$("#new-collection-sync").val(),h=1,i=[];if(""===e&&(e=1),b){if(h=$("#new-collection-shards").val(),""===h&&(h=1),h=parseInt(h,10),1>h)return arangoHelper.arangoError("Number of shards has to be an integer value greater or equal 1"),0;i=_.pluck($("#new-collection-shardBy").select2("data"),"text"),0===i.length&&i.push("_key")}if("_"===c.substr(0,1))return arangoHelper.arangoError('No "_" allowed as first character!'),0;var j=!1,k="true"===g;if(d>0)try{d=1024*JSON.parse(d)*1024}catch(l){return arangoHelper.arangoError("Please enter a valid number"),0}if(""===c)return arangoHelper.arangoError("No collection name entered!"),0;var m=function(a,b){if(a)try{b=JSON.parse(b.responseText),arangoHelper.arangoError("Error",b.errorMessage)}catch(c){console.log(c)}else this.updateCollectionsView();window.modalView.hide()}.bind(this);this.collection.newCollection({collName:c,wfs:k,isSystem:j,collSize:d,replicationFactor:e,collType:f,shards:h,shardBy:i},m)}}.bind(this);window.isCoordinator(a)},createNewCollectionModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=[],d=[],e={},f=[];d.push(window.modalView.createTextEntry("new-collection-name","Name","",!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),d.push(window.modalView.createSelectEntry("new-collection-type","Type","","The type of the collection to create.",[{value:2,label:"Document"},{value:3,label:"Edge"}])),b&&(d.push(window.modalView.createTextEntry("new-collection-shards","Shards","","The number of shards to create. You cannot change this afterwards. Recommended: DBServers squared","",!0)),d.push(window.modalView.createSelect2Entry("new-collection-shardBy","shardBy","","The keys used to distribute documents on shards. Type the key and press return to add it.","_key",!1))),c.push(window.modalView.createSuccessButton("Save",this.submitCreateCollection.bind(this))),f.push(window.modalView.createTextEntry("new-collection-size","Journal size","","The maximal size of a journal or datafile (in MB). Must be at least 1.","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),window.App.isCluster&&f.push(window.modalView.createTextEntry("new-replication-factor","Replication factor","","Numeric value. Default is '1'. Description: TODO","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),f.push(window.modalView.createSelectEntry("new-collection-sync","Wait for sync","","Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}])),e.header="Advanced",e.content=f,window.modalView.show("modalTable.ejs","New Collection",c,d,e)}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";function a(a,b){return(void 0===a||null===a)&&(a=0),a.toFixed(b)}window.DashboardView=Backbone.View.extend({el:"#content",interval:1e4,defaultTimeFrame:12e5,defaultDetailFrame:1728e5,history:{},graphs:{},events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},tendencies:{asyncPerSecondCurrent:["asyncPerSecondCurrent","asyncPerSecondPercentChange"],syncPerSecondCurrent:["syncPerSecondCurrent","syncPerSecondPercentChange"],clientConnectionsCurrent:["clientConnectionsCurrent","clientConnectionsPercentChange"],clientConnectionsAverage:["clientConnections15M","clientConnections15MPercentChange"],numberOfThreadsCurrent:["numberOfThreadsCurrent","numberOfThreadsPercentChange"],numberOfThreadsAverage:["numberOfThreads15M","numberOfThreads15MPercentChange"],virtualSizeCurrent:["virtualSizeCurrent","virtualSizePercentChange"],virtualSizeAverage:["virtualSize15M","virtualSize15MPercentChange"]},barCharts:{totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]},barChartsElementNames:{queueTimeDistributionPercent:"Queue",requestTimeDistributionPercent:"Computation",bytesSentDistributionPercent:"Bytes sent",bytesReceivedDistributionPercent:"Bytes received"},getDetailFigure:function(a){var b=$(a.currentTarget).attr("id").replace(/ChartButton/g,"");return b},showDetail:function(a){var b,c=this,d=this.getDetailFigure(a);b=this.dygraphConfig.getDetailChartConfig(d),this.getHistoryStatistics(d),this.detailGraphFigure=d,window.modalView.hideFooter=!0,window.modalView.hide(),window.modalView.show("modalGraph.ejs",b.header,void 0,void 0,void 0,void 0,this.events),window.modalView.hideFooter=!1,$("#modal-dialog").on("hidden",function(){c.hidden()}),$("#modal-dialog").toggleClass("modal-chart-detail",!0),b.height=.7*$(window).height(),b.width=$(".modal-inner-detail").width(),b.labelsDiv=$(b.labelsDiv)[0],this.detailGraph=new Dygraph(document.getElementById("lineChartDetail"),this.history[this.server][d],b)},hidden:function(){this.detailGraph.destroy(),delete this.detailGraph,delete this.detailGraphFigure},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},prepareDygraphs:function(){var a,b=this;this.dygraphConfig.getDashBoardFigures().forEach(function(c){a=b.dygraphConfig.getDefaultConfig(c);var d=b.getCurrentSize(a.div);a.height=d.height,a.width=d.width,b.graphs[c]=new Dygraph(document.getElementById(a.div),b.history[b.server][c]||[],a)})},initialize:function(a){this.options=a,this.dygraphConfig=a.dygraphConfig,this.d3NotInitialized=!0,this.events["click .dashboard-sub-bar-menu-sign"]=this.showDetail.bind(this),this.events["mousedown .dygraph-rangesel-zoomhandle"]=this.stopUpdating.bind(this),this.events["mouseup .dygraph-rangesel-zoomhandle"]=this.startUpdating.bind(this),this.serverInfo=a.serverToShow,this.serverInfo?this.server=this.serverInfo.target:this.server="-local-",this.history[this.server]={}},toggleViews:function(a){var b=a.currentTarget.id.split("-")[0],c=this,d=["replication","requests","system"];_.each(d,function(a){b!==a?$("#"+a).hide():($("#"+a).show(),c.resize(),$(window).resize())}),$(".subMenuEntries").children().removeClass("active"),$("#"+b+"-statistics").addClass("active"),window.setTimeout(function(){c.resize(),$(window).resize()},200)},cleanupHistory:function(a){if(this.history[this.server].hasOwnProperty(a)&&this.history[this.server][a].length>this.defaultTimeFrame/this.interval)for(;this.history[this.server][a].length>this.defaultTimeFrame/this.interval;)this.history[this.server][a].shift()},updateCharts:function(){var a=this;return this.detailGraph?void this.updateLineChart(this.detailGraphFigure,!0):(this.prepareD3Charts(this.isUpdating),this.prepareResidentSize(this.isUpdating),this.updateTendencies(),void Object.keys(this.graphs).forEach(function(b){a.updateLineChart(b,!1)}))},updateTendencies:function(){var a=this,b=this.tendencies,c="";Object.keys(b).forEach(function(b){var d="",e=0;a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)&&(e=a.history[a.server][b][1]),0>e?c="#d05448":(c="#7da817",d="+"),a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)?$("#"+b).html(a.history[a.server][b][0]+'
    '+d+e+"%"):$("#"+b).html('

    data not ready yet

    ')})},updateDateWindow:function(a,b){var c,d,e=(new Date).getTime();return b&&a.dateWindow_?(c=a.dateWindow_[0],d=e-a.dateWindow_[1]-5*this.interval>0?a.dateWindow_[1]:e,[c,d]):[e-this.defaultTimeFrame,e]},updateLineChart:function(a,b){var c=b?this.detailGraph:this.graphs[a],d={file:this.history[this.server][a],dateWindow:this.updateDateWindow(c,b)},e=0,f=[];_.each(d.file,function(a){var b=a[0].getSeconds()-a[0].getSeconds()%10;d.file[e][0].setSeconds(b),f.push(d.file[e][0]),e++});for(var g=new Date(Math.max.apply(null,f)),h=new Date(Math.min.apply(null,f)),i=new Date(h.getTime()),j=[],k=[];g>i;)i=new Date(i.setSeconds(i.getSeconds()+10)),k.push(i);_.each(k,function(a){var b=!1;_.each(d.file,function(c){Math.floor(a.getTime()/1e3)===Math.floor(c[0].getTime()/1e3)&&(b=!0)}),b===!1&&a1)){var f=0,g=0;9===c.length&&(f+=c[1],f+=c[6],f+=c[7],f+=c[8],g+=c[2],g+=c[3],g+=c[4],g+=c[5],c=[c[0],f,g]),d.history[d.server][e].push(c)}})},cutOffHistory:function(a,b){for(var c,d=this;0!==d.history[d.server][a].length&&(c=d.history[d.server][a][0][0],!(c>=b));)d.history[d.server][a].shift()},cutOffDygraphHistory:function(a){var b=this,c=new Date(a);this.dygraphConfig.getDashBoardFigures(!0).forEach(function(a){b.dygraphConfig.mapStatToFigure[a]&&b.history[b.server][a]&&b.cutOffHistory(a,c)})},mergeHistory:function(b){var c,d=this;for(c=0;c=0;--c)d.values.push({label:this.getLabel(b[a[0]].cuts,c),value:b[a[0]].values[c]}),e.values.push({label:this.getLabel(b[a[1]].cuts,c),value:b[a[1]].values[c]});return[d,e]},getLabel:function(a,b){return a[b]?0===b?"0 - "+a[b]:a[b-1]+" - "+a[b]:">"+a[b-1]},renderReplicationStatistics:function(a){$("#repl-numbers table tr:nth-child(1) > td:nth-child(2)").html(a.state.totalEvents),$("#repl-numbers table tr:nth-child(2) > td:nth-child(2)").html(a.state.totalRequests),$("#repl-numbers table tr:nth-child(3) > td:nth-child(2)").html(a.state.totalFailedConnects),a.state.lastAppliedContinuousTick?$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html(a.state.lastAppliedContinuousTick):$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastProcessedContinuousTick?$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html(a.state.lastProcessedContinuousTick):$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastAvailableContinuousTick?$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html(a.state.lastAvailableContinuousTick):$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html("no data available").addClass("no-data"),$("#repl-progress table tr:nth-child(1) > td:nth-child(2)").html(a.state.progress.message),$("#repl-progress table tr:nth-child(2) > td:nth-child(2)").html(a.state.progress.time),$("#repl-progress table tr:nth-child(3) > td:nth-child(2)").html(a.state.progress.failedConnects)},getReplicationStatistics:function(){var a=this;$.ajax(arangoHelper.databaseUrl("/_api/replication/applier-state"),{async:!0}).done(function(b){if(b.hasOwnProperty("state")){var c;c=b.state.running?"active":"inactive",c=''+c+"",$("#replication-chart .dashboard-sub-bar").html("Replication "+c),a.renderReplicationStatistics(b)}})},getStatistics:function(a,b){var c=this,d=arangoHelper.databaseUrl("/_admin/aardvark/statistics/short","_system"),e="?start=";e+=c.nextStart?c.nextStart:((new Date).getTime()-c.defaultTimeFrame)/1e3,"-local-"!==c.server&&(d=c.serverInfo.endpoint+"/_admin/aardvark/statistics/cluster",e+="&type=short&DBserver="+c.serverInfo.target,c.history.hasOwnProperty(c.server)||(c.history[c.server]={})),$.ajax(d+e,{async:!0,xhrFields:{withCredentials:!0},crossDomain:!0}).done(function(d){d.times.length>0&&(c.isUpdating=!0,c.mergeHistory(d)),c.isUpdating!==!1&&(a&&a(d.enabled,b),c.updateCharts())}).error(function(a){console.log("stat fetch req error"),console.log(a)}),this.getReplicationStatistics()},getHistoryStatistics:function(a){var b=this,c="statistics/long",d="?filter="+this.dygraphConfig.mapStatToFigure[a].join();"-local-"!==b.server&&(c=b.server.endpoint+"/_admin/aardvark/statistics/cluster",d+="&type=long&DBserver="+b.server.target,b.history.hasOwnProperty(b.server)||(b.history[b.server]={}));var e=window.location.href.split("/"),f=e[0]+"//"+e[2]+"/"+e[3]+"/_system/"+e[5]+"/"+e[6]+"/";$.ajax(f+c+d,{async:!0}).done(function(c){var d;for(b.history[b.server][a]=[],d=0;d data not ready yet

    '),$("#totalTimeDistribution").prepend('

    data not ready yet

    '),$(".dashboard-bar-chart-title").append('

    data not ready yet

    '))},removeEmptyDataLabels:function(){$(".dataNotReadyYet").remove()},prepareResidentSize:function(b){var c=this,d=this.getCurrentSize("#residentSizeChartContainer"),e=c.history[c.server].residentSizeCurrent/1024/1024,f="";f=1025>e?a(e,2)+" MB":a(e/1024,2)+" GB";var g=a(100*c.history[c.server].residentSizePercent,2),h=[a(c.history[c.server].physicalMemory/1024/1024/1024,0)+" GB"];return void 0===c.history[c.server].residentSizeChart?void this.addEmptyDataLabels():(this.removeEmptyDataLabels(),void nv.addGraph(function(){var a=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,right:1,bottom:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,left:1}).showValues(!1).showYAxis(!1).showXAxis(!1).showLegend(!1).showControls(!1).stacked(!0);return a.yAxis.tickFormat(function(a){return a+"%"}).showMaxMin(!1),a.xAxis.showMaxMin(!1),d3.select("#residentSizeChart svg").datum(c.history[c.server].residentSizeChart).call(a),d3.select("#residentSizeChart svg").select(".nv-zeroLine").remove(),b&&(d3.select("#residentSizeChart svg").select("#total").remove(),d3.select("#residentSizeChart svg").select("#percentage").remove()),d3.select(".dashboard-bar-chart-title .percentage").html(f+" ("+g+" %)"),d3.select(".dashboard-bar-chart-title .absolut").html(h[0]),nv.utils.windowResize(a.update),a},function(){d3.selectAll("#residentSizeChart .nv-bar").on("click",function(){})}))},prepareD3Charts:function(b){var c=this,d={totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]};this.d3NotInitialized&&(b=!1,this.d3NotInitialized=!1),_.each(Object.keys(d),function(b){var d=c.getCurrentSize("#"+b+"Container .dashboard-interior-chart"),e="#"+b+"Container svg";return void 0===c.history[c.server].residentSizeChart?void c.addEmptyDataLabels():(c.removeEmptyDataLabels(),void nv.addGraph(function(){var f=[0,.25,.5,.75,1],g=75,h=23,i=6;d.width<219?(f=[0,.5,1],g=72,h=21,i=5):d.width<299?(f=[0,.3334,.6667,1],g=77):d.width<379?g=87:d.width<459?g=95:d.width<539?g=100:d.width<619&&(g=105);var j=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:5,right:20,bottom:h,left:g}).showValues(!1).showYAxis(!0).showXAxis(!0).showLegend(!1).showControls(!1).forceY([0,1]);j.yAxis.showMaxMin(!1);d3.select(".nv-y.nv-axis").selectAll("text").attr("transform","translate (0, "+i+")");return j.yAxis.tickValues(f).tickFormat(function(b){return a(100*b*100/100,0)+"%"}),d3.select(e).datum(c.history[c.server][b]).call(j),nv.utils.windowResize(j.update),j},function(){d3.selectAll(e+" .nv-bar").on("click",function(){})}))})},stopUpdating:function(){this.isUpdating=!1},startUpdating:function(){var a=this;a.timer||(a.timer=window.setInterval(function(){window.App.isCluster?window.location.hash.indexOf(a.serverInfo.target)>-1&&a.getStatistics():a.getStatistics()},a.interval))},resize:function(){if(this.isUpdating){var a,b=this;_.each(this.graphs,function(c){a=b.getCurrentSize(c.maindiv_.id),c.resize(a.width,a.height)}),this.detailGraph&&(a=this.getCurrentSize(this.detailGraph.maindiv_.id),this.detailGraph.resize(a.width,a.height)),this.prepareD3Charts(!0),this.prepareResidentSize(!0)}},template:templateEngine.createTemplate("dashboardView.ejs"),render:function(a){var b=function(a,b){return b||$(this.el).html(this.template.render()),a&&"_system"===frontendConfig.db?(this.prepareDygraphs(),this.isUpdating&&(this.prepareD3Charts(),this.prepareResidentSize(),this.updateTendencies(),$(window).trigger("resize")),this.startUpdating(),void $(window).resize()):($(this.el).html(""),void(this.server?$(this.el).append('
    Server statistics ('+this.server+") are disabled.
    "):$(this.el).append('
    Server statistics are disabled.
    ')))}.bind(this),c=function(){$(this.el).html(""),$(".contentDiv").remove(),$(".headerBar").remove(),$(".dashboard-headerbar").remove(),$(".dashboard-row").remove(),$(this.el).append('
    You do not have permission to view this page.
    '),$(this.el).append("
    You can switch to '_system' to see the dashboard.
    ")}.bind(this);if("_system"!==frontendConfig.db)return void c();var d=function(d,e){d||(e?this.getStatistics(b,a):c())}.bind(this);void 0===window.App.currentDB.get("name")?window.setTimeout(function(){return"_system"!==window.App.currentDB.get("name")?void c():void this.options.database.hasSystemAccess(d)}.bind(this),300):this.options.database.hasSystemAccess(d)}})}(),function(){"use strict";window.databaseView=Backbone.View.extend({users:null,el:"#content",template:templateEngine.createTemplate("databaseView.ejs"),dropdownVisible:!1,currentDB:"",events:{"click #createDatabase":"createDatabase","click #submitCreateDatabase":"submitCreateDatabase","click .editDatabase":"editDatabase","click .icon":"editDatabase","click #selectDatabase":"updateDatabase","click #submitDeleteDatabase":"submitDeleteDatabase","click .contentRowInactive a":"changeDatabase","keyup #databaseSearchInput":"search","click #databaseSearchSubmit":"search","click #databaseToggle":"toggleSettingsDropdown","click .css-label":"checkBoxes","click #dbSortDesc":"sorting"},sorting:function(){$("#dbSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#databaseDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},initialize:function(){this.collection.fetch({async:!0})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},render:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current db properties"):(this.currentDB=b,this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:"",currentDB:this.currentDB})),this.dropdownVisible===!0&&($("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").show()),arangoHelper.setCheckboxStatus("#databaseDropdown"),this.replaceSVGs())}.bind(this);return this.collection.getCurrentDatabase(a),this},toggleSettingsDropdown:function(){$("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").slideToggle(200)},selectedDatabase:function(){return $("#selectDatabases").val()},handleError:function(a,b,c){return 409===a?void arangoHelper.arangoError("DB","Database "+c+" already exists."):400===a?void arangoHelper.arangoError("DB","Invalid Parameters"):403===a?void arangoHelper.arangoError("DB","Insufficent rights. Execute this from _system database"):void 0},validateDatabaseInfo:function(a,b){return""===b?(arangoHelper.arangoError("DB","You have to define an owner for the new database"),!1):""===a?(arangoHelper.arangoError("DB","You have to define a name for the new database"),!1):0===a.indexOf("_")?(arangoHelper.arangoError("DB ","Databasename should not start with _"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("DB","Databasename may only contain numbers, letters, _ and -"),!1)},createDatabase:function(a){a.preventDefault(),this.createAddDatabaseModal()},switchDatabase:function(a){if(!$(a.target).parent().hasClass("iconSet")){var b=$(a.currentTarget).find("h5").text();if(""!==b){var c=this.collection.createDatabaseURL(b);window.location.replace(c)}}},submitCreateDatabase:function(){var a,b=this,c=$("#newDatabaseName").val(),d=$("#newUser").val();if(a="true"===$("#useDefaultPassword").val()?"ARANGODB_DEFAULT_ROOT_PASSWORD":$("#newPassword").val(),this.validateDatabaseInfo(c,d,a)){var e={name:c,users:[{username:d,passwd:a,active:!0}]};this.collection.create(e,{wait:!0,error:function(a,d){b.handleError(d.status,d.statusText,c)},success:function(){b.updateDatabases(),window.modalView.hide(),window.App.naviView.dbSelectionView.render($("#dbSelect"))}})}},submitDeleteDatabase:function(a){var b=this.collection.where({name:a});b[0].destroy({wait:!0,url:arangoHelper.databaseUrl("/_api/database/"+a)}),this.updateDatabases(),window.App.naviView.dbSelectionView.render($("#dbSelect")),window.modalView.hide()},changeDatabase:function(a){var b=$(a.currentTarget).attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},updateDatabases:function(){var a=this;this.collection.fetch({success:function(){a.render(),window.App.handleSelectDatabase(); +}})},editDatabase:function(a){var b=this.evaluateDatabaseName($(a.currentTarget).attr("id"),"_edit-database"),c=!0;b===this.currentDB&&(c=!1),this.createEditDatabaseModal(b,c)},search:function(){var a,b,c,d;a=$("#databaseSearchInput"),b=$("#databaseSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("name").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b,currentDB:this.currentDB})),this.replaceSVGs(),a=$("#databaseSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","tile-icon-svg").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},evaluateDatabaseName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},createEditDatabaseModal:function(a,b){var c=[],d=[];d.push(window.modalView.createReadOnlyEntry("id_name","Name",a,"")),b?c.push(window.modalView.createDeleteButton("Delete",this.submitDeleteDatabase.bind(this,a))):c.push(window.modalView.createDisabledButton("Delete")),window.modalView.show("modalTable.ejs","Delete database",c,d)},createAddDatabaseModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newDatabaseName","Name","",!1,"Database Name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Database name must start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No database name given."}])),b.push(window.modalView.createTextEntry("newUser","Username",null!==this.users?this.users.whoAmI():"root","Please define the owner of this database. This will be the only user having initial access to this database if authentication is turned on. Please note that if you specify a username different to your account you will not be able to access the database with your account after having creating it. Specifying a username is mandatory even with authentication turned off. If there is a failure you will be informed.","Database Owner",!0,[{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createSelectEntry("useDefaultPassword","Use default password",!0,"Read the password from the environment variable ARANGODB_DEFAULT_ROOT_PASSWORD.",[{value:!1,label:"No"},{value:!0,label:"Yes"}])),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateDatabase.bind(this))),window.modalView.show("modalTable.ejs","Create Database",a,b),$("#useDefaultPassword").change(function(){"true"===$("#useDefaultPassword").val()?$("#row_newPassword").hide():$("#row_newPassword").show()}),$("#row_newPassword").hide()}})}(),function(){"use strict";window.DBSelectionView=Backbone.View.extend({template:templateEngine.createTemplate("dbSelectionView.ejs"),events:{"click .dbSelectionLink":"changeDatabase"},initialize:function(a){this.current=a.current},changeDatabase:function(a){var b=$(a.currentTarget).closest(".dbSelectionLink.tab").attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},render:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):(this.$el=a,this.$el.html(this.template.render({list:c,current:this.current.get("name")})),this.delegateEvents())}.bind(this);return this.collection.getDatabasesForUser(b),this.el}})}(),function(){"use strict";var a=function(a){var b=a.split("/");return"collection/"+encodeURIComponent(b[0])+"/"+encodeURIComponent(b[1])};window.DocumentView=Backbone.View.extend({el:"#content",colid:0,docid:0,customView:!1,defaultMode:"tree",template:templateEngine.createTemplate("documentView.ejs"),events:{"click #saveDocumentButton":"saveDocument","click #deleteDocumentButton":"deleteDocumentModal","click #confirmDeleteDocument":"deleteDocument","click #document-from":"navigateToDocument","click #document-to":"navigateToDocument","keydown #documentEditor .ace_editor":"keyPress","keyup .jsoneditor .search input":"checkSearchBox","click .jsoneditor .modes":"storeMode"},checkSearchBox:function(a){""===$(a.currentTarget).val()&&this.editor.expandAll()},storeMode:function(){var a=this;$(".type-modes").on("click",function(b){a.defaultMode=$(b.currentTarget).text().toLowerCase()})},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.saveDocument()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.saveDocument())},editor:0,setType:function(a){a=2===a?"document":"edge";var b=function(a,b,c){if(a)console.log(b),arangoHelper.arangoError("Error","Could not fetch data.");else{var d=c+": ";this.type=c,this.fillInfo(d),this.fillEditor()}}.bind(this);"edge"===a?this.collection.getEdge(this.colid,this.docid,b):"document"===a&&this.collection.getDocument(this.colid,this.docid,b)},deleteDocumentModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-delete-button","Delete","Delete this "+this.type+"?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createDeleteButton("Delete",this.deleteDocument.bind(this))),window.modalView.show("modalTable.ejs","Delete Document",a,b)},deleteDocument:function(){var a=function(){if(this.customView)this.customDeleteFunction();else{var a="collection/"+encodeURIComponent(this.colid)+"/documents/1";window.modalView.hide(),window.App.navigate(a,{trigger:!0})}}.bind(this);if("document"===this.type){var b=function(b){b?arangoHelper.arangoError("Error","Could not delete document"):a()}.bind(this);this.collection.deleteDocument(this.colid,this.docid,b)}else if("edge"===this.type){var c=function(b){b?arangoHelper.arangoError("Edge error","Could not delete edge"):a()}.bind(this);this.collection.deleteEdge(this.colid,this.docid,c)}},navigateToDocument:function(a){var b=$(a.target).attr("documentLink");b&&window.App.navigate(b,{trigger:!0})},fillInfo:function(b){var c=this.collection.first(),d=c.get("_id"),e=c.get("_key"),f=c.get("_rev"),g=c.get("_from"),h=c.get("_to");if($("#document-type").text(b),$("#document-id").text(d),$("#document-key").text(e),$("#document-rev").text(f),g&&h){var i=a(g),j=a(h);$("#document-from").text(g),$("#document-from").attr("documentLink",i),$("#document-to").text(h),$("#document-to").attr("documentLink",j)}else $(".edge-info-container").hide()},fillEditor:function(){var a=this.removeReadonlyKeys(this.collection.first().attributes);$(".disabledBread").last().text(this.collection.first().get("_key")),this.editor.set(a),$(".ace_content").attr("font-size","11pt")},jsonContentChanged:function(){this.enableSaveButton()},resize:function(){$("#documentEditor").height($(".centralRow").height()-300)},render:function(){$(this.el).html(this.template.render({})),$("#documentEditor").height($(".centralRow").height()-300),this.disableSaveButton(),this.breadcrumb();var a=this,b=document.getElementById("documentEditor"),c={change:function(){a.jsonContentChanged()},search:!0,mode:"tree",modes:["tree","code"],iconlib:"fontawesome4"};return this.editor=new JSONEditor(b,c),this.editor.setMode(this.defaultMode),this},removeReadonlyKeys:function(a){return _.omit(a,["_key","_id","_from","_to","_rev"])},saveDocument:function(){if(void 0===$("#saveDocumentButton").attr("disabled"))if("_"===this.collection.first().attributes._id.substr(0,1)){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-save-system-button","Caution","You are modifying a system collection. Really continue?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createSuccessButton("Save",this.confirmSaveDocument.bind(this))),window.modalView.show("modalTable.ejs","Modify System Collection",a,b)}else this.confirmSaveDocument()},confirmSaveDocument:function(){window.modalView.hide();var a;try{a=this.editor.get()}catch(b){return this.errorConfirmation(b),void this.disableSaveButton()}if(a=JSON.stringify(a),"document"===this.type){var c=function(a){a?arangoHelper.arangoError("Error","Could not save document."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveDocument(this.colid,this.docid,a,c)}else if("edge"===this.type){var d=function(a){a?arangoHelper.arangoError("Error","Could not save edge."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveEdge(this.colid,this.docid,a,d)}},successConfirmation:function(){arangoHelper.arangoNotification("Document saved."),$("#documentEditor .tree").animate({backgroundColor:"#C6FFB0"},500),$("#documentEditor .tree").animate({backgroundColor:"#FFFFF"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#C6FFB0"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFFFF"},500)},errorConfirmation:function(a){arangoHelper.arangoError("Document editor: ",a),$("#documentEditor .tree").animate({backgroundColor:"#FFB0B0"},500),$("#documentEditor .tree").animate({backgroundColor:"#FFFFF"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFB0B0"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFFFF"},500)},enableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!1),$("#saveDocumentButton").addClass("button-success"),$("#saveDocumentButton").removeClass("button-close")},disableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!0),$("#saveDocumentButton").addClass("button-close"),$("#saveDocumentButton").removeClass("button-success")},breadcrumb:function(){var a=window.location.hash.split("/");$("#subNavigationBar .breadcrumb").html('Collection: '+a[1]+'Document: '+a[2])},escaped:function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}})}(),function(){"use strict";window.DocumentsView=window.PaginationView.extend({filters:{0:!0},filterId:0,paginationDiv:"#documentsToolbarF",idPrefix:"documents",addDocumentSwitch:!0,activeFilter:!1,lastCollectionName:void 0,restoredFilters:[],editMode:!1,allowUpload:!1,el:"#content",table:"#documentsTableID",template:templateEngine.createTemplate("documentsView.ejs"),collectionContext:{prev:null,next:null},editButtons:["#deleteSelected","#moveSelected"],initialize:function(a){this.documentStore=a.documentStore,this.collectionsStore=a.collectionsStore,this.tableView=new window.TableView({el:this.table,collection:this.collection}),this.tableView.setRowClick(this.clicked.bind(this)),this.tableView.setRemoveClick(this.remove.bind(this))},resize:function(){$("#docPureTable").height($(".centralRow").height()-210),$("#docPureTable .pure-table-body").css("max-height",$("#docPureTable").height()-47)},setCollectionId:function(a,b){this.collection.setCollection(a),this.collection.setPage(b),this.page=b;var c=function(b,c){b?arangoHelper.arangoError("Error","Could not get collection properties."):(this.type=c,this.collection.getDocuments(this.getDocsCallback.bind(this)),this.collectionModel=this.collectionsStore.get(a))}.bind(this);arangoHelper.collectionApiType(a,null,c)},getDocsCallback:function(a){$("#documents_last").css("visibility","hidden"),$("#documents_first").css("visibility","hidden"),a?(window.progressView.hide(),arangoHelper.arangoError("Document error","Could not fetch requested documents.")):a&&void 0===a||(window.progressView.hide(),this.drawTable(),this.renderPaginationElements())},events:{"click #collectionPrev":"prevCollection","click #collectionNext":"nextCollection","click #filterCollection":"filterCollection","click #markDocuments":"editDocuments","click #importCollection":"importCollection","click #exportCollection":"exportCollection","click #filterSend":"sendFilter","click #addFilterItem":"addFilterItem","click .removeFilterItem":"removeFilterItem","click #deleteSelected":"deleteSelectedDocs","click #moveSelected":"moveSelectedDocs","click #addDocumentButton":"addDocumentModal","click #documents_first":"firstDocuments","click #documents_last":"lastDocuments","click #documents_prev":"prevDocuments","click #documents_next":"nextDocuments","click #confirmDeleteBtn":"confirmDelete","click .key":"nop",keyup:"returnPressedHandler","keydown .queryline input":"filterValueKeydown","click #importModal":"showImportModal","click #resetView":"resetView","click #confirmDocImport":"startUpload","click #exportDocuments":"startDownload","change #documentSize":"setPagesize","change #docsSort":"setSorting"},showSpinner:function(){$("#uploadIndicator").show()},hideSpinner:function(){$("#uploadIndicator").hide()},showImportModal:function(){$("#docImportModal").modal("show")},hideImportModal:function(){$("#docImportModal").modal("hide")},setPagesize:function(){var a=$("#documentSize").find(":selected").val();this.collection.setPagesize(a),this.collection.getDocuments(this.getDocsCallback.bind(this))},setSorting:function(){var a=$("#docsSort").val();(""===a||void 0===a||null===a)&&(a="_key"),this.collection.setSort(a)},returnPressedHandler:function(a){13===a.keyCode&&$(a.target).is($("#docsSort"))&&this.collection.getDocuments(this.getDocsCallback.bind(this)),13===a.keyCode&&$("#confirmDeleteBtn").attr("disabled")===!1&&this.confirmDelete()},nop:function(a){a.stopPropagation()},resetView:function(){var a=function(a){a&&arangoHelper.arangoError("Document","Could not fetch documents count")}.bind(this);$("input").val(""),$("select").val("=="),this.removeAllFilterItems(),$("#documentSize").val(this.collection.getPageSize()),$("#documents_last").css("visibility","visible"),$("#documents_first").css("visibility","visible"),this.addDocumentSwitch=!0,this.collection.resetFilter(),this.collection.loadTotal(a),this.restoredFilters=[],this.allowUpload=!1,this.files=void 0,this.file=void 0,$("#confirmDocImport").attr("disabled",!0),this.markFilterToggle(),this.collection.getDocuments(this.getDocsCallback.bind(this))},startDownload:function(){var a=this.collection.buildDownloadDocumentQuery();""!==a||void 0!==a||null!==a?window.open(encodeURI("query/result/download/"+btoa(JSON.stringify(a)))):arangoHelper.arangoError("Document error","could not download documents")},startUpload:function(){var a=function(a,b){a?(arangoHelper.arangoError("Upload",b),this.hideSpinner()):(this.hideSpinner(),this.hideImportModal(),this.resetView())}.bind(this);this.allowUpload===!0&&(this.showSpinner(),this.collection.uploadDocuments(this.file,a))},uploadSetup:function(){var a=this;$("#importDocuments").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],$("#confirmDocImport").attr("disabled",!1),a.allowUpload=!0})},buildCollectionLink:function(a){return"collection/"+encodeURIComponent(a.get("name"))+"/documents/1"},markFilterToggle:function(){this.restoredFilters.length>0?$("#filterCollection").addClass("activated"):$("#filterCollection").removeClass("activated")},editDocuments:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),this.markFilterToggle(),$("#markDocuments").toggleClass("activated"),this.changeEditMode(),$("#filterHeader").hide(),$("#importHeader").hide(),$("#editHeader").slideToggle(200),$("#exportHeader").hide()},filterCollection:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),this.markFilterToggle(),this.activeFilter=!0,$("#importHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide(),$("#filterHeader").slideToggle(200);var a;for(a in this.filters)if(this.filters.hasOwnProperty(a))return void $("#attribute_name"+a).focus()},exportCollection:function(){$("#importCollection").removeClass("activated"),$("#filterHeader").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#exportCollection").toggleClass("activated"),this.markFilterToggle(),$("#exportHeader").slideToggle(200),$("#importHeader").hide(),$("#filterHeader").hide(),$("#editHeader").hide()},importCollection:function(){this.markFilterToggle(),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#importCollection").toggleClass("activated"),$("#exportCollection").removeClass("activated"),$("#importHeader").slideToggle(200),$("#filterHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide()},changeEditMode:function(a){a===!1||this.editMode===!0?($("#docPureTable .pure-table-body .pure-table-row").css("cursor","default"),$(".deleteButton").fadeIn(),$(".addButton").fadeIn(),$(".selected-row").removeClass("selected-row"),this.editMode=!1,this.tableView.setRowClick(this.clicked.bind(this))):($("#docPureTable .pure-table-body .pure-table-row").css("cursor","copy"),$(".deleteButton").fadeOut(),$(".addButton").fadeOut(),$(".selectedCount").text(0),this.editMode=!0,this.tableView.setRowClick(this.editModeClick.bind(this)))},getFilterContent:function(){var a,b,c=[];for(a in this.filters)if(this.filters.hasOwnProperty(a)){b=$("#attribute_value"+a).val();try{b=JSON.parse(b)}catch(d){b=String(b)}""!==$("#attribute_name"+a).val()&&c.push({attribute:$("#attribute_name"+a).val(),operator:$("#operator"+a).val(),value:b})}return c},sendFilter:function(){this.restoredFilters=this.getFilterContent();var a=this;this.collection.resetFilter(),this.addDocumentSwitch=!1,_.each(this.restoredFilters,function(b){void 0!==b.operator&&a.collection.addFilter(b.attribute,b.operator,b.value)}),this.collection.setToFirst(),this.collection.getDocuments(this.getDocsCallback.bind(this)),this.markFilterToggle()},restoreFilter:function(){var a=this,b=0;this.filterId=0,$("#docsSort").val(this.collection.getSort()),_.each(this.restoredFilters,function(c){0!==b&&a.addFilterItem(),void 0!==c.operator&&($("#attribute_name"+b).val(c.attribute),$("#operator"+b).val(c.operator),$("#attribute_value"+b).val(c.value)),b++,a.collection.addFilter(c.attribute,c.operator,c.value)})},addFilterItem:function(){var a=++this.filterId;$("#filterHeader").append('
    '),this.filters[a]=!0},filterValueKeydown:function(a){13===a.keyCode&&this.sendFilter()},removeFilterItem:function(a){var b=a.currentTarget,c=b.id.replace(/^removeFilter/,"");delete this.filters[c],delete this.restoredFilters[c],$(b.parentElement).remove()},removeAllFilterItems:function(){var a,b=$("#filterHeader").children().length;for(a=1;b>=a;a++)$("#removeFilter"+a).parent().remove();this.filters={0:!0},this.filterId=0},addDocumentModal:function(){var a=window.location.hash.split("/")[1],b=[],c=[],d=function(a,d){a?arangoHelper.arangoError("Error","Could not fetch collection type"):"edge"===d?(c.push(window.modalView.createTextEntry("new-edge-from-attr","_from","","document _id: document handle of the linked vertex (incoming relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _from attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-to","_to","","document _id: document handle of the linked vertex (outgoing relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _to attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"the edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)):(c.push(window.modalView.createTextEntry("new-document-key-attr","_key",void 0,"the documents unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addDocument.bind(this))),window.modalView.show("modalTable.ejs","Create document",b,c))}.bind(this);arangoHelper.collectionApiType(a,!0,d)},addEdge:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-edge-from-attr").last().val(),d=$(".modal-body #new-edge-to").last().val(),e=$(".modal-body #new-edge-key-attr").last().val(),f=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create edge");else{window.modalView.hide(),c=c._id.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==e||void 0!==e?this.documentStore.createTypeEdge(b,c,d,e,f):this.documentStore.createTypeEdge(b,c,d,null,f)},addDocument:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-document-key-attr").last().val(),d=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create document");else{window.modalView.hide(),c=c.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},moveSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createTextEntry("move-documents-to","Move to","",!1,"collection-name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),a.push(window.modalView.createSuccessButton("Move",this.confirmMoveSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Move documents",a,b))},confirmMoveSelectedDocs:function(){var a=this.getSelectedDocs(),b=this,c=$(".modal-body").last().find("#move-documents-to").val(),d=function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide()}.bind(this);_.each(a,function(a){b.collection.moveDocument(a,b.collection.collectionID,c,d)})},deleteSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createReadOnlyEntry(void 0,c.length+" documents selected","Do you want to delete all selected documents?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.confirmDeleteSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Delete documents",a,b))},confirmDeleteSelectedDocs:function(){var a=this.getSelectedDocs(),b=[],c=this;_.each(a,function(a){if("document"===c.type){var d=function(a){a?(b.push(!1),arangoHelper.arangoError("Document error","Could not delete document.")):(b.push(!0),c.collection.setTotalMinusOne(),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteDocument(c.collection.collectionID,a,d)}else if("edge"===c.type){var e=function(a){a?(b.push(!1),arangoHelper.arangoError("Edge error","Could not delete edge")):(c.collection.setTotalMinusOne(),b.push(!0),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteEdge(c.collection.collectionID,a,e)}})},getSelectedDocs:function(){var a=[];return _.each($("#docPureTable .pure-table-body .pure-table-row"),function(b){$(b).hasClass("selected-row")&&a.push($($(b).children()[1]).find(".key").text())}),a},remove:function(a){this.docid=$(a.currentTarget).parent().parent().prev().find(".key").text(),$("#confirmDeleteBtn").attr("disabled",!1),$("#docDeleteModal").modal("show")},confirmDelete:function(){$("#confirmDeleteBtn").attr("disabled",!0);var a=window.location.hash.split("/"),b=a[3];"source"!==b&&this.reallyDelete()},reallyDelete:function(){if("document"===this.type){var a=function(a){a?arangoHelper.arangoError("Error","Could not delete document"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteDocument(this.collection.collectionID,this.docid,a)}else if("edge"===this.type){var b=function(a){a?arangoHelper.arangoError("Edge error","Could not delete edge"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteEdge(this.collection.collectionID,this.docid,b)}},editModeClick:function(a){var b=$(a.currentTarget);b.hasClass("selected-row")?b.removeClass("selected-row"):b.addClass("selected-row"),console.log(b);var c=this.getSelectedDocs();$(".selectedCount").text(c.length),_.each(this.editButtons,function(a){c.length>0?($(a).prop("disabled",!1),$(a).removeClass("button-neutral"),$(a).removeClass("disabled"),"#moveSelected"===a?$(a).addClass("button-success"):$(a).addClass("button-danger")):($(a).prop("disabled",!0),$(a).addClass("disabled"),$(a).addClass("button-neutral"),"#moveSelected"===a?$(a).removeClass("button-success"):$(a).removeClass("button-danger"))})},clicked:function(a){var b,c=a.currentTarget,d=$(c).attr("id").substr(4);try{b="collection/"+this.collection.collectionID+"/"+d,decodeURI(d)}catch(e){b="collection/"+this.collection.collectionID+"/"+encodeURIComponent(d)}window.location.hash=b},drawTable:function(){this.tableView.setElement($("#docPureTable")).render(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),$(".prettify").snippet("javascript",{style:"nedit",menu:!1,startText:!1,transparent:!0,showNum:!1}),this.resize()},checkCollectionState:function(){this.lastCollectionName===this.collectionName?this.activeFilter&&(this.filterCollection(),this.restoreFilter()):void 0!==this.lastCollectionName&&(this.collection.resetFilter(),this.collection.setSort(""),this.restoredFilters=[],this.activeFilter=!1)},render:function(){return $(this.el).html(this.template.render({})),2===this.type?this.type="document":3===this.type&&(this.type="edge"),this.tableView.setElement($(this.table)).drawLoading(),this.collectionContext=this.collectionsStore.getPosition(this.collection.collectionID),this.collectionName=window.location.hash.split("/")[1],this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Content"),this.checkCollectionState(),this.lastCollectionName=this.collectionName,this.uploadSetup(),$("[data-toggle=tooltip]").tooltip(),$(".upload-info").tooltip(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),this.renderPaginationElements(),this.selectActivePagesize(),this.markFilterToggle(),this.resize(),this},rerender:function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),this.resize()},selectActivePagesize:function(){$("#documentSize").val(this.collection.getPageSize())},renderPaginationElements:function(){this.renderPagination();var a=$("#totalDocuments");0===a.length&&($("#documentsToolbarFL").append(''),a=$("#totalDocuments")),"document"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" document(s)"),"edge"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" edge(s)")},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)}})}(),function(){"use strict";window.EditListEntryView=Backbone.View.extend({template:templateEngine.createTemplate("editListEntryView.ejs"),initialize:function(a){this.key=a.key,this.value=a.value,this.render()},events:{"click .deleteAttribute":"removeRow"},render:function(){$(this.el).html(this.template.render({key:this.key,value:JSON.stringify(this.value),isReadOnly:this.isReadOnly()}))},isReadOnly:function(){return 0===this.key.indexOf("_")},getKey:function(){return $(".key").val()},getValue:function(){var val=$(".val").val();try{val=JSON.parse(val)}catch(e){try{return eval("val = "+val),val}catch(e2){return $(".val").val()}}return val},removeRow:function(){this.remove()}})}(),function(){"use strict";window.FooterView=Backbone.View.extend({el:"#footerBar",system:{},isOffline:!0,isOfflineCounter:0,firstLogin:!0,timer:15e3,lap:0,timerFunction:null,events:{"click .footer-center p":"showShortcutModal"},initialize:function(){var a=this;window.setInterval(function(){a.getVersion()},a.timer),a.getVersion(),window.VISIBLE=!0,document.addEventListener("visibilitychange",function(){window.VISIBLE=!window.VISIBLE}),$("#offlinePlaceholder button").on("click",function(){a.getVersion()})},template:templateEngine.createTemplate("footerView.ejs"),showServerStatus:function(a){var b=this;window.App.isCluster?b.collection.fetch({success:function(){b.renderClusterState(!0)},error:function(){b.renderClusterState(!1)}}):a===!0?($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("GOOD"),$(".health-icon").html(''),$("#offlinePlaceholder").hide()):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html("UNKNOWN"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0))},reconnectAnimation:function(a){var b=this;0===a&&(b.lap=a,$("#offlineSeconds").text(b.timer/1e3),clearTimeout(b.timerFunction)),b.lap0?($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),1===b?$(".health-state").html(b+" NODE ERROR"):$(".health-state").html(b+" NODES ERROR"),$(".health-icon").html('')):($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("NODES OK"),$(".health-icon").html(''))):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html(window.location.host+" OFFLINE"),$(".health-icon").html(''))},showShortcutModal:function(){window.arangoHelper.hotkeysFunctions.showHotkeysModal()},getVersion:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.showServerStatus(!0),a.isOffline===!0&&(a.isOffline=!1,a.isOfflineCounter=0,a.firstLogin?a.firstLogin=!1:window.setTimeout(function(){a.showServerStatus(!0)},1e3),a.system.name=b.server,a.system.version=b.version,a.render())},error:function(){a.isOffline=!0,a.isOfflineCounter++,a.isOfflineCounter>=1&&a.showServerStatus(!1)}}),a.system.hasOwnProperty("database")||$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/database/current"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=b.result.name;a.system.database=c;var d=window.setInterval(function(){var b=$("#databaseNavi");b&&(window.clearTimeout(d),d=null,a.render())},50)}})},renderVersion:function(){this.system.hasOwnProperty("database")&&this.system.hasOwnProperty("name")&&$(this.el).html(this.template.render({name:this.system.name,version:this.system.version,database:this.system.database}))},render:function(){return this.system.version||this.getVersion(),$(this.el).html(this.template.render({name:this.system.name, +version:this.system.version})),this}})}(),function(){"use strict";window.FoxxActiveView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("foxxActiveView.ejs"),_show:!0,events:{click:"openAppDetailView"},openAppDetailView:function(){window.App.navigate("service/"+encodeURIComponent(this.model.get("mount")),{trigger:!0})},toggle:function(a,b){switch(a){case"devel":this.model.isDevelopment()&&(this._show=b);break;case"production":this.model.isDevelopment()||this.model.isSystem()||(this._show=b);break;case"system":this.model.isSystem()&&(this._show=b)}this._show?$(this.el).show():$(this.el).hide()},render:function(){$(this.el).html(this.template.render({model:this.model}));var a=function(){this.model.needsConfiguration()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this),b=function(){this.model.hasUnconfiguredDependencies()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this);return this.model.getConfiguration(a),this.model.getDependencies(b),$(this.el)}})}(),function(){"use strict";var a={ERROR_APPLICATION_DOWNLOAD_FAILED:{code:1752,message:"application download failed"}},b=templateEngine.createTemplate("applicationListView.ejs"),c=function(a){this.collection=a.collection},d=function(b){var c=this;if(b.error===!1)this.collection.fetch({success:function(){window.modalView.hide(),c.reload()}});else{var d=b;switch(b.hasOwnProperty("responseJSON")&&(d=b.responseJSON),d.errorNum){case a.ERROR_APPLICATION_DOWNLOAD_FAILED.code:arangoHelper.arangoError("Services","Unable to download application from the given repository.");break;default:arangoHelper.arangoError("Services",d.errorNum+". "+d.errorMessage)}}},e=function(){window.modalView.modalBindValidation({id:"new-app-mount",validateInput:function(){return[{rule:Joi.string().regex(/^(\/(APP[^\/]+|(?!APP)[a-zA-Z0-9_\-%]+))+$/i),msg:"May not contain /APP"},{rule:Joi.string().regex(/^(\/[a-zA-Z0-9_\-%]+)+$/),msg:"Can only contain [a-zA-Z0-9_-%]"},{rule:Joi.string().regex(/^\/([^_]|_open\/)/),msg:"Mountpoints with _ are reserved for internal use"},{rule:Joi.string().regex(/[^\/]$/),msg:"May not end with /"},{rule:Joi.string().regex(/^\//),msg:"Has to start with /"},{rule:Joi.string().required().min(2),msg:"Has to be non-empty"}]}})},f=function(){window.modalView.modalBindValidation({id:"repository",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/),msg:"No valid Github account and repository."}]}})},g=function(){window.modalView.modalBindValidation({id:"new-app-author",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-name",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z\-_][a-zA-Z0-9\-_]*$/),msg:"Can only contain a to z, A to Z, 0-9, '-' and '_'."}]}}),window.modalView.modalBindValidation({id:"new-app-description",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-license",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9 \.,;\-]+$/),msg:"Has to be non empty."}]}}),window.modalView.modalTestAll()},h=function(a){window.modalView.clearValidators();var b=$("#modalButton1");switch(this._upgrade||e(),a){case"newApp":b.html("Generate"),b.prop("disabled",!1),g();break;case"appstore":b.html("Install"),b.prop("disabled",!0);break;case"github":f(),b.html("Install"),b.prop("disabled",!1);break;case"zip":b.html("Install"),b.prop("disabled",!1)}b.prop("disabled")||window.modalView.modalTestAll()||b.prop("disabled",!0)},i=function(a){var b=$(a.currentTarget).attr("href").substr(1);h.call(this,b)},j=function(a){if(h.call(this,"appstore"),window.modalView.modalTestAll()){var b,c;this._upgrade?(b=this.mount,c=$("#new-app-teardown").prop("checked")):b=window.arangoHelper.escapeHtml($("#new-app-mount").val());var e=$(a.currentTarget).attr("appId"),f=$(a.currentTarget).attr("appVersion");void 0!==c?this.collection.installFromStore({name:e,version:f},b,d.bind(this),c):this.collection.installFromStore({name:e,version:f},b,d.bind(this))}},k=function(a,b){if(void 0===b?b=this._uploadData:this._uploadData=b,b&&window.modalView.modalTestAll()){var c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),void 0!==e?this.collection.installFromZip(b.filename,c,d.bind(this),e):this.collection.installFromZip(b.filename,c,d.bind(this))}},l=function(){if(window.modalView.modalTestAll()){var a,b,c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),a=window.arangoHelper.escapeHtml($("#repository").val()),b=window.arangoHelper.escapeHtml($("#tag").val()),""===b&&(b="master");var f={url:window.arangoHelper.escapeHtml($("#repository").val()),version:window.arangoHelper.escapeHtml($("#tag").val())};try{Joi.assert(a,Joi.string().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/))}catch(g){return}void 0!==e?this.collection.installFromGithub(f,c,d.bind(this),e):this.collection.installFromGithub(f,c,d.bind(this))}},m=function(){if(window.modalView.modalTestAll()){var a,b;this._upgrade?(a=this.mount,b=$("#new-app-teardown").prop("checked")):a=window.arangoHelper.escapeHtml($("#new-app-mount").val());var c={name:window.arangoHelper.escapeHtml($("#new-app-name").val()),documentCollections:_.map($("#new-app-document-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),edgeCollections:_.map($("#new-app-edge-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),author:window.arangoHelper.escapeHtml($("#new-app-author").val()),license:window.arangoHelper.escapeHtml($("#new-app-license").val()),description:window.arangoHelper.escapeHtml($("#new-app-description").val())};void 0!==b?this.collection.generate(c,a,d.bind(this),b):this.collection.generate(c,a,d.bind(this))}},n=function(){var a=$(".modal-body .tab-pane.active").attr("id");switch(a){case"newApp":m.apply(this);break;case"github":l.apply(this);break;case"zip":k.apply(this)}},o=function(a,c){var d=[],e={"click #infoTab a":i.bind(a),"click .install-app":j.bind(a)};d.push(window.modalView.createSuccessButton("Generate",n.bind(a))),window.modalView.show("modalApplicationMount.ejs","Install Service",d,c,void 0,void 0,e),$("#new-app-document-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"}),$("#new-app-edge-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"});var f=function(){var a=$("#modalButton1");a.prop("disabled")||window.modalView.modalTestAll()?a.prop("disabled",!1):a.prop("disabled",!0)};$(".select2-search-field input").focusout(function(){f(),window.setTimeout(function(){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||($("#s2id_new-app-document-collections").select2("close"),$("#s2id_new-app-edge-collections").select2("close"),f()))},80)}),$(".select2-search-field input").focusin(function(){if($(".select2-drop").is(":visible")){var a=$("#modalButton1");a.prop("disabled",!0)}}),$("#upload-foxx-zip").uploadFile({url:arangoHelper.databaseUrl("/_api/upload?multipart=true"),allowedTypes:"zip",multiple:!1,onSuccess:k.bind(a)}),$.get("foxxes/fishbowl",function(a){var c=$("#appstore-content");c.html(""),_.each(_.sortBy(a,"name"),function(a){c.append(b.render(a))})}).fail(function(){var a=$("#appstore-content");a.append("Store is not available. ArangoDB is not able to connect to github.com")})};c.prototype.install=function(a){this.reload=a,this._upgrade=!1,this._uploadData=void 0,delete this.mount,o(this,!1),window.modalView.clearValidators(),e(),g()},c.prototype.upgrade=function(a,b){this.reload=b,this._upgrade=!0,this._uploadData=void 0,this.mount=a,o(this,!0),window.modalView.clearValidators(),g()},window.FoxxInstallView=c}(),function(){"use strict";window.GraphManagementView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("graphManagementView.ejs"),edgeDefintionTemplate:templateEngine.createTemplate("edgeDefinitionTable.ejs"),eCollList:[],removedECollList:[],dropdownVisible:!1,initialize:function(a){this.options=a},events:{"click #deleteGraph":"deleteGraph","click .icon_arangodb_settings2.editGraph":"editGraph","click #createGraph":"addNewGraph","keyup #graphManagementSearchInput":"search","click #graphManagementSearchSubmit":"search","click .tile-graph":"redirectToGraphViewer","click #graphManagementToggle":"toggleGraphDropdown","click .css-label":"checkBoxes","change #graphSortDesc":"sorting"},toggleTab:function(a){var b=a.currentTarget.id;b=b.replace("tab-",""),$("#tab-content-create-graph .tab-pane").removeClass("active"),$("#tab-content-create-graph #"+b).addClass("active"),"exampleGraphs"===b?$("#modal-dialog .modal-footer .button-success").css("display","none"):$("#modal-dialog .modal-footer .button-success").css("display","initial")},redirectToGraphViewer:function(a){var b=$(a.currentTarget).attr("id");b=b.substr(0,b.length-5),window.location=window.location+"/"+encodeURIComponent(b)},loadGraphViewer:function(a,b){var c=function(b){if(b)arangoHelper.arangoError("","");else{var c=this.collection.get(a).get("edgeDefinitions");if(!c||0===c.length)return;var d={type:"gharial",graphName:a,baseUrl:arangoHelper.databaseUrl("/")},e=$("#content").width()-75;$("#content").html("");var f=arangoHelper.calculateCenterDivHeight();this.ui=new GraphViewerUI($("#content")[0],d,e,$(".centralRow").height()-135,{nodeShaper:{label:"_key",color:{type:"attribute",key:"_key"}}},!0),$(".contentDiv").height(f)}}.bind(this);b?this.collection.fetch({success:function(){c()}}):c()},handleResize:function(a){this.width&&this.width===a||(this.width=a,this.ui&&this.ui.changeWidth(a))},addNewGraph:function(a){a.preventDefault(),this.createEditGraphModal()},deleteGraph:function(){var a=this,b=$("#editGraphName")[0].value;if($("#dropGraphCollections").is(":checked")){var c=function(c){c?(a.collection.remove(a.collection.get(b)),a.updateGraphManagementView(),window.modalView.hide()):(window.modalView.hide(),arangoHelper.arangoError("Graph","Could not delete Graph."))}.bind(this);this.collection.dropAndDeleteGraph(b,c)}else this.collection.get(b).destroy({success:function(){a.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;arangoHelper.arangoError(d),window.modalView.hide()}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},toggleGraphDropdown:function(){$("#graphSortDesc").attr("checked",this.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown2").slideToggle(200)},sorting:function(){$("#graphSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#graphManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},createExampleGraphs:function(a){var b=$(a.currentTarget).attr("graph-id"),c=this;$.ajax({type:"POST",url:"/_admin/aardvark/graph-examples/create/"+encodeURIComponent(b),success:function(){window.modalView.hide(),c.updateGraphManagementView(),arangoHelper.arangoNotification("Example Graphs","Graph: "+b+" created.")},error:function(a){if(window.modalView.hide(),console.log(a),a.responseText)try{var c=JSON.parse(a.responseText);arangoHelper.arangoError("Example Graphs",c.errorMessage)}catch(d){arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}else arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}})},render:function(a,b){var c=this;return this.collection.fetch({success:function(){c.collection.sort(),$(c.el).html(c.template.render({graphs:c.collection,searchString:""})),c.dropdownVisible===!0&&($("#graphManagementDropdown2").show(),$("#graphSortDesc").attr("checked",c.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown").show()),c.events["click .tableRow"]=c.showHideDefinition.bind(c),c.events['change tr[id*="newEdgeDefinitions"]']=c.setFromAndTo.bind(c),c.events["click .graphViewer-icon-button"]=c.addRemoveDefinition.bind(c),c.events["click #graphTab a"]=c.toggleTab.bind(c),c.events["click .createExampleGraphs"]=c.createExampleGraphs.bind(c),c.events["focusout .select2-search-field input"]=function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},80))}.bind(c),arangoHelper.setCheckboxStatus("#graphManagementDropdown")}}),a&&this.loadGraphViewer(a,b),this},setFromAndTo:function(a){a.stopPropagation();var b,c=this.calculateEdgeDefinitionMap();if(a.added){if(-1===this.eCollList.indexOf(a.added.id)&&-1!==this.removedECollList.indexOf(a.added.id))return b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$('input[id*="newEdgeDefinitions'+b+'"]').select2("val",null),void $('input[id*="newEdgeDefinitions'+b+'"]').attr("placeholder","The collection "+a.added.id+" is already used.");this.removedECollList.push(a.added.id),this.eCollList.splice(this.eCollList.indexOf(a.added.id),1)}else this.eCollList.push(a.removed.id),this.removedECollList.splice(this.removedECollList.indexOf(a.removed.id),1);c[a.val]?(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",c[a.val].from),$("#fromCollections"+b).attr("disabled",!0),$("#s2id_toCollections"+b).select2("val",c[a.val].to),$("#toCollections"+b).attr("disabled",!0)):(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",null),$("#fromCollections"+b).attr("disabled",!1),$("#s2id_toCollections"+b).select2("val",null),$("#toCollections"+b).attr("disabled",!1))},editGraph:function(a){a.stopPropagation(),this.collection.fetch(),this.graphToEdit=this.evaluateGraphName($(a.currentTarget).attr("id"),"_settings");var b=this.collection.findWhere({_key:this.graphToEdit});this.createEditGraphModal(b)},saveEditedGraph:function(){var a,b,c,d,e,f=$("#editGraphName")[0].value,g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i={};if(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){if(d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),0!==b.length&&0!==c.length)){var f={collection:a,from:b,to:c};h.push(f),i[a]=f}}),0===h.length)return $("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red");var j=this.collection.findWhere({_key:f}),k=j.get("edgeDefinitions"),l=j.get("orphanCollections"),m=[];l.forEach(function(a){-1===g.indexOf(a)&&j.deleteVertexCollection(a)}),g.forEach(function(a){-1===l.indexOf(a)&&j.addVertexCollection(a)});var n=[],o=[],p=[];k.forEach(function(a){var b=a.collection;m.push(b);var c=i[b];void 0===c?p.push(b):JSON.stringify(c)!==JSON.stringify(a)&&o.push(b)}),h.forEach(function(a){var b=a.collection;-1===m.indexOf(b)&&n.push(b)}),n.forEach(function(a){j.addEdgeDefinition(i[a])}),o.forEach(function(a){j.modifyEdgeDefinition(i[a])}),p.forEach(function(a){j.deleteEdgeDefinition(a)}),this.updateGraphManagementView(),window.modalView.hide()},evaluateGraphName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},search:function(){var a,b,c,d;a=$("#graphManagementSearchInput"),b=$("#graphManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("_key").indexOf(b)}),$(this.el).html(this.template.render({graphs:d,searchString:b})),a=$("#graphManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},updateGraphManagementView:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},createNewGraph:function(){var a,b,c,d,e,f=$("#createNewGraphName").val(),g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i=this;return f?this.collection.findWhere({_key:f})?(arangoHelper.arangoError("The graph '"+f+"' already exists."),0):(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),1!==b&&1!==c&&h.push({collection:a,from:b,to:c}))}),0===h.length?($("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red")):void this.collection.create({name:f,edgeDefinitions:h,orphanCollections:g},{success:function(){i.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;d=d.replace("<",""),d=d.replace(">",""),arangoHelper.arangoError(d)}})):(arangoHelper.arangoError("A name for the graph has to be provided."),0)},createEditGraphModal:function(a){var b,c=[],d=[],e=[],f=this.options.collectionCollection.models,g=this,h="",i=[{collection:"",from:"",to:""}],j="",k=function(a,b){return a=a.toLowerCase(),b=b.toLowerCase(),b>a?-1:a>b?1:0};if(this.eCollList=[],this.removedECollList=[],f.forEach(function(a){a.get("isSystem")||("edge"===a.get("type")?g.eCollList.push(a.id):d.push(a.id))}),window.modalView.enableHotKeys=!1,this.counter=0,a?(b="Edit Graph",h=a.get("_key"),i=a.get("edgeDefinitions"),i&&0!==i.length||(i=[{collection:"",from:"",to:""}]),j=a.get("orphanCollections"),e.push(window.modalView.createReadOnlyEntry("editGraphName","Name",h,"The name to identify the graph. Has to be unique")),c.push(window.modalView.createDeleteButton("Delete",this.deleteGraph.bind(this))),c.push(window.modalView.createSuccessButton("Save",this.saveEditedGraph.bind(this)))):(b="Create Graph",e.push(window.modalView.createTextEntry("createNewGraphName","Name","","The name to identify the graph. Has to be unique.","graphName",!0)),c.push(window.modalView.createSuccessButton("Create",this.createNewGraph.bind(this)))),i.forEach(function(a){0===g.counter?(a.collection&&(g.removedECollList.push(a.collection),g.eCollList.splice(g.eCollList.indexOf(a.collection),1)),e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!0,!1,!0,1,g.eCollList.sort(k)))):e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!1,!0,!1,1,g.eCollList.sort(k))),e.push(window.modalView.createSelect2Entry("fromCollections"+g.counter,"fromCollections",a.from,"The collections that contain the start vertices of the relation.","fromCollections",!0,!1,!1,10,d.sort(k))),e.push(window.modalView.createSelect2Entry("toCollections"+g.counter,"toCollections",a.to,"The collections that contain the end vertices of the relation.","toCollections",!0,!1,!1,10,d.sort(k))),g.counter++}),e.push(window.modalView.createSelect2Entry("newVertexCollections","Vertex collections",j,"Collections that are part of a graph but not used in an edge definition","Vertex Collections",!1,!1,!1,10,d.sort(k))),window.modalView.show("modalGraphTable.ejs",b,c,e,void 0,void 0,this.events),a){$(".modal-body table").css("border-collapse","separate");var l;for($(".modal-body .spacer").remove(),l=0;l<=this.counter;l++)$("#row_fromCollections"+l).show(),$("#row_toCollections"+l).show(),$("#row_newEdgeDefinitions"+l).addClass("first"),$("#row_fromCollections"+l).addClass("middle"),$("#row_toCollections"+l).addClass("last"),$("#row_toCollections"+l).after('');$("#graphTab").hide(),$("#modal-dialog .modal-delete-confirmation").append('
    ')}},showHideDefinition:function(a){},addRemoveDefinition:function(a){var b=[],c=this.options.collectionCollection.models;c.forEach(function(a){a.get("isSystem")||b.push(a.id)}),a.stopPropagation();var d,e=$(a.currentTarget).attr("id");if(-1===e.indexOf("addAfter_newEdgeDefinitions"))-1!==e.indexOf("remove_newEdgeDefinitions")&&(d=e.split("remove_newEdgeDefinitions")[1],$("#row_newEdgeDefinitions"+d).remove(),$("#row_fromCollections"+d).remove(),$("#row_toCollections"+d).remove(),$("#spacer"+d).remove());else{this.counter++,$("#row_newVertexCollections").before(this.edgeDefintionTemplate.render({number:this.counter})),$("#newEdgeDefinitions"+this.counter).select2({tags:this.eCollList,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:1}),$("#fromCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),$("#toCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),window.modalView.undelegateEvents(),window.modalView.delegateEvents(this.events);var f;for($(".modal-body .spacer").remove(),f=0;f<=this.counter;f++)$("#row_fromCollections"+f).show(),$("#row_toCollections"+f).show(),$("#row_newEdgeDefinitions"+f).addClass("first"),$("#row_fromCollections"+f).addClass("middle"),$("#row_toCollections"+f).addClass("last"),$("#row_toCollections"+f).after('')}},calculateEdgeDefinitionMap:function(){var a={};return this.collection.models.forEach(function(b){b.get("edgeDefinitions").forEach(function(b){a[b.collection]={from:b.from,to:b.to}})}),a}})}(),function(){"use strict";window.HelpUsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("helpUsView.ejs"),render:function(){this.$el.html(this.template.render({}))}})}(),function(){"use strict";window.IndicesView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},template:templateEngine.createTemplate("indicesView.ejs"),events:{},render:function(){$(this.el).html(this.template.render({model:this.model})),this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Indices"),this.getIndex()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson"),h=d.checkboxToValue("#newGeoConstraint"),i=d.checkboxToValue("#newGeoIgnoreNull");f={type:"geo",fields:d.stringToArray(a),geoJson:g,constraint:h,ignoreNull:i};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var j=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:j};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var k=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.toggleNewIndexView(),d.render()};this.model.createIndex(f,k)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView(),a.render()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1)):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1))}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.InfoView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Info"),this.renderInfoView()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},renderInfoView:function(){if(this.model.get("locked"))return 0;var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e,null,null,null,null,null,"content")}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)}})}(),function(){"use strict";window.loginView=Backbone.View.extend({el:"#content",el2:".header",el3:".footer",loggedIn:!1,events:{"keyPress #loginForm input":"keyPress","click #submitLogin":"validate","submit #dbForm":"goTo","click #logout":"logout","change #loginDatabase":"renderDBS"},template:templateEngine.createTemplate("loginView.ejs"),render:function(a){var b=this;if($(this.el).html(this.template.render({})),$(this.el2).hide(),$(this.el3).hide(),frontendConfig.authenticationEnabled&&a!==!0)$("#loginUsername").focus();else{var c=arangoHelper.databaseUrl("/_api/database/user");frontendConfig.authenticationEnabled===!1&&($("#logout").hide(),$(".login-window #databases").css("height","90px")),$("#loginForm").hide(),$(".login-window #databases").show(),$.ajax(c).success(function(a){$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()})}return $(".bodyWrapper").show(),this},clear:function(){$("#loginForm input").removeClass("form-error"),$(".wrong-credentials").hide()},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.validate()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.validate())},validate:function(a){a.preventDefault(),this.clear();var b=$("#loginUsername").val(),c=$("#loginPassword").val(); +if(b){var d=function(a){var b=this;if(a)$(".wrong-credentials").show(),$("#loginDatabase").html(""),$("#loginDatabase").append("");else{var c=arangoHelper.databaseUrl("/_api/database/user","_system");frontendConfig.authenticationEnabled===!1&&(c=arangoHelper.databaseUrl("/_api/database/user")),$(".wrong-credentials").hide(),b.loggedIn=!0,$.ajax(c).success(function(a){$("#loginForm").hide(),$("#databases").show(),$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()})}}.bind(this);this.collection.login(b,c,d)}},renderDBS:function(){var a=$("#loginDatabase").val();$("#goToDatabase").html("Select: "+a),$("#goToDatabase").focus()},logout:function(){this.collection.logout()},goTo:function(a){a.preventDefault();var b=$("#loginUsername").val(),c=$("#loginDatabase").val();console.log(window.App.dbSet),window.App.dbSet=c,console.log(window.App.dbSet);var d=function(a){a&&arangoHelper.arangoError("User","Could not fetch user settings")},e=window.location.protocol+"//"+window.location.host+frontendConfig.basePath+"/_db/"+c+"/_admin/aardvark/index.html";window.location.href=e,$(this.el2).show(),$(this.el3).show(),$(".bodyWrapper").show(),$(".navbar").show(),$("#currentUser").text(b),this.collection.loadUserSettings(d)}})}(),function(){"use strict";window.LogsView=window.PaginationView.extend({el:"#content",id:"#logContent",paginationDiv:"#logPaginationDiv",idPrefix:"logTable",fetchedAmount:!1,initialize:function(a){this.options=a,this.convertModelToJSON()},currentLoglevel:"logall",events:{"click #arangoLogTabbar button":"setActiveLoglevel","click #logTable_first":"firstPage","click #logTable_last":"lastPage"},template:templateEngine.createTemplate("logsView.ejs"),tabbar:templateEngine.createTemplate("arangoTabbar.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),tabbarElements:{id:"arangoLogTabbar",titles:[["All","logall"],["Info","loginfo"],["Error","logerror"],["Warning","logwarning"],["Debug","logdebug"]]},tableDescription:{id:"arangoLogTable",titles:["Loglevel","Date","Message"],rows:[]},convertedRows:null,setActiveLoglevel:function(a){$(".arangodb-tabbar").removeClass("arango-active-tab"),this.currentLoglevel!==a.currentTarget.id&&(this.currentLoglevel=a.currentTarget.id,this.convertModelToJSON())},initTotalAmount:function(){var a=this;this.collection=this.options[this.currentLoglevel],this.collection.fetch({data:$.param({test:!0}),success:function(){a.convertModelToJSON()}}),this.fetchedAmount=!0},invertArray:function(a){var b,c=[],d=0;for(b=a.length-1;b>=0;b--)c[d]=a[b],d++;return c},convertModelToJSON:function(){if(!this.fetchedAmount)return void this.initTotalAmount();var a,b=this,c=[];this.collection=this.options[this.currentLoglevel],this.collection.fetch({success:function(){b.collection.each(function(b){a=new Date(1e3*b.get("timestamp")),c.push([b.getLogStatus(),arangoHelper.formatDT(a),b.get("text")])}),b.tableDescription.rows=b.invertArray(c),b.render()}})},render:function(){return $(this.el).html(this.template.render({})),$(this.id).html(this.tabbar.render({content:this.tabbarElements})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#"+this.currentLoglevel).addClass("arango-active-tab"),$("#logContent").append('
    '),this.renderPagination(),this},rerender:function(){this.convertModelToJSON()}})}(),function(){"use strict";var a=function(a,b,c,d){return{type:a,title:b,callback:c,confirm:d}},b=function(a,b,c,d,e,f,g,h,i,j,k){var l={type:a,label:b};return void 0!==c&&(l.value=c),void 0!==d&&(l.info=d),void 0!==e&&(l.placeholder=e),void 0!==f&&(l.mandatory=f),void 0!==h&&(l.addDelete=h),void 0!==i&&(l.addAdd=i),void 0!==j&&(l.maxEntrySize=j),void 0!==k&&(l.tags=k),g&&(l.validateInput=function(){return g}),l};window.ModalView=Backbone.View.extend({_validators:[],_validateWatchers:[],baseTemplate:templateEngine.createTemplate("modalBase.ejs"),tableTemplate:templateEngine.createTemplate("modalTable.ejs"),el:"#modalPlaceholder",contentEl:"#modalContent",hideFooter:!1,confirm:{list:"#modal-delete-confirmation",yes:"#modal-confirm-delete",no:"#modal-abort-delete"},enabledHotkey:!1,enableHotKeys:!0,buttons:{SUCCESS:"success",NOTIFICATION:"notification",DELETE:"danger",NEUTRAL:"neutral",CLOSE:"close"},tables:{READONLY:"readonly",TEXT:"text",BLOB:"blob",PASSWORD:"password",SELECT:"select",SELECT2:"select2",CHECKBOX:"checkbox"},initialize:function(){Object.freeze(this.buttons),Object.freeze(this.tables)},createModalHotkeys:function(){$(this.el).unbind("keydown"),$(this.el).unbind("return"),$(this.el).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body input").unbind("keydown"),$(".modal-body input").unbind("return"),$(".modal-body input",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body select").unbind("keydown"),$(".modal-body select").unbind("return"),$(".modal-body select",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()})},createInitModalHotkeys:function(){var a=this;$(this.el).bind("keydown","left",function(){a.navigateThroughButtons("left")}),$(this.el).bind("keydown","right",function(){a.navigateThroughButtons("right")})},navigateThroughButtons:function(a){var b=$(".createModalDialog .modal-footer button").is(":focus");b===!1?"left"===a?$(".createModalDialog .modal-footer button").first().focus():"right"===a&&$(".createModalDialog .modal-footer button").last().focus():b===!0&&("left"===a?$(":focus").prev().focus():"right"===a&&$(":focus").next().focus())},createCloseButton:function(b,c){var d=this;return a(this.buttons.CLOSE,b,function(){d.hide(),c&&c()})},createSuccessButton:function(b,c){return a(this.buttons.SUCCESS,b,c)},createNotificationButton:function(b,c){return a(this.buttons.NOTIFICATION,b,c)},createDeleteButton:function(b,c,d){return a(this.buttons.DELETE,b,c,d)},createNeutralButton:function(b,c){return a(this.buttons.NEUTRAL,b,c)},createDisabledButton:function(b){var c=a(this.buttons.NEUTRAL,b);return c.disabled=!0,c},createReadOnlyEntry:function(a,c,d,e,f,g){var h=b(this.tables.READONLY,c,d,e,void 0,void 0,void 0,f,g);return h.id=a,h},createTextEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.TEXT,c,d,e,f,g,h);return i.id=a,i},createBlobEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.BLOB,c,d,e,f,g,h);return i.id=a,i},createSelect2Entry:function(a,c,d,e,f,g,h,i,j,k){var l=b(this.tables.SELECT2,c,d,e,f,g,void 0,h,i,j,k);return l.id=a,l},createPasswordEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.PASSWORD,c,d,e,f,g,h);return i.id=a,i},createCheckboxEntry:function(a,c,d,e,f){var g=b(this.tables.CHECKBOX,c,d,e);return g.id=a,f&&(g.checked=f),g},createSelectEntry:function(a,c,d,e,f){var g=b(this.tables.SELECT,c,null,e);return g.id=a,d&&(g.selected=d),g.options=f,g},createOptionEntry:function(a,b){return{label:a,value:b||a}},show:function(a,b,c,d,e,f,g,h,i,j){var k,l,m=this,n=!1;c=c||[],h=Boolean(h),this.clearValidators(),c.length>0?(c.forEach(function(a){a.type===m.buttons.CLOSE&&(n=!0),a.type===m.buttons.DELETE&&(l=l||a.confirm)}),n||(k=c.pop(),c.push(m.createCloseButton("Cancel")),c.push(k))):c.push(m.createCloseButton("Close")),j?($("#"+j).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),$("#"+j+" #modal-dialog").removeClass("fade hide modal"),$("#"+j+" .modal-header").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .button-close").remove(),0===$("#"+j+" .modal-footer").children().length&&$("#"+j+" .modal-footer").remove()):$(this.el).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),_.each(c,function(a,b){return!a.disabled&&a.callback?a.type!==m.buttons.DELETE||h?void $("#modalButton"+b).bind("click",a.callback):void $("#modalButton"+b).bind("click",function(){$(m.confirm.yes).unbind("click"),$(m.confirm.yes).bind("click",a.callback),$(m.confirm.list).css("display","block")}):void 0}),$(this.confirm.no).bind("click",function(){$(m.confirm.list).css("display","none")});var o;if("string"==typeof a)o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f}));else{var p=0;_.each(a,function(a){o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body .tab-content #"+i[p]).html(o.render({content:d,advancedContent:e,info:f})),p++})}$(".createModalDialog .modalTooltips").tooltip({position:{my:"left top",at:"right+55 top-1"}});var q=d||[];e&&e.content&&(q=q.concat(e.content)),_.each(q,function(a){m.modalBindValidation(a),a.type===m.tables.SELECT2&&$("#"+a.id).select2({tags:a.tags||[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:a.maxEntrySize||8})}),g&&(this.events=g,this.delegateEvents()),$("#accordion2")&&($("#accordion2 .accordion-toggle").bind("click",function(){$("#collapseOne").is(":visible")?($("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)):($("#collapseOne").show(),setTimeout(function(){$(".accordion-toggle").removeClass("collapsed")},100))}),$("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)),j||$("#modal-dialog").modal("show"),this.enabledHotkey===!1&&(this.createInitModalHotkeys(),this.enabledHotkey=!0),this.enableHotKeys&&this.createModalHotkeys();var r=$("#modal-dialog").find("input");r&&setTimeout(function(){var a=$("#modal-dialog");a.length>0&&(a=a.find("input"),a.length>0&&$(a[0]).focus())},400)},modalBindValidation:function(a){var b=this;if(a.hasOwnProperty("id")&&a.hasOwnProperty("validateInput")){var c=function(){var b=$("#"+a.id),c=a.validateInput(b),d=!1;return _.each(c,function(a){var c=b.val();if(a.rule||(a={rule:a}),"function"==typeof a.rule)try{a.rule(c)}catch(e){d=a.msg||e.message}else{var f=Joi.validate(c,a.rule);f.error&&(d=a.msg||f.error.message)}return d?!1:void 0}),d?d:void 0},d=$("#"+a.id);d.on("keyup focusout",function(){var a=c(),e=d.next()[0];a?(d.addClass("invalid-input"),e?$(e).text(a):d.after('

    '+a+"

    "),$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled")):(d.removeClass("invalid-input"),e&&$(e).remove(),b.modalTestAll())}),this._validators.push(c),this._validateWatchers.push(d)}},modalTestAll:function(){var a=_.map(this._validators,function(a){return a()}),b=_.any(a);return b?$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled"):$(".createModalDialog .modal-footer .button-success").prop("disabled",!1).removeClass("disabled"),!b},clearValidators:function(){this._validators=[],_.each(this._validateWatchers,function(a){a.unbind("keyup focusout")}),this._validateWatchers=[]},hide:function(){this.clearValidators(),$("#modal-dialog").modal("hide")}})}(),function(){"use strict";window.NavigationView=Backbone.View.extend({el:"#navigationBar",subEl:"#subNavigationBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab","click li":"switchTab","click .arangodbLogo":"selectMenuItem","mouseenter .dropdown > *":"showDropdown","click .shortcut-icons p":"showShortcutModal","mouseleave .dropdown":"hideDropdown"},renderFirst:!0,activeSubMenu:void 0,changeDB:function(){window.location.hash="#login"},initialize:function(a){var b=this;this.userCollection=a.userCollection,this.currentDB=a.currentDB,this.dbSelectionView=new window.DBSelectionView({collection:a.database,current:this.currentDB}),this.userBarView=new window.UserBarView({userCollection:this.userCollection}),this.notificationView=new window.NotificationView({collection:a.notificationCollection}),this.statisticBarView=new window.StatisticBarView({currentDB:this.currentDB}),this.isCluster=a.isCluster,this.handleKeyboardHotkeys(),Backbone.history.on("all",function(){b.selectMenuItem()})},showShortcutModal:function(){arangoHelper.hotkeysFunctions.showHotkeysModal()},handleSelectDatabase:function(){this.dbSelectionView.render($("#dbSelect"))},template:templateEngine.createTemplate("navigationView.ejs"),templateSub:templateEngine.createTemplate("subNavigationView.ejs"),render:function(){var a=this;$(this.el).html(this.template.render({currentDB:this.currentDB,isCluster:this.isCluster})),"_system"!==this.currentDB.get("name")&&$("#dashboard").parent().remove(),$(this.subEl).html(this.templateSub.render({currentDB:this.currentDB.toJSON()})),this.dbSelectionView.render($("#dbSelect"));var b=function(a){a||this.userBarView.render()}.bind(this);return this.userCollection.whoAmI(b),this.renderFirst&&(this.renderFirst=!1,this.selectMenuItem(),$(".arangodbLogo").on("click",function(){a.selectMenuItem()}),$("#dbStatus").on("click",function(){a.changeDB()})),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},handleKeyboardHotkeys:function(){arangoHelper.enableKeyboardHotkeys(!0)},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id,d=!1;$(b).hasClass("fa")||(""===c&&(c=$(b).attr("class")),"links"===c?(d=!0,$("#link_dropdown").slideToggle(1),a.preventDefault()):"tools"===c?(d=!0,$("#tools_dropdown").slideToggle(1),a.preventDefault()):"dbselection"===c&&(d=!0,$("#dbs_dropdown").slideToggle(1),a.preventDefault()),d||(window.App.navigate(c,{trigger:!0}),a.preventDefault()))},handleSelectNavigation:function(){var a=this;$("#arangoCollectionSelect").change(function(){a.navigateBySelect()})},subViewConfig:{documents:"collections",collection:"collections"},subMenuConfig:{cluster:[{name:"Dashboard",view:void 0,active:!0},{name:"Logs",view:void 0,disabled:!0}],collections:[{name:"",view:void 0,active:!1}],queries:[{name:"Editor",route:"query",active:!0},{name:"Running Queries",route:"queryManagement",params:{active:!0},active:void 0},{name:"Slow Query History",route:"queryManagement",params:{active:!1},active:void 0}]},renderSubMenu:function(a){var b=this;if(void 0===a&&(a=window.isCluster?"cluster":"dashboard"),this.subMenuConfig[a]){$(this.subEl+" .bottom").html("");var c="";_.each(this.subMenuConfig[a],function(a){c=a.active?"active":"",a.disabled&&(c="disabled"),$(b.subEl+" .bottom").append('"),a.disabled||$(b.subEl+" .bottom").children().last().bind("click",function(c){b.activeSubMenu=a,b.renderSubView(a,c)})})}},renderSubView:function(a,b){window.App[a.route]&&(window.App[a.route].resetState&&window.App[a.route].resetState(),window.App[a.route]()),$(this.subEl+" .bottom").children().removeClass("active"),$(b.currentTarget).addClass("active")},switchTab:function(a){var b=$(a.currentTarget).children().first().attr("id");b&&this.selectMenuItem(b+"-menu")},selectMenuItem:function(a,b){void 0===a&&(a=window.location.hash.split("/")[0],a=a.substr(1,a.length-1)),""===a?a=window.App.isCluster?"cluster":"dashboard":("cNodes"===a||"dNodes"===a)&&(a="nodes");try{this.renderSubMenu(a.split("-")[0])}catch(c){this.renderSubMenu(a)}$(".navlist li").removeClass("active"),"string"==typeof a&&(b?$("."+this.subViewConfig[a]+"-menu").addClass("active"):a&&($("."+a).addClass("active"),$("."+a+"-menu").addClass("active"))),arangoHelper.hideArangoNotifications()},showSubDropdown:function(a){console.log($(a.currentTarget)),console.log($(a.currentTarget).find(".subBarDropdown")),$(a.currentTarget).find(".subBarDropdown").toggle()},showDropdown:function(a){var b=a.target||a.srcElement,c=b.id;"links"===c||"link_dropdown"===c||"links"===a.currentTarget.id?$("#link_dropdown").fadeIn(1):"tools"===c||"tools_dropdown"===c||"tools"===a.currentTarget.id?$("#tools_dropdown").fadeIn(1):("dbselection"===c||"dbs_dropdown"===c||"dbselection"===a.currentTarget.id)&&$("#dbs_dropdown").fadeIn(1)},hideDropdown:function(a){var b=a.target||a.srcElement;b=$(b).parent(),$("#link_dropdown").fadeOut(1),$("#tools_dropdown").fadeOut(1),$("#dbs_dropdown").fadeOut(1)}})}(),function(){"use strict";window.NodeView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodeView.ejs"),interval:5e3,dashboards:[],events:{},initialize:function(a){window.App.isCluster&&(this.coordinators=a.coordinators,this.dbServers=a.dbServers,this.coordname=a.coordname,this.updateServerTime(),window.setInterval(function(){if(0===window.location.hash.indexOf("#node/"));},this.interval))},breadcrumb:function(a){$("#subNavigationBar .breadcrumb").html("Node: "+a)},render:function(){this.$el.html(this.template.render({coords:[]}));var a=function(){this.continueRender(),this.breadcrumb(this.coordname),$(window).trigger("resize")}.bind(this),b=function(){console.log("node complete")};this.initCoordDone||this.waitForCoordinators(b),this.initDBDone?(this.coordname=window.location.hash.split("/")[1],this.coordinator=this.coordinators.findWhere({name:this.coordname}),a()):this.waitForDBServers(a)},continueRender:function(){var a=this;this.dashboards[this.coordinator.get("name")]=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:window.App.arangoDatabase,serverToShow:{raw:this.coordinator.get("address"),isDBServer:!1,endpoint:this.coordinator.get("protocol")+"://"+this.coordinator.get("address"),target:this.coordinator.get("name")}}),this.dashboards[this.coordinator.get("name")].render(),window.setTimeout(function(){a.dashboards[a.coordinator.get("name")].resize()},500)},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.coordinator=b.coordinators.findWhere({name:b.coordname}),b.initCoordDone=!0,a())},200)},waitForDBServers:function(a){var b=this;window.setTimeout(function(){0===b.dbServers[0].length?b.waitForDBServers(a):(b.initDBDone=!0,b.dbServer=b.dbServers[0],b.dbServer.each(function(a){"DBServer1"===a.get("name")&&(b.dbServer=a)}),a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView.ejs"),interval:5e3,knownServers:[],events:{"click .pure-table-body .pure-table-row":"navigateToNode"},initialize:function(a){window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.toRender=a.toRender,window.setInterval(function(){if("#cNodes"===window.location.hash||"#dNodes"===window.location.hash);},this.interval))},navigateToNode:function(a){if("#dNodes"!==window.location.hash){var b=$(a.currentTarget).attr("node");window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(){window.arangoHelper.buildNodesSubNav(this.toRender);var a=function(){this.continueRender()}.bind(this);this.initDone?a():this.waitForCoordinators(a)},continueRender:function(){var a;a="coordinator"===this.toRender?this.coordinators.toJSON():this.dbServers.toJSON(),this.$el.html(this.template.render({coords:a,type:this.toRender}))},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(this.initDone=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NotificationView=Backbone.View.extend({events:{"click .navlogo #stat_hd":"toggleNotification","click .notificationItem .fa":"removeNotification","click #removeAllNotifications":"removeAllNotifications"},initialize:function(){this.collection.bind("add",this.renderNotifications.bind(this)),this.collection.bind("remove",this.renderNotifications.bind(this)),this.collection.bind("reset",this.renderNotifications.bind(this))},notificationItem:templateEngine.createTemplate("notificationItem.ejs"),el:"#notificationBar",template:templateEngine.createTemplate("notificationView.ejs"),toggleNotification:function(){var a=this.collection.length;0!==a&&$("#notification_menu").toggle()},removeAllNotifications:function(){$.noty.clearQueue(),$.noty.closeAll(),this.collection.reset(),$("#notification_menu").hide()},removeNotification:function(a){var b=a.target.id;this.collection.get(b).destroy()},renderNotifications:function(a,b,c){if(c&&c.add){var d,e=this.collection.at(this.collection.length-1),f=e.get("title"),g=3e3,h=["click"];if(e.get("content")&&(f=f+": "+e.get("content")),"error"===e.get("type")&&(g=!1,h=["button"],d=[{addClass:"button-danger",text:"Close",onClick:function(a){a.close()}}]),$.noty.clearQueue(),$.noty.closeAll(),noty({theme:"relax",text:f,template:'
    ',maxVisible:1,closeWith:["click"],type:e.get("type"),layout:"bottom",timeout:g,buttons:d,animation:{open:{height:"show"},close:{height:"hide"},easing:"swing",speed:200,closeWith:h}}),"success"===e.get("type"))return void e.destroy()}$("#stat_hd_counter").text(this.collection.length),0===this.collection.length?($("#stat_hd").removeClass("fullNotification"),$("#notification_menu").hide()):$("#stat_hd").addClass("fullNotification"),$(".innerDropdownInnerUL").html(this.notificationItem.render({notifications:this.collection})),$(".notificationInfoIcon").tooltip({position:{my:"left top",at:"right+55 top-1"}})},render:function(){return $(this.el).html(this.template.render({notifications:this.collection})),this.renderNotifications(),this.delegateEvents(),this.el}})}(),function(){"use strict";window.ProgressView=Backbone.View.extend({template:templateEngine.createTemplate("progressBase.ejs"),el:"#progressPlaceholder",el2:"#progressPlaceholderIcon",toShow:!1,lastDelay:0,action:function(){},events:{"click .progress-action button":"performAction"},performAction:function(){"function"==typeof this.action&&this.action(),window.progressView.hide()},initialize:function(){},showWithDelay:function(a,b,c,d){var e=this;e.toShow=!0,e.lastDelay=a,setTimeout(function(){e.toShow===!0&&e.show(b,c,d)},e.lastDelay)},show:function(a,b,c){$(this.el).html(this.template.render({})),$(".progress-text").text(a),c?$(".progress-action").html('"):$(".progress-action").html(''),b?this.action=b:this.action=this.hide(),$(this.el).show()},hide:function(){var a=this;a.toShow=!1,$(this.el).hide(),this.action=function(){}}})}(),function(){"use strict";window.queryManagementView=Backbone.View.extend({el:"#content",id:"#queryManagementContent",templateActive:templateEngine.createTemplate("queryManagementViewActive.ejs"),templateSlow:templateEngine.createTemplate("queryManagementViewSlow.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),active:!0,shouldRender:!0,timer:0,refreshRate:2e3,initialize:function(){var a=this;this.activeCollection=new window.QueryManagementActive,this.slowCollection=new window.QueryManagementSlow,this.convertModelToJSON(!0),window.setInterval(function(){"#queries"===window.location.hash&&window.VISIBLE&&a.shouldRender&&"queryManagement"===arangoHelper.getCurrentSub().route&&(a.active?$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!0):$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!1))},a.refreshRate)},events:{"click #deleteSlowQueryHistory":"deleteSlowQueryHistoryModal","click #arangoQueryManagementTable .fa-minus-circle":"deleteRunningQueryModal"},tableDescription:{id:"arangoQueryManagementTable",titles:["ID","Query String","Runtime","Started",""],rows:[],unescaped:[!1,!1,!1,!1,!0]},deleteRunningQueryModal:function(a){this.killQueryId=$(a.currentTarget).attr("data-id");var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,"Running Query","Do you want to kill the running query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Kill",this.killRunningQuery.bind(this))),window.modalView.show("modalTable.ejs","Kill Running Query",b,c),$(".modal-delete-confirmation strong").html("Really kill?")},killRunningQuery:function(){this.collection.killRunningQuery(this.killQueryId,this.killRunningQueryCallback.bind(this)),window.modalView.hide()},killRunningQueryCallback:function(){this.convertModelToJSON(!0),this.renderActive()},deleteSlowQueryHistoryModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry(void 0,"Slow Query Log","Do you want to delete the slow query log entries?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.deleteSlowQueryHistory.bind(this))),window.modalView.show("modalTable.ejs","Delete Slow Query Log",a,b)},deleteSlowQueryHistory:function(){this.collection.deleteSlowQueryHistory(this.slowQueryCallback.bind(this)),window.modalView.hide()},slowQueryCallback:function(){this.convertModelToJSON(!1),this.renderSlow()},render:function(){var a=arangoHelper.getCurrentSub();a.params.active?(this.active=!0,this.convertModelToJSON(!0)):(this.active=!1,this.convertModelToJSON(!1))},addEvents:function(){var a=this;$("#queryManagementContent tbody").on("mousedown",function(){clearTimeout(a.timer),a.shouldRender=!1}),$("#queryManagementContent tbody").on("mouseup",function(){a.timer=window.setTimeout(function(){a.shouldRender=!0},3e3)})},renderActive:function(){this.$el.html(this.templateActive.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#activequeries").addClass("arango-active-tab"),this.addEvents()},renderSlow:function(){this.$el.html(this.templateSlow.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#slowqueries").addClass("arango-active-tab"),this.addEvents()},convertModelToJSON:function(a){var b=this,c=[];a===!0?this.collection=this.activeCollection:this.collection=this.slowCollection,this.collection.fetch({success:function(){b.collection.each(function(b){var d="";a&&(d=''),c.push([b.get("id"),b.get("query"),b.get("runTime").toFixed(2)+" s",b.get("started"),d])});var d="No running queries.";a||(d="No slow queries."),0===c.length&&c.push([d,"","","",""]),b.tableDescription.rows=c,a?b.renderActive():b.renderSlow()}})}})}(),function(){"use strict";window.queryView=Backbone.View.extend({el:"#content",id:"#customsDiv",warningTemplate:templateEngine.createTemplate("warningList.ejs"),tabArray:[],execPending:!1,initialize:function(){this.refreshAQL(),this.tableDescription.rows=this.customQueries},events:{"click #result-switch":"switchTab","click #query-switch":"switchTab","click #customs-switch":"switchTab","click #submitQueryButton":"submitQuery","click #explainQueryButton":"explainQuery","click #commentText":"commentText","click #uncommentText":"uncommentText","click #undoText":"undoText","click #redoText":"redoText","click #smallOutput":"smallOutput","click #bigOutput":"bigOutput","click #clearOutput":"clearOutput","click #clearInput":"clearInput","click #clearQueryButton":"clearInput","click #addAQL":"addAQL","mouseover #querySelect":function(){this.refreshAQL(!0)},"change #querySelect":"importSelected","keypress #aqlEditor":"aqlShortcuts","click #arangoQueryTable .table-cell0":"editCustomQuery","click #arangoQueryTable .table-cell1":"editCustomQuery","click #arangoQueryTable .table-cell2 a":"deleteAQL","click #confirmQueryImport":"importCustomQueries","click #confirmQueryExport":"exportCustomQueries","click #export-query":"exportCustomQueries","click #import-query":"openExportDialog","click #closeQueryModal":"closeExportDialog","click #downloadQueryResult":"downloadQueryResult"},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{"keyup #new-query-name":this.listenKey.bind(this)})},updateTable:function(){this.tableDescription.rows=this.customQueries,_.each(this.tableDescription.rows,function(a){a.thirdRow='',a.hasOwnProperty("parameter")&&delete a.parameter}),this.tableDescription.unescaped=[!1,!1,!0],this.$(this.id).html(this.table.render({content:this.tableDescription}))},editCustomQuery:function(a){var b=$(a.target).parent().children().first().text(),c=ace.edit("aqlEditor"),d=ace.edit("varsEditor");c.setValue(this.getCustomQueryValueByName(b)),d.setValue(JSON.stringify(this.getCustomQueryParameterByName(b))),this.deselect(d),this.deselect(c),$("#querySelect").val(b),this.switchTab("query-switch")},initTabArray:function(){var a=this;$(".arango-tab").children().each(function(){a.tabArray.push($(this).children().first().attr("id"))})},listenKey:function(a){13===a.keyCode&&this.saveAQL(a),this.checkSaveName()},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},clearOutput:function(){var a=ace.edit("queryOutput");a.setValue("")},clearInput:function(){var a=ace.edit("aqlEditor"),b=ace.edit("varsEditor");this.setCachedQuery(a.getValue(),b.getValue()),a.setValue(""),b.setValue("")},smallOutput:function(){var a=ace.edit("queryOutput");a.getSession().foldAll()},bigOutput:function(){var a=ace.edit("queryOutput");a.getSession().unfold()},aqlShortcuts:function(a){a.ctrlKey&&13===a.keyCode?this.submitQuery():a.metaKey&&!a.ctrlKey&&13===a.keyCode&&this.submitQuery()},queries:[],customQueries:[],tableDescription:{id:"arangoQueryTable",titles:["Name","Content",""],rows:[]},template:templateEngine.createTemplate("queryView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),render:function(){var a=this;this.$el.html(this.template.render({})),this.$(this.id).html(this.table.render({content:this.tableDescription}));var b=1e3,c=$("#querySize");c.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(a){c.append('")});var d=ace.edit("queryOutput");d.setReadOnly(!0),d.setHighlightActiveLine(!1),d.getSession().setMode("ace/mode/json"),d.setFontSize("13px"),d.setValue("");var e=ace.edit("aqlEditor");e.getSession().setMode("ace/mode/aql"),e.setFontSize("13px"),e.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"});var f=ace.edit("varsEditor");f.getSession().setMode("ace/mode/aql"),f.setFontSize("13px"),f.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"});var g=this.getCachedQuery();null!==g&&void 0!==g&&""!==g&&(e.setValue(g.query),""===g.parameter||void 0===g?f.setValue("{}"):f.setValue(g.parameter));var h=function(){var b=e.getSession(),c=e.getCursorPosition(),d=b.getTokenAt(c.row,c.column);d&&("comment"===d.type?$("#commentText i").removeClass("fa-comment").addClass("fa-comment-o").attr("data-original-title","Uncomment"):$("#commentText i").removeClass("fa-comment-o").addClass("fa-comment").attr("data-original-title","Comment"));var g=e.getValue(),h=f.getValue();1===g.length&&(g=""),1===h.length&&(h=""),a.setCachedQuery(g,h)};e.getSession().selection.on("changeCursor",function(){h()}),f.getSession().selection.on("changeCursor",function(){ +h()}),$("#queryOutput").resizable({handles:"s",ghost:!0,stop:function(){setTimeout(function(){var a=ace.edit("queryOutput");a.resize()},200)}}),arangoHelper.fixTooltips(".vars-editor-header i, .queryTooltips, .icon_arangodb","top"),$("#aqlEditor .ace_text-input").focus();var i=$(window).height()-295;return $("#aqlEditor").height(i-100-29),$("#varsEditor").height(100),$("#queryOutput").height(i),e.resize(),d.resize(),this.initTabArray(),this.renderSelectboxes(),this.deselect(f),this.deselect(d),this.deselect(e),$("#queryDiv").show(),$("#customsDiv").show(),this.initQueryImport(),this.switchTab("query-switch"),this},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};localStorage.setItem("cachedQuery",JSON.stringify(c))}},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.renderSelectboxes(),a.updateTable(),a.allowUpload=!1,$("#customs-switch").click(),$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},downloadQueryResult:function(){var a=ace.edit("aqlEditor"),b=a.getValue();""!==b||void 0!==b||null!==b?window.open("query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:b})))):arangoHelper.arangoError("Query error","could not query result.")},exportCustomQueries:function(){var a,b={},c=[];_.each(this.customQueries,function(a){c.push({name:a.name,value:a.value,parameter:a.parameter})}),b={extra:{queries:c}},$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,(null===a||a===!1)&&(a="root"),window.open("query/download/"+encodeURIComponent(a))})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),$("#new-query-name").val($("#querySelect").val()),setTimeout(function(){$("#new-query-name").focus()},500),this.checkSaveName()},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a,b){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")}.bind(b);b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.renderSelectboxes(),this.updateTable())}.bind(this),c=$(a.target).parent().parent().parent().children().first().text(),d=this.collection.findWhere({name:c});this.collection.remove(d),this.collection.saveCollectionQueries(b)},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},saveAQL:function(a){a.stopPropagation(),this.refreshAQL();var b=ace.edit("aqlEditor"),c=ace.edit("varsEditor"),d=$("#new-query-name").val(),e=c.getValue();if(!$("#new-query-name").hasClass("invalid-input")&&""!==d.trim()){var f=b.getValue(),g=!1;if($.each(this.customQueries,function(a,b){return b.name===d?(b.value=f,void(g=!0)):void 0}),g===!0)this.collection.findWhere({name:d}).set("value",f);else{if((""===e||void 0===e)&&(e="{}"),"string"==typeof e)try{e=JSON.parse(e)}catch(h){console.log("could not parse bind parameter")}this.collection.add({name:d,parameter:e,value:f})}var i=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries(),b.renderSelectboxes(),$("#querySelect").val(d)}})}}.bind(this);this.collection.saveCollectionQueries(i),window.modalView.hide()}},getSystemQueries:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},getCustomQueryValueByName:function(a){return this.collection.findWhere({name:a}).get("value")},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},refreshAQL:function(a){var b=this,c=function(c){if(c)arangoHelper.arangoError("Query","Could not reload Queries");else if(b.updateLocalQueries(),a){var d=$("#querySelect").val();b.renderSelectboxes(),$("#querySelect").val(d)}}.bind(b),d=function(){b.getSystemQueries(c)}.bind(b);this.getAQL(d)},importSelected:function(a){var b=ace.edit("aqlEditor"),c=ace.edit("varsEditor");_.each(this.queries,function(d){$("#"+a.currentTarget.id).val()===d.name&&(b.setValue(d.value),d.hasOwnProperty("parameter")?((""===d.parameter||void 0===d.parameter)&&(d.parameter="{}"),"object"==typeof d.parameter?c.setValue(JSON.stringify(d.parameter)):c.setValue(d.parameter)):c.setValue("{}"))}),_.each(this.customQueries,function(d){$("#"+a.currentTarget.id).val()===d.name&&(b.setValue(d.value),d.hasOwnProperty("parameter")?((""===d.parameter||void 0===d.parameter||"{}"===JSON.stringify(d.parameter))&&(d.parameter="{}"),c.setValue(d.parameter)):c.setValue("{}"))}),this.deselect(ace.edit("varsEditor")),this.deselect(ace.edit("aqlEditor"))},renderSelectboxes:function(){this.sortQueries();var a="";a="#querySelect",$(a).empty(),$(a).append(''),$(a).append(''),jQuery.each(this.queries,function(b,c){$(a).append('")}),$(a).append(""),this.customQueries.length>0&&($(a).append(''),jQuery.each(this.customQueries,function(b,c){$(a).append('")}),$(a).append(""))},undoText:function(){var a=ace.edit("aqlEditor");a.undo()},redoText:function(){var a=ace.edit("aqlEditor");a.redo()},commentText:function(){var a=ace.edit("aqlEditor");a.toggleCommentLines()},sortQueries:function(){this.queries=_.sortBy(this.queries,"name"),this.customQueries=_.sortBy(this.customQueries,"name")},readQueryData:function(){var a=ace.edit("aqlEditor"),b=ace.edit("varsEditor"),c=a.session.getTextRange(a.getSelectionRange()),d=$("#querySize"),e={query:c||a.getValue(),id:"currentFrontendQuery"};"all"!==d.val()&&(e.batchSize=parseInt(d.val(),10));var f=b.getValue();if(f.length>0)try{var g=JSON.parse(f);0!==Object.keys(g).length&&(e.bindVars=g)}catch(h){return arangoHelper.arangoError("Query error","Could not parse bind parameters."),!1}return JSON.stringify(e)},heatmapColors:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"],heatmap:function(a){return this.heatmapColors[Math.floor(10*a)]},followQueryPath:function(a,b){var c={},d=0;c[b[0].id]=a;var e,f,g,h;for(e=1;e0&&(b+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){b+="["+a.code+"], '"+a.message+"'\r\n"})),""!==b&&(b+="\r\nResult:\r\n\r\n"),d.setValue(b+JSON.stringify(a.result,void 0,2))},g=function(a){f(a),c.switchTab("result-switch"),window.progressView.hide();var e="-";a&&a.extra&&a.extra.stats&&(e=a.extra.stats.executionTime.toFixed(3)+" s"),$(".queryExecutionTime").text("Execution time: "+e),c.deselect(d),$("#downloadQueryResult").show(),"function"==typeof b&&b()},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,d){201===d.status?g(a):204===d.status&&(c.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){try{var b=JSON.parse(a.responseText);b.errorMessage&&arangoHelper.arangoError("Query",b.errorMessage)}catch(c){arangoHelper.arangoError("Query","Something went wrong.")}window.progressView.hide()}})};h()},fillResult:function(a){var b=this,c=ace.edit("queryOutput");c.setValue("");var d=this.readQueryData();d&&$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:d,contentType:"application/json",processData:!1,success:function(c,d,e){e.getResponseHeader("x-arango-async-id")&&b.queryCallbackFunction(e.getResponseHeader("x-arango-async-id"),a),$.noty.clearQueue(),$.noty.closeAll()},error:function(d){b.switchTab("result-switch"),$("#downloadQueryResult").hide();try{var e=JSON.parse(d.responseText);c.setValue("["+e.errorNum+"] "+e.errorMessage)}catch(f){c.setValue("ERROR"),arangoHelper.arangoError("Query error","ERROR")}window.progressView.hide(),"function"==typeof a&&a()}})},submitQuery:function(){var a=ace.edit("queryOutput");this.fillResult(this.switchTab.bind(this,"result-switch")),a.resize();var b=ace.edit("aqlEditor");this.deselect(b),$("#downloadQueryResult").show()},explainQuery:function(){this.fillExplain()},switchTab:function(a){var b;b="string"==typeof a?a:a.target.id;var c=this,d=function(a){var d="#"+a.replace("-switch",""),e="#tabContent"+d.charAt(1).toUpperCase()+d.substr(2);a===b?($("#"+a).parent().addClass("active"),$(d).addClass("active"),$(e).show(),"query-switch"===b?$("#aqlEditor .ace_text-input").focus():"result-switch"===b&&c.execPending&&c.fillResult()):($("#"+a).parent().removeClass("active"),$(d).removeClass("active"),$(e).hide())};this.tabArray.forEach(d),this.updateTable()}})}(),function(){"use strict";window.queryView2=Backbone.View.extend({el:"#content",bindParamId:"#bindParamEditor",myQueriesId:"#queryTable",template:templateEngine.createTemplate("queryView2.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),outputDiv:"#outputEditors",outputTemplate:templateEngine.createTemplate("queryViewOutput.ejs"),outputCounter:0,allowUpload:!1,customQueries:[],queries:[],state:{lastQuery:{query:void 0,bindParam:void 0}},settings:{aqlWidth:void 0},currentQuery:{},initDone:!1,bindParamRegExp:/@(@?\w+\d*)/,bindParamTableObj:{},bindParamTableDesc:{id:"arangoBindParamTable",titles:["Key","Value"],rows:[]},myQueriesTableDesc:{id:"arangoMyQueriesTable",titles:["Name","Actions"],rows:[]},execPending:!1,aqlEditor:null,queryPreview:null,initialize:function(){this.refreshAQL()},allowParamToggle:!0,events:{"click #executeQuery":"executeQuery","click #explainQuery":"explainQuery","click #clearQuery":"clearQuery","click .outputEditorWrapper #downloadQueryResult":"downloadQueryResult","click .outputEditorWrapper .switchAce":"switchAce","click .outputEditorWrapper .fa-close":"closeResult","click #toggleQueries1":"toggleQueries","click #toggleQueries2":"toggleQueries","click #saveCurrentQuery":"addAQL","click #exportQuery":"exportCustomQueries","click #importQuery":"openImportDialog","click #removeResults":"removeResults","click #querySpotlight":"showSpotlight","click #deleteQuery":"selectAndDeleteQueryFromTable","click #explQuery":"selectAndExplainQueryFromTable","keydown #arangoBindParamTable input":"updateBindParams","change #arangoBindParamTable input":"updateBindParams","click #arangoMyQueriesTable tbody tr":"showQueryPreview","dblclick #arangoMyQueriesTable tbody tr":"selectQueryFromTable","click #arangoMyQueriesTable #copyQuery":"selectQueryFromTable","click #closeQueryModal":"closeExportDialog","click #confirmQueryImport":"importCustomQueries","click #switchTypes":"toggleBindParams","click #arangoMyQueriesTable #runQuery":"selectAndRunQueryFromTable"},clearQuery:function(){this.aqlEditor.setValue("",1)},toggleBindParams:function(){this.allowParamToggle?($("#bindParamEditor").toggle(),$("#bindParamAceEditor").toggle(),"JSON"===$("#switchTypes").text()?($("#switchTypes").text("Table"),this.updateQueryTable(),this.bindParamAceEditor.setValue(JSON.stringify(this.bindParamTableObj,null," "),1),this.deselect(this.bindParamAceEditor)):($("#switchTypes").text("JSON"),this.renderBindParamTable())):arangoHelper.arangoError("Bind parameter","Could not parse bind parameter"),this.resize()},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.updateQueryTable(),a.resize(),a.allowUpload=!1,$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},removeResults:function(){$(".outputEditorWrapper").hide("fast",function(){$(".outputEditorWrapper").remove()}),$("#removeResults").hide()},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},getCustomQueryValueByName:function(a){var b;return a&&(b=this.collection.findWhere({name:a})),b?b=b.get("value"):_.each(this.queries,function(c){c.name===a&&(b=c.value)}),b},openImportDialog:function(){$("#queryImportDialog").modal("show")},closeImportDialog:function(){$("#queryImportDialog").modal("hide")},exportCustomQueries:function(){var a;$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,(null===a||a===!1)&&(a="root"),window.open("query/download/"+encodeURIComponent(a))})},toggleQueries:function(a){a&&"toggleQueries1"===a.currentTarget.id?(this.updateQueryTable(),$("#bindParamAceEditor").hide(),$("#bindParamEditor").show(),$("#switchTypes").text("JSON"),$(".aqlEditorWrapper").first().width(.33*$(window).width()),this.queryPreview.setValue("No query selected.",1),this.deselect(this.queryPreview)):void 0===this.settings.aqlWidth?$(".aqlEditorWrapper").first().width(.33*$(window).width()):$(".aqlEditorWrapper").first().width(this.settings.aqlWidth),this.resize();var b=["aqlEditor","queryTable","previewWrapper","querySpotlight","bindParamEditor","toggleQueries1","toggleQueries2","saveCurrentQuery","querySize","executeQuery","switchTypes","explainQuery","importQuery","exportQuery"];_.each(b,function(a){$("#"+a).toggle()}),this.resize()},showQueryPreview:function(a){$("#arangoMyQueriesTable tr").removeClass("selected"),$(a.currentTarget).addClass("selected");var b=this.getQueryNameFromTable(a);this.queryPreview.setValue(this.getCustomQueryValueByName(b),1),this.deselect(this.queryPreview)},getQueryNameFromTable:function(a){var b;return $(a.currentTarget).is("tr")?b=$(a.currentTarget).children().first().text():$(a.currentTarget).is("span")&&(b=$(a.currentTarget).parent().parent().prev().text()),b},deleteQueryModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,a,"Do you want to delete the query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Delete",this.deleteAQL.bind(this,a))),window.modalView.show("modalTable.ejs","Delete Query",b,c)},selectAndDeleteQueryFromTable:function(a){var b=this.getQueryNameFromTable(a);this.deleteQueryModal(b)},selectAndExplainQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.explainQuery()},selectAndRunQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.executeQuery()},selectQueryFromTable:function(a,b){var c=this.getQueryNameFromTable(a),d=this;void 0===b&&this.toggleQueries(),this.state.lastQuery.query=this.aqlEditor.getValue(),this.state.lastQuery.bindParam=this.bindParamTableObj,this.aqlEditor.setValue(this.getCustomQueryValueByName(c),1),this.fillBindParamTable(this.getCustomQueryParameterByName(c)),this.updateBindParams(),$("#lastQuery").remove(),$("#queryContent .arangoToolbarTop .pull-left").append('Previous Query'),$("#lastQuery").hide().fadeIn(500).on("click",function(){d.aqlEditor.setValue(d.state.lastQuery.query,1),d.fillBindParamTable(d.state.lastQuery.bindParam),d.updateBindParams(),$("#lastQuery").fadeOut(500,function(){$(this).remove()})})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.updateQueryTable(),this.resize(),window.modalView.hide())}.bind(this),c=this.collection.findWhere({name:a});this.collection.remove(c),this.collection.saveCollectionQueries(b)},switchAce:function(a){var b=$(a.currentTarget).attr("counter");"Result"===$(a.currentTarget).text()?$(a.currentTarget).text("AQL"):$(a.currentTarget).text("Result"),$("#outputEditor"+b).toggle(),$("#sentWrapper"+b).toggle(),this.deselect(ace.edit("outputEditor"+b)),this.deselect(ace.edit("sentQueryEditor"+b)),this.deselect(ace.edit("sentBindParamEditor"+b))},downloadQueryResult:function(a){var b=$(a.currentTarget).attr("counter"),c=ace.edit("sentQueryEditor"+b),d=c.getValue();""!==d||void 0!==d||null!==d?0===Object.keys(this.bindParamTableObj).length?window.open("query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d})))):window.open("query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d,bindVars:this.bindParamTableObj})))):arangoHelper.arangoError("Query error","could not query result.")},explainQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Explain"}));var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setReadOnly(!0),b.getSession().setMode("ace/mode/json"),b.setOption("vScrollBarAlwaysVisible",!0),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillExplain(b,c,a),this.outputCounter++}},fillExplain:function(a,b,c){b.setValue(this.aqlEditor.getValue(),1);var d=this,e=this.readQueryData();if($("#outputEditorWrapper"+c+" .queryExecutionTime").text(""),this.execPending=!1,e){var f=function(){$("#outputEditorWrapper"+c+" #spinner").remove(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditorWrapper"+c+" .switchAce").show()};$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/query/explain/"),data:e,contentType:"application/json",processData:!1,success:function(b){b.msg.includes("errorMessage")?(d.removeOutputEditor(c),arangoHelper.arangoError("Explain",b.msg)):(a.setValue(b.msg,1),d.deselect(a),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)),f()},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("Explain",b.errorMessage)}catch(e){arangoHelper.arangoError("Explain","ERROR")}d.handleResult(c),d.removeOutputEditor(c),f()}})}},removeOutputEditor:function(a){$("#outputEditorWrapper"+a).hide(),$("#outputEditorWrapper"+a).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()},getCachedQueryAfterRender:function(){var a=this.getCachedQuery(),b=this;if(null!==a&&void 0!==a&&""!==a&&(this.aqlEditor.setValue(a.query,1),this.aqlEditor.getSession().setUndoManager(new ace.UndoManager),""!==a.parameter||void 0!==a))try{b.bindParamTableObj=JSON.parse(a.parameter);var c;_.each($("#arangoBindParamTable input"),function(a){c=$(a).attr("name"),$(a).val(b.bindParamTableObj[c])}),b.setCachedQuery(b.aqlEditor.getValue(),JSON.stringify(b.bindParamTableObj))}catch(d){}},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);this.currentQuery=b;try{this.bindParamTableObj=JSON.parse(b.parameter)}catch(c){}return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};this.currentQuery=c,localStorage.setItem("cachedQuery",JSON.stringify(c))}},closeResult:function(a){var b=$("#"+$(a.currentTarget).attr("element")).parent();$(b).hide("fast",function(){$(b).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()})},fillSelectBoxes:function(){var a=1e3,b=$("#querySize");b.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(c){b.append('")})},render:function(){this.$el.html(this.template.render({})),this.afterRender(),this.initDone||(this.settings.aqlWidth=$(".aqlEditorWrapper").width()),this.initDone=!0,this.renderBindParamTable(!0)},afterRender:function(){var a=this;this.initAce(),this.initTables(),this.fillSelectBoxes(),this.makeResizeable(),this.initQueryImport(),this.getCachedQueryAfterRender(),$(".inputEditorWrapper").height($(window).height()/10*5+25),window.setTimeout(function(){a.resize()},10),a.deselect(a.aqlEditor)},showSpotlight:function(a){var b,c;if((void 0===a||"click"===a.type)&&(a="aql"),"aql"===a)b=function(a){this.aqlEditor.insert(a),$("#aqlEditor .ace_text-input").focus()}.bind(this),c=function(){$("#aqlEditor .ace_text-input").focus()};else{var d=$(":focus");b=function(a){var b=$(d).val();$(d).val(b+a),$(d).focus()}.bind(this),c=function(){$(d).focus()}}window.spotlightView.show(b,c,a)},resize:function(){this.resizeFunction()},resizeFunction:function(){$("#toggleQueries1").is(":visible")?(this.aqlEditor.resize(),$("#arangoBindParamTable thead").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable thead th").css("width",$("#bindParamEditor").width()/2),$("#arangoBindParamTable tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody").css("height",$("#aqlEditor").height()-35),$("#arangoBindParamTable tbody").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody td").css("width",$("#bindParamEditor").width()/2)):(this.queryPreview.resize(),$("#arangoMyQueriesTable thead").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable thead th").css("width",$("#queryTable").width()/2),$("#arangoMyQueriesTable tr").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody").css("height",$("#queryTable").height()-35),$("#arangoMyQueriesTable tbody").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody td").css("width",$("#queryTable").width()/2))},makeResizeable:function(){var a=this;$(".aqlEditorWrapper").resizable({resize:function(){a.resizeFunction(),a.settings.aqlWidth=$(".aqlEditorWrapper").width()},handles:"e"}),$(".inputEditorWrapper").resizable({resize:function(){a.resizeFunction()},handles:"s"}),this.resizeFunction()},initTables:function(){this.$(this.bindParamId).html(this.table.render({content:this.bindParamTableDesc})),this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},checkType:function(a){var b="stringtype";try{a=JSON.parse(a),b=a instanceof Array?"arraytype":typeof a+"type"}catch(c){}return b},updateBindParams:function(a){var b,c=this;if(a){b=$(a.currentTarget).attr("name"),this.bindParamTableObj[b]=arangoHelper.parseInput(a.currentTarget);var d=["arraytype","objecttype","booleantype","numbertype","stringtype"];_.each(d,function(b){$(a.currentTarget).removeClass(b)}),$(a.currentTarget).addClass(c.checkType($(a.currentTarget).val()))}else _.each($("#arangoBindParamTable input"),function(a){b=$(a).attr("name"),c.bindParamTableObj[b]=arangoHelper.parseInput(a)});this.setCachedQuery(this.aqlEditor.getValue(),JSON.stringify(this.bindParamTableObj)),a&&((a.ctrlKey||a.metaKey)&&13===a.keyCode&&(a.preventDefault(),this.executeQuery()),(a.ctrlKey||a.metaKey)&&32===a.keyCode&&(a.preventDefault(),this.showSpotlight("bind")))},parseQuery:function(a){var b=0,c=1,d=2,e=3,f=4,g=5,h=6,i=7;a+=" ";var j,k,l,m=this,n=b,o=a.length,p=[];for(k=0;o>k;++k)switch(l=a.charAt(k),n){case b:"@"===l?(n=h,j=k):"'"===l?n=c:'"'===l?n=d:"`"===l?n=e:"´"===l?n=i:"/"===l&&o>k+1&&("/"===a.charAt(k+1)?(n=f,++k):"*"===a.charAt(k+1)&&(n=g,++k));break;case f:("\r"===l||"\n"===l)&&(n=b);break;case g:"*"===l&&o>=k+1&&"/"===a.charAt(k+1)&&(n=b,++k);break;case c:"\\"===l?++k:"'"===l&&(n=b);break;case d:"\\"===l?++k:'"'===l&&(n=b);break;case e:"`"===l&&(n=b);break;case i:"´"===l&&(n=b);break;case h:/^[@a-zA-Z0-9_]+$/.test(l)||(p.push(a.substring(j,k)),n=b,j=void 0)}var q;return _.each(p,function(a,b){q=a.match(m.bindParamRegExp),q&&(p[b]=q[1])}),{query:a,bindParams:p}},checkForNewBindParams:function(){var a=this,b=this.parseQuery(this.aqlEditor.getValue()).bindParams,c={};_.each(b,function(b){a.bindParamTableObj[b]?c[b]=a.bindParamTableObj[b]:c[b]=""}),Object.keys(b).forEach(function(b){Object.keys(a.bindParamTableObj).forEach(function(d){b===d&&(c[b]=a.bindParamTableObj[d])})}),a.bindParamTableObj=c},renderBindParamTable:function(a){$("#arangoBindParamTable tbody").html(""),a&&this.getCachedQuery();var b=0;_.each(this.bindParamTableObj,function(a,c){$("#arangoBindParamTable tbody").append(""+c+"'),b++,_.each($("#arangoBindParamTable input"),function(b){$(b).attr("name")===c&&(a instanceof Array?$(b).val(JSON.stringify(a)).addClass("arraytype"):"object"==typeof a?$(b).val(JSON.stringify(a)).addClass(typeof a+"type"):$(b).val(a).addClass(typeof a+"type"))})}),0===b&&$("#arangoBindParamTable tbody").append('No bind parameters defined.')},fillBindParamTable:function(a){_.each(a,function(a,b){_.each($("#arangoBindParamTable input"),function(c){$(c).attr("name")===b&&$(c).val(a)})})},initAce:function(){var a=this;this.aqlEditor=ace.edit("aqlEditor"),this.aqlEditor.getSession().setMode("ace/mode/aql"),this.aqlEditor.setFontSize("10pt"),this.aqlEditor.setShowPrintMargin(!1),this.bindParamAceEditor=ace.edit("bindParamAceEditor"),this.bindParamAceEditor.getSession().setMode("ace/mode/json"),this.bindParamAceEditor.setFontSize("10pt"),this.bindParamAceEditor.setShowPrintMargin(!1),this.bindParamAceEditor.getSession().on("change",function(){try{a.bindParamTableObj=JSON.parse(a.bindParamAceEditor.getValue()),a.allowParamToggle=!0,a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj))}catch(b){""===a.bindParamAceEditor.getValue()?(_.each(a.bindParamTableObj,function(b,c){a.bindParamTableObj[c]=""}),a.allowParamToggle=!0):a.allowParamToggle=!1}}),this.aqlEditor.getSession().on("change",function(){a.checkForNewBindParams(),a.renderBindParamTable(),a.initDone&&a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj)),a.bindParamAceEditor.setValue(JSON.stringify(a.bindParamTableObj,null," "),1),$("#aqlEditor .ace_text-input").focus(),a.resize()}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"executeQuery",bindKey:{win:"Ctrl-Return",mac:"Command-Return",linux:"Ctrl-Return"},exec:function(){a.executeQuery()}}),this.aqlEditor.commands.addCommand({name:"saveQuery",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S",linux:"Ctrl-Shift-S"},exec:function(){a.addAQL()}}),this.aqlEditor.commands.addCommand({name:"explainQuery",bindKey:{win:"Ctrl-Shift-Return",mac:"Command-Shift-Return",linux:"Ctrl-Shift-Return"},exec:function(){a.explainQuery()}}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"showSpotlight",bindKey:{win:"Ctrl-Space",mac:"Ctrl-Space",linux:"Ctrl-Space"},exec:function(){a.showSpotlight()}}),this.queryPreview=ace.edit("queryPreview"),this.queryPreview.getSession().setMode("ace/mode/aql"),this.queryPreview.setReadOnly(!0),this.queryPreview.setFontSize("13px"),$("#aqlEditor .ace_text-input").focus()},updateQueryTable:function(){function a(a,b){var c;return c=a.nameb.name?1:0}var b=this;this.updateLocalQueries(),this.myQueriesTableDesc.rows=this.customQueries,_.each(this.myQueriesTableDesc.rows,function(a){a.secondRow='
    ',a.hasOwnProperty("parameter")&&delete a.parameter,delete a.value}),this.myQueriesTableDesc.rows.sort(a),_.each(this.queries,function(a){a.hasOwnProperty("parameter")&&delete a.parameter,b.myQueriesTableDesc.rows.push({name:a.name,thirdRow:''})}),this.myQueriesTableDesc.unescaped=[!1,!0,!0],this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},listenKey:function(a){13===a.keyCode&&this.saveAQL(a),this.checkSaveName()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),setTimeout(function(){$("#new-query-name").focus()},500)},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{ +"keyup #new-query-name":this.listenKey.bind(this)})},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},saveAQL:function(a){a.stopPropagation(),this.refreshAQL();var b=$("#new-query-name").val(),c=this.bindParamTableObj;if(!$("#new-query-name").hasClass("invalid-input")&&""!==b.trim()){var d=this.aqlEditor.getValue(),e=!1;if(_.each(this.customQueries,function(a){return a.name===b?(a.value=d,void(e=!0)):void 0}),e===!0)this.collection.findWhere({name:b}).set("value",d);else{if((""===c||void 0===c)&&(c="{}"),"string"==typeof c)try{c=JSON.parse(c)}catch(f){arangoHelper.arangoError("Query","Could not parse bind parameter")}this.collection.add({name:b,parameter:c,value:d})}var g=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries()}})}}.bind(this);this.collection.saveCollectionQueries(g),window.modalView.hide()}},verifyQueryAndParams:function(){var a=!1;0===this.aqlEditor.getValue().length&&(arangoHelper.arangoError("Query","Your query is empty"),a=!0);var b=[];return _.each(this.bindParamTableObj,function(c,d){""===c&&(a=!0,b.push(d))}),b.length>0&&arangoHelper.arangoError("Bind Parameter",JSON.stringify(b)+" not defined."),a},executeQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Query"})),$("#outputEditorWrapper"+this.outputCounter).hide(),$("#outputEditorWrapper"+this.outputCounter).show("fast");var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setFontSize("13px"),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setFontSize("13px"),b.getSession().setMode("ace/mode/json"),b.setReadOnly(!0),b.setOption("vScrollBarAlwaysVisible",!0),b.setShowPrintMargin(!1),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillResult(b,c,a),this.outputCounter++}},readQueryData:function(){var a=this.aqlEditor.session.getTextRange(this.aqlEditor.getSelectionRange()),b=$("#querySize"),c={query:a||this.aqlEditor.getValue(),id:"currentFrontendQuery"};return"all"!==b.val()&&(c.batchSize=parseInt(b.val(),10)),Object.keys(this.bindParamTableObj).length>0&&(c.bindVars=this.bindParamTableObj),JSON.stringify(c)},fillResult:function(a,b,c){var d=this,e=this.readQueryData();e&&(b.setValue(d.aqlEditor.getValue(),1),$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:e,contentType:"application/json",processData:!1,success:function(b,e,f){f.getResponseHeader("x-arango-async-id")&&d.queryCallbackFunction(f.getResponseHeader("x-arango-async-id"),a,c),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("["+b.errorNum+"]",b.errorMessage)}catch(e){arangoHelper.arangoError("Query error","ERROR")}d.handleResult(c)}}))},handleResult:function(){window.progressView.hide(),$("#removeResults").show(),$(".centralRow").animate({scrollTop:$("#queryContent").height()},"fast")},setEditorAutoHeight:function(a){var b=$(".centralRow").height(),c=(b-250)/17;a.setOptions({maxLines:c,minLines:10})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},queryCallbackFunction:function(a,b,c){var d=this,e=function(a,b){$.ajax({url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)+"/cancel"),type:"PUT",success:function(){window.clearTimeout(d.checkQueryTimer),$("#outputEditorWrapper"+b).remove(),arangoHelper.arangoNotification("Query","Query canceled.")}})};$("#outputEditorWrapper"+c+" #cancelCurrentQuery").bind("click",function(){e(a,c)}),$("#outputEditorWrapper"+c+" #copy2aqlEditor").bind("click",function(){$("#toggleQueries1").is(":visible")||d.toggleQueries();var a=ace.edit("sentQueryEditor"+c).getValue(),b=JSON.parse(ace.edit("sentBindParamEditor"+c).getValue());d.aqlEditor.setValue(a,1),d.deselect(d.aqlEditor),Object.keys(b).length>0&&(d.bindParamTableObj=b,d.setCachedQuery(d.aqlEditor.getValue(),JSON.stringify(d.bindParamTableObj)),$("#bindParamEditor").is(":visible")?d.renderBindParamTable():(d.bindParamAceEditor.setValue(JSON.stringify(b),1),d.deselect(d.bindParamAceEditor))),$(".centralRow").animate({scrollTop:0},"fast"),d.resize()}),this.execPending=!1;var f=function(a){var c="";a.extra&&a.extra.warnings&&a.extra.warnings.length>0&&(c+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){c+="["+a.code+"], '"+a.message+"'\r\n"})),""!==c&&(c+="\r\nResult:\r\n\r\n"),b.setValue(c+JSON.stringify(a.result,void 0,2),1),b.getSession().setScrollTop(0)},g=function(a){f(a),window.progressView.hide();var e=function(a,b){$("#outputEditorWrapper"+c+" .arangoToolbarTop .pull-left").append(''+a+"")};$("#outputEditorWrapper"+c+" .pull-left #spinner").remove();var g="-";a&&a.extra&&a.extra.stats&&(g=a.extra.stats.executionTime.toFixed(3)+" s"),e(a.result.length+" elements","fa-calculator"),e(g,"fa-clock-o"),a.extra&&a.extra.stats&&(console.log(a.result.length),(a.extra.stats.writesExecuted>0||a.extra.stats.writesIgnored>0)&&(e(a.extra.stats.writesExecuted+" writes","fa-check-circle positive"),0===a.extra.stats.writesIgnored?e(a.extra.stats.writesIgnored+" writes ignored","fa-check-circle positive"):e(a.extra.stats.writesIgnored+" writes ignored","fa-exclamation-circle warning")),a.extra.stats.scannedFull>0?e("full collection scan","fa-exclamation-circle warning"):e("no full collection scan","fa-check-circle positive")),$("#outputEditorWrapper"+c+" .switchAce").show(),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" #downloadQueryResult").show(),$("#outputEditorWrapper"+c+" #copy2aqlEditor").show(),$("#outputEditorWrapper"+c+" #cancelCurrentQuery").remove(),d.setEditorAutoHeight(b),d.deselect(b),a.id&&$.ajax({url:"/_api/cursor/"+encodeURIComponent(a.id),type:"DELETE",error:function(a){console.log(a)}})},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,c){201===c.status?g(a):204===c.status&&(d.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){var b;try{if("Gone"===a.statusText)return arangoHelper.arangoNotification("Query","Query execution aborted."),void d.removeOutputEditor(c);b=JSON.parse(a.responseText),arangoHelper.arangoError("Query",b.errorMessage),b.errorMessage&&(null!==b.errorMessage.match(/\d+:\d+/g)?d.markPositionError(b.errorMessage.match(/'.*'/g)[0],b.errorMessage.match(/\d+:\d+/g)[0]):d.markPositionError(b.errorMessage.match(/\(\w+\)/g)[0]),d.removeOutputEditor(c))}catch(e){console.log(b),400!==b.code&&arangoHelper.arangoError("Query","Successfully aborted."),d.removeOutputEditor(c)}window.progressView.hide()}})};h()},markPositionError:function(a,b){var c;b&&(c=b.split(":")[0],a=a.substr(1,a.length-2));var d=this.aqlEditor.find(a);!d&&b&&(this.aqlEditor.selection.moveCursorToPosition({row:c,column:0}),this.aqlEditor.selection.selectLine()),window.setTimeout(function(){$(".ace_start").first().css("background","rgba(255, 129, 129, 0.7)")},100)},refreshAQL:function(){var a=this,b=function(b){b?arangoHelper.arangoError("Query","Could not reload Queries"):(a.updateLocalQueries(),a.updateQueryTable())}.bind(a),c=function(){a.getSystemQueries(b)}.bind(a);this.getAQL(c)},getSystemQueries:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")}.bind(b);b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})}})}(),function(){"use strict";window.SettingsView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Settings"),this.renderSettings()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.App.navigate("#collections",{trigger:!0})}})},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g)!==Math.pow(2,Math.log2(g)))throw"invalid indexBuckets value"}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);this.model.renameCollection(c,i)}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection error: "+b.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this);this.model.renameCollection(c,j)}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},renderSettings:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a,"content"),$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()}.bind(this);this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";window.ShowClusterView=Backbone.View.extend({detailEl:"#modalPlaceholder",el:"#content",defaultFrame:12e5,template:templateEngine.createTemplate("showCluster.ejs"),modal:templateEngine.createTemplate("waitModal.ejs"),detailTemplate:templateEngine.createTemplate("detailView.ejs"),events:{"change #selectDB":"updateCollections","change #selectCol":"updateShards","click .dbserver.success":"dashboard","click .coordinator.success":"dashboard"},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","icon").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},updateServerTime:function(){this.serverTime=(new Date).getTime()},setShowAll:function(){this.graphShowAll=!0},resetShowAll:function(){this.graphShowAll=!1,this.renderLineChart()},initialize:function(a){this.options=a,this.interval=1e4,this.isUpdating=!1,this.timer=null,this.knownServers=[],this.graph=void 0,this.graphShowAll=!1,this.updateServerTime(),this.dygraphConfig=this.options.dygraphConfig,this.dbservers=new window.ClusterServers([],{interval:this.interval}),this.coordinators=new window.ClusterCoordinators([],{interval:this.interval}),this.documentStore=new window.arangoDocuments,this.statisticsDescription=new window.StatisticsDescription,this.statisticsDescription.fetch({async:!1}),this.dbs=new window.ClusterDatabases([],{interval:this.interval}),this.cols=new window.ClusterCollections,this.shards=new window.ClusterShards,this.startUpdating()},listByAddress:function(a){var b={},c=this;this.dbservers.byAddress(b,function(b){c.coordinators.byAddress(b,a)})},updateCollections:function(){var a=this,b=$("#selectCol"),c=$("#selectDB").find(":selected").attr("id");if(c){var d=b.find(":selected").attr("id");b.html(""),this.cols.getList(c,function(c){_.each(_.pluck(c,"name"),function(a){b.append('")});var e=$("#"+d,b);1===e.length&&e.prop("selected",!0),a.updateShards()})}},updateShards:function(){var a=$("#selectDB").find(":selected").attr("id"),b=$("#selectCol").find(":selected").attr("id");this.shards.getList(a,b,function(a){$(".shardCounter").html("0"),_.each(a,function(a){$("#"+a.server+"Shards").html(a.shards.length)})})},updateServerStatus:function(a){var b=this,c=function(a,b,c){var d,e,f=c;f=f.replace(/\./g,"-"),f=f.replace(/\:/g,"_"),e=$("#id"+f),e.length<1||(d=e.attr("class").split(/\s+/)[1],e.attr("class",a+" "+d+" "+b),"coordinator"===a&&("success"===b?$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!1):$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!0)))};this.coordinators.getStatuses(c.bind(this,"coordinator"),function(){b.dbservers.getStatuses(c.bind(b,"dbserver")),a()})},updateDBDetailList:function(){var a=this,b=$("#selectDB"),c=b.find(":selected").attr("id");b.html(""),this.dbs.getList(function(d){_.each(_.pluck(d,"name"),function(a){b.append('")});var e=$("#"+c,b);1===e.length&&e.prop("selected",!0),a.updateCollections()})},rerender:function(){var a=this;this.updateServerStatus(function(){a.getServerStatistics(function(){a.updateServerTime(),a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList()})})},render:function(){this.knownServers=[],delete this.hist;var a=this;this.listByAddress(function(b){1===Object.keys(b).length?a.type="testPlan":a.type="other",a.updateDBDetailList(),a.dbs.getList(function(c){$(a.el).html(a.template.render({dbs:_.pluck(c,"name"),byAddress:b,type:a.type})),$(a.el).append(a.modal.render({})),a.replaceSVGs(),a.getServerStatistics(function(){a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList(),a.startUpdating()})})})},generatePieData:function(){var a=[],b=this;return this.data.forEach(function(c){a.push({key:c.get("name"),value:c.get("system").virtualSize,time:b.serverTime})}),a},addStatisticsItem:function(a,b,c,d){var e=this;e.hasOwnProperty("hist")||(e.hist={}),e.hist.hasOwnProperty(a)||(e.hist[a]=[]);var f=e.hist[a],g=f.length;if(0===g)f.push({time:b,snap:d,requests:c,requestsPerSecond:0});else{var h=f[g-1].time,i=f[g-1].requests;if(c>i){var j=b-h,k=0;j>0&&(k=(c-i)/j),f.push({time:b,snap:d,requests:c,requestsPerSecond:k})}}},getServerStatistics:function(a){var b=this,c=Math.round(b.serverTime/1e3);this.data=void 0;var d=new window.ClusterStatisticsCollection,e=this.coordinators.first();this.dbservers.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=e.get("protocol")+"://"+e.get("address")+"/_admin/clusterStatistics?DBserver="+a.get("name"),d.add(c)}}),this.coordinators.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=a.get("protocol")+"://"+a.get("address")+"/_admin/statistics",d.add(c)}});var f=d.size();this.data=[];var g=function(d){f--;var e=d.get("time"),g=d.get("name"),h=d.get("http").requestsTotal;b.addStatisticsItem(g,e,h,c),b.data.push(d),0===f&&a()},h=function(){f--,0===f&&a()};d.fetch(g,h)},renderPieChart:function(a){var b=$("#clusterGraphs svg").width(),c=$("#clusterGraphs svg").height(),d=Math.min(b,c)/2,e=this.dygraphConfig.colors,f=d3.svg.arc().outerRadius(d-20).innerRadius(0),g=d3.layout.pie().sort(function(a){return a.value}).value(function(a){return a.value});d3.select("#clusterGraphs").select("svg").remove();var h=d3.select("#clusterGraphs").append("svg").attr("class","clusterChart").append("g").attr("transform","translate("+b/2+","+(c/2-10)+")"),i=d3.svg.arc().outerRadius(d-2).innerRadius(d-2),j=h.selectAll(".arc").data(g(a)).enter().append("g").attr("class","slice");j.append("path").attr("d",f).style("fill",function(a,b){return e[b%e.length]}).style("stroke",function(a,b){return e[b%e.length]}),j.append("text").attr("transform",function(a){return"translate("+f.centroid(a)+")"}).style("text-anchor","middle").text(function(a){var b=a.data.value/1024/1024/1024;return b.toFixed(2)}),j.append("text").attr("transform",function(a){return"translate("+i.centroid(a)+")"}).style("text-anchor","middle").text(function(a){return a.data.key})},renderLineChart:function(){var a,b,c,d,e,f,g=this,h=1200,i=[],j=[],k=Math.round((new Date).getTime()/1e3)-h,l=g.knownServers,m=function(){return null};for(c=0;cf||(j.hasOwnProperty(f)?a=j[f]:(e=new Date(1e3*f),a=j[f]=[e].concat(l.map(m))),a[c+1]=b[d].requestsPerSecond);i=[],Object.keys(j).sort().forEach(function(a){i.push(j[a])});var n=this.dygraphConfig.getDefaultConfig("clusterRequestsPerSecond");n.labelsDiv=$("#lineGraphLegend")[0],n.labels=["datetime"].concat(l),g.graph=new Dygraph(document.getElementById("lineGraph"),i,n)},stopUpdating:function(){window.clearTimeout(this.timer),delete this.graph,this.isUpdating=!1},startUpdating:function(){if(!this.isUpdating){this.isUpdating=!0;var a=this;this.timer=window.setInterval(function(){a.rerender()},this.interval)}},dashboard:function(a){this.stopUpdating();var b,c,d=$(a.currentTarget),e={},f=d.attr("id");f=f.replace(/\-/g,"."),f=f.replace(/\_/g,":"),f=f.substr(2),e.raw=f,e.isDBServer=d.hasClass("dbserver"),e.isDBServer?(b=this.dbservers.findWhere({address:e.raw}),c=this.coordinators.findWhere({status:"ok"}),e.endpoint=c.get("protocol")+"://"+c.get("address")):(b=this.coordinators.findWhere({address:e.raw}),e.endpoint=b.get("protocol")+"://"+b.get("address")),e.target=encodeURIComponent(b.get("name")),window.App.serverToShow=e,window.App.dashboard()},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},resize:function(){var a;this.graph&&(a=this.getCurrentSize(this.graph.maindiv_.id),this.graph.resize(a.width,a.height))}})}(),function(){"use strict";window.SpotlightView=Backbone.View.extend({template:templateEngine.createTemplate("spotlightView.ejs"),el:"#spotlightPlaceholder",displayLimit:8,typeahead:null,callbackSuccess:null,callbackCancel:null,collections:{system:[],doc:[],edge:[]},events:{"focusout #spotlight .tt-input":"hide","keyup #spotlight .typeahead":"listenKey"},aqlKeywordsArray:[],aqlBuiltinFunctionsArray:[],aqlKeywords:"for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count",aqlBuiltinFunctions:"to_bool|to_number|to_string|to_list|is_null|is_bool|is_number|is_string|is_list|is_document|typename|concat|concat_separator|char_length|lower|upper|substring|left|right|trim|reverse|contains|like|floor|ceil|round|abs|rand|sqrt|pow|length|min|max|average|sum|median|variance_population|variance_sample|first|last|unique|matches|merge|merge_recursive|has|attributes|values|unset|unset_recursive|keep|near|within|within_rectangle|is_in_polygon|fulltext|paths|traversal|traversal_tree|edges|stddev_sample|stddev_population|slice|nth|position|translate|zip|call|apply|push|append|pop|shift|unshift|remove_valueremove_nth|graph_paths|shortest_path|graph_shortest_path|graph_distance_to|graph_traversal|graph_traversal_tree|graph_edges|graph_vertices|neighbors|graph_neighbors|graph_common_neighbors|graph_common_properties|graph_eccentricity|graph_betweenness|graph_closeness|graph_absolute_eccentricity|remove_values|graph_absolute_betweenness|graph_absolute_closeness|graph_diameter|graph_radius|date_now|date_timestamp|date_iso8601|date_dayofweek|date_year|date_month|date_day|date_hour|date_minute|date_second|date_millisecond|date_dayofyear|date_isoweek|date_leapyear|date_quarter|date_days_in_month|date_add|date_subtract|date_diff|date_compare|date_format|fail|passthru|sleep|not_null|first_list|first_document|parse_identifier|current_user|current_database|collections|document|union|union_distinct|intersection|flatten|ltrim|rtrim|find_first|find_last|split|substitute|md5|sha1|hash|random_token|AQL_LAST_ENTRY",listenKey:function(a){27===a.keyCode?(this.callbackSuccess&&this.callbackCancel(),this.hide()):13===a.keyCode&&this.callbackSuccess&&(this.callbackSuccess($(this.typeahead).val()),this.hide())},substringMatcher:function(a){return function(b,c){var d,e;d=[],e=new RegExp(b,"i"),_.each(a,function(a){e.test(a)&&d.push(a)}),c(d)}},updateDatasets:function(){var a=this;this.collections={system:[],doc:[],edge:[]},window.App.arangoCollectionsStore.each(function(b){b.get("isSystem")?a.collections.system.push(b.get("name")):"document"===b.get("type")?a.collections.doc.push(b.get("name")):a.collections.edge.push(b.get("name"))})},stringToArray:function(){var a=this;_.each(this.aqlKeywords.split("|"),function(b){a.aqlKeywordsArray.push(b.toUpperCase())}),_.each(this.aqlBuiltinFunctions.split("|"),function(b){a.aqlBuiltinFunctionsArray.push(b.toUpperCase())}),a.aqlKeywordsArray.push(!0),a.aqlKeywordsArray.push(!1),a.aqlKeywordsArray.push(null)},show:function(a,b,c){this.callbackSuccess=a,this.callbackCancel=b,this.stringToArray(),this.updateDatasets();var d=function(a,b,c){var d='

    '+a+"

    ";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
    "};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:this.substringMatcher(this.aqlBuiltinFunctionsArray),limit:this.displayLimit,templates:{header:d("Functions","fa-code","aql")}},{name:"Keywords",source:this.substringMatcher(this.aqlKeywordsArray),limit:this.displayLimit,templates:{header:d("Keywords","fa-code","aql")}},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:d("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:d("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:d("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:d("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:d("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:d("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()},hide:function(){$(this.el).hide(),this.typeahead=$("#spotlight .typeahead").typeahead("destroy")}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.testView=Backbone.View.extend({el:"#content",graph:{edges:[],nodes:[]},events:{},initialize:function(){console.log(void 0)},template:templateEngine.createTemplate("testView.ejs"),render:function(){return $(this.el).html(this.template.render({})),this.renderGraph(),this},renderGraph:function(){this.convertData(),console.log(this.graph),this.s=new sigma({graph:this.graph,container:"graph-container",verbose:!0,renderers:[{container:document.getElementById("graph-container"),type:"webgl"}]})},convertData:function(){var a=this;return _.each(this.dump,function(b){_.each(b.p,function(c){a.graph.nodes.push({id:c.verticesvalue.v._id,label:b.v._key,x:Math.random(),y:Math.random(),size:Math.random()}),a.graph.edges.push({id:b.e._id,source:b.e._from,target:b.e._to})})}),null},dump:[{v:{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"},e:{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"}],edges:[{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"}]}},{v:{label:"8",_id:"circles/H",_rev:"1841664067459",_key:"H"},e:{theFalse:!1,theTruth:!0,label:"right_blob",_id:"edges/1841666295683",_rev:"1841666295683",_key:"1841666295683",_from:"circles/G",_to:"circles/H"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"},{label:"8",_id:"circles/H",_rev:"1841664067459",_key:"H"}],edges:[{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"},{theFalse:!1,theTruth:!0,label:"right_blob",_id:"edges/1841666295683",_rev:"1841666295683",_key:"1841666295683",_from:"circles/G",_to:"circles/H"}]}},{v:{label:"9",_id:"circles/I",_rev:"1841664264067",_key:"I"},e:{theFalse:!1,theTruth:!0,label:"right_blub",_id:"edges/1841666492291",_rev:"1841666492291",_key:"1841666492291",_from:"circles/H",_to:"circles/I"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"},{label:"8", +_id:"circles/H",_rev:"1841664067459",_key:"H"},{label:"9",_id:"circles/I",_rev:"1841664264067",_key:"I"}],edges:[{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"},{theFalse:!1,theTruth:!0,label:"right_blob",_id:"edges/1841666295683",_rev:"1841666295683",_key:"1841666295683",_from:"circles/G",_to:"circles/H"},{theFalse:!1,theTruth:!0,label:"right_blub",_id:"edges/1841666492291",_rev:"1841666492291",_key:"1841666492291",_from:"circles/H",_to:"circles/I"}]}},{v:{label:"10",_id:"circles/J",_rev:"1841664460675",_key:"J"},e:{theFalse:!1,theTruth:!0,label:"right_zip",_id:"edges/1841666688899",_rev:"1841666688899",_key:"1841666688899",_from:"circles/G",_to:"circles/J"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"},{label:"10",_id:"circles/J",_rev:"1841664460675",_key:"J"}],edges:[{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"},{theFalse:!1,theTruth:!0,label:"right_zip",_id:"edges/1841666688899",_rev:"1841666688899",_key:"1841666688899",_from:"circles/G",_to:"circles/J"}]}},{v:{label:"11",_id:"circles/K",_rev:"1841664657283",_key:"K"},e:{theFalse:!1,theTruth:!0,label:"right_zup",_id:"edges/1841666885507",_rev:"1841666885507",_key:"1841666885507",_from:"circles/J",_to:"circles/K"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"7",_id:"circles/G",_rev:"1841663870851",_key:"G"},{label:"10",_id:"circles/J",_rev:"1841664460675",_key:"J"},{label:"11",_id:"circles/K",_rev:"1841664657283",_key:"K"}],edges:[{theFalse:!1,theTruth:!0,label:"right_foo",_id:"edges/1841666099075",_rev:"1841666099075",_key:"1841666099075",_from:"circles/A",_to:"circles/G"},{theFalse:!1,theTruth:!0,label:"right_zip",_id:"edges/1841666688899",_rev:"1841666688899",_key:"1841666688899",_from:"circles/G",_to:"circles/J"},{theFalse:!1,theTruth:!0,label:"right_zup",_id:"edges/1841666885507",_rev:"1841666885507",_key:"1841666885507",_from:"circles/J",_to:"circles/K"}]}},{v:{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"},e:{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"}],edges:[{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"}]}},{v:{label:"5",_id:"circles/E",_rev:"1841663477635",_key:"E"},e:{theFalse:!1,theTruth:!0,label:"left_blub",_id:"edges/1841665705859",_rev:"1841665705859",_key:"1841665705859",_from:"circles/B",_to:"circles/E"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"},{label:"5",_id:"circles/E",_rev:"1841663477635",_key:"E"}],edges:[{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"},{theFalse:!1,theTruth:!0,label:"left_blub",_id:"edges/1841665705859",_rev:"1841665705859",_key:"1841665705859",_from:"circles/B",_to:"circles/E"}]}},{v:{label:"6",_id:"circles/F",_rev:"1841663674243",_key:"F"},e:{theFalse:!1,theTruth:!0,label:"left_schubi",_id:"edges/1841665902467",_rev:"1841665902467",_key:"1841665902467",_from:"circles/E",_to:"circles/F"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"},{label:"5",_id:"circles/E",_rev:"1841663477635",_key:"E"},{label:"6",_id:"circles/F",_rev:"1841663674243",_key:"F"}],edges:[{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"},{theFalse:!1,theTruth:!0,label:"left_blub",_id:"edges/1841665705859",_rev:"1841665705859",_key:"1841665705859",_from:"circles/B",_to:"circles/E"},{theFalse:!1,theTruth:!0,label:"left_schubi",_id:"edges/1841665902467",_rev:"1841665902467",_key:"1841665902467",_from:"circles/E",_to:"circles/F"}]}},{v:{label:"3",_id:"circles/C",_rev:"1841663084419",_key:"C"},e:{theFalse:!1,theTruth:!0,label:"left_blarg",_id:"edges/1841665312643",_rev:"1841665312643",_key:"1841665312643",_from:"circles/B",_to:"circles/C"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"},{label:"3",_id:"circles/C",_rev:"1841663084419",_key:"C"}],edges:[{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"},{theFalse:!1,theTruth:!0,label:"left_blarg",_id:"edges/1841665312643",_rev:"1841665312643",_key:"1841665312643",_from:"circles/B",_to:"circles/C"}]}},{v:{label:"4",_id:"circles/D",_rev:"1841663281027",_key:"D"},e:{theFalse:!1,theTruth:!0,label:"left_blorg",_id:"edges/1841665509251",_rev:"1841665509251",_key:"1841665509251",_from:"circles/C",_to:"circles/D"},p:{vertices:[{label:"1",_id:"circles/A",_rev:"1841662691203",_key:"A"},{label:"2",_id:"circles/B",_rev:"1841662887811",_key:"B"},{label:"3",_id:"circles/C",_rev:"1841663084419",_key:"C"},{label:"4",_id:"circles/D",_rev:"1841663281027",_key:"D"}],edges:[{theFalse:!1,theTruth:!0,label:"left_bar",_id:"edges/1841665116035",_rev:"1841665116035",_key:"1841665116035",_from:"circles/A",_to:"circles/B"},{theFalse:!1,theTruth:!0,label:"left_blarg",_id:"edges/1841665312643",_rev:"1841665312643",_key:"1841665312643",_from:"circles/B",_to:"circles/C"},{theFalse:!1,theTruth:!0,label:"left_blorg",_id:"edges/1841665509251",_rev:"1841665509251",_key:"1841665509251",_from:"circles/C",_to:"circles/D"}]}}]})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({async:!0}),this.userCollection.bind("change:extra",this.render.bind(this))},template:templateEngine.createTemplate("userBarView.ejs"),navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement;b=$(b).closest("a");var c=b.attr("id");return"user"===c?($("#user_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},toggleUserMenu:function(){$("#userBar .subBarDropdown").toggle()},showDropdown:function(){$("#user_dropdown").fadeIn(1)},hideDropdown:function(){$("#user_dropdown").fadeOut(1)},render:function(){if(frontendConfig.authenticationEnabled!==!1){var a=this,b=function(a,b){if(a)arangoHelper.arangoErro("User","Could not fetch user.");else{var c=null,d=null,e=!1,f=null;if(b!==!1)return f=this.userCollection.findWhere({user:b}),f.set({loggedIn:!0}),d=f.get("extra").name,c=f.get("extra").img,e=f.get("active"),c=c?"https://s.gravatar.com/avatar/"+c+"?s=80":"img/default_user.png",d||(d=""),this.$el=$("#userBar"),this.$el.html(this.template.render({img:c,name:d,username:b,active:e})),this.delegateEvents(),this.$el}}.bind(this);$("#userBar").on("click",function(){a.toggleUserMenu()}),this.userCollection.whoAmI(b)}},userLogout:function(){var a=function(a){a?arangoHelper.arangoError("User","Logout error"):this.userCollection.logout()}.bind(this);this.userCollection.whoAmI(a)}})}(),function(){"use strict";window.userManagementView=Backbone.View.extend({el:"#content",el2:"#userManagementThumbnailsIn",template:templateEngine.createTemplate("userManagementView.ejs"),events:{"click #createUser":"createUser","click #submitCreateUser":"submitCreateUser","click #userManagementThumbnailsIn .tile":"editUser","click #submitEditUser":"submitEditUser","click #userManagementToggle":"toggleView","keyup #userManagementSearchInput":"search","click #userManagementSearchSubmit":"search","click #callEditUserPassword":"editUserPassword","click #submitEditUserPassword":"submitEditUserPassword","click #submitEditCurrentUserProfile":"submitEditCurrentUserProfile","click .css-label":"checkBoxes","change #userSortDesc":"sorting"},dropdownVisible:!1,initialize:function(){var a=this,b=function(a,b){frontendConfig.authenticationEnabled===!0&&(a||null===b?arangoHelper.arangoError("User","Could not fetch user data"):this.currentUser=this.collection.findWhere({user:b}))}.bind(this);this.collection.fetch({success:function(){a.collection.whoAmI(b)}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},sorting:function(){$("#userSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#userManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},render:function(a){var b=!1;return $("#userManagementDropdown").is(":visible")&&(b=!0),this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:""})),b===!0&&($("#userManagementDropdown2").show(),$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown").show()),a&&this.editCurrentUser(),arangoHelper.setCheckboxStatus("#userManagementDropdown"),this},search:function(){var a,b,c,d;a=$("#userManagementSearchInput"),b=$("#userManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("user").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b})),a=$("#userManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},createUser:function(a){a.preventDefault(),this.createCreateUserModal()},submitCreateUser:function(){var a=this,b=$("#newUsername").val(),c=$("#newName").val(),d=$("#newPassword").val(),e=$("#newStatus").is(":checked");if(this.validateUserInfo(c,b,d,e)){var f={user:b,passwd:d,active:e,extra:{name:c}};this.collection.create(f,{wait:!0,error:function(a,b){arangoHelper.parseError("User",b,a)},success:function(){a.updateUserManagement(),window.modalView.hide()}})}},validateUserInfo:function(a,b,c,d){return""===b?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):!0},updateUserManagement:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},submitDeleteUser:function(a){var b=this.collection.findWhere({user:a});b.destroy({wait:!0}),window.modalView.hide(),this.updateUserManagement()},editUser:function(a){if("createUser"!==$(a.currentTarget).find("a").attr("id")){$(a.currentTarget).hasClass("tile")&&(a.currentTarget=$(a.currentTarget).find("img")),this.collection.fetch();var b=this.evaluateUserName($(a.currentTarget).attr("id"),"_edit-user");""===b&&(b=$(a.currentTarget).attr("id"));var c=this.collection.findWhere({user:b});c.get("loggedIn")?this.editCurrentUser():this.createEditUserModal(c.get("user"),c.get("extra").name,c.get("active"))}},editCurrentUser:function(){this.createEditCurrentUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("extra").img)},submitEditUser:function(a){var b=$("#editName").val(),c=$("#editStatus").is(":checked");if(!this.validateStatus(c))return void $("#editStatus").closest("th").css("backgroundColor","red");if(!this.validateName(b))return void $("#editName").closest("th").css("backgroundColor","red");var d=this.collection.findWhere({user:a});d.save({extra:{name:b},active:c},{type:"PATCH"}),window.modalView.hide(),this.updateUserManagement()},validateUsername:function(a){return""===a?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},validatePassword:function(a){return!0},validateName:function(a){return""===a?!0:a.match(/^[a-zA-Z][a-zA-Z0-9_\-\ ]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},validateStatus:function(a){return""===a?!1:!0},toggleView:function(){$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown2").slideToggle(200)},setFilterValues:function(){},evaluateUserName:function(a,b){if(a){var c=a.lastIndexOf(b);return a.substring(0,c)}},editUserPassword:function(){window.modalView.hide(),this.createEditUserPasswordModal()},submitEditUserPassword:function(){var a=$("#oldCurrentPassword").val(),b=$("#newCurrentPassword").val(),c=$("#confirmCurrentPassword").val();$("#oldCurrentPassword").val(""),$("#newCurrentPassword").val(""),$("#confirmCurrentPassword").val(""),$("#oldCurrentPassword").closest("th").css("backgroundColor","white"),$("#newCurrentPassword").closest("th").css("backgroundColor","white"),$("#confirmCurrentPassword").closest("th").css("backgroundColor","white");var d=!1,e=function(a,e){a?arangoHelper.arangoError("User","Could not verify old password"):e&&(b!==c&&(arangoHelper.arangoError("User","New passwords do not match"),d=!0),d||(this.currentUser.setPassword(b),arangoHelper.arangoNotification("User","Password changed"),window.modalView.hide()))}.bind(this);this.currentUser.checkPassword(a,e)},submitEditCurrentUserProfile:function(){var a=$("#editCurrentName").val(),b=$("#editCurrentUserProfileImg").val();b=this.parseImgString(b);var c=function(a){a?arangoHelper.arangoError("User","Could not edit user settings"):(arangoHelper.arangoNotification("User","Changes confirmed."),this.updateUserProfile())}.bind(this);this.currentUser.setExtras(a,b,c),window.modalView.hide()},updateUserProfile:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},parseImgString:function(a){return-1===a.indexOf("@")?a:CryptoJS.MD5(a).toString()},createEditUserModal:function(a,b,c){var d,e;e=[{type:window.modalView.tables.READONLY,label:"Username",value:_.escape(a)},{type:window.modalView.tables.TEXT,label:"Name",value:b,id:"editName",placeholder:"Name"},{type:window.modalView.tables.CHECKBOX,label:"Active",value:"active",checked:c,id:"editStatus"}],d=[{title:"Delete",type:window.modalView.buttons.DELETE,callback:this.submitDeleteUser.bind(this,a)},{title:"Save",type:window.modalView.buttons.SUCCESS,callback:this.submitEditUser.bind(this,a)}],window.modalView.show("modalTable.ejs","Edit User",d,e)},createCreateUserModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newUsername","Username","",!1,"Username",!0,[{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createTextEntry("newName","Name","",!1,"Name",!1)),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),b.push(window.modalView.createCheckboxEntry("newStatus","Active","active",!1,!0)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateUser.bind(this))),window.modalView.show("modalTable.ejs","Create New User",a,b)},createEditCurrentUserModal:function(a,b,c){var d=[],e=[];e.push(window.modalView.createReadOnlyEntry("id_username","Username",a)),e.push(window.modalView.createTextEntry("editCurrentName","Name",b,!1,"Name",!1)),e.push(window.modalView.createTextEntry("editCurrentUserProfileImg","Gravatar account (Mail)",c,"Mailaddress or its md5 representation of your gravatar account. The address will be converted into a md5 string. Only the md5 string will be stored, not the mailaddress.","myAccount(at)gravatar.com")),d.push(window.modalView.createNotificationButton("Change Password",this.editUserPassword.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.submitEditCurrentUserProfile.bind(this))),window.modalView.show("modalTable.ejs","Edit User Profile",d,e)},createEditUserPasswordModal:function(){var a=[],b=[];b.push(window.modalView.createPasswordEntry("oldCurrentPassword","Old Password","",!1,"old password",!1)),b.push(window.modalView.createPasswordEntry("newCurrentPassword","New Password","",!1,"new password",!1)),b.push(window.modalView.createPasswordEntry("confirmCurrentPassword","Confirm New Password","",!1,"confirm new password",!1)),a.push(window.modalView.createSuccessButton("Save",this.submitEditUserPassword.bind(this))),window.modalView.show("modalTable.ejs","Edit User Password",a,b)}})}(),function(){"use strict";window.workMonitorView=Backbone.View.extend({el:"#content",id:"#workMonitorContent",template:templateEngine.createTemplate("workMonitorView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),initialize:function(){},events:{},tableDescription:{id:"workMonitorTable",titles:["Type","Database","Task ID","Started","Url","User","Description","Method"],rows:[],unescaped:[!1,!1,!1,!1,!1,!1,!1,!1]},render:function(){var a=this;this.$el.html(this.template.render({})),this.collection.fetch({success:function(){a.parseTableData(),$(a.id).append(a.table.render({content:a.tableDescription}))}})},parseTableData:function(){var a=this;this.collection.each(function(b){if("AQL query"===b.get("type")){var c=b.get("parent");if(c)try{a.tableDescription.rows.push([b.get("type"),"(p) "+c.database,"(p) "+c.taskId,"(p) "+c.startTime,"(p) "+c.url,"(p) "+c.user,b.get("description"),"(p) "+c.method])}catch(d){console.log("some parse error")}}else"thread"!==b.get("type")&&a.tableDescription.rows.push([b.get("type"),b.get("database"),b.get("taskId"),b.get("startTime"),b.get("url"),b.get("user"),b.get("description"),b.get("method")])})}})}(),function(){"use strict";window.Router=Backbone.Router.extend({toUpdate:[],dbServers:[],isCluster:void 0,routes:{"":"cluster",dashboard:"dashboard",collections:"collections","new":"newCollection",login:"login","collection/:colid/documents/:pageid":"documents","cIndices/:colname":"cIndices","cSettings/:colname":"cSettings","cInfo/:colname":"cInfo","collection/:colid/:docid":"document",shell:"shell",queries:"query",workMonitor:"workMonitor",databases:"databases",settings:"databases",services:"applications","service/:mount":"applicationDetail",graphs:"graphManagement","graphs/:name":"showGraph",users:"userManagement",userProfile:"userProfile",cluster:"cluster",nodes:"cNodes",cNodes:"cNodes",dNodes:"dNodes","node/:name":"node",logs:"logs",helpus:"helpUs"},execute:function(a,b){$("#subNavigationBar .breadcrumb").html(""),$("#subNavigationBar .bottom").html(""),$("#loadingScreen").hide(),$("#content").show(),a&&a.apply(this,b)},checkUser:function(){if("#login"!==window.location.hash){var a=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),b=function(b,c){frontendConfig.authenticationEnabled&&(b||null===c)?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):a()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(b):(this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show())}},waitForInit:function(a,b,c){this.initFinished?(b||a(!0),b&&!c&&a(b,!0),b&&c&&a(b,c,!0)):setTimeout(function(){b||a(!1),b&&!c&&a(b,!1),b&&c&&a(b,c,!1)},350)},initFinished:!1,initialize:function(){window.modalView=new window.ModalView,this.foxxList=new window.FoxxCollection,window.foxxInstallView=new window.FoxxInstallView({collection:this.foxxList}),window.progressView=new window.ProgressView;var a=this;this.userCollection=new window.ArangoUsers,this.initOnce=function(){this.initOnce=function(){};var b=function(b,c){a=this,c===!0?(a.isCluster=!0,a.coordinatorCollection.fetch({success:function(){a.fetchDBS()}})):a.isCluster=!1}.bind(this);window.isCoordinator(b),this.initFinished=!0,this.arangoDatabase=new window.ArangoDatabase,this.currentDB=new window.CurrentDatabase,this.arangoCollectionsStore=new window.arangoCollections,this.arangoDocumentStore=new window.arangoDocument,this.coordinatorCollection=new window.ClusterCoordinators,arangoHelper.setDocumentStore(this.arangoDocumentStore),this.arangoCollectionsStore.fetch(),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({success:function(){a.naviView=new window.NavigationView({database:a.arangoDatabase,currentDB:a.currentDB,notificationCollection:a.notificationList,userCollection:a.userCollection,isCluster:a.isCluster}),a.naviView.render()}}),this.queryCollection=new window.ArangoQueries,this.footerView.render(),window.checkVersion()}.bind(this),$(window).resize(function(){a.handleResize()}),$(window).scroll(function(){})},handleScroll:function(){$(window).scrollTop()>50?($(".navbar > .secondary").css("top",$(window).scrollTop()),$(".navbar > .secondary").css("position","absolute"),$(".navbar > .secondary").css("z-index","10"),$(".navbar > .secondary").css("width",$(window).width())):($(".navbar > .secondary").css("top","0"),$(".navbar > .secondary").css("position","relative"),$(".navbar > .secondary").css("width",""))},cluster:function(a){return this.checkUser(),a?this.isCluster===!1||void 0===this.isCluster?void("_system"===this.currentDB.get("name")?(this.routes[""]="dashboard",this.navigate("#dashboard",{trigger:!0})):(this.routes[""]="collections",this.navigate("#collections",{trigger:!0}))):(this.clusterView||(this.clusterView=new window.ClusterView({coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.clusterView.render()):void this.waitForInit(this.cluster.bind(this))},node:function(a,b){return this.checkUser(),b&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodeView||(this.nodeView=new window.NodeView({coordname:a,coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.nodeView.render()):void this.waitForInit(this.node.bind(this),a)},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({success:function(){c()}}):c()},login:function(){var a=function(a,b){this.loginView||(this.loginView=new window.loginView({collection:this.userCollection})),a||null===b?this.loginView.render():this.loginView.render(!0)}.bind(this);this.userCollection.whoAmI(a)},collections:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.collections.bind(this));var b=this;this.collectionsView||(this.collectionsView=new window.CollectionsView({collection:this.arangoCollectionsStore})),this.arangoCollectionsStore.fetch({success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({success:function(){c.indicesView=new window.IndicesView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.indicesView.render()}}):void this.waitForInit(this.cIndices.bind(this),a)},cSettings:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({success:function(){c.settingsView=new window.SettingsView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.settingsView.render()}}):void this.waitForInit(this.cSettings.bind(this),a)},cInfo:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({success:function(){c.infoView=new window.InfoView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.infoView.render()}}):void this.waitForInit(this.cInfo.bind(this),a)},documents:function(a,b,c){return this.checkUser(),c?(this.documentsView||(this.documentsView=new window.DocumentsView({collection:new window.arangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})),this.documentsView.setCollectionId(a,b),void this.documentsView.render()):void this.waitForInit(this.documents.bind(this),a,b)},document:function(a,b,c){if(this.checkUser(),!c)return void this.waitForInit(this.document.bind(this),a,b);this.documentView||(this.documentView=new window.DocumentView({collection:this.arangoDocumentStore})),this.documentView.colid=a;var d=window.location.hash.split("/")[2],e=(d.split("%").length-1)%3;decodeURI(d)!==d&&0!==e&&(d=decodeURIComponent(d)),this.documentView.docid=d,this.documentView.render();var f=function(a,b){a?console.log("Error","Could not fetch collection type"):this.documentView.setType(b)}.bind(this);arangoHelper.collectionApiType(a,null,f)},shell:function(a){return this.checkUser(),a?(this.shellView||(this.shellView=new window.shellView),void this.shellView.render()):void this.waitForInit(this.shell.bind(this))},query:function(a){return this.checkUser(),a?(this.queryView2||(this.queryView2=new window.queryView2({collection:this.queryCollection})),void this.queryView2.render()):void this.waitForInit(this.query.bind(this))},helpUs:function(a){return this.checkUser(),a?(this.testView||(this.helpUsView=new window.HelpUsView({})),void this.helpUsView.render()):void this.waitForInit(this.helpUs.bind(this))},workMonitor:function(a){return this.checkUser(),a?(this.workMonitorCollection||(this.workMonitorCollection=new window.WorkMonitorCollection),this.workMonitorView||(this.workMonitorView=new window.workMonitorView({collection:this.workMonitorCollection})),void this.workMonitorView.render()):void this.waitForInit(this.workMonitor.bind(this))},queryManagement:function(a){return this.checkUser(),a?(this.queryManagementView||(this.queryManagementView=new window.queryManagementView({collection:void 0})),void this.queryManagementView.render()):void this.waitForInit(this.queryManagement.bind(this))},databases:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.databases.bind(this));var b=function(a){a?(arangoHelper.arangoError("DB","Could not get list of allowed databases"),this.navigate("#",{trigger:!0}),$("#databaseNavi").css("display","none"),$("#databaseNaviSelect").css("display","none")):(this.databaseView||(this.databaseView=new window.databaseView({users:this.userCollection,collection:this.arangoDatabase})),this.databaseView.render())}.bind(this);arangoHelper.databaseAllowed(b)},dashboard:function(a){return this.checkUser(),a?(void 0===this.dashboardView&&(this.dashboardView=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:this.arangoDatabase})),void this.dashboardView.render()):void this.waitForInit(this.dashboard.bind(this))},graphManagement:function(a){return this.checkUser(),a?(this.graphManagementView||(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore})),void this.graphManagementView.render()):void this.waitForInit(this.graphManagement.bind(this))},showGraph:function(a,b){return this.checkUser(),b?void(this.graphManagementView?this.graphManagementView.loadGraphViewer(a):(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore}),this.graphManagementView.render(a,!0))):void this.waitForInit(this.showGraph.bind(this),a)},applications:function(a){return this.checkUser(),a?(void 0===this.applicationsView&&(this.applicationsView=new window.ApplicationsView({collection:this.foxxList})),void this.applicationsView.reload()):void this.waitForInit(this.applications.bind(this))},handleSelectDatabase:function(a){return this.checkUser(),a?void this.naviView.handleSelectDatabase():void this.waitForInit(this.handleSelectDatabase.bind(this))},handleResize:function(){this.dashboardView&&this.dashboardView.resize(),this.graphManagementView&&this.graphManagementView.handleResize($("#content").width()),this.queryView&&this.queryView.resize(),this.queryView2&&this.queryView2.resize(),this.documentsView&&this.documentsView.resize(),this.documentView&&this.documentView.resize()},userManagement:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render()):void this.waitForInit(this.userManagement.bind(this))},userProfile:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render(!0)):void this.waitForInit(this.userProfile.bind(this))},fetchDBS:function(){var a=this;this.coordinatorCollection.each(function(b){a.dbServers.push(new window.ClusterServers([],{host:b.get("address")}))}),_.each(this.dbServers,function(a){a.fetch()})},getNewRoute:function(a){return"http://"+a},registerForUpdate:function(a){this.toUpdate.push(a),a.updateUrl()}})}(),function(){"use strict";var a=function(a,b){var c=[];c.push(window.modalView.createSuccessButton("Download Page",function(){window.open("https://www.arangodb.com/download","_blank"),window.modalView.hide()}));var d=[],e=window.modalView.createReadOnlyEntry.bind(window.modalView);d.push(e("current","Current",a.toString())),b.major&&d.push(e("major","Major",b.major.version)),b.minor&&d.push(e("minor","Minor",b.minor.version)),b.bugfix&&d.push(e("bugfix","Bugfix",b.bugfix.version)),window.modalView.show("modalTable.ejs","New Version Available",c,d)};window.checkVersion=function(){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=window.versionHelper.fromString(b.version);$(".navbar #currentVersion").text(" "+b.version.substr(0,3)),window.parseVersions=function(b){return _.isEmpty(b)?void $("#currentVersion").addClass("up-to-date"):($("#currentVersion").addClass("out-of-date"),void $("#currentVersion").click(function(){a(c,b)}))},$.ajax({type:"GET",async:!0,crossDomain:!0,timeout:3e3,dataType:"jsonp",url:"https://www.arangodb.com/repositories/versions.php?jsonp=parseVersions&version="+encodeURIComponent(c.toString()) +})}})}}(),function(){"use strict";window.hasOwnProperty("TEST_BUILD")||($(document).ready(function(){window.App=new window.Router,Backbone.history.start(),window.App.handleResize()}),$(document).click(function(a){a.stopPropagation(),$(a.target).hasClass("subBarDropdown")||$(a.target).hasClass("dropdown-header")||$(a.target).hasClass("dropdown-footer")||$(a.target).hasClass("toggle")||$("#userInfo").is(":visible")&&$(".subBarDropdown").hide()}))}(); \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/extra-minified.css b/js/apps/system/_admin/aardvark/APP/frontend/build/extra-minified.css new file mode 100644 index 0000000000..3675edb147 --- /dev/null +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/extra-minified.css @@ -0,0 +1,31 @@ +/*! + * Bootstrap v2.2.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */img,table{max-width:100%}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal:after,.row-fluid:after,.row:after{clear:both}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.input-append .uneditable-input:focus,.input-append input:focus,.input-append select:focus,.input-prepend .uneditable-input:focus,.input-prepend input:focus,.input-prepend select:focus{z-index:2}.nvtooltip,svg{-khtml-user-select:none}.nvd3 .nv-distribution,.nvd3.nv-sparklineplus g.nv-hoverValue,.nvtooltip{pointer-events:none}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}html{font-size:100%}a:focus{outline:#333 dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}img{width:auto;height:auto;vertical-align:middle;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button::-moz-focus-inner,input::-moz-focus-inner{border:0}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox],label,select{cursor:pointer}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*{color:#000!important;text-shadow:none!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix:after,.clearfix:before{display:table;line-height:0;content:""}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.img-polaroid,body,select{background-color:#fff}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333}.row-fluid:after,.row-fluid:before,.row:after,.row:before{display:table;line-height:0;content:""}a,a:hover{color:#5E7B36;text-decoration:none}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px}[class*=span]{float:left;min-height:1px;margin-left:20px}.container,.navbar-fixed-bottom .container,.navbar-fixed-top .container,.navbar-static-top .container,.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.row-fluid,.row-fluid .span12{width:100%}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid [class*=span]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:2.127659574468085%}.row-fluid .span11{width:91.48936170212765%}.row-fluid .span10{width:82.97872340425532%}.row-fluid .span9{width:74.46808510638297%}.row-fluid .span8{width:65.95744680851064%}.row-fluid .span7{width:57.44680851063829%}.row-fluid .span6{width:48.93617021276595%}.row-fluid .span5{width:40.42553191489362%}.row-fluid .span4{width:31.914893617021278%}.row-fluid .span3{width:23.404255319148934%}.row-fluid .span2{width:14.893617021276595%}.row-fluid .span1{width:6.382978723404255%}.row-fluid .offset12{margin-left:104.25531914893617%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%}.row-fluid .offset11{margin-left:95.74468085106382%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%}.row-fluid .offset10{margin-left:87.23404255319149%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%}.row-fluid .offset9{margin-left:78.72340425531914%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%}.row-fluid .offset8{margin-left:70.2127659574468%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%}.row-fluid .offset7{margin-left:61.70212765957446%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%}.row-fluid .offset6{margin-left:53.191489361702125%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%}.row-fluid .offset5{margin-left:44.68085106382979%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%}.row-fluid .offset4{margin-left:36.170212765957444%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%}.row-fluid .offset3{margin-left:27.659574468085104%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%}.row-fluid .offset2{margin-left:19.148936170212764%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%}.row-fluid .offset1{margin-left:10.638297872340425%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%}.row-fluid [class*=span].hide,[class*=span].hide{display:none}.container-fluid:after,.container-fluid:before,.container:after,.container:before{display:table;line-height:0;content:""}.row-fluid [class*=span].pull-right,[class*=span].pull-right{float:right}.container{margin-right:auto;margin-left:auto}.container-fluid{padding-right:20px;padding-left:20px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}strong{font-weight:700}em{font-style:italic}address,cite{font-style:normal}.muted{color:#999}a.muted:hover{color:grey}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{line-height:40px}h2{font-size:31.5px}h1 small,h3{font-size:24.5px}h2 small,h4{font-size:17.5px}h3 small,h4 small,h5{font-size:14px}h6{font-size:11.9px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}blockquote p,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl,legend,pre.prettyprint{margin-bottom:20px}ol,ul{padding:0;margin:0 0 10px 25px}li{line-height:19px}ol.inline,ol.unstyled,ul.inline,ul.unstyled{margin-left:0;list-style:none}ol.inline>li,ul.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd,dt{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal:after,.dl-horizontal:before{display:table;line-height:0;content:""}address,blockquote small,pre{line-height:20px;display:block}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.controls-row:after,.dropdown-menu li>a,.form-actions:after,.form-horizontal .control-group:after,.modal-footer:after,.nav-pills:after,.nav-tabs:after,.navbar-form:after,.navbar-inner:after,.pager:after,.thumbnails:after,.ui-helper-clearfix:after{clear:both}pre,pre code{white-space:pre}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:16px;font-weight:300;line-height:25px}blockquote small{color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before,q:after,q:before{content:""}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.navbar-search .search-query,button,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{padding:9.5px;margin:0 0 10px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre code{padding:0;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}legend{display:block;width:100%;font-size:21px;line-height:40px;color:#333}legend small{font-size:15px;color:#999}button,input,label,select,textarea{font-size:14px;font-weight:400;line-height:20px}label{display:block;margin-bottom:5px}.uneditable-input,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=color],input[type=search],select,textarea{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.controls-row .checkbox[class*=span],.controls-row .radio[class*=span],.controls>.checkbox:first-child,.controls>.radio:first-child{padding-top:5px}.uneditable-input,input,textarea{width:206px}textarea{height:auto}.uneditable-input,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=color],input[type=search],textarea{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.uneditable-input:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=color]:focus,input[type=search]:focus,textarea:focus{border-color:rgba(82,168,236,.8);outline:0;outline:dotted thin\9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=button],input[type=reset],input[type=submit],input[type=file],input[type=image],input[type=radio],input[type=checkbox]{width:auto}input[type=file],select{height:30px;line-height:30px}select{width:220px;border:1px solid #ccc}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus,select:focus{outline:#333 dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);box-shadow:inset 0 1px 2px rgba(0,0,0,.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.checkbox,.radio{min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.radio input[type=radio]{float:left;margin-left:-20px}.checkbox.inline,.radio.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.checkbox.inline+.checkbox.inline,.radio.inline+.radio.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}.row-fluid .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.uneditable-input[class*=span],input[class*=span],select[class*=span],textarea[class*=span]{float:none;margin-left:0}.input-append .uneditable-input[class*=span],.input-append input[class*=span],.input-prepend .uneditable-input[class*=span],.input-prepend input[class*=span],.row-fluid .input-append [class*=span],.row-fluid .input-prepend [class*=span],.row-fluid .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span]{display:inline-block}.controls-row:after,.controls-row:before,.form-actions:after,.form-actions:before{display:table;line-height:0;content:""}.uneditable-input,input,textarea{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:20px}.uneditable-input.span12,input.span12,textarea.span12{width:926px}.uneditable-input.span11,input.span11,textarea.span11{width:846px}.uneditable-input.span10,input.span10,textarea.span10{width:766px}.uneditable-input.span9,input.span9,textarea.span9{width:686px}.uneditable-input.span8,input.span8,textarea.span8{width:606px}.uneditable-input.span7,input.span7,textarea.span7{width:526px}.uneditable-input.span6,input.span6,textarea.span6{width:446px}.uneditable-input.span5,input.span5,textarea.span5{width:366px}.uneditable-input.span4,input.span4,textarea.span4{width:286px}.uneditable-input.span3,input.span3,textarea.span3{width:206px}.uneditable-input.span2,input.span2,textarea.span2{width:126px}.uneditable-input.span1,input.span1,textarea.span1{width:46px}.controls-row [class*=span],.row-fluid .controls-row [class*=span]{float:left}input[disabled],input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type=radio][disabled],input[type=radio][readonly],input[type=checkbox][disabled],input[type=checkbox][readonly]{background-color:transparent}.control-group.warning .checkbox,.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dbc59e}.control-group.warning .input-append .add-on,.control-group.warning .input-prepend .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .checkbox,.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392}.control-group.error .input-append .add-on,.control-group.error .input-prepend .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .checkbox,.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b}.control-group.success .input-append .add-on,.control-group.success .input-prepend .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .checkbox,.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ab5d3}.control-group.info .input-append .add-on,.control-group.info .input-prepend .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;padding-left:5px;vertical-align:middle}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append .dropdown-menu,.input-append .uneditable-input,.input-append input,.input-append select,.input-prepend .dropdown-menu,.input-prepend .uneditable-input,.input-prepend input,.input-prepend select{font-size:14px}.input-append .uneditable-input,.input-append input,.input-append select,.input-prepend .uneditable-input,.input-prepend input,.input-prepend select{position:relative;margin-bottom:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-append .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .add-on,.input-prepend .btn,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-append .uneditable-input,.input-append input,.input-append select,.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append .uneditable-input+.btn-group .btn:last-child,.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn-group:last-child>.dropdown-toggle,.input-append .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .uneditable-input,.input-prepend.input-append input,.input-prepend.input-append select{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .uneditable-input+.btn-group .btn,.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px\9;padding-left:14px;padding-left:4px\9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn,.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-horizontal .help-inline,.form-horizontal .input-append,.form-horizontal .input-prepend,.form-horizontal .uneditable-input,.form-horizontal input,.form-horizontal select,.form-horizontal textarea,.form-inline .help-inline,.form-inline .input-append,.form-inline .input-prepend,.form-inline .uneditable-input,.form-inline input,.form-inline select,.form-inline textarea,.form-search .help-inline,.form-search .input-append,.form-search .input-prepend,.form-search .uneditable-input,.form-search input,.form-search select,.form-search textarea{display:inline-block;margin-bottom:0;vertical-align:middle}.form-horizontal .hide,.form-inline .hide,.form-search .hide{display:none}.form-inline .btn-group,.form-inline label,.form-search .btn-group,.form-search label{display:inline-block}.form-inline .input-append,.form-inline .input-prepend,.form-search .input-append,.form-search .input-prepend{margin-bottom:0}.form-inline .checkbox,.form-inline .radio,.form-search .checkbox,.form-search .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.form-search .checkbox input[type=checkbox],.form-search .radio input[type=radio]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px}.form-horizontal .control-group:after,.form-horizontal .control-group:before{display:table;line-height:0;content:""}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.btn-block,.table,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.form-horizontal .controls{margin-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal .input-append+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{background-color:transparent}.table{margin-bottom:20px}.table td,.table th{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.btn,.pagination-centered{text-align:center}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child td,.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child td,.table thead:first-child tr:first-child th{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed td,.table-condensed th{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.jsoneditor .search .frame table,.ui-datepicker table,table{border-collapse:collapse}.table-bordered td,.table-bordered th{border-left:1px solid #ddd}.table-bordered caption+tbody tr:first-child td,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+thead tr:first-child th,.table-bordered tbody:first-child tr:first-child td,.table-bordered tbody:first-child tr:first-child th,.table-bordered thead:first-child tr:first-child th{border-top:0}.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered thead:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered thead:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered thead:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered thead:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered caption+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered caption+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}.row-fluid table td[class*=span],.row-fluid table th[class*=span],table td[class*=span],table th[class*=span]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class*=" icon-"],[class^=icon-]{display:inline-block;width:14px;height:14px;margin-top:1px;line-height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat}.btn,.btn-group{vertical-align:middle}.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.icon-white,.nav-list>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-pills>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-]{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropdown,.dropup{position:relative}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.alert .close,.btn-group,.btn-group>.btn,.collapse,.dropdown-submenu,.navbar-search{position:relative}.dropdown-menu.pull-right,.pull-right>.dropdown-menu{right:0;left:auto}.dropdown-menu li>a,.dropdown-submenu:hover>.dropdown-menu,.open>.dropdown-menu{display:block}.dropdown-menu .divider{height:1px;margin:9px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{padding:3px 20px;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.close,.nav-header{font-weight:700;line-height:20px}.dropdown-menu .active>a,.dropdown-menu .active>a:hover,.dropdown-menu li>a:focus,.dropdown-menu li>a:hover,.dropdown-submenu:hover>a{color:#fff;background-color:#0081c2;background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);text-decoration:none}.dropdown-menu li>a:focus,.dropdown-menu li>a:hover,.dropdown-submenu:hover>a{background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);outline:0}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent transparent transparent #ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.btn,.btn-group,.btn-group-vertical{display:inline-block}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.breadcrumb,.typeahead{-webkit-border-radius:4px;-moz-border-radius:4px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-small,.well-small{-webkit-border-radius:3px;-moz-border-radius:3px}.well-small{padding:9px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.btn,.btn-danger,.btn-info,.btn-inverse,.btn-primary,.btn-success,.btn-warning,.navbar-inverse .btn-navbar,.navbar-inverse .navbar-inner,.progress,.progress .bar,.progress .bar-danger,.progress .bar-info,.progress .bar-success,.progress .bar-warning,.progress-danger .bar,.progress-info .bar,.progress-success .bar,.progress-warning .bar{background-repeat:repeat-x}.btn{padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);border:1px solid #c5c5c5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);border-color:rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25)}.btn-danger,.btn-info,.btn-inverse,.btn-primary,.btn-success,.btn-warning,.navbar .btn-navbar{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.btn.active,.btn.disabled,.btn:active,.btn:hover,.btn[disabled]{color:#333;background-color:#e6e6e6}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:#333 dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.active,.btn:active{background-color:#ccc\9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link,.nav>.dropdown.active>a:hover{cursor:pointer}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class*=" icon-"],.btn-large [class^=icon-]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;border-radius:3px}.btn-small [class*=" icon-"],.btn-small [class^=icon-]{margin-top:0}.btn-mini [class*=" icon-"],.btn-mini [class^=icon-]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}.btn-primary{color:#fff;background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary:hover,.btn-primary[disabled]{color:#fff;background-color:#04c}.btn-primary.active,.btn-primary:active{background-color:#039\9}.btn-warning{color:#fff;background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning:hover,.btn-warning[disabled]{color:#fff;background-color:#f89406}.btn-warning.active,.btn-warning:active{background-color:#c67605\9}.btn-danger{color:#fff;background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger:hover,.btn-danger[disabled]{color:#fff;background-color:#bd362f}.btn-danger.active,.btn-danger:active{background-color:#942a25\9}.btn-success{color:#fff;background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success:hover,.btn-success[disabled]{color:#fff;background-color:#51a351}.btn-success.active,.btn-success:active{background-color:#408140\9}.btn-info{color:#fff;background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info:hover,.btn-info[disabled]{color:#fff;background-color:#2f96b4}.btn-info.active,.btn-info:active{background-color:#24748c\9}.btn-inverse{color:#fff;background-color:#363636;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);border-color:#222 #222 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse.active,.btn-inverse.disabled,.btn-inverse:active,.btn-inverse:hover,.btn-inverse[disabled]{color:#fff;background-color:#222}.btn-inverse.active,.btn-inverse:active{background-color:#080808\9}button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0}.btn-group>.btn,.btn-link{-webkit-border-radius:0;-moz-border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;border-color:transparent;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{font-size:0;white-space:nowrap}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn{margin-left:5px}.btn-group>.btn{border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn-group>.btn-mini+.dropdown-toggle{padding-right:5px;padding-left:5px}.btn-group>.btn-large+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret,.btn-mini .caret,.btn-small .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-danger .caret,.btn-info .caret,.btn-inverse .caret,.btn-primary .caret,.btn-success .caret,.btn-warning .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-header,.nav>li>a{display:block}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info,.alert-info h4{color:#3a87ad}.alert-info{background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{padding:3px 15px;font-size:11px;color:#999;text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list .nav-header,.nav-list>li>a{margin-right:-15px;margin-left:-15px}.nav-list>li>a{padding:3px 15px}.nav-pills>li>a,.nav-tabs>li>a{padding-top:8px;padding-bottom:8px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;background-color:#08c}.nav-list [class*=" icon-"],.nav-list [class^=icon-]{margin-right:2px}.nav-list .divider{height:1px;margin:9px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-pills:after,.nav-pills:before,.nav-tabs:after,.nav-tabs:before{display:table;line-height:0;content:""}.nav-pills>li,.nav-tabs>li{float:left}.nav-stacked>li,.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.nav-pills>li>a,.nav-tabs>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav-pills .open .dropdown-toggle,.nav-tabs .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open.active .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.modal-backdrop.fade,.tooltip{opacity:0}.tabs-stacked .open>a:hover{border-color:#999}.tabbable:after,.tabbable:before{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-left>.nav-tabs,.tabs-right>.nav-tabs{border-bottom:0}.pill-content>.pill-pane,.tab-content>.tab-pane{display:none}.pill-content>.active,.tab-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#333232;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0)}.navbar-inner:after,.navbar-inner:before{display:table;line-height:0;content:""}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#777}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-append .btn,.navbar .input-prepend .btn{margin-top:0}.navbar-form{margin-bottom:0}.navbar-form:after,.navbar-form:before{display:table;line-height:0;content:""}.navbar-form .checkbox,.navbar-form .radio,.navbar-form input,.navbar-form select{margin-top:5px}.navbar-form .btn,.navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0}.navbar-form input[type=image],.navbar-form input[type=radio],.navbar-form input[type=checkbox]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom .navbar-inner,.navbar-fixed-top .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-bottom .container,.navbar-fixed-top .container,.navbar-static-top .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:7px 15px 10px;color:#FFF;text-decoration:none}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#FFF;text-decoration:none;background-color:#96B54A}.navbar .nav>.active>a,.navbar .nav>.active>a:focus,.navbar .nav>.active>a:hover{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);box-shadow:inset 0 3px 8px rgba(0,0,0,.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;background-color:#ededed;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar:active,.navbar .btn-navbar:hover,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5}.navbar .btn-navbar.active,.navbar .btn-navbar:active{background-color:#ccc\9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(0,0,0,.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle,.navbar .nav li.dropdown.open>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav>li>.dropdown-menu.pull-right,.navbar .pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav>li>.dropdown-menu.pull-right:before,.navbar .pull-right>li>.dropdown-menu:before{right:12px;left:auto}.navbar .nav>li>.dropdown-menu.pull-right:after,.navbar .pull-right>li>.dropdown-menu:after{right:13px;left:auto}.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu,.navbar .pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand,.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:focus,.navbar-inverse .nav .active>a:hover{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query.focused,.navbar-inverse .navbar-search .search-query:focus{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);-moz-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);border-color:#040404 #040404 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404}.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar:active{background-color:#000\9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block;text-shadow:0 1px 0 #fff}.badge,.label,.progress .bar{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pager .next>a,.pager .next>span,.pull-right{float:right}.pagination ul>.active>a,.pagination ul>.active>span,.pagination ul>li>a:hover{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>span{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>a,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>a,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none}.modal-footer,.modal-form{margin-bottom:0}.pager:after,.pager:before{display:table;line-height:0;content:""}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid rgba(0,0,0,.3);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.popover,.tooltip,.tooltip-arrow{position:absolute}.modal-footer{padding:14px 15px 15px;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:after,.modal-footer:before{display:table;line-height:0;content:""}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{z-index:1030;display:block;padding:5px;font-size:11px;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:700px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.tooltip-arrow{width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:4px;border-radius:4px}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none}.thumbnails:after,.thumbnails:before{display:table;line-height:0;content:""}.media-object,.thumbnail{display:block}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,.055);box-shadow:0 1px 3px rgba(0,0,0,.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,.25);box-shadow:0 1px 4px rgba(0,105,214,.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-heading{margin:0 0 5px}.accordion,.progress{margin-bottom:20px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.badge,.label{display:inline-block;padding:2px 4px;font-size:11.84px;font-weight:700;line-height:14px;color:#fff;white-space:nowrap;vertical-align:baseline;background-color:#999}.ui-spinner,.ui-spinner-input{vertical-align:middle;padding:0}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.badge:empty,.label:empty{display:none}a.badge:hover,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-important,.label-important{background-color:#b94a48}.badge-important[href],.label-important[href]{background-color:#953b39}.badge-warning,.label-warning{background-color:#f89406}.badge-warning[href],.label-warning[href]{background-color:#c67605}.badge-success,.label-success{background-color:#468847}.badge-success[href],.label-success[href]{background-color:#356635}.badge-info,.label-info{background-color:#3a87ad}.badge-info[href],.label-info[href]{background-color:#2d6987}.badge-inverse,.label-inverse{background-color:#333}.badge-inverse[href],.label-inverse[href]{background-color:#1a1a1a}.btn .badge,.btn .label{position:relative;top:-1px}.btn-mini .badge,.btn-mini .label{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(.25,rgba(255,255,255,.15)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.15)),color-stop(.75,rgba(255,255,255,.15)),color-stop(.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress .bar-danger,.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(.25,rgba(255,255,255,.15)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.15)),color-stop(.75,rgba(255,255,255,.15)),color-stop(.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress .bar-success,.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-striped .bar-success,.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(.25,rgba(255,255,255,.15)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.15)),color-stop(.75,rgba(255,255,255,.15)),color-stop(.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress .bar-info,.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(.25,rgba(255,255,255,.15)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.15)),color-stop(.75,rgba(255,255,255,.15)),color-stop(.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress .bar-warning,.progress-warning .bar{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0)}.progress-striped .bar-warning,.progress-warning.progress-striped .bar{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(.25,rgba(255,255,255,.15)),color-stop(.25,transparent),color-stop(.5,transparent),color-stop(.5,rgba(255,255,255,.15)),color-stop(.75,rgba(255,255,255,.15)),color-stop(.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}/*! jQuery UI - v1.9.2 - 2012-12-21 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-zfix,.ui-widget-overlay{position:absolute;top:0;height:100%;left:0}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{width:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;zoom:1}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;zoom:1}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}* html .ui-autocomplete{width:1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-multi .ui-datepicker-group,.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:focus,.ui-dialog .ui-dialog-titlebar-close:hover{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin:.5em 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-slider-vertical .ui-slider-range-min,.ui-spinner-down{bottom:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden}.ui-spinner-input{border:none;background:0 0;margin:.2em 22px .2em .4em}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x #f6a828;color:#fff;font-weight:700}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x #f6f6f6;font-weight:700;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #fbcb09;background:url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x #fdf5ce;font-weight:700;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x #fff;font-weight:700;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x #ffe45c;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% #b81900;color:#fff}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-active .ui-icon,.ui-state-default .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_ef8c08_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_228ef1_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_ffd27a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% #666;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x #000;opacity:.2;filter:Alpha(Opacity=20);-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.context-menu-theme-osx{background-color:#fff;opacity:.93;filter:alpha(opacity=93);zoom:1;border:1px solid #b2b2b2;padding:3px 0;border-radius:4px}.context-menu-theme-osx .context-menu-item{text-align:left;cursor:pointer;color:#000;font-family:Lucida Grande,Arial;font-weight:700;font-size:12px;opacity:1;filter:alpha(opacity=100);z-index:1}.select2-container .select2-choice,.select2-container.select2-drop-above .select2-choice{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0)}.context-menu-theme-osx .context-menu-separator{margin:5px 1px 4px;font-size:0;border-top:1px solid #e4e4e4}.context-menu-theme-osx .context-menu-item:hover{background-color:#1C44F2;color:#fff}.context-menu-theme-osx .context-menu-item .context-menu-item-inner{padding:2px 10px 2px 22px;background-color:none;background-repeat:no-repeat;background-position:4px center;background-image:none}.context-menu-theme-osx .context-menu-item-disabled{color:#939393}.select2-container{margin:0;position:relative;display:inline-block;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:linear-gradient(top,#fff 0,#eee 50%)}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:linear-gradient(top,#eee 0,#fff 90%)}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:8px;font-size:1px;text-decoration:none;border:0;background:url(../img/select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:9999;top:100%;background:#fff;color:#000;border:1px solid #aaa;border-top:0;border-radius:0 0 4px 4px;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.select2-drop-active{border:1px solid #5897fb;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-left:1px solid #aaa;border-radius:0 4px 4px 0;background:#ccc;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(.6,#eee));background-image:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%);background-image:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);background-image:linear-gradient(top,#ccc 0,#eee 60%)}.select2-dropdown-open .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0)}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url(../img/select2.png) 0 1px no-repeat}.select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap}.select2-search input{width:100%;height:auto!important;min-height:26px;padding:4px 20px 4px 5px;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #aaa;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:url(../img/select2.png) 100% -22px no-repeat #fff;background:url(../img/select2.png) 100% -22px no-repeat,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(../img/select2.png) 100% -22px no-repeat,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(../img/select2.png) 100% -22px no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(../img/select2.png) 100% -22px no-repeat,linear-gradient(top,#fff 85%,#eee 99%)}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(../img/select2-spinner.gif) 100% no-repeat #fff;background:url(../img/select2-spinner.gif) 100% no-repeat,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(../img/select2-spinner.gif) 100% no-repeat,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(../img/select2-spinner.gif) 100% no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(../img/select2-spinner.gif) 100% no-repeat,linear-gradient(top,#fff 85%,#eee 99%)}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:linear-gradient(top,#fff 0,#eee 50%)}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center top,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center top,#fff 0,#eee 50%);background-image:linear-gradient(bottom,#fff 0,#eee 50%)}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.select2-results{max-height:200px;padding:0 0 0 4px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results ul.select2-result-sub>li .select2-result-label{padding-left:20px}.select2-results ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:40px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:60px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:80px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:100px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:110px}.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub>li .select2-result-label{padding-left:120px}.select2-results li{list-style:none;display:list-item;background-image:none}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip,.select2-container-multi .select2-choices .select2-search-choice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.select2-results .select2-highlighted{background:#3875d7;color:#fff}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-disabled,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(../img/select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(top,#eee 1%,#fff 15%);background-image:-moz-linear-gradient(top,#eee 1%,#fff 15%);background-image:linear-gradient(top,#eee 1%,#fff 15%);min-height:26px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-container-multi .select2-choices li{float:left;list-style:none}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(../img/select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:3px 0 3px 5px;position:relative;line-height:13px;color:#333;cursor:default;border:1px solid #aaa;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);background-clip:padding-box;user-select:none;background-color:#e4e4e4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%)}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:0;background:url(../img/select2.png) right top no-repeat}.select2-container-multi .select2-search-choice-close{left:3px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){.select2-container .select2-choice .select2-arrow b,.select2-container .select2-choice abbr,.select2-search input,.select2-search-choice-close{background-image:url(../img/select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.select2-search input{background-position:100% -21px!important}}.chartWrap{margin:0;padding:0;overflow:hidden}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1);padding:10px;border:1px solid #ddd;z-index:10000;font-family:Arial;font-size:13px;transition:opacity .5s linear;-moz-transition:opacity .5s linear;-webkit-transition:opacity .5s linear;transition-delay:.5s;-moz-transition-delay:.5s;-webkit-transition-delay:.5s;-moz-box-shadow:4px 4px 8px rgba(0,0,0,.5);-webkit-box-shadow:4px 4px 8px rgba(0,0,0,.5);box-shadow:4px 4px 8px rgba(0,0,0,.5);-moz-border-radius:10px;border-radius:10px;user-select:none}svg .title,svg text{font-family:'Open Sans',sans-serif}.nvtooltip h3,.nvtooltip p{margin:0;padding:0;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip-pending-removal{position:absolute;pointer-events:none}svg{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;height:100%}svg text{font-weight:300;font-size:10px}svg .title{font-weight:400;font-size:14px}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .disabled circle{fill-opacity:0}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#000;stroke-opacity:.25;shape-rendering:crispEdges}.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-bars .negative rect{zfill:brown}.nvd3 .nv-bars rect{zfill:#4682b4;fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect:hover{fill-opacity:.75}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:transparent}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.8}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups path.nv-line{fill:none;stroke-width:1.25px}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3 .nv-line.hover path{stroke-width:6px}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3 .nv-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:20px;fill-opacity:.5!important;stroke-opacity:.5!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvd3.nv-stackedarea .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.75;fill-opacity:1}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#999;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:4px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel{font-weight:700}.nvd3.nv-historicalStockChart .nv-dragTarget{fill-opacity:0;stroke:none;cursor:move}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-indentedtree .name{margin-left:5px}.nvd3.nv-indentedtree .clickable{color:#08C;cursor:pointer}.nvd3.nv-indentedtree span.clickable:hover{color:#005580;text-decoration:underline}.nvd3.nv-indentedtree .nv-childrenCount{display:inline-block;margin-left:5px}.nvd3.nv-indentedtree .nv-treeicon,.nvd3.nv-indentedtree .nv-treeicon.nv-folded{cursor:pointer}.jqconsole-ansi-bold{font-weight:700!important}.jqconsole-ansi-lighter{font-weight:lighter!important}.jqconsole-ansi-italic{font-style:italic!important}.asciidoc .hljs-emphasis,.markdown .hljs-emphasis,.tp .hljs-units,dfn{font-style:italic}.jqconsole-ansi-underline{text-decoration:underline!important}@-webkit-keyframes blinker{from{opacity:1}to{opacity:0}}@-moz-keyframes blinker{from{opacity:1}to{opacity:0}}@-ms-keyframes blinker{from{opacity:1}to{opacity:0}}@-o-keyframes blinker{from{opacity:1}to{opacity:0}}.jqconsole-ansi-blink,.jqconsole-ansi-blink-rapid{-webkit-animation-name:blinker;-moz-animation-name:blinker;-ms-animation-name:blinker;-o-animation-name:blinker;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(1,0,0,1);-ms-animation-timing-function:cubic-bezier(1,0,0,1);-o-animation-timing-function:cubic-bezier(1,0,0,1);-moz-animation-timing-function:cubic-bezier(1,0,0,1)}.jqconsole-ansi-blink{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;-ms-animation-duration:1s}.jqconsole-ansi-blink-rapid{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;-ms-animation-duration:.5s}.jqconsole-ansi-hidden{visibility:hidden!important}.jqconsole-ansi-line-through{text-decoration:line-through}.jqconsole-ansi-color-black{color:#000!important}.jqconsole-ansi-color-red{color:red!important}.jqconsole-ansi-color-green{color:green!important}.jqconsole-ansi-color-yellow{color:#ff0!important}.jqconsole-ansi-color-blue{color:#00f!important}.jqconsole-ansi-color-magenta{color:#ff00ff!important}.jqconsole-ansi-color-cyan{color:#0ff!important}.jqconsole-ansi-color-white{color:#fff!important}.jqconsole-ansi-background-color-black{background-color:#000!important}.jqconsole-ansi-background-color-red{background-color:red!important}.jqconsole-ansi-background-color-green{background-color:green!important}.jqconsole-ansi-background-color-yellow{background-color:#ff0!important}.jqconsole-ansi-background-color-blue{background-color:#00f!important}.jqconsole-ansi-background-color-magenta{background-color:#ff00ff!important}.jqconsole-ansi-background-color-cyan{background-color:#0ff!important}.jqconsole-ansi-background-color-white{background-color:#fff!important}.jqconsole-ansi-framed{border:1px solid!important}.jqconsole-ansi-overline{text-decoration:overline!important}.hljs{display:block;overflow-x:auto;padding:.5em;background:#f0f0f0;-webkit-text-size-adjust:none}.hljs,.hljs-subst,.hljs-tag .hljs-title,.nginx .hljs-title{color:#000}.apache .hljs-cbracket,.apache .hljs-tag,.asciidoc .hljs-header,.bash .hljs-variable,.coffeescript .hljs-attribute,.django .hljs-variable,.erlang_repl .hljs-function_or_atom,.haml .hljs-symbol,.hljs-addition,.hljs-constant,.hljs-flow,.hljs-name,.hljs-parent,.hljs-pragma,.hljs-preprocessor,.hljs-rule .hljs-value,.hljs-stream,.hljs-string,.hljs-tag .hljs-value,.hljs-template_tag,.hljs-title,.markdown .hljs-header,.pf .hljs-variable,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.smalltalk .hljs-class,.tex .hljs-command,.tex .hljs-special,.tp .hljs-variable{color:#800}.asciidoc .hljs-blockquote,.diff .hljs-header,.hljs-annotation,.hljs-chunk,.hljs-comment,.markdown .hljs-blockquote,.smartquote{color:#888}.asciidoc .hljs-bullet,.asciidoc .hljs-link_url,.go .hljs-constant,.hljs-change,.hljs-date,.hljs-hexcolor,.hljs-literal,.hljs-number,.hljs-regexp,.lasso .hljs-variable,.makefile .hljs-variable,.markdown .hljs-bullet,.markdown .hljs-link_url,.smalltalk .hljs-char,.smalltalk .hljs-symbol{color:#080}.apache .hljs-sqbracket,.asciidoc .hljs-attribute,.asciidoc .hljs-link_label,.clojure .hljs-attribute,.coffeescript .hljs-property,.erlang_repl .hljs-reserved,.haml .hljs-bullet,.hljs-array,.hljs-attr_selector,.hljs-decorator,.hljs-deletion,.hljs-doctype,.hljs-envvar,.hljs-filter .hljs-argument,.hljs-important,.hljs-label,.hljs-localvars,.hljs-phony,.hljs-pi,.hljs-prompt,.hljs-pseudo,.hljs-shebang,.lasso .hljs-attribute,.markdown .hljs-link_label,.nginx .hljs-built_in,.ruby .hljs-string,.tex .hljs-formula,.vhdl .hljs-attribute{color:#88f}.apache .hljs-tag,.asciidoc .hljs-strong,.bash .hljs-variable,.css .hljs-tag,.hljs-built_in,.hljs-doctag,.hljs-id,.hljs-keyword,.hljs-request,.hljs-status,.hljs-title,.hljs-type,.hljs-typename,.hljs-winutils,.markdown .hljs-strong,.pf .hljs-variable,.smalltalk .hljs-class,.tex .hljs-command,.tp .hljs-data,.tp .hljs-io{font-weight:700}.nginx .hljs-built_in{font-weight:400}.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .css,.xml .hljs-cdata,.xml .javascript,.xml .vbscript{opacity:.5}.jsoneditor .field,.jsoneditor .readonly,.jsoneditor .value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}.jsoneditor .field p,.jsoneditor .value p{margin:0}.jsoneditor .value{word-break:break-word}.jsoneditor .readonly{min-width:16px;color:gray}.jsoneditor .empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}.jsoneditor .field.empty{background-image:url(../img/jsoneditor-icons.png);background-position:0 -144px}.jsoneditor .value.empty{background-image:url(../img/jsoneditor-icons.png);background-position:-48px -144px}.jsoneditor .value.url{color:green;text-decoration:underline}.jsoneditor a.value.url:focus,.jsoneditor a.value.url:hover{color:red}.jsoneditor .separator{padding:3px 0;vertical-align:top;color:gray}.jsoneditor .field.highlight,.jsoneditor .field[contenteditable=true]:focus,.jsoneditor .field[contenteditable=true]:hover,.jsoneditor .value.highlight,.jsoneditor .value[contenteditable=true]:focus,.jsoneditor .value[contenteditable=true]:hover{background-color:#FFFFAB;border:1px solid #ff0;border-radius:2px}.jsoneditor .field.highlight-active,.jsoneditor .field.highlight-active:focus,.jsoneditor .field.highlight-active:hover,.jsoneditor .value.highlight-active,.jsoneditor .value.highlight-active:focus,.jsoneditor .value.highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}.jsoneditor div.tree button{width:24px;height:24px;padding:0;margin:0;border:none;cursor:pointer;background:url(../img/jsoneditor-icons.png)}.jsoneditor div.tree button.collapsed{background-position:0 -48px}.jsoneditor div.tree button.expanded{background-position:0 -72px}.jsoneditor div.tree button.contextmenu{background-position:-48px -72px}.jsoneditor div.tree button.contextmenu.selected,.jsoneditor div.tree button.contextmenu:focus,.jsoneditor div.tree button.contextmenu:hover{background-position:-48px -48px}.jsoneditor div.tree :focus{outline:0}.jsoneditor div.tree button:focus{background-color:#f5f5f5;outline:#e5e5e5 solid 1px}.jsoneditor div.tree button.invisible{visibility:hidden;background:0 0}.jsoneditor{color:#1A1A1A;border:1px solid #97B0F8;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:auto;position:relative;padding:0;line-height:100%}.jsoneditor div.outer,.jsoneditor textarea.text{width:100%;height:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.jsoneditor div.tree table.tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}.jsoneditor div.outer{margin:-35px 0 0;padding:35px 0 0;box-sizing:border-box;overflow:hidden}.jsoneditor div.tree{width:100%;height:100%;position:relative;overflow:auto}.jsoneditor-contextmenu ul li,svg:not(:root){overflow:hidden}.jsoneditor textarea.text{margin:0;box-sizing:border-box;border:none;background-color:#fff;resize:none}.jsoneditor tr.highlight{background-color:#FFFFAB}.jsoneditor div.tree button.dragarea{visibility:hidden;background:url(../img/jsoneditor-icons.png) -72px -72px;cursor:move}.jsoneditor div.tree button.dragarea:focus,.jsoneditor div.tree button.dragarea:hover{background-position:-72px -48px}.jsoneditor td,.jsoneditor th,.jsoneditor tr{padding:0;margin:0}.jsoneditor td,.jsoneditor td.tree{vertical-align:top}.jsoneditor .field,.jsoneditor .value,.jsoneditor td,.jsoneditor textarea,.jsoneditor th{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor-contextmenu{position:absolute;z-index:99999}.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;box-shadow:2px 2px 12px rgba(128,128,128,.3);list-style:none;margin:0;padding:0}.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:none;cursor:pointer;color:#4d4d4d;background:0 0;line-height:26px;text-align:left}.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}.jsoneditor-contextmenu ul li button:focus,.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:0}.jsoneditor-contextmenu ul li button.default{width:92px}.jsoneditor-contextmenu ul li button.expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}.jsoneditor-contextmenu div.icon{float:left;width:24px;height:24px;border:none;padding:0;margin:0;background-image:url(../img/jsoneditor-icons.png)}.jsoneditor-contextmenu ul li button div.expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(../img/jsoneditor-icons.png) 0 -72px;opacity:.4}.jsoneditor-contextmenu ul li button.expand:focus div.expand,.jsoneditor-contextmenu ul li button.expand:hover div.expand,.jsoneditor-contextmenu ul li button:focus div.expand,.jsoneditor-contextmenu ul li button:hover div.expand,.jsoneditor-contextmenu ul li.selected div.expand{opacity:1}.jsoneditor-contextmenu .separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}.jsoneditor-contextmenu button.remove>.icon{background-position:-24px -24px}.jsoneditor-contextmenu button.remove:focus>.icon,.jsoneditor-contextmenu button.remove:hover>.icon{background-position:-24px 0}.jsoneditor-contextmenu button.append>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.append:focus>.icon,.jsoneditor-contextmenu button.append:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.insert>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.insert:focus>.icon,.jsoneditor-contextmenu button.insert:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.duplicate>.icon{background-position:-48px -24px}.jsoneditor-contextmenu button.duplicate:focus>.icon,.jsoneditor-contextmenu button.duplicate:hover>.icon{background-position:-48px 0}.jsoneditor-contextmenu button.sort-asc>.icon{background-position:-168px -24px}.jsoneditor-contextmenu button.sort-asc:focus>.icon,.jsoneditor-contextmenu button.sort-asc:hover>.icon{background-position:-168px 0}.jsoneditor-contextmenu button.sort-desc>.icon{background-position:-192px -24px}.jsoneditor-contextmenu button.sort-desc:focus>.icon,.jsoneditor-contextmenu button.sort-desc:hover>.icon{background-position:-192px 0}.jsoneditor-contextmenu ul li .selected{background-color:#D4D6D8}.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:none;box-shadow:inset 0 0 10px rgba(128,128,128,.5);padding:0 10px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.jsoneditor-contextmenu ul li ul li button{padding-left:24px}.jsoneditor-contextmenu ul li ul li button:focus,.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}.jsoneditor-contextmenu button.type-string>.icon{background-position:-144px -24px}.jsoneditor-contextmenu button.type-string.selected>.icon,.jsoneditor-contextmenu button.type-string:focus>.icon,.jsoneditor-contextmenu button.type-string:hover>.icon{background-position:-144px 0}.jsoneditor-contextmenu button.type-auto>.icon{background-position:-120px -24px}.jsoneditor-contextmenu button.type-auto.selected>.icon,.jsoneditor-contextmenu button.type-auto:focus>.icon,.jsoneditor-contextmenu button.type-auto:hover>.icon{background-position:-120px 0}.jsoneditor-contextmenu button.type-object>.icon{background-position:-72px -24px}.jsoneditor-contextmenu button.type-object.selected>.icon,.jsoneditor-contextmenu button.type-object:focus>.icon,.jsoneditor-contextmenu button.type-object:hover>.icon{background-position:-72px 0}.jsoneditor-contextmenu button.type-array>.icon{background-position:-96px -24px}.jsoneditor-contextmenu button.type-array.selected>.icon,.jsoneditor-contextmenu button.type-array:focus>.icon,.jsoneditor-contextmenu button.type-array:hover>.icon{background-position:-96px 0}.jsoneditor-contextmenu button.type-modes>.icon{background-image:none;width:6px}.jsoneditor .menu{width:100%;height:35px;padding:2px;margin:0;overflow:hidden;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1A1A1A;background-color:#D5DDF6;border-bottom:1px solid #97B0F8}.jsoneditor .menu button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid #000;background:url(../img/jsoneditor-icons.png) #fff;color:#4D4D4D;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}.jsoneditor .menu button:hover{background-color:#f0f2f5}.jsoneditor .menu button:active,.jsoneditor .menu button:disabled{background-color:#fff}.jsoneditor .menu button.collapse-all{background-position:0 -96px}.jsoneditor .menu button.expand-all{background-position:0 -120px}.jsoneditor .menu button.undo{background-position:-24px -96px}.jsoneditor .menu button.undo:disabled{background-position:-24px -120px}.jsoneditor .menu button.redo{background-position:-48px -96px}.jsoneditor .menu button.redo:disabled{background-position:-48px -120px}.jsoneditor .menu button.compact{background-position:-72px -96px}.jsoneditor .menu button.format{background-position:-72px -120px}.jsoneditor .menu button.modes{background-image:none;width:auto;padding-left:6px;padding-right:6px}.jsoneditor .menu button.separator{margin-left:10px}.jsoneditor .menu a{font-family:arial,sans-serif;font-size:10pt;color:#97B0F8;vertical-align:middle}.jsoneditor .menu a:hover{color:red}.jsoneditor .menu a.poweredBy{visibility:hidden;font-size:8pt;position:absolute;right:0;top:0;padding:10px}.jsoneditor .search .results,.jsoneditor .search input{font-family:arial,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor .search{position:absolute;right:2px;top:2px}.jsoneditor .search .frame{border:1px solid #97B0F8;background-color:#fff;padding:0 2px;margin:0}.jsoneditor .search input{width:120px;border:none;outline:0;margin:1px}.jsoneditor .search .results{color:#4d4d4d;padding-right:5px;line-height:24px}.jsoneditor .search button{width:16px;height:24px;padding:0;margin:0;border:none;background:url(../img/jsoneditor-icons.png);vertical-align:top}audio:not([controls]),hr{height:0}img,legend{border:0}.jsoneditor .search button:hover,a{background-color:transparent}.jsoneditor .search button.refresh{width:18px;background-position:-99px -73px}.jsoneditor .search button.next{cursor:pointer;background-position:-124px -73px}.jsoneditor .search button.next:hover{background-position:-124px -49px}.jsoneditor .search button.previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}.jsoneditor .search button.previous:hover{background-position:-148px -49px}/*! + * Pure v0.6.0 + * Copyright 2014 Yahoo! Inc. All rights reserved. + * Licensed under the BSD License. + * https://github.com/yahoo/pure/blob/master/LICENSE.md + * *//*! + * normalize.css v^3.0 | MIT License | git.io/normalize + * Copyright (c) Nicolas Gallagher and Jonathan Neal + * *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}[hidden],template{display:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{padding:0}table{border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}/*! +Pure v0.6.0 +Copyright 2014 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}/*! +Pure v0.6.0 +Copyright 2014 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/@media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-12,.pure-u-sm-1-2,.pure-u-sm-1-24,.pure-u-sm-1-3,.pure-u-sm-1-4,.pure-u-sm-1-5,.pure-u-sm-1-6,.pure-u-sm-1-8,.pure-u-sm-10-24,.pure-u-sm-11-12,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-2-24,.pure-u-sm-2-3,.pure-u-sm-2-5,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24,.pure-u-sm-3-24,.pure-u-sm-3-4,.pure-u-sm-3-5,.pure-u-sm-3-8,.pure-u-sm-4-24,.pure-u-sm-4-5,.pure-u-sm-5-12,.pure-u-sm-5-24,.pure-u-sm-5-5,.pure-u-sm-5-6,.pure-u-sm-5-8,.pure-u-sm-6-24,.pure-u-sm-7-12,.pure-u-sm-7-24,.pure-u-sm-7-8,.pure-u-sm-8-24,.pure-u-sm-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%}.pure-u-sm-1-5{width:20%}.pure-u-sm-5-24{width:20.8333%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%}.pure-u-sm-7-24{width:29.1667%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%}.pure-u-sm-2-5{width:40%}.pure-u-sm-10-24,.pure-u-sm-5-12{width:41.6667%}.pure-u-sm-11-24{width:45.8333%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%}.pure-u-sm-13-24{width:54.1667%}.pure-u-sm-14-24,.pure-u-sm-7-12{width:58.3333%}.pure-u-sm-3-5{width:60%}.pure-u-sm-15-24,.pure-u-sm-5-8{width:62.5%}.pure-u-sm-16-24,.pure-u-sm-2-3{width:66.6667%}.pure-u-sm-17-24{width:70.8333%}.pure-u-sm-18-24,.pure-u-sm-3-4{width:75%}.pure-u-sm-19-24{width:79.1667%}.pure-u-sm-4-5{width:80%}.pure-u-sm-20-24,.pure-u-sm-5-6{width:83.3333%}.pure-u-sm-21-24,.pure-u-sm-7-8{width:87.5%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%}.pure-u-sm-23-24{width:95.8333%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-24-24,.pure-u-sm-5-5{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-12,.pure-u-md-1-2,.pure-u-md-1-24,.pure-u-md-1-3,.pure-u-md-1-4,.pure-u-md-1-5,.pure-u-md-1-6,.pure-u-md-1-8,.pure-u-md-10-24,.pure-u-md-11-12,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-2-24,.pure-u-md-2-3,.pure-u-md-2-5,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24,.pure-u-md-3-24,.pure-u-md-3-4,.pure-u-md-3-5,.pure-u-md-3-8,.pure-u-md-4-24,.pure-u-md-4-5,.pure-u-md-5-12,.pure-u-md-5-24,.pure-u-md-5-5,.pure-u-md-5-6,.pure-u-md-5-8,.pure-u-md-6-24,.pure-u-md-7-12,.pure-u-md-7-24,.pure-u-md-7-8,.pure-u-md-8-24,.pure-u-md-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%}.pure-u-md-1-5{width:20%}.pure-u-md-5-24{width:20.8333%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%}.pure-u-md-7-24{width:29.1667%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%}.pure-u-md-2-5{width:40%}.pure-u-md-10-24,.pure-u-md-5-12{width:41.6667%}.pure-u-md-11-24{width:45.8333%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%}.pure-u-md-13-24{width:54.1667%}.pure-u-md-14-24,.pure-u-md-7-12{width:58.3333%}.pure-u-md-3-5{width:60%}.pure-u-md-15-24,.pure-u-md-5-8{width:62.5%}.pure-u-md-16-24,.pure-u-md-2-3{width:66.6667%}.pure-u-md-17-24{width:70.8333%}.pure-u-md-18-24,.pure-u-md-3-4{width:75%}.pure-u-md-19-24{width:79.1667%}.pure-u-md-4-5{width:80%}.pure-u-md-20-24,.pure-u-md-5-6{width:83.3333%}.pure-u-md-21-24,.pure-u-md-7-8{width:87.5%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%}.pure-u-md-23-24{width:95.8333%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-24-24,.pure-u-md-5-5{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-12,.pure-u-lg-1-2,.pure-u-lg-1-24,.pure-u-lg-1-3,.pure-u-lg-1-4,.pure-u-lg-1-5,.pure-u-lg-1-6,.pure-u-lg-1-8,.pure-u-lg-10-24,.pure-u-lg-11-12,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-2-24,.pure-u-lg-2-3,.pure-u-lg-2-5,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24,.pure-u-lg-3-24,.pure-u-lg-3-4,.pure-u-lg-3-5,.pure-u-lg-3-8,.pure-u-lg-4-24,.pure-u-lg-4-5,.pure-u-lg-5-12,.pure-u-lg-5-24,.pure-u-lg-5-5,.pure-u-lg-5-6,.pure-u-lg-5-8,.pure-u-lg-6-24,.pure-u-lg-7-12,.pure-u-lg-7-24,.pure-u-lg-7-8,.pure-u-lg-8-24,.pure-u-lg-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%}.pure-u-lg-1-5{width:20%}.pure-u-lg-5-24{width:20.8333%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%}.pure-u-lg-7-24{width:29.1667%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%}.pure-u-lg-2-5{width:40%}.pure-u-lg-10-24,.pure-u-lg-5-12{width:41.6667%}.pure-u-lg-11-24{width:45.8333%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%}.pure-u-lg-13-24{width:54.1667%}.pure-u-lg-14-24,.pure-u-lg-7-12{width:58.3333%}.pure-u-lg-3-5{width:60%}.pure-u-lg-15-24,.pure-u-lg-5-8{width:62.5%}.pure-u-lg-16-24,.pure-u-lg-2-3{width:66.6667%}.pure-u-lg-17-24{width:70.8333%}.pure-u-lg-18-24,.pure-u-lg-3-4{width:75%}.pure-u-lg-19-24{width:79.1667%}.pure-u-lg-4-5{width:80%}.pure-u-lg-20-24,.pure-u-lg-5-6{width:83.3333%}.pure-u-lg-21-24,.pure-u-lg-7-8{width:87.5%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%}.pure-u-lg-23-24{width:95.8333%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-24-24,.pure-u-lg-5-5{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-12,.pure-u-xl-1-2,.pure-u-xl-1-24,.pure-u-xl-1-3,.pure-u-xl-1-4,.pure-u-xl-1-5,.pure-u-xl-1-6,.pure-u-xl-1-8,.pure-u-xl-10-24,.pure-u-xl-11-12,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-2-24,.pure-u-xl-2-3,.pure-u-xl-2-5,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24,.pure-u-xl-3-24,.pure-u-xl-3-4,.pure-u-xl-3-5,.pure-u-xl-3-8,.pure-u-xl-4-24,.pure-u-xl-4-5,.pure-u-xl-5-12,.pure-u-xl-5-24,.pure-u-xl-5-5,.pure-u-xl-5-6,.pure-u-xl-5-8,.pure-u-xl-6-24,.pure-u-xl-7-12,.pure-u-xl-7-24,.pure-u-xl-7-8,.pure-u-xl-8-24,.pure-u-xl-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%}.pure-u-xl-1-5{width:20%}.pure-u-xl-5-24{width:20.8333%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%}.pure-u-xl-7-24{width:29.1667%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%}.pure-u-xl-2-5{width:40%}.pure-u-xl-10-24,.pure-u-xl-5-12{width:41.6667%}.pure-u-xl-11-24{width:45.8333%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%}.pure-u-xl-13-24{width:54.1667%}.pure-u-xl-14-24,.pure-u-xl-7-12{width:58.3333%}.pure-u-xl-3-5{width:60%}.pure-u-xl-15-24,.pure-u-xl-5-8{width:62.5%}.pure-u-xl-16-24,.pure-u-xl-2-3{width:66.6667%}.pure-u-xl-17-24{width:70.8333%}.pure-u-xl-18-24,.pure-u-xl-3-4{width:75%}.pure-u-xl-19-24{width:79.1667%}.pure-u-xl-4-5{width:80%}.pure-u-xl-20-24,.pure-u-xl-5-6{width:83.3333%}.pure-u-xl-21-24,.pure-u-xl-7-8{width:87.5%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%}.pure-u-xl-23-24{width:95.8333%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-24-24,.pure-u-xl-5-5{width:100%}}@font-face{font-family:arangodb;src:url(fonts/arangodb.eot)}@font-face{font-family:arangodb;src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,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) format('woff');font-weight:400;font-style:normal}[class*=" icon_"],[class^=icon_]{font-family:arangodb;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon_arangodb_youtube:before{content:"\e600"}.icon_arangodb_wireless:before{content:"\e601"}.icon_arangodb_windows3:before{content:"\e602"}.icon_arangodb_windows2:before{content:"\e603"}.icon_arangodb_windows:before{content:"\e604"}.icon_arangodb_web:before{content:"\e605"}.icon_arangodb_warning:before{content:"\e606"}.icon_arangodb_vimeo:before{content:"\e607"}.icon_arangodb_unpacked:before{content:"\e608"}.icon_arangodb_unlocked:before{content:"\e609"}.icon_arangodb_unhappy:before{content:"\e60a"}.icon_arangodb_twitter:before{content:"\e60b"}.icon_arangodb_trash:before{content:"\e60c"}.icon_arangodb_star:before{content:"\e60d"}.icon_arangodb_stapel2:before{content:"\e60e"}.icon_arangodb_stapel:before{content:"\e60f"}.icon_arangodb_snapshot:before{content:"\e610"}.icon_arangodb_shield:before{content:"\e611"}.icon_arangodb_settings2:before{content:"\e612"}.icon_arangodb_settings1:before{content:"\e613"}.icon_arangodb_search:before{content:"\e614"}.icon_arangodb_roundplus:before{content:"\e615"}.icon_arangodb_roundminus:before{content:"\e616"}.icon_arangodb_removefolder:before{content:"\e617"}.icon_arangodb_removedoc:before{content:"\e618"}.icon_arangodb_removedatabase:before{content:"\e619"}.icon_arangodb_power:before{content:"\e61a"}.icon_arangodb_pillow:before{content:"\e61b"}.icon_arangodb_performance:before{content:"\e61c"}.icon_arangodb_pencil:before{content:"\e61d"}.icon_arangodb_packed:before{content:"\e61e"}.icon_arangodb_note:before{content:"\e61f"}.icon_arangodb_mark:before{content:"\e620"}.icon_arangodb_map:before{content:"\e621"}.icon_arangodb_mail:before{content:"\e622"}.icon_arangodb_locked:before{content:"\e623"}.icon_arangodb_letter:before{content:"\e624"}.icon_arangodb_lamp:before{content:"\e625"}.icon_arangodb_info:before{content:"\e626"}.icon_arangodb_infinite:before{content:"\e627"}.icon_arangodb_import:before{content:"\e628"}.icon_arangodb_heart:before{content:"\e629"}.icon_arangodb_happ:before{content:"\e62a"}.icon_arangodb_gps:before{content:"\e62b"}.icon_arangodb_google:before{content:"\e62c"}.icon_arangodb_folder:before{content:"\e62d"}.icon_arangodb_flag:before{content:"\e62e"}.icon_arangodb_filter:before{content:"\e62f"}.icon_arangodb_favorite:before{content:"\e630"}.icon_arangodb_facebook:before{content:"\e631"}.icon_arangodb_export:before{content:"\e632"}.icon_arangodb_euro:before{content:"\e633"}.icon_arangodb_edit:before{content:"\e634"}.icon_arangodb_edge5:before{content:"\e635"}.icon_arangodb_edge4:before{content:"\e636"}.icon_arangodb_edge3:before{content:"\e637"}.icon_arangodb_edge2:before{content:"\e638"}.icon_arangodb_edge1:before{content:"\e639"}.icon_arangodb_dotted2:before{content:"\e63a"}.icon_arangodb_dotted:before{content:"\e63b"}.icon_arangodb_dollar:before{content:"\e63c"}.icon_arangodb_document2:before{content:"\e63d"}.icon_arangodb_docs:before{content:"\e63e"}.icon_arangodb_doc:before{content:"\e63f"}.icon_arangodb_database1:before{content:"\e640"}.icon_arangodb_compass:before{content:"\e641"}.icon_arangodb_checklist:before{content:"\e642"}.icon_arangodb_checked:before{content:"\e643"}.icon_arangodb_chart4:before{content:"\e644"}.icon_arangodb_chart3:before{content:"\e645"}.icon_arangodb_chart2:before{content:"\e646"}.icon_arangodb_chart1:before{content:"\e647"}.icon_arangodb_bubble3:before{content:"\e648"}.icon_arangodb_bubble2:before{content:"\e649"}.icon_arangodb_bubble1:before{content:"\e64a"}.icon_arangodb_box3:before{content:"\e64b"}.icon_arangodb_box2:before{content:"\e64c"}.icon_arangodb_box1:before{content:"\e64d"}.icon_arangodb_books:before{content:"\e64e"}.icon_arangodb_bookmark:before{content:"\e64f"}.icon_arangodb_attachment:before{content:"\e650"}.icon_arangodb_arrowright:before{content:"\e651"}.icon_arangodb_arrowleft:before{content:"\e652"}.icon_arangodb_arrowenter:before{content:"\e653"}.icon_arangodb_arrow10:before{content:"\e654"}.icon_arangodb_arrow9:before{content:"\e655"}.icon_arangodb_arrow8:before{content:"\e656"}.icon_arangodb_arrow7:before{content:"\e657"}.icon_arangodb_arrow6:before{content:"\e658"}.icon_arangodb_arrow5:before{content:"\e659"}.icon_arangodb_arrow4:before{content:"\e65a"}.icon_arangodb_arrow3:before{content:"\e65b"}.icon_arangodb_arrow2:before{content:"\e65c"}.icon_arangodb_arrow1:before{content:"\e65d"}.icon_arangodb_addfolder:before{content:"\e65e"}.icon_arangodb_adddoc:before{content:"\e65f"}.icon_arangodb_adddatabase:before{content:"\e660"} \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/libs.min.js b/js/apps/system/_admin/aardvark/APP/frontend/build/libs.min.js new file mode 100644 index 0000000000..e40509590a --- /dev/null +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/libs.min.js @@ -0,0 +1,67 @@ +function RGBColorParser(a){this.ok=!1,"#"==a.charAt(0)&&(a=a.substr(1,6)),a=a.replace(/ /g,""),a=a.toLowerCase();var b={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var c in b)a==c&&(a=b[c]);for(var d=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(a){return[parseInt(a[1]),parseInt(a[2]),parseInt(a[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}}],e=0;e255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var a=this.r.toString(16),b=this.g.toString(16),c=this.b.toString(16);return 1==a.length&&(a="0"+a),1==b.length&&(b="0"+b),1==c.length&&(c="0"+c),"#"+a+b+c}}function printStackTrace(a){a=a||{guess:!0};var b=a.e||null,c=!!a.guess,d=new printStackTrace.implementation,e=d.run(b);return c?d.guessAnonymousFunctions(e):e}function snippetPopup(a){top.consoleRef=window.open("","myconsole","width=600,height=300,left=50,top=50,menubar=0,toolbar=0,location=0,status=0,scrollbars=1,resizable=1"),top.consoleRef.document.writeln("Snippet :: Code View :: "+location.href+'
    '+a+"
    "),top.consoleRef.document.close()}function sh_isEmailAddress(a){return/^mailto:/.test(a)?!1:-1!==a.indexOf("@")}function sh_setHref(a,b,c){var d=c.substring(a[b-2].pos,a[b-1].pos);d.length>=2&&"<"===d.charAt(0)&&">"===d.charAt(d.length-1)&&(d=d.substr(1,d.length-2)),sh_isEmailAddress(d)&&(d="mailto:"+d),a[b-2].node.href=d}function sh_konquerorExec(a){var b=[""];return b.index=a.length,b.input=a,b}function sh_highlightString(a,b){if(/Konqueror/.test(navigator.userAgent)&&!b.konquered){for(var c=0;ck;){var p,q,r=k,s=n.exec(a);null===s?(p=o,q=o):(p=s.index,q=n.lastIndex);for(var t=a.substring(r,p),u=[];;){var v,w=k-r,x=j.length;v=0===x?0:j[x-1][2];var y=b[v],z=y.length,A=u[v];A||(A=u[v]=[]);for(var B=null,C=-1,D=0;z>D;D++){var E;if(Dw&&m(t.substring(w,B.index),null);var G,H=y[C],I=H[1];if(I instanceof Array)for(var J=0;J0)for(var d=c.split(" "),e=0;e0&&b.push(d[e]);return b}function sh_addClass(a,b){for(var c=sh_getClasses(a),d=0;dd;d++){var e=a.item(d);switch(e.nodeType){case 1:if("br"===e.nodeName.toLowerCase()){var f;f=/MSIE/.test(navigator.userAgent)?"\r":"\n",b.text.push(f),b.pos++}else b.tags.push({node:e.cloneNode(!1),pos:b.pos}),sh_extractTagsFromNodeList(e.childNodes,b),b.tags.push({pos:b.pos});break;case 3:case 4:b.text.push(e.data),b.pos+=e.length}}}function sh_extractTags(a,b){var c={};return c.text=[],c.tags=b,c.pos=0,sh_extractTagsFromNodeList(a.childNodes,c),c.text.join("")}function sh_mergeTags(a,b){var c=a.length;if(0===c)return b;var d=b.length;if(0===d)return a;for(var e=[],f=0,g=0;c>f&&d>g;){var h=a[f],i=b[g];h.pos<=i.pos?(e.push(h),f++):(e.push(i),b[g+1].pos<=h.pos?(g++,e.push(b[g]),g++):(e.push({pos:h.pos}),b[g]={node:i.node.cloneNode(!1),pos:h.pos}))}for(;c>f;)e.push(a[f]),f++;for(;d>g;)e.push(b[g]),g++;return e}function sh_insertTags(a,b){for(var c=document,d=document.createDocumentFragment(),e=0,f=a.length,g=0,h=b.length,i=d;h>g||f>e;){var j,k;if(f>e?(j=a[e],k=j.pos):k=h,g>=k){if(j.node){var l=j.node;i.appendChild(l),i=l}else i=i.parentNode;e++}else i.appendChild(c.createTextNode(b.substring(g,k))),g=k}return d}function sh_highlightElement(a,b){sh_addClass(a,"sh_sourceCode");for(var c=[],d=sh_extractTags(a,c),e=sh_highlightString(d,b),f=sh_mergeTags(c,e),g=sh_insertTags(f,d);a.hasChildNodes();)a.removeChild(a.firstChild);a.appendChild(g)}function sh_getXMLHttpRequest(){if(window.ActiveXObject)return new ActiveXObject("Msxml2.XMLHTTP");if(window.XMLHttpRequest)return new XMLHttpRequest;throw"No XMLHttpRequest implementation available"}function sh_load(language,element,prefix,suffix){if(language in sh_requests)return void sh_requests[language].push(element);sh_requests[language]=[element];var request=sh_getXMLHttpRequest(),url=prefix+"sh_"+language+suffix;request.open("GET",url,!0),request.onreadystatechange=function(){if(4===request.readyState)try{if(request.status&&200!==request.status)throw"HTTP error: status "+request.status;eval(request.responseText);for(var elements=sh_requests[language],i=0;i element with class="'+g+'", but no such language exists');continue}sh_load(h,e,a,b)}break}}}!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=aa.type(a);return"function"===c||aa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(aa.isFunction(b))return aa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return aa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return aa.filter(b,a,c);b=aa.filter(b,a)}return aa.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return aa.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){$.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),aa.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=aa.expando+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?aa.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return $.activeElement}catch(a){}}function m(a,b){return aa.nodeName(a,"table")&&aa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)aa.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=aa.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&aa.nodeName(a,b)?aa.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d=aa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:aa.css(d[0],"display");return d.detach(),e}function u(a){var b=$,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||aa("':""),a._keyEvent=!1,I},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
    ',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}if(k||(l+=m+(!f&&i&&j?"":" ")),!a.yearshtml)if(a.yearshtml="",f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));for(t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}return l+=this._get(a,"yearSuffix"),k&&(l+=(!f&&i&&j?"":" ")+m),l+="
    "},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"==c?b:0),e=a.drawMonth+("M"==c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"==c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"==c||"Y"==c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return e=d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return"string"!=typeof a||"isDisabled"!=a&&"getDate"!=a&&"widget"!=a?"option"==a&&2==arguments.length&&"string"==typeof arguments[1]?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){"string"==typeof a?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.9.2",window["DP_jQuery_"+dpuuid]=$}(jQuery),function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{version:"1.9.2",options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;0>c&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),"string"!=typeof this.originalTitle&&(this.originalTitle=""),this.oldPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.options.title=this.options.title||this.originalTitle;var b,d,e,f,g,h=this,i=this.options,j=i.title||" ";b=(this.uiDialog=a("
    ")).addClass(c+i.dialogClass).css({display:"none",outline:0,zIndex:i.zIndex}).attr("tabIndex",-1).keydown(function(b){i.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE&&(h.close(b),b.preventDefault())}).mousedown(function(a){h.moveToTop(!1,a)}).appendTo("body"),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(b),d=(this.uiDialogTitlebar=a("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").bind("mousedown",function(){b.focus()}).prependTo(b),e=a("").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").click(function(a){a.preventDefault(),h.close(a)}).appendTo(d),(this.uiDialogTitlebarCloseText=a("")).addClass("ui-icon ui-icon-closethick").text(i.closeText).appendTo(e),f=a("").uniqueId().addClass("ui-dialog-title").html(j).prependTo(d),g=(this.uiDialogButtonPane=a("
    ")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),(this.uiButtonSet=a("
    ")).addClass("ui-dialog-buttonset").appendTo(g),b.attr({role:"dialog","aria-labelledby":f.attr("id")}),d.find("*").add(d).disableSelection(),this._hoverable(e),this._focusable(e),i.draggable&&a.fn.draggable&&this._makeDraggable(),i.resizable&&a.fn.resizable&&this._makeResizable(),this._createButtons(i.buttons),this._isOpen=!1,a.fn.bgiframe&&b.bgiframe(),this._on(b,{keydown:function(c){if(i.modal&&c.keyCode===a.ui.keyCode.TAB){var d=a(":tabbable",b),e=d.filter(":first"),f=d.filter(":last");return c.target!==f[0]||c.shiftKey?c.target===e[0]&&c.shiftKey?(f.focus(1),!1):void 0:(e.focus(1),!1)}}})},_init:function(){this.options.autoOpen&&this.open()},_destroy:function(){var a,b=this.oldPosition;this.overlay&&this.overlay.destroy(),this.uiDialog.hide(),this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},close:function(b){var c,d,e=this;return this._isOpen&&!1!==this._trigger("beforeClose",b)?(this._isOpen=!1,this.overlay&&this.overlay.destroy(),this.options.hide?this._hide(this.uiDialog,this.options.hide,function(){e._trigger("close",b)}):(this.uiDialog.hide(),this._trigger("close",b)),a.ui.dialog.overlay.resize(),this.options.modal&&(c=0,a(".ui-dialog").each(function(){this!==e.uiDialog[0]&&(d=a(this).css("z-index"),isNaN(d)||(c=Math.max(c,d)))}),a.ui.dialog.maxZ=c),this):void 0},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d,e=this.options;return e.modal&&!b||!e.stack&&!e.modal?this._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),this.overlay&&(a.ui.dialog.maxZ+=1,a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ,this.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ)),d={scrollTop:this.element.scrollTop(),scrollLeft:this.element.scrollLeft()},a.ui.dialog.maxZ+=1,this.uiDialog.css("z-index",a.ui.dialog.maxZ),this.element.attr(d),this._trigger("focus",c),this)},open:function(){if(!this._isOpen){var b,c=this.options,d=this.uiDialog;return this._size(),this._position(c.position),d.show(c.show),this.overlay=c.modal?new a.ui.dialog.overlay(this):null,this.moveToTop(!0),b=this.element.find(":tabbable"),b.length||(b=this.uiDialogButtonPane.find(":tabbable"),b.length||(b=d)),b.eq(0).focus(),this._isOpen=!0,this._trigger("open"),this}},_createButtons:function(b){var c=this,d=!1;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),"object"==typeof b&&null!==b&&a.each(b,function(){return!(d=!0)}),d?(a.each(b,function(b,d){var e,f;d=a.isFunction(d)?{click:d,text:b}:d,d=a.extend({type:"button"},d),f=d.click,d.click=function(){f.apply(c.element[0],arguments)},e=a("",d).appendTo(c.uiButtonSet),a.fn.button&&e.button()}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog)):this.uiDialog.removeClass("ui-dialog-buttons")},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){a(this).addClass("ui-dialog-dragging"),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){d.position=[f.position.left-c.document.scrollLeft(),f.position.top-c.document.scrollTop()],a(this).removeClass("ui-dialog-dragging"),c._trigger("dragStop",e,b(f)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function d(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var e=this,f=this.options,g=this.uiDialog.css("position"),h="string"==typeof c?c:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:this._minHeight(),handles:h,start:function(b,c){a(this).addClass("ui-dialog-resizing"),e._trigger("resizeStart",b,d(c))},resize:function(a,b){e._trigger("resize",a,d(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),f.height=a(this).height(),f.width=a(this).width(),e._trigger("resizeStop",b,d(c)),a.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c,d=[],e=[0,0];b?(("string"==typeof b||"object"==typeof b&&"0"in b)&&(d=b.split?b.split(" "):[b[0],b[1]],1===d.length&&(d[1]=d[0]),a.each(["left","top"],function(a,b){+d[a]===d[a]&&(e[a]=d[a],d[a]=b)}),b={my:d[0]+(e[0]<0?e[0]:"+"+e[0])+" "+d[1]+(e[1]<0?e[1]:"+"+e[1]),at:d.join(" ")}),b=a.extend({},a.ui.dialog.prototype.options.position,b)):b=a.ui.dialog.prototype.options.position,c=this.uiDialog.is(":visible"),c||this.uiDialog.show(),this.uiDialog.position(b),c||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e,f,g=this.uiDialog;switch(b){case"buttons":this._createButtons(d);break;case"closeText":this.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":g.removeClass(this.options.dialogClass).addClass(c+d);break;case"disabled":d?g.addClass("ui-dialog-disabled"):g.removeClass("ui-dialog-disabled");break;case"draggable":e=g.is(":data(draggable)"),e&&!d&&g.draggable("destroy"),!e&&d&&this._makeDraggable();break;case"position":this._position(d);break;case"resizable":f=g.is(":data(resizable)"),f&&!d&&g.resizable("destroy"),f&&"string"==typeof d&&g.resizable("option","handles",d),f||d===!1||this._makeResizable(d);break;case"title":a(".ui-dialog-title",this.uiDialogTitlebar).html(""+(d||" "))}this._super(b,d)},_size:function(){var b,c,d,e=this.options,f=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),e.minWidth>e.width&&(e.width=e.minWidth),b=this.uiDialog.css({height:"auto",width:e.width}).outerHeight(),c=Math.max(0,e.minHeight-b),"auto"===e.height?a.support.minHeight?this.element.css({minHeight:c,height:"auto"}):(this.uiDialog.show(),d=this.element.css("height","auto").height(),f||this.uiDialog.hide(),this.element.height(Math.max(d,c))):this.element.height(Math.max(e.height-b,0)),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){0===this.instances.length&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){return a(b.target).zIndex()").addClass("ui-widget-overlay");return a(document).bind("keydown.dialog-overlay",function(d){var e=a.ui.dialog.overlay.instances;0!==e.length&&e[e.length-1]===c&&b.options.closeOnEscape&&!d.isDefaultPrevented()&&d.keyCode&&d.keyCode===a.ui.keyCode.ESCAPE&&(b.close(d),d.preventDefault())}),c.appendTo(document.body).css({width:this.width(),height:this.height()}),a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances),d=0;-1!==c&&this.oldInstances.push(this.instances.splice(c,1)[0]),0===this.instances.length&&a([document,window]).unbind(".dialog-overlay"),b.height(0).width(0).remove(),a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.ui.ie?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),c>b?a(window).height()+"px":b+"px"):a(document).height()+"px"},width:function(){var b,c;return a.ui.ie?(b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),c>b?a(window).width()+"px":b+"px"):a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})}(jQuery),function(a,b){var c=!1;a.widget("ui.menu",{version:"1.9.2",defaultElement:"
      ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,a.proxy(function(a){this.options.disabled&&a.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(a){a.preventDefault()},"click .ui-state-disabled > a":function(a){a.preventDefault()},"click .ui-menu-item:has(a)":function(b){var d=a(b.target).closest(".ui-menu-item");!c&&d.not(".ui-state-disabled").length&&(c=!0,this.select(b),d.has(".ui-menu").length?this.expand(b):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){var c=a(b.currentTarget);c.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.children(".ui-menu-item").eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(b){a(b.target).closest(".ui-menu").length||this.collapseAll(b),c=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){function c(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var d,e,f,g,h,i=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:i=!1,e=this.previousFilter||"",f=String.fromCharCode(b.keyCode),g=!1,clearTimeout(this.filterTimer),f===e?g=!0:f=e+f,h=new RegExp("^"+c(f),"i"),d=this.activeMenu.children(".ui-menu-item").filter(function(){return h.test(a(this).children("a").text())}),d=g&&-1!==d.index(this.active.next())?this.active.nextAll(".ui-menu-item"):d,d.length||(f=String.fromCharCode(b.keyCode),h=new RegExp("^"+c(f),"i"),d=this.activeMenu.children(".ui-menu-item").filter(function(){return h.test(a(this).children("a").text())})),d.length?(this.focus(b,d),d.length>1?(this.previousFilter=f,this.filterTimer=this._delay(function(){ +delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}i&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(a):this.select(a))},refresh:function(){var b,c=this.options.icons.submenu,d=this.element.find(this.options.menus);d.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),d=b.prev("a"),e=a("").addClass("ui-menu-icon ui-icon "+c).data("ui-menu-submenu-carat",!0);d.attr("aria-haspopup","true").prepend(e),b.attr("aria-labelledby",d.attr("id"))}),b=d.add(this.element),b.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),b.children(":not(.ui-menu-item)").each(function(){var b=a(this);/[^\-—–\s]/.test(b.text())||b.addClass("ui-widget-content ui-menu-divider")}),b.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.height(),0>e?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.children(".ui-menu-item")[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item").first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()
    ").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(a,b){"value"===a&&(this.options.value=b,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),this._super(a,b)},_value:function(){var a=this.options.value;return"number"!=typeof a&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}})}(jQuery),function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{version:"1.9.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b,d,e=this.options,f=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),g="",h=[];for(this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(e.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),e.range&&(e.range===!0&&(e.values||(e.values=[this._valueMin(),this._valueMin()]),e.values.length&&2!==e.values.length&&(e.values=[e.values[0],e.values[0]])),this.range=a("
    ").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))),d=e.values&&e.values.length||1,b=f.length;d>b;b++)h.push(g);this.handles=f.add(a(h.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).mouseenter(function(){e.disabled||a(this).addClass("ui-state-hover")}).mouseleave(function(){a(this).removeClass("ui-state-hover")}).focus(function(){e.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)}),this._on(this.handles,{keydown:function(b){var d,e,f,g,h=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),d=this._start(b,h),d===!1))return}switch(g=this.options.step,e=f=this.options.values&&this.options.values.length?this.values(h):this.value(),b.keyCode){case a.ui.keyCode.HOME:f=this._valueMin();break;case a.ui.keyCode.END:f=this._valueMax();break;case a.ui.keyCode.PAGE_UP:f=this._trimAlignValue(e+(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:f=this._trimAlignValue(e-(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(e===this._valueMax())return;f=this._trimAlignValue(e+g);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(e===this._valueMin())return;f=this._trimAlignValue(e-g)}this._slide(b,h,f)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}),this._refreshValue(),this._animateOff=!1},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return l.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));e>c&&(e=c,f=a(this),g=b)}),l.range===!0&&this.values(1)===l.min&&(g+=1,f=a(this.handles[g])),h=this._start(b,g),h===!1?!1:(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),0>d&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&d>c)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;fd;d+=1)this._change(null,d);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);for(c=this.options.values.slice(),d=0;d=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=this._animateOff?!1:h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))}})}(jQuery),function(a){function b(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.widget("ui.spinner",{version:"1.9.2",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){return a(b.currentTarget).hasClass("ui-state-active")?this._start(b)===!1?!1:void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""},_start:function(a){return this.spinning||this._trigger("start",a)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a1&&a.href.replace(f,"")===location.href.replace(f,"").replace(/\s/g,"%20")}var e=0,f=/#.*$/;a.widget("ui.tabs",{version:"1.9.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var b=this,c=this.options,d=c.active,e=location.hash.substring(1);this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),null===d&&(e&&this.tabs.each(function(b,c){return a(c).attr("aria-controls")===e?(d=b,!1):void 0}),null===d&&(d=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===d||-1===d)&&(d=this.tabs.length?0:!1)),d!==!1&&(d=this.tabs.index(this.tabs.eq(d)),-1===d&&(d=c.collapsible?!1:0)),c.active=d,!c.collapsible&&c.active===!1&&this.anchors.length&&(c.active=0),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(this.options.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_tabId:function(a){return a.attr("aria-controls")||"ui-tabs-"+c()},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,e){var f,g,h,i=a(e).uniqueId().attr("id"),j=a(e).closest("li"),k=j.attr("aria-controls");d(e)?(f=e.hash,g=b.element.find(b._sanitizeSelector(f))):(h=b._tabId(j),f="#"+h,g=b.element.find(f),g.length||(g=b._createPanel(h),g.insertAfter(b.panels[c-1]||b.tablist)),g.attr("aria-live","polite")),g.length&&(b.panels=b.panels.add(g)),k&&j.data("ui-tabs-aria-controls",k),j.attr({"aria-controls":f.substring(1),"aria-labelledby":i}),g.attr("aria-labelledby",i)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("
    ").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={click:function(a){a.preventDefault()}};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d,e=this.element.parent();"fill"===b?(a.support.minHeight||(d=e.css("overflow"),e.css("overflow","hidden")),c=e.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),d&&e.css("overflow",d),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr({"aria-expanded":"false","aria-hidden":"true"}),c.oldTab.attr("aria-selected","false"),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr({"aria-expanded":"true","aria-hidden":"false"}),c.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"), +this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(c){var d=this.options.disabled;d!==!1&&(c===b?d=!1:(c=this._getIndex(c),d=a.isArray(d)?a.map(d,function(a){return a!==c?a:null}):a.map(this.tabs,function(a,b){return b!==c?b:null})),this._setupDisabled(d))},disable:function(c){var d=this.options.disabled;if(d!==!0){if(c===b)d=!0;else{if(c=this._getIndex(c),-1!==a.inArray(c,d))return;d=a.isArray(d)?a.merge([c],d).sort():[c]}this._setupDisabled(d)}},load:function(b,c){b=this._getIndex(b);var e=this,f=this.tabs.eq(b),g=f.find(".ui-tabs-anchor"),h=this._getPanelForTab(f),i={tab:f,panel:h};d(g[0])||(this.xhr=a.ajax(this._ajaxSettings(g,c,i)),this.xhr&&"canceled"!==this.xhr.statusText&&(f.addClass("ui-tabs-loading"),h.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){h.html(a),e._trigger("load",c,i)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&e.panels.stop(!1,!0),f.removeClass("ui-tabs-loading"),h.removeAttr("aria-busy"),a===e.xhr&&delete e.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}}),a.uiBackCompat!==!1&&(a.ui.tabs.prototype._ui=function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},a.widget("ui.tabs",a.ui.tabs,{url:function(a,b){this.anchors.eq(a).attr("href",b)}}),a.widget("ui.tabs",a.ui.tabs,{options:{ajaxOptions:null,cache:!1},_create:function(){this._super();var b=this;this._on({tabsbeforeload:function(c,d){return a.data(d.tab[0],"cache.tabs")?void c.preventDefault():void d.jqXHR.success(function(){b.options.cache&&a.data(d.tab[0],"cache.tabs",!0)})}})},_ajaxSettings:function(b,c,d){var e=this.options.ajaxOptions;return a.extend({},e,{error:function(a,b){try{e.error(a,b,d.tab.closest("li").index(),d.tab[0])}catch(c){}}},this._superApply(arguments))},_setOption:function(a,b){"cache"===a&&b===!1&&this.anchors.removeData("cache.tabs"),this._super(a,b)},_destroy:function(){this.anchors.removeData("cache.tabs"),this._super()},url:function(a){this.anchors.eq(a).removeData("cache.tabs"),this._superApply(arguments)}}),a.widget("ui.tabs",a.ui.tabs,{abort:function(){this.xhr&&this.xhr.abort()}}),a.widget("ui.tabs",a.ui.tabs,{options:{spinner:"Loading…"},_create:function(){this._super(),this._on({tabsbeforeload:function(a,b){if(a.target===this.element[0]&&this.options.spinner){var c=b.tab.find("span"),d=c.html();c.html(this.options.spinner),b.jqXHR.complete(function(){c.html(d)})}}})}}),a.widget("ui.tabs",a.ui.tabs,{options:{enable:null,disable:null},enable:function(b){var c,d=this.options;(b&&d.disabled===!0||a.isArray(d.disabled)&&-1!==a.inArray(b,d.disabled))&&(c=!0),this._superApply(arguments),c&&this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(b){var c,d=this.options;(b&&d.disabled===!1||a.isArray(d.disabled)&&-1===a.inArray(b,d.disabled))&&(c=!0),this._superApply(arguments),c&&this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}}),a.widget("ui.tabs",a.ui.tabs,{options:{add:null,remove:null,tabTemplate:"
  • #{label}
  • "},add:function(c,d,e){e===b&&(e=this.anchors.length);var f,g,h=this.options,i=a(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),j=c.indexOf("#")?this._tabId(i):c.replace("#","");return i.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy",!0),i.attr("aria-controls",j),f=e>=this.tabs.length,g=this.element.find("#"+j),g.length||(g=this._createPanel(j),f?e>0?g.insertAfter(this.panels.eq(-1)):g.appendTo(this.element):g.insertBefore(this.panels[e])),g.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(),f?i.appendTo(this.tablist):i.insertBefore(this.tabs[e]),h.disabled=a.map(h.disabled,function(a){return a>=e?++a:a}),this.refresh(),1===this.tabs.length&&h.active===!1&&this.option("active",0),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.tabs.eq(b).remove(),e=this._getPanelForTab(d).remove();return d.hasClass("ui-tabs-active")&&this.anchors.length>2&&this._activate(b+(b+1=b?--a:a}),this.refresh(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this}}),a.widget("ui.tabs",a.ui.tabs,{length:function(){return this.anchors.length}}),a.widget("ui.tabs",a.ui.tabs,{options:{idPrefix:"ui-tabs-"},_tabId:function(b){var d=b.is("li")?b.find("a[href]"):b;return d=d[0],a(d).closest("li").attr("aria-controls")||d.title&&d.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF\-]/g,"")||this.options.idPrefix+c()}}),a.widget("ui.tabs",a.ui.tabs,{options:{panelTemplate:"
    "},_createPanel:function(b){return a(this.options.panelTemplate).attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)}}),a.widget("ui.tabs",a.ui.tabs,{_create:function(){var a=this.options;null===a.active&&a.selected!==b&&(a.active=-1===a.selected?!1:a.selected),this._super(),a.selected=a.active,a.selected===!1&&(a.selected=-1)},_setOption:function(a,b){if("selected"!==a)return this._super(a,b);var c=this.options;this._super("active",-1===b?!1:b),c.selected=c.active,c.selected===!1&&(c.selected=-1)},_eventHandler:function(){this._superApply(arguments),this.options.selected=this.options.active,this.options.selected===!1&&(this.options.selected=-1)}}),a.widget("ui.tabs",a.ui.tabs,{options:{show:null,select:null},_create:function(){this._super(),this.options.active!==!1&&this._trigger("show",null,this._ui(this.active.find(".ui-tabs-anchor")[0],this._getPanelForTab(this.active)[0]))},_trigger:function(a,b,c){var d,e,f=this._superApply(arguments);return f?("beforeActivate"===a?(d=c.newTab.length?c.newTab:c.oldTab,e=c.newPanel.length?c.newPanel:c.oldPanel,f=this._super("select",b,{tab:d.find(".ui-tabs-anchor")[0],panel:e[0],index:d.closest("li").index()})):"activate"===a&&c.newTab.length&&(f=this._super("show",b,{tab:c.newTab.find(".ui-tabs-anchor")[0],panel:c.newPanel[0],index:c.newTab.closest("li").index()})),f):!1}}),a.widget("ui.tabs",a.ui.tabs,{select:function(a){if(a=this._getIndex(a),-1===a){if(!this.options.collapsible||-1===this.options.selected)return;a=this.options.selected}this.anchors.eq(a).trigger(this.options.event+this.eventNamespace)}}),function(){var b=0;a.widget("ui.tabs",a.ui.tabs,{options:{cookie:null},_create:function(){var a,b=this.options;null==b.active&&b.cookie&&(a=parseInt(this._cookie(),10),-1===a&&(a=!1),b.active=a),this._super()},_cookie:function(c){var d=[this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++b)];return arguments.length&&(d.push(c===!1?-1:c),d.push(this.options.cookie)),a.cookie.apply(null,d)},_refresh:function(){this._super(),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_eventHandler:function(){this._superApply(arguments),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_destroy:function(){this._super(),this.options.cookie&&this._cookie(null,this.options.cookie)}})}(),a.widget("ui.tabs",a.ui.tabs,{_trigger:function(b,c,d){var e=a.extend({},d);return"load"===b&&(e.panel=e.panel[0],e.tab=e.tab.find(".ui-tabs-anchor")[0]),this._super(b,c,e)}}),a.widget("ui.tabs",a.ui.tabs,{options:{fx:null},_getFx:function(){var b,c,d=this.options.fx;return d&&(a.isArray(d)?(b=d[0],c=d[1]):b=c=d),d?{show:c,hide:b}:null},_toggle:function(a,b){function c(){e.running=!1,e._trigger("activate",a,b)}function d(){b.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),f.length&&h.show?f.animate(h.show,h.show.duration,function(){c()}):(f.show(),c())}var e=this,f=b.newPanel,g=b.oldPanel,h=this._getFx();return h?(e.running=!0,void(g.length&&h.hide?g.animate(h.hide,h.hide.duration,function(){b.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),d()}):(b.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),g.hide(),d()))):this._super(a,b)}}))}(jQuery),function(a){function b(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))}function c(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);-1!==e&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")}var d=0;a.widget("ui.tooltip",{version:"1.9.2",options:{content:function(){return a(this).attr("title")},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0)}),this.element.find(this.options.items).andSelf().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).andSelf().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){a.data("ui-tooltip-open")&&e._delay(function(){b&&(b.type=f),this._open(b,a,c)})}),void(c&&this._open(b,a,c)))},_open:function(c,d,e){function f(a){j.of=a,g.is(":hidden")||g.position(j)}var g,h,i,j=a.extend({},this.options.position);if(e){if(g=this._find(d),g.length)return void g.find(".ui-tooltip-content").html(e);d.is("[title]")&&(c&&"mouseover"===c.type?d.attr("title",""):d.removeAttr("title")),g=this._tooltip(d),b(d,g.attr("id")),g.find(".ui-tooltip-content").html(e),this.options.track&&c&&/^mouse/.test(c.type)?(this._on(this.document,{mousemove:f}),f(c)):g.position(a.extend({of:d},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.show&&this.options.show.delay&&(i=setInterval(function(){g.is(":visible")&&(f(j.of),clearInterval(i))},a.fx.interval)),this._trigger("open",c,{tooltip:g}),h={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var c=a.Event(b);c.currentTarget=d[0],this.close(c,!0)}},remove:function(){this._removeTooltip(g)}},c&&"mouseover"!==c.type||(h.mouseleave="close"),c&&"focusin"!==c.type||(h.focusout="close"),this._on(!0,d,h)}},close:function(b){var d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);this.closing||(e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title")),c(e),f.stop(!0),this._hide(f,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),this.closing=!0,this._trigger("close",b,{tooltip:f}),this.closing=!1)},_tooltip:function(b){var c="ui-tooltip-"+d++,e=a("
    ").attr({id:c,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return a("
    ").addClass("ui-tooltip-content").appendTo(e),e.appendTo(this.document[0].body),a.fn.bgiframe&&e.bgiframe(),this.tooltips[c]=b,e},_find:function(b){var c=b.data("ui-tooltip-id");return c?a("#"+c):a()},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0),a("#"+c).remove(),d.data("ui-tooltip-title")&&(d.attr("title",d.data("ui-tooltip-title")),d.removeData("ui-tooltip-title"))})}})}(jQuery),jQuery.effects||function(a,b){var c=a.uiBackCompat!==!1,d="ui-effects-";a.effects={effect:{}},function(b,c){function d(a,b,c){var d=m[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}var g,h="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor".split(" "),i=/^([\-+])=\s*(\d+\.?\d*)/,j=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],k=b.Color=function(a,c,d,e){return new b.Color.fn.parse(a,c,d,e)},l={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},m={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},n=k.support={},o=b("

    ")[0],p=b.each;o.style.cssText="background-color:rgba(1,1,1,.5)",n.rgba=o.style.backgroundColor.indexOf("rgba")>-1,p(l,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),k.fn=b.extend(k.prototype,{parse:function(f,h,i,j){if(f===c)return this._rgba=[null,null,null,null],this;(f.jquery||f.nodeType)&&(f=b(f).css(h),h=c);var m=this,n=b.type(f),o=this._rgba=[];return h!==c&&(f=[f,h,i,j],n="array"),"string"===n?this.parse(e(f)||g._default):"array"===n?(p(l.rgba.props,function(a,b){o[b.idx]=d(f[b.idx],b)}),this):"object"===n?(f instanceof k?p(l,function(a,b){f[b.cache]&&(m[b.cache]=f[b.cache].slice())}):p(l,function(b,c){var e=c.cache;p(c.props,function(a,b){if(!m[e]&&c.to){if("alpha"===a||null==f[a])return;m[e]=c.to(m._rgba)}m[e][b.idx]=d(f[a],b,!0)}),m[e]&&a.inArray(null,m[e].slice(0,3))<0&&(m[e][3]=1,c.from&&(m._rgba=c.from(m[e])))}),this):void 0},is:function(a){var b=k(a),c=!0,d=this;return p(l,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],p(e.props,function(a,b){return null!=g[b.idx]?c=g[b.idx]===f[b.idx]:void 0})),c}),c},_space:function(){var a=[],b=this;return p(l,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var c=k(a),e=c._space(),f=l[e],g=0===this.alpha()?k("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return c=c[f.cache],p(f.props,function(a,e){var f=e.idx,g=h[f],j=c[f],k=m[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=d((j-g)*b+g,e)))}),this[e](i)},blend:function(a){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=k(a)._rgba;return k(b.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var a="rgba(",c=b.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),a="rgb("),a+c.join()+")"},toHslaString:function(){var a="hsla(",c=b.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),a="hsl("),a+c.join()+")"},toHexString:function(a){var c=this._rgba.slice(),d=c.pop();return a&&c.push(~~(255*d)),"#"+b.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),k.fn.parse.prototype=k.fn,l.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===l||1===l?l:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},l.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],e=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*f(h,g,b+1/3)),Math.round(255*f(h,g,b)),Math.round(255*f(h,g,b-1/3)),e]},p(l,function(a,e){var f=e.props,g=e.cache,h=e.to,j=e.from;k.fn[a]=function(a){if(h&&!this[g]&&(this[g]=h(this._rgba)),a===c)return this[g].slice();var e,i=b.type(a),l="array"===i||"object"===i?a:arguments,m=this[g].slice();return p(f,function(a,b){var c=l["object"===i?a:b.idx];null==c&&(c=m[b.idx]),m[b.idx]=d(c,b)}),j?(e=k(j(m)),e[g]=m,e):k(m)},p(f,function(c,d){k.fn[c]||(k.fn[c]=function(e){var f,g=b.type(e),h="alpha"===c?this._hsla?"hsla":"rgba":a,j=this[h](),k=j[d.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=b.type(e)),null==e&&d.empty?this:("string"===g&&(f=i.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[d.idx]=e,this[h](j)))})})}),p(h,function(a,c){b.cssHooks[c]={set:function(a,d){var f,g,h="";if("string"!==b.type(d)||(f=e(d))){if(d=k(f||d),!n.rgba&&1!==d._rgba[3]){for(g="backgroundColor"===c?a.parentNode:a;(""===h||"transparent"===h)&&g&&g.style;)try{h=b.css(g,"backgroundColor"),g=g.parentNode}catch(i){}d=d.blend(h&&"transparent"!==h?h:"_default")}d=d.toRgbaString()}try{a.style[c]=d}catch(j){}}},b.fx.step[c]=function(a){a.colorInit||(a.start=k(a.elem,c),a.end=k(a.end),a.colorInit=!0),b.cssHooks[c].set(a.elem,a.start.transition(a.end,a.pos))}}),b.cssHooks.borderColor={expand:function(a){var b={};return p(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},g=b.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function c(){var b,c,d=this.ownerDocument.defaultView?this.ownerDocument.defaultView.getComputedStyle(this,null):this.currentStyle,e={};if(d&&d.length&&d[0]&&d[d[0]])for(c=d.length;c--;)b=d[c],"string"==typeof d[b]&&(e[a.camelCase(b)]=d[b]);else for(b in d)"string"==typeof d[b]&&(e[b]=d[b]);return e}function d(b,c){var d,e,g={};for(d in c)e=c[d],b[d]!==e&&(f[d]||(a.fx.step[d]||!isNaN(parseFloat(e)))&&(g[d]=e));return g}var e=["add","remove","toggle"],f={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(jQuery.style(a.elem,c,a.end),a.setAttr=!0)}}),a.effects.animateClass=function(b,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").andSelf():g;j=j.map(function(){var b=a(this);return{el:b,start:c.call(this)}}),f=function(){a.each(e,function(a,c){b[c]&&g[c+"Class"](b[c])})},f(),j=j.map(function(){return this.end=c.call(this.el[0]),this.diff=d(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=jQuery.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.call(this,{add:b},c,d,e):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.call(this,{remove:b},c,d,e):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return"boolean"==typeof d||d===b?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):this._toggleClass(c,d):a.effects.animateClass.call(this,{toggle:c},d,e,f)},switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function e(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function f(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?!1:c&&a.effects[b]?!1:!0}a.extend(a.effects,{version:"1.9.2",save:function(a,b){for(var c=0;c

    ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function b(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,g=d.mode;(e.is(":hidden")?"hide"===g:"show"===g)?c():h.call(e[0],d,c)}var d=e.apply(this,arguments),f=d.mode,g=d.queue,h=a.effects.effect[d.effect],i=!h&&c&&a.effects[d.effect];return a.fx.off||!h&&!i?f?this[f](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):h?g===!1?this.each(b):this.queue(g||"fx",b):i.call(this,{options:d,duration:d.duration,callback:d.complete,mode:d.mode})},_show:a.fn.show,show:function(a){if(f(a))return this._show.apply(this,arguments);var b=e.apply(this,arguments);return b.mode="show",this.effect.call(this,b)},_hide:a.fn.hide,hide:function(a){if(f(a))return this._hide.apply(this,arguments);var b=e.apply(this,arguments);return b.mode="hide",this.effect.call(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(f(b)||"boolean"==typeof b||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=e.apply(this,arguments);return c.mode="toggle",this.effect.call(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}()}(jQuery),function(a,b){var c=/up|down|vertical/,d=/up|left|vertical|horizontal/;a.effects.effect.blind=function(b,e){var f,g,h,i=a(this),j=["position","top","bottom","left","right","height","width"],k=a.effects.setMode(i,b.mode||"hide"),l=b.direction||"up",m=c.test(l),n=m?"height":"width",o=m?"top":"left",p=d.test(l),q={},r="show"===k;i.parent().is(".ui-effects-wrapper")?a.effects.save(i.parent(),j):a.effects.save(i,j),i.show(),f=a.effects.createWrapper(i).css({overflow:"hidden"}),g=f[n](),h=parseFloat(f.css(o))||0,q[n]=r?g:0,p||(i.css(m?"bottom":"right",0).css(m?"top":"left","auto").css({position:"absolute"}),q[o]=r?h:g+h),r&&(f.css(n,0),p||f.css(o,h+g)),f.animate(q,{duration:b.duration,easing:b.easing,queue:!1,complete:function(){"hide"===k&&i.hide(),a.effects.restore(i,j),a.effects.removeWrapper(i),e()}})}}(jQuery),function(a,b){a.effects.effect.bounce=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"effect"),j="hide"===i,k="show"===i,l=b.direction||"up",m=b.distance,n=b.times||5,o=2*n+(k||j?1:0),p=b.duration/o,q=b.easing,r="up"===l||"down"===l?"top":"left",s="up"===l||"left"===l,t=g.queue(),u=t.length;for((k||j)&&h.push("opacity"),a.effects.save(g,h),g.show(),a.effects.createWrapper(g),m||(m=g["top"===r?"outerHeight":"outerWidth"]()/3),k&&(f={opacity:1},f[r]=0,g.css("opacity",0).css(r,s?2*-m:2*m).animate(f,p,q)),j&&(m/=Math.pow(2,n-1)),f={},f[r]=0,d=0;n>d;d++)e={},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q).animate(f,p,q),m=j?2*m:m/2;j&&(e={opacity:0},e[r]=(s?"-=":"+=")+m,g.animate(e,p,q)),g.queue(function(){j&&g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}),u>1&&t.splice.apply(t,[1,0].concat(t.splice(u,o+1))),g.dequeue()}}(jQuery),function(a,b){a.effects.effect.clip=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","height","width"],i=a.effects.setMode(g,b.mode||"hide"),j="show"===i,k=b.direction||"vertical",l="vertical"===k,m=l?"height":"width",n=l?"top":"left",o={};a.effects.save(g,h),g.show(),d=a.effects.createWrapper(g).css({overflow:"hidden"}),e="IMG"===g[0].tagName?d:g,f=e[m](),j&&(e.css(m,0),e.css(n,f/2)),o[m]=j?f:0,o[n]=j?0:f/2,e.animate(o,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){j||g.hide(),a.effects.restore(g,h),a.effects.removeWrapper(g),c()}})}}(jQuery),function(a,b){a.effects.effect.drop=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","opacity","height","width"],g=a.effects.setMode(e,b.mode||"hide"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i?"pos":"neg",l={opacity:h?1:0};a.effects.save(e,f),e.show(),a.effects.createWrapper(e),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0)/2,h&&e.css("opacity",0).css(j,"pos"===k?-d:d),l[j]=(h?"pos"===k?"+=":"-=":"pos"===k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})}}(jQuery),function(a,b){a.effects.effect.explode=function(b,c){function d(){t.push(this),t.length===l*m&&e()}function e(){n.css({visibility:"visible"}),a(t).remove(),p||n.hide(),c()}var f,g,h,i,j,k,l=b.pieces?Math.round(Math.sqrt(b.pieces)):3,m=l,n=a(this),o=a.effects.setMode(n,b.mode||"hide"),p="show"===o,q=n.show().css("visibility","hidden").offset(),r=Math.ceil(n.outerWidth()/m),s=Math.ceil(n.outerHeight()/l),t=[];for(f=0;l>f;f++)for(i=q.top+f*s,k=f-(l-1)/2,g=0;m>g;g++)h=q.left+g*r,j=g-(m-1)/2,n.clone().appendTo("body").wrap("
    ").css({position:"absolute",visibility:"visible",left:-g*r,top:-f*s}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:r,height:s,left:h+(p?j*r:0),top:i+(p?k*s:0),opacity:p?0:1}).animate({left:h+(p?0:j*r),top:i+(p?0:k*s),opacity:p?1:0},b.duration||500,b.easing,d)}}(jQuery),function(a,b){a.effects.effect.fade=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"toggle");d.animate({opacity:e},{queue:!1,duration:b.duration,easing:b.easing,complete:c})}}(jQuery),function(a,b){a.effects.effect.fold=function(b,c){var d,e,f=a(this),g=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(f,b.mode||"hide"),i="show"===h,j="hide"===h,k=b.size||15,l=/([0-9]+)%/.exec(k),m=!!b.horizFirst,n=i!==m,o=n?["width","height"]:["height","width"],p=b.duration/2,q={},r={};a.effects.save(f,g),f.show(),d=a.effects.createWrapper(f).css({overflow:"hidden"}),e=n?[d.width(),d.height()]:[d.height(),d.width()],l&&(k=parseInt(l[1],10)/100*e[j?0:1]),i&&d.css(m?{height:0,width:k}:{height:k,width:0}),q[o[0]]=i?e[0]:k,r[o[1]]=i?e[1]:0,d.animate(q,p,b.easing).animate(r,p,b.easing,function(){j&&f.hide(),a.effects.restore(f,g),a.effects.removeWrapper(f),c()})}}(jQuery),function(a,b){a.effects.effect.highlight=function(b,c){var d=a(this),e=["backgroundImage","backgroundColor","opacity"],f=a.effects.setMode(d,b.mode||"show"),g={backgroundColor:d.css("backgroundColor")};"hide"===f&&(g.opacity=0),a.effects.save(d,e),d.show().css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(g,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),c()}})}}(jQuery),function(a,b){a.effects.effect.pulsate=function(b,c){var d,e=a(this),f=a.effects.setMode(e,b.mode||"show"),g="show"===f,h="hide"===f,i=g||"hide"===f,j=2*(b.times||5)+(i?1:0),k=b.duration/j,l=0,m=e.queue(),n=m.length;for((g||!e.is(":visible"))&&(e.css("opacity",0).show(),l=1),d=1;j>d;d++)e.animate({opacity:l +},k,b.easing),l=1-l;e.animate({opacity:l},k,b.easing),e.queue(function(){h&&e.hide(),c()}),n>1&&m.splice.apply(m,[1,0].concat(m.splice(n,j+1))),e.dequeue()}}(jQuery),function(a,b){a.effects.effect.puff=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"hide"),f="hide"===e,g=parseInt(b.percent,10)||150,h=g/100,i={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()};a.extend(b,{effect:"scale",queue:!1,fade:!0,mode:e,complete:c,percent:f?g:100,from:f?i:{height:i.height*h,width:i.width*h,outerHeight:i.outerHeight*h,outerWidth:i.outerWidth*h}}),d.effect(b)},a.effects.effect.scale=function(b,c){var d=a(this),e=a.extend(!0,{},b),f=a.effects.setMode(d,b.mode||"effect"),g=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"hide"===f?0:100),h=b.direction||"both",i=b.origin,j={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()},k={y:"horizontal"!==h?g/100:1,x:"vertical"!==h?g/100:1};e.effect="size",e.queue=!1,e.complete=c,"effect"!==f&&(e.origin=i||["middle","center"],e.restore=!0),e.from=b.from||("show"===f?{height:0,width:0,outerHeight:0,outerWidth:0}:j),e.to={height:j.height*k.y,width:j.width*k.x,outerHeight:j.outerHeight*k.y,outerWidth:j.outerWidth*k.x},e.fade&&("show"===f&&(e.from.opacity=0,e.to.opacity=1),"hide"===f&&(e.from.opacity=1,e.to.opacity=0)),d.effect(e)},a.effects.effect.size=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","width","height","overflow","opacity"],i=["position","top","bottom","left","right","overflow","opacity"],j=["width","height","overflow"],k=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],m=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=a.effects.setMode(g,b.mode||"effect"),o=b.restore||"effect"!==n,p=b.scale||"both",q=b.origin||["middle","center"],r=g.css("position"),s=o?h:i,t={height:0,width:0,outerHeight:0,outerWidth:0};"show"===n&&g.show(),d={height:g.height(),width:g.width(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth()},"toggle"===b.mode&&"show"===n?(g.from=b.to||t,g.to=b.from||d):(g.from=b.from||("show"===n?t:d),g.to=b.to||("hide"===n?t:d)),f={from:{y:g.from.height/d.height,x:g.from.width/d.width},to:{y:g.to.height/d.height,x:g.to.width/d.width}},("box"===p||"both"===p)&&(f.from.y!==f.to.y&&(s=s.concat(l),g.from=a.effects.setTransition(g,l,f.from.y,g.from),g.to=a.effects.setTransition(g,l,f.to.y,g.to)),f.from.x!==f.to.x&&(s=s.concat(m),g.from=a.effects.setTransition(g,m,f.from.x,g.from),g.to=a.effects.setTransition(g,m,f.to.x,g.to))),("content"===p||"both"===p)&&f.from.y!==f.to.y&&(s=s.concat(k).concat(j),g.from=a.effects.setTransition(g,k,f.from.y,g.from),g.to=a.effects.setTransition(g,k,f.to.y,g.to)),a.effects.save(g,s),g.show(),a.effects.createWrapper(g),g.css("overflow","hidden").css(g.from),q&&(e=a.effects.getBaseline(q,d),g.from.top=(d.outerHeight-g.outerHeight())*e.y,g.from.left=(d.outerWidth-g.outerWidth())*e.x,g.to.top=(d.outerHeight-g.to.outerHeight)*e.y,g.to.left=(d.outerWidth-g.to.outerWidth)*e.x),g.css(g.from),("content"===p||"both"===p)&&(l=l.concat(["marginTop","marginBottom"]).concat(k),m=m.concat(["marginLeft","marginRight"]),j=h.concat(l).concat(m),g.find("*[width]").each(function(){var c=a(this),d={height:c.height(),width:c.width(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth()};o&&a.effects.save(c,j),c.from={height:d.height*f.from.y,width:d.width*f.from.x,outerHeight:d.outerHeight*f.from.y,outerWidth:d.outerWidth*f.from.x},c.to={height:d.height*f.to.y,width:d.width*f.to.x,outerHeight:d.height*f.to.y,outerWidth:d.width*f.to.x},f.from.y!==f.to.y&&(c.from=a.effects.setTransition(c,l,f.from.y,c.from),c.to=a.effects.setTransition(c,l,f.to.y,c.to)),f.from.x!==f.to.x&&(c.from=a.effects.setTransition(c,m,f.from.x,c.from),c.to=a.effects.setTransition(c,m,f.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.easing,function(){o&&a.effects.restore(c,j)})})),g.animate(g.to,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){0===g.to.opacity&&g.css("opacity",g.from.opacity),"hide"===n&&g.hide(),a.effects.restore(g,s),o||("static"===r?g.css({position:"relative",top:g.to.top,left:g.to.left}):a.each(["top","left"],function(a,b){g.css(b,function(b,c){var d=parseInt(c,10),e=a?g.to.left:g.to.top;return"auto"===c?e+"px":d+e+"px"})})),a.effects.removeWrapper(g),c()}})}}(jQuery),function(a,b){a.effects.effect.shake=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","height","width"],g=a.effects.setMode(e,b.mode||"effect"),h=b.direction||"left",i=b.distance||20,j=b.times||3,k=2*j+1,l=Math.round(b.duration/k),m="up"===h||"down"===h?"top":"left",n="up"===h||"left"===h,o={},p={},q={},r=e.queue(),s=r.length;for(a.effects.save(e,f),e.show(),a.effects.createWrapper(e),o[m]=(n?"-=":"+=")+i,p[m]=(n?"+=":"-=")+2*i,q[m]=(n?"-=":"+=")+2*i,e.animate(o,l,b.easing),d=1;j>d;d++)e.animate(p,l,b.easing).animate(q,l,b.easing);e.animate(p,l,b.easing).animate(o,l/2,b.easing).queue(function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}),s>1&&r.splice.apply(r,[1,0].concat(r.splice(s,k+1))),e.dequeue()}}(jQuery),function(a,b){a.effects.effect.slide=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","width","height"],g=a.effects.setMode(e,b.mode||"show"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i,l={};a.effects.save(e,f),e.show(),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0),a.effects.createWrapper(e).css({overflow:"hidden"}),h&&e.css(j,k?isNaN(d)?"-"+d:-d:d),l[j]=(h?k?"+=":"-=":k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})}}(jQuery),function(a,b){a.effects.effect.transfer=function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a('
    ').appendTo(document.body).addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),c()})}}(jQuery),!function(a){window.log=function(){log.history=log.history||[],log.history.push(arguments),this.console&&console.log(Array.prototype.slice.call(arguments))},a.fn.snippet=function(b,c){"object"==typeof b&&(c=b),"string"==typeof b&&(b=b.toLowerCase());var d={style:"random",showNum:!0,transparent:!1,collapse:!1,menu:!0,showMsg:"Expand Code",hideMsg:"Collapse Code",clipboard:"",startCollapsed:!0,startText:!1,box:"",boxColor:"",boxFill:""},e=["acid","berries-dark","berries-light","bipolar","blacknblue","bright","contrast","darkblue","darkness","desert","dull","easter","emacs","golden","greenlcd","ide-anjuta","ide-codewarrior","ide-devcpp","ide-eclipse","ide-kdev","ide-msvcpp","kwrite","matlab","navy","nedit","neon","night","pablo","peachpuff","print","rand01","the","typical","vampire","vim","vim-dark","whatis","whitengrey","zellner"];return c&&a.extend(d,c),this.each(function(){var c=d.style.toLowerCase();if("random"==d.style){var f=Math.floor(Math.random()*e.length);c=e[f]}var g=a(this),h=this.nodeName.toLowerCase();if("pre"!=h){var i="Snippet Error: Sorry, Snippet only formats '
    ' elements. '<"+h+">' elements are currently unsupported.";return console.log(i),!1}if(void 0==g.data("orgHtml")||null==g.data("orgHtml")){var j=g.html();g.data("orgHtml",j)}if(g.parent().hasClass("snippet-wrap")){if(g.parent().attr("class","sh_"+c+" snippet-wrap"),g.parents(".snippet-container").find(".snippet-reveal").attr("class","sh_"+c+" snippet-wrap snippet-reveal"),g.find("li.box, li.box-top, li.box-mid, li.box-bot").removeAttr("style").removeAttr("class"),g.find("li .box-sp").remove(),d.transparent){var k={"background-color":"transparent","box-shadow":"none","-moz-box-shadow":"none","-webkit-box-shadow":"none"};g.css(k),g.next(".snippet-textonly").css(k),g.parents(".snippet-container").find(".snippet-hide pre").css(k)}else{var k={"background-color":"","box-shadow":"","-moz-box-shadow":"","-webkit-box-shadow":""};g.css(k),g.next(".snippet-textonly").css(k),g.parents(".snippet-container").find(".snippet-reveal pre").css(k)}if(d.showNum){var l=g.find("li").eq(0).parent();if(l.hasClass("snippet-no-num")){l.wrap("
      ");var m=g.find("li").eq(0);m.unwrap()}}else{var l=g.find("li").eq(0).parent();if(l.hasClass("snippet-num")){l.wrap("
        ");var m=g.find("li").eq(0);m.unwrap()}}if(""!=d.box){for(var n=" ",o=d.box.split(","),p=0;pr){g.find("li").eq(r).addClass("box box-top").prepend(n),g.find("li").eq(s).addClass("box box-bot").prepend(n);for(var t=r+1;s>t;t++)g.find("li").eq(t).addClass("box box-mid").prepend(n)}else r==s&&g.find("li").eq(r).addClass("box").prepend(n)}}""!=d.boxColor&&g.find("li.box").css("border-color",d.boxColor),""!=d.boxFill&&g.find("li.box").addClass("box-bg").css("background-color",d.boxFill),a.browser.webkit&&(g.find(".snippet-num li.box").css("margin-left","-3.3em"),g.find(".snippet-num li .box-sp").css("width","21px"))}sh_highlightDocument(),d.menu?g.prev(".snippet-menu").find("pre,.snippet-clipboard").show():g.prev(".snippet-menu").find("pre,.snippet-clipboard").hide()}else{if("string"!=typeof b){if(g.attr("class").length>0)var u=' class="'+g.attr("class")+'"';else var u="";if(g.attr("id").length>0)var v=' id="'+g.attr("id")+'"';else var v="";var i="Snippet Error: You must specify a language on inital usage of Snippet. Reference ";return console.log(i),!1}if(g.addClass("sh_"+b).addClass("snippet-formatted").wrap("
        "),g.removeAttr("style"),sh_highlightDocument(),d.showNum){var w=g.html();for(w=w.replace(/\n/g,"
      • "),w="
        1. "+w+"
        ";-1!=w.indexOf("
      • ");)w=w.replace("
      • ","")}else{var w=g.html();for(w=w.replace(/\n/g,"
      • "),w="
        • "+w+"
        ";-1!=w.indexOf("
      • ");)w=w.replace("
      • ","")}for(w=w.replace(/\t/g,"    "),g.html(w);""==g.find("li").eq(0).html();)g.find("li").eq(0).remove();g.find("li").each(function(){if(a(this).html().length<2){var b=a(this).html().replace(/\s/g,"");""==b&&(a.browser.opera?a(this).html(" "):a(this).html(" "))}});var x="",y="";if(g.parent().append(x),g.parent().prepend(y),g.parent().hover(function(){a(this).find(".snippet-menu").fadeIn("fast")},function(){a(this).find(".snippet-menu").fadeOut("fast")}),""!=d.clipboard&&0!=d.clipboard){var z=g.parent().find("a.snippet-copy");z.show(),z.parents(".snippet-menu").show();var A=g.parents(".snippet-wrap").find(".snippet-textonly").text();ZeroClipboard.setMoviePath(d.clipboard);var B=new ZeroClipboard.Client;B.setText(A),B.glue(z[0],z.parents(".snippet-menu")[0]),B.addEventListener("complete",function(a,b){b.length>500&&(b=b.substr(0,500)+"...\n\n("+(b.length-500)+" characters not shown)"),alert("Copied text to clipboard:\n\n "+b)}),z.parents(".snippet-menu").hide()}else g.parent().find("a.snippet-copy").hide();if(g.parent().find("a.snippet-text").click(function(){var b=a(this).parents(".snippet-wrap").find(".snippet-formatted"),c=a(this).parents(".snippet-wrap").find(".snippet-textonly");return b.toggle(),c.toggle(),c.is(":visible")?a(this).html("html"):a(this).html("text"),a(this).blur(),!1}),g.parent().find("a.snippet-window").click(function(){var b=a(this).parents(".snippet-wrap").find(".snippet-textonly").html();return snippetPopup(b),a(this).blur(),!1}),d.menu||g.prev(".snippet-menu").find("pre,.snippet-clipboard").hide(),d.collapse){var C=g.parent().attr("class"),D="",E="";g.parents(".snippet-container").append(D),g.parent().append(E);var F=g.parents(".snippet-container");d.startCollapsed?(F.find(".snippet-reveal").show(),F.find(".snippet-wrap").eq(0).hide()):(F.find(".snippet-reveal").hide(),F.find(".snippet-wrap").eq(0).show()),F.find("a.snippet-toggle").click(function(){return F.find(".snippet-wrap").toggle(),!1})}if(d.transparent){var k={"background-color":"transparent","box-shadow":"none","-moz-box-shadow":"none","-webkit-box-shadow":"none"};g.css(k),g.next(".snippet-textonly").css(k),g.parents(".snippet-container").find(".snippet-reveal pre").css(k)}if(d.startText&&(g.hide(),g.next(".snippet-textonly").show(),g.parent().find(".snippet-text").html("html")),""!=d.box){for(var n=" ",o=d.box.split(","),p=0;pr){g.find("li").eq(r).addClass("box box-top").prepend(n),g.find("li").eq(s).addClass("box box-bot").prepend(n);for(var t=r+1;s>t;t++)g.find("li").eq(t).addClass("box box-mid").prepend(n)}else r==s&&g.find("li").eq(r).addClass("box").prepend(n)}}""!=d.boxColor&&g.find("li.box").css("border-color",d.boxColor),""!=d.boxFill&&g.find("li.box, li.box-top, li.box-mid, li.box-bot").addClass("box-bg").css("background-color",d.boxFill),a.browser.webkit&&(g.find(".snippet-num li.box").css("margin-left","-3.3em"),g.find(".snippet-num li .box-sp").css("width","21px"))}g.parents(".snippet-container").find("a").addClass("sh_url")}})}}(jQuery);var ZeroClipboard={version:"1.0.7",clients:{},moviePath:"ZeroClipboard.swf",nextId:1,$:function(a){return"string"==typeof a&&(a=document.getElementById(a)),a.addClass||(a.hide=function(){this.style.display="none"},a.show=function(){this.style.display=""},a.addClass=function(a){this.removeClass(a),this.className+=" "+a},a.removeClass=function(a){for(var b=this.className.split(/\s+/),c=-1,d=0;d-1&&(b.splice(c,1),this.className=b.join(" ")),this},a.hasClass=function(a){return!!this.className.match(new RegExp("\\s*"+a+"\\s*"))}),a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){var d=this.clients[a];d&&d.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a,b){for(var c={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};a&&a!=b;)c.left+=a.offsetLeft,c.top+=a.offsetTop,a=a.offsetParent;return c},Client:function(a){this.handlers={},this.id=ZeroClipboard.nextId++,this.movieId="ZeroClipboardMovie_"+this.id,ZeroClipboard.register(this.id,this),a&&this.glue(a)}};ZeroClipboard.Client.prototype={id:0,ready:!1,movie:null,clipText:"",handCursorEnabled:!0,cssEffects:!0,handlers:null,glue:function(a,b,c){this.domElement=ZeroClipboard.$(a);var d=99;this.domElement.style.zIndex&&(d=parseInt(this.domElement.style.zIndex,10)+1),"string"==typeof b?b=ZeroClipboard.$(b):"undefined"==typeof b&&(b=document.getElementsByTagName("body")[0]);var e=ZeroClipboard.getDOMObjectPosition(this.domElement,b);this.div=document.createElement("div"),this.div.className="snippet-clipboard";var f=this.div.style;if(f.position="absolute",f.left=""+e.left+"px",f.top=""+e.top+"px",f.width=""+e.width+"px",f.height=""+e.height+"px",f.zIndex=d,"object"==typeof c)for(addedStyle in c)f[addedStyle]=c[addedStyle];b.appendChild(this.div),this.div.innerHTML=this.getHTML(e.width,e.height)},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/)){var e=location.href.match(/^https/i)?"https://":"http://";c+=''}else c+='';return c},hide:function(){this.div&&(this.div.style.left="-2000px")},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide(),this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.domElement=null,this.div=null}},reposition:function(a){if(a&&(this.domElement=ZeroClipboard.$(a),this.domElement||this.hide()),this.domElement&&this.div){var b=ZeroClipboard.getDOMObjectPosition(this.domElement),c=this.div.style;c.left=""+b.left+"px",c.top=""+b.top+"px"}},setText:function(a){this.clipText=a,this.ready&&this.movie.setText(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,""),this.handlers[a]||(this.handlers[a]=[]),this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a,this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){switch(a=a.toString().toLowerCase().replace(/^on/,"")){case"load":if(this.movie=document.getElementById(this.movieId),!this.movie){var c=this;return void setTimeout(function(){c.receiveEvent("load",null)},1)}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){var c=this;return setTimeout(function(){c.receiveEvent("load",null)},100),void(this.ready=!0)}this.ready=!0;try{this.movie.setText(this.clipText)}catch(d){}try{this.movie.setHandCursor(this.handCursorEnabled)}catch(d){}break;case"mouseover":this.domElement&&this.cssEffects&&(this.domElement.addClass("hover"),this.recoverActive&&this.domElement.addClass("active"));break;case"mouseout":this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")&&(this.domElement.removeClass("active"),this.recoverActive=!0),this.domElement.removeClass("hover"));break;case"mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case"mouseup":this.domElement&&this.cssEffects&&(this.domElement.removeClass("active"),this.recoverActive=!1)}if(this.handlers[a])for(var e=0,f=this.handlers[a].length;f>e;e++){var g=this.handlers[a][e];"function"==typeof g?g(this,b):"object"==typeof g&&2==g.length?g[0][g[1]](this,b):"string"==typeof g&&window[g](this,b)}}},this.sh_languages||(this.sh_languages={});var sh_requests={};this.sh_languages||(this.sh_languages={}),sh_languages.c=[[[/\/\/\//g,"sh_comment",1],[/\/\//g,"sh_comment",7],[/\/\*\*/g,"sh_comment",8],[/\/\*/g,"sh_comment",9],[/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,["sh_keyword","sh_normal","sh_classname"],-1],[/^[ \t]*#(?:[ \t]*include)/g,"sh_preproc",10,1],[/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,"sh_preproc",-1],[/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,"sh_number",-1],[/"/g,"sh_string",13],[/'/g,"sh_string",14],[/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|break|case|catch|cdecl|const|continue|default|do|else|enum|extern|for|goto|if|pascal|register|return|sizeof|static|struct|switch|typedef|union|volatile|while)\b/g,"sh_keyword",-1],[/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,"sh_type",-1],[/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,"sh_symbol",-1],[/\{|\}/g,"sh_cbracket",-1],[/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,"sh_function",-1],[/([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,["sh_usertype","sh_usertype","sh_normal"],-1]],[[/$/g,null,-2],[/(?:?)|(?:?)/g,"sh_url",-1],[/<\?xml/g,"sh_preproc",2,1],[//g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,"sh_keyword",6,1],[/&(?:[A-Za-z0-9]+);/g,"sh_preproc",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,"sh_keyword",6,1],[/@[A-Za-z]+/g,"sh_type",-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,"sh_todo",-1]],[[/\?>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",3]],[[/\\(?:\\|")/g,null,-1],[/"/g,"sh_string",-2]],[[/>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",3]],[[/-->/g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[/",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[c],starts:{e:"",rE:!0,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[c],starts:{e:"",rE:!0,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},c]}]}}(hljs),hljs.LANGUAGES.json=function(a){var b={literal:"true false null"},c=[a.QSM,a.CNM],d={cN:"value",e:",",eW:!0,eE:!0,c:c,k:b},e={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[a.BE],i:"\\n",starts:d}],i:"\\S"},f={b:"\\[",e:"\\]",c:[a.inherit(d,{cN:null})],i:"\\S"};return c.splice(c.length,0,e,f),{c:c,k:b,i:"\\S"}}(hljs),!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.Joi=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;ge;++e){var g=this._inner.matches[e],i=g.schema;if(!i){var j=g.is._validate(g.ref(b.parent,c),null,c,b.parent).errors;if(i=j?g.otherwise:g.then,!i)continue}var k=i._validate(a,b,c);if(!k.errors)return k;d=d.concat(k.errors)}return{errors:d.length?d:h.create("alternatives.base",null,b,c)}},i.Alternatives.prototype["try"]=function(){var a=d.flatten(Array.prototype.slice.call(arguments));d.assert(a.length,"Cannot add other alternatives without at least one schema");for(var b=this.clone(),c=0,e=a.length;e>c;++c){var g=f.schema(a[c]);g._refs.length&&(b._refs=b._refs.concat(g._refs)),b._inner.matches.push({schema:g})}return b},i.Alternatives.prototype.when=function(a,b){d.assert(g.isRef(a)||"string"==typeof a,"Invalid reference:",a),d.assert(b,"Missing options"),d.assert("object"==typeof b,"Invalid options"),d.assert(b.hasOwnProperty("is"),'Missing "is" directive'),d.assert(void 0!==b.then||void 0!==b.otherwise,'options must have at least one of "then" or "otherwise"');var c=this.clone(),e={ref:f.ref(a),is:f.schema(b.is),then:void 0!==b.then?f.schema(b.then):void 0,otherwise:void 0!==b.otherwise?f.schema(b.otherwise):void 0};return g.push(c._refs,e.ref),c._refs=c._refs.concat(e.is._refs),e.then&&e.then._refs&&(c._refs=c._refs.concat(e.then._refs)),e.otherwise&&e.otherwise._refs&&(c._refs=c._refs.concat(e.otherwise._refs)),c._inner.matches.push(e),c},i.Alternatives.prototype.describe=function(){for(var a=[],b=0,c=this._inner.matches.length;c>b;++b){var d=this._inner.matches[b];if(d.schema)a.push(d.schema.describe());else{var e={ref:d.ref.toString(),is:d.is.describe()};d.then&&(e.then=d.then.describe()),d.otherwise&&(e.otherwise=d.otherwise.describe()),a.push(e)}}return a},b.exports=new i.Alternatives},{"./any":2,"./cast":6,"./errors":8,"./ref":14,hoek:16}],2:[function(a,b,c){(function(c){var d=(a("path"),a("hoek")),e=a("./ref"),f=a("./errors"),g=null,h=null,i={};i.defaults={abortEarly:!0,convert:!0,allowUnknown:!1,skipFunctions:!1,stripUnknown:!1,language:{}},b.exports=i.Any=function(){this.isJoi=!0,this._type="any",this._settings=null,this._valids=new i.Set,this._invalids=new i.Set,this._tests=[],this._refs=[],this._flags={},this._description=null,this._unit=null,this._notes=[],this._tags=[],this._examples=[],this._meta=[],this._inner={}},i.Any.prototype.isImmutable=!0,i.Any.prototype.clone=function(){var a={};a.__proto__=Object.getPrototypeOf(this),a.isJoi=!0,a._type=this._type,a._settings=i.concatSettings(this._settings),a._valids=d.clone(this._valids),a._invalids=d.clone(this._invalids),a._tests=this._tests.slice(),a._refs=this._refs.slice(),a._flags=d.clone(this._flags),a._description=this._description,a._unit=this._unit,a._notes=this._notes.slice(),a._tags=this._tags.slice(),a._examples=this._examples.slice(),a._meta=this._meta.slice(),a._inner={};for(var b=Object.keys(this._inner),c=0,e=b.length;e>c;++c){var f=b[c];a._inner[f]=this._inner[f]?this._inner[f].slice():null}return a},i.Any.prototype.concat=function(a){d.assert(a&&a.isJoi,"Invalid schema object"),d.assert("any"===a._type||a._type===this._type,"Cannot merge with another type:",a._type);var b=this.clone();b._settings=b._settings?i.concatSettings(b._settings,a._settings):a._settings,b._valids.merge(a._valids,a._invalids),b._invalids.merge(a._invalids,a._valids),b._tests=b._tests.concat(a._tests),b._refs=b._refs.concat(a._refs),d.merge(b._flags,a._flags),b._description=a._description||b._description,b._unit=a._unit||b._unit,b._notes=b._notes.concat(a._notes),b._tags=b._tags.concat(a._tags),b._examples=b._examples.concat(a._examples),b._meta=b._meta.concat(a._meta);for(var c=Object.keys(a._inner),e=0,f=c.length;f>e;++e){var g=c[e];a._inner[g]&&(b._inner[g]=b._inner[g]?b._inner[g].concat(a._inner[g]):a._inner[g].slice())}return b},i.Any.prototype._test=function(a,b,c){d.assert(!this._flags.allowOnly,"Cannot define rules when valid values specified");var e=this.clone();return e._tests.push({func:c,name:a,arg:b}),e},i.Any.prototype.options=function(a){d.assert(!a.context,"Cannot override context");var b=this.clone();return b._settings=i.concatSettings(b._settings,a),b},i.Any.prototype.strict=function(){var a=this.clone();return a._settings=a._settings||{},a._settings.convert=!1,a},i.Any.prototype._allow=function(){for(var a=d.flatten(Array.prototype.slice.call(arguments)),b=0,c=a.length;c>b;++b){var e=a[b];this._invalids.remove(e),this._valids.add(e,this._refs)}},i.Any.prototype.allow=function(){var a=this.clone();return a._allow.apply(a,arguments),a},i.Any.prototype.valid=i.Any.prototype.equal=function(){d.assert(!this._tests.length,"Cannot set valid values when rules specified");var a=this.allow.apply(this,arguments);return a._flags.allowOnly=!0,a},i.Any.prototype.invalid=i.Any.prototype.not=function(a){for(var b=this.clone(),c=d.flatten(Array.prototype.slice.call(arguments)),e=0,f=c.length;f>e;++e){var a=c[e];b._valids.remove(a),b._invalids.add(a,this._refs)}return b},i.Any.prototype.required=i.Any.prototype.exist=function(){var a=this.clone();return a._flags.presence="required",a},i.Any.prototype.optional=function(){var a=this.clone();return delete a._flags.presence,a},i.Any.prototype["default"]=function(a){var b=this.clone();return b._flags["default"]=a,e.push(b._refs,a),b},i.Any.prototype.forbidden=function(){var a=this.clone();return a._flags.presence="forbidden",a},i.Any.prototype.when=function(b,c){d.assert(c&&"object"==typeof c,"Invalid options"),d.assert(void 0!==c.then||void 0!==c.otherwise,'options must have at least one of "then" or "otherwise"'),h=h||a("./cast");var e=c.then?this.concat(h.schema(c.then)):this,f=c.otherwise?this.concat(h.schema(c.otherwise)):this;g=g||a("./alternatives");var i=g.when(b,{is:c.is,then:e,otherwise:f});return i._flags.presence="ignore",i},i.Any.prototype.description=function(a){d.assert(a&&"string"==typeof a,"Description must be a non-empty string");var b=this.clone();return b._description=a,b},i.Any.prototype.notes=function(a){d.assert(a&&("string"==typeof a||Array.isArray(a)),"Notes must be a non-empty string or array");var b=this.clone();return b._notes=b._notes.concat(a),b},i.Any.prototype.tags=function(a){d.assert(a&&("string"==typeof a||Array.isArray(a)),"Tags must be a non-empty string or array");var b=this.clone();return b._tags=b._tags.concat(a),b},i.Any.prototype.meta=function(a){d.assert(void 0!==a,"Meta cannot be undefined");var b=this.clone();return b._meta=b._meta.concat(a),b},i.Any.prototype.example=function(a){d.assert(arguments.length,"Missing example");var b=this._validate(a,null,i.defaults);d.assert(!b.errors,"Bad example:",b.errors&&f.process(b.errors,a));var c=this.clone();return c._examples=c._examples.concat(a),c},i.Any.prototype.unit=function(a){d.assert(a&&"string"==typeof a,"Unit name must be a non-empty string");var b=this.clone();return b._unit=a,b},i.Any.prototype._validate=function(a,b,c,d){var g=this;b=b||{key:"",path:"",parent:null,reference:d},this._settings&&(c=i.concatSettings(c,this._settings));var h=[],j=function(){return{value:void 0!==a?a:e.isRef(g._flags["default"])?g._flags["default"](b.parent,c):g._flags["default"],errors:h.length?h:null}};if(this._flags.presence){if("required"===this._flags.presence&&void 0===a)return h.push(f.create("any.required",null,b,c)),j();if("forbidden"===this._flags.presence)return void 0===a?j():(h.push(f.create("any.unknown",null,b,c)),j())}else if(void 0===a)return j();if(this._valids.has(a,b,c,this._flags.insensitive))return j();if(this._invalids.has(a,b,c,this._flags.insensitive)&&(h.push(f.create(""===a?"any.empty":"any.invalid",null,b,c)),c.abortEarly||void 0===a))return j();if(this._base){var k=this._base.call(this,a,b,c);if(k.errors)return a=k.value,h=h.concat(k.errors),j();if(k.value!==a){if(a=k.value,this._valids.has(a,b,c,this._flags.insensitive))return j();if(this._invalids.has(a,b,c,this._flags.insensitive)&&(h.push(f.create("any.invalid",null,b,c)),c.abortEarly))return j()}}if(this._flags.allowOnly&&(h.push(f.create("any.allowOnly",{valids:this._valids.toString(!1)},b,c)),c.abortEarly))return j();for(var l=0,m=this._tests.length;m>l;++l){var n=this._tests[l],o=n.func.call(this,a,b,c);if(o&&(h.push(o),c.abortEarly))return j()}return j()},i.Any.prototype._validateWithOptions=function(a,b,c){var d=i.concatSettings(i.defaults,b),e=this._validate(a,null,d),g=f.process(e.errors,a);return c?c(g,e.value):{error:g,value:e.value}},i.Any.prototype.validate=function(a,b){var c=this._validate(a,null,i.defaults),d=f.process(c.errors,a);return b?b(d,c.value):{error:d,value:c.value}},i.Any.prototype.describe=function(){var a={type:this._type};Object.keys(this._flags).length&&(a.flags=this._flags),this._description&&(a.description=this._description),this._notes.length&&(a.notes=this._notes),this._tags.length&&(a.tags=this._tags),this._meta.length&&(a.meta=this._meta),this._examples.length&&(a.examples=this._examples),this._unit&&(a.unit=this._unit);var b=this._valids.values();b.length&&(a.valids=b);var c=this._invalids.values();c.length&&(a.invalids=c),a.rules=[];for(var d=0,e=this._tests.length;e>d;++d){var f=this._tests[d],g={name:f.name};f.arg&&(g.arg=f.arg),a.rules.push(g)}return a.rules.length||delete a.rules,a},i.Set=function(){this._set=[]},i.Set.prototype.add=function(a,b){d.assert(null===a||void 0===a||a instanceof Date||c.isBuffer(a)||e.isRef(a)||"function"!=typeof a&&"object"!=typeof a,"Value cannot be an object or function"),"function"!=typeof a&&this.has(a,null,null,!1)||(e.push(b,a),this._set.push(a))},i.Set.prototype.merge=function(a,b){for(var c=0,d=a._set.length;d>c;++c)this.add(a._set[c]);for(c=0,d=b._set.length;d>c;++c)this.remove(b._set[c])},i.Set.prototype.remove=function(a){this._set=this._set.filter(function(b){return a!==b})},i.Set.prototype.has=function(a,b,d,f){for(var g=0,h=this._set.length;h>g;++g){var i=this._set[g];if(e.isRef(i)&&(i=i(b.reference||b.parent,d)),typeof a==typeof i&&(a===i||a instanceof Date&&i instanceof Date&&a.getTime()===i.getTime()||f&&"string"==typeof a&&a.toLowerCase()===i.toLowerCase()||c.isBuffer(a)&&c.isBuffer(i)&&a.length===i.length&&a.toString("binary")===i.toString("binary")))return!0}return!1},i.Set.prototype.values=function(){return this._set.slice()},i.Set.prototype.toString=function(a){for(var b="",c=0,d=this._set.length;d>c;++c){var e=this._set[c];(void 0!==e||a)&&(b+=(b?", ":"")+i.stringify(e))}return b},i.stringify=function(a){return void 0===a?"undefined":null===a?"null":"string"==typeof a?a:a.toString()},i.concatSettings=function(a,b){if(!a&&!b)return null;var c={};if(a)for(var e=Object.keys(a),f=0,g=e.length;g>f;++f){var h=e[f];c[h]=a[h]}if(b)for(var i=Object.keys(b),j=0,k=i.length;k>j;++j){var h=i[j];"language"===h&&c.hasOwnProperty(h)?c[h]=d.applyToDefaults(c[h],b[h]):c[h]=b[h]}return c}}).call(this,a("buffer").Buffer)},{"./alternatives":1,"./cast":6,"./errors":8,"./ref":14,buffer:24,hoek:16,path:28}],3:[function(a,b,c){var d=a("./any"),e=a("./cast"),f=a("./errors"),g=a("hoek"),h={};h.Array=function(){d.call(this),this._type="array",this._inner.inclusions=[],this._inner.exclusions=[]},g.inherits(h.Array,d),h.Array.prototype._base=function(a,b,c){var d={value:a};if("string"==typeof a&&c.convert)try{var e=JSON.parse(a);Array.isArray(e)&&(d.value=e)}catch(g){}if(!Array.isArray(d.value))return d.errors=f.create("array.base",null,b,c),d;if(this._inner.inclusions.length||this._inner.exclusions.length)for(var h=0,i=d.value.length;i>h;++h){for(var j=d.value[h],k=!1,l={key:h,path:(b.path?b.path+".":"")+h,parent:d.value,reference:b.reference},m=0,n=this._inner.exclusions.length;n>m;++m){var o=this._inner.exclusions[m]._validate(j,l,{});if(!o.errors)return d.errors=f.create("array.excludes",{pos:h},{key:b.key,path:l.path},c),d}for(m=0,n=this._inner.inclusions.length;n>m;++m){var o=this._inner.inclusions[m]._validate(j,l,c);if(!o.errors){d.value[h]=o.value,k=!0;break}if(1===n)return d.errors=f.create("array.includesOne",{pos:h,reason:o.errors},{key:b.key,path:l.path},c),d}if(this._inner.inclusions.length&&!k)return d.errors=f.create("array.includes",{pos:h},{key:b.key,path:l.path},c),d}return d},h.Array.prototype.describe=function(){var a=d.prototype.describe.call(this);if(this._inner.inclusions.length){a.includes=[];for(var b=0,c=this._inner.inclusions.length;c>b;++b)a.includes.push(this._inner.inclusions[b].describe())}if(this._inner.exclusions.length){a.excludes=[];for(var b=0,c=this._inner.exclusions.length;c>b;++b)a.excludes.push(this._inner.exclusions[b].describe())}return a},h.Array.prototype.includes=function(){var a=g.flatten(Array.prototype.slice.call(arguments)).map(function(a){return e.schema(a)}),b=this.clone();return b._inner.inclusions=b._inner.inclusions.concat(a),b},h.Array.prototype.excludes=function(){var a=g.flatten(Array.prototype.slice.call(arguments)).map(function(a){return e.schema(a)}),b=this.clone();return b._inner.exclusions=b._inner.exclusions.concat(a),b},h.Array.prototype.min=function(a){return g.assert(g.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("min",a,function(b,c,d){return b.length>=a?null:f.create("array.min",{limit:a},c,d)})},h.Array.prototype.max=function(a){return g.assert(g.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("max",a,function(b,c,d){return b.length<=a?null:f.create("array.max",{limit:a},c,d)})},h.Array.prototype.length=function(a){return g.assert(g.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("length",a,function(b,c,d){return b.length===a?null:f.create("array.length",{limit:a},c,d)})},b.exports=new h.Array},{"./any":2,"./cast":6,"./errors":8,hoek:16}],4:[function(a,b,c){(function(c){var d=a("./any"),e=a("./errors"),f=a("hoek"),g={};g.Binary=function(){d.call(this),this._type="binary"},f.inherits(g.Binary,d),g.Binary.prototype._base=function(a,b,d){var f={value:a};if("string"==typeof a&&d.convert)try{var g=new c(a,this._flags.encoding);f.value=g}catch(h){}return f.errors=c.isBuffer(f.value)?null:e.create("binary.base",null,b,d),f},g.Binary.prototype.encoding=function(a){f.assert(c.isEncoding(a),"Invalid encoding:",a);var b=this.clone();return b._flags.encoding=a,b},g.Binary.prototype.min=function(a){return f.assert(f.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("min",a,function(b,c,d){return b.length>=a?null:e.create("binary.min",{limit:a},c,d)})},g.Binary.prototype.max=function(a){return f.assert(f.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("max",a,function(b,c,d){return b.length<=a?null:e.create("binary.max",{limit:a},c,d)})},g.Binary.prototype.length=function(a){return f.assert(f.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("length",a,function(b,c,d){return b.length===a?null:e.create("binary.length",{limit:a},c,d)})},b.exports=new g.Binary}).call(this,a("buffer").Buffer)},{"./any":2,"./errors":8,buffer:24,hoek:16}],5:[function(a,b,c){var d=a("./any"),e=a("./errors"),f=a("hoek"),g={};g.Boolean=function(){d.call(this),this._type="boolean"},f.inherits(g.Boolean,d),g.Boolean.prototype._base=function(a,b,c){var d={value:a};if("string"==typeof a&&c.convert){var f=a.toLowerCase();d.value="true"===f||"yes"===f||"on"===f?!0:"false"===f||"no"===f||"off"===f?!1:a}return d.errors="boolean"==typeof d.value?null:e.create("boolean.base",null,b,c),d},b.exports=new g.Boolean},{"./any":2,"./errors":8,hoek:16}],6:[function(a,b,c){var d=a("hoek"),e=a("./ref"),f={any:null,date:a("./date"),string:a("./string"),number:a("./number"),"boolean":a("./boolean"),alt:null,object:null};c.schema=function(b){return f.any=f.any||new(a("./any")),f.alt=f.alt||a("./alternatives"),f.object=f.object||a("./object"),b&&"object"==typeof b?b.isJoi?b:Array.isArray(b)?f.alt["try"](b):b instanceof RegExp?f.string.regex(b):b instanceof Date?f.date.valid(b):f.object.keys(b):"string"==typeof b?f.string.valid(b):"number"==typeof b?f.number.valid(b):"boolean"==typeof b?f["boolean"].valid(b):e.isRef(b)?f.any.valid(b):(d.assert(null===b,"Invalid schema content:",b),f.any.valid(null))},c.ref=function(a){return e.isRef(a)?a:e.create(a)}},{"./alternatives":1,"./any":2,"./boolean":5,"./date":7,"./number":12,"./object":13,"./ref":14,"./string":15,hoek:16}],7:[function(a,b,c){var d=a("./any"),e=a("./errors"),f=a("hoek"),g={};g.Date=function(){d.call(this),this._type="date"},f.inherits(g.Date,d),g.Date.prototype._base=function(a,b,c){var d={value:c.convert&&g.toDate(a)||a};return d.errors=d.value instanceof Date&&!isNaN(d.value.getTime())?null:e.create("date.base",null,b,c),d},g.toDate=function(a){if(a instanceof Date)return a;if("string"==typeof a||f.isInteger(a)){"string"==typeof a&&/^\d+$/.test(a)&&(a=parseInt(a,10));var b=new Date(a);if(!isNaN(b.getTime()))return b}return null},g.Date.prototype.min=function(a){return a=g.toDate(a),f.assert(a,"Invalid date format"),this._test("min",a,function(b,c,d){return b.getTime()>=a.getTime()?null:e.create("date.min",{limit:a},c,d)})},g.Date.prototype.max=function(a){return a=g.toDate(a),f.assert(a,"Invalid date format"),this._test("max",a,function(b,c,d){return b.getTime()<=a.getTime()?null:e.create("date.max",{limit:a},c,d)})},b.exports=new g.Date},{"./any":2,"./errors":8,hoek:16}],8:[function(a,b,c){var d=a("hoek"),e=a("./language"),f={};f.Err=function(a,b,c,d){this.type=a,this.context=b||{},this.context.key=c.key,this.path=c.path,this.options=d},f.Err.prototype.toString=function(){var a=this,b=this.options.language;this.context.key=this.context.key||b.root||e.errors.root;var c=d.reach(b,this.type)||d.reach(e.errors,this.type),f=/\{\{\!?key\}\}/.test(c);c=f?c:"{{!key}} "+c;var g=c.replace(/\{\{(\!?)([^}]+)\}\}/g,function(b,c,e){var f=d.reach(a.context,e),g=Array.isArray(f)?f.join(", "):f.toString();return c?d.escapeHtml(g):g});return g},c.create=function(a,b,c,d){return new f.Err(a,b,c,d)},c.process=function(a,b){if(!a||!a.length)return null;for(var c=[],d=0,e=a.length;e>d;++d){var g=a[d];c.push({message:g.toString(),path:g.path||g.context.key,type:g.type})}var h="";c.forEach(function(a){h+=(h?". ":"")+a.message});var i=new Error(h);return i.name="ValidationError",i.details=c,i._object=b,i.annotate=f.annotate,i},f.annotate=function(){for(var a=d.clone(this._object||{}),b={},c=this.details.length,e=c-1;e>=0;--e)for(var f=c-e,g=this.details[e],h=g.path.split("."),i=a,j=0,k=h.length;k>j&&i;++j){var l=h[j];if(k>j+1)i=i[l];else{var m=i[l];if(void 0!==m){delete i[l];var n=l+"_$key$_"+f+"_$end$_";i[n]=m,b[g.path]=n}else if(b[g.path]){var o=b[g.path],p=o.replace("_$end$_",", "+f+"_$end$_");i[p]=i[o],b[g.path]=p,delete i[o]}else i["_$miss$_"+l+"|"+f+"_$end$_"]="__missing__"}}var q=JSON.stringify(a,null,2);q=q.replace(/_\$key\$_([, \d]+)_\$end\$_\"/g,function(a,b){return'" ['+b+"]"});var r=q.replace(/\"_\$miss\$_([^\|]+)\|(\d+)_\$end\$_\"\: \"__missing__\"/g,function(a,b,c){return'"'+b+'" ['+c+"]: -- missing --"});for(r+="\n",e=0;c>e;++e)r+="\n["+(e+1)+"] "+this.details[e].message;return r+=""}},{"./language":11,hoek:16}],9:[function(a,b,c){var d=a("./any"),e=a("./errors"),f=a("hoek"),g={};g.Function=function(){d.call(this),this._type="func"},f.inherits(g.Function,d),g.Function.prototype._base=function(a,b,c){return{value:a,errors:"function"==typeof a?null:e.create("function.base",null,b,c)}},b.exports=new g.Function},{"./any":2,"./errors":8,hoek:16}],10:[function(a,b,c){var d=(a("hoek"),a("./any")),e=a("./cast"),f=a("./ref"),g={alternatives:a("./alternatives"),array:a("./array"),"boolean":a("./boolean"),binary:a("./binary"),date:a("./date"),func:a("./function"),number:a("./number"),object:a("./object"),string:a("./string")};g.root=function(){var a=new d,b=a.clone();return b.any=function(){return a},b.alternatives=b.alt=function(){return arguments.length?g.alternatives["try"].apply(g.alternatives,arguments):g.alternatives},b.array=function(){return g.array},b["boolean"]=b.bool=function(){return g["boolean"]},b.binary=function(){return g.binary},b.date=function(){return g.date},b.func=function(){return g.func},b.number=function(){return g.number},b.object=function(){return arguments.length?g.object.keys.apply(g.object,arguments):g.object},b.string=function(){return g.string},b.ref=function(){return f.create.apply(null,arguments)},b.isRef=function(a){return f.isRef(a)},b.validate=function(b){var c=arguments[arguments.length-1],d="function"==typeof c?c:null,f=arguments.length-(d?1:0);if(1===f)return a.validate(b,d);var g=3===f?arguments[2]:{},h=e.schema(arguments[1]);return h._validateWithOptions(b,g,d)},b.describe=function(){var b=arguments.length?e.schema(arguments[0]):a;return b.describe()},b.compile=function(a){return e.schema(a)},b.assert=function(a,c){var d=b.validate(a,c).error;if(d)throw new Error(d.annotate())},b},b.exports=g.root()},{"./alternatives":1,"./any":2,"./array":3,"./binary":4,"./boolean":5,"./cast":6,"./date":7,"./function":9,"./number":12,"./object":13,"./ref":14,"./string":15,hoek:16}],11:[function(a,b,c){c.errors={root:"value",any:{unknown:"is not allowed",invalid:"contains an invalid value",empty:"is not allowed to be empty",required:"is required",allowOnly:"must be one of {{valids}}"},alternatives:{base:"not matching any of the allowed alternatives"},array:{base:"must be an array",includes:"position {{pos}} does not match any of the allowed types",includesOne:"position {{pos}} fails because {{reason}}",excludes:"position {{pos}} contains an excluded value",min:"must contain at least {{limit}} items",max:"must contain less than or equal to {{limit}} items",length:"must contain {{limit}} items"},"boolean":{base:"must be a boolean"},binary:{base:"must be a buffer or a string",min:"must be at least {{limit}} bytes",max:"must be less than or equal to {{limit}} bytes",length:"must be {{limit}} bytes"},date:{base:"must be a number of milliseconds or valid date string",min:"must be larger than or equal to {{limit}}",max:"must be less than or equal to {{limit}}"},"function":{base:"must be a Function"},object:{base:"must be an object",min:"must have at least {{limit}} children",max:"must have less than or equal to {{limit}} children",length:"must have {{limit}} children",allowUnknown:"is not allowed","with":"missing required peer {{peer}}",without:"conflict with forbidden peer {{peer}}",missing:"must contain at least one of {{peers}}",xor:"contains a conflict between exclusive peers {{peers}}",or:"must contain at least one of {{peers}}",and:"contains {{present}} without its required peers {{missing}}",assert:"validation failed because {{ref}} failed to {{message}}",rename:{multiple:"cannot rename child {{from}} because multiple renames are disabled and another key was already renamed to {{to}}",override:"cannot rename child {{from}} because override is disabled and target {{to}} exists"}},number:{base:"must be a number",min:"must be larger than or equal to {{limit}}",max:"must be less than or equal to {{limit}}","float":"must be a float or double",integer:"must be an integer",negative:"must be a negative number",positive:"must be a positive number"},string:{base:"must be a string",min:"length must be at least {{limit}} characters long",max:"length must be less than or equal to {{limit}} characters long",length:"length must be {{limit}} characters long",alphanum:"must only contain alpha-numeric characters",token:"must only contain alpha-numeric and underscore characters",regex:"fails to match the required pattern",email:"must be a valid email",isoDate:"must be a valid ISO 8601 date",guid:"must be a valid GUID",hostname:"must be a valid hostname",lowercase:"must only contain lowercase characters",uppercase:"must only contain uppercase characters",trim:"must not have leading or trailing whitespace"}}},{}],12:[function(a,b,c){var d=a("./any"),e=a("./errors"),f=a("hoek"),g={};g.Number=function(){d.call(this),this._type="number"},f.inherits(g.Number,d),g.Number.prototype._base=function(a,b,c){var d={errors:null,value:a};if("string"==typeof a&&c.convert){var f=parseFloat(a);d.value=isNaN(f)||!isFinite(a)?NaN:f}return d.errors="number"!=typeof d.value||isNaN(d.value)?e.create("number.base",null,b,c):null,d},g.Number.prototype.min=function(a){return f.assert(f.isInteger(a),"limit must be an integer"),this._test("min",a,function(b,c,d){return b>=a?null:e.create("number.min",{limit:a},c,d)})},g.Number.prototype.max=function(a){return f.assert(f.isInteger(a),"limit must be an integer"),this._test("max",a,function(b,c,d){return a>=b?null:e.create("number.max",{limit:a},c,d)})},g.Number.prototype.integer=function(){return this._test("integer",void 0,function(a,b,c){ +return f.isInteger(a)?null:e.create("number.integer",null,b,c)})},g.Number.prototype.negative=function(){return this._test("negative",void 0,function(a,b,c){return 0>a?null:e.create("number.negative",null,b,c)})},g.Number.prototype.positive=function(){return this._test("positive",void 0,function(a,b,c){return a>0?null:e.create("number.positive",null,b,c)})},b.exports=new g.Number},{"./any":2,"./errors":8,hoek:16}],13:[function(a,b,c){var d=a("hoek"),e=a("topo"),f=a("./any"),g=a("./cast"),h=(a("./ref"),a("./errors")),i={};i.Object=function(){f.call(this),this._type="object",this._inner.children=null,this._inner.renames=[],this._inner.dependencies=[],this._inner.patterns=[]},d.inherits(i.Object,f),i.Object.prototype._base=function(a,b,c){var e=a,f=[],g=function(){return{value:e,errors:f.length?f:null}};if("string"==typeof a&&c.convert)try{a=JSON.parse(a)}catch(j){}if(!a||"object"!=typeof a||Array.isArray(a))return f.push(h.create("object.base",null,b,c)),g();if(e===a){e={},e.__proto__=Object.getPrototypeOf(a);for(var k=Object.keys(a),l=0,m=k.length;m>l;++l)e[k[l]]=a[k[l]]}else e=a;for(var n={},o=0,p=this._inner.renames.length;p>o;++o){var q=this._inner.renames[o];if(void 0!==e[q.from]){if(!q.options.multiple&&n[q.to]&&(f.push(h.create("object.rename.multiple",{from:q.from,to:q.to},b,c)),c.abortEarly))return g();if(e.hasOwnProperty(q.to)&&!q.options.override&&!n[q.to]&&(f.push(h.create("object.rename.override",{from:q.from,to:q.to},b,c)),c.abortEarly))return g();e[q.to]=e[q.from],n[q.to]=!0,q.options.alias||delete e[q.from]}}for(var r=0,s=this._inner.dependencies.length;s>r;++r){var t=this._inner.dependencies[r],j=i[t.type](null!==t.key&&a[t.key],t.peers,e,{key:t.key,path:(b.path?b.path+".":"")+t.key},c);if(j&&(f.push(j),c.abortEarly))return g()}if(!this._inner.children&&!this._inner.patterns.length)return g();var u,v=d.mapToObject(Object.keys(e));if(this._inner.children)for(var w=0,x=this._inner.children.length;x>w;++w){var y=this._inner.children[w],u=y.key,q=e[u];delete v[u];var z={key:u,path:(b.path?b.path+".":"")+u,parent:e,reference:b.reference},A=y.schema._validate(q,z,c);if(A.errors&&(f=f.concat(A.errors),c.abortEarly))return g();void 0!==A.value&&(e[u]=A.value)}var B=Object.keys(v);if(B.length&&this._inner.patterns.length){for(w=0,x=B.length;x>w;++w)for(var u=B[w],C=0,D=this._inner.patterns.length;D>C;++C){var E=this._inner.patterns[C];if(E.regex.test(u)){delete v[u];var q=e[u],z={key:u,path:(b.path?b.path+".":"")+u,parent:e,reference:b.reference},A=E.rule._validate(q,z,c);if(A.errors&&(f=f.concat(A.errors),c.abortEarly))return g();void 0!==A.value&&(e[u]=A.value)}}B=Object.keys(v)}if(B.length){if(c.stripUnknown||c.skipFunctions){for(var F=!1,G=0,H=B.length;H>G;++G)u=B[G],c.stripUnknown?delete e[u]:"function"==typeof e[u]&&(delete v[u],F=!0);if(c.stripUnknown)return g();F&&(B=Object.keys(v))}if(B.length&&(void 0!==this._flags.allowUnknown?!this._flags.allowUnknown:!c.allowUnknown))for(var I=0,J=B.length;J>I;++I)f.push(h.create("object.allowUnknown",null,{key:B[I],path:b.path},c))}return g()},i.Object.prototype.keys=function(a){d.assert(null===a||void 0===a||"object"==typeof a,"Object schema must be a valid object"),d.assert(!a||!a.isJoi,"Object schema cannot be a joi schema");var b=this.clone();if(!a)return b._inner.children=null,b;var c=Object.keys(a);if(!c.length)return b._inner.children=[],b;var f=new e;if(b._inner.children)for(var h=0,i=b._inner.children.length;i>h;++h){var j=b._inner.children[h];f.add(j,{after:j._refs,group:j.key})}for(var k=0,l=c.length;l>k;++k){var m=c[k],j=a[m],n=g.schema(j);f.add({key:m,schema:n},{after:n._refs,group:m})}return b._inner.children=f.nodes,b},i.Object.prototype.unknown=function(a){var b=this.clone();return b._flags.allowUnknown=a!==!1,b},i.Object.prototype.length=function(a){return d.assert(d.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("length",a,function(b,c,d){return Object.keys(b).length===a?null:h.create("object.length",{limit:a},c,d)})},i.Object.prototype.min=function(a){return d.assert(d.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("min",a,function(b,c,d){return Object.keys(b).length>=a?null:h.create("object.min",{limit:a},c,d)})},i.Object.prototype.max=function(a){return d.assert(d.isInteger(a)&&a>=0,"limit must be a positive integer"),this._test("max",a,function(b,c,d){return Object.keys(b).length<=a?null:h.create("object.max",{limit:a},c,d)})},i.Object.prototype.pattern=function(a,b){d.assert(a instanceof RegExp,"Invalid regular expression"),d.assert(void 0!==b,"Invalid rule");var c=this.clone();return c._inner.patterns.push({regex:a,rule:g.schema(b)}),c},i.Object.prototype["with"]=function(a,b){return this._dependency("with",a,b)},i.Object.prototype.without=function(a,b){return this._dependency("without",a,b)},i.Object.prototype.xor=function(){var a=d.flatten(Array.prototype.slice.call(arguments));return this._dependency("xor",null,a)},i.Object.prototype.or=function(){var a=d.flatten(Array.prototype.slice.call(arguments));return this._dependency("or",null,a)},i.Object.prototype.and=function(){var a=d.flatten(Array.prototype.slice.call(arguments));return this._dependency("and",null,a)},i.renameDefaults={alias:!1,multiple:!1,override:!1},i.Object.prototype.rename=function(a,b,c){d.assert("string"==typeof a,"Rename missing the from argument"),d.assert("string"==typeof b,"Rename missing the to argument"),d.assert(b!==a,"Cannot rename key to same name:",a);for(var e=0,f=this._inner.renames.length;f>e;++e)d.assert(this._inner.renames[e].from!==a,"Cannot rename the same key multiple times");var g=this.clone();return g._inner.renames.push({from:a,to:b,options:d.applyToDefaults(i.renameDefaults,c||{})}),g},i.Object.prototype._dependency=function(a,b,c){c=[].concat(c);for(var e=0,f=c.length;f>e;e++)d.assert("string"==typeof c[e],a,"peers must be a string or array of strings");var g=this.clone();return g._inner.dependencies.push({type:a,key:b,peers:c}),g},i["with"]=function(a,b,c,d,e){if(void 0===a)return null;for(var f=0,g=b.length;g>f;++f){var i=b[f];if(!c.hasOwnProperty(i)||void 0===c[i])return h.create("object.with",{peer:i},d,e)}return null},i.without=function(a,b,c,d,e){if(void 0===a)return null;for(var f=0,g=b.length;g>f;++f){var i=b[f];if(c.hasOwnProperty(i)&&void 0!==c[i])return h.create("object.without",{peer:i},d,e)}return null},i.xor=function(a,b,c,d,e){for(var f=[],g=0,i=b.length;i>g;++g){var j=b[g];c.hasOwnProperty(j)&&void 0!==c[j]&&f.push(j)}return 1===f.length?null:0===f.length?h.create("object.missing",{peers:b},d,e):h.create("object.xor",{peers:b},d,e)},i.or=function(a,b,c,d,e){for(var f=0,g=b.length;g>f;++f){var i=b[f];if(c.hasOwnProperty(i)&&void 0!==c[i])return null}return h.create("object.missing",{peers:b},d,e)},i.and=function(a,b,c,d,e){for(var f=[],g=[],i=b.length,j=0;i>j;++j){var k=b[j];c.hasOwnProperty(k)&&void 0!==c[k]?g.push(k):f.push(k)}var l=f.length===i||g.length===i;return l?null:h.create("object.and",{present:g,missing:f},d,e)},i.Object.prototype.describe=function(a){var b=f.prototype.describe.call(this);if(this._inner.children&&!a){b.children={};for(var c=0,e=this._inner.children.length;e>c;++c){var g=this._inner.children[c];b.children[g.key]=g.schema.describe()}}return this._inner.dependencies.length&&(b.dependencies=d.clone(this._inner.dependencies)),b},i.Object.prototype.assert=function(a,b,c){a=g.ref(a),d.assert(a.isContext||a.depth>1,"Cannot use assertions for root level references - use direct key rules instead");var e=g.schema(b);return this._test("assert",{cast:e,ref:a},function(b,d,f){var g=e._validate(a(b),null,f,b);return g.errors?h.create("object.assert",{ref:a.path.join("."),message:c},d,f):null})},b.exports=new i.Object},{"./any":2,"./cast":6,"./errors":8,"./ref":14,hoek:16,topo:21}],14:[function(a,b,c){var d=a("hoek");c.create=function(a,b){d.assert("string"==typeof a,"Invalid reference key:",a);var c=d.clone(b),e=function(a,b){return d.reach(e.isContext?b.context:a,e.key,c)};return e.isContext=a[0]===(c&&c.contextPrefix||"$"),e.key=e.isContext?a.slice(1):a,e.path=e.key.split(c&&c.separator||"."),e.depth=e.path.length,e.root=e.path[0],e.isJoi=!0,e.toString=function(){return(e.isContext?"context:":"ref:")+e.key},e},c.isRef=function(a){return"function"==typeof a&&a.isJoi},c.push=function(a,b){c.isRef(b)&&!b.isContext&&a.push(b.root)}},{hoek:16}],15:[function(a,b,c){(function(c){var d=a("net"),e=a("hoek"),f=a("isemail"),g=a("./any"),h=a("./errors"),i={};i.String=function(){g.call(this),this._type="string",this._invalids.add("")},e.inherits(i.String,g),i.String.prototype._base=function(a,b,c){return"string"==typeof a&&c.convert&&(this._flags["case"]&&(a="upper"===this._flags["case"]?a.toLocaleUpperCase():a.toLocaleLowerCase()),this._flags.trim&&(a=a.trim())),{value:a,errors:"string"==typeof a?null:h.create("string.base",null,b,c)}},i.String.prototype.insensitive=function(){var a=this.clone();return a._flags.insensitive=!0,a},i.String.prototype.min=function(a,b){return e.assert(e.isInteger(a)&&a>=0,"limit must be a positive integer"),e.assert(!b||c.isEncoding(b),"Invalid encoding:",b),this._test("min",a,function(d,e,f){var g=b?c.byteLength(d,b):d.length;return g>=a?null:h.create("string.min",{limit:a},e,f)})},i.String.prototype.max=function(a,b){return e.assert(e.isInteger(a)&&a>=0,"limit must be a positive integer"),e.assert(!b||c.isEncoding(b),"Invalid encoding:",b),this._test("max",a,function(d,e,f){var g=b?c.byteLength(d,b):d.length;return a>=g?null:h.create("string.max",{limit:a},e,f)})},i.String.prototype.length=function(a,b){return e.assert(e.isInteger(a)&&a>=0,"limit must be a positive integer"),e.assert(!b||c.isEncoding(b),"Invalid encoding:",b),this._test("length",a,function(d,e,f){var g=b?c.byteLength(d,b):d.length;return g===a?null:h.create("string.length",{limit:a},e,f)})},i.String.prototype.regex=function(a){return e.assert(a instanceof RegExp,"pattern must be a RegExp"),this._test("regex",a,function(b,c,d){return a.test(b)?null:h.create("string.regex",null,c,d)})},i.String.prototype.alphanum=function(){return this._test("alphanum",void 0,function(a,b,c){return/^[a-zA-Z0-9]+$/.test(a)?null:h.create("string.alphanum",null,b,c)})},i.String.prototype.token=function(){return this._test("token",void 0,function(a,b,c){return/^\w+$/.test(a)?null:h.create("string.token",null,b,c)})},i.String.prototype.email=function(){return this._test("email",void 0,function(a,b,c){return f(a)?null:h.create("string.email",null,b,c)})},i.String.prototype.isoDate=function(){var a=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/;return this._test("isoDate",void 0,function(b,c,d){return a.test(b)?null:h.create("string.isoDate",null,c,d)})},i.String.prototype.guid=function(){var a=/^[A-F0-9]{8}(?:-?[A-F0-9]{4}){3}-?[A-F0-9]{12}$/i,b=/^\{[A-F0-9]{8}(?:-?[A-F0-9]{4}){3}-?[A-F0-9]{12}\}$/i;return this._test("guid",void 0,function(c,d,e){return a.test(c)||b.test(c)?null:h.create("string.guid",null,d,e)})},i.String.prototype.hostname=function(){var a=/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/;return this._test("hostname",void 0,function(b,c,e){return b.length<=255&&a.test(b)||d.isIPv6(b)?null:h.create("string.hostname",null,c,e)})},i.String.prototype.lowercase=function(){var a=this._test("lowercase",void 0,function(a,b,c){return c.convert||a===a.toLocaleLowerCase()?null:h.create("string.lowercase",null,b,c)});return a._flags["case"]="lower",a},i.String.prototype.uppercase=function(a){var b=this._test("uppercase",void 0,function(a,b,c){return c.convert||a===a.toLocaleUpperCase()?null:h.create("string.uppercase",null,b,c)});return b._flags["case"]="upper",b},i.String.prototype.trim=function(){var a=this._test("trim",void 0,function(a,b,c){return c.convert||a===a.trim()?null:h.create("string.trim",null,b,c)});return a._flags.trim=!0,a},b.exports=new i.String}).call(this,a("buffer").Buffer)},{"./any":2,"./errors":8,buffer:24,hoek:16,isemail:19,net:23}],16:[function(a,b,c){b.exports=a("./lib")},{"./lib":18}],17:[function(a,b,c){(function(a){var b={};c.escapeJavaScript=function(a){if(!a)return"";for(var c="",d=0,e=a.length;e>d;++d){var f=a.charCodeAt(d);c+=b.isSafe(f)?a[d]:b.escapeJavaScriptChar(f)}return c},c.escapeHtml=function(a){if(!a)return"";for(var c="",d=0,e=a.length;e>d;++d){var f=a.charCodeAt(d);c+=b.isSafe(f)?a[d]:b.escapeHtmlChar(f)}return c},b.escapeJavaScriptChar=function(c){if(c>=256)return"\\u"+b.padLeft(""+c,4);var d=new a(String.fromCharCode(c),"ascii").toString("hex");return"\\x"+b.padLeft(d,2)},b.escapeHtmlChar=function(c){var d=b.namedHtml[c];if("undefined"!=typeof d)return d;if(c>=256)return"&#"+c+";";var e=new a(String.fromCharCode(c),"ascii").toString("hex");return"&#x"+b.padLeft(e,2)+";"},b.padLeft=function(a,b){for(;a.lengthb;++b)(b>=97||b>=65&&90>=b||b>=48&&57>=b||32===b||46===b||44===b||45===b||58===b||95===b)&&(a[b]=null);return a}()}).call(this,a("buffer").Buffer)},{buffer:24}],18:[function(a,b,c){(function(b,d){var e=a("path"),f=a("util"),g=a("./escape"),h={};c.clone=function(a,b){if("object"!=typeof a||null===a)return a;b=b||{orig:[],copy:[]};var e=b.orig.indexOf(a);if(-1!==e)return b.copy[e];var f,g=!1;if(Array.isArray(a))f=[],g=!0;else if(d.isBuffer(a))f=new d(a);else if(a instanceof Date)f=new Date(a.getTime());else if(a instanceof RegExp)f=new RegExp(a);else{var h=Object.getPrototypeOf(a);!h||h.isImmutable?f=a:(f={},f.__proto__=h,g=!0)}if(b.orig.push(a),b.copy.push(f),g)for(var i in a)a.hasOwnProperty(i)&&(f[i]=c.clone(a[i],b));return f},c.merge=function(a,b,e,f){if(c.assert(a&&"object"==typeof a,"Invalid target value: must be an object"),c.assert(null===b||void 0===b||"object"==typeof b,"Invalid source value: must be null, undefined, or an object"),!b)return a;if(Array.isArray(b)){c.assert(Array.isArray(a),"Cannot merge array onto an object"),f===!1&&(a.length=0);for(var g=0,h=b.length;h>g;++g)a.push(c.clone(b[g]));return a}for(var i=Object.keys(b),j=0,k=i.length;k>j;++j){var l=i[j],m=b[l];m&&"object"==typeof m?!a[l]||"object"!=typeof a[l]||Array.isArray(a[l])^Array.isArray(m)||m instanceof Date||d.isBuffer(m)||m instanceof RegExp?a[l]=c.clone(m):c.merge(a[l],m,e,f):null!==m&&void 0!==m?a[l]=m:e!==!1&&(a[l]=m)}return a},c.applyToDefaults=function(a,b){if(c.assert(a&&"object"==typeof a,"Invalid defaults value: must be an object"),c.assert(!b||b===!0||"object"==typeof b,"Invalid options value: must be true, falsy or an object"),!b)return null;var d=c.clone(a);return b===!0?d:c.merge(d,b,!1,!1)},c.cloneWithShallow=function(a,b){return a&&"object"==typeof a?h.shallow(a,b,function(){return c.clone(a)}):a},c.applyToDefaultsWithShallow=function(a,b,d){return h.shallow(b,d,function(){return c.applyToDefaults(a,b)})},h.shallow=function(a,b,c){for(var d={},e=0,f=b.length;f>e;++e){var g=b[e];a.hasOwnProperty(g)&&(d[g]=a[g],a[g]=void 0)}var h=c();for(e=0;f>e;++e){var g=b[e];d.hasOwnProperty(g)&&(a[g]=d[g],h[g]=d[g])}return h},c.unique=function(a,b){for(var c={},d=[],e=0,f=a.length;f>e;++e){var g=b?a[e][b]:a[e];c[g]!==!0&&(d.push(a[e]),c[g]=!0)}return d},c.mapToObject=function(a,b){if(!a)return null;for(var c={},d=0,e=a.length;e>d;++d)b?a[d][b]&&(c[a[d][b]]=!0):c[a[d]]=!0;return c},c.intersect=function(a,b,d){if(!a||!b)return[];for(var e=[],f=Array.isArray(a)?c.mapToObject(a):a,g={},h=0,i=b.length;i>h;++h)if(f[b[h]]&&!g[b[h]]){if(d)return b[h];e.push(b[h]),g[b[h]]=!0}return d?null:e},c.flatten=function(a,b){for(var d=b||[],e=0,f=a.length;f>e;++e)Array.isArray(a[e])?c.flatten(a[e],d):d.push(a[e]);return d},c.reach=function(a,b,d){d=d||{},"string"==typeof d&&(d={separator:d});for(var e=b.split(d.separator||"."),f=a,g=0,h=e.length;h>g;++g){if(!f||!f.hasOwnProperty(e[g])||"object"!=typeof f&&d.functions===!1){c.assert(!d.strict||g+1===h,"Missing segment",e[g],"in reach path ",b),c.assert("object"==typeof f||d.functions===!0||"function"!=typeof f,"Invalid segment",e[g],"in reach path ",b),f=d["default"]||void 0;break}f=f[e[g]]}return f},c.formatStack=function(a){for(var b=[],c=0,d=a.length;d>c;++c){var e=a[c];b.push([e.getFileName(),e.getLineNumber(),e.getColumnNumber(),e.getFunctionName(),e.isConstructor()])}return b},c.formatTrace=function(a){for(var b=[],c=0,d=a.length;d>c;++c){var e=a[c];b.push((e[4]?"new ":"")+e[3]+" ("+e[0]+":"+e[1]+":"+e[2]+")")}return b},c.callStack=function(a){var b=Error.prepareStackTrace;Error.prepareStackTrace=function(a,b){return b};var d={};Error.captureStackTrace(d,arguments.callee);var e=d.stack;Error.prepareStackTrace=b;var f=c.formatStack(e);return a?f.slice(a):f},c.displayStack=function(a){var b=c.callStack(void 0===a?1:a+1);return c.formatTrace(b)},c.abortThrow=!1,c.abort=function(a,d){if("test"===b.env.NODE_ENV||c.abortThrow===!0)throw new Error(a||"Unknown error");var e="";d||(e=c.displayStack(1).join("\n ")),console.log("ABORT: "+a+"\n "+e),b.exit(1)},c.assert=function(a){if(!a){for(var b=[],c=1,d=arguments.length;d>c;++c)b.push(arguments[c]);throw b=b.map(function(a){return"string"==typeof a?a:a instanceof Error?a.message:JSON.stringify(a)}),new Error(b.join(" ")||"Unknown error")}},c.Timer=function(){this.ts=0,this.reset()},c.Timer.prototype.reset=function(){this.ts=Date.now()},c.Timer.prototype.elapsed=function(){return Date.now()-this.ts},c.Bench=function(){this.ts=0,this.reset()},c.Bench.prototype.reset=function(){this.ts=c.Bench.now()},c.Bench.prototype.elapsed=function(){return c.Bench.now()-this.ts},c.Bench.now=function(){var a=b.hrtime();return 1e3*a[0]+a[1]/1e6},c.escapeRegex=function(a){return a.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")},c.base64urlEncode=function(a,b){var c=d.isBuffer(a)?a:new d(a,b||"binary");return c.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")},c.base64urlDecode=function(a,b){if(a&&!/^[\w\-]*$/.test(a))return new Error("Invalid character");try{var c=new d(a,"base64");return"buffer"===b?c:c.toString(b||"binary")}catch(e){return e}},c.escapeHeaderAttribute=function(a){return c.assert(/^[ \w\!#\$%&'\(\)\*\+,\-\.\/\:;<\=>\?@\[\]\^`\{\|\}~\"\\]*$/.test(a),"Bad attribute value ("+a+")"),a.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')},c.escapeHtml=function(a){return g.escapeHtml(a)},c.escapeJavaScript=function(a){return g.escapeJavaScript(a)},c.nextTick=function(a){return function(){var c=arguments;b.nextTick(function(){a.apply(null,c)})}},c.once=function(a){if(a._hoekOnce)return a;var b=!1,c=function(){b||(b=!0,a.apply(null,arguments))};return c._hoekOnce=!0,c},c.isAbsolutePath=function(a,c){return a?e.isAbsolute?e.isAbsolute(a):(c=c||b.platform,"win32"!==c?"/"===a[0]:!!/^(?:[a-zA-Z]:[\\\/])|(?:[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/])/.test(a)):!1},c.isInteger=function(a){return"number"==typeof a&&parseFloat(a)===parseInt(a,10)&&!isNaN(a)},c.ignore=function(){},c.inherits=f.inherits,c.transform=function(a,b,d){c.assert(null==a||"object"==typeof a,"Invalid source object: must be null, undefined, or an object");for(var e={},f=Object.keys(b),g=0,h=f.length;h>g;++g){var i=f[g],j=i.split("."),k=b[i];c.assert("string"==typeof k,'All mappings must be "." delineated strings');for(var l,m=e;j.length>1;)l=j.shift(),m[l]||(m[l]={}),m=m[l];l=j.shift(),m[l]=c.reach(a,k,d)}return e}}).call(this,a("_process"),a("buffer").Buffer)},{"./escape":17,_process:29,buffer:24,path:28,util:31}],19:[function(a,b,c){b.exports=a("./lib/isemail")},{"./lib/isemail":20}],20:[function(a,b,c){(function(c){function d(a){for(var b=-(1/0),c=0,d=a.length;d>c;c++)a[c]>b&&(b=a[c]);return b}function e(b,e,ta){function ua(){if(!Pa&&d(xa)=48&&57>=a&&xa.push(p)}for(var b={},c=0;ce&&(e=l),e=wa?e:ja>e,ta&&ta(e),e}"function"==typeof e&&(ta=e,e={}),e||(e={});var va,wa;"number"==typeof e.errorLevel?(wa=!0,va=e.errorLevel):(wa=!!e.errorLevel,va=l);var xa=[l],ya={now:ka,prev:ka,stack:[ka]},za="",Aa="",Ba=0,Ca={},Da={};Ca[ka]="",Ca[la]="",Da[ka]=[""],Da[la]=[""];for(var Ea=0,Fa=0,Ga=!1,Ha=!1,Ia=0,Ja=0;Ja64?xa.push(E):(ya.prev===na||ya.prev===oa)&&xa.push(B),ya.now=la,ya.stack=[la],Ea=0,Fa=0,Ha=!1;break;default:if(Ha)switch(ya.prev){case na:case oa:xa.push(T);break;case pa:xa.push(U);break;default:throw new Error("more atext found where none is allowed, but unrecognized prev context: "+ya.prev)}else ya.prev=ya.now,Ba=za.charCodeAt(0),(33>Ba||Ba>126||10===Ba||~ra.indexOf(za))&&xa.push(X),Ca[ka]+=za,Da[ka][Ea]+=za,Fa++}break;case la:switch(za){case"(":0===Fa?xa.push(0===Ea?B:z):(xa.push(t),Ha=!0),ya.stack.push(ya.now),ya.now=na;break;case".":0===Fa?xa.push(0===Ea?_:S):Ga?xa.push(ca):Fa>63&&xa.push(G),Ha=!1,Fa=0,Ea++,Da[la][Ea]="",Ca[la]+=za;break;case"[":0===Ca[la].length?(Ha=!0,Fa++,ya.stack.push(ya.now),ya.now=ma,Ca[la]+=za,Da[la][Ea]+=za,Ca[ma]=""):xa.push(X);break;case"\r":case" ":case" ":if("\r"===za&&(++Ja===b.length||"\n"!==b[Ja])){xa.push(ia);break}0===Fa?xa.push(0===Ea?B:w):(xa.push(u),Ha=!0),ya.stack.push(ya.now),ya.now=oa,Aa=za;break;default:if(Ha)switch(ya.prev){case na:case oa:xa.push(T);break;case ma:xa.push(V);break;default:throw new Error("more atext found where none is allowed, but unrecognized prev context: "+ya.prev)}Ba=za.charCodeAt(0),Ga=!1,33>Ba||Ba>126||~ra.indexOf(za)?xa.push(X):"-"===za?(0===Fa&&xa.push(ba),Ga=!0):Ba>47&&58>Ba||Ba>64&&91>Ba||Ba>96&&123>Ba||xa.push(C),Ca[la]+=za,Da[la][Ea]+=za,Fa++}break;case ma:switch(za){case"]":if(d(xa)La?xa.push(M):Ka.length===La&&xa.push(s)):Ka.length!==La&&xa.push(J),":"===Oa[0]&&":"!==Oa[1]?xa.push(N):":"===Oa[Oa.length-1]&&":"!==Oa[Oa.length-2]?xa.push(O):Ka.every(g)?xa.push(r):xa.push(L)}}else xa.push(H);Ca[la]+=za,Da[la][Ea]+=za,Fa++,ya.prev=ya.now,ya.now=ya.stack.pop();break;case"\\":xa.push(I),ya.stack.push(ya.now),ya.now=qa;break;case"\r":case" ":case" ":if("\r"===za&&(++Ja===b.length||"\n"!==b[Ja])){xa.push(ia);break}xa.push(u),ya.stack.push(ya.now),ya.now=oa,Aa=za;break;default:if(Ba=za.charCodeAt(0),Ba>127||0===Ba||"["===za){xa.push(P);break}(33>Ba||127===Ba)&&xa.push(I),Ca[ma]+=za,Ca[la]+=za,Da[la][Ea]+=za,Fa++}break;case pa:switch(za){case"\\":ya.stack.push(ya.now),ya.now=qa;break;case"\r":case" ":if("\r"===za&&(++Ja===b.length||"\n"!==b[Ja])){xa.push(ia);break}Ca[ka]+=" ",Da[ka][Ea]+=" ",Fa++,xa.push(u),ya.stack.push(ya.now),ya.now=oa,Aa=za;break;case'"':Ca[ka]+=za,Da[ka][Ea]+=za,Fa++,ya.prev=ya.now,ya.now=ya.stack.pop();break;default:Ba=za.charCodeAt(0),Ba>127||0===Ba||10===Ba?xa.push(Y):(32>Ba||127===Ba)&&xa.push(x),Ca[ka]+=za,Da[ka][Ea]+=za,Fa++}break;case qa:switch(Ba=za.charCodeAt(0),Ba>127?xa.push(W):(31>Ba&&9!==Ba||127===Ba)&&xa.push(y),ya.prev=ya.now,ya.now=ya.stack.pop(),za="\\"+za,ya.now){case na:break;case pa:Ca[ka]+=za,Da[ka][Ea]+=za,Fa+=2;break;case ma:Ca[la]+=za,Da[la][Ea]+=za,Fa+=2;break;default:throw new Error("quoted pair logic invoked in an invalid context: "+ya.now)}break;case na:switch(za){case"(":ya.stack.push(ya.now),ya.now=na;break;case")":ya.prev=ya.now,ya.now=ya.stack.pop();break;case"\\":ya.stack.push(ya.now),ya.now=qa;break;case"\r":case" ":case" ":if("\r"===za&&(++Ja===b.length||"\n"!==b[Ja])){xa.push(ia);break}xa.push(u),ya.stack.push(ya.now),ya.now=oa,Aa=za;break;default:if(Ba=za.charCodeAt(0),Ba>127||0===Ba||10===Ba){xa.push(Z);break}(32>Ba||127===Ba)&&xa.push(A)}break;case oa:if("\r"===Aa){if("\r"===za){xa.push(ga);break}++Ia>1?xa.push(w):Ia=1}switch(za){case"\r":(++Ja===b.length||"\n"!==b[Ja])&&xa.push(ia);break;case" ":case" ":break;default:"\r"===Aa&&xa.push(ha),Ia=0,ya.prev=ya.now,ya.now=ya.stack.pop(),Ja--}Aa=za;break;default:throw new Error("unknown context: "+ya.now)}if(d(xa)>k)break}d(xa)255?xa.push(F):Ca[ka].length+Ca[la].length+1>254?xa.push(D):Fa>63&&xa.push(G));var Pa=!1;if(e.checkDNS&&d(xa)[]:;@\\,."',sa=/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ta=/^[a-fA-F\d]{0,4}$/;window.hasOwnProperty("TEST_BUILD")||(g=ta.test.bind(ta)),b.exports=e}).call(this,a("_process"))},{_process:29,dns:23}],21:[function(a,b,c){arguments[4][16][0].apply(c,arguments)},{"./lib":22}],22:[function(a,b,c){var d=a("hoek"),e={};c=b.exports=e.Topo=function(){this._items=[],this.nodes=[]},e.Topo.prototype.add=function(a,b){var c=this;b=b||{};var e=[].concat(b.before||[]),f=[].concat(b.after||[]),g=b.group||"?";d.assert(-1===e.indexOf(g),"Item cannot come before itself:",g),d.assert(-1===e.indexOf("?"),"Item cannot come before unassociated items"),d.assert(-1===f.indexOf(g),"Item cannot come after itself:",g),d.assert(-1===f.indexOf("?"),"Item cannot come after unassociated items"),[].concat(a).forEach(function(a,b){var d={seq:c._items.length,before:e,after:f,group:g,node:a};c._items.push(d)});var h=this._sort();return d.assert(!h,"item","?"!==g?"added into group "+g:"","created a dependencies error"),this.nodes},e.Topo.prototype._sort=function(){for(var a={},b={},c={},d=0,e=this._items.length;e>d;++d){var f=this._items[d],g=f.seq,h=f.group;a[h]=a[h]||[],a[h].push(g),b[g]=[f.before];for(var i=f.after,j=0,k=i.length;k>j;++j)c[i[j]]=(c[i[j]]||[]).concat(g)}var l=Object.keys(b);for(d=0,e=l.length;e>d;++d){var m=l[d],n=[],o=Object.keys(b[m]);for(j=0,k=o.length;k>j;++j){var h=b[m][o[j]];a[h]=a[h]||[],a[h].forEach(function(a){n.push(a)})}b[m]=n}var p=Object.keys(c);for(d=0,e=p.length;e>d;++d){var h=p[d];if(a[h])for(j=0,k=a[h].length;k>j;++j){var m=a[h][j];b[m]=b[m].concat(c[h])}}var q={};for(l=Object.keys(b),d=0,e=l.length;e>d;++d){var m=l[d],r=b[m];for(j=0,k=r.length;k>j;++j)q[r[j]]=(q[r[j]]||[]).concat(m)}var s={},t=[];for(d=0,e=this._items.length;e>d;++d){var u=d;if(q[d])for(u=null,j=0,k=this._items.length;k>j;++j)if(s[j]!==!0){q[j]||(q[j]=[]);for(var v=q[j].length,w=0,x=0,y=v;y>x;++x)t.indexOf(q[j][x])>=0&&++w;if(w===v){u=j;break}}null!==u&&(u=u.toString(),s[u]=!0,t.push(u))}if(t.length!==this._items.length)return new Error("Invalid dependencies");var z={};this._items.forEach(function(a){z[a.seq]=a});var A=[];this._items=t.map(function(a){var b=z[a];return A.push(b.node),b}),this.nodes=A}},{hoek:16}],23:[function(a,b,c){},{}],24:[function(a,b,c){function d(a,b,c){if(!(this instanceof d))return new d(a,b,c);var e,f=typeof a;if("number"===f)e=a>0?a>>>0:0;else if("string"===f)"base64"===b&&(a=C(a)),e=d.byteLength(a,b);else{if("object"!==f||null===a)throw new Error("First argument needs to be a number, array or string.");"Buffer"===a.type&&E(a.data)&&(a=a.data),e=+a.length>0?Math.floor(+a.length):0}var g;T?g=d._augment(new Uint8Array(e)):(g=this,g.length=e,g._isBuffer=!0);var h;if(T&&"number"==typeof a.byteLength)g._set(a);else if(F(a))if(d.isBuffer(a))for(h=0;e>h;h++)g[h]=a.readUInt8(h);else for(h=0;e>h;h++)g[h]=(a[h]%256+256)%256;else if("string"===f)g.write(a,0,b);else if("number"===f&&!T&&!c)for(h=0;e>h;h++)g[h]=0;return g}function e(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;var f=b.length;Q(f%2===0,"Invalid hex string"),d>f/2&&(d=f/2);for(var g=0;d>g;g++){var h=parseInt(b.substr(2*g,2),16);Q(!isNaN(h),"Invalid hex string"),a[c+g]=h}return g}function f(a,b,c,d){var e=L(H(b),a,c,d);return e}function g(a,b,c,d){var e=L(I(b),a,c,d);return e}function h(a,b,c,d){return g(a,b,c,d)}function i(a,b,c,d){var e=L(K(b),a,c,d);return e}function j(a,b,c,d){var e=L(J(b),a,c,d);return e}function k(a,b,c){return 0===b&&c===a.length?R.fromByteArray(a):R.fromByteArray(a.slice(b,c))}function l(a,b,c){var d="",e="";c=Math.min(a.length,c);for(var f=b;c>f;f++)a[f]<=127?(d+=M(e)+String.fromCharCode(a[f]),e=""):e+="%"+a[f].toString(16);return d+M(e)}function m(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;c>e;e++)d+=String.fromCharCode(a[e]);return d}function n(a,b,c){return m(a,b,c)}function o(a,b,c){var d=a.length;(!b||0>b)&&(b=0),(!c||0>c||c>d)&&(c=d);for(var e="",f=b;c>f;f++)e+=G(a[f]);return e}function p(a,b,c){for(var d=a.slice(b,c),e="",f=0;f=e)){var f;return c?(f=a[b],e>b+1&&(f|=a[b+1]<<8)):(f=a[b]<<8,e>b+1&&(f|=a[b+1])),f}}function r(a,b,c,d){d||(Q("boolean"==typeof c,"missing or invalid endian"),Q(void 0!==b&&null!==b,"missing offset"),Q(b+3=e)){var f;return c?(e>b+2&&(f=a[b+2]<<16),e>b+1&&(f|=a[b+1]<<8),f|=a[b],e>b+3&&(f+=a[b+3]<<24>>>0)):(e>b+1&&(f=a[b+1]<<16),e>b+2&&(f|=a[b+2]<<8),e>b+3&&(f|=a[b+3]),f+=a[b]<<24>>>0),f}}function s(a,b,c,d){d||(Q("boolean"==typeof c,"missing or invalid endian"),Q(void 0!==b&&null!==b,"missing offset"),Q(b+1=e)){var f=q(a,b,c,!0),g=32768&f;return g?-1*(65535-f+1):f}}function t(a,b,c,d){d||(Q("boolean"==typeof c,"missing or invalid endian"),Q(void 0!==b&&null!==b,"missing offset"),Q(b+3=e)){var f=r(a,b,c,!0),g=2147483648&f;return g?-1*(4294967295-f+1):f}}function u(a,b,c,d){return d||(Q("boolean"==typeof c,"missing or invalid endian"),Q(b+3=f)){for(var g=0,h=Math.min(f-c,2);h>g;g++)a[c+g]=(b&255<<8*(d?g:1-g))>>>8*(d?g:1-g); +return c+2}}function x(a,b,c,d,e){e||(Q(void 0!==b&&null!==b,"missing value"),Q("boolean"==typeof d,"missing or invalid endian"),Q(void 0!==c&&null!==c,"missing offset"),Q(c+3=f)){for(var g=0,h=Math.min(f-c,4);h>g;g++)a[c+g]=b>>>8*(d?g:3-g)&255;return c+4}}function y(a,b,c,d,e){e||(Q(void 0!==b&&null!==b,"missing value"),Q("boolean"==typeof d,"missing or invalid endian"),Q(void 0!==c&&null!==c,"missing offset"),Q(c+1=f))return b>=0?w(a,b,c,d,e):w(a,65535+b+1,c,d,e),c+2}function z(a,b,c,d,e){e||(Q(void 0!==b&&null!==b,"missing value"),Q("boolean"==typeof d,"missing or invalid endian"),Q(void 0!==c&&null!==c,"missing offset"),Q(c+3=f))return b>=0?x(a,b,c,d,e):x(a,4294967295+b+1,c,d,e),c+4}function A(a,b,c,d,e){e||(Q(void 0!==b&&null!==b,"missing value"),Q("boolean"==typeof d,"missing or invalid endian"),Q(void 0!==c&&null!==c,"missing offset"),Q(c+3=f))return S.write(a,b,c,d,23,4),c+4}function B(a,b,c,d,e){e||(Q(void 0!==b&&null!==b,"missing value"),Q("boolean"==typeof d,"missing or invalid endian"),Q(void 0!==c&&null!==c,"missing offset"),Q(c+7=f))return S.write(a,b,c,d,52,8),c+8}function C(a){for(a=D(a).replace(V,"");a.length%4!==0;)a+="=";return a}function D(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function E(a){return(Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)})(a)}function F(a){return E(a)||d.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length}function G(a){return 16>a?"0"+a.toString(16):a.toString(16)}function H(a){for(var b=[],c=0;c=d)b.push(d);else{var e=c;d>=55296&&57343>=d&&c++;for(var f=encodeURIComponent(a.slice(e,c+1)).substr(1).split("%"),g=0;g>8,d=b%256,e.push(d),e.push(c);return e}function K(a){return R.toByteArray(a)}function L(a,b,c,d){for(var e=0;d>e&&!(e+c>=b.length||e>=a.length);e++)b[e+c]=a[e];return e}function M(a){try{return decodeURIComponent(a)}catch(b){return String.fromCharCode(65533)}}function N(a,b){Q("number"==typeof a,"cannot write a non-number as a number"),Q(a>=0,"specified a negative value for writing an unsigned value"),Q(b>=a,"value is larger than maximum value for type"),Q(Math.floor(a)===a,"value has a fractional component")}function O(a,b,c){Q("number"==typeof a,"cannot write a non-number as a number"),Q(b>=a,"value larger than maximum allowed value"),Q(a>=c,"value smaller than minimum allowed value"),Q(Math.floor(a)===a,"value has a fractional component")}function P(a,b,c){Q("number"==typeof a,"cannot write a non-number as a number"),Q(b>=a,"value larger than maximum allowed value"),Q(a>=c,"value smaller than minimum allowed value")}function Q(a,b){if(!a)throw new Error(b||"Failed assertion")}var R=a("base64-js"),S=a("ieee754");c.Buffer=d,c.SlowBuffer=d,c.INSPECT_MAX_BYTES=50,d.poolSize=8192;var T=function(){try{var a=new ArrayBuffer(0),b=new Uint8Array(a);return b.foo=function(){return 42},42===b.foo()&&"function"==typeof b.subarray&&0===new Uint8Array(1).subarray(1,1).byteLength}catch(c){return!1}}();d.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.isBuffer=function(a){return!(null==a||!a._isBuffer)},d.byteLength=function(a,b){var c;switch(a=a.toString(),b||"utf8"){case"hex":c=a.length/2;break;case"utf8":case"utf-8":c=H(a).length;break;case"ascii":case"binary":case"raw":c=a.length;break;case"base64":c=K(a).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":c=2*a.length;break;default:throw new Error("Unknown encoding")}return c},d.concat=function(a,b){if(Q(E(a),"Usage: Buffer.concat(list[, length])"),0===a.length)return new d(0);if(1===a.length)return a[0];var c;if(void 0===b)for(b=0,c=0;cf&&a[f]===b[f];f++);return f!==g&&(c=a[f],e=b[f]),e>c?-1:c>e?1:0},d.prototype.write=function(a,b,c,d){if(isFinite(b))isFinite(c)||(d=c,c=void 0);else{var k=d;d=b,b=c,c=k}b=Number(b)||0;var l=this.length-b;c?(c=Number(c),c>l&&(c=l)):c=l,d=String(d||"utf8").toLowerCase();var m;switch(d){case"hex":m=e(this,a,b,c);break;case"utf8":case"utf-8":m=f(this,a,b,c);break;case"ascii":m=g(this,a,b,c);break;case"binary":m=h(this,a,b,c);break;case"base64":m=i(this,a,b,c);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":m=j(this,a,b,c);break;default:throw new Error("Unknown encoding")}return m},d.prototype.toString=function(a,b,c){var d=this;if(a=String(a||"utf8").toLowerCase(),b=Number(b)||0,c=void 0===c?d.length:Number(c),c===b)return"";var e;switch(a){case"hex":e=o(d,b,c);break;case"utf8":case"utf-8":e=l(d,b,c);break;case"ascii":e=m(d,b,c);break;case"binary":e=n(d,b,c);break;case"base64":e=k(d,b,c);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":e=p(d,b,c);break;default:throw new Error("Unknown encoding")}return e},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},d.prototype.equals=function(a){return Q(d.isBuffer(a),"Argument must be a Buffer"),0===d.compare(this,a)},d.prototype.compare=function(a){return Q(d.isBuffer(a),"Argument must be a Buffer"),d.compare(this,a)},d.prototype.copy=function(a,b,c,d){var e=this;if(c||(c=0),d||0===d||(d=this.length),b||(b=0),d!==c&&0!==a.length&&0!==e.length){Q(d>=c,"sourceEnd < sourceStart"),Q(b>=0&&b=0&&c=0&&d<=e.length,"sourceEnd out of bounds"),d>this.length&&(d=this.length),a.length-bf||!T)for(var g=0;f>g;g++)a[g+b]=this[g+c];else a._set(this.subarray(c,c+f),b)}},d.prototype.slice=function(a,b){var c=this.length;if(a=~~a,b=void 0===b?c:~~b,0>a?(a+=c,0>a&&(a=0)):a>c&&(a=c),0>b?(b+=c,0>b&&(b=0)):b>c&&(b=c),a>b&&(b=a),T)return d._augment(this.subarray(a,b));for(var e=b-a,f=new d(e,void 0,!0),g=0;e>g;g++)f[g]=this[g+a];return f},d.prototype.get=function(a){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(a)},d.prototype.set=function(a,b){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(a,b)},d.prototype.readUInt8=function(a,b){return b||(Q(void 0!==a&&null!==a,"missing offset"),Q(a=this.length?void 0:this[a]},d.prototype.readUInt16LE=function(a,b){return q(this,a,!0,b)},d.prototype.readUInt16BE=function(a,b){return q(this,a,!1,b)},d.prototype.readUInt32LE=function(a,b){return r(this,a,!0,b)},d.prototype.readUInt32BE=function(a,b){return r(this,a,!1,b)},d.prototype.readInt8=function(a,b){if(b||(Q(void 0!==a&&null!==a,"missing offset"),Q(a=this.length)){var c=128&this[a];return c?-1*(255-this[a]+1):this[a]}},d.prototype.readInt16LE=function(a,b){return s(this,a,!0,b)},d.prototype.readInt16BE=function(a,b){return s(this,a,!1,b)},d.prototype.readInt32LE=function(a,b){return t(this,a,!0,b)},d.prototype.readInt32BE=function(a,b){return t(this,a,!1,b)},d.prototype.readFloatLE=function(a,b){return u(this,a,!0,b)},d.prototype.readFloatBE=function(a,b){return u(this,a,!1,b)},d.prototype.readDoubleLE=function(a,b){return v(this,a,!0,b)},d.prototype.readDoubleBE=function(a,b){return v(this,a,!1,b)},d.prototype.writeUInt8=function(a,b,c){return c||(Q(void 0!==a&&null!==a,"missing value"),Q(void 0!==b&&null!==b,"missing offset"),Q(b=this.length?void 0:(this[b]=a,b+1)},d.prototype.writeUInt16LE=function(a,b,c){return w(this,a,b,!0,c)},d.prototype.writeUInt16BE=function(a,b,c){return w(this,a,b,!1,c)},d.prototype.writeUInt32LE=function(a,b,c){return x(this,a,b,!0,c)},d.prototype.writeUInt32BE=function(a,b,c){return x(this,a,b,!1,c)},d.prototype.writeInt8=function(a,b,c){return c||(Q(void 0!==a&&null!==a,"missing value"),Q(void 0!==b&&null!==b,"missing offset"),Q(b=this.length?void 0:(a>=0?this.writeUInt8(a,b,c):this.writeUInt8(255+a+1,b,c),b+1)},d.prototype.writeInt16LE=function(a,b,c){return y(this,a,b,!0,c)},d.prototype.writeInt16BE=function(a,b,c){return y(this,a,b,!1,c)},d.prototype.writeInt32LE=function(a,b,c){return z(this,a,b,!0,c)},d.prototype.writeInt32BE=function(a,b,c){return z(this,a,b,!1,c)},d.prototype.writeFloatLE=function(a,b,c){return A(this,a,b,!0,c)},d.prototype.writeFloatBE=function(a,b,c){return A(this,a,b,!1,c)},d.prototype.writeDoubleLE=function(a,b,c){return B(this,a,b,!0,c)},d.prototype.writeDoubleBE=function(a,b,c){return B(this,a,b,!1,c)},d.prototype.fill=function(a,b,c){if(a||(a=0),b||(b=0),c||(c=this.length),Q(c>=b,"end < start"),c!==b&&0!==this.length){Q(b>=0&&b=0&&c<=this.length,"end out of bounds");var d;if("number"==typeof a)for(d=b;c>d;d++)this[d]=a;else{var e=H(a.toString()),f=e.length;for(d=b;c>d;d++)this[d]=e[d%f]}return this}},d.prototype.inspect=function(){for(var a=[],b=this.length,d=0;b>d;d++)if(a[d]=G(this[d]),d===c.INSPECT_MAX_BYTES){a[d+1]="...";break}return""},d.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(T)return new d(this).buffer;for(var a=new Uint8Array(this.length),b=0,c=a.length;c>b;b+=1)a[b]=this[b];return a.buffer}throw new Error("Buffer.toArrayBuffer not supported in this browser")};var U=d.prototype;d._augment=function(a){return a._isBuffer=!0,a._get=a.get,a._set=a.set,a.get=U.get,a.set=U.set,a.write=U.write,a.toString=U.toString,a.toLocaleString=U.toString,a.toJSON=U.toJSON,a.equals=U.equals,a.compare=U.compare,a.copy=U.copy,a.slice=U.slice,a.readUInt8=U.readUInt8,a.readUInt16LE=U.readUInt16LE,a.readUInt16BE=U.readUInt16BE,a.readUInt32LE=U.readUInt32LE,a.readUInt32BE=U.readUInt32BE,a.readInt8=U.readInt8,a.readInt16LE=U.readInt16LE,a.readInt16BE=U.readInt16BE,a.readInt32LE=U.readInt32LE,a.readInt32BE=U.readInt32BE,a.readFloatLE=U.readFloatLE,a.readFloatBE=U.readFloatBE,a.readDoubleLE=U.readDoubleLE,a.readDoubleBE=U.readDoubleBE,a.writeUInt8=U.writeUInt8,a.writeUInt16LE=U.writeUInt16LE,a.writeUInt16BE=U.writeUInt16BE,a.writeUInt32LE=U.writeUInt32LE,a.writeUInt32BE=U.writeUInt32BE,a.writeInt8=U.writeInt8,a.writeInt16LE=U.writeInt16LE,a.writeInt16BE=U.writeInt16BE,a.writeInt32LE=U.writeInt32LE,a.writeInt32BE=U.writeInt32BE,a.writeFloatLE=U.writeFloatLE,a.writeFloatBE=U.writeFloatBE,a.writeDoubleLE=U.writeDoubleLE,a.writeDoubleBE=U.writeDoubleBE,a.fill=U.fill,a.inspect=U.inspect,a.toArrayBuffer=U.toArrayBuffer,a};var V=/[^+\/0-9A-z]/g},{"base64-js":25,ieee754:26}],25:[function(a,b,c){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(a){"use strict";function b(a){var b=a.charCodeAt(0);return b===g?62:b===h?63:i>b?-1:i+10>b?b-i+26+26:k+26>b?b-k:j+26>b?b-j+26:void 0}function c(a){function c(a){j[l++]=a}var d,e,g,h,i,j;if(a.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var k=a.length;i="="===a.charAt(k-2)?2:"="===a.charAt(k-1)?1:0,j=new f(3*a.length/4-i),g=i>0?a.length-4:a.length;var l=0;for(d=0,e=0;g>d;d+=4,e+=3)h=b(a.charAt(d))<<18|b(a.charAt(d+1))<<12|b(a.charAt(d+2))<<6|b(a.charAt(d+3)),c((16711680&h)>>16),c((65280&h)>>8),c(255&h);return 2===i?(h=b(a.charAt(d))<<2|b(a.charAt(d+1))>>4,c(255&h)):1===i&&(h=b(a.charAt(d))<<10|b(a.charAt(d+1))<<4|b(a.charAt(d+2))>>2,c(h>>8&255),c(255&h)),j}function e(a){function b(a){return d.charAt(a)}function c(a){return b(a>>18&63)+b(a>>12&63)+b(a>>6&63)+b(63&a)}var e,f,g,h=a.length%3,i="";for(e=0,g=a.length-h;g>e;e+=3)f=(a[e]<<16)+(a[e+1]<<8)+a[e+2],i+=c(f);switch(h){case 1:f=a[a.length-1],i+=b(f>>2),i+=b(f<<4&63),i+="==";break;case 2:f=(a[a.length-2]<<8)+a[a.length-1],i+=b(f>>10),i+=b(f>>4&63),i+=b(f<<2&63),i+="="}return i}var f="undefined"!=typeof Uint8Array?Uint8Array:Array,g="+".charCodeAt(0),h="/".charCodeAt(0),i="0".charCodeAt(0),j="a".charCodeAt(0),k="A".charCodeAt(0);a.toByteArray=c,a.fromByteArray=e}("undefined"==typeof c?this.base64js={}:c)},{}],26:[function(a,b,c){c.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?NaN:(n?-1:1)*(1/0);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=0>b||0===b&&0>1/b?1:0;for(b=Math.abs(b),isNaN(b)||b===1/0?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],27:[function(a,b,c){"function"==typeof Object.create?b.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:b.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],28:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a,b){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("_process"))},{_process:29}],29:[function(a,b,c){function d(){}var e=b.exports={};e.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=d,e.addListener=d,e.once=d,e.off=d,e.removeListener=d,e.removeAllListeners=d,e.emit=d,e.binding=function(a){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(a){throw new Error("process.chdir is not supported")}},{}],30:[function(a,b,c){b.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},{}],31:[function(a,b,c){(function(b,d){function e(a,b){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(b)?d.showHidden=b:b&&c._extend(d,b),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"["+e.colors[c][0]+"m"+a+"["+e.colors[c][1]+"m":a}function g(a,b){return a}function h(a){var b={};return a.forEach(function(a,c){b[a]=!0}),b}function i(a,b,d){if(a.customInspect&&b&&A(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,b);if(f)return f;var g=Object.keys(b),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(b)),z(b)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(b);if(0===g.length){if(A(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(w(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(y(b))return a.stylize(Date.prototype.toString.call(b),"date");if(z(b))return k(b)}var r="",s=!1,u=["{","}"];if(o(b)&&(s=!0,u=["[","]"]),A(b)){var v=b.name?": "+b.name:"";r=" [Function"+v+"]"}if(w(b)&&(r=" "+RegExp.prototype.toString.call(b)),y(b)&&(r=" "+Date.prototype.toUTCString.call(b)),z(b)&&(r=" "+k(b)),0===g.length&&(!s||0==b.length))return u[0]+r+u[1];if(0>d)return w(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var x;return x=s?l(a,b,d,p,g):g.map(function(c){return m(a,b,d,p,c,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)F(b,String(g))?f.push(m(a,b,c,d,String(g),!0)):f.push("");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return" "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),J[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=/%[sdj%]/g;c.format=function(a){if(!t(a)){for(var b=[],c=0;c=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];f>c;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},c.deprecate=function(a,e){function f(){if(!g){if(b.throwDeprecation)throw new Error(e);b.traceDeprecation?console.trace(e):console.error(e),g=!0}return a.apply(this,arguments)}if(v(d.process))return function(){return c.deprecate(a,e).apply(this,arguments)};if(b.noDeprecation===!0)return a;var g=!1;return f};var H,I={};c.debuglog=function(a){if(v(H)&&(H=b.env.NODE_DEBUG||""),a=a.toUpperCase(),!I[a])if(new RegExp("\\b"+a+"\\b","i").test(H)){var d=b.pid;I[a]=function(){var b=c.format.apply(c,arguments);console.error("%s %d: %s",a,d,b)}}else I[a]=function(){};return I[a]},c.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=o,c.isBoolean=p,c.isNull=q,c.isNullOrUndefined=r,c.isNumber=s,c.isString=t,c.isSymbol=u,c.isUndefined=v,c.isRegExp=w,c.isObject=x,c.isDate=y,c.isError=z,c.isFunction=A,c.isPrimitive=B,c.isBuffer=a("./support/isBuffer");var J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(){console.log("%s - %s",E(),c.format.apply(c,arguments))},c.inherits=a("inherits"),c._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":30,_process:29,inherits:27}],joi:[function(a,b,c){arguments[4][16][0].apply(c,arguments)},{"./lib":10}]},{},[])("joi")});var CryptoJS=CryptoJS||function(a,b){var c={},d=c.lib={},e=function(){},f=d.Base={extend:function(a){e.prototype=this;var b=new e;return a&&b.mixIn(a),b.hasOwnProperty("init")||(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},g=d.WordArray=f.extend({init:function(a,c){a=this.words=a||[],this.sigBytes=c!=b?c:4*a.length},toString:function(a){return(a||i).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes;if(a=a.sigBytes,this.clamp(),d%4)for(var e=0;a>e;e++)b[d+e>>>2]|=(c[e>>>2]>>>24-8*(e%4)&255)<<24-8*((d+e)%4);else if(65535e;e+=4)b[d+e>>>2]=c[e>>>2];else b.push.apply(b,c);return this.sigBytes+=a,this},clamp:function(){var b=this.words,c=this.sigBytes;b[c>>>2]&=4294967295<<32-8*(c%4),b.length=a.ceil(c/4)},clone:function(){var a=f.clone.call(this);return a.words=this.words.slice(0),a},random:function(b){for(var c=[],d=0;b>d;d+=4)c.push(4294967296*a.random()|0);return new g.init(c,b)}}),h=c.enc={},i=h.Hex={stringify:function(a){var b=a.words;a=a.sigBytes;for(var c=[],d=0;a>d;d++){var e=b[d>>>2]>>>24-8*(d%4)&255;c.push((e>>>4).toString(16)),c.push((15&e).toString(16))}return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;b>d;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-4*(d%8);return new g.init(c,b/2)}},j=h.Latin1={stringify:function(a){var b=a.words;a=a.sigBytes;for(var c=[],d=0;a>d;d++)c.push(String.fromCharCode(b[d>>>2]>>>24-8*(d%4)&255));return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;b>d;d++)c[d>>>2]|=(255&a.charCodeAt(d))<<24-8*(d%4);return new g.init(c,b)}},k=h.Utf8={stringify:function(a){try{return decodeURIComponent(escape(j.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data")}},parse:function(a){return j.parse(unescape(encodeURIComponent(a)))}},l=d.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new g.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=k.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(b){var c=this._data,d=c.words,e=c.sigBytes,f=this.blockSize,h=e/(4*f),h=b?a.ceil(h):a.max((0|h)-this._minBufferSize,0);if(b=h*f,e=a.min(4*b,e),b){for(var i=0;b>i;i+=f)this._doProcessBlock(d,i);i=d.splice(0,b),c.sigBytes-=e}return new g.init(i,e)},clone:function(){var a=f.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0});d.Hasher=l.extend({cfg:f.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){return a&&this._append(a),this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,c){return new a.init(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return new m.HMAC.init(a,c).finalize(b)}}});var m=c.algo={};return c}(Math);!function(a){function b(a,b,c,d,e,f,g){return a=a+(b&c|~b&d)+e+g,(a<>>32-f)+b}function c(a,b,c,d,e,f,g){return a=a+(b&d|c&~d)+e+g,(a<>>32-f)+b}function d(a,b,c,d,e,f,g){return a=a+(b^c^d)+e+g,(a<>>32-f)+b}function e(a,b,c,d,e,f,g){return a=a+(c^(b|~d))+e+g,(a<>>32-f)+b}for(var f=CryptoJS,g=f.lib,h=g.WordArray,i=g.Hasher,g=f.algo,j=[],k=0;64>k;k++)j[k]=4294967296*a.abs(a.sin(k+1))|0;g=g.MD5=i.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(a,f){for(var g=0;16>g;g++){var h=f+g,i=a[h];a[h]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var g=this._hash.words,h=a[f+0],i=a[f+1],k=a[f+2],l=a[f+3],m=a[f+4],n=a[f+5],o=a[f+6],p=a[f+7],q=a[f+8],r=a[f+9],s=a[f+10],t=a[f+11],u=a[f+12],v=a[f+13],w=a[f+14],x=a[f+15],y=g[0],z=g[1],A=g[2],B=g[3],y=b(y,z,A,B,h,7,j[0]),B=b(B,y,z,A,i,12,j[1]),A=b(A,B,y,z,k,17,j[2]),z=b(z,A,B,y,l,22,j[3]),y=b(y,z,A,B,m,7,j[4]),B=b(B,y,z,A,n,12,j[5]),A=b(A,B,y,z,o,17,j[6]),z=b(z,A,B,y,p,22,j[7]),y=b(y,z,A,B,q,7,j[8]),B=b(B,y,z,A,r,12,j[9]),A=b(A,B,y,z,s,17,j[10]),z=b(z,A,B,y,t,22,j[11]),y=b(y,z,A,B,u,7,j[12]),B=b(B,y,z,A,v,12,j[13]),A=b(A,B,y,z,w,17,j[14]),z=b(z,A,B,y,x,22,j[15]),y=c(y,z,A,B,i,5,j[16]),B=c(B,y,z,A,o,9,j[17]),A=c(A,B,y,z,t,14,j[18]),z=c(z,A,B,y,h,20,j[19]),y=c(y,z,A,B,n,5,j[20]),B=c(B,y,z,A,s,9,j[21]),A=c(A,B,y,z,x,14,j[22]),z=c(z,A,B,y,m,20,j[23]),y=c(y,z,A,B,r,5,j[24]),B=c(B,y,z,A,w,9,j[25]),A=c(A,B,y,z,l,14,j[26]),z=c(z,A,B,y,q,20,j[27]),y=c(y,z,A,B,v,5,j[28]),B=c(B,y,z,A,k,9,j[29]),A=c(A,B,y,z,p,14,j[30]),z=c(z,A,B,y,u,20,j[31]),y=d(y,z,A,B,n,4,j[32]),B=d(B,y,z,A,q,11,j[33]),A=d(A,B,y,z,t,16,j[34]),z=d(z,A,B,y,w,23,j[35]),y=d(y,z,A,B,i,4,j[36]),B=d(B,y,z,A,m,11,j[37]),A=d(A,B,y,z,p,16,j[38]),z=d(z,A,B,y,s,23,j[39]),y=d(y,z,A,B,v,4,j[40]),B=d(B,y,z,A,h,11,j[41]),A=d(A,B,y,z,l,16,j[42]),z=d(z,A,B,y,o,23,j[43]),y=d(y,z,A,B,r,4,j[44]),B=d(B,y,z,A,u,11,j[45]),A=d(A,B,y,z,x,16,j[46]),z=d(z,A,B,y,k,23,j[47]),y=e(y,z,A,B,h,6,j[48]),B=e(B,y,z,A,p,10,j[49]),A=e(A,B,y,z,w,15,j[50]),z=e(z,A,B,y,n,21,j[51]),y=e(y,z,A,B,u,6,j[52]),B=e(B,y,z,A,l,10,j[53]),A=e(A,B,y,z,s,15,j[54]),z=e(z,A,B,y,i,21,j[55]),y=e(y,z,A,B,q,6,j[56]),B=e(B,y,z,A,x,10,j[57]),A=e(A,B,y,z,o,15,j[58]),z=e(z,A,B,y,v,21,j[59]),y=e(y,z,A,B,m,6,j[60]),B=e(B,y,z,A,t,10,j[61]),A=e(A,B,y,z,k,15,j[62]),z=e(z,A,B,y,r,21,j[63]);g[0]=g[0]+y|0,g[1]=g[1]+z|0,g[2]=g[2]+A|0,g[3]=g[3]+B|0},_doFinalize:function(){var b=this._data,c=b.words,d=8*this._nDataBytes,e=8*b.sigBytes;c[e>>>5]|=128<<24-e%32;var f=a.floor(d/4294967296);for(c[(e+64>>>9<<4)+15]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),c[(e+64>>>9<<4)+14]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),b.sigBytes=4*(c.length+1),this._process(),b=this._hash,c=b.words,d=0;4>d;d++)e=c[d],c[d]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8);return b},clone:function(){var a=i.clone.call(this);return a._hash=this._hash.clone(),a}}),f.MD5=i._createHelper(g),f.HmacMD5=i._createHmacHelper(g)}(Math),function(){"use strict";var a=function(a){return a!==a},b=function(b){if("number"!=typeof b||a(b))throw new TypeError("Expected a number");var c,d,e=0>b,f=["B","kB","MB","GB","TB","PB","EB","ZB","YB"];return e&&(b=-b),1>b?(e?"-":"")+b+" B":(c=Math.min(Math.floor(Math.log(b)/Math.log(1e3)),f.length-1),b=1*(b/Math.pow(1e3,c)).toFixed(2),d=f[c],(e?"-":"")+b+" "+d)};"undefined"!=typeof module&&module.exports?module.exports=b:self.prettyBytes=b}(),function(){function a(a){var b=function(a,b){return e("",a,b)},f=c;a&&(c[a]||(c[a]={}),f=c[a]),f.define&&f.define.packaged||(d.original=f.define,f.define=d,f.define.packaged=!0),f.require&&f.require.packaged||(e.original=f.require,f.require=b,f.require.packaged=!0)}var b="",c=function(){return this}();if(b||"undefined"==typeof requirejs){var d=function(a,b,c){return"string"!=typeof a?void(d.original?d.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace())):(2==arguments.length&&(c=b),d.modules||(d.modules={},d.payloads={}),d.payloads[a]=c,void(d.modules[a]=null))},e=function(a,b,c){if("[object Array]"===Object.prototype.toString.call(b)){for(var d=[],f=0,h=b.length;h>f;++f){var i=g(a,b[f]);if(!i&&e.original)return e.original(b,c);d.push(i)}c&&c.apply(null,d)}else{if("string"==typeof b){var j=g(a,b);return!j&&e.original?e.original(b,c):(c&&c(),j)}if(e.original)return e.original(b,c)}},f=function(a,b){if(-1!==b.indexOf("!")){var c=b.split("!");return f(a,c[0])+"!"+f(a,c[1])}if("."==b.charAt(0)){var d=a.split("/").slice(0,-1).join("/");for(b=d+"/"+b;-1!==b.indexOf(".")&&e!=b;){var e=b;b=b.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return b},g=function(a,b){b=f(a,b);var c=d.modules[b];if(!c){if(c=d.payloads[b],"function"==typeof c){var g={},h={id:b,uri:"",exports:g,packaged:!0},i=function(a,c){return e(b,a,c)},j=c(i,g,h);g=j||h.exports,d.modules[b]=g,delete d.payloads[b]}c=d.modules[b]=g||c}return c};a(b)}}(),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/multi_select","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(a,b,c){ +a("./lib/fixoldbrowsers");var d=a("./lib/dom"),e=a("./lib/event"),f=a("./editor").Editor,g=a("./edit_session").EditSession,h=a("./undomanager").UndoManager,i=a("./virtual_renderer").VirtualRenderer,j=a("./multi_select").MultiSelect;a("./worker/worker_client"),a("./keyboard/hash_handler"),a("./placeholder"),a("./mode/folding/fold_mode"),a("./theme/textmate"),a("./ext/error_marker"),b.config=a("./config"),b.require=a,b.edit=function(a){if("string"==typeof a){var c=a,a=document.getElementById(c);if(!a)throw new Error("ace.edit can't find div #"+c)}if(a.env&&a.env.editor instanceof f)return a.env.editor;var g=b.createEditSession(d.getInnerText(a));a.innerHTML="";var h=new f(new i(a));new j(h),h.setSession(g);var k={document:g,editor:h,onResize:h.resize.bind(h,null)};return e.addListener(window,"resize",k.onResize),h.on("destroy",function(){e.removeListener(window,"resize",k.onResize)}),a.env=h.env=k,h},b.createEditSession=function(a,b){var c=new g(a,b);return c.setUndoManager(new h),c},b.EditSession=g,b.UndoManager=h}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(a,b,c){a("./regexp"),a("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(a,b,c){function d(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":"")}function e(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(var d=c||0;d1&&e(i,"")>-1&&(c=RegExp(this.source,f.replace.call(d(this),"g","")),f.replace.call(a.slice(i.index),c,function(){for(var a=1;ai.index&&this.lastIndex--}return i},h||(RegExp.prototype.test=function(a){var b=f.exec.call(this,a);return b&&this.global&&!b[0].length&&this.lastIndex>b.index&&this.lastIndex--,!!b}))}),define("ace/lib/es5-shim",["require","exports","module"],function(a,b,c){function d(){}function e(a){try{return Object.defineProperty(a,"sentinel",{}),"sentinel"in a}catch(b){}}function f(a){return a=+a,a!==a?a=0:0!==a&&a!==1/0&&a!==-(1/0)&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError("Function.prototype.bind called on incompatible "+b);var c=o.call(arguments,1),e=function(){if(this instanceof e){var d=b.apply(this,c.concat(o.call(arguments)));return Object(d)===d?d:this}return b.apply(a,c.concat(o.call(arguments)))};return b.prototype&&(d.prototype=b.prototype,e.prototype=new d,d.prototype=null),e});var g,h,i,j,k,l=Function.prototype.call,m=Array.prototype,n=Object.prototype,o=m.slice,p=l.bind(n.toString),q=l.bind(n.hasOwnProperty);if((k=q(n,"__defineGetter__"))&&(g=l.bind(n.__defineGetter__),h=l.bind(n.__defineSetter__),i=l.bind(n.__lookupGetter__),j=l.bind(n.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function a(a){var b=new Array(a+2);return b[0]=b[1]=0,b}var b,c=[];return c.splice.apply(c,a(20)),c.splice.apply(c,a(26)),b=c.length,c.splice(5,0,"XXX"),b+1==c.length,b+1==c.length?!0:void 0}()){var r=Array.prototype.splice;Array.prototype.splice=function(a,b){return arguments.length?r.apply(this,[void 0===a?0:a,void 0===b?this.length-a:b].concat(o.call(arguments,2))):[]}}else Array.prototype.splice=function(a,b){var c=this.length;a>0?a>c&&(a=c):void 0==a?a=0:0>a&&(a=Math.max(c+a,0)),c>a+b||(b=c-a);var d=this.slice(a,a+b),e=o.call(arguments,2),f=e.length;if(a===c)f&&this.push.apply(this,e);else{var g=Math.min(b,c-a),h=a+g,i=h+f-g,j=c-h,k=c-g;if(h>i)for(var l=0;j>l;++l)this[i+l]=this[h+l];else if(i>h)for(l=j;l--;)this[i+l]=this[h+l];if(f&&a===k)this.length=k,this.push.apply(this,e);else for(this.length=k+f,l=0;f>l;++l)this[a+l]=e[l]}return d};Array.isArray||(Array.isArray=function(a){return"[object Array]"==p(a)});var s=Object("a"),t="a"!=s[0]||!(0 in s);if(Array.prototype.forEach||(Array.prototype.forEach=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=arguments[1],e=-1,f=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError;for(;++e>>0,e=Array(d),f=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){var b,c=K(this),d=t&&"[object String]"==p(this)?this.split(""):c,e=d.length>>>0,f=[],g=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var h=0;e>h;h++)h in d&&(b=d[h],a.call(g,b,h,c)&&f.push(b));return f}),Array.prototype.every||(Array.prototype.every=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&a.call(e,c[f],f,b))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var e,f=0;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f++];break}if(++f>=d)throw new TypeError("reduce of empty array with no initial value")}for(;d>f;f++)f in c&&(e=a.call(void 0,e,c[f],f,b));return e}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var e,f=d-1;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f--];break}if(--f<0)throw new TypeError("reduceRight of empty array with no initial value")}do f in this&&(e=a.call(void 0,e,c[f],f,b));while(f--);return e}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=0;for(arguments.length>1&&(d=f(arguments[1])),d=d>=0?d:Math.max(0,c+d);c>d;d++)if(d in b&&b[d]===a)return d;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d=d>=0?d:c-Math.abs(d);d>=0;d--)if(d in b&&a===b[d])return d;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__||(a.constructor?a.constructor.prototype:n)}),!Object.getOwnPropertyDescriptor){var u="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(a,b){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(u+a);if(q(a,b)){var c,d,e;if(c={enumerable:!0,configurable:!0},k){var f=a.__proto__;a.__proto__=n;var d=i(a,b),e=j(a,b);if(a.__proto__=f,d||e)return d&&(c.get=d),e&&(c.set=e),c}return c.value=a[b],c}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(a){return Object.keys(a)}),!Object.create){var v;v=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var a={};for(var b in a)a[b]=null;return a.constructor=a.hasOwnProperty=a.propertyIsEnumerable=a.isPrototypeOf=a.toLocaleString=a.toString=a.valueOf=a.__proto__=null,a},Object.create=function(a,b){var c;if(null===a)c=v();else{if("object"!=typeof a)throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return void 0!==b&&Object.defineProperties(c,b),c}}if(Object.defineProperty){var w=e({}),x="undefined"==typeof document||e(document.createElement("div"));if(!w||!x)var y=Object.defineProperty}if(!Object.defineProperty||y){var z="Property description must be an object: ",A="Object.defineProperty called on non-object: ",B="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(a,b,c){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(A+a);if("object"!=typeof c&&"function"!=typeof c||null===c)throw new TypeError(z+c);if(y)try{return y.call(Object,a,b,c)}catch(d){}if(q(c,"value"))if(k&&(i(a,b)||j(a,b))){var e=a.__proto__;a.__proto__=n,delete a[b],a[b]=c.value,a.__proto__=e}else a[b]=c.value;else{if(!k)throw new TypeError(B);q(c,"get")&&g(a,b,c.get),q(c,"set")&&h(a,b,c.set)}return a}}Object.defineProperties||(Object.defineProperties=function(a,b){for(var c in b)q(b,c)&&Object.defineProperty(a,c,b[c]);return a}),Object.seal||(Object.seal=function(a){return a}),Object.freeze||(Object.freeze=function(a){return a});try{Object.freeze(function(){})}catch(C){Object.freeze=function(a){return function(b){return"function"==typeof b?b:a(b)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(a){return a}),Object.isSealed||(Object.isSealed=function(a){return!1}),Object.isFrozen||(Object.isFrozen=function(a){return!1}),Object.isExtensible||(Object.isExtensible=function(a){if(Object(a)===a)throw new TypeError;for(var b="";q(a,b);)b+="?";a[b]=!0;var c=q(a,b);return delete a[b],c}),!Object.keys){var D=!0,E=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],F=E.length;for(var G in{toString:null})D=!1;Object.keys=function L(a){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError("Object.keys called on a non-object");var L=[];for(var b in a)q(a,b)&&L.push(b);if(D)for(var c=0,d=F;d>c;c++){var e=E[c];q(a,e)&&L.push(e)}return L}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029\ufeff";if(!String.prototype.trim||H.trim()){H="["+H+"]";var I=new RegExp("^"+H+H+"*"),J=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(I,"").replace(J,"")}}var K=function(a){if(null==a)throw new TypeError("can't convert "+a+" to object");return Object(a)}}),define("ace/lib/dom",["require","exports","module"],function(a,b,c){if("undefined"!=typeof document){var d="http://www.w3.org/1999/xhtml";b.getDocumentHead=function(a){return a||(a=document),a.head||a.getElementsByTagName("head")[0]||a.documentElement},b.createElement=function(a,b){return document.createElementNS?document.createElementNS(b||d,a):document.createElement(a)},b.hasCssClass=function(a,b){var c=a.className.split(/\s+/g);return-1!==c.indexOf(b)},b.addCssClass=function(a,c){b.hasCssClass(a,c)||(a.className+=" "+c)},b.removeCssClass=function(a,b){for(var c=a.className.split(/\s+/g);;){var d=c.indexOf(b);if(-1==d)break;c.splice(d,1)}a.className=c.join(" ")},b.toggleCssClass=function(a,b){for(var c=a.className.split(/\s+/g),d=!0;;){var e=c.indexOf(b);if(-1==e)break;d=!1,c.splice(e,1)}return d&&c.push(b),a.className=c.join(" "),d},b.setCssClass=function(a,c,d){d?b.addCssClass(a,c):b.removeCssClass(a,c)},b.hasCssString=function(a,b){var c,d=0;if(b=b||document,b.createStyleSheet&&(c=b.styleSheets)){for(;dk&&(h.altGr=!0)}}}if(c in e.MODIFIER_KEYS){switch(e.MODIFIER_KEYS[c]){case"Alt":d=2;break;case"Shift":d=4;break;case"Ctrl":d=1;break;default:d=8}c=-1}return 8&d&&(91===c||93===c)&&(c=-1),d||13!==c||!b.location&&3!==b.keyLocation||(a(b,d,-c),!b.defaultPrevented)?d||c in e.FUNCTION_KEYS||c in e.PRINTABLE_KEYS?a(b,d,c):!1:void 0}var e=a("./keys"),f=a("./useragent");b.addListener=function(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1);if(a.attachEvent){var d=function(){c.call(a,window.event)};c._wrapper=d,a.attachEvent("on"+b,d)}},b.removeListener=function(a,b,c){return a.removeEventListener?a.removeEventListener(b,c,!1):void(a.detachEvent&&a.detachEvent("on"+b,c._wrapper||c))},b.stopEvent=function(a){return b.stopPropagation(a),b.preventDefault(a),!1},b.stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},b.preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},b.getButton=function(a){return"dblclick"==a.type?0:"contextmenu"==a.type||a.ctrlKey&&f.isMac?2:a.preventDefault?a.button:{1:0,2:2,4:1}[a.button]},b.capture=function(a,c,d){function e(a){c&&c(a),d&&d(a),b.removeListener(document,"mousemove",c,!0),b.removeListener(document,"mouseup",e,!0),b.removeListener(document,"dragstart",e,!0)}return b.addListener(document,"mousemove",c,!0),b.addListener(document,"mouseup",e,!0),b.addListener(document,"dragstart",e,!0),e},b.addMouseWheelListener=function(a,c){"onmousewheel"in a?b.addListener(a,"mousewheel",function(a){var b=8;void 0!==a.wheelDeltaX?(a.wheelX=-a.wheelDeltaX/b,a.wheelY=-a.wheelDeltaY/b):(a.wheelX=0,a.wheelY=-a.wheelDelta/b),c(a)}):"onwheel"in a?b.addListener(a,"wheel",function(a){var b=.35;switch(a.deltaMode){case a.DOM_DELTA_PIXEL:a.wheelX=a.deltaX*b||0,a.wheelY=a.deltaY*b||0;break;case a.DOM_DELTA_LINE:case a.DOM_DELTA_PAGE:a.wheelX=5*(a.deltaX||0),a.wheelY=5*(a.deltaY||0)}c(a)}):b.addListener(a,"DOMMouseScroll",function(a){a.axis&&a.axis==a.HORIZONTAL_AXIS?(a.wheelX=5*(a.detail||0),a.wheelY=0):(a.wheelX=0,a.wheelY=5*(a.detail||0)),c(a)})},b.addMultiMouseDownListener=function(a,c,d,e){var g,h,i,j=0,k={2:"dblclick",3:"tripleclick",4:"quadclick"};b.addListener(a,"mousedown",function(a){if(0!==b.getButton(a)?j=0:a.detail>1?(j++,j>4&&(j=1)):j=1,f.isIE){var l=Math.abs(a.clientX-g)>5||Math.abs(a.clientY-h)>5;(!i||l)&&(j=1),i&&clearTimeout(i),i=setTimeout(function(){i=null},c[j-1]||600),1==j&&(g=a.clientX,h=a.clientY)}if(d[e]("mousedown",a),j>4)j=0;else if(j>1)return d[e](k[j],a)}),f.isOldIE&&b.addListener(a,"dblclick",function(a){j=2,i&&clearTimeout(i),i=setTimeout(function(){i=null},c[j-1]||600),d[e]("mousedown",a),d[e](k[j],a)})};var g=!f.isMac||!f.isOpera||"KeyboardEvent"in window?function(a){return 0|(a.ctrlKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.metaKey?8:0)}:function(a){return 0|(a.metaKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.ctrlKey?8:0)};b.getModifierString=function(a){return e.KEY_MODS[g(a)]};var h=null,i=0;if(b.addCommandKeyListener=function(a,c){var e=b.addListener;if(f.isOldGecko||f.isOpera&&!("KeyboardEvent"in window)){var g=null;e(a,"keydown",function(a){g=a.keyCode}),e(a,"keypress",function(a){return d(c,a,g)})}else{var i=null;e(a,"keydown",function(a){h[a.keyCode]=!0;var b=d(c,a,a.keyCode);return i=a.defaultPrevented,b}),e(a,"keypress",function(a){i&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey)&&(b.stopEvent(a),i=null)}),e(a,"keyup",function(a){h[a.keyCode]=null}),h||(h=Object.create(null),e(window,"focus",function(a){h=Object.create(null)}))}},window.postMessage&&!f.isOldIE){var j=1;b.nextTick=function(a,c){c=c||window;var d="zero-timeout-message-"+j;b.addListener(c,"message",function e(f){f.data==d&&(b.stopPropagation(f),b.removeListener(c,"message",e),a())}),c.postMessage(d,"*")}}b.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,b.nextFrame?b.nextFrame=b.nextFrame.bind(window):b.nextFrame=function(a){setTimeout(a,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(a,b,c){var d=a("./oop"),e=function(){var a,b,c={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}};for(b in c.FUNCTION_KEYS)a=c.FUNCTION_KEYS[b].toLowerCase(),c[a]=parseInt(b,10);for(b in c.PRINTABLE_KEYS)a=c.PRINTABLE_KEYS[b].toLowerCase(),c[a]=parseInt(b,10);return d.mixin(c,c.MODIFIER_KEYS),d.mixin(c,c.PRINTABLE_KEYS),d.mixin(c,c.FUNCTION_KEYS),c.enter=c["return"],c.escape=c.esc,c.del=c["delete"],c[173]="-",function(){for(var a=["cmd","ctrl","alt","shift"],b=Math.pow(2,a.length);b--;)c.KEY_MODS[b]=a.filter(function(a){return b&c.KEY_MODS[a]}).join("-")+"-"}(),c}();d.mixin(b,e),b.keyCodeToString=function(a){var b=e[a];return"string"!=typeof b&&(b=String.fromCharCode(a)),b.toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(a,b,c){b.inherits=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})},b.mixin=function(a,b){for(var c in b)a[c]=b[c];return a},b.implement=function(a,c){b.mixin(a,c)}}),define("ace/lib/useragent",["require","exports","module"],function(a,b,c){if(b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS},"object"==typeof navigator){var d=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),e=navigator.userAgent;b.isWin="win"==d,b.isMac="mac"==d,b.isLinux="linux"==d,b.isIE="Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((e.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((e.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=window.controllers&&"Gecko"===window.navigator.product,b.isOldGecko=b.isGecko&&parseInt((e.match(/rv\:(\d+)/)||[])[1],10)<4,b.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),b.isWebKit=parseFloat(e.split("WebKit/")[1])||void 0,b.isChrome=parseFloat(e.split(" Chrome/")[1])||void 0,b.isAIR=e.indexOf("AdobeAIR")>=0,b.isIPad=e.indexOf("iPad")>=0,b.isTouchPad=e.indexOf("TouchPad")>=0}}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config"],function(a,b,c){a("./lib/fixoldbrowsers");var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/lang"),g=a("./lib/useragent"),h=a("./keyboard/textinput").TextInput,i=a("./mouse/mouse_handler").MouseHandler,j=a("./mouse/fold_handler").FoldHandler,k=a("./keyboard/keybinding").KeyBinding,l=a("./edit_session").EditSession,m=a("./search").Search,n=a("./range").Range,o=a("./lib/event_emitter").EventEmitter,p=a("./commands/command_manager").CommandManager,q=a("./commands/default_commands").commands,r=a("./config"),s=function(a,b){var c=a.getContainerElement();this.container=c,this.renderer=a,this.commands=new p(g.isMac?"mac":"win",q),this.textInput=new h(a.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new k(this),this.$mouseHandler=new i(this),new j(this),this.$blockScrolling=0,this.$search=(new m).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=f.delayedCall(function(){this._signal("input",{}),this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(a,b){b._$emitInputEvent.schedule(31)}),this.setSession(b||new l("")),r.resetOptions(this),r._signal("editor",this)};(function(){d.implement(this,o),this.$initOperationListeners=function(){function a(a){return a[a.length-1]}this.selections=[],this.commands.on("exec",function(b){this.startOperation(b);var c=b.command;if("fileJump"==c.aceCommandGroup){var d=this.prevOp;d&&"fileJump"==d.command.aceCommandGroup||(this.lastFileJumpPos=a(this.selections))}else this.lastFileJumpPos=null}.bind(this),!0),this.commands.on("afterExec",function(a){var b=a.command;"fileJump"==b.aceCommandGroup&&this.lastFileJumpPos&&!this.curOp.selectionChanged&&this.selection.fromJSON(this.lastFileJumpPos),this.endOperation(a)}.bind(this),!0),this.$opResetTimer=f.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(a){if(this.curOp){if(!a||this.curOp.command)return;this.prevOp=this.curOp}a||(this.previousCommand=null,a={}),this.$opResetTimer.schedule(),this.curOp={command:a.command||{},args:a.args,scrollTop:this.renderer.scrollTop};var b=this.curOp.command;b&&b.scrollIntoView&&this.$blockScrolling++,this.selections.push(this.selection.toJSON())},this.endOperation=function(){if(this.curOp){var a=this.curOp.command;if(a&&a.scrollIntoView){switch(this.$blockScrolling--,a.scrollIntoView){case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var b=this.selection.getRange(),c=this.renderer.layerConfig;(b.start.row>=c.lastRow||b.end.row<=c.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==a.scrollIntoView&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$historyTracker=function(a){if(this.$mergeUndoDeltas){var b=this.prevOp,c=["backspace","del","insertstring"],d=b.command&&a.command.name==b.command.name;if("insertstring"==a.command.name){var e=a.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),d=d&&this.mergeNextCommand&&(!/\s/.test(e)||/\s/.test(b.args)),this.mergeNextCommand=!0}else d=d&&-1!==c.indexOf(a.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(d=!1),d?this.session.mergeUndoDeltas=!0:-1!==c.indexOf(a.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(a){if(a)if("string"==typeof a){this.$keybindingId=a;var b=this;r.loadModule(["keybinding",a],function(c){b.$keybindingId==a&&b.keyBinding.setKeyboardHandler(c&&c.handler)})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(a);else this.keyBinding.setKeyboardHandler(null)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(a){if(this.session!=a){var b=this.session;if(b){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var c=this.session.getSelection();c.removeEventListener("changeCursor",this.$onCursorChange),c.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=a,a&&(this.$onDocumentChange=this.onDocumentChange.bind(this),a.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(a),this.$onChangeMode=this.onChangeMode.bind(this),a.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),a.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),a.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),a.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),a.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),a.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=a.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()),this._signal("changeSession",{session:a,oldSession:b}),b&&b._signal("changeEditor",{oldEditor:this}),a&&a._signal("changeEditor",{editor:this})}},this.getSession=function(){return this.session},this.setValue=function(a,b){return this.session.doc.setValue(a),b?1==b?this.navigateFileEnd():-1==b&&this.navigateFileStart():this.selectAll(),a},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(a){this.renderer.onResize(a)},this.setTheme=function(a,b){this.renderer.setTheme(a,b)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(a){this.renderer.setStyle(a)},this.unsetStyle=function(a){this.renderer.unsetStyle(a)},this.getFontSize=function(){return this.getOption("fontSize")||e.computedStyle(this.container,"fontSize")},this.setFontSize=function(a){this.setOption("fontSize",a)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var a=this;this.$highlightPending=!0,setTimeout(function(){a.$highlightPending=!1;var b=a.session.findMatchingBracket(a.getCursorPosition());if(b)var c=new n(b.row,b.column,b.row,b.column+1);else if(a.session.$mode.getMatching)var c=a.session.$mode.getMatching(a.session);c&&(a.session.$bracketHighlight=a.session.addMarker(c,"ace_bracket","text"))},50)}},this.focus=function(){var a=this;setTimeout(function(){a.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus"))},this.onBlur=function(){ +this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur"))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(a){var b,c=a.data,d=c.range;b=d.start.row==d.end.row&&"insertLines"!=c.action&&"removeLines"!=c.action?d.end.row:1/0,this.renderer.updateLines(d.start.row,b),this._signal("change",a),this.$cursorChange()},this.onTokenizerUpdate=function(a){var b=a.data;this.renderer.updateLines(b.first,b.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var a,b=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(a=this.getCursorPosition()),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(a=!1)),b.$highlightLineMarker&&!a)b.removeMarker(b.$highlightLineMarker.id),b.$highlightLineMarker=null;else if(!b.$highlightLineMarker&&a){var c=new n(a.row,a.column,a.row,1/0);c.id=b.addMarker(c,"ace_active-line","screenLine"),b.$highlightLineMarker=c}else a&&(b.$highlightLineMarker.start.row=a.row,b.$highlightLineMarker.end.row=a.row,b.$highlightLineMarker.start.column=a.column,b._signal("changeBackMarker"))},this.onSelectionChange=function(a){var b=this.session;if(b.$selectionMarker&&b.removeMarker(b.$selectionMarker),b.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var c=this.selection.getRange(),d=this.getSelectionStyle();b.$selectionMarker=b.addMarker(c,"ace_selection",d)}var e=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(e),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var a=this.session,b=this.getSelectionRange();if(!b.isEmpty()&&!b.isMultiLine()){var c=b.start.column-1,d=b.end.column+1,e=a.getLine(b.start.row),f=e.length,g=e.substring(Math.max(c,0),Math.min(d,f));if(!(c>=0&&/^[\w\d]/.test(g)||f>=d&&/[\w\d]$/.test(g))&&(g=e.substring(b.start.column,b.end.column),/^[\w\d]+$/.test(g))){var h=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:g});return h}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(a){this.renderer.updateText(),this._emit("changeMode",a)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var a=this.getSelectedText();return this._signal("copy",a),a},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(a){if(!this.$readOnly){var b={text:a};this._signal("paste",b),this.insert(b.text,!0)}},this.execCommand=function(a,b){this.commands.exec(a,this,b)},this.insert=function(a,b){var c=this.session,d=c.getMode(),e=this.getCursorPosition();if(this.getBehavioursEnabled()&&!b){var f=d.transformAction(c.getState(e.row),"insertion",this,c,a);f&&(a!==f.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),a=f.text)}if(" "==a&&(a=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var g=new n.fromPoints(e,e);g.end.column+=a.length,this.session.remove(g)}}else{var g=this.getSelectionRange();e=this.session.remove(g),this.clearSelection()}if("\n"==a||"\r\n"==a){var h=c.getLine(e.row);if(e.column>h.search(/\S|$/)){var i=h.substr(e.column).search(/\S|$/);c.doc.removeInLine(e.row,e.column,e.column+i)}}this.clearSelection();var j=e.column,k=c.getState(e.row),h=c.getLine(e.row),l=d.checkOutdent(k,h,a);c.insert(e,a);if(f&&f.selection&&(2==f.selection.length?this.selection.setSelectionRange(new n(e.row,j+f.selection[0],e.row,j+f.selection[1])):this.selection.setSelectionRange(new n(e.row+f.selection[0],f.selection[1],e.row+f.selection[2],f.selection[3]))),c.getDocument().isNewLine(a)){var m=d.getNextLineIndent(k,h.slice(0,e.column),c.getTabString());c.insert({row:e.row+1,column:0},m)}l&&d.autoOutdent(k,c,e.row)},this.onTextInput=function(a){this.keyBinding.onTextInput(a)},this.onCommandKey=function(a,b,c){this.keyBinding.onCommandKey(a,b,c)},this.setOverwrite=function(a){this.session.setOverwrite(a)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(a){this.setOption("scrollSpeed",a)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(a){this.setOption("dragDelay",a)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(a){this.setOption("selectionStyle",a)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(a){this.setOption("highlightActiveLine",a)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(a){this.setOption("highlightGutterLine",a)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(a){this.setOption("highlightSelectedWord",a)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(a){this.renderer.setAnimatedScroll(a)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(a){this.renderer.setShowInvisibles(a)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(a){this.renderer.setDisplayIndentGuides(a)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(a){this.setOption("readOnly",a)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(a){this.setOption("behavioursEnabled",a)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(a){this.setOption("wrapBehavioursEnabled",a)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(a){this.setOption("showFoldWidgets",a)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(a){this.setOption("fadeFoldWidgets",a)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(a){this.selection.isEmpty()&&("left"==a?this.selection.selectLeft():this.selection.selectRight());var b=this.getSelectionRange();if(this.getBehavioursEnabled()){var c=this.session,d=c.getState(b.start.row),e=c.getMode().transformAction(d,"deletion",this,c,b);if(0===b.end.column){var f=c.getTextRange(b);if("\n"==f[f.length-1]){var g=c.getLine(b.end.row);/^\s+$/.test(g)&&(b.end.column=g.length)}}e&&(b=e)}this.session.remove(b),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();a.start.column==a.end.column&&a.start.row==a.end.row&&(a.end.column=0,a.end.row++),this.session.remove(a),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var a=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(a)},this.transposeLetters=function(){if(this.selection.isEmpty()){var a=this.getCursorPosition(),b=a.column;if(0!==b){var c,d,e=this.session.getLine(a.row);bb.toLowerCase()?1:0});for(var d=new n(0,0,0,0),e=a.first;e<=a.last;e++){var f=b.getLine(e);d.start.row=e,d.end.row=e,d.end.column=f.length,b.replace(d,c[e-a.first])}},this.toggleCommentLines=function(){var a=this.session.getState(this.getCursorPosition().row),b=this.$getSelectedRows();this.session.getMode().toggleCommentLines(a,this.session,b.first,b.last)},this.toggleBlockComment=function(){var a=this.getCursorPosition(),b=this.session.getState(a.row),c=this.getSelectionRange();this.session.getMode().toggleBlockComment(b,this.session,c,a)},this.getNumberAt=function(a,b){var c=/[\-]?[0-9]+(?:\.[0-9]+)?/g;c.lastIndex=0;for(var d=this.session.getLine(a);c.lastIndex=b){var f={value:e[0],start:e.index,end:e.index+e[0].length};return f}}return null},this.modifyNumber=function(a){var b=this.selection.getCursor().row,c=this.selection.getCursor().column,d=new n(b,c-1,b,c),e=this.session.getTextRange(d);if(!isNaN(parseFloat(e))&&isFinite(e)){var f=this.getNumberAt(b,c);if(f){var g=f.value.indexOf(".")>=0?f.start+f.value.indexOf(".")+1:f.end,h=f.start+f.value.length-g,i=parseFloat(f.value);i*=Math.pow(10,h),a*=g!==f.end&&g>c?Math.pow(10,f.end-c-1):Math.pow(10,f.end-c),i+=a,i/=Math.pow(10,h);var j=i.toFixed(h),k=new n(b,f.start,b,f.end);this.session.replace(k,j),this.moveCursorTo(b,Math.max(f.start+1,c+j.length-f.value.length))}}},this.removeLines=function(){var a,b=this.$getSelectedRows();a=0===b.first||b.last+1=g;)f[h].moveBy(e,0),h--}b.fromOrientedRange(b.ranges[0]),b.rangeList.attach(this.session)}},this.$getSelectedRows=function(){var a=this.getSelectionRange().collapseRows();return{first:this.session.getRowFoldStart(a.start.row),last:this.session.getRowFoldEnd(a.end.row)}},this.onCompositionStart=function(a){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(a){this.renderer.setCompositionText(a)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(a){return a>=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()},this.isRowFullyVisible=function(a){return a>=this.renderer.getFirstFullyVisibleRow()&&a<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(a,b){var c=this.renderer,d=this.renderer.layerConfig,e=a*Math.floor(d.height/d.lineHeight);this.$blockScrolling++,b===!0?this.selection.$moveSelection(function(){this.moveCursorBy(e,0)}):b===!1&&(this.selection.moveCursorBy(e,0),this.selection.clearSelection()),this.$blockScrolling--;var f=c.scrollTop;c.scrollBy(0,e*d.lineHeight),null!=b&&c.scrollCursorIntoView(null,.5),c.animateScrolling(f)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(a){this.renderer.scrollToRow(a)},this.scrollToLine=function(a,b,c,d){this.renderer.scrollToLine(a,b,c,d)},this.centerSelection=function(){var a=this.getSelectionRange(),b={row:Math.floor(a.start.row+(a.end.row-a.start.row)/2),column:Math.floor(a.start.column+(a.end.column-a.start.column)/2)};this.renderer.alignCursor(b,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(a,b){this.selection.moveCursorTo(a,b)},this.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)},this.jumpToMatching=function(a){var b=this.getCursorPosition(),c=this.session.getBracketRange(b);if(!c){if(c=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:b.row,column:b.column-1}}),!c)return;var d=c.start;d.row==b.row&&Math.abs(d.column-b.column)<2&&(c=this.session.getBracketRange(d))}d=c&&c.cursor||d,d&&(a?c&&c.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(a,b,c){this.selection.clearSelection(),this.session.unfold({row:a-1,column:b||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(a-1,b||0),this.$blockScrolling-=1,this.isRowFullyVisible(a-1)||this.scrollToLine(a-1,!0,c)},this.navigateTo=function(a,b){this.selection.moveTo(a,b)},this.navigateUp=function(a){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(-a||-1,0)},this.navigateDown=function(a){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(a||1,0)},this.navigateLeft=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorLeft();else{var b=this.getSelectionRange().start;this.moveCursorToPosition(b)}this.clearSelection()},this.navigateRight=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorRight();else{var b=this.getSelectionRange().end;this.moveCursorToPosition(b)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(a,b){b&&this.$search.set(b);var c=this.$search.find(this.session),d=0;return c?(this.$tryReplace(c,a)&&(d=1),null!==c&&(this.selection.setSelectionRange(c),this.renderer.scrollSelectionIntoView(c.start,c.end)),d):d},this.replaceAll=function(a,b){b&&this.$search.set(b);var c=this.$search.findAll(this.session),d=0;if(!c.length)return d;this.$blockScrolling+=1;var e=this.getSelectionRange();this.selection.moveTo(0,0);for(var f=c.length-1;f>=0;--f)this.$tryReplace(c[f],a)&&d++;return this.selection.setSelectionRange(e),this.$blockScrolling-=1,d},this.$tryReplace=function(a,b){var c=this.session.getTextRange(a);return b=this.$search.replace(c,b),null!==b?(a.end=this.session.replace(a,b),a):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(a,b,c){b||(b={}),"string"==typeof a||a instanceof RegExp?b.needle=a:"object"==typeof a&&d.mixin(b,a);var e=this.selection.getRange();null==b.needle&&(a=this.session.getTextRange(e)||this.$search.$options.needle,a||(e=this.session.getWordRange(e.start.row,e.start.column),a=this.session.getTextRange(e)),this.$search.set({needle:a})),this.$search.set(b),b.start||this.$search.set({start:e});var f=this.$search.find(this.session);return b.preventScroll?f:f?(this.revealRange(f,c),f):(b.backwards?e.start=e.end:e.end=e.start,void this.selection.setRange(e))},this.findNext=function(a,b){this.find({skipCurrent:!0,backwards:!1},a,b)},this.findPrevious=function(a,b){this.find(a,{skipCurrent:!0,backwards:!0},b)},this.revealRange=function(a,b){this.$blockScrolling+=1,this.session.unfold(a),this.selection.setSelectionRange(a),this.$blockScrolling-=1;var c=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(a.start,a.end,.5),b!==!1&&this.renderer.animateScrolling(c)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this)},this.setAutoScrollEditorIntoView=function(a){if(a){var b,c=this,d=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var e=this.$scrollAnchor;e.style.cssText="position:absolute",this.container.insertBefore(e,this.container.firstChild);var f=this.on("changeSelection",function(){d=!0}),g=this.renderer.on("beforeRender",function(){d&&(b=c.renderer.container.getBoundingClientRect())}),h=this.renderer.on("afterRender",function(){if(d&&b&&c.isFocused()){var a=c.renderer,f=a.$cursorLayer.$pixelPos,g=a.layerConfig,h=f.top-g.offset;d=f.top>=0&&h+b.top<0?!0:f.topwindow.innerHeight?!1:null,null!=d&&(e.style.top=h+"px",e.style.left=f.left+"px",e.style.height=g.lineHeight+"px",e.scrollIntoView(d)),d=b=null}});this.setAutoScrollEditorIntoView=function(a){a||(delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",f),this.renderer.removeEventListener("afterRender",h),this.renderer.removeEventListener("beforeRender",g))}}},this.$resetCursorStyle=function(){var a=this.$cursorStyle||"ace",b=this.renderer.$cursorLayer;b&&(b.setSmoothBlinking("smooth"==a),b.isBlinking=!this.$readOnly&&"wide"!=a)}}).call(s.prototype),r.defineOptions(s.prototype,"editor",{selectionStyle:{set:function(a){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:a})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(a){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(a){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(a){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(a){this.setAutoScrollEditorIntoView(a)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),b.Editor=s}),define("ace/lib/lang",["require","exports","module"],function(a,b,c){b.last=function(a){return a[a.length-1]},b.stringReverse=function(a){return a.split("").reverse().join("")},b.stringRepeat=function(a,b){for(var c="";b>0;)1&b&&(c+=a),(b>>=1)&&(a+=a);return c};var d=/^\s\s*/,e=/\s\s*$/;b.stringTrimLeft=function(a){return a.replace(d,"")},b.stringTrimRight=function(a){return a.replace(e,"")},b.copyObject=function(a){var b={};for(var c in a)b[c]=a[c];return b},b.copyArray=function(a){for(var b=[],c=0,d=a.length;d>c;c++)a[c]&&"object"==typeof a[c]?b[c]=this.copyObject(a[c]):b[c]=a[c];return b},b.deepCopy=function(a){if("object"!=typeof a||!a)return a;var c=a.constructor;if(c===RegExp)return a;var d=c();for(var e in a)"object"==typeof a[e]?d[e]=b.deepCopy(a[e]):d[e]=a[e];return d},b.arrayToMap=function(a){for(var b={},c=0;cc?{cursor:a.start,anchor:a.end}:{cursor:a.end,anchor:a.start}}var g=(a("../lib/dom"),a("../lib/event"),a("../lib/useragent"),0);(function(){this.onMouseDown=function(a){var b=a.inSelection(),c=a.getDocumentPosition();this.mousedownEvent=a;var d=this.editor,e=a.getButton();if(0!==e){var f=d.getSelectionRange(),g=f.isEmpty();return g&&d.selection.moveToPosition(c),void d.textInput.onContextMenu(a.domEvent)}return!b||d.isFocused()||(d.focus(),!this.$focusTimout||this.$clickSelection||d.inMultiSelectMode)?(this.captureMouse(a),!b||this.$clickSelection||a.getShiftKey()||d.inMultiSelectMode?this.startSelect(c):b&&(this.mousedownEvent.time=Date.now(),this.startSelect(c)),a.preventDefault()):(this.mousedownEvent.time=Date.now(),this.setState("focusWait"),void this.captureMouse(a))},this.startSelect=function(a){a=a||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var b=this.editor,c=this.mousedownEvent.getShiftKey();c?b.selection.selectToPosition(a):this.$clickSelection||b.selection.moveToPosition(a),b.renderer.scroller.setCapture&&b.renderer.scroller.setCapture(),b.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var a,b=this.editor,c=b.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var d=this.$clickSelection.comparePoint(c);if(-1==d)a=this.$clickSelection.end;else if(1==d)a=this.$clickSelection.start;else{var e=f(this.$clickSelection,c);c=e.cursor,a=e.anchor}b.selection.setSelectionAnchor(a.row,a.column)}b.selection.selectToPosition(c),b.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(a){var b,c=this.editor,d=c.renderer.screenToTextCoordinates(this.x,this.y),e=c.selection[a](d.row,d.column);if(this.$clickSelection){var g=this.$clickSelection.comparePoint(e.start),h=this.$clickSelection.comparePoint(e.end);if(-1==g&&0>=h)b=this.$clickSelection.end,(e.end.row!=d.row||e.end.column!=d.column)&&(d=e.start);else if(1==h&&g>=0)b=this.$clickSelection.start,(e.start.row!=d.row||e.start.column!=d.column)&&(d=e.end);else if(-1==g&&1==h)d=e.end,b=e.start;else{var i=f(this.$clickSelection,d);d=i.cursor,b=i.anchor}c.selection.setSelectionAnchor(b.row,b.column)}c.selection.selectToPosition(d),c.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var a=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),b=Date.now();(a>g||b-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(a){var b=a.getDocumentPosition(),c=this.editor,d=c.session,e=d.getBracketRange(b);e?(e.isEmpty()&&(e.start.column--,e.end.column++),this.setState("select")):(e=c.selection.getWordRange(b.row,b.column),this.setState("selectByWords")),this.$clickSelection=e,this[this.state]&&this[this.state](a)},this.onTripleClick=function(a){var b=a.getDocumentPosition(),c=this.editor;this.setState("selectByLines"),this.$clickSelection=c.selection.getLineRange(b.row),this[this.state]&&this[this.state](a)},this.onQuadClick=function(a){var b=this.editor;b.selectAll(),this.$clickSelection=b.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(a){if(!a.getAccelKey()){a.getShiftKey()&&a.wheelY&&!a.wheelX&&(a.wheelX=a.wheelY,a.wheelY=0);var b=a.domEvent.timeStamp,c=b-(this.$lastScrollTime||0),d=this.editor,e=d.renderer.isScrollableBy(a.wheelX*a.speed,a.wheelY*a.speed);return e||200>c?(this.$lastScrollTime=b,d.renderer.scrollBy(a.wheelX*a.speed,a.wheelY*a.speed),a.stop()):void 0}}}).call(d.prototype),b.DefaultHandlers=d}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(a,b,c){function d(a){function b(){var b=l.getDocumentPosition().row,e=i.$annotations[b];if(!e)return c();var f=g.session.getLength();if(b==f){var h=g.renderer.pixelToScreenCoordinates(0,l.y).row,k=l.$pos;if(h>g.session.documentToScreenRow(k.row,k.column))return c()}if(m!=e)if(m=e.text.join("
        "),j.setHtml(m),j.show(),g.on("mousewheel",c),a.$tooltipFollowsMouse)d(l);else{var n=i.$cells[g.session.documentToScreenRow(b,0)].element,o=n.getBoundingClientRect(),p=j.getElement().style;p.left=o.right+"px",p.top=o.bottom+"px"}}function c(){k&&(k=clearTimeout(k)),m&&(j.hide(),m=null,g.removeEventListener("mousewheel",c))}function d(a){j.setPosition(a.x,a.y)}var g=a.editor,i=g.renderer.$gutterLayer,j=new e(g.container);a.editor.setDefaultHandler("guttermousedown",function(b){if(g.isFocused()&&0==b.getButton()){var c=i.getRegion(b);if("foldWidgets"!=c){var d=b.getDocumentPosition().row,e=g.session.selection;if(b.getShiftKey())e.selectTo(d,0);else{if(2==b.domEvent.detail)return g.selectAll(),b.preventDefault();a.$clickSelection=g.selection.getLineRange(d)}return a.setState("selectByLines"),a.captureMouse(b),b.preventDefault()}}});var k,l,m;a.editor.setDefaultHandler("guttermousemove",function(e){var g=e.domEvent.target||e.domEvent.srcElement;return f.hasCssClass(g,"ace_fold-widget")?c():(m&&a.$tooltipFollowsMouse&&d(e),l=e,void(k||(k=setTimeout(function(){k=null,l&&!a.isMousePressed?b():c()},50))))}),h.addListener(g.renderer.$gutter,"mouseout",function(a){l=null,m&&!k&&(k=setTimeout(function(){k=null,c()},50))}),g.on("changeSession",c)}function e(a){i.call(this,a)}var f=a("../lib/dom"),g=a("../lib/oop"),h=a("../lib/event"),i=a("../tooltip").Tooltip;g.inherits(e,i),function(){this.setPosition=function(a,b){var c=window.innerWidth||document.documentElement.clientWidth,d=window.innerHeight||document.documentElement.clientHeight,e=this.getWidth(),f=this.getHeight();a+=15,b+=15,a+e>c&&(a-=a+e-c),b+f>d&&(b-=20+f),i.prototype.setPosition.call(this,a,b)}}.call(e.prototype),b.GutterHandler=d}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(a,b,c){function d(a){this.isOpen=!1,this.$element=null,this.$parentNode=a}var e=(a("./lib/oop"),a("./lib/dom"));(function(){this.$init=function(){return this.$element=e.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(a){e.setInnerText(this.getElement(),a)},this.setHtml=function(a){this.getElement().innerHTML=a},this.setPosition=function(a,b){this.getElement().style.left=a+"px",this.getElement().style.top=b+"px"},this.setClassName=function(a){e.addCssClass(this.getElement(),a)},this.show=function(a,b,c){null!=a&&this.setText(a),null!=b&&null!=c&&this.setPosition(b,c),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(d.prototype),b.Tooltip=d}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(a,b,c){var d=a("../lib/event"),e=a("../lib/useragent"),f=b.MouseEvent=function(a,b){this.domEvent=a,this.editor=b,this.x=this.clientX=a.clientX,this.y=this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){d.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){d.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var a=this.editor,b=a.getSelectionRange();if(b.isEmpty())this.$inSelection=!1;else{var c=this.getDocumentPosition();this.$inSelection=b.contains(c.row,c.column)}return this.$inSelection},this.getButton=function(){return d.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=e.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(f.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(a,b,c){function d(a){function b(a,b){var c=Date.now(),d=!b||a.row!=b.row,f=!b||a.column!=b.column;if(!C||d||f)q.$blockScrolling+=1,q.moveCursorToPosition(a),q.$blockScrolling-=1,C=c,D={x:u,y:v};else{var g=e(D.x,D.y,u,v);g>k?C=null:c-C>=j&&(q.renderer.scrollCursorIntoView(),C=null)}}function c(a,b){var c=Date.now(),d=q.renderer.layerConfig.lineHeight,e=q.renderer.layerConfig.characterWidth,f=q.renderer.scroller.getBoundingClientRect(),g={x:{left:u-f.left,right:f.right-u},y:{top:v-f.top,bottom:f.bottom-v}},h=Math.min(g.x.left,g.x.right),j=Math.min(g.y.top,g.y.bottom),k={row:a.row,column:a.column};2>=h/e&&(k.column+=g.x.left=j/d&&(k.row+=g.y.top=i&&q.renderer.scrollCursorIntoView(k):B=c:B=null}function d(){var a=y;y=q.renderer.screenToTextCoordinates(u,v),b(y,a),c(y,a)}function l(){x=q.selection.toOrientedRange(),t=q.session.addMarker(x,"ace_selection",q.getSelectionStyle()),q.clearSelection(),q.isFocused()&&q.renderer.$cursorLayer.setBlinking(!1),clearInterval(w),w=setInterval(d,20),F=0,g.addListener(document,"mousemove",n)}function m(){clearInterval(w),q.session.removeMarker(t),t=null,q.$blockScrolling+=1,q.selection.fromOrientedRange(x),q.$blockScrolling-=1,q.isFocused()&&!A&&q.renderer.$cursorLayer.setBlinking(!q.getReadOnly()),x=null,F=0,B=null,C=null,g.removeListener(document,"mousemove",n)}function n(){null==G&&(G=setTimeout(function(){null!=G&&t&&m()},20))}function o(a){var b=a.types;return!b||Array.prototype.some.call(b,function(a){return"text/plain"==a||"Text"==a})}function p(a){var b=["copy","copymove","all","uninitialized"],c=["move","copymove","linkmove","all","uninitialized"],d=h.isMac?a.altKey:a.ctrlKey,e="uninitialized";try{e=a.dataTransfer.effectAllowed.toLowerCase()}catch(a){}var f="none";return d&&b.indexOf(e)>=0?f="copy":c.indexOf(e)>=0?f="move":b.indexOf(e)>=0&&(f="copy"),f}var q=a.editor,r=f.createElement("img");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h.isOpera&&(r.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(b){a[b]=this[b]},this),q.addEventListener("mousedown",this.onMouseDown.bind(a));var t,u,v,w,x,y,z,A,B,C,D,E=q.container,F=0;this.onDragStart=function(a){if(this.cancelDrag||!E.draggable){var b=this;return setTimeout(function(){b.startSelect(),b.captureMouse(a)},0),a.preventDefault()}x=q.getSelectionRange();var c=a.dataTransfer;c.effectAllowed=q.getReadOnly()?"copy":"copyMove",h.isOpera&&(q.container.appendChild(r),r._top=r.offsetTop),c.setDragImage&&c.setDragImage(r,0,0),h.isOpera&&q.container.removeChild(r),c.clearData(),c.setData("Text",q.session.getTextRange()),A=!0,this.setState("drag")},this.onDragEnd=function(a){if(E.draggable=!1,A=!1,this.setState(null),!q.getReadOnly()){var b=a.dataTransfer.dropEffect;z||"move"!=b||q.session.remove(q.getSelectionRange()),q.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging")},this.onDragEnter=function(a){return!q.getReadOnly()&&o(a.dataTransfer)?(t||l(),F++,a.dataTransfer.dropEffect=z=p(a),g.preventDefault(a)):void 0},this.onDragOver=function(a){return!q.getReadOnly()&&o(a.dataTransfer)?(t||(l(),F++),null!==G&&(G=null),u=a.clientX,v=a.clientY,a.dataTransfer.dropEffect=z=p(a),g.preventDefault(a)):void 0},this.onDragLeave=function(a){return F--,0>=F&&t?(m(),z=null,g.preventDefault(a)):void 0},this.onDrop=function(a){if(t){var b=a.dataTransfer;if(A)switch(z){case"move":x=x.contains(y.row,y.column)?{start:y,end:y}:q.moveText(x,y);break;case"copy":x=q.moveText(x,y,!0)}else{var c=b.getData("Text");x={start:y,end:q.session.insert(y,c)},q.focus(),z=null}return m(),g.preventDefault(a)}},g.addListener(E,"dragstart",this.onDragStart.bind(a)),g.addListener(E,"dragend",this.onDragEnd.bind(a)),g.addListener(E,"dragenter",this.onDragEnter.bind(a)),g.addListener(E,"dragover",this.onDragOver.bind(a)),g.addListener(E,"dragleave",this.onDragLeave.bind(a)),g.addListener(E,"drop",this.onDrop.bind(a));var G=null}function e(a,b,c,d){return Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2))}var f=a("../lib/dom"),g=a("../lib/event"),h=a("../lib/useragent"),i=200,j=200,k=5;(function(){this.dragWait=function(){var a=Date.now()-this.mousedownEvent.time;a>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var a=this.editor.container;a.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(a){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var a=this.editor.container;a.draggable=!0,this.editor.renderer.$cursorLayer.setBlinking(!1),this.editor.setStyle("ace_dragging"),this.setState("dragReady")},this.onMouseDrag=function(a){var b=this.editor.container;if(h.isIE&&"dragReady"==this.state){var c=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>3&&b.dragDrop()}if("dragWait"===this.state){var c=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>0&&(b.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(a){if(this.$dragEnabled){this.mousedownEvent=a;var b=this.editor,c=a.inSelection(),d=a.getButton(),e=a.domEvent.detail||1;if(1===e&&0===d&&c){if(a.editor.inMultiSelectMode&&(a.getAccelKey()||a.getShiftKey()))return;this.mousedownEvent.time=Date.now();var f=a.domEvent.target||a.domEvent.srcElement;if("unselectable"in f&&(f.unselectable="on"),b.getDragDelay()){if(h.isWebKit){this.cancelDrag=!0;var g=b.container;g.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(a,this.onMouseDrag.bind(this)),a.defaultPrevented=!0}}}}).call(d.prototype),b.DragdropHandler=d}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/event_emitter"],function(a,b,c){"no use strict";function d(d){if(k.packaged=d||a.packaged||c.packaged||j.define&&define.packaged,!j.document)return"";for(var f={},g="",h=document.getElementsByTagName("script"),i=0;io;o++){var q=n[o];0===q.name.indexOf("data-ace-")&&(f[e(q.name.replace(/^data-ace-/,""))]=q.value)}var r=m.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);r&&(g=r[1])}}g&&(f.base=f.base||g,f.packaged=!0),f.basePath=f.base,f.workerPath=f.workerPath||f.base,f.modePath=f.modePath||f.base,f.themePath=f.themePath||f.base,delete f.base;for(var s in f)"undefined"!=typeof f[s]&&b.set(s,f[s])}function e(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}var f=a("./lib/lang"),g=a("./lib/oop"),h=a("./lib/net"),i=a("./lib/event_emitter").EventEmitter,j=function(){return this}(),k={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};b.get=function(a){if(!k.hasOwnProperty(a))throw new Error("Unknown config key: "+a);return k[a]},b.set=function(a,b){if(!k.hasOwnProperty(a))throw new Error("Unknown config key: "+a);k[a]=b},b.all=function(){return f.copyObject(k)},g.implement(b,i),b.moduleUrl=function(a,b){if(k.$moduleUrls[a])return k.$moduleUrls[a];var c=a.split("/");b=b||c[c.length-2]||"";var d="snippets"==b?"/":"-",e=c[c.length-1];if("-"==d){var f=new RegExp("^"+b+"[\\-_]|[\\-_]"+b+"$","g");e=e.replace(f,"")}(!e||e==b)&&c.length>1&&(e=c[c.length-2]);var g=k[b+"Path"];return null==g?g=k.basePath:"/"==d&&(b=d=""),g&&"/"!=g.slice(-1)&&(g+="/"),g+b+d+e+this.get("suffix")},b.setModuleUrl=function(a,b){return k.$moduleUrls[a]=b},b.$loading={},b.loadModule=function(c,d){var e,f;Array.isArray(c)&&(f=c[0],c=c[1]);try{e=a(c)}catch(g){}if(e&&!b.$loading[c])return d&&d(e);if(b.$loading[c]||(b.$loading[c]=[]),b.$loading[c].push(d),!(b.$loading[c].length>1)){var i=function(){a([c],function(a){b._emit("load.module",{name:c,module:a});var d=b.$loading[c];b.$loading[c]=null,d.forEach(function(b){b&&b(a)})})};return b.get("packaged")?void h.loadScript(b.moduleUrl(c,f),i):i()}},b.init=d;var l={setOptions:function(a){Object.keys(a).forEach(function(b){this.setOption(b,a[b])},this)},getOptions:function(a){var b={};return a?Array.isArray(a)||(b=a,a=Object.keys(b)):a=Object.keys(this.$options),a.forEach(function(a){b[a]=this.getOption(a)},this),b},setOption:function(a,b){if(this["$"+a]!==b){var c=this.$options[a];if(!c)return void("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+a+'"'));if(c.forwardTo)return this[c.forwardTo]&&this[c.forwardTo].setOption(a,b);c.handlesSet||(this["$"+a]=b),c&&c.set&&c.set.call(this,b)}},getOption:function(a){var b=this.$options[a];return b?b.forwardTo?this[b.forwardTo]&&this[b.forwardTo].getOption(a):b&&b.get?b.get.call(this):this["$"+a]:void("undefined"!=typeof console&&console.warn&&console.warn('misspelled option "'+a+'"'))}},m={};b.defineOptions=function(a,b,c){return a.$options||(m[b]=a.$options={}),Object.keys(c).forEach(function(b){var d=c[b];"string"==typeof d&&(d={forwardTo:d}),d.name||(d.name=b),a.$options[d.name]=d,"initialValue"in d&&(a["$"+d.name]=d.initialValue)}),g.implement(a,l),this},b.resetOptions=function(a){Object.keys(a.$options).forEach(function(b){var c=a.$options[b];"value"in c&&a.setOption(b,c.value)})},b.setDefaultValue=function(a,c,d){var e=m[a]||(m[a]={});e[c]&&(e.forwardTo?b.setDefaultValue(e.forwardTo,c,d):e[c].value=d)},b.setDefaultValues=function(a,c){Object.keys(c).forEach(function(d){b.setDefaultValue(a,d,c[d])})}}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(a,b,c){var d=a("./dom");b.get=function(a,b){var c=new XMLHttpRequest;c.open("GET",a,!0),c.onreadystatechange=function(){4===c.readyState&&b(c.responseText)},c.send(null)},b.loadScript=function(a,b){var c=d.getDocumentHead(),e=document.createElement("script");e.src=a,c.appendChild(e),e.onload=e.onreadystatechange=function(a,c){(c||!e.readyState||"loaded"==e.readyState||"complete"==e.readyState)&&(e=e.onload=e.onreadystatechange=null,c||b())}},b.qualifyURL=function(a){var b=document.createElement("a");return b.href=a,b.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(a,b,c){var d={},e=function(){this.propagationStopped=!0},f=function(){this.defaultPrevented=!0};d._emit=d._dispatchEvent=function(a,b){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var c=this._eventRegistry[a]||[],d=this._defaultHandlers[a];if(c.length||d){"object"==typeof b&&b||(b={}),b.type||(b.type=a),b.stopPropagation||(b.stopPropagation=e),b.preventDefault||(b.preventDefault=f),c=c.slice();for(var g=0;ga?!1:a>=4352&&4447>=a||a>=4515&&4519>=a||a>=4602&&4607>=a||a>=9001&&9002>=a||a>=11904&&11929>=a||a>=11931&&12019>=a||a>=12032&&12245>=a||a>=12272&&12283>=a||a>=12288&&12350>=a||a>=12353&&12438>=a||a>=12441&&12543>=a||a>=12549&&12589>=a||a>=12593&&12686>=a||a>=12688&&12730>=a||a>=12736&&12771>=a||a>=12784&&12830>=a||a>=12832&&12871>=a||a>=12880&&13054>=a||a>=13056&&19903>=a||a>=19968&&42124>=a||a>=42128&&42182>=a||a>=43360&&43388>=a||a>=44032&&55203>=a||a>=55216&&55238>=a||a>=55243&&55291>=a||a>=63744&&64255>=a||a>=65040&&65049>=a||a>=65072&&65106>=a||a>=65108&&65126>=a||a>=65128&&65131>=a||a>=65281&&65376>=a||a>=65504&&65510>=a}d.implement(this,g),this.setDocument=function(a){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=a,a.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(a){if(!a)return this.$docRowCache=[],void(this.$screenRowCache=[]);var b=this.$docRowCache.length,c=this.$getRowCacheIndex(this.$docRowCache,a)+1;b>c&&(this.$docRowCache.splice(c,b),this.$screenRowCache.splice(c,b))},this.$getRowCacheIndex=function(a,b){for(var c=0,d=a.length-1;d>=c;){var e=c+d>>1,f=a[e];if(b>f)c=e+1;else{if(!(f>b))return e;d=e-1}}return c-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(a){var b=a.data;this.$resetRowCache(b.start.row)},this.onChange=function(a){var b=a.data;this.$modified=!0,this.$resetRowCache(b.range.start.row);var c=this.$updateInternalDataOnChange(a);this.$fromUndo||!this.$undoManager||b.ignore||(this.$deltasDoc.push(b),c&&0!=c.length&&this.$deltasFold.push({action:"removeFolds",folds:c}),this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(b),this._signal("change",a)},this.setValue=function(a){this.doc.setValue(a),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(a){return this.bgTokenizer.getState(a)},this.getTokens=function(a){return this.bgTokenizer.getTokens(a)},this.getTokenAt=function(a,b){var c,d=this.bgTokenizer.getTokens(a),e=0;if(null==b)f=d.length-1,e=this.getLine(a).length;else for(var f=0;f=b));f++);return(c=d[f])?(c.index=f,c.start=e-c.value.length,c):null},this.setUndoManager=function(a){if(this.$undoManager=a,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),a){var b=this;this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.$deltasFold.length&&(b.$deltas.push({group:"fold",deltas:b.$deltasFold}),b.$deltasFold=[]),b.$deltasDoc.length&&(b.$deltas.push({group:"doc",deltas:b.$deltasDoc}),b.$deltasDoc=[]),b.$deltas.length>0&&a.execute({action:"aceupdate",args:[b.$deltas,b],merge:b.mergeUndoDeltas}),b.mergeUndoDeltas=!1,b.$deltas=[]},this.$informUndoManager=e.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?e.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(a){this.setOption("useSoftTabs",a)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(a){this.setOption("tabSize",a)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(a){this.setOption("overwrite",a)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(a,b){this.$decorations[a]||(this.$decorations[a]=""),this.$decorations[a]+=" "+b,this._signal("changeBreakpoint",{}); +},this.removeGutterDecoration=function(a,b){this.$decorations[a]=(this.$decorations[a]||"").replace(" "+b,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(a){this.$breakpoints=[];for(var b=0;b0&&(d=!!c.charAt(b-1).match(this.tokenRe)),d||(d=!!c.charAt(b).match(this.tokenRe)),d)var e=this.tokenRe;else if(/^\s+$/.test(c.slice(b-1,b+1)))var e=/\s/;else var e=this.nonTokenRe;var f=b;if(f>0){do f--;while(f>=0&&c.charAt(f).match(e));f++}for(var g=b;ga&&(a=b.screenWidth)}),this.lineWidgetWidth=a},this.$computeWidth=function(a){if(this.$modified||a){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var b=this.doc.getAllLines(),c=this.$rowLengthCache,d=0,e=0,f=this.$foldData[e],g=f?f.start.row:1/0,h=b.length,i=0;h>i;i++){if(i>g){if(i=f.end.row+1,i>=h)break;f=this.$foldData[e++],g=f?f.start.row:1/0}null==c[i]&&(c[i]=this.$getStringScreenWidth(b[i])[0]),c[i]>d&&(d=c[i])}this.screenWidth=d}},this.getLine=function(a){return this.doc.getLine(a)},this.getLines=function(a,b){return this.doc.getLines(a,b)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(a){return this.doc.getTextRange(a||this.selection.getRange())},this.insert=function(a,b){return this.doc.insert(a,b)},this.remove=function(a){return this.doc.remove(a)},this.undoChanges=function(a,b){if(a.length){this.$fromUndo=!0;for(var c=null,d=a.length-1;-1!=d;d--){var e=a[d];"doc"==e.group?(this.doc.revertDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!0,c)):e.deltas.forEach(function(a){this.addFolds(a.folds)},this)}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c}},this.redoChanges=function(a,b){if(a.length){this.$fromUndo=!0;for(var c=null,d=0;da.end.column&&(f.start.column+=h),f.end.row==a.end.row&&f.end.column>a.end.column&&(f.end.column+=h)),g&&f.start.row>=a.end.row&&(f.start.row+=g,f.end.row+=g)}if(f.end=this.insert(f.start,d),e.length){var i=a.start,k=f.start,g=k.row-i.row,h=k.column-i.column;this.addFolds(e.map(function(a){return a=a.clone(),a.start.row==i.row&&(a.start.column+=h),a.end.row==i.row&&(a.end.column+=h),a.start.row+=g,a.end.row+=g,a}))}return f},this.indentRows=function(a,b,c){c=c.replace(/\t/g,this.getTabString());for(var d=a;b>=d;d++)this.insert({row:d,column:0},c)},this.outdentRows=function(a){for(var b=a.collapseRows(),c=new j(0,0,0,0),d=this.getTabSize(),e=b.start.row;e<=b.end.row;++e){var f=this.getLine(e);c.start.row=e,c.end.row=e;for(var g=0;d>g&&" "==f.charAt(g);++g);d>g&&" "==f.charAt(g)?(c.start.column=g,c.end.column=g+1):(c.start.column=0,c.end.column=g),this.remove(c)}},this.$moveLines=function(a,b,c){if(a=this.getRowFoldStart(a),b=this.getRowFoldEnd(b),0>c){var d=this.getRowFoldStart(a+c);if(0>d)return 0;var e=d-a}else if(c>0){var d=this.getRowFoldEnd(b+c);if(d>this.doc.getLength()-1)return 0;var e=d-b}else{a=this.$clipRowToDocument(a),b=this.$clipRowToDocument(b);var e=b-a+1}var f=new j(a,0,b,Number.MAX_VALUE),g=this.getFoldsInRange(f).map(function(a){return a=a.clone(),a.start.row+=e,a.end.row+=e,a}),h=0==c?this.doc.getLines(a,b):this.doc.removeLines(a,b);return this.doc.insertLines(a+e,h),g.length&&this.addFolds(g),e},this.moveLinesUp=function(a,b){return this.$moveLines(a,b,-1)},this.moveLinesDown=function(a,b){return this.$moveLines(a,b,1)},this.duplicateLines=function(a,b){return this.$moveLines(a,b,0)},this.$clipRowToDocument=function(a){return Math.max(0,Math.min(a,this.doc.getLength()-1))},this.$clipColumnToRow=function(a,b){return 0>b?0:Math.min(this.doc.getLine(a).length,b)},this.$clipPositionToDocument=function(a,b){if(b=Math.max(0,b),0>a)a=0,b=0;else{var c=this.doc.getLength();a>=c?(a=c-1,b=this.doc.getLine(c-1).length):b=Math.min(this.doc.getLine(a).length,b)}return{row:a,column:b}},this.$clipRangeToDocument=function(a){a.start.row<0?(a.start.row=0,a.start.column=0):a.start.column=this.$clipColumnToRow(a.start.row,a.start.column);var b=this.doc.getLength()-1;return a.end.row>b?(a.end.row=b,a.end.column=this.doc.getLine(b).length):a.end.column=this.$clipColumnToRow(a.end.row,a.end.column),a},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(a){if(a!=this.$useWrapMode){if(this.$useWrapMode=a,this.$modified=!0,this.$resetRowCache(0),a){var b=this.getLength();this.$wrapData=Array(b),this.$updateWrapData(0,b-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(a,b){(this.$wrapLimitRange.min!==a||this.$wrapLimitRange.max!==b)&&(this.$wrapLimitRange={min:a,max:b},this.$modified=!0,this._signal("changeWrapMode"))},this.adjustWrapLimit=function(a,b){var c=this.$wrapLimitRange;c.max<0&&(c={min:b,max:b});var d=this.$constrainWrapLimit(a,c.min,c.max);return d!=this.$wrapLimit&&d>1?(this.$wrapLimit=d,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(a,b,c){return b&&(a=Math.max(b,a)),c&&(a=Math.min(c,a)),a},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(a){this.setWrapLimitRange(a,a)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(a){var b,c=this.$useWrapMode,d=a.data.action,e=a.data.range.start.row,f=a.data.range.end.row,g=a.data.range.start,h=a.data.range.end,i=null;if(-1!=d.indexOf("Lines")?(f="insertLines"==d?e+a.data.lines.length:e,b=a.data.lines?a.data.lines.length:f-e):b=f-e,this.$updating=!0,0!=b)if(-1!=d.indexOf("remove")){this[c?"$wrapData":"$rowLengthCache"].splice(e,b);var j=this.$foldData;i=this.getFoldsInRange(a.data.range),this.removeFolds(i);var k=this.getFoldLine(h.row),l=0;if(k){k.addRemoveChars(h.row,h.column,g.column-h.column),k.shiftRow(-b);var m=this.getFoldLine(e);m&&m!==k&&(m.merge(k),k=m),l=j.indexOf(k)+1}for(l;l=h.row&&k.shiftRow(-b)}f=e}else{var n=Array(b);n.unshift(e,0);var o=c?this.$wrapData:this.$rowLengthCache;o.splice.apply(o,n);var j=this.$foldData,k=this.getFoldLine(e),l=0;if(k){var p=k.range.compareInside(g.row,g.column);0==p?(k=k.split(g.row,g.column),k.shiftRow(b),k.addRemoveChars(f,0,h.column-g.column)):-1==p&&(k.addRemoveChars(e,0,h.column-g.column),k.shiftRow(b)),l=j.indexOf(k)+1}for(l;l=e&&k.shiftRow(b)}}else{b=Math.abs(a.data.range.start.column-a.data.range.end.column),-1!=d.indexOf("remove")&&(i=this.getFoldsInRange(a.data.range),this.removeFolds(i),b=-b);var k=this.getFoldLine(e);k&&k.addRemoveChars(e,g.column,b)}return c&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,c?this.$updateWrapData(e,f):this.$updateRowLengthCache(e,f),i},this.$updateRowLengthCache=function(a,b,c){this.$rowLengthCache[a]=null,this.$rowLengthCache[b]=null},this.$updateWrapData=function(a,b){var c,d,e=this.doc.getAllLines(),f=this.getTabSize(),g=this.$wrapData,h=this.$wrapLimit,i=a;for(b=Math.min(b,e.length-1);b>=i;)d=this.getFoldLine(i,d),d?(c=[],d.walk(function(a,b,d,f){var g;if(null!=a){g=this.$getDisplayTokens(a,c.length),g[0]=k;for(var h=1;hb;){var i=f+b;if(a[i-1]>=p&&a[i]>=p)c(i);else if(a[i]!=k&&a[i]!=n){for(var j=Math.max(i-(h?10:b-(b>>2)),f-1);i>j&&a[i]j&&a[i]j&&a[i]==o;)i--}else for(;i>j&&a[i]j?c(++i):(i=f+b,c(i))}else{for(i;i!=f-1&&a[i]!=k;i--);if(i>f){c(i);continue}for(i=f+b;ij;j++)f.push(r)}else 32==i?f.push(p):i>39&&48>i||i>57&&64>i?f.push(o):i>=4352&&b(i)?f.push(c,h):f.push(c)}return f},this.$getStringScreenWidth=function(a,c,d){if(0==c)return[0,0];null==c&&(c=1/0),d=d||0;var e,f;for(f=0;f=4352&&b(e)?2:1,!(d>c));f++);return[d,f]},this.lineWidgets=null,this.getRowLength=function(a){if(this.lineWidgets)var b=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0;else b=0;return this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1+b:1+b},this.getRowLineCount=function(a){return this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1:1},this.getScreenLastRowColumn=function(a){var b=this.screenToDocumentPosition(a,Number.MAX_VALUE);return this.documentToScreenColumn(b.row,b.column)},this.getDocumentLastRowColumn=function(a,b){var c=this.documentToScreenRow(a,b);return this.getScreenLastRowColumn(c)},this.getDocumentLastRowColumnPosition=function(a,b){var c=this.documentToScreenRow(a,b);return this.screenToDocumentPosition(c,Number.MAX_VALUE/10)},this.getRowSplitData=function(a){return this.$useWrapMode?this.$wrapData[a]:void 0},this.getScreenTabSize=function(a){return this.$tabSize-a%this.$tabSize},this.screenToDocumentRow=function(a,b){return this.screenToDocumentPosition(a,b).row},this.screenToDocumentColumn=function(a,b){return this.screenToDocumentPosition(a,b).column},this.screenToDocumentPosition=function(a,b){if(0>a)return{row:0,column:0};var c,d,e=0,f=0,g=0,h=0,i=this.$screenRowCache,j=this.$getRowCacheIndex(i,a),k=i.length;if(k&&j>=0)var g=i[j],e=this.$docRowCache[j],l=a>i[k-1];else var l=!k;for(var m=this.getLength()-1,n=this.getNextFoldLine(e),o=n?n.start.row:1/0;a>=g&&(h=this.getRowLength(e),!(g+h>a||e>=m));)g+=h,e++,e>o&&(e=n.end.row+1,n=this.getNextFoldLine(e,n),o=n?n.start.row:1/0),l&&(this.$docRowCache.push(e),this.$screenRowCache.push(g));if(n&&n.start.row<=e)c=this.getFoldDisplayLine(n),e=n.start.row;else{if(a>=g+h||e>m)return{row:m,column:this.getLine(m).length};c=this.getLine(e),n=null}if(this.$useWrapMode){var p=this.$wrapData[e];if(p){var q=Math.floor(a-g);d=p[q],q>0&&p.length&&(f=p[q-1]||p[p.length-1],c=c.substring(f))}}return f+=this.$getStringScreenWidth(c,b)[1],this.$useWrapMode&&f>=d&&(f=d-1),n?n.idxToPosition(f):{row:e,column:f}},this.documentToScreenPosition=function(a,b){if("undefined"==typeof b)var c=this.$clipPositionToDocument(a.row,a.column);else c=this.$clipPositionToDocument(a,b);a=c.row,b=c.column;var d=0,e=null,f=null;f=this.getFoldAt(a,b,1),f&&(a=f.start.row,b=f.start.column);var g,h=0,i=this.$docRowCache,j=this.$getRowCacheIndex(i,a),k=i.length;if(k&&j>=0)var h=i[j],d=this.$screenRowCache[j],l=a>i[k-1];else var l=!k;for(var m=this.getNextFoldLine(h),n=m?m.start.row:1/0;a>h;){if(h>=n){if(g=m.end.row+1,g>a)break;m=this.getNextFoldLine(g,m),n=m?m.start.row:1/0}else g=h+1;d+=this.getRowLength(h),h=g,l&&(this.$docRowCache.push(h),this.$screenRowCache.push(d))}var o="";if(m&&h>=n?(o=this.getFoldDisplayLine(m,a,b),e=m.start.row):(o=this.getLine(a).substring(0,b),e=a),this.$useWrapMode){var p=this.$wrapData[e];if(p){for(var q=0;o.length>=p[q];)d++,q++;o=o.substring(p[q-1]||0,o.length)}}return{row:d,column:this.$getStringScreenWidth(o)[0]}},this.documentToScreenColumn=function(a,b){return this.documentToScreenPosition(a,b).column},this.documentToScreenRow=function(a,b){return this.documentToScreenPosition(a,b).row},this.getScreenLength=function(){var a=0,b=null;if(this.$useWrapMode)for(var c=this.$wrapData.length,d=0,e=0,b=this.$foldData[e++],f=b?b.start.row:1/0;c>d;){var g=this.$wrapData[d];a+=g?g.length+1:1,d++,d>f&&(d=b.end.row+1,b=this.$foldData[e++],f=b?b.start.row:1/0)}else{a=this.getLength();for(var h=this.$foldData,e=0;eb.row||a.row==b.row&&a.column>b.column},this.getRange=function(){var a=this.anchor,b=this.lead;return this.isEmpty()?g.fromPoints(b,b):this.isBackwards()?g.fromPoints(b,a):g.fromPoints(a,b)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var a=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(a,this.doc.getLine(a).length)},this.setRange=this.setSelectionRange=function(a,b){b?(this.setSelectionAnchor(a.end.row,a.end.column),this.selectTo(a.start.row,a.start.column)):(this.setSelectionAnchor(a.start.row,a.start.column),this.selectTo(a.end.row,a.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(a){var b=this.lead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column),a.call(this)},this.selectTo=function(a,b){this.$moveSelection(function(){this.moveCursorTo(a,b)})},this.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},this.moveTo=function(a,b){this.clearSelection(),this.moveCursorTo(a,b)},this.moveToPosition=function(a){this.clearSelection(),this.moveCursorToPosition(a)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(a,b){if("undefined"==typeof b){var c=a||this.lead;a=c.row,b=c.column}return this.session.getWordRange(a,b)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var a=this.getCursor(),b=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(b)},this.getLineRange=function(a,b){var c,d="number"==typeof a?a:this.lead.row,e=this.session.getFoldLine(d);return e?(d=e.start.row,c=e.end.row):c=d,b===!0?new g(d,0,c,this.session.getLine(c).length):new g(d,0,c+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var a,b=this.lead.getPosition();if(a=this.session.getFoldAt(b.row,b.column,-1))this.moveCursorTo(a.start.row,a.start.column);else if(0==b.column)b.row>0&&this.moveCursorTo(b.row-1,this.doc.getLine(b.row-1).length);else{var c=this.session.getTabSize();this.session.isTabStop(b)&&this.doc.getLine(b.row).slice(b.column-c,b.column).split(" ").length-1==c?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var a,b=this.lead.getPosition();if(a=this.session.getFoldAt(b.row,b.column,1))this.moveCursorTo(a.end.row,a.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(b.column=d)}}this.moveCursorTo(b.row,b.column)},this.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,b=this.doc.getLine(a).length;this.moveCursorTo(a,b)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var a,b=this.lead.row,c=this.lead.column,d=this.doc.getLine(b),e=d.substring(c);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var f=this.session.getFoldAt(b,c,1);return f?void this.moveCursorTo(f.end.row,f.end.column):((a=this.session.nonTokenRe.exec(e))&&(c+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=d.substring(c)),c>=d.length?(this.moveCursorTo(b,d.length),this.moveCursorRight(),void(b=c?(this.moveCursorTo(b,0),this.moveCursorLeft(),void(b>0&&this.moveCursorWordLeft())):((f=this.session.tokenRe.exec(g))&&(c-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(b,c))},this.$shortWordEndIndex=function(a){var b,c,d=0,e=/\s/,f=this.session.tokenRe;if(f.lastIndex=0,b=this.session.tokenRe.exec(a))d=this.session.tokenRe.lastIndex;else{for(;(c=a[d])&&e.test(c);)d++;if(1>d)for(f.lastIndex=0;(c=a[d])&&!f.test(c);)if(f.lastIndex=0,d++,e.test(c)){if(d>2){d--;break}for(;(c=a[d])&&e.test(c);)d++;if(d>2)break}}return f.lastIndex=0,d},this.moveCursorShortWordRight=function(){var a=this.lead.row,b=this.lead.column,c=this.doc.getLine(a),d=c.substring(b),e=this.session.getFoldAt(a,b,1);if(e)return this.moveCursorTo(e.end.row,e.end.column);if(b==c.length){var f=this.doc.getLength();do a++,d=this.doc.getLine(a);while(f>a&&/^\s*$/.test(d));/^\s+/.test(d)||(d=""),b=0}var g=this.$shortWordEndIndex(d);this.moveCursorTo(a,b+g)},this.moveCursorShortWordLeft=function(){var a,b=this.lead.row,c=this.lead.column;if(a=this.session.getFoldAt(b,c,-1))return this.moveCursorTo(a.start.row,a.start.column);var d=this.session.getLine(b).substring(0,c);if(0==c){do b--,d=this.doc.getLine(b);while(b>0&&/^\s*$/.test(d));c=d.length,/\s+$/.test(d)||(d="")}var f=e.stringReverse(d),g=this.$shortWordEndIndex(f);return this.moveCursorTo(b,c-g)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(a,b){var c=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===b&&(this.$desiredColumn?c.column=this.$desiredColumn:this.$desiredColumn=c.column);var d=this.session.screenToDocumentPosition(c.row+a,c.column);0!==a&&0===b&&d.row===this.lead.row&&d.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[d.row]&&d.row++,this.moveCursorTo(d.row,d.column+b,0===b)},this.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},this.moveCursorTo=function(a,b,c){var d=this.session.getFoldAt(a,b,1);d&&(a=d.start.row,b=d.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(a,b),this.$keepDesiredColumnOnChange=!1,c||(this.$desiredColumn=null)},this.moveCursorToScreen=function(a,b,c){var d=this.session.screenToDocumentPosition(a,b);this.moveCursorTo(d.row,d.column,c)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(a){this.setSelectionRange(a,a.cursor==a.start),this.$desiredColumn=a.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(a){var b=this.getRange();return a?(a.start.column=b.start.column,a.start.row=b.start.row,a.end.column=b.end.column,a.end.row=b.end.row):a=b,a.cursor=this.isBackwards()?a.start:a.end,a.desiredColumn=this.$desiredColumn,a},this.getRangeOfMovements=function(a){var b=this.getCursor();try{a.call(null,this);var c=this.getCursor();return g.fromPoints(b,c)}catch(d){return g.fromPoints(b,b)}finally{this.moveCursorToPosition(b)}},this.toJSON=function(){if(this.rangeCount)var a=this.ranges.map(function(a){var b=a.clone();return b.isBackwards=a.cursor==a.start,b});else{var a=this.getRange();a.isBackwards=this.isBackwards()}return a},this.fromJSON=function(a){if(void 0==a.start){if(this.rangeList){this.toSingleRange(a[0]);for(var b=a.length;b--;){var c=g.fromPoints(a[b].start,a[b].end);a.isBackwards&&(c.cursor=c.start),this.addRange(c,!0)}return}a=a[0]}this.rangeList&&this.toSingleRange(a),this.setSelectionRange(a,a.isBackwards)},this.isEqual=function(a){if((a.length||this.rangeCount)&&a.length!=this.rangeCount)return!1;if(!a.length||!this.ranges)return this.getRange().isEqual(a);for(var b=this.ranges.length;b--;)if(!this.ranges[b].isEqual(a[b]))return!1;return!0}}).call(h.prototype),b.Selection=h}),define("ace/range",["require","exports","module"],function(a,b,c){var d=function(a,b){return a.row-b.row||a.column-b.column},e=function(a,b,c,d){this.start={row:a,column:b},this.end={row:c,column:d}};(function(){this.isEqual=function(a){return this.start.row===a.start.row&&this.end.row===a.end.row&&this.start.column===a.start.column&&this.end.column===a.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(a,b){return 0==this.compare(a,b)},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),1==b?(b=this.compare(d.row,d.column),1==b?2:0==b?1:0):-1==b?-2:(b=this.compare(d.row,d.column), +-1==b?-1:1==b?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return 0==this.comparePoint(a.start)&&0==this.comparePoint(a.end)},this.intersects=function(a){var b=this.compareRange(a);return-1==b||0==b||1==b},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){"object"==typeof a?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){"object"==typeof a?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return 0==this.compare(a,b)?this.isEnd(a,b)||this.isStart(a,b)?!1:!0:!1},this.insideStart=function(a,b){return 0==this.compare(a,b)?this.isEnd(a,b)?!1:!0:!1},this.insideEnd=function(a,b){return 0==this.compare(a,b)?this.isStart(a,b)?!1:!0:!1},this.compare=function(a,b){return this.isMultiLine()||a!==this.start.row?athis.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0:bthis.end.column?1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};else if(this.end.rowb)var d={row:b+1,column:0};else if(this.start.row=b;b++)a(f.getLine(b),b)}var f=b.doc,g=!0,i=!0,j=1/0,k=b.getTabSize(),l=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var m=this.lineCommentStart.map(h.escapeRegExp).join("|"),n=this.lineCommentStart[0];else var m=h.escapeRegExp(this.lineCommentStart),n=this.lineCommentStart;m=new RegExp("^(\\s*)(?:"+m+") ?"),l=b.getUseSoftTabs();var o=function(a,b){var c=a.match(m);if(c){var d=c[1].length,e=c[0].length;s(a,d,e)||" "!=c[0][e-1]||e--,f.removeInLine(b,d,e)}},p=n+" ",q=function(a,b){(!g||/\S/.test(a))&&(s(a,j,j)?f.insertInLine({row:b,column:j},p):f.insertInLine({row:b,column:j},n))},r=function(a,b){return m.test(a)},s=function(a,b,c){for(var d=0;b--&&" "==a.charAt(b);)d++;if(d%k!=0)return!1;for(var d=0;" "==a.charAt(c++);)d++;return k>2?d%k!=k-1:d%k==0}}else{if(!this.blockComment)return!1;var n=this.blockComment.start,t=this.blockComment.end,m=new RegExp("^(\\s*)(?:"+h.escapeRegExp(n)+")"),u=new RegExp("(?:"+h.escapeRegExp(t)+")\\s*$"),q=function(a,b){r(a,b)||(!g||/\S/.test(a))&&(f.insertInLine({row:b,column:a.length},t),f.insertInLine({row:b,column:j},n))},o=function(a,b){var c;(c=a.match(u))&&f.removeInLine(b,a.length-c[0].length,a.length),(c=a.match(m))&&f.removeInLine(b,c[1].length,c[0].length)},r=function(a,c){if(m.test(a))return!0;for(var d=b.getTokens(c),e=0;ec&&(j=c),i&&!r(a,b)&&(i=!1)):v>a.length&&(v=a.length)}),j==1/0&&(j=v,g=!1,i=!1),l&&j%k!=0&&(j=Math.floor(j/k)*k),e(i?o:q)},this.toggleBlockComment=function(a,b,c,d){var e=this.blockComment;if(e){!e.start&&e[0]&&(e=e[0]);var f,g,h=new i(b,d.row,d.column),k=h.getCurrentToken(),l=(b.selection,b.selection.toOrientedRange());if(k&&/comment/.test(k.type)){for(var m,n;k&&/comment/.test(k.type);){var o=k.value.indexOf(e.start);if(-1!=o){var p=h.getCurrentTokenRow(),q=h.getCurrentTokenColumn()+o;m=new j(p,q,p,q+e.start.length);break}k=h.stepBackward()}for(var h=new i(b,d.row,d.column),k=h.getCurrentToken();k&&/comment/.test(k.type);){var o=k.value.indexOf(e.end);if(-1!=o){var p=h.getCurrentTokenRow(),q=h.getCurrentTokenColumn()+o;n=new j(p,q,p,q+e.end.length);break}k=h.stepForward()}n&&b.remove(n),m&&(b.remove(m),f=m.start.row,g=-e.start.length)}else g=e.start.length,f=c.start.row,b.insert(c.end,e.end),b.insert(c.start,e.start);l.start.row==f&&(l.start.column+=g),l.end.row==f&&(l.end.column+=g),b.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)},this.checkOutdent=function(a,b,c){return!1},this.autoOutdent=function(a,b,c){},this.$getIndent=function(a){return a.match(/^\s*/)[0]},this.createWorker=function(a){return null},this.createModeDelegates=function(a){this.$embeds=[],this.$modes={};for(var b in a)a[b]&&(this.$embeds.push(b),this.$modes[b]=new a[b]);for(var c=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],b=0;bf;f++)if("string"==typeof e[f].token)/keyword|support|storage/.test(e[f].token)&&c.push(e[f].regex);else if("object"==typeof e[f].token)for(var h=0,i=e[f].token.length;i>h;h++)if(/keyword|support|storage/.test(e[f].token[h])){var d=e[f].regex.match(/\(.+?\)/g)[h];c.push(d.substr(1,d.length-2))}this.completionKeywords=c}return a?c.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(a,b,c,d){var e=this.$keywordList||this.$createKeywordList();return e.map(function(a){return{name:a,value:a,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(k.prototype),b.Mode=k}),define("ace/tokenizer",["require","exports","module"],function(a,b,c){var d=1e3,e=function(a){this.states=a,this.regExps={},this.matchMappings={};for(var b in this.states){for(var c=this.states[b],d=[],e=0,f=this.matchMappings[b]={defaultToken:"text"},g="g",h=[],i=0;i1?j.onMatch=this.$applyToken:j.onMatch=j.token);l>1&&(/\\\d/.test(j.regex)?k=j.regex.replace(/\\([0-9]+)/g,function(a,b){return"\\"+(parseInt(b,10)+e+1)}):(l=1,k=this.removeCapturingGroups(j.regex)),j.splitRegex||"string"==typeof j.token||h.push(j)),f[e]=i,e+=l,d.push(k),j.onMatch||(j.onMatch=null)}}h.forEach(function(a){a.splitRegex=this.createSplitterRegexp(a.regex,g)},this),this.regExps[b]=new RegExp("("+d.join(")|(")+")|($)",g)}};(function(){this.$setMaxTokenCount=function(a){d=0|a},this.$applyToken=function(a){var b=this.splitRegex.exec(a).slice(1),c=this.token.apply(this,b);if("string"==typeof c)return[{type:c,value:a}];for(var d=[],e=0,f=c.length;f>e;e++)b[e]&&(d[d.length]={type:c[e],value:b[e]});return d},this.$arrayTokens=function(a){if(!a)return[];var b=this.splitRegex.exec(a);if(!b)return"text";for(var c=[],d=this.tokenArray,e=0,f=d.length;f>e;e++)b[e+1]&&(c[c.length]={type:d[e],value:b[e+1]});return c},this.removeCapturingGroups=function(a){var b=a.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(a,b){return b?"(?:":a});return b},this.createSplitterRegexp=function(a,b){if(-1!=a.indexOf("(?=")){var c=0,d=!1,e={};a.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(a,b,f,g,h,i){return d?d="]"!=h:h?d=!0:g?(c==e.stack&&(e.end=i+1,e.stack=-1),c--):f&&(c++,1!=f.length&&(e.stack=c,e.start=i)),a}),null!=e.end&&/^\)*$/.test(a.substr(e.end))&&(a=a.substring(0,e.start)+a.substr(e.end))}return new RegExp(a,(b||"").replace("g",""))},this.getLineTokens=function(a,b){if(b&&"string"!=typeof b){var c=b.slice(0);b=c[0]}else var c=[];var e=b||"start",f=this.states[e];f||(e="start",f=this.states[e]);var g=this.matchMappings[e],h=this.regExps[e];h.lastIndex=0;for(var i,j=[],k=0,l={type:null,value:""};i=h.exec(a);){var m=g.defaultToken,n=null,o=i[0],p=h.lastIndex;if(p-o.length>k){var q=a.substring(k,p-o.length);l.type==m?l.value+=q:(l.type&&j.push(l),l={type:m,value:q})}for(var r=0;rd){for(;k1&&c[0]!==e&&c.unshift(e),{tokens:j,state:c.length?c:e}}}).call(e.prototype),b.Tokenizer=e}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(a,b,c){var d=a("../lib/lang"),e=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(a,b){if(b)for(var c in a){for(var d=a[c],e=0;e=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var a=this.$rowTokens,b=this.$tokenIndex,c=a[b].start;if(void 0!==c)return c;for(c=0;b>0;)b-=1,c+=a[b].value.length;return c}}).call(d.prototype),b.TokenIterator=d}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=a("./range").Range,g=a("./anchor").Anchor,h=function(a){this.$lines=[],0===a.length?this.$lines=[""]:Array.isArray(a)?this._insertLines(0,a):this.insert({row:0,column:0},a)};(function(){d.implement(this,e),this.setValue=function(a){var b=this.getLength();this.remove(new f(0,0,b,this.getLine(b-1).length)),this.insert({row:0,column:0},a)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(a,b){return new g(this,a,b)},0==="aaa".split(/a/).length?this.$split=function(a){return a.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(a){return a.split(/\r\n|\r|\n/)},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=b?b[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(a){this.$newLineMode!==a&&(this.$newLineMode=a,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(a){return"\r\n"==a||"\r"==a||"\n"==a},this.getLine=function(a){return this.$lines[a]||""},this.getLines=function(a,b){return this.$lines.slice(a,b+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(a){if(a.start.row==a.end.row)return this.getLine(a.start.row).substring(a.start.column,a.end.column);var b=this.getLines(a.start.row,a.end.row);b[0]=(b[0]||"").substring(a.start.column);var c=b.length-1;return a.end.row-a.start.row==c&&(b[c]=b[c].substring(0,a.end.column)),b.join(this.getNewLineCharacter())},this.$clipPosition=function(a){var b=this.getLength();return a.row>=b?(a.row=Math.max(0,b-1),a.column=this.getLine(b-1).length):a.row<0&&(a.row=0),a},this.insert=function(a,b){if(!b||0===b.length)return a;a=this.$clipPosition(a),this.getLength()<=1&&this.$detectNewLine(b);var c=this.$split(b),d=c.splice(0,1)[0],e=0==c.length?null:c.splice(c.length-1,1)[0];return a=this.insertInLine(a,d),null!==e&&(a=this.insertNewLine(a),a=this._insertLines(a.row,c),a=this.insertInLine(a,e||"")),a},this.insertLines=function(a,b){return a>=this.getLength()?this.insert({row:a,column:0},"\n"+b.join("\n")):this._insertLines(Math.max(a,0),b)},this._insertLines=function(a,b){if(0==b.length)return{row:a,column:0};for(;b.length>61440;){var c=this._insertLines(a,b.slice(0,61440));b=b.slice(61440),a=c.row}var d=[a,0];d.push.apply(d,b),this.$lines.splice.apply(this.$lines,d);var e=new f(a,0,a+b.length,0),g={action:"insertLines",range:e,lines:b};return this._signal("change",{data:g}),e.end},this.insertNewLine=function(a){a=this.$clipPosition(a);var b=this.$lines[a.row]||"";this.$lines[a.row]=b.substring(0,a.column),this.$lines.splice(a.row+1,0,b.substring(a.column,b.length));var c={row:a.row+1,column:0},d={action:"insertText",range:f.fromPoints(a,c),text:this.getNewLineCharacter()};return this._signal("change",{data:d}),c},this.insertInLine=function(a,b){if(0==b.length)return a;var c=this.$lines[a.row]||"";this.$lines[a.row]=c.substring(0,a.column)+b+c.substring(a.column);var d={row:a.row,column:a.column+b.length},e={action:"insertText",range:f.fromPoints(a,d),text:b};return this._signal("change",{data:e}),d},this.remove=function(a){if(a instanceof f||(a=f.fromPoints(a.start,a.end)),a.start=this.$clipPosition(a.start),a.end=this.$clipPosition(a.end),a.isEmpty())return a.start;var b=a.start.row,c=a.end.row;if(a.isMultiLine()){var d=0==a.start.column?b:b+1,e=c-1;a.end.column>0&&this.removeInLine(c,0,a.end.column),e>=d&&this._removeLines(d,e),d!=b&&(this.removeInLine(b,a.start.column,this.getLine(b).length),this.removeNewLine(a.start.row))}else this.removeInLine(b,a.start.column,a.end.column);return a.start},this.removeInLine=function(a,b,c){if(b!=c){var d=new f(a,b,a,c),e=this.getLine(a),g=e.substring(b,c),h=e.substring(0,b)+e.substring(c,e.length);this.$lines.splice(a,1,h);var i={action:"removeText",range:d,text:g};return this._signal("change",{data:i}),d.start}},this.removeLines=function(a,b){return 0>a||b>=this.getLength()?this.remove(new f(a,0,b+1,0)):this._removeLines(a,b)},this._removeLines=function(a,b){var c=new f(a,0,b+1,0),d=this.$lines.splice(a,b-a+1),e={action:"removeLines",range:c,nl:this.getNewLineCharacter(),lines:d};return this._signal("change",{data:e}),d},this.removeNewLine=function(a){var b=this.getLine(a),c=this.getLine(a+1),d=new f(a,b.length,a+1,0),e=b+c;this.$lines.splice(a,2,e);var g={action:"removeText",range:d,text:this.getNewLineCharacter()};this._signal("change",{data:g})},this.replace=function(a,b){if(a instanceof f||(a=f.fromPoints(a.start,a.end)),0==b.length&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;if(this.remove(a),b)var c=this.insert(a.start,b);else c=a.start;return c},this.applyDeltas=function(a){for(var b=0;b=0;b--){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);"insertLines"==c.action?this._removeLines(d.start.row,d.end.row-1):"insertText"==c.action?this.remove(d):"removeLines"==c.action?this._insertLines(d.start.row,c.lines):"removeText"==c.action&&this.insert(d.start,c.text)}},this.indexToPosition=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=b||0,f=c.length;f>e;e++)if(a-=c[e].length+d,0>a)return{row:e,column:a+c[e].length+d};return{row:f-1,column:c[f-1].length}},this.positionToIndex=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=0,f=Math.min(a.row,c.length),g=b||0;f>g;++g)e+=c[g].length+d;return e+a.column}}).call(h.prototype),b.Document=h}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=b.Anchor=function(a,b,c){this.$onChange=this.onChange.bind(this),this.attach(a),"undefined"==typeof c?this.setPosition(b.row,b.column):this.setPosition(b,c)};(function(){d.implement(this,e),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(a){var b=a.data,c=b.range;if((c.start.row!=c.end.row||c.start.row==this.row)&&!(c.start.row>this.row||c.start.row==this.row&&c.start.column>this.column)){var d=this.row,e=this.column,f=c.start,g=c.end;"insertText"===b.action?f.row===d&&f.column<=e?f.column===e&&this.$insertRight||(f.row===g.row?e+=g.column-f.column:(e-=f.column,d+=g.row-f.row)):f.row!==g.row&&f.row=e?f.column:Math.max(0,e-(g.column-f.column)):f.row!==g.row&&f.row=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):0>a?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,b))),0>b&&(c.column=0),c}}).call(f.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=function(a,b){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=a;var c=this;this.$worker=function(){if(c.running){for(var a=new Date,b=c.currentLine,d=-1,e=c.doc;c.lines[b];)b++;var f=b,g=e.getLength(),h=0;for(c.running=!1;g>b;){c.$tokenizeRow(b),d=b;do b++;while(c.lines[b]);if(h++,h%5==0&&new Date-a>20)return c.running=setTimeout(c.$worker,20),void(c.currentLine=b)}c.currentLine=b,d>=f&&c.fireUpdateEvent(f,d)}}};(function(){d.implement(this,e),this.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(a){this.doc=a,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(a,b){var c={first:a,last:b};this._signal("update",{data:c})},this.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(a){var b=a.range,c=b.start.row,d=b.end.row-c;if(0===d)this.lines[c]=null;else if("removeText"==a.action||"removeLines"==a.action)this.lines.splice(c,d+1,null),this.states.splice(c,d+1,null);else{var e=Array(d+1);e.unshift(c,1),this.lines.splice.apply(this.lines,e),this.states.splice.apply(this.states,e)}this.currentLine=Math.min(c,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(a){return this.lines[a]||this.$tokenizeRow(a)},this.getState=function(a){return this.currentLine==a&&this.$tokenizeRow(a),this.states[a]||"start"},this.$tokenizeRow=function(a){var b=this.doc.getLine(a),c=this.states[a-1],d=this.tokenizer.getLineTokens(b,c,a);return this.states[a]+""!=d.state+""?(this.states[a]=d.state,this.lines[a+1]=null,this.currentLine>a+1&&(this.currentLine=a+1)):this.currentLine==a&&(this.currentLine=a+1),this.lines[a]=d.tokens}}).call(f.prototype),b.BackgroundTokenizer=f}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){var d=a("./lib/lang"),e=(a("./lib/oop"),a("./range").Range),f=function(a,b,c){this.setRegexp(a),this.clazz=b,this.type=c||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(a){this.regExp+""!=a+""&&(this.regExp=a,this.cache=[])},this.update=function(a,b,c,f){if(this.regExp)for(var g=f.firstRow,h=f.lastRow,i=g;h>=i;i++){var j=this.cache[i];null==j&&(j=d.getMatchOffsets(c.getLine(i),this.regExp),j.length>this.MAX_RANGES&&(j=j.slice(0,this.MAX_RANGES)),j=j.map(function(a){return new e(i,a.offset,i,a.offset+a.length)}),this.cache[i]=j.length?j:"");for(var k=j.length;k--;)b.drawSingleLineMarker(a,j[k].toScreenRange(c),this.clazz,f)}}}).call(f.prototype),b.SearchHighlight=f}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(a,b,c){function d(){this.getFoldAt=function(a,b,c){var d=this.getFoldLine(a);if(!d)return null;for(var e=d.folds,f=0;f=a)return e;if(e.end.row>a)return null}return null},this.getNextFoldLine=function(a,b){var c=this.$foldData,d=0;for(b&&(d=c.indexOf(b)),-1==d&&(d=0),d;d=a)return e}return null},this.getFoldedRowCount=function(a,b){for(var c=this.$foldData,d=b-a+1,e=0;e=b){b>h&&(h>=a?d-=b-h:d=0);break}g>=a&&(d-=h>=a?g-h:g-a+1)}return d},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(a,b){return a.start.row-b.start.row}),a},this.addFold=function(a,b){var c,d=this.$foldData,e=!1;a instanceof g?c=a:(c=new g(b,a),c.collapseChildren=b.collapseChildren),this.$clipRangeToDocument(c.range);var h=c.start.row,i=c.start.column,j=c.end.row,k=c.end.column;if(!(j>h||h==j&&k-2>=i))throw new Error("The range has to be at least 2 characters width");var l=this.getFoldAt(h,i,1),m=this.getFoldAt(j,k,-1);if(l&&m==l)return l.addSubFold(c);if(l&&!l.range.isStart(h,i)||m&&!m.range.isEnd(j,k))throw new Error("A fold can't intersect already existing fold"+c.range+l.range);var n=this.getFoldsInRange(c.range);n.length>0&&(this.removeFolds(n),n.forEach(function(a){c.addSubFold(a)}));for(var o=0;o0&&this.foldAll(a.start.row+1,a.end.row,a.collapseChildren-1),a.subFolds=[]},this.expandFolds=function(a){a.forEach(function(a){this.expandFold(a)},this)},this.unfold=function(a,b){var c,d;if(null==a?(c=new e(0,0,this.getLength(),0),b=!0):c="number"==typeof a?new e(a,0,a,this.getLine(a).length):"row"in a?e.fromPoints(a,a):a,d=this.getFoldsInRangeList(c),b)this.removeFolds(d);else for(var f=d;f.length;)this.expandFolds(f),f=this.getFoldsInRangeList(c);return d.length?d:void 0},this.isRowFolded=function(a,b){return!!this.getFoldLine(a,b)},this.getRowFoldEnd=function(a,b){var c=this.getFoldLine(a,b);return c?c.end.row:a},this.getRowFoldStart=function(a,b){var c=this.getFoldLine(a,b);return c?c.start.row:a},this.getFoldDisplayLine=function(a,b,c,d,e){null==d&&(d=a.start.row,e=0),null==b&&(b=a.end.row,c=this.getLine(b).length);var f=this.doc,g="";return a.walk(function(a,b,c,h){if(!(d>b)){if(b==d){if(e>c)return;h=Math.max(e,h)}g+=null!=a?a:f.getLine(b).substring(h,c)}},b,c),g},this.getDisplayLine=function(a,b,c,d){var e=this.getFoldLine(a);if(e)return this.getFoldDisplayLine(e,a,b,c,d);var f;return f=this.doc.getLine(a),f.substring(d||0,b||f.length)},this.$cloneFoldData=function(){var a=[];return a=this.$foldData.map(function(b){var c=b.folds.map(function(a){return a.clone()});return new f(a,c)})},this.toggleFold=function(a){var b,c,d=this.selection,e=d.getRange();if(e.isEmpty()){var f=e.start;if(b=this.getFoldAt(f.row,f.column))return void this.expandFold(b);(c=this.findMatchingBracket(f))?1==e.comparePoint(c)?e.end=c:(e.start=c,e.start.column++,e.end.column--):(c=this.findMatchingBracket({row:f.row,column:f.column+1}))?(1==e.comparePoint(c)?e.end=c:e.start=c,e.start.column++):e=this.getCommentFoldRange(f.row,f.column)||e}else{var g=this.getFoldsInRange(e);if(a&&g.length)return void this.expandFolds(g);1==g.length&&(b=g[0])}if(b||(b=this.getFoldAt(e.start.row,e.start.column)),b&&b.range.toString()==e.toString())return void this.expandFold(b);var h="...";if(!e.isMultiLine()){if(h=this.getTextRange(e),h.length<4)return;h=h.trim().substring(0,2)+".."}this.addFold(h,e)},this.getCommentFoldRange=function(a,b,c){var d=new h(this,a,b),f=d.getCurrentToken();if(f&&/^comment|string/.test(f.type)){var g=new e,i=new RegExp(f.type.replace(/\..*/,"\\."));if(1!=c){do f=d.stepBackward();while(f&&i.test(f.type));d.stepForward()}if(g.start.row=d.getCurrentTokenRow(),g.start.column=d.getCurrentTokenColumn()+2,d=new h(this,a,b),-1!=c){do f=d.stepForward();while(f&&i.test(f.type));f=d.stepBackward()}else f=d.getCurrentToken();return g.end.row=d.getCurrentTokenRow(),g.end.column=d.getCurrentTokenColumn()+f.value.length-2,g}},this.foldAll=function(a,b,c){void 0==c&&(c=1e5);var d=this.foldWidgets;if(d){b=b||this.getLength(),a=a||0;for(var e=a;b>e;e++)if(null==d[e]&&(d[e]=this.getFoldWidget(e)),"start"==d[e]){var f=this.getFoldWidgetRange(e);if(f&&f.isMultiLine()&&f.end.row<=b&&f.start.row>=a){e=f.end.row;try{var g=this.addFold("...",f);g&&(g.collapseChildren=c)}catch(h){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(a){if(!this.$foldStyles[a])throw new Error("invalid fold style: "+a+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=a){this.$foldStyle=a,"manual"==a&&this.unfold();var b=this.$foldMode;this.$setFolding(null),this.$setFolding(b)}},this.$setFolding=function(a){if(this.$foldMode!=a){if(this.$foldMode=a,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation"),!a||"manual"==this.$foldStyle)return void(this.foldWidgets=null);this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets)}},this.getParentFoldRangeData=function(a,b){var c=this.foldWidgets;if(!c||b&&c[a])return{};for(var d,e=a-1;e>=0;){var f=c[e];if(null==f&&(f=c[e]=this.getFoldWidget(e)),"start"==f){var g=this.getFoldWidgetRange(e);if(d||(d=g),g&&g.end.row>=a)break}e--}return{range:-1!==e&&g,firstRange:d}},this.onFoldWidgetClick=function(a,b){b=b.domEvent;var c={children:b.shiftKey,all:b.ctrlKey||b.metaKey,siblings:b.altKey},d=this.$toggleFoldWidget(a,c);if(!d){var e=b.target||b.srcElement;e&&/ace_fold-widget/.test(e.className)&&(e.className+=" ace_invalid")}},this.$toggleFoldWidget=function(a,b){if(this.getFoldWidget){var c=this.getFoldWidget(a),d=this.getLine(a),e="end"===c?-1:1,f=this.getFoldAt(a,-1===e?0:d.length,e);if(f)return void(b.children||b.all?this.removeFold(f):this.expandFold(f));var g=this.getFoldWidgetRange(a,!0);if(g&&!g.isMultiLine()&&(f=this.getFoldAt(g.start.row,g.start.column,1),f&&g.isEqual(f.range)))return void this.removeFold(f);if(b.siblings){var h=this.getParentFoldRangeData(a);if(h.range)var i=h.range.start.row+1,j=h.range.end.row;this.foldAll(i,j,b.all?1e4:0)}else b.children?(j=g?g.end.row:this.getLength(),this.foldAll(a+1,g.end.row,b.all?1e4:0)):g&&(b.all&&(g.collapseChildren=1e4),this.addFold("...",g));return g}},this.toggleFoldWidget=function(a){var b=this.selection.getCursor().row;b=this.getRowFoldStart(b);var c=this.$toggleFoldWidget(b,{});if(!c){var d=this.getParentFoldRangeData(b,!0);if(c=d.range||d.firstRange){b=c.start.row;var e=this.getFoldAt(b,this.getLine(b).length,1);e?this.removeFold(e):this.addFold("...",c)}}},this.updateFoldWidgets=function(a){var b=a.data,c=b.range,d=c.start.row,e=c.end.row-d;if(0===e)this.foldWidgets[d]=null;else if("removeText"==b.action||"removeLines"==b.action)this.foldWidgets.splice(d,e+1,null);else{var f=Array(e+1);f.unshift(d,1),this.foldWidgets.splice.apply(this.foldWidgets,f)}}}var e=a("../range").Range,f=a("./fold_line").FoldLine,g=a("./fold").Fold,h=a("../token_iterator").TokenIterator;b.Folding=d}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(a,b,c){function d(a,b){this.foldData=a,Array.isArray(b)?this.folds=b:b=this.folds=[b];var c=b[b.length-1];this.range=new e(b[0].start.row,b[0].start.column,c.end.row,c.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}var e=a("../range").Range;(function(){this.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(b){b.start.row+=a,b.end.row+=a})},this.addFold=function(a){if(a.sameRow){if(a.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(a,b){return-a.range.compareEnd(b.start.row,b.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column); +}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},this.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},this.walk=function(a,b,c){var d,e,f,g=0,h=this.folds,i=!0;null==b&&(b=this.end.row,c=this.end.column);for(var j=0;ja)return{row:b.start.row,column:b.start.column+a};if(a-=b.placeholder.length,0>a)return b.start;c=b.end.column}return{row:this.end.row,column:this.end.column+a}}}).call(d.prototype),b.FoldLine=d}),define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(a,b,c){function d(a,b){a.row-=b.row,0==a.row&&(a.column-=b.column)}function e(a,b){d(a.start,b),d(a.end,b)}function f(a,b){0==a.row&&(a.column+=b.column),a.row+=b.row}function g(a,b){f(a.start,b),f(a.end,b)}var h=(a("../range").Range,a("../range_list").RangeList),i=a("../lib/oop"),j=b.Fold=function(a,b){this.foldLine=null,this.placeholder=b,this.range=a,this.start=a.start,this.end=a.end,this.sameRow=a.start.row==a.end.row,this.subFolds=this.ranges=[]};i.inherits(j,h),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(a){this.foldLine=a,this.subFolds.forEach(function(b){b.setFoldLine(a)})},this.clone=function(){var a=this.range.clone(),b=new j(a,this.placeholder);return this.subFolds.forEach(function(a){b.subFolds.push(a.clone())}),b.collapseChildren=this.collapseChildren,b},this.addSubFold=function(a){if(!this.range.isEqual(a)){if(!this.range.containsRange(a))throw new Error("A fold can't intersect already existing fold"+a.range+this.range);e(a,this.start);for(var b=a.start.row,c=a.start.column,d=0,f=-1;d0)){var i=e(a,g.start);return 0===h?b&&0!==i?-f-2:f:i>0||0===i&&!b?f:-f-1}}return-f-1},this.add=function(a){var b=!a.isEmpty(),c=this.pointIndex(a.start,b);0>c&&(c=-c-1);var d=this.pointIndex(a.end,b,c);return 0>d?d=-d-1:d++,this.ranges.splice(c,d-c,a)},this.addList=function(a){for(var b=[],c=a.length;c--;)b.push.call(b,this.add(a[c]));return b},this.substractPoint=function(a){var b=this.pointIndex(a);return b>=0?this.ranges.splice(b,1):void 0},this.merge=function(){var a=[],b=this.ranges;b=b.sort(function(a,b){return e(a.start,b.start)});for(var c,d=b[0],f=1;fg||(0!=g||c.isEmpty()||d.isEmpty())&&(e(c.end,d.end)<0&&(c.end.row=d.end.row,c.end.column=d.end.column),b.splice(f,1),a.push(d),d=c,f--)}return this.ranges=b,a},this.contains=function(a,b){return this.pointIndex({row:a,column:b})>=0},this.containsPoint=function(a){return this.pointIndex(a)>=0},this.rangeAtPoint=function(a){var b=this.pointIndex(a);return b>=0?this.ranges[b]:void 0},this.clipRows=function(a,b){var c=this.ranges;if(c[0].start.row>b||c[c.length-1].start.rowd&&(d=-d-1);var e=this.pointIndex({row:b,column:0},d);0>e&&(e=-e-1);for(var f=[],g=d;e>g;g++)f.push(c[g]);return f},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(a){this.session&&this.detach(),this.session=a,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(a){var b=a.data.range;if("i"==a.data.action[0])var c=b.start,d=b.end;else var d=b.start,c=b.end;for(var e=c.row,f=d.row,g=f-e,h=-c.column+d.column,i=this.ranges,j=0,k=i.length;k>j;j++){var l=i[j];if(!(l.end.rowe)break;if(l.start.row==e&&l.start.column>=c.column&&(l.start.column==c.column&&this.$insertRight||(l.start.column+=h,l.start.row+=g)),l.end.row==e&&l.end.column>=c.column){if(l.end.column==c.column&&this.$insertRight)continue;l.end.column==c.column&&h>0&&k-1>j&&l.end.column>l.start.column&&l.end.column==i[j+1].start.column&&(l.end.column-=h),l.end.column+=h,l.end.row+=g}}}if(0!=g&&k>j)for(;k>j;j++){var l=i[j];l.start.row+=g,l.end.row+=g}}}).call(f.prototype),b.RangeList=f}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(a,b,c){function d(){this.findMatchingBracket=function(a,b){if(0==a.column)return null;var c=b||this.getLine(a.row).charAt(a.column-1);if(""==c)return null;var d=c.match(/([\(\[\{])|([\)\]\}])/);return d?d[1]?this.$findClosingBracket(d[1],a):this.$findOpeningBracket(d[2],a):null},this.getBracketRange=function(a){var b,c=this.getLine(a.row),d=!0,e=c.charAt(a.column-1),g=e&&e.match(/([\(\[\{])|([\)\]\}])/);if(g||(e=c.charAt(a.column),a={row:a.row,column:a.column+1},g=e&&e.match(/([\(\[\{])|([\)\]\}])/),d=!1),!g)return null;if(g[1]){var h=this.$findClosingBracket(g[1],a);if(!h)return null;b=f.fromPoints(a,h),d||(b.end.column++,b.start.column--),b.cursor=b.end}else{var h=this.$findOpeningBracket(g[2],a);if(!h)return null;b=f.fromPoints(h,a),d||(b.start.column++,b.end.column--),b.cursor=b.start}return b},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(a,b,c){var d=this.$brackets[a],f=1,g=new e(this,b.row,b.column),h=g.getCurrentToken();if(h||(h=g.stepForward()),h){c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("rparen",".paren")+")+"));for(var i=b.column-g.getCurrentTokenColumn()-2,j=h.value;;){for(;i>=0;){var k=j.charAt(i);if(k==d){if(f-=1,0==f)return{row:g.getCurrentTokenRow(),column:i+g.getCurrentTokenColumn()}}else k==a&&(f+=1);i-=1}do h=g.stepBackward();while(h&&!c.test(h.type));if(null==h)break;j=h.value,i=j.length-1}return null}},this.$findClosingBracket=function(a,b,c){var d=this.$brackets[a],f=1,g=new e(this,b.row,b.column),h=g.getCurrentToken();if(h||(h=g.stepForward()),h){c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("lparen",".paren")+")+"));for(var i=b.column-g.getCurrentTokenColumn();;){for(var j=h.value,k=j.length;k>i;){var l=j.charAt(i);if(l==d){if(f-=1,0==f)return{row:g.getCurrentTokenRow(),column:i+g.getCurrentTokenColumn()}}else l==a&&(f+=1);i+=1}do h=g.stepForward();while(h&&!c.test(h.type));if(null==h)break;i=0}return null}}}var e=a("../token_iterator").TokenIterator,f=a("../range").Range;b.BracketMatch=d}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){var d=a("./lib/lang"),e=a("./lib/oop"),f=a("./range").Range,g=function(){this.$options={}};(function(){this.set=function(a){return e.mixin(this.$options,a),this},this.getOptions=function(){return d.copyObject(this.$options)},this.setOptions=function(a){this.$options=a},this.find=function(a){var b=this.$matchIterator(a,this.$options);if(!b)return!1;var c=null;return b.forEach(function(a,b,d){if(a.start)c=a;else{var e=a.offset+(d||0);c=new f(b,e,b,e+a.length)}return!0}),c},this.findAll=function(a){var b=this.$options;if(!b.needle)return[];this.$assembleRegExp(b);var c=b.range,e=c?a.getLines(c.start.row,c.end.row):a.doc.getAllLines(),g=[],h=b.re;if(b.$isMultiLine){var i,j=h.length,k=e.length-j;a:for(var l=h.offset||0;k>=l;l++){for(var m=0;j>m;m++)if(-1==e[l+m].search(h[m]))continue a;var n=e[l],o=e[l+j-1],p=n.length-n.match(h[0])[0].length,q=o.match(h[j-1])[0].length;i&&i.end.row===l&&i.end.column>p||(g.push(i=new f(l,p,l+j-1,q)),j>2&&(l=l+j-2))}}else for(var r=0;rr&&g[r].start.columnr&&g[m].end.column>v&&g[m].end.row==c.end.row;)m--;for(g=g.slice(r,m+1),r=0,m=g.length;m>r;r++)g[r].start.row+=c.start.row,g[r].end.row+=c.start.row}return g},this.replace=function(a,b){var c=this.$options,d=this.$assembleRegExp(c);if(c.$isMultiLine)return b;if(d){var e=d.exec(a);if(!e||e[0].length!=a.length)return null;if(b=a.replace(d,b),c.preserveCase){b=b.split("");for(var f=Math.min(a.length,a.length);f--;){var g=a[f];g&&g.toLowerCase()!=g?b[f]=b[f].toUpperCase():b[f]=b[f].toLowerCase()}b=b.join("")}return b}},this.$matchIterator=function(a,b){var c=this.$assembleRegExp(b);if(!c)return!1;var e,g=this,h=b.backwards;if(b.$isMultiLine)var i=c.length,j=function(b,d,g){var h=b.search(c[0]);if(-1!=h){for(var j=1;i>j;j++)if(b=a.getLine(d+j),-1==b.search(c[j]))return;var k=b.match(c[i-1])[0].length,l=new f(d,h,d+i-1,k);return 1==c.offset?(l.start.row--,l.start.column=Number.MAX_VALUE):g&&(l.start.column+=g),e(l)?!0:void 0}};else if(h)var j=function(a,b,f){for(var g=d.getMatchOffsets(a,c),h=g.length-1;h>=0;h--)if(e(g[h],b,f))return!0};else var j=function(a,b,f){for(var g=d.getMatchOffsets(a,c),h=0;h=g;d--)if(c(a.getLine(d),d))return;if(0!=b.wrap)for(d=h,g=f.row;d>=g;d--)if(c(a.getLine(d),d))return}}:function(c){var d=f.row,e=a.getLine(d).substr(f.column);if(!c(e,d,f.column)){for(d+=1;h>=d;d++)if(c(a.getLine(d),d))return;if(0!=b.wrap)for(d=g,h=f.row;h>=d;d++)if(c(a.getLine(d),d))return}};return{forEach:i}}}).call(g.prototype),b.Search=g}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../keyboard/hash_handler").HashHandler,f=a("../lib/event_emitter").EventEmitter,g=function(a,b){e.call(this,b,a),this.byName=this.commands,this.setDefaultHandler("exec",function(a){return a.command.exec(a.editor,a.args||{})})};d.inherits(g,e),function(){d.implement(this,f),this.exec=function(a,b,c){if("string"==typeof a&&(a=this.commands[a]),!a)return!1;if(b&&b.$readOnly&&!a.readOnly)return!1;var d={editor:b,command:a,args:c},e=this._emit("exec",d);return this._signal("afterExec",d),e===!1?!1:!0},this.toggleRecording=function(a){return this.$inReplay?void 0:(a&&a._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(a){this.macro.push([a.command,a.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0))},this.replay=function(a){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(a);try{this.$inReplay=!0,this.macro.forEach(function(b){"string"==typeof b?this.exec(b,a):this.exec(b[0],a,b[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(a){return a.map(function(a){return"string"!=typeof a[0]&&(a[0]=a[0].name),a[1]||(a=a[0]),a})}}.call(g.prototype),b.CommandManager=g}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(a,b,c){function d(a,b){if(this.platform=b||(f.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.__defineGetter__&&this.__defineSetter__&&"undefined"!=typeof console&&console.error){var c=!1,d=function(){c||(c=!0,console.error("commmandKeyBinding has too many m's. use commandKeyBinding"))};this.__defineGetter__("commmandKeyBinding",function(){return d(),this.commandKeyBinding}),this.__defineSetter__("commmandKeyBinding",function(a){return d(),this.commandKeyBinding=a})}else this.commmandKeyBinding=this.commandKeyBinding;this.addCommands(a)}var e=a("../lib/keys"),f=a("../lib/useragent");(function(){this.addCommand=function(a){this.commands[a.name]&&this.removeCommand(a),this.commands[a.name]=a,a.bindKey&&this._buildKeyHash(a)},this.removeCommand=function(a){var b="string"==typeof a?a:a.name;a=this.commands[b],delete this.commands[b];var c=this.commandKeyBinding;for(var d in c)for(var e in c[d])c[d][e]==a&&delete c[d][e]},this.bindKey=function(a,b){if(a){if("function"==typeof b)return void this.addCommand({exec:b,bindKey:a,name:b.name||a});var c=this.commandKeyBinding;a.split("|").forEach(function(a){var d=this.parseKeys(a,b),e=d.hashId;(c[e]||(c[e]={}))[d.key]=b},this)}},this.addCommands=function(a){a&&Object.keys(a).forEach(function(b){var c=a[b];if(c){if("string"==typeof c)return this.bindKey(c,b);"function"==typeof c&&(c={exec:c}),"object"==typeof c&&(c.name||(c.name=b),this.addCommand(c))}},this)},this.removeCommands=function(a){Object.keys(a).forEach(function(b){this.removeCommand(a[b])},this)},this.bindKeys=function(a){Object.keys(a).forEach(function(b){this.bindKey(b,a[b])},this)},this._buildKeyHash=function(a){var b=a.bindKey;if(b){var c="string"==typeof b?b:b[this.platform];this.bindKey(c,a)}},this.parseKeys=function(a){-1!=a.indexOf(" ")&&(a=a.split(/\s+/).pop());var b=a.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(a){return a}),c=b.pop(),d=e[c];if(e.FUNCTION_KEYS[d])c=e.FUNCTION_KEYS[d].toLowerCase();else{if(!b.length)return{key:c,hashId:-1};if(1==b.length&&"shift"==b[0])return{key:c.toUpperCase(),hashId:-1}}for(var f=0,g=b.length;g--;){var h=e.KEY_MODS[b[g]];if(null==h)return"undefined"!=typeof console&&console.error("invalid modifier "+b[g]+" in "+a),!1;f|=h}return{key:c,hashId:f}},this.findKeyCommand=function(a,b){var c=this.commandKeyBinding;return c[a]&&c[a][b]},this.handleKeyboard=function(a,b,c,d){return{command:this.findKeyCommand(b,c)}}}).call(d.prototype),b.HashHandler=d}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config"],function(a,b,c){function d(a,b){return{win:a,mac:b}}var e=a("../lib/lang"),f=a("../config");b.commands=[{name:"showSettingsMenu",bindKey:d("Ctrl-,","Command-,"),exec:function(a){f.loadModule("ace/ext/settings_menu",function(b){b.init(a),a.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:d("Alt-E","Ctrl-E"),exec:function(a){f.loadModule("ace/ext/error_marker",function(b){b.showErrorMarker(a,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:d("Alt-Shift-E","Ctrl-Shift-E"),exec:function(a){f.loadModule("ace/ext/error_marker",function(b){b.showErrorMarker(a,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:d("Ctrl-A","Command-A"),exec:function(a){a.selectAll()},readOnly:!0},{name:"centerselection",bindKey:d(null,"Ctrl-L"),exec:function(a){a.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:d("Ctrl-L","Command-L"),exec:function(a){var b=parseInt(prompt("Enter line number:"),10);isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:"fold",bindKey:d("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(a){a.session.toggleFold(!1)},scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:d("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(a){a.session.toggleFold(!0)},scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:d("F2","F2"),exec:function(a){a.session.toggleFoldWidget()},scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:d("Alt-F2","Alt-F2"),exec:function(a){a.session.toggleFoldWidget(!0)},scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:d("Ctrl-Alt-0","Ctrl-Command-Option-0"),exec:function(a){a.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:d("Alt-0","Command-Option-0"),exec:function(a){a.session.foldAll(),a.session.unfold(a.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:d("Alt-Shift-0","Command-Option-Shift-0"),exec:function(a){a.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:d("Ctrl-K","Command-G"),exec:function(a){a.findNext()},readOnly:!0},{name:"findprevious",bindKey:d("Ctrl-Shift-K","Command-Shift-G"),exec:function(a){a.findPrevious()},readOnly:!0},{name:"selectOrFindNext",bindKey:d("ALt-K","Ctrl-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:d("Alt-Shift-K","Ctrl-Shift-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findPrevious()},readOnly:!0},{name:"find",bindKey:d("Ctrl-F","Command-F"),exec:function(a){f.loadModule("ace/ext/searchbox",function(b){b.Search(a)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:d("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(a){a.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:d("Ctrl-Home","Command-Home|Command-Up"),exec:function(a){a.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:d("Shift-Up","Shift-Up"),exec:function(a){a.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:d("Up","Up|Ctrl-P"),exec:function(a,b){a.navigateUp(b.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:d("Ctrl-Shift-End","Command-Shift-Down"),exec:function(a){a.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:d("Ctrl-End","Command-End|Command-Down"),exec:function(a){a.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:d("Shift-Down","Shift-Down"),exec:function(a){a.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:d("Down","Down|Ctrl-N"),exec:function(a,b){a.navigateDown(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:d("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(a){a.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:d("Ctrl-Left","Option-Left"),exec:function(a){a.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:d("Alt-Shift-Left","Command-Shift-Left"),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:d("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(a){a.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:d("Shift-Left","Shift-Left"),exec:function(a){a.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:d("Left","Left|Ctrl-B"),exec:function(a,b){a.navigateLeft(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:d("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(a){a.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:d("Ctrl-Right","Option-Right"),exec:function(a){a.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:d("Alt-Shift-Right","Command-Shift-Right"),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:d("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(a){a.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:d("Shift-Right","Shift-Right"),exec:function(a){a.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:d("Right","Right|Ctrl-F"),exec:function(a,b){a.navigateRight(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(a){a.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:d(null,"Option-PageDown"),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:d("PageDown","PageDown|Ctrl-V"),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(a){a.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:d(null,"Option-PageUp"),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(a){a.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:d("Ctrl-Up",null),exec:function(a){a.renderer.scrollBy(0,-2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:d("Ctrl-Down",null),exec:function(a){a.renderer.scrollBy(0,2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:d("Ctrl-Alt-E","Command-Option-E"),exec:function(a){a.commands.toggleRecording(a)},readOnly:!0},{name:"replaymacro",bindKey:d("Ctrl-Shift-E","Command-Shift-E"),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:"jumptomatching",bindKey:d("Ctrl-P","Ctrl-Shift-P"),exec:function(a){a.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:d("Ctrl-Shift-P",null),exec:function(a){a.jumpToMatching(!0)},multiSelectAction:"forEach",readOnly:!0},{name:"cut",exec:function(a){var b=a.getSelectionRange();a._emit("cut",b),a.selection.isEmpty()||(a.session.remove(b),a.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:d("Ctrl-D","Command-D"),exec:function(a){a.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:d("Ctrl-Shift-D","Command-Shift-D"),exec:function(a){a.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:d("Ctrl-Alt-S","Command-Alt-S"),exec:function(a){a.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:d("Ctrl-/","Command-/"),exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:d("Ctrl-Shift-/","Command-Shift-/"),exec:function(a){a.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:d("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(a){a.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:d("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(a){a.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:d("Ctrl-H","Command-Option-F"),exec:function(a){f.loadModule("ace/ext/searchbox",function(b){b.Search(a,!0)})}},{name:"undo",bindKey:d("Ctrl-Z","Command-Z"),exec:function(a){a.undo()}},{name:"redo",bindKey:d("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(a){a.redo()}},{name:"copylinesup",bindKey:d("Alt-Shift-Up","Command-Option-Up"),exec:function(a){a.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:d("Alt-Up","Option-Up"),exec:function(a){a.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:d("Alt-Shift-Down","Command-Option-Down"),exec:function(a){a.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:d("Alt-Down","Option-Down"),exec:function(a){a.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:d("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(a){a.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:d("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(a){a.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:d("Shift-Delete",null),exec:function(a){return a.selection.isEmpty()?void a.remove("left"):!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:d("Alt-Backspace","Command-Backspace"),exec:function(a){a.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:d("Alt-Delete","Ctrl-K"),exec:function(a){a.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:d("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(a){a.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:d("Ctrl-Delete","Alt-Delete"),exec:function(a){a.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:d("Shift-Tab","Shift-Tab"),exec:function(a){a.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:d("Tab","Tab"),exec:function(a){a.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:d("Ctrl-[","Ctrl-["),exec:function(a){a.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:d("Ctrl-]","Ctrl-]"),exec:function(a){a.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(a,b){a.insert(b)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(a,b){a.insert(e.stringRepeat(b.text||"",b.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:d(null,"Ctrl-O"),exec:function(a){a.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:d("Ctrl-T","Ctrl-T"),exec:function(a){a.transposeLetters()},multiSelectAction:function(a){a.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:d("Ctrl-U","Ctrl-U"),exec:function(a){a.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:d("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(a){a.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"}]}),define("ace/undomanager",["require","exports","module"],function(a,b,c){var d=function(){this.reset()};(function(){this.execute=function(a){var b=a.args[0];this.$doc=a.args[1],a.merge&&this.hasUndo()&&(this.dirtyCounter--,b=this.$undoStack.pop().concat(b)),this.$undoStack.push(b),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(a){var b=this.$undoStack.pop(),c=null;return b&&(c=this.$doc.undoChanges(b,a),this.$redoStack.push(b),this.dirtyCounter--),c},this.redo=function(a){var b=this.$redoStack.pop(),c=null;return b&&(c=this.$doc.redoChanges(b,a),this.$undoStack.push(b),this.dirtyCounter++),c},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter}}).call(d.prototype),b.UndoManager=d}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./config"),g=a("./lib/useragent"),h=a("./layer/gutter").Gutter,i=a("./layer/marker").Marker,j=a("./layer/text").Text,k=a("./layer/cursor").Cursor,l=a("./scrollbar").HScrollBar,m=a("./scrollbar").VScrollBar,n=a("./renderloop").RenderLoop,o=a("./layer/font_metrics").FontMetrics,p=a("./lib/event_emitter").EventEmitter,q='.ace_editor {position: relative;overflow: hidden;font-family: \'Lato\', \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;font-size: 12px;line-height: normal;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;min-width: 100%;}.ace_dragging, .ace_dragging * {cursor: move !important;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0px;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: block;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}'; +e.importCssString(q,"ace_editor");var r=function(a,b){var c=this;this.container=a||e.createElement("div"),this.$keepTextAreaAtCursor=!g.isOldIE,e.addCssClass(this.container,"ace_editor"),this.setTheme(b),this.$gutter=e.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=e.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=e.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new h(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var d=this.$textLayer=new j(this.content);this.canvas=d.element,this.$markerFront=new i(this.content),this.$cursorLayer=new k(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new m(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(a){c.$scrollAnimation||c.session.setScrollTop(a.data-c.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(a){c.$scrollAnimation||c.session.setScrollLeft(a.data-c.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new o(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(a){c.updateCharacterSize(),c.onResize(!0,c.gutterWidth,c.$size.width,c.$size.height),c._signal("changeCharacterSize",a)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new n(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),f.resetOptions(this),f._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,d.implement(this,p),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(a){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=a,a&&(this.scrollMargin.top&&a.getScrollTop()<=0&&a.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(a),this.$markerBack.setSession(a),this.$markerFront.setSession(a),this.$gutterLayer.setSession(a),this.$textLayer.setSession(a),this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(a,b){void 0===b&&(b=1/0),this.$changedLines?(this.$changedLines.firstRow>a&&(this.$changedLines.firstRow=a),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$changedLines.lastRow2)){this.resizing>0?this.resizing++:this.resizing=a?1:0;var e=this.container;d||(d=e.clientHeight||e.scrollHeight),c||(c=e.clientWidth||e.scrollWidth);var f=this.$updateCachedSize(a,b,c,d);if(!this.$size.scrollerHeight||!c&&!d)return this.resizing=0;a&&(this.$gutterLayer.$padding=null),a?this.$renderChanges(f|this.$changes,!0):this.$loop.schedule(f|this.$changes),this.resizing&&(this.resizing=0)}},this.$updateCachedSize=function(a,b,c,d){d-=this.$extraHeight||0;var e=0,f=this.$size,g={width:f.width,height:f.height,scrollerHeight:f.scrollerHeight,scrollerWidth:f.scrollerWidth};return d&&(a||f.height!=d)&&(f.height=d,e|=this.CHANGE_SIZE,f.scrollerHeight=f.height,this.$horizScroll&&(f.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",e|=this.CHANGE_SCROLL),c&&(a||f.width!=c)&&(e|=this.CHANGE_SIZE,f.width=c,null==b&&(b=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=b,this.scrollBarH.element.style.left=this.scroller.style.left=b+"px",f.scrollerWidth=Math.max(0,c-b-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||a)&&(e|=this.CHANGE_FULL)),f.$dirty=!c||!d,e&&this._signal("resize",g),e},this.onGutterResize=function(){var a=this.$showGutter?this.$gutter.offsetWidth:0;a!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,a,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var a=this.$size.scrollerWidth-2*this.$padding,b=Math.floor(a/this.characterWidth);return this.session.adjustWrapLimit(b,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(a){this.setOption("animatedScroll",a)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(a){this.setOption("showInvisibles",a)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(a){this.setOption("displayIndentGuides",a)},this.setShowPrintMargin=function(a){this.setOption("showPrintMargin",a)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(a){this.setOption("printMarginColumn",a)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(a){return this.setOption("showGutter",a)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(a){this.setOption("fadeFoldWidgets",a)},this.setHighlightGutterLine=function(a){this.setOption("highlightGutterLine",a)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var a=this.$cursorLayer.$pixelPos,b=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var c=this.session.selection.getCursor();c.column=0,a=this.$cursorLayer.getPixelPosition(c,!0),b*=this.session.getRowLength(c.row)}this.$gutterLineHighlight.style.top=a.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=b+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var a=e.createElement("div");a.className="ace_layer ace_print-margin-layer",this.$printMarginEl=e.createElement("div"),this.$printMarginEl.className="ace_print-margin",a.appendChild(this.$printMarginEl),this.content.insertBefore(a,this.content.firstChild)}var b=this.$printMarginEl.style;b.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",b.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var a=this.layerConfig,b=this.$cursorLayer.$pixelPos.top,c=this.$cursorLayer.$pixelPos.left;b-=a.offset;var d=this.lineHeight;if(!(0>b||b>a.height-d)){var e=this.characterWidth;if(this.$composition){var f=this.textarea.value.replace(/^\x01+/,"");e*=this.session.$getStringScreenWidth(f)[0]+2,d+=2,b-=1}c-=this.scrollLeft,c>this.$size.scrollerWidth-e&&(c=this.$size.scrollerWidth-e),c-=this.scrollBar.width,this.textarea.style.height=d+"px",this.textarea.style.width=e+"px",this.textarea.style.right=Math.max(0,this.$size.scrollerWidth-c-e)+"px",this.textarea.style.bottom=Math.max(0,this.$size.height-b-d)+"px"}}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var a=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+a},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(a){this.$padding=a,this.$textLayer.setPadding(a),this.$cursorLayer.setPadding(a),this.$markerFront.setPadding(a),this.$markerBack.setPadding(a),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(a,b,c,d){var e=this.scrollMargin;e.top=0|a,e.bottom=0|b,e.right=0|d,e.left=0|c,e.v=e.top+e.bottom,e.h=e.left+e.right,e.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-e.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(a){this.setOption("hScrollBarAlwaysVisible",a)},this.getVScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(a){this.setOption("vScrollBarAlwaysVisible",a)},this.$updateScrollBarV=function(){this.scrollBarV.setScrollHeight(this.layerConfig.maxHeight+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(a,b){if(this.$changes&&(a|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!a&&!b)return void(this.$changes|=a);if(this.$size.$dirty)return this.$changes|=a,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var c=this.layerConfig;return(a&this.CHANGE_FULL||a&this.CHANGE_SIZE||a&this.CHANGE_TEXT||a&this.CHANGE_LINES||a&this.CHANGE_SCROLL||a&this.CHANGE_H_SCROLL)&&(a|=this.$computeLayerConfig(),c=this.layerConfig,this.$updateScrollBarV(),a&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-c.offset+"px",this.content.style.marginTop=-c.offset+"px",this.content.style.width=c.width+2*this.$padding+"px",this.content.style.height=c.minHeight+"px"),a&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),a&this.CHANGE_FULL?(this.$textLayer.update(c),this.$showGutter&&this.$gutterLayer.update(c),this.$markerBack.update(c),this.$markerFront.update(c),this.$cursorLayer.update(c),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal("afterRender")):a&this.CHANGE_SCROLL?(a&this.CHANGE_TEXT||a&this.CHANGE_LINES?this.$textLayer.update(c):this.$textLayer.scrollLines(c),this.$showGutter&&this.$gutterLayer.update(c),this.$markerBack.update(c),this.$markerFront.update(c),this.$cursorLayer.update(c),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal("afterRender")):(a&this.CHANGE_TEXT?(this.$textLayer.update(c),this.$showGutter&&this.$gutterLayer.update(c)):a&this.CHANGE_LINES?(this.$updateLines()||a&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(c):(a&this.CHANGE_TEXT||a&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(c),a&this.CHANGE_CURSOR&&(this.$cursorLayer.update(c),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(c),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(c),void this._signal("afterRender"))},this.$autosize=function(){var a=this.session.getScreenLength()*this.lineHeight,b=this.$maxLines*this.lineHeight,c=Math.max((this.$minLines||1)*this.lineHeight,Math.min(b,a))+this.scrollMargin.v+(this.$extraHeight||0),d=a>b;if(c!=this.desiredHeight||this.$size.height!=this.desiredHeight||d!=this.$vScroll){d!=this.$vScroll&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var e=this.container.clientWidth;this.container.style.height=c+"px",this.$updateCachedSize(!0,this.$gutterWidth,e,c),this.desiredHeight=c}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var a=this.session,b=this.$size,c=b.height<=2*this.lineHeight,d=this.session.getScreenLength(),e=d*this.lineHeight,f=this.scrollTop%this.lineHeight,g=b.scrollerHeight+this.lineHeight,h=this.$getLongestLine(),i=!c&&(this.$hScrollBarAlwaysVisible||b.scrollerWidth-h-2*this.$padding<0),j=this.$horizScroll!==i;j&&(this.$horizScroll=i,this.scrollBarH.setVisible(i)),!this.$maxLines&&this.$scrollPastEnd&&this.scrollTop>e-b.scrollerHeight&&(e+=Math.min((b.scrollerHeight-this.lineHeight)*this.$scrollPastEnd,this.scrollTop-e+b.scrollerHeight));var k=!c&&(this.$vScrollBarAlwaysVisible||b.scrollerHeight-e<0),l=this.$vScroll!==k;l&&(this.$vScroll=k,this.scrollBarV.setVisible(k)),this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,e-b.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,h+2*this.$padding-b.scrollerWidth+this.scrollMargin.right)));var m,n,o=Math.ceil(g/this.lineHeight)-1,p=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),q=p+o,r=this.lineHeight;p=a.screenToDocumentRow(p,0);var s=a.getFoldLine(p);s&&(p=s.start.row),m=a.documentToScreenRow(p,0),n=a.getRowLength(p)*r,q=Math.min(a.screenToDocumentRow(q,0),a.getLength()-1),g=b.scrollerHeight+a.getRowLength(q)*r+n,f=this.scrollTop-m*r;var t=0;return this.layerConfig.width!=h&&(t=this.CHANGE_H_SCROLL),(j||l)&&(t=this.$updateCachedSize(!0,this.gutterWidth,b.width,b.height),this._signal("scrollbarVisibilityChanged"),l&&(h=this.$getLongestLine())),this.layerConfig={width:h,padding:this.$padding,firstRow:p,firstRowScreen:m,lastRow:q,lineHeight:r,characterWidth:this.characterWidth,minHeight:g,maxHeight:e,offset:f,gutterOffset:Math.max(0,Math.ceil((f+b.height-b.scrollerHeight)/r)),height:this.$size.scrollerHeight},t},this.$updateLines=function(){var a=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var c=this.layerConfig;return a>c.lastRow+1||bf?(b&&(f-=b*this.$size.scrollerHeight),0===f&&(f=-this.scrollMargin.top),this.session.setScrollTop(f)):i+this.$size.scrollerHeight-he?(ec;++c)e.push(f(c/this.STEPS,a,b-a));return e},this.scrollToLine=function(a,b,c,d){var e=this.$cursorLayer.getPixelPosition({row:a,column:0}),f=e.top;b&&(f-=this.$size.scrollerHeight/2);var g=this.scrollTop;this.session.setScrollTop(f),c!==!1&&this.animateScrolling(g,d)},this.animateScrolling=function(a,b){var c=this.scrollTop;if(this.$animatedScroll){var d=this;if(a!=c){if(this.$scrollAnimation){var e=this.$scrollAnimation.steps;if(e.length&&(a=e[0],a==c))return}var f=d.$calcSteps(a,c);this.$scrollAnimation={from:a,to:c,steps:f},clearInterval(this.$timer),d.session.setScrollTop(f.shift()),d.session.$scrollTop=c,this.$timer=setInterval(function(){f.length?(d.session.setScrollTop(f.shift()),d.session.$scrollTop=c):null!=c?(d.session.$scrollTop=-1,d.session.setScrollTop(c),c=null):(d.$timer=clearInterval(d.$timer),d.$scrollAnimation=null,b&&b())},10)}}},this.scrollToY=function(a){this.scrollTop!==a&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=a)},this.scrollToX=function(a){this.scrollLeft!==a&&(this.scrollLeft=a),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(a,b){this.session.setScrollTop(b),this.session.setScrollLeft(b)},this.scrollBy=function(a,b){b&&this.session.setScrollTop(this.session.getScrollTop()+b),a&&this.session.setScrollLeft(this.session.getScrollLeft()+a)},this.isScrollableBy=function(a,b){return 0>b&&this.session.getScrollTop()>=1-this.scrollMargin.top?!0:b>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight-(this.$size.scrollerHeight-this.lineHeight)*this.$scrollPastEnd<-1+this.scrollMargin.bottom?!0:0>a&&this.session.getScrollLeft()>=1-this.scrollMargin.left?!0:a>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right?!0:void 0},this.pixelToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=(a+this.scrollLeft-c.left-this.$padding)/this.characterWidth,e=Math.floor((b+this.scrollTop-c.top)/this.lineHeight),f=Math.round(d);return{row:e,column:f,side:d-f>0?1:-1}},this.screenToTextCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=Math.round((a+this.scrollLeft-c.left-this.$padding)/this.characterWidth),e=(b+this.scrollTop-c.top)/this.lineHeight;return this.session.screenToDocumentPosition(e,Math.max(d,0))},this.textToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=this.session.documentToScreenPosition(a,b),e=this.$padding+Math.round(d.column*this.characterWidth),f=d.row*this.lineHeight;return{pageX:c.left+e-this.scrollLeft,pageY:c.top+f-this.scrollTop}},this.visualizeFocus=function(){e.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){e.removeCssClass(this.container,"ace_focus")},this.showComposition=function(a){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,e.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(a){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(e.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(a,b){function c(c){if(d.$themeId!=a)return b&&b();if(c.cssClass){e.importCssString(c.cssText,c.cssClass,d.container.ownerDocument),d.theme&&e.removeCssClass(d.container,d.theme.cssClass);var f="padding"in c?c.padding:"padding"in(d.theme||{})?4:d.$padding;d.$padding&&f!=d.$padding&&d.setPadding(f),d.$theme=c.cssClass,d.theme=c,e.addCssClass(d.container,c.cssClass),e.setCssClass(d.container,"ace_dark",c.isDark),d.$size&&(d.$size.width=0,d.$updateSizeAsync()),d._dispatchEvent("themeLoaded",{theme:c}),b&&b()}}var d=this;if(this.$themeId=a,d._dispatchEvent("themeChange",{theme:a}),a&&"string"!=typeof a)c(a);else{var g=a||this.$options.theme.initialValue;f.loadModule(["theme",g],c)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(a,b){e.setCssClass(this.container,a,b!==!1)},this.unsetStyle=function(a){e.removeCssClass(this.container,a)},this.setCursorStyle=function(a){this.content.style.cursor!=a&&(this.content.style.cursor=a)},this.setMouseCursor=function(a){this.content.style.cursor=a},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(r.prototype),f.defineOptions(r.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(a){this.$textLayer.setShowInvisibles(a)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(a){"number"==typeof a&&(this.$printMarginColumn=a),this.$showPrintMargin=!!a,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(a){this.$gutter.style.display=a?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(a){e.setCssClass(this.$gutter,"ace_fade-fold-widgets",a)},initialValue:!1},showFoldWidgets:{set:function(a){this.$gutterLayer.setShowFoldWidgets(a)},initialValue:!0},showLineNumbers:{set:function(a){this.$gutterLayer.setShowLineNumbers(a),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(a){this.$textLayer.setDisplayIndentGuides(a)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(a){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=a?"":"none",void(this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight())):(this.$gutterLineHighlight=e.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",void this.$gutter.appendChild(this.$gutterLineHighlight))},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(a){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(a){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(a){"number"==typeof a&&(a+="px"),this.container.style.fontSize=a,this.updateFontSize()},initialValue:12},fontFamily:{set:function(a){this.container.style.fontFamily=a,this.updateFontSize()}},maxLines:{set:function(a){this.updateFull()}},minLines:{set:function(a){this.updateFull()}},scrollPastEnd:{set:function(a){a=+a||0,this.$scrollPastEnd!=a&&(this.$scrollPastEnd=a,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(a){this.$gutterLayer.$fixedWidth=!!a,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(a){this.setTheme(a)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),b.VirtualRenderer=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/dom"),e=a("../lib/oop"),f=a("../lib/lang"),g=a("../lib/event_emitter").EventEmitter,h=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_gutter-layer",a.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){e.implement(this,g),this.setSession=function(a){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=a,a.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(a,b)},this.removeGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(a,b)},this.setAnnotations=function(a){this.$annotations=[];for(var b=0;bg&&(p=f.end.row+1,f=b.getNextFoldLine(p,f),g=f?f.start.row:1/0),p>e){for(;this.$cells.length>o+1;)n=this.$cells.pop(),this.element.removeChild(n.element);break}n=this.$cells[++o],n||(n={element:null,textNode:null,foldWidget:null},n.element=d.createElement("div"),n.textNode=document.createTextNode(""),n.element.appendChild(n.textNode),this.element.appendChild(n.element),this.$cells[o]=n);var q="ace_gutter-cell ";i[p]&&(q+=i[p]),j[p]&&(q+=j[p]),this.$annotations[p]&&(q+=this.$annotations[p].className),n.element.className!=q&&(n.element.className=q);var r=b.getRowLength(p)*a.lineHeight+"px";if(r!=n.element.style.height&&(n.element.style.height=r),h){var s=h[p];null==s&&(s=h[p]=b.getFoldWidget(p))}if(s){n.foldWidget||(n.foldWidget=d.createElement("span"),n.element.appendChild(n.foldWidget));var q="ace_fold-widget ace_"+s;q+="start"==s&&p==g&&pc.right-b.right?"foldWidgets":void 0}}).call(h.prototype),b.Gutter=h}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(a,b,c){var d=a("../range").Range,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_marker-layer",a.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setMarkers=function(a){this.markers=a},this.update=function(a){var a=a||this.config;if(a){this.config=a;var b=[];for(var c in this.markers){var d=this.markers[c];if(d.range){var f=d.range.clipRows(a.firstRow,a.lastRow);if(!f.isEmpty())if(f=f.toScreenRange(this.session),d.renderer){var g=this.$getTop(f.start.row,a),h=this.$padding+f.start.column*a.characterWidth;d.renderer(b,f,h,g,a)}else"fullLine"==d.type?this.drawFullLineMarker(b,f,d.clazz,a):"screenLine"==d.type?this.drawScreenLineMarker(b,f,d.clazz,a):f.isMultiLine()?"text"==d.type?this.drawTextMarker(b,f,d.clazz,a):this.drawMultiLineMarker(b,f,d.clazz,a):this.drawSingleLineMarker(b,f,d.clazz+" ace_start",a)}else d.update(b,this,this.session,a)}this.element=e.setInnerHtml(this.element,b.join(""))}},this.$getTop=function(a,b){return(a-b.firstRowScreen)*b.lineHeight},this.drawTextMarker=function(a,b,c,e,f){var g=b.start.row,h=new d(g,b.start.column,g,this.session.getScreenLastRowColumn(g));for(this.drawSingleLineMarker(a,h,c+" ace_start",e,1,f), +g=b.end.row,h=new d(g,0,g,b.end.column),this.drawSingleLineMarker(a,h,c,e,0,f),g=b.start.row+1;g
        "),h=this.$getTop(b.end.row,d);var j=b.end.column*d.characterWidth;a.push("
        "),g=(b.end.row-b.start.row-1)*d.lineHeight,0>g||(h=this.$getTop(b.start.row+1,d),a.push("
        "))},this.drawSingleLineMarker=function(a,b,c,d,e,f){var g=d.lineHeight,h=(b.end.column+(e||0)-b.start.column)*d.characterWidth,i=this.$getTop(b.start.row,d),j=this.$padding+b.start.column*d.characterWidth;a.push("
        ")},this.drawFullLineMarker=function(a,b,c,d,e){var f=this.$getTop(b.start.row,d),g=d.lineHeight;b.start.row!=b.end.row&&(g+=this.$getTop(b.end.row,d)-f),a.push("
        ")},this.drawScreenLineMarker=function(a,b,c,d,e){var f=this.$getTop(b.start.row,d),g=d.lineHeight;a.push("
        ")}}).call(f.prototype),b.Marker=f}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=(a("../lib/useragent"),a("../lib/event_emitter").EventEmitter),h=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_text-layer",a.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){d.implement(this,g),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.$updateEolChar=function(){var a="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;return this.EOL_CHAR!=a?(this.EOL_CHAR=a,!0):void 0},this.setPadding=function(a){this.$padding=a,this.element.style.padding="0 "+a+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(a){this.$fontMetrics=a,this.$fontMetrics.on("changeCharacterSize",function(a){this._signal("changeCharacterSize",a)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(a){this.session=a,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(a){return this.showInvisibles==a?!1:(this.showInvisibles=a,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(a){return this.displayIndentGuides==a?!1:(this.displayIndentGuides=a,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var a=this.session.getTabSize();this.tabSize=a;for(var b=this.$tabStrings=[0],c=1;a+1>c;c++)this.showInvisibles?b.push(""+this.TAB_CHAR+f.stringRepeat(" ",c-1)+""):b.push(f.stringRepeat(" ",c));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var d="ace_indent-guide",e="",g="";if(this.showInvisibles){d+=" ace_invisible",e=" ace_invisible_space",g=" ace_invisible_tab";var h=f.stringRepeat(this.SPACE_CHAR,this.tabSize),i=this.TAB_CHAR+f.stringRepeat(" ",this.tabSize-1)}else var h=f.stringRepeat(" ",this.tabSize),i=h;this.$tabStrings[" "]=""+h+"",this.$tabStrings[" "]=""+i+""}},this.updateLines=function(a,b,c){(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&this.scrollLines(a),this.config=a;for(var d=Math.max(b,a.firstRow),f=Math.min(c,a.lastRow),g=this.element.childNodes,h=0,i=a.firstRow;d>i;i++){var j=this.session.getFoldLine(i);if(j){if(j.containsRow(d)){d=j.start.row;break}i=j.end.row}h++}for(var i=d,j=this.session.getNextFoldLine(i),k=j?j.start.row:1/0;;){if(i>k&&(i=j.end.row+1,j=this.session.getNextFoldLine(i,j),k=j?j.start.row:1/0),i>f)break;var l=g[h++];if(l){var m=[];this.$renderLine(m,i,!this.$useLineGroups(),i==k?j:!1),l.style.height=a.lineHeight*this.session.getRowLength(i)+"px",e.setInnerHtml(l,m.join(""))}i++}},this.scrollLines=function(a){var b=this.config;if(this.config=a,!b||b.lastRow0;d--)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(var d=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);d>0;d--)c.removeChild(c.lastChild);if(a.firstRowb.lastRow){var e=this.$renderLinesFragment(a,b.lastRow+1,a.lastRow);c.appendChild(e)}},this.$renderLinesFragment=function(a,b,c){for(var d=this.element.ownerDocument.createDocumentFragment(),f=b,g=this.session.getNextFoldLine(f),h=g?g.start.row:1/0;;){if(f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:1/0),f>c)break;var i=e.createElement("div"),j=[];if(this.$renderLine(j,f,!1,f==h?g:!1),i.innerHTML=j.join(""),this.$useLineGroups())i.className="ace_line_group",d.appendChild(i),i.style.height=a.lineHeight*this.session.getRowLength(f)+"px";else for(;i.firstChild;)d.appendChild(i.firstChild);f++}return d},this.update=function(a){this.config=a;for(var b=[],c=a.firstRow,d=a.lastRow,f=c,g=this.session.getNextFoldLine(f),h=g?g.start.row:1/0;;){if(f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:1/0),f>d)break;this.$useLineGroups()&&b.push("
        "),this.$renderLine(b,f,!1,f==h?g:!1),this.$useLineGroups()&&b.push("
        "),f++}this.element=e.setInnerHtml(this.element,b.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(a,b,c,d){var e=this,g=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,h=function(a,c,d,g,h){if(c)return e.showInvisibles?""+f.stringRepeat(e.SPACE_CHAR,a.length)+"":f.stringRepeat(" ",a.length);if("&"==a)return"&";if("<"==a)return"<";if(" "==a){var i=e.session.getScreenTabSize(b+g);return b+=i-1,e.$tabStrings[i]}if(" "==a){var j=e.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",k=e.showInvisibles?e.SPACE_CHAR:"";return b+=1,""+k+""}return d?""+e.SPACE_CHAR+"":(b+=1,""+a+"")},i=d.replace(g,h);if(this.$textToken[c.type])a.push(i);else{var j="ace_"+c.type.replace(/\./g," ace_"),k="";"fold"==c.type&&(k=" style='width:"+c.value.length*this.config.characterWidth+"px;' "),a.push("",i,"")}return b+d.length},this.renderIndentGuide=function(a,b,c){var d=b.search(this.$indentGuideRe);return 0>=d||d>=c?b:" "==b[0]?(d-=d%this.tabSize,a.push(f.stringRepeat(this.$tabStrings[" "],d/this.tabSize)),b.substr(d)):" "==b[0]?(a.push(f.stringRepeat(this.$tabStrings[" "],d)),b.substr(d)):b},this.$renderWrappedLine=function(a,b,c,d){for(var e=0,f=0,g=c[0],h=0,i=0;i=g;)h=this.$renderToken(a,h,j,k.substring(0,g-e)),k=k.substring(g-e),e=g,d||a.push("
        ","
        "),f++,h=0,g=c[f]||Number.MAX_VALUE;0!=k.length&&(e+=k.length,h=this.$renderToken(a,h,j,k))}}},this.$renderSimpleLine=function(a,b){var c=0,d=b[0],e=d.value;this.displayIndentGuides&&(e=this.renderIndentGuide(a,e)),e&&(c=this.$renderToken(a,c,d,e));for(var f=1;f"),e.length){var f=this.session.getRowSplitData(b);f&&f.length?this.$renderWrappedLine(a,e,f,c):this.$renderSimpleLine(a,e)}this.showInvisibles&&(d&&(b=d.end.row),a.push("",b==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),c||a.push("
        ")},this.$getFoldLineTokens=function(a,b){function c(a,b,c){for(var d=0,f=0;f+a[d].value.lengthc-b&&(g=g.substring(0,c-b)),e.push({type:a[d].type,value:g}),f=b+g.length,d+=1}for(;c>f&&dc?e.push({type:a[d].type,value:g.substring(0,c-f)}):e.push(a[d]),f+=g.length,d+=1}}var d=this.session,e=[],f=d.getTokens(a);return b.walk(function(a,b,g,h,i){null!=a?e.push({type:"fold",value:a}):(i&&(f=d.getTokens(b)),f.length&&c(f,h,g))},b.end.row,this.session.getLine(b.end.row).length),e},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(h.prototype),b.Text=h}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(a,b,c){var d,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),void 0===d&&(d="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),e.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(a){for(var b=this.cursors,c=b.length;c--;)b[c].style.visibility=a?"":"hidden"},this.$updateOpacity=function(a){for(var b=this.cursors,c=b.length;c--;)b[c].style.opacity=a?"":"0"},this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},this.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},this.setSmoothBlinking=function(a){a==this.smoothBlinking||d||(this.smoothBlinking=a,e.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.$updateCursors=(a?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var a=e.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},this.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},this.hideCursor=function(){this.isVisible=!1,e.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,e.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&e.removeCssClass(this.element,"ace_smooth-blinking"),a(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){e.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var b=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),b()},this.blinkInterval),b()}},this.getPixelPosition=function(a,b){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var c=this.session.documentToScreenPosition(a),d=this.$padding+c.column*this.config.characterWidth,e=(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:d,top:e}},this.update=function(a){this.config=a;var b=this.session.$selectionMarkers,c=0,d=0;(void 0===b||0===b.length)&&(b=[{cursor:null}]);for(var c=0,e=b.length;e>c;c++){var f=this.getPixelPosition(b[c].cursor,!0);if(!((f.top>a.height+a.offset||f.top<0)&&c>1)){var g=(this.cursors[d++]||this.addCursor()).style;g.left=f.left+"px",g.top=f.top+"px",g.width=a.characterWidth+"px",g.height=a.lineHeight+"px"}}for(;this.cursors.length>d;)this.removeCursor();var h=this.session.getOverwrite();this.$setOverwrite(h),this.$pixelPos=f,this.restartTimer()},this.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?e.addCssClass(this.element,"ace_overwrite-cursors"):e.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(f.prototype),b.Cursor=f}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/event_emitter").EventEmitter,h=function(a){this.element=e.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=e.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),a.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,f.addListener(this.element,"scroll",this.onScroll.bind(this)),f.addListener(this.element,"mousedown",f.preventDefault)};(function(){d.implement(this,g),this.setVisible=function(a){this.element.style.display=a?"":"none",this.isVisible=a}}).call(h.prototype);var i=function(a,b){h.call(this,a),this.scrollTop=0,b.$scrollbarWidth=this.width=e.scrollbarWidth(a.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};d.inherits(i,h),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(a){this.element.style.height=a+"px"},this.setInnerHeight=function(a){this.inner.style.height=a+"px"},this.setScrollHeight=function(a){this.inner.style.height=a+"px"},this.setScrollTop=function(a){this.scrollTop!=a&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=a)}}.call(i.prototype);var j=function(a,b){h.call(this,a),this.scrollLeft=0,this.height=b.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};d.inherits(j,h),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(a){this.element.style.width=a+"px"},this.setInnerWidth=function(a){this.inner.style.width=a+"px"},this.setScrollWidth=function(a){this.inner.style.width=a+"px"},this.setScrollLeft=function(a){this.scrollLeft!=a&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=a)}}.call(j.prototype),b.ScrollBar=i,b.ScrollBarV=i,b.ScrollBarH=j,b.VScrollBar=i,b.HScrollBar=j}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(a,b,c){var d=a("./lib/event"),e=function(a,b){this.onRender=a,this.pending=!1,this.changes=0,this.window=b||window};(function(){this.schedule=function(a){if(this.changes=this.changes|a,!this.pending&&this.changes){this.pending=!0;var b=this;d.nextFrame(function(){b.pending=!1;for(var a;a=b.changes;)b.changes=0,b.onRender(a)},this.window)}}}).call(e.prototype),b.RenderLoop=e}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=a("../lib/event_emitter").EventEmitter,h=0,i=b.FontMetrics=function(a,b){this.el=e.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=e.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=e.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),a.appendChild(this.el),h||this.$testFractionalRect(),this.$measureNode.innerHTML=f.stringRepeat("X",h),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){d.implement(this,g),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var a=e.createElement("div");this.$setMeasureNodeStyles(a.style),a.style.width="0.2px",document.documentElement.appendChild(a);var b=a.getBoundingClientRect().width;h=b>0&&1>b?1:100,a.parentNode.removeChild(a)},this.$setMeasureNodeStyles=function(a,b){a.width=a.height="auto",a.left=a.top="-100px",a.visibility="hidden",a.position="fixed",a.whiteSpace="pre",a.font="inherit",a.overflow=b?"hidden":"visible"},this.checkForSizeChanges=function(){var a=this.$measureSizes();if(a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)){this.$measureNode.style.fontWeight="bold";var b=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=a,this.charSizes=Object.create(null),this.allowBoldFonts=b&&b.width===a.width&&b.height===a.height,this._emit("changeCharacterSize",{data:a})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var a=this;return this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)},this.setPolling=function(a){a?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(1===h)var a=this.$measureNode.getBoundingClientRect(),b={height:a.height,width:a.width};else var b={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/h};return 0===b.width||0===b.height?null:b},this.$measureCharWidth=function(a){this.$main.innerHTML=f.stringRepeat(a,h);var b=this.$main.getBoundingClientRect();return b.width/h},this.getCharacterWidth=function(a){var b=this.charSizes[a];return void 0===b&&(this.charSizes[a]=this.$measureCharWidth(a)/this.$characterSize.width),b},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(i.prototype)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(a,b,c){function d(a,b,c){return p.$options.wrap=!0,p.$options.needle=b,p.$options.backwards=-1==c,p.find(a)}function e(a,b){return a.row==b.row&&a.column==b.column}function f(a){a.$multiselectOnSessionChange||(a.$onAddRange=a.$onAddRange.bind(a),a.$onRemoveRange=a.$onRemoveRange.bind(a),a.$onMultiSelect=a.$onMultiSelect.bind(a),a.$onSingleSelect=a.$onSingleSelect.bind(a),a.$multiselectOnSessionChange=b.onSessionChange.bind(a),a.$multiselectOnSessionChange(a),a.on("changeSession",a.$multiselectOnSessionChange),a.on("mousedown",k),a.commands.addCommands(n.defaultCommands),g(a))}function g(a){function b(b){d&&(a.renderer.setMouseCursor(""),d=!1)}var c=a.textInput.getElement(),d=!1;l.addListener(c,"keydown",function(c){18!=c.keyCode||c.ctrlKey||c.shiftKey||c.metaKey?d&&b():d||(a.renderer.setMouseCursor("crosshair"),d=!0)}),l.addListener(c,"keyup",b),l.addListener(c,"blur",b)}var h=a("./range_list").RangeList,i=a("./range").Range,j=a("./selection").Selection,k=a("./mouse/multi_select_handler").onMouseDown,l=a("./lib/event"),m=a("./lib/lang"),n=a("./commands/multi_select_commands");b.commands=n.defaultCommands.concat(n.multiSelectCommands);var o=a("./search").Search,p=new o,q=a("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(q.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(a,b){if(a){if(!this.inMultiSelectMode&&0==this.rangeCount){var c=this.toOrientedRange();if(this.rangeList.add(c),this.rangeList.add(a),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),b||this.fromOrientedRange(a);this.rangeList.removeAll(),this.rangeList.add(c),this.$onAddRange(c)}a.cursor||(a.cursor=a.end);var d=this.rangeList.add(a);return this.$onAddRange(a),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(a)}},this.toSingleRange=function(a){a=a||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),a&&this.fromOrientedRange(a)},this.substractPoint=function(a){var b=this.rangeList.substractPoint(a);return b?(this.$onRemoveRange(b),b[0]):void 0},this.mergeOverlappingRanges=function(){var a=this.rangeList.merge();a.length?this.$onRemoveRange(a):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(a){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(a),this._signal("addRange",{range:a})},this.$onRemoveRange=function(a){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();a.push(b),this.rangeCount=0}for(var c=a.length;c--;){var d=this.ranges.indexOf(a[c]);this.ranges.splice(d,1)}this._signal("removeRange",{ranges:a}),0==this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new h,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a[a.length-1],c=i.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var c=this.getRange(),d=this.isBackwards(),e=c.start.row,f=c.end.row;if(e==f){if(d)var g=c.end,h=c.start;else var g=c.start,h=c.end;return this.addRange(i.fromPoints(h,h)),void this.addRange(i.fromPoints(g,g))}var j=[],k=this.getLineRange(e,!0);k.start.column=c.start.column,j.push(k);for(var l=e+1;f>l;l++)j.push(this.getLineRange(l,!0));k=this.getLineRange(f,!0),k.end.column=c.end.column,j.push(k),j.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a[a.length-1],c=i.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.selectionLead),e=this.session.documentToScreenPosition(this.selectionAnchor),f=this.rectangularRangeBlock(d,e);f.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(a,b,c){var d=[],f=a.columng&&(g=0),0>k&&(k=0),k==l&&(c=!0);for(var m=k;l>=m;m++){var n=i.fromPoints(this.session.screenToDocumentPosition(m,g),this.session.screenToDocumentPosition(m,h));if(n.isEmpty()){if(o&&e(n.end,o))break;var o=n.end}n.cursor=f?n.start:n.end,d.push(n)}if(j&&d.reverse(),!c){for(var p=d.length-1;d[p].isEmpty()&&p>0;)p--;if(p>0)for(var q=0;d[q].isEmpty();)q++;for(var r=p;r>=q;r--)d[r].isEmpty()&&d.splice(r,1)}return d}}.call(j.prototype);var r=a("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(a){a.cursor||(a.cursor=a.end);var b=this.getSelectionStyle();return a.marker=this.session.addMarker(a,"ace_selection",b),this.session.$selectionMarkers.push(a),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,a},this.removeSelectionMarker=function(a){if(a.marker){this.session.removeMarker(a.marker);var b=this.session.$selectionMarkers.indexOf(a);-1!=b&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(a){for(var b=this.session.$selectionMarkers,c=a.length;c--;){var d=a[c];if(d.marker){this.session.removeMarker(d.marker);var e=b.indexOf(d);-1!=e&&b.splice(e,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(a){this.addSelectionMarker(a.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(a){this.removeSelectionMarkers(a.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(a){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(n.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(a){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(n.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(a){var b=a.command,c=a.editor;if(c.multiSelect){if(b.multiSelectAction)"forEach"==b.multiSelectAction?d=c.forEachSelection(b,a.args):"forEachLine"==b.multiSelectAction?d=c.forEachSelection(b,a.args,!0):"single"==b.multiSelectAction?(c.exitMultiSelectMode(),d=b.exec(c,a.args||{})):d=b.multiSelectAction(c,a.args||{});else{var d=b.exec(c,a.args||{});c.multiSelect.addRange(c.multiSelect.toOrientedRange()),c.multiSelect.mergeOverlappingRanges()}return d}},this.forEachSelection=function(a,b,c){if(!this.inVirtualSelectionMode){var d,e=this.session,f=this.selection,g=f.rangeList,h=f._eventRegistry;f._eventRegistry={};var i=new j(e);this.inVirtualSelectionMode=!0;for(var k=g.ranges.length;k--;){if(c)for(;k>0&&g.ranges[k].start.row==g.ranges[k-1].end.row;)k--;i.fromOrientedRange(g.ranges[k]),i.id=g.ranges[k].marker,this.selection=e.selection=i;var l=a.exec(this,b||{});void 0!==d&&(d=l),i.toOrientedRange(g.ranges[k])}i.detach(),this.selection=e.selection=f,this.inVirtualSelectionMode=!1,f._eventRegistry=h,f.mergeOverlappingRanges();var m=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),m&&m.from==m.to&&this.renderer.animateScrolling(m.from),d}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var a="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,c=[],d=0;dd.length||c.length<2||!c[1])return this.commands.exec("insertstring",this,a);for(var e=d.length;e--;){var f=d[e];f.isEmpty()||this.session.remove(f),this.session.insert(f.start,c[e])}}},this.findAll=function(a,b,c){b=b||{},b.needle=a||b.needle,this.$search.set(b);var d=this.$search.findAll(this.session);if(!d.length)return 0;this.$blockScrolling+=1;var e=this.multiSelect;c||e.toSingleRange(d[0]);for(var f=d.length;f--;)e.addRange(d[f],!0);return this.$blockScrolling-=1,d.length},this.selectMoreLines=function(a,b){var c=this.selection.toOrientedRange(),d=c.cursor==c.end,e=this.session.documentToScreenPosition(c.cursor);this.selection.$desiredColumn&&(e.column=this.selection.$desiredColumn);var f=this.session.screenToDocumentPosition(e.row+a,e.column);if(c.isEmpty())var g=f;else var h=this.session.documentToScreenPosition(d?c.end:c.start),g=this.session.screenToDocumentPosition(h.row+a,h.column);if(d){var j=i.fromPoints(f,g);j.cursor=j.start}else{var j=i.fromPoints(g,f);j.cursor=j.end}if(j.desiredColumn=e.column,this.selection.inMultiSelectMode){if(b)var k=c.cursor}else this.selection.addRange(c);this.selection.addRange(j),k&&this.selection.substractPoint(k)},this.transposeSelections=function(a){for(var b=this.session,c=b.multiSelect,d=c.ranges,e=d.length;e--;){var f=d[e];if(f.isEmpty()){var g=b.getWordRange(f.start.row,f.start.column);f.start.row=g.start.row,f.start.column=g.start.column,f.end.row=g.end.row,f.end.column=g.end.column}}c.mergeOverlappingRanges();for(var h=[],e=d.length;e--;){var f=d[e];h.unshift(b.getTextRange(f))}0>a?h.unshift(h.pop()):h.push(h.shift());for(var e=d.length;e--;){var f=d[e],g=f.clone();b.replace(f,h[e]),f.start.row=g.start.row,f.start.column=g.start.column}},this.selectMore=function(a,b){var c=this.session,e=c.multiSelect,f=e.toOrientedRange();f.isEmpty()&&(f=c.getWordRange(f.start.row,f.start.column),f.cursor=-1==a?f.start:f.end,this.multiSelect.addRange(f));var g=c.getTextRange(f),h=d(c,g,a);h&&(h.cursor=-1==a?h.start:h.end,this.$blockScrolling+=1,this.session.unfold(h),this.multiSelect.addRange(h),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint(f.cursor)},this.alignCursors=function(){var a=this.session,b=a.multiSelect,c=b.ranges;if(c.length){var d=-1,e=c.filter(function(a){return a.cursor.row==d?!0:void(d=a.cursor.row)});b.$onRemoveRange(e);var f=0,g=1/0,h=c.map(function(b){var c=b.cursor,d=a.getLine(c.row),e=d.substr(c.column).search(/\S/g);return-1==e&&(e=0),c.column>f&&(f=c.column),g>e&&(g=e),e});c.forEach(function(b,c){var d=b.cursor,e=f-d.column,j=h[c]-g;e>j?a.insert(d,m.stringRepeat(" ",e-j)):a.remove(new i(d.row,d.column,d.row,d.column-e+j)),b.start.column=b.end.column=f,b.start.row=b.end.row=d.row,b.cursor=b.end}),b.fromOrientedRange(c[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var j=this.selection.getRange(),k=j.start.row,l=j.end.row,n=k==l;if(n){var o,p=this.session.getLength();do o=this.session.getLine(l);while(/[=:]/.test(o)&&++l0);0>k&&(k=0),l>=p&&(l=p-1)}var q=this.session.doc.removeLines(k,l);q=this.$reAlignText(q,n), +this.session.doc.insert({row:k,column:0},q.join("\n")+"\n"),n||(j.start.column=0,j.end.column=q[q.length-1].length),this.selection.setRange(j)}},this.$reAlignText=function(a,b){function c(a){return m.stringRepeat(" ",a)}function d(a){return a[2]?c(g)+a[2]+c(h-a[2].length+i)+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function e(a){return a[2]?c(g+h-a[2].length)+a[2]+c(i," ")+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function f(a){return a[2]?c(g)+a[2]+c(i)+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}var g,h,i,j=!0,k=!0;return a.map(function(a){var b=a.match(/(\s*)(.*?)(\s*)([=:].*)/);return b?null==g?(g=b[1].length,h=b[2].length,i=b[3].length,b):(g+h+i!=b[1].length+b[2].length+b[3].length&&(k=!1),g!=b[1].length&&(j=!1),g>b[1].length&&(g=b[1].length),hb[3].length&&(i=b[3].length),b):[a]}).map(b?d:j?k?e:d:f)}}).call(r.prototype),b.onSessionChange=function(a){var b=a.session;b.multiSelect||(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b.multiSelect;var c=a.oldSession;c&&(c.multiSelect.removeEventListener("addRange",this.$onAddRange),c.multiSelect.removeEventListener("removeRange",this.$onRemoveRange),c.multiSelect.removeEventListener("multiSelect",this.$onMultiSelect),c.multiSelect.removeEventListener("singleSelect",this.$onSingleSelect)),b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},b.MultiSelect=f,a("./config").defineOptions(r.prototype,"editor",{enableMultiselect:{set:function(a){f(this),a?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",k)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",k))},value:!0}})}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event"],function(a,b,c){function d(a,b){return a.row==b.row&&a.column==b.column}function e(a){var b=a.domEvent,c=b.altKey,e=b.shiftKey,g=a.getAccelKey(),h=a.getButton();if(a.editor.inMultiSelectMode&&2==h)return void a.editor.textInput.onContextMenu(a.domEvent);if(!g&&!c)return void(0===h&&a.editor.inMultiSelectMode&&a.editor.exitMultiSelectMode());var i=a.editor,j=i.selection,k=i.inMultiSelectMode,l=a.getDocumentPosition(),m=j.getCursor(),n=a.inSelection()||j.isEmpty()&&d(l,m),o=a.x,p=a.y,q=function(a){o=a.clientX,p=a.clientY},r=function(){var a=i.renderer.pixelToScreenCoordinates(o,p),b=s.screenToDocumentPosition(a.row,a.column);d(u,a)&&d(b,j.selectionLead)||(u=a,i.selection.moveToPosition(b),i.renderer.scrollCursorIntoView(),i.removeSelectionMarkers(v),v=j.rectangularRangeBlock(u,t),v.forEach(i.addSelectionMarker,i),i.updateSelectionMarkers())},s=i.session,t=i.renderer.pixelToScreenCoordinates(o,p),u=t;if(!g||c||e||0!==h){if(c&&0===h){a.stop(),k&&!g?j.toSingleRange():!k&&g&&j.addRange();var v=[];e?(t=s.documentToScreenPosition(j.lead),r()):j.moveToPosition(l);var w=function(a){clearInterval(y),i.removeSelectionMarkers(v);for(var b=0;b20&&a.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:a}))},this.$workerBlob=function(a){var b="importScripts('"+e.qualifyURL(a)+"');";try{return new Blob([b],{type:"application/javascript"})}catch(c){var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,f=new d;return f.append(b),f.getBlob("application/javascript")}}}).call(h.prototype);var i=function(a,b,c){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var d=null,e=!1,h=Object.create(f),i=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(a){i.messageBuffer.push(a),d&&(e?setTimeout(j):j())},this.setEmitSync=function(a){e=a};var j=function(){var a=i.messageBuffer.shift();a.command?d[a.command].apply(d,a.args):a.event&&h._signal(a.event,a.data)};h.postMessage=function(a){i.onMessage({data:a})},h.callback=function(a,b){this.postMessage({type:"call",id:b,data:a})},h.emit=function(a,b){this.postMessage({type:"event",name:a,data:b})},g.loadModule(["worker",b],function(a){for(d=new a[c](h);i.messageBuffer.length;)j()})};i.prototype=h.prototype,b.UIWorkerClient=i,b.WorkerClient=h}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(a,b,c){var d=a("./range").Range,e=a("./lib/event_emitter").EventEmitter,f=a("./lib/oop"),g=function(a,b,c,d,e,f){var g=this;this.length=b,this.session=a,this.doc=a.getDocument(),this.mainClass=e,this.othersClass=f,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=d,this.$onCursorChange=function(){setTimeout(function(){g.onCursorChange()})},this.$pos=c;var h=a.getUndoManager().$undoStack||a.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=h.length,this.setup(),a.selection.on("changeCursor",this.$onCursorChange)};(function(){f.implement(this,e),this.setup=function(){var a=this,b=this.doc,c=this.session,e=this.$pos;this.pos=b.createAnchor(e.row,e.column),this.markerId=c.addMarker(new d(e.row,e.column,e.row,e.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(b){c.removeMarker(a.markerId),a.markerId=c.addMarker(new d(b.value.row,b.value.column,b.value.row,b.value.column+a.length),a.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(c){var d=b.createAnchor(c.row,c.column);a.others.push(d)}),c.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var a=this.session,b=this;this.othersActive=!0,this.others.forEach(function(c){c.markerId=a.addMarker(new d(c.row,c.column,c.row,c.column+b.length),b.othersClass,null,!1),c.on("change",function(e){a.removeMarker(c.markerId),c.markerId=a.addMarker(new d(e.value.row,e.value.column,e.value.row,e.value.column+b.length),b.othersClass,null,!1)})})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var a=0;a=this.pos.column&&c.start.column<=this.pos.column+this.length+1){var f=c.start.column-this.pos.column;if(this.length+=e,!this.session.$fromUndo){if("insertText"===b.action)for(var g=this.others.length-1;g>=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};h.row===c.start.row&&c.start.column=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};h.row===c.start.row&&c.start.column=this.pos.column&&b.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",a)):(this.hideOtherMarkers(),this._emit("cursorLeave",a))}},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var a=0;ac;c++)a.undo(!0)}}).call(g.prototype),b.PlaceHolder=g}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){var d=a("../../range").Range,e=b.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":"markbeginend"==b&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/\S/,f=a.getLine(b),g=f.search(e);if(-1!=g){for(var h=c||f.length,i=a.getLength(),j=b,k=b;++b=l)break;k=b}}if(k>j){var m=a.getLine(k).length;return new d(j,h,k,m)}}},this.openingBracketBlock=function(a,b,c,e,f){var g={row:c,column:e+1},h=a.$findClosingBracket(b,g,f);if(h){var i=a.foldWidgets[h.row];return null==i&&(i=a.getFoldWidget(h.row)),"start"==i&&h.row>g.row&&(h.row--,h.column=a.getLine(h.row).length),d.fromPoints(g,h)}},this.closingBracketBlock=function(a,b,c,e,f){var g={row:c,column:e},h=a.$findOpeningBracket(b,g);return h?(h.column++,g.column--,d.fromPoints(h,g)):void 0}}).call(e.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tm",b.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(a,b,c){function d(a,b,c){for(var d=0,e=a.length-1;e>=d;){var f=d+e>>1,g=c(b,a[f]);if(g>0)d=f+1;else{if(!(0>g))return f;e=f-1}}return-(d+1)}function e(a,b,c){var e=a.getAnnotations().sort(h.comparePoints);if(e.length){var f=d(e,{row:b,column:-1},h.comparePoints);0>f&&(f=-f-1),f>=e.length-1?f=c>0?0:e.length-1:0===f&&0>c&&(f=e.length-1);var g=e[f];if(g&&c){if(g.row===b){do g=e[f+=c];while(g&&g.row===b);if(!g)return e.slice()}var i=[];b=g.row;do i[0>c?"unshift":"push"](g),g=e[f+=c];while(g&&g.row==b);return i.length&&i}}}var f=a("ace/line_widgets").LineWidgets,g=a("ace/lib/dom"),h=a("ace/range").Range;b.showErrorMarker=function(a,b){var c=a.session;c.widgetManager||(c.widgetManager=new f(c),c.widgetManager.attach(a));var d=a.getCursorPosition(),h=d.row,i=c.lineWidgets&&c.lineWidgets[h];i?i.destroy():h-=b;var j,k=e(c,h,b);if(k){var l=k[0];d.column=(l.pos&&"number"!=typeof l.column?l.pos.sc:l.column)||0,d.row=l.row,j=a.renderer.$gutterLayer.$annotations[d.row]}else{if(i)return;j={text:["Looks good!"],className:"ace_ok"}}a.session.unfold(d.row),a.selection.moveToPosition(d);var m={row:d.row,fixedWidth:!0,coverGutter:!0,el:g.createElement("div")},n=m.el.appendChild(g.createElement("div")),o=m.el.appendChild(g.createElement("div"));o.className="error_widget_arrow "+j.className;var p=a.renderer.$cursorLayer.getPixelPosition(d).left;o.style.left=p+a.renderer.gutterWidth-5+"px",m.el.className="error_widget_wrapper",n.className="error_widget "+j.className,n.innerHTML=j.text.join("
        "),n.appendChild(g.createElement("div"));var q=function(a,b,c){return 0!==b||"esc"!==c&&"return"!==c?void 0:(m.destroy(),{command:"null"})};m.destroy=function(){a.$mouseHandler.isMousePressed||(a.keyBinding.removeKeyboardHandler(q),c.widgetManager.removeLineWidget(m),a.off("changeSelection",m.destroy),a.off("changeSession",m.destroy),a.off("mouseup",m.destroy),a.off("change",m.destroy))},a.keyBinding.addKeyboardHandler(q),a.on("changeSelection",m.destroy),a.on("changeSession",m.destroy),a.on("mouseup",m.destroy),a.on("change",m.destroy),a.session.widgetManager.addLineWidget(m),m.el.onmousedown=a.focus.bind(a),a.renderer.scrollCursorIntoView(null,.5,{bottom:m.el.offsetHeight})},g.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(a,b,c){function d(a){this.session=a,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.detach=this.detach.bind(this),this.session.on("change",this.updateOnChange)}var e=(a("./lib/oop"),a("./lib/dom"));a("./range").Range;(function(){this.getRowLength=function(a){var b;return b=this.lineWidgets?this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:0,this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1+b:1+b},this.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(b){b&&b.rowCount&&(a+=b.rowCount)}),a},this.attach=function(a){a.widgetManager&&a.widgetManager!=this&&a.widgetManager.detach(),this.editor!=a&&(this.detach(),this.editor=a,this.editor.on("changeSession",this.detach),a.widgetManager=this,a.setOption("enableLineWidgets",!0),a.renderer.on("beforeRender",this.measureWidgets),a.renderer.on("afterRender",this.renderWidgets))},this.detach=function(a){if(!a||a.session!=this.session){var b=this.editor;if(b){b.off("changeSession",this.detach),this.editor=null,b.widgetManager=null,b.renderer.off("beforeRender",this.measureWidgets),b.renderer.off("afterRender",this.renderWidgets);var c=this.session.lineWidgets;c&&c.forEach(function(a){a&&a.el&&a.el.parentNode&&(a._inDocument=!1,a.el.parentNode.removeChild(a.el))})}}},this.updateOnChange=function(a){var b=this.session.lineWidgets;if(b){var c=a.data,d=c.range,e=d.start.row,f=d.end.row-e;if(0===f);else if("removeText"==c.action||"removeLines"==c.action){var g=b.splice(e+1,f);g.forEach(function(a){a&&this.removeLineWidget(a)},this),this.$updateRows()}else{var h=new Array(f);h.unshift(e,0),b.splice.apply(b,h),this.$updateRows()}}},this.$updateRows=function(){var a=this.session.lineWidgets;if(a){var b=!0;a.forEach(function(a,c){a&&(b=!1,a.row=c)}),b&&(this.session.lineWidgets=null)}},this.addLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[a.row]=a;var b=this.editor.renderer;return a.html&&!a.el&&(a.el=e.createElement("div"),a.el.innerHTML=a.html),a.el&&(e.addCssClass(a.el,"ace_lineWidgetContainer"),a.el.style.position="absolute",a.el.style.zIndex=5,b.container.appendChild(a.el),a._inDocument=!0),a.coverGutter||(a.el.style.zIndex=3),a.pixelHeight||(a.pixelHeight=a.el.offsetHeight),null==a.rowCount&&(a.rowCount=a.pixelHeight/b.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,b),a},this.removeLineWidget=function(a){if(a._inDocument=!1,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch(b){}this.session.lineWidgets&&(this.session.lineWidgets[a.row]=void 0),this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},this.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(a,b){var c=this.session._changedWidgets,d=b.layerConfig;if(c&&c.length){for(var e=1/0,f=0;fh&&(h=0)),g.rowCount!=h&&(g.rowCount=h,g.row0&&!d[e];)e--;this.firstRow=c.firstRow,this.lastRow=c.lastRow,b.$cursorLayer.config=c;for(var g=e;f>=g;g++){var h=d[g];if(h&&h.el){h._inDocument||(h._inDocument=!0,b.container.appendChild(h.el));var i=b.$cursorLayer.getPixelPosition({row:g,column:0},!0).top;h.coverLine||(i+=c.lineHeight*this.session.getRowLineCount(h.row)),h.el.style.top=i-c.offset+"px";var j=h.coverGutter?0:b.gutterWidth;h.fixedWidth||(j-=b.scrollLeft),h.el.style.left=j+"px",h.fixedWidth?h.el.style.right=b.scrollBar.getWidth()+"px":h.el.style.right=""}}}}}).call(d.prototype),b.LineWidgets=d}),function(){window.require(["ace/ace"],function(a){a&&a.config.init(),window.ace||(window.ace={});for(var b in a)a.hasOwnProperty(b)&&(ace[b]=a[b])})}(),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!1,b.cssClass="ace-tm",b.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm .ace_scroller {background-color: #FFFFFF;}.ace-tm .ace_cursor {border-left: 2px solid black;}.ace-tm .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_markup.ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_markup.ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}),define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(a,b,c){var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./json_highlight_rules").JsonHighlightRules,h=a("./matching_brace_outdent").MatchingBraceOutdent,i=a("./behaviour/cstyle").CstyleBehaviour,j=a("./folding/cstyle").FoldMode,k=a("../worker/worker_client").WorkerClient,l=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h,this.$behaviour=new i,this.foldingRules=new j};d.inherits(l,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b);if("start"==a){var e=b.match(/^.*[\{\(\[]\s*$/);e&&(d+=c)}return d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new k(["ace"],"ace/mode/json_worker","JsonWorker");return b.attachToDocument(a.getDocument()),b.on("error",function(b){a.setAnnotations([b.data])}),b.on("ok",function(){a.clearAnnotations()}),b}}.call(l.prototype),b.Mode=l}),define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};d.inherits(f,e),b.JsonHighlightRules=f}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(a,b,c){var d=a("../range").Range,e=function(){};(function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\}/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\})/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}}).call(e.prototype),b.MatchingBraceOutdent=e}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(a,b,c){var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("../../token_iterator").TokenIterator,g=a("../../lib/lang"),h=["text","paren.rparen","punctuation.operator"],i=["text","paren.rparen","punctuation.operator","comment"],j=0,k=-1,l="",m=0,n=-1,o="",p="",q=function(){q.isSaneInsertion=function(a,b){var c=a.getCursorPosition(),d=new f(b,c.row,c.column);if(!this.$matchTokenType(d.getCurrentToken()||"text",h)){var e=new f(b,c.row,c.column+1);if(!this.$matchTokenType(e.getCurrentToken()||"text",h))return!1}return d.stepForward(),d.getCurrentTokenRow()!==c.row||this.$matchTokenType(d.getCurrentToken()||"text",i)},q.$matchTokenType=function(a,b){return b.indexOf(a.type||a)>-1},q.recordAutoInsert=function(a,b,c){var d=a.getCursorPosition(),e=b.doc.getLine(d.row);this.isAutoInsertedClosing(d,e,l[0])||(j=0),k=d.row,l=c+e.substr(d.column),j++},q.recordMaybeInsert=function(a,b,c){var d=a.getCursorPosition(),e=b.doc.getLine(d.row);this.isMaybeInsertedClosing(d,e)||(m=0),n=d.row,o=e.substr(0,d.column)+c,p=e.substr(d.column),m++},q.isAutoInsertedClosing=function(a,b,c){return j>0&&a.row===k&&c===l[0]&&b.substr(a.column)===l},q.isMaybeInsertedClosing=function(a,b){return m>0&&a.row===n&&b.substr(a.column)===p&&b.substr(0,a.column)==o; +},q.popAutoInsertedClosing=function(){l=l.substr(1),j--},q.clearMaybeInsertedClosing=function(){m=0,n=-1},this.add("braces","insertion",function(a,b,c,d,e){var f=c.getCursorPosition(),h=d.doc.getLine(f.row);if("{"==e){var i=c.getSelectionRange(),j=d.doc.getTextRange(i);if(""!==j&&"{"!==j&&c.getWrapBehavioursEnabled())return{text:"{"+j+"}",selection:!1};if(q.isSaneInsertion(c,d))return/[\]\}\)]/.test(h[f.column])?(q.recordAutoInsert(c,d,"}"),{text:"{}",selection:[1,1]}):(q.recordMaybeInsert(c,d,"{"),{text:"{",selection:[1,1]})}else if("}"==e){var k=h.substring(f.column,f.column+1);if("}"==k){var l=d.$findOpeningBracket("}",{column:f.column+1,row:f.row});if(null!==l&&q.isAutoInsertedClosing(f,h,e))return q.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if("\n"==e||"\r\n"==e){var n="";q.isMaybeInsertedClosing(f,h)&&(n=g.stringRepeat("}",m),q.clearMaybeInsertedClosing());var k=h.substring(f.column,f.column+1);if("}"==k||""!==n){var o=d.findMatchingBracket({row:f.row,column:f.column},"}");if(!o)return null;var p=this.getNextLineIndent(a,h.substring(0,f.column),d.getTabString()),r=this.$getIndent(h);return{text:"\n"+p+"\n"+r+n,selection:[1,p.length,1,p.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&"{"==f){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if("}"==h)return e.end.column++,e;m--}}),this.add("parens","insertion",function(a,b,c,d,e){if("("==e){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(""!==g&&c.getWrapBehavioursEnabled())return{text:"("+g+")",selection:!1};if(q.isSaneInsertion(c,d))return q.recordAutoInsert(c,d,")"),{text:"()",selection:[1,1]}}else if(")"==e){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(")"==j){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(null!==k&&q.isAutoInsertedClosing(h,i,e))return q.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&"("==f){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(")"==h)return e.end.column++,e}}),this.add("brackets","insertion",function(a,b,c,d,e){if("["==e){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(""!==g&&c.getWrapBehavioursEnabled())return{text:"["+g+"]",selection:!1};if(q.isSaneInsertion(c,d))return q.recordAutoInsert(c,d,"]"),{text:"[]",selection:[1,1]}}else if("]"==e){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if("]"==j){var k=d.$findOpeningBracket("]",{column:h.column+1,row:h.row});if(null!==k&&q.isAutoInsertedClosing(h,i,e))return q.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&"["==f){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if("]"==h)return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if('"'==e||"'"==e){var f=e,g=c.getSelectionRange(),h=d.doc.getTextRange(g);if(""!==h&&"'"!==h&&'"'!=h&&c.getWrapBehavioursEnabled())return{text:f+h+f,selection:!1};var i=c.getCursorPosition(),j=d.doc.getLine(i.row),k=j.substring(i.column-1,i.column);if("\\"==k)return null;for(var l,m=d.getTokens(g.start.row),n=0,o=-1,p=0;po&&(o=l.value.indexOf(f)),!(l.value.length+n>g.start.column));p++)n+=m[p].value.length;if(!l||0>o&&"comment"!==l.type&&("string"!==l.type||g.start.column!==l.value.length+n-1&&l.value.lastIndexOf(f)===l.value.length-1)){if(!q.isSaneInsertion(c,d))return;return{text:f+f,selection:[1,1]}}if(l&&"string"===l.type){var r=j.substring(i.column,i.column+1);if(r==f)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&('"'==f||"'"==f)){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==f)return e.end.column++,e}})};d.inherits(q,e),b.CstyleBehaviour=q}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(a,b,c){var d=a("../../lib/oop"),e=(a("../../range").Range,a("./fold_mode").FoldMode),f=b.FoldMode=function(){};d.inherits(f,e),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),e=d.match(this.foldingStartMarker);if(e){var f=e.index;return e[1]?this.openingBracketBlock(a,e[1],c,f):a.getCommentFoldRange(c,f+e[0].length,1)}if("markbeginend"===b){var e=d.match(this.foldingStopMarker);if(e){var f=e.index+e[0].length;return e[1]?this.closingBracketBlock(a,e[1],c,f):a.getCommentFoldRange(c,f,-1)}}}}.call(f.prototype)}),define("ace/mode/aql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/aql_highlight_rules","ace/range"],function(a,b,c){var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./aql_highlight_rules").AqlHighlightRules,h=a("../range").Range,i=function(){this.$tokenizer=new f((new g).getRules())};d.inherits(i,e),function(){this.toggleCommentLines=function(a,b,c,d){for(var e=!0,f=/^(\s*)\/\//,g=c;d>=g;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e)for(var i=new h(0,0,0,0),g=c;d>=g;g++){var j=b.getLine(g),k=j.match(f);i.start.row=g,i.end.row=g,i.end.column=k[0].length,b.replace(i,k[1])}else b.indentRows(c,d,"//")}}.call(i.prototype),b.Mode=i}),define("ace/mode/aql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){var d=a("../lib/oop"),e=a("./text_highlight_rules").TextHighlightRules,f=function(){var a="for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count",b="(to_bool|to_number|to_string|to_list|is_null|is_bool|is_number|is_string|is_list|is_document|typename|concat|concat_separator|char_length|lower|upper|substring|left|right|trim|reverse|contains|like|floor|ceil|round|abs|rand|sqrt|pow|length|min|max|average|sum|median|variance_population|variance_sample|first|last|unique|matches|merge|merge_recursive|has|attributes|values|unset|unset_recursive|keep|near|within|within_rectangle|is_in_polygon|fulltext|paths|traversal|traversal_tree|edges|stddev_sample|stddev_population|slice|nth|position|translate|zip|call|apply|push|append|pop|shift|unshift|remove_value|remove_values|remove_nth|graph_paths|shortest_path|graph_shortest_path|graph_distance_to|graph_traversal|graph_traversal_tree|graph_edges|graph_vertices|neighbors|graph_neighbors|graph_common_neighbors|graph_common_properties|graph_eccentricity|graph_betweenness|graph_closeness|graph_absolute_eccentricity|graph_absolute_betweenness|graph_absolute_closeness|graph_diameter|graph_radius|date_now|date_timestamp|date_iso8601|date_dayofweek|date_year|date_month|date_day|date_hour|date_minute|date_second|date_millisecond|date_dayofyear|date_isoweek|date_leapyear|date_quarter|date_days_in_month|date_add|date_subtract|date_diff|date_compare|date_format|fail|passthru|sleep|not_null|first_list|first_document|parse_identifier|current_user|current_database|collections|document|union|union_distinct|intersection|flatten|is_same_collection|ltrim|rtrim|find_first|find_last|split|substitute|md5|sha1|hash|random_token|AQL_LAST_ENTRY)",c=this.createKeywordMapper({"support.function":b,keyword:a,"constant.language":"null","constant.language.boolean":"true|false"},"identifier",!0);this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment_ml"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"string",regex:"`.*?`"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:c,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|@>|<@|&&|\\|\\||!|<|>|<=|=>|==|!=|=|\\[\\*\\]"},{token:"paren.lparen",regex:"[\\(\\{]"},{token:"paren.rparen",regex:"[\\)\\}]"},{token:"text",regex:"\\s+"}],comment_ml:[{token:"comment",regex:/\*\//,next:"start"},{defaultToken:"comment"}]}};d.inherits(f,e),b.AqlHighlightRules=f}); \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css b/js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css new file mode 100644 index 0000000000..002c53c912 --- /dev/null +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css @@ -0,0 +1,9 @@ +@charset "UTF-8";body,body .bodyWrapper,html{height:100%}.ajax-file-upload-red:focus,.ajax-file-upload:focus,.button-close:focus,.button-danger:focus,.button-inactive:focus,.button-info:focus,.button-neutral:focus,.button-notification:focus,.button-primary:focus,.button-success:focus,.button-warning:focus,.login-window select,.navlist li a,div.headerBar select:focus{outline:0}#documentsTableID_filter,#documentsTableID_length,#documentsTableID_paginate,#documentsTableID_wrapper .fg-toolbar,.fixedDropdown:after,.jsoneditor .outer .tree>table>tbody>tr:first-of-type{visibility:hidden}body{background:rgba(64,74,83,.04);color:#333;display:block;font-size:14px;line-height:20px;margin:0;overflow:hidden}.fa,.fa-stack{display:inline-block}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}body .bodyWrapper{left:150px;min-height:100%;position:absolute;right:0}body .centralRow{position:relative}body .loadingScreen{background-color:#fff;bottom:0;left:0;padding-top:100px;position:absolute;right:0;top:102px;z-index:100}body .loadingScreen span{display:inline-block;margin-top:10px;text-align:center;width:100%}body .loadingScreen i{width:100%}body #offlinePlaceholder{background:rgba(64,74,83,.8);height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}body #offlinePlaceholder .offline-div{overflow:auto;position:fixed;top:20%;width:100%;z-index:1050}body #offlinePlaceholder .offline-div h3,body #offlinePlaceholder .offline-div p{font-weight:300}body #offlinePlaceholder .offline-div .pure-u{width:100%}body #offlinePlaceholder .offline-div .offline-window{background:#fff;border-radius:3px}body #offlinePlaceholder .offline-div .offline-window .offline-header{padding-top:10px;text-align:center}body #offlinePlaceholder .offline-div .offline-window .offline-body{padding-bottom:20px;padding-top:0}body #offlinePlaceholder .offline-div .offline-window .offline-body .animation_state{padding-top:20px}body #offlinePlaceholder .offline-div .offline-window .offline-body>p{margin-bottom:0;text-align:center}body #offlinePlaceholder .offline-div .offline-window .offline-body,body #offlinePlaceholder .offline-div .offline-window .offline-header{padding-left:20px;padding-right:20px}.page-title span,.pingback a.url,body,input,textarea{font-weight:400}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(../fonts/opensans/OpenSansLight.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("Open Sans"),local("OpenSans"),url(../fonts/opensans/OpenSans.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/opensans/OpenSansBold.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSansLight-Italic"),url(../fonts/opensans/OpenSansLightItalic.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/opensans/OpenSansItalic.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(../fonts/opensans/OpenSansBoldItalic.woff) format("woff")}/*! + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome/fontawesome-webfont.eot?v=4.4.0);src:url(../fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.4.0) format("embedded-opentype"),url(../fonts/fontawesome/fontawesome-webfont.woff2?v=4.4.0) format("woff2"),url(../fonts/fontawesome/fontawesome-webfont.woff?v=4.4.0) format("woff"),url(../fonts/fontawesome/fontawesome-webfont.ttf?v=4.4.0) format("truetype"),url(../fonts/fontawesome/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.contentDiv li,.dashboard-bar-chart-container,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage,.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-half-height-legend,.dashboard-large-chart,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-interior-chart,.dashboard-small-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dashboard-tendency-container,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar,.dashboard-title-bar .dashboard-half-title-bar,.dashboardModal,.dropdown-toolbar,.fixedDropdown .notificationItemContent,.gv-dropdown-menu,.innerDropdownInnerUL,.link-dropdown-menu,.modal-chart-detail,.modal-chart-detail .modal-body,.modal-chart-detail .modal-dashboard-legend,.modal-chart-detail .modal-inner-detail,.navlist li,.navlogo,.pagination-line li a,.script-dropdown-menu,.user-dropdown-menu,a.button-gui,a.headerButton,div .bigtile,div .bigtile a span.add-Icon,div .tile,div .tile a span.add-Icon,div.centralContent,div.dropdownInner ul,div.footer-center,div.footer-left{float:left}.arango-tab li,.dashboard-legend,.dashboard-sub-bar-menu,.docsThirdCol,.fixedDropdown .notificationItem i,.fixedDropdown button,.headerBar>div.headerButtonBar,.query-button,.search-field,div .bigtile .iconSet span,div .tile .iconSet span,div.footer-right,div.footer-right p,div.gv_colour_list,ul.headerButtonList li{float:right}.collectionInfoTh2,.collectionTh,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dataNotReadyYet,.dygraph-label.dygraph-title,.figuresHeader th,.graphLabel,.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table th,.modal-body,.page-title span,.pingback a.url,.snippet-no-num,.ui-tooltip,body,button,input,textarea{font-family:Roboto,sans-serif!important}.document-info .document-bold-font,.document-info .document-thin-font{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:11pt}#distributionChartDiv:after,.arango-tab:after,.dashboard-bar-chart-container .dashboard-bar-chart:after,.dashboard-medium-chart .dashboard-medium-chart-inner:after,.dashboard-medium-chart .dashboard-medium-chart-menu:after,.dashboard-row:after,.dashboard-sub-bar:after,.dashboard-tendency-container .dashboard-tendency-chart:after,.detail-chart:after,.document-info .document-info-container .document-inner-info-container .document-attribute:after,.headerBar>div.headerButtonBar:after,.lineChartDiv:after,.pagination-line li:after,.resizecontainer:after,.tileList:after{clear:both;content:'.';display:block;font-size:0;height:0;visibility:hidden}.caret,.contentDiv:after,.contentDiv:before,.form-actions:after,.form-actions:before,.pong-spinner:after,.pong-spinner:before{content:''}.addButton,.arango-tab a,.arango-tab li,.arangoicon,.clusterDownBtn button,.contentDiv .icon,.contentTables tr.contentRowInactive a,.deleteButton i,.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,.edit-index-table .icon_arangodb_roundminus,.fixedDropdown .notificationItem i,.fullNotification:hover,.gv-search-submit-icon,.icon-info-sign,.link>line,.node,.pagination-line li a,.script-dropdown-menu .dropdown-item,.search-submit-icon,a.button-gui,a.headerButton,div .bigtile,div .bigtile .iconSet span,div .bigtile a span.icon,div .bigtile a svg,div .tile .iconSet span,div .tile a span.icon,div .tile a svg,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.toolbox div.gv_action_button{cursor:pointer}#swagger #jsonLink,.arangoToolbar span.clickable:hover,.login-window button,.subnavmenu .infoEntry a.default-icon i{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.login-window select{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") right 10px top 12px no-repeat #f2f2f2;background-size:16px 16px;border:0;-webkit-border-radius:2px;border-radius:2px;color:#000;font-size:14px;font-weight:400;height:40px;line-height:initial;padding:12px;text-align:center;-moz-transition:.3s ease all;-ms-transition:.3s ease all;-o-transition:.3s ease all;-webkit-transition:.3s ease all;transition:.3s ease all;width:100%}.breadcrumb a,.navlist .dropdown-item:hover a,.navlist>li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.login-window select:disabled{opacity:.5}.login-window select:active,.login-window select:focus{border:0;outline:0}.navbar{color:#fff;left:0;right:0;z-index:1000}.ajax-file-upload-red,.button-danger{background-color:#e74c3c}.ajax-file-upload-red:focus,.ajax-file-upload-red:hover,.button-danger:focus,.button-danger:hover{background-color:#ec7063}.contentTables td span,.deleteButton i,.edit-index-table .icon_arangodb_roundminus{color:#e74c3c}.contentTables td span:focus,.contentTables td span:hover,.deleteButton i:focus,.deleteButton i:hover,.edit-index-table .icon_arangodb_roundminus:focus,.edit-index-table .icon_arangodb_roundminus:hover{color:#ec7063}.ajax-file-upload,.button-success{background-color:#2ecc71}.ajax-file-upload:focus,.ajax-file-upload:hover,.button-success:focus,.button-success:hover{background-color:#58d68d}.button-info{background-color:#3498db}.button-info:focus,.button-info:hover{background-color:#5dade2}.addButton,.contentTables td.dbThSecond span{color:#2ecc71}.addButton:focus,.addButton:hover,.contentTables td.dbThSecond span:focus,.contentTables td.dbThSecond span:hover{color:#58d68d}.button-warning{background-color:#f1c40f}.button-warning:focus,.button-warning:hover{background-color:#f4d313}.button-close,.button-neutral{background-color:#8f8d8c}.button-close:focus,.button-close:hover,.button-neutral:focus,.button-neutral:hover{background-color:#736b68}.dashboard-sub-bar-menu{color:#8f8d8c}.dashboard-sub-bar-menu:focus,.dashboard-sub-bar-menu:hover{color:#736b68}.button-primary{background-color:#34495e}.button-primary:focus,.button-primary:hover{background-color:#415b76}.button-header,a.button-gui,a.headerButton{background-color:#fff;border:1px solid #fff;color:#555}.button-header:focus,.button-header:hover,a.button-gui:focus,a.button-gui:hover,a.headerButton:focus,a.headerButton:hover{background-color:#2ecc71;border:1px solid #2ecc71;color:#fff}.button-notification{background-color:#faa020}.button-notification:focus,.button-notification:hover{background-color:#f87c0f}.button-inactive,.button-inactive:focus,.button-inactive:hover,[class*=' button-']:disabled,[class*=' button-']:focus:disabled,[class*=' button-']:hover:disabled,[class^=button-]:disabled,[class^=button-]:focus:disabled,[class^=button-]:hover:disabled,button.disabled,button.disabled:focus,button.disabled:hover{background-color:#d3d3d3}a.headerButton.disabled,a.headerButton.disabled:focus,a.headerButton.disabled:hover{color:#d3d3d3}div.queryline .fa.fa-search{color:#c2c2c2;font-size:12pt;opacity:.5;position:relative;right:21px;top:-1px}div.queryline .fa.fa-search:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input,.jsoneditor .search .frame input,.login-window .login-input,.modal-body .select2-choices input,.modal-body input,.modal-body select,.modal-body textarea,.navbar .arango-collection-select,.newIndexClass table input,.newIndexClass table select,div.queryline input,div.queryline select,input.search-input{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#fff!important;border:2px solid rgba(140,138,137,.25);box-shadow:none;outline:transparent 0}.inputEditorWrapper .aqlEditorWrapper table td input:focus,.inputEditorWrapper .bindParamEditorWrapper table td input:focus,.jsoneditor .search .frame input:focus,.login-window .login-input:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.navbar .arango-collection-select:focus,.newIndexClass table input:focus,.newIndexClass table select:focus,div.queryline input:focus,div.queryline select:focus,input.search-input:focus{border-color:#2ecc71;box-shadow:none;outline:transparent 0}.dropdown-toolbar,.gv-dropdown-menu,.link-dropdown-menu,.script-dropdown-menu,.user-dropdown-menu{background-color:#f5f8f0;border-color:#666;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;display:none;list-style:none;margin:5px 0 0;padding:5px 0;position:absolute;right:0;top:80%;z-index:1000}.dropdown-toolbar li,.gv-dropdown-menu li,.link-dropdown-menu li,.script-dropdown-menu li,.user-dropdown-menu li{line-height:23px;white-space:nowrap;width:100%}.dropdown-toolbar .dropdown-header,.gv-dropdown-menu .dropdown-header,.link-dropdown-menu .dropdown-header,.script-dropdown-menu .dropdown-header,.user-dropdown-menu .dropdown-header{color:#999;font-size:15px;font-weight:600;font-variant:small-caps;padding:0}.dropdown-toolbar .dropdown-header:hover,.gv-dropdown-menu .dropdown-header:hover,.link-dropdown-menu .dropdown-header:hover,.script-dropdown-menu .dropdown-header:hover,.user-dropdown-menu .dropdown-header:hover{cursor:default}.dropdown-toolbar .divider,.gv-dropdown-menu .divider,.link-dropdown-menu .divider,.script-dropdown-menu .divider,.user-dropdown-menu .divider{background-color:#666;height:1px;margin:10px 0 5px}.dropdown-toolbar a,.gv-dropdown-menu a,.link-dropdown-menu a,.script-dropdown-menu a,.user-dropdown-menu a{color:#fff;padding:0 20px}.navbar2{color:#fff}.navbar2>.secondary{background-color:rgba(255,255,255,.85)}.navbar{bottom:0;float:left;-webkit-font-smoothing:subpixel-antialiased;margin-bottom:0;position:absolute;top:0;width:150px}.navbar>.primary{background-color:#404a53;float:left;height:100%;width:150px}.navbar>.resizecontainer{background-color:#fff}.navbar .no-left-margin{border:0;margin-left:0}.navbar .no-left-margin.hover{background-color:transparent}.navbar .arangodbLogo{height:auto;margin-left:6px;margin-top:15px;width:138px}.navbar .arango-collection-select{position:relative;right:-22px;top:4px}.navbar .nav .dropdown .active>.dropdown-toggle,.navbar .nav .dropdown .open.active>.dropdown-toggle,.navbar .nav .dropdown .open>.dropdown-toggle{background:#58d68d}.navbar .nav>.active>a{-webkit-box-shadow:0 0 0 transparent inset;-moz-box-shadow:0 0 0 transparent inset;box-shadow:0 0 0 transparent inset;background-color:#fff;color:#000}.navbar .nav>li>a:focus{background-color:#fff}.navbar .nav>li>a:hover{background-color:#000;color:#686766}.navbar .shortcut{bottom:31px;left:13px;position:absolute}.navbar .shortcut i{background-color:transparent;border-radius:20px;color:#fff;width:20px;padding:5px 0 6px 4px}.navbar .shortcut i:hover{background-color:#2ecc71;color:#fff;cursor:pointer}.navbar .social-icons{bottom:0;float:left;margin-left:9px;position:absolute;width:100%}.navbar .social-icons a{display:block;float:left;height:25px;width:25px}.navbar .social-icons p{background:0 0;border-radius:20px;float:left;height:25px;margin-right:10px;padding:0;width:25px}.navbar .social-icons p:hover{background:#2ecc71;cursor:pointer}.navlist li.divider,.navlist li.navbar-spacer{background-color:rgba(0,0,0,.2)}.navbar .social-icons p:hover i{color:#fff}.navbar .social-icons i{color:#fff;margin-top:6px;position:absolute}.navbar .social-icons i.fa-twitter{margin-left:7px}.navbar .social-icons i.fa-envelope{margin-left:-19px}.navbar .social-icons i.fa-google{margin-left:-17px;margin-top:7px}.navbar .social-icons i.fa-stack-overflow{margin-left:-17px}.navlogo{height:60px;width:100%}.navlogo .small{display:none}.script-dropdown-menu .dropdown-item a,.tab{display:block}.navlogo .version{bottom:33px;color:rgba(255,255,255,.7);font-size:11px;font-weight:100;left:0;padding-bottom:10px;position:absolute;text-align:center;text-transform:uppercase;width:100%}.navlist,.navlist li{width:150px}.navlogo .version .out-of-date{color:#f1c40f;font-weight:400}.navlogo .version .out-of-date:hover{cursor:pointer}.navlogo .version .up-to-date{color:#2ecc71}.navmenu{clear:both}.navlist{list-style:none;margin:0;position:relative;top:0}.navlist>li{line-height:30px}.navlist li .fa{opacity:.3;padding-left:5px;padding-right:15px;text-align:center;width:10px}.navlist li .fa.fa-heart{color:#ff7a7a;opacity:1}.navlist li.disabled:hover{cursor:default}.navlist li.disabled:hover a:hover{cursor:default;opacity:.8}div .bigtile:hover,div .tile:hover,div.footer-center p:hover{cursor:pointer}.navlist .active .tab .fa,.navlist>.active a{opacity:1}.navlist li.dropdown:hover{border-bottom-left-radius:0;border-bottom-right-radius:0}.navlist li.divider,.navlist li.navbar-spacer{border:0}.navlist li.navbar-spacer{height:2px;margin-bottom:0;margin-top:0}.navlist .active{border-left:2px solid #77cb99}.navlist .active .tab{color:#fff;margin-left:-2px}.navlist .dropdown-item,.script-dropdown-menu .dropdown-item{margin-left:0}.navlist>.active{background-color:rgba(255,255,255,.2)}.navlist .dropdown-item:hover a,.navlist>li:hover a{color:#fff;opacity:1;transition:all .2s ease-in}.navlist .dropdown-item a{border-bottom:0;display:block;font-size:11pt}.navlist .dropdown-item a:hover{background-color:#dee9cf;color:#686766}.tab{color:rgba(255,255,255,.8);font-size:9pt;font-weight:100;text-transform:uppercase;padding:5px}.tab.userImg{padding-bottom:5px}.dropdown-item a{border-bottom:0!important;font-weight:300}.dropdown-toolbar li a,footer.footer p{font-weight:100}.dropdown-toolbar{background-color:#fff!important}.dropdown-toolbar li a:hover{background:0 0;background-color:#dee9cf!important;color:#000!important}.link-dropdown-menu,.user-dropdown-menu{background-color:rgba(0,0,0,.7);border-top-right-radius:0;margin-right:-1px;margin-top:7px;z-index:50}.link-dropdown-menu .dropdown-item,.user-dropdown-menu .dropdown-item{border-left:0;border-right:0}.script-dropdown-menu .dropdown-item a:hover{color:#fff}.script-dropdown-menu .dropdown-item:hover{background-color:#2ecc71}.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:rgba(0,0,0,.7);border:1px solid #c2c2c2;margin-right:-20px;margin-top:6px}.gv-dropdown-menu:after{border-bottom-color:#fff}.gv-dropdown-menu li:hover{background-color:#fff;background-image:none}.gv-dropdown-menu li a{padding:0}.gv-dropdown-menu li a label{color:#fff;padding-left:5px}.gv-dropdown-menu li a:focus{background-color:#2ecc71!important;background-image:none}#arangoCollectionSelect{display:none;float:right;margin-bottom:0;margin-right:15px;padding-bottom:0}.caret{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #686766;display:inline-block;height:0;vertical-align:top;width:0}.applications-menu{display:block}.arango-logo{height:34px;padding:0!important}.arango-logo img{margin-left:22px}.footer{background-color:rgba(239,240,241,.8);display:none;font-size:14px;left:160px;right:10px;text-align:center;z-index:1000}div.footer-center,div.footer-left,div.footer-right{background:none;color:#686766}footer.footer{bottom:0;height:43px;position:fixed}footer.footer p{font-size:10pt;margin-bottom:0;padding-bottom:10px;padding-top:10px}div.footer-left{width:45%}div.footer-center{width:10%}div.footer-center p{padding-top:5px}[class*=' button-']:disabled,[class^=button-]:disabled,a.headerButton.disabled,button.disabled{cursor:not-allowed}div.footer-right{width:45%}div.footer-right p{color:#fff}div.footer-right i{color:#e74c3c;font-size:18px}div.footer-right a{color:#686766;margin-left:5px;position:relative;top:-1px}div.footer-right .isOnline{color:#2ecc71!important}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-header,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;font-size:13px;font-weight:300!important}.addButton,.deleteButton i{font-size:16pt;position:relative}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{border:0;color:#fff;margin-left:10px;padding:4px 12px}.ajax-file-upload i,.ajax-file-upload-red i,.button-close i,.button-danger i,.button-inactive i,.button-info i,.button-neutral i,.button-notification i,.button-primary i,.button-success i,.button-warning i{margin-left:-5px}.ajax-file-upload .fa,.ajax-file-upload-red .fa,.button-close .fa,.button-danger .fa,.button-inactive .fa,.button-info .fa,.button-neutral .fa,.button-notification .fa,.button-primary .fa,.button-success .fa,.button-warning .fa{position:relative;top:1px}.button-header{margin-top:5px}.addButton{margin-right:7px;margin-top:2px}.deleteButton i{float:right;padding-right:7px;top:12px}#closeBtnInfoView{margin-left:0!important}button.btn-server{width:120px}button.btn-small{padding:0 8px}button.gv-zoom-btn{background-size:14px 14px;height:14px;vertical-align:baseline;width:14px}button.gv-zoom-btn.btn-zoom-right{border:0;box-shadow:none;right:0;top:13px}button.gv-zoom-btn.pan-right{background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-right:hover{background:inherit;background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-left{background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-left:hover{background:inherit;background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-top{background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-top:hover{background:inherit;background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-bottom{background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.pan-bottom:hover{background:inherit;background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.btn-zoom{height:14px;margin:0;padding:0;position:absolute;width:16px}button.gv-zoom-btn.btn-zoom-top{border:0;box-shadow:none;left:13px;top:1}button.gv-zoom-btn.btn-zoom-left{border:0;box-shadow:none;left:0;top:13px}button.gv-zoom-btn.btn-zoom-bottom{border:0;box-shadow:none;left:13px;top:25px}button.gv-icon-btn{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;background-size:36px 36px;height:36px;width:36px}button.gv-icon-btn.active{background-color:#2ecc71}button.gv_dropdown_entry{height:30px;margin:4px 4px 4px 12px;width:160px}button.gv_context_button{width:65px}button.large-distance{margin-left:12px}button.short-distance{margin-left:6px}button.shutdown{margin-top:6px;padding:3px 14px}button.graphViewer-icon-button{background-color:transparent;border:0;height:20px;margin-left:5px;margin-top:-2px;padding:0;width:20px}button.graphViewer-icon-button img{height:20px;padding-bottom:10px;width:20px}ul.headerButtonList{display:inline-block;margin-bottom:0;margin-left:0;padding-left:0!important}ul.headerButtonList li{display:inline}a.button-gui,a.headerButton{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:5px;margin-right:5px}a.headerButton{margin-top:2px;position:relative}a.headerButton .fa,a.headerButton [class*=" icon_"],a.headerButton [class^=icon_]{display:block;height:23px;line-height:23px;position:static;right:0;text-align:center;top:0;width:27px}a.headerButton .icon_arangodb_arrowleft,a.headerButton .icon_arangodb_arrowright{font-weight:700}a.headerButton.activated{background-color:#58d68d;border:1px solid #58d68d;color:#fff}a.headerButton.activated:hover{background-color:#fff;color:#58d68d}div.toolbox{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;border:1px solid rgba(140,138,137,.25);margin-right:5px;padding-bottom:5px;padding-top:5px;position:absolute;top:-10px}div.toolbox div.gv_action_button{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;color:#555;height:30px;margin:5px;position:relative;text-align:center;width:30px}div.toolbox div.gv_action_button.active{background-color:#2ecc71;color:#fff}div.toolbox div.gv_action_button:first-child{margin-top:0}div.toolbox div.gv_action_button:last-child{margin-bottom:0}h6.gv_button_title,h6.gv_icon_icon{left:0;margin:0;position:absolute;right:0}h6.gv_icon_icon{font-size:22px;left:1px;top:4px}h6.gv_button_title{bottom:1px;display:none}.btn-icon{background-color:#383434;padding:4px}.gv-icon-small{background-size:16px 16px;height:16px!important;width:16px!important}.gv-icon-small.delete{background-image:url(../img/icon_delete.png)}.gv-icon-small.add{background-image:url(../img/plus_icon.png)}a.pagination-button,ul.arango-pagination a{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.badge,.btn,.label{text-shadow:none!important}.navbar-inner,.thumbnail{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0}.modal-body th.actionCell>button{margin-top:-12px}.btn-old-padding{padding-bottom:4px!important;padding-top:4px!important}button.btn-overview,button.btn-server{margin:5px}a.button-gui{height:auto;margin-bottom:0;margin-top:0;padding-bottom:1px;padding-top:1px;position:absolute;right:2px;text-decoration:none!important;top:2px;width:auto}a.button-gui.button-gui-disabled{display:none}.clusterDownBtn{padding-bottom:10px;padding-top:10px;text-align:center}.clusterDownBtn button{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f1f1f1;border:1px solid rgba(0,0,0,.1875);color:#333;font-size:20px;font-weight:300;margin:0;padding:12px 18px;text-align:center;text-decoration:none!important;width:250px}.clusterDownBtn button:hover{background-color:#e8e8e8;color:#4a6c30;-webkit-transition-delay:0;-webkit-transition-duration:.2s;-webkit-transition-property:all;-webkit-transition-timing-function:ease-in}.clusterDownBtn button.green{background-color:#617e2b;color:#fff}.clusterDownBtn button.green:hover{background-color:#8ba142}.bottomButtonBar{background-color:#fff;border-top:1px solid rgba(104,103,102,.1);height:30px;padding:10px}.tileList{left:10px;padding-top:5px;position:absolute;right:10px}.tileList legend{padding-left:5px}.tileList .tile:first-child a{opacity:.8}.tileList .tile:first-child a:hover{opacity:1}div .bigtile,div .tile{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:2px;font-size:14px;list-style:none;margin-bottom:13px;position:relative;text-align:center;z-index:1}div .bigtile progress[value],div .tile progress[value]{color:#5bc0de}div .bigtile progress::-webkit-progress-bar-value,div .tile progress::-webkit-progress-bar-value{background:#5bc0de}div .bigtile progress::-webkit-progress-value,div .tile progress::-webkit-progress-value{background:#5bc0de}div .bigtile progress::-moz-progress-bar,div .tile progress::-moz-progress-bar{background:#5bc0de}div .bigtile progress,div .tile progress{-webkit-appearance:none;border-radius:0;height:2px;margin-top:16px;position:relative;width:100%;z-index:10}div .locked.bigtile,div .locked.tile{cursor:not-allowed}div .locked.bigtile .borderBox,div .locked.bigtile .collection-type-icon,div .locked.bigtile .collectionName,div .locked.bigtile .iconSet,div .locked.tile .borderBox,div .locked.tile .collection-type-icon,div .locked.tile .collectionName,div .locked.tile .iconSet{opacity:.5}div .locked.bigtile .iconSet span:hover,div .locked.tile .iconSet span:hover{background-color:#fff!important;color:#000;cursor:not-allowed!important}div .locked.bigtile .iconSet:hover,div .locked.tile .iconSet:hover{cursor:not-allowed!important}div .bigtile .collection-type-icon:hover,div .bigtile img:hover,div .tile .collection-type-icon:hover,div .tile img:hover{cursor:pointer}div .bigtile .warning-icons,div .tile .warning-icons{background-color:#e74c3c;border-radius:2px;color:#fff;font-size:11px;height:17px;left:0;line-height:13px;margin-left:5px;margin-top:5px;padding-left:9px;padding-right:9px;position:absolute;top:0}div .bigtile .warning-icons .fa,div .tile .warning-icons .fa{font-size:11pt;margin-left:1px}div .bigtile .collection-type-icon,div .tile .collection-type-icon{color:#666;font-size:30pt;margin-left:-18px;position:absolute;top:15px}div .bigtile img,div .tile img{position:relative}div .bigtile img.icon,div .tile img.icon{height:50px;margin-top:-110px;width:50px}div .bigtile a span.add-Icon,div .tile a span.add-Icon{font-size:20px;margin-left:22px;margin-right:10px;position:relative;top:0}div .bigtile a span.icon,div .tile a span.icon{font-size:50px}div .bigtile a svg.icon,div .tile a svg.icon{height:50px;width:50px}div .bigtile .tile-icon-svg,div .tile .tile-icon-svg{cursor:pointer;fill:#686766;height:50px;margin-left:auto;margin-right:auto;margin-top:-63px;position:relative;width:50px}div .bigtile .tile-icon,div .tile .tile-icon{color:#686766;font-size:50px;line-height:1.2;margin-left:-50px}div .bigtile .icon_arangodb_edge5-2,div .bigtile .tile-icon,div .tile .icon_arangodb_edge5-2,div .tile .tile-icon{position:absolute;top:15px}div .bigtile .icon_arangodb_edge5-2,div .tile .icon_arangodb_edge5-2{display:inline-block;margin-left:5px;position:absolute;top:0;-moz-transform:rotate(80deg);-o-transform:rotate(80deg);-webkit-transform:rotate(80deg)}div .bigtile h5,div .tile h5{background:rgba(64,74,83,.8);color:#fff;font-size:12px;margin:0 5px;overflow:hidden!important;padding:4px 8px;text-overflow:ellipsis!important;white-space:nowrap!important}div .bigtile h5.inProgress,div .tile h5.inProgress{color:#5bc0de}div .bigtile .tileSelects,div .tile .tileSelects{margin-left:40px;position:relative;z-index:9999}div .bigtile .tileSelects select,div .tile .tileSelects select{float:right;height:20px;margin-right:5px;margin-top:16px;width:70px}div .bigtile .fullBorderBox,div .tile .fullBorderBox{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;box-sizing:border-box;height:100%;margin-left:5px;margin-right:5px;position:relative;width:auto}div .bigtile .fullBorderBox .add,div .tile .fullBorderBox .add{color:#404a53}div .bigtile .fullBorderBox .add span,div .tile .fullBorderBox .add span{color:#2ecc71}div .bigtile .paddingBox,div .tile .paddingBox{box-sizing:border-box;padding-left:5px;padding-right:5px}div .bigtile .borderBox,div .tile .borderBox{background-color:#fff;border:1px solid rgba(64,74,83,.2);border-bottom:0;border-radius:2px;box-sizing:border-box;height:75px;position:relative;width:100%}div .bigtile .iconSet,div .tile .iconSet{position:absolute;right:5px;top:5px}div .bigtile .iconSet span,div .tile .iconSet span{border-radius:2px;color:#666;font-size:18px;z-index:2;padding:2px 3px}.modal,.select2-drop-active{z-index:9999999}div .bigtile .iconSet span:hover,div .tile .iconSet span:hover{background-color:#2ecc71;color:#fff}div .bigtile .iconSet span.disabled,div .tile .iconSet span.disabled{cursor:default;opacity:.2}div .bigtile .iconSet span.disabled:hover,div .tile .iconSet span.disabled:hover{background-color:#fff;color:#000;cursor:default;opacity:.2}div .bigtile .badge-success,div .tile .badge-success{font-weight:300}div .bigtile .unloaded div,div .tile .unloaded div{border-bottom:16px solid #ff8f35}div .bigtile .deleted div,div .tile .deleted div{border-bottom:16px solid #700}div .bigtile .tileBadge,div .tile .tileBadge{bottom:29px;font-size:11px;font-weight:300;position:absolute;right:0}div .bigtile .tileBadge button,div .tile .tileBadge button{margin-left:0;margin-right:5px}div .bigtile .tileBadge span,div .tile .tileBadge span{display:inline-block;line-height:15px}div .bigtile .tileBadge span .corneredBadge,div .tile .tileBadge span .corneredBadge{border-bottom-style:solid;border-bottom-width:17px;border-left:5px solid transparent;border-radius:2px;color:#fff;height:0;margin-bottom:4px;margin-right:10px;padding-left:1px;padding-right:6px}div .bigtile .tileBadge span .corneredBadge.loading,div .tile .tileBadge span .corneredBadge.loading{border-bottom-color:#ff8f35}div .bigtile .tileBadge span .corneredBadge.loaded,div .tile .tileBadge span .corneredBadge.loaded{border-bottom-color:#2ecc71}div .bigtile .tileBadge span .corneredBadge.inProgress,div .tile .tileBadge span .corneredBadge.inProgress{border-bottom-color:#5bc0de}div .bigtile .tileBadge span .corneredBadge.development,div .bigtile .tileBadge span .corneredBadge.unloaded,div .tile .tileBadge span .corneredBadge.development,div .tile .tileBadge span .corneredBadge.unloaded{border-bottom-color:#ff8f35}div .tile{height:100px}div .tile-graph h5{margin-left:5px;margin-right:5px}div .tile-graph .tile-icon:hover{cursor:pointer}div .bigtile{height:309px;width:452px}div .bigtile .shardContainer{font-size:30px}div .bigtile .shardContainer span{padding:2px}.collectionName{border-bottom-left-radius:2px;border-bottom-right-radius:2px;bottom:0;font-weight:300;left:0;position:absolute;right:0;text-align:left}#userManagementThumbnailsIn .tile .paddingBox img{border-radius:58px;margin-top:-99px;padding:0}.resizecontainer{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px}.dashboard-large-chart,.dashboard-medium-chart-outer,.dashboard-sub-bar,.tendency-box-sizing .dashboard-tendency-container,div.centralContent{box-sizing:border-box}@media (max-width:738px){#collectionsDropdown ul{width:auto!important}.footer-center p{display:none}#queryContent #querySize,#queryContent #querySizeDiv,#queryContent .styled-select{width:90px!important}}@media (max-width:970px){#documentsDiv #totalDocuments{display:none}}@media (min-width:250px) and (max-width:489px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:10px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:27px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:-15px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:-3px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-45px;width:110px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:70px}.modal-body .dashboard-large-chart{width:51px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:22px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:5px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:-3px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:-6px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:90px}.application-detail-view aside.meta{display:none}}@media (min-width:490px) and (max-width:729px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:130px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:147px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:21px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-165px;width:350px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:310px}.modal-body .dashboard-large-chart{width:211px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:142px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:125px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:21px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:74px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:330px}.application-detail-view aside.meta{display:none}}@media (min-width:730px) and (max-width:969px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:250px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:267px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:65px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:45px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-285px;width:590px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:550px}.modal-body .dashboard-large-chart{width:371px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:262px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:245px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:45px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:154px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:370px}}@media (min-width:970px) and (max-width:1209px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:220px}.dashboard-sub-bar-menu{font-size:13px}.dashboard-medium-chart .dashboard-interior-chart{height:220px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:13px;left:369px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:220px;width:387px}.dashboard-medium-chart #clusterGraphs svg text{font-size:11px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:229px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:11px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:101.5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:105px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:31.17px;line-height:31.17px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:52.33px;line-height:25.17px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:98px}.dashboard-bar-chart-container .dashboard-bar-chart{height:93px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:31.33px;line-height:31.33px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:69px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-405px;width:830px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:13px;min-height:225px;width:130px}.absolut,.percentage{font-size:15px}.modal-chart-detail .modal-inner-detail{width:670px}.modal-body .dashboard-large-chart{width:531px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:382px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:364px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:69px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:234px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:11px;font-weight:400}.dashboard-subtitle-bar{font-size:15px;font-weight:300}.dashboard-figure{font-size:18px;font-weight:400}.dashboard-figurePer{font-size:16px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:11px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:11px;height:117.5px;width:60px}.application-detail-view section.info{width:610px}}@media (min-width:1210px) and (max-width:1449px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:255px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:255px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:16px;left:486px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:255px;width:507px}.dashboard-medium-chart #clusterGraphs svg text{font-size:12px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:264px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:119px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:145px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:37px;line-height:37px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:64px;line-height:31px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:115.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:110.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:37.17px;line-height:37.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:93px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-525px;width:1070px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:14px;min-height:260px;width:140px}.absolut,.percentage{font-size:18px}.modal-chart-detail .modal-inner-detail{width:900px}.modal-body .dashboard-large-chart{width:691px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:502px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:481px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:93px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:314px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:18px;font-weight:300}.dashboard-figure{font-size:22px;font-weight:400}.dashboard-figurePer{font-size:20px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:13px;font-weight:400}.dashboard-legend{font-size:12px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:12px;height:135px;width:65px}.application-detail-view section.info{width:850px}}@media (min-width:1450px) and (max-width:1689px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:18px;left:604px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:627px}.dashboard-medium-chart #clusterGraphs svg text{font-size:13px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:185px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:117px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-645px;width:1310px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:15px;min-height:290px;width:150px}.absolut,.percentage{font-size:20px}.modal-chart-detail .modal-inner-detail{width:1130px}.modal-body .dashboard-large-chart{width:851px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:622px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:599px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:117px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:394px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:20px;font-weight:300}.dashboard-figure{font-size:26px;font-weight:400}.dashboard-figurePer{font-size:24px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:13px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:13px;height:150px;width:70px}.application-detail-view section.info{width:1090px}}@media (min-width:1690px) and (max-width:1929px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:325px}.dashboard-sub-bar-menu{font-size:16px}.dashboard-medium-chart .dashboard-interior-chart{height:325px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:22px;left:720px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:325px;width:747px}.dashboard-medium-chart #clusterGraphs svg text{font-size:14px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:334px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:154px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:225px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:48.67px;line-height:48.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:87.33px;line-height:42.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:150.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:145.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:48.83px;line-height:48.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:141px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-765px;width:1550px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:16px;min-height:330px;width:170px}.absolut,.percentage{font-size:24px}.modal-chart-detail .modal-inner-detail{width:1350px}.modal-body .dashboard-large-chart{width:1011px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:742px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:715px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:141px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:474px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:14px;font-weight:400}.dashboard-subtitle-bar{font-size:24px;font-weight:300}.dashboard-figure{font-size:30px;font-weight:400}.dashboard-figurePer{font-size:28px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:14px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:14px;height:170px;width:80px}.application-detail-view section.info{width:1330px}}@media (min-width:1930px) and (max-width:2169px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:385px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:385px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:26px;left:836px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:385px;width:867px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:394px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:184px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:265px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:58.67px;line-height:58.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:107.33px;line-height:52.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:180.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:175.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:58.83px;line-height:58.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:165px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-885px;width:1790px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:390px;width:180px}.absolut,.percentage{font-size:28px}.modal-chart-detail .modal-inner-detail{width:1580px}.modal-body .dashboard-large-chart{width:1171px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:862px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:831px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:165px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:554px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:28px;font-weight:300}.dashboard-figure{font-size:34px;font-weight:400}.dashboard-figurePer{font-size:32px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:14px;font-weight:400}.dashboard-legend{font-size:15px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:200px;width:85px}.application-detail-view section.info{width:1570px}}@media (min-width:2170px) and (max-width:2409px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:962px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:987px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:305px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:189px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1005px;width:2030px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:1850px}.modal-body .dashboard-large-chart{width:1331px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:982px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:957px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:189px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:634px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:1810px}}@media (min-width:2410px) and (max-width:2649px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1082px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1107px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:345px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:213px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1125px;width:2270px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2090px}.modal-body .dashboard-large-chart{width:1491px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1102px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1077px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:213px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:714px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2050px}}@media (min-width:2650px) and (max-width:2889px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1202px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1227px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:385px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:237px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1245px;width:2510px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2330px}.modal-body .dashboard-large-chart{width:1651px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1222px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1197px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:237px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:794px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2290px}}div.headerBar{position:absolute}div.centralRow{background:rgba(64,74,83,.04);height:100%;min-height:100%;overflow-y:auto;position:relative;right:0}div.centralContent{background-color:transparent;margin-top:10px;width:100%;padding:5px 5px 20px}.contentDiv{list-style:none;padding:0}.contentDiv li{background-color:rgba(0,0,0,.05)}.contentDiv a.add{display:block;font-weight:400;padding:40px 0;text-align:left}.modal-body th .valueCell,.modal-body th th.actionCell,.modal-body th th.keyCell,.waitModal{text-align:center}.contentDiv .icon{padding-left:5px;padding-right:5px;padding-top:10px}.contentDiv:after{clear:both}.contentDiv:after,.contentDiv:before{display:table;line-height:0}.clusterInfoIcon{float:left;padding-left:5px;padding-top:2px}.waitModal.icon{font-size:100px;height:120px}.waitModal.message{font-size:20px}.icon_arangodb_info{color:#333;font-size:23px}li a [class*=" icon_arangodb"],li a [class^=icon_arangodb]{font-size:18px;position:absolute;right:4px;top:2px}.fa-minus-circle{color:#e74c3c;font-size:14pt}.fa-minus-circle:hover{cursor:pointer}.dropdownImport,div.headerDropdown{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;clear:both;display:none;margin-bottom:15px;padding:10px;position:relative;width:auto}.dropdownImport.smallDropdown .dropdownInner,div.headerDropdown.smallDropdown .dropdownInner{min-height:20px}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox{display:none}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.dropdown-title{margin-bottom:10px}div.dropdownInner{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;min-height:125px;position:relative;width:auto}div.dropdownInner .nav-header{font-size:10pt}div.dropdownInner>.nav-header{color:#000;font-size:10pt;font-weight:400}div.dropdownInner>label{color:#000;font-weight:300}div.dropdownInner ul{border-left:1px solid rgba(140,138,137,.25);display:inline;list-style-type:none;margin-left:10px;margin-top:10px;min-height:105px;width:175px}div.dropdownInner ul:first-of-type,div.queryline input[type=file]{border:0}div.dropdownInner ul label{color:#000;padding-left:20px}div.dropdownInner ul li .fa{color:#999;margin-right:5px}div.dropdownInner ul li .fa.fa-square-o{margin-left:1px;margin-right:6px}div.dropdownInner ul li .fa.fa-check-circle-o,div.dropdownInner ul li .fa.fa-check-square-o,div.dropdownInner ul li .fa.fa-dot-circle-o{color:#2ecc71}div.queryline{color:#000;height:35px}div.queryline .textDiv{margin-right:10px;margin-top:4px}div.queryline input,div.queryline select{margin-bottom:5px}div.queryline input{width:16%}div.queryline.querylineAdd span{color:#fff;padding-left:10px;position:relative;top:-21px}div.queryline .removeFilterItem i{margin-left:5px!important;margin-top:0!important}div.queryline div.searchByAttribute{margin-left:6px;margin-right:6px;position:relative}div.queryline div.searchByAttribute input{width:140px}div.queryline div.searchByAttribute>ul.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:#fff;color:#fff;display:none;left:0;position:absolute;top:20px;width:247px}div.dropdownImport{background-color:#fff;border-radius:3px;display:none;position:relative;padding:10px 10px 5px}div.dropdownImport input{line-height:0;margin-bottom:-15px;margin-top:5px}select.filterSelect{color:#00f;margin-left:10px;margin-right:10px;width:80px}#filterHeader button{float:right;margin-left:10px!important;margin-top:1px}div.input-append button.gv_example_toggle{-moz-border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;background-color:#8f8d8c;height:30px;margin-left:-1px;padding-left:10px;padding-right:10px;padding-top:12px;vertical-align:top}div.input-append button.gv_example_toggle:hover{background-color:#2ecc71}.searchEqualsLabel{margin-left:6px;margin-right:6px}img.gv-throbber{background-image:url(../img/swagger/throbber.gif)}span.gv_caret{border-top:5px solid #fff;margin-top:2px!important}input.search-input{border:1px solid #fff;height:20px;line-height:20px;margin-right:-4px;margin-top:3px;width:120px}.search-field{margin-left:10px}.search-field .fa-search{color:#c2c2c2;font-size:12pt;margin-left:-20px;opacity:.5;position:absolute;right:7px;top:9px}div.headerBar,div.headerBar .infoField{color:#000;float:right;padding-left:5px;padding-right:5px}div.headerBar,legend.gv-inner{font-size:16px}.search-field .fa-search:hover{cursor:pointer;opacity:1}.gv-search-submit-icon,.search-submit-icon{background-image:url(../img/enter_icon.png);background-size:14px;height:14px;margin-left:-18px;opacity:.2;position:absolute;width:14px}.gv-search-submit-icon:hover,.search-submit-icon:hover{opacity:.8}.search-submit-icon{margin-top:11px}.gv-search-submit-icon{margin-top:6px}div.headerBar{background-color:none;border-radius:2px;height:36px;margin-top:-55px;right:0}div.headerBar.marginTop5{margin-top:-60px}div.headerBar .infoField{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px!important;font-size:12px;margin-right:7px;margin-top:7px}div.headerBar .infoField .fa{cursor:pointer;margin-left:5px}div.headerBar input[type=checkbox].css-checkbox{display:none}div.headerBar input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;cursor:pointer;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}div.headerBar input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.headerBar input[type=radio]{display:none}div.headerBar input[type=radio] label span{background:url(../img/check_radio_sheet.png) -38px top no-repeat;cursor:pointer;display:inline-block;height:19px;margin:-1px 4px 0 0;vertical-align:middle;width:19px}#transparentHeader input[type=checkbox].css-checkbox,.contentTables tr.contentRowActive span,.dashboard-legend .dashboard-legend-inner br,.dashboard-row .fa-arrows-alt,.modal-delete-confirmation,.nvtooltip{display:none}div.headerBar input[type=radio]:checked+label span{background:url(../img/check_radio_sheet.png) -57px top no-repeat}.headerButtonList a.error{color:#e74c3c}.headerButtonList a.error:hover{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.headerBar a.arangoHeader{color:#000;font-size:11.5pt;font-weight:100;left:0;position:relative;top:7px}.headerBar>div.headerButtonBar{margin:4px 0;margin-bottom:0!important}.breadcrumb{background:0 0;border:0;border-radius:0;color:#fff;font-size:12pt;font-weight:100;line-height:45px;margin:0 0 0 -4px;padding:0 0 0 10px}.breadcrumb .fa{margin-left:10px;margin-right:8px}.breadcrumb .fa-ellipsis-v{font-size:10pt;opacity:0}.breadcrumb .disabledBread{color:#fff;float:left;font-size:12pt;font-weight:100;padding-right:5px;position:relative}.breadcrumb .disabledBread i{font-size:10pt;margin-left:10px}.breadcrumb .disabledBread:hover{cursor:default}.breadcrumb .activeBread{color:#fff;float:left;font-size:11pt;font-weight:100;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .2s cubic-bezier(.645,.045,.355,1);transition:opacity .2s cubic-bezier(.645,.045,.355,1)}.breadcrumb .activeBread:hover{opacity:.65}.breadcrumb a{color:#fff!important;opacity:.8;transition:all .2s ease-in}.breadcrumb a:hover,.subViewNavbar li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.breadcrumb a:hover{opacity:1;transition:all .2s ease-in}.breadcrumb #app-development-path{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);border-left:1px solid rgba(140,138,137,.25);border-radius:3px;border-right:1px solid rgba(140,138,137,.25);height:24px;margin-left:-6px;margin-top:-10px;padding-left:5px;width:100%}.arangoHeader{font-weight:400}.checkboxLabel{margin-top:4px;padding-left:0}.css-label{background-image:url(../img/dark-check-green.png)}.css-label-round{background-image:url(../img/dark-check-green-round.png)}.modal-dashboard-header,.modal-header{background-color:#fff;border-bottom:0!important;border-radius:3px;margin-top:5px;padding-left:5px;padding-right:10px;padding-top:4px}.modal-dashboard-header .arangoHeader,.modal-header .arangoHeader{color:#000;font-size:13pt;font-weight:100;left:5px;position:relative;top:2px}.modal-dashboard-header a,.modal-header a{top:2px!important}.modal-dashboard-header .close,.modal-header .close{color:#fff;font-weight:300;margin-top:2px;opacity:.5}.modal-dashboard-header .close:hover,.modal-header .close:hover{opacity:1}.modal-tabbar{border-bottom:1px solid #666}.modal-body{color:#736b68;font-size:14px;font-weight:300;max-height:410px}.modal-body .select2-choices{background-image:none!important;border:1px solid #999;border-radius:3px;-webkit-box-shadow:none;box-shadow:none}.modal-body .select2-choices input:active{-webkit-box-shadow:none;box-shadow:none;outline:0!important}.modal-body .select2-choices .select2-search-choice{margin:5px 0 3px 5px!important}.modal-body .select2-choices li{background-color:#fff!important;background-image:none!important;color:#000}.modal-body tr.first,.modal-body tr.last,.modal-body tr.middle{background-color:#f5f8f0}.modal-body .select2-choices li a{margin-left:1px;margin-top:-1px}.modal-body .select2-choices:active{border:1px solid #999;-webkit-box-shadow:none!important;box-shadow:none!important;outline:transparent!important}.modal-body .nav-tabs{margin-top:15px}.modal-body .nav-tabs>li>a:hover{border-color:#8c8a89}.modal-body input,.modal-body select,.modal-body textarea{margin-top:10px}.modal-body input[type=checkbox]{margin-bottom:10px}.modal-body input[type=text].invalid-input{border-color:rgba(234,23,23,.6)}.modal-body input[type=text].invalid-input:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6)}.modal-body input[type=file]{line-height:17px}.modal-body tr.spacer{height:10px}.modal-body tr.first th:first-child{border-top-left-radius:3px}.modal-body tr.first th:last-child{border-top-right-radius:3px}.modal-body tr.middle{padding-left:10px;padding-right:10px}.modal-body tr.last th:first-child{border-bottom-left-radius:3px}.modal-body tr.last th:last-child{border-bottom-right-radius:3px}.modal-body tr.first th:first-child,.modal-body tr.last th:first-child,.modal-body tr.middle th:first-child{padding-left:10px}.modal-body tr.first th:last-child,.modal-body tr.last th:last-child,.modal-body tr.middle th:last-child{padding-right:10px}.modal-body th.actionCell{width:30px}.modal-body th.keyCell{width:170px}.modal-body th.keyCell input{width:150px}.modal-body th .valueCell{width:300px}.modal-body th .valueCell input{width:290px}.modal-body th .select2-container{margin-bottom:10px;margin-top:10px}.modal-body .icon-info-sign{margin-bottom:10px;margin-left:10px;opacity:.7;padding-bottom:5px}.modal-body .icon-info-sign:hover{opacity:1}.modal-body .icon_arangodb_info{color:#736b68;font-size:18px;margin-top:-10px;position:absolute;right:12px}.modal-body .icon_arangodb_info:hover{color:#000}.modal-body .collapse{margin-right:-14px;position:relative}.modal-body .accordion-inner{border-top:0;margin-left:0;padding-left:0;padding-right:0}.modal-body .accordion-toggle span .caret{border-top-color:#000;float:right;margin-top:5px}.modal-body .accordion-toggle.collapsed span .caret{-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.modal-body input{width:436px}.modal-body select{width:450px}.modal-body .collectionTh{height:50px}.modal-body .tab-content{min-height:200px}.modal-body .tab-content .tab-pane{border-top:1px solid #666!important;margin-left:0!important;padding-top:10px}.modal-body .tab-content .tab-pane-modal{border-top:none!important}.modal-body .tab-content #appstore{max-height:290px}.modal-body .errorMessage{background:#e74c3c;border-radius:4px;color:#fff;font-size:9pt;font-weight:100;margin-bottom:5px;margin-top:-7px;padding-left:5px;padding-right:5px;position:absolute}.modal-body .nav .tab-icon{margin-right:5px;margin-top:-3px;width:20px}.modal-text{font-weight:300;padding-bottom:3px;padding-top:3px}.modal-backdrop,.modal-backdrop.fade.in{opacity:.4}.fade{opacity:0;-moz-transition:opacity .03s linear;-ms-transition:opacity .03s linear;-o-transition:opacity .03s linear;-webkit-transition:opacity .03s linear;transition:opacity .03s linear}.modal{border:0!important;border-radius:3px!important;box-shadow:0;margin-left:-325px!important;width:650px}.modal .fade.in{top:12.1%!important}.modal table tr:last-child{border-bottom:0!important}.waitModal{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:0 0;border:0;color:#fff}.waitModalBackdrop{opacity:.7!important}.modalTooltips span{color:#736b68;font-size:20px}.fixedDropdown .dropdown-header a,.fixedDropdown .notificationItem,.modalTooltips span:hover{color:#000}.gv-object-view{text-align:left;white-space:pre}.capitalize{text-transform:capitalize}.modal-footer{border-top:0!important;padding-right:17px}.modal-footer .button-close{margin-left:20px;margin-right:10px}.modal-header{margin-left:5px;margin-right:5px}.modal-dashboard-header{margin-left:0;margin-right:0;padding-bottom:9px}.modal table tr,.thBorderBottom{border-bottom:1px solid #f7f3f2!important}.modal-delete-confirmation button{margin-right:10px;margin-top:-4px}.modal-delete-confirmation button .modal-confirm-delete{margin-right:-18px}.modal-delete-confirmation fieldset input{float:left}.modal-delete-confirmation fieldset label{float:left;margin-left:10px}.createModalDialog table{width:100%}.createModalDialog .collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.createModalDialog .figures1,.createModalDialog .figures2{margin-bottom:20px;width:300px}.createModalDialog .figures2{margin-left:20px!important}.createModalDialog .figures3{margin-bottom:0;width:100%}.foxx-store-row .foxx-name{font-weight:700}.foxx-store-row .foxx-author{font-size:10pt;font-weight:300;margin-top:-4px}.foxx-store-row .foxx-version{font-weight:400}#new-app-mount{margin-right:24px;width:360px}#control_event_edge_delete_modal,#control_event_edge_edit_modal,#control_event_new_node_modal,#control_event_node_delete_modal,#control_event_node_edit_modal{margin-left:-320px;width:640px}.navlogo .stat_cpu,.navlogo .stat_ram{width:26px;height:26px}.navlogo .stat_cpu{margin-top:1px}.navlogo .stat_cpu path{fill:#aa0}.navlogo .stat_ram path{fill:#070}.navlogo .stat_req{height:22px;width:22px}.navlogo .stat_req path{fill:#aa0}#notification_menu .innerDropdownInnerUL{margin-left:0}#noty_bottom_layout_container li{border:0!important}.noty_type_error .arango_message{top:2px}.noty_bar .noty_buttons{background-color:transparent!important;border:0!important;bottom:0;height:1px;margin-bottom:30px!important;margin-top:-35px!important;position:relative;right:-23px}.noty_bar .noty_buttons button{margin-bottom:2px;margin-right:-1px}.noty_bar .arango_message{font-weight:400!important}.noty_bar .arango_message div{float:right;width:20px}.fixedDropdown{background:#fff!important;border-color:rgba(140,138,137,.25)!important;border-radius:3px!important;margin:10px -3px 0!important;right:-1px!important;width:210px}.fixedDropdown .dropdown-header,.fixedDropdown .dropdown-item,.innerDropdownInnerUL{border-bottom:1px solid rgba(0,0,0,.2)}.fixedDropdown .dropdown-header{margin-left:-1px;padding:0!important}.fixedDropdown a{padding-left:5px!important}.fixedDropdown .notificationItemContent{font-size:.9em;font-weight:300;margin-left:15px;max-width:180px;min-height:15px;white-space:normal;width:180px;word-wrap:break-word}.fixedDropdown button{margin-right:5px;margin-top:5px}.fixedDropdown .notificationItem .notificationItemTitle{color:#000;font-weight:400;max-width:165px;overflow-wrap:break-word;white-space:normal;word-wrap:break-word}.fixedDropdown .notificationItem .notificationItemTitle:hover{background-color:transparent;cursor:default}.fixedDropdown .notificationItem i{color:rgba(0,0,0,.2);font-size:20px;padding-left:5px;position:relative;right:2px}.fixedDropdown .notificationItem i:hover{color:#000}.innerDropdownInnerUL{height:220px!important;min-height:220px;overflow-x:hidden;overflow-y:auto;width:100%}.innerDropdownInnerUL .dropdown-item:hover{background-color:#e1e1e1!important}.innerDropdownInnerUL li{width:auto!important}#stat_hd{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid rgba(140,138,137,.25);height:25px;margin-left:-10px;margin-top:8px;position:relative;right:3px;text-align:center;width:25px}.contentButtons,.contentTables{margin-bottom:10px;width:100%}#stat_hd #stat_hd_counter{color:#c2c2c2;line-height:25px;text-align:center}.fullNotification{background-color:#e74c3c!important;border:1px solid #e74c3c!important}.fullNotification p{color:#fff!important}.contentTables tr.contentRowActive a,.contentTables tr.contentRowInactive a{color:#000!important}.contentButtons{clear:both}.contentButtons #createDatabase,.contentButtons #createUser{margin-left:0}.contentTables thead{text-align:left}.contentTables thead tr{background-color:#fff;border-bottom:1px solid #c2c2c2}.contentTables tbody tr:nth-child(odd){background-color:#d9d9d9}.contentTables tbody tr:nth-child(even){background-color:#fff}.contentTables tr.contentRowActive{background-color:#bdcc92!important;font-weight:400}.contentTables .dbThFirst{width:90%}.contentTables .dbThSecond{width:10%}.contentTables td{padding:12px 18px}.contentTables td span{float:right;font-size:22px}.contentTables .collectionThSec{margin-right:0;width:80%}.contentTables .collectionTh{margin-right:0;width:5%}.usermenu{width:40px}.userImg{margin-top:-11px}.userImg .caret{margin-top:13px}.user-menu-img{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;height:25px}.ui-tooltip{background-color:#2ecc71!important;border:0!important;border-radius:3px!important;box-shadow:none!important;color:#fff!important;font-size:10pt!important;font-weight:100!important;z-index:99999999}.tooltip-inner{max-width:300px!important;white-space:normal!important;word-wrap:break-word!important}.arangoDataTable .key,.dashboard-sub-bar .dashboard-sub-bar-title,.dbselection,.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state,div.gv-colour-list li{text-overflow:ellipsis;white-space:nowrap}.index-tooltip{color:#736b68}.index-tooltip:hover{color:#000}.index-tooltip .arangoicon{font-size:18px!important}.tooltipInfoTh{width:10%}.arangoToolbar span.action:hover{background-color:#2ecc71;border-radius:3px;color:#fff;cursor:pointer}.arangoToolbar{background-color:#fff;border:1px solid rgba(140,138,137,.25);height:45px;width:100%}.arangoToolbar .pull-left,.arangoToolbar .pull-right{height:30px;margin-top:8px}.arangoToolbar .pull-left i.positive,.arangoToolbar .pull-right i.positive{color:#2ecc71}.arangoToolbar .pull-left i.warning,.arangoToolbar .pull-right i.warning{color:#f1c40f}.arangoToolbar .pull-left button{margin-left:8px}.arangoToolbar .pull-right button:first-child,.arangoToolbar .pull-right select:first-child{margin-right:8px}.arangoToolbar span{padding:5px 8px;position:relative;top:5px;font-weight:100;margin-left:10px}.arangoToolbar span.clickable{cursor:pointer;margin-left:0;opacity:.5;top:1px}.arangoToolbar span.clickable:hover{opacity:1}.arangoToolbar i{font-size:11pt;font-style:normal}.arangoToolbar i.fa{font-size:12pt;margin-right:5px}.arangoToolbar .toolbarType{background:#5bc0de;border-radius:3px;color:#fff;margin-left:8px}.arangoToolbar .styled-select{width:auto}.arangoToolbarBottom{clear:both}.arangoToolbarBottom #executeQuery{margin-right:8px}.arangoToolbarBottom .button-close:last-child{margin-right:10px}.dbselection{float:left;margin-right:3px;max-width:160px;overflow:hidden}.dbselection .fa{color:#fff;opacity:.3}.dbselection .fa-caret-square-o-down{margin-left:5px}.dashboard-bar-chart-container,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-medium-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-tendency-container{background-color:#fff;border-left:0 solid #000;box-sizing:border-box}.dashboard-bar-chart-container:first-child,.dashboard-full-width-chart .dashboard-full-width-chart-inner:first-child,.dashboard-large-chart .dashboard-large-chart-inner:first-child,.dashboard-medium-chart:first-child,.dashboard-small-chart .dashboard-small-chart-inner:first-child,.dashboard-tendency-container:first-child{margin-left:0}.dashboard-bar-chart-container,.dashboard-full-width-chart,.dashboard-large-chart,.dashboard-medium-chart,.dashboard-small-chart,.dashboard-tendency-container{border:1px solid rgba(64,74,83,.2);margin-left:-1px;margin-top:-2px;position:relative}.dashboard-interior-chart{width:100%!important}.dashboard-interior-chart>div{margin-left:-15px;margin-top:10px}.dashboard-sub-bar-menu{cursor:pointer;position:absolute;right:9px;top:6px}.dataNotReadyYet{color:#f1c40f;font-size:14px;font-weight:100;text-align:center}.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title{font-size:11pt;font-weight:600;text-align:center;text-transform:uppercase}.dashboard-sub-bar{background-color:#fff;color:rgba(0,0,0,.5);height:50px;line-height:24px;margin:0;padding:10px 6px 20px}.dashboard-sub-bar .dashboard-sub-bar-title{color:#000;opacity:.5;overflow:hidden;width:100%}.dashboard-full-width-chart{border:1px solid rgba(104,103,102,.1);border-radius:0;margin-right:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner{border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner{background-color:#fff;padding-top:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-subtitle-bar.top{border-bottom:1px solid #e1e1e1;height:48px;line-height:48px;text-align:right}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner{margin-left:10px;margin-right:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table{margin-bottom:10px;margin-top:10px;table-layout:fixed;width:100%}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart .dashboard-interior-chart{margin-bottom:0}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table .no-data{font-style:italic;font-weight:100}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table tr{border-bottom:1px solid rgba(0,0,0,.025)}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:first-child{width:100px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:last-child{text-align:right}.dashboard-full-width-chart .state{background-color:#8c8a89;border-radius:5px;color:#fff;font-weight:300;margin-left:5px;padding-left:6px;padding-right:6px}.dashboard-large-chart .dashboard-large-chart-inner{background-color:#fff}.dashboard-small-chart{background:#fff;border-radius:0}.dashboard-small-chart .dashboard-small-chart-inner{background-color:#fff;padding-top:5px}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-bar rect{fill-opacity:.15;stroke-opacity:.8;stroke-width:.5px}.dashboard-medium-chart-outer{border-radius:0}.dashboard-medium-chart{background-color:#fff;margin-bottom:0;padding-top:10px}.dashboard-medium-chart .dashboard-medium-chart-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border:0 solid rgba(0,0,0,.3);color:rgba(0,0,0,.3);cursor:pointer;padding:0 4px;position:absolute;z-index:1000}.dashboard-medium-chart .dashboard-medium-chart-menu:hover{color:rgba(0,0,0,.7)}.dashboard-medium-chart .dashboard-medium-chart-inner{padding-bottom:10px}.dashboard-medium-chart .clusterChart .slice path{fill-opacity:.15;stroke-opacity:1;stroke-width:1.5px}.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child{margin-left:-2px}.dashboard-tendency-container{box-sizing:content-box}.dashboard-tendency-container .dashboard-sub-bar{height:46px}.dashboard-tendency-container .dashboard-tendency-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{background-color:#fff;box-sizing:border-box;margin-top:5px;padding:0;width:50%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency:first-child{border-right:1px solid #e1e1e1}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar{border-bottom:1px solid #e1e1e1;box-sizing:inherit;padding-right:11px;text-align:right;width:100%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure{box-sizing:border-box;text-align:center;width:100%}.dashboard-bar-chart-container{background:0 0;border-radius:0;box-sizing:border-box}.dashboard-bar-chart-container .dashboard-sub-bar{padding-bottom:17px;padding-top:13px}.dashboard-bar-chart-container .dashboard-bar-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:8px;width:auto}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{margin-top:5px;padding:0 8px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{font-weight:400;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{color:#000;font-weight:500;text-align:center;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{padding-top:10px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart .nv-bar rect{fill-opacity:.6;stroke-opacity:.6;stroke-width:.5px}.dashboard-legend .dashboard-legend-inner{margin-right:25px;padding:10px 5px 5px 0;text-align:right}#dashboardDetailedChart .dygraph-axis-label-y,.dashboardDetailChart .dygraph-axis-label-y,.innerDashboardChart .dygraph-axis-label-y{text-align:left}.dashboard-legend .dashboard-legend-inner span{padding-left:10px}.dashboard-spacer{margin:0 12px}.dashboard-headerbar{margin-bottom:15px;margin-top:10px}.modal-chart-detail .modal-dashboard-legend .dashboard-legend-inner{padding-left:20px}.dashboard-half-height-legend .dashboard-legend-inner{padding-top:20px}.dashboard-title-bar{background-color:#686766;color:#fff;font-size:14.5px;font-weight:400;height:30px;line-height:30px;padding:0 5px 0 10px}.dashboard-title-bar .dashboard-half-title-bar{border-left:1px solid #000;margin-left:-1px;width:50%}.dashboard-title-bar .dashboard-half-title-bar:first-child{border-left:0;margin-left:0}.dashboard-row{margin-bottom:0;margin-left:2px;margin-right:0}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{color:#666}#repl-numbers,#repl-progress,#repl-ticks{width:33.3%!important}#repl-numbers .inner,#repl-progress .inner,#repl-ticks .inner{margin-top:0}#replication,#requests,#system{margin-bottom:10px}.dashboardModal{-moz-border-radius:8px!important;-webkit-border-radius:8px!important;border-radius:8px!important;height:80%;margin-left:-45%;min-width:780px;overflow:auto;padding:10px;top:10%;width:90%!important}#dashboardHttpGroup{border:6px solid #000;height:100%;width:100%}#dashboardDetailedChart{border:1px solid #000;height:300px;width:100%}.innerDashboardChart{bottom:5px;left:5px;position:absolute;right:5px;top:5px}.dashboardChart{background-color:#fff;border:1px solid rgba(0,0,0,.2);float:left;height:210px;margin:1.05%;position:relative;width:31%}.dygraph-label.dygraph-title{color:#000;font-size:15px;font-weight:400;text-align:left}#dashboardDetailedLineChart{padding-top:10px}.dashboardDistribution{float:left;width:270px}.dashboardDistribution svg{height:220px;width:250px}.showHotkeyHelp{cursor:pointer}.shortcuts{font-size:14px;font-weight:200}.shortcuts b{border-left:1px solid rgba(0,0,0,.34);margin-left:5px;padding-left:5px}.shortcuts .clearShortcut,.shortcuts b:first-child{border-left:0;margin-left:0;padding-left:0}.loginFixedWindow{background:#649068;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loginFixedWindow #databases{height:140px}.loginFixedWindow #databases #logout{margin-top:20px}.loginFixedWindow .resizecontainer{position:relative;top:0}.loginFixedWindow .resizecontainer img{height:33px;margin-left:-6px;margin-top:9px}.login-window{background-color:rgba(255,255,255,.75);border:1px solid rgba(140,138,137,.25);border-radius:3px;height:auto;margin:0 auto;position:relative;top:100px;width:350px;padding:20px 20px 50px}.login-window select{margin-bottom:30px;padding-left:35px}.login-window .login-logo-round{margin-bottom:25px;margin-top:10px}.login-window .login-logo-round img{display:block;margin:0 auto;width:150px}.login-window .checking-password{box-sizing:border-box;color:rgba(0,0,0,.5);margin-left:-21px;margin-top:-25px;position:absolute;text-align:center;width:100%}.login-window form .fa{color:rgba(0,0,0,.2);float:left;font-size:14pt;left:30px;margin-top:11px;position:absolute}.login-window .wrong-credentials{color:#e74c3c;margin-top:-30px;text-align:center}.login-window .login-space{height:50px}.login-window .login-input{background:#f2f2f2!important;border:2px #f2f2f2!important;box-sizing:border-box;font-size:14px;height:40px;margin:0 0 15px;outline:0;padding:10px 10px 10px 35px;width:100%;border-radius:3px}.login-window .form-error{border:2px solid #e74c3c!important}.login-window button{height:40px;width:100%}.query-toolbar{background-color:#f0f0f0;border-bottom:0;border-style:solid;border-width:1px;font-size:20px;height:27px;margin-left:0;margin-right:0}.queryManagementBottomActions button,.querySizeDiv{margin-right:10px}.query-toolbar span:hover{background-color:#e74c3c;color:#fff}#arangoQueryManagementTable .table-cell1,#queryManagementContent .table-cell1{word-break:break-all}.queryBottomActions{border-top:1px solid rgba(140,138,137,.25);padding:10px}.queryExecutionTime{margin-left:10px;margin-top:15px}.queryManagementBottomActions{background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #c2c2c2;height:40px;margin-top:-2px;padding-top:10px}.styled-select{float:right;height:30px;overflow:hidden;width:220px}.styled-select select{background:#fff;border:1px solid #c2c2c2!important;border-radius:0!important;font-size:14px;font-weight:300;height:30px;line-height:1;outline:0;padding:5px;padding-left:5px!important;padding-top:3px!important}.querySizeDiv,.querySizeDiv select{height:30px!important}.styled-select select:focus{outline:0}.querySizeDiv{width:130px!important}.inputEditorWrapper{border-bottom:3px solid rgba(140,138,137,.25)!important;border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25);clear:both;height:300px;min-height:300px;width:100%}.inputEditorWrapper .aqlEditorWrapper{border:0!important;border-right:3px solid rgba(140,138,137,.25)!important;float:left;height:100%!important;max-width:85%;min-width:20%;width:70%}.inputEditorWrapper #arangoMyQueriesTable tbody tr{cursor:copy}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{background-color:#fff;overflow:hidden}.inputEditorWrapper .aqlEditorWrapper .stringtype,.inputEditorWrapper .bindParamEditorWrapper .stringtype{color:#ce2f30}.inputEditorWrapper .aqlEditorWrapper .arraytype,.inputEditorWrapper .aqlEditorWrapper .objecttype,.inputEditorWrapper .bindParamEditorWrapper .arraytype,.inputEditorWrapper .bindParamEditorWrapper .objecttype{color:#00f}.inputEditorWrapper .aqlEditorWrapper .numbertype,.inputEditorWrapper .bindParamEditorWrapper .numbertype{color:#044}.inputEditorWrapper .aqlEditorWrapper .booleantype,.inputEditorWrapper .bindParamEditorWrapper .booleantype{color:#c12dad}.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table{border-top:0}.inputEditorWrapper .aqlEditorWrapper table tbody,.inputEditorWrapper .bindParamEditorWrapper table tbody{display:block;overflow-y:auto}.inputEditorWrapper .aqlEditorWrapper table .truncate,.inputEditorWrapper .bindParamEditorWrapper table .truncate{opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:30%}.inputEditorWrapper .aqlEditorWrapper table tr.noBgColor,.inputEditorWrapper .bindParamEditorWrapper table tr.noBgColor{background-color:transparent!important}.inputEditorWrapper .aqlEditorWrapper table tr.selected,.inputEditorWrapper .bindParamEditorWrapper table tr.selected{background-color:rgba(125,188,66,.64);color:#fff}.inputEditorWrapper .aqlEditorWrapper table tr.selected .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .spanWrapper{background-color:rgba(255,255,255,.65)}.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-copy,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-copy{color:#000}.inputEditorWrapper .aqlEditorWrapper table thead,.inputEditorWrapper .bindParamEditorWrapper table thead{display:block}#clearQuery,.arangoFrame,.display-none{display:none}.inputEditorWrapper .aqlEditorWrapper table td,.inputEditorWrapper .bindParamEditorWrapper table td{height:33px;padding:0 5px;width:50%}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper{border-radius:3px;cursor:auto;float:right}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper:hover,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper:hover{cursor:auto}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa{cursor:pointer;font-size:16pt;margin-left:5px;margin-right:5px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-minus-circle,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-minus-circle{margin-left:20px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-play-circle-o,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-play-circle-o{color:#2ecc71}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input{clear:both;float:right;height:17px;margin-bottom:3px;margin-top:3px;width:auto!important}.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper table th{font-weight:400;height:34px;padding:0;width:50%}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{height:100%}.inputEditorWrapper .aqlEditorWrapper table thead tr th,.inputEditorWrapper .bindParamEditorWrapper table thead tr th{text-align:left}.inputEditorWrapper .aqlEditorWrapper table thead tr th:first-child,.inputEditorWrapper .bindParamEditorWrapper table thead tr th:first-child{padding-left:10px}.inputEditorWrapper .aqlEditorWrapper table tbody input,.inputEditorWrapper .bindParamEditorWrapper table tbody input{width:100%!important}.inputEditorWrapper .aqlEditorWrapper .selectError,.inputEditorWrapper .bindParamEditorWrapper .selectError{background:#e74c3c}.inputEditorWrapper .aqlEditorWrapper .aceAction,.inputEditorWrapper .bindParamEditorWrapper .aceAction{background-color:#858585;border-radius:3px;color:#fff;cursor:pointer;font-size:13pt;height:23px;line-height:23px;opacity:.8;position:absolute;right:5px;text-align:center;top:5px;width:33px;z-index:10}.inputEditorWrapper .aqlEditorWrapper .aceAction.type,.inputEditorWrapper .bindParamEditorWrapper .aceAction.type{font-size:8pt}.inputEditorWrapper .aqlEditorWrapper .aceAction i,.inputEditorWrapper .bindParamEditorWrapper .aceAction i{margin-bottom:3px}.inputEditorWrapper .aqlEditorWrapper .aceAction:hover,.inputEditorWrapper .bindParamEditorWrapper .aceAction:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper .previewWrapper,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper{background-color:#fff}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);height:34px}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar span,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar span{margin-left:5px;padding-top:8px;position:absolute}.inputEditorWrapper .aqlEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .aqlEditorWrapper>div,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .bindParamEditorWrapper>div{height:100%}.inputEditorWrapper .ui-resizable-s{cursor:ns-resize}.inputEditorWrapper .ui-resizable-e{cursor:ew-resize}.queryContent{clear:both;margin-top:0;width:100%}.queryContent .arangoToolbar .fa.fa-star,.queryContent .arangoToolbar .fa.fa-star-o{color:#ff0}.outputEditors{margin-bottom:60px}.outputEditorWrapper{clear:both;height:100px;padding-top:20px;width:100%}.outputEditorWrapper .switchAce{background-color:rgba(0,0,0,.6);border-radius:3px;color:#fff;cursor:pointer;position:relative;right:-24px;top:45px;z-index:10}.outputEditorWrapper .ace_editor{border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25);height:280px;width:100%}.outputEditorWrapper .ace_editor .ace_active-line{background:#fff!important}.outputEditorWrapper .sentWrapper .pull-left,.outputEditorWrapper .sentWrapper .pull-right{width:50%}#queryManagementContent{border:1px solid rgba(140,138,137,.25);padding-top:0}#queryManagementContent .arango-table{border:0}#queryManagementContent .arango-table tr th:nth-child(1){width:10%}#queryManagementContent .arango-table tr th:nth-child(1) td{text-align:center}#queryManagementContent .arango-table tr th:nth-child(2){width:50%}#queryManagementContent .arango-table tr th:nth-child(3),#queryManagementContent .arango-table tr th:nth-child(4){width:20%}.contentBar{font-size:12pt;line-height:30px}.row{margin:0 0 20px}.innerContent{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;min-height:200px;padding-top:13px}.arangoFrame{background-color:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:77777}.arangoFrame .outerDiv{min-height:100%;padding:20px 40px 40px;z-index:88888}.arangoFrame .innerDiv{z-index:99999}.arangoFrame .fa-times{color:#fff;float:right;font-size:12pt}.arangoFrame .fa-times:hover{color:#c2c2c2;cursor:pointer}.arangoFrame .document-content-div,.arangoFrame .document-info-div{left:40px;position:absolute;right:40px}.arangoFrame .document-content-div{bottom:80px;top:130px}.arangoFrame .document-editor{height:100%}.arangoFrame .bottomButtonBar{left:-1px;position:absolute;right:-1px}.container{margin-left:20px;margin-right:20px;width:auto!important}.arango-tab{border-bottom:1px solid #ddd;list-style:none;margin-left:0;padding-bottom:0;padding-right:10px}.arango-tab a{-moz-border-radius:0;-webkit-border-radius:0;border-radius:3px 3px 0 0;background-color:#8c8a89;border:1px solid transparent;border-bottom-color:#888;color:#fff;display:block;font-size:13px;line-height:20px;margin-right:2px;min-width:50px;padding:2px 15px;text-align:center}.arango-tab li{background-color:transparent;border:0;margin-bottom:-1px;margin-left:2px;position:relative;z-index:900}.arango-tab li.active a{background:#fff;border-bottom-color:#fff!important;border-left-color:#c2c2c2;border-right-color:#c2c2c2;border-top-color:#c2c2c2;color:#000;height:21px;margin-top:-1px}.jsoneditor,.jsoneditor .menu{background-color:#fff!important}.jsoneditor{border:0 solid rgba(0,0,0,.2)!important}.jsoneditor .menu{border-bottom:1px solid #c2c2c2!important;border-left:0!important;border-right:0!important;border-top:0!important}.jsoneditor .menu button{border:0!important}.jsoneditor .menu button:hover{background-color:#2ecc71;color:#fff}.jsoneditor .search .frame{border:0!important;margin:3px!important}.jsoneditor .search .frame .refresh{background-position:-96px -73px;height:22px;width:25px}.jsoneditor .search .frame input{margin-left:15px;margin-right:15px;margin-top:0}.jsoneditor .search .results{color:#fff!important;margin-top:3px!important}.document-editor-extra{margin-top:10px}.document-editor{margin-top:-10px;width:100%}.disabledPag,.disabledPag a{cursor:default!important;opacity:.5!important}.pagination-line{background-color:#fff;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top:1px solid rgba(104,103,102,.1);margin:0;padding-top:12px;text-align:center}.pagination-line li a:hover,.pagination-line li.active a,.pagination-line li.active span{background-color:#404a53;color:#fff}.pagination-line li a{background-color:#fff;border:1px solid #fff;font-size:11.9px;line-height:20px;padding:2px 10px;text-decoration:none;border-width:0;min-width:12pt}.pagination-line ul{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;display:inline-block;margin-bottom:0;margin-left:0}.pagination-line li{display:inline-block;margin-left:11px}.pagination-line li span{color:#000;font-size:14px;position:relative;top:2px}.pagination-line li:first-child a,.pagination-line li:first-child span,.pagination-line li:last-child a,.pagination-line li:last-child span{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;background:#404a53;border:0;color:#fff;height:21px;position:relative;width:14px}.pagination-line li.disabled:first-child a,.pagination-line li.disabled:first-child span,.pagination-line li.disabled:last-child a,.pagination-line li.disabled:last-child span{background-color:#777;color:#666;cursor:default;pointer-events:none}.collection-pagination{margin-left:23px!important}.arango-pagination i.fa,.las-pagi i.fa,.pre-pagi i.fa{font-size:19px;position:relative;top:-2px}.arango-pagination li:first-child{margin-right:20px}.arango-pagination li:last-child{margin-left:30px}.pre-pagi{margin-right:-5px!important}.accordion-group{border:0}.accordion-body{height:auto!important}.accordion-heading{padding-top:15px}.accordion-heading a{border:1px solid #ccc;color:#000;font-weight:400;width:397px!important}.accordion-heading .accordion-toggle{border-radius:3px;box-sizing:border-box;display:block;padding:8px 15px;width:100%!important}.shell_workspace{margin-top:13px}.shell_workspace ::-webkit-scrollbar{display:none}.replShell{background-color:#fff;float:left;height:100%;min-width:100px;overflow-y:hidden;position:relative;width:100%}.replShell>div{border-radius:3px}.replShell pre{border-bottom:0;border-left:0;border-right:1px solid #a0a0a0;border-top:1px solid #a0a0a0}.jqconsole{background-color:#000;border-radius:0;padding:10px}.jqconsole-header{color:#fff}.jserror{color:#f06;margin-left:-10px}.jssuccess{color:#6f0}.jqconsole-cursor{background-color:grey}.jqconsole-blurred .jqconsole-header .jqconsole-cursor{color:#c4cccc}.jqconsole-prompt{color:#b91}.jqconsole-old-prompt{color:#f60;font-weight:400}.jqconsole-input{color:#dd0}.jqconsole-old-input{color:#bb0;font-weight:400}.jqconsole-output{color:#fff}.query-output .ace_gutter-cell{background-color:#f0f0f0}.centralContent .api-actions{margin:0!important;padding:0}.centralContent .api-actions .container{padding-bottom:10px!important;padding-top:13px!important;margin:0 5px!important}.centralContent .api-actions .resource{border-bottom:0!important;padding-left:5px!important}.centralContent .api-actions .resource .heading>.options{margin:11px 10px 0 0!important}.centralContent .api-actions .resource .heading h2 a{color:#000!important;font-weight:300!important}.centralContent .api-actions .active .heading h2 a{color:#000!important}.centralContent .api-actions .endpoint .operations .content{margin:0!important}.centralContent .api-actions .endpoint .operations .content h4{font-weight:700!important}.centralContent .api-actions .endpoints{margin-right:5px!important}.centralContent .api-actions .endpoints .endpoint:last-child{padding-bottom:5px!important}.centralContent .api-actions input[type=button]{background:#8f8d8c!important;border:none!important;box-shadow:none!important;color:#fff!important;float:right!important;font-size:14px!important;font-weight:300!important;margin-top:10px!important;padding:8px 16px!important}.centralContent .api-actions .endpoint .operations .content,.centralContent .api-actions .endpoint .operations .heading{border-radius:0!important;font-weight:300!important}.centralContent .api-actions .required,.centralContent .api-actions em,.centralContent .api-actions strong,.collectionInfoTh2,.collectionTh,.figuresHeader th{font-weight:400!important}.centralContent .api-actions .http_method,.centralContent .api-actions .toggleOperation{border-radius:0!important}.form-actions{background:0 0;border:0}.form-actions:after,.form-actions:before{display:table;line-height:0}.form-actions:after{clear:both}.swagger-section #swagger-ui-container{margin:.3em 1em!important}.alert{padding:15px 35px 15px 14px}.alert,textarea{border-radius:0!important}.log-content{word-break:break-all;word-wrap:break-word}.tab-content{min-height:390px}.crit-table-id,.debug-table-id,.info-table-id,.log-table-id,.warn-table-id{border-spacing:0 0;font-size:15px!important;margin-top:-5px!important}.crit-table-id thead,.debug-table-id thead,.info-table-id thead,.log-table-id thead,.warn-table-id thead{background-color:#f9f9f9;border-top:6px solid #888!important;text-align:center}.crit-table-id thead tr th,.debug-table-id thead tr th,.info-table-id thead tr th,.log-table-id thead tr th,.warn-table-id thead tr th{background-color:#fff!important;border-bottom:1px solid #c2c2c2;border-top:2px solid #888}.crit-table-id .firstcol,.debug-table-id .firstcol,.info-table-id .firstcol,.log-table-id .firstcol,.warn-table-id .firstcol{cursor:default!important;max-width:80px!important;width:80px!important}.crit-table-id tbody .firstcol,.debug-table-id tbody .firstcol,.info-table-id tbody .firstcol,.log-table-id tbody .firstcol,.warn-table-id tbody .firstcol{background-color:transparent!important}.crit-table-id tbody tr td,.debug-table-id tbody tr td,.info-table-id tbody tr td,.log-table-id tbody tr td,.warn-table-id tbody tr td{padding-bottom:8px!important;padding-top:8px!important}.thirdcol{cursor:default!important;max-width:500px!important}.dataTables_empty,.seccol{cursor:default!important;margin-bottom:5px;width:100px!important}.dataTables_info{display:none}#arangoLogTable{border-top:0}#arangoLogTable tbody tr{height:40px}#arangoLogTable tbody td:nth-child(1){text-align:center;width:70px}#arangoLogTable tbody td:nth-child(2){text-align:center;width:150px}#arangoLogTable tbody td:nth-child(3){width:auto}.log-content-id{padding-bottom:0!important;padding-top:0!important}.log-content-id .dataTable{border-collapse:separate;border-spacing:0 5px;table-layout:fixed!important}.log-content-id .arango-tab{border-bottom:0!important}.log-content-id .tab-content{margin-top:1px!important}.log-content-id .arango-tabbar{left:0;margin-top:-51px;position:absolute}.log-content-id .arango-tabbar button{background-color:#fff;border:0;color:#000;float:left;font-size:10.5pt;min-width:60px;opacity:.64;outline:0;padding-left:0;padding-right:0;text-align:center;width:auto}.log-content-id .arango-tabbar button.arango-active-tab{border-bottom:2px solid #77cb99;font-weight:400;height:35px;opacity:1;padding-bottom:9px}div.gv_zoom_widget{height:300px;left:62px;opacity:.7;position:absolute;top:0;width:40px;z-index:1}div.gv_zoom_widget div.gv_zoom_buttons_bg{background-image:url(../img/gv_button_bg_reverse.png);background-size:contain;height:40px;margin-bottom:20px}div.gv_zoom_widget div.gv_zoom_slider{background:#f5f8f0;border-radius:3px;height:200px;margin:0 17px;width:4px}div.gv_zoom_widget a.ui-slider-handle{background-color:#555;border:1px solid rgba(140,138,137,.25);height:.5em;left:-.55em;outline:0}div.gv_zoom_widget a.ui-slider-handle.ui-state-hover{outline-color:#fff}div.gv_zoom_widget a.ui-slider-handle:hover{cursor:pointer}div.gv_zoom_widget .ui-state-default{background:#f6f6f6}#menubar{margin:0 0 10px}div.gv_colour_list{max-height:680px;overflow:auto;position:absolute;right:26px;text-align:right;top:20px;z-index:1}div.gv_colour_list li{background-color:transparent;float:none;padding:2px 6px}svg.graph-viewer{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;left:54px;position:absolute;top:-10px;z-index:0}div.gv-colour-list ul ul,div.gv-colour-list ul ul:first-child,div.gv-colour-list ul ul:last-child{border-left:1px solid rgba(104,103,102,.1);border-right:1px solid rgba(104,103,102,.1)}svg.graph-viewer text{max-width:90px;pointer-events:none}div.gv-background{position:relative}.link>line{stroke-width:1}div.gv-colour-list:hover{opacity:1}div.gv-colour-list{border-radius:3px;max-height:350px;max-width:300px;min-width:190px;opacity:.1;overflow-x:hidden!important;overflow-y:auto;position:absolute;right:8px;text-align:right;top:0;z-index:1}div.gv-colour-list li{float:none;overflow:hidden;padding:2px 6px}div.gv-colour-list ul ul:first-child{border-top:1px solid rgba(104,103,102,.1);border-top-left-radius:3px;border-top-right-radius:3px}div.gv-colour-list ul ul:last-child{border-bottom:1px solid rgba(104,103,102,.1);border-bottom-left-radius:3px;border-bottom-right-radius:3px}div.gv-manage-button-container{margin-top:10px}input.gv-radio-button{display:block;margin-top:3px;width:auto}.addCollection .accordion,.collectionTh select,.collectionTh textarea{margin-top:10px}.collectionTh{font-size:14px;text-align:left;width:20%!important}.collectionInfoTh{min-width:60px;text-align:left;width:320px}.addCollection table tr{border-bottom:0!important;height:53px}.addCollection .icon_arangodb_info{margin-left:20px!important;position:relative;top:2px!important}.addCollection .collectionThSec{width:320px!important}.addCollection .collectionTh{width:96px}.addCollection .modalInput{width:320px}.addCollection .modalSelect{width:334px}.addCollection .accordion-toggle{width:457px!important}.change-collection .tab-content{min-height:230px}.change-collection input{width:384px!important}.change-collection select{width:398px!important}.show-collection .tab-content{min-height:200px}.collectionInfoTh2{text-align:left;width:150px}.collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.figuresHeader{border-bottom:1px solid #c2c2c2}#collectionIndexTable{margin-left:0;width:100%}#collectionTab,#graphTab,#infoTab{border-bottom:0;margin-bottom:1px;padding-bottom:0;padding-right:10px}#collectionTab li,#graphTab li,#infoTab li{float:right}#collectionTab li.disabled a,#graphTab li.disabled a,#infoTab li.disabled a{cursor:not-allowed}#collectionTab a,#graphTab a,#infoTab a{background-color:#8c8a89;border-bottom:1px solid #666;border-top-left-radius:3px!important;border-top-right-radius:3px!important;color:#fff;font-size:13px!important;height:21px;margin-bottom:-1px;margin-right:4px;padding:2px 15px!important}#collectionTab .active>a,#graphTab .active>a,#infoTab .active>a{background-color:#fff;border-color:#888 #888 transparent!important;color:#000}#confirmCreateEdge{margin-left:20px}.collection-info-figures .icon_arangodb_info{position:relative!important;right:-4px!important}.snippet-wrap .snippet-num li{list-style:decimal-leading-zero}.snippet-no-num{list-style-type:none;margin-left:0;padding-left:0}.snippet-no-num .prettify{font-size:1.2em}.snippet-no-num .sh_number{color:#044;font-weight:100;margin-left:5px}.snippet-no-num .sh_symbol{color:#00f;font-weight:100;margin-left:5px}.snippet-no-num .sh_cbracket{color:#c7a317;font-weight:100;margin-left:5px}.snippet-no-num .sh_keyword{color:#c12dad;font-weight:100;margin-left:5px}.snippet-no-num .sh_string{color:#ce2f30;font-weight:100;margin-left:5px}.snippet-no-num .sh_array,.snippet-no-num .sh_object{color:#00f;font-weight:100;margin-left:5px}@media (max-width:568px){.document-info-div .search,.navlogo .big{display:none}.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}div.dropdownInner ul label{font-size:13px}.navlogo .small{display:block;height:auto;width:28px}.headerButtonBar,.navlogo .version,.primary .version,.shortcut-icons{display:none}.navbar,.navlist,.navlist li,.navmenu,.primary,.primary li{width:40px!important}.arango-collection-ul .tab{font-size:12pt;height:30px;overflow:hidden}.arango-collection-ul .tab .fa{padding-left:6px;padding-right:20px}.social-icons p{float:left;margin-left:-3px}.social-icons p .fa{font-size:16px}.footer,div.bodyWrapper{left:40px}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (max-width:768px){.dashboard-large-chart,.dashboard-tendency-container{box-sizing:content-box}.tendency-box-sizing .dashboard-bar-chart-container,.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child,.tendency-box-sizing .dashboard-tendency-container{margin-left:0}.tendency-box-sizing .dashboard-bar-chart-container{height:140px}.tendency-box-sizing .dashboard-bar-chart-container .dashboard-sub-bar{margin-top:-3px}}@media (min-width:569px) and (max-width:738px){.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}.document-info-div .search,.headerButtonBar{display:none}.dashboard-bar-chart-container{padding-left:0!important;padding-right:0!important}#repl-numbers,#repl-progress,#repl-ticks{width:100%!important}.collection-dropdown ul{width:auto!important}.arango-collection-select{display:inline-block}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (min-width:770px) and (max-width:972px){.dashboard-tendency-container .dashboard-sub-bar{font-size:11px;height:32px;margin-bottom:10px;margin-top:-10px}.dashboard-small-chart .dashboard-sub-bar{font-size:11px;height:33px}.dashboard-small-chart .dashboard-sub-bar-title{font-size:11px;line-height:12px;margin-top:-12px}.dashboard-bar-chart-chart{margin-top:10px}.dashboard-bar-chart-container .dashboard-sub-bar{font-size:11px;margin-bottom:10px;margin-top:-16px;padding-top:18px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{padding-top:3px}}@media (min-width:973px){.dashboard-large-chart .dashboard-sub-bar{padding-top:14px}#dataTransferDistribution .nvd3-svg,#totalTimeDistribution .nvd3-svg{padding-top:20px}#requests .small-label-padding .dashboard-small-chart .dashboard-sub-bar{font-size:12px;padding-top:30px}#requests .small-label-padding:last-child .dashboard-small-chart .dashboard-sub-bar{margin-bottom:1px}}.document-info-div{min-height:0}.document-content-div{margin-top:10px}.document-info{background-color:#fff;border-radius:3px;margin-bottom:8px;margin-top:-13px;min-height:65px;padding:5px}.document-info .document-info-container{clear:both;width:100%}.document-info .document-info-container .document-inner-info-container{float:left;margin-left:10px;margin-top:5px}.document-info .document-info-container .document-inner-info-container .document-attribute{margin-right:20px}.document-info .document-info-container .document-inner-info-container .document-attribute div{float:left}.document-info .document-bold-font{min-width:55px}.document-info .document-thin-font{color:#2ecc71}.document-info .document-type-container div{float:left}.document-info .document-type-container #document-id{margin-left:10px}.document-link:hover{cursor:pointer;text-decoration:underline}.jsoneditor .tree div{font-size:11pt}#progressPlaceholder{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.progress-view{background-color:#363c39;border-radius:2px;color:#fff;height:188px;left:50%;margin:-150px 0 0 -125px;position:absolute;top:38%;width:250px}.progress-view .progress-content{border:5px solid #fff;border-radius:3px}.progress-view .progress-content .fa-spinner{font-size:100pt}.progress-view .progress-message{background-color:#fff;border-radius:0 0 2px 2px;color:#fff;font-weight:200;height:44px;margin-top:-25px;padding-top:3px;text-align:center}.progress-view .progress-text{background:#fff;color:#000;float:left;font-weight:100;height:25px;left:-5px;margin-left:5px;margin-top:10px;position:relative;top:-10px;width:100%}.progress-view .progress-action{float:right;margin-right:5px;margin-top:5px}#progressPlaceholderIcon{color:#2ecc71;float:left;font-size:22px;margin-left:10px;margin-top:7px}.pong-spinner{height:100px;margin:50px auto;position:relative;width:200px}.pong-spinner i{animation:ball 2s infinite linear;background:#8cdb8b;border-radius:10px;height:10px;position:absolute;width:10px}.pong-spinner:after,.pong-spinner:before{animation:left-player 2s infinite linear;background:#8cdb8b;height:30px;position:absolute;width:5px}.pong-spinner:after{animation:right-player 2s infinite linear;right:0}@keyframes left-player{0%,100%{top:0}50%{top:70px}}@keyframes right-player{0%,100%{top:70px}50%{top:0}}@keyframes ball{0%,100%{left:5px;top:20px}25%,75%{left:190px;top:50px}50%{left:5px;top:80px}}#spotlightPlaceholder{background-color:rgba(0,0,0,.25);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.spotlightWrapper{height:50px;left:25%;position:absolute;top:115px;width:50%}.spotlightWrapper .twitter-typeahead{width:100%}.spotlightWrapper .tt-highlight{color:#5bc0de;font-weight:400}.spotlightWrapper input{box-sizing:border-box;height:40px!important}.spotlightWrapper .tt-dataset{clear:both}.spotlightWrapper .tt-menu{background:#3d4246;border-radius:3px;color:#fff;height:300px;overflow:auto;width:100%}.spotlightWrapper .tt-menu .tt-suggestion:hover{background-color:#404a53;cursor:pointer}.spotlightWrapper .tt-menu .header-type{background:#32373b;clear:both;color:#fff;height:30px;padding-left:5px}.spotlightWrapper .tt-menu .header-type h4{float:left;margin:4px 0 0;padding:0}.spotlightWrapper .tt-menu .header-type .fa{font-size:12pt;margin-left:6px;margin-top:6px}.spotlightWrapper .tt-menu .header-type .type{background-color:#5bc0de;border-radius:3px;float:right;margin:4px;padding:0 5px}.spotlightWrapper .tt-menu .tt-cursor{background-color:#fff;color:#000}.spotlightWrapper .tt-menu .tt-selectable{padding-left:10px}.spotlightWrapper .typeahead{background:#3d4246;border:0 solid #3d4246;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;font-size:22px;height:30px;line-height:30px;outline:transparent 0;padding:8px 12px;width:100%}.spotlightWrapper .typeahead:focus{outline:transparent 0}.graphLabel{font-size:11pt;font-weight:600;margin-top:-25px;opacity:.5;padding-bottom:20px;text-align:center;text-transform:uppercase}.cluster-graphs>div .graphWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px;padding:20px 20px 10px}.cluster-graphs>div .graphWrapper .nv-controlsWrap{display:none}.cluster-graphs>div .graphWrapper .nv-legendWrap{margin-bottom:10px}.cluster-graphs>div .graphWrapper svg{height:250px;margin-left:-17px}.cluster-values{margin-top:-13px}.cluster-values>div .valueWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px}.cluster-values>div .valueWrapper .value{color:#000;font-size:24pt;line-height:150px;text-align:center}.cluster-values>div .valueWrapper .value.positive{color:#2ecc71}.cluster-values>div .valueWrapper .value.negative{color:#e74c3c}.cluster-values>div .valueWrapper div:first-child{height:150px}.application-detail-view .headerBar .subMenuEntries{margin-left:5px;margin-top:-2px}.application-detail-view .headerBar .headerButtonBar{position:absolute;right:5px}.application-detail-view section.info{float:left;padding:13px 0 0}.application-detail-view section.info .header{height:200px;margin-bottom:0;position:absolute;width:calc(100% - 20px)}.application-detail-view section.info .header div.header-icon-container{border:2px solid #d9dbdc;border-radius:150px;height:182px;left:0;margin:0 auto;overflow:hidden;width:182px}.application-detail-view section.info .header div.header-icon-container img.icon{background-color:#fff;border-radius:3px;height:auto;max-height:162px;max-width:162px;padding:10px;width:auto}.application-detail-view section.info .header .information{background-color:#fff;border:1px solid #d9dbdc;border-radius:3px;margin-bottom:20px;padding:10px 10px 0;position:relative;top:35px;width:calc(100% - 30px)}.application-detail-view section.info .header .information span{display:block;float:left;font-weight:500;width:90px}.application-detail-view section.info .header .information a{margin-right:10px}.application-detail-view section.info .header .header_right{left:190px;margin:40px auto 0;width:137px}.application-detail-view section.info .header .header_right input.delete,.application-detail-view section.info .header .header_right input.switch-docu,.application-detail-view section.info .header .header_right input.switch-mode,.application-detail-view section.info .header .header_right input.upgrade{margin-top:7.83px;padding-left:10px;padding-right:10px}.application-detail-view section.info .header .header_right input{width:130px}.application-detail-view section.info .header .header_left{margin:0 auto;padding-left:10px;padding-top:1px;text-align:center;width:33.3%}.application-detail-view section.info .header .header_left input{margin-left:0;margin-top:-4px}.application-detail-view section.info .header .header_left .header_line{margin-top:10px}.application-detail-view section.info .header .header_left .header_line p{font-size:14pt;font-weight:200}.application-detail-view section.info .header .header_left .header_line h3{float:left;margin-bottom:0;margin-top:0;padding-right:5px;width:100%}.application-detail-view section.info .header .header_left .header_line .license,.application-detail-view section.info .header .header_left .header_line .mode,.application-detail-view section.info .header .header_left .header_line .version{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#404a53;border:1px solid rgba(140,138,137,.25);color:#fff;font-size:13px;font-weight:300;padding:2px 8px;position:relative;top:-3px}.application-detail-view section.info .header .header_left .header_line .production{color:#2ecc71}.application-detail-view section.info .header .header_left .header_line .development{color:#f1c40f}.application-detail-view section.info .header .header_left .header_line:after{clear:both;content:'';display:table}.application-detail-view section.info .header .header_left .header_line_bottom>div{display:table;left:-3px;margin:-10px auto 0;position:absolute;width:100%}.application-detail-view section.info .header .header_left .header_line_bottom h3{width:auto}.application-detail-view section.info .header .header_left .header_line_bottom .inner{display:table;margin:0 auto;padding-left:15px;width:auto}.application-detail-view section.info .header .app-warning{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#e74c3c;color:#fff;padding:6px 8px}.application-detail-view section.info .header .app-warning h4,.application-detail-view section.info .header .app-warning p{font-size:1em;margin:0}.application-detail-view aside.meta{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;clear:right;float:right;height:182px;margin-top:12px;max-height:182px;max-width:182px;overflow-x:hidden;position:relative;width:182px}.application-detail-view aside.meta dl{margin-bottom:0;margin-top:0;padding-left:7px;padding-top:5px}main{background-color:#fff;border-radius:3px}main .app-info{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#5bc0de;color:#fff;margin:10px;padding:6px 8px}main .app-info h4,main .app-info p{font-size:1em;margin:0}main .swagger iframe{border:0;border-radius:3px;height:600px;width:100%}main .readme{background:#fff;padding:1em 2em}main .readme .buttons{background:#fff;height:30px;position:relative;right:-15px;width:100%}.centralContent .contentIn table tr,.centralContent .modal-body .arango-table tr,.centralContent .modal-body table tr{height:40px}main .readme .buttons button{float:right}main .readme .modal-body{border-bottom:1px solid rgba(140,138,137,.25);border-left:0;border-right:0;border-top:0;padding-bottom:15px}main .readme .modal-footer{border-bottom:0;border-left:0;border-right:0;border-top:1px solid rgba(140,138,137,.25);padding-right:0}main .readme h1{float:left;text-align:left;width:100%}.tests-result .stack{border-color:#e74c3c;color:#e74c3c;font-size:12px;line-height:1.5;margin:5px 0}.tests-result-stats .fail,.tests-result-stats .pass,.tests-result-stats .pending{padding:0 2px}.tests-result-spec{margin-bottom:0}.tests-result-spec-suites .tests-result-spec-suites{margin-left:20px}.tests-result-spec-suites dd{margin-bottom:20px;margin-left:0}.tests-result-spec-tests{margin-left:20px}.tests-result-spec-test-title{padding-left:20px}.tests-result-spec-test-title .fa{line-height:18px;margin-left:-20px;margin-top:2px;position:absolute}.tests-result-spec-test-title .fa-circle{font-size:50%;margin-left:-16px}.tests-result .pass{color:#2ecc71}.tests-result .fail{color:#e74c3c}.tests-result .pending{color:#666}#swagger #jsonLink{color:rgba(64,74,83,.8);font-weight:500;opacity:.5;position:absolute;right:20px}#swagger #jsonLink:hover{opacity:1}#indexHeaderContent{padding:0}#indexHeaderContent #collectionEditIndexTable th,#indexHeaderContent .figuresHeader th{padding-left:10px}.new-index-view{padding:20px}.centralContent .createModalDialog{background-color:#fff;outline:0}.centralContent .contentIn{background:#fff;border:1px solid rgba(64,74,83,.2);border-radius:2px;padding:20px}.centralContent .contentIn table{border:0}.centralContent .contentIn table select{margin-top:-10px}.centralContent .modal-body{border:1px solid rgba(64,74,83,.2);color:#000;max-height:none;padding:0}.centralContent .modal-body .arango-table tr th,.centralContent .modal-body table tr th{padding-left:10px}.centralContent .modal-body .figuresHeader{background-color:#404a53;color:#fff}.centralContent .modal-body .icon_arangodb_info{margin-left:10px;right:inherit}.centralContent .modal-body .modalSelect{margin-top:0}.centralContent .modal-body .tab-pane{padding-top:0!important}.centralContent .modal-footer{background-color:transparent;border-bottom:1px solid rgba(64,74,83,.2);border-left:1px solid rgba(64,74,83,.2);border-radius:0;border-right:1px solid rgba(64,74,83,.2);border-top:0;box-shadow:none;padding:8px}.centralContent .figures1,.centralContent .figures2,.centralContent .figures3{margin-left:0!important;margin-top:40px;width:100%}.centralContent .figures1 .icon_arangodb_info,.centralContent .figures2 .icon_arangodb_info,.centralContent .figures3 .icon_arangodb_info{position:relative;text-align:center}.pure-table-body{overflow-x:none;overflow-y:auto}.pure-table-body .selected-row{background-color:rgba(46,204,113,.2)}.pure-table-body .dataTables_empty{padding-left:10px}.pure-table{padding-left:20px;padding-right:20px}.pure-table.no-padding{padding-left:0;padding-right:0}.pure-table.no-padding .pure-table-row div div{padding-left:2.5px}.pure-table.no-padding.pure-table-header .pure-table-row>div:first-child .title{padding-left:10px}.pure-table.pure-title .pure-table-row{color:#717d90;font-weight:600}.pure-table.pure-title .pure-table-row:hover{background-color:#fff;cursor:default}.pure-table.pure-title .pure-table-row:last-child{border-bottom:1px solid rgba(140,138,137,.25);margin-bottom:0}.pure-table .pure-table-row{border-bottom:1px solid rgba(140,138,137,.25);color:#8a969f;font-weight:100;line-height:40px;width:100%}.pure-table .pure-table-row .padding-left{padding-left:30px}.pure-table .pure-table-row .padding-right{padding-right:30px}.pure-table .pure-table-row .actions{float:right;padding-right:5px}.pure-table .pure-table-row:hover{background-color:#eff0eb;cursor:pointer}.pure-table .pure-table-row.disabled:hover{background-color:#fff;cursor:not-allowed}.pure-table .pure-table-row .left{text-align:left}.pure-table .pure-table-row .right{text-align:right}.pure-table .pure-table-row .mid{text-align:center}.pure-table .pure-table-row .fa.fa-check-circle{color:#2ecc71}.pure-table .pure-table-row .fa.fa-exclamation-circle{color:#e74c3c}.pure-table .pure-table-row:last-child{border-bottom:0;margin-bottom:10px}.hotkeysList .hotkeysLabel{clear:both;color:#000;font-size:16px;font-weight:400}.hotkeysList .hotkeysContent{padding-left:10px}.hotkeysList li{line-height:25px}.hotkeysList li .hotkeysDiv{float:left}.hotkeysList .hotkeysicons{background-color:#686766;border:1px solid #000;border-radius:2px;color:#fff;display:inline;height:19px;margin-left:10px;text-align:center;width:19px}.arango-table tbody tr:nth-child(even),.arango-table thead{background-color:#fff}.hotkeysContentLabel{float:left;width:30%}.arango-table{width:100%}.arango-table thead th{border-bottom:1px solid #c2c2c2;font-weight:400;height:43px}.arango-table tbody tr:nth-child(odd){background:rgba(104,103,102,.05)}.arango-table tbody td{padding:10px 18px}.arango-tabbar{height:27px;width:100%}.arango-tabbar button{background-color:#404a53;border:0;border-top-left-radius:2px;border-top-right-radius:2px;color:#fff;float:right;font-weight:100;height:27px;margin-right:5px;width:82px}.arango-tabbar button:first-child{margin-right:10px}.arango-tabbar .arango-active-tab{background-color:#fff;border-bottom:1px solid #fff;border-left:1px solid #c2c2c2;border-right:1px solid #c2c2c2;border-top:1px solid #c2c2c2;color:#000;height:28px;margin-bottom:-1px}.subViewNavbar{border-bottom:2px solid #d9dbdc;height:40px;list-style:none;width:100%;z-index:1000;margin:-57px 0 15px -15px}.subViewNavbar li{cursor:pointer;float:left;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px;padding:0 12px}.subViewNavbar li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subViewNavbar li.active a{color:#000}.subViewNavbar li.disabled{cursor:not-allowed}.subViewNavbar li:hover a{color:#333;transition:all .2s ease-in}.subViewNavbar li a,.subnavmenu ul li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.subViewNavbar li a{color:rgba(51,51,51,.6);transition:all .2s ease-in}.subnavmenu{background-color:#fff;height:auto}.subnavmenu .bar-img{background:0 0;border-radius:25px;margin-right:5px;width:25px}.subnavmenu .bar-img:hover{cursor:pointer}.subnavmenu ul{list-style:none;margin:0}.subnavmenu ul.top{background-color:#404a53;height:60px;width:100%}.subnavmenu ul.top li{padding:0 10px 0 0}.subnavmenu ul.bottom{border-bottom:2px solid #d9dbdc;height:40px;width:100%;z-index:1000}.subnavmenu ul.bottom li{float:left;padding:0 12px}.subnavmenu ul li{cursor:pointer;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px}.subnavmenu ul li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subnavmenu ul li.active a{color:#000}.subnavmenu ul li.disabled{cursor:not-allowed}.subnavmenu ul li:hover a{color:#333;transition:all .2s ease-in}.subnavmenu ul li a{color:rgba(51,51,51,.6);-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.subnavmenu .infoEntry{line-height:45px}.subnavmenu .infoEntry a{margin-right:5px}.subnavmenu .infoEntry a.default-icon i{color:#fff}.subnavmenu .infoEntry a.default-icon i:hover{color:#2ecc71;cursor:pointer}.subnavmenu .infoEntry:hover{cursor:default}.subnavmenu .infoEntry:hover .info{-webkit-touch-callout:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;color:#fff}.subnavmenu .infoEntry.positive .health-icon,.subnavmenu .infoEntry.positive .health-state,.subnavmenu .infoEntry.positive .state{color:#2ecc71}.subnavmenu .infoEntry.negative .health-icon,.subnavmenu .infoEntry.negative .health-state{color:#e74c3c}.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state{color:rgba(255,255,255,.95);display:block;float:left;font-weight:300;max-width:150px;overflow:hidden;text-transform:uppercase}.subnavmenu .icon span,.subnavmenu .info span,.subnavmenu .state span{color:#2ecc71}.subnavmenu .icon span:hover,.subnavmenu .info span:hover,.subnavmenu .state span:hover{cursor:pointer}.subnavmenu #dbStatus{padding-right:20px}.subBarDropdown{background:#fff;border:1px solid rgba(64,74,83,.2);display:none;margin-top:55px!important;min-width:200px;position:absolute;z-index:9999}.subBarDropdown li{padding:0}.subBarDropdown .dropdown-header{background-color:#77cb99;cursor:default;margin:0 -1px;padding:0!important}.subBarDropdown .dropdown-header img{border:3px solid #6dba8c;border-radius:75px;display:block;margin:10px auto 0;width:75px}.subBarDropdown .dropdown-header p,.subBarDropdown .dropdown-header small{color:#fff;text-align:center}.subBarDropdown .dropdown-header small{display:block;margin-top:-10px}.subBarDropdown .dropdown-footer{padding:0 5px 0 0!important}.subBarDropdown .dropdown-footer button{margin-bottom:5px;margin-top:-4px}.helpUs iframe{left:0;position:absolute;right:0;top:101px}.arangoDataTable{display:block;position:relative;width:100%}.arangoDataTable tbody{display:inline-block;max-height:200px;overflow-y:auto;position:absolute;width:100%}.arangoDataTable thead{background-color:#fff!important;display:inline-block;font-weight:400!important;text-align:left;width:100%}.arangoDataTable thead td{overflow:hidden}.arangoDataTable thead th{border-bottom:0;cursor:default!important;font-weight:400!important;padding:10px 14px!important}.arangoDataTable thead tr{border-bottom:1px solid #c2c2c2}.arangoDataTable tr{cursor:pointer}.arangoDataTable td{padding:8px 18px!important}.arangoDataTable .key{font-weight:100;margin-top:4px;overflow:hidden}.arangoDataTable .dataTable .noPointer tr{cursor:default}.arangoDataTable .selected-row{background-color:#2ecc71!important}.arangoDataTable .selected-row div,.arangoDataTable .selected-row li,.arangoDataTable .selected-row span{color:#fff!important}.api-container #resources>li.resource:nth-child(even),table.arangoDataTable tr.even{background-color:#fff}.api-container #resources>li.resource:nth-child(odd),table.arangoDataTable tr.odd{background-color:rgba(104,103,102,.05)}#tableDiv table.dataTable td{padding:12px 18px!important}#documentsTableID_filter,#documentsTableID_length{display:none}#documentsTableID_wrapper{padding-bottom:0!important}.snippet-no-num{font-size:1em;font-weight:400;margin-bottom:0}.cuttedContent,.prettify ul li,.writeable a{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.totalDocuments{color:#666;float:left;font-weight:100;margin-top:-37px!important;padding-left:10px}.prettify{border:none!important;font-size:1em!important;margin:0!important;padding:0!important}.edit-index-table tfoot,.newIndexClass table{border-top:1px solid #f7f3f2}table .sorting{background:0 0!important}.new-index-view input[type=checkbox]{float:left}.new-index-view table tr{width:600px!important}.new-index-view table tr th:last-child{width:50px!important}.new-index-view table th{font-weight:300!important;width:200px!important}#documentsDiv{padding-top:0}#documentsDiv .pure-table .snippet-container{margin-top:10px}.edit-index-table{margin-top:5px;min-width:auto!important}.edit-index-table th{padding-bottom:5px;padding-left:5px;padding-top:5px}.edit-index-table .icon_arangodb_locked{color:rgba(0,0,0,.5);cursor:default;font-size:20px;margin-left:10px}.index-button-bar i:hover,.queryline .fa-info-circle:hover{cursor:pointer}.edit-index-table .icon_arangodb_roundminus{font-size:20px;margin-left:10px}.edit-index-table tfoot i{color:#2ecc71;font-size:19px;margin-left:22px;margin-top:5px}.edit-index-table tfoot i:hover{color:#58d68d;cursor:pointer}.contentIn .arangoicon{font-size:25px;position:relative;top:-3px!important}#collectionEditIndexTable thead{border-bottom:1px solid #e5e5e5}.newIndexClass table{margin-bottom:60px}.newIndexClass table select{margin-right:7px}.newIndexClass table .arangoicon{float:right;margin-right:-12px;margin-top:5px}.index-button-bar{float:right}.index-button-bar i{color:#2ecc71;font-size:16pt;margin-right:43px}.index-button-bar #cancelIndex{margin-right:13px}.docsFirstCol,.docsSecCol,.docsThirdCol{border:0!important}.docsFirstCol{height:26px;width:80%}.docsSecCol{height:26px;min-width:400px!important;width:10%}.docsThirdCol{height:26px}.add-filter-item{margin-left:5px}.add-filter-item i{margin-top:0!important}.upload-indicator{display:none;margin-top:-3px;padding-right:10px}.documentsDropdown .dropdownImport,.documentsDropdown .headerDropdown{clear:both;margin-bottom:10px}.documents-size{background-color:#fff!important;border:1px solid #e5e5e5;border-radius:0;box-shadow:none;color:#000;float:right;font-size:11pt;font-weight:300;height:28px;line-height:18px;margin-left:10px;margin-top:0;outline:transparent 0;width:115px}.ace_error{background:0 0!important}#exportHeader .fa-exclamation-circle{color:#fff;font-size:13pt;margin-right:10px}.totalDocuments:hover{color:#000}.ajax-file-upload-statusbar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid rgba(0,0,0,.7);margin:10px 10px 5px 5px;padding:5px;width:420px}.ajax-file-upload-filename{color:grey;height:auto;margin:0 5px 5px 10px;width:100%}.ajax-file-upload-progress{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid #d9d9d9;display:inline-block;margin:0 10px 5px;padding:1px;position:relative;width:250px}.ajax-file-upload-bar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:rgba(0,0,0,.7);color:#fff;height:20px;width:0}.ajax-file-upload-percent{display:inline-block;left:48%;position:absolute;top:3px}.ajax-file-upload-red{font-size:13px;font-weight:400;margin-right:5px;padding:4px 15px;vertical-align:top}.ajax-file-upload{display:inline-block;font-size:16px;font-weight:700;height:25px;margin:0 10px 10px 0;padding:6px 10px 4px}.ajax-upload-dragdrop{border:1px dotted #8f8d8c;color:#736b68;padding:10px 10px 0;text-align:left;vertical-align:middle;width:506px}.ajax-upload-dragdrop span{position:relative;top:-22px}/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file From b07ce5009004d6539a13f26634db430fd009e801 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 20 May 2016 11:00:53 +0200 Subject: [PATCH 07/22] fixed off-by-one issue after NOT token --- arangod/Aql/Parser.h | 7 + arangod/Aql/tokens.cpp | 556 ++++++++++++++++++++++++++++++++++++++--- arangod/Aql/tokens.ll | 2 + 3 files changed, 527 insertions(+), 38 deletions(-) diff --git a/arangod/Aql/Parser.h b/arangod/Aql/Parser.h index 4609951b22..074df0b88c 100644 --- a/arangod/Aql/Parser.h +++ b/arangod/Aql/Parser.h @@ -94,6 +94,13 @@ class Parser { /// @brief adjust the current parse position inline void increaseOffset(size_t offset) { _offset += offset; } + + inline void decreaseOffset(int offset) { + _offset -= static_cast(offset); + } + + /// @brief adjust the current parse position + inline void decreaseOffset(size_t offset) { _offset -= offset; } /// @brief fill the output buffer with a fragment of the query void fillBuffer(char* result, size_t length) { diff --git a/arangod/Aql/tokens.cpp b/arangod/Aql/tokens.cpp index daa45870c1..17e60e8c4d 100644 --- a/arangod/Aql/tokens.cpp +++ b/arangod/Aql/tokens.cpp @@ -3,20 +3,96 @@ -#line 7 "Aql/tokens.cpp" - #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ + + + + + + + + + + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ @@ -91,6 +167,8 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ + + #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -112,9 +190,16 @@ typedef unsigned int flex_uint32_t; #define yyconst #endif + + + + + /* Returned upon end-of-file. */ #define YY_NULL 0 + + /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the @@ -122,12 +207,34 @@ typedef unsigned int flex_uint32_t; */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + + + + /* An opaque pointer. */ #ifndef YY_TYPEDEF_YY_SCANNER_T #define YY_TYPEDEF_YY_SCANNER_T typedef void* yyscan_t; #endif + + + + + + + + + + + + + + + + + + /* For convenience, these vars (plus the bison vars far below) are macros in the reentrant scanner. */ #define yyin yyg->yyin_r @@ -139,12 +246,29 @@ typedef void* yyscan_t; #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) #define yy_flex_debug yyg->yy_flex_debug_r + + + + + + + + + + + + + + + /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN yyg->yy_start = 1 + 2 * + + /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. @@ -152,14 +276,21 @@ typedef void* yyscan_t; #define YY_START ((yyg->yy_start - 1) / 2) #define YYSTATE YY_START + + /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + + /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE Aqlrestart(yyin ,yyscanner ) + + #define YY_END_OF_BUFFER_CHAR 0 + /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #ifdef __ia64__ @@ -173,10 +304,13 @@ typedef void* yyscan_t; #endif /* __ia64__ */ #endif + /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + + #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; @@ -187,10 +321,16 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; typedef size_t yy_size_t; #endif + + + #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 + + + /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires * access to the local variable yy_act. Since yyless() is a macro, it would break * existing scanners that call yyless() from OUTSIDE Aqllex. @@ -213,6 +353,9 @@ typedef size_t yy_size_t; --yylineno;\ }while(0) + + + /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ @@ -227,14 +370,19 @@ typedef size_t yy_size_t; } \ while ( 0 ) + + #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ @@ -246,7 +394,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -270,6 +418,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -294,6 +443,10 @@ struct yy_buffer_state }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ + + + + /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". @@ -304,11 +457,18 @@ struct yy_buffer_state ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ : NULL) + + /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] + + + + + void Aqlrestart (FILE *input_file ,yyscan_t yyscanner ); void Aql_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); YY_BUFFER_STATE Aql_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); @@ -317,22 +477,30 @@ void Aql_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); void Aqlpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); void Aqlpop_buffer_state (yyscan_t yyscanner ); + static void Aqlensure_buffer_stack (yyscan_t yyscanner ); static void Aql_load_buffer_state (yyscan_t yyscanner ); static void Aql_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); + + #define YY_FLUSH_BUFFER Aql_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) + YY_BUFFER_STATE Aql_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE Aql_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); YY_BUFFER_STATE Aql_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); + void *Aqlalloc (yy_size_t ,yyscan_t yyscanner ); void *Aqlrealloc (void *,yy_size_t ,yyscan_t yyscanner ); void Aqlfree (void * ,yyscan_t yyscanner ); + #define yy_new_buffer Aql_create_buffer + + #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ @@ -343,6 +511,8 @@ void Aqlfree (void * ,yyscan_t yyscanner ); YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } + + #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ @@ -353,24 +523,41 @@ void Aqlfree (void * ,yyscan_t yyscanner ); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } + + #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + /* Begin user sect3 */ -#define Aqlwrap(yyscanner) 1 +#define Aqlwrap(yyscanner) (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; + + + typedef int yy_state_type; #define yytext_ptr yytext_r + + + + + static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); + + + /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ @@ -381,6 +568,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; + + #define YY_NUM_RULES 97 #define YY_END_OF_BUFFER 98 /* This struct is not used in this scanner, @@ -421,7 +610,7 @@ static yyconst flex_int16_t yy_accept[245] = 8, 24, 9, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, @@ -453,7 +642,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[81] = +static yyconst YY_CHAR yy_meta[81] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 4, 4, 1, @@ -465,7 +654,7 @@ static yyconst flex_int32_t yy_meta[81] = 6, 6, 6, 6, 6, 1, 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[268] = +static yyconst flex_uint16_t yy_base[268] = { 0, 0, 0, 78, 79, 80, 83, 84, 85, 86, 87, 392, 391, 92, 93, 82, 104, 392, 541, 388, 541, @@ -531,7 +720,7 @@ static yyconst flex_int16_t yy_def[268] = 244, 244, 244, 244, 244, 244, 244 } ; -static yyconst flex_int16_t yy_nxt[622] = +static yyconst flex_uint16_t yy_nxt[622] = { 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, @@ -677,6 +866,7 @@ static yyconst flex_int16_t yy_chk[622] = 244 } ; + /* Table of booleans, true if rule could match eol. */ static yyconst flex_int32_t yy_rule_can_match_eol[98] = { 0, @@ -694,6 +884,13 @@ static yyconst flex_int32_t yy_rule_can_match_eol[98] = #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET + + + + + + + #include "Basics/Common.h" #include "Basics/conversions.h" @@ -707,6 +904,7 @@ namespace arangodb { } } + #include "Aql/AstNode.h" #include "Aql/grammar.h" #include "Aql/Parser.h" @@ -731,6 +929,8 @@ namespace arangodb { } \ } + + #define INITIAL 0 #define BACKTICK 1 #define FORWARDTICK 2 @@ -740,6 +940,9 @@ namespace arangodb { #define COMMENT_MULTI 6 #define NOT 7 + + + #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. @@ -748,10 +951,16 @@ namespace arangodb { #include #endif + + #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif + + + + /* Holds the entire state of the reentrant scanner. */ struct yyguts_t { @@ -765,7 +974,7 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; + int yy_n_chars; yy_size_t yyleng_r; char *yy_c_buf_p; int yy_init; @@ -780,69 +989,132 @@ struct yyguts_t int yylineno_r; int yy_flex_debug_r; + + + char *yytext_r; int yy_more_flag; int yy_more_len; + + YYSTYPE * yylval_r; + + YYLTYPE * yylloc_r; + }; /* end struct yyguts_t */ + + + static int yy_init_globals (yyscan_t yyscanner ); + + + + /* This must go here because YYSTYPE and YYLTYPE are included * from bison output in section 1.*/ # define yylval yyg->yylval_r + + # define yylloc yyg->yylloc_r + + int Aqllex_init (yyscan_t* scanner); int Aqllex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + + /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ + int Aqllex_destroy (yyscan_t yyscanner ); + + int Aqlget_debug (yyscan_t yyscanner ); + + void Aqlset_debug (int debug_flag ,yyscan_t yyscanner ); + + YY_EXTRA_TYPE Aqlget_extra (yyscan_t yyscanner ); + + void Aqlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + + FILE *Aqlget_in (yyscan_t yyscanner ); -void Aqlset_in (FILE * in_str ,yyscan_t yyscanner ); + + +void Aqlset_in (FILE * _in_str ,yyscan_t yyscanner ); + + FILE *Aqlget_out (yyscan_t yyscanner ); -void Aqlset_out (FILE * out_str ,yyscan_t yyscanner ); + + +void Aqlset_out (FILE * _out_str ,yyscan_t yyscanner ); + + yy_size_t Aqlget_leng (yyscan_t yyscanner ); + + char *Aqlget_text (yyscan_t yyscanner ); + + int Aqlget_lineno (yyscan_t yyscanner ); -void Aqlset_lineno (int line_number ,yyscan_t yyscanner ); + + +void Aqlset_lineno (int _line_number ,yyscan_t yyscanner ); + + + int Aqlget_column (yyscan_t yyscanner ); -void Aqlset_column (int column_no ,yyscan_t yyscanner ); + + + + +void Aqlset_column (int _column_no ,yyscan_t yyscanner ); + + + YYSTYPE * Aqlget_lval (yyscan_t yyscanner ); + void Aqlset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); + + YYLTYPE *Aqlget_lloc (yyscan_t yyscanner ); + + void Aqlset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner ); + + /* Macros after this point can all be overridden by user definitions in * section 1. */ @@ -855,6 +1127,12 @@ extern int Aqlwrap (yyscan_t yyscanner ); #endif #endif + +#ifndef YY_NO_UNPUT + +#endif + + #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); #endif @@ -873,6 +1151,13 @@ static int input (yyscan_t yyscanner ); #endif + + + + + + + /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #ifdef __ia64__ @@ -883,6 +1168,7 @@ static int input (yyscan_t yyscanner ); #endif /* __ia64__ */ #endif + /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, @@ -891,6 +1177,8 @@ static int input (yyscan_t yyscanner ); #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif + + /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ @@ -927,6 +1215,8 @@ static int input (yyscan_t yyscanner ); #endif + + /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. @@ -935,24 +1225,48 @@ static int input (yyscan_t yyscanner ); #define yyterminate() return YY_NULL #endif + /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif + /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) #endif + + + + /* end tables serialization structures and prototypes */ + + /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 + + + + + + + + + + + + + + + + extern int Aqllex \ (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner); @@ -960,6 +1274,7 @@ extern int Aqllex \ (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner) #endif /* !YY_DECL */ + /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ @@ -967,14 +1282,20 @@ extern int Aqllex \ #define YY_USER_ACTION #endif + + /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif + + #define YY_RULE_SETUP \ YY_USER_ACTION + + /** The main scanner function which does all the work. */ YY_DECL @@ -984,10 +1305,16 @@ YY_DECL int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + + yylval = yylval_param; + + yylloc = yylloc_param; + if ( !yyg->yy_init ) { yyg->yy_init = 1; @@ -996,6 +1323,8 @@ YY_DECL YY_USER_INIT; #endif + + if ( ! yyg->yy_start ) yyg->yy_start = 1; /* first start state */ @@ -1016,11 +1345,13 @@ YY_DECL { + /* --------------------------------------------------------------------------- * language keywords * --------------------------------------------------------------------------- */ - while ( 1 ) /* loops until end-of-file is reached */ + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = yyg->yy_c_buf_p; @@ -1060,6 +1391,7 @@ yy_find_action: YY_DO_BEFORE_ACTION; + if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) { yy_size_t yyl; @@ -1072,8 +1404,10 @@ yy_find_action: ; } + do_action: /* This label is used only to access EOF actions. */ + switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ @@ -1768,6 +2102,8 @@ YY_RULE_SETUP /* now push the character back into the input stream and return a T_NOT token */ BEGIN(INITIAL); yyless(0); + /* must decrement offset by one character as we're pushing the char back onto the stack */ + yyextra->decreaseOffset(1); return T_NOT; } YY_BREAK @@ -1929,6 +2265,11 @@ case YY_STATE_EOF(COMMENT_MULTI): } /* end of user's declarations */ } /* end of Aqllex */ + + + + + /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1941,7 +2282,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = yyg->yytext_ptr; - int number_to_move, i; + yy_size_t number_to_move, i; int ret_val; if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -1970,7 +2311,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -2052,9 +2393,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) Aqlrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); @@ -2069,8 +2410,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner) return ret_val; } + /* yy_get_previous_state - get the state just before the EOB char was reached */ + static yy_state_type yy_get_previous_state (yyscan_t yyscanner) { yy_state_type yy_current_state; @@ -2099,6 +2442,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) return yy_current_state; } + /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis @@ -2129,6 +2473,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) return yy_is_jam ? 0 : yy_current_state; } + +#ifndef YY_NO_UNPUT + +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (yyscan_t yyscanner) @@ -2230,6 +2579,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) Aql_load_buffer_state(yyscanner ); } + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @param yyscanner The scanner object. @@ -2266,6 +2616,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) yyg->yy_did_buffer_switch_on_eof = 1; } + static void Aql_load_buffer_state (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2289,7 +2640,7 @@ static void Aql_load_buffer_state (yyscan_t yyscanner) if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in Aql_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -2305,6 +2656,7 @@ static void Aql_load_buffer_state (yyscan_t yyscanner) return b; } + /** Destroy the buffer. * @param b a buffer created with Aql_create_buffer() * @param yyscanner The scanner object. @@ -2325,6 +2677,7 @@ static void Aql_load_buffer_state (yyscan_t yyscanner) Aqlfree((void *) b ,yyscanner ); } + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a Aqlrestart() or at EOF. @@ -2349,8 +2702,11 @@ static void Aql_load_buffer_state (yyscan_t yyscanner) b->yy_bs_column = 0; } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + errno = oerrno; } @@ -2415,6 +2771,7 @@ void Aqlpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) yyg->yy_did_buffer_switch_on_eof = 1; } + /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * @param yyscanner The scanner object. @@ -2436,6 +2793,7 @@ void Aqlpop_buffer_state (yyscan_t yyscanner) } } + /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ @@ -2450,13 +2808,14 @@ static void Aqlensure_buffer_stack (yyscan_t yyscanner) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)Aqlalloc (num_to_alloc * sizeof(struct yy_buffer_state*) , yyscanner); if ( ! yyg->yy_buffer_stack ) YY_FATAL_ERROR( "out of dynamic memory in Aqlensure_buffer_stack()" ); + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); yyg->yy_buffer_stack_max = num_to_alloc; @@ -2467,7 +2826,7 @@ static void Aqlensure_buffer_stack (yyscan_t yyscanner) if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = yyg->yy_buffer_stack_max + grow_size; yyg->yy_buffer_stack = (struct yy_buffer_state**)Aqlrealloc @@ -2483,6 +2842,10 @@ static void Aqlensure_buffer_stack (yyscan_t yyscanner) } } + + + + /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer @@ -2518,6 +2881,9 @@ YY_BUFFER_STATE Aql_scan_buffer (char * base, yy_size_t size , yyscan_t yyscan return b; } + + + /** Setup the input buffer state to scan a string. The next call to Aqllex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan @@ -2532,6 +2898,9 @@ YY_BUFFER_STATE Aql_scan_string (yyconst char * yystr , yyscan_t yyscanner) return Aql_scan_bytes(yystr,strlen(yystr) ,yyscanner); } + + + /** Setup the input buffer state to scan the given bytes. The next call to Aqllex() will * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan @@ -2569,13 +2938,25 @@ YY_BUFFER_STATE Aql_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len return b; } + + + + + + + + + + #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { - (void) fprintf( stderr, "%s\n", msg ); + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -2596,8 +2977,11 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) } \ while ( 0 ) + + /* Accessor methods (get/set functions) to struct members. */ + /** Get the user-defined data for this scanner. * @param yyscanner The scanner object. */ @@ -2607,6 +2991,8 @@ YY_EXTRA_TYPE Aqlget_extra (yyscan_t yyscanner) return yyextra; } + + /** Get the current line number. * @param yyscanner The scanner object. */ @@ -2614,12 +3000,16 @@ int Aqlget_lineno (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (! YY_CURRENT_BUFFER) return 0; return yylineno; } + + + /** Get the current column number. * @param yyscanner The scanner object. */ @@ -2627,12 +3017,16 @@ int Aqlget_column (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (! YY_CURRENT_BUFFER) return 0; return yycolumn; } + + + /** Get the input stream. * @param yyscanner The scanner object. */ @@ -2642,6 +3036,8 @@ FILE *Aqlget_in (yyscan_t yyscanner) return yyin; } + + /** Get the output stream. * @param yyscanner The scanner object. */ @@ -2651,6 +3047,8 @@ FILE *Aqlget_out (yyscan_t yyscanner) return yyout; } + + /** Get the length of the current token. * @param yyscanner The scanner object. */ @@ -2660,6 +3058,7 @@ yy_size_t Aqlget_leng (yyscan_t yyscanner) return yyleng; } + /** Get the current token. * @param yyscanner The scanner object. */ @@ -2670,6 +3069,8 @@ char *Aqlget_text (yyscan_t yyscanner) return yytext; } + + /** Set the user-defined data. This data is never touched by the scanner. * @param user_defined The data to be associated with this scanner. * @param yyscanner The scanner object. @@ -2680,92 +3081,123 @@ void Aqlset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) yyextra = user_defined ; } + + /** Set the current line number. - * @param line_number + * @param _line_number line number * @param yyscanner The scanner object. */ -void Aqlset_lineno (int line_number , yyscan_t yyscanner) +void Aqlset_lineno (int _line_number , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* lineno is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "Aqlset_lineno called with no buffer" ); - yylineno = line_number; + yylineno = _line_number; } + + + /** Set the current column. - * @param line_number + * @param _column_no column number * @param yyscanner The scanner object. */ -void Aqlset_column (int column_no , yyscan_t yyscanner) +void Aqlset_column (int _column_no , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* column is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "Aqlset_column called with no buffer" ); - yycolumn = column_no; + yycolumn = _column_no; } + + + + /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * @param yyscanner The scanner object. * @see Aql_switch_to_buffer */ -void Aqlset_in (FILE * in_str , yyscan_t yyscanner) +void Aqlset_in (FILE * _in_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyin = in_str ; + yyin = _in_str ; } -void Aqlset_out (FILE * out_str , yyscan_t yyscanner) + + +void Aqlset_out (FILE * _out_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyout = out_str ; + yyout = _out_str ; } + + + int Aqlget_debug (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yy_flex_debug; } -void Aqlset_debug (int bdebug , yyscan_t yyscanner) + + +void Aqlset_debug (int _bdebug , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } + /* Accessor methods for yylval and yylloc */ + YYSTYPE * Aqlget_lval (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yylval; } + + void Aqlset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yylval = yylval_param; } + + + YYLTYPE *Aqlget_lloc (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yylloc; } + + void Aqlset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yylloc = yylloc_param; } + + + + /* User-visible API */ /* Aqllex_init is special because it creates the scanner itself, so it is @@ -2794,6 +3226,7 @@ int Aqllex_init(yyscan_t* ptr_yy_globals) return yy_init_globals ( *ptr_yy_globals ); } + /* Aqllex_init_extra has the same functionality as Aqllex_init, but follows the * convention of taking the scanner as the last argument. Note however, that * this is a *pointer* to a scanner, as it will be allocated by this call (and @@ -2830,6 +3263,7 @@ int Aqllex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) return yy_init_globals ( *ptr_yy_globals ); } + static int yy_init_globals (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2837,6 +3271,9 @@ static int yy_init_globals (yyscan_t yyscanner) * This function is called from Aqllex_destroy(), so don't allocate here. */ + + + yyg->yy_buffer_stack = 0; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; @@ -2844,10 +3281,16 @@ static int yy_init_globals (yyscan_t yyscanner) yyg->yy_init = 0; yyg->yy_start = 0; + yyg->yy_start_stack_ptr = 0; yyg->yy_start_stack_depth = 0; yyg->yy_start_stack = NULL; + + + + + /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; @@ -2863,6 +3306,7 @@ static int yy_init_globals (yyscan_t yyscanner) return 0; } + /* Aqllex_destroy is for both reentrant and non-reentrant scanners. */ int Aqllex_destroy (yyscan_t yyscanner) { @@ -2879,10 +3323,14 @@ int Aqllex_destroy (yyscan_t yyscanner) Aqlfree(yyg->yy_buffer_stack ,yyscanner); yyg->yy_buffer_stack = NULL; + /* Destroy the start condition stack. */ Aqlfree(yyg->yy_start_stack ,yyscanner ); yyg->yy_start_stack = NULL; + + + /* Reset the globals. This is important in a non-reentrant scanner so the next time * Aqllex() is called, initialization will occur. */ yy_init_globals( yyscanner); @@ -2893,19 +3341,28 @@ int Aqllex_destroy (yyscan_t yyscanner) return 0; } + + /* * Internal utility routines. */ + + #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif + + #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) { @@ -2917,13 +3374,22 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) } #endif + + void *Aqlalloc (yy_size_t size , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; return (void *) malloc( size ); } + + void *Aqlrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2934,10 +3400,24 @@ void *Aqlrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) return (void *) realloc( (char *) ptr, size ); } + + void Aqlfree (void * ptr , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; free( (char *) ptr ); /* see Aqlrealloc() for (char *) cast */ } + #define YYTABLES_NAME "yytables" + + + + + + + + + diff --git a/arangod/Aql/tokens.ll b/arangod/Aql/tokens.ll index b7a3b51031..43dcda071f 100644 --- a/arangod/Aql/tokens.ll +++ b/arangod/Aql/tokens.ll @@ -561,6 +561,8 @@ namespace arangodb { /* now push the character back into the input stream and return a T_NOT token */ BEGIN(INITIAL); yyless(0); + /* must decrement offset by one character as we're pushing the char back onto the stack */ + yyextra->decreaseOffset(1); return T_NOT; } From cf8551d95b84b5680e9b85241e5a9e2381185cb7 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 11:01:14 +0200 Subject: [PATCH 08/22] gitignore --- .gitignore | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitignore b/.gitignore index ce708f23ad..3526a53a28 100644 --- a/.gitignore +++ b/.gitignore @@ -108,15 +108,11 @@ js/apps/system/_admin/aardvark/APP/node_modules/* js/apps/system/_admin/aardvark/APP/frontend/build/app.js js/apps/system/_admin/aardvark/APP/frontend/build/app.js.gz -js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js -js/apps/system/_admin/aardvark/APP/frontend/build/extra-minified.css js/apps/system/_admin/aardvark/APP/frontend/build/extra.css js/apps/system/_admin/aardvark/APP/frontend/build/extra.css.gz js/apps/system/_admin/aardvark/APP/frontend/build/index.html js/apps/system/_admin/aardvark/APP/frontend/build/libs.js js/apps/system/_admin/aardvark/APP/frontend/build/libs.js.gz -js/apps/system/_admin/aardvark/APP/frontend/build/libs.min.js -js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css js/apps/system/_admin/aardvark/APP/frontend/build/style.css js/apps/system/_admin/aardvark/APP/frontend/build/scripts.html.part From 94f2eb0221108104dc459cf1803e69a8935340f9 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 20 May 2016 11:22:54 +0200 Subject: [PATCH 09/22] added test --- js/server/tests/aql/aql-parse.js | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/js/server/tests/aql/aql-parse.js b/js/server/tests/aql/aql-parse.js index a1242b979b..c549d5a723 100644 --- a/js/server/tests/aql/aql-parse.js +++ b/js/server/tests/aql/aql-parse.js @@ -164,6 +164,69 @@ function ahuacatlParseTestSuite () { assertEqual([ ], getParameters(getParseResults("/* @nada */ return /* @@nada */ /*@@nada*/ 1 /*@nada*/"))); }, +//////////////////////////////////////////////////////////////////////////////// +/// @brief test string parsing +//////////////////////////////////////////////////////////////////////////////// + + testStrings : function () { + function getRoot(query) { return getParseResults(query).ast[0]; } + + var returnNode = getRoot("return 'abcdef'").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcdef", returnNode.subNodes[0].value); + + returnNode = getRoot("return 'abcdef ghi'").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcdef ghi", returnNode.subNodes[0].value); + + returnNode = getRoot("return 'abcd\"\\'ab\\nc'").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcd\"'ab\nc", returnNode.subNodes[0].value); + + returnNode = getRoot("return '\\'abcd\"\\'ab\nnc'").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("'abcd\"'ab\nnc", returnNode.subNodes[0].value); + + returnNode = getRoot("return \"abcdef\"").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcdef", returnNode.subNodes[0].value); + + returnNode = getRoot("return \"abcdef ghi\"").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcdef ghi", returnNode.subNodes[0].value); + + returnNode = getRoot("return \"abcd\\\"\\'ab\\nc\"").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("abcd\"'ab\nc", returnNode.subNodes[0].value); + + returnNode = getRoot("return \"\\'abcd\\\"\\'ab\nnc\"").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("value", returnNode.subNodes[0].type); + assertEqual("'abcd\"'ab\nnc", returnNode.subNodes[0].value); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test string parsing +//////////////////////////////////////////////////////////////////////////////// + + testStringsAfterNot : function () { + function getRoot(query) { return getParseResults(query).ast[0]; } + + var returnNode = getRoot("return NOT ('abc' == 'def')").subNodes[0]; + assertEqual("return", returnNode.type); + assertEqual("unary not", returnNode.subNodes[0].type); + assertEqual("compare ==", returnNode.subNodes[0].subNodes[0].type); + assertEqual("abc", returnNode.subNodes[0].subNodes[0].subNodes[0].value); + assertEqual("def", returnNode.subNodes[0].subNodes[0].subNodes[1].value); + }, + //////////////////////////////////////////////////////////////////////////////// /// @brief test too many collections //////////////////////////////////////////////////////////////////////////////// From a8e2e3021e3c5ef7845779d81a54ed01248ffac8 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 20 May 2016 12:15:19 +0200 Subject: [PATCH 10/22] added some tests --- js/common/tests/shell/shell-hash-index.js | 3 +- js/common/tests/shell/shell-index.js | 137 +++++++- js/common/tests/shell/shell-rocksdb-index.js | 331 +++++++++++++++++++ 3 files changed, 468 insertions(+), 3 deletions(-) create mode 100644 js/common/tests/shell/shell-rocksdb-index.js diff --git a/js/common/tests/shell/shell-hash-index.js b/js/common/tests/shell/shell-hash-index.js index 8a1d009aff..5a73ce77fc 100644 --- a/js/common/tests/shell/shell-hash-index.js +++ b/js/common/tests/shell/shell-hash-index.js @@ -2,7 +2,7 @@ /*global fail, assertEqual, assertTrue, assertNotEqual */ //////////////////////////////////////////////////////////////////////////////// -/// @brief test the unique constraint +/// @brief test the hash index /// /// @file /// @@ -304,7 +304,6 @@ function HashIndexSuite() { }; } - //////////////////////////////////////////////////////////////////////////////// /// @brief executes the test suites //////////////////////////////////////////////////////////////////////////////// diff --git a/js/common/tests/shell/shell-index.js b/js/common/tests/shell/shell-index.js index 5da21c277a..076d7c3cdb 100644 --- a/js/common/tests/shell/shell-index.js +++ b/js/common/tests/shell/shell-index.js @@ -33,7 +33,6 @@ var internal = require("internal"); var errors = internal.errors; var testHelper = require("@arangodb/test-helper").Helper; - //////////////////////////////////////////////////////////////////////////////// /// @brief test suite: basics //////////////////////////////////////////////////////////////////////////////// @@ -551,6 +550,142 @@ function getIndexesSuite() { assertEqual("fulltext", idx.type); assertFalse(idx.unique); assertEqual([ "value" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetRocksDBUnique1 : function () { + collection.ensureIndex({ type: "rocksdb", unique: true, fields: ["value"] }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertTrue(idx.unique); + assertFalse(idx.sparse); + assertEqual([ "value" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetRocksDBUnique2 : function () { + collection.ensureIndex({ type: "rocksdb", unique: true, fields: ["value1", "value2"] }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertTrue(idx.unique); + assertFalse(idx.sparse); + assertEqual([ "value1", "value2" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetSparseRocksDBUnique1 : function () { + collection.ensureIndex({ type: "rocksdb", unique: true, fields: ["value"], sparse: true }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertTrue(idx.unique); + assertTrue(idx.sparse); + assertEqual([ "value" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetSparseRocksDBUnique2 : function () { + collection.ensureIndex({ type: "rocksdb", unique: true, fields: ["value1", "value2"], sparse: true }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertTrue(idx.unique); + assertTrue(idx.sparse); + assertEqual([ "value1", "value2" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get non-unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetRocksDBNonUnique1 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["value"] }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertFalse(idx.unique); + assertFalse(idx.sparse); + assertEqual([ "value" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get non-unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetRocksDBNonUnique2 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["value1", "value2"] }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertFalse(idx.unique); + assertFalse(idx.sparse); + assertEqual([ "value1", "value2" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get non-unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetSparseRocksDBNonUnique1 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["value"], sparse: true }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertFalse(idx.unique); + assertTrue(idx.sparse); + assertEqual([ "value" ], idx.fields); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: get non-unique rocksdb index +//////////////////////////////////////////////////////////////////////////////// + + testGetSparseRocksDBNonUnique2 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["value1", "value2"], sparse: true }); + var res = collection.getIndexes(); + + assertEqual(2, res.length); + var idx = res[1]; + + assertEqual("rocksdb", idx.type); + assertFalse(idx.unique); + assertTrue(idx.sparse); + assertEqual([ "value1", "value2" ], idx.fields); } }; diff --git a/js/common/tests/shell/shell-rocksdb-index.js b/js/common/tests/shell/shell-rocksdb-index.js new file mode 100644 index 0000000000..5e0f740dd2 --- /dev/null +++ b/js/common/tests/shell/shell-rocksdb-index.js @@ -0,0 +1,331 @@ +/*jshint globalstrict:false, strict:false */ +/*global fail, assertEqual, assertTrue, assertNotEqual */ + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test the rocksdb index +/// +/// @file +/// +/// DISCLAIMER +/// +/// Copyright 2010-2012 triagens GmbH, Cologne, Germany +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +/// +/// Copyright holder is triAGENS GmbH, Cologne, Germany +/// +/// @author Dr. Frank Celler, Lucas Dohmen +/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany +//////////////////////////////////////////////////////////////////////////////// + +var jsunity = require("jsunity"); +var internal = require("internal"); + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test suite: creation +//////////////////////////////////////////////////////////////////////////////// + +function RocksDBIndexSuite() { + 'use strict'; + var cn = "UnitTestsCollectionRocksDB"; + var collection = null; + + return { + +//////////////////////////////////////////////////////////////////////////////// +/// @brief set up +//////////////////////////////////////////////////////////////////////////////// + + setUp : function () { + internal.db._drop(cn); + collection = internal.db._create(cn); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief tear down +//////////////////////////////////////////////////////////////////////////////// + + tearDown : function () { + // try...catch is necessary as some tests delete the collection itself! + try { + collection.unload(); + collection.drop(); + } + catch (err) { + } + + collection = null; + internal.wait(0.0); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: index creation +//////////////////////////////////////////////////////////////////////////////// + + testCreation : function () { + var idx = collection.ensureIndex({ type: "rocksdb", fields: ["a"] }); + var id = idx.id; + + assertNotEqual(0, id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(false, idx.sparse); + assertEqual(["a"], idx.fields); + assertEqual(true, idx.isNewlyCreated); + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["a"] }); + + assertEqual(id, idx.id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(false, idx.sparse); + assertEqual(["a"], idx.fields); + assertEqual(false, idx.isNewlyCreated); + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["a"], sparse: true }); + + assertNotEqual(id, idx.id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(true, idx.sparse); + assertEqual(["a"], idx.fields); + assertEqual(true, idx.isNewlyCreated); + id = idx.id; + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["a"], sparse: true }); + + assertEqual(id, idx.id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(true, idx.sparse); + assertEqual(["a"], idx.fields); + assertEqual(false, idx.isNewlyCreated); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: permuted attributes +//////////////////////////////////////////////////////////////////////////////// + + testCreationPermuted : function () { + var idx = collection.ensureIndex({ type: "rocksdb", fields: ["a", "b"] }); + var id = idx.id; + + assertNotEqual(0, id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["a","b"], idx.fields); + assertEqual(true, idx.isNewlyCreated); + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["a", "b"] }); + + assertEqual(id, idx.id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["a","b"], idx.fields); + assertEqual(false, idx.isNewlyCreated); + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["b", "a"] }); + + assertNotEqual(id, idx.id); + id = idx.id; + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["b","a"], idx.fields); + assertEqual(true, idx.isNewlyCreated); + + idx = collection.ensureIndex({ type: "rocksdb", fields: ["b", "a"] }); + + assertEqual(id, idx.id); + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["b","a"], idx.fields); + assertEqual(false, idx.isNewlyCreated); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: documents +//////////////////////////////////////////////////////////////////////////////// + + testUniqueDocuments : function () { + var idx = collection.ensureIndex({ type: "rocksdb", fields: ["a", "b"] }); + + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["a","b"], idx.fields.sort()); + assertEqual(true, idx.isNewlyCreated); + + collection.save({ a : 1, b : 1 }); + collection.save({ a : 1, b : 1 }); + + collection.save({ a : 1 }); + collection.save({ a : 1 }); + collection.save({ a : null, b : 1 }); + collection.save({ a : null, b : 1 }); + collection.save({ c : 1 }); + collection.save({ c : 1 }); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: documents +//////////////////////////////////////////////////////////////////////////////// + + testUniqueDocumentsSparseIndex : function () { + var idx = collection.ensureIndex({ type: "rocksdb", fields: ["a", "b"], sparse: true }); + + assertEqual("rocksdb", idx.type); + assertEqual(false, idx.unique); + assertEqual(["a","b"], idx.fields); + assertEqual(true, idx.isNewlyCreated); + + collection.save({ a : 1, b : 1 }); + collection.save({ a : 1, b : 1 }); + + collection.save({ a : 1 }); + collection.save({ a : 1 }); + collection.save({ a : null, b : 1 }); + collection.save({ a : null, b : 1 }); + collection.save({ c : 1 }); + collection.save({ c : 1 }); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: combination of indexes +//////////////////////////////////////////////////////////////////////////////// + + testMultiIndexViolation1 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["a"], unique: true }); + collection.ensureIndex({ type: "rocksdb", fields: ["b"] }); + + collection.save({ a : "test1", b : 1}); + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err1) { + } + + var doc1 = collection.save({ a : "test2", b : 1}); + assertTrue(doc1._key !== ""); + + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err2) { + } + + var doc2 = collection.save({ a : "test3", b : 1}); + assertTrue(doc2._key !== ""); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: combination of indexes +//////////////////////////////////////////////////////////////////////////////// + + testMultiIndexViolationSparse1 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["a"], unique: true, sparse: true }); + collection.ensureIndex({ type: "rocksdb", fields: ["b"], sparse: true }); + + collection.save({ a : "test1", b : 1}); + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err1) { + } + + var doc1 = collection.save({ a : "test2", b : 1}); + assertTrue(doc1._key !== ""); + + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err2) { + } + + var doc2 = collection.save({ a : "test3", b : 1}); + assertTrue(doc2._key !== ""); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: combination of indexes +//////////////////////////////////////////////////////////////////////////////// + + testMultiIndexViolation2 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["a"], unique: true }); + collection.ensureIndex({ type: "rocksdb", fields: ["b"] }); + + collection.save({ a : "test1", b : 1}); + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err1) { + } + + var doc1 = collection.save({ a : "test2", b : 1}); + assertTrue(doc1._key !== ""); + + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err2) { + } + + var doc2 = collection.save({ a : "test3", b : 1}); + assertTrue(doc2._key !== ""); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test: combination of indexes +//////////////////////////////////////////////////////////////////////////////// + + testMultiIndexViolationSparse2 : function () { + collection.ensureIndex({ type: "rocksdb", fields: ["a"], unique: true, sparse: true }); + collection.ensureIndex({ type: "rocksdb", fields: ["b"], sparse: true }); + + collection.save({ a : "test1", b : 1}); + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err1) { + } + + var doc1 = collection.save({ a : "test2", b : 1}); + assertTrue(doc1._key !== ""); + + try { + collection.save({ a : "test1", b : 1}); + fail(); + } + catch (err2) { + } + + var doc2 = collection.save({ a : "test3", b : 1}); + assertTrue(doc2._key !== ""); + } + + }; +} + +//////////////////////////////////////////////////////////////////////////////// +/// @brief executes the test suite +//////////////////////////////////////////////////////////////////////////////// + +jsunity.run(RocksDBIndexSuite); + +return jsunity.done(); + From f2eb838e0bd33e9f92986ae23101493e155be93a Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 12:34:43 +0200 Subject: [PATCH 11/22] modal view bugfix --- .../APP/frontend/js/views/modalView.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js index 2316c5784a..bae9c64604 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js @@ -267,6 +267,9 @@ buttons.push(self.createCloseButton('Close')); } if (!divID) { + console.log(1); + console.log($(this.el)); + console.log(this.el); $(this.el).html(this.baseTemplate.render({ title: title, buttons: buttons, @@ -276,6 +279,7 @@ })); } else { + console.log(2); //render into custom div $('#' + divID).html(this.baseTemplate.render({ title: title, @@ -317,11 +321,20 @@ var template; if (typeof templateName === 'string') { template = templateEngine.createTemplate(templateName); - $(".createModalDialog .modal-body").html(template.render({ - content: tableContent, - advancedContent: advancedContent, - info: extraInfo - })); + if (divID) { + $('#' + divID + " .createModalDialog .modal-body").html(template.render({ + content: tableContent, + advancedContent: advancedContent, + info: extraInfo + })); + } + else { + $("#modalPlaceholder .createModalDialog .modal-body").html(template.render({ + content: tableContent, + advancedContent: advancedContent, + info: extraInfo + })); + } } else { var counter = 0; From 105c43267c24b9d895b9c3148697779e00c1299d Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 12:39:39 +0200 Subject: [PATCH 12/22] scss modal --- js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss index 48521d75ea..ce16ae56f5 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss @@ -55,6 +55,7 @@ border-radius: 3px; -webkit-box-shadow: none; box-shadow: none; + width: 450px; input { @extend %inputs; @@ -269,7 +270,7 @@ } select { - width: 450px; + width: 452px; } .collectionTh { From d90e31eb71a4054fd2c7f5192dc451178fb41e56 Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Fri, 20 May 2016 12:53:39 +0200 Subject: [PATCH 13/22] System collections now resilient. :-) --- arangod/V8Server/v8-vocindex.cpp | 55 ++++++++++------- .../modules/@arangodb/foxx/manager-utils.js | 3 +- js/server/modules/@arangodb/statistics.js | 4 +- js/server/upgrade-database.js | 60 ++++++++++++------- 4 files changed, 78 insertions(+), 44 deletions(-) diff --git a/arangod/V8Server/v8-vocindex.cpp b/arangod/V8Server/v8-vocindex.cpp index 2c75fb2328..3adeec87de 100644 --- a/arangod/V8Server/v8-vocindex.cpp +++ b/arangod/V8Server/v8-vocindex.cpp @@ -975,7 +975,33 @@ static void CreateCollectionCoordinator( std::vector dbServers; - if (distributeShardsLike.empty()) { + bool done = false; + if (!distributeShardsLike.empty()) { + CollectionNameResolver resolver(vocbase); + TRI_voc_cid_t otherCid = + resolver.getCollectionIdCluster(distributeShardsLike); + if (otherCid != 0) { + std::string otherCidString + = arangodb::basics::StringUtils::itoa(otherCid); + std::shared_ptr collInfo = + ci->getCollection(databaseName, otherCidString); + if (!collInfo->empty()) { + auto shards = collInfo->shardIds(); + auto shardList = ci->getShardList(otherCidString); + for (auto const& s : *shardList) { + auto it = shards->find(s); + if (it != shards->end()) { + for (auto const& s : it->second) { + dbServers.push_back(s); + } + } + } + done = true; + } + } + } + + if (!done) { // fetch list of available servers in cluster, and shuffle them randomly dbServers = ci->getCurrentDBServers(); @@ -985,23 +1011,6 @@ static void CreateCollectionCoordinator( } random_shuffle(dbServers.begin(), dbServers.end()); - } else { - CollectionNameResolver resolver(vocbase); - TRI_voc_cid_t otherCid = - resolver.getCollectionIdCluster(distributeShardsLike); - std::string otherCidString = arangodb::basics::StringUtils::itoa(otherCid); - std::shared_ptr collInfo = - ci->getCollection(databaseName, otherCidString); - auto shards = collInfo->shardIds(); - auto shardList = ci->getShardList(otherCidString); - for (auto const& s : *shardList) { - auto it = shards->find(s); - if (it != shards->end()) { - for (auto const& s : it->second) { - dbServers.push_back(s); - } - } - } } // now create the shards @@ -1013,17 +1022,23 @@ static void CreateCollectionCoordinator( for (uint64_t j = 0; j < replicationFactor; ++j) { std::string candidate; size_t count2 = 0; + bool found = true; do { candidate = dbServers[count++]; if (count >= dbServers.size()) { count = 0; } if (++count2 == dbServers.size() + 1) { - TRI_V8_THROW_EXCEPTION_PARAMETER("replicationFactor too large"); + LOG(WARN) << "createCollectionCoordinator: replicationFactor is " + "too large for the number of DBservers"; + found = false; + break; } } while (std::find(serverIds.begin(), serverIds.end(), candidate) != serverIds.end()); - serverIds.push_back(candidate); + if (found) { + serverIds.push_back(candidate); + } } // determine shard id diff --git a/js/common/modules/@arangodb/foxx/manager-utils.js b/js/common/modules/@arangodb/foxx/manager-utils.js index 1ef1ba4b8e..c3c2f837f3 100644 --- a/js/common/modules/@arangodb/foxx/manager-utils.js +++ b/js/common/modules/@arangodb/foxx/manager-utils.js @@ -53,7 +53,8 @@ var getReadableName = function(name) { var getStorage = function() { var c = db._collection("_apps"); if (c === null) { - c = db._create("_apps", {isSystem: true}); + c = db._create("_apps", {isSystem: true, replicationFactor: 2, + distributeShardsLike: "_graphs"}); c.ensureIndex({ type: "hash", fields: [ "mount" ], unique: true }); } return c; diff --git a/js/server/modules/@arangodb/statistics.js b/js/server/modules/@arangodb/statistics.js index c93941e7ea..80fb9eddda 100644 --- a/js/server/modules/@arangodb/statistics.js +++ b/js/server/modules/@arangodb/statistics.js @@ -54,7 +54,9 @@ function createStatisticsCollection (name) { var r = null; try { - r = db._create(name, { isSystem: true, waitForSync: false }); + r = db._create(name, { isSystem: true, waitForSync: false, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } catch (err) { } diff --git a/js/server/upgrade-database.js b/js/server/upgrade-database.js index 1f2ae033d9..b3906d1468 100644 --- a/js/server/upgrade-database.js +++ b/js/server/upgrade-database.js @@ -501,28 +501,28 @@ //////////////////////////////////////////////////////////////////////////////// -/// @brief setupSessions +/// @brief setupGraphs /// -/// set up the collection _sessions +/// set up the collection _graphs //////////////////////////////////////////////////////////////////////////////// addTask({ - name: "setupSessions", - description: "setup _sessions collection", + name: "setupGraphs", + description: "setup _graphs collection", mode: [ MODE_PRODUCTION, MODE_DEVELOPMENT ], cluster: [ CLUSTER_NONE, CLUSTER_COORDINATOR_GLOBAL ], database: [ DATABASE_INIT, DATABASE_UPGRADE ], task: function () { - return createSystemCollection("_sessions", { - waitForSync: false, - journalSize: 4 * 1024 * 1024 + return createSystemCollection("_graphs", { + waitForSync : false, + journalSize: 1024 * 1024, + replicationFactor: 2 }); } }); - //////////////////////////////////////////////////////////////////////////////// /// @brief setupUsers /// @@ -541,7 +541,9 @@ return createSystemCollection("_users", { waitForSync : false, shardKeys: [ "user" ], - journalSize: 4 * 1024 * 1024 + journalSize: 4 * 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -685,23 +687,25 @@ }); //////////////////////////////////////////////////////////////////////////////// -/// @brief setupGraphs +/// @brief setupSessions /// -/// set up the collection _graphs +/// set up the collection _sessions //////////////////////////////////////////////////////////////////////////////// addTask({ - name: "setupGraphs", - description: "setup _graphs collection", + name: "setupSessions", + description: "setup _sessions collection", mode: [ MODE_PRODUCTION, MODE_DEVELOPMENT ], cluster: [ CLUSTER_NONE, CLUSTER_COORDINATOR_GLOBAL ], database: [ DATABASE_INIT, DATABASE_UPGRADE ], task: function () { - return createSystemCollection("_graphs", { - waitForSync : false, - journalSize: 1024 * 1024 + return createSystemCollection("_sessions", { + waitForSync: false, + journalSize: 4 * 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -792,7 +796,9 @@ task: function () { return createSystemCollection("_modules", { - journalSize: 1024 * 1024 + journalSize: 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -814,7 +820,9 @@ task: function () { // needs to be big enough for assets return createSystemCollection("_routing", { - journalSize: 8 * 1024 * 1024 + journalSize: 8 * 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -985,7 +993,9 @@ task: function () { return createSystemCollection("_aqlfunctions", { - journalSize: 2 * 1024 * 1024 + journalSize: 2 * 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -1101,7 +1111,9 @@ var name = "_frontend"; var result = createSystemCollection(name, { waitForSync: false, - journalSize: 1024 * 1024 + journalSize: 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); return result; @@ -1165,7 +1177,9 @@ task: function () { return createSystemCollection("_queues", { - journalSize: 1024 * 1024 + journalSize: 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); @@ -1186,7 +1200,9 @@ task: function () { return createSystemCollection("_jobs", { - journalSize: 4 * 1024 * 1024 + journalSize: 4 * 1024 * 1024, + replicationFactor: 2, + distributeShardsLike: "_graphs" }); } }); From 893802ec9850d02d1fa2c44627b9db6eb398a639 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Fri, 20 May 2016 12:57:11 +0200 Subject: [PATCH 14/22] casts for VS --- arangod/Aql/AqlValue.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arangod/Aql/AqlValue.h b/arangod/Aql/AqlValue.h index 8384ad2007..c9e5332bb7 100644 --- a/arangod/Aql/AqlValue.h +++ b/arangod/Aql/AqlValue.h @@ -140,14 +140,14 @@ struct AqlValue final { } if (length < sizeof(_data.internal) - 1) { // short string... can store it inline - _data.internal[0] = 0x40 + length; + _data.internal[0] = static_cast(0x40 + length); memcpy(_data.internal + 1, value, length); setType(AqlValueType::VPACK_INLINE); } else if (length <= 126) { // short string... cannot store inline, but we don't need to // create a full-features Builder object here _data.buffer = new arangodb::velocypack::Buffer(length + 1); - _data.buffer->push_back(0x40 + length); + _data.buffer->push_back(static_cast(0x40 + length)); _data.buffer->append(value, length); setType(AqlValueType::VPACK_MANAGED); } else { @@ -169,14 +169,14 @@ struct AqlValue final { size_t const length = value.size(); if (length < sizeof(_data.internal) - 1) { // short string... can store it inline - _data.internal[0] = 0x40 + length; + _data.internal[0] = static_cast(0x40 + length); memcpy(_data.internal + 1, value.c_str(), value.size()); setType(AqlValueType::VPACK_INLINE); } else if (length <= 126) { // short string... cannot store inline, but we don't need to // create a full-features Builder object here _data.buffer = new arangodb::velocypack::Buffer(length + 1); - _data.buffer->push_back(0x40 + length); + _data.buffer->push_back(static_cast(0x40 + length)); _data.buffer->append(value.c_str(), length); setType(AqlValueType::VPACK_MANAGED); } else { From 9e6df7dd30f890050b984d7c11280a52d16d36b3 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 13:30:42 +0200 Subject: [PATCH 15/22] replication factor, shards, removed console logs --- .../js/collections/arangoCollections.js | 3 +++ .../js/templates/modalCollectionInfo.ejs | 22 +++++++++++++++++++ .../APP/frontend/js/views/collectionsView.js | 2 +- .../APP/frontend/js/views/modalView.js | 4 ---- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoCollections.js b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoCollections.js index 74bf7de3c9..2d28e2c506 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoCollections.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/arangoCollections.js @@ -167,6 +167,9 @@ data.numberOfShards = object.shards; data.shardKeys = object.keys; } + if (object.replicationFactor) { + data.replicationFactor = JSON.parse(object.replicationFactor); + } $.ajax({ cache: false, diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/modalCollectionInfo.ejs b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/modalCollectionInfo.ejs index bb77a959b0..cb26c719e8 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/modalCollectionInfo.ejs +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/modalCollectionInfo.ejs @@ -73,7 +73,29 @@ + + <% if (figuresData.numberOfShards) { %> + + Shards: + + + + + + + <% } %> + <% if (figuresData.replicationFactor) { %> + + Replication factor: + + + + + + + <% } %> + Index buckets: diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js index 300363f0ec..90384ca1e7 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js @@ -508,7 +508,7 @@ "new-replication-factor", "Replication factor", "", - "Numeric value. Default is '1'. Description: TODO", + "Numeric value. Must be at least 1. Description: TODO", "", false, [ diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js index bae9c64604..1cb9056184 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/modalView.js @@ -267,9 +267,6 @@ buttons.push(self.createCloseButton('Close')); } if (!divID) { - console.log(1); - console.log($(this.el)); - console.log(this.el); $(this.el).html(this.baseTemplate.render({ title: title, buttons: buttons, @@ -279,7 +276,6 @@ })); } else { - console.log(2); //render into custom div $('#' + divID).html(this.baseTemplate.render({ title: title, From db3092502f4bd01410dab54d3f81e5f5d91f6861 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 13:31:08 +0200 Subject: [PATCH 16/22] scss --- .../APP/frontend/scss/_accordion.scss | 3 +- .../APP/frontend/scss/_collection.scss | 1 - .../aardvark/APP/frontend/scss/_modals.scss | 34 +++++++++++++++---- .../aardvark/APP/frontend/scss/style.css | 1 - 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_accordion.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_accordion.scss index 7f9f53696b..9c134229a6 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_accordion.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_accordion.scss @@ -8,7 +8,8 @@ .accordion-heading { - padding-top: 15px; + padding-bottom: 20px; + padding-top: 25px; a { border: 1px solid $c-accordion-heading; diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_collection.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_collection.scss index 333ae7bff4..9f4c6787c4 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_collection.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_collection.scss @@ -5,7 +5,6 @@ text-align: left; width: 20% !important; - select, textarea { margin-top: 10px; } diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss index ce16ae56f5..57a59c89f8 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss @@ -35,9 +35,18 @@ } .select2-drop-active { + border: 2px solid $c-info; + border-top: 0; + margin-top: -2px; + width: 452px !important; z-index: 9999999; } +.select2-results, +.select2-no-results { + font-weight: 100; +} + .modal-tabbar { border-bottom: 1px solid $c-darker-grey; } @@ -49,13 +58,27 @@ font-weight: 300; max-height: 410px; + input { + height: 20px; + } + + select { + height: 33px; + } + + .select2-container-multi.select2-container-active { + .select2-choices { + border: 2px solid $c-info; + } + } + .select2-choices { background-image: none !important; - border: 1px solid $c-dark-grey; + border: 2px solid $c-content-border; border-radius: 3px; -webkit-box-shadow: none; box-shadow: none; - width: 450px; + width: 448px; input { @extend %inputs; @@ -270,11 +293,12 @@ } select { + margin-top: 0; width: 452px; } .collectionTh { - height: 50px; + height: 55px; } .tab-content { @@ -302,8 +326,7 @@ color: $c-white; font-size: 9pt; font-weight: 100; - margin-bottom: 5px; - margin-top: -7px; + margin-top: -9px; padding-left: 5px; padding-right: 5px; position: absolute; @@ -412,7 +435,6 @@ .modal table tr, .thBorderBottom { - border-bottom: 1px solid $c-modal-table-border-bottom !important; } .modal-delete-confirmation { diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/style.css b/js/apps/system/_admin/aardvark/APP/frontend/scss/style.css index 91f5a86a2f..8e929ad399 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/style.css +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/style.css @@ -4104,7 +4104,6 @@ input.gv-radio-button { text-align: left; width: 20% !important; } .collectionTh input, - .collectionTh select, .collectionTh textarea { margin-top: 10px; } From 5f60ebd6c47421847f67e82772f828ec17c78424 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 13:41:10 +0200 Subject: [PATCH 17/22] added warning notifications --- .../aardvark/APP/frontend/js/arango/arango.js | 4 ++++ .../APP/frontend/js/views/notificationView.js | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/arango/arango.js b/js/apps/system/_admin/aardvark/APP/frontend/js/arango/arango.js index 66e63331cc..72afe19f09 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/arango/arango.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/arango/arango.js @@ -362,6 +362,10 @@ window.App.notificationList.add({title:title, content: content, info: info, type: 'error'}); }, + arangoWarning: function (title, content, info) { + window.App.notificationList.add({title:title, content: content, info: info, type: 'warning'}); + }, + hideArangoNotifications: function() { $.noty.clearQueue(); $.noty.closeAll(); diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js index 17367636ac..278866f3f1 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js @@ -16,6 +16,15 @@ this.collection.bind("add", this.renderNotifications.bind(this)); this.collection.bind("remove", this.renderNotifications.bind(this)); this.collection.bind("reset", this.renderNotifications.bind(this)); + + // TODO save user property if check should be enabled/disabled + window.setTimeout(function() { + if (frontendConfig.authenticationEnabled === false) { + window.arangoHelper.arangoWarning( + "Warning", "Authentication is disabled. Do not use this setup in production mode." + ); + } + }, 2000); }, notificationItem: templateEngine.createTemplate("notificationItem.ejs"), @@ -66,6 +75,10 @@ } }]; } + else if (latestModel.get('type') === 'warning') { + time = false; + } + $.noty.clearQueue(); $.noty.closeAll(); From 72e29c076f8d14925b8774f15c64a45e0d44a67a Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 13:49:06 +0200 Subject: [PATCH 18/22] jslint --- .../_admin/aardvark/APP/frontend/js/views/notificationView.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js index 278866f3f1..7dcf8e6f56 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/notificationView.js @@ -1,6 +1,6 @@ /*jshint browser: true */ /*jshint unused: false */ -/*global Backbone, templateEngine, $, window, noty */ +/*global frontendConfig, Backbone, templateEngine, $, window, noty */ (function () { "use strict"; @@ -76,7 +76,7 @@ }]; } else if (latestModel.get('type') === 'warning') { - time = false; + time = 20000; } $.noty.clearQueue(); From 97a8de7ceb38ae4326749bfba3eaa8aeefa2374b Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 20 May 2016 14:23:33 +0200 Subject: [PATCH 19/22] cluster statistics fix --- .../_admin/aardvark/APP/frontend/js/views/dashboardView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/dashboardView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/dashboardView.js index 28fa5cc3ab..a34568818b 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/dashboardView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/dashboardView.js @@ -622,13 +622,13 @@ } if (self.server !== "-local-") { - url = self.serverInfo.endpoint + "/_admin/aardvark/statistics/cluster"; urlParams += "&type=short&DBserver=" + self.serverInfo.target; if (! self.history.hasOwnProperty(self.server)) { self.history[self.server] = {}; } } + console.log(url); $.ajax( url + urlParams, From bf2642c7bf54e921d565bc522b796f9837d297e6 Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Fri, 20 May 2016 14:24:20 +0200 Subject: [PATCH 20/22] Temporarily go back to unresilient system collections. --- .../modules/@arangodb/foxx/manager-utils.js | 2 +- js/server/modules/@arangodb/statistics.js | 2 +- js/server/upgrade-database.js | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/js/common/modules/@arangodb/foxx/manager-utils.js b/js/common/modules/@arangodb/foxx/manager-utils.js index c3c2f837f3..ffcda165d5 100644 --- a/js/common/modules/@arangodb/foxx/manager-utils.js +++ b/js/common/modules/@arangodb/foxx/manager-utils.js @@ -53,7 +53,7 @@ var getReadableName = function(name) { var getStorage = function() { var c = db._collection("_apps"); if (c === null) { - c = db._create("_apps", {isSystem: true, replicationFactor: 2, + c = db._create("_apps", {isSystem: true, replicationFactor: 1, distributeShardsLike: "_graphs"}); c.ensureIndex({ type: "hash", fields: [ "mount" ], unique: true }); } diff --git a/js/server/modules/@arangodb/statistics.js b/js/server/modules/@arangodb/statistics.js index 80fb9eddda..730baab686 100644 --- a/js/server/modules/@arangodb/statistics.js +++ b/js/server/modules/@arangodb/statistics.js @@ -55,7 +55,7 @@ function createStatisticsCollection (name) { try { r = db._create(name, { isSystem: true, waitForSync: false, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } catch (err) { diff --git a/js/server/upgrade-database.js b/js/server/upgrade-database.js index b3906d1468..836bff11ef 100644 --- a/js/server/upgrade-database.js +++ b/js/server/upgrade-database.js @@ -518,7 +518,7 @@ return createSystemCollection("_graphs", { waitForSync : false, journalSize: 1024 * 1024, - replicationFactor: 2 + replicationFactor: 1 }); } }); @@ -542,7 +542,7 @@ waitForSync : false, shardKeys: [ "user" ], journalSize: 4 * 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -704,7 +704,7 @@ return createSystemCollection("_sessions", { waitForSync: false, journalSize: 4 * 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -797,7 +797,7 @@ task: function () { return createSystemCollection("_modules", { journalSize: 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -821,7 +821,7 @@ // needs to be big enough for assets return createSystemCollection("_routing", { journalSize: 8 * 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -994,7 +994,7 @@ task: function () { return createSystemCollection("_aqlfunctions", { journalSize: 2 * 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -1112,7 +1112,7 @@ var result = createSystemCollection(name, { waitForSync: false, journalSize: 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); @@ -1178,7 +1178,7 @@ task: function () { return createSystemCollection("_queues", { journalSize: 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } @@ -1201,7 +1201,7 @@ task: function () { return createSystemCollection("_jobs", { journalSize: 4 * 1024 * 1024, - replicationFactor: 2, + replicationFactor: 1, distributeShardsLike: "_graphs" }); } From dc9fc692fb7263174b867d6328787f879a337dc1 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 20 May 2016 15:38:55 +0200 Subject: [PATCH 21/22] We currently don't support ARM. --- Documentation/Books/Users/GettingStarted/Installing/ARM.mdpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/Books/Users/GettingStarted/Installing/ARM.mdpp b/Documentation/Books/Users/GettingStarted/Installing/ARM.mdpp index 0db9c49ecd..bd8b26b303 100644 --- a/Documentation/Books/Users/GettingStarted/Installing/ARM.mdpp +++ b/Documentation/Books/Users/GettingStarted/Installing/ARM.mdpp @@ -1,5 +1,7 @@ !CHAPTER ARM +Currently ARM linux is *unsupported*; The initialization of the BOOST lockfree queue doesn't work. + The ArangoDB packages for ARM require the kernel to allow unaligned memory access. How the kernel handles unaligned memory access is configurable at runtime by checking and adjusting the contents `/proc/cpu/alignment`. From bc5146c19997c6cd07e7caf27f136b07738e16ca Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 20 May 2016 15:39:07 +0200 Subject: [PATCH 22/22] Update compilation to whats required in 3.0 --- .../GettingStarted/Installing/Compiling.mdpp | 166 ++++++------------ 1 file changed, 49 insertions(+), 117 deletions(-) diff --git a/Documentation/Books/Users/GettingStarted/Installing/Compiling.mdpp b/Documentation/Books/Users/GettingStarted/Installing/Compiling.mdpp index 58ecd1a9c2..4c289f9a74 100644 --- a/Documentation/Books/Users/GettingStarted/Installing/Compiling.mdpp +++ b/Documentation/Books/Users/GettingStarted/Installing/Compiling.mdpp @@ -22,27 +22,24 @@ is available that describes how to compile ArangoDB from source on Ubuntu. Verify that your system contains -* the GNU C/C++ compilers "gcc" and "g++" and the standard C/C++ libraries, with support - for C++11. You will need version gcc 4.9.0 or higher. For "clang" and "clang++", - you will need at least version 3.6. -* the GNU autotools (autoconf, automake) +* git (to obtain the sources) +* a modern C/C++ compiler C++11 capable including full regex support: + * GNU "gcc" and "g++" version 4.9.0 or higher + * "clang" and "clang++" version 3.6 or higher + * Visual C++ 2015 [(see the "compiling under windows" cookbook for more details)](/cookbook/CompilingUnderWindows30.html) +* cmake * GNU make -* the GNU scanner generator FLEX, at least version 2.3.35 -* the GNU parser generator BISON, at least version 2.4 -* Python, version 2 or 3 +* Python, version 2 in order to use gyp for V8 * the OpenSSL library, version 1.0.1g or higher (development package) -* the GNU readline library (development package) -* Go, at least version 1.4.1 +* jemalloc or tcmalloc development packages +* the GNU scanner generator FLEX, at least version 2.3.35 (optional) +* the GNU parser generator BISON, at least version 2.4 (optional) Most Linux systems already supply RPMs or DPKGs for these packages. -Some distributions, for example Ubuntu 12.04 or Centos 5, provide only very out-dated -versions of compilers, FLEX, BISON, and/or the V8 engine. In that case you need to compile +Some older distributions, for example Ubuntu 12.04 or Centos 5, provide only very out-dated +versions of compilers, FLEX and BISON. In that case you need to compile newer versions of the programs and/or libraries. -When compiling with special configure options, you may need the following extra libraries: - -* the Boost test framework library (only when using configure option `--enable-maintainer-mode`) - !SUBSECTION Download the Source Download the latest source using ***git***: @@ -62,42 +59,38 @@ any changes, you can speed up cloning substantially by using the *--single-branc Switch into the ArangoDB directory unix> cd ArangoDB + unix> mkdir build + unix> cd build -In order to generate the configure script, execute +In order to generate the build environment please execute - unix> make setup - -This will call aclocal, autoheader, automake, and autoconf in the correct order. - -!SUBSECTION Configure - -In order to configure the build environment please execute - - unix> ./configure + unix> cmake .. to setup the makefiles. This will check the various system characteristics and -installed libraries. +installed libraries. If you installed the compiler in a non standard location, you may need to specify it: -Please note that it may be required to set the *--host* and *--target* variables -when running the configure command. For example, if you compile on MacOS, you -should add the following options to the configure command: + cmake -DCMAKE_C_COMPILER=/opt/bin/gcc -DCMAKE_CXX_COMPILER=/opt/bin/g++ .. - --host=x86_64-apple-darwin --target=x86_64-apple-darwin +If you compile on MacOS, you should add the following options to the cmake command: -The host and target values for other architectures vary. + cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -If you also plan to make changes to the source code of ArangoDB, add the -following option to the *configure* command: *--enable-maintainer-mode*. Using -this option, you can make changes to the lexer and parser files and some other -source files that will generate other files. Enabling this option will add extra -dependencies to BISON, FLEX, and PYTHON. These external tools then need to be -available in the correct versions on your system. +If you also plan to make changes to the source code of ArangoDB, you should compile with the `Debug` target; +The `Debug` target enables additional sanity checks etc. which would slow down production binaries. -The following configuration options exist: +Other options valuable for development: + + -DARANGODB_ENABLE_MAINTAINER_MODE + +Needed, if you plan to make changes to AQL language (which is implemented using a lexer and parser +files in `arangod/Aql/grammar.y` and `arangod/Aql/tokens.ll`) your system has to contain the tools FLEX and BISON. + + -DARANGODB_ENABLE_BACKTRACE + +(requires the maintainer mode) If you want to have c++ stacktraces attached to your exceptions. +This can be usefull to more quick locate the place where an exception or an assertion was thrown. -`--enable-relative` -This will make relative paths be used in the compiled binaries and scripts. It allows to run ArangoDB from the compile directory directly, without the need for a *make install* command and specifying much configuration parameters. When used, you can start ArangoDB using this command: @@ -106,73 +99,21 @@ When used, you can start ArangoDB using this command: ArangoDB will then automatically use the configuration from file *etc/relative/arangod.conf*. -`--enable-all-in-one-etcd` - -This tells the build system to use the bundled version of ETCD. This is the -default and recommended. - -`--enable-internal-go` - -This tells the build system to use Go binaries located in the 3rdParty -directory. Note that ArangoDB does not ship with Go binaries, and that the Go -binaries must be copied into this directory manually. - -`--enable-maintainer-mode` - -This tells the build system to use BISON and FLEX to regenerate the parser and -scanner files. If disabled, the supplied files will be used so you cannot make -changes to the parser and scanner files. You need at least BISON 2.4.1 and FLEX -2.5.35. This option also allows you to make changes to the error messages file, -which is converted to js and C header files using Python. You will need Python 2 -or 3 for this. Furthermore, this option enables additional test cases to be -executed in a *make unittests* run. You also need to install the Boost test -framework for this. - -Additionally, turning on the maintainer mode will turn on a lot of assertions in -the code. - -`--enable-failure-tests` + -DUSE_FAILURE_TESTS This option activates additional code in the server that intentionally makes the server crash or misbehave (e.g. by pretending the system ran out of memory). This option is useful for writing tests. -`--enable-v8-debug` +By default the libc allocator is chosen. If your system offers the jemalloc it will be +prefered over tcmalloc and the system allocator. -Builds a debug version of the V8 library. This is useful only when working on -the V8 integration inside ArangoDB. +!SUBSUBSECTION shared memory +Gyp is used as makefile generator by V8. Gyp requires shared memory to be available, +which may not if you i.e. compile in a chroot. You can make it available like this: -`--enable-tcmalloc` - -Links arangod and the client tools against the tcmalloc library installed on the -system. Note that when this option is set, a tcmalloc library must be present -and exposed under the name `libtcmalloc`, `libtcmalloc_minimal` or -`libtcmalloc_debug`. - -!SUBSECTION Compiling Go - -Users F21 and duralog told us that some systems don't provide an update-to-date -version of go. This seems to be the case for at least Ubuntu 12 and 13. To -install go on these system, you may follow the instructions provided -[here](http://blog.labix.org/2013/06/15/in-flight-deb-packages-of-go). For -other systems, you may follow the instructions -[here](http://golang.org/doc/install). - -To make ArangoDB use a specific version of go, you may copy the go binaries into -the 3rdParty/go-32 or 3rdParty/go-64 directories of ArangoDB (depending on your -architecture), and then tell ArangoDB to use this specific go version by using -the *--enable-internal-go* configure option. - -User duralog provided some the following script to pull the latest release -version of go into the ArangoDB source directory and build it: - - cd ArangoDB - hg clone -u release https://code.google.com/p/go 3rdParty/go-64 && \ - cd 3rdParty/go-64/src && \ - ./all.bash - - # now that go is installed, run your configure with --enable-internal-go - ./configure --enable-internal-go + none /opt/chroots/ubuntu_precise_x64/dev/shm tmpfs rw,nosuid,nodev,noexec 0 2 + devpts /opt/chroots/ubuntu_precise_x64/dev/pts devpts gid=5,mode=620 0 0 !SUBSECTION Compile @@ -200,10 +141,10 @@ to IP address 127.0.0.1. You should see the startup messages similar to the following: ``` -2013-10-14T12:47:29Z [29266] INFO ArangoDB xxx ... -2013-10-14T12:47:29Z [29266] INFO using endpoint 'tcp://127.0.0.1.8529' for non-encrypted requests -2013-10-14T12:47:30Z [29266] INFO Authentication is turned off -2013-10-14T12:47:30Z [29266] INFO ArangoDB (version xxx) is ready for business. Have fun! +2016-06-01T12:47:29Z [29266] INFO ArangoDB xxx ... +2016-06-10T12:47:29Z [29266] INFO using endpoint 'tcp://127.0.0.1.8529' for non-encrypted requests +2016-06-01T12:47:30Z [29266] INFO Authentication is turned on +2016-60-01T12:47:30Z [29266] INFO ArangoDB (version xxx) is ready for business. Have fun! ``` If it fails with a message about the database directory, please make sure the @@ -233,28 +174,19 @@ From time to time there will be bigger structural changes in ArangoDB, which may render the old Makefiles invalid. Should this be the case and `make` complains about missing files etc., the following commands should fix it: - unix> rm -rf lib/*/.deps arangod/*/.deps arangosh/*/.deps Makefile - unix> make setup - unix> ./configure + + unix> rm -f CMakeCache.txt + unix> cmake .. unix> make In order to reset everything and also recompile all 3rd party libraries, issue the following commands: - unix> make superclean unix> git checkout -- . - unix> make setup - unix> ./configure - unix> make + unix> cd ..; rm -rf build; mkdir build; cd build This will clean up ArangoDB and the 3rd party libraries, and rebuild everything. -If you forgot your previous configure options, you can look them up with - - unix> head config.log - -before issuing `make superclean` (as make `superclean` also removes the file `config.log`). - Sometimes you can get away with the less intrusive commands. !SUBSECTION Install