sequenceserver 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sequenceserver might be problematic. Click here for more details.
- data/lib/sequenceserver.rb +1 -0
- data/{public → lib/sequenceserver/web_blast/public}/favicon.ico +0 -0
- data/lib/sequenceserver/web_blast/public/js/sequenceserver.sequence-viewer.js +83 -0
- data/sequenceserver.gemspec +1 -1
- metadata +72 -116
- data/lib/sequenceserver/options.rb +0 -132
- data/public/js/bootstrap-typeahead.js +0 -298
- data/public/js/yaml.js +0 -24
data/lib/sequenceserver.rb
CHANGED
@@ -283,6 +283,7 @@ module SequenceServer
|
|
283
283
|
databases = params[:databases].map{|index|
|
284
284
|
settings.databases[index].name
|
285
285
|
}
|
286
|
+
advanced_opts << " -num_threads #{settings.num_threads}"
|
286
287
|
|
287
288
|
# run blast and log
|
288
289
|
blast = Blast.new(method, sequence, databases.join(' '), advanced_opts)
|
File without changes
|
@@ -0,0 +1,83 @@
|
|
1
|
+
/*global SS*/
|
2
|
+
|
3
|
+
/*
|
4
|
+
Sequence viewer: given URL of a sequence, use Bootstrap Modal to load that
|
5
|
+
sequence from the server and present it to the users.
|
6
|
+
*/
|
7
|
+
SS.sequence_viewer = (function () {
|
8
|
+
|
9
|
+
var sequence_viewer = $('#sequence-viewer').modal({ show: false });
|
10
|
+
|
11
|
+
var _object = {};
|
12
|
+
|
13
|
+
_object.download_link = function (value) {
|
14
|
+
|
15
|
+
var element = sequence_viewer.find('#download_link');
|
16
|
+
|
17
|
+
if (value) {
|
18
|
+
element.attr('href', value);
|
19
|
+
return this;
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
return element;
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
_object.sequences = function (value) {
|
27
|
+
|
28
|
+
var element = sequence_viewer.find('#sequences');
|
29
|
+
|
30
|
+
if (value) {
|
31
|
+
element.html(value);
|
32
|
+
return this;
|
33
|
+
}
|
34
|
+
else {
|
35
|
+
return element;
|
36
|
+
}
|
37
|
+
};
|
38
|
+
|
39
|
+
_object.show = function () {
|
40
|
+
|
41
|
+
sequence_viewer.modal('show');
|
42
|
+
};
|
43
|
+
|
44
|
+
_object.dismiss = function () {
|
45
|
+
|
46
|
+
sequence_viewer.modal('hide');
|
47
|
+
};
|
48
|
+
|
49
|
+
_object.render = function (sequence, download_link) {
|
50
|
+
|
51
|
+
this.sequence(sequence);
|
52
|
+
this.download_link(download_link);
|
53
|
+
this.show();
|
54
|
+
};
|
55
|
+
|
56
|
+
_object.load = function (sequence) {
|
57
|
+
var url = sequence.attr('href');
|
58
|
+
var ddl = sequence.attr('data-download');
|
59
|
+
|
60
|
+
var render = $.proxy(_object, render);
|
61
|
+
$.get(url)
|
62
|
+
.done(function (sequence) {
|
63
|
+
render(sequence, ddl);
|
64
|
+
})
|
65
|
+
.failure(function (jqXHR) {
|
66
|
+
if (!jqXHR.responseText) {
|
67
|
+
$("#error-no-response").modal();
|
68
|
+
}
|
69
|
+
});
|
70
|
+
};
|
71
|
+
|
72
|
+
return function () {
|
73
|
+
function F() {}
|
74
|
+
F.protoype = _object;
|
75
|
+
return new F();
|
76
|
+
};
|
77
|
+
}());
|
78
|
+
|
79
|
+
//sequence_viewer.download_link().on('click', function (event) {
|
80
|
+
//this.dismiss();
|
81
|
+
//return true;
|
82
|
+
//});
|
83
|
+
|
data/sequenceserver.gemspec
CHANGED
metadata
CHANGED
@@ -1,108 +1,83 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequenceserver
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.8.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 8
|
9
|
-
- 0
|
10
|
-
version: 0.8.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Anurag Priyam
|
14
9
|
- Ben J Woodcroft
|
15
10
|
- Yannick Wurm
|
16
11
|
autorequire:
|
17
12
|
bindir: bin
|
18
13
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
dependencies:
|
23
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
date: 2012-08-31 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
24
17
|
name: bundler
|
25
|
-
|
26
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirement: &12914680 !ruby/object:Gem::Requirement
|
27
19
|
none: false
|
28
|
-
requirements:
|
29
|
-
- -
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
|
32
|
-
segments:
|
33
|
-
- 0
|
34
|
-
version: "0"
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
35
24
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: sinatra
|
39
25
|
prerelease: false
|
40
|
-
|
26
|
+
version_requirements: *12914680
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sinatra
|
29
|
+
requirement: &12914000 !ruby/object:Gem::Requirement
|
41
30
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 31
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 2
|
49
|
-
- 0
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
50
34
|
version: 1.2.0
|
51
35
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: ptools
|
55
36
|
prerelease: false
|
56
|
-
|
37
|
+
version_requirements: *12914000
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: ptools
|
40
|
+
requirement: &12913520 !ruby/object:Gem::Requirement
|
57
41
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
version: "0"
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
65
46
|
type: :runtime
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: minitest
|
69
47
|
prerelease: false
|
70
|
-
|
48
|
+
version_requirements: *12913520
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: minitest
|
51
|
+
requirement: &12912540 !ruby/object:Gem::Requirement
|
71
52
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
segments:
|
77
|
-
- 0
|
78
|
-
version: "0"
|
53
|
+
requirements:
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
79
57
|
type: :development
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: rack-test
|
83
58
|
prerelease: false
|
84
|
-
|
59
|
+
version_requirements: *12912540
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: rack-test
|
62
|
+
requirement: &12911100 !ruby/object:Gem::Requirement
|
85
63
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
segments:
|
91
|
-
- 0
|
92
|
-
version: "0"
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
93
68
|
type: :development
|
94
|
-
|
95
|
-
|
96
|
-
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: *12911100
|
71
|
+
description: ! 'SequenceServer lets you rapidly set up a BLAST+ server with an intuitive
|
72
|
+
user interface for use locally or over the web.
|
97
73
|
|
74
|
+
'
|
98
75
|
email: anurag08priyam@gmail.com
|
99
|
-
executables:
|
76
|
+
executables:
|
100
77
|
- sequenceserver
|
101
78
|
extensions: []
|
102
|
-
|
103
79
|
extra_rdoc_files: []
|
104
|
-
|
105
|
-
files:
|
80
|
+
files:
|
106
81
|
- lib/sequenceserver.rb
|
107
82
|
- lib/sequenceserver/database_formatter.rb
|
108
83
|
- lib/sequenceserver/sequencehelpers.rb
|
@@ -110,14 +85,14 @@ files:
|
|
110
85
|
- lib/sequenceserver/helpers.rb
|
111
86
|
- lib/sequenceserver/sinatralikeloggerformatter.rb
|
112
87
|
- lib/sequenceserver/blast.rb
|
88
|
+
- lib/sequenceserver/web_blast/public/favicon.ico
|
89
|
+
- lib/sequenceserver/web_blast/public/js/sequenceserver.sequence-viewer.js
|
113
90
|
- lib/sequenceserver/database.rb
|
114
|
-
- lib/sequenceserver/options.rb
|
115
91
|
- views/search.erb
|
116
92
|
- views/500.erb
|
117
93
|
- views/_options.erb
|
118
94
|
- public/img/glyphicons-halflings-white.png
|
119
95
|
- public/img/glyphicons-halflings.png
|
120
|
-
- public/favicon.ico
|
121
96
|
- public/css/bootstrap.icons.css
|
122
97
|
- public/css/bootstrap.modal.css
|
123
98
|
- public/css/bootstrap.min.css
|
@@ -127,12 +102,10 @@ files:
|
|
127
102
|
- public/js/jquery.enablePlaceholder.min.js
|
128
103
|
- public/js/bootstrap.transition.js
|
129
104
|
- public/js/jquery.ui.js
|
130
|
-
- public/js/yaml.js
|
131
105
|
- public/js/bootstrap.modal.js
|
132
106
|
- public/js/bootstrap.dropdown.js
|
133
107
|
- public/js/jquery.index.js
|
134
108
|
- public/js/store.min.js
|
135
|
-
- public/js/bootstrap-typeahead.js
|
136
109
|
- public/js/sequenceserver.js
|
137
110
|
- public/js/jquery.activity.js
|
138
111
|
- public/js/sequenceserver.blast.js
|
@@ -156,52 +129,35 @@ files:
|
|
156
129
|
- README.txt
|
157
130
|
- Gemfile
|
158
131
|
- sequenceserver.gemspec
|
159
|
-
-
|
160
|
-
|
132
|
+
- !binary |-
|
133
|
+
YmluL3NlcXVlbmNlc2VydmVy
|
161
134
|
homepage: http://sequenceserver.com
|
162
|
-
licenses:
|
135
|
+
licenses:
|
163
136
|
- SequenceServer (custom)
|
164
|
-
post_install_message:
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
To launch SequenceServer execute 'sequenceserver' from command line.
|
170
|
-
|
171
|
-
$ sequenceserver
|
172
|
-
|
173
|
-
|
174
|
-
Visit http://sequenceserver.com for more.
|
175
|
-
------------------------------------------------------------------------
|
176
|
-
|
137
|
+
post_install_message: ! "\n------------------------------------------------------------------------\n
|
138
|
+
\ Thank you for installing SequenceServer :)!\n\n To launch SequenceServer execute
|
139
|
+
'sequenceserver' from command line.\n\n $ sequenceserver\n\n\n Visit http://sequenceserver.com
|
140
|
+
for more.\n------------------------------------------------------------------------\n\n"
|
177
141
|
rdoc_options: []
|
178
|
-
|
179
|
-
require_paths:
|
142
|
+
require_paths:
|
180
143
|
- lib
|
181
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
182
145
|
none: false
|
183
|
-
requirements:
|
184
|
-
- -
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
|
187
|
-
|
188
|
-
- 0
|
189
|
-
version: "0"
|
190
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
151
|
none: false
|
192
|
-
requirements:
|
193
|
-
- -
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
|
196
|
-
segments:
|
197
|
-
- 0
|
198
|
-
version: "0"
|
152
|
+
requirements:
|
153
|
+
- - ! '>='
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
199
156
|
requirements: []
|
200
|
-
|
201
157
|
rubyforge_project:
|
202
|
-
rubygems_version: 1.
|
158
|
+
rubygems_version: 1.8.11
|
203
159
|
signing_key:
|
204
160
|
specification_version: 3
|
205
161
|
summary: BLAST search made easy!
|
206
162
|
test_files: []
|
207
|
-
|
163
|
+
has_rdoc:
|
@@ -1,132 +0,0 @@
|
|
1
|
-
require 'open3'
|
2
|
-
|
3
|
-
module SequenceServer
|
4
|
-
module CLIOptions
|
5
|
-
|
6
|
-
extend self
|
7
|
-
|
8
|
-
# A Hash of all possible options.
|
9
|
-
attr_reader :options
|
10
|
-
|
11
|
-
# An Array of options that are banned by SequenceServer.
|
12
|
-
attr_reader :banned
|
13
|
-
|
14
|
-
#OPTSPEC = %x|#{SequenceServer::App.binaries[:blastp]} -help|
|
15
|
-
OPTSPEC = %x|blastp -help|
|
16
|
-
|
17
|
-
# Add a new option to the table of options.
|
18
|
-
def add(name, description, requires = [], incompatible_with = [])
|
19
|
-
name = name.to_sym
|
20
|
-
properties = {:description => description.to_s,
|
21
|
-
:requires => Array(requires),
|
22
|
-
:incomptible_with => Array(incompatible_with)}
|
23
|
-
|
24
|
-
@options[name] = properties
|
25
|
-
end
|
26
|
-
|
27
|
-
def generate
|
28
|
-
@banned = [:h, :help, :version, :query, :db, :out, :subject, :outfmt, :html, :import_search_strategy, :export_search_strategy]
|
29
|
-
|
30
|
-
create_range_constraint = lambda do |min, max|
|
31
|
-
min = min || 0
|
32
|
-
max = max || 1.0/0
|
33
|
-
range = min..max
|
34
|
-
lambda {|v| range.include? v}
|
35
|
-
end
|
36
|
-
|
37
|
-
name, condition, description, requires, incompatible_with = nil
|
38
|
-
|
39
|
-
OPTSPEC.each_line do |line|
|
40
|
-
line.strip!
|
41
|
-
|
42
|
-
if line.match(/^-(\w*)\s(<(.+)>)*/)
|
43
|
-
if name
|
44
|
-
# process previous options
|
45
|
-
puts "
|
46
|
-
add '#{name}' do
|
47
|
-
self.description = \"#{description.join("\n")}\"
|
48
|
-
self.requires = #{requires}
|
49
|
-
self.incompatible_with = #{incompatible_with}
|
50
|
-
self.condition = #{condition}
|
51
|
-
end"
|
52
|
-
|
53
|
-
#constraints = define_constraints(condition)
|
54
|
-
#p "****************************"
|
55
|
-
|
56
|
-
name = condition = description = requires = incompatible_with = nil
|
57
|
-
end
|
58
|
-
|
59
|
-
name = Regexp.last_match[1].to_sym
|
60
|
-
|
61
|
-
if @banned.include? name
|
62
|
-
name = nil
|
63
|
-
next
|
64
|
-
end
|
65
|
-
|
66
|
-
condition = Regexp.last_match[3].split(', ')
|
67
|
-
next
|
68
|
-
end
|
69
|
-
|
70
|
-
if name and line.match(/Requires:\s*(.*)/)
|
71
|
-
requires = Regexp.last_match[1].split(/, /)
|
72
|
-
next
|
73
|
-
end
|
74
|
-
|
75
|
-
if name and line.match(/Incompatible with:\s*(.*)/)
|
76
|
-
incompatible_with = Regexp.last_match[1].split(/, /)
|
77
|
-
next
|
78
|
-
end
|
79
|
-
|
80
|
-
if name and not (line.match(/\*\*\*/) or line.empty?)
|
81
|
-
(description ||= []) << line
|
82
|
-
next
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def define_constraints(condition)
|
88
|
-
return unless condition
|
89
|
-
|
90
|
-
type, range = condition
|
91
|
-
|
92
|
-
cast = lambda do |v|
|
93
|
-
case range
|
94
|
-
when "Integer"
|
95
|
-
v.to_i
|
96
|
-
when "Real"
|
97
|
-
v.to_f
|
98
|
-
when "String"
|
99
|
-
v.to_s
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
range_constraint = if range and range.match(/Permissible values: (.*)/)
|
104
|
-
list = Regexp.last_match[1].split
|
105
|
-
define_range_constraint(list)
|
106
|
-
elsif range and range.match(/>=(\d\.?\d?)( and =<(\d\.?\d?))*/)
|
107
|
-
min = cast.call Regexp.last_match[1]
|
108
|
-
max = cast.call Regexp.last_match[3]
|
109
|
-
define_range_constraint(min, max)
|
110
|
-
end
|
111
|
-
|
112
|
-
[range_constraint]
|
113
|
-
end
|
114
|
-
|
115
|
-
def define_range_constraint(min_or_array, max = nil)
|
116
|
-
if min_or_array.is_a? Array
|
117
|
-
range = min_or_array
|
118
|
-
else
|
119
|
-
min = min || 0
|
120
|
-
max = max || 1.0/0
|
121
|
-
range = (min..max)
|
122
|
-
end
|
123
|
-
|
124
|
-
lambda {|v| range.include? v}
|
125
|
-
end
|
126
|
-
|
127
|
-
def parse(options)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
SequenceServer::CLIOptions.generate
|
@@ -1,298 +0,0 @@
|
|
1
|
-
/* =============================================================
|
2
|
-
* bootstrap-typeahead.js v2.0.3
|
3
|
-
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
4
|
-
* =============================================================
|
5
|
-
* Copyright 2012 Twitter, Inc.
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
18
|
-
* ============================================================ */
|
19
|
-
|
20
|
-
|
21
|
-
!function($){
|
22
|
-
|
23
|
-
"use strict"; // jshint ;_;
|
24
|
-
|
25
|
-
|
26
|
-
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
27
|
-
* ================================= */
|
28
|
-
|
29
|
-
var Typeahead = function (element, options) {
|
30
|
-
this.$element = $(element)
|
31
|
-
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
32
|
-
this.matcher = this.options.matcher || this.matcher
|
33
|
-
this.sorter = this.options.sorter || this.sorter
|
34
|
-
this.highlighter = this.options.highlighter || this.highlighter
|
35
|
-
this.updater = this.options.updater || this.updater
|
36
|
-
this.$menu = $(this.options.menu).appendTo('body')
|
37
|
-
this.source = this.options.source
|
38
|
-
this.shown = false
|
39
|
-
this.listen()
|
40
|
-
}
|
41
|
-
|
42
|
-
Typeahead.prototype = {
|
43
|
-
|
44
|
-
constructor: Typeahead
|
45
|
-
|
46
|
-
, select: function () {
|
47
|
-
var val = this.$menu.find('.active').attr('data-value')
|
48
|
-
this.$element
|
49
|
-
.val(this.updater(val))
|
50
|
-
.change()
|
51
|
-
return this.hide()
|
52
|
-
}
|
53
|
-
|
54
|
-
, updater: function (item) {
|
55
|
-
return item
|
56
|
-
}
|
57
|
-
|
58
|
-
, show: function () {
|
59
|
-
var pos = $.extend({}, this.$element.offset(), {
|
60
|
-
height: this.$element[0].offsetHeight
|
61
|
-
})
|
62
|
-
|
63
|
-
this.$menu.css({
|
64
|
-
top: pos.top + pos.height
|
65
|
-
, left: pos.left
|
66
|
-
})
|
67
|
-
|
68
|
-
this.$menu.show()
|
69
|
-
this.shown = true
|
70
|
-
return this
|
71
|
-
}
|
72
|
-
|
73
|
-
, hide: function () {
|
74
|
-
this.$menu.hide()
|
75
|
-
this.shown = false
|
76
|
-
return this
|
77
|
-
}
|
78
|
-
|
79
|
-
, lookup: function (event) {
|
80
|
-
var that = this
|
81
|
-
, items
|
82
|
-
, q
|
83
|
-
|
84
|
-
this.query = this.$element.val()
|
85
|
-
|
86
|
-
if (!this.query) {
|
87
|
-
return this.shown ? this.hide() : this
|
88
|
-
}
|
89
|
-
|
90
|
-
//console.log(that.matcher);
|
91
|
-
|
92
|
-
items = $.grep(this.source, function (item) {
|
93
|
-
//console.log(item.toLowerCase());
|
94
|
-
//console.log(this);
|
95
|
-
//console.log(~item.toLowerCase().indexOf(this.query.toLowerCase()));
|
96
|
-
//console.log(that.matcher(item));
|
97
|
-
return that.matcher(item)
|
98
|
-
})
|
99
|
-
|
100
|
-
//console.log(typeof(this.query.toLowerCase()));
|
101
|
-
console.log(items);
|
102
|
-
|
103
|
-
items = this.sorter(items)
|
104
|
-
|
105
|
-
if (!items.length) {
|
106
|
-
return this.shown ? this.hide() : this
|
107
|
-
}
|
108
|
-
|
109
|
-
return this.render(items.slice(0, this.options.items)).show()
|
110
|
-
}
|
111
|
-
|
112
|
-
, matcher: function (item) {
|
113
|
-
console.log(item.toLowerCase());
|
114
|
-
console.log(this.query.toLowerCase());
|
115
|
-
var val = item.toLowerCase().indexOf(this.query.toLowerCase());
|
116
|
-
console.log(val);
|
117
|
-
return ~val;
|
118
|
-
}
|
119
|
-
|
120
|
-
, sorter: function (items) {
|
121
|
-
var beginswith = []
|
122
|
-
, caseSensitive = []
|
123
|
-
, caseInsensitive = []
|
124
|
-
, item
|
125
|
-
|
126
|
-
while (item = items.shift()) {
|
127
|
-
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
|
128
|
-
else if (~item.indexOf(this.query)) caseSensitive.push(item)
|
129
|
-
else caseInsensitive.push(item)
|
130
|
-
}
|
131
|
-
|
132
|
-
return beginswith.concat(caseSensitive, caseInsensitive)
|
133
|
-
}
|
134
|
-
|
135
|
-
, highlighter: function (item) {
|
136
|
-
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
137
|
-
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
138
|
-
return '<strong>' + match + '</strong>'
|
139
|
-
})
|
140
|
-
}
|
141
|
-
|
142
|
-
, render: function (items) {
|
143
|
-
var that = this
|
144
|
-
|
145
|
-
items = $(items).map(function (i, item) {
|
146
|
-
i = $(that.options.item).attr('data-value', item)
|
147
|
-
i.find('a').html(that.highlighter(item))
|
148
|
-
return i[0]
|
149
|
-
})
|
150
|
-
|
151
|
-
items.first().addClass('active')
|
152
|
-
this.$menu.html(items)
|
153
|
-
return this
|
154
|
-
}
|
155
|
-
|
156
|
-
, next: function (event) {
|
157
|
-
var active = this.$menu.find('.active').removeClass('active')
|
158
|
-
, next = active.next()
|
159
|
-
|
160
|
-
if (!next.length) {
|
161
|
-
next = $(this.$menu.find('li')[0])
|
162
|
-
}
|
163
|
-
|
164
|
-
next.addClass('active')
|
165
|
-
}
|
166
|
-
|
167
|
-
, prev: function (event) {
|
168
|
-
var active = this.$menu.find('.active').removeClass('active')
|
169
|
-
, prev = active.prev()
|
170
|
-
|
171
|
-
if (!prev.length) {
|
172
|
-
prev = this.$menu.find('li').last()
|
173
|
-
}
|
174
|
-
|
175
|
-
prev.addClass('active')
|
176
|
-
}
|
177
|
-
|
178
|
-
, listen: function () {
|
179
|
-
this.$element
|
180
|
-
.on('blur', $.proxy(this.blur, this))
|
181
|
-
.on('keypress', $.proxy(this.keypress, this))
|
182
|
-
.on('keyup', $.proxy(this.keyup, this))
|
183
|
-
|
184
|
-
if ($.browser.webkit || $.browser.msie) {
|
185
|
-
this.$element.on('keydown', $.proxy(this.keypress, this))
|
186
|
-
}
|
187
|
-
|
188
|
-
this.$menu
|
189
|
-
.on('click', $.proxy(this.click, this))
|
190
|
-
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
191
|
-
}
|
192
|
-
|
193
|
-
, keyup: function (e) {
|
194
|
-
switch(e.keyCode) {
|
195
|
-
case 40: // down arrow
|
196
|
-
case 38: // up arrow
|
197
|
-
break
|
198
|
-
|
199
|
-
case 9: // tab
|
200
|
-
case 13: // enter
|
201
|
-
if (!this.shown) return
|
202
|
-
this.select()
|
203
|
-
break
|
204
|
-
|
205
|
-
case 27: // escape
|
206
|
-
if (!this.shown) return
|
207
|
-
this.hide()
|
208
|
-
break
|
209
|
-
|
210
|
-
default:
|
211
|
-
this.lookup()
|
212
|
-
}
|
213
|
-
|
214
|
-
e.stopPropagation()
|
215
|
-
e.preventDefault()
|
216
|
-
}
|
217
|
-
|
218
|
-
, keypress: function (e) {
|
219
|
-
if (!this.shown) return
|
220
|
-
|
221
|
-
switch(e.keyCode) {
|
222
|
-
case 9: // tab
|
223
|
-
case 13: // enter
|
224
|
-
case 27: // escape
|
225
|
-
e.preventDefault()
|
226
|
-
break
|
227
|
-
|
228
|
-
case 38: // up arrow
|
229
|
-
if (e.type != 'keydown') break
|
230
|
-
e.preventDefault()
|
231
|
-
this.prev()
|
232
|
-
break
|
233
|
-
|
234
|
-
case 40: // down arrow
|
235
|
-
if (e.type != 'keydown') break
|
236
|
-
e.preventDefault()
|
237
|
-
this.next()
|
238
|
-
break
|
239
|
-
}
|
240
|
-
|
241
|
-
e.stopPropagation()
|
242
|
-
}
|
243
|
-
|
244
|
-
, blur: function (e) {
|
245
|
-
var that = this
|
246
|
-
setTimeout(function () { that.hide() }, 150)
|
247
|
-
}
|
248
|
-
|
249
|
-
, click: function (e) {
|
250
|
-
e.stopPropagation()
|
251
|
-
e.preventDefault()
|
252
|
-
this.select()
|
253
|
-
}
|
254
|
-
|
255
|
-
, mouseenter: function (e) {
|
256
|
-
this.$menu.find('.active').removeClass('active')
|
257
|
-
$(e.currentTarget).addClass('active')
|
258
|
-
}
|
259
|
-
|
260
|
-
}
|
261
|
-
|
262
|
-
|
263
|
-
/* TYPEAHEAD PLUGIN DEFINITION
|
264
|
-
* =========================== */
|
265
|
-
|
266
|
-
$.fn.typeahead = function (option) {
|
267
|
-
return this.each(function () {
|
268
|
-
var $this = $(this)
|
269
|
-
, data = $this.data('typeahead')
|
270
|
-
, options = typeof option == 'object' && option
|
271
|
-
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
|
272
|
-
if (typeof option == 'string') data[option]()
|
273
|
-
})
|
274
|
-
}
|
275
|
-
|
276
|
-
$.fn.typeahead.defaults = {
|
277
|
-
source: []
|
278
|
-
, items: 8
|
279
|
-
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
280
|
-
, item: '<li><a href="#"></a></li>'
|
281
|
-
}
|
282
|
-
|
283
|
-
$.fn.typeahead.Constructor = Typeahead
|
284
|
-
|
285
|
-
|
286
|
-
/* TYPEAHEAD DATA-API
|
287
|
-
* ================== */
|
288
|
-
|
289
|
-
$(function () {
|
290
|
-
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
291
|
-
var $this = $(this)
|
292
|
-
if ($this.data('typeahead')) return
|
293
|
-
e.preventDefault()
|
294
|
-
$this.typeahead($this.data())
|
295
|
-
})
|
296
|
-
})
|
297
|
-
|
298
|
-
}(window.jQuery);
|
data/public/js/yaml.js
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Copyright (C) 2011 by Vitaly Puzrin
|
3
|
-
*
|
4
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
-
* of this software and associated documentation files (the "Software"), to deal
|
6
|
-
* in the Software without restriction, including without limitation the rights
|
7
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
-
* copies of the Software, and to permit persons to whom the Software is
|
9
|
-
* furnished to do so, subject to the following conditions:
|
10
|
-
*
|
11
|
-
* The above copyright notice and this permission notice shall be included in
|
12
|
-
* all copies or substantial portions of the Software.
|
13
|
-
*
|
14
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
-
* THE SOFTWARE.
|
21
|
-
*/// Extend prototypes and native objects for oldIEs, Safaies and Operas
|
22
|
-
Array.isArray||(Array.isArray=function(b){return Object.prototype.toString.call(b)==="[object Array]"}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b;for(b=0;b<this.length;b++)if(this[b]==a)return b;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;b=b||this;for(c=0,d=this.length;c<d;c+=1)a.call(b,this[c],c)}),Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;return function(){c.apply(b,arguments)}}),Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(b){var c=[],d;for(d in b)b.hasOwnProperty(d)&&c.push(d);return c});var jsyaml=function(){var a=function(){var a=function(b,c){var d=a.resolve(b,c||"/"),e=a.modules[d];if(!e)throw new Error("Failed to resolve module "+b+", tried "+d);var f=e._cached?e._cached:e();return f};return a.paths=[],a.modules={},a.extensions=[".js",".coffee"],a._core={assert:!0,events:!0,fs:!0,path:!0,vm:!0},a.resolve=function(){return function(b,c){function h(b){if(a.modules[b])return b;for(var c=0;c<a.extensions.length;c++){var d=a.extensions[c];if(a.modules[b+d])return b+d}}function i(b){b=b.replace(/\/+$/,"");var c=b+"/package.json";if(a.modules[c]){var e=a.modules[c](),f=e.browserify;if(typeof f=="object"&&f.main){var g=h(d.resolve(b,f.main));if(g)return g}else if(typeof f=="string"){var g=h(d.resolve(b,f));if(g)return g}else if(e.main){var g=h(d.resolve(b,e.main));if(g)return g}}return h(b+"/index")}function j(a,b){var c=k(b);for(var d=0;d<c.length;d++){var e=c[d],f=h(e+"/"+a);if(f)return f;var g=i(e+"/"+a);if(g)return g}var f=h(a);if(f)return f}function k(a){var b;a==="/"?b=[""]:b=d.normalize(a).split("/");var c=[];for(var e=b.length-1;e>=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";c.push(f)}return c}c||(c="/");if(a._core[b])return b;var d=a.modules.path(),e=c||".";if(b.match(/^(?:\.\.?\/|\/)/)){var f=h(d.resolve(e,b))||i(d.resolve(e,b));if(f)return f}var g=j(b,e);if(g)return g;throw new Error("Cannot find module '"+b+"'")}}(),a.alias=function(b,c){var d=a.modules.path(),e=null;try{e=a.resolve(b+"/package.json","/")}catch(f){e=a.resolve(b,"/")}var g=d.dirname(e),h=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(a.modules);for(var i=0;i<h.length;i++){var j=h[i];if(j.slice(0,g.length+1)===g+"/"){var k=j.slice(g.length);a.modules[c+k]=a.modules[g+k]}else j===g&&(a.modules[c]=a.modules[g])}},a.define=function(b,c){var d=a._core[b]?"":a.modules.path().dirname(b),e=function(b){return a(b,d)};e.resolve=function(b){return a.resolve(b,d)},e.modules=a.modules,e.define=a.define;var f={exports:{}};a.modules[b]=function(){return a.modules[b]._cached=f.exports,c.call(f.exports,e,f,f.exports,d,b),a.modules[b]._cached=f.exports,f.exports}},typeof process=="undefined"&&(process={}),process.nextTick||(process.nextTick=function(){var a=[],b=typeof window!="undefined"&&window.postMessage&&window.addEventListener;return b&&window.addEventListener("message",function(b){if(b.source===window&&b.data==="browserify-tick"){b.stopPropagation();if(a.length>0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(b){if(b==="evals")return a("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),a.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d<a.length;d++)b(a[d],d,a)&&c.push(a[d]);return c}function g(a,b){var c=0;for(var d=a.length;d>=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),a.define("/lib/js-yaml.js",function(a,b,c,d,e){"use strict";var f=a("fs"),g=a("./js-yaml/loader"),h=b.exports={};h.scan=function(b,c,d){d=d||g.SafeLoader;var e=new d(b);while(e.checkToken())c(e.getToken())},h.compose=function(b,c){c=c||g.SafeLoader;var d=new c(b);return d.getSingleNode()},h.load=function(b,c){c=c||g.Loader;var d=new c(b);return d.getSingleData()},h.loadAll=function(b,c,d){d=d||g.Loader;var e=new d(b);while(e.checkData())c(e.getData())},h.safeLoad=function(b){return h.load(b,g.SafeLoader)},h.safeLoadAll=function(b,c){h.loadAll(b,c,g.SafeLoader)},h.addConstructor=function(b,c,d){(d||g.Loader).addConstructor(b,c)},function(){var b=function(a,b){var c=f.openSync(b,"r");a.exports=[],h.loadAll(c,function(b){a.exports.push(b)}),f.closeSync(c)};undefined!==a.extensions&&(a.extensions[".yml"]=b,a.extensions[".yaml"]=b)}()}),a.define("fs",function(a,b,c,d,e){}),a.define("/lib/js-yaml/loader.js",function(a,b,c,d,e){function m(a){g.Reader.call(this,a),h.Scanner.call(this),i.Parser.call(this),j.Composer.call(this),l.BaseConstructor.call(this),k.BaseResolver.call(this)}function n(a){g.Reader.call(this,a),h.Scanner.call(this),i.Parser.call(this),j.Composer.call(this),l.SafeConstructor.call(this),k.Resolver.call(this)}function o(a){g.Reader.call(this,a),h.Scanner.call(this),i.Parser.call(this),j.Composer.call(this),l.Constructor.call(this),k.Resolver.call(this)}"use strict";var f=a("./common"),g=a("./reader"),h=a("./scanner"),i=a("./parser"),j=a("./composer"),k=a("./resolver"),l=a("./constructor");f.extend(m.prototype,g.Reader.prototype,h.Scanner.prototype,i.Parser.prototype,j.Composer.prototype,l.BaseConstructor.prototype,k.BaseResolver.prototype),f.extend(n.prototype,g.Reader.prototype,h.Scanner.prototype,i.Parser.prototype,j.Composer.prototype,l.SafeConstructor.prototype,k.Resolver.prototype),f.extend(o.prototype,g.Reader.prototype,h.Scanner.prototype,i.Parser.prototype,j.Composer.prototype,l.Constructor.prototype,k.Resolver.prototype),m.addConstructor=function(a,b){l.BaseConstructor.addConstructor(a,b)},n.addConstructor=function(a,b){l.SafeConstructor.addConstructor(a,b)},o.addConstructor=function(a,b){l.Constructor.addConstructor(a,b)},b.exports.BaseLoader=m,b.exports.SafeLoader=n,b.exports.Loader=o}),a.define("/lib/js-yaml/common.js",function(a,b,c,d,e){"use strict";var f=b.exports={};f.extend=function(b){var c,d,e,f=[];b=b||{},d=arguments.length,!!arguments[d-1]&&!!arguments[d-1].except&&(f=arguments[d-1].except,d-=1);for(c=1;c<d;c+=1)if(!!arguments[c]&&"object"==typeof arguments[c])for(e in arguments[c])arguments[c].hasOwnProperty(e)&&-1===f.indexOf(e)&&(b[e]=arguments[c][e]);return b},f.inherits=function(b,c){var d=function(){};d.prototype=c.prototype,b.prototype=new d,f.extend(b.prototype,c.prototype,{except:["arguments","length","name","prototype","caller"]}),f.extend(b.prototype,{constructor:b}),b.__parent__=c},f.isInstanceOf=function(b,c){var d;return b instanceof c?!0:!b||!b.constructor?!1:(d=b.constructor.__parent__,d===c||f.isInstanceOf(d,c))},f.each=function(b,c,d){var e,f,g;if(null===b||undefined===b)return;d=d||c;if(b.forEach===Array.prototype.forEach)b.forEach(c,d);else{e=Object.getOwnPropertyNames(b);for(f=0,g=e.length;f<g;f+=1)c.call(d,b[e[f]],e[f],b)}},f.reverse=function(b){var c=[],d,e;for(d=0,e=b.length;d<e;d+=1)c.unshift(b[d]);return c},f.decodeBase64=function(){var a="=",b=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,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,-1,-1,-1,-1,-1,-1,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,-1,-1,-1,-1,-1];return function(d){var e,f,g=0,h=[],i,j;i=0,j=0;for(g=0;g<d.length;g+=1){f=d.charCodeAt(g),e=b[f&127];if(10!==f&&13!==f){if(-1===e)throw new Error("Illegal characters (code="+f+") in position "+g+": ordinal not in range(0..128)");j=j<<6|e,i+=6,i>=8&&(i-=8,a!==d.charAt(g)&&h.push(j>>i&255),j&=(1<<i)-1)}}if(i)throw new Error("Corrupted base64 string");return new Buffer(h)}}(),f.Populator=function(b,c,d){if(!(this instanceof f.Populator))return new f.Populator(b,c,d);this.data=b,this.execute=function(){c.call(d||c)}},f.Hash=function(b){var c,d,e;if(!(this instanceof f.Hash))return new f.Hash(b);e=0,c=[],d=[],this.store=function(b,f){var g=c.indexOf(b);if(0<=g){d[g]=f;return}g=e,e+=1,c[g]=b,d[g]=f},this.remove=function(b){var e=c.indexOf(b);0<=e&&(delete c[e],delete d[e])},this.hasKey=function(b){return 0<=c.indexOf(b)},this.get=function(e){var f=c.indexOf(e);return 0<=f?d[f]:b}}}),a.define("/lib/js-yaml/reader.js",function(a,b,c,d,e){function k(a,b,c,d,e){h.YAMLError.apply(this),this.name="ReaderError",this.name=a,this.position=b,this.character=c,this.encoding=d,this.reason=e,this.toString=function f(){return"unacceptable character "+this.character+": "+this.reason+'\n in "'+this.name+'", position '+this.position}}function l(a){this.name="<unicode string>",this.stream=null,this.streamPointer=0,this.eof=!0,this.buffer="",this.pointer=0,this.rawBuffer=null,this.encoding="utf-8",this.index=0,this.line=0,this.column=0,"string"==typeof a?(this.name="<unicode string>",this.checkPrintable(a),this.buffer=a+"\0"):Buffer.isBuffer(a)?(this.name="<buffer>",this.rawBuffer=a,this.update(1)):(this.name="<file>",this.stream=a,this.eof=!1,this.updateRaw(),this.update(1))}"use strict";var f=a("fs"),g=a("./common"),h=a("./errors"),i=new RegExp("[^\t\n\r -~
--�]"),j=undefined==="a"[0]?function(a,b){return a.charAt(b)}:function(a,b){return a[b]};g.inherits(k,h.YAMLError),l.prototype.peek=function(b){var c;return b=+b||0,c=j(this.buffer,this.pointer+b),undefined===c&&(this.update(b+1),c=j(this.buffer,this.pointer+b)),c},l.prototype.prefix=function(b){return b=+b||1,this.pointer+b>=this.buffer.length&&this.update(b),this.buffer.slice(this.pointer,this.pointer+b)},l.prototype.forward=function(b){var c;b=undefined!==b?+b:1,this.pointer+b+1>=this.buffer.length&&this.update(b+1);while(b)c=this.buffer[this.pointer],this.pointer+=1,this.index+=1,0<="\n
\u2028\u2029".indexOf(c)||"\r"===c&&"\n"!==this.buffer[this.pointer]?(this.line+=1,this.column=0):c!==""&&(this.column+=1),b-=1},l.prototype.getMark=function(){return null===this.stream?new h.Mark(this.name,this.index,this.line,this.column,this.buffer,this.pointer):new h.Mark(this.name,this.index,this.line,this.column,null,null)},l.prototype.checkPrintable=function(b){var c=b.toString().match(i),d;if(c)throw d=this.index+this.buffer.length-this.pointer+c.index,new k(this.name,d,c[0],"unicode","special characters are not allowed")},l.prototype.update=function(b){var c;if(null===this.rawBuffer)return;this.buffer=this.buffer.slice(this.pointer),this.pointer=0;while(this.buffer.length<b){this.eof||this.updateRaw(),c=this.rawBuffer,this.checkPrintable(c),this.buffer+=c,this.rawBuffer=this.rawBuffer.slice(c.length);if(this.eof){this.buffer+="\0",this.rawBuffer=null;break}}},l.prototype.updateRaw=function(b){var c=new Buffer(+b||4096),d,e;d=f.readSync(this.stream,c,0,c.length),null===this.rawBuffer?this.rawBuffer=c.slice(0,d):(e=new Buffer(this.rawBuffer.length+d),this.rawBuffer.copy(e),c.copy(e,this.rawBuffer.length),this.rawBuffer=e),this.streamPointer+=d;if(!d||d<c.length)this.eof=!0},b.exports.Reader=l}),a.define("/lib/js-yaml/errors.js",function(a,b,c,d,e){function h(a,b,c,d,e,f){this.name=a,this.index=b,this.line=c,this.column=d,this.buffer=e,this.pointer=f}function i(a){f.extend(this,Error.prototype.constructor.call(this,a)),this.name="YAMLError"}function j(a){var b="Error ";return null!==a.problemMark&&(b+="on line "+(a.problemMark.line+1)+", col "+(a.problemMark.column+1)+": "),null!==a.problem&&(b+=a.problem),null!==a.note&&(b+=a.note),b}function k(a){var b=[];return null!==a.context&&b.push(a.context),null!==a.contextMark&&(null===a.problem||null===a.problemMark||a.contextMark.name!==a.problemMark.name||a.contextMark.line!==a.problemMark.line||a.contextMark.column!==a.problemMark.column)&&b.push(a.contextMark.toString()),null!==a.problem&&b.push(a.problem),null!==a.problemMark&&b.push(a.problemMark.toString()),null!==a.note&&b.push(a.note),b.join("\n")}function l(a,b,c,d,e){i.call(this),this.name="MarkedYAMLError",this.context=a||null,this.contextMark=b||null,this.problem=c||null,this.problemMark=d||null,this.note=e||null,this.toString=function f(a){return a?j(this):k(this)}}"use strict";var f=a("./common"),g=function(b,c){var d="",e;for(e=0;e<c;e+=1)d+=b;return d};h.prototype.getSnippet=function(a,b){var c,d,e,f,h;if(!this.buffer)return null;a=a||4,b=b||75,c="",d=this.pointer;while(d>0&&-1==="\0\r\n
\u2028\u2029".indexOf(this.buffer[d-1])){d-=1;if(this.pointer-d>b/2-1){c=" ... ",d+=5;break}}e="",f=this.pointer;while(f<this.buffer.length&&-1==="\0\r\n
\u2028\u2029".indexOf(this.buffer[f])){f+=1;if(f-this.pointer>b/2-1){e=" ... ",f-=5;break}}return h=this.buffer.slice(d,f),g(" ",a)+c+h+e+"\n"+g(" ",a+this.pointer-d+c.length)+"^"},h.prototype.toString=function(){var a=this.getSnippet(),b;return b=' in "'+this.name+'", line '+(this.line+1)+", column "+(this.column+1),a&&(b+=":\n"+a),b},f.inherits(i,Error),f.inherits(l,i),b.exports.Mark=h,b.exports.YAMLError=i,b.exports.MarkedYAMLError=l}),a.define("/lib/js-yaml/scanner.js",function(a,b,c,d,e){function l(){g.MarkedYAMLError.apply(this,arguments),this.name="ScannerError"}function m(a,b,c,d,e,f){this.tokenNumber=a,this.required=b,this.index=c,this.line=d,this.column=e,this.mark=f}function n(){this.done=!1,this.flowLevel=0,this.tokens=[],this.fetchStreamStart(),this.tokensTaken=0,this.indent=-1,this.indents=[],this.allowSimpleKey=!0,this.possibleSimpleKeys={}}"use strict";var f=a("./common"),g=a("./errors"),h=a("./tokens"),i={0:"\0",a:"",b:"\b",t:"\t","\t":"\t",n:"\n",v:"",f:"\f",r:"\r",e:""," ":" ",'"':'"',"\\":"\\",N:"
",_:" ",L:"\u2028",P:"\u2029"},j={x:2,u:4,U:8},k=function(a,b){var c=[];undefined===b&&(b=a,a=0);while(0<b)c.push(a),b-=1,a+=1;return c};f.inherits(l,g.MarkedYAMLError),n.prototype.checkToken=function(){var b;while(this.needMoreTokens())this.fetchMoreTokens();if(this.tokens.length){if(!arguments.length)return!0;for(b=0;b<arguments.length;b+=1)if(f.isInstanceOf(this.tokens[0],arguments[b]))return!0}return!1},n.prototype.peekToken=function(){while(this.needMoreTokens())this.fetchMoreTokens();return this.tokens.length?this.tokens[0]:null},n.prototype.getToken=function(){var b=null;while(this.needMoreTokens())this.fetchMoreTokens();return this.tokens.length&&(this.tokensTaken+=1,b=this.tokens.shift()),b},n.prototype.needMoreTokens=function(){return this.done?!1:this.tokens.length?(this.stalePossibleSimpleKeys(),this.nextPossibleSimpleKey()===this.tokensTaken?!0:!1):!0},n.prototype.fetchMoreTokens=function(){var b;this.scanToNextToken(),this.stalePossibleSimpleKeys(),this.unwindIndent(this.column),b=this.peek();if(b==="\0")return this.fetchStreamEnd();if(b==="%"&&this.checkDirective())return this.fetchDirective();if(b==="-"&&this.checkDocumentStart())return this.fetchDocumentStart();if(b==="."&&this.checkDocumentEnd())return this.fetchDocumentEnd();if(b==="[")return this.fetchFlowSequenceStart();if(b==="{")return this.fetchFlowMappingStart();if(b==="]")return this.fetchFlowSequenceEnd();if(b==="}")return this.fetchFlowMappingEnd();if(b===",")return this.fetchFlowEntry();if(b==="-"&&this.checkBlockEntry())return this.fetchBlockEntry();if(b==="?"&&this.checkKey())return this.fetchKey();if(b===":"&&this.checkValue())return this.fetchValue();if(b==="*")return this.fetchAlias();if(b==="&")return this.fetchAnchor();if(b==="!")return this.fetchTag();if(b==="|"&&!this.flowLevel)return this.fetchLiteral();if(b===">"&&!this.flowLevel)return this.fetchFolded();if(b==="'")return this.fetchSingle();if(b==='"')return this.fetchDouble();if(this.checkPlain())return this.fetchPlain();throw new l("while scanning for the next token",null,"found character "+b+" that cannot start any token",this.getMark())},n.prototype.nextPossibleSimpleKey=function(){var b=null;return f.each(this.possibleSimpleKeys,function(a){if(null===b||a.tokenNumber<b)b=a.tokenNumber}),b},n.prototype.stalePossibleSimpleKeys=function(){f.each(this.possibleSimpleKeys,function(a,b){if(a.line!==this.line||1024<this.index-a.index){if(a.required)throw new l("while scanning a simple key",a.mark,"could not found expected ':'",this.getMark());delete this.possibleSimpleKeys[b]}},this)},n.prototype.savePossibleSimpleKey=function(){var b,c,d;b=!this.flowLevel&&this.indent===this.column;if(!this.allowSimpleKey&&b)throw new g.YAMLError("Simple key is required");this.allowSimpleKey&&(this.removePossibleSimpleKey(),c=this.tokensTaken+this.tokens.length,d=new m(c,b,this.index,this.line,this.column,this.getMark()),this.possibleSimpleKeys[this.flowLevel]=d)},n.prototype.removePossibleSimpleKey=function(){var b;if(undefined!==this.possibleSimpleKeys[this.flowLevel]){b=this.possibleSimpleKeys[this.flowLevel];if(b.required)throw new l("while scanning a simple key",b.mark,"could not found expected ':'",this.getMark());delete this.possibleSimpleKeys[this.flowLevel]}},n.prototype.unwindIndent=function(b){var c;if(this.flowLevel)return;while(this.indent>b)c=this.getMark(),this.indent=this.indents.pop(),this.tokens.push(new h.BlockEndToken(c,c))},n.prototype.addIndent=function(b){return this.indent<b?(this.indents.push(this.indent),this.indent=b,!0):!1},n.prototype.fetchStreamStart=function(){var b;b=this.getMark(),this.tokens.push(new h.StreamStartToken(b,b,this.encoding))},n.prototype.fetchStreamEnd=function(){var b;this.unwindIndent(-1),this.removePossibleSimpleKey(),this.allowSimpleKey=!1,this.possibleSimpleKeys={},b=this.getMark(),this.tokens.push(new h.StreamEndToken(b,b)),this.done=!0},n.prototype.fetchDirective=function(){this.unwindIndent(-1),this.removePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanDirective())},n.prototype.fetchDocumentStart=function(){this.fetchDocumentIndicator(h.DocumentStartToken)},n.prototype.fetchDocumentEnd=function(){this.fetchDocumentIndicator(h.DocumentEndToken)},n.prototype.fetchDocumentIndicator=function(b){var c,d;this.unwindIndent(-1),this.removePossibleSimpleKey(),this.allowSimpleKey=!1,c=this.getMark(),this.forward(3),d=this.getMark(),this.tokens.push(new b(c,d))},n.prototype.fetchFlowSequenceStart=function(){this.fetchFlowCollectionStart(h.FlowSequenceStartToken)},n.prototype.fetchFlowMappingStart=function(){this.fetchFlowCollectionStart(h.FlowMappingStartToken)},n.prototype.fetchFlowCollectionStart=function(b){var c,d;this.savePossibleSimpleKey(),this.flowLevel+=1,this.allowSimpleKey=!0,c=this.getMark(),this.forward(),d=this.getMark(),this.tokens.push(new b(c,d))},n.prototype.fetchFlowSequenceEnd=function(){this.fetchFlowCollectionEnd(h.FlowSequenceEndToken)},n.prototype.fetchFlowMappingEnd=function(){this.fetchFlowCollectionEnd(h.FlowMappingEndToken)},n.prototype.fetchFlowCollectionEnd=function(b){var c,d;this.removePossibleSimpleKey(),this.flowLevel-=1,this.allowSimpleKey=!1,c=this.getMark(),this.forward(),d=this.getMark(),this.tokens.push(new b(c,d))},n.prototype.fetchFlowEntry=function(){var b,c;this.allowSimpleKey=!0,this.removePossibleSimpleKey(),b=this.getMark(),this.forward(),c=this.getMark(),this.tokens.push(new h.FlowEntryToken(b,c))},n.prototype.fetchBlockEntry=function(){var b,c,d;if(!this.flowLevel){if(!this.allowSimpleKey)throw new l(null,null,"sequence entries are not allowed here",this.getMark());this.addIndent(this.column)&&(b=this.getMark(),this.tokens.push(new h.BlockSequenceStartToken(b,b)))}this.allowSimpleKey=!0,this.removePossibleSimpleKey(),c=this.getMark(),this.forward(),d=this.getMark(),this.tokens.push(new h.BlockEntryToken(c,d))},n.prototype.fetchKey=function(){var b,c,d;if(!this.flowLevel){if(!this.allowSimpleKey)throw new l(null,null,"mapping keys are not allowed here",this.getMark());this.addIndent(this.column)&&(b=this.getMark(),this.tokens.push(new h.BlockMappingStartToken(b,b)))}this.allowSimpleKey=!this.flowLevel,this.removePossibleSimpleKey(),c=this.getMark(),this.forward(),d=this.getMark(),this.tokens.push(new h.KeyToken(c,d))},n.prototype.fetchValue=function(){var b,c,d,e;if(undefined!==this.possibleSimpleKeys[this.flowLevel])b=this.possibleSimpleKeys[this.flowLevel],delete this.possibleSimpleKeys[this.flowLevel],this.tokens.splice(b.tokenNumber-this.tokensTaken,0,new h.KeyToken(b.mark,b.mark)),this.flowLevel||this.addIndent(b.column)&&this.tokens.splice(b.tokenNumber-this.tokensTaken,0,new h.BlockMappingStartToken(b.mark,b.mark)),this.allowSimpleKey=!1;else{if(!this.flowLevel&&!this.allowSimpleKey)throw new l(null,null,"mapping values are not allowed here",this.getMark());this.flowLevel||this.addIndent(this.column)&&(c=this.getMark(),this.tokens.push(new h.BlockMappingStartToken(c,c))),this.allowSimpleKey=!this.flowLevel,this.removePossibleSimpleKey()}d=this.getMark(),this.forward(),e=this.getMark(),this.tokens.push(new h.ValueToken(d,e))},n.prototype.fetchAlias=function(){this.savePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanAnchor(h.AliasToken))},n.prototype.fetchAnchor=function(){this.savePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanAnchor(h.AnchorToken))},n.prototype.fetchTag=function(){this.savePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanTag())},n.prototype.fetchLiteral=function(){this.fetchBlockScalar("|")},n.prototype.fetchFolded=function(){this.fetchBlockScalar(">")},n.prototype.fetchBlockScalar=function(b){this.allowSimpleKey=!0,this.removePossibleSimpleKey(),this.tokens.push(this.scanBlockScalar(b))},n.prototype.fetchSingle=function(){this.fetchFlowScalar("'")},n.prototype.fetchDouble=function(){this.fetchFlowScalar('"')},n.prototype.fetchFlowScalar=function(b){this.savePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanFlowScalar(b))},n.prototype.fetchPlain=function(){this.savePossibleSimpleKey(),this.allowSimpleKey=!1,this.tokens.push(this.scanPlain())},n.prototype.checkDirective=function(){return this.column===0},n.prototype.checkDocumentStart=function(){return+this.column===0&&this.prefix(3)==="---"?0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(3)):!1},n.prototype.checkDocumentEnd=function(){return+this.column===0&&this.prefix(3)==="..."?0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(3)):!1},n.prototype.checkBlockEntry=function(){return 0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(1))},n.prototype.checkKey=function(){return this.flowLevel?!0:0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(1))},n.prototype.checkValue=function(){return this.flowLevel?!0:0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(1))},n.prototype.checkPlain=function(){var b=this.peek();return-1==="\0 \t\r\n
\u2028\u2029-?:,[]{}#&*!|>'\"%@`".indexOf(b)||-1==="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(1))&&(b==="-"||!this.flowLevel&&0<="?:".indexOf(b))},n.prototype.scanToNextToken=function(){var b=!1;this.index===0&&this.peek()===""&&this.forward();while(!b){while(this.peek()===" ")this.forward();if(this.peek()==="#")while(-1==="\0\r\n
\u2028\u2029".indexOf(this.peek()))this.forward();this.scanLineBreak()?this.flowLevel||(this.allowSimpleKey=!0):b=!0}},n.prototype.scanDirective=function(){var b,c,d,e;b=this.getMark(),this.forward(),d=this.scanDirectiveName(b),e=null;if(d==="YAML")e=this.scanYamlDirectiveValue(b),c=this.getMark();else if(d==="TAG")e=this.scanTagDirectiveValue(b),c=this.getMark();else{c=this.getMark();while(-1==="\0\r\n
\u2028\u2029".indexOf(this.peek()))this.forward()}return this.scanDirectiveIgnoredLine(b),new h.DirectiveToken(d,e,b,c)},n.prototype.scanDirectiveName=function(b){var c,d,e;c=0,d=this.peek(c);while(/^[0-9A-Za-z]/.test(d)||0<="-_".indexOf(d))c+=1,d=this.peek(c);if(!c)throw new l("while scanning a directive",b,"expected alphabetic or numeric character, but found "+d,this.getMark());e=this.prefix(c),this.forward(c),d=this.peek();if(-1==="\0 \r\n
\u2028\u2029".indexOf(d))throw new l("while scanning a directive",b,"expected alphabetic or numeric character, but found "+d,this.getMark());return e},n.prototype.scanYamlDirectiveValue=function(b){var c,d;while(this.peek()===" ")this.forward();c=this.scanYamlDirectiveNumber(b);if(this.peek()!==".")throw new l("while scanning a directive",b,"expected a digit or '.', but found "+this.peek(),this.getMark());this.forward(),d=this.scanYamlDirectiveNumber(b);if(-1==="\0 \r\n
\u2028\u2029".indexOf(this.peek()))throw new l("while scanning a directive",b,"expected a digit or ' ', but found "+this.peek(),this.getMark());return[c,d]},n.prototype.scanYamlDirectiveNumber=function(b){var c,d,e;c=this.peek();if(!/^[0-9]/.test(c))throw new l("while scanning a directive",b,"expected a digit, but found "+c,this.getMark());d=0;while(/^[0-9]/.test(this.peek(d)))d+=1;return e=+this.prefix(d),this.forward(d),e},n.prototype.scanTagDirectiveValue=function(b){var c,d;while(this.peek()===" ")this.forward();c=this.scanTagDirectiveHandle(b);while(this.peek()===" ")this.forward();return d=this.scanTagDirectivePrefix(b),[c,d]},n.prototype.scanTagDirectiveHandle=function(b){var c,d;c=this.scanTagHandle("directive",b),d=this.peek();if(d!==" ")throw new l("while scanning a directive",b,"expected ' ', but found "+d,this.getMark());return c},n.prototype.scanTagDirectivePrefix=function(b){var c,d;c=this.scanTagUri("directive",b),d=this.peek();if(-1==="\0 \r\n
\u2028\u2029".indexOf(d))throw new l("while scanning a directive",b,"expected ' ', but found "+d,this.getMark());return c},n.prototype.scanDirectiveIgnoredLine=function(b){var c;while(this.peek()===" ")this.forward();if(this.peek()==="#")while(-1==="\0\r\n
\u2028\u2029".indexOf(this.peek()))this.forward();c=this.peek();if(-1==="\0\r\n
\u2028\u2029".indexOf(c))throw new l("while scanning a directive",b,"expected a comment or a line break, but found "+c,this.getMark());this.scanLineBreak()},n.prototype.scanAnchor=function(b){var c,d,e,f,g,h;c=this.getMark(),d=this.peek(),e=d==="*"?"alias":"anchor",this.forward(),f=0,g=this.peek(f);while(/^[0-9A-Za-z]/.test(g)||0<="-_".indexOf(g))f+=1,g=this.peek(f);if(!f)throw new l("while scanning an "+e,c,"expected alphabetic or numeric character, but found "+g,this.getMark());h=this.prefix(f),this.forward(f),g=this.peek();if(-1==="\0 \t\r\n
\u2028\u2029?:,]}%@`".indexOf(g))throw new l("while scanning an "+e,c,"expected alphabetic or numeric character, but found "+g,this.getMark());return new b(h,c,this.getMark())},n.prototype.scanTag=function(){var b,c,d,e,f,g;b=this.getMark(),c=this.peek(1);if(c==="<"){d=null,this.forward(2),e=this.scanTagUri("tag",b);if(this.peek()!==">")throw new l("while parsing a tag",b,"expected '>', but found "+this.peek(),this.getMark());this.forward()}else if(0<="\0 \t\r\n
\u2028\u2029".indexOf(c))d=null,e="!",this.forward();else{f=1,g=!1;while(-1==="\0 \r\n
\u2028\u2029".indexOf(c)){if(c==="!"){g=!0;break}f+=1,c=this.peek(f)}g?d=this.scanTagHandle("tag",b):(d="!",this.forward()),e=this.scanTagUri("tag",b)}c=this.peek();if(-1==="\0 \r\n
\u2028\u2029".indexOf(c))throw new l("while scanning a tag",b,"expected ' ', but found "+c,this.getMark());return new h.TagToken([d,e],b,this.getMark())},n.prototype.scanBlockScalar=function(b){var c,d,e,f,g,i=null,j,k,l,m,n,o,p,q;c=b===">",d=[],e=this.getMark(),this.forward(),p=this.scanBlockScalarIndicators(e),g=p[0],i=p[1]||null,this.scanBlockScalarIgnoredLine(e),j=this.indent+1,j<1&&(j=1),null===i?(p=this.scanBlockScalarIndentation(),m=p[0],k=p[1],f=p[2],l=Math.max(j,k)):(l=j+i-1,p=this.scanBlockScalarBreaks(l),m=p[0],f=p[1]),n="";while(+this.column===l&&this.peek()!=="\0"){d=d.concat(m),o=-1===" \t".indexOf(this.peek()),q=0;while(-1==="\0\r\n
\u2028\u2029".indexOf(this.peek(q)))q+=1;d.push(this.prefix(q)),this.forward(q),n=this.scanLineBreak(),p=this.scanBlockScalarBreaks(l),m=p[0],f=p[1];if(+this.column!==l||this.peek()==="\0")break;c&&n==="\n"&&o&&-1===" \t".indexOf(this.peek())?(!m||!m.length)&&d.push(" "):d.push(n)}return!1!==g&&d.push(n),!0===g&&(d=d.concat(m)),new h.ScalarToken(d.join(""),!1,e,f,b)},n.prototype.scanBlockScalarIndicators=function(b){var c=null,d=null,e=this.peek();if(0<="+-".indexOf(e)){c=e==="+",this.forward(),e=this.peek();if(0<="0123456789".indexOf(e)){d=+e;if(d===0)throw new l("while scanning a block scalar",b,"expected indentation indicator in the range 1-9, but found 0",this.getMark());this.forward()}}else if(0<="0123456789".indexOf(e)){d=+e;if(d===0)throw new l("while scanning a block scalar",b,"expected indentation indicator in the range 1-9, but found 0",this.getMark());this.forward(),e=this.peek(),0<="+-".indexOf(e)&&(c=e==="+",this.forward())}e=this.peek();if(-1==="\0 \r\n
\u2028\u2029".indexOf(e))throw new l("while scanning a block scalar",b,"expected chomping or indentation indicators, but found "+e,this.getMark());return[c,d]},n.prototype.scanBlockScalarIgnoredLine=function(b){var c;while(this.peek()===" ")this.forward();if(this.peek()==="#")while(-1==="\0\r\n
\u2028\u2029".indexOf(this.peek()))this.forward();c=this.peek();if(-1==="\0\r\n
\u2028\u2029".indexOf(c))throw new l("while scanning a block scalar",b,"expected a comment or a line break, but found "+c,this.getMark());this.scanLineBreak()},n.prototype.scanBlockScalarIndentation=function(){var b,c,d;b=[],c=0,d=this.getMark();while(0<=" \r\n
\u2028\u2029".indexOf(this.peek()))this.peek()!==" "?(b.push(this.scanLineBreak()),d=this.getMark()):(this.forward(),this.column>c&&(c=this.column));return[b,c,d]},n.prototype.scanBlockScalarBreaks=function(b){var c,d;c=[],d=this.getMark();while(this.column<b&&this.peek()===" ")this.forward();while(0<="\r\n
\u2028\u2029".indexOf(this.peek())){c.push(this.scanLineBreak()),d=this.getMark();while(this.column<b&&this.peek()===" ")this.forward()}return[c,d]},n.prototype.scanFlowScalar=function(b){var c,d,e,f,g,i,j;c=b==='"',d=[],g=this.getMark(),i=this.peek(),this.forward(),d=d.concat(this.scanFlowScalarNonSpaces(c,g));while(this.peek()!==i)d=d.concat(this.scanFlowScalarSpaces(c,g)),d=d.concat(this.scanFlowScalarNonSpaces(c,g));return this.forward(),j=this.getMark(),new h.ScalarToken(d.join(""),!1,g,j,b)},n.prototype.scanFlowScalarNonSpaces=function(b,c){var d=this,e,f,g,h,m;m=function(a){if(-1==="0123456789ABCDEFabcdef".indexOf(d.peek(a)))throw new l("while scanning a double-quoted scalar",c,"expected escape sequence of "+f+" hexdecimal numbers, but found "+d.peek(a),d.getMark())},e=[];for(;;){f=0;while(-1==="'\"\\\0 \t\r\n
\u2028\u2029".indexOf(this.peek(f)))f+=1;f&&(e.push(this.prefix(f)),this.forward(f)),g=this.peek();if(!b&&g==="'"&&this.peek(1)==="'")e.push("'"),this.forward(2);else if(b&&g==="'"||!b&&0<='"\\'.indexOf(g))e.push(g),this.forward();else{if(!b||g!=="\\")return e;this.forward(),g=this.peek();if(i.hasOwnProperty(g))e.push(i[g]),this.forward();else if(j.hasOwnProperty(g))f=j[g],this.forward(),k(f).forEach(m),h=parseInt(this.prefix(f),16),e.push(String.fromCharCode(h)),this.forward(f);else{if(!(0<="\r\n
\u2028\u2029".indexOf(g)))throw new l("while scanning a double-quoted scalar"
|
23
|
-
,c,"found unknown escape character "+g,this.getMark());this.scanLineBreak(),e=e.concat(this.scanFlowScalarBreaks(b,c))}}}},n.prototype.scanFlowScalarSpaces=function(b,c){var d,e,f,g,h,i;d=[],e=0;while(0<=" \t".indexOf(this.peek(e)))e+=1;f=this.prefix(e),this.forward(e),g=this.peek();if(g==="\0")throw new l("while scanning a quoted scalar",c,"found unexpected end of stream",this.getMark());return 0<="\r\n
\u2028\u2029".indexOf(g)?(h=this.scanLineBreak(),i=this.scanFlowScalarBreaks(b,c),h!=="\n"?d.push(h):i||d.push(" "),d=d.concat(i)):d.push(f),d},n.prototype.scanFlowScalarBreaks=function(b,c){var d=[],e;for(;;){e=this.prefix(3);if((e==="---"||e==="...")&&0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(3)))throw new l("while scanning a quoted scalar",c,"found unexpected document separator",this.getMark());while(0<=" \t".indexOf(this.peek()))this.forward();if(!(0<="\r\n
\u2028\u2029".indexOf(this.peek())))return d;d.push(this.scanLineBreak())}},n.prototype.scanPlain=function(){var b,c,d,e,f,g,i;c=[],d=this.getMark(),e=d,f=this.indent+1,g=[];for(;;){i=0;if(this.peek()==="#")break;for(;;){b=this.peek(i);if(0<="\0 \t\r\n
\u2028\u2029".indexOf(b)||!this.flowLevel&&b===":"&&0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(i+1))||this.flowLevel&&0<=",:?[]{}".indexOf(b))break;i+=1}if(this.flowLevel&&b===":"&&-1==="\0 \t\r\n
\u2028\u2029,[]{}".indexOf(this.peek(i+1)))throw this.forward(i),new l("while scanning a plain scalar",d,"found unexpected ':'",this.getMark(),"Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.");if(i===0)break;this.allowSimpleKey=!1,c=c.concat(g),c.push(this.prefix(i)),this.forward(i),e=this.getMark(),g=this.scanPlainSpaces(f,d);if(!Array.isArray(g)||!g.length||this.peek()==="#"||!this.flowLevel&&this.column<f)break}return new h.ScalarToken(c.join(""),!0,d,e)},n.prototype.scanPlainSpaces=function(b,c){var d,e,f,g,h,i,j;d=[],e=0;while(this.peek(e)===" ")e+=1;f=this.prefix(e),this.forward(e),g=this.peek();if(0<="\r\n
\u2028\u2029".indexOf(g)){j=this.scanLineBreak(),this.allowSimpleKey=!0,h=this.prefix(3);if((h==="---"||h==="...")&&0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(3)))return;i=[];while(0<=" \r\n
\u2028\u2029".indexOf(this.peek()))if(this.peek()===" ")this.forward();else{i.push(this.scanLineBreak()),h=this.prefix(3);if((h==="---"||h==="...")&&0<="\0 \t\r\n
\u2028\u2029".indexOf(this.peek(3)))return}j!=="\n"?d.push(j):(!i||!i.length)&&d.push(" "),d=d.concat(i)}else f&&d.push(f);return d},n.prototype.scanTagHandle=function(b,c){var d,e,f;d=this.peek();if(d!=="!")throw new l("while scanning a "+b,c,"expected '!', but found "+d,this.getMark());e=1,d=this.peek(e);if(d!==" "){while(/^[0-9A-Za-z]/.test(d)||0<="-_".indexOf(d))e+=1,d=this.peek(e);if(d!=="!")throw this.forward(e),new l("while scanning a "+b,c,"expected '!', but found "+d,this.getMark());e+=1}return f=this.prefix(e),this.forward(e),f},n.prototype.scanTagUri=function(b,c){var d,e,f;d=[],e=0,f=this.peek(e);while(/^[0-9A-Za-z]/.test(f)||0<="-;/?:@&=+$,_.!~*'()[]%".indexOf(f))f==="%"?(d.push(this.prefix(e)),this.forward(e),e=0,d.push(this.scanUriEscapes(b,c))):e+=1,f=this.peek(e);e&&(d.push(this.prefix(e)),this.forward(e),e=0);if(!d.length)throw new l("while parsing a "+b,c,"expected URI, but found "+f,this.getMark());return d.join("")},n.prototype.scanUriEscapes=function(b,c){var d=this,e,f,g,h;e=[],f=this.getMark(),h=function(a){if(-1==="0123456789ABCDEFabcdef".indexOf(d.peek(a)))throw new l("while scanning a "+b,c,"expected URI escape sequence of 2 hexdecimal numbers, but found "+d.peek(a),d.getMark())};while(this.peek()==="%")this.forward(),k(2).forEach(h),e.push(parseInt(this.prefix(2),16)),this.forward(2);try{g=(new Buffer(e)).toString("utf8")}catch(i){throw new l("while scanning a "+b,c,i.toString(),f)}return g},n.prototype.scanLineBreak=function(){var b;return b=this.peek(),0<="\r\n
".indexOf(b)?(this.prefix(2)==="\r\n"?this.forward(2):this.forward(),"\n"):0<="\u2028\u2029".indexOf(b)?(this.forward(),b):""},b.exports.Scanner=n}),a.define("/lib/js-yaml/tokens.js",function(a,b,c,d,e){function g(a,b){this.startMark=a||null,this.endMark=b||null}function h(a,b,c,d){g.call(this,c,d),this.name=a,this.value=b}function i(){g.apply(this,arguments)}function j(){g.apply(this,arguments)}function k(a,b,c){g.call(this,a,b),this.encoding=c||null}function l(){g.apply(this,arguments)}function m(){g.apply(this,arguments)}function n(){g.apply(this,arguments)}function o(){g.apply(this,arguments)}function p(){g.apply(this,arguments)}function q(){g.apply(this,arguments)}function r(){g.apply(this,arguments)}function s(){g.apply(this,arguments)}function t(){g.apply(this,arguments)}function u(){g.apply(this,arguments)}function v(){g.apply(this,arguments)}function w(){g.apply(this,arguments)}function x(a,b,c){g.call(this,b,c),this.value=a}function y(a,b,c){g.call(this,b,c),this.value=a}function z(a,b,c){g.call(this,b,c),this.value=a}function A(a,b,c,d,e){g.call(this,c,d),this.value=a,this.plain=b,this.style=e||null}"use strict";var f=a("./common");g.prototype.hash=g.prototype.toString=function B(){var a=[],b=this;return Object.getOwnPropertyNames(this).forEach(function(c){/startMark|endMark|__meta__/.test(c)||a.push(c+":"+b[c])}),this.constructor.name+"("+a.join(", ")+")"},f.inherits(h,g),h.id="<directive>",f.inherits(i,g),i.id="<document start>",f.inherits(j,g),j.id="<document end>",f.inherits(k,g),k.id="<stream start>",f.inherits(l,g),l.id="<stream end>",f.inherits(m,g),m.id="<block sequence start>",f.inherits(n,g),n.id="<block mapping start>",f.inherits(o,g),o.id="<block end>",f.inherits(p,g),p.id="[",f.inherits(q,g),q.id="{",f.inherits(r,g),r.id="]",f.inherits(s,g),s.id="}",f.inherits(t,g),t.id="?",f.inherits(u,g),u.id=":",f.inherits(v,g),v.id="-",f.inherits(w,g),w.id=",",f.inherits(x,g),x.id="<alias>",f.inherits(y,g),y.id="<anchor>",f.inherits(z,g),z.id="<tag>",f.inherits(A,g),z.id="<scalar>",b.exports.DirectiveToken=h,b.exports.DocumentStartToken=i,b.exports.DocumentEndToken=j,b.exports.StreamStartToken=k,b.exports.StreamEndToken=l,b.exports.BlockSequenceStartToken=m,b.exports.BlockMappingStartToken=n,b.exports.BlockEndToken=o,b.exports.FlowSequenceStartToken=p,b.exports.FlowMappingStartToken=q,b.exports.FlowSequenceEndToken=r,b.exports.FlowMappingEndToken=s,b.exports.KeyToken=t,b.exports.ValueToken=u,b.exports.BlockEntryToken=v,b.exports.FlowEntryToken=w,b.exports.AliasToken=x,b.exports.AnchorToken=y,b.exports.TagToken=z,b.exports.ScalarToken=A}),a.define("/lib/js-yaml/parser.js",function(a,b,c,d,e){function j(){g.MarkedYAMLError.apply(this,arguments),this.name="ParserError"}function l(a){this.currentEvent=null,this.yamlVersion=null,this.tagHandles={},this.states=[],this.marks=[],this.state=this.parseStreamStart.bind(this)}"use strict";var f=a("./common"),g=a("./errors"),h=a("./tokens"),i=a("./events");f.inherits(j,g.MarkedYAMLError);var k={"!":"!","!!":"tag:yaml.org,2002:"};l.prototype.dispose=function(){this.states=[],this.state=null},l.prototype.checkEvent=function(){var b;null===this.currentEvent&&!!this.state&&(this.currentEvent=this.state());if(null!==this.currentEvent){if(0===arguments.length)return!0;for(b=0;b<arguments.length;b+=1)if(f.isInstanceOf(this.currentEvent,arguments[b]))return!0}return!1},l.prototype.peekEvent=function(){return null===this.currentEvent&&!!this.state&&(this.currentEvent=this.state()),this.currentEvent},l.prototype.getEvent=function(){var b;return null===this.currentEvent&&!!this.state&&(this.currentEvent=this.state()),b=this.currentEvent,this.currentEvent=null,b},l.prototype.parseStreamStart=function(){var b,c;return b=this.getToken(),c=new i.StreamStartEvent(b.startMark,b.endMark,b.encoding),this.state=this.parseImplicitDocumentStart.bind(this),c},l.prototype.parseImplicitDocumentStart=function(){var b,c;return this.checkToken(h.DirectiveToken,h.DocumentStartToken,h.StreamEndToken)?this.parseDocumentStart():(this.tagHandles=k,b=this.peekToken(),c=new i.DocumentStartEvent(b.startMark,b.startMark,!1),this.states.push(this.parseDocumentEnd.bind(this)),this.state=this.parseBlockNode.bind(this),c)},l.prototype.parseDocumentStart=function(){var b,c,d,e,f,k;while(this.checkToken(h.DocumentEndToken))this.getToken();if(this.checkToken(h.StreamEndToken)){b=this.getToken(),c=new i.StreamEndEvent(b.startMark,b.endMark);if(this.states&&this.states.length)throw new g.YAMLError("States supposed to be empty");if(this.marks&&this.marks.length)throw new g.YAMLError("Marks supposed to be empty");return this.state=null,c}b=this.peekToken(),f=b.startMark,k=this.processDirectives(),d=k.shift(),e=k.shift();if(!this.checkToken(h.DocumentStartToken))throw new j(null,null,"expected '<document start>', but found "+this.peekToken().constructor.id,this.peekToken().startMark);return b=this.getToken(),c=new i.DocumentStartEvent(f,b.endMark,!0,d,e),this.states.push(this.parseDocumentEnd.bind(this)),this.state=this.parseDocumentContent.bind(this),c},l.prototype.parseDocumentEnd=function(){var b,c,d,e,f;return b=this.peekToken(),e=f=b.startMark,d=!1,this.checkToken(h.DocumentEndToken)&&(b=this.getToken(),f=b.endMark,d=!0),c=new i.DocumentEndEvent(e,f,d),this.state=this.parseDocumentStart.bind(this),c},l.prototype.parseDocumentContent=function(){var b;return this.checkToken(h.DirectiveToken,h.DocumentStartToken,h.DocumentEndToken,h.StreamEndToken)?(b=this.processEmptyScalar(this.peekToken().startMark),this.state=this.states.pop(),b):this.parseBlockNode()},l.prototype.processDirectives=function(){var b,c,d,e;this.yamlVersion=null,this.tagHandles={};while(this.checkToken(h.DirectiveToken)){b=this.getToken();if("YAML"===b.name){if(null!==this.yamlVersion)throw new j(null,null,"found duplicate YAML directive",b.startMark);if(1!==+b.value[0])throw new j(null,null,"found incompatible YAML document (version 1.* is required)",b.startMark);this.yamlVersion=b.value}else if("TAG"===b.name){c=b.value[0],d=b.value[1];if(undefined!==this.tagHandles[c])throw new j(null,null,"duplicate tag handle "+c,b.startMark);this.tagHandles[c]=d}}return Object.getOwnPropertyNames(this.tagHandles).length?(e=[this.yamlVersion,{}],Object.getOwnPropertyNames(this.tagHandles).forEach(function(a){e[1][a]=this.tagHandles[a]}.bind(this))):e=[this.yamlVersion,null],Object.getOwnPropertyNames(k).forEach(function(a){undefined===this.tagHandles[a]&&(this.tagHandles[a]=k[a])}.bind(this)),e},l.prototype.parseBlockNode=function(){return this.parseNode(!0)},l.prototype.parseFlowNode=function(){return this.parseNode()},l.prototype.parseBlockNodeOrIndentlessSequence=function(){return this.parseNode(!0,!0)},l.prototype.parseNode=function(b,c){var d,e,f=null,g=null,k=null,l,m,n=null,o=null,p,q;b=b||!1,c=c||!1;if(this.checkToken(h.AliasToken))d=this.getToken(),e=new i.AliasEvent(d.value,d.startMark,d.endMark),this.state=this.states.pop();else{f=null,g=null,k=l=m=null,this.checkToken(h.AnchorToken)?(d=this.getToken(),k=d.startMark,l=d.endMark,f=d.value,this.checkToken(h.TagToken)&&(d=this.getToken(),m=d.startMark,l=d.endMark,g=d.value)):this.checkToken(h.TagToken)&&(d=this.getToken(),k=m=d.startMark,l=d.endMark,g=d.value,this.checkToken(h.AnchorToken)&&(d=this.getToken(),l=d.endMark,f=d.value));if(null!==g){n=g[0],o=g[1];if(null===n)g=o;else{if(undefined===this.tagHandles[n])throw new j("while parsing a node",k,"found undefined tag handle "+n,m);g=this.tagHandles[n]+o}}null===k&&(k=l=this.peekToken().startMark),e=null,p=null===g||"!"===g;if(c&&this.checkToken(h.BlockEntryToken))l=this.peekToken().endMark,e=new i.SequenceStartEvent(f,g,p,k,l),this.state=this.parseIndentlessSequenceEntry.bind(this);else if(this.checkToken(h.ScalarToken))d=this.getToken(),l=d.endMark,d.plain&&null===g||"!"===g?p=[!0,!1]:null===g?p=[!1,!0]:p=[!1,!1],e=new i.ScalarEvent(f,g,p,d.value,k,l,d.style),this.state=this.states.pop();else if(this.checkToken(h.FlowSequenceStartToken))l=this.peekToken().endMark,e=new i.SequenceStartEvent(f,g,p,k,l,!0),this.state=this.parseFlowSequenceFirstEntry.bind(this);else if(this.checkToken(h.FlowMappingStartToken))l=this.peekToken().endMark,e=new i.MappingStartEvent(f,g,p,k,l,!0),this.state=this.parseFlowMappingFirstKey.bind(this);else if(b&&this.checkToken(h.BlockSequenceStartToken))l=this.peekToken().startMark,e=new i.SequenceStartEvent(f,g,p,k,l,!1),this.state=this.parseBlockSequenceFirstEntry.bind(this);else if(b&&this.checkToken(h.BlockMappingStartToken))l=this.peekToken().startMark,e=new i.MappingStartEvent(f,g,p,k,l,!1),this.state=this.parseBlockMappingFirstKey.bind(this);else{if(null===f&&null===g)throw q=b?"block":"flow",d=this.peekToken(),new j("while parsing a "+q+" node",k,"expected the node content, but found "+d.constructor.id,d.startMark);e=new i.ScalarEvent(f,g,[p,!1],"",k,l),this.state=this.states.pop()}}return e},l.prototype.parseBlockSequenceFirstEntry=function(){var b=this.getToken();return this.marks.push(b.startMark),this.parseBlockSequenceEntry()},l.prototype.parseBlockSequenceEntry=function(){var b,c;if(this.checkToken(h.BlockEntryToken))return b=this.getToken(),this.checkToken(h.BlockEntryToken,h.BlockEndToken)?(this.state=this.parseBlockSequenceEntry.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseBlockSequenceEntry.bind(this)),this.parseBlockNode());if(!this.checkToken(h.BlockEndToken))throw b=this.peekToken(),new j("while parsing a block collection",this.marks[this.marks.length-1],"expected <block end>, but found "+b.constructor.id,b.startMark);return b=this.getToken(),c=new i.SequenceEndEvent(b.startMark,b.endMark),this.state=this.states.pop(),this.marks.pop(),c},l.prototype.parseIndentlessSequenceEntry=function(){var b,c;return this.checkToken(h.BlockEntryToken)?(b=this.getToken(),this.checkToken(h.BlockEntryToken,h.KeyToken,h.ValueToken,h.BlockEndToken)?(this.state=this.parseIndentlessSequenceEntry.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseIndentlessSequenceEntry.bind(this)),this.parseBlockNode())):(b=this.peekToken(),c=new i.SequenceEndEvent(b.startMark,b.startMark),this.state=this.states.pop(),c)},l.prototype.parseBlockMappingFirstKey=function(){var b=this.getToken();return this.marks.push(b.startMark),this.parseBlockMappingKey()},l.prototype.parseBlockMappingKey=function(){var b,c;if(this.checkToken(h.KeyToken))return b=this.getToken(),this.checkToken(h.KeyToken,h.ValueToken,h.BlockEndToken)?(this.state=this.parseBlockMappingValue.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseBlockMappingValue.bind(this)),this.parseBlockNodeOrIndentlessSequence());if(!this.checkToken(h.BlockEndToken))throw b=this.peekToken(),new j("while parsing a block mapping",this.marks[this.marks.length-1],"expected <block end>, but found "+b.constructor.id,b.startMark);return b=this.getToken(),c=new i.MappingEndEvent(b.startMark,b.endMark),this.state=this.states.pop(),this.marks.pop(),c},l.prototype.parseBlockMappingValue=function(){var b,c;return this.checkToken(h.ValueToken)?(b=this.getToken(),this.checkToken(h.KeyToken,h.ValueToken,h.BlockEndToken)?(this.state=this.parseBlockMappingKey.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseBlockMappingKey.bind(this)),this.parseBlockNodeOrIndentlessSequence())):(this.state=this.parseBlockMappingKey.bind(this),b=this.peekToken(),this.processEmptyScalar(b.startMark))},l.prototype.parseFlowSequenceFirstEntry=function(){var b=this.getToken();return this.marks.push(b.startMark),this.parseFlowSequenceEntry(!0)},l.prototype.parseFlowSequenceEntry=function(b){var c,d;b=b||!1;if(!this.checkToken(h.FlowSequenceEndToken)){if(!b){if(!this.checkToken(h.FlowEntryToken))throw c=this.peekToken(),new j("while parsing a flow sequence",this.marks[this.marks.length-1],"expected ',' or ']', but got "+c.constructor.id,c.startMark);this.getToken()}if(this.checkToken(h.KeyToken))return c=this.peekToken(),d=new i.MappingStartEvent(null,null,!0,c.startMark,c.endMark,!0),this.state=this.parseFlowSequenceEntryMappingKey.bind(this),d;if(!this.checkToken(h.FlowSequenceEndToken))return this.states.push(this.parseFlowSequenceEntry.bind(this)),this.parseFlowNode()}return c=this.getToken(),d=new i.SequenceEndEvent(c.startMark,c.endMark),this.state=this.states.pop(),this.marks.pop(),d},l.prototype.parseFlowSequenceEntryMappingKey=function(){var b=this.getToken();return this.checkToken(h.ValueToken,h.FlowEntryToken,h.FlowSequenceEndToken)?(this.state=this.parseFlowSequenceEntryMappingValue.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseFlowSequenceEntryMappingValue.bind(this)),this.parseFlowNode())},l.prototype.parseFlowSequenceEntryMappingValue=function(){var b;return this.checkToken(h.ValueToken)?(b=this.getToken(),this.checkToken(h.FlowEntryToken,h.FlowSequenceEndToken)?(this.state=this.parseFlowSequenceEntryMappingEnd.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseFlowSequenceEntryMappingEnd.bind(this)),this.parseFlowNode())):(this.state=this.parseFlowSequenceEntryMappingEnd.bind(this),b=this.peekToken(),this.processEmptyScalar(b.startMark))},l.prototype.parseFlowSequenceEntryMappingEnd=function(){var b;return this.state=this.parseFlowSequenceEntry.bind(this),b=this.peekToken(),new i.MappingEndEvent(b.startMark,b.startMark)},l.prototype.parseFlowMappingFirstKey=function(){var b=this.getToken();return this.marks.push(b.startMark),this.parseFlowMappingKey(!0)},l.prototype.parseFlowMappingKey=function(b){var c,d;b=b||!1;if(!this.checkToken(h.FlowMappingEndToken)){if(!b){if(!this.checkToken(h.FlowEntryToken))throw c=this.peekToken(),new j("while parsing a flow mapping",this.marks[this.marks.length-1],"expected ',' or '}', but got "+c.constructor.id,c.startMark);this.getToken()}if(this.checkToken(h.KeyToken))return c=this.getToken(),this.checkToken(h.ValueToken,h.FlowEntryToken,h.FlowMappingEndToken)?(this.state=this.parseFlowMappingValue.bind(this),this.processEmptyScalar(c.endMark)):(this.states.push(this.parseFlowMappingValue.bind(this)),this.parseFlowNode());if(!this.checkToken(h.FlowMappingEndToken))return this.states.push(this.parseFlowMappingEmptyValue.bind(this)),this.parseFlowNode()}return c=this.getToken(),d=new i.MappingEndEvent(c.startMark,c.endMark),this.state=this.states.pop(),this.marks.pop(),d},l.prototype.parseFlowMappingValue=function(){var b;return this.checkToken(h.ValueToken)?(b=this.getToken(),this.checkToken(h.FlowEntryToken,h.FlowMappingEndToken)?(this.state=this.parseFlowMappingKey.bind(this),this.processEmptyScalar(b.endMark)):(this.states.push(this.parseFlowMappingKey.bind(this)),this.parseFlowNode())):(this.state=this.parseFlowMappingKey.bind(this),b=this.peekToken(),this.processEmptyScalar(b.startMark))},l.prototype.parseFlowMappingEmptyValue=function(){return this.state=this.parseFlowMappingKey.bind(this),this.processEmptyScalar(this.peekToken().startMark)},l.prototype.processEmptyScalar=function(b){return new i.ScalarEvent(null,null,[!0,!1],"",b,b)},b.exports.Parser=l}),a.define("/lib/js-yaml/events.js",function(a,b,c,d,e){function h(a,b){this.startMark=a||null,this.endMark=b||null}function i(a,b,c){h.call(this,b,c),this.anchor=a}function j(a,b,c,d,e,f){i.call(this,a,d,e),this.tag=b,this.implicit=c,this.flowStyle=f||null}function k(){h.apply(this,arguments)}function l(a,b,c){h.call(this,a,b),this.encoding=c||null}function m(){h.apply(this,arguments)}function n(a,b,c,d,e){h.call(this,a,b),this.explicit=c||null,this.version=d||null,this.tags=e||null}function o(a,b,c){h.call(this,a,b),this.explicit=c||null}function p(){i.apply(this,arguments)}function q(a,b,c,d,e,f,g){i.call(this,a,e,f),this.tag=b,this.implicit=c,this.value=d,this.style=g||null}function r(){j.apply(this,arguments)}function s(){k.apply(this,arguments)}function t(){j.apply(this,arguments)}function u(){k.apply(this,arguments)}"use strict";var f=a("./common"),g=["anchor","tag","implicit","value"];h.prototype.hash=h.prototype.toString=function v(){var a=this,b=[];return Object.getOwnPropertyNames(this).forEach(function(c){0<=g.indexOf(c)&&b.push(c+"="+a[c])}),this.constructor.name+"("+b.join(", ")+")"},f.inherits(i,h),f.inherits(j,i),f.inherits(k,h),f.inherits(l,h),f.inherits(m,h),f.inherits(n,h),f.inherits(o,h),f.inherits(p,i),f.inherits(q,i),f.inherits(r,j),f.inherits(s,k),f.inherits(t,j),f.inherits(u,k),b.exports.NodeEvent=i,b.exports.CollectionStartEvent=j,b.exports.CollectionEndEvent=k,b.exports.StreamStartEvent=l,b.exports.StreamEndEvent=m,b.exports.DocumentStartEvent=n,b.exports.DocumentEndEvent=o,b.exports.AliasEvent=p,b.exports.ScalarEvent=q,b.exports.SequenceStartEvent=r,b.exports.SequenceEndEvent=s,b.exports.MappingStartEvent=t,b.exports.MappingEndEvent=u}),a.define("/lib/js-yaml/composer.js",function(a,b,c,d,e){function j(){i.MarkedYAMLError.apply(this,arguments),this.name="ComposerError"}function k(){this.anchors={}}"use strict";var f=a("./common"),g=a("./nodes"),h=a("./events"),i=a("./errors");f.inherits(j,i.MarkedYAMLError),k.prototype.checkNode=function(){return this.checkEvent(h.StreamStartEvent)&&this.getEvent(),!this.checkEvent(h.StreamEndEvent)},k.prototype.getNode=function(){return this.checkEvent(h.StreamEndEvent)?null:this.composeDocument()},k.prototype.getSingleNode=function(){var b=null;this.getEvent(),this.checkEvent(h.StreamEndEvent)||(b=this.composeDocument());if(!this.checkEvent(h.StreamEndEvent))throw new j("expected a single document in the stream",b.startMark,"but found another document",this.getEvent().startMark);return this.getEvent(),b},k.prototype.composeDocument=function(){var b;return this.getEvent(),b=this.composeNode(null,null),this.getEvent(),this.anchors={},b},k.prototype.composeNode=function(b,c){var d=null,e,f;if(this.checkEvent(h.AliasEvent)){e=this.getEvent(),f=e.anchor;if(undefined===this.anchors[f])throw new j(null,null,"found undefined alias "+f,e.startMark);return this.anchors[f]}e=this.peekEvent(),f=e.anchor;if(null!==f&&undefined!==this.anchors[f])throw new j("found duplicate anchor "+f+"; first occurence",this.anchors[f].startMark,"second occurence",e.startMark);return this.checkEvent(h.ScalarEvent)?d=this.composeScalarNode(f):this.checkEvent(h.SequenceStartEvent)?d=this.composeSequenceNode(f):this.checkEvent(h.MappingStartEvent)&&(d=this.composeMappingNode(f)),d},k.prototype.composeScalarNode=function(b){var c,d,e;return c=this.getEvent(),d=c.tag,null===d?d=this.resolve(g.ScalarNode,c.value,c.implicit):"!"===d&&(d=this.resolve(g.ScalarNode,c.value,!1)),e=new g.ScalarNode(d,c.value,c.startMark,c.endMark,c.style),null!==b&&(this.anchors[b]=e),e},k.prototype.composeSequenceNode=function(b){var c,d,e,f,i,j;c=this.getEvent(),e=c.tag,null===e?e=this.resolve(g.SequenceNode,null,c.implicit):"!"===e&&(e=this.resolve(g.SequenceNode,null,!1)),f=new g.SequenceNode(e,[],c.startMark,null,c.flowStyle),null!==b&&(this.anchors[b]=f),i=0;while(!this.checkEvent(h.SequenceEndEvent))f.value.push(this.composeNode(f,i)),i+=1;return j=this.getEvent(),f.endMark=j.endMark,f},k.prototype.composeMappingNode=function(b){var c,d,e,f,i,j,k;c=this.getEvent(),e=c.tag,null===e?e=this.resolve(g.MappingNode,null,c.implicit):"!"===e&&(e=this.resolve(g.MappingNode,null,!1)),f=new g.MappingNode(e,[],c.startMark,null,c.flowStyle),null!==b&&(this.anchors[b]=f);while(!this.checkEvent(h.MappingEndEvent))i=this.composeNode(f,null),j=this.composeNode(f,i),f.value.push([i,j]);return k=this.getEvent(),f.endMark=k.endMark,f},b.exports.Composer=k}),a.define("/lib/js-yaml/nodes.js",function(a,b,c,d,e){function g(a,b,c,d){this.tag=a,this.value=b,this.startMark=c||null,this.endMark=d||null}function h(a,b,c,d,e){g.call(this,a,b,c,d),this.style=e||null}function i(a,b,c,d,e){g.call(this,a,b,c,d),this.flowStyle=e||null}function j(){i.apply(this,arguments)}function k(){i.apply(this,arguments)}"use strict";var f=a("./common");g.prototype.hash=g.prototype.toString=function l(){var a=this.value.toString();return this.constructor.name+"("+this.tag+", "+a+")"},f.inherits(h,g),h.id="scalar",f.inherits(i,g),f.inherits(j,i),j.id="sequence",f.inherits(k,i),k.id="mapping",b.exports.ScalarNode=h,b.exports.SequenceNode=j,b.exports.MappingNode=k}),a.define("/lib/js-yaml/resolver.js",function(a,b,c,d,e){function k(){this.resolverExactPaths=[],this.resolverPrefixPaths=[],this.yamlImplicitResolvers=k.yamlImplicitResolvers}function l(){k.apply(this,arguments),this.yamlImplicitResolvers=l.yamlImplicitResolvers}"use strict";var f=a("./common"),g=a("./nodes"),h="tag:yaml.org,2002:str",i="tag:yaml.org,2002:seq",j="tag:yaml.org,2002:map";k.yamlImplicitResolvers={},k.addImplicitResolver=function(b,c,d){var e=this;undefined===d&&(d=[null]),d.forEach(function(a){undefined===e.yamlImplicitResolvers[a]&&(e.yamlImplicitResolvers[a]=[]),e.yamlImplicitResolvers[a].push([b,c])})},k.prototype.resolve=function(b,c,d){var e,f,k,l;if(b===g.ScalarNode&&d&&d[0]){c===""?e=this.yamlImplicitResolvers[""]||[]:e=this.yamlImplicitResolvers[c[0]]||[],e=e.concat(this.yamlImplicitResolvers[null]||[]);for(f=0;f<e.length;f+=1){k=e[f][0],l=e[f][1];if(l.test(c))return k}}return b===g.ScalarNode?k=h:b===g.SequenceNode?k=i:b===g.MappingNode?k=j:k=null,k},f.inherits(l,k),l.yamlImplicitResolvers={},l.addImplicitResolver=k.addImplicitResolver,l.addImplicitResolver("tag:yaml.org,2002:bool",new RegExp("^(?:y|yes|Yes|YES|n|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)$"),["y","Y","n","N","t","T","f","F","o","O"]),l.addImplicitResolver("tag:yaml.org,2002:float",new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),["-","+","0","1","2","3","4","5","6","7","8","9","."]),l.addImplicitResolver("tag:yaml.org,2002:int",new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[0-9a-fA-F_]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$"),["-","+","0","1","2","3","4","5","6","7","8","9"]),l.addImplicitResolver("tag:yaml.org,2002:merge",new RegExp("^(?:<<)$"),["<"]),l.addImplicitResolver("tag:yaml.org,2002:null",new RegExp("^(?:~|null|Null|NULL|)$"),["~","n","N",""]),l.addImplicitResolver("tag:yaml.org,2002:timestamp",new RegExp("^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]|[0-9][0-9][0-9][0-9]-[0-9][0-9]?-[0-9][0-9]?(?:[Tt]|[ \\t]+)[0-9][0-9]?:[0-9][0-9]:[0-9][0-9](?:\\.[0-9]*)?(?:[ \\t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$"),["0","1","2","3","4","5","6","7","8","9"]),l.addImplicitResolver("tag:yaml.org,2002:value",new RegExp("^(?:=)$"),["="]),l.addImplicitResolver("tag:yaml.org,2002:yaml",new RegExp("^(?:!|&|\\*)$"),["!","&","*"]),b.exports.BaseResolver=k,b.exports.Resolver=l}),a.define("/lib/js-yaml/constructor.js",function(a,b,c,d,e){function i(){g.MarkedYAMLError.apply(this,arguments),this.name="ConstructorError"}function l(){this.constructedObjects=new f.Hash,this.recursiveObjects=new f.Hash,this.statePopulators=[],this.deepConstruct=!1,this.yamlConstructors=l.yamlConstructors}function m(){l.apply(this),this.yamlConstructors=m.yamlConstructors}function n(){m.apply(this),this.yamlConstructors=n.yamlConstructors}"use strict";var f=a("./common"),g=a("./errors"),h=a("./nodes");f.inherits(i,g.MarkedYAMLError);var j={y:!0,yes:!0,n:!1,no:!1,"true":!0,"false":!1,on:!0,off:!1},k=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?)?$");l.yamlConstructors={},l.addConstructor=function(b,c){this.yamlConstructors[b]=c},l.prototype.checkData=function(){return this.checkNode()},l.prototype.getData=function(){if(this.checkNode())return this.constructDocument(this.getNode())},l.prototype.getSingleData=function(){var b=this.getSingleNode();return null!==b?this.constructDocument(b):null},l.prototype.constructDocument=function(b){var c=this.constructObject(b),d,e;d=function(a){a.execute()};while(!!this.statePopulators.length)e=this.statePopulators,this.statePopulators=[],e.forEach(d);return this.constructedObjects=new f.Hash,this.recursiveObjects=new f.Hash,this.deepConstruct=!1,c},l.prototype.constructObject=function(b,c){var d,e,g,h;if(this.constructedObjects.hasKey(b))return this.constructedObjects.get(b);!c||(e=this.deepConstruct,this.deepConstruct=!0);if(this.recursiveObjects.hasKey(b))throw new i(null,null,"found unconstructable recursive node",b.startMark);this.recursiveObjects.store(b,null);if(undefined!==this.yamlConstructors[b.tag])g=this.yamlConstructors[b.tag];else{if(undefined===this.yamlConstructors[null])throw new i(null,null,"can't find any constructor for tag="+b.tag,b.startMark);g=this.yamlConstructors[null]}return d=g.call(this,b),d instanceof f.Populator&&(h=d,d=h.data,this.deepConstruct?h.execute():this.statePopulators.push(h)),this.constructedObjects.store(b,d),this.recursiveObjects.remove(b),c&&(this.deepConstruct=e),d},l.prototype.constructScalar=function(b){if(!f.isInstanceOf(b,h.ScalarNode))throw new i(null,null,"expected a scalar node, but found "+b.id,b.startMark);return b.value},l.prototype.constructSequence=function(b,c){if(!f.isInstanceOf(b,h.SequenceNode))throw new i(null,null,"expected a sequence node, but found "+b.id,b.startMark);return b.value.map(function(a){return this.constructObject(a,c)},this)},l.prototype.constructMapping=function(b,c){var d;if(!f.isInstanceOf(b,h.MappingNode))throw new i(null,null,"expected a mapping node, but found "+b.id,b.startMark);return d={},f.each(b.value,function(a){var b=a[0],e=a[1],f,g;f=this.constructObject(b,c);if(undefined===b.hash)throw new i("while constructing a mapping",b.startMark,"found unhashable key",b.startMark);g=this.constructObject(e,c),d[f]=g},this),d},l.prototype.constructPairs=function(b,c){var d;if(!f.isInstanceOf(b,h.MappingNode))throw new i(null,null,"expected a mapping node, but found "+b.id,b.startMark);return d=[],f.each(b.value,function(a){var b,e;b=this.constructObject(a[0],c),e=this.constructObject(a[1],c),d.store(b,e)},this),d},f.inherits(m,l),m.yamlConstructors=f.extend({},l.yamlConstructors),m.addConstructor=l.addConstructor,m.prototype.constructScalar=function(b){var c;if(f.isInstanceOf(b,h.MappingNode)){f.each(b.value,function(a){var b=a[0],d=a[1],e;"tag:yaml.org,2002:value"===b.tag&&(c=this.constructScalar(d))},this);if(undefined!==c)return c}return l.prototype.constructScalar.call(this,b)},m.prototype.flattenMapping=function(b){var c=this,d=[],e=0,g,j,k,l,m,n;l=function(a){d.push(a)},m=function(a){a.forEach(l)},n=function(a){if(!f.isInstanceOf(a,h.MappingNode))throw new i("while constructing a mapping",b.startMark,"expected a mapping for merging, but found "+a.id,a.startMark);c.flattenMapping(a),k.push(a.value)};while(e<b.value.length){g=b.value[e][0],j=b.value[e][1];if("tag:yaml.org,2002:merge"===g.tag){b.value.splice(e,1);if(f.isInstanceOf(j,h.MappingNode))c.flattenMapping(j),f.each(j.value,l);else{if(!f.isInstanceOf(j,h.SequenceNode))throw new i("while constructing a mapping",b.startMark,"expected a mapping or list of mappings for merging, but found "+j.id,j.startMark);k=[],f.each(j.value,n),f.reverse(k).forEach(m)}}else"tag:yaml.org,2002:value"===g.tag?(g.tag="tag:yaml.org,2002:str",e+=1):e+=1}!d.length||(f.each(b.value,function(a){d.push(a)}),b.value=d)},m.prototype.constructMapping=function(b,c){return f.isInstanceOf(b,h.MappingNode)&&this.flattenMapping(b),l.prototype.constructMapping.call(this,b)},m.prototype.constructYamlNull=function(b){return this.constructScalar(b),null},m.prototype.constructYamlBool=function(b){var c=this.constructScalar(b);return j[c.toLowerCase()]},m.prototype.constructYamlInt=function(b){var c=this.constructScalar(b).replace(/_/g,""),d="-"===c[0]?-1:1,e,f=[];return 0<="+-".indexOf(c[0])&&(c=c.slice(1)),"0"===c?0:/^0b/.test(c)?d*parseInt(c.slice(2),2):/^0x/.test(c)?d*parseInt(c,16):"0"===c[0]?d*parseInt(c,8):0<=c.indexOf(":")?(c.split(":").forEach(function(a){f.unshift(parseInt(a,10))}),c=0,e=1,f.forEach(function(a){c+=a*e,e*=60}),d*c):d*parseInt(c,10)},m.prototype.constructYamlFloat=function(b){var c=this.constructScalar(b).replace(/_/g,""),d="-"===c[0]?-1:1,e,f=[];return 0<="+-".indexOf(c[0])&&(c=c.slice(1)),".inf"===c?1===d?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===c?NaN:0<=c.indexOf(":")?(c.split(":").forEach(function(a){f.unshift(parseFloat(a,10))}),c=0,e=1,f.forEach(function(a){c+=a*e,e*=60}),d*c):d*parseFloat(c,10)},m.prototype.constructYamlBinary=function(b){try{return f.decodeBase64(this.constructScalar(b))}catch(c){throw new i(null,null,"failed to decode base64 data: "+c.toString(),b.startMark)}},m.prototype.constructYamlTimestamp=function(b){var c,d,e,f,g,h,i,j=0,l=null,m,n,o;c=k.exec(this.constructScalar(b)),d=+c[1],e=+c[2]-1,f=+c[3];if(!c[4])return new Date(d,e,f);g=+c[4],h=+c[5],i=+c[6];if(!!c[7]){j=c[7].slice(0,3);while(j.length<3)j+="0";j=+j}return!c[9]||(m=+c[10],n=+(c[11]||0),l=(m*60+n)*6e4,"-"===c[9]&&(l=-l)),o=new Date(d,e,f,g,h,i,j),!l||
|
24
|
-
o.setTime(o.getTime()-l),o},m.prototype.constructYamlOmap=function(b){var c=this,d=[];return f.Populator(d,function(){if(!f.isInstanceOf(b,h.SequenceNode))throw new i("while constructing an ordered map",b.startMark,"expected a sequence, but found "+b.id,b.startMark);b.value.forEach(function(a){var e,g,j;if(!f.isInstanceOf(a,h.MappingNode))throw new i("while constructing an ordered map",b.startMark,"expected a mapping of length 1, but found "+a.id,a.startMark);if(1!==a.value.length)throw new i("while constructing an ordered map",b.startMark,"expected a single mapping item, but found "+a.value.length+" items",a.startMark);g=c.constructObject(a.value[0][0]),j=c.constructObject(a.value[0][1]),e=Object.create(null),e[g]=j,d.push(e)})})},m.prototype.constructYamlPairs=function(b){var c=this,d=[];return f.Populator(d,function(){if(!f.isInstanceOf(b,h.SequenceNode))throw new i("while constructing pairs",b.startMark,"expected a sequence, but found "+b.id,b.startMark);b.value.forEach(function(a){var e,g;if(!f.isInstanceOf(a,h.MappingNode))throw new i("while constructing pairs",b.startMark,"expected a mapping of length 1, but found "+a.id,a.startMark);if(1!==a.value.length)throw new i("while constructing pairs",b.startMark,"expected a single mapping item, but found "+a.value.length+" items",a.startMark);e=c.constructObject(a.value[0][0]),g=c.constructObject(a.value[0][1]),d.push([e,g])})})},m.prototype.constructYamlSet=function(b){var c={};return f.Populator(c,function(){f.extend(c,this.constructMapping(b))},this)},m.prototype.constructYamlStr=function(b){return this.constructScalar(b)},m.prototype.constructYamlSeq=function(b){var c=[];return f.Populator(c,function(){this.constructSequence(b).forEach(function(a){c.push(a)})},this)},m.prototype.constructYamlMap=function(b){var c={};return f.Populator(c,function(){f.extend(c,this.constructMapping(b,!0))},this)},m.prototype.constructUndefined=function(b){throw new i(null,null,"could not determine constructor for the tag "+b.tag,b.startMark)},m.addConstructor("tag:yaml.org,2002:null",m.prototype.constructYamlNull),m.addConstructor("tag:yaml.org,2002:bool",m.prototype.constructYamlBool),m.addConstructor("tag:yaml.org,2002:int",m.prototype.constructYamlInt),m.addConstructor("tag:yaml.org,2002:float",m.prototype.constructYamlFloat),m.addConstructor("tag:yaml.org,2002:binary",m.prototype.constructYamlBinary),m.addConstructor("tag:yaml.org,2002:timestamp",m.prototype.constructYamlTimestamp),m.addConstructor("tag:yaml.org,2002:omap",m.prototype.constructYamlOmap),m.addConstructor("tag:yaml.org,2002:pairs",m.prototype.constructYamlPairs),m.addConstructor("tag:yaml.org,2002:set",m.prototype.constructYamlSet),m.addConstructor("tag:yaml.org,2002:str",m.prototype.constructYamlStr),m.addConstructor("tag:yaml.org,2002:seq",m.prototype.constructYamlSeq),m.addConstructor("tag:yaml.org,2002:map",m.prototype.constructYamlMap),m.addConstructor(null,m.prototype.constructUndefined),f.inherits(n,m),n.yamlConstructors=f.extend({},m.yamlConstructors),n.addConstructor=m.addConstructor,n.prototype.constructJavascriptRegExp=function(b){var c=this.constructScalar(b),d=/\/([gim]*)$/.exec(c),e;return"/"===c[0]&&!!d&&4>=d[0].length&&(c=c.slice(1,c.length-d[0].length),e=d[1]),new RegExp(c,e)},n.prototype.constructJavascriptUndefined=function(b){var c;return c},n.prototype.constructJavascriptFunction=function(b){var c=new Function("return "+this.constructScalar(b));return c()},n.addConstructor("tag:yaml.org,2002:js/undefined",n.prototype.constructJavascriptUndefined),n.addConstructor("tag:yaml.org,2002:js/regexp",n.prototype.constructJavascriptRegExp),n.addConstructor("tag:yaml.org,2002:js/function",n.prototype.constructJavascriptFunction),b.exports.BaseConstructor=l,b.exports.SafeConstructor=m,b.exports.Constructor=n}),a.define("/index.js",function(a,b,c,d,e){b.exports=a("./lib/js-yaml.js")}),a("/index.js"),a("/lib/js-yaml")}();return a}();
|