forked from bobthecow/genghis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenghis.rb
executable file
·868 lines (706 loc) · 528 KB
/
genghis.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
#!/usr/bin/env ruby
#
# Genghis v2.1.6
#
# The single-file MongoDB admin app
#
# http://genghisapp.com
#
# @author Justin Hileman <justin@justinhileman.info>
#
module Genghis
VERSION = "2.1.6"
end
GENGHIS_VERSION = Genghis::VERSION
require 'mongo'
require 'json'
module Genghis
class JSON
class << self
def as_json(object)
enc(object, Array, Hash, BSON::OrderedHash, Genghis::Models::Query)
end
def encode(object)
as_json(object).to_json
end
def decode(str)
dec(::JSON.parse(str))
end
private
def enc(o, *a)
o = o.to_s if o.is_a? Symbol
fail "invalid: #{o.inspect}" unless a.empty? or a.include? o.class
case o
when Genghis::Models::Query then enc(o.as_json)
when Array then o.map { |e| enc(e) }
when Hash then enc_hash(o.clone)
when Time then thunk('ISODate', o.strftime('%FT%T%:z'))
when Regexp then thunk('RegExp', {'$pattern' => o.source, '$flags' => enc_re_flags(o.options)})
when BSON::ObjectId then thunk('ObjectId', o.to_s)
when BSON::DBRef then db_ref(o)
when BSON::Binary then thunk('BinData', {'$subtype' => o.subtype, '$binary' => enc_bin_data(o)})
else o
end
end
def enc_hash(o)
o.keys.each { |k| o[k] = enc(o[k]) }
o
end
def thunk(name, value)
{'$genghisType' => name, '$value' => value }
end
def enc_re_flags(opt)
((opt & Regexp::MULTILINE != 0) ? 'm' : '') + ((opt & Regexp::IGNORECASE != 0) ? 'i' : '')
end
def enc_bin_data(o)
Base64.strict_encode64(o.to_s)
end
def db_ref(o)
o = o.to_hash
{'$ref' => o['$ns'], '$id' => enc(o['$id'])}
end
def dec(o)
case o
when Array then o.map { |e| dec(e) }
when Hash then
case o['$genghisType']
when 'ObjectId' then mongo_object_id o['$value']
when 'ISODate' then mongo_iso_date o['$value']
when 'RegExp' then mongo_reg_exp o['$value']
when 'BinData' then mongo_bin_data o['$value']
else o.merge(o) { |k, v| dec(v) }
end
else o
end
end
def dec_re_flags(flags)
f = flags || ''
(f.include?('m') ? Regexp::MULTILINE : 0) | (f.include?('i') ? Regexp::IGNORECASE : 0)
end
def mongo_object_id(value)
value.nil? ? BSON::ObjectId.new : BSON::ObjectId.from_string(value)
end
def mongo_iso_date(value)
value.nil? ? Time.now : Time.at(DateTime.parse(value).strftime('%s').to_i)
end
def mongo_reg_exp(value)
Regexp.new(value['$pattern'], dec_re_flags(value['$flags']))
end
def mongo_bin_data(value)
BSON::Binary.new(Base64.decode64(value['$binary']), value['$subtype'])
end
end
end
end
require 'sinatra'
module Genghis
class Exception < ::Exception
end
class MalformedDocument < Exception
def http_status; 400 end
def initialize(msg=nil)
@msg = msg
end
def message
@msg || 'Malformed document'
end
end
class NotFound < Exception
def http_status; 404 end
def message
'Not found'
end
end
class AlreadyExists < Exception
def http_status; 400 end
end
class ServerNotFound < NotFound
def initialize(name)
@name = name
end
def message
"Server '#{@name}' not found"
end
end
class ServerAlreadyExists < AlreadyExists
def initialize(name)
@name = name
end
def message
"Server '#{@name}' already exists"
end
end
class DatabaseNotFound < NotFound
def initialize(server, name)
@server = server
@name = name
end
def message
"Database '#{@name}' not found on '#{@server.name}'"
end
end
class DatabaseAlreadyExists < AlreadyExists
def initialize(server, name)
@server = server
@name = name
end
def message
"Database '#{@name}' already exists on '#{@server.name}'"
end
end
class CollectionNotFound < NotFound
def initialize(database, name)
@database = database
@name = name
end
def message
"Collection '#{@name}' not found in '#{@database.name}'"
end
end
class CollectionAlreadyExists < AlreadyExists
def initialize(database, name)
@database = database
@name = name
end
def message
"Collection '#{@name}' already exists in '#{@database.name}'"
end
end
class DocumentNotFound < NotFound
def initialize(collection, doc_id)
@collection = collection
@doc_id = doc_id
end
def message
"Document '#{@doc_id}' not found in '#{@collection.name}'"
end
end
end
require 'base64'
module Genghis
module Models
class Collection
def initialize(collection)
@collection = collection
end
def name
@collection.name
end
def drop!
@collection.drop
end
def insert(data)
id = @collection.insert data
@collection.find_one('_id' => id)
end
def remove(doc_id)
query = {'_id' => thunk_mongo_id(doc_id)}
raise Genghis::DocumentNotFound.new(self, doc_id) unless @collection.find_one(query)
@collection.remove query
end
def update(doc_id, data)
document = @collection.find_and_modify \
:query => {'_id' => thunk_mongo_id(doc_id)},
:update => data,
:new => true
raise Genghis::DocumentNotFound.new(self, doc_id) unless document
document
end
def documents(query={}, page=1)
Query.new(@collection, query, page)
end
def [](doc_id)
doc = @collection.find_one('_id' => thunk_mongo_id(doc_id))
raise Genghis::DocumentNotFound.new(self, doc_id) unless doc
doc
end
def as_json(*)
{
:id => @collection.name,
:name => @collection.name,
:count => @collection.count,
:indexes => @collection.index_information.values,
}
end
def to_json(*)
as_json.to_json
end
private
def thunk_mongo_id(doc_id)
if (doc_id[0] == '~')
::Genghis::JSON.decode(Base64.decode64(doc_id[1..-1]))
else
doc_id =~ /^[a-f0-9]{24}$/i ? BSON::ObjectId(doc_id) : doc_id
end
end
end
end
end
module Genghis
module Models
class Database
def initialize(database)
@database = database
end
def name
@database.name
end
def drop!
@database.connection.drop_database(@database.name)
end
def create_collection(coll_name)
raise Genghis::CollectionAlreadyExists.new(self, coll_name) if @database.collection_names.include? coll_name
@database.create_collection coll_name rescue raise Genghis::MalformedDocument.new('Invalid collection name')
Collection.new(@database[coll_name])
end
def collections
# TODO: should I be rejecting all of these `system*` collections?
@collections ||= @database.collections.map { |c| Collection.new(c) unless c.name.start_with? 'system' }.compact
end
def [](coll_name)
raise Genghis::CollectionNotFound.new(self, coll_name) unless @database.collection_names.include? coll_name
Collection.new(@database[coll_name])
end
def as_json(*)
{
:id => @database.name,
:name => @database.name,
:count => collections.count,
:collections => collections.map { |c| c.name },
:size => info['sizeOnDisk'].to_i,
}
end
def to_json(*)
as_json.to_json
end
private
def info
@info ||= begin
name = @database.name
@database.connection['admin'].command({:listDatabases => true})['databases'].detect do |db|
db['name'] == name
end
end
end
end
end
end
module Genghis
module Models
class Query
PAGE_LIMIT = 50
def initialize(collection, query={}, page=1)
@collection = collection
@page = page
@query = query
end
def as_json(*)
{
:count => documents.count,
:page => @page,
:pages => pages,
:per_page => PAGE_LIMIT,
:offset => offset,
:documents => documents.to_a
}
end
def to_json(*)
as_json.to_json
end
private
def pages
[0, (documents.count / PAGE_LIMIT.to_f).ceil].max
end
def offset
PAGE_LIMIT * (@page - 1)
end
def documents
@documents ||= @collection.find(@query, :limit => PAGE_LIMIT, :skip => offset)
end
end
end
end
module Genghis
module Models
class Server
attr_reader :name
attr_reader :dsn
attr_accessor :default
@default = false
def initialize(dsn)
dsn = 'mongodb://'+dsn unless dsn.include? '://'
begin
dsn = extract_extra_options(dsn)
uri = ::Mongo::URIParser.new dsn
# name this server something useful
name = uri.host
if user = uri.auths.map{|a| a['username']}.first
name = "#{user}@#{name}"
end
name = "#{name}:#{uri.port}" unless uri.port == 27017
if db = uri.auths.map{|a| a['db_name']}.first
unless db == 'admin'
name = "#{name}/#{db}"
@db = db
end
end
@name = name
rescue Mongo::MongoArgumentError => e
@error = "Malformed server DSN: #{e.message}"
@name = dsn
end
@dsn = dsn
end
def create_database(db_name)
raise Genghis::DatabaseAlreadyExists.new(self, db_name) if connection.database_names.include? db_name
begin
connection[db_name]['__genghis_tmp_collection__'].drop
rescue Mongo::InvalidNSName
raise Genghis::MalformedDocument.new('Invalid database name')
end
Database.new(connection[db_name])
end
def databases
info['databases'].map { |db| Database.new(connection[db['name']]) }
end
def [](db_name)
raise Genghis::DatabaseNotFound.new(self, db_name) unless connection.database_names.include? db_name
Database.new(connection[db_name])
end
def as_json(*)
json = {
:id => @name,
:name => @name,
:editable => !@default,
}
if @error
json.merge!({:error => @error})
else
begin
connection
info
rescue Mongo::ConnectionFailure => e
json.merge!({:error => "Connection error: #{e.message}"})
rescue Mongo::OperationFailure => e
json.merge!({:error => "Connection error: #{e.result['errmsg']}"})
else
json.merge!({
:size => info['totalSize'].to_i,
:count => info['databases'].count,
:databases => info['databases'].map { |db| db['name'] },
})
end
end
json
end
def to_json(*)
as_json.to_json
end
private
def extract_extra_options(dsn)
host, opts = dsn.split('?', 2)
keep = {}
@opts = {}
Rack::Utils.parse_query(opts).each do |opt, value|
case opt
when 'replicaSet'
keep[opt] = value
when 'connectTimeoutMS'
unless value =~ /^\d+$/
raise Mongo::MongoArgumentError.new("Unexpected #{opt} option value: #{value}")
end
@opts[:connect_timeout] = (value.to_f / 1000)
when 'ssl'
unless value == 'true'
raise Mongo::MongoArgumentError.new("Unexpected #{opt} option value: #{value}")
end
@opts[opt.to_sym] = true
else
raise Mongo::MongoArgumentError.new("Unknown option #{opt}")
end
end
opts = Rack::Utils.build_query keep
opts.empty? ? host : [host, opts].join('?')
end
def connection
@connection ||= Mongo::Connection.from_uri(@dsn, {:connect_timeout => 1}.merge(@opts))
rescue OpenSSL::SSL::SSLError => e
raise Mongo::ConnectionFailure.new('SSL connection error')
rescue StandardError => e
raise Mongo::ConnectionFailure.new(e.message)
end
def info
@info ||= begin
if @db.nil?
connection['admin'].command({:listDatabases => true})
else
{
'databases' => [{'name' => @db}],
'totalSize' => connection[@db].stats['fileSize']
}
end
end
end
end
end
end
require 'mongo'
require 'json'
module Genghis
module Helpers
PAGE_LIMIT = 50
### Genghis JSON responses ###
def genghis_json(doc, *args)
json(::Genghis::JSON.as_json(doc), *args)
end
### Misc request parsing helpers ###
def query_param
::Genghis::JSON.decode(params.fetch('q', '{}'))
end
def page_param
params.fetch('page', 1).to_i
end
def request_json
::JSON.parse request.body.read rescue raise Genghis::MalformedDocument.new
end
def request_genghis_json
::Genghis::JSON.decode request.body.read rescue raise Genghis::MalformedDocument.new
end
def thunk_mongo_id(id)
id =~ /^[a-f0-9]{24}$/i ? BSON::ObjectId(id) : id
end
### Seemed like a good place to put this ###
def server_status_alerts
alerts = []
unless defined? ::BSON::BSON_C
msg = <<-MSG.strip.gsub(/\s+/, " ")
<h4>MongoDB driver C extension not found.</h4>
Install this extension for better performance: <code>gem install bson_ext</code>
MSG
alerts << {:level => 'warning', :msg => msg}
end
unless defined? ::JSON::Ext
msg = <<-MSG.strip.gsub(/\s+/, " ")
<h4>JSON C extension not found.</h4>
Falling back to the pure Ruby variant. <code>gem install json</code> for better performance.
MSG
alerts << {:level => 'warning', :msg => msg}
end
unless ENV['GENGHIS_NO_UPDATE_CHECK']
begin
require 'open-uri'
open('https://raw.github.com/bobthecow/genghis/master/VERSION') do |f|
latest = f.read
outdated = Gem::Version.new(Genghis::VERSION.gsub(/[\+_-]/, '.')) < Gem::Version.new(latest.gsub(/[\+_-]/, '.'))
if latest && outdated
msg = <<-MSG.strip.gsub(/\s+/, " ")
<h4>A Genghis update is available</h4>
You are running Genghis version <tt>#{Genghis::VERSION}</tt>. The current version is <tt>#{latest}</tt>.
Visit <a href="http://genghisapp.com">genghisapp.com</a> for more information.
MSG
alerts << {:level => 'warning', :msg => msg}
end
end
rescue
# do nothing
end
end
alerts
end
### Server management ###
def servers
@servers ||= begin
dsn_list = ::JSON.parse(request.cookies['genghis_rb_servers'] || '[]')
servers = default_servers.merge(init_servers(dsn_list))
servers.empty? ? init_servers(['localhost']) : servers # fall back to 'localhost'
end
end
def default_servers
@default_servers ||= init_servers((ENV['GENGHIS_SERVERS'] || '').split(';'), :default => true)
end
def init_servers(dsn_list, opts={})
Hash[dsn_list.map { |dsn|
server = Genghis::Models::Server.new(dsn)
server.default = opts[:default] || false
[server.name, server]
}]
end
def add_server(dsn)
server = Genghis::Models::Server.new(dsn)
raise Genghis::ServerAlreadyExists.new(server.name) unless servers[server.name].nil?
servers[server.name] = server
save_servers
server
end
def remove_server(name)
raise Genghis::ServerNotFound.new(name) if servers[name].nil?
@servers.delete(name)
save_servers
end
def save_servers
dsn_list = servers.collect { |name, server| server.dsn unless server.default }.compact
response.set_cookie(
:genghis_rb_servers,
:path => '/',
:value => dsn_list.to_json,
:expires => Time.now + 60*60*24*365
)
end
end
end
require 'sinatra/base'
require 'sinatra/mustache'
require 'sinatra/json'
require 'sinatra/reloader'
require 'mongo'
module Genghis
class Server < Sinatra::Base
# default to 'production' because yeah
set :environment, :production
enable :inline_templates
helpers Sinatra::JSON
set :json_encoder, :to_json
set :json_content_type, :json
helpers Genghis::Helpers
def self.version
Genghis::VERSION
end
### Error handling ###
helpers do
def error_response(status, message)
@status, @message = status, message
@genghis_version = Genghis::VERSION
@base_url = request.env['SCRIPT_NAME']
if request.xhr?
content_type :json
error(status, {:error => message, :status => status}.to_json)
else
error(status, mustache('error.html.mustache'.intern))
end
end
end
not_found do
error_response(404, env['sinatra.error'].message.sub(/^Sinatra::NotFound$/, 'Not Found'))
end
error do
err = env['sinatra.error']
error_response(err.respond_to?(:http_status) ? err.http_status : 500, err.message)
end
### Asset routes ###
get '/assets/style.css' do
content_type 'text/css'
self.class.templates['style.css'.intern].first
end
get '/assets/script.js' do
content_type 'text/javascript'
self.class.templates['script.js'.intern].first
end
### Default route ###
get '*' do
# Unless this is XHR, render index and let the client-side app handle routing
pass if request.xhr?
@genghis_version = Genghis::VERSION
@base_url = request.env['SCRIPT_NAME']
mustache 'index.html.mustache'.intern
end
### Genghis API ###
get '/check-status' do
json({:alerts => server_status_alerts})
end
get '/servers' do
json servers.values
end
post '/servers' do
json add_server request_json['name']
end
get '/servers/:server' do |server|
raise Genghis::ServerNotFound.new(server) if servers[server].nil?
json servers[server]
end
delete '/servers/:server' do |server|
remove_server server
json :success => true
end
get '/servers/:server/databases' do |server|
json servers[server].databases
end
post '/servers/:server/databases' do |server|
json servers[server].create_database request_json['name']
end
get '/servers/:server/databases/:database' do |server, database|
json servers[server][database]
end
delete '/servers/:server/databases/:database' do |server, database|
servers[server][database].drop!
json :success => true
end
get '/servers/:server/databases/:database/collections' do |server, database|
json servers[server][database].collections
end
post '/servers/:server/databases/:database/collections' do |server, database|
json servers[server][database].create_collection request_json['name']
end
get '/servers/:server/databases/:database/collections/:collection' do |server, database, collection|
json servers[server][database][collection]
end
delete '/servers/:server/databases/:database/collections/:collection' do |server, database, collection|
servers[server][database][collection].drop!
json :success => true
end
get '/servers/:server/databases/:database/collections/:collection/documents' do |server, database, collection|
genghis_json servers[server][database][collection].documents(query_param, page_param)
end
post '/servers/:server/databases/:database/collections/:collection/documents' do |server, database, collection|
document = servers[server][database][collection].insert request_genghis_json
genghis_json document
end
get '/servers/:server/databases/:database/collections/:collection/documents/:document' do |server, database, collection, document|
genghis_json servers[server][database][collection][document]
end
put '/servers/:server/databases/:database/collections/:collection/documents/:document' do |server, database, collection, document|
document = servers[server][database][collection].update document, request_genghis_json
genghis_json document
end
delete '/servers/:server/databases/:database/collections/:collection/documents/:document' do |server, database, collection, document|
collection = servers[server][database][collection].remove document
json :success => true
end
end
end
Genghis::Server.run! if __FILE__ == $0
__END__
@@ index.html.mustache
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Genghis</title> <link rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAME2lDQ1BJQ0MgUHJvZmlsZQAASA2tV2dYU8kanlNSCAktEAEpoTdRepVeAyhIFWyEJCShhBAIKvayqMBaUBHBiq6K2NYCyFoQK8oi2PsGEQVlXSzYULlzKOrevfvvnueZOe95553v++abOfPMAKDSypVKM1A1ADIlubLoEH/25MQkNuUBoAJtQAcWgMHl5Uj9oqIiwL8+724BhGi8bkvY+lfZ/25Q5wtyeAAgUbA5hZ/Dy4T4KABYHU8qywWARNgznZkrJfBqiDVlMECIdxJYOITrCJwyhJsHNbHRAVCjAIBK53JlQgAYPZBn5/GE0I4KHWI7CV8sgXg8xN48EZcP8VyIx2RmZhF4D8SWKT/YEf6AudyUbza5XOE3PDQW2BM6DhTnSDO4swc//p9VZoYc5mvwMYA1PSc9Jhy+WTBvs3jcoBiItSFeKRJwIob5XdJc/+hh/oQ4lxMLsSbU3BDJQ+OGcZc8Pc4PYj3If07PCif0ME+otiRlYiTEGhCb8nICYO4JX6hLvig2YVgTwRcEBkEMVxE6WZYVPaIX5eTFjPD5+aKAiSP6NG4YMd8qUF/IlUE0GA9aJsgIIfwaQ36fNDeKiJPw1SLJmDg8FvRJqiyY0BD8J0HO4HiJ2ES5othQyMOYMbVcWSyhgWPE9FLFwRyIYWyYnUgWOsL7SjMG1zTsi8XK5NFEHkwhThVI4ogcEnwhnxtI5BbmBNsEggEXyIAApAAJ6AZsEAECQOBwzYa8BHI8kAUyYJGxVUdaSE9JbaTHpJskBenuCAd7DuuAGPAhHrL1Q3/Ix4B88Ce0KgA5I95wXdwb98QjYO0LiwPuhruPtLX01PaM4OFYhbCv7bBt/+Ho86DFLyO6GeLFshE83CflW49/xhQMnsAMCEcUdtV23XafR/p/HzE5iBxIDiUHk62w5dgR7CJ2BmvCTmC1gI2dxuqwZuwkgYfjGvHChQyRFSLDOSAcZlEA5INfkhF/f8uS/Jti2IKKtYoziIa9JCAdtom/eYgfjFr8DytyqEiBHtOgNvzbfAzHhZvD7Drj/rgXzDPMMc7CdYEt7gQz7of7wDlwhuz3Wfz7aGxB6mC28wbHkg6ewnFk5gpm5cK1BAKypLNlYqEol+0Hd0vBGDZHwhs7hu1gZ+8AiL2X0ADwhjW4pyKsy9+57AYA3Avh/0lse2xCBQDXBIDjTwFgvvvOmbyGvwHcK0+28uSyvCEdTrxIgAZU4V+hAwyACbCEGXEALsAT+IIgEAYiQSxIBNPhGhaBTBjxTDAXLAIFoAisButBOdgKdoA9YD84DGrBCXAGXABXQCu4Ce4DBegEL0AveAf6EQShIAyEiegghogZYoM4IG6INxKERCDRSCKSjAgRCSJH5iJLkCKkBClHtiNVyK/IceQM0oS0IXeRdqQbeY18QjGUjmqi+qg5Og51Q/3QcDQWnYYK0Ww0H12KrkTL0Ep0H1qDnkGvoDdRBfoC7cMApoyxMCPMFnPDArBILAlLxWTYfKwQK8UqsQNYPVyL1zEF1oN9xMk4E2fjtnAmQ/E4nIdn4/PxYrwc34PX4Ofw63g73ot/JTFIeiQbkgeJQ5pMEpJmkgpIpaRdpGOk8/B/7iS9I5PJLLIF2RWu9kRyGnkOuZi8mXyQ3EBuI3eQ+ygUig7FhuJFiaRwKbmUAspGyj7Kaco1SiflA1WZakh1oAZTk6gS6mJqKXUv9RT1GvUZtV9JTclMyUMpUomvNFtpldJOpXqlq0qdSv00dZoFzYsWS0ujLaKV0Q7QztMe0N4oKysbK7srT1IWKy9ULlM+pHxJuV35I12Dbk0PoE+ly+kr6bvpDfS79DcMBsOc4ctIYuQyVjKqGGcZjxgfVJgqY1U4KnyVBSoVKjUq11Reqiqpmqn6qU5XzVctVT2ielW1R01JzVwtQI2rNl+tQu242m21PnWmur16pHqmerH6XvUm9S4Nioa5RpAGX2Opxg6NsxodTIxpwgxg8phLmDuZ55mdmmRNC02OZppmkeZ+zRbNXi0NLSeteK1ZWhVaJ7UULIxlzuKwMlirWIdZt1ifRumP8hslGLVi1IFR10a91x6t7ast0C7UPqh9U/uTDlsnSCddZ41Orc5DXVzXWneS7kzdLbrndXtGa472HM0bXTj68Oh7eqietV603hy9HXrNen36Bvoh+lL9jfpn9XsMWAa+BmkG6wxOGXQbMg29DcWG6wxPGz5na7H92BnsMvY5dq+RnlGokdxou1GLUb+xhXGc8WLjg8YPTWgmbiapJutMGk16TQ1NJ5jONa02vWemZOZmJjLbYHbR7L25hXmC+TLzWvMuC20LjkW+RbXFA0uGpY9ltmWl5Q0rspWbVbrVZqtWa9Ta2VpkXWF91Qa1cbER22y2aRtDGuM+RjKmcsxtW7qtn22ebbVt+1jW2Iixi8fWjn05znRc0rg14y6O+2rnbJdht9Puvr2GfZj9Yvt6+9cO1g48hwqHG44Mx2DHBY51jq+cbJwETluc7jgznSc4L3NudP7i4uoiczng0u1q6prsusn1tpumW5Rbsdsld5K7v/sC9xPuHz1cPHI9Dnv85Wnrme6517NrvMV4wfid4zu8jL24Xtu9FN5s72Tvbd4KHyMfrk+lz2NfE1++7y7fZ35Wfml++/xe+tv5y/yP+b8P8AiYF9AQiAWGBBYGtgRpBMUFlQc9CjYOFgZXB/eGOIfMCWkIJYWGh64Jvc3R5/A4VZzeMNeweWHnwunhMeHl4Y8jrCNkEfUT0AlhE9ZOeDDRbKJkYm0kiOREro18GGURlR312yTypKhJFZOeRttHz42+GMOMmRGzN+ZdrH/sqtj7cZZx8rjGeNX4qfFV8e8TAhNKEhSTx02eN/lKom6iOLEuiZIUn7QrqW9K0JT1UzqnOk8tmHprmsW0WdOaputOz5h+cobqDO6MI8mk5ITkvcmfuZHcSm5fCidlU0ovL4C3gfeC78tfx+8WeAlKBM9SvVJLUruEXsK1wm6Rj6hU1CMOEJeLX6WFpm1Ne58emb47fSAjIeNgJjUzOfO4REOSLjmXZZA1K6tNaiMtkCqyPbLXZ/fKwmW7cpCcaTl1uZrwkNsst5T/JG/P886ryPswM37mkVnqsySzmmdbz14x+1l+cP4vc/A5vDmNc43mLprbPs9v3vb5yPyU+Y0LTBYsXdC5MGThnkW0RemLfl9st7hk8dslCUvql+ovXbi046eQn6oLVApkBbeXeS7buhxfLl7essJxxcYVXwv5hZeL7IpKiz4X84ov/2z/c9nPAytTV7asclm1ZTV5tWT1rTU+a/aUqJfkl3SsnbC2Zh17XeG6t+tnrG8qdSrduoG2Qb5BURZRVrfRdOPqjZ/LReU3K/wrDm7S27Ri0/vN/M3XtvhuObBVf2vR1k/bxNvubA/ZXlNpXlm6g7wjb8fTnfE7L/7i9kvVLt1dRbu+7JbsVuyJ3nOuyrWqaq/e3lXVaLW8unvf1H2t+wP31x2wPbD9IOtg0SFwSH7o+a/Jv946HH648YjbkQNHzY5uOsY8VliD1Myu6a0V1SrqEuvajocdb6z3rD/229jfdp8wOlFxUuvkqlO0U0tPDZzOP93XIG3oOSM809E4o/H+2clnb5ybdK7lfPj5SxeCL5y96Hfx9CWvSyeaPJqOX3a7XHvF5UpNs3Pzsd+dfz/W4tJSc9X1al2re2t92/i2U9d8rp25Hnj9wg3OjSs3J95suxV3687tqbcVd/h3uu5m3H11L+9e//2FD0gPCh+qPSx9pPeo8g+rPw4qXBQn2wPbmx/HPL7fwet48STnyefOpU8ZT0ufGT6r6nLoOtEd3N36fMrzzhfSF/09BX+q/7nppeXLo3/5/tXcO7m385Xs1cDr4jc6b3a/dXrb2BfV9+hd5rv+94UfdD7s+ej28eKnhE/P+md+pnwu+2L1pf5r+NcHA5kDA1KujDt4FsBgjaamAvB6N7wXJcKzQysANJWhu9GgAhm6z0GMDBeC/i88dH8iGuAZAuz2BSBuIQARDQBsgcUMYjp8E8f8WF+AOjp+K5AhnpxUR4dBgNBl8GjyYWDgjT4AlHoAvsgGBvo3Dwx82QnP3XcBaMgeupMRajI8x29TJVBTS/FC4v3j8x/Ro2BmUK5IGQAAAAlwSFlzAAALEwAACxMBAJqcGAAABNxpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4xPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj42NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6QmFnLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTItMDktMDdUMDk6MDk6NjQ8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMi4xPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpmozCoAAAJTElEQVRoBdVZCVBU5x1/b+9lF1hOJUAgRSHE2IAoSTXj0cRONCl2bMd4TBvbXNXYTqedZpppo+1kOqbT6RGTtMEMGRNHK1q1rTY2YLB1uEQX5BJWLnGXYzn2eHu+fVe/Zdnl7b7v7X5LxYY3O/B9//P3++73PVy7NQ+L8nBRdPdLhUdLJMMwcf0XAT0AD2CIY5SIsvuCoA/gEwcDIwCsxR1ECS+0QgSSgICI3ULDQ4oPwxZOAGaBFPq+GQGE4SBlXHB+4EARLN83PPNLFMIM3Gd7wI9+8TwAbQiwn0CosngozCGVLF70AeThk3iO2OIoAQ5gJ16Yh+MwdnbBwMHaIFmo9eHeEQCIvTTrojgPzfpYgD7ykUlwlQzXyCUaOS7lKRmGsVGhOo5xnFohTeBbhJSQwr0gQNKsxcM4GX745ZmlqQ8kp8y0u91ht/a39dIs5/SBH6DGqeTSNNUsSq+PtZB8XzZJer8I0AxrdjJu/xpMLtnw+vZtm9etLn7ooSUpWpmgZWivc3JkqKu96bNTle/dHGRHKEapkGYneIpeu/TrjZo5Bgqi4/jOi/+cE0Qt4dqt+VENRJW4w+sb9wL1hl2HD35n++MFmQLMor6+yYHa6j9988hHYHKUvlHX9N3Hwkx7jyf+5GCYRLwytxOL28A0Ew7KzpAb32j51Q/WZKlhFtFkioyCZw/8zr37lcp9G/ZPeyJMvRjL32sjtBFV9FbjOY4TtIPd99bl3+4om5f/bChJatG+U/1bJiLnKy5X8ZLFKMYPwOwA6N+pNrxakhkjNooa1+YvEdrFcbABBOJYoXGn2+PIPXrh6vcKE4Vp+RKWIswe64TXbqN9GCbVKJMz1elLE5IUfKPZMo1BtiNUVHH0AM4xzJjvvXOfR0VPDU+1X53qGSL98zvywaUP6ko2LV2Zp5DzVHFg4HnNFuNxtng2Haz//opUYZSAhCRunRxuMM5sYZzHaZuw2Sw2pwMwkal0yclZ6akZiXet+o+t+rTksh15qzJQW1ksoV+OSgA0v1P1WuWeR8SCmSdqK8fuYBg11dHRWn/95ohVaMlh6kfWbSx/EgTRv99p2l1cUcjvCaEDgkSGeJrDHeQv396XIxLRbL5UOW5ijD01x/7WPTN2RMJ6DA2XwC+n/Jktz5Wc7Pn05ZVbs2H9IOIOSY9oyRHKfS+uhS87NHEDoCdaa//wwSx6SJ5wkanlX0cOnR91mqoGu8NOIOFmKDUkAjhNv3hgD7z5OaLG2Ea0fHr07A2UfCEbNWeoOnxxyt5wwe4KCQMFiQZ1YAN7JAIEtfqFpwoi0gSqbuvNG0OtR//eDtVGF2q4rnfP3NIbmycj7Ji5w2mERliVIW0DKypKtLChynnazK36v9QgBREmx7DErn809uXL2WE5Lzw5WI8eEKUHuCdKy+D7lvtOQ2frFSKOjVPIou5kk51jKHbuhzFga0N9kEbbtrJcaDzCZWr7vBGqQhcmeq9X/qIrSTnXBU7Sje4em4BDUvZkng4acdLcph+d2begamShBPM4w15pkD0RNzI1dLvhXF2G9vE4cgFTjiNZ1AEnkUj4M0MkUewewDC12JBkRowiYeFinKGpYRciAU4ily/TxJyjKARE11pyzAxHKiL1SIr37lidPjfaRexmxBKb4Y9DbdEsZnRIBMSGOetDbM1ZGFTB7nfe2ov6/ubrGvlWxdlYGWJ2EciNS+FtRrG2OM8BbiqO9cVLo6zPKAQwBfRaCtc9WloUs4vDDHQJSPkCPjIVdPMMCwiOEhyOR/+puL7bLnjD5RauZrgY7vzgGCNVRuSPUpXJ1XhseEgtMuqNPG8F8qYXP84QcY0iSmxBExKhHcZ6cNsX64k9iWXYRI1p9IcPZEBC5ZYfTqLfxETmiNBh8vJv2r0RncBZqOfX7n84QophDnIa5XICqQfudvfCNyw8Y+cru+g4pjIt7K/x/pQcAXrAfdqsNwibQCCJ3QPApbOv+ZZz+1ItZEPOeuall3527CNNohRh19Tam99/s5mPQUKSxLqP/8wXBcoc0dM/IBQLJUg9gHcPXJgUCaco+vnbe9khB0PFHq8R6XGMpU3uqp3lEXJ/lTT9p2cIIheIkAhouO7+3oZWcMEDe7K+fqh6s5IdImiPcIDAHGZk4C2PGbK7nz8BvaQxTuj7bltEnXkKJALA/mJTz0VjN8+RV8S12450Vm1WckaCGvOysVjgHItNOX2DDrf0ha7Xt/ACBYvseN2d9hso2xjiKyUInHDzyu3Rhs+cIr2Ap+w5Yqh9uQJzeJgBK2V0MXYfSwU/0YCPiuAMSrOY28eOOXx9dspCkesPddX/fgVsoRkZa2671kYE6UT/L1UUpUS3CGhxzKsn0gqy8eWZy5OgJwtckbf2G/ufLpX06BtN0xz4VGMjWYuXnfaCvwwoWEmWoDgfSy55turdE+f3b81UwAJRQ8cH6y59cmUCBRY452grvoRm6bda/+qPywpW/bToK/A3zGAg92hvS/PVy1caGts6GqeGC9Pz0pJTE7OWr1q1/mtPbSgvyhZf+6hrhmPVtec+rL0dDBbjf3wEXPiKAwefy0gq/dGyNdE5xEgrou67+9fq0fZTh08OixgIxahDKOCpwCbrB+TlX5a1WB2FafnwsSRMgiTxXh88c94+bfik6po9jhU5PgIAiYK4U29Slj+q6pzs9slzCtQJSPCiGrHk3fOGc41en7nm9OlOyKVqFG+pqsj/KTGun9wyVNdFryzJsbh66yzTOmValhK2mkRJG1Ixts6RuqPGtgmWHDh74vR1U1xI/MZJ8UziUF5QYDDdpl071hT7b9s5ma40deVjutwctSbygxHfJ1j2gc8fDlOHxaB3TflldlPjhyea0Bb+YIzZ//MnEAhApJd8e9sTy0L3LrhUp0zPVadlKnVamUIpk5KkRyrXyjAfSXnslHXSYxnzTFmCL6m4zz787/oz9Z0RsNCr/yuBQCZPUu5X161Z9nB2ekrsewTgwoDPH0bTYGvX1Vv96FihlnhiBfzWFmodU8hhquz8vAeXZqRkpKq1CtAFlN0t0YAeoHwut8tmsZonxgcGhud7jSUEcI8JCBMstAT1MLfQOOYdH+16fd7hF9oRB5duYC1dpM8M8pkhtHg5zL0PLDoOQcCLcxIH0YOxzzuZB6RxHAT/H1OHBz2Q/r/iZq+07nQhoQAAAABJRU5ErkJggg=="> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link type="text/css" rel="stylesheet" href="//fonts.googleapis.com/css?family=Rokkitt:400,700|Source+Code+Pro"> <link type="text/css" rel="stylesheet" href="{{ base_url }}/assets/style.css?v={{ genghis_version }}"> <script type="text/javascript" src="{{ base_url }}/assets/script.js?v={{ genghis_version }}"></script> <script type="text/javascript">jQuery(function() { Genghis.boot('{{ base_url }}'); });</script> </head> <body> <header class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container fixed"> <a class="magic brand" href="{{ base_url }}/">Genghis</a> <nav></nav> </div> </div> </header> <noscript><h1>You won’t get far in life without JavaScript…</h1></noscript> <section id="genghis" class="container fluid"> <aside id="alerts"></aside> <section id="servers"></section> <section id="databases"></section> <section id="collections"></section> <section id="documents"></section> <section id="document"><header></header></section> <section id="error"></section> </section> <footer class="container"> <p><a href="http://genghisapp.com">Genghis</a>, by <a href="http://justinhileman.info">Justin Hileman</a>.</p> <p><a class="keyboard-shortcuts" href="#">Keyboard shortcuts available <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAABK0lEQVR42p2RsWqDUBSGL5QOfYFCn8NXKJpop0BoH0OHZnJzKGTTIZghGF0TECFLtkCmQB4gkw4uEQTRTRz++gsZEkKadPj87znnfocLCgBCVdVvWZZfeX6U7qMoynuv1/saDocvrJmapg3axVbLD+GZPc4uF1B46vf7n7x4gnW7+I3z09K2/8H+5YK7kSTpmS85WzCfzye+7+MRPM/rkq6YzWZIkgT7/R5xHN+VhA5d4bouttstmqbBZrP5M+u6Jp1DV9i2jd1uh9Vq9RB06IrxeIzD4YDFYoGqqm5mURTIsgx5niOKItAVlmVhvV4jCIKbhGF4VtOhK0zT7BplWWI6neJ4PCJN06twdrpDh64YjUZYLpdwHIe/h3kNzs6SDl2h6/rEMAz8B7q//llIEoKdz2AAAAAASUVORK5CYII="></a></p> </footer> </body> </html>
@@ error.html.mustache
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Genghis — {{ status }}: {{ message }}</title> <link rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAME2lDQ1BJQ0Mg UHJvZmlsZQAASA2tV2dYU8kanlNSCAktEAEpoTdRepVeAyhIFWyEJCShhBAI KvayqMBaUBHBiq6K2NYCyFoQK8oi2PsGEQVlXSzYULlzKOrevfvvnueZOe95 553v++abOfPMAKDSypVKM1A1ADIlubLoEH/25MQkNuUBoAJtQAcWgMHl5Uj9 oqIiwL8+724BhGi8bkvY+lfZ/25Q5wtyeAAgUbA5hZ/Dy4T4KABYHU8qywWA RNgznZkrJfBqiDVlMECIdxJYOITrCJwyhJsHNbHRAVCjAIBK53JlQgAYPZBn 5/GE0I4KHWI7CV8sgXg8xN48EZcP8VyIx2RmZhF4D8SWKT/YEf6AudyUbza5 XOE3PDQW2BM6DhTnSDO4swc//p9VZoYc5mvwMYA1PSc9Jhy+WTBvs3jcoBiI tSFeKRJwIob5XdJc/+hh/oQ4lxMLsSbU3BDJQ+OGcZc8Pc4PYj3If07PCif0 ME+otiRlYiTEGhCb8nICYO4JX6hLvig2YVgTwRcEBkEMVxE6WZYVPaIX5eTF jPD5+aKAiSP6NG4YMd8qUF/IlUE0GA9aJsgIIfwaQ36fNDeKiJPw1SLJmDg8 FvRJqiyY0BD8J0HO4HiJ2ES5othQyMOYMbVcWSyhgWPE9FLFwRyIYWyYnUgW OsL7SjMG1zTsi8XK5NFEHkwhThVI4ogcEnwhnxtI5BbmBNsEggEXyIAApAAJ 6AZsEAECQOBwzYa8BHI8kAUyYJGxVUdaSE9JbaTHpJskBenuCAd7DuuAGPAh HrL1Q3/Ix4B88Ce0KgA5I95wXdwb98QjYO0LiwPuhruPtLX01PaM4OFYhbCv 7bBt/+Ho86DFLyO6GeLFshE83CflW49/xhQMnsAMCEcUdtV23XafR/p/HzE5 iBxIDiUHk62w5dgR7CJ2BmvCTmC1gI2dxuqwZuwkgYfjGvHChQyRFSLDOSAc ZlEA5INfkhF/f8uS/Jti2IKKtYoziIa9JCAdtom/eYgfjFr8DytyqEiBHtOg NvzbfAzHhZvD7Drj/rgXzDPMMc7CdYEt7gQz7of7wDlwhuz3Wfz7aGxB6mC2 8wbHkg6ewnFk5gpm5cK1BAKypLNlYqEol+0Hd0vBGDZHwhs7hu1gZ+8AiL2X 0ADwhjW4pyKsy9+57AYA3Avh/0lse2xCBQDXBIDjTwFgvvvOmbyGvwHcK0+2 8uSyvCEdTrxIgAZU4V+hAwyACbCEGXEALsAT+IIgEAYiQSxIBNPhGhaBTBjx TDAXLAIFoAisButBOdgKdoA9YD84DGrBCXAGXABXQCu4Ce4DBegEL0AveAf6 EQShIAyEiegghogZYoM4IG6INxKERCDRSCKSjAgRCSJH5iJLkCKkBClHtiNV yK/IceQM0oS0IXeRdqQbeY18QjGUjmqi+qg5Og51Q/3QcDQWnYYK0Ww0H12K rkTL0Ep0H1qDnkGvoDdRBfoC7cMApoyxMCPMFnPDArBILAlLxWTYfKwQK8Uq sQNYPVyL1zEF1oN9xMk4E2fjtnAmQ/E4nIdn4/PxYrwc34PX4Ofw63g73ot/ JTFIeiQbkgeJQ5pMEpJmkgpIpaRdpGOk8/B/7iS9I5PJLLIF2RWu9kRyGnkO uZi8mXyQ3EBuI3eQ+ygUig7FhuJFiaRwKbmUAspGyj7Kaco1SiflA1WZakh1 oAZTk6gS6mJqKXUv9RT1GvUZtV9JTclMyUMpUomvNFtpldJOpXqlq0qdSv00 dZoFzYsWS0ujLaKV0Q7QztMe0N4oKysbK7srT1IWKy9ULlM+pHxJuV35I12D bk0PoE+ly+kr6bvpDfS79DcMBsOc4ctIYuQyVjKqGGcZjxgfVJgqY1U4KnyV BSoVKjUq11Reqiqpmqn6qU5XzVctVT2ielW1R01JzVwtQI2rNl+tQu242m21 PnWmur16pHqmerH6XvUm9S4Nioa5RpAGX2Opxg6NsxodTIxpwgxg8phLmDuZ 55mdmmRNC02OZppmkeZ+zRbNXi0NLSeteK1ZWhVaJ7UULIxlzuKwMlirWIdZ t1ifRumP8hslGLVi1IFR10a91x6t7ast0C7UPqh9U/uTDlsnSCddZ41Orc5D XVzXWneS7kzdLbrndXtGa472HM0bXTj68Oh7eqietV603hy9HXrNen36Bvoh +lL9jfpn9XsMWAa+BmkG6wxOGXQbMg29DcWG6wxPGz5na7H92BnsMvY5dq+R nlGokdxou1GLUb+xhXGc8WLjg8YPTWgmbiapJutMGk16TQ1NJ5jONa02vWem ZOZmJjLbYHbR7L25hXmC+TLzWvMuC20LjkW+RbXFA0uGpY9ltmWl5Q0rspWb VbrVZqtWa9Ta2VpkXWF91Qa1cbER22y2aRtDGuM+RjKmcsxtW7qtn22ebbVt +1jW2Iixi8fWjn05znRc0rg14y6O+2rnbJdht9Puvr2GfZj9Yvt6+9cO1g48 hwqHG44Mx2DHBY51jq+cbJwETluc7jgznSc4L3NudP7i4uoiczng0u1q6prs usn1tpumW5Rbsdsld5K7v/sC9xPuHz1cPHI9Dnv85Wnrme6517NrvMV4wfid 4zu8jL24Xtu9FN5s72Tvbd4KHyMfrk+lz2NfE1++7y7fZ35Wfml++/xe+tv5 y/yP+b8P8AiYF9AQiAWGBBYGtgRpBMUFlQc9CjYOFgZXB/eGOIfMCWkIJYWG h64Jvc3R5/A4VZzeMNeweWHnwunhMeHl4Y8jrCNkEfUT0AlhE9ZOeDDRbKJk Ym0kiOREro18GGURlR312yTypKhJFZOeRttHz42+GMOMmRGzN+ZdrH/sqtj7 cZZx8rjGeNX4qfFV8e8TAhNKEhSTx02eN/lKom6iOLEuiZIUn7QrqW9K0JT1 UzqnOk8tmHprmsW0WdOaputOz5h+cobqDO6MI8mk5ITkvcmfuZHcSm5fCidl U0ovL4C3gfeC78tfx+8WeAlKBM9SvVJLUruEXsK1wm6Rj6hU1CMOEJeLX6WF pm1Ne58emb47fSAjIeNgJjUzOfO4REOSLjmXZZA1K6tNaiMtkCqyPbLXZ/fK wmW7cpCcaTl1uZrwkNsst5T/JG/P886ryPswM37mkVnqsySzmmdbz14x+1l+ cP4vc/A5vDmNc43mLprbPs9v3vb5yPyU+Y0LTBYsXdC5MGThnkW0RemLfl9s t7hk8dslCUvql+ovXbi046eQn6oLVApkBbeXeS7buhxfLl7essJxxcYVXwv5 hZeL7IpKiz4X84ov/2z/c9nPAytTV7asclm1ZTV5tWT1rTU+a/aUqJfkl3Ss nbC2Zh17XeG6t+tnrG8qdSrduoG2Qb5BURZRVrfRdOPqjZ/LReU3K/wrDm7S 27Ri0/vN/M3XtvhuObBVf2vR1k/bxNvubA/ZXlNpXlm6g7wjb8fTnfE7L/7i 9kvVLt1dRbu+7JbsVuyJ3nOuyrWqaq/e3lXVaLW8unvf1H2t+wP31x2wPbD9 IOtg0SFwSH7o+a/Jv946HH648YjbkQNHzY5uOsY8VliD1Myu6a0V1SrqEuva jocdb6z3rD/229jfdp8wOlFxUuvkqlO0U0tPDZzOP93XIG3oOSM809E4o/H+ 2clnb5ybdK7lfPj5SxeCL5y96Hfx9CWvSyeaPJqOX3a7XHvF5UpNs3Pzsd+d fz/W4tJSc9X1al2re2t92/i2U9d8rp25Hnj9wg3OjSs3J95suxV3687tqbcV d/h3uu5m3H11L+9e//2FD0gPCh+qPSx9pPeo8g+rPw4qXBQn2wPbmx/HPL7f wet48STnyefOpU8ZT0ufGT6r6nLoOtEd3N36fMrzzhfSF/09BX+q/7nppeXL o3/5/tXcO7m385Xs1cDr4jc6b3a/dXrb2BfV9+hd5rv+94UfdD7s+ej28eKn hE/P+md+pnwu+2L1pf5r+NcHA5kDA1KujDt4FsBgjaamAvB6N7wXJcKzQysA NJWhu9GgAhm6z0GMDBeC/i88dH8iGuAZAuz2BSBuIQARDQBsgcUMYjp8E8f8 WF+AOjp+K5AhnpxUR4dBgNBl8GjyYWDgjT4AlHoAvsgGBvo3Dwx82QnP3XcB aMgeupMRajI8x29TJVBTS/FC4v3j8x/Ro2BmUK5IGQAAAAlwSFlzAAALEwAA CxMBAJqcGAAABNxpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1l dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3Jl IDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3Lncz Lm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpE ZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlm Zj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8 dGlmZjpSZXNvbHV0aW9uVW5pdD4xPC90aWZmOlJlc29sdXRpb25Vbml0Pgog ICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9u PgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1 dGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmll bnRhdGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6 WVJlc29sdXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8 cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxu czpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAg ICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj42NDwvZXhpZjpQaXhlbFhEaW1l bnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xv clNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4 aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4K ICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAg ICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv Ij4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6QmFn Lz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICA8L3JkZjpEZXNjcmlw dGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAg ICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x LjAvIj4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTItMDktMDdUMDk6 MDk6NjQ8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JU b29sPlBpeGVsbWF0b3IgMi4xPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwv cmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpm ozCoAAAJTElEQVRoBdVZCVBU5x1/b+9lF1hOJUAgRSHE2IAoSTXj0cRONCl2 bMd4TBvbXNXYTqedZpppo+1kOqbT6RGTtMEMGRNHK1q1rTY2YLB1uEQX5BJW LnGXYzn2eHu+fVe/Zdnl7b7v7X5LxYY3O/B9//P3++73PVy7NQ+L8nBRdPdL hUdLJMMwcf0XAT0AD2CIY5SIsvuCoA/gEwcDIwCsxR1ECS+0QgSSgICI3ULD Q4oPwxZOAGaBFPq+GQGE4SBlXHB+4EARLN83PPNLFMIM3Gd7wI9+8TwAbQiw n0CosngozCGVLF70AeThk3iO2OIoAQ5gJ16Yh+MwdnbBwMHaIFmo9eHeEQCI vTTrojgPzfpYgD7ykUlwlQzXyCUaOS7lKRmGsVGhOo5xnFohTeBbhJSQwr0g QNKsxcM4GX745ZmlqQ8kp8y0u91ht/a39dIs5/SBH6DGqeTSNNUsSq+PtZB8 XzZJer8I0AxrdjJu/xpMLtnw+vZtm9etLn7ooSUpWpmgZWivc3JkqKu96bNT le/dHGRHKEapkGYneIpeu/TrjZo5Bgqi4/jOi/+cE0Qt4dqt+VENRJW4w+sb 9wL1hl2HD35n++MFmQLMor6+yYHa6j9988hHYHKUvlHX9N3Hwkx7jyf+5GCY RLwytxOL28A0Ew7KzpAb32j51Q/WZKlhFtFkioyCZw/8zr37lcp9G/ZPeyJM vRjL32sjtBFV9FbjOY4TtIPd99bl3+4om5f/bChJatG+U/1bJiLnKy5X8ZLF KMYPwOwA6N+pNrxakhkjNooa1+YvEdrFcbABBOJYoXGn2+PIPXrh6vcKE4Vp +RKWIswe64TXbqN9GCbVKJMz1elLE5IUfKPZMo1BtiNUVHH0AM4xzJjvvXOf R0VPDU+1X53qGSL98zvywaUP6ko2LV2Zp5DzVHFg4HnNFuNxtng2Haz//opU YZSAhCRunRxuMM5sYZzHaZuw2Sw2pwMwkal0yclZ6akZiXet+o+t+rTksh15 qzJQW1ksoV+OSgA0v1P1WuWeR8SCmSdqK8fuYBg11dHRWn/95ohVaMlh6kfW bSx/EgTRv99p2l1cUcjvCaEDgkSGeJrDHeQv396XIxLRbL5UOW5ijD01x/7W PTN2RMJ6DA2XwC+n/Jktz5Wc7Pn05ZVbs2H9IOIOSY9oyRHKfS+uhS87NHED oCdaa//wwSx6SJ5wkanlX0cOnR91mqoGu8NOIOFmKDUkAjhNv3hgD7z5OaLG 2Ea0fHr07A2UfCEbNWeoOnxxyt5wwe4KCQMFiQZ1YAN7JAIEtfqFpwoi0gSq buvNG0OtR//eDtVGF2q4rnfP3NIbmycj7Ji5w2mERliVIW0DKypKtLChynna zK36v9QgBREmx7DErn809uXL2WE5Lzw5WI8eEKUHuCdKy+D7lvtOQ2frFSKO jVPIou5kk51jKHbuhzFga0N9kEbbtrJcaDzCZWr7vBGqQhcmeq9X/qIrSTnX BU7Sje4em4BDUvZkng4acdLcph+d2begamShBPM4w15pkD0RNzI1dLvhXF2G 9vE4cgFTjiNZ1AEnkUj4M0MkUewewDC12JBkRowiYeFinKGpYRciAU4ily/T xJyjKARE11pyzAxHKiL1SIr37lidPjfaRexmxBKb4Y9DbdEsZnRIBMSGOetD bM1ZGFTB7nfe2ov6/ubrGvlWxdlYGWJ2EciNS+FtRrG2OM8BbiqO9cVLo6zP KAQwBfRaCtc9WloUs4vDDHQJSPkCPjIVdPMMCwiOEhyOR/+puL7bLnjD5Rau ZrgY7vzgGCNVRuSPUpXJ1XhseEgtMuqNPG8F8qYXP84QcY0iSmxBExKhHcZ6 cNsX64k9iWXYRI1p9IcPZEBC5ZYfTqLfxETmiNBh8vJv2r0RncBZqOfX7n84 QophDnIa5XICqQfudvfCNyw8Y+cru+g4pjIt7K/x/pQcAXrAfdqsNwibQCCJ 3QPApbOv+ZZz+1ItZEPOeuall3527CNNohRh19Tam99/s5mPQUKSxLqP/8wX Bcoc0dM/IBQLJUg9gHcPXJgUCaco+vnbe9khB0PFHq8R6XGMpU3uqp3lEXJ/ lTT9p2cIIheIkAhouO7+3oZWcMEDe7K+fqh6s5IdImiPcIDAHGZk4C2PGbK7 nz8BvaQxTuj7bltEnXkKJALA/mJTz0VjN8+RV8S12450Vm1WckaCGvOysVjg HItNOX2DDrf0ha7Xt/ACBYvseN2d9hso2xjiKyUInHDzyu3Rhs+cIr2Ap+w5 Yqh9uQJzeJgBK2V0MXYfSwU/0YCPiuAMSrOY28eOOXx9dspCkesPddX/fgVs oRkZa2671kYE6UT/L1UUpUS3CGhxzKsn0gqy8eWZy5OgJwtckbf2G/ufLpX0 6BtN0xz4VGMjWYuXnfaCvwwoWEmWoDgfSy55turdE+f3b81UwAJRQ8cH6y59 cmUCBRY452grvoRm6bda/+qPywpW/bToK/A3zGAg92hvS/PVy1caGts6GqeG C9Pz0pJTE7OWr1q1/mtPbSgvyhZf+6hrhmPVtec+rL0dDBbjf3wEXPiKAwef y0gq/dGyNdE5xEgrou67+9fq0fZTh08OixgIxahDKOCpwCbrB+TlX5a1WB2F afnwsSRMgiTxXh88c94+bfik6po9jhU5PgIAiYK4U29Slj+q6pzs9slzCtQJ SPCiGrHk3fOGc41en7nm9OlOyKVqFG+pqsj/KTGun9wyVNdFryzJsbh66yzT OmValhK2mkRJG1Ixts6RuqPGtgmWHDh74vR1U1xI/MZJ8UziUF5QYDDdpl07 1hT7b9s5ma40deVjutwctSbygxHfJ1j2gc8fDlOHxaB3TflldlPjhyea0Bb+ YIzZ//MnEAhApJd8e9sTy0L3LrhUp0zPVadlKnVamUIpk5KkRyrXyjAfSXns lHXSYxnzTFmCL6m4zz787/oz9Z0RsNCr/yuBQCZPUu5X161Z9nB2ekrsewTg woDPH0bTYGvX1Vv96FihlnhiBfzWFmodU8hhquz8vAeXZqRkpKq1CtAFlN0t 0YAeoHwut8tmsZonxgcGhud7jSUEcI8JCBMstAT1MLfQOOYdH+16fd7hF9oR B5duYC1dpM8M8pkhtHg5zL0PLDoOQcCLcxIH0YOxzzuZB6RxHAT/H1OHBz2Q /r/iZq+07nQhoQAAAABJRU5ErkJggg== "> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link type="text/css" rel="stylesheet" href="//fonts.googleapis.com/css?family=Rokkitt:400,700|Source+Code+Pro"> <link type="text/css" rel="stylesheet" href="{{ base_url }}/assets/style.css?v={{ genghis_version }}"> </head> <body> <header class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container fixed"> <a class="magic brand" href="{{ base_url }}/">Genghis</a> <nav></nav> </div> </div> </header> <header class="masthead epic error"> <div class="container"> <h1>{{ status }}: {{ message }}</h1> <p> If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again. </p> </div> </header> <section id="genghis" class="container fluid"></section> <footer class="container"> <p><a href="http://genghisapp.com">Genghis</a>, by <a href="http://justinhileman.info">Justin Hileman</a>.</p> </footer> </body> </html>
@@ style.css
/**
* Genghis v2.1.6
*
* The single-file MongoDB admin app
*
* http://genghisapp.com
*
* @author Justin Hileman <justin@justinhileman.info>
*/
.CodeMirror{line-height:1em;font-family:monospace;position:relative;overflow:hidden}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:none}.CodeMirror-scrollbar{position:absolute;right:0;top:0;overflow-x:hidden;overflow-y:scroll;z-index:5}.CodeMirror-scrollbar-inner{width:1px}.CodeMirror-scrollbar.cm-sb-overlap{position:absolute;z-index:1;float:none;right:0;min-width:12px}.CodeMirror-scrollbar.cm-sb-nonoverlap{min-width:12px}.CodeMirror-scrollbar.cm-sb-ie7{min-width:18px}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre !important;cursor:default}.CodeMirror-lines{padding:.4em;white-space:pre;cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none !important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:none;width:0}.cm-keymap-fat-cursor pre.CodeMirror-cursor{width:auto;border:0;background:transparent;background:rgba(0,200,0,.4);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800,endColorstr=#4c00c800)}.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id){filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite{}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:#000}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:#000}.cm-s-default span.cm-operator{color:#000}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#cc7}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:blue}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-header,span.cm-strong{font-weight:700}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:700}span.cm-link{text-decoration:underline}span.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}@media print{.CodeMirror pre.CodeMirror-cursor{visibility:hidden}}kbd,.key{display:inline;display:inline-block;min-width:1em;padding:.2em .3em;font:400 .85em/1 "Lucida Grande",Lucida,Arial,sans-serif;text-align:center;text-decoration:none;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;border:none;cursor:default;-moz-user-select:none;-webkit-user-select:none;user-select:none}kbd[title],.key[title]{cursor:help}kbd,kbd.dark,.dark-keys kbd,.key,.key.dark,.dark-keys .key{background:#505050;background:-moz-linear-gradient(top,#3c3c3c,#505050);background:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#505050));color:#fafafa;text-shadow:-1px -1px 0 #464646;-moz-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3)}kbd.light,.light-keys kbd,.key.light,.light-keys .key{background:#fafafa;background:-moz-linear-gradient(top,#d2d2d2,#fff);background:-webkit-gradient(linear,left top,left bottom,from(#d2d2d2),to(#fff));color:#323232;text-shadow:0 0 2px#fff;-moz-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);-webkit-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9)}html,body{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAADmBAMAAAADyPWpAAAAHlBMVEUAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAzn7ZSAAAACnRSTlMEAgEFAAMGBwgJHK6+iAAAAjVJREFUeF7t3TFvEzEYh3EnUQJjoaRzCGS/ChW6UsF+pc0eCSkwVqrUwhcAPjZT38fDKzmKuBvQ858qy/bP9mT57LTcvIu8iHxZP2VVIl8Prrmj0TpyHW1OIf9zXl5eXl5eXl5+uX1Kv41gzuC7rHASnS4bzdOBlk+Rj/AMr2tMFP4lPb2OwhOg24CuWJIheXl5eXl5eXl5ef5cpbtKxoR0ktUs1JyzfYV/xTwLSUdaSfDMfsOSoC9YsgsaMbu3wX8eh5eXl5eXl5eXl+9pn/IU7pD2kfswP1B4l/U5ZfRAR53pXj5GKgl+ly3JOcevLMmQvLy8vLy8vLy8fN/YQNL+d5g/4X+F+Q3+Lv/+HmGe1Ub7LO0U/gEpW5L31JykEx2bl5eXl5eXl5eXr25w7iPsKn/AVxL8njQ+oJNZIdPspBYTqVXzonF9AGg1Di8vLy8vLy8vL89h43wdKUd8VS/byDV8Bj17jBQyZ/gMZNO4KpoUNtfpchxeXl5eXl5eXl5+S7K94pL2VLjJvsqfUpjuP9lqPv8TKckF0vSpU3v7nPGz7KLrm31kQF5eXl5eXl5eXj5/rdMdcVa5OHiruaj4/AIpVQc4/a1qDsnLy8vLy8vLy8t3UNkBZj/Ap/ZFSQPP7vuKwn92+rsEGoOXl5eXl5eXl5fPfywp/133CXzVP3z6fr5rvEo6qx/AR7JO1/D9EYtX6GhIXl5eXl5eXl5eHvM7fPUAvvEviOBn1Jwz5orPav4FxfqDRAI+1ZEAAAAASUVORK5CYII=')}.navbar-search .grippie{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAYAAAA4GpVBAAAAFklEQVQIHWPYvXv3f4b/QAAiGBhwcQEh7xt/uRvGTgAAAABJRU5ErkJggg==')}.nav .dropdown,.navbar-search{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAiCAQAAADMxIBtAAABMklEQVQoz2P4z8jA9J+JARUABdj+s2EIerI3cKEJ/2e8zyHE918AXS2njNBFsf+sqIKsfUJJUv9F0Qz4KMSh+EkNzQ3/+Vzktqv/F0IVZNsm46bzXwPdMgkB/Tdm/znQDEjT6DP7r4QqyHJZWdvmvy3Q0yjCUnoW513/i6EK8jcY1bj9N0Uz4KGWktenAHTLZDwctgShOew//2yLqNAfXiiW/eefahUf9t8dVaWcq/Pu4P/KKGF1VVvH+6c/ShD+Fyo06XL7r4emWdb2scd/PmQh9nVqjtb/zVHVCTlqbzD/L4ES9t+kuYx+maOE/X/OcrlC7f8KaJrllB5o/mdHSQ7XheUVURwN0hwotkgOxTFAQR4G8f9SaGlpM1eUILo6NnHuG7zoCYEFmBQ50GMcS6IFAAXadPqU82J+AAAAAElFTkSuQmCC')}section#servers tr.spinning td:first-child{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAP///zMzM+Hh4dnZ2e7u7jc3NzMzM1dXV5qamn9/f8fHx05OTm5ubqGhoYKCgsrKylFRUTY2NnFxcerq6t/f3/b29l9fX+Li4vT09MTExLKystTU1PHx8QAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}body > section section.spinning > header h2{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAN7e3oiIiNHR0c3NzdbW1omJiYiIiJeXl7Ozs6enp8bGxpKSkqCgoLa2tqmpqcjIyJSUlIiIiKKiotXV1dDQ0Nra2pqamtLS0tnZ2cXFxb29vcvLy9jY2AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#1d8835;text-decoration:none}a:hover{color:#10491c;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#999}.text-warning{color:#c09853}.text-error{color:#b94a48}.text-info{color:#3a87ad}.text-success{color:#468847}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1{font-size:36px;line-height:40px}h2{font-size:30px;line-height:40px}h3{font-size:24px;line-height:40px}h4{font-size:18px;line-height:20px}h5{font-size:14px;line-height:20px}h6{font-size:12px;line-height:20px}h1 small{font-size:24px}h2 small{font-size:18px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid#eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid#eee;border-bottom:1px solid#fff}abbr[title]{cursor:help;border-bottom:1px dotted#999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid#eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid#eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid#ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid#ccc;background-color:#fff}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls > .radio:first-child,.controls > .checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline + .radio.inline,.checkbox.inline + .checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*="span"]{float:left}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning > label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error > label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success > label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info > label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0#fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .add-on,.input-append .btn{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend + .control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input + .help-block,.form-horizontal select + .help-block,.form-horizontal textarea + .help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption + thead tr:first-child th,.table caption + thead tr:first-child td,.table colgroup + thead tr:first-child th,.table colgroup + thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody + tbody{border-top:2px solid#ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid#ddd}.table-bordered caption + thead tr:first-child th,.table-bordered caption + tbody tr:first-child th,.table-bordered caption + tbody tr:first-child td,.table-bordered colgroup + thead tr:first-child th,.table-bordered colgroup + tbody tr:first-child th,.table-bordered colgroup + tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption + thead tr:first-child th:first-child,.table-bordered caption + tbody tr:first-child td:first-child,.table-bordered colgroup + thead tr:first-child th:first-child,.table-bordered colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption + thead tr:first-child th:last-child,.table-bordered caption + tbody tr:first-child td:last-child,.table-bordered colgroup + thead tr:first-child th:last-child,.table-bordered colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table [class*=span],.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}.table .span1{float:none;width:44px;margin-left:0}.table .span2{float:none;width:124px;margin-left:0}.table .span3{float:none;width:204px;margin-left:0}.table .span4{float:none;width:284px;margin-left:0}.table .span5{float:none;width:364px;margin-left:0}.table .span6{float:none;width:444px;margin-left:0}.table .span7{float:none;width:524px;margin-left:0}.table .span8{float:none;width:604px;margin-left:0}.table .span9{float:none;width:684px;margin-left:0}.table .span10{float:none;width:764px;margin-left:0}.table .span11{float:none;width:844px;margin-left:0}.table .span12{float:none;width:924px;margin-left:0}.table .span13{float:none;width:1004px;margin-left:0}.table .span14{float:none;width:1084px;margin-left:0}.table .span15{float:none;width:1164px;margin-left:0}.table .span16{float:none;width:1244px;margin-left:0}.table .span17{float:none;width:1324px;margin-left:0}.table .span18{float:none;width:1404px;margin-left:0}.table .span19{float:none;width:1484px;margin-left:0}.table .span20{float:none;width:1564px;margin-left:0}.table .span21{float:none;width:1644px;margin-left:0}.table .span22{float:none;width:1724px;margin-left:0}.table .span23{float:none;width:1804px;margin-left:0}.table .span24{float:none;width:1884px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-tabs > .active > a > [class^="icon-"],.nav-tabs > .active > a > [class*=" icon-"],.nav-pills > .active > a > [class^="icon-"],.nav-pills > .active > a > [class*=" icon-"],.nav-list > .active > a > [class^="icon-"],.nav-list > .active > a > [class*=" icon-"],.navbar-inverse .nav > .active > a > [class^="icon-"],.navbar-inverse .nav > .active > a > [class*=" icon-"],.dropdown-menu > li > a:hover > [class^="icon-"],.dropdown-menu > li > a:hover > [class*=" icon-"],.dropdown-menu > .active > a > [class^="icon-"],.dropdown-menu > .active > a > [class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid#000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.dropdown-menu a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li > a:hover,.dropdown-menu li > a:focus,.dropdown-submenu:hover > a{text-decoration:none;color:#fff;background-color:#1d8835;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu .active > a,.dropdown-menu .active > a:hover{color:#fff;text-decoration:none;outline:0;background-color:#1d8835;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu .disabled > a,.dropdown-menu .disabled > a:hover{color:#999}.dropdown-menu .disabled > a:hover{text-decoration:none;background-color:transparent;cursor:default}.open{*z-index:1000}.open > .dropdown-menu{display:block}.pull-right > .dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid#000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover > .dropdown-menu{display:block}.dropdown-submenu > a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover > a:after{border-left-color:#fff}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0#fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 14px;margin-bottom:0;font-size:14px;line-height:20px;*line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:2px}.btn-small{padding:3px 9px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px;font-size:11px;line-height:17px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block + .btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#1d8843;background-image:-moz-linear-gradient(top,#1d8835,#1d8859);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#1d8859));background-image:-webkit-linear-gradient(top,#1d8835,#1d8859);background-image:-o-linear-gradient(top,#1d8835,#1d8859);background-image:linear-gradient(to bottom,#1d8835,#1d8859);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff1d8859',GradientType=0);border-color:#1d8859 #1d8859 #104930;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#1d8859;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1d8859;*background-color:#19734b}.btn-primary:active,.btn-primary.active{background-color:#145e3d \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#1d8835;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#10491c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group + .btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-toolbar .btn + .btn,.btn-toolbar .btn-group + .btn,.btn-toolbar .btn + .btn-group{margin-left:5px}.btn-group > .btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group > .btn + .btn{margin-left:-1px}.btn-group > .btn,.btn-group > .dropdown-menu{font-size:14px}.btn-group > .btn-mini{font-size:11px}.btn-group > .btn-small{font-size:12px}.btn-group > .btn-large{font-size:16px}.btn-group > .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group > .btn:last-child,.btn-group > .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group > .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.btn-group > .btn.large:last-child,.btn-group > .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.btn-group > .btn:hover,.btn-group > .btn:focus,.btn-group > .btn:active,.btn-group > .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group > .btn + .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);*padding-top:5px;*padding-bottom:5px}.btn-group > .btn-mini + .dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group > .btn-small + .dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group > .btn-large + .dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1d8859}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.dropup .btn-large .caret{border-bottom:5px solid#000;border-top:0}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn + .btn{margin-left:0;margin-top:-1px}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block > p,.alert-block > ul{margin-bottom:0}.alert-block p + p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav > li > a{display:block}.nav > li > a:hover{text-decoration:none;background-color:#eee}.nav > .pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#1d8835}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover{border-color:#eee #eeeeee#ddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover{color:#fff;background-color:#1d8835}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked > li > a:hover{border-color:#ddd;z-index:2}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#1d8835;border-bottom-color:#1d8835;margin-top:6px}.nav .dropdown-toggle:hover .caret{border-top-color:#10491c;border-bottom-color:#10491c}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav > .dropdown.active > a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > li.dropdown.open.active > a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open > a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below > .nav-tabs,.tabs-right > .nav-tabs,.tabs-left > .nav-tabs{border-bottom:0}.tab-content > .tab-pane,.pill-content > .pill-pane{display:none}.tab-content > .active,.pill-content > .active{display:block}.tabs-below > .nav-tabs{border-top:1px solid #ddd}.tabs-below > .nav-tabs > li{margin-top:-1px;margin-bottom:0}.tabs-below > .nav-tabs > li > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below > .nav-tabs > li > a:hover{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below > .nav-tabs > .active > a,.tabs-below > .nav-tabs > .active > a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left > .nav-tabs > li,.tabs-right > .nav-tabs > li{float:none}.tabs-left > .nav-tabs > li > a,.tabs-right > .nav-tabs > li > a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left > .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left > .nav-tabs > li > a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left > .nav-tabs > li > a:hover{border-color:#eee #dddddd#eee #eeeeee}.tabs-left > .nav-tabs .active > a,.tabs-left > .nav-tabs .active > a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right > .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right > .nav-tabs > li > a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right > .nav-tabs > li > a:hover{border-color:#eee #eeeeee#eee #dddddd}.tabs-right > .nav-tabs .active > a,.tabs-right > .nav-tabs .active > a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav > .disabled > a{color:#999}.nav > .disabled > a:hover{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;color:#777;*position:relative;*z-index:2}.navbar-inner{min-height:60px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{float:left;display:block;padding:20px 20px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#fff;text-shadow:0 1px 0#fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:60px}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:60px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid#fff}.navbar .btn,.navbar .btn-group{margin-top:15px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:15px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:15px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;width:100%;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1010;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav > li{float:left}.navbar .nav > li > a{float:none;padding:20px 15px 20px;color:#777;text-decoration:none;text-shadow:0 1px 0#fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav > li > a:focus,.navbar .nav > li > a:hover{background-color:transparent;color:#333;text-decoration:none}.navbar .nav > .active > a,.navbar .nav > .active > a:hover,.navbar .nav > .active > a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar + .icon-bar{margin-top:3px}.navbar .nav > li > .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:9px}.navbar .nav > li > .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid#fff;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav > li > .dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav > li > .dropdown-menu:after{border-top:6px solid#fff;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle,.navbar .nav li.dropdown.open.active > .dropdown-toggle{background-color:#e5e5e5;color:#555}.navbar .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open > .dropdown-toggle .caret,.navbar .nav li.dropdown.active > .dropdown-toggle .caret,.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right > li > .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right > li > .dropdown-menu:before,.navbar .nav > li > .dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right > li > .dropdown-menu:after,.navbar .nav > li > .dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right > li > .dropdown-menu .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0);border-color:#252525}.navbar-inverse .brand,.navbar-inverse .nav > li > a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav > li > a:hover{color:#fff}.navbar-inverse .nav > li > a:focus,.navbar-inverse .nav > li > a:hover{background-color:transparent;color:#fff}.navbar-inverse .nav .active > a,.navbar-inverse .nav .active > a:hover,.navbar-inverse .nav .active > a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#111;border-right-color:#222}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{background-color:#111;color:#fff}.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0#fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);border-color:#040404 #040404#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0#fff}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{height:40px;margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul > li{display:inline}.pagination ul > li > a,.pagination ul > li > span{float:left;padding:0 14px;line-height:38px;text-decoration:none;background-color:#fff;border:1px solid#ddd;border-left-width:0}.pagination ul > li > a:hover,.pagination ul > .active > a,.pagination ul > .active > span{background-color:#f5f5f5}.pagination ul > .active > a,.pagination ul > .active > span{color:#999;cursor:default}.pagination ul > .disabled > span,.pagination ul > .disabled > a,.pagination ul > .disabled > a:hover{color:#999;background-color:transparent;cursor:default}.pagination ul > li:first-child > a,.pagination ul > li:first-child > span{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination ul > li:last-child > a,.pagination ul > li:last-child > span{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager a,.pager span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a,.pager .next span{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover,.pager .disabled span{color:#999;background-color:#fff;cursor:default}.modal-open .modal .dropdown-menu{z-index:2050}.modal-open .modal .dropdown.open{*z-index:2050}.modal-open .modal .popover{z-index:2080}.modal-open .modal .tooltip{z-index:2080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{overflow-y:auto;max-height:400px;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1030;display:none;width:236px;padding:1px;background-color:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-bottom:10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-right:10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{content:"";z-index:-1}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#fff}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,0.25);bottom:-1px;left:-11px}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#fff}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0,0,0,0.25);bottom:-11px;left:-1px}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#fff}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0,0,0,0.25);top:-1px;left:-11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#fff}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0,0,0,0.25);bottom:-11px;right:-1px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails > li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#1d8835;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail > img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar + .bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel .item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item > img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid#fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit p{font-size:18px;font-weight:200;line-height:30px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.container,.navbar .container{padding-left:20px;padding-right:20px;width:auto;min-width:320px;max-width:1400px}.navbar .brand{font-size:32px;line-height:32px;padding:16px 20px 12px;font-weight:700;color:#ddd;text-shadow:0 -1px 0 rgba(0,0,0,0.25),0 1px 0#fff,0 0 30px rgba(0,0,0,0.125);-webkit-transition:color .1s linear;-moz-transition:color .1s linear;-o-transition:color .1s linear;transition:color .1s linear}.navbar .brand:hover{color:#1d8835}.navbar .nav > li > a{min-height:18px}.navbar .nav li.dropdown .dropdown-toggle{padding:20px 10px 21px 20px;white-space:nowrap}.navbar .nav li.dropdown > .dropdown-toggle,.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle{background-color:transparent}.navbar .nav .dropdown-menu li a{padding-right:4em;position:relative}.navbar .nav .dropdown-menu li a span{padding:0 6px;display:inline-block;position:absolute;top:50%;right:10px;margin-top:-8px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;line-height:16px;color:#666;background-color:rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2)}.navbar .nav .dropdown-menu li a:hover span{color:#DDD}.navbar .nav .dropdown-menu li.active a span{color:#CCC;background-color:rgba(0,0,0,0.2)}.navbar form{padding-left:20px;margin:15px 0 0 -10px}code,pre{font-family:'Source Code Pro',monospace}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.nav .dropdown,.navbar-search{background-color:transparent;background-position:center left;background-repeat:no-repeat}.navbar-search{background-position:left -1px}.popover-title{font-size:18px}html,body{color:#111;background-color:#D3D3D3}h1,h2,h3,a.brand,body > footer p{font-family:"Rokkitt",serif;font-weight:700}noscript h1{font-size:2.2em;text-align:center;margin:80px 40px}::-moz-selection{background:#b4d6bc;text-shadow:none}::-webkit-selection{background:#b4d6bc;text-shadow:none}::selection{background:#b4d6bc;text-shadow:none}html,body{margin:0;padding:0}body{padding-top:60px}aside#alerts{margin-top:20px}body > footer{font-weight:400;text-align:center}body > footer a.keyboard-shortcuts:link,body > footer a.keyboard-shortcuts:visited{color:#888}body > footer a.keyboard-shortcuts:hover,body > footer a.keyboard-shortcuts:active{color:#666}body > footer a.keyboard-shortcuts img{line-height:1px;vertical-align:text-top;height:13px;width:16px}.navbar .servers{display:none}.navbar .nav-section{display:none}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.server,body.section-document .navbar .nav-section.database,body.section-document .navbar .nav-section.collection{display:block}.navbar form{display:none}body.section-documents .navbar form,body.section-document .navbar form{display:block}html.textoverflow .navbar .nav-section > a{max-width:8em;overflow:hidden;text-overflow:ellipsis}.navbar-search{padding-bottom:16px}.navbar-search .grippie{position:absolute;bottom:2px;left:50%;margin-left:-5px;clear:both;display:block;height:12px;width:30px;background-color:transparent;background-position:center center;background-repeat:repeat-x;border:none;opacity:.5;filter:alpha(opacity=50)}.navbar-search .grippie:hover{opacity:1;filter:alpha(opacity=100)}.navbar-search .search-advanced{display:none;position:absolute;top:0;left:0;right:0;bottom:10px}.navbar-search .search-advanced .well{position:absolute;top:0;left:0;right:0;bottom:30px;padding:0;overflow:hidden}.navbar-search .search-advanced.focused .well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.navbar-search .search-advanced .form-actions{position:absolute;left:0;right:0;bottom:0;padding:0;margin:-20px 0 5px;border-top:none;background:transparent}.navbar-search .search-advanced .form-actions .btn{float:right;margin-left:5px}.navbar-search.expanded{position:relative;clear:both;float:none;margin:0 20px;padding:0;background-image:none;min-height:120px}.navbar-search.expanded .grippie{margin-left:-15px}.navbar-search.expanded input.search-query{display:none}.navbar-search.expanded .search-advanced{display:block}.masthead{position:relative;padding:40px 0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.4),0 0 30px rgba(0,0,0,0.1);background:-webkit-radial-gradient(#115120 25%,transparent 26%) 0 0,-webkit-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#115120 25%,transparent 26%) 0 0,-moz-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#115120 25%,transparent 26%) 0 0,-ms-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#115120 25%,transparent 26%) 0 0,-o-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#115120 25%,transparent 26%) 0 0,radial-gradient(#115120 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#145e25;-webkit-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);-moz-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2)}.masthead .container{position:relative;z-index:2}.masthead:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,0.01);background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-webkit-gradient(linear,0 0,100% 0,from(rgba(0,0,0,0.5)),to(rgba(255,255,255,0.01)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-o-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:linear-gradient(to right,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#03ffffff',GradientType=1)}.masthead h1{font-size:60px;font-weight:700;letter-spacing:-1px;line-height:1}.masthead p{font-size:24px;line-height:1.25;margin-bottom:20px;font-weight:300}.masthead.epic{text-align:center;padding:70px 80px}.masthead.epic h1{font-size:120px}.masthead.epic h2{font-size:80px}.masthead.epic p{font-size:40px;font-weight:200;margin-bottom:30px}.masthead.error{background:-webkit-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-webkit-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-moz-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-ms-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-o-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#8a3635 25%,transparent 26%) 0 0,radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#953b39}.masthead.muted{background:-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-o-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#333}body > section{min-height:150px}body > section section{display:none;background-color:#fff;margin:20px 0;padding:20px;border:1px solid #AAA;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;-moz-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white}body > section section > header{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;margin:-20px -20px 20px;padding:9px 20px;background-color:#f5f5f5;border-bottom:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff}body > section section > header h2{font-size:24px;margin:0;line-height:30px}body > section section > .content{min-height:100px;-webkit-transition:.1s linear all;-moz-transition:.1s linear all;-o-transition:.1s linear all;transition:.1s linear all}body > section section > p:first-child{margin-top:0}body > section section > p:last-child{margin-bottom:0}body > section section.spinning{height:180px}body > section section.spinning header h2{background-color:transparent;background-position:left center;background-repeat:no-repeat;text-indent:-10000em}body > section section.spinning .controls,body > section section.spinning .add-form,body > section section.spinning .content{display:none}body > section section .details{display:none}body > section section .has-details{border-bottom:1px dotted#998;cursor:default}.add-form button.show{display:none}.add-form.inactive button,.add-form.inactive input,.add-form.inactive .input-append{display:none}.add-form.inactive button.show{display:inherit}.add-form.inactive .help{display:none}.add-form span.input-append .add-on{margin-right:4px}.add-form .help{cursor:default}table{width:100%;margin-bottom:20px;border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}table th,table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}table th{font-weight:700}table thead th{vertical-align:bottom}table caption + thead tr:first-child th,table caption + thead tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}table tbody + tbody{border-top:2px solid#ddd}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}table th,table td{border-left:1px solid#ddd}table caption + thead tr:first-child th,table caption + tbody tr:first-child th,table caption + tbody tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + tbody tr:first-child th,table colgroup + tbody tr:first-child td,table thead:first-child tr:first-child th,table tbody:first-child tr:first-child th,table tbody:first-child tr:first-child td{border-top:0}table thead:first-child tr:first-child th:first-child,table tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}table thead:first-child tr:first-child th:last-child,table tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}table thead:last-child tr:last-child th:first-child,table tbody:last-child tr:last-child td:first-child,table tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}table thead:last-child tr:last-child th:last-child,table tbody:last-child tr:last-child td:last-child,table tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}table caption + thead tr:first-child th:first-child,table caption + tbody tr:first-child td:first-child,table colgroup + thead tr:first-child th:first-child,table colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}table caption + thead tr:first-child th:last-child,table caption + tbody tr:first-child td:last-child,table colgroup + thead tr:first-child th:last-child,table colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topleft:4px}table tbody tr:hover td,table tbody tr:hover th{background-color:#f5f5f5}table .header{cursor:pointer}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden}table .header.headerSortUp,table .header.headerSortDown{background-color:rgba(29,136,53,0.050000000000000044);text-shadow:0 1px 1px rgba(255,255,255,0.75)}table .header:hover:after{visibility:visible}table .header.headerSortDown:after,table .header.headerSortDown:hover:after{visibility:visible;opacity:.6;filter:alpha(opacity=60)}table .header.headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.6;filter:alpha(opacity=60)}tr td.action-column{padding:7px 10px 0;text-align:right}tr td.action-column button{visibility:hidden;-webkit-transition-property:color,background,box-shadow;-moz-transition-property:color,background,box-shadow;-o-transition-property:color,background,box-shadow;transition-property:color,background,box-shadow}tr:hover td.action-column button{visibility:inherit}section#servers .alert.alert-error{padding:3px 10px;font-weight:700}section#servers tr.spinning td:first-child{padding-left:35px;background-color:transparent;background-position:10px center;background-repeat:no-repeat}section#servers tr input{display:none}section#servers tr.editing span.name{display:none}section#servers tr.editing input{display:inherit}.index-details{color:#111;list-style:none;margin:0}.index-details li{display:block;margin-bottom:5px}section#documents .controls{*zoom:1;margin-bottom:20px}section#documents .controls:before,section#documents .controls:after{display:table;content:"";line-height:0}section#documents .controls:after{clear:both}section#documents .controls .add-document{float:left}section#documents .controls .pagination{margin:0}section#documents .controls .pagination li.prev a:after{content:' Previous'}section#documents .controls .pagination li.next a:before{content:'Next '}section#document h2 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}section#document article h3{display:none}.document{font-family:'Source Code Pro',monospace;line-height:1.4em}.document-wrapper div.well{overflow-x:auto}.document-wrapper div.well h3{margin-top:0}.document-wrapper div.well h3 a{color:#333}.document-wrapper div.well h3 a:hover,.document-wrapper div.well h3 a:active{color:#1d8835}.document-wrapper div.well h3 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}.document-wrapper article{position:relative}.document-wrapper article div.document-actions{position:absolute;right:20px;z-index:10}.document-wrapper article div.document-actions button.save,.document-wrapper article div.document-actions button.cancel{display:none}.document-wrapper article div.document-actions button.edit,.document-wrapper article div.document-actions button.destroy{visibility:hidden}.document-wrapper article:hover div.document-actions button.edit,.document-wrapper article:hover div.document-actions button.destroy{visibility:inherit}.document-wrapper article div.well{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.document-wrapper article.edit div.document-actions{margin-top:20px}.document-wrapper article.edit div.document-actions button.edit,.document-wrapper article.edit div.document-actions button.destroy{display:none}.document-wrapper article.edit div.document-actions button.save,.document-wrapper article.edit div.document-actions button.cancel{display:inline-block}.document-wrapper article.edit div.well{padding:0;background-color:#fff;*zoom:1}.document-wrapper article.edit div.well h3{display:none}.document-wrapper article.edit div.well:before,.document-wrapper article.edit div.well:after{display:table;content:"";line-height:0}.document-wrapper article.edit div.well:after{clear:both}.document-wrapper article.edit.focused div.well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.modal.editor{width:820px;margin-left:-410px;max-height:90%}.modal.editor .wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:1px solid#ccc}.modal.editor .wrapper.focused{border:1px solid rgba(29,136,53,0.8);-webkit-box-shadow:0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:0 0 8px rgba(29,136,53,0.6);box-shadow:0 0 8px rgba(29,136,53,0.6)}.modal.editor .CodeMirror-scroll{height:250px}#keyboard-shortcuts .modal-body ul{*zoom:1;list-style:none;margin:0;padding:0}#keyboard-shortcuts .modal-body ul:before,#keyboard-shortcuts .modal-body ul:after{display:table;content:"";line-height:0}#keyboard-shortcuts .modal-body ul:after{clear:both}#keyboard-shortcuts .modal-body ul li{width:50%;float:left;list-style:none;margin:0;padding:0}#keyboard-shortcuts .modal-body h4{font-size:1em;line-height:2}#keyboard-shortcuts .modal-body dl dt,#keyboard-shortcuts .modal-body dl dd{line-height:1.5}#keyboard-shortcuts .modal-body dl dt{margin:0;padding:0;float:left;width:2em}#keyboard-shortcuts .modal-body dl dd{margin:0 0 0 3em}.document-wrapper article h3{line-height:1;margin-bottom:10px}.document-wrapper .document{color:#111;position:relative;white-space:pre}.document-wrapper .document .null,.document-wrapper .document .bool,.document-wrapper .document .z,.document-wrapper .document .b{color:#0086b3}.document-wrapper .document .num,.document-wrapper .document .n{color:#40A070}.document-wrapper .document .quoted,.document-wrapper .document .q{color:#D20}.document-wrapper .document .quoted .string,.document-wrapper .document .q .string,.document-wrapper .document .quoted .s,.document-wrapper .document .q .s{color:#D14}.document-wrapper .document .quoted .string a:link,.document-wrapper .document .q .string a:link,.document-wrapper .document .quoted .s a:link,.document-wrapper .document .q .s a:link,.document-wrapper .document .quoted .string a:visited,.document-wrapper .document .q .string a:visited,.document-wrapper .document .quoted .s a:visited,.document-wrapper .document .q .s a:visited{color:#D14;text-decoration:underline}.document-wrapper .document .quoted .string a:hover,.document-wrapper .document .q .string a:hover,.document-wrapper .document .quoted .s a:hover,.document-wrapper .document .q .s a:hover,.document-wrapper .document .quoted .string a:active,.document-wrapper .document .q .string a:active,.document-wrapper .document .quoted .s a:active,.document-wrapper .document .q .s a:active{color:#0058E1}.document-wrapper .document .re{color:#009926}.document-wrapper .document .ref .ref-ref .v .s,.document-wrapper .document .ref .ref-db .v .s,.document-wrapper .document .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.document-wrapper .document .ref .ref-ref .v .s:hover,.document-wrapper .document .ref .ref-db .v .s:hover,.document-wrapper .document .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.document-wrapper .document .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document var{font-style:normal}.document-wrapper .document .p{position:relative}.document-wrapper .document .p .ellipsis,.document-wrapper .document .p .e{display:none;cursor:pointer}.document-wrapper .document .p .ellipsis .summary,.document-wrapper .document .p .e .summary,.document-wrapper .document .p .ellipsis q,.document-wrapper .document .p .e q{color:#998;font-style:italic}.document-wrapper .document .p .collapser,.document-wrapper .document .p .c,.document-wrapper .document .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.document-wrapper .document .p .collapser:after,.document-wrapper .document .p .c:after,.document-wrapper .document .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.document-wrapper .document .p .collapser:hover:after,.document-wrapper .document .p .c:hover:after,.document-wrapper .document .p button:hover:after,.document-wrapper .document .p .collapser:active:after,.document-wrapper .document .p .c:active:after,.document-wrapper .document .p button:active:after{border-top-color:#998}.document-wrapper .document .p button{border:none;background-color:transparent}.document-wrapper .document .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed button:hover:after,.document-wrapper .document .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed .ellipsis,.document-wrapper .document .p.collapsed .e{display:inline}.document-wrapper .document .p.collapsed .collapser:after,.document-wrapper .document .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed .collapser:hover:after,.document-wrapper .document .p.collapsed .c:hover:after,.document-wrapper .document .p.collapsed .collapser:active:after,.document-wrapper .document .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.index-details li{color:#111;position:relative;white-space:pre;white-space:normal}.index-details li .null,.index-details li .bool,.index-details li .z,.index-details li .b{color:#0086b3}.index-details li .num,.index-details li .n{color:#40A070}.index-details li .quoted,.index-details li .q{color:#D20}.index-details li .quoted .string,.index-details li .q .string,.index-details li .quoted .s,.index-details li .q .s{color:#D14}.index-details li .quoted .string a:link,.index-details li .q .string a:link,.index-details li .quoted .s a:link,.index-details li .q .s a:link,.index-details li .quoted .string a:visited,.index-details li .q .string a:visited,.index-details li .quoted .s a:visited,.index-details li .q .s a:visited{color:#D14;text-decoration:underline}.index-details li .quoted .string a:hover,.index-details li .q .string a:hover,.index-details li .quoted .s a:hover,.index-details li .q .s a:hover,.index-details li .quoted .string a:active,.index-details li .q .string a:active,.index-details li .quoted .s a:active,.index-details li .q .s a:active{color:#0058E1}.index-details li .re{color:#009926}.index-details li .ref .ref-ref .v .s,.index-details li .ref .ref-db .v .s,.index-details li .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.index-details li .ref .ref-ref .v .s:hover,.index-details li .ref .ref-db .v .s:hover,.index-details li .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.index-details li .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li var{font-style:normal}.index-details li .p{position:relative}.index-details li .p .ellipsis,.index-details li .p .e{display:none;cursor:pointer}.index-details li .p .ellipsis .summary,.index-details li .p .e .summary,.index-details li .p .ellipsis q,.index-details li .p .e q{color:#998;font-style:italic}.index-details li .p .collapser,.index-details li .p .c,.index-details li .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.index-details li .p .collapser:after,.index-details li .p .c:after,.index-details li .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.index-details li .p .collapser:hover:after,.index-details li .p .c:hover:after,.index-details li .p button:hover:after,.index-details li .p .collapser:active:after,.index-details li .p .c:active:after,.index-details li .p button:active:after{border-top-color:#998}.index-details li .p button{border:none;background-color:transparent}.index-details li .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed button:hover:after,.index-details li .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed .ellipsis,.index-details li .p.collapsed .e{display:inline}.index-details li .p.collapsed .collapser:after,.index-details li .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed .collapser:hover:after,.index-details li .p.collapsed .c:hover:after,.index-details li .p.collapsed .collapser:active:after,.index-details li .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.cm-s-default span.cm-keyword{color:#111}.cm-s-default span.cm-atom{color:#0086b3}.cm-s-default span.cm-number{color:#40A070}.cm-s-default span.cm-def{color:#111}.cm-s-default span.cm-variable{color:#111}.cm-s-default span.cm-variable-2{color:#111}.cm-s-default span.cm-variable-3{color:#111}.cm-s-default span.cm-property{color:#111}.cm-s-default span.cm-operator{color:#111}.cm-s-default span.cm-comment{color:#111}.cm-s-default span.cm-string{color:#D14}.cm-s-default span.cm-string-2{color:#009926}.cm-s-default span.cm-meta{color:#111}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#111}.cm-s-default span.cm-builtin{color:#111}.cm-s-default span.cm-bracket{color:#111}.cm-s-default span.cm-tag{color:#111}.cm-s-default span.cm-attribute{color:#111}.cm-s-default span.cm-header{color:#111}.cm-s-default span.cm-quote{color:#111}.cm-s-default span.cm-hr{color:#111}.cm-s-default span.cm-link{color:#1d8835}.CodeMirror-focused div.CodeMirror-selected{background:#b4d6bc}.CodeMirror{font-family:'Source Code Pro',monospace;line-height:1.4em}.CodeMirror .line-error:before{content:'!';display:inline-block;color:#fff;font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#b94a48;text-align:center;margin-right:3px;font-size:12px;line-height:12px;width:12px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.CodeMirror-scroll{background-color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.CodeMirror-gutter{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.welcome-links{margin:0;padding:0;list-style:none}.welcome-links li{display:inline;padding:0 10px;color:#729e7c}.welcome-links li a:link,.welcome-links li a:visited{color:#b9cfbd;-webkit-transition:color .2s ease-in-out;-moz-transition:color .2s ease-in-out;-o-transition:color .2s ease-in-out;transition:color .2s ease-in-out}.welcome-links li a:hover,.welcome-links li a:active{color:#fff}.appriseOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;opacity:.8;filter:alpha(opacity=80)}.appriseOverlay.fade{opacity:0}.appriseOuter{position:fixed;top:50%;left:50%;z-index:1050;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;width:auto;top:inherit;left:inherit;margin:0;min-width:200px;min-height:50px;max-width:75%;display:none}.appriseOuter.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.appriseOuter.fade.in{top:50%}.appriseInner{overflow-y:auto;max-height:400px;padding:15px}.appriseInner button{display:inline-block;*display:inline;*zoom:1;padding:4px 14px;margin-bottom:0;font-size:14px;line-height:20px;*line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.appriseInner button:hover,.appriseInner button:active,.appriseInner button.active,.appriseInner button.disabled,.appriseInner button[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.appriseInner button:active,.appriseInner button.active{background-color:#ccc \9}.appriseInner button:first-child{*margin-left:0}.appriseInner button:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.appriseInner button:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.appriseInner button.active,.appriseInner button:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.appriseInner button.disabled,.appriseInner button[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.appriseInner button .label,.appriseInner button .badge{position:relative;top:-1px}.appriseInner button[value="ok"]{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#1d8843;background-image:-moz-linear-gradient(top,#1d8835,#1d8859);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#1d8859));background-image:-webkit-linear-gradient(top,#1d8835,#1d8859);background-image:-o-linear-gradient(top,#1d8835,#1d8859);background-image:linear-gradient(to bottom,#1d8835,#1d8859);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff1d8859',GradientType=0);border-color:#1d8859 #1d8859 #104930;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#1d8859;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.appriseInner button[value="ok"]:hover,.appriseInner button[value="ok"]:active,.appriseInner button[value="ok"].active,.appriseInner button[value="ok"].disabled,.appriseInner button[value="ok"][disabled]{color:#fff;background-color:#1d8859;*background-color:#19734b}.appriseInner button[value="ok"]:active,.appriseInner button[value="ok"].active{background-color:#145e3d \9}.appriseInner button[value="ok"] .caret{border-top-color:#fff;border-bottom-color:#fff}.aButtons{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1;margin:20px -15px -15px}.aButtons:before,.aButtons:after{display:table;content:"";line-height:0}.aButtons:after{clear:both}.aButtons .btn + .btn{margin-left:5px;margin-bottom:0}.aButtons .btn-group .btn + .btn{margin-left:-1px}.aButtons button{float:right;margin-left:5px;margin-bottom:0}.aButtons button:last-child{margin-left:0}.aTextbox{width:94%;min-width:180px;display:block;margin:20px auto 0}@media screen and (max-width:1200px){section#documents .controls .pagination li.next a:before{content:'Next '}section#documents .controls .pagination li.prev a:after{content:' Prev'}}@media screen and (max-width:860px),screen and (max-height:860px){.masthead.epic.welcome{padding:40px 20px}.masthead.epic.welcome h1{font-size:90px}.masthead.epic.welcome h2{font-size:60px}.masthead.epic.welcome p{font-size:24px}}@media screen and (max-width:860px){.masthead{padding:40px 20px;margin-right:-20px;margin-left:-20px}.masthead.epic{padding:40px 20px}.masthead.epic h1{font-size:90px}.masthead.epic h2{font-size:60px}.masthead.epic p{font-size:24px}.modal.editor{left:20px;right:20px;width:auto;margin-left:0}table th,table td{padding:4px 5px}table td.action-column{padding-top:2px}section#documents .controls .pagination li.prev a:after,section#documents .controls .pagination li.next a:before{content:''}#keyboard-shortcuts{width:440px;margin-left:-220px}}@media only screen and (max-width:480px),only screen and (max-height:680px){.masthead.epic.welcome h1{font-size:60px}.masthead.epic.welcome h2{font-size:40px}.masthead.epic.welcome p{font-size:20px}}@media only screen and (max-width:480px){.container{padding:0}.navbar .nav{float:none}.navbar .btn.search{display:inline-block;z-index:10}body.section-documents .navbar form,body.section-document .navbar form{display:none;height:0;overflow:hidden}.navbar .brand{display:none}body.section-servers .navbar .brand,body:not(.has-section) .navbar .brand{display:block;text-align:center;float:none}.navbar .nav-section{position:absolute;background:none}.navbar .nav-section .dropdown-menu{display:none}body.section-servers .navbar .nav-section.servers,body.section-servers .navbar .nav-section.server,body.section-servers .navbar .nav-section.database,body.section-servers .navbar .nav-section.collection,body.section-databases .navbar .nav-section.database,body.section-databases .navbar .nav-section.collection,body.section-collections .navbar .nav-section.servers,body.section-collections .navbar .nav-section.collection,body.section-documents .navbar .nav-section.servers,body.section-documents .navbar .nav-section.server,body.section-document .navbar .nav-section.servers,body.section-document .navbar .nav-section.server{display:none}body.section-databases .navbar .nav-section.servers,body.section-collections .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-document .navbar .nav-section.database{display:inline-block;float:left;padding:16px 0 0 2px;z-index:1012}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,body.section-collections .navbar .nav-section.server > a.dropdown-toggle,body.section-documents .navbar .nav-section.database > a.dropdown-toggle,body.section-document .navbar .nav-section.database > a.dropdown-toggle,body.section-databases .navbar .nav-section.servers > a,body.section-collections .navbar .nav-section.server > a,body.section-documents .navbar .nav-section.database > a,body.section-document .navbar .nav-section.database > a{display:inline-block;*display:inline;*zoom:1;padding:4px 14px;margin-bottom:0;font-size:14px;line-height:20px;*line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;z-index:10;overflow:visible}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active{background-color:#ccc \9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:first-child,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:first-child,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-document .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-databases .navbar .nav-section.servers > a:first-child,body.section-collections .navbar .nav-section.server > a:first-child,body.section-documents .navbar .nav-section.database > a:first-child,body.section-document .navbar .nav-section.database > a:first-child{*margin-left:0}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:focus,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:focus,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-document .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-databases .navbar .nav-section.servers > a:focus,body.section-collections .navbar .nav-section.server > a:focus,body.section-documents .navbar .nav-section.database > a:focus,body.section-document .navbar .nav-section.database > a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .label,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .label,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .label,body.section-document .navbar .nav-section.database > a.dropdown-toggle .label,body.section-databases .navbar .nav-section.servers > a .label,body.section-collections .navbar .nav-section.server > a .label,body.section-documents .navbar .nav-section.database > a .label,body.section-document .navbar .nav-section.database > a .label,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .badge,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .badge,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-document .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-databases .navbar .nav-section.servers > a .badge,body.section-collections .navbar .nav-section.server > a .badge,body.section-documents .navbar .nav-section.database > a .badge,body.section-document .navbar .nav-section.database > a .badge{position:relative;top:-1px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-databases .navbar .nav-section.servers > a,html.cssmask body.section-collections .navbar .nav-section.server > a,html.cssmask body.section-documents .navbar .nav-section.database > a,html.cssmask body.section-document .navbar .nav-section.database > a{display:inline-block;position:relative;padding-left:8px;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:before,html.cssmask body.section-collections .navbar .nav-section.server > a:before,html.cssmask body.section-documents .navbar .nav-section.database > a:before,html.cssmask body.section-document .navbar .nav-section.database > a:before{position:absolute;left:-9px;top:2px;height:23px;width:23px;content:" ";background-color:#fff;background-image:-webkit-gradient(linear,top left,bottom right,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-o-linear-gradient(-45deg,#fff,#e6e6e6);background-image:linear-gradient(-45deg,#fff,#e6e6e6);background-repeat:repeat-x;border-left:1px solid #c8c8c8;border-bottom:1px solid #aeaeae;-webkit-border-radius:7px 0 7px 0;-moz-border-radius:7px 0 7px 0;border-radius:7px 0 7px 0;display:inline-block;-webkit-transform:rotate(45deg) skew(3deg,3deg);-moz-transform:rotate(45deg) skew(3deg,3deg);-ms-transform:rotate(45deg) skewx(3deg) skewy(3deg);-o-transform:rotate(45deg) skew(3deg,3deg);transform:rotate(45deg) skew(3deg,3deg);-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-webkit-mask-image:-webkit-gradient(linear,left bottom,right top,from(#000),color-stop(0.5,#000),color-stop(0.5,transparent),to(transparent));-webkit-mask-image:-webkit-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-moz-mask-image:-moz-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-o-mask-image:-o-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);mask-image:linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-webkit-background-clip:content;-moz-background-clip:content;background-clip:content}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a:hover:before{background-color:#e8e8e8;background-position:-10px -10px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a:active:before,html.cssmask body.section-document .navbar .nav-section.database > a:active:before{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;-webkit-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);-moz-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);box-shadow:inset 0 3px 4px rgba(0,0,0,0.15)}body.section-databases .navbar .nav-section.servers.dropdown .dropdown-toggle,body.section-collections .navbar .nav-section.server.dropdown .dropdown-toggle,body.section-documents .navbar .nav-section.database.dropdown .dropdown-toggle,body.section-document .navbar .nav-section.database.dropdown .dropdown-toggle{padding:4px 14px}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.collection{width:12em;left:50%;margin-left:-6em;padding-top:20px;display:inline-block;float:none;text-align:center;z-index:1011}body.section-databases .navbar .nav-section.server > a,body.section-collections .navbar .nav-section.database > a,body.section-documents .navbar .nav-section.collection > a,body.section-document .navbar .nav-section.collection > a{font-family:"Rokkitt",serif;font-size:24px;line-height:24px}body.section-databases .navbar .nav-section.server .dropdown-toggle,body.section-collections .navbar .nav-section.database .dropdown-toggle,body.section-documents .navbar .nav-section.collection .dropdown-toggle,body.section-document .navbar .nav-section.collection .dropdown-toggle{padding:0}.masthead{text-align:center}.masthead .container{padding:0 20px}.masthead.epic h1{font-size:60px}.masthead.epic h2{font-size:40px}.masthead.epic p{font-size:20px}body > section section{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}table,thead,tbody,th,td,tr{display:block}table{border:none}table thead tr{position:absolute;top:-9999px;left:-9999px}table tr{border:1px solid #DDD;border-bottom:none}table tr:last-child{border-bottom:1px solid #DDD}table tr:first-child,table tr:first-child > td:first-child{-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px}table tr:last-child,table tr:last-child > td:last-child{-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px}table td{border:none;position:relative;padding-left:35%}table td:before{position:absolute;top:6px;left:6px;width:30%;padding-right:10px;white-space:nowrap;font-weight:700}#keyboard-shortcuts{width:360px;margin-left:-180px}section#servers table td:nth-of-type(1):before{content:"name"}section#servers table td:nth-of-type(2):before{content:"databases"}section#servers table td:nth-of-type(3):before{content:"size"}section#servers table td:nth-of-type(4),section#servers table td.action-column{display:none}section#databases table td:nth-of-type(1):before{content:"name"}section#databases table td:nth-of-type(2):before{content:"collections"}section#databases table td:nth-of-type(3):before{content:"size"}section#databases table td:nth-of-type(4),section#databases table td.action-column{display:none}section#collections table td:nth-of-type(1):before{content:"name"}section#collections table td:nth-of-type(2):before{content:"documents"}section#collections table td:nth-of-type(3):before{content:"indexes"}section#collections table td:nth-of-type(4),section#collections table td.action-column{display:none}}
@@ script.js
/**
* Genghis v2.1.6
*
* The single-file MongoDB admin app
*
* http://genghisapp.com
*
* @author Justin Hileman <justin@justinhileman.info>
*/
function apprise(e,t,n){var r={confirm:!1,verify:!1,input:!1,animate:!1,textOk:"Ok",textCancel:"Cancel",textYes:"Yes",textNo:"No",position:"center"};if(t)for(var i in r)typeof t[i]=="undefined"&&(t[i]=r[i]);var s=$(window).height(),o=$(window).width(),u=$('<div class="appriseOuter"></div>'),a=$('<div class="appriseOverlay" id="aOverlay"></div>'),f=$('<div class="appriseInner"></div>'),l=$('<div class="aButtons"></div>'),c=100;a.css({height:s,width:o}).appendTo("body").fadeIn(100,function(){$(this).css("filter","alpha(opacity=70)")}),u.appendTo("body"),f.append(e).appendTo(u),t&&t.input&&(typeof t["input"]=="string"&&f.append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" value="'+t.input+'" /></div>'),typeof t["input"]=="object"?f.append($('<div class="aInput"></div>').append(t.input)):f.append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" /></div>'),setTimeout(function(){$(".aTextbox").focus()},0)),f.append(l),t?t.confirm||t.input?(l.append('<button value="ok">'+t.textOk+"</button>"),l.append('<button value="cancel">'+t.textCancel+"</button>")):t.verify?(l.append('<button value="ok">'+t.textYes+"</button>"),l.append('<button value="cancel">'+t.textNo+"</button>")):l.append('<button value="ok">'+t.textOk+"</button>"):l.append('<button value="ok">Ok</button>'),u.css("left",($(window).width()-$(".appriseOuter").width())/2+$(window).scrollLeft()+"px");if(t){t.position&&t.position==="center"&&(c=(s-u.height())/2);if(t.animate){var h=t.animate;isNaN(h)&&(h=400),u.css("top","-200px").show().animate({top:c},h)}else u.css("top",c).fadeIn(200)}else u.css("top",c).fadeIn(200);$(document).keydown(function(e){a.is(":visible")&&(e.keyCode==13&&$('.aButtons > button[value="ok"]').click(),e.keyCode==27&&$('.aButtons > button[value="cancel"]').click())});var p=$(".aTextbox").val();p||(p=!1),$(".aTextbox").keyup(function(){p=$(this).val()}),$(".aButtons > button").click(function(){a.remove(),u.remove();if(n){$(this).text("");var e=$(this).attr("value");e=="ok"?t?t.input?n(p):n(!0):n(!0):e=="cancel"&&n(!1)}})}window.Modernizr=function(e,t,n){function x(e){f.cssText=e}function T(e,t){return x(prefixes.join(e+";")+(t||""))}function N(e,t){return typeof e===t}function C(e,t){return!!~(""+e).indexOf(t)}function k(e,t){for(var r in e){var i=e[r];if(!C(i,"-")&&f[i]!==n)return t=="pfx"?i:!0}return!1}function L(e,t,r){for(var i in e){var s=t[e[i]];if(s!==n)return r===!1?e[i]:N(s,"function")?s.bind(r||t):s}return!1}function A(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+p.join(r+" ")+r).split(" ");return N(t,"string")||N(t,"undefined")?k(i,t):(i=(e+" "+d.join(r+" ")+r).split(" "),L(i,t,n))}var r="2.6.1",i={},s=!0,o=t.documentElement,u="modernizr",a=t.createElement(u),f=a.style,l,c={}.toString,h="Webkit Moz O ms",p=h.split(" "),d=h.toLowerCase().split(" "),v={},m={},g={},y=[],b=y.slice,w,E={}.hasOwnProperty,S;!N(E,"undefined")&&!N(E.call,"undefined")?S=function(e,t){return E.call(e,t)}:S=function(e,t){return t in e&&N(e.constructor.prototype[t],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=b.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,o=n.apply(s,r.concat(b.call(arguments)));return Object(o)===o?o:s}return n.apply(t,r.concat(b.call(arguments)))};return i});for(var O in v)S(v,O)&&(w=O.toLowerCase(),i[w]=v[O](),y.push((i[w]?"":"no-")+w));return i.addTest=function(e,t){if(typeof e=="object")for(var r in e)S(e,r)&&i.addTest(r,e[r]);else{e=e.toLowerCase();if(i[e]!==n)return i;t=typeof t=="function"?t():t,s&&(o.className+=" "+(t?"":"no-")+e),i[e]=t}return i},x(""),a=l=null,i._version=r,i._domPrefixes=d,i._cssomPrefixes=p,i.testProp=function(e){return k([e])},i.testAllProps=A,o.className=o.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(s?" js "+y.join(" "):""),i}(this,this.document),Modernizr.addTest("cssmask",Modernizr.testAllProps("maskRepeat")),Modernizr.addTest("textoverflow",Modernizr.testAllProps("textOverflow")),function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Kt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=$t.length;while(i--){t=$t[i]+n;if(t in e)return t}return r}function Qt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Gt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Qt(n)&&(i[s]=v._data(n,"olddisplay",tn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Yt(e,t,n){var r=qt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Zt(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+Vt[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+Vt[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+Vt[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+Vt[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+Vt[i]+"Width"))||0));return s}function en(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Rt.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+Zt(e,t,n||(s?"border":"content"),i)+"px"}function tn(e){if(zt[e])return zt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return zt[e]=n,n}function an(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||rn.test(e)?r(e,i):an(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)an(e+"["+i+"]",t[i],n,r);else r(e,t)}function Nn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function Cn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===En;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=Cn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=Cn(e,n,r,i,"*",o)),u}function kn(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function Ln(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function An(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function jn(){try{return new e.XMLHttpRequest}catch(t){}}function Fn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function Vn(){return setTimeout(function(){In=t},0),In=v.now()}function $n(e,t){v.each(t,function(t,n){var r=(Xn[t]||[]).concat(Xn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Jn(e,t,n){var r,i=0,s=0,o=Wn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=In||Vn(),n=Math.max(0,f.startTime+f.duration-t),r=1-(n/f.duration||0),i=0,s=f.tweens.length;for(;i<s;i++)f.tweens[i].run(r);return u.notifyWith(e,[f,r,n]),r<1&&s?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:In||Vn(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Kn(l,f.opts.specialEasing);for(;i<o;i++){r=Wn[i].call(f,e,l,f.opts);if(r)return r}return $n(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Kn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Qn(e,t,n){var r,i,s,o,u,a,f,l,c=this,h=e.style,p={},d=[],m=e.nodeType&&Qt(e);n.queue||(f=v._queueHooks(e,"fx"),f.unqueued==null&&(f.unqueued=0,l=f.empty.fire,f.empty.fire=function(){f.unqueued||l()}),f.unqueued++,c.always(function(){c.always(function(){f.unqueued--,v.queue(e,"fx").length||f.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||tn(e.nodeName)==="inline"?h.display="inline-block":h.zoom=1)),n.overflow&&(h.overflow="hidden",v.support.shrinkWrapBlocks||c.done(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Rn.exec(s)){delete t[r];if(s===(m?"hide":"show"))continue;d.push(r)}}o=d.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),m?v(e).show():c.done(function(){v(e).hide()}),c.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in p)v.style(e,t,p[t])});for(r=0;r<o;r++)i=d[r],a=c.createTween(i,m?u[i]:0),p[i]=u[i]||v.style(e,i),i in u||(u[i]=a.start,m&&(a.end=a.start,a.start=i==="width"||i==="height"?1:0))}}function Gn(e,t,n,r,i){return new Gn.prototype.init(e,t,n,r,i)}function Yn(e,t){var n,r={height:e},i=0;for(;i<4;i+=2-t)n=Vt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function er(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=g.test(" ")?/^[\s\xA0]+|[\s\xA0]+$/g:/^\s+|\s+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":e.toString().replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||s.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete"||i.readyState!=="loading"&&i.addEventListener)setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){v.isFunction(n)&&(!e.unique||!c.has(n))?a.push(n):n&&n.length&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return typeof e=="object"?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0],r.style.cssText="top:1px;float:left;opacity:.5";if(!n||!n.length||!r)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/^(?:\{.*\}|\[.*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||++v.uuid:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")===0&&(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.shift(),i=v._queueHooks(e,t),s=function(){v.dequeue(e,t)};r==="inprogress"&&(r=n.shift()),r&&(t==="fx"&&n.unshift("inprogress"),delete i.stop,r.call(e,s,i)),!n.length&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)(r=v._data(o[u],e+"queueHooks"))&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)~s.indexOf(" "+t[o]+" ")||(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>-1)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>-1)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in
n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r,i,s=e.selectedIndex,o=[],u=e.options,a=e.type==="select-one";if(s<0)return null;n=a?s:0,r=a?s+1:u.length;for(;n<r;n++){i=u[n];if(i.selected&&(v.support.optDisabled?!i.disabled:i.getAttribute("disabled")===null)&&(!i.parentNode.disabled||!v.nodeName(i.parentNode,"optgroup"))){t=v(i).val();if(a)return t;o.push(t)}}return a&&!o.length&&u.length?v(u[s]).val():o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,""+r),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=""+t}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,l,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=[].slice.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click")){o=v(this),o.context=this;for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){a={},l=[],o[0]=s;for(r=0;r<m;r++)c=d[r],h=c.selector,a[h]===t&&(a[h]=o.is(h)),a[h]&&l.push(c);l.length&&w.push({elem:s,matches:l})}}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){f=w[r],n.currentTarget=f.elem;for(i=0;i<f.matches.length&&!n.isImmediatePropagationStopped();i++){c=f.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,u=((v.event.special[c.origType]||{}).handle||c.handler).apply(f.elem,g),u!==t&&(n.result=u,u===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{ready:{setup:v.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length==1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function rt(e,t,n,r){var i=0,s=t.length;for(;i<s;i++)G(e,t[i],n,r)}function it(e,t,n,r,i,s){var o,u=Y.setFilters[t.toLowerCase()];return u||G.error(t),(e||!(o=i))&&rt(e||"*",r,o=[],i),o.length>0?u(o,n,s):[]}function st(e,n,r,i,s){var o,u,a,f,l,c,h,p,v=0,m=s.length,y=j.POS,b=new RegExp("^"+y.source+"(?!"+g+")","i"),w=function(){var e=1,n=arguments.length-2;for(;e<n;e++)arguments[e]===t&&(o[e]=t)};for(;v<m;v++){y.exec(""),e=s[v],f=[],a=0,l=i;while(o=y.exec(e)){p=y.lastIndex=o.index+o[0].length;if(p>a){h=e.slice(a,o.index),a=p,c=[n],k.test(h)&&(l&&(c=l),l=i);if(u=D.test(h))h=h.slice(0,-5).replace(k,"$&*");o.length>1&&o[0].replace(b,w),l=it(h,o[1],o[2],c,l,u)}}l?(f=f.concat(l),(h=e.slice(a))&&h!==")"?k.test(h)?rt(h,f,r,i):G(h,n,r,i?i.concat(l):l):d.apply(r,f)):G(e,n,r,i)}return m===1?r:G.uniqueSort(r)}function ot(e,t,n){var r,i,s,o=[],a=0,f=A.exec(e),l=!f.pop()&&!f.pop(),c=l&&e.match(L)||[""],h=Y.preFilter,p=Y.filter,d=!n&&t!==u;for(;(i=c[a])!=null&&l;a++){o.push(r=[]),d&&(i=" "+i);while(i){l=!1;if(f=k.exec(i))i=i.slice(f[0].length),l=r.push({part:f.pop().replace(C," "),captures:f});for(s in p)(f=j[s].exec(i))&&(!h[s]||(f=h[s](f,t,n)))&&(i=i.slice(f.shift().length),l=r.push({part:s,captures:f}));if(!l)break}}return l||G.error(e),o}function ut(e,t,i){var s=t.dir,o=h++;return e||(e=function(e){return e===i}),t.first?function(t,n){while(t=t[s])if(t.nodeType===1)return e(t,n)&&t}:function(t,i){var u,a=o+"."+r,f=a+"."+n;while(t=t[s])if(t.nodeType===1){if((u=t[m])===f)return t.sizset;if(typeof u=="string"&&u.indexOf(a)===0){if(t.sizset)return t}else{t[m]=f;if(e(t,i))return t.sizset=!0,t;t.sizset=!1}}}}function at(e,t){return e?function(n,r){var i=t(n,r);return i&&e(i===!0?n:i,r)}:t}function ft(e,t,n){var r,i,s=0;for(;r=e[s];s++)Y.relative[r.part]?i=ut(i,Y.relative[r.part],t):(r.captures.push(t,n),i=at(i,Y.filter[r.part].apply(null,r.captures)));return i}function lt(e){return function(t,n){var r,i=0;for(;r=e[i];i++)if(r(t,n))return!0;return!1}}var n,r,i,s,o,u=e.document,a=u.documentElement,f="undefined",l=!1,c=!0,h=0,p=[].slice,d=[].push,m=("sizcache"+Math.random()).replace(".",""),g="[\\x20\\t\\r\\n\\f]",y="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",b=y.replace("w","w#"),w="([*^$|!~]?=)",E="\\["+g+"*("+y+")"+g+"*(?:"+w+g+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+b+")|)|)"+g+"*\\]",S=":("+y+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",x=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",T=g+"*([\\x20\\t\\r\\n\\f>+~])"+g+"*",N="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+E+"|"+S.replace(2,7)+"|[^\\\\(),])+",C=new RegExp("^"+g+"+|((?:^|[^\\\\])(?:\\\\.)*)"+g+"+$","g"),k=new RegExp("^"+T),L=new RegExp(N+"?(?="+g+"*,|$)","g"),A=new RegExp("^(?:(?!,)(?:(?:^|,)"+g+"*"+N+")*?|"+g+"*(.*?))(\\)|$)"),O=new RegExp(N.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+T,"g"),M=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,_=/[\x20\t\r\n\f]*[+~]/,D=/:not\($/,P=/h\d/i,H=/input|select|textarea|button/i,B=/\\(?!\\)/g,j={ID:new RegExp("^#("+y+")"),CLASS:new RegExp("^\\.("+y+")"),NAME:new RegExp("^\\[name=['\"]?("+y+")['\"]?\\]"),TAG:new RegExp("^("+y.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+E),PSEUDO:new RegExp("^"+S),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+g+"*(even|odd|(([+-]|)(\\d*)n|)"+g+"*(?:([+-]|)"+g+"*(\\d+)|))"+g+"*\\)|)","i"),POS:new RegExp(x,"ig"),needsContext:new RegExp("^"+g+"*[>+~]|"+x,"i")},F={},I=[],q={},R=[],U=function(e){return e.sizzleFilter=!0,e},z=function(e){return function(t){return t.nodeName.toLowerCase()==="input"&&t.type===e}},W=function(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}},X=function(e){var t=!1,n=u.createElement("div");try{t=e(n)}catch(r){}return n=null,t},V=X(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),$=X(function(e){e.id=m+0,e.innerHTML="<a name='"+m+"'></a><div name='"+m+"'></div>",a.insertBefore(e,a.firstChild);var t=u.getElementsByName&&u.getElementsByName(m).length===2+u.getElementsByName(m+0).length;return o=!u.getElementById(m),a.removeChild(e),t}),J=X(function(e){return e.appendChild(u.createComment("")),e.getElementsByTagName("*").length===0}),K=X(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==f&&e.firstChild.getAttribute("href")==="#"}),Q=X(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||e.getElementsByClassName("e").length===0?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length!==1)}),G=function(e,t,n,r){n=n||[],t=t||u;var i,s,o,a,f=t.nodeType;if(f!==1&&f!==9)return[];if(!e||typeof e!="string")return n;o=et(t);if(!o&&!r)if(i=M.exec(e))if(a=i[1]){if(f===9){s=t.getElementById(a);if(!s||!s.parentNode)return n;if(s.id===a)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&tt(t,s)&&s.id===a)return n.push(s),n}else{if(i[2])return d.apply(n,p.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&Q&&t.getElementsByClassName)return d.apply(n,p.call(t.getElementsByClassName(a),0)),n}return ht(e,t,n,r,o)},Y=G.selectors={cacheLength:50,match:j,order:["ID","TAG"],attrHandle:{},createPseudo:U,find:{ID:o?function(e,t,n){if(typeof t.getElementById!==f&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==f&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==f&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:J?function(e,t){if(typeof t.getElementsByTagName!==f)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(B,""),e[3]=(e[4]||e[5]||"").replace(B,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||G.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&G.error(e[0]),e},PSEUDO:function(e){var t,n=e[4];return j.CHILD.test(e[0])?null:(n&&(t=A.exec(n))&&t.pop()&&(e[0]=e[0].slice(0,t[0].length-n.length-1),n=t[0].slice(0,-1)),e.splice(2,3,n||e[3]),e)}},filter:{ID:o?function(e){return e=e.replace(B,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(B,""),function(t){var n=typeof t.getAttributeNode!==f&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace(B,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=F[e];return t||(t=F[e]=new RegExp("(^|"+g+")"+e+"("+g+"|$)"),I.push(e),I.length>Y.cacheLength&&delete F[I.shift()]),function(e){return t.test(e.className||typeof e.getAttribute!==f&&e.getAttribute("class")||"")}},ATTR:function(e,t,n){return t?function(r){var i=G.attr(r,e),s=i+"";if(i==null)return t==="!=";switch(t){case"=":return s===n;case"!=":return s!==n;case"^=":return n&&s.indexOf(n)===0;case"*=":return n&&s.indexOf(n)>-1;case"$=":return n&&s.substr(s.length-n.length)===n;case"~=":return(" "+s+" ").indexOf(n)>-1;case"|=":return s===n||s.substr(0,n.length+1)===n+"-"}}:function(t){return G.attr(t,e)!=null}},CHILD:function(e,t,n,r){if(e==="nth"){var i=h++;return function(e){var t,s,o=0,u=e;if(n===1&&r===0)return!0;t=e.parentNode;if(t&&(t[m]!==i||!e.sizset)){for(u=t.firstChild;u;u=u.nextSibling)if(u.nodeType===1){u.sizset=++o;if(u===e)break}t[m]=i}return s=e.sizset-r,n===0?s===0:s%n===0&&s/n>=0}}return function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t,n,r){var i=Y.pseudos[e]||Y.pseudos[e.toLowerCase()];return i||G.error("unsupported pseudo: "+e),i.sizzleFilter?i(t,n,r):i}},pseudos:{not:U(function(e,t,n){var r=ct(e.replace(C,"$1"),t,n);return function(e){return!r(e)}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!Y.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},contains:U(function(e){return function(t){return(t.textContent||t.innerText||nt(t)).indexOf(e)>-1}}),has:U(function(e){return function(t){return G(e,t).length>0}}),header:function(e){return P.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:z("radio"),checkbox:z("checkbox"),file:z("file"),password:z("password"),image:z("image"),submit:W("submit"),reset:W("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return H.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&(!!e.type||!!e.href)},active:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(e,t,n){return n?e.slice(1):[e[0]]},last:function(e,t,n){var r=e.pop();return n?e:[r]},even:function(e,t,n){var r=[],i=n?1:0,s=e.length;for(;i<s;i+=2)r.push(e[i]);return r},odd:function(e,t,n){var r=[],i=n?0:1,s=e.length;for(;i<s;i+=2)r.push(e[i]);return r},lt:function(e,t,n){return n?e.slice(+t):e.slice(0,+t)},gt:function(e,t,n){return n?e.slice(0,+t+1):e.slice(+t+1)},eq:function(e,t,n){var r=e.splice(+t,1);return n?e:r}}};Y.setFilters.nth=Y.setFilters.eq,Y.filters=Y.pseudos,K||(Y.attrHandle={href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}}),$&&(Y.order.push("NAME"),Y.find.NAME=function(e,t){if(typeof t.getElementsByName!==f)return t.getElementsByName(e)}),Q&&(Y.order.splice(1,0,"CLASS"),Y.find.CLASS=function(e,t,n){if(typeof t.getElementsByClassName!==f&&!n)return t.getElementsByClassName(e)});try{p.call(a.childNodes,0)[0].nodeType}catch(Z){p=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}var et=G.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},tt=G.contains=a.compareDocumentPosition?function(e,t){return!!(e.compareDocumentPosition(t)&16)}:a.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt=G.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=nt(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=nt(t);return n};G.attr=function(e,t){var n,r=et(e);return r||(t=t.toLowerCase()),Y.attrHandle[t]?Y.attrHandle[t](e):V||r?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},G.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},[0,0].sort(function(){return c=0}),a.compareDocumentPosition?i=function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:(i=function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],o=[],u=e.parentNode,a=t.parentNode,f=u;if(u===a)return s(e,t);if(!u)return-1;if(!a)return 1;while(f)i.unshift(f),f=f.parentNode;f=a;while(f)o.unshift(f),f=f.parentNode;n=i.length,r=o.length;for(var c=0;c<n&&c<r;c++)if(i[c]!==o[c])return s(i[c],o[c]);return c===n?s(e,o[c],-1):s(i[c],t,1)},s=function(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}),G.uniqueSort=function(e){var t,n=1;if(i){l=c,e.sort(i);if(l)for(;t=e[n];n++)t===e[n-1]&&e.splice(n--,1)}return e};var ct=G.compile=function(e,t,n){var r,i,s,o=q[e];if(o&&o.context===t)return o;i=ot(e,t,n);for(s=0;r=i[s];s++)i[s]=ft(r,t,n);return o=q[e]=lt(i),o.context=t,o.runs=o.dirruns=0,R.push(e),R.length>Y.cacheLength&&delete q[R.shift()],o};G.matches=function(e,t){return G(e,null,null,t)},G.matchesSelector=function(e,t){return G(t,null,null,[e]).length>0};var ht=function(e,t,i,s,o){e=e.replace(C,"$1");var u,a,f,l,c,h,v,m,g,y=e.match(L),b=e.match(O),w=t.nodeType;if(j.POS.test(e))return st(e,t,i,s,y);if(s)u=p.call(s,0);else if(y&&y.length===1){if(b.length>1&&w===9&&!o&&(y=j.ID.exec(b[0]))){t=Y.find.ID(y[1],t,o)[0];if(!t)return i;e=e.slice(b.shift().length)}m=(y=_.exec(b[0]))&&!y.index&&t.parentNode||t,g=b.pop(),h=g.split(":not")[0];for(f=0,l=Y.order.length;f<l;f++){v=Y.order[f];if(y=j[v].exec(h)){u=Y.find[v]((y[1]||"").replace(B,""),m,o);if(u==null)continue;h===g&&(e=e.slice(0,e.length-g.length)+h.replace(j[v],""),e||d.apply(i,p.call(u,0)));break}}}if(e){a=ct(e,t,o),r=a.dirruns++,u==null&&(u=Y.find.TAG("*",_.test(e)&&t.parentNode||t));for(f=0;c=u[f];f++)n=a.runs++,a(c,t)&&i.push(c)}return i};u.querySelectorAll&&function(){var e,t=ht,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[],s=[":active"],o=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.oMatchesSelector||a.msMatchesSelector;X(function(e){e.innerHTML="<select><option selected></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+g+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),X(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+g+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=i.length&&new RegExp(i.join("|")),ht=function(e,r,s,o,u){if(!o&&!u&&(!i||!i.test(e)))if(r.nodeType===9)try{return d.apply(s,p.call(r.querySelectorAll(e),0)),s}catch(a){}else if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){var f=r.getAttribute("id"),l=f||m,c=_.test(e)&&r.parentNode||r;f?l=l.replace(n,"\\$&"):r.setAttribute("id",l);try{return d.apply(s,p.call(c.querySelectorAll(e.replace(L,"[id='"+l+"'] $&")),0)),s}catch(a){}finally{f||r.removeAttribute("id")}}return t(e,r,s,o,u)},o&&(X(function(t){e=o.call(t,"div");try{o.call(t,"[test!='']:sizzle"),s.push(Y.match.PSEUDO)}catch(n){}}),s=new RegExp(s.join("|")),G.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!et(t)&&!s.test(n)&&(!i||!i.test(n)))try{var u=o.call(t,n);if(u||e||t.document&&t.document.nodeType!==11)return u}catch(a){}return G(n,null,null,[t]).length>0})}(),G.attr=v.attr,v.find=G,v.expr=G.selectors,v.expr[":"]=v.expr.pseudos,v.unique=G.uniqueSort,v.text=G.getText,v.isXMLDoc=G.isXML,v.contains=G.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push
(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=(n[0]||n).ownerDocument||n[0]||n,typeof n.createDocumentFragment=="undefined"&&(n=i),e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=0,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(o=t===i&&Ct;(u=e[y])!=null;y++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{o=o||lt(t),c=c||o.appendChild(t.createElement("div")),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(s=p.length-1;s>=0;--s)v.nodeName(p[s],"tbody")&&!p[s].childNodes.length&&p[s].parentNode.removeChild(p[s])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c=o.lastChild}u.nodeType?b.push(u):b=v.merge(b,u)}c&&(o.removeChild(c),u=c=o=null);if(!v.support.appendChecked)for(y=0;(u=b[y])!=null;y++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(y=0;(u=b[y])!=null;y++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[y+1,0].concat(g)),y+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^margin/,qt=new RegExp("^("+m+")(.*)$","i"),Rt=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),Ut=new RegExp("^([-+])=("+m+")","i"),zt={},Wt={position:"absolute",visibility:"hidden",display:"block"},Xt={letterSpacing:0,fontWeight:400,lineHeight:1},Vt=["Top","Right","Bottom","Left"],$t=["Webkit","O","Moz","ms"],Jt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Gt(this,!0)},hide:function(){return Gt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Jt.apply(this,arguments):this.each(function(){(n?e:Qt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Kt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=Ut.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Kt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Xt&&(s=Xt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(e,t){var n,r,i,s,o=getComputedStyle(e,null),u=e.style;return o&&(n=o[t],n===""&&!v.contains(e.ownerDocument.documentElement,e)&&(n=v.style(e,t)),Rt.test(n)&&It.test(t)&&(r=u.width,i=u.minWidth,s=u.maxWidth,u.minWidth=u.maxWidth=u.width=n,n=o.width,u.width=r,u.minWidth=i,u.maxWidth=s)),n}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Rt.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth!==0||Dt(e,"display")!=="none"?en(e,t,r):v.swap(e,Wt,function(){return en(e,t,r)})},set:function(e,n,r){return Yt(e,n,r?Zt(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Rt.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+Vt[r]+t]=i[r]||i[r-2]||i[0];return s}},It.test(e)||(v.cssHooks[e+t].set=Yt)});var nn=/%20/g,rn=/\[\]$/,sn=/\r?\n/g,on=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,un=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||un.test(this.nodeName)||on.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(sn,"\r\n")}}):{name:t.name,value:n.replace(sn,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)an(r,e[r],n,s);return i.join("&").replace(nn,"+")};var fn,ln,cn=/#.*$/,hn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,pn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,dn=/^(?:GET|HEAD)$/,vn=/^\/\//,mn=/\?/,gn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,yn=/([?&])_=[^&]*/,bn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,wn=v.fn.load,En={},Sn={},xn=["*/"]+["*"];try{fn=s.href}catch(Tn){fn=i.createElement("a"),fn.href="",fn=fn.href}ln=bn.exec(fn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&wn)return wn.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(gn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?kn(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),kn(e,t),e},ajaxSettings:{url:fn,isLocal:pn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":xn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Nn(En),ajaxTransport:Nn(Sn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=Ln(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=An(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=""+(n||T),l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=hn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(cn,"").replace(vn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=bn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]==ln[1]&&a[2]==ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),Cn(En,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!dn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(mn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(yn,"$1_="+N);c.url=C+(C===c.url?(mn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+xn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=Cn(Sn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var On=[],Mn=/\?/,_n=/(=)\?(?=&|$)|\?\?/,Dn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||v.expando+"_"+Dn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&_n.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&_n.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(_n,"$1"+s):h?n.data=a.replace(_n,"$1"+s):l&&(n.url+=(Mn.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,On.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Pn,Hn=e.ActiveXObject?function(){for(var e in Pn)Pn[e](0,1)}:!1,Bn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&jn()||Fn()}:jn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Hn&&delete Pn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(e){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++Bn,Hn&&(Pn||(Pn={},v(e).unload(Hn)),Pn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var In,qn,Rn=/^(?:toggle|show|hide)$/,Un=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),zn=/queueHooks$/,Wn=[Qn],Xn={"*":[function(e,t){var n,r,i,s=this.createTween(e,t),o=Un.exec(t),u=s.cur(),a=+u||0,f=1;if(o){n=+o[2],r=o[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&a){a=v.css(s.elem,e,!0)||n||1;do i=f=f||".5",a/=f,v.style(s.elem,e,a+r),f=s.cur()/u;while(f!==1&&f!==i)}s.unit=r,s.start=a,s.end=o[1]?a+(o[1]+1)*n:n}return s}]};v.Animation=v.extend(Jn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Xn[n]=Xn[n]||[],Xn[n].unshift(t)},prefilter:function(e,t){t?Wn.unshift(e):Wn.push(e)}}),v.Tween=Gn,Gn.prototype={constructor:Gn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Gn.propHooks[this.prop];return e&&e.get?e.get(this):Gn.propHooks._default.get(this)},run:function(e){var t,n=Gn.propHooks[this.prop];return this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration),this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Gn.propHooks._default.set(this),this}},Gn.prototype.init.prototype=Gn.prototype,Gn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Gn.propHooks.scrollTop=Gn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Yn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Qt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Jn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&zn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Yn("show"),slideUp:Yn("hide"),slideToggle:Yn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Gn.prototype.init,v.fx.tick=function(){var e,t=v.timers,n=0;for(;n<t.length;n++)e=t[n],!e()&&t[n]===e&&t.splice(n--,1);t.length||v.fx.stop()},v.fx.timer=function(e){e()&&v.timers.push(e)&&!qn&&(qn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(qn),qn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var Zn=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f,l,c,h=this[0],p=h&&h.ownerDocument;if(!p)return;return(i=p.body)===h?v.offset.bodyOffset(h):(r=p.documentElement,v.contains(r,h)?(n=h.getBoundingClientRect(),s=er(p),o=r.clientTop||i.clientTop||0,u=r.clientLeft||i.clientLeft||0,a=s.pageYOffset||r.scrollTop,f=s.pageXOffset||r.scrollLeft,l=n.top+a-o,c=n.left+f-u,{top:l,left:c}):{top:0,left:0})},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=Zn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!Zn.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=er(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})}(window),function(e){e.fn.hoverIntent=function(t,n){var r={sensitivity:7,interval:100,timeout:0};r=e.extend(r,n?{over:t,out:n}:t);var i,s,o,u,a=function(e){i=e.pageX,s=e.pageY},f=function(t,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);if(Math.abs(o-i)+Math.abs(u-s)<r.sensitivity)return e(n).unbind("mousemove",a),n.hoverIntent_s=1,r.over.apply(n,[t]);o=i,u=s,n.hoverIntent_t=setTimeout(function(){f(t,n)},r.interval)},l=function(e,t){return t.hoverIntent_t=clearTimeout(t.hoverIntent_t),t.hoverIntent_s=0,r.out.apply(t,[e])},c=function(t){var n=jQuery.extend({},t),i=this;i.hoverIntent_t&&(i.hoverIntent_t=clearTimeout(i.hoverIntent_t)),t.type=="mouseenter"?(o=n.pageX,u=n.pageY,e(i).bind("mousemove",a),i.hoverIntent_s!=1&&(i.hoverIntent_t=setTimeout(function(){f(n,i)},r.interval))):(e(i).unbind("mousemove",a),i.hoverIntent_s==1&&(i.hoverIntent_t=setTimeout(function(){l(n,i)},r.timeout)))};return this.bind("mouseenter",c).bind("mouseleave",c)}}(jQuery),function($){$.extend({tablesorter:new function(){function benchmark(e,t){log(e+","+((new Date).getTime()-t.getTime())+"ms")}function log(e){typeof console!="undefined"&&typeof console.debug!="undefined"?console.log(e):alert(e)}function buildParserCache(e,t){if(e.config.debug)var n="";if(e.tBodies.length==0)return;var r=e.tBodies[0].rows;if(r[0]){var i=[],s=r[0].cells,o=s.length;for(var u=0;u<o;u++){var a=!1;$.metadata&&$(t[u]).metadata()&&$(t[u]).metadata().sorter?a=getParserById($(t[u]).metadata().sorter):e.config.headers[u]&&e.config.headers[u].sorter&&(a=getParserById(e.config.headers[u].sorter)),a||(a=detectParserForColumn(e,r,-1,u)),e.config.debug&&(n+="column:"+u+" parser:"+a.id+"\n"),i.push(a)}}return e.config.debug&&log(n),i}function detectParserForColumn(e,t,n,r){var i=parsers.length
,s=!1,o=!1,u=!0;while(o==""&&u)n++,t[n]?(s=getNodeFromRowAndCellIndex(t,n,r),o=trimAndGetNodeText(e.config,s),e.config.debug&&log("Checking if value was empty on row:"+n)):u=!1;for(var a=1;a<i;a++)if(parsers[a].is(o,e,s))return parsers[a];return parsers[0]}function getNodeFromRowAndCellIndex(e,t,n){return e[t].cells[n]}function trimAndGetNodeText(e,t){return $.trim(getElementText(e,t))}function getParserById(e){var t=parsers.length;for(var n=0;n<t;n++)if(parsers[n].id.toLowerCase()==e.toLowerCase())return parsers[n];return!1}function buildCache(e){if(e.config.debug)var t=new Date;var n=e.tBodies[0]&&e.tBodies[0].rows.length||0,r=e.tBodies[0].rows[0]&&e.tBodies[0].rows[0].cells.length||0,i=e.config.parsers,s={row:[],normalized:[]};for(var o=0;o<n;++o){var u=$(e.tBodies[0].rows[o]),a=[];if(u.hasClass(e.config.cssChildRow)){s.row[s.row.length-1]=s.row[s.row.length-1].add(u);continue}s.row.push(u);for(var f=0;f<r;++f)a.push(i[f].format(getElementText(e.config,u[0].cells[f]),e,u[0].cells[f]));a.push(s.normalized.length),s.normalized.push(a),a=null}return e.config.debug&&benchmark("Building cache for "+n+" rows:",t),s}function getElementText(e,t){var n="";return t?(e.supportsTextContent||(e.supportsTextContent=t.textContent||!1),e.textExtraction=="simple"?e.supportsTextContent?n=t.textContent:t.childNodes[0]&&t.childNodes[0].hasChildNodes()?n=t.childNodes[0].innerHTML:n=t.innerHTML:typeof e.textExtraction=="function"?n=e.textExtraction(t):n=$(t).text(),n):""}function appendToTable(e,t){if(e.config.debug)var n=new Date;var r=t,i=r.row,s=r.normalized,o=s.length,u=s[0].length-1,a=$(e.tBodies[0]),f=[];for(var l=0;l<o;l++){var c=s[l][u];f.push(i[c]);if(!e.config.appender){var h=i[c].length;for(var p=0;p<h;p++)a[0].appendChild(i[c][p])}}e.config.appender&&e.config.appender(e,f),f=null,e.config.debug&&benchmark("Rebuilt table:",n),applyWidget(e),setTimeout(function(){$(e).trigger("sortEnd")},0)}function buildHeaders(e){if(e.config.debug)var t=new Date;var n=$.metadata?!0:!1,r=computeTableHeaderCellIndexes(e);return $tableHeaders=$(e.config.selectorHeaders,e).each(function(t){this.column=r[this.parentNode.rowIndex+"-"+this.cellIndex],this.order=formatSortingOrder(e.config.sortInitialOrder),this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(e,t))this.sortDisabled=!0;checkHeaderOptionsSortingLocked(e,t)&&(this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(e,t));if(!this.sortDisabled){var n=$(this).addClass(e.config.cssHeader);e.config.onRenderHeader&&e.config.onRenderHeader.apply(n)}e.config.headerList[t]=this}),e.config.debug&&(benchmark("Built headers:",t),log($tableHeaders)),$tableHeaders}function computeTableHeaderCellIndexes(e){var t=[],n={},r=e.getElementsByTagName("THEAD")[0],i=r.getElementsByTagName("TR");for(var s=0;s<i.length;s++){var o=i[s].cells;for(var u=0;u<o.length;u++){var a=o[u],f=a.parentNode.rowIndex,l=f+"-"+a.cellIndex,c=a.rowSpan||1,h=a.colSpan||1,p;typeof t[f]=="undefined"&&(t[f]=[]);for(var d=0;d<t[f].length+1;d++)if(typeof t[f][d]=="undefined"){p=d;break}n[l]=p;for(var d=f;d<f+c;d++){typeof t[d]=="undefined"&&(t[d]=[]);var v=t[d];for(var m=p;m<p+h;m++)v[m]="x"}}}return n}function checkCellColSpan(e,t,n){var r=[],i=e.tHead.rows,s=i[n].cells;for(var o=0;o<s.length;o++){var u=s[o];u.colSpan>1?r=r.concat(checkCellColSpan(e,headerArr,n++)):(e.tHead.length==1||u.rowSpan>1||!i[n+1])&&r.push(u)}return r}function checkHeaderMetadata(e){return $.metadata&&$(e).metadata().sorter===!1?!0:!1}function checkHeaderOptions(e,t){return e.config.headers[t]&&e.config.headers[t].sorter===!1?!0:!1}function checkHeaderOptionsSortingLocked(e,t){return e.config.headers[t]&&e.config.headers[t].lockedOrder?e.config.headers[t].lockedOrder:!1}function applyWidget(e){var t=e.config.widgets,n=t.length;for(var r=0;r<n;r++)getWidgetById(t[r]).format(e)}function getWidgetById(e){var t=widgets.length;for(var n=0;n<t;n++)if(widgets[n].id.toLowerCase()==e.toLowerCase())return widgets[n]}function formatSortingOrder(e){return typeof e!="Number"?e.toLowerCase()=="desc"?1:0:e==1?1:0}function isValueInArray(e,t){var n=t.length;for(var r=0;r<n;r++)if(t[r][0]==e)return!0;return!1}function setHeadersCss(e,t,n,r){t.removeClass(r[0]).removeClass(r[1]);var i=[];t.each(function(e){this.sortDisabled||(i[this.column]=$(this))});var s=n.length;for(var o=0;o<s;o++)i[n[o][0]].addClass(r[n[o][1]])}function fixColumnWidth(e,t){var n=e.config;if(n.widthFixed){var r=$("<colgroup>");$("tr:first td",e.tBodies[0]).each(function(){r.append($("<col>").css("width",$(this).width()))}),$(e).prepend(r)}}function updateHeaderSortCount(e,t){var n=e.config,r=t.length;for(var i=0;i<r;i++){var s=t[i],o=n.headerList[s[0]];o.count=s[1],o.count++}}function multisort(table,sortList,cache){if(table.config.debug)var sortTime=new Date;var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0],order=sortList[i][1],s=table.config.parsers[c].type=="text"?order==0?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c):order==0?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c),e="e"+i;dynamicExp+="var "+e+" = "+s,dynamicExp+="if("+e+") { return "+e+"; } ",dynamicExp+="else { "}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++)dynamicExp+="}; ";return dynamicExp+="return 0; ",dynamicExp+="}; ",table.config.debug&&benchmark("Evaling expression:"+dynamicExp,new Date),eval(dynamicExp),cache.normalized.sort(sortWrapper),table.config.debug&&benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime),cache}function makeSortFunction(e,t,n){var r="a["+n+"]",i="b["+n+"]";if(e=="text"&&t=="asc")return"("+r+" == "+i+" ? 0 : ("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : ("+r+" < "+i+") ? -1 : 1 )));";if(e=="text"&&t=="desc")return"("+r+" == "+i+" ? 0 : ("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : ("+i+" < "+r+") ? -1 : 1 )));";if(e=="numeric"&&t=="asc")return"("+r+" === null && "+i+" === null) ? 0 :("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : "+r+" - "+i+"));";if(e=="numeric"&&t=="desc")return"("+r+" === null && "+i+" === null) ? 0 :("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : "+i+" - "+r+"));"}function makeSortText(e){return"((a["+e+"] < b["+e+"]) ? -1 : ((a["+e+"] > b["+e+"]) ? 1 : 0));"}function makeSortTextDesc(e){return"((b["+e+"] < a["+e+"]) ? -1 : ((b["+e+"] > a["+e+"]) ? 1 : 0));"}function makeSortNumeric(e){return"a["+e+"]-b["+e+"];"}function makeSortNumericDesc(e){return"b["+e+"]-a["+e+"];"}function sortText(e,t){return table.config.sortLocaleCompare?e.localeCompare(t):e<t?-1:e>t?1:0}function sortTextDesc(e,t){return table.config.sortLocaleCompare?t.localeCompare(e):t<e?-1:t>e?1:0}function sortNumeric(e,t){return e-t}function sortNumericDesc(e,t){return t-e}function getCachedSortType(e,t){return e[t].type}var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:!0,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:!1,cancelSelection:!0,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:!1},this.benchmark=benchmark,this.construct=function(e){return this.each(function(){if(!this.tHead||!this.tBodies)return;var t,n,r,i,s,o=0,u;this.config={},s=$.extend(this.config,$.tablesorter.defaults,e),t=$(this),$.data(this,"tablesorter",s),r=buildHeaders(this),this.config.parsers=buildParserCache(this,r),i=buildCache(this);var a=[s.cssDesc,s.cssAsc];fixColumnWidth(this),r.click(function(e){var n=t[0].tBodies[0]&&t[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&n>0){t.trigger("sortStart");var o=$(this),u=this.column;this.order=this.count++%2,this.lockedOrder&&(this.order=this.lockedOrder);if(!e[s.sortMultiSortKey]){s.sortList=[];if(s.sortForce!=null){var f=s.sortForce;for(var l=0;l<f.length;l++)f[l][0]!=u&&s.sortList.push(f[l])}s.sortList.push([u,this.order])}else if(isValueInArray(u,s.sortList))for(var l=0;l<s.sortList.length;l++){var c=s.sortList[l],h=s.headerList[c[0]];c[0]==u&&(h.count=c[1],h.count++,c[1]=h.count%2)}else s.sortList.push([u,this.order]);return setTimeout(function(){setHeadersCss(t[0],r,s.sortList,a),appendToTable(t[0],multisort(t[0],s.sortList,i))},1),!1}}).mousedown(function(){if(s.cancelSelection)return this.onselectstart=function(){return!1},!1}),t.bind("update",function(){var e=this;setTimeout(function(){e.config.parsers=buildParserCache(e,r),i=buildCache(e)},1)}).bind("updateCell",function(e,t){var n=this.config,r=[t.parentNode.rowIndex-1,t.cellIndex];i.normalized[r[0]][r[1]]=n.parsers[r[1]].format(getElementText(n,t),t)}).bind("sorton",function(e,t){$(this).trigger("sortStart"),s.sortList=t;var n=s.sortList;updateHeaderSortCount(this,n),setHeadersCss(this,r,n,a),appendToTable(this,multisort(this,n,i))}).bind("appendCache",function(){appendToTable(this,i)}).bind("applyWidgetId",function(e,t){getWidgetById(t).format(this)}).bind("applyWidgets",function(){applyWidget(this)}),$.metadata&&$(this).metadata()&&$(this).metadata().sortlist&&(s.sortList=$(this).metadata().sortlist),s.sortList.length>0&&t.trigger("sorton",[s.sortList]),applyWidget(this)})},this.addParser=function(e){var t=parsers.length,n=!0;for(var r=0;r<t;r++)parsers[r].id.toLowerCase()==e.id.toLowerCase()&&(n=!1);n&&parsers.push(e)},this.addWidget=function(e){widgets.push(e)},this.formatFloat=function(e){var t=parseFloat(e);return isNaN(t)?0:t},this.formatInt=function(e){var t=parseInt(e);return isNaN(t)?0:t},this.isDigit=function(e,t){return/^[-+]?\d*$/.test($.trim(e.replace(/[,.']/g,"")))},this.clearTableBody=function(e){if($.browser.msie){function t(){while(this.firstChild)this.removeChild(this.firstChild)}t.apply(e.tBodies[0])}else e.tBodies[0].innerHTML=""}}}),$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(e){return!0},format:function(e){return $.trim(e.toLocaleLowerCase())},type:"text"}),ts.addParser({id:"digit",is:function(e,t){var n=t.config;return $.tablesorter.isDigit(e,n)},format:function(e){return $.tablesorter.formatFloat(e)},type:"numeric"}),ts.addParser({id:"currency",is:function(e){return/^[£$€?.]/.test(e)},format:function(e){return $.tablesorter.formatFloat(e.replace(new RegExp(/[£$€]/g),""))},type:"numeric"}),ts.addParser({id:"ipAddress",is:function(e){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(e)},format:function(e){var t=e.split("."),n="",r=t.length;for(var i=0;i<r;i++){var s=t[i];s.length==2?n+="0"+s:n+=s}return $.tablesorter.formatFloat(n)},type:"numeric"}),ts.addParser({id:"url",is:function(e){return/^(https?|ftp|file):\/\/$/.test(e)},format:function(e){return jQuery.trim(e.replace(new RegExp(/(https?|ftp|file):\/\//),""))},type:"text"}),ts.addParser({id:"isoDate",is:function(e){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(e)},format:function(e){return $.tablesorter.formatFloat(e!=""?(new Date(e.replace(new RegExp(/-/g),"/"))).getTime():"0")},type:"numeric"}),ts.addParser({id:"percent",is:function(e){return/\%$/.test($.trim(e))},format:function(e){return $.tablesorter.formatFloat(e.replace(new RegExp(/%/g),""))},type:"numeric"}),ts.addParser({id:"usLongDate",is:function(e){return e.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(e){return $.tablesorter.formatFloat((new Date(e)).getTime())},type:"numeric"}),ts.addParser({id:"shortDate",is:function(e){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(e)},format:function(e,t){var n=t.config;e=e.replace(/\-/g,"/");if(n.dateFormat=="us")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");else if(n.dateFormat=="uk")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");else if(n.dateFormat=="dd/mm/yy"||n.dateFormat=="dd-mm-yy")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");return $.tablesorter.formatFloat((new Date(e)).getTime())},type:"numeric"}),ts.addParser({id:"time",is:function(e){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(e)},format:function(e){return $.tablesorter.formatFloat((new Date("2000/01/01 "+e)).getTime())},type:"numeric"}),ts.addParser({id:"metadata",is:function(e){return!1},format:function(e,t,n){var r=t.config,i=r.parserMetadataName?r.parserMetadataName:"sortValue";return $(n).metadata()[i]},type:"numeric"}),ts.addWidget({id:"zebra",format:function(e){if(e.config.debug)var t=new Date;var n,r=-1,i;$("tr:visible",e.tBodies[0]).each(function(t){n=$(this),n.hasClass(e.config.cssChildRow)||r++,i=r%2==0,n.removeClass(e.config.widgetZebra.css[i?0:1]).addClass(e.config.widgetZebra.css[i?1:0])}),e.config.debug&&$.tablesorter.benchmark("Applying Zebra widget",t)}})}(jQuery),function(){function C(e,t,n){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e._chain&&(e=e._wrapped),t._chain&&(t=t._wrapped);if(e.isEqual&&S.isFunction(e.isEqual))return e.isEqual(t);if(t.isEqual&&S.isFunction(t.isEqual))return t.isEqual(e);var r=a.call(e);if(r!=a.call(t))return!1;switch(r){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var i=n.length;while(i--)if(n[i]==e)return!0;n.push(e);var s=0,o=!0;if(r=="[object Array]"){s=e.length,o=s==t.length;if(o)while(s--)if(!(o=s in e==s in t&&C(e[s],t[s],n)))break}else{if("constructor"in e!="constructor"in t||e.constructor!=t.constructor)return!1;for(var u in e)if(S.has(e,u)){s++;if(!(o=S.has(t,u)&&C(e[u],t[u],n)))break}if(o){for(u in t)if(S.has(t,u)&&!(s--))break;o=!s}}return n.pop(),o}var e=this,t=e._,n={},r=Array.prototype,i=Object.prototype,s=Function.prototype,o=r.slice,u=r.unshift,a=i.toString,f=i.hasOwnProperty,l=r.forEach,c=r.map,h=r.reduce,p=r.reduceRight,d=r.filter,v=r.every,m=r.some,g=r.indexOf,y=r.lastIndexOf,b=Array.isArray,w=Object.keys,E=s.bind,S=function(e){return new P(e)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=S),exports._=S):e._=S,S.VERSION="1.3.3";var x=S.each=S.forEach=function(e,t,r){if(e==null)return;if(l&&e.forEach===l)e.forEach(t,r);else if(e.length===+e.length){for(var i=0,s=e.length;i<s;i++)if(i in e&&t.call(r,e[i],i,e)===n)return}else for(var o in e)if(S.has(e,o)&&t.call(r,e[o],o,e)===n)return};S.map=S.collect=function(e,t,n){var r=[];return e==null?r:c&&e.map===c?e.map(t,n):(x(e,function(e,i,s){r[r.length]=t.call(n,e,i,s)}),e.length===+e.length&&(r.length=e.length),r)},S.reduce=S.foldl=S.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(h&&e.reduce===h)return r&&(t=S.bind(t,r)),i?e.reduce(t,n):e.reduce(t);x(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError("Reduce of empty array with no initial value");return n},S.reduceRight=S.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(p&&e.reduceRight===p)return r&&(t=S.bind(t,r)),i?e.reduceRight(t,n):e.reduceRight(t);var s=S.toArray(e).reverse();return r&&!i&&(t=S.bind(t,r)),i?S.reduce(s,t,n,r):S.reduce(s,t)},S.find=S.detect=function(e,t,n){var r;return T(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},S.filter=S.select=function(e,t,n){var r=[];return e==null?r:d&&e.filter===d?e.filter(t,n):(x(e,function(e,i,s){t.call(n,e,i,s)&&(r[r.length]=e)}),r)},S.reject=function(e,t,n){var r=[];return e==null?r:(x(e,function(e,i,s){t.call(n,e,i,s)||(r[r.length]=e)}),r)},S.every=S.all=function(e,t,r){var i=!0;return e==null?i:v&&e.every===v?e.every(t,r):(x(e,function(e,s,o){if(!(i=i&&t.call(r,e,s,o)))return n}),!!i)};var T=S.some=S.any=function(e,t,r){t||(t=S.identity);var i=!1;return e==null?i:m&&e.some===m?e.some(t,r):(x(e,function(e,s,o){if(i||(i=t.call(r,e,s,o)))return n}),!!i)};S.include=S.contains=function(e,t){var n=!1;return e==null?n:g&&e.indexOf===g?e.indexOf(t)!=-1:(n=T(e,function(e){return e===t}),n)},S.invoke=function(e,t){var n=o.call(arguments,2);return S.map(e,function(e){return(S.isFunction(t)?t||e:e[t]).apply(e,n)})},S.pluck=function(e,t){return S.map(e,function(e){return e[t]})},S.max=function(e,t,n){if(!t&&S.isArray(e)&&e[0]===+e[0])return Math.max.apply(Math,e);if(!t&&S.isEmpty(e))return-Infinity;var r={computed:-Infinity};return x(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o>=r.computed&&(r={value:e,computed:o})}),r.value},S.min=function(e,t,n){if(!t&&S.isArray(e)&&e[0]===+e[0])return Math.min.apply(Math,e);if(!t&&S.isEmpty(e))return Infinity;var r={computed:Infinity};return x(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o<r.computed&&(r={value:e,computed:o})}),r.value},S.shuffle=function(e){var t=[],n;return x(e,function(e,r,i){n=Math.floor(Math.random()*(r+1)),t[r]=t[n],t[n]=e}),t},S.sortBy=function(e,t,n){var r=S.isFunction(t)?t:function(e){return e[t]};return S.pluck(S.map(e,function(e,t,i){return{value:e,criteria:r.call(n,e,t,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;return n===void 0?1:r===void 0?-1:n<r?-1:n>r?1:0}),"value")},S.groupBy=function(e,t){var n={},r=S.isFunction(t)?t:function(e){return e[t]};return x(e,function(e,t){var i=r(e,t);(n[i]||(n[i]=[])).push(e)}),n},S.sortedIndex=function(e,t,n){n||(n=S.identity);var r=0,i=e.length;while(r<i){var s=r+i>>1;n(e[s])<n(t)?r=s+1:i=s}return r},S.toArray=function(e){return e?S.isArray(e)?o.call(e):S.isArguments(e)?o.call(e):e.toArray&&S.isFunction(e.toArray)?e.toArray():S.values(e):[]},S.size=function(e){return S.isArray(e)?e.length:S.keys(e).length},S.first=S.head=S.take=function(e,t,n){return t!=null&&!n?o.call(e,0,t):e[0]},S.initial=function(e,t,n){return o.call(e,0,e.length-(t==null||n?1:t))},S.last=function(e,t,n){return t!=null&&!n?o.call(e,Math.max(e.length-t,0)):e[e.length-1]},S.rest=S.tail=function(e,t,n){return o.call(e,t==null||n?1:t)},S.compact=function(e){return S.filter(e,function(e){return!!e})},S.flatten=function(e,t){return S.reduce(e,function(e,n){return S.isArray(n)?e.concat(t?n:S.flatten(n)):(e[e.length]=n,e)},[])},S.without=function(e){return S.difference(e,o.call(arguments,1))},S.uniq=S.unique=function(e,t,n){var r=n?S.map(e,n):e,i=[];return e.length<3&&(t=!0),S.reduce(r,function(n,r,s){if(t?S.last(n)!==r||!n.length:!S.include(n,r))n.push(r),i.push(e[s]);return n},[]),i},S.union=function(){return S.uniq(S.flatten(arguments,!0))},S.intersection=S.intersect=function(e){var t=o.call(arguments,1);return S.filter(S.uniq(e),function(e){return S.every(t,function(t){return S.indexOf(t,e)>=0})})},S.difference=function(e){var t=S.flatten(o.call(arguments,1),!0);return S.filter(e,function(e){return!S.include(t,e)})},S.zip=function(){var e=o.call(arguments),t=S.max(S.pluck(e,"length")),n=new Array(t);for(var r=0;r<t;r++)n[r]=S.pluck(e,""+r);return n},S.indexOf=function(e,t,n){if(e==null)return-1;var r,i;if(n)return r=S.sortedIndex(e,t),e[r]===t?r:-1;if(g&&e.indexOf===g)return e.indexOf(t);for(r=0,i=e.length;r<i;r++)if(r in e&&e[r]===t)return r;return-1},S.lastIndexOf=function(e,t){if(e==null)return-1;if(y&&e.lastIndexOf===y)return e.lastIndexOf(t);var n=e.length;while(n--)if(n in e&&e[n]===t)return n;return-1},S.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var N=function(){};S.bind=function(t,n){var r,i;if(t.bind===E&&E)return E.apply(t,o.call(arguments,1));if(!S.isFunction(t))throw new TypeError;return i=o.call(arguments,2),r=function(){if(this instanceof r){N.prototype=t.prototype;var e=new N,s=t.apply(e,i.concat(o.call(arguments)));return Object(s)===s?s:e}return t.apply(n,i.concat(o.call(arguments)))}},S.bindAll=function(e){var t=o.call(arguments,1);return t.length==0&&(t=S.functions(e)),x(t,function(t){e[t]=S.bind(e[t],e)}),e},S.memoize=function(e,t){var n={};return t||(t=S.identity),function(){var r=t.apply(this,arguments);return S.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},S.delay=function(e,t){var n=o.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},S.defer=function(e){return S.delay.apply(S,[e,1].concat(o.call(arguments,1)))},S.throttle=function(e,t){var n,r,i,s,o,u,a=S.debounce(function(){o=s=!1},t);return function(){n=this,r=arguments;var f=function(){i=null,o&&e.apply(n,r),a()};return i||(i=setTimeout(f,t)),s?o=!0:u=e.apply(n,r),a(),s=!0,u}},S.debounce=function(e,t,n){var r;return function(){var i=this,s=arguments,o=function(){r=null,n||e.apply(i,s)};n&&!r&&e.apply(i,s),clearTimeout(r),r=setTimeout(o,t)}},S.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments))}},S.wrap=function(e,t){return function(){var n=[e].concat(o.call(arguments,0));return t.apply(this,n)}},S.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},S.after=function(e,t){return e<=0?t():function(){if(--e<1)return t.apply(this,arguments)}},S.keys=w||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)S.has(e,n)&&(t[t.length]=n);return t},S.values=function(e){return S.map(e,S.identity)},S.functions=S.methods=function(e){var t=[];for(var n in e)S.isFunction(e[n])&&t.push(n);return t.sort()},S.extend=function(e){return x(o.call(arguments,1),function(t){for(var n in t)e[n]=t[n]}),e},S.pick=function(e){var t={};return x(S.flatten(o.call(arguments,1)),function(n){n in e&&(t[n]=e[n])}),t},S.defaults=function(e){return x(o.call(arguments,1),function(t){for(var n in t)e[n]==null&&(e[n]=t[n])}),e},S.clone=function(e){return S.isObject(e)?S.isArray(e)?e.slice():S.extend({},e):e},S.tap=function(e,t){return t(e),e},S.isEqual=function(e,t){return C(e,t,[])},S.isEmpty=function(e){if(e==null)return!0;if(S.isArray(e)||S.isString(e))return e.length===0;for(var t in e)if(S.has(e,t))return!1;return!0},S.isElement=function(e){return!!e&&e.nodeType==1},S.isArray=b||function(e){return a.call(e)=="[object Array]"},S.isObject=function(e){return e===Object(e)},S.isArguments=function(e){return a.call(e)=="[object Arguments]"},S.isArguments(arguments)||(S.isArguments=function(e){return!!e&&!!S.has(e,"callee")}),S.isFunction=function(e){return a.call(e)=="[object Function]"},S.isString=function(e){return a.call(e)=="[object String]"},S.isNumber=function(e){return a.call(e)=="[object Number]"},S.isFinite=function(e){return S.isNumber(e)&&isFinite(e)},S.isNaN=function(e){return e!==e},S.isBoolean=function(e){return e===!0||e===!1||a.call(e)=="[object Boolean]"},S.isDate=function(e){return a.call(e)=="[object Date]"},S.isRegExp=function(e){return a.call(e)=="[object RegExp]"},S.isNull=function(e){return e===null},S.isUndefined=function(e){return e===void 0},S.has=function(e,t){return f.call(e,t)},S.noConflict=function(){return e._=t,this},S.identity=function(e){return e},S.times=function(e,t,n){for(var r=0;r<e;r++)t.call(n,r)},S.escape=function(e){return(""+e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},S.result=function(e,t){if(e==null)return null;var n=e[t];return S.isFunction(n)?n.call(e):n},S.mixin=function(e){x(S.functions(e),function(t){B(t,S[t]=e[t])})};var k=0;S.uniqueId=function(e){var t=k++;return e?e+t:t},S.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L=/.^/,A={"\\":"\\","'":"'",r:"\r",n:"\n",t:" ",u2028:"\u2028",u2029:"\u2029"};for(var O in A)A[A[O]]=O;var M=/\\|'|\r|\n|\t|\u2028|\u2029/g,_=/\\(\\|'|r|n|t|u2028|u2029)/g,D=function(e){return e.replace(_,function(e,t){return A[t]})};S.template=function(e,t,n){n=S.defaults(n||{},S.templateSettings);var r="__p+='"+e.replace(M,function(e){return"\\"+A[e]}).replace(n.escape||L,function(e,t){return"'+\n_.escape("+D(t)+")+\n'"}).replace(n.interpolate||L,function(e,t){return"'+\n("+D(t)+")+\n'"}).replace(n.evaluate||L,function(e,t){return"';\n"+D(t)+"\n;__p+='"})+"';\n";n.variable||(r="with(obj||{}){\n"+r+"}\n"),r="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+r+"return __p;\n";var i=new Function(n.variable||"obj","_",r);if(t)return i(t,S);var s=function(e){return i.call(this,e,S)};return s.source="function("+(n.variable||"obj")+"){\n"+r+"}",s},S.chain=function(e){return S(e).chain()};var P=function(e){this._wrapped=e};S.prototype=P.prototype;var H=function(e,t){return t?S(e).chain():e},B=function(e,t){P.prototype[e]=function(){var e=o.call(arguments);return u.call(e,this._wrapped),H(t.apply(S,e),this._chain)}};S.mixin(S),x(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=r[e];P.prototype[e]=function(){var n=this._wrapped;t.apply(n,arguments);var r=n.length;return(e=="shift"||e=="splice")&&r===0&&delete n[0],H(n,this._chain)}}),x(["concat","join","slice"],function(e){var t=r[e];P.prototype[e]=function(){return H(t.apply(this._wrapped,arguments),this._chain)}}),P.prototype.chain=function(){return this._chain=!0,this},P.prototype.value=function(){return this._wrapped}}.call(this),function(){var e=this,t=e.Backbone,n=Array.prototype.slice,r=Array.prototype.splice,i;typeof exports!="undefined"?i=exports:i=e.Backbone={},i.VERSION="0.9.2";var s=e._;!s&&typeof require!="undefined"&&(s=require("underscore"));var o=e.jQuery||e.Zepto||e.ender;i.setDomLibrary=function(e){o=e},i.noConflict=function(){return e.Backbone=t,this},i.emulateHTTP=!1,i.emulateJSON=!1;var u=/\s+/,a=i.Events={on:function(e,t,n){var r,i,s,o,a;if(!t)return this;e=e.split(u),r=this._callbacks||(this._callbacks={});while(i=e.shift())a=r[i],s=a?a.tail:{},s.next=o={},s.context=n,s.callback=t,r[i]={tail:o,next:a?a.next:s};return this},off:function(e,t,n){var r,i,o,a,f,l;if(!(i=this._callbacks))return;if(!(e||t||n))return delete this._callbacks,this;e=e?e.split(u):s.keys(i);while(r=e.shift()){o=i[r],delete i[r];if(!o||!t&&!n)continue;a=o.tail;while((o=o.next)!==a)f=o.callback,l=o.context,(t&&f!==t||n&&l!==n)&&this.on(r,f,l)}return this},trigger:function(e){var t,r,i,s,o,a,f;if(!(i=this._callbacks))return this;a=i.all,e=e.split(u),f=n.call(arguments,1);while(t=e.shift()){if(r=i[t]){s=r.tail;while((r=r.next)!==s)r.callback.apply(r.context||this,f)}if(r=a){s=r.tail,o=[t].concat(f);while((r=r.next)!==s)r.callback.apply(r.context||this,o)}}return this}};a.bind=a.on,a.unbind=a.off;var f=i.Model=function(e,t){var n;e||(e={}),t&&t.parse&&(e=this.parse(e));if(n=C(this,"defaults"))e=s.extend({},n,e);t&&t.collection&&(this.collection=t.collection),this.attributes={},this._escapedAttributes={},this.cid=s.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(e,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=s.clone(this.attributes),this.initialize.apply(this,arguments)};s.extend(f.prototype,a,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(e){return s.clone(this.attributes)},get:function(e){return this.attributes[e]},escape:function(e){var t;if(t=this._escapedAttributes[e])return t;var n=this.get(e);return this._escapedAttributes[e]=s.escape(n==null?"":""+n)},has:function(e){return this.get(e)!=null},set:function(e,t,n){var r,i,o;s.isObject(e)||e==null?(r=e,n=t):(r={},r[e]=t),n||(n={});if(!r)return this;r instanceof f&&(r=r.attributes);if(n.unset)for(i in r)r[i]=void 0;if(!this._validate(r,n))return!1;this.idAttribute in r&&(this.id=r[this.idAttribute]);var u=n.changes={},a=this.attributes,l=this._escapedAttributes,c=this._previousAttributes||{};for(i in r){o=r[i];if(!s.isEqual(a[i],o)||n.unset&&s.has(a,i))delete l[i],(n.silent?this._silent:u)[i]=!0;n.unset?delete a[i]:a[i]=o,!s.isEqual(c[i],o)||s.has(a,i)!=s.has(c,i)?(this.changed[i]=o,n.silent||(this._pending[i]=!0)):(delete this.changed[i],delete this._pending[i])}return n.silent||this.change(n),this},unset:function(e,t){return(t||(t={})).unset=!0,this.set(e,null,t)},clear:function(e){return(e||(e={})).unset=!0,this.set(s.clone(this.attributes),e)},fetch:function(e){e=e?s.clone(e):{};var t=this,n=e.success;return e.success=function(r,i,s){if(!t.set(t.parse(r,s),e))return!1;n&&n(t,r)},e.error=i.wrapError(e.error,t,e),(this.sync||i.sync).call(this,"read",this,e)},save:function(e,t,n){var r,o;s.isObject(e)||e==null?(r=e,n=t):(r={},r[e]=t),n=n?s.clone(n):{};if(n.wait){if(!this._validate(r,n))return!1;o=s.clone(this.attributes)}var u=s.extend({},n,{silent:!0});if(r&&!this.set(r,n.wait?u:n))return!1;var a=this,f=n.success;n.success=function(e,t,i){var o=a.parse(e,i);n.wait&&(delete n.wait,o=s.extend(r||{},o));if(!a.set(o,n))return!1;f?f(a,e):a.trigger("sync",a,e,n)},n.error=i.wrapError(n.error,a,n);var l=this.isNew()?"create":"update",c=(this.sync||i.sync).call(this,l,this,n);return n.wait&&this.set(o,u),c},destroy:function(e){e=e?s.clone(e):{};var t=this,n=e.success,r=function(){t.trigger("destroy",t,t.collection,e)};if(this.isNew())return r(),!1;e.success=function(i){e.wait&&r(),n?n(t,i):t.trigger("sync",t,i,e)},e.error=i.wrapError(e.error,t,e);var o=(this.sync||i.sync).call(this,"delete",this,e);return e.wait||r(),o},url:function(){var e=C(this,"urlRoot")||C(this.collection,"url")||k();return this.isNew()?e:e+(e.charAt(e.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(e,t){return e},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(e){e||(e={});var t=this._changing;this._changing=!0;for(var n in this._silent)this._pending[n]=!0;var r=s.extend({},e.changes,this._silent);this._silent={};for(var n in r)this.trigger("change:"+n,this,this.get(n),e);if(t)return this;while(!s.isEmpty(this._pending)){this._pending={},this.trigger("change",this,e);for(var n in this.changed){if(this._pending[n]||this._silent[n])continue;delete this.changed[n]}this._previousAttributes=s.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(e){return arguments.length?s.has(this.changed,e):!s.isEmpty(this.changed)},changedAttributes:function(e){if(!e)return this.hasChanged()?s.clone(this.changed):!1;var t,n=!1,r=this._previousAttributes;for(var i in e){if(s.isEqual(r[i],t=e[i]))continue;(n||(n={}))[i]=t}return n},previous:function(e){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[e]},previousAttributes:function(){return s.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(e,t){if(t.silent||!this.validate)return!0;e=s.extend({},this.attributes,e);var n=this.validate(e,t);return n?(t&&t.error?t.error(this,n,t):this.trigger("error",this,n,t),!1):!0}});var l=i.Collection=function(e,t){t||(t={}),t.model&&(this.model=t.model),t.comparator&&(this.comparator=t.comparator),this._reset(),this.initialize.apply(this,arguments),e&&this.reset(e,{silent:!0,parse:t.parse})};s.extend(l.prototype,a,{model:f,initialize:function(){},toJSON:function(e){return this.map(function(t){return t.toJSON(e)})},add:function(e,t){var n,i,o,u,a,f,l={},c={},h=[];t||(t={}),e=s.isArray(e)?e.slice():[e];for(n=0,o=e.length;n<o;n++){if(!(u=e[n]=this._prepareModel(e[n],t)))throw new Error("Can't add an invalid model to a collection");a=u.cid,f=u.id;if(l[a]||this._byCid[a]||f!=null&&(c[f]||this._byId[f])){h.push(n);continue}l[a]=c[f]=u}n=h.length;while(n--)e.splice(h[n],1);for(n=0,o=e.length;n<o;n++)(u=e[n]).on("all",this._onModelEvent,this),this._byCid[u.cid]=u,u.id!=null&&(this._byId[u.id]=u);this.length+=o,i=t.at!=null?t.at:this.models.length,r.apply(this.models,[i,0].concat(e)),this.comparator&&this.sort({silent:!0});if(t.silent)return this;for(n=0,o=this.models.length;n<o;n++){if(!l[(u=this.models[n]).cid])continue;t.index=n,u.trigger("add",u,this,t)}return this},remove:function(e,t){var n,r,i,o;t||(t={}),e=s.isArray(e)?e.slice():[e];for(n=0,r=e.length;n<r;n++){o=this.getByCid(e[n])||this.get(e[n]);if(!o)continue;delete this._byId[o.id],delete this._byCid[o.cid],i=this.indexOf(o),this.models.splice(i,1),this.length--,t.silent||(t.index=i,o.trigger("remove",o,this,t)),this._removeReference(o)}return this},push:function(e,t){return e=this._prepareModel(e,t),this.add(e,t),e},pop:function(e){var t=this.at(this.length-1);return this.remove(t,e),t},unshift:function(e,t){return e=this._prepareModel(e,t),this.add(e,s.extend({at:0},t)),e},shift:function(e){var t=this.at(0);return this.remove(t,e),t},get:function(e){return e==
null?void 0:this._byId[e.id!=null?e.id:e]},getByCid:function(e){return e&&this._byCid[e.cid||e]},at:function(e){return this.models[e]},where:function(e){return s.isEmpty(e)?[]:this.filter(function(t){for(var n in e)if(e[n]!==t.get(n))return!1;return!0})},sort:function(e){e||(e={});if(!this.comparator)throw new Error("Cannot sort a set without a comparator");var t=s.bind(this.comparator,this);return this.comparator.length==1?this.models=this.sortBy(t):this.models.sort(t),e.silent||this.trigger("reset",this,e),this},pluck:function(e){return s.map(this.models,function(t){return t.get(e)})},reset:function(e,t){e||(e=[]),t||(t={});for(var n=0,r=this.models.length;n<r;n++)this._removeReference(this.models[n]);return this._reset(),this.add(e,s.extend({silent:!0},t)),t.silent||this.trigger("reset",this,t),this},fetch:function(e){e=e?s.clone(e):{},e.parse===undefined&&(e.parse=!0);var t=this,n=e.success;return e.success=function(r,i,s){t[e.add?"add":"reset"](t.parse(r,s),e),n&&n(t,r)},e.error=i.wrapError(e.error,t,e),(this.sync||i.sync).call(this,"read",this,e)},create:function(e,t){var n=this;t=t?s.clone(t):{},e=this._prepareModel(e,t);if(!e)return!1;t.wait||n.add(e,t);var r=t.success;return t.success=function(i,s,o){t.wait&&n.add(i,t),r?r(i,s):i.trigger("sync",e,s,t)},e.save(null,t),e},parse:function(e,t){return e},chain:function(){return s(this.models).chain()},_reset:function(e){this.length=0,this.models=[],this._byId={},this._byCid={}},_prepareModel:function(e,t){t||(t={});if(e instanceof f)e.collection||(e.collection=this);else{var n=e;t.collection=this,e=new this.model(n,t),e._validate(e.attributes,t)||(e=!1)}return e},_removeReference:function(e){this==e.collection&&delete e.collection,e.off("all",this._onModelEvent,this)},_onModelEvent:function(e,t,n,r){if((e=="add"||e=="remove")&&n!=this)return;e=="destroy"&&this.remove(t,r),t&&e==="change:"+t.idAttribute&&(delete this._byId[t.previous(t.idAttribute)],this._byId[t.id]=t),this.trigger.apply(this,arguments)}});var c=["forEach","each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","sortBy","sortedIndex","toArray","size","first","initial","rest","last","without","indexOf","shuffle","lastIndexOf","isEmpty","groupBy"];s.each(c,function(e){l.prototype[e]=function(){return s[e].apply(s,[this.models].concat(s.toArray(arguments)))}});var h=i.Router=function(e){e||(e={}),e.routes&&(this.routes=e.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},p=/:\w+/g,d=/\*\w+/g,v=/[-[\]{}()+?.,\\^$|#\s]/g;s.extend(h.prototype,a,{initialize:function(){},route:function(e,t,n){return i.history||(i.history=new m),s.isRegExp(e)||(e=this._routeToRegExp(e)),n||(n=this[t]),i.history.route(e,s.bind(function(r){var s=this._extractParameters(e,r);n&&n.apply(this,s),this.trigger.apply(this,["route:"+t].concat(s)),i.history.trigger("route",this,t,s)},this)),this},navigate:function(e,t){i.history.navigate(e,t)},_bindRoutes:function(){if(!this.routes)return;var e=[];for(var t in this.routes)e.unshift([t,this.routes[t]]);for(var n=0,r=e.length;n<r;n++)this.route(e[n][0],e[n][1],this[e[n][1]])},_routeToRegExp:function(e){return e=e.replace(v,"\\$&").replace(p,"([^/]+)").replace(d,"(.*?)"),new RegExp("^"+e+"$")},_extractParameters:function(e,t){return e.exec(t).slice(1)}});var m=i.History=function(){this.handlers=[],s.bindAll(this,"checkUrl")},g=/^[#\/]/,y=/msie [\w.]+/;m.started=!1,s.extend(m.prototype,a,{interval:50,getHash:function(e){var t=e?e.location:window.location,n=t.href.match(/#(.*)$/);return n?n[1]:""},getFragment:function(e,t){if(e==null)if(this._hasPushState||t){e=window.location.pathname;var n=window.location.search;n&&(e+=n)}else e=this.getHash();return e.indexOf(this.options.root)||(e=e.substr(this.options.root.length)),e.replace(g,"")},start:function(e){if(m.started)throw new Error("Backbone.history has already been started");m.started=!0,this.options=s.extend({},{root:"/"},this.options,e),this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&window.history&&window.history.pushState);var t=this.getFragment(),n=document.documentMode,r=y.exec(navigator.userAgent.toLowerCase())&&(!n||n<=7);r&&(this.iframe=o('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow,this.navigate(t)),this._hasPushState?o(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!r?o(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=t;var i=window.location,u=i.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!u)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&u&&i.hash&&(this.fragment=this.getHash().replace(g,""),window.history.replaceState({},document.title,i.protocol+"//"+i.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){o(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),m.started=!1},route:function(e,t){this.handlers.unshift({route:e,callback:t})},checkUrl:function(e){var t=this.getFragment();t==this.fragment&&this.iframe&&(t=this.getFragment(this.getHash(this.iframe)));if(t==this.fragment)return!1;this.iframe&&this.navigate(t),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(e){var t=this.fragment=this.getFragment(e),n=s.any(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0});return n},navigate:function(e,t){if(!m.started)return!1;if(!t||t===!0)t={trigger:t};var n=(e||"").replace(g,"");if(this.fragment==n)return;this._hasPushState?(n.indexOf(this.options.root)!=0&&(n=this.options.root+n),this.fragment=n,window.history[t.replace?"replaceState":"pushState"]({},document.title,n)):this._wantsHashChange?(this.fragment=n,this._updateHash(window.location,n,t.replace),this.iframe&&n!=this.getFragment(this.getHash(this.iframe))&&(t.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,n,t.replace))):window.location.assign(this.options.root+e),t.trigger&&this.loadUrl(e)},_updateHash:function(e,t,n){n?e.replace(e.toString().replace(/(javascript:|#).*$/,"")+"#"+t):e.hash=t}});var b=i.View=function(e){this.cid=s.uniqueId("view"),this._configure(e||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},w=/^(\S+)\s*(.*)$/,E=["model","collection","el","id","attributes","className","tagName"];s.extend(b.prototype,a,{tagName:"div",$:function(e){return this.$el.find(e)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(e,t,n){var r=document.createElement(e);return t&&o(r).attr(t),n&&o(r).html(n),r},setElement:function(e,t){return this.$el&&this.undelegateEvents(),this.$el=e instanceof o?e:o(e),this.el=this.$el[0],t!==!1&&this.delegateEvents(),this},delegateEvents:function(e){if(!e&&!(e=C(this,"events")))return;this.undelegateEvents();for(var t in e){var n=e[t];s.isFunction(n)||(n=this[e[t]]);if(!n)throw new Error('Method "'+e[t]+'" does not exist');var r=t.match(w),i=r[1],o=r[2];n=s.bind(n,this),i+=".delegateEvents"+this.cid,o===""?this.$el.bind(i,n):this.$el.delegate(o,i,n)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(e){this.options&&(e=s.extend({},this.options,e));for(var t=0,n=E.length;t<n;t++){var r=E[t];e[r]&&(this[r]=e[r])}this.options=e},_ensureElement:function(){if(!this.el){var e=C(this,"attributes")||{};this.id&&(e.id=this.id),this.className&&(e["class"]=this.className),this.setElement(this.make(this.tagName,e),!1)}else this.setElement(this.el,!1)}});var S=function(e,t){var n=N(this,e,t);return n.extend=this.extend,n};f.extend=l.extend=h.extend=b.extend=S;var x={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};i.sync=function(e,t,n){var r=x[e];n||(n={});var u={type:r,dataType:"json"};return n.url||(u.url=C(t,"url")||k()),!n.data&&t&&(e=="create"||e=="update")&&(u.contentType="application/json",u.data=JSON.stringify(t.toJSON())),i.emulateJSON&&(u.contentType="application/x-www-form-urlencoded",u.data=u.data?{model:u.data}:{}),i.emulateHTTP&&(r==="PUT"||r==="DELETE")&&(i.emulateJSON&&(u.data._method=r),u.type="POST",u.beforeSend=function(e){e.setRequestHeader("X-HTTP-Method-Override",r)}),u.type!=="GET"&&!i.emulateJSON&&(u.processData=!1),o.ajax(s.extend(u,n))},i.wrapError=function(e,t,n){return function(r,i){i=r===t?i:r,e?e(t,i,n):t.trigger("error",t,i,n)}};var T=function(){},N=function(e,t,n){var r;return t&&t.hasOwnProperty("constructor")?r=t.constructor:r=function(){e.apply(this,arguments)},s.extend(r,e),T.prototype=e.prototype,r.prototype=new T,t&&s.extend(r.prototype,t),n&&s.extend(r,n),r.prototype.constructor=r,r.__super__=e.prototype,r},C=function(e,t){return!e||!e[t]?null:s.isFunction(e[t])?e[t]():e[t]},k=function(){throw new Error('A "url" property or function must be specified')}}.call(this),window.CodeMirror=function(){"use strict";function e(r,i){function an(e){if(s.onDragEvent&&s.onDragEvent(cn,I(e)))return;U(e)}function ln(e){return e>=0&&e<At.size}function hn(e){return D(At,e)}function pn(e,t){Vt=!0;var n=t-e.height;for(var r=e;r;r=r.parent)r.height+=n}function dn(e){var t={line:0,ch:0};_n(t,{line:At.size-1,ch:hn(At.size-1).text.length},ht(e),t,t),qt=!0}function vn(e){var t=[];return At.iter(0,At.size,function(e){t.push(e.text)}),t.join(e||"\n")}function mn(e){R.scrollTop!=Bt&&(Bt=St.scrollTop=R.scrollTop,nr([]))}function gn(e){s.fixedGutter&&bt.style.left!=St.scrollLeft+"px"&&(bt.style.left=St.scrollLeft+"px"),St.scrollTop!=Bt&&(Bt=St.scrollTop,R.scrollTop!=Bt&&(R.scrollTop=Bt),nr([])),s.onScroll&&s.onScroll(cn)}function yn(e){function u(t){g&&(St.draggable=!1),jt=!1,l(),c(),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&(q(t),cr(n.line,n.ch,!0),Qn())}function m(e){if(i=="single")ar(n,e);else if(i=="double"){var t=yr(e);rt(e,d)?ar(t.from,v):ar(d,t.to)}else i=="triple"&&(rt(e,d)?ar(v,pr({line:e.line,ch:0})):ar(d,pr({line:e.line+1,ch:0})))}function y(e){var t=Yr(e,!0);if(t&&!nt(t,a)){Mt||On(),a=t,m(t),qt=!1;var n=tr();if(t.line>=n.to||t.line<n.from)f=setTimeout(ci(function(){y(e)}),150)}}function b(e){clearTimeout(f);var t=Yr(e);t&&m(t),q(e),Qn(),qt=!0,w(),l()}ur(X(e,"shiftKey"));for(var t=z(e);t!=xt;t=t.parentNode)if(t.parentNode==Et&&t!=wt)return;for(var t=z(e);t!=xt;t=t.parentNode)if(t.parentNode==yt)return s.onGutterClick&&s.onGutterClick(cn,lt(yt.childNodes,t)+Kt,e),q(e);var n=Yr(e);switch(W(e)){case 3:h&&Zr(e);return;case 2:n&&cr(n.line,n.ch,!0),setTimeout(Qn,20),q(e);return}if(!n){z(e)==St&&q(e);return}Mt||On();var r=+(new Date),i="single";if(Ht&&Ht.time>r-400&&nt(Ht.pos,n))i="triple",q(e),setTimeout(Qn,20),br(n.line);else if(Pt&&Pt.time>r-400&&nt(Pt.pos,n)){i="double",Ht={time:r,pos:n},q(e);var o=yr(n);ar(o.from,o.to)}else Pt={time:r,pos:n};var a=n,f;if(s.dragDrop&&K&&!s.readOnly&&!nt(_t.from,_t.to)&&!rt(n,_t.from)&&!rt(_t.to,n)&&i=="single"){g&&(St.draggable=!0);var l=V(document,"mouseup",ci(u),!0),c=V(St,"drop",ci(u),!0);jt=!0,St.dragDrop&&St.dragDrop();return}q(e),i=="single"&&cr(n.line,n.ch,!0);var d=_t.from,v=_t.to,w=V(document,"mousemove",ci(function(e){clearTimeout(f),q(e),!p&&!W(e)?b(e):y(e)}),!0),l=V(document,"mouseup",ci(b),!0)}function bn(e){for(var t=z(e);t!=xt;t=t.parentNode)if(t.parentNode==yt)return q(e);q(e)}function wn(e){if(s.onDragEvent&&s.onDragEvent(cn,I(e)))return;q(e);var t=Yr(e,!0),n=e.dataTransfer.files;if(!t||s.readOnly)return;if(n&&n.length&&window.FileReader&&window.File){var r=n.length,i=Array(r),o=0,u=function(e,n){var s=new FileReader;s.onload=function(){i[n]=s.result,++o==r&&(t=pr(t),ci(function(){var e=qn(i.join(""),t,t);ar(t,e)})())},s.readAsText(e)};for(var a=0;a<r;++a)u(n[a],a)}else{if(jt&&!rt(t,_t.from)&&!rt(_t.to,t))return;try{var i=e.dataTransfer.getData("Text");i&&hi(function(){var e=_t.from,n=_t.to;ar(t,t),jt&&qn("",e,n),Rn(i),Qn()})}catch(e){}}}function En(e){var t=Wn();e.dataTransfer.setData("Text",t);if(h||y||b){var n=st("img");n.scr="data:image/gif;base64,R0lGODdhAgACAIAAAAAAAP///ywAAAAAAgACAAACAoRRADs=",e.dataTransfer.setDragImage(n,0,0)}}function Sn(e,t){if(typeof e=="string"){e=u[e];if(!e)return!1}var n=Dt;try{s.readOnly&&(It=!0),t&&(Dt=null),e(cn)}catch(r){if(r!=J)throw r;return!1}finally{Dt=n,It=!1}return!0}function Tn(e){function u(){o=!0}var t=f(s.keyMap),n=t.auto;clearTimeout(xn),n&&!c(e)&&(xn=setTimeout(function(){f(s.keyMap)==t&&(s.keyMap=n.call?n.call(null,cn):n)},50));var r=dt[X(e,"keyCode")],i=!1;if(r==null||e.altGraphKey)return!1;X(e,"altKey")&&(r="Alt-"+r),X(e,"ctrlKey")&&(r="Ctrl-"+r),X(e,"metaKey")&&(r="Cmd-"+r);var o=!1;return X(e,"shiftKey")?i=l("Shift-"+r,s.extraKeys,s.keyMap,function(e){return Sn(e,!0)},u)||l(r,s.extraKeys,s.keyMap,function(e){if(typeof e=="string"&&/^go[A-Z]/.test(e))return Sn(e)},u):i=l(r,s.extraKeys,s.keyMap,Sn,u),o&&(i=!1),i&&(q(e),ei(),p&&(e.oldKeyCode=e.keyCode,e.keyCode=0)),i}function Nn(e,t){var n=l("'"+t+"'",s.extraKeys,s.keyMap,function(e){return Sn(e,!0)});return n&&(q(e),ei()),n}function kn(e){Mt||On(),p&&e.keyCode==27&&(e.returnValue=!1),rn&&Jn()&&(rn=!1);if(s.onKeyEvent&&s.onKeyEvent(cn,I(e)))return;var t=X(e,"keyCode");ur(t==16||X(e,"shiftKey"));var r=Tn(e);b&&(Cn=r?t:null,!r&&t==88&&X(e,n?"metaKey":"ctrlKey")&&Rn(""))}function Ln(e){rn&&Jn();if(s.onKeyEvent&&s.onKeyEvent(cn,I(e)))return;var t=X(e,"keyCode"),n=X(e,"charCode");if(b&&t==Cn){Cn=null,q(e);return}if((b&&(!e.which||e.which<10)||E)&&Tn(e))return;var r=String.fromCharCode(n==null?t:n);s.electricChars&&Lt.electricChars&&s.smartIndent&&!s.readOnly&&Lt.electricChars.indexOf(r)>-1&&setTimeout(ci(function(){Er(_t.to.line,"smart")}),75);if(Nn(e,r))return;Vn()}function An(e){if(s.onKeyEvent&&s.onKeyEvent(cn,I(e)))return;X(e,"keyCode")==16&&(Dt=null)}function On(){if(s.readOnly=="nocursor")return;Mt||(s.onFocus&&s.onFocus(cn),Mt=!0,St.className.search(/\bCodeMirror-focused\b/)==-1&&(St.className+=" CodeMirror-focused"),Xt||Kn(!0)),Xn(),ei()}function Mn(){Mt&&(s.onBlur&&s.onBlur(cn),Mt=!1,Yt&&ci(function(){Yt&&(Yt(),Yt=null)})(),St.className=St.className.replace(" CodeMirror-focused","")),clearInterval(kt),setTimeout(function(){Mt||(Dt=null)},150)}function _n(e,t,n,r,i){if(It)return;if(on){var o=[];At.iter(e.line,t.line+1,function(e){o.push(e.text)}),on.addChange(e.line,n.length,o);while(on.done.length>s.undoDepth)on.done.shift()}Bn(e,t,n,r,i)}function Dn(e,t){if(!e.length)return;var n=e.pop(),r=[];for(var i=n.length-1;i>=0;i-=1){var s=n[i],o=[],u=s.start+s.added;At.iter(s.start,u,function(e){o.push(e.text)}),r.push({start:s.start,added:s.old.length,old:o});var a={line:s.start+s.old.length-1,ch:ft(o[o.length-1],s.old[s.old.length-1])};Bn({line:s.start,ch:0},{line:u-1,ch:hn(u-1).text.length},s.old,a,a)}qt=!0,t.push(r)}function Pn(){Dn(on.done,on.undone)}function Hn(){Dn(on.undone,on.done)}function Bn(e,t,n,r,i){function x(e){return e<=Math.min(t.line,t.line+g)?e:e+g}if(It)return;var o=!1,u=Zt.text.length;s.lineWrapping||At.iter(e.line,t.line+1,function(e){if(!e.hidden&&e.text.length==u)return o=!0,!0});if(e.line!=t.line||n.length>1)Vt=!0;var a=t.line-e.line,f=hn(e.line),l=hn(t.line);if(e.ch==0&&t.ch==0&&n[n.length-1]==""){var c=[],h=null;e.line?(h=hn(e.line-1),h.fixMarkEnds(l)):l.fixMarkStarts();for(var p=0,d=n.length-1;p<d;++p)c.push(A.inheritMarks(n[p],h));a&&At.remove(e.line,a,$t),c.length&&At.insert(e.line,c)}else if(f==l)if(n.length==1)f.replace(e.ch,t.ch,n[0]);else{l=f.split(t.ch,n[n.length-1]),f.replace(e.ch,null,n[0]),f.fixMarkEnds(l);var c=[];for(var p=1,d=n.length-1;p<d;++p)c.push(A.inheritMarks(n[p],f));c.push(l),At.insert(e.line+1,c)}else if(n.length==1)f.replace(e.ch,null,n[0]),l.replace(null,t.ch,""),f.append(l),At.remove(e.line+1,a,$t);else{var c=[];f.replace(e.ch,null,n[0]),l.replace(null,t.ch,n[n.length-1]),f.fixMarkEnds(l);for(var p=1,d=n.length-1;p<d;++p)c.push(A.inheritMarks(n[p],f));a>1&&At.remove(e.line+1,a-1,$t),At.insert(e.line+1,c)}if(s.lineWrapping){var v=Math.max(5,St.clientWidth/Kr()-3);At.iter(e.line,e.line+n.length,function(e){if(e.hidden)return;var t=Math.ceil(e.text.length/v)||1;t!=e.height&&pn(e,t)})}else At.iter(e.line,e.line+n.length,function(e){var t=e.text;!e.hidden&&t.length>u&&(Zt=e,u=t.length,tn=!0,o=!1)}),o&&(en=!0);var m=[],g=n.length-a-1;for(var p=0,y=Ot.length;p<y;++p){var b=Ot[p];b<e.line?m.push(b):b>t.line&&m.push(b+g)}var w=e.line+Math.min(n.length,500);si(e.line,w),m.push(w),Ot=m,ui(100),Ut.push({from:e.line,to:t.line+1,diff:g});var E={from:e,to:t,text:n};if(zt){for(var S=zt;S.next;S=S.next);S.next=E}else zt=E;fr(pr(r),pr(i),x(_t.from.line),x(_t.to.line))}function jn(){var e=At.height*Vr()+2*Qr();return e*.99>St.offsetHeight?e:!1}function Fn(e){var t=jn();R.style.display=t?"block":"none",t?(F.style.height=Et.style.minHeight=t+"px",R.style.height=St.clientHeight+"px",e!=null&&(R.scrollTop=St.scrollTop=e,g&&setTimeout(function(){if(R.scrollTop!=e)return;R.scrollTop=e+(e?-1:1),R.scrollTop=e},0))):Et.style.minHeight="",wt.style.top=Jt*Vr()+"px"}function In(){Zt=hn(0),tn=!0;var e=Zt.text.length;At.iter(1,At.size,function(t){var n=t.text;!t.hidden&&n.length>e&&(e=n.length,Zt=t)}),en=!1}function qn(e,t,n){function r(r){if(rt(r,t))return r;if(!rt(n,r))return i;var s=r.line+e.length-(n.line-t.line)-1,o=r.ch;return r.line==n.line&&(o+=e[e.length-1].length-(n.ch-(n.line==t.line?t.ch:0))),{line:s,ch:o}}t=pr(t),n?n=pr(n):n=t,e=ht(e);var i;return Un(e,t,n,function(e){return i=e,{from:r(_t.from),to:r(_t.to)}}),i}function Rn(e,t){Un(ht(e),_t.from,_t.to,function(e){return t=="end"?{from:e,to:e}:t=="start"?{from:_t.from,to:_t.from}:{from:_t.from,to:e}})}function Un(e,t,n,r){var i=e.length==1?e[0].length+t.ch:e[e.length-1].length,s=r({line:t.line+e.length-1,ch:i});_n(t,n,e,s.from,s.to)}function zn(e,t,n){var r=e.line,i=t.line;if(r==i)return hn(r).text.slice(e.ch,t.ch);var s=[hn(r).text.slice(e.ch)];return At.iter(r+1,i,function(e){s.push(e.text)}),s.push(hn(i).text.slice(0,t.ch)),s.join(n||"\n")}function Wn(e){return zn(_t.from,_t.to,e)}function Xn(){if(rn)return;Nt.set(s.pollInterval,function(){ai(),Jn(),Mt&&Xn(),fi()})}function Vn(){function t(){ai();var n=Jn();!n&&!e?(e=!0,Nt.set(60,t)):(rn=!1,Xn()),fi()}var e=!1;rn=!0,Nt.set(20,t)}function Jn(){if(Xt||!Mt||pt(L)||s.readOnly)return!1;var e=L.value;if(e==$n)return!1;Dt=null;var t=0,n=Math.min($n.length,e.length);while(t<n&&$n[t]==e[t])++t;return t<$n.length?_t.from={line:_t.from.line,ch:_t.from.ch-($n.length-t)}:Ft&&nt(_t.from,_t.to)&&(_t.to={line:_t.to.line,ch:Math.min(hn(_t.to.line).text.length,_t.to.ch+(e.length-t))}),Rn(e.slice(t),"end"),e.length>1e3?L.value=$n="":$n=e,!0}function Kn(e){nt(_t.from,_t.to)?e&&($n=L.value=""):($n="",L.value=Wn(),Mt&&tt(L))}function Qn(){s.readOnly!="nocursor"&&L.focus()}function Gn(){var e=Yn();Zn(e.x,e.y,e.x,e.yBot);if(!Mt)return;var t=Et.getBoundingClientRect(),n=null;e.y+t.top<0?n=!0:e.y+t.top+Vr()>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1);if(n!=null){var r=at.style.display=="none";r&&(at.style.display="",at.style.left=e.x+"px",at.style.top=e.y-Jt+"px"),at.scrollIntoView(n),r&&(at.style.display="none")}}function Yn(){var e=qr(_t.inverted?_t.from:_t.to),t=s.lineWrapping?Math.min(e.x,gt.offsetWidth):e.x;return{x:t,y:e.y,yBot:e.yBot}}function Zn(e,t,n,r){var i=er(e,t,n,r);i.scrollLeft!=null&&(St.scrollLeft=i.scrollLeft),i.scrollTop!=null&&(R.scrollTop=St.scrollTop=i.scrollTop)}function er(e,t,n,r){var i=Gr(),o=Qr();t+=o,r+=o,e+=i,n+=i;var u=St.clientHeight,a=R.scrollTop,f={},l=jn()||Infinity,c=t<o+10,h=r+o>l-10;t<a?f.scrollTop=c?0:Math.max(0,t):r>a+u&&(f.scrollTop=(h?l:r)-u);var p=St.clientWidth,d=St.scrollLeft,v=s.fixedGutter?bt.clientWidth:0,m=e<v+i+10;return e<d+v||m?(m&&(e=0),f.scrollLeft=Math.max(0,e-10-v)):n>p+d-3&&(f.scrollLeft=n+10-p),f}function tr(e){var t=Vr(),n=(e!=null?e:R.scrollTop)-Qr(),r=Math.max(0,Math.floor(n/t)),i=Math.ceil((n+St.clientHeight)/t);return{from:H(At,r),to:H(At,i)}}function nr(e,t,n){function d(){var e=Q.firstChild,t=!1;return At.iter(Kt,Qt,function(n){if(!e)return;if(!n.hidden){var r=Math.round(e.offsetHeight/c)||1;n.height!=r&&(pn(n,r),Vt=t=!0)}e=e.nextSibling}),t}if(!St.clientWidth){Kt=Qt=Jt=0;return}var r=tr(n);if(e!==!0&&e.length==0&&r.from>Kt&&r.to<Qt){Fn(n);return}var i=Math.max(r.from-100,0),o=Math.min(At.size,r.to+100);Kt<i&&i-Kt<20&&(i=Kt),Qt>o&&Qt-o<20&&(o=Math.min(At.size,Qt));var u=e===!0?[]:rr([{from:Kt,to:Qt,domStart:0}],e),a=0;for(var f=0;f<u.length;++f){var l=u[f];l.from<i&&(l.domStart+=i-l.from,l.from=i),l.to>o&&(l.to=o),l.from>=l.to?u.splice(f--,1):a+=l.to-l.from}if(a==o-i&&i==Kt&&o==Qt){Fn(n);return}u.sort(function(e,t){return e.domStart-t.domStart});var c=Vr(),h=bt.style.display;Q.style.display="none",ir(i,o,u),Q.style.display=bt.style.display="";var p=i!=Kt||o!=Qt||Gt!=St.clientHeight+c;p&&(Gt=St.clientHeight+c),(i!=Kt||o!=Qt&&s.onViewportChange)&&setTimeout(function(){s.onViewportChange&&s.onViewportChange(cn,i,o)}),Kt=i,Qt=o,Jt=B(At,i);if(Q.childNodes.length!=Qt-Kt)throw new Error("BAD PATCH! "+JSON.stringify(u)+" size="+(Qt-Kt)+" nodes="+Q.childNodes.length);return s.lineWrapping&&d(),bt.style.display=h,(p||Vt)&&sr()&&s.lineWrapping&&d()&&sr(),Fn(n),or(),!t&&s.onUpdate&&s.onUpdate(cn),!0}function rr(e,t){for(var n=0,r=t.length||0;n<r;++n){var i=t[n],s=[],o=i.diff||0;for(var u=0,a=e.length;u<a;++u){var f=e[u];i.to<=f.from&&i.diff?s.push({from:f.from+o,to:f.to+o,domStart:f.domStart}):i.to<=f.from||i.from>=f.to?s.push(f):(i.from>f.from&&s.push({from:f.from,to:i.from,domStart:f.domStart}),i.to<f.to&&s.push({from:i.to+o,to:f.to+o,domStart:f.domStart+(i.to-f.from)}))}e=s}return e}function ir(e,t,n){function r(e){var t=e.nextSibling;return e.parentNode.removeChild(e),t}if(!n.length)ot(Q);else{var i=0,s=Q.firstChild,o;for(var u=0;u<n.length;++u){var a=n[u];while(a.domStart>i)s=r(s),i++;for(var f=0,l=a.to-a.from;f<l;++f)s=s.nextSibling,i++}while(s)s=r(s)}var c=n.shift(),s=Q.firstChild,f=e;At.iter(e,t,function(e){c&&c.to==f&&(c=n.shift());if(!c||c.from>f){if(e.hidden)var t=st("pre");else{var t=e.getElement(Nr);e.className&&(t.className=e.className);if(e.bgClassName){var r=st("pre"," ",e.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2");t=st("div",[r,t],null,"position: relative")}}Q.insertBefore(t,s)}else s=s.nextSibling;++f})}function sr(){if(!s.gutter&&!s.lineNumbers)return;var e=wt.offsetHeight,t=St.clientHeight;bt.style.height=(e-t<2?t:e)+"px";var n=document.createDocumentFragment(),r=Kt,i;At.iter(Kt,Math.max(Qt,Kt+1),function(e){if(e.hidden)n.appendChild(st("pre"));else{var t=e.gutterMarker,o=s.lineNumbers?s.lineNumberFormatter(r+s.firstLineNumber):null;t&&t.text?o=t.text.replace("%N%",o!=null?o:""):o==null&&(o=" ");var u=n.appendChild(st("pre",null,t&&t.style));u.innerHTML=o;for(var a=1;a<e.height;++a)u.appendChild(st("br")),u.appendChild(document.createTextNode(" "));t||(i=r)}++r}),bt.style.display="none",ut(yt,n);if(i!=null&&s.lineNumbers){var o=yt.childNodes[i-Kt],u=String(At.size).length,a=et(o.firstChild),f="";while(a.length+f.length<u)f+=" ";f&&o.insertBefore(document.createTextNode(f),o.firstChild)}bt.style.display="";var l=Math.abs((parseInt(gt.style.marginLeft)||0)-bt.offsetWidth)>2;return gt.style.marginLeft=bt.offsetWidth+"px",Vt=!1,l}function or(){var e=nt(_t.from,_t.to),t=qr(_t.from,!0),n=e?t:qr(_t.to,!0),r=_t.inverted?t:n,i=Vr(),o=Z(xt),u=Z(Q);O.style.top=Math.max(0,Math.min(St.offsetHeight,r.y+u.top-o.top))+"px",O.style.left=Math.max(0,Math.min(St.offsetWidth,r.x+u.left-o.left))+"px";if(e)at.style.top=r.y+"px",at.style.left=(s.lineWrapping?Math.min(r.x,gt.offsetWidth):r.x)+"px",at.style.display="",Y.style.display="none";else{var a=t.y==n.y,f=document.createDocumentFragment(),l=gt.clientWidth||gt.offsetWidth,c=gt.clientHeight||gt.offsetHeight,h=function(e,t,n,r){var i=m?"width: "+(n?l-n-e:l)+"px":"right: "+n+"px";f.appendChild(st("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; "+i+"; height: "+r+"px"))};if(_t.from.ch&&t.y>=0){var p=a?l-n.x:0;h(t.x,t.y,p,i)}var d=Math.max(0,t.y+(_t.from.ch?i:0)),v=Math.min(n.y,c)-d;v>.2*i&&h(0,d,0,v),(!a||!_t.from.ch)&&n.y<c-.5*i&&h(0,n.y,l-n.x,i),ut(Y,f),at.style.display="none",Y.style.display=""}}function ur(e){e?Dt=Dt||(_t.inverted?_t.to:_t.from):Dt=null}function ar(e,t){var n=Dt&&pr(Dt);n&&(rt(n,e)?e=n:rt(t,n)&&(t=n)),fr(e,t),Rt=!0}function fr(e,t,n,r){sn=null,n==null&&(n=_t.from.line,r=_t.to.line);if(nt(_t.from,e)&&nt(_t.to,t))return;if(rt(t,e)){var i=t;t=e,e=i}if(e.line!=n){var o=lr(e,n,_t.from.ch);o?e=o:Br(e.line,!1)}t.line!=r&&(t=lr(t,r,_t.to.ch)),nt(e,t)?_t.inverted=!1:nt(e,_t.to)?_t.inverted=!1:nt(t,_t.from)&&(_t.inverted=!0);if(s.autoClearEmptyLines&&nt(_t.from,_t.to)){var u=_t.inverted?e:t;if(u.line!=_t.from.line&&_t.from.line<At.size){var a=hn(_t.from.line);/^\s+$/.test(a.text)&&setTimeout(ci(function(){if(a.parent&&/^\s+$/.test(a.text)){var e=P(a);qn("",{line:e,ch:0},{line:e,ch:a.text.length})}},10))}}_t.from=e,_t.to=t,Wt=!0}function lr(e,t,n){function r(t){var r=e.line+t,i=t==1?At.size:-1;while(r!=i){var o=hn(r);if(!o.hidden){var u=e.ch;if(s||u>n||u>o.text.length)u=o.text.length;return{line:r,ch:u}}r+=t}}var i=hn(e.line),s=e.ch==i.text.length&&e.ch!=n;return i.hidden?e.line>=t?r(1)||r(-1):r(-1)||r(1):e}function cr(e,t,n){var r=pr({line:e,ch:t||0});(n?ar:fr)(r,r)}function hr(e){return Math.max(0,Math.min(e,At.size-1))}function pr(e){if(e.line<0)return{line:0,ch:0};if(e.line>=At.size)return{line:At.size-1,ch:hn(At.size-1).text.length};var t=e.ch,n=hn(e.line).text.length;return t==null||t>n?{line:e.line,ch:n}:t<0?{line:e.line,ch:0}:e}function dr(e,t){function o(){for(var t=r+e,n=e<0?-1:At.size;t!=n;t+=e){var i=hn(t);if(!i.hidden)return r=t,s=i,!0}}function u(t){if(i==(e<0?0:s.text.length)){if(!!t||!o())return!1;i=e<0?s.text.length:0}else i+=e;return!0}var n=_t.inverted?_t.from:_t.to,r=n.line,i=n.ch,s=hn(r);if(t=="char")u();else if(t=="column")u(!0);else if(t=="word"){var a=!1;for(;;){if(e<0&&!u())break;if(ct(s.text.charAt(i)))a=!0;else if(a){e<0&&(e=1,u());break}if(e>0&&!u())break}}return{line:r,ch:i}}function vr(e,t){var n=e<0?_t.from:_t.to;if(Dt||nt(_t.from,_t.to))n=dr(e,t);cr(n.line,n.ch,!0)}function mr(e,t){nt(_t.from,_t.to)?e<0?qn("",dr(e,t),_t.to):qn("",_t.from,dr(e,t)):qn("",_t.from,_t.to),Rt=!0}function gr(e,t){var n=0,r=qr(_t.inverted?_t.from:_t.to,!0);sn!=null&&(r.x=sn);if(t=="page")var i=Math.min(St.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Rr(r.x,r.y+i*e);else if(t=="line")var o=Vr(),s=Rr(r.x,r.y+.5*o+e*o);t=="page"&&(R.scrollTop+=qr(s,!0).y-r.y),cr(s.line,s.ch,!0),sn=r.x}function yr(e){var t=hn(e.line).text,n=e.ch,r=e.ch;if(t){e.after===!1||r==t.length?--n:++r;var i=t.charAt(n),s=ct(i)?ct:/\s/.test(i)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!ct(e)};while(n>0&&s(t.charAt(n-1)))--n;while(r<t.length&&s(t.charAt(r)))++r}return{from:{line:e.line,ch:n},to:{line:e.line,ch:r}}}function br(e){ar({line:e,ch:0},pr({line:e+1,ch:0}))}function wr(e){if(nt(_t.from,_t.to))return Er(_t.from.line,e);var t=_t.to.line-(_t.to.ch?0:1);for(var n=_t.from.line;n<=t;++n)Er(n,e)}function Er(e,t){t||(t="add");if(t=="smart")if(!Lt.indent)t="prev";else var n=ii(e);var r=hn(e),i=r.indentation(s.tabSize),o=r.text.match(/^\s*/)[0],u;t=="smart"&&(u=Lt.indent(n,r.text.slice(o.length),r.text),u==J&&(t="prev")),t=="prev"?e?u=hn(e-1).indentation(s.tabSize):u=0:t=="add"?u=i+s.indentUnit:t=="subtract"&&(u=i-s.indentUnit),u=Math.max(0,u);var a=u-i,f="",l=0;if(s.indentWithTabs)for(var c=Math.floor(u/s.tabSize);c;--c)l+=s.tabSize,f+=" ";while(l<u)++l,f+=" ";f!=o&&qn(f,{line:e,ch:0},{line:e,ch:o.length})}function Sr(){Lt=e.getMode(s,s.mode),At.iter(0,At.size,function(e){e.stateAfter=null}),Ot=[0],ui()}function xr(){var e=s.gutter||s.lineNumbers;bt.style.display=e?"":"none",e?Vt=!0:Q.parentNode.style.marginLeft=0}function Tr(e,t){if(s.lineWrapping){xt.className+=" CodeMirror-wrap";var n=St.clientWidth/Kr()-3;At.iter(0,At.size,function(e){if(e.hidden)return;var t=Math.ceil(e.text.length/n)||1;t!=1&&pn(e,t)}),gt.style.minWidth=vt.style.left=""}else xt.className=xt.className.replace(" CodeMirror-wrap",""),In(),At.iter(0,At.size,function(e){e.height!=1&&!e.hidden&&pn(e,1)});Ut.push({from:0,to:At.size})}function Nr(e){var t=s.tabSize-e%s.tabSize,n=nn[t];if(n)return n;for(var r="",i=0;i<t;++i)r+=" ";var o=st("span",r,"cm-tab");return nn[t]={element:o,width:t}}function Cr(){St.className=St.className.replace(/\s*cm-s-\S+/g,"")+s.theme.replace(/(^|\s)\s*/g," cm-s-")}function kr(){var e=a[s.keyMap].style;xt.className=xt.className.replace(/\s*cm-keymap-\S+/g,"")+(e?" cm-keymap-"+e:"")}function Lr(){this.set=[]}function Ar(e,t,n){function i(e,t,n,i){hn(e).addMark(new C(t,n,i,r))}e=pr(e),t=pr(t);var r=new Lr;if(!rt(e,t))return r;if(e.line==t.line)i(e.line,e.ch,t.ch,n);else{i(e.line,e.ch,null,n);for(var s=e.line+1,o=t.line;s<o;++s)i(s,null,null,n);i(t.line,null,t.ch,n)}return Ut.push({from:e.line,to:t.line+1}),r}function Or(e){e=pr(e);var t=new k(e.ch);return hn(e.line).addMark(t),t}function Mr(e){e=pr(e);var t=[],n=hn(e.line).marked;if(!n)return t;for(var r=0,i=n.length;r<i;++r){var s=n[r];(s.from==null||s.from<=e.ch)&&(s.to==null||s.to>=e.ch)&&t.push(s.marker||s)}return t}function _r(e,t,n){return typeof e=="number"&&(e=hn(hr(e))),e.gutterMarker={text:t,style:n},Vt=!0,e}function Dr(e){typeof e=="number"&&(e=hn(hr(e))),e.gutterMarker=null,Vt=!0}function Pr(e,t){var n=e,r=e;return typeof e=="number"?r=hn(hr(e)):n=P(e),n==null?null:t(r,n)?(Ut.push({from:n,to:n+1}),r):null}function Hr(e,t,n){return Pr(e,function(e){if(e.className!=t||e.bgClassName!=n)return e.className=t,e.bgClassName=n,!0})}function Br(e,t){return Pr(e,function(e,n){if(e.hidden!=t){e.hidden=t,s.lineWrapping||(t&&e.text.length==Zt.text.length?en=!0:!t&&e.text.length>Zt.text.length&&(Zt=e,en=!1)),pn(e,t?0:1);var r=_t.from.line,i=_t.to.line;if(t&&(r==n||i==n)){var o=r==n?lr({line:r,ch:0},r,0):_t.from,u=i==n?lr({line:i,ch:0},i,0):_t.to;if(!u)return;fr(o,u)}return Vt=!0}})}function jr(e){if(typeof e=="number"){if(!ln(e))return null;var t=e;e=hn(e);if(!e)return null}else{var t=P(e);if(t==null)return null}var n=e.gutterMarker;return{line:t,handle:e,text:e.text,markerText:n&&n.text,markerClass:n&&n.style,lineClass:e.className,bgClass:e.bgClassName}}function Fr(e,t){function i(e){return Ir(n,e).left}if(t<=0)return 0;var n=hn(e),r=n.text,s=0,o=0,u=r.length,a,f=Math.min(u,Math.ceil(t/Kr()));for(;;){var l=i(f);if(!(l<=t&&f<u)){a=l,u=f;break}f=Math.min(u,Math.ceil(f*1.2))}if(t>a)return u;f=Math.floor(u*.8),l=i(f),l<t&&(s=f,o=l);for(;;){if(u-s<=1)return a-t>t-o?s:u;var c=Math.ceil((s+u)/2),h=i(c);h>t?(u=c,a=h):(s=c,o=h)}}function Ir(e,t){if(t==0)return{top:0,left:0};var n=s.lineWrapping&&t<e.text.length&&G.test(e.text.slice(t-1,t+1)),r=e.getElement(Nr,t,n);ut(mt,r);var i=r.anchor,o=i.offsetTop,u=i.offsetLeft;if(p&&o==0&&u==0){var a=st("span","x");i.parentNode.insertBefore(a,i.nextSibling),o=a.offsetTop}return{top:o,left:u}}function qr(e,t){var n,r=Vr(),i=r*(B(At,e.line)-(t?Jt:0));if(e.ch==0)n=0;else{var o=Ir(hn(e.line),e.ch);n=o.left,s.lineWrapping&&(i+=Math.max(0,o.top))}return{x:n,y:i,yBot:i+r}}function Rr(e,t){function h(e){var t=Ir(u,e);if(f){var r=Math.round(t.top/n);return c=r!=l,Math.max(0,t.left+(r-l)*St.clientWidth)}return t.left}var n=Vr(),r=Kr(),i=Jt+Math.floor(t/n);if(i<0)return{line:0,ch:0};var o=H(At,i);if(o>=At.size)return{line:At.size-1,ch:hn(At.size-1).text.length};var u=hn(o),a=u.text,f=s.lineWrapping,l=f?i-B(At,o):0;if(e<=0&&l==0)return{line:o,ch:0};var c=!1,p=0,d=0,v=a.length,m,g=Math.min(v,Math.ceil((e+l*St.clientWidth*.9)/r));for(;;){var y=h(g);if(!(y<=e&&g<v)){m=y,v=g;break}g=Math.min(v,Math.ceil(g*1.2))}if(e>m)return{line:o,ch:v};g=Math.floor(v*.8),y=h(g),y<e&&(p=g,d=y);for(;;){if(v-p<=1){var b=e-d<m-e;return{line:o,ch:b?p:v,after:b}}var w=Math.ceil((p+v)/2),E=h(w);E>e?(v=w,m=E,c&&(m+=1e3)):(p=w,d=E)}}function Ur(e){var t=qr(e,!0),n=Z(gt);return{x:n.left+t.x,y:n.top+t.y,yBot:n.top+t.yBot}}function Vr(){if(Xr==null){Xr=st("pre");for(var e=0;e<49;++e)Xr.appendChild(document.createTextNode("x")),Xr.appendChild(st("br"));Xr.appendChild(document.createTextNode("x"))}var t=Q.clientHeight;return t==Wr?zr:(Wr=t,ut(mt,Xr.cloneNode(!0)),zr=mt.firstChild.offsetHeight/50||1,ot(mt),zr)}function Kr(){if(St.clientWidth==Jr)return $r;Jr=St.clientWidth;var e=st("span","x"),t=st("pre",[e]);return ut(mt,t),$r=e.offsetWidth||10}function Qr(){return gt.offsetTop}function Gr(){return gt.offsetLeft}function Yr(e,t){var n=Z(St,!0),r,i;try{r=e.clientX,i=e.clientY}catch(e){return null}if(!t&&(r-n.left>St.clientWidth||i-n.top>St.clientHeight))return null
;var s=Z(gt,!0);return Rr(r-s.left,i-s.top)}function Zr(e){function o(){var e=ht(L.value).join("\n");e!=i&&!s.readOnly&&ci(Rn)(e,"end"),O.style.position="relative",L.style.cssText=r,v&&(R.scrollTop=n),Xt=!1,Kn(!0),Xn()}var t=Yr(e),n=R.scrollTop;if(!t||b)return;(nt(_t.from,_t.to)||rt(t,_t.from)||!rt(t,_t.to))&&ci(cr)(t.line,t.ch);var r=L.style.cssText;O.style.position="absolute",L.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: white; "+"border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",Xt=!0;var i=L.value=Wn();Qn(),tt(L);if(h){U(e);var u=V(window,"mouseup",function(){u(),setTimeout(o,20)},!0)}else setTimeout(o,50)}function ei(){clearInterval(kt);var e=!0;at.style.visibility="",kt=setInterval(function(){at.style.visibility=(e=!e)?"":"hidden"},s.cursorBlinkRate)}function ni(e){function v(e,t,n){if(!e.text)return;var r=e.styles,i=o?0:e.text.length-1,s;for(var a=o?0:r.length-2,f=o?r.length:-2;a!=f;a+=2*u){var l=r[a];if(r[a+1]!=h){i+=u*l.length;continue}for(var c=o?0:l.length-1,v=o?l.length:-1;c!=v;c+=u,i+=u)if(i>=t&&i<n&&d.test(s=l.charAt(c))){var m=ti[s];if(m.charAt(1)==">"==o)p.push(s);else{if(p.pop()!=m.charAt(0))return{pos:i,match:!1};if(!p.length)return{pos:i,match:!0}}}}}var t=_t.inverted?_t.from:_t.to,n=hn(t.line),r=t.ch-1,i=r>=0&&ti[n.text.charAt(r)]||ti[n.text.charAt(++r)];if(!i)return;var s=i.charAt(0),o=i.charAt(1)==">",u=o?1:-1,a=n.styles;for(var f=r+1,l=0,c=a.length;l<c;l+=2)if((f-=a[l].length)<=0){var h=a[l+1];break}var p=[n.text.charAt(r)],d=/[(){}[\]]/;for(var l=t.line,c=o?Math.min(l+100,At.size):Math.max(-1,l-100);l!=c;l+=u){var n=hn(l),m=l==t.line,g=v(n,m&&o?r+1:0,m&&!o?r:n.text.length);if(g)break}g||(g={pos:null,match:!1});var h=g.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",y=Ar({line:t.line,ch:r},{line:t.line,ch:r+1},h),b=g.pos!=null&&Ar({line:l,ch:g.pos},{line:l,ch:g.pos+1},h),w=ci(function(){y.clear(),b&&b.clear()});e?setTimeout(w,800):Yt=w}function ri(e){var t,n;for(var r=e,i=e-40;r>i;--r){if(r==0)return 0;var o=hn(r-1);if(o.stateAfter)return r;var u=o.indentation(s.tabSize);if(n==null||t>u)n=r-1,t=u}return n}function ii(e){var t=ri(e),n=t&&hn(t-1).stateAfter;return n?n=x(Lt,n):n=T(Lt),At.iter(t,e,function(e){e.highlight(Lt,n,s.tabSize),e.stateAfter=x(Lt,n)}),t<e&&Ut.push({from:t,to:e}),e<At.size&&!hn(e).stateAfter&&Ot.push(e),n}function si(e,t){var n=ii(e);At.iter(e,t,function(e){e.highlight(Lt,n,s.tabSize),e.stateAfter=x(Lt,n)})}function oi(){var e=+(new Date)+s.workTime,t=Ot.length;while(Ot.length){if(!hn(Kt).stateAfter)var n=Kt;else var n=Ot.pop();if(n>=At.size)continue;var r=ri(n),i=r&&hn(r-1).stateAfter;i?i=x(Lt,i):i=T(Lt);var o=0,u=Lt.compareStates,a=!1,f=r,l=!1;At.iter(f,At.size,function(t){var r=t.stateAfter;if(+(new Date)>e)return Ot.push(f),ui(s.workDelay),a&&Ut.push({from:n,to:f+1}),l=!0;var c=t.highlight(Lt,i,s.tabSize);c&&(a=!0),t.stateAfter=x(Lt,i);var h=null;if(u){var p=r&&u(r,i);p!=J&&(h=!!p)}h==null&&(c!==!1||!r?o=0:++o>3&&(!Lt.indent||Lt.indent(r,"")==Lt.indent(i,""))&&(h=!0));if(h)return!0;++f});if(l)return;a&&Ut.push({from:n,to:f+1})}t&&s.onHighlightComplete&&s.onHighlightComplete(cn)}function ui(e){if(!Ot.length)return;Ct.set(e,ci(oi))}function ai(){qt=Rt=zt=null,Ut=[],Wt=!1,$t=[]}function fi(){en&&In();if(tn&&!s.lineWrapping){var e=vt.offsetWidth,t=Ir(Zt,Zt.text.length).left;d||(vt.style.left=t+"px",gt.style.minWidth=t+e+"px"),tn=!1}var n,r;if(Wt){var i=Yn();n=er(i.x,i.y,i.x,i.yBot)}if(Ut.length||n&&n.scrollTop!=null)r=nr(Ut,!0,n&&n.scrollTop);r||(Wt&&or(),Vt&&sr()),n&&Gn(),Wt&&ei(),Mt&&!Xt&&(qt===!0||qt!==!1&&Wt)&&Kn(Rt),Wt&&s.matchBrackets&&setTimeout(ci(function(){Yt&&(Yt(),Yt=null),nt(_t.from,_t.to)&&ni(!1)}),20);var o=Wt,u=$t;zt&&s.onChange&&cn&&s.onChange(cn,zt),o&&s.onCursorActivity&&s.onCursorActivity(cn);for(var a=0;a<u.length;++a)u[a](cn);r&&s.onUpdate&&s.onUpdate(cn)}function ci(e){return function(){li++||ai();try{var t=e.apply(this,arguments)}finally{--li||fi()}return t}}function hi(e){on.startCompound();try{return e()}finally{on.endCompound()}}var s={},w=e.defaults;for(var N in w)w.hasOwnProperty(N)&&(s[N]=(i&&i.hasOwnProperty(N)?i:w)[N]);var L=st("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em");L.setAttribute("wrap","off"),L.setAttribute("autocorrect","off"),L.setAttribute("autocapitalize","off");var O=st("div",[L],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),F=st("div",null,"CodeMirror-scrollbar-inner"),R=st("div",[F],"CodeMirror-scrollbar"),Q=st("div"),Y=st("div",null,null,"position: relative; z-index: -1"),at=st("pre"," ","CodeMirror-cursor"),vt=st("pre"," ","CodeMirror-cursor","visibility: hidden"),mt=st("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"),gt=st("div",[mt,at,vt,Y,Q],null,"position: relative; z-index: 0"),yt=st("div",null,"CodeMirror-gutter-text"),bt=st("div",[yt],"CodeMirror-gutter"),wt=st("div",[bt,st("div",[gt],"CodeMirror-lines")],null,"position: relative"),Et=st("div",[wt],null,"position: relative"),St=st("div",[Et],"CodeMirror-scroll");St.setAttribute("tabIndex","-1");var xt=st("div",[O,R,St],"CodeMirror"+(s.lineWrapping?" CodeMirror-wrap":""));r.appendChild?r.appendChild(xt):r(xt),Cr(),kr(),t&&(L.style.width="0px"),g||(St.draggable=!0),gt.style.outline="none",s.tabindex!=null&&(L.tabIndex=s.tabindex),s.autofocus&&Qn(),!s.gutter&&!s.lineNumbers&&(bt.style.display="none"),E&&(O.style.height="1px",O.style.position="absolute"),S?(R.style.zIndex=-2,R.style.visibility="hidden"):d&&(R.style.minWidth="18px");try{Kr()}catch(Tt){throw Tt.message.match(/runtime/i)&&(Tt=new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)")),Tt}var Nt=new $,Ct=new $,kt,Lt,At=new _([new M([new A("")])]),Ot,Mt;Sr();var _t={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},Dt,Pt,Ht,Bt=0,jt,Ft=!1,It=!1,qt,Rt,Ut,zt,Wt,Xt,Vt,$t,Jt=0,Kt=0,Qt=0,Gt=0,Yt,Zt=hn(0),en=!1,tn=!0,nn={},rn=!1,sn=null;ci(function(){dn(s.value||""),qt=!1})();var on=new j;V(St,"mousedown",ci(yn)),V(St,"dblclick",ci(bn)),V(gt,"selectstart",q),h||V(St,"contextmenu",Zr),V(St,"scroll",gn),V(R,"scroll",mn),V(R,"mousedown",function(){Mt&&setTimeout(Qn,0)});var un=V(window,"resize",function(){xt.parentNode?nr(!0):un()},!0);V(L,"keyup",ci(An)),V(L,"input",Vn),V(L,"keydown",ci(kn)),V(L,"keypress",ci(Ln)),V(L,"focus",On),V(L,"blur",Mn),s.dragDrop&&(V(St,"dragstart",En),V(St,"dragenter",an),V(St,"dragover",an),V(St,"drop",ci(wn))),V(St,"paste",function(){Qn(),Vn()}),V(L,"paste",Vn),V(L,"cut",ci(function(){s.readOnly||Rn("")})),E&&V(Et,"mouseup",function(){document.activeElement==L&&L.blur(),Qn()});var fn;try{fn=document.activeElement==L}catch(Tt){}fn||s.autofocus?setTimeout(On,20):Mn();var cn=xt.CodeMirror={getValue:vn,setValue:ci(dn),getSelection:Wn,replaceSelection:ci(Rn),focus:function(){window.focus(),Qn(),On(),Vn()},setOption:function(e,t){var n=s[e];s[e]=t,e=="mode"||e=="indentUnit"?Sr():e=="readOnly"&&t=="nocursor"?(Mn(),L.blur()):e=="readOnly"&&!t?Kn(!0):e=="theme"?Cr():e=="lineWrapping"&&n!=t?ci(Tr)():e=="tabSize"?nr(!0):e=="keyMap"&&kr();if(e=="lineNumbers"||e=="gutter"||e=="firstLineNumber"||e=="theme"||e=="lineNumberFormatter")xr(),nr(!0)},getOption:function(e){return s[e]},undo:ci(Pn),redo:ci(Hn),indentLine:ci(function(e,t){typeof t!="string"&&(t==null?t=s.smartIndent?"smart":"prev":t=t?"add":"subtract"),ln(e)&&Er(e,t)}),indentSelection:ci(wr),historySize:function(){return{undo:on.done.length,redo:on.undone.length}},clearHistory:function(){on=new j},setHistory:function(e){on=new j,on.done=e.done,on.undone=e.undone},getHistory:function(){return on.time=0,{done:on.done.concat([]),undone:on.undone.concat([])}},matchBrackets:ci(function(){ni(!0)}),getTokenAt:ci(function(e){return e=pr(e),hn(e.line).getTokenAt(Lt,ii(e.line),s.tabSize,e.ch)}),getStateAfter:function(e){return e=hr(e==null?At.size-1:e),ii(e+1)},cursorCoords:function(e,t){return e==null&&(e=_t.inverted),this.charCoords(e?_t.from:_t.to,t)},charCoords:function(e,t){return e=pr(e),t=="local"?qr(e,!1):t=="div"?qr(e,!0):Ur(e)},coordsChar:function(e){var t=Z(gt);return Rr(e.x-t.left,e.y-t.top)},markText:ci(Ar),setBookmark:Or,findMarksAt:Mr,setMarker:ci(_r),clearMarker:ci(Dr),setLineClass:ci(Hr),hideLine:ci(function(e){return Br(e,!0)}),showLine:ci(function(e){return Br(e,!1)}),onDeleteLine:function(e,t){if(typeof e=="number"){if(!ln(e))return null;e=hn(e)}return(e.handlers||(e.handlers=[])).push(t),e},lineInfo:jr,getViewport:function(){return{from:Kt,to:Qt}},addWidget:function(e,t,n,r,i){e=qr(pr(e));var s=e.yBot,o=e.x;t.style.position="absolute",Et.appendChild(t);if(r=="over")s=e.y;else if(r=="near"){var u=Math.max(St.offsetHeight,At.height*Vr()),a=Math.max(Et.clientWidth,gt.clientWidth)-Gr();e.yBot+t.offsetHeight>u&&e.y>t.offsetHeight&&(s=e.y-t.offsetHeight),o+t.offsetWidth>a&&(o=a-t.offsetWidth)}t.style.top=s+Qr()+"px",t.style.left=t.style.right="",i=="right"?(o=Et.clientWidth-t.offsetWidth,t.style.right="0px"):(i=="left"?o=0:i=="middle"&&(o=(Et.clientWidth-t.offsetWidth)/2),t.style.left=o+Gr()+"px"),n&&Zn(o,s,o+t.offsetWidth,s+t.offsetHeight)},lineCount:function(){return At.size},clipPos:pr,getCursor:function(e){return e==null&&(e=_t.inverted),it(e?_t.from:_t.to)},somethingSelected:function(){return!nt(_t.from,_t.to)},setCursor:ci(function(e,t,n){t==null&&typeof e.line=="number"?cr(e.line,e.ch,n):cr(e,t,n)}),setSelection:ci(function(e,t,n){(n?ar:fr)(pr(e),pr(t||e))}),getLine:function(e){if(ln(e))return hn(e).text},getLineHandle:function(e){if(ln(e))return hn(e)},setLine:ci(function(e,t){ln(e)&&qn(t,{line:e,ch:0},{line:e,ch:hn(e).text.length})}),removeLine:ci(function(e){ln(e)&&qn("",{line:e,ch:0},pr({line:e+1,ch:0}))}),replaceRange:ci(qn),getRange:function(e,t,n){return zn(pr(e),pr(t),n)},triggerOnKeyDown:ci(kn),execCommand:function(e){return u[e](cn)},moveH:ci(vr),deleteH:ci(mr),moveV:ci(gr),toggleOverwrite:function(){Ft?(Ft=!1,at.className=at.className.replace(" CodeMirror-overwrite","")):(Ft=!0,at.className+=" CodeMirror-overwrite")},posFromIndex:function(e){var t=0,n;return At.iter(0,At.size,function(r){var i=r.text.length+1;if(i>e)return n=e,!0;e-=i,++t}),pr({line:t,ch:n})},indexFromPos:function(e){if(e.line<0||e.ch<0)return 0;var t=e.ch;return At.iter(0,e.line,function(e){t+=e.text.length+1}),t},scrollTo:function(e,t){e!=null&&(St.scrollLeft=e),t!=null&&(R.scrollTop=St.scrollTop=t),nr([])},getScrollInfo:function(){return{x:St.scrollLeft,y:R.scrollTop,height:R.scrollHeight,width:St.scrollWidth}},setSize:function(e,t){function n(e){return e=String(e),/^\d+$/.test(e)?e+"px":e}e!=null&&(xt.style.width=n(e)),t!=null&&(St.style.height=n(t)),cn.refresh()},operation:function(e){return ci(e)()},compoundChange:function(e){return hi(e)},refresh:function(){nr(!0,null,Bt),R.scrollHeight>Bt&&(R.scrollTop=Bt)},getInputField:function(){return L},getWrapperElement:function(){return xt},getScrollerElement:function(){return St},getGutterElement:function(){return bt}},xn,Cn=null,$n="";Lr.prototype.clear=ci(function(){var e=Infinity,t=-Infinity;for(var n=0,r=this.set.length;n<r;++n){var i=this.set[n],s=i.marked;if(!s||!i.parent)continue;var o=P(i);e=Math.min(e,o),t=Math.max(t,o);for(var u=0;u<s.length;++u)s[u].marker==this&&s.splice(u--,1)}e!=Infinity&&Ut.push({from:e,to:t+1})}),Lr.prototype.find=function(){var e,t;for(var n=0,r=this.set.length;n<r;++n){var i=this.set[n],s=i.marked;for(var o=0;o<s.length;++o){var u=s[o];if(u.marker==this)if(u.from!=null||u.to!=null){var a=P(i);a!=null&&(u.from!=null&&(e={line:a,ch:u.from}),u.to!=null&&(t={line:a,ch:u.to}))}}}return{from:e,to:t}};var zr,Wr,Xr,$r,Jr=0,ti={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},li=0;for(var pi in o)o.propertyIsEnumerable(pi)&&!cn.propertyIsEnumerable(pi)&&(cn[pi]=o[pi]);return cn}function f(e){return typeof e=="string"?a[e]:e}function l(e,t,n,r,i){function s(t){t=f(t);var n=t[e];if(n===!1)return i&&i(),!0;if(n!=null&&r(n))return!0;if(t.nofallthrough)return i&&i(),!0;var o=t.fallthrough;if(o==null)return!1;if(Object.prototype.toString.call(o)!="[object Array]")return s(o);for(var u=0,a=o.length;u<a;++u)if(s(o[u]))return!0;return!1}return t&&s(t)?!0:s(n)}function c(e){var t=dt[X(e,"keyCode")];return t=="Ctrl"||t=="Alt"||t=="Shift"||t=="Mod"}function x(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}function T(e,t,n){return e.startState?e.startState(t,n):!0}function N(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8}function C(e,t,n,r){this.from=e,this.to=t,this.style=n,this.marker=r}function k(e){this.from=e,this.to=e,this.line=null}function A(e,t){this.styles=t||[e,null],this.text=e,this.height=1}function O(e,t,n,r){for(var i=0,s=0,o=0;s<t;i+=2){var u=n[i],a=s+u.length;o==0?(a>e&&r.push(u.slice(e-s,Math.min(u.length,t-s)),n[i+1]),a>=e&&(o=1)):o==1&&(a>t?r.push(u.slice(0,t-s),n[i+1]):r.push(u,n[i+1])),s=a}}function M(e){this.lines=e,this.parent=null;for(var t=0,n=e.length,r=0;t<n;++t)e[t].parent=this,r+=e[t].height;this.height=r}function _(e){this.children=e;var t=0,n=0;for(var r=0,i=e.length;r<i;++r){var s=e[r];t+=s.chunkSize(),n+=s.height,s.parent=this}this.size=t,this.height=n,this.parent=null}function D(e,t){while(!e.lines)for(var n=0;;++n){var r=e.children[n],i=r.chunkSize();if(t<i){e=r;break}t-=i}return e.lines[t]}function P(e){if(e.parent==null)return null;var t=e.parent,n=lt(t.lines,e);for(var r=t.parent;r;t=r,r=r.parent)for(var i=0,s=r.children.length;;++i){if(r.children[i]==t)break;n+=r.children[i].chunkSize()}return n}function H(e,t){var n=0;e:do{for(var r=0,i=e.children.length;r<i;++r){var s=e.children[r],o=s.height;if(t<o){e=s;continue e}t-=o,n+=s.chunkSize()}return n}while(!e.lines);for(var r=0,i=e.lines.length;r<i;++r){var u=e.lines[r],a=u.height;if(t<a)break;t-=a}return n+r}function B(e,t){var n=0;e:do{for(var r=0,i=e.children.length;r<i;++r){var s=e.children[r],o=s.chunkSize();if(t<o){e=s;continue e}t-=o,n+=s.height}return n}while(!e.lines);for(var r=0;r<t;++r)n+=e.lines[r].height;return n}function j(){this.time=0,this.done=[],this.undone=[],this.compound=0,this.closed=!1}function F(){U(this)}function I(e){return e.stop||(e.stop=F),e}function q(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function R(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function U(e){q(e),R(e)}function z(e){return e.target||e.srcElement}function W(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),n&&e.ctrlKey&&t==1&&(t=3),t}function X(e,t){var n=e.override&&e.override.hasOwnProperty(t);return n?e.override[t]:e[t]}function V(e,t,n,r){if(typeof e.addEventListener=="function"){e.addEventListener(t,n,!1);if(r)return function(){e.removeEventListener(t,n,!1)}}else{var i=function(e){n(e||window.event)};e.attachEvent("on"+t,i);if(r)return function(){e.detachEvent("on"+t,i)}}}function $(){this.id=null}function Y(e,t,n){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));for(var r=0,i=0;r<t;++r)e.charAt(r)==" "?i+=n-i%n:++i;return i}function Z(e,t){try{var n=e.getBoundingClientRect();n={top:n.top,left:n.left}}catch(r){n={top:0,left:0}}if(!t)if(window.pageYOffset==null){var i=document.documentElement||document.body.parentNode;i.scrollTop==null&&(i=document.body),n.top+=i.scrollTop,n.left+=i.scrollLeft}else n.top+=window.pageYOffset,n.left+=window.pageXOffset;return n}function et(e){return e.textContent||e.innerText||e.nodeValue||""}function tt(e){t?(e.selectionStart=0,e.selectionEnd=e.value.length):e.select()}function nt(e,t){return e.line==t.line&&e.ch==t.ch}function rt(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function it(e){return{line:e.line,ch:e.ch}}function st(e,t,n,r){var i=document.createElement(e);n&&(i.className=n),r&&(i.style.cssText=r);if(typeof t=="string")at(i,t);else if(t)for(var s=0;s<t.length;++s)i.appendChild(t[s]);return i}function ot(e){return e.innerHTML="",e}function ut(e,t){ot(e).appendChild(t)}function at(e,t){v?(e.innerHTML="",e.appendChild(document.createTextNode(t))):e.textContent=t}function ft(e,t){if(!t)return 0;if(!e)return t.length;for(var n=e.length,r=t.length;n>=0&&r>=0;--n,--r)if(e.charAt(n)!=t.charAt(r))break;return r+1}function lt(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;++n)if(e[n]==t)return n;return-1}function ct(e){return/\w/.test(e)||e.toUpperCase()!=e.toLowerCase()}e.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,smartIndent:!0,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,autoClearEmptyLines:!1,onKeyEvent:null,onDragEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,readOnly:!1,dragDrop:!0,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onHighlightComplete:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(e){return e}};var t=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),n=t||/Mac/.test(navigator.platform),r=/Win/.test(navigator.platform),i=e.modes={},s=e.mimeModes={};e.defineMode=function(t,n){!e.defaults.mode&&t!="null"&&(e.defaults.mode=t);if(arguments.length>2){n.dependencies=[];for(var r=2;r<arguments.length;++r)n.dependencies.push(arguments[r])}i[t]=n},e.defineMIME=function(e,t){s[e]=t},e.resolveMode=function(t){if(typeof t=="string"&&s.hasOwnProperty(t))t=s[t];else if(typeof t=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return typeof t=="string"?{name:t}:t||{name:"null"}},e.getMode=function(t,n){var n=e.resolveMode(n),r=i[n.name];return r?r(t,n):e.getMode(t,"text/plain")},e.listModes=function(){var e=[];for(var t in i)i.propertyIsEnumerable(t)&&e.push(t);return e},e.listMIMEs=function(){var e=[];for(var t in s)s.propertyIsEnumerable(t)&&e.push({mime:t,mode:s[t]});return e};var o=e.extensions={};e.defineExtension=function(e,t){o[e]=t};var u=e.commands={selectAll:function(e){e.setSelection({line:0,ch:0},{line:e.lineCount()-1})},killLine:function(e){var t=e.getCursor(!0),n=e.getCursor(!1),r=!nt(t,n);!r&&e.getLine(t.line).length==t.ch?e.replaceRange("",t,{line:t.line+1,ch:0}):e.replaceRange("",t,r?n:{line:t.line})},deleteLine:function(e){var t=e.getCursor().line;e.replaceRange("",{line:t,ch:0},{line:t})},undo:function(e){e.undo()},redo:function(e){e.redo()},goDocStart:function(e){e.setCursor(0,0,!0)},goDocEnd:function(e){e.setSelection({line:e.lineCount()-1},null,!0)},goLineStart:function(e){e.setCursor(e.getCursor().line,0,!0)},goLineStartSmart:function(e){var t=e.getCursor(),n=e.getLine(t.line),r=Math.max(0,n.search(/\S/));e.setCursor(t.line,t.ch<=r&&t.ch?0:r,!0)},goLineEnd:function(e){e.setSelection({line:e.getCursor().line},null,!0)},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")},goWordRight:function(e){e.moveH(1,"word")},delCharLeft:function(e){e.deleteH(-1,"char")},delCharRight:function(e){e.deleteH(1,"char")},delWordLeft:function(e){e.deleteH(-1,"word")},delWordRight:function(e){e.deleteH(1,"word")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection(" ","end")},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.replaceSelection(" ","end")},transposeChars:function(e){var t=e.getCursor(),n=e.getLine(t.line);t.ch>0&&t.ch<n.length-1&&e.replaceRange(n.charAt(t.ch)+n.charAt(t.ch-1),{line:t.line,ch:t.ch-1},{line:t.line,ch:t.ch+1})},newlineAndIndent:function(e){e.replaceSelection("\n","end"),e.indentLine(e.getCursor().line)},toggleOverwrite:function(e){e.toggleOverwrite()}},a=e.keyMap={};a.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},a.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"},a.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore",fallthrough:["basic","emacsy"]},a["default"]=n?a.macDefault:a.pcDefault,a.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageUp","Shift-Ctrl-V":"goPageDown","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},e.fromTextArea=function(t,n){function s(){t.value=a.getValue()}n||(n={}),n.value=t.value,!n.tabindex&&t.tabindex&&(n.tabindex=t.tabindex);if(n.autofocus==null){var r=document.body;try{r=document.activeElement}catch(i){}n.autofocus=r==t||t.getAttribute("autofocus")!=null&&r==document.body}if(t.form){var o=V(t.form,"submit",s,!0);if(typeof t.form.submit=="function"){var u=t.form.submit;t.form.submit=function f(){s(),t.form.submit=u,t.form.submit(),t.form.submit=f}}}t.style.display="none";var a=e(function(e){t.parentNode.insertBefore(e,t.nextSibling)},n);return a.save=s,a.getTextArea=function(){return t},a.toTextArea=function(){s(),t.parentNode.removeChild(a.getWrapperElement()),t.style.display="",t.form&&(o(),typeof t.form.submit=="function"&&(t.form.submit=u))},a};var h=/gecko\/\d{7}/i.test(navigator.userAgent),p=/MSIE \d/.test(navigator.userAgent),d=/MSIE [1-7]\b/.test(navigator.userAgent),v=/MSIE [1-8]\b/.test(navigator.userAgent),m=p&&document.documentMode==5,g=/WebKit\//.test(navigator.userAgent),y=/Chrome\//.test(navigator.userAgent),b=/Opera\//.test(navigator.userAgent),w=/Apple Computer/.test(navigator.vendor),E=/KHTML\//.test(navigator.userAgent),S=/Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent);e.copyState=x,e.startState=T,N.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if(typeof e=="string")var n=t==e;else var n=t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},eatWhile:function(e){var t=this.pos;while(this.eat(e));return this.pos>t},eatSpace:function(){var e=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){return Y(this.string,this.start,this.tabSize)},indentation:function(){return Y(this.string,null,this.tabSize)},match:function(e,t,n){if(typeof e!="string"){var i=this.string.slice(this.pos).match(e);return i&&t!==!1&&(this.pos+=i[0].length),i}var r=function(e){return n?e.toLowerCase():e};if(r(this.string).indexOf(r(e),this.pos)==this.pos)return t!==!1&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)}},e.StringStream=N,C.prototype={attach:function(e){this.marker.set.push(e)},detach:function(e){var t=lt(this.marker.set,e);t>-1&&this.marker.set.splice(t,1)},split:function(e,t){if(this.to<=e&&this.to!=null)return null;var n=this.from<e||this.from==null?null:this.from-e+t,r=this.to==null?null:this.to-e+t;return new C(n,r,this.style,this.marker)},dup:function(){return new C(null,null,this.style,this.marker)},clipTo:function(e,t,n,r,i){e&&r>this.from&&(r<this.to||this.to==null)?this.from=null:this.from!=null&&this.from>=t&&(this.from=Math.max(r,this.from)+i),n&&(t<this.to||this.to==null)&&(t>this.from||this.from==null)?this.to=null:this.to!=null&&this.to>t&&(this.to=r<this.to?this.to+i:t)},isDead:function(){return this.from!=null&&this.to!=null&&this.from>=this.to},sameSet:function(e){return this.marker==e.marker}},k.prototype={attach:function(e){this.line=e},detach:function(e){this.line==e&&(this.line=null)},split:function(e,t){if(e<this.from)return this.from=this.to=this.from-e+t,this},isDead:function(){return this.from>this.to},clipTo:function(e,t,n,r,i){(e||t<this.from)&&(n||r>this.to)?(this.from=0,this.to=-1):this.from>t&&(this.from=this.to=Math.max(r,this.from)+i)},sameSet:function(e){return!1},find:function(){return!this.line||!this.line.parent?null:{line:P(this.line),ch:this.from}},clear:function(){if(this.line){var e=lt(this.line.marked,this);e!=-1&&this.line.marked.splice(e,1),this.line=null}}};var L=" ";h||p&&!d?L="":b&&(L=""),A.inheritMarks=function(e,t){var n=new A(e),r=t&&t.marked;if(r)for(var i=0;i<r.length;++i)if(r[i].to==null&&r[i].style){var s=n.marked||(n.marked=[]),o=r[i],u=o.dup();s.push(u),u.attach(n)}return n},A.prototype={replace:function(e,t,n){var r=[],i=this.marked,s=t==null?this.text.length:t;O(0,e,this.styles,r),n&&r.push(n,null),O(s,this.text.length,this.styles,r),this.styles=r,this.text=this.text.slice(0,e)+n+this.text.slice(s),this.stateAfter=null;if(i){var o=n.length-(s-e);for(var u=0;u<i.length;++u){var a=i[u];a.clipTo(e==null,e||0,t==null,s,o),a.isDead()&&(a.detach(this),i.splice(u--,1))}}},split:function(e,t){var n=[t,null],r=this.marked;O(e,this.text.length,this.styles,n);var i=new A(t+this.text.slice(e),n);if(r)for(var s=0;s<r.length;++s){var o=r[s],u=o.split(e,t.length);u&&(i.marked||(i.marked=[]),i.marked.push(u),u.attach(i),u==o&&r.splice(s--,1))}return i},append:function(e){var t=this.text.length,n=e.marked,r=this.marked;this.text+=e.text,O(0,e.text.length,e.styles,this.styles);if(r)for(var i=0;i<r.length;++i)r[i].to==null&&(r[i].to=t);if(n&&n.length){r||(this.marked=r=[]);e:for(var i=0;i<n.length;++i){var s=n[i];if(!s.from)for(var o=0;o<r.length;++o){var u=r[o];if(u.to==t&&u.sameSet(s)){u.to=s.to==null?null:s.to+t,u.isDead()&&(u.detach(this),n.splice(i--,1));continue e}}r.push(s),s.attach(this),s.from+=t,s.to!=null&&(s.to+=t)}}},fixMarkEnds:function(e){var t=this.marked,n=e.marked;if(!t)return;e:for(var r=0;r<t.length;++r){var i=t[r],s=i.to==null;if(s&&n)for(var o=0;o<n.length;++o){var u=n[o];if(!u.sameSet(i)||u.from!=null)continue;if(i.from==this.text.length&&u.to==0){n.splice(o,1),t.splice(r--,1);continue e}s=!1;break}s&&(i.to=this.text.length)}},fixMarkStarts:function(){var e=this.marked;if(!e)return;for(var t=0;t<e.length;++t)e[t].from==null&&(e[t].from=0)},addMark:function(e){e.attach(this),this.marked==null&&(this.marked=[]),this.marked.push(e),this.marked.sort(function(e,t){return(e.from||0)-(t.from||0)})},highlight:function(e,t,n){var r=new N(this.text,n),i=this.styles,s=0,o=!1,u=i[0],a;this.text==""&&e.blankLine&&e.blankLine(t);while(!r.eol()){var f=e.token(r,t),l=this.text.slice(r.start,r.pos);r.start=r.pos,s&&i[s-1]==f?i[s-2]+=l:l&&(!o&&(i[s+1]!=f||s&&i[s-2]!=a)&&(o=!0),i[s++]=l,i[s++]=f,a=u,u=i[s]);if(r.pos>5e3){i[s++]=this.text.slice(r.pos),i[s++]=null;break}}return i.length!=s&&(i.length=s,o=!0),s&&i[s-2]!=a&&(o=!0),o||(i.length<5&&this.text.length<10?null:!1)},getTokenAt:function(e,t,n,r){var i=this.text,s=new N(i,n);while(s.pos<r&&!s.eol()){s.start=s.pos;var o=e.token(s,t)}return{start:s.start,end:s.pos,string:s.current(),className:o||null,state:t}},indentation:function(e){return Y(this.text,null,e)},getElement:function(e,t,n){function u(t,n,o){if(!n)return;r&&p&&n.charAt(0)==" "&&(n=" "+n.slice(1)),r=!1;if(!s.test(n)){i+=n.length;var u=document.createTextNode(n)}else{var u=document.createDocumentFragment(),a=0;for(;;){s.lastIndex=a;var f=s.exec(n),l=f?f.index-a:n.length-a;l&&(u.appendChild(document.createTextNode(n.slice(a,a+l))),i+=l);if(!f)break;a+=l+1;if(f[0]==" "){var c=e(i);u.appendChild(c.element.cloneNode(!0)),i+=c.width}else{var h=st("span","•","cm-invalidchar");h.title="\\u"+f[0].charCodeAt(0).toString(16),u.appendChild(h),i+=1}}}o?t.appendChild(st("span",[u],o)):t.appendChild(u)}function m(e){return e?"cm-"+e.replace(/ +/g," cm-"):null}var r=!0,i=0,s=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g,o=st("pre"),a=u;if(t!=null){var f=0,l=o.anchor=st("span");a=function(e,r,i){var s=r.length;if(t>=f&&t<f+s){t>f&&(u(e,r.slice(0,t-f),i),n&&e.appendChild(st("wbr"))),e.appendChild(l);var o=t-f;u(l,b?r.slice(o,o+1):r.slice(o),i),b&&u(e,r.slice(o+1),i),t--,f+=s}else f+=s,u(e,r,i),f==t&&f==v?(at(l,L),e.appendChild(l)):f>t+10&&/\s/.test(r)&&(a=function(){})}}var c=this.styles,h=this.text,d=this.marked,v=h.length;if(!h&&t==null)a(o," ");else if(!d||!d.length)for(var g=0,y=0;y<v;g+=2){var w=c[g],E=c[g+1],S=w.length;y+S>v&&(w=w.slice(0,v-y)),y+=S,a(o,w,m(E))}else{var x=0,g=0,T="",E,N=0,C=d[0].from||0,k=[],A=0,O=function(){var e;while(A<d.length&&((e=d[A]).from==x||e.from==null))e.style!=null&&k.push(e),++A;C=A<d.length?d[A].from:Infinity;for(var t=0;t<k.length;++t){var n=k[t].to;n==null&&(n=Infinity),n==x?k.splice(t--,1):C=Math.min(n,C)}},M=0;while(x<v){C==x&&O();var _=Math.min(v,C);for(;;){if(T){var D=x+T.length,P=E;for(var H=0;H<k.length;++H)P=(P?P+" ":"")+k[H].style;a(o,D>_?T.slice(0,_-x):T,P);if(D>=_){T=T.slice(_-x),x=_;break}x=D}T=c[g++],E=m(c[g++])}}}return o},cleanUp:function(){this.parent=null;if(this.marked)for(var e=0,t=this.marked.length;e<t;++e)this.marked[e].detach(this)}},M.prototype={chunkSize:function(){return this.lines.length},remove:function(e,t,n){for(var r=e,i=e+t;r<i;++r){var s=this.lines[r];this.height-=s.height,s.cleanUp();if(s.handlers)for(var o=0;o<s.handlers.length;++o)n.push(s.handlers[o])}this.lines.splice(e,t)},collapse:function(e){e.splice.apply(e,[e.length,0].concat(this.lines))},insertHeight:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0,i=t.length;r<i;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},_.prototype={chunkSize:function(){return this.size},remove:function(e,t,n){this.size-=t;for(var r=0;r<this.children.length;++r){var i=this.children[r],s=i.chunkSize();if(e<s){var o=Math.min(t,s-e),u=i.height;i.remove(e,o,n),this.height-=u-i.height,s==o&&(this.children.splice(r--,1),i.parent=null);if((t-=o)==0)break;e=0}else e-=s}if(this.size-t<25){var a=[];this.collapse(a),this.children=[new M(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0,n=this.children.length;t<n;++t)this.children[t].collapse(e)},insert:function(e,t){var n=0;for(var r=0,i=t.length;r<i;++r)n+=t[r].height;this.insertHeight(e,t,n)},insertHeight:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<=o){s.insertHeight(e,t,n);if(s.lines&&s.lines.length>50){while(s.lines.length>50){var u=s.lines.splice(s.lines.length-25,25),a=new M(u);s.height-=a.height,this.children.splice(r+1,0,a),a.parent=this}this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(this.children.length<=10)return;var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new _(t);if(!e.parent){var r=new _(e.children);r.parent=e,e.children=[r,n],e=r}else{e.size-=n.size,e.height-=n.height;var i=lt(e.parent.children,e);e.parent.children.splice(i+1,0,n)}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()},iter:function(e,t,n){this.iterN(e,t-e,n)},iterN:function(e,t,n){for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<o){var u=Math.min(t,o-e);if(s.iterN(e,u,n))return!0;if((t-=u)==0)break;e=0}else e-=o}}},j.prototype={addChange:function(
e,t,n){this.undone.length=0;var r=+(new Date),i=this.done[this.done.length-1],s=i&&i[i.length-1],o=r-this.time;if(this.compound&&i&&!this.closed)i.push({start:e,added:t,old:n});else if(o>400||!s||this.closed||s.start>e+n.length||s.start+s.added<e)this.done.push([{start:e,added:t,old:n}]),this.closed=!1;else{var u=Math.max(0,s.start-e),a=Math.max(0,e+n.length-(s.start+s.added));for(var f=u;f>0;--f)s.old.unshift(n[f-1]);for(var f=a;f>0;--f)s.old.push(n[n.length-f]);u&&(s.start=e),s.added+=t-(n.length-u-a)}this.time=r},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}},e.e_stop=U,e.e_preventDefault=q,e.e_stopPropagation=R,e.connect=V,$.prototype={set:function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)}};var J=e.Pass={toString:function(){return"CodeMirror.Pass"}},K=function(){if(v)return!1;var e=st("div");return"draggable"in e||"dragDrop"in e}(),Q=function(){var e=st("textarea");return e.value="foo\nbar",e.value.indexOf("\r")>-1?"\r\n":"\n"}(),G=/^$/;h?G=/$'/:w?G=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:y&&(G=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/),e.setTextContent=at;var ht="\n\nb".split(/\n/).length!=3?function(e){var t=0,n=[],r=e.length;while(t<=r){var i=e.indexOf("\n",t);i==-1&&(i=e.length);var s=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),o=s.indexOf("\r");o!=-1?(n.push(s.slice(0,o)),t+=o+1):(n.push(s),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)};e.splitLines=ht;var pt=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0};e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var dt={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};return e.keyNames=dt,function(){for(var e=0;e<10;e++)dt[e+48]=String(e);for(var e=65;e<=90;e++)dt[e]=String.fromCharCode(e);for(var e=1;e<=12;e++)dt[e+111]=dt[e+63235]="F"+e}(),e}(),CodeMirror.defineMode("javascript",function(e,t){function o(e,t,n){return t.tokenize=n,n(e,t)}function u(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function l(e,t,n){return a=e,f=n,t}function c(e,t){var n=e.next();if(n=='"'||n=="'")return o(e,t,h(n));if(/[\[\]{}\(\),;\:\.]/.test(n))return l(n);if(n=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),l("number","number");if(/\d/.test(n)||n=="-"&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),l("number","number");if(n=="/")return e.eat("*")?o(e,t,p):e.eat("/")?(e.skipToEnd(),l("comment","comment")):t.reAllowed?(u(e,"/"),e.eatWhile(/[gimy]/),l("regexp","string-2")):(e.eatWhile(s),l("operator",null,e.current()));if(n=="#")return e.skipToEnd(),l("error","error");if(s.test(n))return e.eatWhile(s),l("operator",null,e.current());e.eatWhile(/[\w\$_]/);var r=e.current(),a=i.propertyIsEnumerable(r)&&i[r];return a&&t.kwAllowed?l(a.type,a.style,r):l("variable","variable",r)}function h(e){return function(t,n){return u(t,e)||(n.tokenize=c),l("string","string")}}function p(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=c;break}n=r=="*"}return l("comment","comment")}function v(e,t,n,r,i,s){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=s,r!=null&&(this.align=r)}function m(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function g(e,t,n,i,s){var o=e.cc;y.state=e,y.stream=s,y.marked=null,y.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():r?A:L;if(u(n,i)){while(o.length&&o[o.length-1].lex)o.pop()();return y.marked?y.marked:n=="variable"&&m(e,i)?"variable-2":t}}}function b(){for(var e=arguments.length-1;e>=0;e--)y.cc.push(arguments[e])}function w(){return b.apply(null,arguments),!0}function E(e){var t=y.state;if(t.context){y.marked="def";for(var n=t.localVars;n;n=n.next)if(n.name==e)return;t.localVars={name:e,next:t.localVars}}}function x(){y.state.context||(y.state.localVars=S),y.state.context={prev:y.state.context,vars:y.state.localVars}}function T(){y.state.localVars=y.state.context.vars,y.state.context=y.state.context.prev}function N(e,t){var n=function(){var n=y.state;n.lexical=new v(n.indented,y.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function C(){var e=y.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function k(e){return function(n){return n==e?w():e==";"?b():w(arguments.callee)}}function L(e){return e=="var"?w(N("vardef"),j,k(";"),C):e=="keyword a"?w(N("form"),A,L,C):e=="keyword b"?w(N("form"),L,C):e=="{"?w(N("}"),B,C):e==";"?w():e=="function"?w(z):e=="for"?w(N("form"),k("("),N(")"),I,k(")"),C,L,C):e=="variable"?w(N("stat"),_):e=="switch"?w(N("form"),A,N("}","switch"),k("{"),B,C,C):e=="case"?w(A,k(":")):e=="default"?w(k(":")):e=="catch"?w(N("form"),x,k("("),W,k(")"),L,C,T):b(N("stat"),A,k(";"),C)}function A(e){return d.hasOwnProperty(e)?w(M):e=="function"?w(z):e=="keyword c"?w(O):e=="("?w(N(")"),O,k(")"),C,M):e=="operator"?w(A):e=="["?w(N("]"),H(A,"]"),C,M):e=="{"?w(N("}"),H(P,"}"),C,M):w()}function O(e){return e.match(/[;\}\)\],]/)?b():b(A)}function M(e,t){if(e=="operator"&&/\+\+|--/.test(t))return w(M);if(e=="operator"&&t=="?")return w(A,k(":"),A);if(e==";")return;if(e=="(")return w(N(")"),H(A,")"),C,M);if(e==".")return w(D,M);if(e=="[")return w(N("]"),A,k("]"),C,M)}function _(e){return e==":"?w(C,L):b(M,k(";"),C)}function D(e){if(e=="variable")return y.marked="property",w()}function P(e){e=="variable"&&(y.marked="property");if(d.hasOwnProperty(e))return w(k(":"),A)}function H(e,t){function n(r){return r==","?w(e,n):r==t?w():w(k(t))}return function(i){return i==t?w():b(e,n)}}function B(e){return e=="}"?w():b(L,B)}function j(e,t){return e=="variable"?(E(t),w(F)):w()}function F(e,t){if(t=="=")return w(A,F);if(e==",")return w(j)}function I(e){return e=="var"?w(j,R):e==";"?b(R):e=="variable"?w(q):b(R)}function q(e,t){return t=="in"?w(A):w(M,R)}function R(e,t){return e==";"?w(U):t=="in"?w(A):w(A,k(";"),U)}function U(e){e!=")"&&w(A)}function z(e,t){if(e=="variable")return E(t),w(z);if(e=="(")return w(N(")"),x,H(W,")"),C,L,T)}function W(e,t){if(e=="variable")return E(t),w()}var n=e.indentUnit,r=t.json,i=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("operator"),s={type:"atom",style:"atom"};return{"if":t,"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":i,"typeof":i,"instanceof":i,"true":s,"false":s,"null":s,"undefined":s,NaN:s,Infinity:s}}(),s=/[+\-*&%=<>!?|]/,a,f,d={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},y={state:null,column:null,marked:null,cc:null},S={name:"this",next:{name:"arguments"}};return C.lex=!0,{startState:function(e){return{tokenize:c,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new v((e||0)-n,0,"block",!1),localVars:t.localVars,context:t.localVars&&{vars:t.localVars},indented:0}},token:function(e,t){e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation());if(e.eatSpace())return null;var n=t.tokenize(e,t);return a=="comment"?n:(t.reAllowed=a=="operator"||a=="keyword c"||!!a.match(/^[\[{}\(,;:]$/),t.kwAllowed=a!=".",g(t,n,a,f,e))},indent:function(e,t){if(e.tokenize!=c)return 0;var r=t&&t.charAt(0),i=e.lexical;i.type=="stat"&&r=="}"&&(i=i.prev);var s=i.type,o=r==s;return s=="vardef"?i.indented+4:s=="form"&&r=="{"?i.indented:s=="stat"||s=="form"?i.indented+n:i.info=="switch"&&!o?i.indented+(/^(?:case|default)\b/.test(t)?n:2*n):i.align?i.column+(o?0:1):i.indented+(o?0:n)},electricChars:":{}"}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.remove().css({top:0,left:0,display:"block"}).appendTo(t?this.$element:document.body),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.css(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).remove()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.remove()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.remove(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!0}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;e("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1).focus(),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.trigger("shown")}):t.$element.trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,e("body").removeClass("modal-open"),this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(function(){e("body").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})})}(window.jQuery),function(e){"use strict";typeof define=="function"&&define.amd?define(["exports"],e):typeof exports!="undefined"?e(exports):e(window.esprima={})}(function(e){"use strict";function m(e,t){if(!e)throw new Error("ASSERT: "+t)}function g(e,t){return u.slice(e,t)}function y(e){return"0123456789".indexOf(e)>=0}function b(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function w(e){return"01234567".indexOf(e)>=0}function E(e){return e===" "||e===" "||e===""||e==="\f"||e===" "||e.charCodeAt(0)>=5760&&" ".indexOf(e)>=0}function S(e){return e==="\n"||e==="\r"||e==="\u2028"||e==="\u2029"}function x(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierStart.test(e)}function T(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierPart.test(e)}function N(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function k(e){return e==="eval"||e==="arguments"}function L(e){var t=!1;switch(e.length){case 2:t=e==="if"||e==="in"||e==="do";break;case 3:t=e==="var"||e==="for"||e==="new"||e==="try";break;case 4:t=e==="this"||e==="else"||e==="case"||e==="void"||e==="with";break;case 5:t=e==="while"||e==="break"||e==="catch"||e==="throw";break;case 6:t=e==="return"||e==="typeof"||e==="delete"||e==="switch";break;case 7:t=e==="default"||e==="finally";break;case 8:t=e==="function"||e==="continue"||e==="debugger";break;case 10:t=e==="instanceof"}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return a&&C(e)?!0:N(e)}function A(){return u[f++]}function O(){var e,t,n;t=!1,n=!1;while(f<h){e=u[f];if(n)e=A(),S(e)&&(n=!1,e==="\r"&&u[f]==="\n"&&++f,++l,c=f);else if(t)S(e)?(e==="\r"&&u[f+1]==="\n"&&++f,++l,++f,c=f,f>=h&&U({},s.UnexpectedToken,"ILLEGAL")):(e=A(),f>=h&&U({},s.UnexpectedToken,"ILLEGAL"),e==="*"&&(e=u[f],e==="/"&&(++f,t=!1)));else if(e==="/"){e=u[f+1];if(e==="/")f+=2,n=!0;else{if(e!=="*")break;f+=2,t=!0,f>=h&&U({},s.UnexpectedToken,"ILLEGAL")}}else if(E(e))++f;else{if(!S(e))break;++f,e==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function M(e){var t,n,r,i=0;n=e==="u"?4:2;for(t=0;t<n;++t){if(!(f<h&&b(u[f])))return"";r=A(),i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(i)}function _(){var e,n,r,i;e=u[f];if(!x(e))return;n=f;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=M("u");if(e){if(e==="\\"||!x(e))return;r=e}else f=i,r="u"}else r=A();while(f<h){e=u[f];if(!T(e))break;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=M("u");if(e){if(e==="\\"||!T(e))return;r+=e}else f=i,r+="u"}else r+=A()}return r.length===1?{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}:L(r)?{type:t.Keyword,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="null"?{type:t.NullLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="true"||r==="false"?{type:t.BooleanLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}}function D(){var e=f,n=u[f],r,i,s;if(n===";"||n==="{"||n==="}")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};if(n===","||n==="("||n===")")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};r=u[f+1];if(n==="."&&!y(r))return{type:t.Punctuator,value:A(),lineNumber:l,lineStart:c,range:[e,f]};i=u[f+2],s=u[f+3];if(n===">"&&r===">"&&i===">"&&s==="=")return f+=4,{type:t.Punctuator,value:">>>=",lineNumber:l,lineStart:c,range:[e,f]};if(n==="="&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"===",lineNumber:l,lineStart:c,range:[e,f]};if(n==="!"&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"!==",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i===">")return f+=3,{type:t.Punctuator,value:">>>",lineNumber:l,lineStart:c,range:[e,f]};if(n==="<"&&r==="<"&&i==="=")return f+=3,{type:t.Punctuator,value:"<<=",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i==="=")return f+=3,{type:t.Punctuator,value:">>=",lineNumber:l,lineStart:c,range:[e,f]};if(r==="="&&"<>=!+-*%&|^/".indexOf(n)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if(n===r&&"+-<>&|".indexOf(n)>=0&&"+-<>&|".indexOf(r)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if("[]<>+-*%&|^!~?:=/".indexOf(n)>=0)return{type:t.Punctuator,value:A(),lineNumber:l,lineStart:c,range:[e,f]}}function P(){var e,n,r;r=u[f],m(y(r)||r===".","Numeric literal must start with a decimal digit or a decimal point"),n=f,e="";if(r!=="."){e=A(),r=u[f];if(e==="0"){if(r==="x"||r==="X"){e+=A();while(f<h){r=u[f];if(!b(r))break;e+=A()}return e.length<=2&&U({},s.UnexpectedToken,"ILLEGAL"),f<h&&(r=u[f],x(r)&&U({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,16),lineNumber:l,lineStart:c,range:[n,f]}}if(w(r)){e+=A();while(f<h){r=u[f];if(!w(r))break;e+=A()}return f<h&&(r=u[f],(x(r)||y(r))&&U({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:l,lineStart:c,range:[n,f]}}y(r)&&U({},s.UnexpectedToken,"ILLEGAL")}while(f<h){r=u[f];if(!y(r))break;e+=A()}}if(r==="."){e+=A();while(f<h){r=u[f];if(!y(r))break;e+=A()}}if(r==="e"||r==="E"){e+=A(),r=u[f];if(r==="+"||r==="-")e+=A();r=u[f];if(y(r)){e+=A();while(f<h){r=u[f];if(!y(r))break;e+=A()}}else r="character "+r,f>=h&&(r="<end>"),U({},s.UnexpectedToken,"ILLEGAL")}return f<h&&(r=u[f],x(r)&&U({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:l,lineStart:c,range:[n,f]}}function H(){var e="",n,r,i,o,a,p,d=!1;n=u[f],m(n==="'"||n==='"',"String literal must starts with a quote"),r=f,++f;while(f<h){i=A();if(i===n){n="";break}if(i==="\\"){i=A();if(!S(i))switch(i){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"u":case"x":p=f,a=M(i),a?e+=a:(f=p,e+=i);break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="";break;default:w(i)?(o="01234567".indexOf(i),o!==0&&(d=!0),f<h&&w(u[f])&&(d=!0,o=o*8+"01234567".indexOf(A()),"0123".indexOf(i)>=0&&f<h&&w(u[f])&&(o=o*8+"01234567".indexOf(A()))),e+=String.fromCharCode(o)):e+=i}else++l,i==="\r"&&u[f]==="\n"&&++f}else{if(S(i))break;e+=i}}return n!==""&&U({},s.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:e,octal:d,lineNumber:l,lineStart:c,range:[r,f]}}function B(){var e="",t,n,r,i,o,a=!1,l,c=!1;p=null,O(),n=f,t=u[f],m(t==="/","Regular expression literal must start with a slash"),e=A();while(f<h){t=A(),e+=t;if(a)t==="]"&&(a=!1);else if(t==="\\")t=A(),S(t)&&U({},s.UnterminatedRegExp),e+=t;else{if(t==="/"){c=!0;break}t==="["?a=!0:S(t)&&U({},s.UnterminatedRegExp)}}c||U({},s.UnterminatedRegExp),r=e.substr(1,e.length-2),i="";while(f<h){t=u[f];if(!T(t))break;++f;if(t==="\\"&&f<h){t=u[f];if(t==="u"){++f,l=f,t=M("u");if(t){i+=t,e+="\\u";for(;l<f;++l)e+=u[l]}else f=l,i+="u",e+="\\u"}else e+="\\"}else i+=t,e+=t}try{o=new RegExp(r,i)}catch(d){U({},s.InvalidRegExp)}return{literal:e,value:o,range:[n,f]}}function j(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}function F(){var e,n;O();if(f>=h)return{type:t.EOF,lineNumber:l,lineStart:c,range:[f,f]};n=D();if(typeof n!="undefined")return n;e=u[f];if(e==="'"||e==='"')return H();if(e==="."||y(e))return P();n=_();if(typeof n!="undefined")return n;U({},s.UnexpectedToken,"ILLEGAL")}function I(){var e;return p?(f=p.range[1],l=p.lineNumber,c=p.lineStart,e=p,p=null,e):(p=null,F())}function q(){var e,t,n;return p!==null?p:(e=f,t=l,n=c,p=F(),f=e,l=t,c=n,p)}function R(){var e,t,n,r;return e=f,t=l,n=c,O(),r=l!==t,f=e,l=t,c=n,r}function U(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return r[t]||""});throw typeof e.lineNumber=="number"?(n=new Error("Line "+e.lineNumber+": "+i),n.index=e.range[0],n.lineNumber=e.lineNumber,n.column=e.range[0]-c+1):(n=new Error("Line "+l+": "+i),n.index=f,n.lineNumber=l,n.column=f-c+1),n}function z(){try{U.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function W(e){e.type===t.EOF&&U(e,s.UnexpectedEOS),e.type===t.NumericLiteral&&U(e,s.UnexpectedNumber),e.type===t.StringLiteral&&U(e,s.UnexpectedString),e.type===t.Identifier&&U(e,s.UnexpectedIdentifier),e.type===t.Keyword&&(N(e.value)?U(e,s.UnexpectedReserved):a&&C(e.value)&&U(e,s.StrictReservedWord),U(e,s.UnexpectedToken,e.value)),U(e,s.UnexpectedToken,e.value)}function X(e){var n=I();(n.type!==t.Punctuator||n.value!==e)&&W(n)}function V(e){var n=I();(n.type!==t.Keyword||n.value!==e)&&W(n)}function $(e){var n=q();return n.type===t.Punctuator&&n.value===e}function J(e){var n=q();return n.type===t.Keyword&&n.value===e}function K(){var e=q(),n=e.value;return e.type!==t.Punctuator?!1:n==="="||n==="*="||n==="/="||n==="%="||n==="+="||n==="-="||n==="<<="||n===">>="||n===">>>="||n==="&="||n==="^="||n==="|="}function Q(){var e,n;if(u[f]===";"){I();return}n=l,O();if(l!==n)return;if($(";")){I();return}e=q(),e.type!==t.EOF&&!$("}")&&W(e);return}function G(e){return e.type===r.Identifier||e.type===r.MemberExpression}function Y(){var e=[];X("[");while(!$("]"))$(",")?(I(),e.push(null)):(e.push(Nt()),$("]")||X(","));return X("]"),{type:r.ArrayExpression,elements:e}}function Z(e,t){var n,i;return n=a,i=Yt(),t&&a&&k(e[0].name)&&U(t,s.StrictParamName),a=n,{type:r.FunctionExpression,id:null,params:e,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function et(){var e=I();return e.type===t.StringLiteral||e.type===t.NumericLiteral?(a&&e.octal&&U(e,s.StrictOctalLiteral),cn(e)):{type:r.Identifier,name:e.value}}function tt(){var e,n,i,s;e=q();if(e.type===t.Identifier)return i=et(),e.value==="get"&&!$(":")?(n=et(),X("("),X(")"),{type:r.Property,key:n,value:Z([]),kind:"get"}):e.value==="set"&&!$(":")?(n=et(),X("("),e=q(),e.type!==t.Identifier&&W(I()),s=[At()],X(")"),{type:r.Property,key:n,value:Z(s,e),kind:"set"}):(X(":"),{type:r.Property,key:i,value:Nt(),kind:"init"});if(e.type!==t.EOF&&e.type!==t.Punctuator)return n=et(),X(":"),{type:r.Property,key:n,value:Nt(),kind:"init"};W(e)}function nt(){var e=[],t,n,o,u={},f=String;X("{");while(!$("}"))t=tt(),t.key.type===r.Identifier?n=t.key.name:n=f(t.key.value),o=t.kind==="init"?i.Data:t.kind==="get"?i.Get:i.Set,Object.prototype.hasOwnProperty.call(u,n)?(u[n]===i.Data?a&&o===i.Data?z({},s.StrictDuplicateProperty):o!==i.Data&&U({},s.AccessorDataProperty):o===i.Data?U({},s.AccessorDataProperty):u[n]&o&&U({},s.AccessorGetSet),u[n]|=o):u[n]=o,e.push(t),$("}")||X(",");return X("}"),{type:r.ObjectExpression,properties:e}}function rt(){var e,n=q(),i=n.type;if(i===t.Identifier)return{type:r.Identifier,name:I().value};if(i===t.StringLiteral||i===t.NumericLiteral)return a&&n.octal&&z(n,s.StrictOctalLiteral),cn(I());if(i===t.Keyword){if(J("this"))return I(),{type:r.ThisExpression};if(J("function"))return en()}return i===t.BooleanLiteral?(I(),n.value=n.value==="true",cn(n)):i===t.NullLiteral?(I(),n.value=null,cn(n)):$("[")?Y():$("{")?nt():$("(")?(I(),d.lastParenthesized=e=Ct(),X(")"),e):$("/")||$("/=")?cn(B()):W(I())}function it(){var e=[];X("(");if(!$(")"))while(f<h){e.push(Nt());if($(")"))break;X(",")}return X(")"),e}function st(){var e=I();return j(e)||W(e),{type:r.Identifier,name:e.value}}function ot(e){return{type:r.MemberExpression,computed:!1,object:e,property:st()}}function ut(e){var t,n;return X("["),t=Ct(),n={type:r.MemberExpression,computed:!0,object:e,property:t},X("]"),n}function at(e){return{type:r.CallExpression,callee:e,arguments:it()}}function ft(){var e;return V("new"),e={type:r.NewExpression,callee:ct(),arguments:[]},$("(")&&(e.arguments=it()),e}function lt(){var e,t;e=J("new"),t=e?ft():rt();while(f<h)if($("."))I(),t=ot(t);else if($("["))t=ut(t);else{if(!$("("))break;t=at(t)}return t}function ct(){var e,t;e=J("new"),t=e?ft():rt();while(f<h)if($("."))I(),t=ot(t);else{if(!$("["))break;t=ut(t)}return t}function ht(){var e=lt();return($("++")||$("--"))&&!R()&&(a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictLHSPostfix),G(e)||U({},s.InvalidLHSInAssignment),e={type:r.UpdateExpression,operator:I().value,argument:e,prefix:!1}),e}function pt(){var e,t;return $("++")||$("--")?(e=I(),t=pt(),a&&t.type===r.Identifier&&k(t.name)&&U({},s.StrictLHSPrefix),G(t)||U({},s.InvalidLHSInAssignment),t={type:r.UpdateExpression,operator:e.value,argument:t,prefix:!0},t):$("+")||$("-")||$("~")||$("!")?(t={type:r.UnaryExpression,operator:I().value,argument:pt()},t):J("delete")||J("void")||J("typeof")?(t={type:r.UnaryExpression,operator:I().value,argument:pt()},a&&t.operator==="delete"&&t.argument.type===r.Identifier&&z({},s.StrictDelete),t):ht()}function dt(){var e=pt();while($("*")||$("/")||$("%"))e={type:r.BinaryExpression,operator:I().value,left:e,right:pt()};return e}function vt(){var e=dt();while($("+")||$("-"))e={type:r.BinaryExpression,operator:I().value,left:e,right:dt()};return e}function mt(){var e=vt();while($("<<")||$(">>")||$(">>>"))e={type:r.BinaryExpression,operator:I().value,left:e,right:vt()};return e}function gt(){var e,t;t=d.allowIn,d.allowIn=!0,e=mt();while($("<")||$(">")||$("<=")||$(">=")||t&&J("in")||J("instanceof"))e={type:r.BinaryExpression,operator:I().value,left:e,right:mt()};return d.allowIn=t,e}function yt(){var e=gt();while($("==")||$("!=")||$("===")||$("!=="))e={type:r.BinaryExpression,operator:I().value,left:e,right:gt()};return e}function bt(){var e=yt();while($("&"))I(),e={type:r.BinaryExpression,operator:"&",left:e,right:yt()};return e}function wt(){var e=bt();while($("^"))I(),e={type:r.BinaryExpression,operator:"^",left:e,right:bt()};return e}function Et(){var e=wt();while($("|"))I(),e={type:r.BinaryExpression,operator:"|",left:e,right:wt()};return e}function St(){var e=Et();while($("&&"))I(),e={type:r.LogicalExpression,operator:"&&",left:e,right:Et()};return e}function xt(){var e=St();while($("||"))I(),e={type:r.LogicalExpression,operator:"||",left:e,right:St()};return e}function Tt(){var e,t,n;return e=xt(),$("?")&&(I(),t=d.allowIn,d.allowIn=!0,n=Nt(),d.allowIn=t,X(":"),e={type:r.ConditionalExpression,test:e,consequent:n,alternate:Nt()}),e}function Nt(){var e;return e=Tt(),K()&&(G(e)||U({},s.InvalidLHSInAssignment),a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictLHSAssignment),e={type:r.AssignmentExpression,operator:I().value,left:e,right:Nt()}),e}function Ct(){var e=Nt();if($(",")){e={type:r.SequenceExpression,expressions:[e]};while(f<h){if(!$(","))break;I(),e.expressions.push(Nt())}}return e}function kt(){var e=[],t;while(f<h){if($("}"))break;t=tn();if(typeof t=="undefined")break;e.push(t)}return e}function Lt(){var e;return X("{"),e=kt(),X("}"),{type:r.BlockStatement,body:e}}function At(){var e=I();return e.type!==t.Identifier&&W(e),{type:r.Identifier,name:e.value}}function Ot(e){var t=At(),n=null;return a&&k(t.name)&&z({},s.StrictVarName),e==="const"?(X("="),n=Nt()):$("=")&&(I(),n=Nt()),{type:r.VariableDeclarator,id:t,init:n}}function Mt(e){var t=[];while(f<h){t.push(Ot(e));if(!$(","))break;I()}return t}function _t(){var e;return V("var"),e=Mt(),Q(),{type:r.VariableDeclaration,declarations:e,kind:"var"}}function Dt(e){var t;return V(e),t=Mt(e),Q(),{type:r.VariableDeclaration,declarations:t,kind:e}}function Pt(){return X(";"),{type:r.EmptyStatement}}function Ht(){var e=Ct();return Q(),{type:r.ExpressionStatement,expression:e}}function Bt(){var e,t,n;return V("if"),X("("),e=Ct(),X(")"),t=Gt(),J("else")?(I(),n=Gt()):n=null,{type:r.IfStatement,test:e,consequent:t,alternate:n}}function jt(){var e,t,n;return V("do"),n=
d.inIteration,d.inIteration=!0,e=Gt(),d.inIteration=n,V("while"),X("("),t=Ct(),X(")"),$(";")&&I(),{type:r.DoWhileStatement,body:e,test:t}}function Ft(){var e,t,n;return V("while"),X("("),e=Ct(),X(")"),n=d.inIteration,d.inIteration=!0,t=Gt(),d.inIteration=n,{type:r.WhileStatement,test:e,body:t}}function It(){var e=I();return{type:r.VariableDeclaration,declarations:Mt(),kind:e.value}}function qt(){var e,t,n,i,o,u,a;return e=t=n=null,V("for"),X("("),$(";")?I():(J("var")||J("let")?(d.allowIn=!1,e=It(),d.allowIn=!0,e.declarations.length===1&&J("in")&&(I(),i=e,o=Ct(),e=null)):(d.allowIn=!1,e=Ct(),d.allowIn=!0,J("in")&&(G(e)||U({},s.InvalidLHSInForIn),I(),i=e,o=Ct(),e=null)),typeof i=="undefined"&&X(";")),typeof i=="undefined"&&($(";")||(t=Ct()),X(";"),$(")")||(n=Ct())),X(")"),a=d.inIteration,d.inIteration=!0,u=Gt(),d.inIteration=a,typeof i=="undefined"?{type:r.ForStatement,init:e,test:t,update:n,body:u}:{type:r.ForInStatement,left:i,right:o,body:u,each:!1}}function Rt(){var e,n=null;return V("continue"),u[f]===";"?(I(),d.inIteration||U({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):R()?(d.inIteration||U({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):(e=q(),e.type===t.Identifier&&(n=At(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||U({},s.UnknownLabel,n.name)),Q(),n===null&&!d.inIteration&&U({},s.IllegalContinue),{type:r.ContinueStatement,label:n})}function Ut(){var e,n=null;return V("break"),u[f]===";"?(I(),!d.inIteration&&!d.inSwitch&&U({},s.IllegalBreak),{type:r.BreakStatement,label:null}):R()?(!d.inIteration&&!d.inSwitch&&U({},s.IllegalBreak),{type:r.BreakStatement,label:null}):(e=q(),e.type===t.Identifier&&(n=At(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||U({},s.UnknownLabel,n.name)),Q(),n===null&&!d.inIteration&&!d.inSwitch&&U({},s.IllegalBreak),{type:r.BreakStatement,label:n})}function zt(){var e,n=null;return V("return"),d.inFunctionBody||z({},s.IllegalReturn),u[f]===" "&&x(u[f+1])?(n=Ct(),Q(),{type:r.ReturnStatement,argument:n}):R()?{type:r.ReturnStatement,argument:null}:($(";")||(e=q(),!$("}")&&e.type!==t.EOF&&(n=Ct())),Q(),{type:r.ReturnStatement,argument:n})}function Wt(){var e,t;return a&&z({},s.StrictModeWith),V("with"),X("("),e=Ct(),X(")"),t=Gt(),{type:r.WithStatement,object:e,body:t}}function Xt(){var e,t=[],n;J("default")?(I(),e=null):(V("case"),e=Ct()),X(":");while(f<h){if($("}")||J("default")||J("case"))break;n=Gt();if(typeof n=="undefined")break;t.push(n)}return{type:r.SwitchCase,test:e,consequent:t}}function Vt(){var e,t,n,i,o;V("switch"),X("("),e=Ct(),X(")"),X("{");if($("}"))return I(),{type:r.SwitchStatement,discriminant:e};t=[],i=d.inSwitch,d.inSwitch=!0,o=!1;while(f<h){if($("}"))break;n=Xt(),n.test===null&&(o&&U({},s.MultipleDefaultsInSwitch),o=!0),t.push(n)}return d.inSwitch=i,X("}"),{type:r.SwitchStatement,discriminant:e,cases:t}}function $t(){var e;return V("throw"),R()&&U({},s.NewlineAfterThrow),e=Ct(),Q(),{type:r.ThrowStatement,argument:e}}function Jt(){var e;return V("catch"),X("("),$(")")||(e=Ct(),a&&e.type===r.Identifier&&k(e.name)&&z({},s.StrictCatchVariable)),X(")"),{type:r.CatchClause,param:e,body:Lt()}}function Kt(){var e,t=[],n=null;return V("try"),e=Lt(),J("catch")&&t.push(Jt()),J("finally")&&(I(),n=Lt()),t.length===0&&!n&&U({},s.NoCatchOrFinally),{type:r.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:n}}function Qt(){return V("debugger"),Q(),{type:r.DebuggerStatement}}function Gt(){var e=q(),n,i;e.type===t.EOF&&W(e);if(e.type===t.Punctuator)switch(e.value){case";":return Pt();case"{":return Lt();case"(":return Ht();default:}if(e.type===t.Keyword)switch(e.value){case"break":return Ut();case"continue":return Rt();case"debugger":return Qt();case"do":return jt();case"for":return qt();case"function":return Zt();case"if":return Bt();case"return":return zt();case"switch":return Vt();case"throw":return $t();case"try":return Kt();case"var":return _t();case"while":return Ft();case"with":return Wt();default:}return n=Ct(),n.type===r.Identifier&&$(":")?(I(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)&&U({},s.Redeclaration,"Label",n.name),d.labelSet[n.name]=!0,i=Gt(),delete d.labelSet[n.name],{type:r.LabeledStatement,label:n,body:i}):(Q(),{type:r.ExpressionStatement,expression:n})}function Yt(){var e,n=[],i,o,u,l,c,p,v;X("{");while(f<h){i=q();if(i.type!==t.StringLiteral)break;e=tn(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}l=d.labelSet,c=d.inIteration,p=d.inSwitch,v=d.inFunctionBody,d.labelSet={},d.inIteration=!1,d.inSwitch=!1,d.inFunctionBody=!0;while(f<h){if($("}"))break;e=tn();if(typeof e=="undefined")break;n.push(e)}return X("}"),d.labelSet=l,d.inIteration=c,d.inSwitch=p,d.inFunctionBody=v,{type:r.BlockStatement,body:n}}function Zt(){var e,t,n=[],i,o,u,l,c,p;V("function"),o=q(),e=At(),a?k(o.value)&&U(o,s.StrictFunctionName):k(o.value)?(u=o,l=s.StrictFunctionName):C(o.value)&&(u=o,l=s.StrictReservedWord),X("(");if(!$(")")){p={};while(f<h){o=q(),t=At(),a?(k(o.value)&&U(o,s.StrictParamName),Object.prototype.hasOwnProperty.call(p,o.value)&&U(o,s.StrictParamDupe)):u||(k(o.value)?(u=o,l=s.StrictParamName):C(o.value)?(u=o,l=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(p,o.value)&&(u=o,l=s.StrictParamDupe)),n.push(t),p[t.name]=!0;if($(")"))break;X(",")}}return X(")"),c=a,i=Yt(),a&&u&&U(u,l),a=c,{type:r.FunctionDeclaration,id:e,params:n,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function en(){var e,t=null,n,i,o,u=[],l,c,p;V("function"),$("(")||(e=q(),t=At(),a?k(e.value)&&U(e,s.StrictFunctionName):k(e.value)?(n=e,i=s.StrictFunctionName):C(e.value)&&(n=e,i=s.StrictReservedWord)),X("(");if(!$(")")){p={};while(f<h){e=q(),o=At(),a?(k(e.value)&&U(e,s.StrictParamName),Object.prototype.hasOwnProperty.call(p,e.value)&&U(e,s.StrictParamDupe)):n||(k(e.value)?(n=e,i=s.StrictParamName):C(e.value)?(n=e,i=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(p,e.value)&&(n=e,i=s.StrictParamDupe)),u.push(o),p[o.name]=!0;if($(")"))break;X(",")}}return X(")"),c=a,l=Yt(),a&&n&&U(n,i),a=c,{type:r.FunctionExpression,id:t,params:u,defaults:[],body:l,rest:null,generator:!1,expression:!1}}function tn(){var e=q();if(e.type===t.Keyword)switch(e.value){case"const":case"let":return Dt(e.value);case"function":return Zt();default:return Gt()}if(e.type!==t.EOF)return Gt()}function nn(){var e,n=[],i,o,u;while(f<h){i=q();if(i.type!==t.StringLiteral)break;e=tn(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}while(f<h){e=tn();if(typeof e=="undefined")break;n.push(e)}return n}function rn(){var e;return a=!1,e={type:r.Program,body:nn()},e}function sn(e,t,n,r,i){m(typeof n=="number","Comment must have valid position");if(v.comments.length>0&&v.comments[v.comments.length-1].range[1]>n)return;v.comments.push({type:e,value:t,range:[n,r],loc:i})}function on(){var e,t,n,r,i,o;e="",i=!1,o=!1;while(f<h){t=u[f];if(o)t=A(),S(t)?(n.end={line:l,column:f-c-1},o=!1,sn("Line",e,r,f-1,n),t==="\r"&&u[f]==="\n"&&++f,++l,c=f,e=""):f>=h?(o=!1,e+=t,n.end={line:l,column:h-c},sn("Line",e,r,h,n)):e+=t;else if(i)S(t)?(t==="\r"&&u[f+1]==="\n"?(++f,e+="\r\n"):e+=t,++l,++f,c=f,f>=h&&U({},s.UnexpectedToken,"ILLEGAL")):(t=A(),f>=h&&U({},s.UnexpectedToken,"ILLEGAL"),e+=t,t==="*"&&(t=u[f],t==="/"&&(e=e.substr(0,e.length-1),i=!1,++f,n.end={line:l,column:f-c},sn("Block",e,r,f,n),e="")));else if(t==="/"){t=u[f+1];if(t==="/")n={start:{line:l,column:f-c}},r=f,f+=2,o=!0,f>=h&&(n.end={line:l,column:f-c},o=!1,sn("Line",e,r,f,n));else{if(t!=="*")break;r=f,f+=2,i=!0,n={start:{line:l,column:f-c-2}},f>=h&&U({},s.UnexpectedToken,"ILLEGAL")}}else if(E(t))++f;else{if(!S(t))break;++f,t==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function un(){var e,t,n,r=[];for(e=0;e<v.comments.length;++e)t=v.comments[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.comments=r}function an(){var e,r,i,s,o;return O(),e=f,r={start:{line:l,column:f-c}},i=v.advance(),r.end={line:l,column:f-c},i.type!==t.EOF&&(s=[i.range[0],i.range[1]],o=g(i.range[0],i.range[1]),v.tokens.push({type:n[i.type],value:o,range:s,loc:r})),i}function fn(){var e,t,n,r;return O(),e=f,t={start:{line:l,column:f-c}},n=v.scanRegExp(),t.end={line:l,column:f-c},v.tokens.length>0&&(r=v.tokens[v.tokens.length-1],r.range[0]===e&&r.type==="Punctuator"&&(r.value==="/"||r.value==="/=")&&v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t}),n}function ln(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)t=v.tokens[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}function cn(e){return{type:r.Literal,value:e.value}}function hn(e){return{type:r.Literal,value:e.value,raw:g(e.range[0],e.range[1])}}function pn(e,t){return function(n){function i(e){return e.type===r.LogicalExpression||e.type===r.BinaryExpression}function s(n){i(n.left)&&s(n.left),i(n.right)&&s(n.right),e&&typeof n.range=="undefined"&&(n.range=[n.left.range[0],n.right.range[1]]),t&&typeof n.loc=="undefined"&&(n.loc={start:n.left.loc.start,end:n.right.loc.end})}return function(){var o,u,a;O(),u=[f,0],a={start:{line:l,column:f-c}},o=n.apply(null,arguments);if(typeof o!="undefined")return e&&typeof o.range=="undefined"&&(u[1]=f,o.range=u),t&&typeof o.loc=="undefined"&&(a.end={line:l,column:f-c},o.loc=a),i(o)&&s(o),o.type===r.MemberExpression&&(typeof o.object.range!="undefined"&&(o.range[0]=o.object.range[0]),typeof o.object.loc!="undefined"&&(o.loc.start=o.object.loc.start)),o.type===r.CallExpression&&(typeof o.callee.range!="undefined"&&(o.range[0]=o.callee.range[0]),typeof o.callee.loc!="undefined"&&(o.loc.start=o.callee.loc.start)),o}}}function dn(){var e;v.comments&&(v.skipComment=O,O=on),v.raw&&(v.createLiteral=cn,cn=hn);if(v.range||v.loc)e=pn(v.range,v.loc),v.parseAdditiveExpression=vt,v.parseAssignmentExpression=Nt,v.parseBitwiseANDExpression=bt,v.parseBitwiseORExpression=Et,v.parseBitwiseXORExpression=wt,v.parseBlock=Lt,v.parseFunctionSourceElements=Yt,v.parseCallMember=at,v.parseCatchClause=Jt,v.parseComputedMember=ut,v.parseConditionalExpression=Tt,v.parseConstLetDeclaration=Dt,v.parseEqualityExpression=yt,v.parseExpression=Ct,v.parseForVariableDeclaration=It,v.parseFunctionDeclaration=Zt,v.parseFunctionExpression=en,v.parseLogicalANDExpression=St,v.parseLogicalORExpression=xt,v.parseMultiplicativeExpression=dt,v.parseNewExpression=ft,v.parseNonComputedMember=ot,v.parseNonComputedProperty=st,v.parseObjectProperty=tt,v.parseObjectPropertyKey=et,v.parsePostfixExpression=ht,v.parsePrimaryExpression=rt,v.parseProgram=rn,v.parsePropertyFunction=Z,v.parseRelationalExpression=gt,v.parseStatement=Gt,v.parseShiftExpression=mt,v.parseSwitchCase=Xt,v.parseUnaryExpression=pt,v.parseVariableDeclaration=Ot,v.parseVariableIdentifier=At,vt=e(v.parseAdditiveExpression),Nt=e(v.parseAssignmentExpression),bt=e(v.parseBitwiseANDExpression),Et=e(v.parseBitwiseORExpression),wt=e(v.parseBitwiseXORExpression),Lt=e(v.parseBlock),Yt=e(v.parseFunctionSourceElements),at=e(v.parseCallMember),Jt=e(v.parseCatchClause),ut=e(v.parseComputedMember),Tt=e(v.parseConditionalExpression),Dt=e(v.parseConstLetDeclaration),yt=e(v.parseEqualityExpression),Ct=e(v.parseExpression),It=e(v.parseForVariableDeclaration),Zt=e(v.parseFunctionDeclaration),en=e(v.parseFunctionExpression),St=e(v.parseLogicalANDExpression),xt=e(v.parseLogicalORExpression),dt=e(v.parseMultiplicativeExpression),ft=e(v.parseNewExpression),ot=e(v.parseNonComputedMember),st=e(v.parseNonComputedProperty),tt=e(v.parseObjectProperty),et=e(v.parseObjectPropertyKey),ht=e(v.parsePostfixExpression),rt=e(v.parsePrimaryExpression),rn=e(v.parseProgram),Z=e(v.parsePropertyFunction),gt=e(v.parseRelationalExpression),Gt=e(v.parseStatement),mt=e(v.parseShiftExpression),Xt=e(v.parseSwitchCase),pt=e(v.parseUnaryExpression),Ot=e(v.parseVariableDeclaration),At=e(v.parseVariableIdentifier);typeof v.tokens!="undefined"&&(v.advance=F,v.scanRegExp=B,F=an,B=fn)}function vn(){typeof v.skipComment=="function"&&(O=v.skipComment),v.raw&&(cn=v.createLiteral);if(v.range||v.loc)vt=v.parseAdditiveExpression,Nt=v.parseAssignmentExpression,bt=v.parseBitwiseANDExpression,Et=v.parseBitwiseORExpression,wt=v.parseBitwiseXORExpression,Lt=v.parseBlock,Yt=v.parseFunctionSourceElements,at=v.parseCallMember,Jt=v.parseCatchClause,ut=v.parseComputedMember,Tt=v.parseConditionalExpression,Dt=v.parseConstLetDeclaration,yt=v.parseEqualityExpression,Ct=v.parseExpression,It=v.parseForVariableDeclaration,Zt=v.parseFunctionDeclaration,en=v.parseFunctionExpression,St=v.parseLogicalANDExpression,xt=v.parseLogicalORExpression,dt=v.parseMultiplicativeExpression,ft=v.parseNewExpression,ot=v.parseNonComputedMember,st=v.parseNonComputedProperty,tt=v.parseObjectProperty,et=v.parseObjectPropertyKey,rt=v.parsePrimaryExpression,ht=v.parsePostfixExpression,rn=v.parseProgram,Z=v.parsePropertyFunction,gt=v.parseRelationalExpression,Gt=v.parseStatement,mt=v.parseShiftExpression,Xt=v.parseSwitchCase,pt=v.parseUnaryExpression,Ot=v.parseVariableDeclaration,At=v.parseVariableIdentifier;typeof v.scanRegExp=="function"&&(F=v.advance,B=v.scanRegExp)}function mn(e){var t=e.length,n=[],r;for(r=0;r<t;++r)n[r]=e.charAt(r);return n}function gn(e,t){var n,r;r=String,typeof e!="string"&&!(e instanceof String)&&(e=r(e)),u=e,f=0,l=u.length>0?1:0,c=0,h=u.length,p=null,d={allowIn:!0,labelSet:{},lastParenthesized:null,inFunctionBody:!1,inIteration:!1,inSwitch:!1},v={},typeof t!="undefined"&&(v.range=typeof t.range=="boolean"&&t.range,v.loc=typeof t.loc=="boolean"&&t.loc,v.raw=typeof t.raw=="boolean"&&t.raw,typeof t.tokens=="boolean"&&t.tokens&&(v.tokens=[]),typeof t.comment=="boolean"&&t.comment&&(v.comments=[]),typeof t.tolerant=="boolean"&&t.tolerant&&(v.errors=[])),h>0&&typeof u[0]=="undefined"&&(e instanceof String&&(u=e.valueOf()),typeof u[0]=="undefined"&&(u=mn(e))),dn();try{n=rn(),typeof v.comments!="undefined"&&(un(),n.comments=v.comments),typeof v.tokens!="undefined"&&(ln(),n.tokens=v.tokens),typeof v.errors!="undefined"&&(n.errors=v.errors)}catch(i){throw i}finally{vn(),v={}}return n}var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},n={},n[t.BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",r={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},s={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},o={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},typeof "esprima"[0]=="undefined"&&(g=function(t,n){return u.slice(t,n).join("")}),e.version="1.0.0-dev",e.parse=gn,e.Syntax=function(){var e,t={};typeof Object.create=="function"&&(t=Object.create(null));for(e in r)r.hasOwnProperty(e)&&(t[e]=r[e]);return typeof Object.freeze=="function"&&Object.freeze(t),t}()}),function(e){function t(t){if(typeof t.data!="string")return;var n=t.handler,r=t.data.toLowerCase().split(" ");t.handler=function(t){if(!(this===t.target||!/textarea|select/i.test(t.target.nodeName)&&t.target.type!=="text"))return;var i=t.type!=="keypress"&&e.hotkeys.specialKeys[t.which],s=String.fromCharCode(t.which).toLowerCase(),o,u="",a={};t.altKey&&i!=="alt"&&(u+="alt+"),t.ctrlKey&&i!=="ctrl"&&(u+="ctrl+"),t.metaKey&&!t.ctrlKey&&i!=="meta"&&(u+="meta+"),t.shiftKey&&i!=="shift"&&(u+="shift+"),i?a[u+i]=!0:(a[u+s]=!0,a[u+e.hotkeys.shiftNums[s]]=!0,u==="shift+"&&(a[e.hotkeys.shiftNums[s]]=!0));for(var f=0,l=r.length;f<l;f++)if(a[r[f]])return n.apply(this,arguments)}}e.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}},e.each(["keydown","keyup","keypress"],function(){e.event.special[this]={add:t}})}(jQuery);var Hogan={};(function(e,t){function n(e,t,n,r){function i(){}function s(){}i.prototype=e,s.prototype=e.subs;var o,u=new i;u.subs=new s,u.subsText={},u.ib();for(o in t)u.subs[o]=t[o],u.subsText[o]=r;for(o in n)u.partials[o]=n[o];return u}function f(e){return String(e===null||e===undefined?"":e)}function l(e){return e=f(e),a.test(e)?e.replace(r,"&").replace(i,"<").replace(s,">").replace(o,"'").replace(u,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r,this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.ib()},e.Template.prototype={r:function(e,t,n){return""},v:l,t:f,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var r=this.partials[e],i=t[r.name];if(r.instance&&r.base==i)return r.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}return i?(this.partials[e].base=i,r.subs&&(i=n(i,r.subs,r.partials,this.text)),this.partials[e].instance=i,i):null},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!c(r)){n(e,t,this);return}for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop()},s:function(e,t,n,r,i,s,o){var u;return c(e)&&e.length===0?!1:(typeof e=="function"&&(e=this.ms(e,t,n,r,i,s,o)),u=e===""||!!e,!r&&u&&t&&t.push(typeof e=="object"?e:t[t.length-1]),u)},d:function(e,t,n,r){var i=e.split("."),s=this.f(i[0],t,n,r),o=null;if(e==="."&&c(t[t.length-2]))s=t[t.length-1];else for(var u=1;u<i.length;u++)s&&typeof s=="object"&&s[i[u]]!=null?(o=s,s=s[i[u]]):s="";return r&&!s?!1:(!r&&typeof s=="function"&&(t.push(o),s=this.mv(s,t,n),t.pop()),s)},f:function(e,t,n,r){var i=!1,s=null,o=!1;for(var u=t.length-1;u>=0;u--){s=t[u];if(s&&typeof s=="object"&&s[e]!=null){i=s[e],o=!0;break}}return o?(!r&&typeof i=="function"&&(i=this.mv(i,t,n)),i):r?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(f(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:t?function(e){this.buf.push(e)}:function(e){this.buf+=e},fl:t?function(){var e=this.buf.join("");return this.buf=[],e}:function(){var e=this.buf;return this.buf="",e},ib:function(){this.buf=t?[]:""},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(f(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var r=/&/g,i=/</g,s=/>/g,o=/\'/g,u=/\"/g,a=/[&<>\"\']/,c=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),jQuery.tablesorter.addParser({id:"size",is:function(e){return e.trim().match(/^\d+(\.\d+)? (Bytes|KB|MB|GB|TB|PB)$/)},format:function(e){var t=["Bytes","KB","MB","GB","TB","PB"],n=e.trim().split(" ");return parseFloat(n.shift())*Math.pow(1024,_.indexOf(t,n.shift()))},type:"numeric"}),window.Genghis={Models:{},Collections:{},Views:{},Templates:{},defaults:{codeMirror:{mode:"application/json",lineNumbers:!0,tabSize:4,indentUnit:4,matchBrackets:!0}},boot:function(e){e+=e.charAt(e.length-1)=="/"?"":"/",window.app=new Genghis.Views.App({baseUrl:e}),Backbone.history.start({pushState:!0,root:e})}},Genghis.version="2.1.6",Genghis.Templates.Alert=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="alert'),r.s(r.f("block",e,t,1),e,t,0,29,41,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" alert-block")}),e.pop()),r.b(" alert-"),r.b(r.v(r.f("level",e,t,0))),r.b('">'),r.b("\n"+n),r.b(' <a class="close" href="#">×</a>'),r.b("\n"+n),r.s(r.f("block",e,t,1),e,t,0,122,148,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <p>"),n.b(n.t(n.f("msg",e,t,0))),n.b("</p>"),n.b("\n")}),e.pop()),r.s(r.f("block",e,t,1),e,t,1,0,0,"")||(r.b(" "),r.b(r.t(r.f("msg",e,t,0))),r.b("\n")),r.b("</div>"),r.fl()}}),Genghis.Templates.CollectionRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="documents value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="indexes has-details value">'),r.b(r.v(r.f("indexCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("indexCount",e,t,0))),r.b(" Index"),r.s(r.f("indexesIsPlural",e,t,1),e,t,0,282,284,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("es")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("indexCount",e,t,1),e,t,0,334,501,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <ul class="index-details">'),r.b("\n"+n),r.s(r.f("indexes",e,t,1),e,t,0,404,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.t(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("indexCount",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b('<td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Collections=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>documents</th>"),r.b("\n"+n),r.b(" <th>indexes</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <button class="show btn">Add collection</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add collection</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.DatabaseRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="collections has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Collection"),r.s(r.f("isPlural",e,t,1),e,t,0,210,211,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,249,520,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,303,357,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,416,471,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="size value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b('<td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b("</td>"),r.fl()}}),Genghis.Templates.Databases=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>collections</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <button class="show btn">Add database</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add database</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Document=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header>"),r.b("\n"+n),r.b(" <h2>"),r.b("\n"+n),r.b(" "),r.b(r.v(r.d("model.prettyId",e,t,0))),r.b("\n"+n),r.s(r.d("model.prettyTime",e,t,1),e,t,0,78,184,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h2>"),r.b("\n"+n),r.b("</header>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.fl()}}),Genghis.Templates.DocumentView=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="well">'),r.b("\n"+n),r.b(' <div class="document-actions">'),r.b("\n"+n),r.b(' <button class="btn btn-small btn-primary save">Save</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small edit">Edit</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small btn-danger destroy">Delete</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h3>"),r.b("\n"+n),r.b(' <a class="id" href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b(r.v(r.f("prettyId",e,t,0))),r.b("</a>"),r.b("\n"+n),r.s(r.f("prettyTime",e,t,1),e,t,0,418,512,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b
(n.v(n.f("prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.f("prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h3>"),r.b("\n"+n),r.b("\n"+n),r.b(' <div class="document"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Documents=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Documents</h2></header>"),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.KeyboardShortcuts=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="keyboard-shortcuts" class="modal">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a href="#" class="close">×</a>'),r.b("\n"+n),r.b(" <h3>Keyboard shortcuts</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Global</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>?</kbd></dt>"),r.b("\n"+n),r.b(" <dd>This cheat sheet</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>s</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go to servers</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>u</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go up one level</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Servers</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New server</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Databases</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New database</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Collections</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New collection</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Documents</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>/</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Search</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New document</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>n</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Next page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>p</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Previous page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b("<!--"),r.b("\n"+n),r.b(" <dt><kbd>-</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Collapse all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>+</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>Alt+1</kbd> – <kbd>Alt+9</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand to depth</dd>"),r.b("\n"+n),r.b("-->"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Masthead=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="container">'),r.b("\n"+n),r.b(" "),r.s(r.f("heading",e,t,1),e,t,0,42,64,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("<h1>"),n.b(n.v(n.f("heading",e,t,0))),n.b("</h1>")}),e.pop()),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("content",e,t,0))),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Nav=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<ul class="nav">'),r.b("\n"+n),r.b(' <li class="nav-section servers"><a class="btn-servers" href="'),r.b(r.v(r.f("baseUrl",e,t,0))),r.b('">Servers</a></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown server"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown database"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown collection"></li>'),r.b("\n"+n),r.b("</ul>"),r.b("\n"),r.fl()}}),Genghis.Templates.NavSection=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<a href="#" class="dropdown-toggle" data-toggle="dropdown">'),r.b(r.v(r.f("id",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b('<ul class="dropdown-menu"></ul>'),r.b("\n"),r.fl()}}),Genghis.Templates.NavSectionMenu=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.d("collection.firstChildren",e,t,1),e,t,0,31,130,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li><a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b("\n"+n),r.b(" "),r.b(r.v(r.f("id",e,t,0))),r.b("\n"+n),r.b(" <span>"),r.b(r.v(r.f("humanCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </a></li>"),r.b("\n")}),e.pop()),r.s(r.d("collection.hasMoreChildren",e,t,1),e,t,0,195,287,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li class="divider"></li>'),r.b("\n"+n),r.b(' <li><a href="'),r.b(r.v(r.d("collection.url",e,t,0))),r.b('">More »</a></li>'),r.b("\n")}),e.pop()),r.fl()}}),Genghis.Templates.NewDocument=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="new-document" class="modal editor">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a class="close" data-dismiss="modal">×</a>'),r.b("\n"+n),r.b(" <h3>New Document</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(' <div class="wrapper">'),r.b("\n"+n),r.b(' <div id="editor-new" class="genghis-document-editor"></div>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="btn cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-primary save">Save</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Pagination=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="pagination pagination-right">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(' <li class="prev'),r.s(r.f("isFirst",e,t,1),e,t,0,82,91,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isFirst",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("prevUrl",e,t,0))),r.b('"')),r.b(">←</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b("\n"+n),r.s(r.f("isStart",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="first"><a href="'),r.b(r.v(r.f("firstUrl",e,t,0))),r.b('">1</a></li>'),r.b("\n"+n),r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n")),r.b("\n"+n),r.b("\n"+n),r.s(r.f("pageUrls",e,t,1),e,t,0,361,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li"),n.s(n.f("active",e,t,1),e,t,0,386,401,"{{ }}")&&(n.rs(e,t,function(e,t,n){n.b(' class="active"')}),e.pop()),n.b('><a href="'),n.b(n.v(n.f("url",e,t,0))),n.b('">'),n.b(n.v(n.f("index",e,t,0))),n.b("</a></li>"),n.b("\n")}),e.pop()),r.b("\n"+n),r.s(r.f("isEnd",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n"+n),r.b(' <li class="last"><a href="'),r.b(r.v(r.f("lastUrl",e,t,0))),r.b('">'),r.b(r.v(r.f("last",e,t,0))),r.b("</a></li>"),r.b("\n")),r.b("\n"+n),r.b(' <li class="next'),r.s(r.f("isLast",e,t,1),e,t,0,663,672,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isLast",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("nextUrl",e,t,0))),r.b('"')),r.b(">→</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Search=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<input id="navbar-query" class="search-query" name="q" type="text" value="'),r.b(r.v(r.f("query",e,t,0))),r.b('" />'),r.b("\n"+n),r.b('<div class="search-advanced">'),r.b("\n"+n),r.b(' <div class="well"></div>'),r.b("\n"+n),r.b(' <div class="form-actions">'),r.b("\n"+n),r.b(' <button class="search btn btn-primary">Search</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<span class="grippie"></span>'),r.b("\n"),r.fl()}}),Genghis.Templates.ServerRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("error",e,t,1),e,t,0,12,167,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <td colspan="3">'),r.b("\n"+n),r.b(' <span class="value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <span class="label label-important" title="'),r.b(r.v(r.f("error",e,t,0))),r.b('">Error</span>'),r.b("\n"+n),r.b(" </td>"),r.b("\n")}),e.pop()),r.s(r.f("error",e,t,1),e,t,1,0,0,"")||(r.b(" <td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="databases has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Database"),r.s(r.f("isPlural",e,t,1),e,t,0,423,424,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,466,773,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,528,590,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,653,716,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="size value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </td>"),r.b("\n")),r.b('<td class="action-column">'),r.b("\n"+n),r.b(" "),r.s(r.f("editable",e,t,1),e,t,0,1026,1089,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b('<button class="btn btn-mini btn-danger destroy">Remove</button>')}),e.pop()),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Servers=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Servers</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>databases</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <span class="input-append">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30"><span class="add-on help" title="user:pass@localhost:27017">?</span>'),r.b("\n"+n),r.b(" </span>"),r.b("\n"+n),r.b(' <button class="show btn">Add server</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add server</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Welcome=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<h2>Welcome to</h2>"),r.b("\n"+n),r.b("<h1>Genghis</h1>"),r.b("\n"+n),r.b("<p>The single-file MongoDB admin app.</p>"),r.b("\n"+n),r.b('<ul class="welcome-links">'),r.b("\n"+n),r.b(' <li><a href="http://genghisapp.com">Homepage</a></li>'),r.b("\n"+n),r.b(' <li><a href="https://github.com/bobthecow/genghis/issues">Issues</a></li>'),r.b("\n"+n),r.b(" <li>Version "),r.b(r.v(r.f("version",e,t,0))),r.b("</li>"),r.b("\n"+n),r.b("</ul>"),r.fl()}}),Genghis.Util={route:function(e){return e.replace(app.baseUrl,"").replace(/^\//,"")},parseQuery:function(e){var t={};return e.length&&_.each(e.split("&"),function(e){var n=e.split("="),r=n.shift();t[r]=decodeURIComponent(n.join("="))}),t},buildQuery:function(e){return _.map(e,function(e,t){return t+"="+e}).join("&")},humanizeSize:function(e){if(e==-0)return"n/a";var t=["Bytes","KB","MB","GB","TB","PB"],n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return(n===0?e/Math.pow(1024,n):(e/Math.pow(1024,n)).toFixed(1))+" "+t[n]},humanizeCount:function(e){var t="";return e=e||0,e>1e3&&(e=Math.floor(e/1e3),t=" k"),e>1e3&&(e=Math.floor(e/1e3),t=" M"),e>1e3?"...":e+t},escape:function(e){if(e)return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},attachCollapsers:function(e){$(".document",e).on("click","button,span.e",function(e){var t=$(this).parent(),n=t.children(".v"),r=/^\s*(name|title)\s*/i,i=n.hasClass("o"),s="",o,u;t.children(".e").length||(i&&(u=$(_.detect(n.find("> span.p > var"),function(e){return r.test($(e).text())})).siblings("span.v"),u.length===0&&(u=$(_.detect(n.find("> span.p > span.v"),function(e){var t=$(e);return t.hasClass("n")||t.hasClass("b")||t.hasClass("q")&&t.text().length<64}))),u&&u.length&&(o=u.siblings("var").text(),s=(o?o+": ":"")+Genghis.Util.escape(u.text()))),t.append('<span class="e">'+(i?"{":"[")+" <q>"+s+" …</q> "+(i?"}":"]")+"</span>")),t.toggleClass("collapsed"),e.preventDefault()})},base64Encode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="";for(var i=0;i<n;i+=3){var s=[e.charCodeAt(i),e.charCodeAt(i+1),e.charCodeAt(i+2)],o=[s[0]>>2,(s[0]&3)<<4|s[1]>>4,(s[1]&15)<<2|s[2]>>6,s[2]&63];isNaN(s[1])&&(o[2]=64),isNaN(s[2])&&(o[3]=64),r+=t[o[0]]+t[o[1]]+t[o[2]]+t[o[3]]}return r},base64Decode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="",i,s,o,u,a,f,l;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var c=0;while(c<n)u=t.indexOf(e.charAt(c++)),a=t.indexOf(e.charAt(c++)),f=t.indexOf(e.charAt(c++)),l=t.indexOf(e.charAt(c++)),i=u<<2|a>>4,s=(a&15)<<4|f>>2,o=(f&3)<<6|l,r+=String.fromCharCode(i),f!=64&&(r+=String.fromCharCode(s)),l!=64&&(r+=String.fromCharCode(o));return r},base64ToHex:function(e){var t=[],n=atob(e.replace(/[=\s]+$/,"")),r=n.length;for(var i=0;i<r;++i){var s=n.charCodeAt(i).toString(16);t.push(s.length===1?"0"+s:s)}return t.join("")}},Genghis.JSON={parse:function(src){function addError(e,t){t.error||(error=new Error(e),error.loc=t.loc,error.node=t,t.error=error,errors.push(error))}function throwErrors(e){var t=new Error(""+e.length+" parse error"+(e.length===1?"":"s"));throw t.errors=e,t}function replaceCallExpression(src){function ObjectId(e){return{$genghisType:"ObjectId",$value:e?e.toString():null}}function GenghisDate(e){return{$genghisType:"ISODate",$value:e?(new Date(e)).toString():null}}function ISODate(e){if(!e)return new GenghisDate;var t=/(\d{4})-?(\d{2})-?(\d{2})([T ](\d{2})(:?(\d{2})(:?(\d{2}(\.\d+)?))?)?(Z|([+\-])(\d{2}):?(\d{2})?)?)?/,n=t.exec(e);if(!n)throw"Invalid ISO date";var r=parseInt(n[1],10)||1970,i=(parseInt(n[2],10)||1)-1,s=parseInt(n[3],10)||0,o=parseInt(n[5],10)||0,u=parseInt(n[7],10)||0,a=parseFloat(n[9])||0,f=Math.round(a%1*1e3);a-=f/1e3;var l=Date.UTC(r,i,s,o,u,a,f);if(n[11]&&n[11]!="Z"){var c=0;c+=(parseInt(n[13],10)||0)*60*60*1e3,c+=(parseInt(n[14],10)||0)*60*1e3,n[12]=="+"&&(c*=-1),l+=c}return new GenghisDate(l)}function DBRef(e,t){return{$ref:e,$id:t}}function GenghisRegExp(e,t){return{$genghisType:"RegExp",$value:{$pattern:e?e.toString():null,$flags:t?t.toString():null}}}function BinData(e,t){return{$genghisType:"BinData",$value:{$subtype:e,$binary:t}}}return src=src.replace(/^\s*(new\s+)?(Date|RegExp)(\b)/,"$1Genghis$2$3"),JSON.stringify(eval(src))}function replaceRegExpLiteral(e){var t="";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),replaceCallExpression("GenghisRegExp("+JSON.stringify(e.source)+', "'+t+'")')}function insertHelpers(e){function n(t){chunks[e.range[0]]=t;for(var n=e.range[0]+1;n<e.range[1];n++)chunks[n]=""}if(!e.range)return;e.source=function(){return chunks.slice(e.range[0],e.range[1]).join("")};if(e.update&&_.isObject(e.update)){var t=e.update;Object.keys(t).forEach(function(e){n[e]=t[e]}),e.update=n}else e.update=n}function assertType(e,t){t.type!==e&&addError("Expecting "+e+" but found "+t.type,t)}typeof src!="string"&&(src=String(src)),src="var __genghis_json__ = "+src;var opts={loc:!0,raw:!0,tokens:!0,tolerant:!0,range:!0},allowedCalls={ObjectId:!0,Date:!0,ISODate:!0,DBRef:!0,RegExp:!0,BinData:!0},allowedPropertyValues={Literal:!0,ObjectExpression:!0,ArrayExpression:!0,NewExpression:!0,CallExpression:!0,UnaryExpression:!0},errors=[],chunks=src.split(""),ast;try{ast=esprima.parse(src,opts)}catch(e){throwErrors([e])}ast.errors.length&&throwErrors(ast.errors);var node;return node=ast,assertType("Program",node),node=node.body,node.length!==1&&addError("Unexpected statement "+node[1].type,node[1]),node=node[0],assertType("VariableDeclaration",node),node=node.declarations,node.length!==1&&addError("Unexpected variable declarations "+node.length,node[1]),node=node[0],assertType("VariableDeclarator",node),node=node.init,node.type!=="ObjectExpression"&&addError("Expected an object expression, found "+node.type,node),errors.length&&throwErrors(errors),function walk(e){insertHelpers(e),Object.keys(e).forEach(function(t){var n=e[t];if(Array.isArray(n)){var r=[];n.forEach(function(e){e&&typeof e.type=="string"&&walk(e)})}else n&&typeof n.type=="string"&&(insertHelpers(e),walk(n))});switch(e.type){case"NewExpression":case"CallExpression":e.callee&&!allowedCalls[e.callee.name]?addError("Bad call, bro: "+e.callee.name,e):e.update(replaceCallExpression(e.source()));break;case"Property":e.value&&!allowedPropertyValues[e.value.type]&&addError("Unexpected value: "+e.value.source(),e.value);break;case"Identifier":case"ArrayExpression":case"ObjectExpression":case"UnaryExpression":break;case"Literal":_.isRegExp(e.value)&&e.update(replaceRegExpLiteral(e.value));break;default:addError("Unexpected "+e.type,e)}}(node),errors.length&&throwErrors(errors),function(node){var __genghis_json__;return eval("__genghis_json__ = "+node.source()),__genghis_json__}(node)},stringify:function(e,t){return jQuery("<div>"+this.prettyPrint(e,t,!1)+"</div>").text()},prettyPrint:function(e,t,n){function r(e){function d(e,t){return m("SPAN",e,t)}function m(e,t,n){var r=document.createElement(e);return t&&(r.className=t),n&&(typeof n=="string"&&(n=g(n)),r.appendChild(n)),r}function g(e){return document.createTextNode(e)}function y(e){var t=d("v q"),n;return t.appendChild(g('"')),i.lastIndex=0,i.test(e)&&(e=e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),s.test(e)?(n=m("A","s"),n.href=e):n=d("s"),n.appendChild(g(e)),t.appendChild(n),t.appendChild(g('"')),t}function b(e){if(f.test(e)||!a.test(e))e='"'+e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"';return m("VAR",!1,e)}function w(e,t,n){var r=d("call "+n);return r.appendChild(g(e+"(")),_.each(t,function(e,n){r.appendChild(e),n<t.length-1&&r.appendChild(g(", "))}),r.appendChild(g(")")),r}function E(e,t){var r,i,s,o,u=l,a,f,h,p="",v=t[e],S;_.isObject(v)&&typeof v.toJSON=="function"&&(v=v.toJSON(e));switch(typeof v){case"string":return y(v);case"number":return d("v n",isFinite(v)?String(v):"null");case"boolean":return d("v b",String(v));case"object":if(_.isNull(v))return d("v z","null");if(Object.hasOwnProperty.call(v,"$genghisType"))switch(v.$genghisType){case"ObjectId":return w("ObjectId",[y(v.$value)],"oid");case"ISODate":return w("ISODate",[y(v.$value)],"date");case"RegExp":var x=v.$value.$pattern,T=v.$value.$flags||"";return d("v re","/"+x+"/"+T);case"BinData":return w("BinData",[d("n",String(v.$value.$subtype)),y(v.$value.$binary)],"bindata")}l+=c;if(_.isArray(v)){if(v.length===0)return l=u,d("v a","[]");f=d("v a"),n&&l&&(f.collapsible=!0,v.length>10&&(f.collapsed=!0)),f.appendChild(g(l?"[\n"+l:"[")),p=g(l?",\n"+l:","),o=v.length;for(r=0;r<o;r+=1)r>0&&f.appendChild(p.cloneNode(!1)),f.appendChild(E(r,v)||d("v z","null"));return f.appendChild(g(l?"\n"+u+"]":"]")),l=u,f}a=[];var N=g(l?": ":":");for(i in v)if(Object.hasOwnProperty.call(v,i)){s=E(i,v);if(s){S="p"+(s.collapsed?" collapsed":"");if(i=="$ref"||i=="$id"||i=="$db")S=S+" ref-"+i.substr(1);h=d(S),s.collapsible&&h.appendChild(m("button")),h.appendChild(b(i)),h.appendChild(N.cloneNode(!1)),h.appendChild(s),s.collapsed&&(child=d("e"),child.appendChild(g("[ ")),child.appendChild(m("Q",!1,g(" …"))),child.appendChild(g(" ]")),h.appendChild(child)),a.push(h)}}S="v o";if(a.length===0)return d(S,g("{}"));v.$ref&&v.$id&&(S+=" ref"),f=d(S),f.collapsible=!!n,f.appendChild(g(l?"{\n"+l:"{")),p=g(l?",\n"+l:","),o=a.length;for(r=0;r<a.length;r++)r>0&&f.appendChild(p.cloneNode(!0)),f.appendChild(a[r]);return f.appendChild(g(l?"\n"+u+"}":"}")),l=u,f}}var r=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,s=/^https?:\/\/[^\s]+$/,o="$A-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",u="0-9̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ംഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏ᦰ-ᧀᧈᧉ᧐-᧙ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᷀-ᷦ᷼-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-꣄꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︦︳︴﹍-﹏0-9_",a=RegExp("^["+o+"]["+o+u+"]*$"),f=/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/,l="",c=t===!1?"":" ",h={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},p={"&":"&",'"':""","<":"<",">":">"};return l="",v=E("_",{_:e}).innerHTML,v}return n=n!==!1,r(e)},normalize:function(e,t){return Genghis.JSON.stringify(Genghis.JSON.parse(e),t)}},Genghis.Collections.BaseCollection=Backbone.Collection.extend({firstChildren:function(){return this.collection.toArray().slice(0,10)},hasMoreChildren:function(){return this.collection.length>10}}),Genghis.Models.BaseModel=Backbone.Model.extend({name:function(){return this.get("name")},count:function(){return this.get("count")},humanCount:function(){return Genghis.Util.humanizeCount(this.get("count")||0)},isPlural:function(){return this.get("count")!==1},humanSize:function(){return Genghis.Util.humanizeSize(this.get("size"))},hasMoreChildren:function(){return this.get("count")>15}}),Genghis.Views.BaseDocument=Backbone.View.extend({errorMarkers:[],clearErrors:function(){var e=this.editor;this.getErrorBlock().html(""),_.each(this.errorMarkers,function(t){e.clearMarker(t)}),this.errorMarkers=[]},getEditorValue:function(){this.clearErrors();var e=this.getErrorBlock(),t=this.editor,n=this.errorMarkers;try{return Genghis.JSON.parse(t.getValue())}catch(r){_.each(r.errors||[r],function(r){var i=r.message;r.lineNumber&&!/Line \d+/i.test(i)&&(i="Line "+r.lineNumber+": "+r.message);var s=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:i,block:!0})});e.append(s.render().el),r.lineNumber&&n.push(t.setMarker(r.lineNumber-1,null,"line-error"))})}return!1}}),Genghis.Views.BaseRow=Backbone.View.extend({tagName:"tr",events:{"click a.name":"navigate","click button.destroy":"destroy"},initialize:function(){_.bindAll(this,"render","navigate","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return $(this.el).html(this.template.render(this.model)).toggleClass("error",!!this.model.get("error")).find(".label[title]").tooltip({placement:"bottom"}),this.$(".has-details").popover({html:!0,content:function(){return $(this).siblings(".details").html()},title:function(){return $(this).siblings(".details").attr("title")},trigger:"manual"}).hoverIntent(function(){$(this).popover("show")},function(){$(this).popover("hide")}),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},remove:function(){$(this.el).remove()},isParanoid:!1,destroy:function(){var e=this.model,t=e.has("name")?e.get("name"):"";if(this.isParanoid){if(!t)throw"Unable to confirm destruction without a confirmation string.";apprise("<strong>Deleting is forever.</strong><br><br>Type <strong>"+t+"</strong> to continue:",{input:!0,textOk:"Delete "+t+" forever"},function(n){n==t?e.destroy():apprise("<strong>Phew. That was close.</strong><br><br>"+t+" was not deleted.")}),_.defer(function(){var e=$('.appriseOuter button[value="ok"]').attr("disabled",!0);$(".appriseOuter .aTextbox").on("keyup",function(){$(this).val()==t?e.removeAttr("disabled"):e.attr("disabled",!0)})})}else apprise("Really? There is no undo.",{confirm:!0,textOk:this.destroyConfirmButton(t)},function(t){t&&e.destroy()})},destroyConfirmButton:function(e){return"<strong>Yes</strong>, delete "+e+" forever"}}),Genghis.Views.BaseSection=Backbone.View.extend({events:{"click .add-form button.show":"showAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"render","updateTitle","showAddForm","showAddFormIfVisible","submitAddForm","closeAddForm","updateOnKeyup","addModel","addModelAndUpdate","addAll"),this.model&&this.model.bind("change",this.updateTitle),this.collection&&(this.collection.bind("reset",this.render),this.collection.bind("add",this.addModelAndUpdate)),$(document).bind("keyup","c",this.showAddFormIfVisible),this.render()},render:function(){$(this.el).html(this.template.render({title:this.formatTitle(this.model)})),this.addForm=this.$(".add-form"),this.addButton=this.$(".add-form button.add"),this.addInput=this.$(".add-form input"),this.cancelButton=this.$(".add-form button.cancel"),this.addAll(),this.$(".help",this.addForm).tooltip();var e={};return e[this.$("table thead th").length-1]={sorter:!1},this.$("table").tablesorter({headers:e,textExtraction:function(e){return $(".value",e).text()||$(e).text()}}),this.collection.size()&&this.$("table").trigger("sorton",[[[0,0]]]),this},updateTitle:function(){this.$("> header h2").text(this.formatTitle(this.model))},showAddForm:function(){this.addForm.removeClass("inactive"),this.addInput.focus()},showAddFormIfVisible:function(e){$(this.el).is(":visible")&&(e.preventDefault(),this.showAddForm())},submitAddForm:function(){this.collection.create({name:this.addInput.val()}),this.closeAddForm()},closeAddForm:function(){this.addForm.addClass("inactive"),this.addInput.val("")},updateOnKeyup:function(e){e.keyCode==13&&this.submitAddForm(),e.keyCode==27&&this.closeAddForm()},addModel:function(e){var t=new this.rowView({model:e});this.$("table tbody").append(t.render().el)},addModelAndUpdate:function(e){this.addModel(e),this.$("table").trigger("update")},addAll:function(){this.$("table tbody").html(""),this.collection.each(this.addModel),$(this.el).removeClass("spinning")}}),Genghis.Models.Alert=Backbone.Model.extend({defaults:{level:"warning",block:!1}}),Genghis.Models.Collection=Genghis.Models.BaseModel.extend({indexesIsPlural:function(){return this.indexCount()!==1},indexCount:function(){return(this.get("indexes")||[]).length},indexes:function(){return _.map(this.get("indexes"),function(e){return Genghis.JSON.prettyPrint(e.key)})}}),Genghis.Models.Database=Genghis.Models.BaseModel.extend({firstChildren:function(){return _.first(this.get("collections")||[],15)}}),Genghis.Models.Document=Backbone.Model.extend({initialize:function(){_.bindAll(this,"prettyId","prettyTime","prettyPrint","JSONish");var e=this.thunkId(this.get("_id"));e&&(this.id=e)},thunkId:function(e){if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e["$genghisType"]=="ObjectId")return e.$value;if(typeof e!="undefined")return"~"+Genghis.Util.base64Encode(JSON.stringify(e))},parse:function(e){var t=this.thunkId(e._id);return t&&(this.id=t),e},url:function(){var e=function(e){return!e||!e.url?null:_.isFunction(e.url)?e.url():e.url},t=e(this.collection)||this.urlRoot||urlError();return t=t.split("?").shift(),this.isNew()?t:t+(t.charAt(t.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},prettyId:function(){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType"))switch(e.$genghisType){case"ObjectId":return e.$value;case"BinData":if(e["$value"]["$subtype"]==3){var t=/^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/i,n=Genghis.Util.base64ToHex(e.$value.$binary);if(t.test(n))return n.replace(t,"$1-$2-$3-$4-$5")}return e.$value.$binary.replace(/\=+$/,"")}return Genghis.JSON.stringify(e,!1)},prettyTime:function(){if(!this.collection||this.collection.guessCreationTime){if(typeof this._prettyTime=="undefined"){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e.$genghisType==="ObjectId"&&e["$value"].length==24){var t=new Date;t.setTime(parseInt(e.$value.substring(0,8),16)*1e3),this._prettyTime=t.toUTCString()}}return this._prettyTime}},prettyPrint:function(){return Genghis.JSON.prettyPrint(this.toJSON())},JSONish:function(){return Genghis.JSON.stringify(this.toJSON())}}),Genghis.Models.Pagination=Backbone.Model.extend({defaults:{page:1,pages:1,limit:50,count:0,total:0},initialize:function(){_.bindAll(this,"decrementTotal")},decrementTotal:function(){this.set({total:this.get("total")-1,count:this.get("count")-1})}}),Genghis.Models.Selection=Backbone.Model.extend({defaults:{server:null,database:null,collection:null,query:null,page:null},initialize:function(){_.bindAll(this,"select","update","nextPage","previousPage"),this.bind("change",this.update),this.pagination=new Genghis.Models.Pagination,this.servers=new Genghis.Collections.Servers,this.currentServer=new Genghis.Models.Server,this.databases=new Genghis.Collections.Databases,this.currentDatabase=new Genghis.Models.Database,this.collections=new Genghis.Collections.Collections,this.currentCollection=new Genghis.Models.Collection,this.documents=new Genghis.Collections.Documents,this.currentDocument=new Genghis.Models.Document},select:function(e,t,n,r,i,s){this.set({server:e||null,database:t||null,collection:n||null,document:r||null,query:i||null,page:s||null})},update:function(){function f(e,t,n){return n=n||"Please try again.",function(r,i){try{data=JSON.parse(i.responseText)}catch(s){data={}}switch(i.status){case 404:$("section#"+e).hide(),app.showMasthead("404: "+t,"<p>"+n+"</p>",{error:!0});break;default:app.alerts.create({msg:i.status+": "+(data.error||"Unknown error"),level:"error",block:!0})}}}var e=this.get("server"),t=this.get
("database"),n=this.get("collection"),r=this.get("document"),i=this.get("query"),s=this.get("page"),o=app.baseUrl,u={};o+="servers",this.servers.url=o,this.servers.fetch(),e?(o=o+"/"+e,this.currentServer.url=o,this.currentServer.fetch({error:f("databases","Server Not Found")}),o+="/databases",this.databases.url=o,this.databases.fetch()):(this.currentServer.clear(),this.databases.reset()),t?(o=o+"/"+t,this.currentDatabase.url=o,this.currentDatabase.fetch({error:f("collections","Database Not Found")}),o+="/collections",this.collections.url=o,this.collections.fetch()):(this.currentDatabase.clear(),this.collections.reset());if(n){o=o+"/"+n,this.currentCollection.url=o,this.currentCollection.fetch({error:f("documents","Collection Not Found")}),o+="/documents";var a="";if(i||s)i&&(u.q=encodeURIComponent(JSON.stringify(Genghis.JSON.parse(i)))),s&&(u.page=encodeURIComponent(s)),a="?"+Genghis.Util.buildQuery(u);this.documents.url=o+a,this.documents.fetch()}else this.currentCollection.clear(),this.documents.reset();r&&(this.currentDocument.clear({silent:!0}),this.currentDocument.id=r,this.currentDocument.urlRoot=o,this.currentDocument.fetch({error:f("document","Document Not Found","But I’m sure there are plenty of other nice documents out there…")}))},nextPage:function(){return 1+(this.get("page")||1)},previousPage:function(){return Math.max(1,(this.get("page")||1)-1)}}),Genghis.Models.Server=Genghis.Models.BaseModel.extend({editable:function(){return!!this.get("editable")},firstChildren:function(){return _.first(this.get("databases")||[],15)},error:function(){return this.get("error")}}),Genghis.Collections.Alerts=Backbone.Collection.extend({model:Genghis.Models.Alert,initialize:function(){_.bindAll(this,"handleError")},handleError:function(e){if(e.readyState===0)return;try{data=JSON.parse(e.responseText)}catch(t){data={error:e.responseText}}msg=data.error||"<strong>FAIL</strong> An unexpected server error has occurred.",this.add({level:"error",msg:msg,block:!msg.search(/<(p|ul|ol|div)[ >]/)})}}),Genghis.Collections.Collections=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Collection}),Genghis.Collections.Databases=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Database}),Genghis.Collections.Documents=Backbone.Collection.extend({model:Genghis.Models.Document,parse:function(e){return app.selection.pagination.set({page:e.page,pages:e.pages,count:e.documents.length,total:e.count}),this.guessCreationTime=_.all(e.documents,function(e){var t=e._id||null;if(!_.isObject(t)||t.$genghisType!="ObjectId")return!0;if(t.$value.length!=24)return!1;var n=parseInt(t.$value.substring(0,8),16)*1e3;return n>this.start&&n<this.end},{start:1251388342e3,end:(new Date).getTime()+1728e5}),e.documents}}),Genghis.Collections.Servers=Backbone.Collection.extend({model:Genghis.Models.Server,firstChildren:function(){return this.collection.reject(function(e){return e.has("error")}).slice(0,10)},hasMoreChildren:function(){return this.collection.length>10||this.collection.detect(function(e){return e.has("error")})}}),Genghis.Views.Alert=Backbone.View.extend({tagName:"div",template:Genghis.Templates.Alert,events:{"click a.close":"destroy"},initialize:function(){_.bindAll(this,"render","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return $(this.el).html(this.template.render(this.model.toJSON())),this},destroy:function(){this.model.destroy()},remove:function(){$(this.el).remove()}}),Genghis.Views.Alerts=Backbone.View.extend({el:"aside#alerts",initialize:function(){_.bindAll(this,"render","addModel"),this.collection.bind("reset",this.render),this.collection.bind("add",this.addModel)},render:function(){return $(this.el).html(""),this},addModel:function(e){var t=new Genghis.Views.Alert({model:e});$(this.el).append(t.render().el)}}),Genghis.Views.App=Backbone.View.extend({el:"section#genghis",initialize:function(){_.bindAll(this,"showMasthead","removeMasthead","showSection");var e=this.baseUrl=this.options.baseUrl,t=this.selection=new Genghis.Models.Selection,n=this.alerts=new Genghis.Collections.Alerts;this.navView=new Genghis.Views.Nav({model:t,baseUrl:e}),this.alertsView=new Genghis.Views.Alerts({collection:n}),this.keyboardShortcutsView=new Genghis.Views.KeyboardShortcuts,this.serversView=new Genghis.Views.Servers({collection:t.servers}),this.databasesView=new Genghis.Views.Databases({model:t.currentServer,collection:t.databases}),this.collectionsView=new Genghis.Views.Collections({model:t.currentDatabase,collection:t.collections}),this.documentsView=new Genghis.Views.Documents({collection:t.documents,pagination:t.pagination}),this.documentView=new Genghis.Views.Document({model:t.currentDocument});var r=this.router=new Genghis.Router;$(".navbar a.brand").click(function(e){e.preventDefault(),r.navigate("",!0)}),$.getJSON(this.baseUrl+"check-status").error(n.handleError).success(function(e){_.each(e.alerts,function(e){n.add(_.extend({block:!e.msg.search(/<(p|ul|ol|div)[ >]/i)},e))})}),t.change()},showMasthead:function(e,t,n){this.removeMasthead(!0),mastheadView=new Genghis.Views.Masthead(_.extend(n||{},{heading:e,content:t||""}))},removeMasthead:function(e){var t=$("header.masthead");e||(t=t.not(".sticky")),t.remove()},showSection:function(e){this.removeMasthead(),e=="servers"&&this.showWelcome();var t=e?"section-"+(_.isArray(e)?e.join(" section-"):e):"";$("body").removeClass("section-servers section-databases section-collections section-documents section-document").addClass(t).toggleClass("has-section",!!e),this.$("section").hide().filter("#"+(_.isArray(e)?e.join(",#"):e)).addClass("spinning").show(),$(document).scrollTop(0)},showWelcome:_.once(function(){this.showMasthead("",Genghis.Templates.Welcome.render({version:Genghis.version}),{epic:!0,className:"masthead welcome"})})}),Genghis.Views.CollectionRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.CollectionRow,isParanoid:!0}),Genghis.Views.Collections=Genghis.Views.BaseSection.extend({el:"section#collections",template:Genghis.Templates.Collections,rowView:Genghis.Views.CollectionRow,formatTitle:function(e){return e.id?e.id+" Collections":"Collections"}}),Genghis.Views.DatabaseRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.DatabaseRow,isParanoid:!0}),Genghis.Views.Databases=Genghis.Views.BaseSection.extend({el:"section#databases",template:Genghis.Templates.Databases,rowView:Genghis.Views.DatabaseRow,formatTitle:function(e){return e.id?e.id+" Databases":"Databases"}}),Genghis.Views.Document=Backbone.View.extend({el:"section#document",template:Genghis.Templates.Document,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e=new Genghis.Views.DocumentView({model:this.model});return $(this.el).removeClass("spinning").html(this.template.render({model:this.model})),this.$(".content").html(e.render().el),this}}),Genghis.Views.DocumentView=Genghis.Views.BaseDocument.extend({tagName:"article",template:Genghis.Templates.DocumentView,events:{"click a.id":"navigate","click button.edit":"openEditDialog","click button.save":"saveDocument","click button.cancel":"cancelEdit","click button.destroy":"destroy","click .ref .ref-ref .v .s":"navigateColl","click .ref .ref-db .v .s":"navigateDb","click .ref .ref-id .v .s, .ref .ref-id .v.n":"navigateId"},initialize:function(){_.bindAll(this,"render","updateDocument","navigate","openEditDialog","cancelEdit","saveDocument","destroy","remove","navigateColl","navigateDb","navigateId"),this.model.bind("change",this.updateDocument),this.model.bind("destroy",this.remove)},render:function(){return $(this.el).html(this.template.render(this.model)),Genghis.Util.attachCollapsers(this.el),setTimeout(this.updateDocument,1),this},updateDocument:function(){this.$(".document").html("").append(this.model.prettyPrint()).show()},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateDb:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text();app.router.redirectToDatabase(app.selection.currentServer.id,n)},navigateColl:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text();app.router.redirectToCollection(app.selection.currentServer.id,n,r)},navigateId:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text()||app.selection.currentCollection.id,i=t.find(".ref-id .v .s, .ref-id .v.n").text();app.router.redirectToDocument(app.selection.currentServer.id,n,r,i)},openEditDialog:function(){var e=this.$(".well"),t=Math.max(180,Math.min(600,e.height()+40)),n="editor-"+this.model.id.replace("~","-"),r=$('<textarea id="'+n+'"></textarea>').text(this.model.JSONish()).appendTo(e);this.$(".document").hide();var i=$(this.el).addClass("edit");this.editor=CodeMirror.fromTextArea(r[0],_.extend(Genghis.defaults.codeMirror,{onFocus:function(){i.addClass("focused")},onBlur:function(){i.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),this.editor.setSize(null,t),setTimeout(this.editor.focus,50),r.resize(_.throttle(this.editor.refresh,100))},cancelEdit:function(){$(this.el).removeClass("edit focused"),this.editor.toTextArea(),$("textarea",this.el).remove(),this.updateDocument(),this.$(".well").height("auto")},getErrorBlock:function(){var e=this.$("div.errors");return e.length===0&&(e=$('<div class="errors"></div>').prependTo(this.el)),e},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;this.model.clear({silent:!0}),this.model.set(e),this.model.save(),this.cancelEdit()},destroy:function(){var e=this.model;apprise("Really? There is no undo.",{confirm:!0,textCancel:"Cancel",textOk:"<strong>Yes</strong>, delete document forever"},function(t){if(t){var n=app.selection;e.destroy(),n.pagination.decrementTotal(),n.get("document")&&app.router.redirectTo(n.get("server"),n.get("database"),n.get("collection"),null,n.get("query"))}})},remove:function(){$(this.el).remove()}}),Genghis.Views.Documents=Backbone.View.extend({el:"section#documents",template:Genghis.Templates.Documents,events:{"click button.add-document":"createDocument"},initialize:function(){_.bindAll(this,"render","addAll","addDocument","createDocument","createDocumentIfVisible"),this.pagination=this.options.pagination,this.collection.bind("reset",this.addAll,this),this.collection.bind("add",this.addDocument,this),$(document).bind("keyup","c",this.createDocumentIfVisible),this.render()},render:function(){return $(this.el).html(this.template.render({})),this.headerView=new Genghis.Views.DocumentsHeader({model:this.pagination}),this.newDocumentView=new Genghis.Views.NewDocument({collection:this.collection}),this.paginationView=new Genghis.Views.Pagination({el:this.$(".pagination-wrapper"),model:this.pagination,collection:this.collection}),this.addAll(),this},addAll:function(){this.$(".content").html(""),this.collection.each(this.addDocument),$(this.el).removeClass("spinning")},addDocument:function(e){var t=new Genghis.Views.DocumentView({model:e});this.$(".content").append(t.render().el)},createDocument:function(){this.newDocumentView.show()},createDocumentIfVisible:function(e){$(this.el).is(":visible")&&(e.preventDefault(),this.createDocument())}}),Genghis.Views.DocumentsHeader=Backbone.View.extend({el:"section#documents > header h2",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e,t=this.model.get("count"),n=this.model.get("page"),r=this.model.get("pages"),i=this.model.get("limit"),s=this.model.get("total");e=""+s+" Document"+(s!=1?"s":"");if(s!=t){var o=(n-1)*i+1,u=Math.min((n-1)*i+t,s);e=""+o+" - "+u+" of "+e}return $(this.el).html(e),this}}),Genghis.Views.KeyboardShortcuts=Backbone.View.extend({tagName:"div",template:Genghis.Templates.KeyboardShortcuts,events:{"click a.close":"hide"},initialize:function(){_.bindAll(this,"render","show","hide","toggle"),$(document).bind("keyup","shift+/",this.toggle),$("footer a.keyboard-shortcuts").click(this.show),this.render()},render:function(){return $(this.el).html(this.template.render()).modal({backdrop:!0,keyboard:!0,show:!1}),this},show:function(e){e.preventDefault(),$(this.el).modal("show")},hide:function(e){e.preventDefault(),$(this.el).modal("hide")},toggle:function(){$(this.el).modal("toggle")}}),Genghis.Views.Masthead=Backbone.View.extend({tagName:"header",attributes:{"class":"masthead"},template:Genghis.Templates.Masthead,initialize:function(){this.heading=this.options.heading,this.content=this.options.content||"",this.error=this.options.error||!1,this.epic=this.options.epic||!1,this.sticky=this.options.sticky||!1,this.render()},render:function(){return this.$el.html(this.template.render({heading:this.heading,content:this.content})).toggleClass("error",this.error).toggleClass("epic",this.epic).toggleClass("sticky",this.sticky).insertAfter("header.navbar"),this}}),Genghis.Views.Nav=Backbone.View.extend({el:".navbar nav",template:Genghis.Templates.Nav,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","navigate","navigateToServers","navigateUp"),this.baseUrl=this.options.baseUrl,this.model.bind("change",this.updateQuery),$("body").bind("click",function(e){$(".dropdown-toggle, .menu").parent("li").removeClass("open")}),$(document).bind("keyup","s",this.navigateToServers),$(document).bind("keyup","u",this.navigateUp),this.render()},render:function(){return $(this.el).html(this.template.render({baseUrl:this.baseUrl})),this.serverNavView=new Genghis.Views.NavSection({el:$("li.server",this.el),model:this.model.currentServer,collection:this.model.servers}),this.databaseNavView=new Genghis.Views.NavSection({el:$("li.database",this.el),model:this.model.currentDatabase,collection:this.model.databases}),this.collectionNavView=new Genghis.Views.NavSection({el:$("li.collection",this.el),model:this.model.currentCollection,collection:this.model.collections}),this.searchView=new Genghis.Views.Search({model:this.model}),$(this.el).append(this.searchView.render().el),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateToServers:function(e){e.preventDefault(),app.router.redirectToIndex()},navigateUp:function(e){e.preventDefault(),app.router.redirectTo(this.model.has("database")&&this.model.get("server"),this.model.has("collection")&&this.model.get("database"),(this.model.has("document")||this.model.has("query"))&&this.model.get("collection"))}}),Genghis.Views.NavSection=Backbone.View.extend({template:Genghis.Templates.NavSection,menuTemplate:Genghis.Templates.NavSectionMenu,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.updateLink,this),this.collection.bind("reset",this.renderMenu,this),this.render()},render:function(){return $(this.el).html(this.template.render(this.model)),this.$(".dropdown-toggle").hoverIntent(function(e){$(e.target).parent("li").addClass("open").siblings("li").removeClass("open")},$.noop),this},updateLink:function(){this.$("a.dropdown-toggle").text(this.model.id?this.model.id:"").attr("href",this.model.id?this.model.url:"")},renderMenu:function(){this.$("ul.dropdown-menu").html(this.menuTemplate.render({model:this.model,collection:this.collection})),this.$("ul.dropdown-menu a span").each(function(e,t){var n=$(t),r=n.text().length;r>3&&n.parent().css("padding-right",""+(r+.5)+"em")})}}),Genghis.Views.NewDocument=Genghis.Views.BaseDocument.extend({el:"#new-document",template:Genghis.Templates.NewDocument,initialize:function(){_.bindAll(this,"render","show","refreshEditor","closeModal","cancelEdit","saveDocument"),this.render()},render:function(){var e;return this.el=$(this.template.render()).hide().appendTo("body"),this.modal=this.el.modal({backdrop:"static",show:!1,keyboard:!1}),e=$(".wrapper",this.el),this.editor=CodeMirror.fromTextArea($("#editor-new",this.el)[0],_.extend(Genghis.defaults.codeMirror,{onFocus:function(){e.addClass("focused")},onBlur:function(){e.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),$(window).resize(_.throttle(this.refreshEditor,100)),this.modal.bind("hide",this.cancelEdit),this.modal.bind("shown",this.refreshEditor),this.modal.find("button.cancel").bind("click",this.closeModal),this.modal.find("button.save").bind("click",this.saveDocument),this},show:function(){this.editor.setValue("{\n \n}\n"),this.editor.setCursor({line:1,ch:4}),this.modal.css({marginTop:-10-this.el.height()/2+"px"}).modal("show")},refreshEditor:function(){this.editor.refresh(),this.editor.focus()},closeModal:function(e){this.modal.modal("hide")},cancelEdit:function(e){this.editor.setValue("")},getErrorBlock:function(){var e=$("div.errors",this.el);return e.length===0&&(e=$('<div class="errors"></div>').prependTo($(".modal-body",this.el))),e},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;var t=this.closeModal;this.collection.create(e,{wait:!0,success:function(e){t(),app.router.navigate(Genghis.Util.route(e.url()),!0)}})}}),Genghis.Views.Pagination=Backbone.View.extend({template:Genghis.Templates.Pagination,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","urlTemplate","navigate","nextPage","prevPage"),this.model.bind("change",this.render),$(document).bind("keyup","n",this.nextPage),$(document).bind("keyup","p",this.prevPage)},render:function(){if(this.model.get("pages")==1)$(this.el).hide();else{var e=9,t=Math.ceil(e/2),n=this.model.get("page"),r=this.model.get("pages"),i=n>t?Math.max(n-(t-3),1):1,s=r-n>t?Math.min(n+(t-3),r):r,o=s==r?Math.max(r-(e-3),1):i,u=i==1?Math.min(o+(e-3),r):s;u>=r-2&&(u=r),o<=3&&(o=1);var a=this.urlTemplate;$(this.el).html(this.template.render({page:n,last:r,firstUrl:a(1),prevUrl:a(Math.max(1,n-1)),nextUrl:a(Math.min(n+1,r)),lastUrl:a(r),pageUrls:_.range(o,u+1).map(function(e){return{index:e,url:a(e),active:e===n}}),isFirst:n===1,isStart:o===1,isEnd:u>=r,isLast:n===r})).show()}return this},urlTemplate:function(e){var t=this.collection.url,n=t.split("?"),r=n.shift(),i=Genghis.Util.parseQuery(n.join("?")),s={page:e};return i.q&&(s.q=encodeURIComponent(app.selection.get("query"))),r+"?"+Genghis.Util.buildQuery(_.extend(i,s))},navigate:function(e){e.preventDefault();var t=$(e.target).attr("href");t&&app.router.navigate(Genghis.Util.route(t),!0)},nextPage:function(e){$(this.el).is(":visible")&&(e.preventDefault(),this.$("li.next a[href]").click())},prevPage:function(e){$(this.el).is(":visible")&&(e.preventDefault(),this.$("li.prev a[href]").click())}}),Genghis.Views.Search=Backbone.View.extend({tagName:"form",className:"navbar-search form-search",template:Genghis.Templates.Search,events:{"keyup input#navbar-query":"handleSearchKeyup","click span.grippie":"toggleExpanded","dragmove span.grippie":"handleGrippieDrag","click button.cancel":"collapseSearch","click button.search":"findDocumentsAdvanced"},initialize:function(){_.bindAll(this,"render","updateQuery","handleSearchKeyup","findDocuments","findDocumentsAdvanced","focusSearch","blurSearch","advancedSearchToQuery","queryToAdvancedSearch","expandSearch","collapseSearch","collapseNoFocus","toggleExpanded","handleGrippieDrag"),this.model.bind("change",this.updateQuery),this.model.bind("change:collection",this.collapseNoFocus)},render:function(){$(this.el).html(this.template.render({query:this.model.get("query")})),$(this.el).submit(function(e){e.preventDefault()}),$(document).bind("keydown","/",this.focusSearch);var e=$(this.el),t=e.find(".well"),n=this.expandSearch,r=this.collapseSearch;return $(".grippie",this.el).bind("mousedown",function(t){function o(t){var o=t.clientY+document.documentElement.scrollTop-e.offset().top;return o>=i&&o<=s&&e.height(o+"px"),e.hasClass("expanded")?o<i&&r():o>100&&n(),!1}function u(t){$(document).unbind("mousemove",o).unbind("mouseup",u),e.hasClass("expanded")||r(),t.preventDefault()}t.preventDefault();var i=30,s=Math.min($(window).height()/2,350);$(document).mousemove(o).mouseup(u)}),this},updateQuery:function(){var e=this.normalizeQuery(this.model.get("query")||this.getDocumentQuery()||"");this.$("input#navbar-query").val(e)},getDocumentQuery:function(){var e=this.model.get("document");return typeof e=="string"&&e[0]==="~"&&(e=Genghis.JSON.normalize('{"_id":'+Genghis.Util.base64Decode(e.substr(1))+"}")),e},handleSearchKeyup:function(e){e.keyCode==13?(e.preventDefault(),this.findDocuments($(e.target).val())):e.keyCode==27&&this.blurSearch()},findDocuments:function(e){var t=Genghis.Util.route(this.model.currentCollection.url+"/documents");e=e.trim(),e.match(/^([a-z\d]+)$/i)?t=t+"/"+e:t=t+"?"+Genghis.Util.buildQuery({q:encodeURIComponent(Genghis.JSON.normalize(e,!1))}),app.router.navigate(t,!0)},findDocumentsAdvanced:function(e){this.findDocuments(this.editor.getValue()),this.collapseSearch()},focusSearch:function(e){this.$("input#navbar-query").is(":visible")?(e&&e.preventDefault(),this.$("input#navbar-query").focus()):this.editor&&this.$(".well").is(":visible")&&(e&&e.preventDefault(),this.editor.focus())},blurSearch:function(){this.$("input#navbar-query").blur(),this.updateQuery()},normalizeQuery:function(e){e=e.trim();if(e!=="")try{e=Genghis.JSON.normalize(e,!1)}catch(t){}return e.replace(/^\{\s*\}$/,"").replace(/^\{\s*(['"]?)_id\1\s*:\s*\{\s*(['"]?)\$id\2\s*:\s*(["'])([a-z\d]+)\3\s*\}\s*\}$/,"$4").replace(/^\{\s*(['"]?)_id\1\s*:\s*(new\s+)?ObjectId\s*\(\s*(["'])([a-z\d]+)\3\s*\)\s*\}$/,"$4")},advancedSearchToQuery:function(){this.$("input#navbar-query").val(this.normalizeQuery(this.editor.getValue()))},queryToAdvancedSearch:function(){var e=this.$("input#navbar-query").val().trim();e.match(/^[a-z\d]+$/i)&&(e='{_id:ObjectId("'+e+'")}');if(e!=="")try{e=Genghis.JSON.normalize(e,!0)}catch(t){}this.editor.setValue(e)},expandSearch:function(e){if(!this.editor){var t=$(".search-advanced",this.el);this.editor=CodeMirror($(".well",this.el)[0],_.extend(Genghis.defaults.codeMirror,{lineNumbers:!1,onFocus:function(){t.addClass("focused")},onBlur:function(){t.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.findDocumentsAdvanced,"Cmd-Enter":this.findDocumentsAdvanced,Esc:this.findDocumentsAdvanced},onChange:this.advancedSearchToQuery}))}this.queryToAdvancedSearch(),$(this.el).addClass("expanded");var n=this.editor,r=this.focusSearch;_.defer(function(){n.refresh(),r()})},collapseSearch:function(){this.collapseNoFocus(),this.focusSearch()},collapseNoFocus:function(){$(this.el).removeClass("expanded").css("height","auto")},toggleExpanded:function(){$(this.el).hasClass("expanded")?this.collapseSearch():(this.expandSearch(),$(this.el).height(Math.floor($(window).height()/4)+"px"))},handleGrippieDrag:function(e){console.log(e)}}),Genghis.Views.ServerRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.ServerRow,destroyConfirmButton:function(e){return"<strong>Yes</strong>, remove "+e+" from server list"}}),Genghis.Views.Servers=Genghis.Views.BaseSection.extend({el:"section#servers",template:Genghis.Templates.Servers,rowView:Genghis.Views.ServerRow,updateTitle:function(){},formatTitle:function(){return"Servers"}}),Genghis.Router=Backbone.Router.extend({routes:{"":"index",servers:"redirectToIndex","servers/:server":"server","servers/:server/databases":"redirectToServer","servers/:server/databases/:database":"database","servers/:server/databases/:database/collections":"redirectToDatabase","servers/:server/databases/:database/collections/:collection?*query":"redirectToCollectionQuery","servers/:server/databases/:database/collections/:collection":"collection","servers/:server/databases/:database/collections/:collection/documents":"redirectToCollection","servers/:server/databases/:database/collections/:collection/documents?*query":"collectionQuery","servers/:server/databases/:database/collections/:collection/documents/:documentId":"document","*path":"notFound"},index:function(){document.title="Genghis",app.selection.select(),app.showSection("servers")},redirectToIndex:function(){this.navigate("",!0)},server:function(e){document.title=this.buildTitle(e),app.selection.select(e),app.showSection("databases")},redirectToServer:function(e){this.navigate("servers/"+e,!0)},database:function(e,t){document.title=this.buildTitle(e,t),app.selection.select(e,t),app.showSection("collections")},redirectToDatabase:function(e,t){this.navigate("servers/"+e+"/databases/"+t,!0)},collection:function(e,t,n){document.title=this.buildTitle(e,t,n),app.selection.select(e,t,n),app.showSection("documents")},redirectToCollection:function(e,t,n){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n,!0)},redirectToCollectionQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+r,!0)},collectionQuery:function(e,t,n,r){document.title=this.buildTitle(e,t,n,"Query results");var i=Genghis.Util.parseQuery(r);app.selection.select(e,t,n,null,i.q,i.page),app.showSection("documents")},redirectToQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+Genghis.Util.buildQuery({q:encodeURIComponent(r)}),!0)},document:function(e,t,n,r){document.title=this.buildTitle(e,t,n,decodeURIComponent(r)),app.selection.select(e,t,n,decodeURIComponent(r)),app.showSection("document")},redirectToDocument:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents/"+r,!0)},redirectTo:function(e,t,n,r,i){return e?t?n?!r&&!i?this.redirectToCollection(e,t,n):i?this.redirectToQuery(e,t,n,i):this.redirectToDocument(e,t,n,r):this.redirectToDatabase(e,t):this.redirectToServer(e):this.redirectToIndex()},notFound:function(e){if(e.replace(/(^\/|\/$)/g,"")==app.baseUrl.replace(/(^\/|\/$)/g,""))return this.redirectToIndex();document.title=this.buildTitle("404: Not Found"),app.showSection(),app.showMasthead("404: Not Found","<p>If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again.</p>",{error:!0,epic:!0})},buildTitle:function(){var e=Array.prototype.slice.call(arguments);return e.length?"Genghis — "+e.join(" › "):"Genghis"}});