2016-09-05 04:39:59 +00:00
! function ( f ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = f ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , f ) ; else { var g ; g = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this , g . io = f ( ) } } ( function ( ) { var define ; return function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = "function" == typeof require && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } for ( var i = "function" == typeof require && require , o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ( { 1 : [ function ( _dereq _ , module , exports ) { function lookup ( uri , opts ) { "object" == typeof uri && ( opts = uri , uri = void 0 ) , opts = opts || { } ; var io , parsed = url ( uri ) , source = parsed . source , id = parsed . id , path = parsed . path , sameNamespace = cache [ id ] && path in cache [ id ] . nsps , newConnection = opts . forceNew || opts [ "force new connection" ] || ! 1 === opts . multiplex || sameNamespace ; return newConnection ? ( debug ( "ignoring socket cache for %s" , source ) , io = Manager ( source , opts ) ) : ( cache [ id ] || ( debug ( "new io instance for %s" , source ) , cache [ id ] = Manager ( source , opts ) ) , io = cache [ id ] ) , io . socket ( parsed . path ) } var url = _dereq _ ( "./url" ) , parser = _dereq _ ( "socket.io-parser" ) , Manager = _dereq _ ( "./manager" ) , debug = _dereq _ ( "debug" ) ( "socket.io-client" ) ; module . exports = exports = lookup ; var cache = exports . managers = { } ; exports . protocol = parser . protocol , exports . connect = lookup , exports . Manager = _dereq _ ( "./manager" ) , exports . Socket = _dereq _ ( "./socket" ) } , { "./manager" : 2 , "./socket" : 4 , "./url" : 5 , debug : 14 , "socket.io-parser" : 40 } ] , 2 : [ function ( _dereq _ , module , exports ) { function Manager ( uri , opts ) { return this instanceof Manager ? ( uri && "object" == typeof uri && ( opts = uri , uri = void 0 ) , opts = opts || { } , opts . path = opts . path || "/socket.io" , this . nsps = { } , this . subs = [ ] , this . opts = opts , this . reconnection ( opts . reconnection !== ! 1 ) , this . reconnectionAttempts ( opts . reconnectionAttempts || 1 / 0 ) , this . reconnectionDelay ( opts . reconnectionDelay || 1e3 ) , this . reconnectionDelayMax ( opts . reconnectionDelayMax || 5e3 ) , this . randomizationFactor ( opts . randomizationFactor || . 5 ) , this . backoff = new Backoff ( { min : this . reconnectionDelay ( ) , max : this . reconnectionDelayMax ( ) , jitter : this . randomizationFactor ( ) } ) , this . timeout ( null == opts . timeout ? 2e4 : opts . timeout ) , this . readyState = "closed" , this . uri = uri , this . connecting = [ ] , this . lastPing = null , this . encoding = ! 1 , this . packetBuffer = [ ] , this . encoder = new parser . Encoder , this . decoder = new parser . Decoder , this . autoConnect = opts . autoConnect !== ! 1 , void ( this . autoConnect && this . open ( ) ) ) : new Manager ( uri , opts ) } var eio = _dereq _ ( "engine.io-client" ) , Socket = _dereq _ ( "./socket" ) , Emitter = _dereq _ ( "component-emitter" ) , parser = _dereq _ ( "socket.io-parser" ) , on = _dereq _ ( "./on" ) , bind = _dereq _ ( "component-bind" ) , debug = _dereq _ ( "debug" ) ( "socket.io-client:manager" ) , indexOf = _dereq _ ( "indexof" ) , Backoff = _dereq _ ( "backo2" ) , has = Object . prototype . hasOwnProperty ; module . exports = Manager , Manager . prototype . emitAll = function ( ) { this . emit . apply ( this , arguments ) ; for ( var nsp in this . nsps ) has . call ( this . nsps , nsp ) && this . nsps [ nsp ] . emit . apply ( this . nsps [ nsp ] , arguments ) } , Manager . prototype . updateSocketIds = function ( ) { for ( var nsp in this . nsps ) has . call ( this . nsps , nsp ) && ( this . nsps [ nsp ] . id = this . engine . id ) } , Emitter ( Manager . prototype ) , Manager . prototype . reconnection = function ( v ) { return arguments . length ? ( this . _reconnection = ! ! v , this ) : this . _reconnection } , Manager . prototype . reconnectionAttempts = function ( v ) { return arguments . length ? ( this . _reconnectionAttempts = v , this ) : this . _reconnectionAttempts } , Manager . prototype . reconnectionDelay = function ( v ) { return arguments . length ? ( this . _reconnectionDelay = v , this . backoff && this . backoff . setMin ( v ) , this ) : this . _reconnectionDelay } , Manager . prototype . randomizationFactor = function ( v ) { return arguments . length ? ( this . _randomizationFactor = v , this . backoff && this . backoff . setJitter ( v ) , this ) : this . _randomizationFactor } , Manager . prototype . reconnectionDelayMax = function ( v ) { return arguments . length ? ( this . _reconnectionDelayMax = v , this . backoff && this . backoff . setMax ( v ) , this ) : this . _reconnectionDelayMax } , Manager . proto
this . onError ( err ) ; break ; case "message" : this . emit ( "data" , packet . data ) , this . emit ( "message" , packet . data ) } else debug ( 'packet received with socket readyState "%s"' , this . readyState ) } , Socket . prototype . onHandshake = function ( data ) { this . emit ( "handshake" , data ) , this . id = data . sid , this . transport . query . sid = data . sid , this . upgrades = this . filterUpgrades ( data . upgrades ) , this . pingInterval = data . pingInterval , this . pingTimeout = data . pingTimeout , this . onOpen ( ) , "closed" != this . readyState && ( this . setPing ( ) , this . removeListener ( "heartbeat" , this . onHeartbeat ) , this . on ( "heartbeat" , this . onHeartbeat ) ) } , Socket . prototype . onHeartbeat = function ( timeout ) { clearTimeout ( this . pingTimeoutTimer ) ; var self = this ; self . pingTimeoutTimer = setTimeout ( function ( ) { "closed" != self . readyState && self . onClose ( "ping timeout" ) } , timeout || self . pingInterval + self . pingTimeout ) } , Socket . prototype . setPing = function ( ) { var self = this ; clearTimeout ( self . pingIntervalTimer ) , self . pingIntervalTimer = setTimeout ( function ( ) { debug ( "writing ping packet - expecting pong within %sms" , self . pingTimeout ) , self . ping ( ) , self . onHeartbeat ( self . pingTimeout ) } , self . pingInterval ) } , Socket . prototype . ping = function ( ) { var self = this ; this . sendPacket ( "ping" , function ( ) { self . emit ( "ping" ) } ) } , Socket . prototype . onDrain = function ( ) { this . writeBuffer . splice ( 0 , this . prevBufferLen ) , this . prevBufferLen = 0 , 0 === this . writeBuffer . length ? this . emit ( "drain" ) : this . flush ( ) } , Socket . prototype . flush = function ( ) { "closed" != this . readyState && this . transport . writable && ! this . upgrading && this . writeBuffer . length && ( debug ( "flushing %d packets in socket" , this . writeBuffer . length ) , this . transport . send ( this . writeBuffer ) , this . prevBufferLen = this . writeBuffer . length , this . emit ( "flush" ) ) } , Socket . prototype . write = Socket . prototype . send = function ( msg , options , fn ) { return this . sendPacket ( "message" , msg , options , fn ) , this } , Socket . prototype . sendPacket = function ( type , data , options , fn ) { if ( "function" == typeof data && ( fn = data , data = void 0 ) , "function" == typeof options && ( fn = options , options = null ) , "closing" != this . readyState && "closed" != this . readyState ) { options = options || { } , options . compress = ! 1 !== options . compress ; var packet = { type : type , data : data , options : options } ; this . emit ( "packetCreate" , packet ) , this . writeBuffer . push ( packet ) , fn && this . once ( "flush" , fn ) , this . flush ( ) } } , Socket . prototype . close = function ( ) { function close ( ) { self . onClose ( "forced close" ) , debug ( "socket closing - telling transport to close" ) , self . transport . close ( ) } function cleanupAndClose ( ) { self . removeListener ( "upgrade" , cleanupAndClose ) , self . removeListener ( "upgradeError" , cleanupAndClose ) , close ( ) } function waitForUpgrade ( ) { self . once ( "upgrade" , cleanupAndClose ) , self . once ( "upgradeError" , cleanupAndClose ) } if ( "opening" == this . readyState || "open" == this . readyState ) { this . readyState = "closing" ; var self = this ; this . writeBuffer . length ? this . once ( "drain" , function ( ) { this . upgrading ? waitForUpgrade ( ) : close ( ) } ) : this . upgrading ? waitForUpgrade ( ) : close ( ) } return this } , Socket . prototype . onError = function ( err ) { debug ( "socket error %j" , err ) , Socket . priorWebsocketSuccess = ! 1 , this . emit ( "error" , err ) , this . onClose ( "transport error" , err ) } , Socket . prototype . onClose = function ( reason , desc ) { if ( "opening" == this . readyState || "open" == this . readyState || "closing" == this . readyState ) { debug ( 'socket close with reason: "%s"' , reason ) ; var self = this ; clearTimeout ( this . pingIntervalTimer ) , clearTimeout ( this . pingTimeoutTimer ) , this . transport . removeAllListeners ( "close" ) , this . transport . close ( ) , this . transport . removeAllListeners ( ) , this . readyState = "closed" , this . id = null , this . emit ( "close" , reason , desc ) , self . writeBuffer = [ ] , self . prevBufferLen = 0 } } , Socket . prototype . filterUpgrades = function ( upgrades ) { for ( var filteredUpgrades = [ ] , i = 0 , j = upgrades . length ; i < j ; i ++ ) ~ index ( this . transports , upgrades [ i ] ) && filteredUpgrades . push ( upgrades [ i ] ) ; return filteredUpgrades } } ) . call ( this , "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : { } ) } , { "./transport" : 19 , "./transports" : 20 , "component-emitter" : 26 , debug : 14 , "engine.io-parser" : 27 , indexof : 32 , parsejson : 36 , parseqs : 37 , parseuri : 38 } ] , 19 : [ function ( _dereq _ , module , exports ) { function Transport ( opts ) { this . path = opts . path , this . hostname = opts . hostname , this . port = opts . port , this . secure = opts . secure , this
2016-09-25 04:08:49 +00:00
function _hasBinary ( obj ) { if ( ! obj ) return ! 1 ; if ( global . Buffer && global . Buffer . isBuffer ( obj ) || global . ArrayBuffer && obj instanceof ArrayBuffer || global . Blob && obj instanceof Blob || global . File && obj instanceof File ) return ! 0 ; if ( isArray ( obj ) ) { for ( var i = 0 ; i < obj . length ; i ++ ) if ( _hasBinary ( obj [ i ] ) ) return ! 0 } else if ( obj && "object" == typeof obj ) { obj . toJSON && ( obj = obj . toJSON ( ) ) ; for ( var key in obj ) if ( Object . prototype . hasOwnProperty . call ( obj , key ) && _hasBinary ( obj [ key ] ) ) return ! 0 } return ! 1 } return _hasBinary ( data ) } var isArray = _dereq _ ( "isarray" ) ; module . exports = hasBinary } ) . call ( this , "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : { } ) } , { isarray : 33 } ] , 30 : [ function ( _dereq _ , module , exports ) { ( function ( global ) { function hasBinary ( data ) { function _hasBinary ( obj ) { if ( ! obj ) return ! 1 ; if ( global . Buffer && global . Buffer . isBuffer && global . Buffer . isBuffer ( obj ) || global . ArrayBuffer && obj instanceof ArrayBuffer || global . Blob && obj instanceof Blob || global . File && obj instanceof File ) return ! 0 ; if ( isArray ( obj ) ) { for ( var i = 0 ; i < obj . length ; i ++ ) if ( _hasBinary ( obj [ i ] ) ) return ! 0 } else if ( obj && "object" == typeof obj ) { obj . toJSON && "function" == typeof obj . toJSON && ( obj = obj . toJSON ( ) ) ; for ( var key in obj ) if ( Object . prototype . hasOwnProperty . call ( obj , key ) && _hasBinary ( obj [ key ] ) ) return ! 0 } return ! 1 } return _hasBinary ( data ) } var isArray = _dereq _ ( "isarray" ) ; module . exports = hasBinary } ) . call ( this , "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : { } ) } , { isarray : 33 } ] , 31 : [ function ( _dereq _ , module , exports ) { try { module . exports = "undefined" != typeof XMLHttpRequest && "withCredentials" in new XMLHttpRequest } catch ( err ) { module . exports = ! 1 } } , { } ] , 32 : [ function ( _dereq _ , module , exports ) { var indexOf = [ ] . indexOf ; module . exports = function ( arr , obj ) { if ( indexOf ) return arr . indexOf ( obj ) ; for ( var i = 0 ; i < arr . length ; ++ i ) if ( arr [ i ] === obj ) return i ; return - 1 } } , { } ] , 33 : [ function ( _dereq _ , module , exports ) { module . exports = Array . isArray || function ( arr ) { return "[object Array]" == Object . prototype . toString . call ( arr ) } } , { } ] , 34 : [ function ( _dereq _ , module , exports ) { ( function ( global ) { ( function ( ) { function runInContext ( context , exports ) { function has ( name ) { if ( has [ name ] !== undef ) return has [ name ] ; var isSupported ; if ( "bug-string-char-index" == name ) isSupported = "a" != "a" [ 0 ] ; else if ( "json" == name ) isSupported = has ( "json-stringify" ) && has ( "json-parse" ) ; else { var value , serialized = '{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}' ; if ( "json-stringify" == name ) { var stringify = exports . stringify , stringifySupported = "function" == typeof stringify && isExtended ; if ( stringifySupported ) { ( value = function ( ) { return 1 } ) . toJSON = value ; try { stringifySupported = "0" === stringify ( 0 ) && "0" === stringify ( new Number ) && '""' == stringify ( new String ) && stringify ( getClass ) === undef && stringify ( undef ) === undef && stringify ( ) === undef && "1" === stringify ( value ) && "[1]" == stringify ( [ value ] ) && "[null]" == stringify ( [ undef ] ) && "null" == stringify ( null ) && "[null,null,null]" == stringify ( [ undef , getClass , null ] ) && stringify ( { a : [ value , ! 0 , ! 1 , null , "\0\b\n\f\r\t" ] } ) == serialized && "1" === stringify ( null , value ) && "[\n 1,\n 2\n]" == stringify ( [ 1 , 2 ] , null , 1 ) && '"-271821-04-20T00:00:00.000Z"' == stringify ( new Date ( ( - 864e13 ) ) ) && '"+275760-09-13T00:00:00.000Z"' == stringify ( new Date ( 864e13 ) ) && '"-000001-01-01T00:00:00.000Z"' == stringify ( new Date ( ( - 621987552e5 ) ) ) && '"1969-12-31T23:59:59.999Z"' == stringify ( new Date ( ( - 1 ) ) ) } catch ( exception ) { stringifySupported = ! 1 } } isSupported = stringifySupported } if ( "json-parse" == name ) { var parse = exports . parse ; if ( "function" == typeof parse ) try { if ( 0 === parse ( "0" ) && ! parse ( ! 1 ) ) { value = parse ( serialized ) ; var parseSupported = 5 == value . a . length && 1 === value . a [ 0 ] ; if ( parseSupported ) { try { parseSupported = ! parse ( '"\t"' ) } catch ( exception ) { } if ( parseSupported ) try { parseSupported = 1 !== parse ( "01" ) } catch ( exception ) { } if ( parseSupported ) try { parseSupported = 1 !== parse ( "1." ) } catch ( exception ) { } } } } catch ( exception ) { parseSupported = ! 1 } isSupported = parseSupported } } return has [ name ] = ! ! isSupported } context || ( context = root . Object ( ) ) , exports || ( exports = root . Object ( ) ) ; var Number = context . Number || root . Number , String = context . String || root . String , Object = context . Object || root . Object , Date = context . Date || root . Date , SyntaxError = context . SyntaxError || roo
j = j || k [ 3 ] , c = c || [ ] , k = + i || 1 ; do f = f || ".5" , k /= f , r . style ( a , b , k + j ) ; while ( f !== ( f = h ( ) / i ) && 1 !== f && -- g ) } return c && ( k = + k || + i || 0 , e = c [ 1 ] ? k + ( c [ 1 ] + 1 ) * c [ 2 ] : + c [ 2 ] , d && ( d . unit = j , d . start = k , d . end = e ) ) , e } function ga ( a ) { var b , c = a . ownerDocument , d = a . nodeName , e = fa [ d ] ; return e ? e : ( b = c . body . appendChild ( c . createElement ( d ) ) , e = r . css ( b , "display" ) , b . parentNode . removeChild ( b ) , "none" === e && ( e = "block" ) , fa [ d ] = e , e ) } function ha ( a , b ) { for ( var c , d , e = [ ] , f = 0 , g = a . length ; f < g ; f ++ ) d = a [ f ] , d . style && ( c = d . style . display , b ? ( "none" === c && ( e [ f ] = V . get ( d , "display" ) || null , e [ f ] || ( d . style . display = "" ) ) , "" === d . style . display && ca ( d ) && ( e [ f ] = ga ( d ) ) ) : "none" !== c && ( e [ f ] = "none" , V . set ( d , "display" , c ) ) ) ; for ( f = 0 ; f < g ; f ++ ) null != e [ f ] && ( a [ f ] . style . display = e [ f ] ) ; return a } function ma ( a , b ) { var c ; return c = "undefined" != typeof a . getElementsByTagName ? a . getElementsByTagName ( b || "*" ) : "undefined" != typeof a . querySelectorAll ? a . querySelectorAll ( b || "*" ) : [ ] , void 0 === b || b && r . nodeName ( a , b ) ? r . merge ( [ a ] , c ) : c } function na ( a , b ) { for ( var c = 0 , d = a . length ; c < d ; c ++ ) V . set ( a [ c ] , "globalEval" , ! b || V . get ( b [ c ] , "globalEval" ) ) } function pa ( a , b , c , d , e ) { for ( var f , g , h , i , j , k , l = b . createDocumentFragment ( ) , m = [ ] , n = 0 , o = a . length ; n < o ; n ++ ) if ( f = a [ n ] , f || 0 === f ) if ( "object" === r . type ( f ) ) r . merge ( m , f . nodeType ? [ f ] : f ) ; else if ( oa . test ( f ) ) { for ( g = g || l . appendChild ( b . createElement ( "div" ) ) , h = ( ja . exec ( f ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) , i = la [ h ] || la . _default , g . innerHTML = i [ 1 ] + r . htmlPrefilter ( f ) + i [ 2 ] , k = i [ 0 ] ; k -- ; ) g = g . lastChild ; r . merge ( m , g . childNodes ) , g = l . firstChild , g . textContent = "" } else m . push ( b . createTextNode ( f ) ) ; for ( l . textContent = "" , n = 0 ; f = m [ n ++ ] ; ) if ( d && r . inArray ( f , d ) > - 1 ) e && e . push ( f ) ; else if ( j = r . contains ( f . ownerDocument , f ) , g = ma ( l . appendChild ( f ) , "script" ) , j && na ( g ) , c ) for ( k = 0 ; f = g [ k ++ ] ; ) ka . test ( f . type || "" ) && c . push ( f ) ; return l } function ua ( ) { return ! 0 } function va ( ) { return ! 1 } function wa ( ) { try { return d . activeElement } catch ( a ) { } } function xa ( a , b , c , d , e , f ) { var g , h ; if ( "object" == typeof b ) { "string" != typeof c && ( d = d || c , c = void 0 ) ; for ( h in b ) xa ( a , h , c , d , b [ h ] , f ) ; return a } if ( null == d && null == e ? ( e = c , d = c = void 0 ) : null == e && ( "string" == typeof c ? ( e = d , d = void 0 ) : ( e = d , d = c , c = void 0 ) ) , e === ! 1 ) e = va ; else if ( ! e ) return a ; return 1 === f && ( g = e , e = function ( a ) { return r ( ) . off ( a ) , g . apply ( this , arguments ) } , e . guid = g . guid || ( g . guid = r . guid ++ ) ) , a . each ( function ( ) { r . event . add ( this , b , e , d , c ) } ) } function Da ( a , b ) { return r . nodeName ( a , "table" ) && r . nodeName ( 11 !== b . nodeType ? b : b . firstChild , "tr" ) ? a . getElementsByTagName ( "tbody" ) [ 0 ] || a : a } function Ea ( a ) { return a . type = ( null !== a . getAttribute ( "type" ) ) + "/" + a . type , a } function Fa ( a ) { var b = Ba . exec ( a . type ) ; return b ? a . type = b [ 1 ] : a . removeAttribute ( "type" ) , a } function Ga ( a , b ) { var c , d , e , f , g , h , i , j ; if ( 1 === b . nodeType ) { if ( V . hasData ( a ) && ( f = V . access ( a ) , g = V . set ( b , f ) , j = f . events ) ) { delete g . handle , g . events = { } ; for ( e in j ) for ( c = 0 , d = j [ e ] . length ; c < d ; c ++ ) r . event . add ( b , e , j [ e ] [ c ] ) } W . hasData ( a ) && ( h = W . access ( a ) , i = r . extend ( { } , h ) , W . set ( b , i ) ) } } function Ha ( a , b ) { var c = b . nodeName . toLowerCase ( ) ; "input" === c && ia . test ( a . type ) ? b . checked = a . checked : "input" !== c && "textarea" !== c || ( b . defaultValue = a . defaultValue ) } function Ia ( a , b , c , d ) { b = g . apply ( [ ] , b ) ; var e , f , h , i , j , k , l = 0 , m = a . length , n = m - 1 , q = b [ 0 ] , s = r . isFunction ( q ) ; if ( s || m > 1 && "string" == typeof q && ! o . checkClone && Aa . test ( q ) ) return a . each ( function ( e ) { var f = a . eq ( e ) ; s && ( b [ 0 ] = q . call ( this , e , f . html ( ) ) ) , Ia ( f , b , c , d ) } ) ; if ( m && ( e = pa ( b , a [ 0 ] . ownerDocument , ! 1 , a , d ) , f = e . firstChild , 1 === e . childNodes . length && ( e = f ) , f || d ) ) { for ( h = r . map ( ma ( e , "script" ) , Ea ) , i = h . length ; l < m ; l ++ ) j = e , l !== n && ( j = r . clone ( j , ! 0 , ! 0 ) , i && r . merge ( h , ma ( j , "script" ) ) ) , c . call ( a [ l ] , j , l ) ; if ( i ) for ( k = h [ h . length - 1 ] . ownerDocument , r . map ( h , Fa ) , l = 0 ; l < i ; l ++ ) j = h [ l ] , ka . test ( j . type || "" ) && ! V . access ( j , "globalEval" ) && r . contains ( k , j ) && ( j . src ? r . _evalUrl && r . _evalUrl ( j . src ) : p ( j . textContent . replace ( Ca , "" ) , k ) ) } return a } function Ja ( a , b , c ) { for ( var d , e = b ? r . filter ( b , a ) : a , f = 0 ; null != ( d = e [ f ] ) ; f ++ ) c || 1 !== d . nodeType || r . cleanData ( ma ( d ) ) , d . parentNode && ( c && r . contains ( d . ownerDocument , d ) && na ( ma ( d , "script" ) ) , d . parentNode . removeChild ( d ) ) ; return a } function Na ( a , b , c ) { var d , e , f , g , h = a . style ; return c = c || Ma ( a ) , c && ( g = c . getPropertyValue ( b ) || c [ b ] , "" !== g || r . contains ( a . ownerDocument , a ) || ( g = r . style ( a , b ) ) , ! o . pixelMarginRight ( ) && La . test ( g ) && Ka . test ( b ) && ( d = h . width , e = h . minWidth , f = h . maxWidth , h . minWidth = h . maxWidth = h . width = g ,
var c , d = [ ] , e = [ ] , f = A [ a + " " ] ; if ( ! f ) { for ( b || ( b = g ( a ) ) , c = b . length ; c -- ; ) f = ya ( b [ c ] ) , f [ u ] ? d . push ( f ) : e . push ( f ) ; f = A ( a , za ( e , d ) ) , f . selector = a } return f } , i = ga . select = function ( a , b , c , e ) { var f , i , j , k , l , m = "function" == typeof a && a , n = ! e && g ( a = m . selector || a ) ; if ( c = c || [ ] , 1 === n . length ) { if ( i = n [ 0 ] = n [ 0 ] . slice ( 0 ) , i . length > 2 && "ID" === ( j = i [ 0 ] ) . type && 9 === b . nodeType && p && d . relative [ i [ 1 ] . type ] ) { if ( b = ( d . find . ID ( j . matches [ 0 ] . replace ( _ , aa ) , b ) || [ ] ) [ 0 ] , ! b ) return c ; m && ( b = b . parentNode ) , a = a . slice ( i . shift ( ) . value . length ) } for ( f = V . needsContext . test ( a ) ? 0 : i . length ; f -- && ( j = i [ f ] , ! d . relative [ k = j . type ] ) ; ) if ( ( l = d . find [ k ] ) && ( e = l ( j . matches [ 0 ] . replace ( _ , aa ) , $ . test ( i [ 0 ] . type ) && qa ( b . parentNode ) || b ) ) ) { if ( i . splice ( f , 1 ) , a = e . length && sa ( i ) , ! a ) return G . apply ( c , e ) , c ; break } } return ( m || h ( a , n ) ) ( e , b , ! p , c , ! b || $ . test ( a ) && qa ( b . parentNode ) || b ) , c } , c . sortStable = u . split ( "" ) . sort ( B ) . join ( "" ) === u , c . detectDuplicates = ! ! l , m ( ) , c . sortDetached = ja ( function ( a ) { return 1 & a . compareDocumentPosition ( n . createElement ( "fieldset" ) ) } ) , ja ( function ( a ) { return a . innerHTML = "<a href='#'></a>" , "#" === a . firstChild . getAttribute ( "href" ) } ) || ka ( "type|href|height|width" , function ( a , b , c ) { if ( ! c ) return a . getAttribute ( b , "type" === b . toLowerCase ( ) ? 1 : 2 ) } ) , c . attributes && ja ( function ( a ) { return a . innerHTML = "<input/>" , a . firstChild . setAttribute ( "value" , "" ) , "" === a . firstChild . getAttribute ( "value" ) } ) || ka ( "value" , function ( a , b , c ) { if ( ! c && "input" === a . nodeName . toLowerCase ( ) ) return a . defaultValue } ) , ja ( function ( a ) { return null == a . getAttribute ( "disabled" ) } ) || ka ( J , function ( a , b , c ) { var d ; if ( ! c ) return a [ b ] === ! 0 ? b . toLowerCase ( ) : ( d = a . getAttributeNode ( b ) ) && d . specified ? d . value : null } ) , ga } ( a ) ; r . find = x , r . expr = x . selectors , r . expr [ ":" ] = r . expr . pseudos , r . uniqueSort = r . unique = x . uniqueSort , r . text = x . getText , r . isXMLDoc = x . isXML , r . contains = x . contains , r . escapeSelector = x . escape ; var y = function ( a , b , c ) { for ( var d = [ ] , e = void 0 !== c ; ( a = a [ b ] ) && 9 !== a . nodeType ; ) if ( 1 === a . nodeType ) { if ( e && r ( a ) . is ( c ) ) break ; d . push ( a ) } return d } , z = function ( a , b ) { for ( var c = [ ] ; a ; a = a . nextSibling ) 1 === a . nodeType && a !== b && c . push ( a ) ; return c } , A = r . expr . match . needsContext , B = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i , C = /^.[^:#\[\.,]*$/ ; r . filter = function ( a , b , c ) { var d = b [ 0 ] ; return c && ( a = ":not(" + a + ")" ) , 1 === b . length && 1 === d . nodeType ? r . find . matchesSelector ( d , a ) ? [ d ] : [ ] : r . find . matches ( a , r . grep ( b , function ( a ) { return 1 === a . nodeType } ) ) } , r . fn . extend ( { find : function ( a ) { var b , c , d = this . length , e = this ; if ( "string" != typeof a ) return this . pushStack ( r ( a ) . filter ( function ( ) { for ( b = 0 ; b < d ; b ++ ) if ( r . contains ( e [ b ] , this ) ) return ! 0 } ) ) ; for ( c = this . pushStack ( [ ] ) , b = 0 ; b < d ; b ++ ) r . find ( a , e [ b ] , c ) ; return d > 1 ? r . uniqueSort ( c ) : c } , filter : function ( a ) { return this . pushStack ( D ( this , a || [ ] , ! 1 ) ) } , not : function ( a ) { return this . pushStack ( D ( this , a || [ ] , ! 0 ) ) } , is : function ( a ) { return ! ! D ( this , "string" == typeof a && A . test ( a ) ? r ( a ) : a || [ ] , ! 1 ) . length } } ) ; var E , F = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/ , G = r . fn . init = function ( a , b , c ) { var e , f ; if ( ! a ) return this ; if ( c = c || E , "string" == typeof a ) { if ( e = "<" === a [ 0 ] && ">" === a [ a . length - 1 ] && a . length >= 3 ? [ null , a , null ] : F . exec ( a ) , ! e || ! e [ 1 ] && b ) return ! b || b . jquery ? ( b || c ) . find ( a ) : this . constructor ( b ) . find ( a ) ; if ( e [ 1 ] ) { if ( b = b instanceof r ? b [ 0 ] : b , r . merge ( this , r . parseHTML ( e [ 1 ] , b && b . nodeType ? b . ownerDocument || b : d , ! 0 ) ) , B . test ( e [ 1 ] ) && r . isPlainObject ( b ) ) for ( e in b ) r . isFunction ( this [ e ] ) ? this [ e ] ( b [ e ] ) : this . attr ( e , b [ e ] ) ; return this } return f = d . getElementById ( e [ 2 ] ) , f && ( this [ 0 ] = f , this . length = 1 ) , this } return a . nodeType ? ( this [ 0 ] = a , this . length = 1 , this ) : r . isFunction ( a ) ? void 0 !== c . ready ? c . ready ( a ) : a ( r ) : r . makeArray ( a , this ) } ; G . prototype = r . fn , E = r ( d ) ; var H = /^(?:parents|prev(?:Until|All))/ , I = { children : ! 0 , contents : ! 0 , next : ! 0 , prev : ! 0 } ; r . fn . extend ( { has : function ( a ) { var b = r ( a , this ) , c = b . length ; return this . filter ( function ( ) { for ( var a = 0 ; a < c ; a ++ ) if ( r . contains ( this , b [ a ] ) ) return ! 0 } ) } , closest : function ( a , b ) { var c , d = 0 , e = this . length , f = [ ] , g = "string" != typeof a && r ( a ) ; if ( ! A . test ( a ) ) for ( ; d < e ; d ++ ) for ( c = this [ d ] ; c && c !== b ; c = c . parentNode ) if ( c . nodeType < 11 && ( g ? g . index ( c ) > - 1 : 1 === c . nodeType && r . find . matchesSelector ( c , a ) ) ) { f . push ( c ) ; break } return this . pushStack ( f . length > 1 ? r . uniqueSort ( f ) : f ) } , index : function ( a ) { return a ? "string" == typeof a ? i . call ( r ( a ) , this [ 0 ] ) : i . call ( this , a . jquery ? a [ 0 ] : a ) : this [ 0 ] && this [ 0 ] . parentNode ? this .
void 0 !== c ? null === c ? void r . removeAttr ( a , b ) : e && "set" in e && void 0 !== ( d = e . set ( a , c , b ) ) ? d : ( a . setAttribute ( b , c + "" ) , c ) : e && "get" in e && null !== ( d = e . get ( a , b ) ) ? d : ( d = r . find . attr ( a , b ) , null == d ? void 0 : d ) ) } , attrHooks : { type : { set : function ( a , b ) { if ( ! o . radioValue && "radio" === b && r . nodeName ( a , "input" ) ) { var c = a . value ; return a . setAttribute ( "type" , b ) , c && ( a . value = c ) , b } } } } , removeAttr : function ( a , b ) { var c , d = 0 , e = b && b . match ( K ) ; if ( e && 1 === a . nodeType ) for ( ; c = e [ d ++ ] ; ) a . removeAttribute ( c ) } } ) , ib = { set : function ( a , b , c ) { return b === ! 1 ? r . removeAttr ( a , c ) : a . setAttribute ( c , c ) , c } } , r . each ( r . expr . match . bool . source . match ( /\w+/g ) , function ( a , b ) { var c = jb [ b ] || r . find . attr ; jb [ b ] = function ( a , b , d ) { var e , f , g = b . toLowerCase ( ) ; return d || ( f = jb [ g ] , jb [ g ] = e , e = null != c ( a , b , d ) ? g : null , jb [ g ] = f ) , e } } ) ; var kb = /^(?:input|select|textarea|button)$/i , lb = /^(?:a|area)$/i ; r . fn . extend ( { prop : function ( a , b ) { return S ( this , r . prop , a , b , arguments . length > 1 ) } , removeProp : function ( a ) { return this . each ( function ( ) { delete this [ r . propFix [ a ] || a ] } ) } } ) , r . extend ( { prop : function ( a , b , c ) { var d , e , f = a . nodeType ; if ( 3 !== f && 8 !== f && 2 !== f ) return 1 === f && r . isXMLDoc ( a ) || ( b = r . propFix [ b ] || b , e = r . propHooks [ b ] ) , void 0 !== c ? e && "set" in e && void 0 !== ( d = e . set ( a , c , b ) ) ? d : a [ b ] = c : e && "get" in e && null !== ( d = e . get ( a , b ) ) ? d : a [ b ] } , propHooks : { tabIndex : { get : function ( a ) { var b = r . find . attr ( a , "tabindex" ) ; return b ? parseInt ( b , 10 ) : kb . test ( a . nodeName ) || lb . test ( a . nodeName ) && a . href ? 0 : - 1 } } } , propFix : { for : "htmlFor" , class : "className" } } ) , o . optSelected || ( r . propHooks . selected = { get : function ( a ) { var b = a . parentNode ; return b && b . parentNode && b . parentNode . selectedIndex , null } , set : function ( a ) { var b = a . parentNode ; b && ( b . selectedIndex , b . parentNode && b . parentNode . selectedIndex ) } } ) , r . each ( [ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ] , function ( ) { r . propFix [ this . toLowerCase ( ) ] = this } ) , r . fn . extend ( { addClass : function ( a ) { var b , c , d , e , f , g , h , i = 0 ; if ( r . isFunction ( a ) ) return this . each ( function ( b ) { r ( this ) . addClass ( a . call ( this , b , nb ( this ) ) ) } ) ; if ( "string" == typeof a && a ) for ( b = a . match ( K ) || [ ] ; c = this [ i ++ ] ; ) if ( e = nb ( c ) , d = 1 === c . nodeType && " " + mb ( e ) + " " ) { for ( g = 0 ; f = b [ g ++ ] ; ) d . indexOf ( " " + f + " " ) < 0 && ( d += f + " " ) ; h = mb ( d ) , e !== h && c . setAttribute ( "class" , h ) } return this } , removeClass : function ( a ) { var b , c , d , e , f , g , h , i = 0 ; if ( r . isFunction ( a ) ) return this . each ( function ( b ) { r ( this ) . removeClass ( a . call ( this , b , nb ( this ) ) ) } ) ; if ( ! arguments . length ) return this . attr ( "class" , "" ) ; if ( "string" == typeof a && a ) for ( b = a . match ( K ) || [ ] ; c = this [ i ++ ] ; ) if ( e = nb ( c ) , d = 1 === c . nodeType && " " + mb ( e ) + " " ) { for ( g = 0 ; f = b [ g ++ ] ; ) for ( ; d . indexOf ( " " + f + " " ) > - 1 ; ) d = d . replace ( " " + f + " " , " " ) ; h = mb ( d ) , e !== h && c . setAttribute ( "class" , h ) } return this } , toggleClass : function ( a , b ) { var c = typeof a ; return "boolean" == typeof b && "string" === c ? b ? this . addClass ( a ) : this . removeClass ( a ) : r . isFunction ( a ) ? this . each ( function ( c ) { r ( this ) . toggleClass ( a . call ( this , c , nb ( this ) , b ) , b ) } ) : this . each ( function ( ) { var b , d , e , f ; if ( "string" === c ) for ( d = 0 , e = r ( this ) , f = a . match ( K ) || [ ] ; b = f [ d ++ ] ; ) e . hasClass ( b ) ? e . removeClass ( b ) : e . addClass ( b ) ; else void 0 !== a && "boolean" !== c || ( b = nb ( this ) , b && V . set ( this , "__className__" , b ) , this . setAttribute && this . setAttribute ( "class" , b || a === ! 1 ? "" : V . get ( this , "__className__" ) || "" ) ) } ) } , hasClass : function ( a ) { var b , c , d = 0 ; for ( b = " " + a + " " ; c = this [ d ++ ] ; ) if ( 1 === c . nodeType && ( " " + mb ( nb ( c ) ) + " " ) . indexOf ( b ) > - 1 ) return ! 0 ; return ! 1 } } ) ; var ob = /\r/g ; r . fn . extend ( { val : function ( a ) { var b , c , d , e = this [ 0 ] ; return arguments . length ? ( d = r . isFunction ( a ) , this . each ( function ( c ) { var e ; 1 === this . nodeType && ( e = d ? a . call ( this , c , r ( this ) . val ( ) ) : a , null == e ? e = "" : "number" == typeof e ? e += "" : r . isArray ( e ) && ( e = r . map ( e , function ( a ) { return null == a ? "" : a + "" } ) ) , b = r . valHooks [ this . type ] || r . valHooks [ this . nodeName . toLowerCase ( ) ] , b && "set" in b && void 0 !== b . set ( this , e , "value" ) || ( this . value = e ) ) } ) ) : e ? ( b = r . valHooks [ e . type ] || r . valHooks [ e . nodeName . toLowerCase ( ) ] , b && "get" in b && void 0 !== ( c = b . get ( e , "value" ) ) ? c : ( c = e . value , "string" == typeof c ? c . replace ( ob , "" ) : null == c ? "" : c ) ) : void 0 } } ) , r . extend ( { valHooks : { option : { get : function ( a ) { var b = r . find . attr ( a , "value" ) ; return null != b ? b : mb ( r . text ( a ) ) } } , select : { get : function ( a ) { var b , c , d , e = a . options , f = a . selectedIndex , g = "select-one" === a . type , h = g ? null : [ ] , i = g ? f + 1 : e . length ; for ( d = f < 0 ? i : g ? f : 0 ; d < i ; d ++
r = void 0 ) } , p [ tr ] = function ( ) { void 0 === r ? r = n : r += n } , p [ ir ] = function ( ) { p [ tr ] ( ) , f ++ } , p [ nr ] = function ( ) { if ( f > 0 ) f -- , u = hr , p [ tr ] ( ) ; else { if ( f = 0 , r = Mt ( r ) , r === ! 1 ) return ! 1 ; p [ er ] ( ) } } ; null != u ; ) if ( c ++ , i = t [ c ] , "\\" !== i || ! e ( ) ) { if ( s = It ( i ) , h = pr [ u ] , o = h [ s ] || h . else || fr , o === fr ) return ; if ( u = o [ 0 ] , a = p [ o [ 1 ] ] , a && ( n = o [ 2 ] , n = void 0 === n ? i : n , a ( ) === ! 1 ) ) return ; if ( u === ur ) return l . raw = t , l } } function Wt ( t ) { var e = Kn . get ( t ) ; return e || ( e = Vt ( t ) , e && Kn . put ( t , e ) ) , e } function Bt ( t , e ) { return Yt ( e ) . get ( t ) } function zt ( e , i , n ) { var r = e ; if ( "string" == typeof i && ( i = Vt ( i ) ) , ! i || ! m ( e ) ) return ! 1 ; for ( var s , o , a = 0 , h = i . length ; a < h ; a ++ ) s = e , o = i [ a ] , "*" === o . charAt ( 0 ) && ( o = Yt ( o . slice ( 1 ) ) . get . call ( r , r ) ) , a < h - 1 ? ( e = e [ o ] , m ( e ) || ( e = { } , t ( s , o , e ) ) ) : qi ( e ) ? e . $set ( o , n ) : o in e ? e [ o ] = n : t ( e , o , n ) ; return ! 0 } function Ut ( ) { } function qt ( t , e ) { var i = Or . length ; return Or [ i ] = e ? t . replace ( wr , "\\n" ) : t , '"' + i + '"' } function Jt ( t ) { var e = t . charAt ( 0 ) , i = t . slice ( 1 ) ; return gr . test ( i ) ? t : ( i = i . indexOf ( '"' ) > - 1 ? i . replace ( $r , Qt ) : i , e + "scope." + i ) } function Qt ( t , e ) { return Or [ e ] } function Gt ( t ) { yr . test ( t ) , Or . length = 0 ; var e = t . replace ( Cr , qt ) . replace ( br , "" ) ; return e = ( " " + e ) . replace ( xr , Jt ) . replace ( $r , Qt ) , Zt ( e ) } function Zt ( t ) { try { return new Function ( "scope" , "return " + t + ";" ) } catch ( t ) { return Ut } } function Xt ( t ) { var e = Wt ( t ) ; if ( e ) return function ( t , i ) { zt ( t , e , i ) } } function Yt ( t , e ) { t = t . trim ( ) ; var i = vr . get ( t ) ; if ( i ) return e && ! i . set && ( i . set = Xt ( i . exp ) ) , i ; var n = { exp : t } ; return n . get = Kt ( t ) && t . indexOf ( "[" ) < 0 ? Zt ( "scope." + t ) : Gt ( t ) , e && ( n . set = Xt ( t ) ) , vr . put ( t , n ) , n } function Kt ( t ) { return kr . test ( t ) && ! Ar . test ( t ) && "Math." !== t . slice ( 0 , 5 ) } function te ( ) { Nr . length = 0 , jr . length = 0 , Er = { } , Fr = { } , Sr = ! 1 } function ee ( ) { for ( var t = ! 0 ; t ; ) t = ! 1 , ie ( Nr ) , ie ( jr ) , Nr . length ? t = ! 0 : ( Gi && Hn . devtools && Gi . emit ( "flush" ) , te ( ) ) } function ie ( t ) { for ( var e = 0 ; e < t . length ; e ++ ) { var i = t [ e ] , n = i . id ; Er [ n ] = null , i . run ( ) } t . length = 0 } function ne ( t ) { var e = t . id ; if ( null == Er [ e ] ) { var i = t . user ? jr : Nr ; Er [ e ] = i . length , i . push ( t ) , Sr || ( Sr = ! 0 , an ( ee ) ) } } function re ( t , e , i , n ) { n && v ( this , n ) ; var r = "function" == typeof e ; if ( this . vm = t , t . _watchers . push ( this ) , this . expression = e , this . cb = i , this . id = ++ Dr , this . active = ! 0 , this . dirty = this . lazy , this . deps = [ ] , this . newDeps = [ ] , this . depIds = new hn , this . newDepIds = new hn , this . prevError = null , r ) this . getter = e , this . setter = void 0 ; else { var s = Yt ( e , this . twoWay ) ; this . getter = s . get , this . setter = s . set } this . value = this . lazy ? void 0 : this . get ( ) , this . queued = this . shallow = ! 1 } function se ( t , e ) { var i = void 0 , n = void 0 ; e || ( e = Pr , e . clear ( ) ) ; var r = qi ( t ) , s = m ( t ) ; if ( ( r || s ) && Object . isExtensible ( t ) ) { if ( t . _ _ob _ _ ) { var o = t . _ _ob _ _ . dep . id ; if ( e . has ( o ) ) return ; e . add ( o ) } if ( r ) for ( i = t . length ; i -- ; ) se ( t [ i ] , e ) ; else if ( s ) for ( n = Object . keys ( t ) , i = n . length ; i -- ; ) se ( t [ n [ i ] ] , e ) } } function oe ( t ) { return dt ( t ) && yt ( t . content ) } function ae ( t , e ) { var i = e ? t : t . trim ( ) , n = Lr . get ( i ) ; if ( n ) return n ; var r = document . createDocumentFragment ( ) , s = t . match ( Mr ) , o = Vr . test ( t ) , a = Wr . test ( t ) ; if ( s || o || a ) { var h = s && s [ 1 ] , l = Ir [ h ] || Ir . efault , c = l [ 0 ] , u = l [ 1 ] , f = l [ 2 ] , p = document . createElement ( "div" ) ; for ( p . innerHTML = u + t + f ; c -- ; ) p = p . lastChild ; for ( var d ; d = p . firstChild ; ) r . appendChild ( d ) } else r . appendChild ( document . createTextNode ( t ) ) ; return e || ft ( r ) , Lr . put ( i , r ) , r } function he ( t ) { if ( oe ( t ) ) return ae ( t . innerHTML ) ; if ( "SCRIPT" === t . tagName ) return ae ( t . textContent ) ; for ( var e , i = le ( t ) , n = document . createDocumentFragment ( ) ; e = i . firstChild ; ) n . appendChild ( e ) ; return ft ( n ) , n } function le ( t ) { if ( ! t . querySelectorAll ) return t . cloneNode ( ) ; var e , i , n , r = t . cloneNode ( ! 0 ) ; if ( Br ) { var s = r ; if ( oe ( t ) && ( t = t . content , s = r . content ) , i = t . querySelectorAll ( "template" ) , i . length ) for ( n = s . querySelectorAll ( "template" ) , e = n . length ; e -- ; ) n [ e ] . parentNode . replaceChild ( le ( i [ e ] ) , n [ e ] ) } if ( zr ) if ( "TEXTAREA" === t . tagName ) r . value = t . value ; else if ( i = t . querySelectorAll ( "textarea" ) , i . length ) for ( n = r . querySelectorAll ( "textarea" ) , e = n . length ; e -- ; ) n [ e ] . value = i [ e ] . value ; return r } function ce ( t , e , i ) { var n , r ; return yt ( t ) ? ( ft ( t ) , e ? le ( t ) : t ) : ( "string" == typeof t ? i || "#" !== t . charAt ( 0 ) ? r = ae ( t , i ) : ( r = Hr . get ( t ) , r || ( n = document . getElementById ( t . slice ( 1 ) ) , n && ( r = he ( n ) , Hr . put ( t , r ) ) ) ) : t . nodeType && ( r = he ( t ) ) , r && e ? le ( r ) : r ) } function ue ( t , e , i , n , r , s ) { this . children = [ ] , this . childFrags = [ ] , this . vm = e , this . scope = r , this . inserted = ! 1 , this . parentFrag = s , s && s . childFrags . push ( this ) , this . unlink = t ( e , i , n , r , this ) ; var o = this . single = 1 === i . child
} ) , jn = /[-.*+?^${}()|[\]\/\\]/g , En = void 0 , Fn = void 0 , Sn = void 0 , Dn = /[^|]\|[^|]/ , Pn = Object . freeze ( { compileRegex : M , parseText : V , tokensToExp : W } ) , Rn = [ "{{" , "}}" ] , Ln = [ "{{{" , "}}}" ] , Hn = Object . defineProperties ( { debug : ! 1 , silent : ! 1 , async : ! 0 , warnExpressionErrors : ! 0 , devtools : ! 1 , _delimitersChanged : ! 0 , _assetTypes : [ "component" , "directive" , "elementDirective" , "filter" , "transition" , "partial" ] , _propBindingModes : { ONE _WAY : 0 , TWO _WAY : 1 , ONE _TIME : 2 } , _maxUpdateCount : 100 } , { delimiters : { get : function ( ) { return Rn } , set : function ( t ) { Rn = t , M ( ) } , configurable : ! 0 , enumerable : ! 0 } , unsafeDelimiters : { get : function ( ) { return Ln } , set : function ( t ) { Ln = t , M ( ) } , configurable : ! 0 , enumerable : ! 0 } } ) , In = void 0 , Mn = Object . freeze ( { appendWithTransition : U , beforeWithTransition : q , removeWithTransition : J , applyTransition : Q } ) , Vn = /^v-ref:/ , Wn = /^(div|p|span|img|a|b|i|br|ul|ol|li|h1|h2|h3|h4|h5|h6|code|pre|table|th|td|tr|form|label|input|select|option|nav|article|section|header|footer)$/i , Bn = /^(slot|partial|component)$/i , zn = Hn . optionMergeStrategies = Object . create ( null ) ; zn . data = function ( t , e , i ) { return i ? t || e ? function ( ) { var n = "function" == typeof e ? e . call ( i ) : e , r = "function" == typeof t ? t . call ( i ) : void 0 ; return n ? kt ( n , r ) : r } : void 0 : e ? "function" != typeof e ? t : t ? function ( ) { return kt ( e . call ( this ) , t . call ( this ) ) } : e : t } , zn . el = function ( t , e , i ) { if ( i || ! e || "function" == typeof e ) { var n = e || t ; return i && "function" == typeof n ? n . call ( i ) : n } } , zn . init = zn . created = zn . ready = zn . attached = zn . detached = zn . beforeCompile = zn . compiled = zn . beforeDestroy = zn . destroyed = zn . activate = function ( t , e ) { return e ? t ? t . concat ( e ) : qi ( e ) ? e : [ e ] : t } , Hn . _assetTypes . forEach ( function ( t ) { zn [ t + "s" ] = xt } ) , zn . watch = zn . events = function ( t , e ) { if ( ! e ) return t ; if ( ! t ) return e ; var i = { } ; v ( i , t ) ; for ( var n in e ) { var r = i [ n ] , s = e [ n ] ; r && ! qi ( r ) && ( r = [ r ] ) , i [ n ] = r ? r . concat ( s ) : [ s ] } return i } , zn . props = zn . methods = zn . computed = function ( t , e ) { if ( ! e ) return t ; if ( ! t ) return e ; var i = Object . create ( null ) ; return v ( i , t ) , v ( i , e ) , i } ; var Un = function ( t , e ) { return void 0 === e ? t : e } , qn = 0 ; Et . target = null , Et . prototype . addSub = function ( t ) { this . subs . push ( t ) } , Et . prototype . removeSub = function ( t ) { this . subs . $remove ( t ) } , Et . prototype . depend = function ( ) { Et . target . addDep ( this ) } , Et . prototype . notify = function ( ) { for ( var t = d ( this . subs ) , e = 0 , i = t . length ; e < i ; e ++ ) t [ e ] . update ( ) } ; var Jn = Array . prototype , Qn = Object . create ( Jn ) ; [ "push" , "pop" , "shift" , "unshift" , "splice" , "sort" , "reverse" ] . forEach ( function ( t ) { var e = Jn [ t ] ; _ ( Qn , t , function ( ) { for ( var i = arguments . length , n = new Array ( i ) ; i -- ; ) n [ i ] = arguments [ i ] ; var r , s = e . apply ( this , n ) , o = this . _ _ob _ _ ; switch ( t ) { case "push" : r = n ; break ; case "unshift" : r = n ; break ; case "splice" : r = n . slice ( 2 ) } return r && o . observeArray ( r ) , o . dep . notify ( ) , s } ) } ) , _ ( Jn , "$set" , function ( t , e ) { return t >= this . length && ( this . length = Number ( t ) + 1 ) , this . splice ( t , 1 , e ) [ 0 ] } ) , _ ( Jn , "$remove" , function ( t ) { if ( this . length ) { var e = b ( this , t ) ; return e > - 1 ? this . splice ( e , 1 ) : void 0 } } ) ; var Gn = Object . getOwnPropertyNames ( Qn ) , Zn = ! 0 ; St . prototype . walk = function ( t ) { for ( var e = Object . keys ( t ) , i = 0 , n = e . length ; i < n ; i ++ ) this . convert ( e [ i ] , t [ e [ i ] ] ) } , St . prototype . observeArray = function ( t ) { for ( var e = 0 , i = t . length ; e < i ; e ++ ) Rt ( t [ e ] ) } , St . prototype . convert = function ( t , e ) { Lt ( this . value , t , e ) } , St . prototype . addVm = function ( t ) { ( this . vms || ( this . vms = [ ] ) ) . push ( t ) } , St . prototype . removeVm = function ( t ) { this . vms . $remove ( t ) } ; var Xn = Object . freeze ( { defineReactive : Lt , set : t , del : e , hasOwn : i , isLiteral : n , isReserved : r , _toString : s , toNumber : o , toBoolean : a , stripQuotes : h , camelize : l , hyphenate : u , classify : f , bind : p , toArray : d , extend : v , isObject : m , isPlainObject : g , def : _ , debounce : y , indexOf : b , cancellable : w , looseEqual : C , isArray : qi , hasProto : Ji , inBrowser : Qi , devtools : Gi , isIE : Xi , isIE9 : Yi , isAndroid : Ki , get transitionProp ( ) { return tn } , get transitionEndEvent ( ) { return en } , get animationProp ( ) { return nn } , get animationEndEvent ( ) { return rn } , nextTick : an , get _Set ( ) { return hn } , query : G , inDoc : Z , getAttr : X , getBindAttr : Y , hasBindAttr : K , before : tt , after : et , remove : it , prepend : nt , replace : rt , on : st , off : ot , setClass : ht , addClass : lt , removeClass : ct , extractContent : ut , trimNode : ft , isTemplate : dt , createAnchor : vt , findRef : mt , mapNodeRange : gt , removeNodeRange : _t , isFragment : yt , getOuterHTML : bt , findVmFromFrag : wt , mergeOptions : Nt , resolveAsset : jt , checkComponentAttr : Ct , commonTagRE : Wn , reservedTagRE : Bn , wa
2016-09-25 21:32:39 +00:00
var t = this . params . name || "default" , e = this . vm . _slotContents && this . vm . _slotContents [ t ] ; e && e . hasChildNodes ( ) ? this . compile ( e . cloneNode ( ! 0 ) , this . vm . _context , this . vm ) : this . fallback ( ) } , compile : function ( t , e , i ) { if ( t && e ) { if ( this . el . hasChildNodes ( ) && 1 === t . childNodes . length && 1 === t . childNodes [ 0 ] . nodeType && t . childNodes [ 0 ] . hasAttribute ( "v-if" ) ) { var n = document . createElement ( "template" ) ; n . setAttribute ( "v-else" , "" ) , n . innerHTML = this . el . innerHTML , n . _context = this . vm , t . appendChild ( n ) } var r = i ? i . _scope : this . _scope ; this . unlink = e . $compile ( t , i , r , this . _frag ) } t ? rt ( this . el , t ) : it ( this . el ) } , fallback : function ( ) { this . compile ( ut ( this . el , ! 0 ) , this . vm ) } , unbind : function ( ) { this . unlink && this . unlink ( ) } } , lo = { priority : ts , params : [ "name" ] , paramWatchers : { name : function ( t ) { os . remove . call ( this ) , t && this . insert ( t ) } } , bind : function ( ) { this . anchor = vt ( "v-partial" ) , rt ( this . el , this . anchor ) , this . insert ( this . params . name ) } , insert : function ( t ) { var e = jt ( this . vm . $options , "partials" , t , ! 0 ) ; e && ( this . factory = new _e ( this . vm , e ) , os . insert . call ( this ) ) } , unbind : function ( ) { this . frag && this . frag . destroy ( ) } } , co = { slot : ho , partial : lo } , uo = ss . _postProcess , fo = /(\d{3})(?=\d)/g , po = { orderBy : Ri , filterBy : Pi , limitBy : Di , json : { read : function ( t , e ) { return "string" == typeof t ? t : JSON . stringify ( t , null , arguments . length > 1 ? e : 2 ) } , write : function ( t ) { try { return JSON . parse ( t ) } catch ( e ) { return t } } } , capitalize : function ( t ) { return t || 0 === t ? ( t = t . toString ( ) , t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) ) : "" } , uppercase : function ( t ) { return t || 0 === t ? t . toString ( ) . toUpperCase ( ) : "" } , lowercase : function ( t ) { return t || 0 === t ? t . toString ( ) . toLowerCase ( ) : "" } , currency : function ( t , e , i ) { if ( t = parseFloat ( t ) , ! isFinite ( t ) || ! t && 0 !== t ) return "" ; e = null != e ? e : "$" , i = null != i ? i : 2 ; var n = Math . abs ( t ) . toFixed ( i ) , r = i ? n . slice ( 0 , - 1 - i ) : n , s = r . length % 3 , o = s > 0 ? r . slice ( 0 , s ) + ( r . length > 3 ? "," : "" ) : "" , a = i ? n . slice ( - 1 - i ) : "" , h = t < 0 ? "-" : "" ; return h + e + o + r . slice ( s ) . replace ( fo , "$1," ) + a } , pluralize : function ( t ) { var e = d ( arguments , 1 ) , i = e . length ; if ( i > 1 ) { var n = t % 10 - 1 ; return n in e ? e [ n ] : e [ i - 1 ] } return e [ 0 ] + ( 1 === t ? "" : "s" ) } , debounce : function ( t , e ) { if ( t ) return e || ( e = 300 ) , y ( t , e ) } } ; return Hi ( Si ) , Si . version = "1.0.27" , setTimeout ( function ( ) { Hn . devtools && Gi && Gi . emit ( "init" , Si ) } , 0 ) , Si } ) , ! function ( a ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , a ) : a ( "object" == typeof module && module . exports ? require ( "jquery" ) : jQuery ) } ( function ( a ) { var b = "2.0.0" , c = { } , d = { exclude : [ ] , excludeWithin : [ ] , offset : 0 , direction : "top" , delegateSelector : null , scrollElement : null , scrollTarget : null , beforeScroll : function ( ) { } , afterScroll : function ( ) { } , easing : "swing" , speed : 400 , autoCoefficient : 2 , preventDefault : ! 0 } , e = function ( b ) { var c = [ ] , d = ! 1 , e = b . dir && "left" === b . dir ? "scrollLeft" : "scrollTop" ; return this . each ( function ( ) { var b = a ( this ) ; if ( this !== document && this !== window ) return ! document . scrollingElement || this !== document . documentElement && this !== document . body ? void ( b [ e ] ( ) > 0 ? c . push ( this ) : ( b [ e ] ( 1 ) , d = b [ e ] ( ) > 0 , d && c . push ( this ) , b [ e ] ( 0 ) ) ) : ( c . push ( document . scrollingElement ) , ! 1 ) } ) , c . length || this . each ( function ( ) { this === document . documentElement && "smooth" === a ( this ) . css ( "scrollBehavior" ) && ( c = [ this ] ) , c . length || "BODY" !== this . nodeName || ( c = [ this ] ) } ) , "first" === b . el && c . length > 1 && ( c = [ c [ 0 ] ] ) , c } ; a . fn . extend ( { scrollable : function ( a ) { var b = e . call ( this , { dir : a } ) ; return this . pushStack ( b ) } , firstScrollable : function ( a ) { var b = e . call ( this , { el : "first" , dir : a } ) ; return this . pushStack ( b ) } , smoothScroll : function ( b , c ) { if ( b = b || { } , "options" === b ) return c ? this . each ( function ( ) { var b = a ( this ) , d = a . extend ( b . data ( "ssOpts" ) || { } , c ) ; a ( this ) . data ( "ssOpts" , d ) } ) : this . first ( ) . data ( "ssOpts" ) ; var d = a . extend ( { } , a . fn . smoothScroll . defaults , b ) , e = function ( b ) { var c = function ( a ) { return a . replace ( /(:|\.|\/)/g , "\\$1" ) } , e = this , f = a ( this ) , g = a . extend ( { } , d , f . data ( "ssOpts" ) || { } ) , h = d . exclude , i = g . excludeWithin , j = 0 , k = 0 , l = ! 0 , m = { } , n = a . smoothScroll . filterPath ( location . pathname ) , o = a . smoothScroll . filterPath ( e . pathname ) , p = location . hostname === e . hostname || ! e . hostname , q = g . scrollTarget || o === n , r = c ( e . hash ) ; if ( r && ! a ( r ) . length && ( l = ! 1 ) , g . scrollTarget || p && q && r ) { for ( ; l && j < h . length ; ) f . is ( c ( h [ j ++ ] ) ) && ( l = ! 1 ) ; for ( ; l && k < i . length ; ) f . closest ( i [ k ++ ] ) . length && ( l = ! 1 ) } else l = ! 1 ; l && ( g . preventDefault && b . preventDefault ( ) , a . extend ( m , g , { scrollTarget : g . scrollTarget || r , link : e } ) , a
break ; case "select" : c . $input . val ( c . selected || "" ) } c . $menu && h . update . call ( a , c , n ) } ) } , layer : function ( t , n ) { var a = t . $layer = e ( '<div id="context-menu-layer" style="position:fixed; z-index:' + n + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>' ) . css ( { height : i . height ( ) , width : i . width ( ) , display : "block" } ) . data ( "contextMenuRoot" , t ) . insertBefore ( this ) . on ( "contextmenu" , f . abortevent ) . on ( "mousedown" , f . layerClick ) ; return void 0 === document . body . style . maxWidth && a . css ( { position : "absolute" , height : e ( document ) . height ( ) } ) , a } } ; e . fn . contextMenu = function ( t ) { var n = this , a = t ; if ( this . length > 0 ) if ( void 0 === t ) this . first ( ) . trigger ( "contextmenu" ) ; else if ( void 0 !== t . x && void 0 !== t . y ) this . first ( ) . trigger ( e . Event ( "contextmenu" , { pageX : t . x , pageY : t . y , mouseButton : t . button } ) ) ; else if ( "hide" === t ) { var o = this . first ( ) . data ( "contextMenu" ) ? this . first ( ) . data ( "contextMenu" ) . $menu : null ; o && o . trigger ( "contextmenu:hide" ) } else "destroy" === t ? e . contextMenu ( "destroy" , { context : this } ) : e . isPlainObject ( t ) ? ( t . context = this , e . contextMenu ( "create" , t ) ) : t ? this . removeClass ( "context-menu-disabled" ) : t || this . addClass ( "context-menu-disabled" ) ; else e . each ( l , function ( ) { this . selector === n . selector && ( a . data = this , e . extend ( a . data , { trigger : "demand" } ) ) } ) , f . contextmenu . call ( a . target , a ) ; return this } , e . contextMenu = function ( t , n ) { "string" != typeof t && ( n = t , t = "create" ) , "string" == typeof n ? n = { selector : n } : void 0 === n && ( n = { } ) ; var a = e . extend ( ! 0 , { } , d , n || { } ) , o = e ( document ) , i = o , u = ! 1 ; switch ( a . context && a . context . length ? ( i = e ( a . context ) . first ( ) , a . context = i . get ( 0 ) , u = ! e ( a . context ) . is ( document ) ) : a . context = document , t ) { case "create" : if ( ! a . selector ) throw new Error ( "No selector specified" ) ; if ( a . selector . match ( /.context-menu-(list|item|input)($|\s)/ ) ) throw new Error ( 'Cannot bind to selector "' + a . selector + '" as it contains a reserved className' ) ; if ( ! a . build && ( ! a . items || e . isEmptyObject ( a . items ) ) ) throw new Error ( "No Items specified" ) ; if ( c ++ , a . ns = ".contextMenu" + c , u || ( r [ a . selector ] = a . ns ) , l [ a . ns ] = a , a . trigger || ( a . trigger = "right" ) , ! s ) { var m = "click" === a . itemClickEvent ? "click.contextMenu" : "mouseup.contextMenu" , p = { "contextmenu:focus.contextMenu" : f . focusItem , "contextmenu:blur.contextMenu" : f . blurItem , "contextmenu.contextMenu" : f . abortevent , "mouseenter.contextMenu" : f . itemMouseenter , "mouseleave.contextMenu" : f . itemMouseleave } ; p [ m ] = f . itemClick , o . on ( { "contextmenu:hide.contextMenu" : f . hideMenu , "prevcommand.contextMenu" : f . prevItem , "nextcommand.contextMenu" : f . nextItem , "contextmenu.contextMenu" : f . abortevent , "mouseenter.contextMenu" : f . menuMouseenter , "mouseleave.contextMenu" : f . menuMouseleave } , ".context-menu-list" ) . on ( "mouseup.contextMenu" , ".context-menu-input" , f . inputClick ) . on ( p , ".context-menu-item" ) , s = ! 0 } switch ( i . on ( "contextmenu" + a . ns , a . selector , a , f . contextmenu ) , u && i . on ( "remove" + a . ns , function ( ) { e ( this ) . contextMenu ( "destroy" ) } ) , a . trigger ) { case "hover" : i . on ( "mouseenter" + a . ns , a . selector , a , f . mouseenter ) . on ( "mouseleave" + a . ns , a . selector , a , f . mouseleave ) ; break ; case "left" : i . on ( "click" + a . ns , a . selector , a , f . click ) } a . build || h . create ( a ) ; break ; case "destroy" : var x ; if ( u ) { var v = a . context ; e . each ( l , function ( t , n ) { if ( ! e ( v ) . is ( n . selector ) ) return ! 0 ; x = e ( ".context-menu-list" ) . filter ( ":visible" ) , x . length && x . data ( ) . contextMenuRoot . $trigger . is ( e ( n . context ) . find ( n . selector ) ) && x . trigger ( "contextmenu:hide" , { force : ! 0 } ) ; try { l [ n . ns ] . $menu && l [ n . ns ] . $menu . remove ( ) , delete l [ n . ns ] } catch ( a ) { l [ n . ns ] = null } return e ( n . context ) . off ( n . ns ) , ! 0 } ) } else if ( a . selector ) { if ( r [ a . selector ] ) { x = e ( ".context-menu-list" ) . filter ( ":visible" ) , x . length && x . data ( ) . contextMenuRoot . $trigger . is ( a . selector ) && x . trigger ( "contextmenu:hide" , { force : ! 0 } ) ; try { l [ r [ a . selector ] ] . $menu && l [ r [ a . selector ] ] . $menu . remove ( ) , delete l [ r [ a . selector ] ] } catch ( g ) { l [ r [ a . selector ] ] = null } o . off ( r [ a . selector ] ) } } else o . off ( ".contextMenu .contextMenuAutoHide" ) , e . each ( l , function ( t , n ) { e ( n . context ) . off ( n . ns ) } ) , r = { } , l = { } , c = 0 , s = ! 1 , e ( "#context-menu-layer, .context-menu-list" ) . remove ( ) ; break ; case "html5" : ( ! e . support . htmlCommand && ! e . support . htmlMenuitem || "boolean" == typeof n && n ) && e ( 'menu[type="context"]' ) . each ( function ( ) { this . id && e . contextMenu ( { selector : "[contextmenu=" + this . id + "]" , items : e . contextMenu . fromMenu ( this ) } ) } ) . css ( "display" , " no
} ( function ( e ) { "use strict" ; function t ( e ) { var t = e . getWrapperElement ( ) ; e . state . fullScreenRestore = { scrollTop : window . pageYOffset , scrollLeft : window . pageXOffset , width : t . style . width , height : t . style . height } , t . style . width = "" , t . style . height = "auto" , t . className += " CodeMirror-fullscreen" , document . documentElement . style . overflow = "hidden" , e . refresh ( ) } function n ( e ) { var t = e . getWrapperElement ( ) ; t . className = t . className . replace ( /\s*CodeMirror-fullscreen\b/ , "" ) , document . documentElement . style . overflow = "" ; var n = e . state . fullScreenRestore ; t . style . width = n . width , t . style . height = n . height , window . scrollTo ( n . scrollLeft , n . scrollTop ) , e . refresh ( ) } e . defineOption ( "fullScreen" , ! 1 , function ( r , i , o ) { o == e . Init && ( o = ! 1 ) , ! o != ! i && ( i ? t ( r ) : n ( r ) ) } ) } ) } , { "../../lib/codemirror" : 10 } ] , 6 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" ] , i ) : i ( CodeMirror ) } ( function ( e ) { function t ( e ) { e . state . placeholder && ( e . state . placeholder . parentNode . removeChild ( e . state . placeholder ) , e . state . placeholder = null ) } function n ( e ) { t ( e ) ; var n = e . state . placeholder = document . createElement ( "pre" ) ; n . style . cssText = "height: 0; overflow: visible" , n . className = "CodeMirror-placeholder" ; var r = e . getOption ( "placeholder" ) ; "string" == typeof r && ( r = document . createTextNode ( r ) ) , n . appendChild ( r ) , e . display . lineSpace . insertBefore ( n , e . display . lineSpace . firstChild ) } function r ( e ) { o ( e ) && n ( e ) } function i ( e ) { var r = e . getWrapperElement ( ) , i = o ( e ) ; r . className = r . className . replace ( " CodeMirror-empty" , "" ) + ( i ? " CodeMirror-empty" : "" ) , i ? n ( e ) : t ( e ) } function o ( e ) { return 1 === e . lineCount ( ) && "" === e . getLine ( 0 ) } e . defineOption ( "placeholder" , "" , function ( n , o , a ) { var l = a && a != e . Init ; if ( o && ! l ) n . on ( "blur" , r ) , n . on ( "change" , i ) , n . on ( "swapDoc" , i ) , i ( n ) ; else if ( ! o && l ) { n . off ( "blur" , r ) , n . off ( "change" , i ) , n . off ( "swapDoc" , i ) , t ( n ) ; var s = n . getWrapperElement ( ) ; s . className = s . className . replace ( " CodeMirror-empty" , "" ) } o && ! n . hasFocus ( ) && r ( n ) } ) } ) } , { "../../lib/codemirror" : 10 } ] , 7 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; var t = /^(\s*)(>[> ]*|[*+-]\s|(\d+)([.)]))(\s*)/ , n = /^(\s*)(>[> ]*|[*+-]|(\d+)[.)])(\s*)$/ , r = /[*+-]\s/ ; e . commands . newlineAndIndentContinueMarkdownList = function ( i ) { if ( i . getOption ( "disableInput" ) ) return e . Pass ; for ( var o = i . listSelections ( ) , a = [ ] , l = 0 ; l < o . length ; l ++ ) { var s = o [ l ] . head , c = i . getStateAfter ( s . line ) , u = c . list !== ! 1 , f = 0 !== c . quote , h = i . getLine ( s . line ) , d = t . exec ( h ) ; if ( ! o [ l ] . empty ( ) || ! u && ! f || ! d ) return void i . execCommand ( "newlineAndIndent" ) ; if ( n . test ( h ) ) i . replaceRange ( "" , { line : s . line , ch : 0 } , { line : s . line , ch : s . ch + 1 } ) , a [ l ] = "\n" ; else { var p = d [ 1 ] , m = d [ 5 ] , g = r . test ( d [ 2 ] ) || d [ 2 ] . indexOf ( ">" ) >= 0 ? d [ 2 ] : parseInt ( d [ 3 ] , 10 ) + 1 + d [ 4 ] ; a [ l ] = "\n" + p + g + m } } i . replaceSelections ( a ) } } ) } , { "../../lib/codemirror" : 10 } ] , 8 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; e . overlayMode = function ( t , n , r ) { return { startState : function ( ) { return { base : e . startState ( t ) , overlay : e . startState ( n ) , basePos : 0 , baseCur : null , overlayPos : 0 , overlayCur : null , streamSeen : null } } , copyState : function ( r ) { return { base : e . copyState ( t , r . base ) , overlay : e . copyState ( n , r . overlay ) , basePos : r . basePos , baseCur : null , overlayPos : r . overlayPos , overlayCur : null } } , token : function ( e , i ) { return ( e != i . streamSeen || Math . min ( i . basePos , i . overlayPos ) < e . start ) && ( i . streamSeen = e , i . basePos = i . overlayPos = e . start ) , e . start == i . basePos && ( i . baseCur = t . token ( e , i . base ) , i . basePos = e . pos ) , e . start == i . overlayPos && ( e . pos = e . start , i . overlayCur = n . token ( e , i . overlay ) , i . overlayPos = e . pos ) , e . pos = Math . min ( i . basePos , i . overlayPos ) , null == i . overlayCur ? i . baseCur : null != i . baseCur && i . overlay . combineTokens || r && null == i . overlay . combineTokens ? i . baseCur + " " + i . overlayCur : i . overlayCur } , indent : t . indent && function ( e , n ) { return t . indent ( e . base , n ) } , electricChars : t . electricChars , innerMode : function ( e ) { return { state : e . base , mode : t } } , blankLine : function ( e ) { t . blankLine && t . blankLine ( e . base ) , n . blankLine && n . blankLine ( e . overlay ) } } } } ) } , { " . . / . . / l
i . style . top = r . top + "px" , i . style . height = Math . max ( 0 , r . bottom - r . top ) * e . options . cursorHeight + "px" , r . other ) { var o = n . appendChild ( ji ( "div" , " " , "CodeMirror-cursor CodeMirror-secondarycursor" ) ) ; o . style . display = "" , o . style . left = r . other . left + "px" , o . style . top = r . other . top + "px" , o . style . height = . 85 * ( r . other . bottom - r . other . top ) + "px" } } function We ( e , t , n ) { function r ( e , t , n , r ) { 0 > t && ( t = 0 ) , t = Math . round ( t ) , r = Math . round ( r ) , l . appendChild ( ji ( "div" , null , "CodeMirror-selected" , "position: absolute; left: " + e + "px; top: " + t + "px; width: " + ( null == n ? u - e : n ) + "px; height: " + ( r - t ) + "px" ) ) } function i ( t , n , i ) { function o ( n , r ) { return ht ( e , Bo ( t , n ) , "div" , f , r ) } var l , s , f = Zr ( a , t ) , h = f . text . length ; return eo ( ii ( f ) , n || 0 , null == i ? h : i , function ( e , t , a ) { var f , d , p , m = o ( e , "left" ) ; if ( e == t ) f = m , d = p = m . left ; else { if ( f = o ( t - 1 , "right" ) , "rtl" == a ) { var g = m ; m = f , f = g } d = m . left , p = f . right } null == n && 0 == e && ( d = c ) , f . top - m . top > 3 && ( r ( d , m . top , null , m . bottom ) , d = c , m . bottom < f . top && r ( d , m . bottom , null , f . top ) ) , null == i && t == h && ( p = u ) , ( ! l || m . top < l . top || m . top == l . top && m . left < l . left ) && ( l = m ) , ( ! s || f . bottom > s . bottom || f . bottom == s . bottom && f . right > s . right ) && ( s = f ) , c + 1 > d && ( d = c ) , r ( d , f . top , p - d , f . bottom ) } ) , { start : l , end : s } } var o = e . display , a = e . doc , l = document . createDocumentFragment ( ) , s = Ge ( e . display ) , c = s . left , u = Math . max ( o . sizerWidth , $e ( e ) - o . sizer . offsetLeft ) - s . right , f = t . from ( ) , h = t . to ( ) ; if ( f . line == h . line ) i ( f . line , f . ch , h . ch ) ; else { var d = Zr ( a , f . line ) , p = Zr ( a , h . line ) , m = yr ( d ) == yr ( p ) , g = i ( f . line , f . ch , m ? d . text . length + 1 : null ) . end , v = i ( h . line , m ? 0 : null , h . ch ) . start ; m && ( g . top < v . top - 2 ? ( r ( g . right , g . top , null , g . bottom ) , r ( c , v . top , v . left , v . bottom ) ) : r ( g . right , g . top , v . left - g . right , g . bottom ) ) , g . bottom < v . top && r ( c , g . bottom , null , v . top ) } n . appendChild ( l ) } function Be ( e ) { if ( e . state . focused ) { var t = e . display ; clearInterval ( t . blinker ) ; var n = ! 0 ; t . cursorDiv . style . visibility = "" , e . options . cursorBlinkRate > 0 ? t . blinker = setInterval ( function ( ) { t . cursorDiv . style . visibility = ( n = ! n ) ? "" : "hidden" } , e . options . cursorBlinkRate ) : e . options . cursorBlinkRate < 0 && ( t . cursorDiv . style . visibility = "hidden" ) } } function _e ( e , t ) { e . doc . mode . startState && e . doc . frontier < e . display . viewTo && e . state . highlight . set ( t , Bi ( Fe , e ) ) } function Fe ( e ) { var t = e . doc ; if ( t . frontier < t . first && ( t . frontier = t . first ) , ! ( t . frontier >= e . display . viewTo ) ) { var n = + new Date + e . options . workTime , r = sa ( t . mode , je ( e , t . frontier ) ) , i = [ ] ; t . iter ( t . frontier , Math . min ( t . first + t . size , e . display . viewTo + 500 ) , function ( o ) { if ( t . frontier >= e . display . viewFrom ) { var a = o . styles , l = o . text . length > e . options . maxHighlightLength , s = Rr ( e , o , l ? sa ( t . mode , r ) : r , ! 0 ) ; o . styles = s . styles ; var c = o . styleClasses , u = s . classes ; u ? o . styleClasses = u : c && ( o . styleClasses = null ) ; for ( var f = ! a || a . length != o . styles . length || c != u && ( ! c || ! u || c . bgClass != u . bgClass || c . textClass != u . textClass ) , h = 0 ; ! f && h < a . length ; ++ h ) f = a [ h ] != o . styles [ h ] ; f && i . push ( t . frontier ) , o . stateAfter = l ? r : sa ( t . mode , r ) } else o . text . length <= e . options . maxHighlightLength && Hr ( e , o . text , r ) , o . stateAfter = t . frontier % 5 == 0 ? sa ( t . mode , r ) : null ; return ++ t . frontier , + new Date > n ? ( _e ( e , e . options . workDelay ) , ! 0 ) : void 0 } ) , i . length && At ( e , function ( ) { for ( var t = 0 ; t < i . length ; t ++ ) Ht ( e , i [ t ] , "text" ) } ) } } function ze ( e , t , n ) { for ( var r , i , o = e . doc , a = n ? - 1 : t - ( e . doc . mode . innerMode ? 1e3 : 100 ) , l = t ; l > a ; -- l ) { if ( l <= o . first ) return o . first ; var s = Zr ( o , l - 1 ) ; if ( s . stateAfter && ( ! n || l <= o . frontier ) ) return l ; var c = Fa ( s . text , null , e . options . tabSize ) ; ( null == i || r > c ) && ( i = l - 1 , r = c ) } return i } function je ( e , t , n ) { var r = e . doc , i = e . display ; if ( ! r . mode . startState ) return ! 0 ; var o = ze ( e , t , n ) , a = o > r . first && Zr ( r , o - 1 ) . stateAfter ; return a = a ? sa ( r . mode , a ) : ca ( r . mode ) , r . iter ( o , t , function ( n ) { Hr ( e , n . text , a ) ; var l = o == t - 1 || o % 5 == 0 || o >= i . viewFrom && o < i . viewTo ; n . stateAfter = l ? sa ( r . mode , a ) : null , ++ o } ) , n && ( r . frontier = o ) , a } function Ue ( e ) { return e . lineSpace . offsetTop } function qe ( e ) { return e . mover . offsetHeight - e . lineSpace . offsetHeight } function Ge ( e ) { if ( e . cachedPaddingH ) return e . cachedPaddingH ; var t = qi ( e . measure , ji ( "pre" , "x" ) ) , n = window . getComputedStyle ? window . getComputedStyle ( t ) : t . currentStyle , r = { left : parseInt ( n . paddingLeft ) , right : parseInt ( n . paddingRight ) } ; return isNaN ( r . left ) || isNaN ( r . right ) || ( e . cachedPaddingH = r ) , r } function Ye ( e ) { return Da - e . display . nativeBarWidth } function $e ( e ) { return e . display . scroller . clientWidth - Ye ( e ) - e . display . barWidth } function Ve ( e ) {
n . push ( new fe ( wn ( i . anchor , t ) , wn ( i . head , t ) ) ) } return he ( n , e . sel . primIndex ) } function Sn ( e , t , n ) { return e . line == t . line ? Bo ( n . line , e . ch - t . ch + n . ch ) : Bo ( n . line + ( e . line - t . line ) , e . ch ) } function Cn ( e , t , n ) { for ( var r = [ ] , i = Bo ( e . first , 0 ) , o = i , a = 0 ; a < t . length ; a ++ ) { var l = t [ a ] , s = Sn ( l . from , i , o ) , c = Sn ( Qo ( l ) , i , o ) ; if ( i = l . to , o = c , "around" == n ) { var u = e . sel . ranges [ a ] , f = _o ( u . head , u . anchor ) < 0 ; r [ a ] = new fe ( f ? c : s , f ? s : c ) } else r [ a ] = new fe ( s , s ) } return new ue ( r , e . sel . primIndex ) } function Ln ( e , t , n ) { var r = { canceled : ! 1 , from : t . from , to : t . to , text : t . text , origin : t . origin , cancel : function ( ) { this . canceled = ! 0 } } ; return n && ( r . update = function ( t , n , r , i ) { t && ( this . from = me ( e , t ) ) , n && ( this . to = me ( e , n ) ) , r && ( this . text = r ) , void 0 !== i && ( this . origin = i ) } ) , Pa ( e , "beforeChange" , e , r ) , e . cm && Pa ( e . cm , "beforeChange" , e . cm , r ) , r . canceled ? null : { from : r . from , to : r . to , text : r . text , origin : r . origin } } function Tn ( e , t , n ) { if ( e . cm ) { if ( ! e . cm . curOp ) return Et ( e . cm , Tn ) ( e , t , n ) ; if ( e . cm . state . suppressEdits ) return } if ( ! ( Ni ( e , "beforeChange" ) || e . cm && Ni ( e . cm , "beforeChange" ) ) || ( t = Ln ( e , t , ! 0 ) ) ) { var r = Ho && ! n && sr ( e , t . from , t . to ) ; if ( r ) for ( var i = r . length - 1 ; i >= 0 ; -- i ) Mn ( e , { from : r [ i ] . from , to : r [ i ] . to , text : i ? [ "" ] : t . text } ) ; else Mn ( e , t ) } } function Mn ( e , t ) { if ( 1 != t . text . length || "" != t . text [ 0 ] || 0 != _o ( t . from , t . to ) ) { var n = kn ( e , t ) ; ci ( e , t , n , e . cm ? e . cm . curOp . id : NaN ) , En ( e , t , n , or ( e , t ) ) ; var r = [ ] ; Kr ( e , function ( e , n ) { n || - 1 != Pi ( r , e . history ) || ( xi ( e . history , t ) , r . push ( e . history ) ) , En ( e , t , null , or ( e , t ) ) } ) } } function Nn ( e , t , n ) { if ( ! e . cm || ! e . cm . state . suppressEdits ) { for ( var r , i = e . history , o = e . sel , a = "undo" == t ? i . done : i . undone , l = "undo" == t ? i . undone : i . done , s = 0 ; s < a . length && ( r = a [ s ] , n ? ! r . ranges || r . equals ( e . sel ) : r . ranges ) ; s ++ ) ; if ( s != a . length ) { for ( i . lastOrigin = i . lastSelOrigin = null ; r = a . pop ( ) , r . ranges ; ) { if ( hi ( r , l ) , n && ! r . equals ( e . sel ) ) return void Te ( e , r , { clearRedo : ! 1 } ) ; o = r } var c = [ ] ; hi ( o , l ) , l . push ( { changes : c , generation : i . generation } ) , i . generation = r . generation || ++ i . maxGeneration ; for ( var u = Ni ( e , "beforeChange" ) || e . cm && Ni ( e . cm , "beforeChange" ) , s = r . changes . length - 1 ; s >= 0 ; -- s ) { var f = r . changes [ s ] ; if ( f . origin = t , u && ! Ln ( e , f , ! 1 ) ) return void ( a . length = 0 ) ; c . push ( ai ( e , f ) ) ; var h = s ? kn ( e , f ) : Ii ( a ) ; En ( e , f , h , lr ( e , f ) ) , ! s && e . cm && e . cm . scrollIntoView ( { from : f . from , to : Qo ( f ) } ) ; var d = [ ] ; Kr ( e , function ( e , t ) { t || - 1 != Pi ( d , e . history ) || ( xi ( e . history , f ) , d . push ( e . history ) ) , En ( e , f , null , lr ( e , f ) ) } ) } } } } function An ( e , t ) { if ( 0 != t && ( e . first += t , e . sel = new ue ( Ri ( e . sel . ranges , function ( e ) { return new fe ( Bo ( e . anchor . line + t , e . anchor . ch ) , Bo ( e . head . line + t , e . head . ch ) ) } ) , e . sel . primIndex ) , e . cm ) ) { Dt ( e . cm , e . first , e . first - t , t ) ; for ( var n = e . cm . display , r = n . viewFrom ; r < n . viewTo ; r ++ ) Ht ( e . cm , r , "gutter" ) } } function En ( e , t , n , r ) { if ( e . cm && ! e . cm . curOp ) return Et ( e . cm , En ) ( e , t , n , r ) ; if ( t . to . line < e . first ) return void An ( e , t . text . length - 1 - ( t . to . line - t . from . line ) ) ; if ( ! ( t . from . line > e . lastLine ( ) ) ) { if ( t . from . line < e . first ) { var i = t . text . length - 1 - ( e . first - t . from . line ) ; An ( e , i ) , t = { from : Bo ( e . first , 0 ) , to : Bo ( t . to . line + i , t . to . ch ) , text : [ Ii ( t . text ) ] , origin : t . origin } } var o = e . lastLine ( ) ; t . to . line > o && ( t = { from : t . from , to : Bo ( o , Zr ( e , o ) . text . length ) , text : [ t . text [ 0 ] ] , origin : t . origin } ) , t . removed = Jr ( e , t . from , t . to ) , n || ( n = kn ( e , t ) ) , e . cm ? On ( e . cm , t , r ) : Yr ( e , t , r ) , Me ( e , n , Wa ) } } function On ( e , t , n ) { var r = e . doc , i = e . display , a = t . from , l = t . to , s = ! 1 , c = a . line ; e . options . lineWrapping || ( c = ti ( yr ( Zr ( r , a . line ) ) ) , r . iter ( c , l . line + 1 , function ( e ) { return e == i . maxLine ? ( s = ! 0 , ! 0 ) : void 0 } ) ) , r . sel . contains ( t . from , t . to ) > - 1 && Mi ( e ) , Yr ( r , t , n , o ( e ) ) , e . options . lineWrapping || ( r . iter ( c , a . line + t . text . length , function ( e ) { var t = f ( e ) ; t > i . maxLineLength && ( i . maxLine = e , i . maxLineLength = t , i . maxLineChanged = ! 0 , s = ! 1 ) } ) , s && ( e . curOp . updateMaxLine = ! 0 ) ) , r . frontier = Math . min ( r . frontier , a . line ) , _e ( e , 400 ) ; var u = t . text . length - ( l . line - a . line ) - 1 ; t . full ? Dt ( e ) : a . line != l . line || 1 != t . text . length || Gr ( e . doc , t ) ? Dt ( e , a . line , l . line + 1 , u ) : Ht ( e , a . line , "text" ) ; var h = Ni ( e , "changes" ) , d = Ni ( e , "change" ) ; if ( d || h ) { var p = { from : a , to : l , text : t . text , removed : t . removed , origin : t . origin } ; d && Ci ( e , "change" , e , p ) , h && ( e . curOp . changeObjs || ( e . curOp . changeObjs = [ ] ) ) . push ( p ) } e . display . selForContextMenu = null } function In ( e , t , n , r , i ) { if ( r || ( r = n ) , _o ( r , n ) < 0 ) { var o = r ; r = n , n = o } "string" == typeof t && ( t = e . splitLines ( t ) ) , Tn ( e , { from : n , to : r , text : t , origin : i } ) } function Pn ( e , t ) { if ( ! Ti ( e , "scrollCursorIntoView" ) ) { var n = e .
return ! 0 } function zi ( e ) { return e . charCodeAt ( 0 ) >= 768 && $a . test ( e ) } function ji ( e , t , n , r ) { var i = document . createElement ( e ) ; if ( n && ( i . className = n ) , r && ( i . style . cssText = r ) , "string" == typeof t ) i . appendChild ( document . createTextNode ( t ) ) ; else if ( t ) for ( var o = 0 ; o < t . length ; ++ o ) i . appendChild ( t [ o ] ) ; return i } function Ui ( e ) { for ( var t = e . childNodes . length ; t > 0 ; -- t ) e . removeChild ( e . firstChild ) ; return e } function qi ( e , t ) { return Ui ( e ) . appendChild ( t ) } function Gi ( ) { for ( var e = document . activeElement ; e && e . root && e . root . activeElement ; ) e = e . root . activeElement ; return e } function Yi ( e ) { return new RegExp ( "(^|\\s)" + e + "(?:$|\\s)\\s*" ) } function $i ( e , t ) { for ( var n = e . split ( " " ) , r = 0 ; r < n . length ; r ++ ) n [ r ] && ! Yi ( n [ r ] ) . test ( t ) && ( t += " " + n [ r ] ) ; return t } function Vi ( e ) { if ( document . body . getElementsByClassName ) for ( var t = document . body . getElementsByClassName ( "CodeMirror" ) , n = 0 ; n < t . length ; n ++ ) { var r = t [ n ] . CodeMirror ; r && e ( r ) } } function Ki ( ) { Qa || ( Xi ( ) , Qa = ! 0 ) } function Xi ( ) { var e ; Ea ( window , "resize" , function ( ) { null == e && ( e = setTimeout ( function ( ) { e = null , Vi ( qt ) } , 100 ) ) } ) , Ea ( window , "blur" , function ( ) { Vi ( yn ) } ) } function Zi ( e ) { if ( null == Ka ) { var t = ji ( "span" , " " ) ; qi ( e , ji ( "span" , [ t , document . createTextNode ( "x" ) ] ) ) , 0 != e . firstChild . offsetHeight && ( Ka = t . offsetWidth <= 1 && t . offsetHeight > 2 && ! ( xo && 8 > bo ) ) } var n = Ka ? ji ( "span" , " " ) : ji ( "span" , " " , null , "display: inline-block; width: 1px; margin-right: -1px" ) ; return n . setAttribute ( "cm-text" , "" ) , n } function Ji ( e ) { if ( null != Xa ) return Xa ; var t = qi ( e , document . createTextNode ( "AخA" ) ) , n = qa ( t , 0 , 1 ) . getBoundingClientRect ( ) ; if ( ! n || n . left == n . right ) return ! 1 ; var r = qa ( t , 1 , 2 ) . getBoundingClientRect ( ) ; return Xa = r . right - n . right < 3 } function Qi ( e ) { if ( null != il ) return il ; var t = qi ( e , ji ( "span" , "x" ) ) , n = t . getBoundingClientRect ( ) , r = qa ( t , 0 , 1 ) . getBoundingClientRect ( ) ; return il = Math . abs ( n . left - r . left ) > 1 } function eo ( e , t , n , r ) { if ( ! e ) return r ( t , n , "ltr" ) ; for ( var i = ! 1 , o = 0 ; o < e . length ; ++ o ) { var a = e [ o ] ; ( a . from < n && a . to > t || t == n && a . to == t ) && ( r ( Math . max ( a . from , t ) , Math . min ( a . to , n ) , 1 == a . level ? "rtl" : "ltr" ) , i = ! 0 ) } i || r ( t , n , "ltr" ) } function to ( e ) { return e . level % 2 ? e . to : e . from } function no ( e ) { return e . level % 2 ? e . from : e . to } function ro ( e ) { var t = ii ( e ) ; return t ? to ( t [ 0 ] ) : 0 } function io ( e ) { var t = ii ( e ) ; return t ? no ( Ii ( t ) ) : e . text . length } function oo ( e , t ) { var n = Zr ( e . doc , t ) , r = yr ( n ) ; r != n && ( t = ti ( r ) ) ; var i = ii ( r ) , o = i ? i [ 0 ] . level % 2 ? io ( r ) : ro ( r ) : 0 ; return Bo ( t , o ) } function ao ( e , t ) { for ( var n , r = Zr ( e . doc , t ) ; n = gr ( r ) ; ) r = n . find ( 1 , ! 0 ) . line , t = null ; var i = ii ( r ) , o = i ? i [ 0 ] . level % 2 ? ro ( r ) : io ( r ) : r . text . length ; return Bo ( null == t ? ti ( r ) : t , o ) } function lo ( e , t ) { var n = oo ( e , t . line ) , r = Zr ( e . doc , n . line ) , i = ii ( r ) ; if ( ! i || 0 == i [ 0 ] . level ) { var o = Math . max ( 0 , r . text . search ( /\S/ ) ) , a = t . line == n . line && t . ch <= o && t . ch ; return Bo ( n . line , a ? 0 : o ) } return n } function so ( e , t , n ) { var r = e [ 0 ] . level ; return t == r || n != r && n > t } function co ( e , t ) { al = null ; for ( var n , r = 0 ; r < e . length ; ++ r ) { var i = e [ r ] ; if ( i . from < t && i . to > t ) return r ; if ( i . from == t || i . to == t ) { if ( null != n ) return so ( e , i . level , e [ n ] . level ) ? ( i . from != i . to && ( al = n ) , r ) : ( i . from != i . to && ( al = r ) , n ) ; n = r } } return n } function uo ( e , t , n , r ) { if ( ! r ) return t + n ; do t += n ; while ( t > 0 && zi ( e . text . charAt ( t ) ) ) ; return t } function fo ( e , t , n , r ) { var i = ii ( e ) ; if ( ! i ) return ho ( e , t , n , r ) ; for ( var o = co ( i , t ) , a = i [ o ] , l = uo ( e , t , a . level % 2 ? - n : n , r ) ; ; ) { if ( l > a . from && l < a . to ) return l ; if ( l == a . from || l == a . to ) return co ( i , l ) == o ? l : ( a = i [ o += n ] , n > 0 == a . level % 2 ? a . to : a . from ) ; if ( a = i [ o += n ] , ! a ) return null ; l = n > 0 == a . level % 2 ? uo ( e , a . to , - 1 , r ) : uo ( e , a . from , 1 , r ) } } function ho ( e , t , n , r ) { var i = t + n ; if ( r ) for ( ; i > 0 && zi ( e . text . charAt ( i ) ) ; ) i += n ; return 0 > i || i > e . text . length ? null : i } var po = navigator . userAgent , mo = navigator . platform , go = /gecko\/\d/i . test ( po ) , vo = /MSIE \d/ . test ( po ) , yo = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/ . exec ( po ) , xo = vo || yo , bo = xo && ( vo ? document . documentMode || 6 : yo [ 1 ] ) , wo = /WebKit\// . test ( po ) , ko = wo && /Qt\/\d+\.\d+/ . test ( po ) , So = /Chrome\// . test ( po ) , Co = /Opera\// . test ( po ) , Lo = /Apple Computer/ . test ( navigator . vendor ) , To = /Mac OS X 1\d\D([8-9]|\d\d)\D/ . test ( po ) , Mo = /PhantomJS/ . test ( po ) , No = /AppleWebKit/ . test ( po ) && /Mobile\/\w+/ . test ( po ) , Ao = No || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i . test ( po ) , Eo = No || /Mac/ . test ( mo ) , Oo = /\bCrOS\b/ . test ( po ) , Io = /win/i . test ( mo ) , Po = Co && po . match ( /Version\/(\d*\.\d*)/ ) ; Po && ( Po = Number ( Po [ 1 ] ) ) , Po && Po >= 15 && ( Co = ! 1 , wo = ! 0 ) ; v
var n = ia [ t . name ] ; "string" == typeof n && ( n = { name : n } ) , t = Hi ( n , t ) , t . name = n . name } else if ( "string" == typeof t && /^[\w\-]+\/[\w\-]+\+xml$/ . test ( t ) ) return e . resolveMode ( "application/xml" ) ; return "string" == typeof t ? { name : t } : t || { name : "null" } } , e . getMode = function ( t , n ) { var n = e . resolveMode ( n ) , r = ra [ n . name ] ; if ( ! r ) return e . getMode ( t , "text/plain" ) ; var i = r ( t , n ) ; if ( oa . hasOwnProperty ( n . name ) ) { var o = oa [ n . name ] ; for ( var a in o ) o . hasOwnProperty ( a ) && ( i . hasOwnProperty ( a ) && ( i [ "_" + a ] = i [ a ] ) , i [ a ] = o [ a ] ) } if ( i . name = n . name , n . helperType && ( i . helperType = n . helperType ) , n . modeProps ) for ( var a in n . modeProps ) i [ a ] = n . modeProps [ a ] ; return i } , e . defineMode ( "null" , function ( ) { return { token : function ( e ) { e . skipToEnd ( ) } } } ) , e . defineMIME ( "text/plain" , "null" ) ; var oa = e . modeExtensions = { } ; e . extendMode = function ( e , t ) { var n = oa . hasOwnProperty ( e ) ? oa [ e ] : oa [ e ] = { } ; Wi ( t , n ) } , e . defineExtension = function ( t , n ) { e . prototype [ t ] = n } , e . defineDocExtension = function ( e , t ) { Ca . prototype [ e ] = t } , e . defineOption = Gn ; var aa = [ ] ; e . defineInitHook = function ( e ) { aa . push ( e ) } ; var la = e . helpers = { } ; e . registerHelper = function ( t , n , r ) { la . hasOwnProperty ( t ) || ( la [ t ] = e [ t ] = { _global : [ ] } ) , la [ t ] [ n ] = r } , e . registerGlobalHelper = function ( t , n , r , i ) { e . registerHelper ( t , n , i ) , la [ t ] . _global . push ( { pred : r , val : i } ) } ; var sa = e . copyState = function ( e , t ) { if ( t === ! 0 ) return t ; if ( e . copyState ) return e . copyState ( t ) ; var n = { } ; for ( var r in t ) { var i = t [ r ] ; i instanceof Array && ( i = i . concat ( [ ] ) ) , n [ r ] = i } return n } , ca = e . startState = function ( e , t , n ) { return ! e . startState || e . startState ( t , n ) } ; e . innerMode = function ( e , t ) { for ( ; e . innerMode ; ) { var n = e . innerMode ( t ) ; if ( ! n || n . mode == e ) break ; t = n . state , e = n . mode } return n || { mode : e , state : t } } ; var ua = e . commands = { selectAll : function ( e ) { e . setSelection ( Bo ( e . firstLine ( ) , 0 ) , Bo ( e . lastLine ( ) ) , Wa ) } , singleSelection : function ( e ) { e . setSelection ( e . getCursor ( "anchor" ) , e . getCursor ( "head" ) , Wa ) } , killLine : function ( e ) { jn ( e , function ( t ) { if ( t . empty ( ) ) { var n = Zr ( e . doc , t . head . line ) . text . length ; return t . head . ch == n && t . head . line < e . lastLine ( ) ? { from : t . head , to : Bo ( t . head . line + 1 , 0 ) } : { from : t . head , to : Bo ( t . head . line , n ) } } return { from : t . from ( ) , to : t . to ( ) } } ) } , deleteLine : function ( e ) { jn ( e , function ( t ) { return { from : Bo ( t . from ( ) . line , 0 ) , to : me ( e . doc , Bo ( t . to ( ) . line + 1 , 0 ) ) } } ) } , delLineLeft : function ( e ) { jn ( e , function ( e ) { return { from : Bo ( e . from ( ) . line , 0 ) , to : e . from ( ) } } ) } , delWrappedLineLeft : function ( e ) { jn ( e , function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : 0 , top : n } , "div" ) ; return { from : r , to : t . from ( ) } } ) } , delWrappedLineRight : function ( e ) { jn ( e , function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : e . display . lineDiv . offsetWidth + 100 , top : n } , "div" ) ; return { from : t . from ( ) , to : r } } ) } , undo : function ( e ) { e . undo ( ) } , redo : function ( e ) { e . redo ( ) } , undoSelection : function ( e ) { e . undoSelection ( ) } , redoSelection : function ( e ) { e . redoSelection ( ) } , goDocStart : function ( e ) { e . extendSelection ( Bo ( e . firstLine ( ) , 0 ) ) } , goDocEnd : function ( e ) { e . extendSelection ( Bo ( e . lastLine ( ) ) ) } , goLineStart : function ( e ) { e . extendSelectionsBy ( function ( t ) { return oo ( e , t . head . line ) } , { origin : "+move" , bias : 1 } ) } , goLineStartSmart : function ( e ) { e . extendSelectionsBy ( function ( t ) { return lo ( e , t . head ) } , { origin : "+move" , bias : 1 } ) } , goLineEnd : function ( e ) { e . extendSelectionsBy ( function ( t ) { return ao ( e , t . head . line ) } , { origin : "+move" , bias : - 1 } ) } , goLineRight : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 ; return e . coordsChar ( { left : e . display . lineDiv . offsetWidth + 100 , top : n } , "div" ) } , _a ) } , goLineLeft : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 ; return e . coordsChar ( { left : 0 , top : n } , "div" ) } , _a ) } , goLineLeftSmart : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : 0 , top : n } , "div" ) ; return r . ch < e . getLine ( r . line ) . search ( /\S/ ) ? lo ( e , t . head ) : r } , _a ) } , goLineUp : function ( e ) { e . moveV ( - 1 , "line" ) } , goLineDown : function ( e ) { e . moveV ( 1 , "line" ) } , goPageUp : function ( e ) { e . moveV ( - 1 , "page" ) } , goPageDown : function ( e ) { e . moveV ( 1 , "page" ) } , goCharLeft : function ( e ) { e . moveH ( - 1 , "char" ) } , goCharRight : function ( e ) { e . moveH ( 1 , "char" ) } , goColumnLeft : function ( e ) { e . moveH ( - 1 , "column" ) } , goColumnRight : function ( e ) { e . moveH ( 1 , "column" ) } , goWordLeft : function ( e ) { e . moveH ( - 1 , "word" ) } , goGroupRight : function ( e ) { e . moveH ( 1 , " gr
return function ( n ) { if ( ! i . test ( n ) ) return ! 1 ; for ( var r , u = n . length , f = [ ] , h = 0 ; u > h ; ++ h ) f . push ( r = e ( n . charCodeAt ( h ) ) ) ; for ( var h = 0 , d = c ; u > h ; ++ h ) { var r = f [ h ] ; "m" == r ? f [ h ] = d : d = r } for ( var h = 0 , p = c ; u > h ; ++ h ) { var r = f [ h ] ; "1" == r && "r" == p ? f [ h ] = "n" : a . test ( r ) && ( p = r , "r" == r && ( f [ h ] = "R" ) ) } for ( var h = 1 , d = f [ 0 ] ; u - 1 > h ; ++ h ) { var r = f [ h ] ; "+" == r && "1" == d && "1" == f [ h + 1 ] ? f [ h ] = "1" : "," != r || d != f [ h + 1 ] || "1" != d && "n" != d || ( f [ h ] = d ) , d = r } for ( var h = 0 ; u > h ; ++ h ) { var r = f [ h ] ; if ( "," == r ) f [ h ] = "N" ; else if ( "%" == r ) { for ( var m = h + 1 ; u > m && "%" == f [ m ] ; ++ m ) ; for ( var g = h && "!" == f [ h - 1 ] || u > m && "1" == f [ m ] ? "1" : "N" , v = h ; m > v ; ++ v ) f [ v ] = g ; h = m - 1 } } for ( var h = 0 , p = c ; u > h ; ++ h ) { var r = f [ h ] ; "L" == p && "1" == r ? f [ h ] = "L" : a . test ( r ) && ( p = r ) } for ( var h = 0 ; u > h ; ++ h ) if ( o . test ( f [ h ] ) ) { for ( var m = h + 1 ; u > m && o . test ( f [ m ] ) ; ++ m ) ; for ( var y = "L" == ( h ? f [ h - 1 ] : c ) , x = "L" == ( u > m ? f [ m ] : c ) , g = y || x ? "L" : "R" , v = h ; m > v ; ++ v ) f [ v ] = g ; h = m - 1 } for ( var b , w = [ ] , h = 0 ; u > h ; ) if ( l . test ( f [ h ] ) ) { var k = h ; for ( ++ h ; u > h && l . test ( f [ h ] ) ; ++ h ) ; w . push ( new t ( 0 , k , h ) ) } else { var S = h , C = w . length ; for ( ++ h ; u > h && "L" != f [ h ] ; ++ h ) ; for ( var v = S ; h > v ; ) if ( s . test ( f [ v ] ) ) { v > S && w . splice ( C , 0 , new t ( 1 , S , v ) ) ; var L = v ; for ( ++ v ; h > v && s . test ( f [ v ] ) ; ++ v ) ; w . splice ( C , 0 , new t ( 2 , L , v ) ) , S = v } else ++ v ; h > S && w . splice ( C , 0 , new t ( 1 , S , h ) ) } return 1 == w [ 0 ] . level && ( b = n . match ( /^\s+/ ) ) && ( w [ 0 ] . from = b [ 0 ] . length , w . unshift ( new t ( 0 , 0 , b [ 0 ] . length ) ) ) , 1 == Ii ( w ) . level && ( b = n . match ( /\s+$/ ) ) && ( Ii ( w ) . to -= b [ 0 ] . length , w . push ( new t ( 0 , u - b [ 0 ] . length , u ) ) ) , 2 == w [ 0 ] . level && w . unshift ( new t ( 1 , w [ 0 ] . to , w [ 0 ] . to ) ) , w [ 0 ] . level != Ii ( w ) . level && w . push ( new t ( w [ 0 ] . level , u , u ) ) , w } } ( ) ; return e . version = "5.15.2" , e } ) } , { } ] , 11 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) , t ( "../markdown/markdown" ) , t ( "../../addon/mode/overlay" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" , "../markdown/markdown" , "../../addon/mode/overlay" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; var t = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i ; e . defineMode ( "gfm" , function ( n , r ) { function i ( e ) { return e . code = ! 1 , null } var o = 0 , a = { startState : function ( ) { return { code : ! 1 , codeBlock : ! 1 , ateSpace : ! 1 } } , copyState : function ( e ) { return { code : e . code , codeBlock : e . codeBlock , ateSpace : e . ateSpace } } , token : function ( e , n ) { if ( n . combineTokens = null , n . codeBlock ) return e . match ( /^```+/ ) ? ( n . codeBlock = ! 1 , null ) : ( e . skipToEnd ( ) , null ) ; if ( e . sol ( ) && ( n . code = ! 1 ) , e . sol ( ) && e . match ( /^```+/ ) ) return e . skipToEnd ( ) , n . codeBlock = ! 0 , null ; if ( "`" === e . peek ( ) ) { e . next ( ) ; var i = e . pos ; e . eatWhile ( "`" ) ; var a = 1 + e . pos - i ; return n . code ? a === o && ( n . code = ! 1 ) : ( o = a , n . code = ! 0 ) , null } if ( n . code ) return e . next ( ) , null ; if ( e . eatSpace ( ) ) return n . ateSpace = ! 0 , null ; if ( ( e . sol ( ) || n . ateSpace ) && ( n . ateSpace = ! 1 , r . gitHubSpice !== ! 1 ) ) { if ( e . match ( /^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/ ) ) return n . combineTokens = ! 0 , "link" ; if ( e . match ( /^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/ ) ) return n . combineTokens = ! 0 , "link" } return e . match ( t ) && "](" != e . string . slice ( e . start - 2 , e . start ) && ( 0 == e . start || /\W/ . test ( e . string . charAt ( e . start - 1 ) ) ) ? ( n . combineTokens = ! 0 , "link" ) : ( e . next ( ) , null ) } , blankLine : i } , l = { underscoresBreakWords : ! 1 , taskLists : ! 0 , fencedCodeBlocks : "```" , strikethrough : ! 0 }
if ( S . alignCDATA && /<!\[CDATA\[/ . test ( n ) ) return 0 ; var l = n && /^<(\/)?([\w_:\.-]*)/ . exec ( n ) ; if ( l && l [ 1 ] ) for ( ; i ; ) { if ( i . tagName == l [ 2 ] ) { i = i . prev ; break } if ( ! S . implicitlyClosed . hasOwnProperty ( i . tagName ) ) break ; i = i . prev } else if ( l ) for ( ; i ; ) { var s = S . contextGrabbers [ i . tagName ] ; if ( ! s || ! s . hasOwnProperty ( l [ 2 ] ) ) break ; i = i . prev } for ( ; i && i . prev && ! i . startOfLine ; ) i = i . prev ; return i ? i . indent + k : t . baseIndent || 0 } , electricInput : /<\/[\s\w:]+>$/ , blockCommentStart : "<!--" , blockCommentEnd : "-->" , configuration : S . htmlMode ? "html" : "xml" , helperType : S . htmlMode ? "html" : "xml" , skipAttribute : function ( e ) { e . state == b && ( e . state = y ) } } } ) , e . defineMIME ( "text/xml" , "xml" ) , e . defineMIME ( "application/xml" , "xml" ) , e . mimeModes . hasOwnProperty ( "text/html" ) || e . defineMIME ( "text/html" , { name : "xml" , htmlMode : ! 0 } ) } ) } , { "../../lib/codemirror" : 10 } ] , 15 : [ function ( e , t , n ) { n . read = function ( e , t , n , r , i ) { var o , a , l = 8 * i - r - 1 , s = ( 1 << l ) - 1 , c = s >> 1 , u = - 7 , f = n ? i - 1 : 0 , h = n ? - 1 : 1 , d = e [ t + f ] ; for ( f += h , o = d & ( 1 << - u ) - 1 , d >>= - u , u += l ; u > 0 ; o = 256 * o + e [ t + f ] , f += h , u -= 8 ) ; for ( a = o & ( 1 << - u ) - 1 , o >>= - u , u += r ; u > 0 ; a = 256 * a + e [ t + f ] , f += h , u -= 8 ) ; if ( 0 === o ) o = 1 - c ; else { if ( o === s ) return a ? NaN : ( d ? - 1 : 1 ) * ( 1 / 0 ) ; a += Math . pow ( 2 , r ) , o -= c } return ( d ? - 1 : 1 ) * a * Math . pow ( 2 , o - r ) } , n . write = function ( e , t , n , r , i , o ) { var a , l , s , c = 8 * o - i - 1 , u = ( 1 << c ) - 1 , f = u >> 1 , h = 23 === i ? Math . pow ( 2 , - 24 ) - Math . pow ( 2 , - 77 ) : 0 , d = r ? 0 : o - 1 , p = r ? 1 : - 1 , m = 0 > t || 0 === t && 0 > 1 / t ? 1 : 0 ; for ( t = Math . abs ( t ) , isNaN ( t ) || t === 1 / 0 ? ( l = isNaN ( t ) ? 1 : 0 , a = u ) : ( a = Math . floor ( Math . log ( t ) / Math . LN2 ) , t * ( s = Math . pow ( 2 , - a ) ) < 1 && ( a -- , s *= 2 ) , t += a + f >= 1 ? h / s : h * Math . pow ( 2 , 1 - f ) , t * s >= 2 && ( a ++ , s /= 2 ) , a + f >= u ? ( l = 0 , a = u ) : a + f >= 1 ? ( l = ( t * s - 1 ) * Math . pow ( 2 , i ) , a += f ) : ( l = t * Math . pow ( 2 , f - 1 ) * Math . pow ( 2 , i ) , a = 0 ) ) ; i >= 8 ; e [ n + d ] = 255 & l , d += p , l /= 256 , i -= 8 ) ; for ( a = a << i | l , c += i ; c > 0 ; e [ n + d ] = 255 & a , d += p , a /= 256 , c -= 8 ) ; e [ n + d - p ] |= 128 * m } } , { } ] , 16 : [ function ( e , t , n ) { var r = { } . toString ; t . exports = Array . isArray || function ( e ) { return "[object Array]" == r . call ( e ) } } , { } ] , 17 : [ function ( t , n , r ) { ( function ( t ) { ( function ( ) { function t ( e ) { this . tokens = [ ] , this . tokens . links = { } , this . options = e || h . defaults , this . rules = d . normal , this . options . gfm && ( this . options . tables ? this . rules = d . tables : this . rules = d . gfm ) } function i ( e , t ) { if ( this . options = t || h . defaults , this . links = e , this . rules = p . normal , this . renderer = this . options . renderer || new o , this . renderer . options = this . options , ! this . links ) throw new Error ( "Tokens array requires a `links` property." ) ; this . options . gfm ? this . options . breaks ? this . rules = p . breaks : this . rules = p . gfm : this . options . pedantic && ( this . rules = p . pedantic ) } function o ( e ) { this . options = e || { } } function a ( e ) { this . tokens = [ ] , this . token = null , this . options = e || h . defaults , this . options . renderer = this . options . renderer || new o , this . renderer = this . options . renderer , this . renderer . options = this . options } function l ( e , t ) { return e . replace ( t ? /&/g : /&(?!#?\w+;)/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /"/g , """ ) . replace ( /'/g , "'" ) } function s ( e ) { return e . replace ( /&([#\w]+);/g , function ( e , t ) { return t = t . toLowerCase ( ) , "colon" === t ? ":" : "#" === t . charAt ( 0 ) ? "x" === t . charAt ( 1 ) ? String . fromCharCode ( parseInt ( t . substring ( 2 ) , 16 ) ) : String . fromCharCode ( + t . substring ( 1 ) ) : "" } ) } function c ( e , t ) { return e = e . source , t = t || "" , function n ( r , i ) { return r ? ( i = i . source || i , i = i . replace ( /(^|[^\[])\^/g , "$1" ) , e = e . replace ( r , i ) , n ) : new RegExp ( e , t ) } } function u ( ) { } function f ( e ) { for ( var t , n , r = 1 ; r < arguments . length ; r ++ ) { t = arguments [ r ] ; for ( n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) } return e } function h ( e , n , r ) { if ( r || "function" == typeof n ) { r || ( r = n , n = null ) , n = f ( { } , h . defaults , n || { } ) ; var i , o , s = n . highlight , c = 0 ; try { i = t . lex ( e , n ) } catch ( u ) { return r ( u ) } o = i . length ; var d = function ( e ) { if ( e ) return n . highlight = s , r ( e ) ; var t ; try { t = a . parse ( i , n ) } catch ( o ) { e = o } return n . highlight = s , e ? r ( e ) : r ( null , t ) } ; if ( ! s || s . length < 3 ) return d ( ) ; if ( delete n . highlight , ! o ) return d ( ) ; for ( ; c < i . length ; c ++ ) ! function ( e ) { return "code" !== e . type ? -- o || d ( ) : s ( e . text , e . lang , function ( t , n ) { return t ? d ( t ) : null == n || n === e . text ? -- o || d ( ) : ( e . text = n , e . escaped = ! 0 , void ( -- o || d ( ) ) ) } ) } ( i [ c ] ) } else try { return n && ( n = f ( { } , h . defaults , n ) ) , a . parse ( t . lex ( e , n ) , n ) } catch ( u ) { if ( u . message += "\nPlease report this to https://github.com/chjj/marked." , ( n || h . defaults ) . silent ) return "<p>An error occured:</p><pre>" + l ( u . message + "" , ! 0 ) + "</pre>" ; throw u } } var d = { newline : /^\n+/ , code : / ^ ( { 4 } [ ^ \ n ]
o ? ( r . innerHTML = e . options . previewRender ( e . value ( ) , r ) , t . on ( "update" , t . sideBySideRenderingFunction ) ) : t . off ( "update" , t . sideBySideRenderingFunction ) , t . refresh ( ) } function A ( e ) { var t = e . codemirror , n = t . getWrapperElement ( ) , r = n . previousSibling , i = ! ! e . options . toolbar && e . toolbarElements . preview , o = n . lastChild ; o && /editor-preview/ . test ( o . className ) || ( o = document . createElement ( "div" ) , o . className = "editor-preview" , n . appendChild ( o ) ) , /editor-preview-active/ . test ( o . className ) ? ( o . className = o . className . replace ( /\s*editor-preview-active\s*/g , "" ) , i && ( i . className = i . className . replace ( /\s*active\s*/g , "" ) , r . className = r . className . replace ( /\s*disabled-for-preview*/g , "" ) ) ) : ( setTimeout ( function ( ) { o . className += " editor-preview-active" } , 1 ) , i && ( i . className += " active" , r . className += " disabled-for-preview" ) ) , o . innerHTML = e . options . previewRender ( e . value ( ) , o ) ; var a = t . getWrapperElement ( ) . nextSibling ; /editor-preview-active-side/ . test ( a . className ) && N ( e ) } function E ( e , t , n , r ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { var i , o = n [ 0 ] , a = n [ 1 ] , l = e . getCursor ( "start" ) , s = e . getCursor ( "end" ) ; r && ( a = a . replace ( "#url#" , r ) ) , t ? ( i = e . getLine ( l . line ) , o = i . slice ( 0 , l . ch ) , a = i . slice ( l . ch ) , e . replaceRange ( o + a , { line : l . line , ch : 0 } ) ) : ( i = e . getSelection ( ) , e . replaceSelection ( o + i + a ) , l . ch += o . length , l !== s && ( s . ch += o . length ) ) , e . setSelection ( l , s ) , e . focus ( ) } } function O ( e , t , n ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { for ( var r = e . getCursor ( "start" ) , i = e . getCursor ( "end" ) , o = r . line ; o <= i . line ; o ++ ) ! function ( r ) { var i = e . getLine ( r ) , o = i . search ( /[^#]/ ) ; i = void 0 !== t ? 0 >= o ? "bigger" == t ? "###### " + i : "# " + i : 6 == o && "smaller" == t ? i . substr ( 7 ) : 1 == o && "bigger" == t ? i . substr ( 2 ) : "bigger" == t ? i . substr ( 1 ) : "#" + i : 1 == n ? 0 >= o ? "# " + i : o == n ? i . substr ( o + 1 ) : "# " + i . substr ( o + 1 ) : 2 == n ? 0 >= o ? "## " + i : o == n ? i . substr ( o + 1 ) : "## " + i . substr ( o + 1 ) : 0 >= o ? "### " + i : o == n ? i . substr ( o + 1 ) : "### " + i . substr ( o + 1 ) , e . replaceRange ( i , { line : r , ch : 0 } , { line : r , ch : 99999999999999 } ) } ( o ) ; e . focus ( ) } } function I ( e , t ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { for ( var n = l ( e ) , r = e . getCursor ( "start" ) , i = e . getCursor ( "end" ) , o = { quote : /^(\s*)\>\s+/ , "unordered-list" : /^(\s*)(\*|\-|\+)\s+/ , "ordered-list" : /^(\s*)\d+\.\s+/ } , a = { quote : "> " , "unordered-list" : "* " , "ordered-list" : "1. " } , s = r . line ; s <= i . line ; s ++ ) ! function ( r ) { var i = e . getLine ( r ) ; i = n [ t ] ? i . replace ( o [ t ] , "$1" ) : a [ t ] + i , e . replaceRange ( i , { line : r , ch : 0 } , { line : r , ch : 99999999999999 } ) } ( s ) ; e . focus ( ) } } function P ( e , t , n , r ) { if ( ! /editor-preview-active/ . test ( e . codemirror . getWrapperElement ( ) . lastChild . className ) ) { r = "undefined" == typeof r ? n : r ; var i , o = e . codemirror , a = l ( o ) , s = n , c = r , u = o . getCursor ( "start" ) , f = o . getCursor ( "end" ) ; a [ t ] ? ( i = o . getLine ( u . line ) , s = i . slice ( 0 , u . ch ) , c = i . slice ( u . ch ) , "bold" == t ? ( s = s . replace ( /(\*\*|__)(?![\s\S]*(\*\*|__))/ , "" ) , c = c . replace ( /(\*\*|__)/ , "" ) ) : "italic" == t ? ( s = s . replace ( /(\*|_)(?![\s\S]*(\*|_))/ , "" ) , c = c . replace ( /(\*|_)/ , "" ) ) : "strikethrough" == t && ( s = s . replace ( /(\*\*|~~)(?![\s\S]*(\*\*|~~))/ , "" ) , c = c . replace ( /(\*\*|~~)/ , "" ) ) , o . replaceRange ( s + c , { line : u . line , ch : 0 } , { line : u . line , ch : 99999999999999 } ) , "bold" == t || "strikethrough" == t ? ( u . ch -= 2 , u !== f && ( f . ch -= 2 ) ) : "italic" == t && ( u . ch -= 1 , u !== f && ( f . ch -= 1 ) ) ) : ( i = o . getSelection ( ) , "bold" == t ? ( i = i . split ( "**" ) . join ( "" ) , i = i . split ( "__" ) . join ( "" ) ) : "italic" == t ? ( i = i . split ( "*" ) . join ( "" ) , i = i . split ( "_" ) . join ( "" ) ) : "strikethrough" == t && ( i = i . split ( "~~" ) . join ( "" ) ) , o . replaceSelection ( s + i + c ) , u . ch += n . length , f . ch = u . ch + i . length ) , o . setSelection ( u , f ) , o . focus ( ) } } function R ( e ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) for ( var t , n = e . getCursor ( "start" ) , r = e . getCursor ( "end" ) , i = n . line ; i <= r . line ; i ++ ) t = e . getLine ( i ) , t = t . replace ( /^[ ]*([# ]+|\*|\-|[> ]+|[0-9]+(.|\)))[ ]*/ , "" ) , e . replaceRange ( t , { line : i , ch : 0 } , { line : i , ch : 99999999999999 } ) } function D ( e , t ) { for ( var n in t ) t . hasOwnProperty ( n ) && ( t [ n ] instanceof Array ? e [ n ] = t [ n ] . concat ( e [ n ] instanceof Array ? e [ n ] : [ ] ) : null !== t [ n ] && "object" == typeof t [ n ] && t [ n ] . constructor === Object ? e [ n ] = D ( e [ n ] || { } , t [ n ] ) : e [ n ] = t [ n ] ) ; return e } function H ( e ) { for ( var t = 1 ; t < arguments . length ; t ++ ) e = D ( e , arguments [ t ] ) ; return e } function W ( e ) { var t = / [ a - z A - Z 0 - 9 _ \ u 0 3 9 2 - \ u 0 3 c 9 \ u 0 4 1 0 - \ u 0 4 F 9 ] + | [ \ u 4 E 0 0 - \ u 9 F F F \ u 3 4 0 0 - \ u 4 d b f \ u f 9 0 0 - \ u f a f f \ u
return t } ) , Object . isSealed || ( Object . isSealed = function ( t ) { return ! 1 } ) , Object . isFrozen || ( Object . isFrozen = function ( t ) { return ! 1 } ) , Object . isExtensible || ( Object . isExtensible = function ( t ) { if ( Object ( t ) === t ) throw new TypeError ; for ( var n = "" ; f ( t , n ) ; ) n += "?" ; t [ n ] = ! 0 ; var r = f ( t , n ) ; return delete t [ n ] , r } ) , ! Object . keys ) { var L = ! 0 , A = [ "toString" , "toLocaleString" , "valueOf" , "hasOwnProperty" , "isPrototypeOf" , "propertyIsEnumerable" , "constructor" ] , O = A . length ; for ( var M in { toString : null } ) L = ! 1 ; Object . keys = function I ( e ) { if ( "object" != typeof e && "function" != typeof e || null === e ) throw new TypeError ( "Object.keys called on a non-object" ) ; var I = [ ] ; for ( var t in e ) f ( e , t ) && I . push ( t ) ; if ( L ) for ( var n = 0 , r = O ; n < r ; n ++ ) { var i = A [ n ] ; f ( e , i ) && I . push ( i ) } return I } } Date . now || ( Date . now = function ( ) { return ( new Date ) . getTime ( ) } ) ; var _ = "\t\n\v\f\r \u2028\u2029\ufeff" ; if ( ! String . prototype . trim || _ . trim ( ) ) { _ = "[" + _ + "]" ; var D = new RegExp ( "^" + _ + _ + "*" ) , P = new RegExp ( _ + _ + "*$" ) ; String . prototype . trim = function ( ) { return String ( this ) . replace ( D , "" ) . replace ( P , "" ) } } var F = function ( e ) { if ( null == e ) throw new TypeError ( "can't convert " + e + " to object" ) ; return Object ( e ) } } ) , ace . define ( "ace/lib/fixoldbrowsers" , [ "require" , "exports" , "module" , "ace/lib/regexp" , "ace/lib/es5-shim" ] , function ( e , t , n ) { "use strict" ; e ( "./regexp" ) , e ( "./es5-shim" ) } ) , ace . define ( "ace/lib/dom" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; var r = "http://www.w3.org/1999/xhtml" ; return t . getDocumentHead = function ( e ) { return e || ( e = document ) , e . head || e . getElementsByTagName ( "head" ) [ 0 ] || e . documentElement } , t . createElement = function ( e , t ) { return document . createElementNS ? document . createElementNS ( t || r , e ) : document . createElement ( e ) } , t . hasCssClass = function ( e , t ) { var n = ( e . className + "" ) . split ( /\s+/g ) ; return n . indexOf ( t ) !== - 1 } , t . addCssClass = function ( e , n ) { t . hasCssClass ( e , n ) || ( e . className += " " + n ) } , t . removeCssClass = function ( e , t ) { for ( var n = e . className . split ( /\s+/g ) ; ; ) { var r = n . indexOf ( t ) ; if ( r == - 1 ) break ; n . splice ( r , 1 ) } e . className = n . join ( " " ) } , t . toggleCssClass = function ( e , t ) { for ( var n = e . className . split ( /\s+/g ) , r = ! 0 ; ; ) { var i = n . indexOf ( t ) ; if ( i == - 1 ) break ; r = ! 1 , n . splice ( i , 1 ) } return r && n . push ( t ) , e . className = n . join ( " " ) , r } , t . setCssClass = function ( e , n , r ) { r ? t . addCssClass ( e , n ) : t . removeCssClass ( e , n ) } , t . hasCssString = function ( e , t ) { var r , n = 0 ; if ( t = t || document , t . createStyleSheet && ( r = t . styleSheets ) ) { for ( ; n < r . length ; ) if ( r [ n ++ ] . owningElement . id === e ) return ! 0 } else if ( r = t . getElementsByTagName ( "style" ) ) for ( ; n < r . length ; ) if ( r [ n ++ ] . id === e ) return ! 0 ; return ! 1 } , t . importCssString = function ( n , r , i ) { if ( i = i || document , r && t . hasCssString ( r , i ) ) return null ; var s ; r && ( n += "\n/*# sourceURL=ace/css/" + r + " */" ) , i . createStyleSheet ? ( s = i . createStyleSheet ( ) , s . cssText = n , r && ( s . owningElement . id = r ) ) : ( s = t . createElement ( "style" ) , s . appendChild ( i . createTextNode ( n ) ) , r && ( s . id = r ) , t . getDocumentHead ( i ) . appendChild ( s ) ) } , t . importCssStylsheet = function ( e , n ) { if ( n . createStyleSheet ) n . createStyleSheet ( e ) ; else { var r = t . createElement ( "link" ) ; r . rel = "stylesheet" , r . href = e , t . getDocumentHead ( n ) . appendChild ( r ) } } , t . getInnerWidth = function ( e ) { return parseInt ( t . computedStyle ( e , "paddingLeft" ) , 10 ) + parseInt ( t . computedStyle ( e , "paddingRight" ) , 10 ) + e . clientWidth } , t . getInnerHeight = function ( e ) { return parseInt ( t . computedStyle ( e , "paddingTop" ) , 10 ) + parseInt ( t . computedStyle ( e , "paddingBottom" ) , 10 ) + e . clientHeight } , t . scrollbarWidth = function ( e ) { var n = t . createElement ( "ace_inner" ) ; n . style . width = "100%" , n . style . minWidth = "0px" , n . style . height = "200px" , n . style . display = "block" ; var r = t . createElement ( "ace_outer" ) , i = r . style ; i . position = "absolute" , i . left = "-10000px" , i . overflow = "hidden" , i . width = "200px" , i . minWidth = "0px" , i . height = "150px" , i . display = "block" , r . appendChild ( n ) ; var s = e . documentElement ; s . appendChild ( r ) ; var o = n . offsetWidth ; i . overflow = "scroll" ; var u = n . offsetWidth ; return o == u && ( u = r . clientWidth ) , s . removeChild ( r ) , o - u } , "undefined" == typeof document ? void ( t . importCssString = function ( ) { } ) : ( void 0 !== window . pageYOffset ? ( t . getPageScrollTop = function ( ) { return window . pageYOffset } , t . getPageScrollLeft = function ( ) { return window . pageXOffset } ) : ( t . getPageScrollTop = function ( ) { return document . body . scrollTop } , t . getPageScrollLeft = function ( ) { return docum
S = null ) } } function N ( e , n ) { var r = Date . now ( ) , i = t . renderer . layerConfig . lineHeight , s = t . renderer . layerConfig . characterWidth , u = t . renderer . scroller . getBoundingClientRect ( ) , a = { x : { left : p - u . left , right : u . right - p } , y : { top : d - u . top , bottom : u . bottom - d } } , f = Math . min ( a . x . left , a . x . right ) , l = Math . min ( a . y . top , a . y . bottom ) , c = { row : e . row , column : e . column } ; f / s <= 2 && ( c . column += a . x . left < a . x . right ? - 3 : 2 ) , l / i <= 1 && ( c . row += a . y . top < a . y . bottom ? - 1 : 1 ) ; var h = e . row != c . row , v = e . column != c . column , m = ! n || e . row != n . row ; h || v && ! m ? E ? r - E >= o && t . renderer . scrollCursorIntoView ( c ) : E = r : E = null } function C ( ) { var e = g ; g = t . renderer . screenToTextCoordinates ( p , d ) , T ( g , e ) , N ( g , e ) } function k ( ) { m = t . selection . toOrientedRange ( ) , h = t . session . addMarker ( m , "ace_selection" , t . getSelectionStyle ( ) ) , t . clearSelection ( ) , t . isFocused ( ) && t . renderer . $cursorLayer . setBlinking ( ! 1 ) , clearInterval ( v ) , C ( ) , v = setInterval ( C , 20 ) , y = 0 , i . addListener ( document , "mousemove" , O ) } function L ( ) { clearInterval ( v ) , t . session . removeMarker ( h ) , h = null , t . $blockScrolling += 1 , t . selection . fromOrientedRange ( m ) , t . $blockScrolling -= 1 , t . isFocused ( ) && ! w && t . renderer . $cursorLayer . setBlinking ( ! t . getReadOnly ( ) ) , m = null , g = null , y = 0 , E = null , S = null , i . removeListener ( document , "mousemove" , O ) } function O ( ) { null == A && ( A = setTimeout ( function ( ) { null != A && h && L ( ) } , 20 ) ) } function M ( e ) { var t = e . types ; return ! t || Array . prototype . some . call ( t , function ( e ) { return "text/plain" == e || "Text" == e } ) } function _ ( e ) { var t = [ "copy" , "copymove" , "all" , "uninitialized" ] , n = [ "move" , "copymove" , "linkmove" , "all" , "uninitialized" ] , r = s . isMac ? e . altKey : e . ctrlKey , i = "uninitialized" ; try { i = e . dataTransfer . effectAllowed . toLowerCase ( ) } catch ( e ) { } var o = "none" ; return r && t . indexOf ( i ) >= 0 ? o = "copy" : n . indexOf ( i ) >= 0 ? o = "move" : t . indexOf ( i ) >= 0 && ( o = "copy" ) , o } var t = e . editor , n = r . createElement ( "img" ) ; n . src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" , s . isOpera && ( n . style . cssText = "width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;" ) ; var f = [ "dragWait" , "dragWaitEnd" , "startDrag" , "dragReadyEnd" , "onMouseDrag" ] ; f . forEach ( function ( t ) { e [ t ] = this [ t ] } , this ) , t . addEventListener ( "mousedown" , this . onMouseDown . bind ( e ) ) ; var h , p , d , v , m , g , b , w , E , S , x , c = t . container , y = 0 ; this . onDragStart = function ( e ) { if ( this . cancelDrag || ! c . draggable ) { var r = this ; return setTimeout ( function ( ) { r . startSelect ( ) , r . captureMouse ( e ) } , 0 ) , e . preventDefault ( ) } m = t . getSelectionRange ( ) ; var i = e . dataTransfer ; i . effectAllowed = t . getReadOnly ( ) ? "copy" : "copyMove" , s . isOpera && ( t . container . appendChild ( n ) , n . scrollTop = 0 ) , i . setDragImage && i . setDragImage ( n , 0 , 0 ) , s . isOpera && t . container . removeChild ( n ) , i . clearData ( ) , i . setData ( "Text" , t . session . getTextRange ( ) ) , w = ! 0 , this . setState ( "drag" ) } , this . onDragEnd = function ( e ) { if ( c . draggable = ! 1 , w = ! 1 , this . setState ( null ) , ! t . getReadOnly ( ) ) { var n = e . dataTransfer . dropEffect ; ! b && "move" == n && t . session . remove ( t . getSelectionRange ( ) ) , t . renderer . $cursorLayer . setBlinking ( ! 0 ) } this . editor . unsetStyle ( "ace_dragging" ) , this . editor . renderer . setCursorStyle ( "" ) } , this . onDragEnter = function ( e ) { if ( ! t . getReadOnly ( ) && M ( e . dataTransfer ) ) return p = e . clientX , d = e . clientY , h || k ( ) , y ++ , e . dataTransfer . dropEffect = b = _ ( e ) , i . preventDefault ( e ) } , this . onDragOver = function ( e ) { if ( ! t . getReadOnly ( ) && M ( e . dataTransfer ) ) return p = e . clientX , d = e . clientY , h || ( k ( ) , y ++ ) , null !== A && ( A = null ) , e . dataTransfer . dropEffect = b = _ ( e ) , i . preventDefault ( e ) } , this . onDragLeave = function ( e ) { if ( y -- , y <= 0 && h ) return L ( ) , b = null , i . preventDefault ( e ) } , this . onDrop = function ( e ) { if ( g ) { var n = e . dataTransfer ; if ( w ) switch ( b ) { case "move" : m = m . contains ( g . row , g . column ) ? { start : g , end : g } : t . moveText ( m , g ) ; break ; case "copy" : m = t . moveText ( m , g , ! 0 ) } else { var r = n . getData ( "Text" ) ; m = { start : g , end : t . session . insert ( g , r ) } , t . focus ( ) , b = null } return L ( ) , i . preventDefault ( e ) } } , i . addListener ( c , "dragstart" , this . onDragStart . bind ( e ) ) , i . addListener ( c , "dragend" , this . onDragEnd . bind ( e ) ) , i . addListener ( c , "dragenter" , this . onDragEnter . bind ( e ) ) , i . addListener ( c , "dragover" , this . onDragOver . bind ( e ) ) , i . addListener ( c , "dragleave" , this . onDragLeave . bind ( e ) ) , i . addListener ( c , "drop" , this . onDrop . bind ( e ) ) ; var A = null } function l ( e , t , n , r ) { return Math . sqrt ( Math . pow ( n - e , 2 ) + Math . pow ( r - t , 2 ) ) } var r = e ( "../lib/dom" ) , i = e ( "../lib/event" ) , s = e ( "../lib/useragent" ) , o = 200 , u = 200 , a = 5 ; ( function ( ) { th
0 === t && ( this . $desiredColumn ? n . column = this . $desiredColumn : this . $desiredColumn = n . column ) ; var r = this . session . screenToDocumentPosition ( n . row + e , n . column ) ; 0 !== e && 0 === t && r . row === this . lead . row && r . column === this . lead . column && this . session . lineWidgets && this . session . lineWidgets [ r . row ] && ( r . row > 0 || e > 0 ) && r . row ++ , this . moveCursorTo ( r . row , r . column + t , 0 === t ) } , this . moveCursorToPosition = function ( e ) { this . moveCursorTo ( e . row , e . column ) } , this . moveCursorTo = function ( e , t , n ) { var r = this . session . getFoldAt ( e , t , 1 ) ; r && ( e = r . start . row , t = r . start . column ) , this . $keepDesiredColumnOnChange = ! 0 , this . lead . setPosition ( e , t ) , this . $keepDesiredColumnOnChange = ! 1 , n || ( this . $desiredColumn = null ) } , this . moveCursorToScreen = function ( e , t , n ) { var r = this . session . screenToDocumentPosition ( e , t ) ; this . moveCursorTo ( r . row , r . column , n ) } , this . detach = function ( ) { this . lead . detach ( ) , this . anchor . detach ( ) , this . session = this . doc = null } , this . fromOrientedRange = function ( e ) { this . setSelectionRange ( e , e . cursor == e . start ) , this . $desiredColumn = e . desiredColumn || this . $desiredColumn } , this . toOrientedRange = function ( e ) { var t = this . getRange ( ) ; return e ? ( e . start . column = t . start . column , e . start . row = t . start . row , e . end . column = t . end . column , e . end . row = t . end . row ) : e = t , e . cursor = this . isBackwards ( ) ? e . start : e . end , e . desiredColumn = this . $desiredColumn , e } , this . getRangeOfMovements = function ( e ) { var t = this . getCursor ( ) ; try { e ( this ) ; var n = this . getCursor ( ) ; return o . fromPoints ( t , n ) } catch ( r ) { return o . fromPoints ( t , t ) } finally { this . moveCursorToPosition ( t ) } } , this . toJSON = function ( ) { if ( this . rangeCount ) var e = this . ranges . map ( function ( e ) { var t = e . clone ( ) ; return t . isBackwards = e . cursor == e . start , t } ) ; else { var e = this . getRange ( ) ; e . isBackwards = this . isBackwards ( ) } return e } , this . fromJSON = function ( e ) { if ( void 0 == e . start ) { if ( this . rangeList ) { this . toSingleRange ( e [ 0 ] ) ; for ( var t = e . length ; t -- ; ) { var n = o . fromPoints ( e [ t ] . start , e [ t ] . end ) ; e [ t ] . isBackwards && ( n . cursor = n . start ) , this . addRange ( n , ! 0 ) } return } e = e [ 0 ] } this . rangeList && this . toSingleRange ( e ) , this . setSelectionRange ( e , e . isBackwards ) } , this . isEqual = function ( e ) { if ( ( e . length || this . rangeCount ) && e . length != this . rangeCount ) return ! 1 ; if ( ! e . length || ! this . ranges ) return this . getRange ( ) . isEqual ( e ) ; for ( var t = this . ranges . length ; t -- ; ) if ( ! this . ranges [ t ] . isEqual ( e [ t ] ) ) return ! 1 ; return ! 0 } } ) . call ( u . prototype ) , t . Selection = u } ) , ace . define ( "ace/tokenizer" , [ "require" , "exports" , "module" , "ace/config" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./config" ) , i = 2e3 , s = function ( e ) { this . states = e , this . regExps = { } , this . matchMappings = { } ; for ( var t in this . states ) { for ( var n = this . states [ t ] , r = [ ] , i = 0 , s = this . matchMappings [ t ] = { defaultToken : "text" } , o = "g" , u = [ ] , a = 0 ; a < n . length ; a ++ ) { var f = n [ a ] ; if ( f . defaultToken && ( s . defaultToken = f . defaultToken ) , f . caseInsensitive && ( o = "gi" ) , null != f . regex ) { f . regex instanceof RegExp && ( f . regex = f . regex . toString ( ) . slice ( 1 , - 1 ) ) ; var l = f . regex , c = new RegExp ( "(?:(" + l + ")|(.))" ) . exec ( "a" ) . length - 2 ; Array . isArray ( f . token ) ? 1 == f . token . length || 1 == c ? f . token = f . token [ 0 ] : c - 1 != f . token . length ? ( this . reportError ( "number of classes and regexp groups doesn't match" , { rule : f , groupCount : c - 1 } ) , f . token = f . token [ 0 ] ) : ( f . tokenArray = f . token , f . token = null , f . onMatch = this . $arrayTokens ) : "function" == typeof f . token && ! f . onMatch && ( c > 1 ? f . onMatch = this . $applyToken : f . onMatch = f . token ) , c > 1 && ( /\\\d/ . test ( f . regex ) ? l = f . regex . replace ( /\\([0-9]+)/g , function ( e , t ) { return "\\" + ( parseInt ( t , 10 ) + i + 1 ) } ) : ( c = 1 , l = this . removeCapturingGroups ( f . regex ) ) , ! f . splitRegex && "string" != typeof f . token && u . push ( f ) ) , s [ i ] = a , i += c , r . push ( l ) , f . onMatch || ( f . onMatch = null ) } } r . length || ( s [ 0 ] = 0 , r . push ( "$" ) ) , u . forEach ( function ( e ) { e . splitRegex = this . createSplitterRegexp ( e . regex , o ) } , this ) , this . regExps [ t ] = new RegExp ( "(" + r . join ( ")|(" ) + ")|($)" , o ) } } ; ( function ( ) { this . $setMaxTokenCount = function ( e ) { i = 0 | e } , this . $applyToken = function ( e ) { var t = this . splitRegex . exec ( e ) . slice ( 1 ) , n = this . token . apply ( this , t ) ; if ( "string" == typeof n ) return [ { type : n , value : e } ] ; for ( var r = [ ] , i = 0 , s = n . length ; i < s ; i ++ ) t [ i ] && ( r [ r . length ] = { type : n [ i ] , value : t [ i ] } ) ; return r } , this . $arrayTokens = function ( e ) { if ( ! e ) return [ ] ; var t = this . splitRegex . exec ( e ) ; if ( ! t ) return "text" ; for ( var n = [ ] , r = this . tokenArray , i = 0 , s = r . length ; i < s ; i ++ ) t [ i + 1 ] && ( n [ n . length ] = { type : r [ i ] , value : t [ i + 1 ] } ) ; return n } , this . removeCapturingGroups = fu
Nl : "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF" , No : "00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835" , P : "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65" , Pd : "002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D" , Ps : "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62" , Pe : "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63" , Pi : "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20" , Pf : "00BB2019201D203A2E032E052E0A2E0D2E1D2E21" , Pc : "005F203F20402054FE33FE34FE4D-FE4FFF3F" , Po : "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65" , S : "0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD" , Sm : " 002 B003C - 003E007 C007E00AC00B100D700F703F60606 - 060820442052207 A - 207 C208A - 208 C2140 - 2144214 B2190 - 2194219 A219B21A021A321A621AE21CE21CF21D221D421F4 - 22 FF2308 - 230 B23202321237C239B - 23 B323DC - 23E125 B725C125F8 - 25 FF266F27C0 - 27 C427C7 - 27 CA27CC27D0 - 27E527 F0 - 27 FF2900 - 29822999 - 29 D729
} ; ( function ( ) { this . comparePoints = i , this . pointIndex = function ( e , t , n ) { for ( var r = this . ranges , s = n || 0 ; s < r . length ; s ++ ) { var o = r [ s ] , u = i ( e , o . end ) ; if ( ! ( u > 0 ) ) { var a = i ( e , o . start ) ; return 0 === u ? t && 0 !== a ? - s - 2 : s : a > 0 || 0 === a && ! t ? s : - s - 1 } } return - s - 1 } , this . add = function ( e ) { var t = ! e . isEmpty ( ) , n = this . pointIndex ( e . start , t ) ; n < 0 && ( n = - n - 1 ) ; var r = this . pointIndex ( e . end , t , n ) ; return r < 0 ? r = - r - 1 : r ++ , this . ranges . splice ( n , r - n , e ) } , this . addList = function ( e ) { for ( var t = [ ] , n = e . length ; n -- ; ) t . push . apply ( t , this . add ( e [ n ] ) ) ; return t } , this . substractPoint = function ( e ) { var t = this . pointIndex ( e ) ; if ( t >= 0 ) return this . ranges . splice ( t , 1 ) } , this . merge = function ( ) { var e = [ ] , t = this . ranges ; t = t . sort ( function ( e , t ) { return i ( e . start , t . start ) } ) ; for ( var r , n = t [ 0 ] , s = 1 ; s < t . length ; s ++ ) { r = n , n = t [ s ] ; var o = i ( r . end , n . start ) ; o < 0 || ( 0 != o || r . isEmpty ( ) || n . isEmpty ( ) ) && ( i ( r . end , n . end ) < 0 && ( r . end . row = n . end . row , r . end . column = n . end . column ) , t . splice ( s , 1 ) , e . push ( n ) , n = r , s -- ) } return this . ranges = t , e } , this . contains = function ( e , t ) { return this . pointIndex ( { row : e , column : t } ) >= 0 } , this . containsPoint = function ( e ) { return this . pointIndex ( e ) >= 0 } , this . rangeAtPoint = function ( e ) { var t = this . pointIndex ( e ) ; if ( t >= 0 ) return this . ranges [ t ] } , this . clipRows = function ( e , t ) { var n = this . ranges ; if ( n [ 0 ] . start . row > t || n [ n . length - 1 ] . start . row < e ) return [ ] ; var r = this . pointIndex ( { row : e , column : 0 } ) ; r < 0 && ( r = - r - 1 ) ; var i = this . pointIndex ( { row : t , column : 0 } , r ) ; i < 0 && ( i = - i - 1 ) ; for ( var s = [ ] , o = r ; o < i ; o ++ ) s . push ( n [ o ] ) ; return s } , this . removeAll = function ( ) { return this . ranges . splice ( 0 , this . ranges . length ) } , this . attach = function ( e ) { this . session && this . detach ( ) , this . session = e , 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 ( e ) { if ( "insert" == e . action ) var t = e . start , n = e . end ; else var n = e . start , t = e . end ; for ( var r = t . row , i = n . row , s = i - r , o = - t . column + n . column , u = this . ranges , a = 0 , f = u . length ; a < f ; a ++ ) { var l = u [ a ] ; if ( ! ( l . end . row < r ) ) { if ( l . start . row > r ) break ; if ( l . start . row == r && l . start . column >= t . column && ( l . start . column != t . column || ! this . $insertRight ) && ( l . start . column += o , l . start . row += s ) , l . end . row == r && l . end . column >= t . column ) { if ( l . end . column == t . column && this . $insertRight ) continue ; l . end . column == t . column && o > 0 && a < f - 1 && l . end . column > l . start . column && l . end . column == u [ a + 1 ] . start . column && ( l . end . column -= o ) , l . end . column += o , l . end . row += s } } } if ( 0 != s && a < f ) for ( ; a < f ; a ++ ) { var l = u [ a ] ; l . start . row += s , l . end . row += s } } } ) . call ( s . prototype ) , t . RangeList = s } ) , ace . define ( "ace/edit_session/fold" , [ "require" , "exports" , "module" , "ace/range" , "ace/range_list" , "ace/lib/oop" ] , function ( e , t , n ) { "use strict" ; function u ( e , t ) { e . row -= t . row , 0 == e . row && ( e . column -= t . column ) } function a ( e , t ) { u ( e . start , t ) , u ( e . end , t ) } function f ( e , t ) { 0 == e . row && ( e . column += t . column ) , e . row += t . row } function l ( e , t ) { f ( e . start , t ) , f ( e . end , t ) } var i = ( e ( "../range" ) . Range , e ( "../range_list" ) . RangeList ) , s = e ( "../lib/oop" ) , o = t . Fold = function ( e , t ) { this . foldLine = null , this . placeholder = t , this . range = e , this . start = e . start , this . end = e . end , this . sameRow = e . start . row == e . end . row , this . subFolds = this . ranges = [ ] } ; s . inherits ( o , i ) , function ( ) { this . toString = function ( ) { return '"' + this . placeholder + '" ' + this . range . toString ( ) } , this . setFoldLine = function ( e ) { this . foldLine = e , this . subFolds . forEach ( function ( t ) { t . setFoldLine ( e ) } ) } , this . clone = function ( ) { var e = this . range . clone ( ) , t = new o ( e , this . placeholder ) ; return this . subFolds . forEach ( function ( e ) { t . subFolds . push ( e . clone ( ) ) } ) , t . collapseChildren = this . collapseChildren , t } , this . addSubFold = function ( e ) { if ( ! this . range . isEqual ( e ) ) { if ( ! this . range . containsRange ( e ) ) throw new Error ( "A fold can't intersect already existing fold" + e . range + this . range ) ; a ( e , this . start ) ; for ( var t = e . start . row , n = e . start . column , r = 0 , i = - 1 ; r < this . subFolds . length && ( i = this . subFolds [ r ] . range . compare ( t , n ) , 1 == i ) ; r ++ ) ; var s = this . subFolds [ r ] ; if ( 0 == i ) return s . addSubFold ( e ) ; for ( var t = e . range . end . row , n = e . range . end . column , o = r , i = - 1 ; o < this . subFolds . length && ( i = this . subFolds [ o ] . range . compare ( t , n ) , 1 == i ) ; o ++ ) ; this . subFolds [ o ] ; if ( 0 == i ) throw new Error ( "A fold can't intersect already existing fold" + e . range + this . range ) ; this . subFolds . splice ( r , o - r , e ) ; return e . setFoldLine ( this . foldLine ) , e }
} , this . $clipRowToDocument = function ( e ) { return Math . max ( 0 , Math . min ( e , this . doc . getLength ( ) - 1 ) ) } , this . $clipColumnToRow = function ( e , t ) { return t < 0 ? 0 : Math . min ( this . doc . getLine ( e ) . length , t ) } , this . $clipPositionToDocument = function ( e , t ) { if ( t = Math . max ( 0 , t ) , e < 0 ) e = 0 , t = 0 ; else { var n = this . doc . getLength ( ) ; e >= n ? ( e = n - 1 , t = this . doc . getLine ( n - 1 ) . length ) : t = Math . min ( this . doc . getLine ( e ) . length , t ) } return { row : e , column : t } } , this . $clipRangeToDocument = function ( e ) { e . start . row < 0 ? ( e . start . row = 0 , e . start . column = 0 ) : e . start . column = this . $clipColumnToRow ( e . start . row , e . start . column ) ; var t = this . doc . getLength ( ) - 1 ; return e . end . row > t ? ( e . end . row = t , e . end . column = this . doc . getLine ( t ) . length ) : e . end . column = this . $clipColumnToRow ( e . end . row , e . end . column ) , e } , this . $wrapLimit = 80 , this . $useWrapMode = ! 1 , this . $wrapLimitRange = { min : null , max : null } , this . setUseWrapMode = function ( e ) { if ( e != this . $useWrapMode ) { if ( this . $useWrapMode = e , this . $modified = ! 0 , this . $resetRowCache ( 0 ) , e ) { var t = this . getLength ( ) ; this . $wrapData = Array ( t ) , this . $updateWrapData ( 0 , t - 1 ) } this . _signal ( "changeWrapMode" ) } } , this . getUseWrapMode = function ( ) { return this . $useWrapMode } , this . setWrapLimitRange = function ( e , t ) { this . $wrapLimitRange . min === e && this . $wrapLimitRange . max === t || ( this . $wrapLimitRange = { min : e , max : t } , this . $modified = ! 0 , this . $useWrapMode && this . _signal ( "changeWrapMode" ) ) } , this . adjustWrapLimit = function ( e , t ) { var n = this . $wrapLimitRange ; n . max < 0 && ( n = { min : t , max : t } ) ; var r = this . $constrainWrapLimit ( e , n . min , n . max ) ; return r != this . $wrapLimit && r > 1 && ( this . $wrapLimit = r , this . $modified = ! 0 , this . $useWrapMode && ( this . $updateWrapData ( 0 , this . getLength ( ) - 1 ) , this . $resetRowCache ( 0 ) , this . _signal ( "changeWrapLimit" ) ) , ! 0 ) } , this . $constrainWrapLimit = function ( e , t , n ) { return t && ( e = Math . max ( t , e ) ) , n && ( e = Math . min ( n , e ) ) , e } , this . getWrapLimit = function ( ) { return this . $wrapLimit } , this . setWrapLimit = function ( e ) { this . setWrapLimitRange ( e , e ) } , this . getWrapLimitRange = function ( ) { return { min : this . $wrapLimitRange . min , max : this . $wrapLimitRange . max } } , this . $updateInternalDataOnChange = function ( e ) { var t = this . $useWrapMode , n = e . action , r = e . start , i = e . end , s = r . row , o = i . row , u = o - s , a = null ; if ( this . $updating = ! 0 , 0 != u ) if ( "remove" === n ) { this [ t ? "$wrapData" : "$rowLengthCache" ] . splice ( s , u ) ; var f = this . $foldData ; a = this . getFoldsInRange ( e ) , this . removeFolds ( a ) ; var l = this . getFoldLine ( i . row ) , c = 0 ; if ( l ) { l . addRemoveChars ( i . row , i . column , r . column - i . column ) , l . shiftRow ( - u ) ; var h = this . getFoldLine ( s ) ; h && h !== l && ( h . merge ( l ) , l = h ) , c = f . indexOf ( l ) + 1 } for ( c ; c < f . length ; c ++ ) { var l = f [ c ] ; l . start . row >= i . row && l . shiftRow ( - u ) } o = s } else { var p = Array ( u ) ; p . unshift ( s , 0 ) ; var d = t ? this . $wrapData : this . $rowLengthCache ; d . splice . apply ( d , p ) ; var f = this . $foldData , l = this . getFoldLine ( s ) , c = 0 ; if ( l ) { var v = l . range . compareInside ( r . row , r . column ) ; 0 == v ? ( l = l . split ( r . row , r . column ) , l && ( l . shiftRow ( u ) , l . addRemoveChars ( o , 0 , i . column - r . column ) ) ) : v == - 1 && ( l . addRemoveChars ( s , 0 , i . column - r . column ) , l . shiftRow ( u ) ) , c = f . indexOf ( l ) + 1 } for ( c ; c < f . length ; c ++ ) { var l = f [ c ] ; l . start . row >= s && l . shiftRow ( u ) } } else { u = Math . abs ( e . start . column - e . end . column ) , "remove" === n && ( a = this . getFoldsInRange ( e ) , this . removeFolds ( a ) , u = - u ) ; var l = this . getFoldLine ( s ) ; l && l . addRemoveChars ( s , r . column , u ) } return t && this . $wrapData . length != this . doc . getLength ( ) && console . error ( "doc.getLength() and $wrapData.length have to be the same!" ) , this . $updating = ! 1 , t ? this . $updateWrapData ( s , o ) : this . $updateRowLengthCache ( s , o ) , a } , this . $updateRowLengthCache = function ( e , t , n ) { this . $rowLengthCache [ e ] = null , this . $rowLengthCache [ t ] = null } , this . $updateWrapData = function ( e , t ) { var a , f , r = this . doc . getAllLines ( ) , i = this . getTabSize ( ) , s = this . $wrapData , o = this . $wrapLimit , l = e ; for ( t = Math . min ( t , r . length - 1 ) ; l <= t ; ) f = this . getFoldLine ( l , f ) , f ? ( a = [ ] , f . walk ( function ( e , t , i , s ) { var o ; if ( null != e ) { o = this . $getDisplayTokens ( e , a . length ) , o [ 0 ] = n ; for ( var f = 1 ; f < o . length ; f ++ ) o [ f ] = u } else o = this . $getDisplayTokens ( r [ t ] . substring ( s , i ) , a . length ) ; a = a . concat ( o ) } . bind ( this ) , f . end . row , r [ f . end . row ] . length + 1 ) , s [ f . start . row ] = this . $computeWrapSplits ( a , o , i ) , l = f . end . row + 1 ) : ( a = this . $getDisplayTokens ( r [ l ] ) , s [ l ] = this . $computeWrapSplits ( a , o , i ) , l ++ ) } ; var e = 1 , t = 2 , n = 3 , u = 4 , l = 9 , p = 10 , d = 11 , v = 12 ; this . $computeWrapSplits = function ( e , r , i ) { function g ( ) { var t = 0 ; if ( 0 === m ) return t ; if ( h ) for ( var n = 0 ; n < e . length ; n ++ ) { var r
exec : function ( e ) { e . removeWordRight ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "outdent" , bindKey : o ( "Shift-Tab" , "Shift-Tab" ) , exec : function ( e ) { e . blockOutdent ( ) } , multiSelectAction : "forEach" , scrollIntoView : "selectionPart" } , { name : "indent" , bindKey : o ( "Tab" , "Tab" ) , exec : function ( e ) { e . indent ( ) } , multiSelectAction : "forEach" , scrollIntoView : "selectionPart" } , { name : "blockoutdent" , bindKey : o ( "Ctrl-[" , "Ctrl-[" ) , exec : function ( e ) { e . blockOutdent ( ) } , multiSelectAction : "forEachLine" , scrollIntoView : "selectionPart" } , { name : "blockindent" , bindKey : o ( "Ctrl-]" , "Ctrl-]" ) , exec : function ( e ) { e . blockIndent ( ) } , multiSelectAction : "forEachLine" , scrollIntoView : "selectionPart" } , { name : "insertstring" , exec : function ( e , t ) { e . insert ( t ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "inserttext" , exec : function ( e , t ) { e . insert ( r . stringRepeat ( t . text || "" , t . times || 1 ) ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "splitline" , bindKey : o ( null , "Ctrl-O" ) , exec : function ( e ) { e . splitLine ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "transposeletters" , bindKey : o ( "Ctrl-T" , "Ctrl-T" ) , exec : function ( e ) { e . transposeLetters ( ) } , multiSelectAction : function ( e ) { e . transposeSelections ( 1 ) } , scrollIntoView : "cursor" } , { name : "touppercase" , bindKey : o ( "Ctrl-U" , "Ctrl-U" ) , exec : function ( e ) { e . toUpperCase ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "tolowercase" , bindKey : o ( "Ctrl-Shift-U" , "Ctrl-Shift-U" ) , exec : function ( e ) { e . toLowerCase ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "expandtoline" , bindKey : o ( "Ctrl-Shift-L" , "Command-Shift-L" ) , exec : function ( e ) { var t = e . selection . getRange ( ) ; t . start . column = t . end . column = 0 , t . end . row ++ , e . selection . setRange ( t , ! 1 ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" , readOnly : ! 0 } , { name : "joinlines" , bindKey : o ( null , null ) , exec : function ( e ) { for ( var t = e . selection . isBackwards ( ) , n = t ? e . selection . getSelectionLead ( ) : e . selection . getSelectionAnchor ( ) , i = t ? e . selection . getSelectionAnchor ( ) : e . selection . getSelectionLead ( ) , o = e . session . doc . getLine ( n . row ) . length , u = e . session . doc . getTextRange ( e . selection . getRange ( ) ) , a = u . replace ( /\n\s*/ , " " ) . length , f = e . session . doc . getLine ( n . row ) , l = n . row + 1 ; l <= i . row + 1 ; l ++ ) { var c = r . stringTrimLeft ( r . stringTrimRight ( e . session . doc . getLine ( l ) ) ) ; 0 !== c . length && ( c = " " + c ) , f += c } i . row + 1 < e . session . doc . getLength ( ) - 1 && ( f += e . session . doc . getNewLineCharacter ( ) ) , e . clearSelection ( ) , e . session . doc . replace ( new s ( n . row , 0 , i . row + 2 , 0 ) , f ) , a > 0 ? ( e . selection . moveCursorTo ( n . row , n . column ) , e . selection . selectTo ( n . row , n . column + a ) ) : ( o = e . session . doc . getLine ( n . row ) . length > o ? o + 1 : o , e . selection . moveCursorTo ( n . row , o ) ) } , multiSelectAction : "forEach" , readOnly : ! 0 } , { name : "invertSelection" , bindKey : o ( null , null ) , exec : function ( e ) { var t = e . session . doc . getLength ( ) - 1 , n = e . session . doc . getLine ( t ) . length , r = e . selection . rangeList . ranges , i = [ ] ; r . length < 1 && ( r = [ e . selection . getRange ( ) ] ) ; for ( var o = 0 ; o < r . length ; o ++ ) o == r . length - 1 && ( r [ o ] . end . row !== t || r [ o ] . end . column !== n ) && i . push ( new s ( r [ o ] . end . row , r [ o ] . end . column , t , n ) ) , 0 === o ? ( 0 !== r [ o ] . start . row || 0 !== r [ o ] . start . column ) && i . push ( new s ( 0 , 0 , r [ o ] . start . row , r [ o ] . start . column ) ) : i . push ( new s ( r [ o - 1 ] . end . row , r [ o - 1 ] . end . column , r [ o ] . start . row , r [ o ] . start . column ) ) ; e . exitMultiSelectMode ( ) , e . clearSelection ( ) ; for ( var o = 0 ; o < i . length ; o ++ ) e . selection . addRange ( i [ o ] , ! 1 ) } , readOnly : ! 0 , scrollIntoView : "none" } ] } ) , ace . 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" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; e ( "./lib/fixoldbrowsers" ) ; var r = e ( "./lib/oop" ) , i = e ( "./lib/dom" ) , s = e ( "./lib/lang" ) , o = e ( "./lib/useragent" ) , u = e ( "./keyboard/textinput" ) . TextInput , a = e ( "./mouse/mouse_handler" ) . MouseHandler , f = e ( "./mouse/fold_handler" ) . FoldHandler , l = e ( "./keyboard/keybinding" ) . KeyBinding , c = e ( "./edit_session" ) . EditSession , h = e ( "./search" ) . Search , p = e ( "./range" ) . Range , d = e ( "./lib/event_emitter" ) . EventEmitter , v = e ( " . / comma
s . value === v && s . type . indexOf ( "tag-name" ) !== - 1 && ( "<" === i . value ? a [ v ] ++ : "</" === i . value && a [ v ] -- , 0 === a [ v ] && ( u = ! 0 ) ) ) ; while ( i && ! u ) } s && s . type . indexOf ( "tag-name" ) && ( d = h . start , d . row == n . row && Math . abs ( d . column - n . column ) < 2 && ( d = h . end ) ) } d = h && h . cursor || d , d && ( e ? h && t ? this . selection . setRange ( h ) : h && h . isEqual ( this . getSelectionRange ( ) ) ? this . clearSelection ( ) : this . selection . selectTo ( d . row , d . column ) : this . selection . moveTo ( d . row , d . column ) ) } } } , this . gotoLine = function ( e , t , n ) { this . selection . clearSelection ( ) , this . session . unfold ( { row : e - 1 , column : t || 0 } ) , this . $blockScrolling += 1 , this . exitMultiSelectMode && this . exitMultiSelectMode ( ) , this . moveCursorTo ( e - 1 , t || 0 ) , this . $blockScrolling -= 1 , this . isRowFullyVisible ( e - 1 ) || this . scrollToLine ( e - 1 , ! 0 , n ) } , this . navigateTo = function ( e , t ) { this . selection . moveTo ( e , t ) } , this . navigateUp = function ( e ) { if ( this . selection . isMultiLine ( ) && ! this . selection . isBackwards ( ) ) { var t = this . selection . anchor . getPosition ( ) ; return this . moveCursorToPosition ( t ) } this . selection . clearSelection ( ) , this . selection . moveCursorBy ( - e || - 1 , 0 ) } , this . navigateDown = function ( e ) { if ( this . selection . isMultiLine ( ) && this . selection . isBackwards ( ) ) { var t = this . selection . anchor . getPosition ( ) ; return this . moveCursorToPosition ( t ) } this . selection . clearSelection ( ) , this . selection . moveCursorBy ( e || 1 , 0 ) } , this . navigateLeft = function ( e ) { if ( this . selection . isEmpty ( ) ) for ( e = e || 1 ; e -- ; ) this . selection . moveCursorLeft ( ) ; else { var t = this . getSelectionRange ( ) . start ; this . moveCursorToPosition ( t ) } this . clearSelection ( ) } , this . navigateRight = function ( e ) { if ( this . selection . isEmpty ( ) ) for ( e = e || 1 ; e -- ; ) this . selection . moveCursorRight ( ) ; else { var t = this . getSelectionRange ( ) . end ; this . moveCursorToPosition ( t ) } 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 ( e , t ) { t && this . $search . set ( t ) ; var n = this . $search . find ( this . session ) , r = 0 ; return n ? ( this . $tryReplace ( n , e ) && ( r = 1 ) , null !== n && ( this . selection . setSelectionRange ( n ) , this . renderer . scrollSelectionIntoView ( n . start , n . end ) ) , r ) : r } , this . replaceAll = function ( e , t ) { t && this . $search . set ( t ) ; var n = this . $search . findAll ( this . session ) , r = 0 ; if ( ! n . length ) return r ; this . $blockScrolling += 1 ; var i = this . getSelectionRange ( ) ; this . selection . moveTo ( 0 , 0 ) ; for ( var s = n . length - 1 ; s >= 0 ; -- s ) this . $tryReplace ( n [ s ] , e ) && r ++ ; return this . selection . setSelectionRange ( i ) , this . $blockScrolling -= 1 , r } , this . $tryReplace = function ( e , t ) { var n = this . session . getTextRange ( e ) ; return t = this . $search . replace ( n , t ) , null !== t ? ( e . end = this . session . replace ( e , t ) , e ) : null } , this . getLastSearchOptions = function ( ) { return this . $search . getOptions ( ) } , this . find = function ( e , t , n ) { t || ( t = { } ) , "string" == typeof e || e instanceof RegExp ? t . needle = e : "object" == typeof e && r . mixin ( t , e ) ; var i = this . selection . getRange ( ) ; null == t . needle && ( e = this . session . getTextRange ( i ) || this . $search . $options . needle , e || ( i = this . session . getWordRange ( i . start . row , i . start . column ) , e = this . session . getTextRange ( i ) ) , this . $search . set ( { needle : e } ) ) , this . $search . set ( t ) , t . start || this . $search . set ( { start : i } ) ; var s = this . $search . find ( this . session ) ; return t . preventScroll ? s : s ? ( this . revealRange ( s , n ) , s ) : ( t . backwards ? i . start = i . end : i . end = i . start , void this . selection . setRange ( i ) ) } , this . findNext = function ( e , t ) { this . find ( { skipCurrent : ! 0 , backwards : ! 1 } , e , t ) } , this . findPrevious = function ( e , t ) { this . find ( e , { skipCurrent : ! 0 , backwards : ! 0 } , t ) } , this . revealRange = function ( e , t ) { this . $blockScrolling += 1 , this . session . unfold ( e ) , this . selection . setSelectionRange ( e ) , this . $blockScrolling -= 1 ; var n = this . renderer . scrollTop ; this . renderer . scrollSelectionIntoView ( e . start , e . end , . 5 ) , t !== ! 1 && this . renderer . animateScrolling ( n ) } , this . undo = function ( ) { this . $blockScrolling ++ , this . session . getUndoManager ( ) . undo ( ) , this . $blockScrolling -- ,
} } . call ( l . prototype ) , t . ScrollBar = f , t . ScrollBarV = f , t . ScrollBarH = l , t . VScrollBar = f , t . HScrollBar = l } ) , ace . define ( "ace/renderloop" , [ "require" , "exports" , "module" , "ace/lib/event" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./lib/event" ) , i = function ( e , t ) { this . onRender = e , this . pending = ! 1 , this . changes = 0 , this . window = t || window } ; ( function ( ) { this . schedule = function ( e ) { if ( this . changes = this . changes | e , ! this . pending && this . changes ) { this . pending = ! 0 ; var t = this ; r . nextFrame ( function ( ) { t . pending = ! 1 ; for ( var e ; e = t . changes ; ) t . changes = 0 , t . onRender ( e ) } , this . window ) } } } ) . call ( i . prototype ) , t . RenderLoop = i } ) , ace . define ( "ace/layer/font_metrics" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/dom" , "ace/lib/lang" , "ace/lib/useragent" , "ace/lib/event_emitter" ] , function ( e , t , n ) { var r = e ( "../lib/oop" ) , i = e ( "../lib/dom" ) , s = e ( "../lib/lang" ) , o = e ( "../lib/useragent" ) , u = e ( "../lib/event_emitter" ) . EventEmitter , a = 0 , f = t . FontMetrics = function ( e ) { this . el = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . el . style , ! 0 ) , this . $main = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . $main . style ) , this . $measureNode = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . $measureNode . style ) , this . el . appendChild ( this . $main ) , this . el . appendChild ( this . $measureNode ) , e . appendChild ( this . el ) , a || this . $testFractionalRect ( ) , this . $measureNode . innerHTML = s . stringRepeat ( "X" , a ) , this . $characterSize = { width : 0 , height : 0 } , this . checkForSizeChanges ( ) } ; ( function ( ) { r . implement ( this , u ) , this . $characterSize = { width : 0 , height : 0 } , this . $testFractionalRect = function ( ) { var e = i . createElement ( "div" ) ; this . $setMeasureNodeStyles ( e . style ) , e . style . width = "0.2px" , document . documentElement . appendChild ( e ) ; var t = e . getBoundingClientRect ( ) . width ; a = t > 0 && t < 1 ? 50 : 100 , e . parentNode . removeChild ( e ) } , this . $setMeasureNodeStyles = function ( e , t ) { e . width = e . height = "auto" , e . left = e . top = "0px" , e . visibility = "hidden" , e . position = "absolute" , e . whiteSpace = "pre" , o . isIE < 8 ? e [ "font-family" ] = "inherit" : e . font = "inherit" , e . overflow = t ? "hidden" : "visible" } , this . checkForSizeChanges = function ( ) { var e = this . $measureSizes ( ) ; if ( e && ( this . $characterSize . width !== e . width || this . $characterSize . height !== e . height ) ) { this . $measureNode . style . fontWeight = "bold" ; var t = this . $measureSizes ( ) ; this . $measureNode . style . fontWeight = "" , this . $characterSize = e , this . charSizes = Object . create ( null ) , this . allowBoldFonts = t && t . width === e . width && t . height === e . height , this . _emit ( "changeCharacterSize" , { data : e } ) } } , this . $pollSizeChanges = function ( ) { if ( this . $pollSizeChangesTimer ) return this . $pollSizeChangesTimer ; var e = this ; return this . $pollSizeChangesTimer = setInterval ( function ( ) { e . checkForSizeChanges ( ) } , 500 ) } , this . setPolling = function ( e ) { e ? this . $pollSizeChanges ( ) : this . $pollSizeChangesTimer && ( clearInterval ( this . $pollSizeChangesTimer ) , this . $pollSizeChangesTimer = 0 ) } , this . $measureSizes = function ( ) { if ( 50 === a ) { var e = null ; try { e = this . $measureNode . getBoundingClientRect ( ) } catch ( t ) { e = { width : 0 , height : 0 } } var n = { height : e . height , width : e . width / a } } else var n = { height : this . $measureNode . clientHeight , width : this . $measureNode . clientWidth / a } ; return 0 === n . width || 0 === n . height ? null : n } , this . $measureCharWidth = function ( e ) { this . $main . innerHTML = s . stringRepeat ( e , a ) ; var t = this . $main . getBoundingClientRect ( ) ; return t . width / a } , this . getCharacterWidth = function ( e ) { var t = this . charSizes [ e ] ; return void 0 === t && ( t = this . charSizes [ e ] = this . $measureCharWidth ( e ) / this . $characterSize . width ) , t } , this . destroy = function ( ) { clearInterval ( this . $pollSizeChangesTimer ) , this . el && this . el . parentNode && this . el . parentNode . removeChild ( this . el ) } } ) . call ( f . prototype ) } ) , ace . 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/scrollbar" , "ace/renderloop" , "ace/layer/font_metrics" , "ace/lib/event_emitter" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./lib/oop" ) , i = e ( "./lib/dom" ) , s = e ( "./config" ) , o = e ( "./lib/useragent" ) , u = e ( "./layer/gutter" ) . Gutter , a = e ( "./layer/marker" ) . Marker , f = e ( "./layer/text" ) . Text , l = e ( "./layer/cursor" ) . Cursor , c = e ( "./scrollbar" ) . HScrollBar , h = e ( "./scrollbar" ) . VScrollBar , p = e ( "./renderloop" ) . RenderLoop , d = e ( "./layer/font_metrics" ) . Fo
var E = e . getFoldLine ( m ) ; E && ( m = E . start . row ) , y = e . documentToScreenRow ( m , 0 ) , b = e . getRowLength ( m ) * w , g = Math . min ( e . screenToDocumentRow ( g , 0 ) , e . getLength ( ) - 1 ) , l = t . scrollerHeight + e . getRowLength ( g ) * w + b , f = this . scrollTop - y * w ; var S = 0 ; return this . layerConfig . width != s && ( S = this . CHANGE _H _SCROLL ) , ( u || d ) && ( S = this . $updateCachedSize ( ! 0 , this . gutterWidth , t . width , t . height ) , this . _signal ( "scrollbarVisibilityChanged" ) , d && ( s = this . $getLongestLine ( ) ) ) , this . layerConfig = { width : s , padding : this . $padding , firstRow : m , firstRowScreen : y , lastRow : g , lineHeight : w , characterWidth : this . characterWidth , minHeight : l , maxHeight : i , offset : f , gutterOffset : w ? Math . max ( 0 , Math . ceil ( ( f + t . height - t . scrollerHeight ) / w ) ) : 0 , height : this . $size . scrollerHeight } , S } , this . $updateLines = function ( ) { var e = this . $changedLines . firstRow , t = this . $changedLines . lastRow ; this . $changedLines = null ; var n = this . layerConfig ; if ( ! ( e > n . lastRow + 1 || t < n . firstRow ) ) return t === 1 / 0 ? ( this . $showGutter && this . $gutterLayer . update ( n ) , void this . $textLayer . update ( n ) ) : ( this . $textLayer . updateLines ( n , e , t ) , ! 0 ) } , this . $getLongestLine = function ( ) { var e = this . session . getScreenWidth ( ) ; return this . showInvisibles && ! this . session . $useWrapMode && ( e += 1 ) , Math . max ( this . $size . scrollerWidth - 2 * this . $padding , Math . round ( e * this . characterWidth ) ) } , this . updateFrontMarkers = function ( ) { this . $markerFront . setMarkers ( this . session . getMarkers ( ! 0 ) ) , this . $loop . schedule ( this . CHANGE _MARKER _FRONT ) } , this . updateBackMarkers = function ( ) { this . $markerBack . setMarkers ( this . session . getMarkers ( ) ) , this . $loop . schedule ( this . CHANGE _MARKER _BACK ) } , this . addGutterDecoration = function ( e , t ) { this . $gutterLayer . addGutterDecoration ( e , t ) } , this . removeGutterDecoration = function ( e , t ) { this . $gutterLayer . removeGutterDecoration ( e , t ) } , this . updateBreakpoints = function ( e ) { this . $loop . schedule ( this . CHANGE _GUTTER ) } , this . setAnnotations = function ( e ) { this . $gutterLayer . setAnnotations ( e ) , this . $loop . schedule ( this . CHANGE _GUTTER ) } , this . updateCursor = function ( ) { this . $loop . schedule ( this . CHANGE _CURSOR ) } , this . hideCursor = function ( ) { this . $cursorLayer . hideCursor ( ) } , this . showCursor = function ( ) { this . $cursorLayer . showCursor ( ) } , this . scrollSelectionIntoView = function ( e , t , n ) { this . scrollCursorIntoView ( e , n ) , this . scrollCursorIntoView ( t , n ) } , this . scrollCursorIntoView = function ( e , t , n ) { if ( 0 !== this . $size . scrollerHeight ) { var r = this . $cursorLayer . getPixelPosition ( e ) , i = r . left , s = r . top , o = n && n . top || 0 , u = n && n . bottom || 0 , a = this . $scrollAnimation ? this . session . getScrollTop ( ) : this . scrollTop ; a + o > s ? ( t && a + o > s + this . lineHeight && ( s -= t * this . $size . scrollerHeight ) , 0 === s && ( s = - this . scrollMargin . top ) , this . session . setScrollTop ( s ) ) : a + this . $size . scrollerHeight - u < s + this . lineHeight && ( t && a + this . $size . scrollerHeight - u < s - this . lineHeight && ( s += t * this . $size . scrollerHeight ) , this . session . setScrollTop ( s + this . lineHeight - this . $size . scrollerHeight ) ) ; var f = this . scrollLeft ; f > i ? ( i < this . $padding + 2 * this . layerConfig . characterWidth && ( i = - this . scrollMargin . left ) , this . session . setScrollLeft ( i ) ) : f + this . $size . scrollerWidth < i + this . characterWidth ? this . session . setScrollLeft ( Math . round ( i + this . characterWidth - this . $size . scrollerWidth ) ) : f <= this . $padding && i - f < this . characterWidth && this . session . setScrollLeft ( 0 ) } } , this . getScrollTop = function ( ) { return this . session . getScrollTop ( ) } , this . getScrollLeft = function ( ) { return this . session . getScrollLeft ( ) } , this . getScrollTopRow = function ( ) { return this . scrollTop / this . lineHeight } , this . getScrollBottomRow = function ( ) { return Math . max ( 0 , Math . floor ( ( this . scrollTop + this . $size . scrollerHeight ) / this . lineHeight ) - 1 ) } , this . scrollToRow = function ( e ) { this . session . setScrollTop ( e * this . lineHeight ) } , this . alignCursor = function ( e , t ) { "number" == typeof e && ( e = { row : e , column : 0 } ) ; var n = this . $cursorLayer . getPixelPosition ( e ) , r = this . $size . scrollerHeight - this . lineHeight , i = n . top - r * ( t || 0 ) ; return this . session . setScrollTop ( i ) , i } , this . STEPS = 8 , this . $calcSteps = function ( e , t ) { var n = 0 , r = this . STEPS , i = [ ] , s = function ( e , t , n ) { return n * ( Math . pow ( e - 1 , 3 ) + 1 ) + t } ; for ( n = 0 ; n < r ; ++ n ) i . push ( s ( n / this . STEPS , e , t - e ) ) ; return i } , this . scrollToLine = function ( e , t , n , r ) { var i = this . $cursorLayer . getPixelPosition ( { row : e , column : 0 } ) , s = i . top ; t && ( s -= this . $size . scrollerHeight / 2 ) ; var o = this . scrollTop ; this . session . setScrollTop ( s ) , n !== ! 1 && this . animateScrolling ( o , r ) } , t
var i = this . session . getDocument ( ) . getNewLineCharacter ( ) ; e = n . join ( i ) , e . length == ( n . length - 1 ) * i . length && ( e = "" ) } else this . selection . isEmpty ( ) || ( e = this . session . getTextRange ( this . getSelectionRange ( ) ) ) ; return e } , this . $checkMultiselectChange = function ( e , t ) { if ( this . inMultiSelectMode && ! this . inVirtualSelectionMode ) { var n = this . multiSelect . ranges [ 0 ] ; if ( this . multiSelect . isEmpty ( ) && t == this . multiSelect . anchor ) return ; var r = t == this . multiSelect . anchor ? n . cursor == n . start ? n . end : n . start : n . cursor ; ( r . row != t . row || this . session . $clipPositionToDocument ( r . row , r . column ) . column != t . column ) && this . multiSelect . toSingleRange ( this . multiSelect . toOrientedRange ( ) ) } } , this . findAll = function ( e , t , n ) { if ( t = t || { } , t . needle = e || t . needle , void 0 == t . needle ) { var r = this . selection . isEmpty ( ) ? this . selection . getWordRange ( ) : this . selection . getRange ( ) ; t . needle = this . session . getTextRange ( r ) } this . $search . set ( t ) ; var i = this . $search . findAll ( this . session ) ; if ( ! i . length ) return 0 ; this . $blockScrolling += 1 ; var s = this . multiSelect ; n || s . toSingleRange ( i [ 0 ] ) ; for ( var o = i . length ; o -- ; ) s . addRange ( i [ o ] , ! 0 ) ; return r && s . rangeList . rangeAtPoint ( r . start ) && s . addRange ( r , ! 0 ) , this . $blockScrolling -= 1 , i . length } , this . selectMoreLines = function ( e , t ) { var n = this . selection . toOrientedRange ( ) , r = n . cursor == n . end , s = this . session . documentToScreenPosition ( n . cursor ) ; this . selection . $desiredColumn && ( s . column = this . selection . $desiredColumn ) ; var o = this . session . screenToDocumentPosition ( s . row + e , s . column ) ; if ( n . isEmpty ( ) ) var a = o ; else var u = this . session . documentToScreenPosition ( r ? n . end : n . start ) , a = this . session . screenToDocumentPosition ( u . row + e , u . column ) ; if ( r ) { var f = i . fromPoints ( o , a ) ; f . cursor = f . start } else { var f = i . fromPoints ( a , o ) ; f . cursor = f . end } if ( f . desiredColumn = s . column , this . selection . inMultiSelectMode ) { if ( t ) var l = n . cursor } else this . selection . addRange ( n ) ; this . selection . addRange ( f ) , l && this . selection . substractPoint ( l ) } , this . transposeSelections = function ( e ) { for ( var t = this . session , n = t . multiSelect , r = n . ranges , i = r . length ; i -- ; ) { var s = r [ i ] ; if ( s . isEmpty ( ) ) { var o = t . getWordRange ( s . start . row , s . start . column ) ; s . start . row = o . start . row , s . start . column = o . start . column , s . end . row = o . end . row , s . end . column = o . end . column } } n . mergeOverlappingRanges ( ) ; for ( var u = [ ] , i = r . length ; i -- ; ) { var s = r [ i ] ; u . unshift ( t . getTextRange ( s ) ) } e < 0 ? u . unshift ( u . pop ( ) ) : u . push ( u . shift ( ) ) ; for ( var i = r . length ; i -- ; ) { var s = r [ i ] , o = s . clone ( ) ; t . replace ( s , u [ i ] ) , s . start . row = o . start . row , s . start . column = o . start . column } } , this . selectMore = function ( e , t , n ) { var r = this . session , i = r . multiSelect , s = i . toOrientedRange ( ) ; if ( ! s . isEmpty ( ) || ( s = r . getWordRange ( s . start . row , s . start . column ) , s . cursor = e == - 1 ? s . start : s . end , this . multiSelect . addRange ( s ) , ! n ) ) { var o = r . getTextRange ( s ) , u = h ( r , o , e ) ; u && ( u . cursor = e == - 1 ? u . start : u . end , this . $blockScrolling += 1 , this . session . unfold ( u ) , this . multiSelect . addRange ( u ) , this . $blockScrolling -= 1 , this . renderer . scrollCursorIntoView ( null , . 5 ) ) , t && this . multiSelect . substractPoint ( s . cursor ) } } , this . alignCursors = function ( ) { var e = this . session , t = e . multiSelect , n = t . ranges , r = - 1 , s = n . filter ( function ( e ) { return e . cursor . row == r || void ( r = e . cursor . row ) } ) ; if ( n . length && s . length != n . length - 1 ) { s . forEach ( function ( e ) { t . substractPoint ( e . cursor ) } ) ; var d = 0 , v = 1 / 0 , m = n . map ( function ( t ) { var n = t . cursor , r = e . getLine ( n . row ) , i = r . substr ( n . column ) . search ( /\S/g ) ; return i == - 1 && ( i = 0 ) , n . column > d && ( d = n . column ) , i < v && ( v = i ) , i } ) ; n . forEach ( function ( t , n ) { var r = t . cursor , s = d - r . column , o = m [ n ] - v ; s > o ? e . insert ( r , a . stringRepeat ( " " , s - o ) ) : e . remove ( new i ( r . row , r . column , r . row , r . column - s + o ) ) , t . start . column = t . end . column = d , t . start . row = t . end . row = r . row , t . cursor = t . end } ) , t . fromOrientedRange ( n [ 0 ] ) , this . renderer . updateCursor ( ) , this . renderer . updateBackMarkers ( ) } else { var o = this . selection . getRange ( ) , u = o . start . row , f = o . end . row , l = u == f ; if ( l ) { var h , c = this . session . getLength ( ) ; do h = this . session . getLine ( f ) ; while ( /[=:]/ . test ( h ) && ++ f < c ) ; do h = this . session . getLine ( u ) ; while ( /[=:]/ . test ( h ) && -- u > 0 ) ; u < 0 && ( u = 0 ) , f >= c && ( f = c - 1 ) } var p = this . session . removeFullLines ( u , f ) ; p = this . $reAlignText ( p , l ) , this . session . insert ( { row : u , column : 0 } , p . join ( "\n" ) + "\n" ) , l || ( o . start . column = 0 , o . end . column = p [ p . length - 1 ] . length ) , this . selection . setRange ( o ) } } , this . $reAlignText = function ( e , t ) { function u ( e ) { return a . stringRepeat ( " " , e ) } function f
2016-09-25 04:08:49 +00:00
} , { token : "support.function.dom" , regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/ } , { token : "support.constant" , regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/ } , { token : "identifier" , regex : o } , { regex : "" , token : "empty" , next : "no_regex" } ] , start : [ i . getStartRule ( "doc-start" ) , f ( "start" ) , { token : "string.regexp" , regex : "\\/" , next : "regex" } , { token : "text" , regex : "\\s+|^$" , next : "start" } , { token : "empty" , regex : "" , next : "no_regex" } ] , regex : [ { token : "regexp.keyword.operator" , regex : "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)" } , { token : "string.regexp" , regex : "/[sxngimy]*" , next : "no_regex" } , { token : "invalid" , regex : /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/ } , { token : "constant.language.escape" , regex : /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/ } , { token : "constant.language.delimiter" , regex : /\|/ } , { token : "constant.language.escape" , regex : /\[\^?/ , next : "regex_character_class" } , { token : "empty" , regex : "$" , next : "no_regex" } , { defaultToken : "string.regexp" } ] , regex _character _class : [ { token : "regexp.charclass.keyword.operator" , regex : "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)" } , { token : "constant.language.escape" , regex : "]" , next : "regex" } , { token : "constant.language.escape" , regex : "-" } , { token : "empty" , regex : "$" , next : "no_regex" } , { defaultToken : "string.regexp.charachterclass" } ] , function _arguments : [ { token : "variable.parameter" , regex : o } , { token : "punctuation.operator" , regex : "[, ]+" } , { token : "punctuation.operator" , regex : "$" } , { token : "empty" , regex : "" , next : "no_regex" } ] , qqstring : [ { token : "constant.language.escape" , regex : r } , { token : "string" , regex : "\\\\$" , next : "qqstring" } , { token : "string" , regex : '"|$' , next : "no_regex" } , { defaultToken : "string" } ] , qstring : [ { token : "constant.language.escape" , regex : r } , { token : "string" , regex : "\\\\$" , next : " qst
2016-09-25 21:32:39 +00:00
"-webkit-border-bottom-right-radius" : 1 , "-webkit-border-bottom-left-radius" : 1 , "-moz-box-shadow" : 1 , "-webkit-box-shadow" : 1 , transform : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } , "-moz-transform" : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } , "-webkit-transform" : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } } , i = function ( ) { } ; ( function ( ) { this . completionsDefined = ! 1 , this . defineCompletions = function ( ) { if ( document ) { var e = document . createElement ( "c" ) . style ; for ( var t in e ) if ( "string" == typeof e [ t ] ) { var n = t . replace ( /[A-Z]/g , function ( e ) { return "-" + e . toLowerCase ( ) } ) ; r . hasOwnProperty ( n ) || ( r [ n ] = 1 ) } } this . completionsDefined = ! 0 } , this . getCompletions = function ( e , t , n , r ) { this . completionsDefined || this . defineCompletions ( ) ; var i = t . getTokenAt ( n . row , n . column ) ; if ( ! i ) return [ ] ; if ( "ruleset" === e ) { var s = t . getLine ( n . row ) . substr ( 0 , n . column ) ; return /:[^;]+$/ . test ( s ) ? ( /([\w\-]+):[^:]*$/ . test ( s ) , this . getPropertyValueCompletions ( e , t , n , r ) ) : this . getPropertyCompletions ( e , t , n , r ) } return [ ] } , this . getPropertyCompletions = function ( e , t , n , i ) { var s = Object . keys ( r ) ; return s . map ( function ( e ) { return { caption : e , snippet : e + ": $0" , meta : "property" , score : Number . MAX _VALUE } } ) } , this . getPropertyValueCompletions = function ( e , t , n , i ) { var s = t . getLine ( n . row ) . substr ( 0 , n . column ) , o = ( /([\w\-]+):[^:]*$/ . exec ( s ) || { } ) [ 1 ] ; if ( ! o ) return [ ] ; var u = [ ] ; return o in r && "object" == typeof r [ o ] && ( u = Object . keys ( r [ o ] ) ) , u . map ( function ( e ) { return { caption : e , snippet : e , meta : "property value" , score : Number . MAX _VALUE } } ) } } ) . call ( i . prototype ) , t . CssCompletions = i } ) , ace . define ( "ace/mode/behaviour/css" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/behaviour" , "ace/mode/behaviour/cstyle" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../../lib/oop" ) , s = ( e ( "../behaviour" ) . Behaviour , e ( "./cstyle" ) . CstyleBehaviour ) , o = e ( "../../token_iterator" ) . TokenIterator , u = function ( ) { this . inherit ( s ) , this . add ( "colon" , "insertion" , function ( e , t , n , r , i ) { if ( ":" === i ) { var s = n . getCursorPosition ( ) , u = new o ( r , s . row , s . column ) , a = u . getCurrentToken ( ) ; if ( a && a . value . match ( /\s+/ ) && ( a = u . stepBackward ( ) ) , a && "support.type" === a . type ) { var f = r . doc . getLine ( s . row ) , l = f . substring ( s . column , s . column + 1 ) ; if ( ":" === l ) return { text : "" , selection : [ 1 , 1 ] } ; if ( ! f . substring ( s . column ) . match ( /^\s*;/ ) ) return { text : ":;" , selection : [ 1 , 1 ] } } } } ) , this . add ( "colon" , "deletion" , function ( e , t , n , r , i ) { var s = r . doc . getTextRange ( i ) ; if ( ! i . isMultiLine ( ) && ":" === s ) { var u = n . getCursorPosition ( ) , a = new o ( r , u . row , u . column ) , f = a . getCurrentToken ( ) ; if ( f && f . value . match ( /\s+/ ) && ( f = a . stepBackward ( ) ) , f && "support.type" === f . type ) { var l = r . doc . getLine ( i . start . row ) , c = l . substring ( i . end . column , i . end . column + 1 ) ; if ( ";" === c ) return i . end . column ++ , i } } } ) , this . add ( "semicolon" , "insertion" , function ( e , t , n , r , i ) { if ( ";" === i ) { var s = n . getCursorPosition ( ) , o = r . doc . getLine ( s . row ) , u = o . substring ( s . column , s . column + 1 ) ; if ( ";" === u ) return { text : "" , selection : [ 1 , 1 ] } } } ) } ; r . inherits ( u , s ) , t . CssBehaviour = u } ) , ace . define ( "ace/mode/css" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/text" , "ace/mode/css_highlight_rules" , "ace/mode/matching_brace_outdent" , "ace/worker/worker_client" , "ace/mode/css_completions" , "ace/mode/behaviour/css" , "ace/mode/folding/cstyle" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "./text" ) . Mode , s = e ( "./css_highlight_rules" ) . CssHighlightRules , o = e ( "./matching_brace_outdent" ) . MatchingBraceOutdent , u = e ( "../worker/worker_client" ) . WorkerClient , a = e ( "./css_completions" ) . CssCompletions , f = e ( "./behaviour/css" ) . CssBehaviour , l = e ( "./folding/cstyle" ) . FoldMode , c = function ( ) { this . HighlightRules = s , this . $outdent = new o , this . $behaviour = new f , this . $completer = new a , this . foldingRules = new l } ; r . inherits ( c , i ) , function ( ) { this . foldingRules = "cStyle" , this . blockComment = { start : "/*" , end : "*/" } , this . getNextLineIndent = function ( e , t , n ) { var r = this . $getIndent ( t ) , i = this . getTokenizer ( ) . getLineTokens ( t , e ) . tokens ; if ( i . length && "comment" == i [ i . length - 1 ] . type ) return r ; var s = t . match ( /^.*\{\s*$/ ) ; return s && ( r += n ) , r } , this . checkOutdent = function ( e , t , n ) { return this . $outdent . checkOutdent ( t , n ) } , this . autoOutdent = function ( e , t , n ) { this . $outdent . autoOutdent ( t , n ) } , this . getCompletions = function ( e , t , n , r ) { return this . $completer . getCompletions ( e , t , n , r ) } , this . createWorker = function ( e ) { var t = new u ( [ "ace" ] , "ace/mode/css_worker"
2016-09-25 04:08:49 +00:00
Ct [ "[object Float32Array]" ] = Ct [ "[object Float64Array]" ] = Ct [ "[object Int8Array]" ] = Ct [ "[object Int16Array]" ] = Ct [ "[object Int32Array]" ] = Ct [ "[object Uint8Array]" ] = Ct [ "[object Uint8ClampedArray]" ] = Ct [ "[object Uint16Array]" ] = Ct [ "[object Uint32Array]" ] = ! 0 , Ct [ "[object Arguments]" ] = Ct [ "[object Array]" ] = Ct [ "[object ArrayBuffer]" ] = Ct [ "[object Boolean]" ] = Ct [ "[object DataView]" ] = Ct [ "[object Date]" ] = Ct [ "[object Error]" ] = Ct [ "[object Function]" ] = Ct [ "[object Map]" ] = Ct [ "[object Number]" ] = Ct [ "[object Object]" ] = Ct [ "[object RegExp]" ] = Ct [ "[object Set]" ] = Ct [ "[object String]" ] = Ct [ "[object WeakMap]" ] = ! 1 ; var Ut = { } ; Ut [ "[object Arguments]" ] = Ut [ "[object Array]" ] = Ut [ "[object ArrayBuffer]" ] = Ut [ "[object DataView]" ] = Ut [ "[object Boolean]" ] = Ut [ "[object Date]" ] = Ut [ "[object Float32Array]" ] = Ut [ "[object Float64Array]" ] = Ut [ "[object Int8Array]" ] = Ut [ "[object Int16Array]" ] = Ut [ "[object Int32Array]" ] = Ut [ "[object Map]" ] = Ut [ "[object Number]" ] = Ut [ "[object Object]" ] = Ut [ "[object RegExp]" ] = Ut [ "[object Set]" ] = Ut [ "[object String]" ] = Ut [ "[object Symbol]" ] = Ut [ "[object Uint8Array]" ] = Ut [ "[object Uint8ClampedArray]" ] = Ut [ "[object Uint16Array]" ] = Ut [ "[object Uint32Array]" ] = ! 0 , Ut [ "[object Error]" ] = Ut [ "[object Function]" ] = Ut [ "[object WeakMap]" ] = ! 1 ; var Mt , Dt = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , Tt = parseFloat , $t = parseInt , Ft = "object" == typeof global && global && global . Object === Object && global , Nt = "object" == typeof self && self && self . Object === Object && self , Pt = Ft || Nt || Function ( "return this" ) ( ) , Zt = "object" == typeof exports && exports && ! exports . nodeType && exports , qt = Zt && "object" == typeof module && module && ! module . nodeType && module , Vt = qt && qt . exports === Zt , Kt = Vt && Ft . g ; t : { try { Mt = Kt && Kt . f ( "util" ) ; break t } catch ( t ) { } Mt = void 0 } var Gt = Mt && Mt . isArrayBuffer , Jt = Mt && Mt . isDate , Yt = Mt && Mt . isMap , Ht = Mt && Mt . isRegExp , Qt = Mt && Mt . isSet , Xt = Mt && Mt . isTypedArray , tn = j ( "length" ) , nn = w ( { "À" : "A" , "Á" : "A" , "Â" : "A" , "Ã" : "A" , "Ä" : "A" , "Å" : "A" , "à" : "a" , "á" : "a" , "â" : "a" , "ã" : "a" , "ä" : "a" , "å" : "a" , "Ç" : "C" , "ç" : "c" , "Ð" : "D" , "ð" : "d" , "È" : "E" , "É" : "E" , "Ê" : "E" , "Ë" : "E" , "è" : "e" , "é" : "e" , "ê" : "e" , "ë" : "e" , "Ì" : "I" , "Í" : "I" , "Î" : "I" , "Ï" : "I" , "ì" : "i" , "í" : "i" , "î" : "i" , "ï" : "i" , "Ñ" : "N" , "ñ" : "n" , "Ò" : "O" , "Ó" : "O" , "Ô" : "O" , "Õ" : "O" , "Ö" : "O" , "Ø" : "O" , "ò" : "o" , "ó" : "o" , "ô" : "o" , "õ" : "o" , "ö" : "o" , "ø" : "o" , "Ù" : "U" , "Ú" : "U" , "Û" : "U" , "Ü" : "U" , "ù" : "u" , "ú" : "u" , "û" : "u" , "ü" : "u" , "Ý" : "Y" , "ý" : "y" , "ÿ" : "y" , "Æ" : "Ae" , "æ" : "ae" , "Þ" : "Th" , "þ" : "th" , "ß" : "ss" , "Ā" : "A" , "Ă" : "A" , "Ą" : "A" , "ā" : "a" , "ă" : "a" , "ą" : "a" , "Ć" : "C" , "Ĉ" : "C" , "Ċ" : "C" , "Č" : "C" , "ć" : "c" , "ĉ" : "c" , "ċ" : "c" , "č" : "c" , "Ď" : "D" , "Đ" : "D" , "ď" : "d" , "đ" : "d" , "Ē" : "E" , "Ĕ" : "E" , "Ė" : "E" , "Ę" : "E" , "Ě" : "E" , "ē" : "e" , "ĕ" : "e" , "ė" : "e" , "ę" : "e" , "ě" : "e" , "Ĝ" : "G" , "Ğ" : "G" , "Ġ" : "G" , "Ģ" : "G" , "ĝ" : "g" , "ğ" : "g" , "ġ" : "g" , "ģ" : "g" , "Ĥ" : "H" , "Ħ" : "H" , "ĥ" : "h" , "ħ" : "h" , "Ĩ" : "I" , "Ī" : "I" , "Ĭ" : "I" , "Į" : "I" , "İ" : "I" , "ĩ" : "i" , "ī" : "i" , "ĭ" : "i" , "į" : "i" , "ı " : "i" , "Ĵ" : "J" , "ĵ" : "j" , "Ķ" : "K" , "ķ" : "k" , "ĸ" : "k" , "Ĺ" : "L" , "Ļ" : "L" , "Ľ" : "L" , "Ŀ" : "L" , "Ł" : "L" , "ĺ" : "l" , "ļ" : "l" , "ľ" : "l" , "ŀ" : "l" , "ł" : "l" , "Ń" : "N" , "Ņ" : "N" , "Ň" : "N" , "Ŋ" : "N" , "ń" : "n" , "ņ" : "n" , "ň" : "n" , "ŋ" : "n" , "Ō" : "O" , "Ŏ" : "O" , "Ő" : "O" , "ō" : "o" , "ŏ" : "o" , "ő" : "o" , "Ŕ" : "R" , "Ŗ" : "R" , "Ř" : "R" , "ŕ" : "r" , "ŗ" : "r" , "ř" : "r" , "Ś" : "S" , "Ŝ" : "S" , "Ş" : "S" , "Š" : "S" , "ś" : "s" , "ŝ" : "s" , "ş" : "s" , "š" : "s" , "Ţ" : "T" , "Ť" : "T" , "Ŧ" : "T" , "ţ" : "t" , "ť" : "t" , "ŧ" : "t" , "Ũ" : "U" , "Ū" : "U" , "Ŭ" : "U" , "Ů" : "U" , "Ű" : "U" , "Ų" : "U" , "ũ" : "u" , "ū" : "u" , "ŭ" : "u" , "ů" : "u" , "ű" : "u" , "ų" : "u" , "Ŵ" : "W" , "ŵ" : "w" , "Ŷ" : "Y" , "ŷ" : "y" , "Ÿ" : "Y" , "Ź" : "Z" , "Ż" : "Z" , "Ž" : "Z" , "ź" : "z" , "ż" : "z" , "ž" : "z" , "IJ" : "IJ" , "ij" : "ij" , "Œ" : "Oe" , "œ" : "oe" , "ʼn" : "'n" , "ſ " : "s" } ) , rn = w ( { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" } ) , en = w ( { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" } ) , un = function w ( kt ) { function Et ( t ) { return ni . call ( t ) } function Ot ( t ) { if ( au ( t ) && ! Ko ( t ) && ! ( t instanceof Dt ) ) { if ( t instanceof Mt ) return t ; if ( Qu . call ( t , "__wrapped__" ) ) return ze ( t ) } return new Mt ( t ) } function Rt ( ) { } function Mt ( t , n ) { this . _ _wrapped _ _ = t , this . _ _actions _ _ = [ ] , this . _ _chain _ _ = ! ! n , this . _ _index _ _ = 0 , this . _ _values _ _ = F } function Dt ( t ) { this . _ _wrapped _ _ = t , this . _ _actions _ _ = [ ] , this . _ _dir _ _ = 1 , this . _ _filtered _ _ = ! 1
return t ? "Symbol(src)_1." + t : "" } ( ) , Hu = Fu . prototype . toString , Qu = Gu . hasOwnProperty , Xu = 0 , ti = Hu . call ( Pu ) , ni = Gu . toString , ri = Pt . _ , ei = Zu ( "^" + Hu . call ( Qu ) . replace ( it , "\\$&" ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g , "$1.*?" ) + "$" ) , ui = Vt ? kt . Buffer : F , ii = kt . Symbol , oi = kt . Uint8Array , fi = Pu . defineProperty , ci = C ( Pu . getPrototypeOf , Pu ) , ai = ii ? ii . iterator : F , li = Pu . create , si = Gu . propertyIsEnumerable , hi = Ku . splice , pi = ii ? ii . isConcatSpreadable : F , _i = kt . clearTimeout !== Pt . clearTimeout && kt . clearTimeout , vi = Tu && Tu . now !== Pt . Date . now && Tu . now , gi = kt . setTimeout !== Pt . setTimeout && kt . setTimeout , di = Nu . ceil , yi = Nu . floor , bi = Pu . getOwnPropertySymbols , xi = ui ? ui . isBuffer : F , ji = kt . isFinite , wi = Ku . join , mi = C ( Pu . keys , Pu ) , Ai = Nu . max , ki = Nu . min , Ei = Tu . now , Oi = kt . parseInt , Si = Nu . random , Ii = Ku . reverse , Ri = le ( kt , "DataView" ) , zi = le ( kt , "Map" ) , Wi = le ( kt , "Promise" ) , Bi = le ( kt , "Set" ) , Li = le ( kt , "WeakMap" ) , Ci = le ( Pu , "create" ) , Ui = le ( Pu , "defineProperty" ) , Mi = Li && new Li , Di = { } , Ti = Ie ( Ri ) , $i = Ie ( zi ) , Fi = Ie ( Wi ) , Ni = Ie ( Bi ) , Pi = Ie ( Li ) , Zi = ii ? ii . prototype : F , qi = Zi ? Zi . valueOf : F , Vi = Zi ? Zi . toString : F ; Ot . templateSettings = { escape : Q , evaluate : X , interpolate : tt , variable : "" , imports : { _ : Ot } } , Ot . prototype = Rt . prototype , Ot . prototype . constructor = Ot , Mt . prototype = yn ( Rt . prototype ) , Mt . prototype . constructor = Mt , Dt . prototype = yn ( Rt . prototype ) , Dt . prototype . constructor = Dt , Ft . prototype . clear = function ( ) { this . _ _data _ _ = Ci ? Ci ( null ) : { } , this . size = 0 } , Ft . prototype . delete = function ( t ) { return t = this . has ( t ) && delete this . _ _data _ _ [ t ] , this . size -= t ? 1 : 0 , t } , Ft . prototype . get = function ( t ) { var n = this . _ _data _ _ ; return Ci ? ( t = n [ t ] , "__lodash_hash_undefined__" === t ? F : t ) : Qu . call ( n , t ) ? n [ t ] : F } , Ft . prototype . has = function ( t ) { var n = this . _ _data _ _ ; return Ci ? n [ t ] !== F : Qu . call ( n , t ) } , Ft . prototype . set = function ( t , n ) { var r = this . _ _data _ _ ; return this . size += this . has ( t ) ? 0 : 1 , r [ t ] = Ci && n === F ? "__lodash_hash_undefined__" : n , this } , Nt . prototype . clear = function ( ) { this . _ _data _ _ = [ ] , this . size = 0 } , Nt . prototype . delete = function ( t ) { var n = this . _ _data _ _ ; return t = an ( n , t ) , ! ( 0 > t || ( t == n . length - 1 ? n . pop ( ) : hi . call ( n , t , 1 ) , -- this . size , 0 ) ) } , Nt . prototype . get = function ( t ) { var n = this . _ _data _ _ ; return t = an ( n , t ) , 0 > t ? F : n [ t ] [ 1 ] } , Nt . prototype . has = function ( t ) { return - 1 < an ( this . _ _data _ _ , t ) } , Nt . prototype . set = function ( t , n ) { var r = this . _ _data _ _ , e = an ( r , t ) ; return 0 > e ? ( ++ this . size , r . push ( [ t , n ] ) ) : r [ e ] [ 1 ] = n , this } , Zt . prototype . clear = function ( ) { this . size = 0 , this . _ _data _ _ = { hash : new Ft , map : new ( zi || Nt ) , string : new Ft } } , Zt . prototype . delete = function ( t ) { return t = ce ( this , t ) . delete ( t ) , this . size -= t ? 1 : 0 , t } , Zt . prototype . get = function ( t ) { return ce ( this , t ) . get ( t ) } , Zt . prototype . has = function ( t ) { return ce ( this , t ) . has ( t ) } , Zt . prototype . set = function ( t , n ) { var r = ce ( this , t ) , e = r . size ; return r . set ( t , n ) , this . size += r . size == e ? 0 : 1 , this } , qt . prototype . add = qt . prototype . push = function ( t ) { return this . _ _data _ _ . set ( t , "__lodash_hash_undefined__" ) , this } , qt . prototype . has = function ( t ) { return this . _ _data _ _ . has ( t ) } , Kt . prototype . clear = function ( ) { this . _ _data _ _ = new Nt , this . size = 0 } , Kt . prototype . delete = function ( t ) { var n = this . _ _data _ _ ; return t = n . delete ( t ) , this . size = n . size , t } , Kt . prototype . get = function ( t ) { return this . _ _data _ _ . get ( t ) } , Kt . prototype . has = function ( t ) { return this . _ _data _ _ . has ( t ) } , Kt . prototype . set = function ( t , n ) { var r = this . _ _data _ _ ; if ( r instanceof Nt ) { var e = r . _ _data _ _ ; if ( ! zi || 199 > e . length ) return e . push ( [ t , n ] ) , this . size = ++ r . size , this ; r = this . _ _data _ _ = new Zt ( e ) } return r . set ( t , n ) , this . size = r . size , this } ; var Ki = Cr ( kn ) , Gi = Cr ( En , ! 0 ) , Ji = Ur ( ) , Yi = Ur ( ! 0 ) , Hi = Mi ? function ( t , n ) { return Mi . set ( t , n ) , t } : zu , Qi = Ui ? function ( t , n ) { return Ui ( t , "toString" , { configurable : ! 0 , enumerable : ! 1 , value : Ru ( n ) , writable : ! 0 } ) } : zu , Xi = _i || function ( t ) { return Pt . clearTimeout ( t ) } , to = Bi && 1 / M ( new Bi ( [ , - 0 ] ) ) [ 1 ] == N ? function ( t ) { return new Bi ( t ) } : Lu , no = Mi ? function ( t ) { return Mi . get ( t ) } : Lu , ro = bi ? C ( bi , Pu ) : Uu , eo = bi ? function ( t ) { for ( var n = [ ] ; t ; ) s ( n , ro ( t ) ) , t = ci ( t ) ; return n } : Uu ; ( Ri && "[object DataView]" != Et ( new Ri ( new ArrayBuffer ( 1 ) ) ) || zi && "[object Map]" != Et ( new zi ) || Wi && "[object Promise]" != Et ( Wi . resolve ( ) ) || Bi && "[object Set]" != Et ( new Bi ) || Li && "[object WeakMap]" != Et ( new Li ) ) && ( Et = function ( t ) { var n = ni . call ( t ) ; if ( t = ( t = "[object Object]" == n ? t . constructor : F ) ? Ie ( t ) : F ) switch ( t ) { case Ti : return "[object DataView]" ; case $i : return " [ object Map