publisci-server 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/bin/publisci-server +47 -0
  8. data/lib/publisci/helpers.rb +215 -0
  9. data/lib/publisci/public/src-min-noconflict/LICENSE +24 -0
  10. data/lib/publisci/public/src-min-noconflict/ace.js +11 -0
  11. data/lib/publisci/public/src-min-noconflict/ext-chromevox.js +1 -0
  12. data/lib/publisci/public/src-min-noconflict/ext-elastic_tabstops_lite.js +1 -0
  13. data/lib/publisci/public/src-min-noconflict/ext-emmet.js +1 -0
  14. data/lib/publisci/public/src-min-noconflict/ext-keybinding_menu.js +1 -0
  15. data/lib/publisci/public/src-min-noconflict/ext-language_tools.js +1 -0
  16. data/lib/publisci/public/src-min-noconflict/ext-modelist.js +1 -0
  17. data/lib/publisci/public/src-min-noconflict/ext-old_ie.js +1 -0
  18. data/lib/publisci/public/src-min-noconflict/ext-searchbox.js +1 -0
  19. data/lib/publisci/public/src-min-noconflict/ext-settings_menu.js +1 -0
  20. data/lib/publisci/public/src-min-noconflict/ext-spellcheck.js +1 -0
  21. data/lib/publisci/public/src-min-noconflict/ext-split.js +1 -0
  22. data/lib/publisci/public/src-min-noconflict/ext-static_highlight.js +1 -0
  23. data/lib/publisci/public/src-min-noconflict/ext-statusbar.js +1 -0
  24. data/lib/publisci/public/src-min-noconflict/ext-textarea.js +1 -0
  25. data/lib/publisci/public/src-min-noconflict/ext-themelist.js +1 -0
  26. data/lib/publisci/public/src-min-noconflict/ext-whitespace.js +1 -0
  27. data/lib/publisci/public/src-min-noconflict/keybinding-emacs.js +1 -0
  28. data/lib/publisci/public/src-min-noconflict/keybinding-vim.js +1 -0
  29. data/lib/publisci/public/src-min-noconflict/mode-ruby.js +1 -0
  30. data/lib/publisci/public/src-min-noconflict/snippets/ruby.js +1 -0
  31. data/lib/publisci/public/src-min-noconflict/theme-twilight.js +1 -0
  32. data/lib/publisci/public/src-min-noconflict/worker-coffee.js +1 -0
  33. data/lib/publisci/public/src-min-noconflict/worker-css.js +1 -0
  34. data/lib/publisci/public/src-min-noconflict/worker-javascript.js +1 -0
  35. data/lib/publisci/public/src-min-noconflict/worker-json.js +1 -0
  36. data/lib/publisci/public/src-min-noconflict/worker-lua.js +1 -0
  37. data/lib/publisci/public/src-min-noconflict/worker-php.js +1 -0
  38. data/lib/publisci/public/src-min-noconflict/worker-xquery.js +1 -0
  39. data/lib/publisci/routes.rb +123 -0
  40. data/lib/publisci/views/dsl.haml +65 -0
  41. data/lib/publisci/views/dump.haml +3 -0
  42. data/lib/publisci/views/import.haml +35 -0
  43. data/lib/publisci/views/new_repository.haml +25 -0
  44. data/lib/publisci/views/query.haml +28 -0
  45. data/lib/publisci/views/repository.haml +25 -0
  46. data/publisci-server.gemspec +26 -0
  47. metadata +205 -0
@@ -0,0 +1 @@
1
+ ace.define("ace/snippets/ruby",["require","exports","module"],function(e,t,n){t.snippetText='########################################\n# Ruby snippets - for Rails, see below #\n########################################\n\n# encoding for Ruby 1.9\nsnippet enc\n # encoding: utf-8\n\n# #!/usr/bin/env ruby\nsnippet #!\n #!/usr/bin/env ruby\n # encoding: utf-8\n\n# New Block\nsnippet =b\n =begin rdoc\n ${1}\n =end\nsnippet y\n :yields: ${1:arguments}\nsnippet rb\n #!/usr/bin/env ruby -wKU\nsnippet beg\n begin\n ${3}\n rescue ${1:Exception} => ${2:e}\n end\n\nsnippet req require\n require "${1}"${2}\nsnippet #\n # =>\nsnippet end\n __END__\nsnippet case\n case ${1:object}\n when ${2:condition}\n ${3}\n end\nsnippet when\n when ${1:condition}\n ${2}\nsnippet def\n def ${1:method_name}\n ${2}\n end\nsnippet deft\n def test_${1:case_name}\n ${2}\n end\nsnippet if\n if ${1:condition}\n ${2}\n end\nsnippet ife\n if ${1:condition}\n ${2}\n else\n ${3}\n end\nsnippet elsif\n elsif ${1:condition}\n ${2}\nsnippet unless\n unless ${1:condition}\n ${2}\n end\nsnippet while\n while ${1:condition}\n ${2}\n end\nsnippet for\n for ${1:e} in ${2:c}\n ${3}\n end\nsnippet until\n until ${1:condition}\n ${2}\n end\nsnippet cla class .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet cla class .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n def initialize(${2:args})\n ${3}\n end\n end\nsnippet cla class .. < ParentClass .. initialize .. end\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < ${2:ParentClass}\n def initialize(${3:args})\n ${4}\n end\n end\nsnippet cla ClassName = Struct .. do .. end\n ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} = Struct.new(:${2:attr_names}) do\n def ${3:method_name}\n ${4}\n end\n end\nsnippet cla class BlankSlate .. initialize .. end\n class ${1:BlankSlate}\n instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n end\nsnippet cla class << self .. end\n class << ${1:self}\n ${2}\n end\n# class .. < DelegateClass .. initialize .. end\nsnippet cla-\n class ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < DelegateClass(${2:ParentClass})\n def initialize(${3:args})\n super(${4:del_obj})\n\n ${5}\n end\n end\nsnippet mod module .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n ${2}\n end\nsnippet mod module .. module_function .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module_function\n\n ${2}\n end\nsnippet mod module .. ClassMethods .. end\n module ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n module ClassMethods\n ${2}\n end\n\n module InstanceMethods\n\n end\n\n def self.included(receiver)\n receiver.extend ClassMethods\n receiver.send :include, InstanceMethods\n end\n end\n# attr_reader\nsnippet r\n attr_reader :${1:attr_names}\n# attr_writer\nsnippet w\n attr_writer :${1:attr_names}\n# attr_accessor\nsnippet rw\n attr_accessor :${1:attr_names}\nsnippet atp\n attr_protected :${1:attr_names}\nsnippet ata\n attr_accessible :${1:attr_names}\n# include Enumerable\nsnippet Enum\n include Enumerable\n\n def each(&block)\n ${1}\n end\n# include Comparable\nsnippet Comp\n include Comparable\n\n def <=>(other)\n ${1}\n end\n# extend Forwardable\nsnippet Forw-\n extend Forwardable\n# def self\nsnippet defs\n def self.${1:class_method_name}\n ${2}\n end\n# def method_missing\nsnippet defmm\n def method_missing(meth, *args, &blk)\n ${1}\n end\nsnippet defd\n def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\nsnippet defds\n def_delegators :${1:@del_obj}, :${2:del_methods}\nsnippet am\n alias_method :${1:new_name}, :${2:old_name}\nsnippet app\n if __FILE__ == $PROGRAM_NAME\n ${1}\n end\n# usage_if()\nsnippet usai\n if ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\n# usage_unless()\nsnippet usau\n unless ARGV.${1}\n abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n end\nsnippet array\n Array.new(${1:10}) { |${2:i}| ${3} }\nsnippet hash\n Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\nsnippet file File.foreach() { |line| .. }\n File.foreach(${1:"path/to/file"}) { |${2:line}| ${3} }\nsnippet file File.read()\n File.read(${1:"path/to/file"})${2}\nsnippet Dir Dir.global() { |file| .. }\n Dir.glob(${1:"dir/glob/*"}) { |${2:file}| ${3} }\nsnippet Dir Dir[".."]\n Dir[${1:"glob/**/*.rb"}]${2}\nsnippet dir\n Filename.dirname(__FILE__)\nsnippet deli\n delete_if { |${1:e}| ${2} }\nsnippet fil\n fill(${1:range}) { |${2:i}| ${3} }\n# flatten_once()\nsnippet flao\n inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\nsnippet zip\n zip(${1:enums}) { |${2:row}| ${3} }\n# downto(0) { |n| .. }\nsnippet dow\n downto(${1:0}) { |${2:n}| ${3} }\nsnippet ste\n step(${1:2}) { |${2:n}| ${3} }\nsnippet tim\n times { |${1:n}| ${2} }\nsnippet upt\n upto(${1:1.0/0.0}) { |${2:n}| ${3} }\nsnippet loo\n loop { ${1} }\nsnippet ea\n each { |${1:e}| ${2} }\nsnippet ead\n each do |${1:e}|\n ${2}\n end\nsnippet eab\n each_byte { |${1:byte}| ${2} }\nsnippet eac- each_char { |chr| .. }\n each_char { |${1:chr}| ${2} }\nsnippet eac- each_cons(..) { |group| .. }\n each_cons(${1:2}) { |${2:group}| ${3} }\nsnippet eai\n each_index { |${1:i}| ${2} }\nsnippet eaid\n each_index do |${1:i}|\n ${2}\n end\nsnippet eak\n each_key { |${1:key}| ${2} }\nsnippet eakd\n each_key do |${1:key}|\n ${2}\n end\nsnippet eal\n each_line { |${1:line}| ${2} }\nsnippet eald\n each_line do |${1:line}|\n ${2}\n end\nsnippet eap\n each_pair { |${1:name}, ${2:val}| ${3} }\nsnippet eapd\n each_pair do |${1:name}, ${2:val}|\n ${3}\n end\nsnippet eas-\n each_slice(${1:2}) { |${2:group}| ${3} }\nsnippet easd-\n each_slice(${1:2}) do |${2:group}|\n ${3}\n end\nsnippet eav\n each_value { |${1:val}| ${2} }\nsnippet eavd\n each_value do |${1:val}|\n ${2}\n end\nsnippet eawi\n each_with_index { |${1:e}, ${2:i}| ${3} }\nsnippet eawid\n each_with_index do |${1:e},${2:i}|\n ${3}\n end\nsnippet reve\n reverse_each { |${1:e}| ${2} }\nsnippet reved\n reverse_each do |${1:e}|\n ${2}\n end\nsnippet inj\n inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\nsnippet injd\n inject(${1:init}) do |${2:mem}, ${3:var}|\n ${4}\n end\nsnippet map\n map { |${1:e}| ${2} }\nsnippet mapd\n map do |${1:e}|\n ${2}\n end\nsnippet mapwi-\n enum_with_index.map { |${1:e}, ${2:i}| ${3} }\nsnippet sor\n sort { |a, b| ${1} }\nsnippet sorb\n sort_by { |${1:e}| ${2} }\nsnippet ran\n sort_by { rand }\nsnippet all\n all? { |${1:e}| ${2} }\nsnippet any\n any? { |${1:e}| ${2} }\nsnippet cl\n classify { |${1:e}| ${2} }\nsnippet col\n collect { |${1:e}| ${2} }\nsnippet cold\n collect do |${1:e}|\n ${2}\n end\nsnippet det\n detect { |${1:e}| ${2} }\nsnippet detd\n detect do |${1:e}|\n ${2}\n end\nsnippet fet\n fetch(${1:name}) { |${2:key}| ${3} }\nsnippet fin\n find { |${1:e}| ${2} }\nsnippet find\n find do |${1:e}|\n ${2}\n end\nsnippet fina\n find_all { |${1:e}| ${2} }\nsnippet finad\n find_all do |${1:e}|\n ${2}\n end\nsnippet gre\n grep(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet sub\n ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\nsnippet sca\n scan(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet scad\n scan(${1:/pattern/}) do |${2:match}|\n ${3}\n end\nsnippet max\n max { |a, b| ${1} }\nsnippet min\n min { |a, b| ${1} }\nsnippet par\n partition { |${1:e}| ${2} }\nsnippet pard\n partition do |${1:e}|\n ${2}\n end\nsnippet rej\n reject { |${1:e}| ${2} }\nsnippet rejd\n reject do |${1:e}|\n ${2}\n end\nsnippet sel\n select { |${1:e}| ${2} }\nsnippet seld\n select do |${1:e}|\n ${2}\n end\nsnippet lam\n lambda { |${1:args}| ${2} }\nsnippet doo\n do\n ${1}\n end\nsnippet dov\n do |${1:variable}|\n ${2}\n end\nsnippet :\n :${1:key} => ${2:"value"}${3}\nsnippet ope\n open(${1:"path/or/url/or/pipe"}, "${2:w}") { |${3:io}| ${4} }\n# path_from_here()\nsnippet fpath\n File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n# unix_filter {}\nsnippet unif\n ARGF.each_line${1} do |${2:line}|\n ${3}\n end\n# option_parse {}\nsnippet optp\n require "optparse"\n\n options = {${1:default => "args"}}\n\n ARGV.options do |opts|\n opts.banner = "Usage: #{File.basename($PROGRAM_NAME)}\nsnippet opt\n opts.on( "-${1:o}", "--${2:long-option-name}", ${3:String},\n "${4:Option description.}") do |${5:opt}|\n ${6}\n end\nsnippet tc\n require "test/unit"\n\n require "${1:library_file_name}"\n\n class Test${2:$1} < Test::Unit::TestCase\n def test_${3:case_name}\n ${4}\n end\n end\nsnippet ts\n require "test/unit"\n\n require "tc_${1:test_case_file}"\n require "tc_${2:test_case_file}"${3}\nsnippet as\n assert ${1:test}, "${2:Failure message.}"${3}\nsnippet ase\n assert_equal ${1:expected}, ${2:actual}${3}\nsnippet asne\n assert_not_equal ${1:unexpected}, ${2:actual}${3}\nsnippet asid\n assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\nsnippet asio\n assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\nsnippet asko\n assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\nsnippet asn\n assert_nil ${1:instance}${2}\nsnippet asnn\n assert_not_nil ${1:instance}${2}\nsnippet asm\n assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\nsnippet asnm\n assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\nsnippet aso\n assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\nsnippet asr\n assert_raise ${1:Exception} { ${2} }\nsnippet asrd\n assert_raise ${1:Exception} do\n ${2}\n end\nsnippet asnr\n assert_nothing_raised ${1:Exception} { ${2} }\nsnippet asnrd\n assert_nothing_raised ${1:Exception} do\n ${2}\n end\nsnippet asrt\n assert_respond_to ${1:object}, :${2:method}${3}\nsnippet ass assert_same(..)\n assert_same ${1:expected}, ${2:actual}${3}\nsnippet ass assert_send(..)\n assert_send [${1:object}, :${2:message}, ${3:args}]${4}\nsnippet asns\n assert_not_same ${1:unexpected}, ${2:actual}${3}\nsnippet ast\n assert_throws :${1:expected} { ${2} }\nsnippet astd\n assert_throws :${1:expected} do\n ${2}\n end\nsnippet asnt\n assert_nothing_thrown { ${1} }\nsnippet asntd\n assert_nothing_thrown do\n ${1}\n end\nsnippet fl\n flunk "${1:Failure message.}"${2}\n# Benchmark.bmbm do .. end\nsnippet bm-\n TESTS = ${1:10_000}\n Benchmark.bmbm do |results|\n ${2}\n end\nsnippet rep\n results.report("${1:name}:") { TESTS.times { ${2} }}\n# Marshal.dump(.., file)\nsnippet Md\n File.open(${1:"path/to/file.dump"}, "wb") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n# Mashal.load(obj)\nsnippet Ml\n File.open(${1:"path/to/file.dump"}, "rb") { |${2:file}| Marshal.load($2) }${3}\n# deep_copy(..)\nsnippet deec\n Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\nsnippet Pn-\n PStore.new(${1:"file_name.pstore"})${2}\nsnippet tra\n transaction(${1:true}) { ${2} }\n# xmlread(..)\nsnippet xml-\n REXML::Document.new(File.read(${1:"path/to/file"}))${2}\n# xpath(..) { .. }\nsnippet xpa\n elements.each(${1:"//Xpath"}) do |${2:node}|\n ${3}\n end\n# class_from_name()\nsnippet clafn\n split("::").inject(Object) { |par, const| par.const_get(const) }\n# singleton_class()\nsnippet sinc\n class << self; self end\nsnippet nam\n namespace :${1:`Filename()`} do\n ${2}\n end\nsnippet tas\n desc "${1:Task description}"\n task :${2:task_name => [:dependent, :tasks]} do\n ${3}\n end\n# block\nsnippet b\n { |${1:var}| ${2} }\nsnippet begin\n begin\n raise \'A test exception.\'\n rescue Exception => e\n puts e.message\n puts e.backtrace.inspect\n else\n # other exception\n ensure\n # always executed\n end\n\n#debugging\nsnippet debug\n require \'ruby-debug\'; debugger; true;\nsnippet pry\n require \'pry\'; binding.pry\n\n#############################################\n# Rails snippets - for pure Ruby, see above #\n#############################################\nsnippet art\n assert_redirected_to ${1::action => "${2:index}"}\nsnippet artnp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\nsnippet artnpp\n assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\nsnippet artp\n assert_redirected_to ${1:model}_path(${2:@$1})\nsnippet artpp\n assert_redirected_to ${1:model}s_path\nsnippet asd\n assert_difference "${1:Model}.${2:count}", $1 do\n ${3}\n end\nsnippet asnd\n assert_no_difference "${1:Model}.${2:count}" do\n ${3}\n end\nsnippet asre\n assert_response :${1:success}, @response.body${2}\nsnippet asrj\n assert_rjs :${1:replace}, "${2:dom id}"\nsnippet ass assert_select(..)\n assert_select \'${1:path}\', :${2:text} => \'${3:inner_html\' ${4:do}\nsnippet bf\n before_filter :${1:method}\nsnippet bt\n belongs_to :${1:association}\nsnippet crw\n cattr_accessor :${1:attr_names}\nsnippet defcreate\n def create\n @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\n respond_to do |wants|\n if @$1.save\n flash[:notice] = \'$2 was successfully created.\'\n wants.html { redirect_to(@$1) }\n wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n else\n wants.html { render :action => "new" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet defdestroy\n def destroy\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n @$1.destroy\n\n respond_to do |wants|\n wants.html { redirect_to($1s_url) }\n wants.xml { head :ok }\n end\n end${3}\nsnippet defedit\n def edit\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n end\nsnippet defindex\n def index\n @${1:model_class_name} = ${2:ModelClassName}.all\n\n respond_to do |wants|\n wants.html # index.html.erb\n wants.xml { render :xml => @$1s }\n end\n end${3}\nsnippet defnew\n def new\n @${1:model_class_name} = ${2:ModelClassName}.new\n\n respond_to do |wants|\n wants.html # new.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defshow\n def show\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n wants.html # show.html.erb\n wants.xml { render :xml => @$1 }\n end\n end${3}\nsnippet defupdate\n def update\n @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n respond_to do |wants|\n if @$1.update_attributes(params[:$1])\n flash[:notice] = \'$2 was successfully updated.\'\n wants.html { redirect_to(@$1) }\n wants.xml { head :ok }\n else\n wants.html { render :action => "edit" }\n wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n end\n end\n end${3}\nsnippet flash\n flash[:${1:notice}] = "${2}"\nsnippet habtm\n has_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id"${4}\nsnippet hm\n has_many :${1:object}\nsnippet hmd\n has_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy${4}\nsnippet hmt\n has_many :${1:object}, :through => :${2:object}\nsnippet ho\n has_one :${1:object}\nsnippet i18\n I18n.t(\'${1:type.key}\')${2}\nsnippet ist\n <%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${3} %>\nsnippet log\n Rails.logger.${1:debug} ${2}\nsnippet log2\n RAILS_DEFAULT_LOGGER.${1:debug} ${2}\nsnippet logd\n logger.debug { "${1:message}" }${2}\nsnippet loge\n logger.error { "${1:message}" }${2}\nsnippet logf\n logger.fatal { "${1:message}" }${2}\nsnippet logi\n logger.info { "${1:message}" }${2}\nsnippet logw\n logger.warn { "${1:message}" }${2}\nsnippet mapc\n ${1:map}.${2:connect} \'${3:controller/:action/:id}\'\nsnippet mapca\n ${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}"${5}\nsnippet mapr\n ${1:map}.resource :${2:resource}\nsnippet maprs\n ${1:map}.resources :${2:resource}\nsnippet mapwo\n ${1:map}.with_options :${2:controller} => \'${3:thing}\' do |$3|\n ${4}\n end\nsnippet mbs\n before_save :${1:method}\nsnippet mcht\n change_table :${1:table_name} do |t|\n ${2}\n end\nsnippet mp\n map(&:${1:id})\nsnippet mrw\n mattr_accessor :${1:attr_names}\nsnippet oa\n order("${1:field}")\nsnippet od\n order("${1:field} DESC")\nsnippet pa\n params[:${1:id}]${2}\nsnippet ra\n render :action => "${1:action}"\nsnippet ral\n render :action => "${1:action}", :layout => "${2:layoutname}"\nsnippet rest\n respond_to do |wants|\n wants.${1:html} { ${2} }\n end\nsnippet rf\n render :file => "${1:filepath}"\nsnippet rfu\n render :file => "${1:filepath}", :use_full_path => ${2:false}\nsnippet ri\n render :inline => "${1:<%= \'hello\' %>}"\nsnippet ril\n render :inline => "${1:<%= \'hello\' %>}", :locals => { ${2::name} => "${3:value}"${4} }\nsnippet rit\n render :inline => "${1:<%= \'hello\' %>}", :type => ${2::rxml}\nsnippet rjson\n render :json => ${1:text to render}\nsnippet rl\n render :layout => "${1:layoutname}"\nsnippet rn\n render :nothing => ${1:true}\nsnippet rns\n render :nothing => ${1:true}, :status => ${2:401}\nsnippet rp\n render :partial => "${1:item}"\nsnippet rpc\n render :partial => "${1:item}", :collection => ${2:@$1s}\nsnippet rpl\n render :partial => "${1:item}", :locals => { :${2:$1} => ${3:@$1}\nsnippet rpo\n render :partial => "${1:item}", :object => ${2:@$1}\nsnippet rps\n render :partial => "${1:item}", :status => ${2:500}\nsnippet rt\n render :text => "${1:text to render}"\nsnippet rtl\n render :text => "${1:text to render}", :layout => "${2:layoutname}"\nsnippet rtlt\n render :text => "${1:text to render}", :layout => ${2:true}\nsnippet rts\n render :text => "${1:text to render}", :status => ${2:401}\nsnippet ru\n render :update do |${1:page}|\n $1.${2}\n end\nsnippet rxml\n render :xml => ${1:text to render}\nsnippet sc\n scope :${1:name}, :where(:@${2:field} => ${3:value})\nsnippet sl\n scope :${1:name}, lambda do |${2:value}|\n where("${3:field = ?}", ${4:bind var})\n end\nsnippet sha1\n Digest::SHA1.hexdigest(${1:string})\nsnippet sweeper\n class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n observe $1\n\n def after_save(${2:model_class_name})\n expire_cache($2)\n end\n\n def after_destroy($2)\n expire_cache($2)\n end\n\n def expire_cache($2)\n expire_page\n end\n end\nsnippet tcb\n t.boolean :${1:title}\n ${2}\nsnippet tcbi\n t.binary :${1:title}, :limit => ${2:2}.megabytes\n ${3}\nsnippet tcd\n t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n ${4}\nsnippet tcda\n t.date :${1:title}\n ${2}\nsnippet tcdt\n t.datetime :${1:title}\n ${2}\nsnippet tcf\n t.float :${1:title}\n ${2}\nsnippet tch\n t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n ${5}\nsnippet tci\n t.integer :${1:title}\n ${2}\nsnippet tcl\n t.integer :lock_version, :null => false, :default => 0\n ${1}\nsnippet tcr\n t.references :${1:taggable}, :polymorphic => { :default => \'${2:Photo}\' }\n ${3}\nsnippet tcs\n t.string :${1:title}\n ${2}\nsnippet tct\n t.text :${1:title}\n ${2}\nsnippet tcti\n t.time :${1:title}\n ${2}\nsnippet tcts\n t.timestamp :${1:title}\n ${2}\nsnippet tctss\n t.timestamps\n ${1}\nsnippet va\n validates_associated :${1:attribute}\nsnippet vao\n validates_acceptance_of :${1:terms}\nsnippet vc\n validates_confirmation_of :${1:attribute}\nsnippet ve\n validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\nsnippet vf\n validates_format_of :${1:attribute}, :with => /${2:regex}/\nsnippet vi\n validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\nsnippet vl\n validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\nsnippet vn\n validates_numericality_of :${1:attribute}\nsnippet vpo\n validates_presence_of :${1:attribute}\nsnippet vu\n validates_uniqueness_of :${1:attribute}\nsnippet wants\n wants.${1:js|xml|html} { ${2} }\nsnippet wc\n where(${1:"conditions"}${2:, bind_var})\nsnippet wh\n where(${1:field} => ${2:value})\nsnippet xdelete\n xhr :delete, :${1:destroy}, :id => ${2:1}${3}\nsnippet xget\n xhr :get, :${1:show}, :id => ${2:1}${3}\nsnippet xpost\n xhr :post, :${1:create}, :${2:object} => { ${3} }\nsnippet xput\n xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\nsnippet test\n test "should ${1:do something}" do\n ${2}\n end\n#migrations\nsnippet mac\n add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\nsnippet mrc\n remove_column :${1:table_name}, :${2:column_name}\nsnippet mrnc\n rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\nsnippet mcc\n change_column :${1:table}, :${2:column}, :${3:type}\nsnippet mccc\n t.column :${1:title}, :${2:string}\nsnippet mct\n create_table :${1:table_name} do |t|\n t.column :${2:name}, :${3:type}\n end\nsnippet migration\n class ${1:class_name} < ActiveRecord::Migration\n def self.up\n ${2}\n end\n\n def self.down\n end\n end\n\nsnippet trc\n t.remove :${1:column}\nsnippet tre\n t.rename :${1:old_column_name}, :${2:new_column_name}\n ${3}\nsnippet tref\n t.references :${1:model}\n\n#rspec\nsnippet it\n it "${1:spec_name}" do\n ${2}\n end\nsnippet itp\n it "${1:spec_name}"\n ${2}\nsnippet desc\n describe ${1:class_name} do\n ${2}\n end\nsnippet cont\n context "${1:message}" do\n ${2}\n end\nsnippet bef\n before :${1:each} do\n ${2}\n end\nsnippet aft\n after :${1:each} do\n ${2}\n end\n',t.scope="ruby"})
@@ -0,0 +1 @@
1
+ ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {border-left: 2px solid #A7A7A7}.ace-twilight .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;border-radius: 2px}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/coffee_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/coffee/coffee-script"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/coffee/coffee-script");window.addEventListener=function(){};var o=t.Worker=function(e){i.call(this,e),this.setTimeout(250)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue();try{s.parse(e).compile()}catch(t){var n=t.location;n&&this.sender.emit("error",{row:n.first_line,column:n.first_column,endRow:n.last_line,endColumn:n.last_column,text:t.message,type:"error"});return}this.sender.emit("ok")}}.call(o.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/coffee/coffee-script",["require","exports","module","ace/mode/coffee/lexer","ace/mode/coffee/parser","ace/mode/coffee/nodes"],function(e,t,n){var r=e("./lexer").Lexer,i=e("./parser"),s=new r;i.lexer={lex:function(){var e,t;return t=this.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return this.tokens=e,this.pos=0},upcomingInput:function(){return""}},i.yy=e("./nodes"),t.parse=function(e){return i.parse(s.tokenize(e))}}),ace.define("ace/mode/coffee/lexer",["require","exports","module","ace/mode/coffee/rewriter","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};et=e("./rewriter"),F=et.Rewriter,w=et.INVERSES,tt=e("./helpers"),V=tt.count,Y=tt.starts,X=tt.compact,K=tt.last,G=tt.repeat,$=tt.invertLiterate,Q=tt.locationDataToString,Z=tt.throwSyntaxError,t.Lexer=k=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,r,i,s;t==null&&(t={}),this.literate=t.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),r=0;while(this.chunk=e.slice(r))n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.heredocToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),s=this.getLineAndColumnFromChunk(n),this.chunkLine=s[0],this.chunkColumn=s[1],r+=n;return this.closeIndentation(),(i=this.ends.pop())&&this.error("missing "+i),t.rewrite===!1?this.tokens:(new F).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===r&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(U,""),W.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=$(e)),e},e.prototype.identifierToken=function(){var e,t,n,r,i,s,o,l,c,h,p,d,v,m;return(o=y.exec(this.chunk))?(s=o[0],r=o[1],e=o[2],i=r.length,l=void 0,r==="own"&&this.tag()==="FOR"?(this.token("OWN",r),r.length):(n=e||(c=K(this.tokens))&&((d=c[0])==="."||d==="?."||d==="::"||d==="?::"||!c.spaced&&c[0]==="@"),h="IDENTIFIER",!n&&(nt.call(x,r)>=0||nt.call(f,r)>=0)&&(h=r.toUpperCase(),h==="WHEN"&&(v=this.tag(),nt.call(T,v)>=0)?h="LEADING_WHEN":h==="FOR"?this.seenFor=!0:h==="UNLESS"?h="IF":nt.call(z,h)>=0?h="UNARY":nt.call(B,h)>=0&&(h!=="INSTANCEOF"&&this.seenFor?(h="FOR"+h,this.seenFor=!1):(h="RELATION",this.value()==="!"&&(l=this.tokens.pop(),r="!"+r)))),nt.call(S,r)>=0&&(n?(h="IDENTIFIER",r=new String(r),r.reserved=!0):nt.call(j,r)>=0&&this.error('reserved word "'+r+'"')),n||(nt.call(u,r)>=0&&(r=a[r]),h=function(){switch(r){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return h}}()),p=this.token(h,r,0,i),l&&(m=[l[2].first_line,l[2].first_column],p[2].first_line=m[0],p[2].first_column=m[1]),e&&(t=s.lastIndexOf(":"),this.token(":",":",t,e.length)),s.length)):0},e.prototype.numberToken=function(){var e,t,n,r,i;if(!(n=D.exec(this.chunk)))return 0;r=n[0],/^0[BOX]/.test(r)?this.error("radix prefix '"+r+"' must be lowercase"):/E/.test(r)&&!/^0x/.test(r)?this.error("exponential notation '"+r+"' must be indicated with a lowercase 'e'"):/^0\d*[89]/.test(r)?this.error("decimal literal '"+r+"' must not be prefixed with '0'"):/^0\d+/.test(r)&&this.error("octal literal '"+r+"' must be prefixed with '0o'"),t=r.length;if(i=/^0o([0-7]+)/.exec(r))r="0x"+parseInt(i[1],8).toString(16);if(e=/^0b([01]+)/.exec(r))r="0x"+parseInt(e[1],2).toString(16);return this.token("NUMBER",r,0,t),t},e.prototype.stringToken=function(){var e,t,n;switch(this.chunk.charAt(0)){case"'":if(!(e=q.exec(this.chunk)))return 0;n=e[0],this.token("STRING",n.replace(A,"\\\n"),0,n.length);break;case'"':if(!(n=this.balancedString(this.chunk,'"')))return 0;0<n.indexOf("#{",1)?this.interpolateString(n.slice(1,-1),{strOffset:1,lexedLength:n.length}):this.token("STRING",this.escapeLines(n,0,n.length));break;default:return 0}return(t=/^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(n))&&this.error("octal escape sequences "+n+" are not allowed"),n.length},e.prototype.heredocToken=function(){var e,t,n,r;return(n=p.exec(this.chunk))?(t=n[0],r=t.charAt(0),e=this.sanitizeHeredoc(n[2],{quote:r,indent:null}),r==='"'&&0<=e.indexOf("#{")?this.interpolateString(e,{heredoc:!0,strOffset:3,lexedLength:t.length}):this.token("STRING",this.makeString(e,r,!0),0,t.length),t.length):0},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(l))?(e=n[0],t=n[1],t&&this.token("HERECOMMENT",this.sanitizeHeredoc(t,{herecomment:!0,indent:G(" ",this.indent)}),0,e.length),e.length):0},e.prototype.jsToken=function(){var e,t;return this.chunk.charAt(0)!=="`"||!(e=E.exec(this.chunk))?0:(this.token("JS",(t=e[0]).slice(1,-1),0,t.length),t.length)},e.prototype.regexToken=function(){var e,t,n,r,i,s,o;return this.chunk.charAt(0)!=="/"?0:(n=m.exec(this.chunk))?(t=this.heregexToken(n),t):(r=K(this.tokens),r&&(s=r[0],nt.call(r.spaced?M:_,s)>=0)?0:(n=H.exec(this.chunk))?(o=n,n=o[0],i=o[1],e=o[2],i.slice(0,2)==="/*"&&this.error("regular expressions cannot begin with `*`"),i==="//"&&(i="/(?:)/"),this.token("REGEX",""+i+e,0,n.length),n.length):0)},e.prototype.heregexToken=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;i=e[0],t=e[1],n=e[2];if(0>t.indexOf("#{"))return u=t.replace(g,"").replace(/\//g,"\\/"),u.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(u||"(?:)")+"/"+n,0,i.length),i.length;this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),l=[],d=this.interpolateString(t,{regex:!0});for(h=0,p=d.length;h<p;h++){f=d[h],a=f[0],c=f[1];if(a==="TOKENS")l.push.apply(l,c);else if(a==="NEOSTRING"){if(!(c=c.replace(g,"")))continue;c=c.replace(/\\/g,"\\\\"),f[0]="STRING",f[1]=this.makeString(c,'"',!0),l.push(f)}else this.error("Unexpected "+a);o=K(this.tokens),s=["+","+"],s[2]=o[2],l.push(s)}return l.pop(),((v=l[0])!=null?v[0]:void 0)!=="STRING"&&(this.token("STRING",'""',0,0),this.token("+","+",0,0)),(m=this.tokens).push.apply(m,l),n&&(r=i.lastIndexOf(n),this.token(",",",",r,0),this.token("STRING",'"'+n+'"',r,n.length)),this.token(")",")",i.length-1,0),i.length},e.prototype.lineToken=function(){var e,t,n,r,i;if(!(n=O.exec(this.chunk)))return 0;t=n[0],this.seenFor=!1,i=t.length-1-t.lastIndexOf("\n"),r=this.unfinished();if(i-this.indebt===this.indent)return r?this.suppressNewlines():this.newlineToken(0),t.length;if(i>this.indent){if(r)return this.indebt=i-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=i,t.length;e=i-this.indent+this.outdebt,this.token("INDENT",e,t.length-i,i),this.indents.push(e),this.ends.push("OUTDENT"),this.outdebt=this.indebt=0}else i<this.baseIndent?this.error("missing indentation",t.length):(this.indebt=0,this.outdentToken(this.indent-i,r,t.length));return this.indent=i,t.length},e.prototype.outdentToken=function(e,t,n){var r,i;while(e>0)i=this.indents.length-1,this.indents[i]===void 0?e=0:this.indents[i]===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.indents[i]<this.outdebt?(this.outdebt-=this.indents[i],e-=this.indents[i]):(r=this.indents.pop()+this.outdebt,e-=r,this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",r,0,n));r&&(this.outdebt-=e);while(this.value()===";")this.tokens.pop();return this.tag()!=="TERMINATOR"&&!t&&this.token("TERMINATOR","\n",n,0),this},e.prototype.whitespaceToken=function(){var e,t,n;return!(e=W.exec(this.chunk))&&!(t=this.chunk.charAt(0)==="\n")?0:(n=K(this.tokens),n&&(n[e?"spaced":"newLine"]=!0),e?e[0].length:0)},e.prototype.newlineToken=function(e){while(this.value()===";")this.tokens.pop();return this.tag()!=="TERMINATOR"&&this.token("TERMINATOR","\n",e,0),this},e.prototype.suppressNewlines=function(){return this.value()==="\\"&&this.tokens.pop(),this},e.prototype.literalToken=function(){var e,t,n,r,i,u,a,f;(e=P.exec(this.chunk))?(r=e[0],o.test(r)&&this.tagParameters()):r=this.chunk.charAt(0),n=r,t=K(this.tokens);if(r==="="&&t){!t[1].reserved&&(i=t[1],nt.call(S,i)>=0)&&this.error('reserved word "'+this.value()+"\" can't be assigned");if((u=t[1])==="||"||u==="&&")return t[0]="COMPOUND_ASSIGN",t[1]+="=",r.length}if(r===";")this.seenFor=!1,n="TERMINATOR";else if(nt.call(L,r)>=0)n="MATH";else if(nt.call(c,r)>=0)n="COMPARE";else if(nt.call(h,r)>=0)n="COMPOUND_ASSIGN";else if(nt.call(z,r)>=0)n="UNARY";else if(nt.call(I,r)>=0)n="SHIFT";else if(nt.call(C,r)>=0||r==="?"&&(t!=null?t.spaced:void 0))n="LOGIC";else if(t&&!t.spaced)if(r==="("&&(a=t[0],nt.call(s,a)>=0))t[0]==="?"&&(t[0]="FUNC_EXIST"),n="CALL_START";else if(r==="["&&(f=t[0],nt.call(b,f)>=0)){n="INDEX_START";switch(t[0]){case"?":t[0]="INDEX_SOAK"}}switch(r){case"(":case"{":case"[":this.ends.push(w[r]);break;case")":case"}":case"]":this.pair(r)}return this.token(n,r),r.length},e.prototype.sanitizeHeredoc=function(e,t){var n,r,i,s,o;i=t.indent,r=t.herecomment;if(r){d.test(e)&&this.error('block comment cannot contain "*/", starting');if(e.indexOf("\n")<0)return e}else while(s=v.exec(e)){n=s[1];if(i===null||0<(o=n.length)&&o<i.length)i=n}return i&&(e=e.replace(RegExp("\\n"+i,"g"),"\n")),r||(e=e.replace(/^\n/,"")),e},e.prototype.tagParameters=function(){var e,t,n,r;if(this.tag()!==")")return this;t=[],r=this.tokens,e=r.length,r[--e][0]="PARAM_END";while(n=r[--e])switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return n[0]==="("?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.balancedString=function(e,t){var n,r,i,s,o,u,a,f;n=0,u=[t];for(r=a=1,f=e.length;1<=f?a<f:a>f;r=1<=f?++a:--a){if(n){--n;continue}switch(i=e.charAt(r)){case"\\":++n;continue;case t:u.pop();if(!u.length)return e.slice(0,+r+1||9e9);t=u[u.length-1];continue}t!=="}"||i!=='"'&&i!=="'"?t==="}"&&i==="/"&&(s=m.exec(e.slice(r))||H.exec(e.slice(r)))?n+=s[0].length-1:t==="}"&&i==="{"?u.push(t="}"):t==='"'&&o==="#"&&i==="{"&&u.push(t="}"):u.push(t=i),o=i}return this.error("missing "+u.pop()+", starting")},e.prototype.interpolateString=function(t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O;n==null&&(n={}),s=n.heredoc,b=n.regex,v=n.offsetInChunk,E=n.strOffset,c=n.lexedLength,v=v||0,E=E||0,c=c||t.length,s&&t.length>0&&t[0]==="\n"&&(t=t.slice(1),E++),T=[],m=0,o=-1;while(l=t.charAt(o+=1)){if(l==="\\"){o+=1;continue}if(l!=="#"||t.charAt(o+1)!=="{"||!(i=this.balancedString(t.slice(o+1),"}")))continue;m<o&&T.push(this.makeToken("NEOSTRING",t.slice(m,o),E+m)),u=i.slice(1,-1);if(u.length){L=this.getLineAndColumnFromChunk(E+o+1),h=L[0],r=L[1],d=(new e).tokenize(u,{line:h,column:r,rewrite:!1}),y=d.pop(),((A=d[0])!=null?A[0]:void 0)==="TERMINATOR"&&(y=d.shift());if(f=d.length)f>1&&(d.unshift(this.makeToken("(","(",E+o+1,0)),d.push(this.makeToken(")",")",E+o+1+u.length,0))),T.push(["TOKENS",d])}o+=i.length,m=o+1}o>m&&m<t.length&&T.push(this.makeToken("NEOSTRING",t.slice(m),E+m));if(b)return T;if(!T.length)return this.token("STRING",'""',v,c);T[0][0]!=="NEOSTRING"&&T.unshift(this.makeToken("NEOSTRING","",v)),(a=T.length>1)&&this.token("(","(",v,0);for(o=C=0,k=T.length;C<k;o=++C)x=T[o],S=x[0],N=x[1],o&&(o&&(g=this.token("+","+")),p=S==="TOKENS"?N[0]:x,g[2]={first_line:p[2].first_line,first_column:p[2].first_column,last_line:p[2].first_line,last_column:p[2].first_column}),S==="TOKENS"?(O=this.tokens).push.apply(O,N):S==="NEOSTRING"?(x[0]="STRING",x[1]=this.makeString(N,'"',s),this.tokens.push(x)):this.error("Unexpected "+S);return a&&(w=this.makeToken(")",")",v+c,0),w.stringEnd=!0,this.tokens.push(w)),T},e.prototype.pair=function(e){var t,n;return e!==(n=K(this.ends))?("OUTDENT"!==n&&this.error("unmatched "+e),this.indent-=t=K(this.indents),this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,r,i;return e===0?[this.chunkLine,this.chunkColumn]:(e>=this.chunk.length?i=this.chunk:i=this.chunk.slice(0,+(e-1)+1||9e9),n=V(i,"\n"),t=this.chunkColumn,n>0?(r=i.split("\n"),t=K(r).length):t+=i.length,[this.chunkLine+n,t])},e.prototype.makeToken=function(e,t,n,r){var i,s,o,u,a;return n==null&&(n=0),r==null&&(r=t.length),s={},u=this.getLineAndColumnFromChunk(n),s.first_line=u[0],s.first_column=u[1],i=Math.max(0,r-1),a=this.getLineAndColumnFromChunk(n+i),s.last_line=a[0],s.last_column=a[1],o=[e,t,s],o},e.prototype.token=function(e,t,n,r){var i;return i=this.makeToken(e,t,n,r),this.tokens.push(i),i},e.prototype.tag=function(e,t){var n;return(n=K(this.tokens,e))&&(t?n[0]=t:n[0])},e.prototype.value=function(e,t){var n;return(n=K(this.tokens,e))&&(t?n[1]=t:n[1])},e.prototype.unfinished=function(){var e;return N.test(this.chunk)||(e=this.tag())==="\\"||e==="."||e==="?."||e==="?::"||e==="UNARY"||e==="MATH"||e==="+"||e==="-"||e==="SHIFT"||e==="RELATION"||e==="COMPARE"||e==="LOGIC"||e==="THROW"||e==="EXTENDS"},e.prototype.escapeLines=function(e,t){return e.replace(A,t?"\\n":"")},e.prototype.makeString=function(e,t,n){return e?(e=e.replace(/\\([\s\S])/g,function(e,n){return n==="\n"||n===t?n:e}),e=e.replace(RegExp(""+t,"g"),"\\$&"),t+this.escapeLines(e,n)+t):t+t},e.prototype.error=function(e,t){var n,r,i;return t==null&&(t=0),i=this.getLineAndColumnFromChunk(t),r=i[0],n=i[1],Z(e,{first_line:r,first_column:n})},e}(),x=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],f=["undefined","then","unless","until","loop","of","by","when"],a={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},u=function(){var e;e=[];for(J in a)e.push(J);return e}(),f=f.concat(u),j=["case","default","function","var","void","with","const","let","enum","export","import","native","__hasProp","__extends","__slice","__bind","__indexOf","implements","interface","package","private","protected","public","static","yield"],R=["arguments","eval"],S=x.concat(j).concat(R),t.RESERVED=j.concat(x).concat(f).concat(R),t.STRICT_PROSCRIBED=R,r=65279,y=/^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/,D=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,p=/^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/,P=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?(\.|::)|\.{2,3})/,W=/^[^\n\S]+/,l=/^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)$)|^(?:\s*#(?!##[^#]).*)+/,o=/^[-=]>/,O=/^(?:\n[^\n\S]*)+/,q=/^'[^\\']*(?:\\.[^\\']*)*'/,E=/^`[^\\`]*(?:\\.[^\\`]*)*`/,H=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,m=/^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/,g=/\s+(?:#.*)?/g,A=/\n/g,v=/\n+([^\n\S]*)/g,d=/\*\//,N=/^\s*(?:,|\??\.(?![.\d])|::)/,U=/\s+$/,h=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="],z=["!","~","NEW","TYPEOF","DELETE","DO"],C=["&&","||","&","|","^"],I=["<<",">>",">>>"],c=["==","!=","<",">","<=",">="],L=["*","/","%"],B=["IN","OF","INSTANCEOF"],i=["TRUE","FALSE"],M=["NUMBER","REGEX","BOOL","NULL","UNDEFINED","++","--"],_=M.concat(")","}","THIS","IDENTIFIER","STRING","]"),s=["IDENTIFIER","STRING","REGEX",")","]","}","?","::","@","THIS","SUPER"],b=s.concat("NUMBER","BOOL","NULL","UNDEFINED"),T=["INDENT","OUTDENT","TERMINATOR"]}),ace.define("ace/mode/coffee/rewriter",["require","exports","module"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},S=[].slice;v=function(e,t){var n;return n=[e,t],n.generated=!0,n},t.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.removeMidExpressionNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.addImplicitIndentation(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,r;r=this.tokens,t=0;while(n=r[t])t+=e.call(this,n,t,r);return!0},e.prototype.detectEnd=function(e,t,n){var r,i,u,a,f;u=this.tokens,r=0;while(i=u[e]){if(r===0&&t.call(this,i,e))return n.call(this,i,e);if(!i||r<0)return n.call(this,i,e-1);if(a=i[0],E.call(o,a)>=0)r+=1;else if(f=i[0],E.call(s,f)>=0)r-=1;e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,r,i;i=this.tokens;for(e=n=0,r=i.length;n<r;e=++n){t=i[e][0];if(t!=="TERMINATOR")break}if(e)return this.tokens.splice(0,e)},e.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(e,t,n){var r;return e[0]==="TERMINATOR"&&(r=this.tag(t+1),E.call(i,r)>=0)?(n.splice(t,1),0):1})},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return(n=e[0])===")"||n==="CALL_END"||e[0]==="OUTDENT"&&this.tag(t-1)===")"},e=function(e,t){return this.tokens[e[0]==="OUTDENT"?t-1:t][0]="CALL_END"},this.scanTokens(function(n,r){return n[0]==="CALL_START"&&this.detectEnd(r+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e,t){var n;return(n=e[0])==="]"||n==="INDEX_END"},e=function(e,t){return e[0]="INDEX_END"},this.scanTokens(function(n,r){return n[0]==="INDEX_START"&&this.detectEnd(r+1,t,e),1})},e.prototype.matchTags=function(){var e,t,n,r,i,s,o;t=arguments[0],r=2<=arguments.length?S.call(arguments,1):[],e=0;for(n=i=0,s=r.length;0<=s?i<s:i>s;n=0<=s?++i:--i){while(this.tag(t+n+e)==="HERECOMMENT")e+=2;if(r[n]==null)continue;typeof r[n]=="string"&&(r[n]=[r[n]]);if(o=this.tag(t+n+e),E.call(r[n],o)<0)return!1}return!0},e.prototype.looksObjectish=function(e){return this.matchTags(e,"@",null,":")||this.matchTags(e,null,":")},e.prototype.findTagsBackwards=function(e,t){var n,r,i,u,a,f,l;n=[];while(e>=0&&(n.length||(u=this.tag(e),E.call(t,u)<0)&&((a=this.tag(e),E.call(o,a)<0)||this.tokens[e].generated)&&(f=this.tag(e),E.call(h,f)<0)))(r=this.tag(e),E.call(s,r)>=0)&&n.push(this.tag(e)),(i=this.tag(e),E.call(o,i)>=0)&&n.length&&n.pop(),e-=1;return l=this.tag(e),E.call(t,l)>=0},e.prototype.addImplicitBracesAndParens=function(){var e;return e=[],this.scanTokens(function(t,n,r){var i,c,p,d,m,g,y,b,w,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F;_=t[0],S=(n>0?r[n-1]:[])[0],b=(n<r.length-1?r[n+1]:[])[0],k=function(){return e[e.length-1]},L=n,p=function(e){return n-L+e},d=function(){var e,t;return(e=k())!=null?(t=e[2])!=null?t.ours:void 0:void 0},m=function(){var e;return d()&&((e=k())!=null?e[0]:void 0)==="("},y=function(){var e;return d()&&((e=k())!=null?e[0]:void 0)==="{"},g=function(){var e;return d&&((e=k())!=null?e[0]:void 0)==="CONTROL"},A=function(t){var i;i=t!=null?t:n,e.push(["(",i,{ours:!0}]),r.splice(i,0,v("CALL_START","("));if(t==null)return n+=1},i=function(){return e.pop(),r.splice(n,0,v("CALL_END",")")),n+=1},O=function(t,i){var s;i==null&&(i=!0),s=t!=null?t:n,e.push(["{",s,{sameLine:!0,startsLine:i,ours:!0}]),r.splice(s,0,v("{",v(new String("{"))));if(t==null)return n+=1},c=function(t){return t=t!=null?t:n,e.pop(),r.splice(t,0,v("}","}")),n+=1};if(!m()||_!=="IF"&&_!=="TRY"&&_!=="FINALLY"&&_!=="CATCH"&&_!=="CLASS"&&_!=="SWITCH"){if(_==="INDENT"&&d()){if(S!=="=>"&&S!=="->"&&S!=="["&&S!=="("&&S!==","&&S!=="{"&&S!=="TRY"&&S!=="ELSE"&&S!=="=")while(m())i();return g()&&e.pop(),e.push([_,n]),p(1)}if(E.call(o,_)>=0)return e.push([_,n]),p(1);if(E.call(s,_)>=0){while(d())m()?i():y()?c():e.pop();e.pop()}if((E.call(f,_)>=0&&t.spaced&&!t.stringEnd||_==="?"&&n>0&&!r[n-1].spaced)&&(E.call(u,b)>=0||E.call(l,b)>=0&&((D=r[n+1])!=null?!D.spaced:!void 0)&&((P=r[n+1])!=null?!P.newLine:!void 0)))return _==="?"&&(_=t[0]="FUNC_EXIST"),A(n+1),p(2);if(E.call(f,_)>=0&&this.matchTags(n+1,"INDENT",null,":")&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return A(n+1),e.push(["INDENT",n+2]),p(3);if(_===":"){this.tag(n-2)==="@"?x=n-2:x=n-1;while(this.tag(x-2)==="HERECOMMENT")x-=2;M=x===0||(H=this.tag(x-1),E.call(h,H)>=0)||r[x-1].newLine;if(k()){B=k(),C=B[0],N=B[1];if((C==="{"||C==="INDENT"&&this.tag(N-1)==="{")&&(M||this.tag(x-1)===","||this.tag(x-1)==="{"))return p(1)}return O(x,!!M),p(2)}if(S!=="OUTDENT"||!m()||_!=="."&&_!=="?."&&_!=="::"&&_!=="?::"){y()&&E.call(h,_)>=0&&(k()[2].sameLine=!1);if(E.call(a,_)>=0)while(d()){j=k(),C=j[0],N=j[1],F=j[2],T=F.sameLine,M=F.startsLine;if(m()&&S!==",")i();else if(y()&&T&&!M)c();else{if(!y()||_!=="TERMINATOR"||S===","||!!M&&!!this.looksObjectish(n+1))break;c()}}if(_===","&&!this.looksObjectish(n+1)&&y()&&(b!=="TERMINATOR"||!this.looksObjectish(n+2))){w=b==="OUTDENT"?1:0;while(y())c(n+w)}return p(1)}return i(),p(1)}return e.push(["CONTROL",n,{ours:!0}]),p(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var r,i,s,o,u,a;return e[2]?1:!e.generated&&!e.explicit?1:(e[0]==="{"&&(s=(u=n[t+1])!=null?u[2]:void 0)?(i=s.first_line,r=s.first_column):(o=(a=n[t-1])!=null?a[2]:void 0)?(i=o.last_line,r=o.last_column):i=r=0,e[2]={first_line:i,first_column:r,last_line:i,last_column:r},1)})},e.prototype.addImplicitIndentation=function(){var e,t,n,r,i;return i=n=r=null,t=function(e,t){var n,r;return e[1]!==";"&&(n=e[0],E.call(p,n)>=0)&&(e[0]!=="ELSE"||i==="THEN")&&((r=e[0])!=="CATCH"&&r!=="FINALLY"||i!=="->"&&i!=="=>")},e=function(e,t){return this.tokens.splice(this.tag(t-1)===","?t-1:t,0,r)},this.scanTokens(function(s,o,u){var a,f,l,c,h;f=s[0];if(f==="TERMINATOR"&&this.tag(o+1)==="THEN")return u.splice(o,1),0;if(f==="ELSE"&&this.tag(o-1)!=="OUTDENT")return u.splice.apply(u,[o,0].concat(S.call(this.indentation()))),2;if(f==="CATCH")for(a=l=1;l<=2;a=++l){if((c=this.tag(o+a))!=="OUTDENT"&&c!=="TERMINATOR"&&c!=="FINALLY")continue;return u.splice.apply(u,[o+a,0].concat(S.call(this.indentation()))),2+a}return E.call(d,f)>=0&&this.tag(o+1)!=="INDENT"&&(f!=="ELSE"||this.tag(o+1)!=="IF")?(i=f,h=this.indentation(!0),n=h[0],r=h[1],i==="THEN"&&(n.fromThen=!0),u.splice(o+1,0,n),this.detectEnd(o+2,t,e),f==="THEN"&&u.splice(o,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,r;return r=e[0],n=this.tokens[t-1][0],r==="TERMINATOR"||r==="INDENT"&&E.call(d,n)<0},e=function(e,t){if(e[0]!=="INDENT"||e.generated&&!e.fromThen)return n[0]="POST_"+n[0]},this.scanTokens(function(r,i){return r[0]!=="IF"?1:(n=r,this.detectEnd(i+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return e==null&&(e=!1),t=["INDENT",2],n=["OUTDENT",2],e&&(t.generated=n.generated=!0),e||(t.explicit=n.explicit=!0),[t,n]},e.prototype.generate=v,e.prototype.tag=function(e){var t;return(t=this.tokens[e])!=null?t[0]:void 0},e}(),r=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"]],t.INVERSES=c={},o=[],s=[];for(y=0,b=r.length;y<b;y++)w=r[y],m=w[0],g=w[1],o.push(c[g]=m),s.push(c[m]=g);i=["CATCH","WHEN","ELSE","FINALLY"].concat(s),f=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],u=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","BOOL","NULL","UNDEFINED","UNARY","SUPER","THROW","@","->","=>","[","(","{","--","++"],l=["+","-"],a=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],d=["ELSE","->","=>","TRY","FINALLY","THEN"],p=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],h=["TERMINATOR","INDENT","OUTDENT"]}),ace.define("ace/mode/coffee/helpers",["require","exports","module"],function(e,t,n){var r,i,s,o,u,a,f;t.starts=function(e,t,n){return t===e.substr(n,t.length)},t.ends=function(e,t,n){var r;return r=t.length,t===e.substr(e.length-r-(n||0),r)},t.repeat=u=function(e,t){var n;n="";while(t>0)t&1&&(n+=e),t>>>=1,e+=e;return n},t.compact=function(e){var t,n,r,i;i=[];for(n=0,r=e.length;n<r;n++)t=e[n],t&&i.push(t);return i},t.count=function(e,t){var n,r;n=r=0;if(!t.length)return 1/0;while(r=1+e.indexOf(t,r))n++;return n},t.merge=function(e,t){return i(i({},e),t)},i=t.extend=function(e,t){var n,r;for(n in t)r=t[n],e[n]=r;return e},t.flatten=s=function(e){var t,n,r,i;n=[];for(r=0,i=e.length;r<i;r++)t=e[r],t instanceof Array?n=n.concat(s(t)):n.push(t);return n},t.del=function(e,t){var n;return n=e[t],delete e[t],n},t.last=o=function(e,t){return e[e.length-(t||0)-1]},t.some=(f=Array.prototype.some)!=null?f:function(e){var t,n,r;for(n=0,r=this.length;n<r;n++){t=this[n];if(e(t))return!0}return!1},t.invertLiterate=function(e){var t,n,r;return r=!0,n=function(){var n,i,s,o;s=e.split("\n"),o=[];for(n=0,i=s.length;n<i;n++)t=s[n],r&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?o.push(t):(r=/^\s*$/.test(t))?o.push(t):o.push("# "+t);return o}(),n.join("\n")},r=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},t.addLocationDataFn=function(e,t){return function(n){return typeof n=="object"&&!!n.updateLocationDataIfMissing&&n.updateLocationDataIfMissing(r(e,t)),n}},t.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?""+(t.first_line+1)+":"+(t.first_column+1)+"-"+(""+(t.last_line+1)+":"+(t.last_column+1)):"No location data"},t.baseFileName=function(e,t,n){var r,i;return t==null&&(t=!1),n==null&&(n=!1),i=n?/\\|\//:/\//,r=e.split(i),e=r[r.length-1],t?(r=e.split("."),r.pop(),r[r.length-1]==="coffee"&&r.length>1&&r.pop(),r.join(".")):e},t.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},t.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},t.throwSyntaxError=function(e,t){var n;throw t.last_line==null&&(t.last_line=t.first_line),t.last_column==null&&(t.last_column=t.first_column),n=new SyntaxError(e),n.location=t,n.toString=a,n.stack=n.toString(),n},t.updateSyntaxError=function(e,t,n){return e.toString===a&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=e.toString()),e},a=function(){var e,t,n,r,i,s,o,a,f,l,c,h,p;if(!this.code||!this.location)return Error.prototype.toString.call(this);h=this.location,o=h.first_line,s=h.first_column,f=h.last_line,a=h.last_column,f==null&&(f=o),a==null&&(a=s),i=this.filename||"[stdin]",e=this.code.split("\n")[o],c=s,r=o===f?a+1:e.length,l=u(" ",c)+u("^",r-c),typeof process!="undefined"&&process!==null&&(n=process.stdout.isTTY&&!process.env.NODE_DISABLE_COLORS);if((p=this.colorful)!=null?p:n)t=function(e){return""+e+""},e=e.slice(0,c)+t(e.slice(c,r))+e.slice(r),l=t(l);return""+i+":"+(o+1)+":"+(s+1)+": error: "+this.message+"\n"+e+"\n"+l}}),ace.define("ace/mode/coffee/parser",["require","exports","module"],function(e,t,n){function r(){this.yy={}}var i={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,Comment:10,STATEMENT:11,Value:12,Invocation:13,Code:14,Operation:15,Assign:16,If:17,Try:18,While:19,For:20,Switch:21,Class:22,Throw:23,Block:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,STRING:31,Literal:32,JS:33,REGEX:34,DEBUGGER:35,UNDEFINED:36,NULL:37,BOOL:38,Assignable:39,"=":40,AssignObj:41,ObjAssignable:42,":":43,ThisProperty:44,RETURN:45,HERECOMMENT:46,PARAM_START:47,ParamList:48,PARAM_END:49,FuncGlyph:50,"->":51,"=>":52,OptComma:53,",":54,Param:55,ParamVar:56,"...":57,Array:58,Object:59,Splat:60,SimpleAssignable:61,Accessor:62,Parenthetical:63,Range:64,This:65,".":66,"?.":67,"::":68,"?::":69,Index:70,INDEX_START:71,IndexValue:72,INDEX_END:73,INDEX_SOAK:74,Slice:75,"{":76,AssignList:77,"}":78,CLASS:79,EXTENDS:80,OptFuncExist:81,Arguments:82,SUPER:83,FUNC_EXIST:84,CALL_START:85,CALL_END:86,ArgList:87,THIS:88,"@":89,"[":90,"]":91,RangeDots:92,"..":93,Arg:94,SimpleArgs:95,TRY:96,Catch:97,FINALLY:98,CATCH:99,THROW:100,"(":101,")":102,WhileSource:103,WHILE:104,WHEN:105,UNTIL:106,Loop:107,LOOP:108,ForBody:109,FOR:110,ForStart:111,ForSource:112,ForVariables:113,OWN:114,ForValue:115,FORIN:116,FOROF:117,BY:118,SWITCH:119,Whens:120,ELSE:121,When:122,LEADING_WHEN:123,IfBlock:124,IF:125,POST_IF:126,UNARY:127,"-":128,"+":129,"--":130,"++":131,"?":132,MATH:133,SHIFT:134,COMPARE:135,LOGIC:136,RELATION:137,COMPOUND_ASSIGN:138,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",11:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"=>",54:",",57:"...",66:".",67:"?.",68:"::",69:"?::",71:"INDEX_START",73:"INDEX_END",74:"INDEX_SOAK",76:"{",78:"}",79:"CLASS",80:"EXTENDS",83:"SUPER",84:"FUNC_EXIST",85:"CALL_START",86:"CALL_END",88:"THIS",89:"@",90:"[",91:"]",93:"..",96:"TRY",98:"FINALLY",99:"CATCH",100:"THROW",101:"(",102:")",104:"WHILE",105:"WHEN",106:"UNTIL",108:"LOOP",110:"FOR",114:"OWN",116:"FORIN",117:"FOROF",118:"BY",119:"SWITCH",121:"ELSE",123:"LEADING_WHEN",125:"IF",126:"POST_IF",127:"UNARY",128:"-",129:"+",130:"--",131:"++",132:"?",133:"MATH",134:"SHIFT",135:"COMPARE",136:"LOGIC",137:"RELATION",138:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[24,2],[24,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[16,3],[16,4],[16,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[9,2],[9,1],[10,1],[14,5],[14,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[48,4],[48,6],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[39,1],[39,1],[39,1],[12,1],[12,1],[12,1],[12,1],[12,1],[62,2],[62,2],[62,2],[62,2],[62,1],[62,1],[70,3],[70,2],[72,1],[72,1],[59,4],[77,0],[77,1],[77,3],[77,4],[77,6],[22,1],[22,2],[22,3],[22,4],[22,2],[22,3],[22,4],[22,5],[13,3],[13,3],[13,1],[13,2],[81,0],[81,1],[82,2],[82,4],[65,1],[65,1],[44,2],[58,2],[58,4],[92,1],[92,1],[64,5],[75,3],[75,2],[75,2],[75,1],[87,1],[87,3],[87,4],[87,4],[87,6],[94,1],[94,1],[95,1],[95,3],[18,2],[18,3],[18,4],[18,5],[97,3],[97,3],[97,2],[23,2],[63,3],[63,5],[103,2],[103,4],[103,2],[103,4],[19,2],[19,2],[19,2],[19,1],[107,2],[107,2],[20,2],[20,2],[20,2],[109,2],[109,2],[111,2],[111,3],[115,1],[115,1],[115,1],[115,1],[113,1],[113,3],[112,2],[112,2],[112,4],[112,4],[112,4],[112,6],[112,6],[21,5],[21,7],[21,4],[21,6],[120,1],[120,2],[122,3],[122,4],[124,3],[124,5],[17,1],[17,3],[17,3],[17,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,5],[15,4],[15,3]],performAction:function(e,t,n,r,i,s,o){var u=s.length-1;switch(i){case 1:return this.$=r.addLocationDataFn(o[u],o[u])(new r.Block);case 2:return this.$=s[u];case 3:this.$=r.addLocationDataFn(o[u],o[u])(r.Block.wrap([s[u]]));break;case 4:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].push(s[u]));break;case 5:this.$=s[u-1];break;case 6:this.$=s[u];break;case 7:this.$=s[u];break;case 8:this.$=s[u];break;case 9:this.$=s[u];break;case 10:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 11:this.$=s[u];break;case 12:this.$=s[u];break;case 13:this.$=s[u];break;case 14:this.$=s[u];break;case 15:this.$=s[u];break;case 16:this.$=s[u];break;case 17:this.$=s[u];break;case 18:this.$=s[u];break;case 19:this.$=s[u];break;case 20:this.$=s[u];break;case 21:this.$=s[u];break;case 22:this.$=s[u];break;case 23:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Block);break;case 24:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-1]);break;case 25:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 26:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 27:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 28:this.$=s[u];break;case 29:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 30:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 31:this.$=r.addLocationDataFn(o[u],o[u])(new r.Literal(s[u]));break;case 32:this.$=r.addLocationDataFn(o[u],o[u])(new r.Undefined);break;case 33:this.$=r.addLocationDataFn(o[u],o[u])(new r.Null);break;case 34:this.$=r.addLocationDataFn(o[u],o[u])(new r.Bool(s[u]));break;case 35:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u]));break;case 36:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u]));break;case 37:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1]));break;case 38:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 39:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(r.addLocationDataFn(o[u-2])(new r.Value(s[u-2])),s[u],"object"));break;case 40:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(r.addLocationDataFn(o[u-4])(new r.Value(s[u-4])),s[u-1],"object"));break;case 41:this.$=s[u];break;case 42:this.$=s[u];break;case 43:this.$=s[u];break;case 44:this.$=s[u];break;case 45:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Return(s[u]));break;case 46:this.$=r.addLocationDataFn(o[u],o[u])(new r.Return);break;case 47:this.$=r.addLocationDataFn(o[u],o[u])(new r.Comment(s[u]));break;case 48:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Code(s[u-3],s[u],s[u-1]));break;case 49:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Code([],s[u],s[u-1]));break;case 50:this.$=r.addLocationDataFn(o[u],o[u])("func");break;case 51:this.$=r.addLocationDataFn(o[u],o[u])("boundfunc");break;case 52:this.$=s[u];break;case 53:this.$=s[u];break;case 54:this.$=r.addLocationDataFn(o[u],o[u])([]);break;case 55:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 56:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 57:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 58:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 59:this.$=r.addLocationDataFn(o[u],o[u])(new r.Param(s[u]));break;case 60:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Param(s[u-1],null,!0));break;case 61:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Param(s[u-2],s[u]));break;case 62:this.$=s[u];break;case 63:this.$=s[u];break;case 64:this.$=s[u];break;case 65:this.$=s[u];break;case 66:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Splat(s[u-1]));break;case 67:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 68:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].add(s[u]));break;case 69:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(s[u-1],[].concat(s[u])));break;case 70:this.$=s[u];break;case 71:this.$=s[u];break;case 72:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 73:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 74:this.$=s[u];break;case 75:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 76:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 77:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 78:this.$=s[u];break;case 79:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u]));break;case 80:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Access(s[u],"soak"));break;case 81:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"))),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 82:this.$=r.addLocationDataFn(o[u-1],o[u])([r.addLocationDataFn(o[u-1])(new r.Access(new r.Literal("prototype"),"soak")),r.addLocationDataFn(o[u])(new r.Access(s[u]))]);break;case 83:this.$=r.addLocationDataFn(o[u],o[u])(new r.Access(new r.Literal("prototype")));break;case 84:this.$=s[u];break;case 85:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-1]);break;case 86:this.$=r.addLocationDataFn(o[u-1],o[u])(r.extend(s[u],{soak:!0}));break;case 87:this.$=r.addLocationDataFn(o[u],o[u])(new r.Index(s[u]));break;case 88:this.$=r.addLocationDataFn(o[u],o[u])(new r.Slice(s[u]));break;case 89:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Obj(s[u-2],s[u-3].generated));break;case 90:this.$=r.addLocationDataFn(o[u],o[u])([]);break;case 91:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 92:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 93:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 94:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 95:this.$=r.addLocationDataFn(o[u],o[u])(new r.Class);break;case 96:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(null,null,s[u]));break;case 97:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(null,s[u]));break;case 98:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(null,s[u-1],s[u]));break;case 99:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Class(s[u]));break;case 100:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Class(s[u-1],null,s[u]));break;case 101:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Class(s[u-2],s[u]));break;case 102:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Class(s[u-3],s[u-1],s[u]));break;case 103:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 104:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 105:this.$=r.addLocationDataFn(o[u],o[u])(new r.Call("super",[new r.Splat(new r.Literal("arguments"))]));break;case 106:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Call("super",s[u]));break;case 107:this.$=r.addLocationDataFn(o[u],o[u])(!1);break;case 108:this.$=r.addLocationDataFn(o[u],o[u])(!0);break;case 109:this.$=r.addLocationDataFn(o[u-1],o[u])([]);break;case 110:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-2]);break;case 111:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(new r.Literal("this")));break;case 112:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(new r.Literal("this")));break;case 113:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Value(r.addLocationDataFn(o[u-1])(new r.Literal("this")),[r.addLocationDataFn(o[u])(new r.Access(s[u]))],"this"));break;case 114:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Arr([]));break;case 115:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Arr(s[u-2]));break;case 116:this.$=r.addLocationDataFn(o[u],o[u])("inclusive");break;case 117:this.$=r.addLocationDataFn(o[u],o[u])("exclusive");break;case 118:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Range(s[u-3],s[u-1],s[u-2]));break;case 119:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Range(s[u-2],s[u],s[u-1]));break;case 120:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(s[u-1],null,s[u]));break;case 121:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Range(null,s[u],s[u-1]));break;case 122:this.$=r.addLocationDataFn(o[u],o[u])(new r.Range(null,null,s[u]));break;case 123:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 124:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].concat(s[u]));break;case 125:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-3].concat(s[u]));break;case 126:this.$=r.addLocationDataFn(o[u-3],o[u])(s[u-2]);break;case 127:this.$=r.addLocationDataFn(o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 128:this.$=s[u];break;case 129:this.$=s[u];break;case 130:this.$=s[u];break;case 131:this.$=r.addLocationDataFn(o[u-2],o[u])([].concat(s[u-2],s[u]));break;case 132:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Try(s[u]));break;case 133:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Try(s[u-1],s[u][0],s[u][1]));break;case 134:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Try(s[u-2],null,null,s[u]));break;case 135:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Try(s[u-3],s[u-2][0],s[u-2][1],s[u]));break;case 136:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-1],s[u]]);break;case 137:this.$=r.addLocationDataFn(o[u-2],o[u])([r.addLocationDataFn(o[u-1])(new r.Value(s[u-1])),s[u]]);break;case 138:this.$=r.addLocationDataFn(o[u-1],o[u])([null,s[u]]);break;case 139:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Throw(s[u]));break;case 140:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Parens(s[u-1]));break;case 141:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Parens(s[u-2]));break;case 142:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u]));break;case 143:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{guard:s[u]}));break;case 144:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.While(s[u],{invert:!0}));break;case 145:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.While(s[u-2],{invert:!0,guard:s[u]}));break;case 146:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].addBody(s[u]));break;case 147:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u].addBody(r.addLocationDataFn(o[u-1])(r.Block.wrap([s[u-1]]))));break;case 148:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u].addBody(r.addLocationDataFn(o[u-1])(r.Block.wrap([s[u-1]]))));break;case 149:this.$=r.addLocationDataFn(o[u],o[u])(s[u]);break;case 150:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(s[u]));break;case 151:this.$=r.addLocationDataFn(o[u-1],o[u])((new r.While(r.addLocationDataFn(o[u-1])(new r.Literal("true")))).addBody(r.addLocationDataFn(o[u])(r.Block.wrap([s[u]]))));break;case 152:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 153:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 154:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.For(s[u],s[u-1]));break;case 155:this.$=r.addLocationDataFn(o[u-1],o[u])({source:r.addLocationDataFn(o[u])(new r.Value(s[u]))});break;case 156:this.$=r.addLocationDataFn(o[u-1],o[u])(function(){return s[u].own=s[u-1].own,s[u].name=s[u-1][0],s[u].index=s[u-1][1],s[u]}());break;case 157:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u]);break;case 158:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return s[u].own=!0,s[u]}());break;case 159:this.$=s[u];break;case 160:this.$=s[u];break;case 161:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 162:this.$=r.addLocationDataFn(o[u],o[u])(new r.Value(s[u]));break;case 163:this.$=r.addLocationDataFn(o[u],o[u])([s[u]]);break;case 164:this.$=r.addLocationDataFn(o[u-2],o[u])([s[u-2],s[u]]);break;case 165:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u]});break;case 166:this.$=r.addLocationDataFn(o[u-1],o[u])({source:s[u],object:!0});break;case 167:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u]});break;case 168:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],guard:s[u],object:!0});break;case 169:this.$=r.addLocationDataFn(o[u-3],o[u])({source:s[u-2],step:s[u]});break;case 170:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],guard:s[u-2],step:s[u]});break;case 171:this.$=r.addLocationDataFn(o[u-5],o[u])({source:s[u-4],step:s[u-2],guard:s[u]});break;case 172:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Switch(s[u-3],s[u-1]));break;case 173:this.$=r.addLocationDataFn(o[u-6],o[u])(new r.Switch(s[u-5],s[u-3],s[u-1]));break;case 174:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Switch(null,s[u-1]));break;case 175:this.$=r.addLocationDataFn(o[u-5],o[u])(new r.Switch(null,s[u-3],s[u-1]));break;case 176:this.$=s[u];break;case 177:this.$=r.addLocationDataFn(o[u-1],o[u])(s[u-1].concat(s[u]));break;case 178:this.$=r.addLocationDataFn(o[u-2],o[u])([[s[u-1],s[u]]]);break;case 179:this.$=r.addLocationDataFn(o[u-3],o[u])([[s[u-2],s[u-1]]]);break;case 180:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}));break;case 181:this.$=r.addLocationDataFn(o[u-4],o[u])(s[u-4].addElse(r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}))));break;case 182:this.$=s[u];break;case 183:this.$=r.addLocationDataFn(o[u-2],o[u])(s[u-2].addElse(s[u]));break;case 184:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u],r.addLocationDataFn(o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 185:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.If(s[u],r.addLocationDataFn(o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 186:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op(s[u-1],s[u]));break;case 187:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("-",s[u]));break;case 188:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("+",s[u]));break;case 189:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u]));break;case 190:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u]));break;case 191:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("--",s[u-1],null,!0));break;case 192:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Op("++",s[u-1],null,!0));break;case 193:this.$=r.addLocationDataFn(o[u-1],o[u])(new r.Existence(s[u-1]));break;case 194:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("+",s[u-2],s[u]));break;case 195:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op("-",s[u-2],s[u]));break;case 196:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 197:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 198:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 199:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 200:this.$=r.addLocationDataFn(o[u-2],o[u])(function(){return s[u-1].charAt(0)==="!"?(new r.Op(s[u-1].slice(1),s[u-2],s[u])).invert():new r.Op(s[u-1],s[u-2],s[u])}());break;case 201:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Assign(s[u-2],s[u],s[u-1]));break;case 202:this.$=r.addLocationDataFn(o[u-4],o[u])(new r.Assign(s[u-4],s[u-1],s[u-3]));break;case 203:this.$=r.addLocationDataFn(o[u-3],o[u])(new r.Assign(s[u-3],s[u],s[u-2]));break;case 204:this.$=r.addLocationDataFn(o[u-2],o[u])(new r.Extends(s[u-2],s[u]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[3]},{1:[2,2],6:[1,72]},{1:[2,3],6:[2,3],26:[2,3],102:[2,3]},{1:[2,6],6:[2,6],26:[2,6],102:[2,6],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,7],6:[2,7],26:[2,7],102:[2,7],103:85,104:[1,63],106:[1,64],109:86,110:[1,66],111:67,126:[1,84]},{1:[2,11],6:[2,11],25:[2,11],26:[2,11],49:[2,11],54:[2,11],57:[2,11],62:88,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],73:[2,11],74:[1,96],78:[2,11],81:87,84:[1,89],85:[2,107],86:[2,11],91:[2,11],93:[2,11],102:[2,11],104:[2,11],105:[2,11],106:[2,11],110:[2,11],118:[2,11],126:[2,11],128:[2,11],129:[2,11],132:[2,11],133:[2,11],134:[2,11],135:[2,11],136:[2,11],137:[2,11]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],54:[2,12],57:[2,12],62:98,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],73:[2,12],74:[1,96],78:[2,12],81:97,84:[1,89],85:[2,107],86:[2,12],91:[2,12],93:[2,12],102:[2,12],104:[2,12],105:[2,12],106:[2,12],110:[2,12],118:[2,12],126:[2,12],128:[2,12],129:[2,12],132:[2,12],133:[2,12],134:[2,12],135:[2,12],136:[2,12],137:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],54:[2,13],57:[2,13],73:[2,13],78:[2,13],86:[2,13],91:[2,13],93:[2,13],102:[2,13],104:[2,13],105:[2,13],106:[2,13],110:[2,13],118:[2,13],126:[2,13],128:[2,13],129:[2,13],132:[2,13],133:[2,13],134:[2,13],135:[2,13],136:[2,13],137:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],54:[2,14],57:[2,14],73:[2,14],78:[2,14],86:[2,14],91:[2,14],93:[2,14],102:[2,14],104:[2,14],105:[2,14],106:[2,14],110:[2,14],118:[2,14],126:[2,14],128:[2,14],129:[2,14],132:[2,14],133:[2,14],134:[2,14],135:[2,14],136:[2,14],137:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],54:[2,15],57:[2,15],73:[2,15],78:[2,15],86:[2,15],91:[2,15],93:[2,15],102:[2,15],104:[2,15],105:[2,15],106:[2,15],110:[2,15],118:[2,15],126:[2,15],128:[2,15],129:[2,15],132:[2,15],133:[2,15],134:[2,15],135:[2,15],136:[2,15],137:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],54:[2,16],57:[2,16],73:[2,16],78:[2,16],86:[2,16],91:[2,16],93:[2,16],102:[2,16],104:[2,16],105:[2,16],106:[2,16],110:[2,16],118:[2,16],126:[2,16],128:[2,16],129:[2,16],132:[2,16],133:[2,16],134:[2,16],135:[2,16],136:[2,16],137:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],54:[2,17],57:[2,17],73:[2,17],78:[2,17],86:[2,17],91:[2,17],93:[2,17],102:[2,17],104:[2,17],105:[2,17],106:[2,17],110:[2,17],118:[2,17],126:[2,17],128:[2,17],129:[2,17],132:[2,17],133:[2,17],134:[2,17],135:[2,17],136:[2,17],137:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],54:[2,18],57:[2,18],73:[2,18],78:[2,18],86:[2,18],91:[2,18],93:[2,18],102:[2,18],104:[2,18],105:[2,18],106:[2,18],110:[2,18],118:[2,18],126:[2,18],128:[2,18],129:[2,18],132:[2,18],133:[2,18],134:[2,18],135:[2,18],136:[2,18],137:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],54:[2,19],57:[2,19],73:[2,19],78:[2,19],86:[2,19],91:[2,19],93:[2,19],102:[2,19],104:[2,19],105:[2,19],106:[2,19],110:[2,19],118:[2,19],126:[2,19],128:[2,19],129:[2,19],132:[2,19],133:[2,19],134:[2,19],135:[2,19],136:[2,19],137:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],54:[2,20],57:[2,20],73:[2,20],78:[2,20],86:[2,20],91:[2,20],93:[2,20],102:[2,20],104:[2,20],105:[2,20],106:[2,20],110:[2,20],118:[2,20],126:[2,20],128:[2,20],129:[2,20],132:[2,20],133:[2,20],134:[2,20],135:[2,20],136:[2,20],137:[2,20]},{1:[2,21],6:[2,21],25:[2,21],26:[2,21],49:[2,21],54:[2,21],57:[2,21],73:[2,21],78:[2,21],86:[2,21],91:[2,21],93:[2,21],102:[2,21],104:[2,21],105:[2,21],106:[2,21],110:[2,21],118:[2,21],126:[2,21],128:[2,21],129:[2,21],132:[2,21],133:[2,21],134:[2,21],135:[2,21],136:[2,21],137:[2,21]},{1:[2,22],6:[2,22],25:[2,22],26:[2,22],49:[2,22],54:[2,22],57:[2,22],73:[2,22],78:[2,22],86:[2,22],91:[2,22],93:[2,22],102:[2,22],104:[2,22],105:[2,22],106:[2,22],110:[2,22],118:[2,22],126:[2,22],128:[2,22],129:[2,22],132:[2,22],133:[2,22],134:[2,22],135:[2,22],136:[2,22],137:[2,22]},{1:[2,8],6:[2,8],26:[2,8],102:[2,8],104:[2,8],106:[2,8],110:[2,8],126:[2,8]},{1:[2,9],6:[2,9],26:[2,9],102:[2,9],104:[2,9],106:[2,9],110:[2,9],126:[2,9]},{1:[2,10],6:[2,10],26:[2,10],102:[2,10],104:[2,10],106:[2,10],110:[2,10],126:[2,10]},{1:[2,74],6:[2,74],25:[2,74],26:[2,74],40:[1,99],49:[2,74],54:[2,74],57:[2,74],66:[2,74],67:[2,74],68:[2,74],69:[2,74],71:[2,74],73:[2,74],74:[2,74],78:[2,74],84:[2,74],85:[2,74],86:[2,74],91:[2,74],93:[2,74],102:[2,74],104:[2,74],105:[2,74],106:[2,74],110:[2,74],118:[2,74],126:[2,74],128:[2,74],129:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74],137:[2,74]},{1:[2,75],6:[2,75],25:[2,75],26:[2,75],49:[2,75],54:[2,75],57:[2,75],66:[2,75],67:[2,75],68:[2,75],69:[2,75],71:[2,75],73:[2,75],74:[2,75],78:[2,75],84:[2,75],85:[2,75],86:[2,75],91:[2,75],93:[2,75],102:[2,75],104:[2,75],105:[2,75],106:[2,75],110:[2,75],118:[2,75],126:[2,75],128:[2,75],129:[2,75],132:[2,75],133:[2,75],134:[2,75],135:[2,75],136:[2,75],137:[2,75]},{1:[2,76],6:[2,76],25:[2,76],26:[2,76],49:[2,76],54:[2,76],57:[2,76],66:[2,76],67:[2,76],68:[2,76],69:[2,76],71:[2,76],73:[2,76],74:[2,76],78:[2,76],84:[2,76],85:[2,76],86:[2,76],91:[2,76],93:[2,76],102:[2,76],104:[2,76],105:[2,76],106:[2,76],110:[2,76],118:[2,76],126:[2,76],128:[2,76],129:[2,76],132:[2,76],133:[2,76],134:[2,76],135:[2,76],136:[2,76],137:[2,76]},{1:[2,77],6:[2,77],25:[2,77],26:[2,77],49:[2,77],54:[2,77],57:[2,77],66:[2,77],67:[2,77],68:[2,77],69:[2,77],71:[2,77],73:[2,77],74:[2,77],78:[2,77],84:[2,77],85:[2,77],86:[2,77],91:[2,77],93:[2,77],102:[2,77],104:[2,77],105:[2,77],106:[2,77],110:[2,77],118:[2,77],126:[2,77],128:[2,77],129:[2,77],132:[2,77],133:[2,77],134:[2,77],135:[2,77],136:[2,77],137:[2,77]},{1:[2,78],6:[2,78],25:[2,78],26:[2,78],49:[2,78],54:[2,78],57:[2,78],66:[2,78],67:[2,78],68:[2,78],69:[2,78],71:[2,78],73:[2,78],74:[2,78],78:[2,78],84:[2,78],85:[2,78],86:[2,78],91:[2,78],93:[2,78],102:[2,78],104:[2,78],105:[2,78],106:[2,78],110:[2,78],118:[2,78],126:[2,78],128:[2,78],129:[2,78],132:[2,78],133:[2,78],134:[2,78],135:[2,78],136:[2,78],137:[2,78]},{1:[2,105],6:[2,105],25:[2,105],26:[2,105],49:[2,105],54:[2,105],57:[2,105],66:[2,105],67:[2,105],68:[2,105],69:[2,105],71:[2,105],73:[2,105],74:[2,105],78:[2,105],82:100,84:[2,105],85:[1,101],86:[2,105],91:[2,105],93:[2,105],102:[2,105],104:[2,105],105:[2,105],106:[2,105],110:[2,105],118:[2,105],126:[2,105],128:[2,105],129:[2,105],132:[2,105],133:[2,105],134:[2,105],135:[2,105],136:[2,105],137:[2,105]},{6:[2,54],25:[2,54],27:105,28:[1,71],44:106,48:102,49:[2,54],54:[2,54],55:103,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{24:111,25:[1,112]},{7:113,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:115,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:116,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{12:118,13:119,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,58:45,59:46,61:117,63:23,64:24,65:25,76:[1,68],83:[1,26],88:[1,56],89:[1,57],90:[1,55],101:[1,54]},{12:118,13:119,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,58:45,59:46,61:121,63:23,64:24,65:25,76:[1,68],83:[1,26],88:[1,56],89:[1,57],90:[1,55],101:[1,54]},{1:[2,71],6:[2,71],25:[2,71],26:[2,71],40:[2,71],49:[2,71],54:[2,71],57:[2,71],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,71],74:[2,71],78:[2,71],80:[1,125],84:[2,71],85:[2,71],86:[2,71],91:[2,71],93:[2,71],102:[2,71],104:[2,71],105:[2,71],106:[2,71],110:[2,71],118:[2,71],126:[2,71],128:[2,71],129:[2,71],130:[1,122],131:[1,123],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71],138:[1,124]},{1:[2,182],6:[2,182],25:[2,182],26:[2,182],49:[2,182],54:[2,182],57:[2,182],73:[2,182],78:[2,182],86:[2,182],91:[2,182],93:[2,182],102:[2,182],104:[2,182],105:[2,182],106:[2,182],110:[2,182],118:[2,182],121:[1,126],126:[2,182],128:[2,182],129:[2,182],132:[2,182],133:[2,182],134:[2,182],135:[2,182],136:[2,182],137:[2,182]},{24:127,25:[1,112]},{24:128,25:[1,112]},{1:[2,149],6:[2,149],25:[2,149],26:[2,149],49:[2,149],54:[2,149],57:[2,149],73:[2,149],78:[2,149],86:[2,149],91:[2,149],93:[2,149],102:[2,149],104:[2,149],105:[2,149],106:[2,149],110:[2,149],118:[2,149],126:[2,149],128:[2,149],129:[2,149],132:[2,149],133:[2,149],134:[2,149],135:[2,149],136:[2,149],137:[2,149]},{24:129,25:[1,112]},{7:130,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,131],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,95],6:[2,95],12:118,13:119,24:132,25:[1,112],26:[2,95],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:120,44:61,49:[2,95],54:[2,95],57:[2,95],58:45,59:46,61:134,63:23,64:24,65:25,73:[2,95],76:[1,68],78:[2,95],80:[1,133],83:[1,26],86:[2,95],88:[1,56],89:[1,57],90:[1,55],91:[2,95],93:[2,95],101:[1,54],102:[2,95],104:[2,95],105:[2,95],106:[2,95],110:[2,95],118:[2,95],126:[2,95],128:[2,95],129:[2,95],132:[2,95],133:[2,95],134:[2,95],135:[2,95],136:[2,95],137:[2,95]},{7:135,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,46],6:[2,46],7:136,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[2,46],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],102:[2,46],103:37,104:[2,46],106:[2,46],107:38,108:[1,65],109:39,110:[2,46],111:67,119:[1,40],124:35,125:[1,62],126:[2,46],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,47],6:[2,47],25:[2,47],26:[2,47],54:[2,47],78:[2,47],102:[2,47],104:[2,47],106:[2,47],110:[2,47],126:[2,47]},{1:[2,72],6:[2,72],25:[2,72],26:[2,72],40:[2,72],49:[2,72],54:[2,72],57:[2,72],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,72],74:[2,72],78:[2,72],84:[2,72],85:[2,72],86:[2,72],91:[2,72],93:[2,72],102:[2,72],104:[2,72],105:[2,72],106:[2,72],110:[2,72],118:[2,72],126:[2,72],128:[2,72],129:[2,72],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[2,72]},{1:[2,73],6:[2,73],25:[2,73],26:[2,73],40:[2,73],49:[2,73],54:[2,73],57:[2,73],66:[2,73],67:[2,73],68:[2,73],69:[2,73],71:[2,73],73:[2,73],74:[2,73],78:[2,73],84:[2,73],85:[2,73],86:[2,73],91:[2,73],93:[2,73],102:[2,73],104:[2,73],105:[2,73],106:[2,73],110:[2,73],118:[2,73],126:[2,73],128:[2,73],129:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73],137:[2,73]},{1:[2,28],6:[2,28],25:[2,28],26:[2,28],49:[2,28],54:[2,28],57:[2,28],66:[2,28],67:[2,28],68:[2,28],69:[2,28],71:[2,28],73:[2,28],74:[2,28],78:[2,28],84:[2,28],85:[2,28],86:[2,28],91:[2,28],93:[2,28],102:[2,28],104:[2,28],105:[2,28],106:[2,28],110:[2,28],118:[2,28],126:[2,28],128:[2,28],129:[2,28],132:[2,28],133:[2,28],134:[2,28],135:[2,28],136:[2,28],137:[2,28]},{1:[2,29],6:[2,29],25:[2,29],26:[2,29],49:[2,29],54:[2,29],57:[2,29],66:[2,29],67:[2,29],68:[2,29],69:[2,29],71:[2,29],73:[2,29],74:[2,29],78:[2,29],84:[2,29],85:[2,29],86:[2,29],91:[2,29],93:[2,29],102:[2,29],104:[2,29],105:[2,29],106:[2,29],110:[2,29],118:[2,29],126:[2,29],128:[2,29],129:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29],137:[2,29]},{1:[2,30],6:[2,30],25:[2,30],26:[2,30],49:[2,30],54:[2,30],57:[2,30],66:[2,30],67:[2,30],68:[2,30],69:[2,30],71:[2,30],73:[2,30],74:[2,30],78:[2,30],84:[2,30],85:[2,30],86:[2,30],91:[2,30],93:[2,30],102:[2,30],104:[2,30],105:[2,30],106:[2,30],110:[2,30],118:[2,30],126:[2,30],128:[2,30],129:[2,30],132:[2,30],133:[2,30],134:[2,30],135:[2,30],136:[2,30],137:[2,30]},{1:[2,31],6:[2,31],25:[2,31],26:[2,31],49:[2,31],54:[2,31],57:[2,31],66:[2,31],67:[2,31],68:[2,31],69:[2,31],71:[2,31],73:[2,31],74:[2,31],78:[2,31],84:[2,31],85:[2,31],86:[2,31],91:[2,31],93:[2,31],102:[2,31],104:[2,31],105:[2,31],106:[2,31],110:[2,31],118:[2,31],126:[2,31],128:[2,31],129:[2,31],132:[2,31],133:[2,31],134:[2,31],135:[2,31],136:[2,31],137:[2,31]},{1:[2,32],6:[2,32],25:[2,32],26:[2,32],49:[2,32],54:[2,32],57:[2,32],66:[2,32],67:[2,32],68:[2,32],69:[2,32],71:[2,32],73:[2,32],74:[2,32],78:[2,32],84:[2,32],85:[2,32],86:[2,32],91:[2,32],93:[2,32],102:[2,32],104:[2,32],105:[2,32],106:[2,32],110:[2,32],118:[2,32],126:[2,32],128:[2,32],129:[2,32],132:[2,32],133:[2,32],134:[2,32],135:[2,32],136:[2,32],137:[2,32]},{1:[2,33],6:[2,33],25:[2,33],26:[2,33],49:[2,33],54:[2,33],57:[2,33],66:[2,33],67:[2,33],68:[2,33],69:[2,33],71:[2,33],73:[2,33],74:[2,33],78:[2,33],84:[2,33],85:[2,33],86:[2,33],91:[2,33],93:[2,33],102:[2,33],104:[2,33],105:[2,33],106:[2,33],110:[2,33],118:[2,33],126:[2,33],128:[2,33],129:[2,33],132:[2,33],133:[2,33],134:[2,33],135:[2,33],136:[2,33],137:[2,33]},{1:[2,34],6:[2,34],25:[2,34],26:[2,34],49:[2,34],54:[2,34],57:[2,34],66:[2,34],67:[2,34],68:[2,34],69:[2,34],71:[2,34],73:[2,34],74:[2,34],78:[2,34],84:[2,34],85:[2,34],86:[2,34],91:[2,34],93:[2,34],102:[2,34],104:[2,34],105:[2,34],106:[2,34],110:[2,34],118:[2,34],126:[2,34],128:[2,34],129:[2,34],132:[2,34],133:[2,34],134:[2,34],135:[2,34],136:[2,34],137:[2,34]},{4:137,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,138],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:139,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:141,88:[1,56],89:[1,57],90:[1,55],91:[1,140],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,111],6:[2,111],25:[2,111],26:[2,111],49:[2,111],54:[2,111],57:[2,111],66:[2,111],67:[2,111],68:[2,111],69:[2,111],71:[2,111],73:[2,111],74:[2,111],78:[2,111],84:[2,111],85:[2,111],86:[2,111],91:[2,111],93:[2,111],102:[2,111],104:[2,111],105:[2,111],106:[2,111],110:[2,111],118:[2,111],126:[2,111],128:[2,111],129:[2,111],132:[2,111],133:[2,111],134:[2,111],135:[2,111],136:[2,111],137:[2,111]},{1:[2,112],6:[2,112],25:[2,112],26:[2,112],27:145,28:[1,71],49:[2,112],54:[2,112],57:[2,112],66:[2,112],67:[2,112],68:[2,112],69:[2,112],71:[2,112],73:[2,112],74:[2,112],78:[2,112],84:[2,112],85:[2,112],86:[2,112],91:[2,112],93:[2,112],102:[2,112],104:[2,112],105:[2,112],106:[2,112],110:[2,112],118:[2,112],126:[2,112],128:[2,112],129:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112],137:[2,112]},{25:[2,50]},{25:[2,51]},{1:[2,67],6:[2,67],25:[2,67],26:[2,67],40:[2,67],49:[2,67],54:[2,67],57:[2,67],66:[2,67],67:[2,67],68:[2,67],69:[2,67],71:[2,67],73:[2,67],74:[2,67],78:[2,67],80:[2,67],84:[2,67],85:[2,67],86:[2,67],91:[2,67],93:[2,67],102:[2,67],104:[2,67],105:[2,67],106:[2,67],110:[2,67],118:[2,67],126:[2,67],128:[2,67],129:[2,67],130:[2,67],131:[2,67],132:[2,67],133:[2,67],134:[2,67],135:[2,67],136:[2,67],137:[2,67],138:[2,67]},{1:[2,70],6:[2,70],25:[2,70],26:[2,70],40:[2,70],49:[2,70],54:[2,70],57:[2,70],66:[2,70],67:[2,70],68:[2,70],69:[2,70],71:[2,70],73:[2,70],74:[2,70],78:[2,70],80:[2,70],84:[2,70],85:[2,70],86:[2,70],91:[2,70],93:[2,70],102:[2,70],104:[2,70],105:[2,70],106:[2,70],110:[2,70],118:[2,70],126:[2,70],128:[2,70],129:[2,70],130:[2,70],131:[2,70],132:[2,70],133:[2,70],134:[2,70],135:[2,70],136:[2,70],137:[2,70],138:[2,70]},{7:146,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:147,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:148,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:150,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:149,25:[1,112],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{27:155,28:[1,71],44:156,58:157,59:158,64:151,76:[1,68],89:[1,109],90:[1,55],113:152,114:[1,153],115:154},{112:159,116:[1,160],117:[1,161]},{6:[2,90],10:165,25:[2,90],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:163,42:164,44:168,46:[1,44],54:[2,90],77:162,78:[2,90],89:[1,109]},{1:[2,26],6:[2,26],25:[2,26],26:[2,26],43:[2,26],49:[2,26],54:[2,26],57:[2,26],66:[2,26],67:[2,26],68:[2,26],69:[2,26],71:[2,26],73:[2,26],74:[2,26],78:[2,26],84:[2,26],85:[2,26],86:[2,26],91:[2,26],93:[2,26],102:[2,26],104:[2,26],105:[2,26],106:[2,26],110:[2,26],118:[2,26],126:[2,26],128:[2,26],129:[2,26],132:[2,26],133:[2,26],134:[2,26],135:[2,26],136:[2,26],137:[2,26]},{1:[2,27],6:[2,27],25:[2,27],26:[2,27],43:[2,27],49:[2,27],54:[2,27],57:[2,27],66:[2,27],67:[2,27],68:[2,27],69:[2,27],71:[2,27],73:[2,27],74:[2,27],78:[2,27],84:[2,27],85:[2,27],86:[2,27],91:[2,27],93:[2,27],102:[2,27],104:[2,27],105:[2,27],106:[2,27],110:[2,27],118:[2,27],126:[2,27],128:[2,27],129:[2,27],132:[2,27],133:[2,27],134:[2,27],135:[2,27],136:[2,27],137:[2,27]},{1:[2,25],6:[2,25],25:[2,25],26:[2,25],40:[2,25],43:[2,25],49:[2,25],54:[2,25],57:[2,25],66:[2,25],67:[2,25],68:[2,25],69:[2,25],71:[2,25],73:[2,25],74:[2,25],78:[2,25],80:[2,25],84:[2,25],85:[2,25],86:[2,25],91:[2,25],93:[2,25],102:[2,25],104:[2,25],105:[2,25],106:[2,25],110:[2,25],116:[2,25],117:[2,25],118:[2,25],126:[2,25],128:[2,25],129:[2,25],130:[2,25],131:[2,25],132:[2,25],133:[2,25],134:[2,25],135:[2,25],136:[2,25],137:[2,25],138:[2,25]},{1:[2,5],5:169,6:[2,5],7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[2,5],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],102:[2,5],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,193],6:[2,193],25:[2,193],26:[2,193],49:[2,193],54:[2,193],57:[2,193],73:[2,193],78:[2,193],86:[2,193],91:[2,193],93:[2,193],102:[2,193],104:[2,193],105:[2,193],106:[2,193],110:[2,193],118:[2,193],126:[2,193],128:[2,193],129:[2,193],132:[2,193],133:[2,193],134:[2,193],135:[2,193],136:[2,193],137:[2,193]},{7:170,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:171,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:172,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:173,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:174,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:175,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:176,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:177,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,148],6:[2,148],25:[2,148],26:[2,148],49:[2,148],54:[2,148],57:[2,148],73:[2,148],78:[2,148],86:[2,148],91:[2,148],93:[2,148],102:[2,148],104:[2,148],105:[2,148],106:[2,148],110:[2,148],118:[2,148],126:[2,148],128:[2,148],129:[2,148],132:[2,148],133:[2,148],134:[2,148],135:[2,148],136:[2,148],137:[2,148]},{1:[2,153],6:[2,153],25:[2,153],26:[2,153],49:[2,153],54:[2,153],57:[2,153],73:[2,153],78:[2,153],86:[2,153],91:[2,153],93:[2,153],102:[2,153],104:[2,153],105:[2,153],106:[2,153],110:[2,153],118:[2,153],126:[2,153],128:[2,153],129:[2,153],132:[2,153],133:[2,153],134:[2,153],135:[2,153],136:[2,153],137:[2,153]},{7:178,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,147],6:[2,147],25:[2,147],26:[2,147],49:[2,147],54:[2,147],57:[2,147],73:[2,147],78:[2,147],86:[2,147],91:[2,147],93:[2,147],102:[2,147],104:[2,147],105:[2,147],106:[2,147],110:[2,147],118:[2,147],126:[2,147],128:[2,147],129:[2,147],132:[2,147],133:[2,147],134:[2,147],135:[2,147],136:[2,147],137:[2,147]},{1:[2,152],6:[2,152],25:[2,152],26:[2,152],49:[2,152],54:[2,152],57:[2,152],73:[2,152],78:[2,152],86:[2,152],91:[2,152],93:[2,152],102:[2,152],104:[2,152],105:[2,152],106:[2,152],110:[2,152],118:[2,152],126:[2,152],128:[2,152],129:[2,152],132:[2,152],133:[2,152],134:[2,152],135:[2,152],136:[2,152],137:[2,152]},{82:179,85:[1,101]},{1:[2,68],6:[2,68],25:[2,68],26:[2,68],40:[2,68],49:[2,68],54:[2,68],57:[2,68],66:[2,68],67:[2,68],68:[2,68],69:[2,68],71:[2,68],73:[2,68],74:[2,68],78:[2,68],80:[2,68],84:[2,68],85:[2,68],86:[2,68],91:[2,68],93:[2,68],102:[2,68],104:[2,68],105:[2,68],106:[2,68],110:[2,68],118:[2,68],126:[2,68],128:[2,68],129:[2,68],130:[2,68],131:[2,68],132:[2,68],133:[2,68],134:[2,68],135:[2,68],136:[2,68],137:[2,68],138:[2,68]},{85:[2,108]},{27:180,28:[1,71]},{27:181,28:[1,71]},{1:[2,83],6:[2,83],25:[2,83],26:[2,83],27:182,28:[1,71],40:[2,83],49:[2,83],54:[2,83],57:[2,83],66:[2,83],67:[2,83],68:[2,83],69:[2,83],71:[2,83],73:[2,83],74:[2,83],78:[2,83],80:[2,83],84:[2,83],85:[2,83],86:[2,83],91:[2,83],93:[2,83],102:[2,83],104:[2,83],105:[2,83],106:[2,83],110:[2,83],118:[2,83],126:[2,83],128:[2,83],129:[2,83],130:[2,83],131:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83],138:[2,83]},{27:183,28:[1,71]},{1:[2,84],6:[2,84],25:[2,84],26:[2,84],40:[2,84],49:[2,84],54:[2,84],57:[2,84],66:[2,84],67:[2,84],68:[2,84],69:[2,84],71:[2,84],73:[2,84],74:[2,84],78:[2,84],80:[2,84],84:[2,84],85:[2,84],86:[2,84],91:[2,84],93:[2,84],102:[2,84],104:[2,84],105:[2,84],106:[2,84],110:[2,84],118:[2,84],126:[2,84],128:[2,84],129:[2,84],130:[2,84],131:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84],138:[2,84]},{7:185,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],57:[1,189],58:45,59:46,61:34,63:23,64:24,65:25,72:184,75:186,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],92:187,93:[1,188],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{70:190,71:[1,95],74:[1,96]},{82:191,85:[1,101]},{1:[2,69],6:[2,69],25:[2,69],26:[2,69],40:[2,69],49:[2,69],54:[2,69],57:[2,69],66:[2,69],67:[2,69],68:[2,69],69:[2,69],71:[2,69],73:[2,69],74:[2,69],78:[2,69],80:[2,69],84:[2,69],85:[2,69],86:[2,69],91:[2,69],93:[2,69],102:[2,69],104:[2,69],105:[2,69],106:[2,69],110:[2,69],118:[2,69],126:[2,69],128:[2,69],129:[2,69],130:[2,69],131:[2,69],132:[2,69],133:[2,69],134:[2,69],135:[2,69],136:[2,69],137:[2,69],138:[2,69]},{6:[1,193],7:192,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,194],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,106],6:[2,106],25:[2,106],26:[2,106],49:[2,106],54:[2,106],57:[2,106],66:[2,106],67:[2,106],68:[2,106],69:[2,106],71:[2,106],73:[2,106],74:[2,106],78:[2,106],84:[2,106],85:[2,106],86:[2,106],91:[2,106],93:[2,106],102:[2,106],104:[2,106],105:[2,106],106:[2,106],110:[2,106],118:[2,106],126:[2,106],128:[2,106],129:[2,106],132:[2,106],133:[2,106],134:[2,106],135:[2,106],136:[2,106],137:[2,106]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],86:[1,195],87:196,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],49:[1,198],53:200,54:[1,199]},{6:[2,55],25:[2,55],26:[2,55],49:[2,55],54:[2,55]},{6:[2,59],25:[2,59],26:[2,59],40:[1,202],49:[2,59],54:[2,59],57:[1,201]},{6:[2,62],25:[2,62],26:[2,62],40:[2,62],49:[2,62],54:[2,62],57:[2,62]},{6:[2,63],25:[2,63],26:[2,63],40:[2,63],49:[2,63],54:[2,63],57:[2,63]},{6:[2,64],25:[2,64],26:[2,64],40:[2,64],49:[2,64],54:[2,64],57:[2,64]},{6:[2,65],25:[2,65],26:[2,65],40:[2,65],49:[2,65],54:[2,65],57:[2,65]},{27:145,28:[1,71]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:141,88:[1,56],89:[1,57],90:[1,55],91:[1,140],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,49],6:[2,49],25:[2,49],26:[2,49],49:[2,49],54:[2,49],57:[2,49],73:[2,49],78:[2,49],86:[2,49],91:[2,49],93:[2,49],102:[2,49],104:[2,49],105:[2,49],106:[2,49],110:[2,49],118:[2,49],126:[2,49],128:[2,49],129:[2,49],132:[2,49],133:[2,49],134:[2,49],135:[2,49],136:[2,49],137:[2,49]},{4:204,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,26:[1,203],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,186],6:[2,186],25:[2,186],26:[2,186],49:[2,186],54:[2,186],57:[2,186],73:[2,186],78:[2,186],86:[2,186],91:[2,186],93:[2,186],102:[2,186],103:82,104:[2,186],105:[2,186],106:[2,186],109:83,110:[2,186],111:67,118:[2,186],126:[2,186],128:[2,186],129:[2,186],132:[1,73],133:[2,186],134:[2,186],135:[2,186],136:[2,186],137:[2,186]},{103:85,104:[1,63],106:[1,64],109:86,110:[1,66],111:67,126:[1,84]},{1:[2,187],6:[2,187],25:[2,187],26:[2,187],49:[2,187],54:[2,187],57:[2,187],73:[2,187],78:[2,187],86:[2,187],91:[2,187],93:[2,187],102:[2,187],103:82,104:[2,187],105:[2,187],106:[2,187],109:83,110:[2,187],111:67,118:[2,187],126:[2,187],128:[2,187],129:[2,187],132:[1,73],133:[2,187],134:[2,187],135:[2,187],136:[2,187],137:[2,187]},{1:[2,188],6:[2,188],25:[2,188],26:[2,188],49:[2,188],54:[2,188],57:[2,188],73:[2,188],78:[2,188],86:[2,188],91:[2,188],93:[2,188],102:[2,188],103:82,104:[2,188],105:[2,188],106:[2,188],109:83,110:[2,188],111:67,118:[2,188],126:[2,188],128:[2,188],129:[2,188],132:[1,73],133:[2,188],134:[2,188],135:[2,188],136:[2,188],137:[2,188]},{1:[2,189],6:[2,189],25:[2,189],26:[2,189],49:[2,189],54:[2,189],57:[2,189],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,189],74:[2,71],78:[2,189],84:[2,71],85:[2,71],86:[2,189],91:[2,189],93:[2,189],102:[2,189],104:[2,189],105:[2,189],106:[2,189],110:[2,189],118:[2,189],126:[2,189],128:[2,189],129:[2,189],132:[2,189],133:[2,189],134:[2,189],135:[2,189],136:[2,189],137:[2,189]},{62:88,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],74:[1,96],81:87,84:[1,89],85:[2,107]},{62:98,66:[1,90],67:[1,91],68:[1,92],69:[1,93],70:94,71:[1,95],74:[1,96],81:97,84:[1,89],85:[2,107]},{66:[2,74],67:[2,74],68:[2,74],69:[2,74],71:[2,74],74:[2,74],84:[2,74],85:[2,74]},{1:[2,190],6:[2,190],25:[2,190],26:[2,190],49:[2,190],54:[2,190],57:[2,190],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,190],74:[2,71],78:[2,190],84:[2,71],85:[2,71],86:[2,190],91:[2,190],93:[2,190],102:[2,190],104:[2,190],105:[2,190],106:[2,190],110:[2,190],118:[2,190],126:[2,190],128:[2,190],129:[2,190],132:[2,190],133:[2,190],134:[2,190],135:[2,190],136:[2,190],137:[2,190]},{1:[2,191],6:[2,191],25:[2,191],26:[2,191],49:[2,191],54:[2,191],57:[2,191],73:[2,191],78:[2,191],86:[2,191],91:[2,191],93:[2,191],102:[2,191],104:[2,191],105:[2,191],106:[2,191],110:[2,191],118:[2,191],126:[2,191],128:[2,191],129:[2,191],132:[2,191],133:[2,191],134:[2,191],135:[2,191],136:[2,191],137:[2,191]},{1:[2,192],6:[2,192],25:[2,192],26:[2,192],49:[2,192],54:[2,192],57:[2,192],73:[2,192],78:[2,192],86:[2,192],91:[2,192],93:[2,192],102:[2,192],104:[2,192],105:[2,192],106:[2,192],110:[2,192],118:[2,192],126:[2,192],128:[2,192],129:[2,192],132:[2,192],133:[2,192],134:[2,192],135:[2,192],136:[2,192],137:[2,192]},{6:[1,207],7:205,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,206],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:208,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{24:209,25:[1,112],125:[1,210]},{1:[2,132],6:[2,132],25:[2,132],26:[2,132],49:[2,132],54:[2,132],57:[2,132],73:[2,132],78:[2,132],86:[2,132],91:[2,132],93:[2,132],97:211,98:[1,212],99:[1,213],102:[2,132],104:[2,132],105:[2,132],106:[2,132],110:[2,132],118:[2,132],126:[2,132],128:[2,132],129:[2,132],132:[2,132],133:[2,132],134:[2,132],135:[2,132],136:[2,132],137:[2,132]},{1:[2,146],6:[2,146],25:[2,146],26:[2,146],49:[2,146],54:[2,146],57:[2,146],73:[2,146],78:[2,146],86:[2,146],91:[2,146],93:[2,146],102:[2,146],104:[2,146],105:[2,146],106:[2,146],110:[2,146],118:[2,146],126:[2,146],128:[2,146],129:[2,146],132:[2,146],133:[2,146],134:[2,146],135:[2,146],136:[2,146],137:[2,146]},{1:[2,154],6:[2,154],25:[2,154],26:[2,154],49:[2,154],54:[2,154],57:[2,154],73:[2,154],78:[2,154],86:[2,154],91:[2,154],93:[2,154],102:[2,154],104:[2,154],105:[2,154],106:[2,154],110:[2,154],118:[2,154],126:[2,154],128:[2,154],129:[2,154],132:[2,154],133:[2,154],134:[2,154],135:[2,154],136:[2,154],137:[2,154]},{25:[1,214],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{120:215,122:216,123:[1,217]},{1:[2,96],6:[2,96],25:[2,96],26:[2,96],49:[2,96],54:[2,96],57:[2,96],73:[2,96],78:[2,96],86:[2,96],91:[2,96],93:[2,96],102:[2,96],104:[2,96],105:[2,96],106:[2,96],110:[2,96],118:[2,96],126:[2,96],128:[2,96],129:[2,96],132:[2,96],133:[2,96],134:[2,96],135:[2,96],136:[2,96],137:[2,96]},{7:218,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,99],6:[2,99],24:219,25:[1,112],26:[2,99],49:[2,99],54:[2,99],57:[2,99],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,99],74:[2,71],78:[2,99],80:[1,220],84:[2,71],85:[2,71],86:[2,99],91:[2,99],93:[2,99],102:[2,99],104:[2,99],105:[2,99],106:[2,99],110:[2,99],118:[2,99],126:[2,99],128:[2,99],129:[2,99],132:[2,99],133:[2,99],134:[2,99],135:[2,99],136:[2,99],137:[2,99]},{1:[2,139],6:[2,139],25:[2,139],26:[2,139],49:[2,139],54:[2,139],57:[2,139],73:[2,139],78:[2,139],86:[2,139],91:[2,139],93:[2,139],102:[2,139],103:82,104:[2,139],105:[2,139],106:[2,139],109:83,110:[2,139],111:67,118:[2,139],126:[2,139],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,45],6:[2,45],26:[2,45],102:[2,45],103:82,104:[2,45],106:[2,45],109:83,110:[2,45],111:67,126:[2,45],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,72],102:[1,221]},{4:222,5:3,7:4,8:5,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,128],25:[2,128],54:[2,128],57:[1,224],91:[2,128],92:223,93:[1,188],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,114],6:[2,114],25:[2,114],26:[2,114],40:[2,114],49:[2,114],54:[2,114],57:[2,114],66:[2,114],67:[2,114],68:[2,114],69:[2,114],71:[2,114],73:[2,114],74:[2,114],78:[2,114],84:[2,114],85:[2,114],86:[2,114],91:[2,114],93:[2,114],102:[2,114],104:[2,114],105:[2,114],106:[2,114],110:[2,114],116:[2,114],117:[2,114],118:[2,114],126:[2,114],128:[2,114],129:[2,114],132:[2,114],133:[2,114],134:[2,114],135:[2,114],136:[2,114],137:[2,114]},{6:[2,52],25:[2,52],53:225,54:[1,226],91:[2,52]},{6:[2,123],25:[2,123],26:[2,123],54:[2,123],86:[2,123],91:[2,123]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:227,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,129],25:[2,129],26:[2,129],54:[2,129],86:[2,129],91:[2,129]},{1:[2,113],6:[2,113],25:[2,113],26:[2,113],40:[2,113],43:[2,113],49:[2,113],54:[2,113],57:[2,113],66:[2,113],67:[2,113],68:[2,113],69:[2,113],71:[2,113],73:[2,113],74:[2,113],78:[2,113],80:[2,113],84:[2,113],85:[2,113],86:[2,113],91:[2,113],93:[2,113],102:[2,113],104:[2,113],105:[2,113],106:[2,113],110:[2,113],116:[2,113],117:[2,113],118:[2,113],126:[2,113],128:[2,113],129:[2,113],130:[2,113],131:[2,113],132:[2,113],133:[2,113],134:[2,113],135:[2,113],136:[2,113],137:[2,113],138:[2,113]},{24:228,25:[1,112],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,142],6:[2,142],25:[2,142],26:[2,142],49:[2,142],54:[2,142],57:[2,142],73:[2,142],78:[2,142],86:[2,142],91:[2,142],93:[2,142],102:[2,142],103:82,104:[1,63],105:[1,229],106:[1,64],109:83,110:[1,66],111:67,118:[2,142],126:[2,142],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,144],6:[2,144],25:[2,144],26:[2,144],49:[2,144],54:[2,144],57:[2,144],73:[2,144],78:[2,144],86:[2,144],91:[2,144],93:[2,144],102:[2,144],103:82,104:[1,63],105:[1,230],106:[1,64],109:83,110:[1,66],111:67,118:[2,144],126:[2,144],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,150],6:[2,150],25:[2,150],26:[2,150],49:[2,150],54:[2,150],57:[2,150],73:[2,150],78:[2,150],86:[2,150],91:[2,150],93:[2,150],102:[2,150],104:[2,150],105:[2,150],106:[2,150],110:[2,150],118:[2,150],126:[2,150],128:[2,150],129:[2,150],132:[2,150],133:[2,150],134:[2,150],135:[2,150],136:[2,150],137:[2,150]},{1:[2,151],6:[2,151],25:[2,151],26:[2,151],49:[2,151],54:[2,151],57:[2,151],73:[2,151],78:[2,151],86:[2,151],91:[2,151],93:[2,151],102:[2,151],103:82,104:[1,63],105:[2,151],106:[1,64],109:83,110:[1,66],111:67,118:[2,151],126:[2,151],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,155],6:[2,155],25:[2,155],26:[2,155],49:[2,155],54:[2,155],57:[2,155],73:[2,155],78:[2,155],86:[2,155],91:[2,155],93:[2,155],102:[2,155],104:[2,155],105:[2,155],106:[2,155],110:[2,155],118:[2,155],126:[2,155],128:[2,155],129:[2,155],132:[2,155],133:[2,155],134:[2,155],135:[2,155],136:[2,155],137:[2,155]},{116:[2,157],117:[2,157]},{27:155,28:[1,71],44:156,58:157,59:158,76:[1,68],89:[1,109],90:[1,110],113:231,115:154},{54:[1,232],116:[2,163],117:[2,163]},{54:[2,159],116:[2,159],117:[2,159]},{54:[2,160],116:[2,160],117:[2,160]},{54:[2,161],116:[2,161],117:[2,161]},{54:[2,162],116:[2,162],117:[2,162]},{1:[2,156],6:[2,156],25:[2,156],26:[2,156],49:[2,156],54:[2,156],57:[2,156],73:[2,156],78:[2,156],86:[2,156],91:[2,156],93:[2,156],102:[2,156],104:[2,156],105:[2,156],106:[2,156],110:[2,156],118:[2,156],126:[2,156],128:[2,156],129:[2,156],132:[2,156],133:[2,156],134:[2,156],135:[2,156],136:[2,156],137:[2,156]},{7:233,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:234,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],53:235,54:[1,236],78:[2,52]},{6:[2,91],25:[2,91],26:[2,91],54:[2,91],78:[2,91]},{6:[2,38],25:[2,38],26:[2,38],43:[1,237],54:[2,38],78:[2,38]},{6:[2,41],25:[2,41],26:[2,41],54:[2,41],78:[2,41]},{6:[2,42],25:[2,42],26:[2,42],43:[2,42],54:[2,42],78:[2,42]},{6:[2,43],25:[2,43],26:[2,43],43:[2,43],54:[2,43],78:[2,43]},{6:[2,44],25:[2,44],26:[2,44],43:[2,44],54:[2,44],78:[2,44]},{1:[2,4],6:[2,4],26:[2,4],102:[2,4]},{1:[2,194],6:[2,194],25:[2,194],26:[2,194],49:[2,194],54:[2,194],57:[2,194],73:[2,194],78:[2,194],86:[2,194],91:[2,194],93:[2,194],102:[2,194],103:82,104:[2,194],105:[2,194],106:[2,194],109:83,110:[2,194],111:67,118:[2,194],126:[2,194],128:[2,194],129:[2,194],132:[1,73],133:[1,76],134:[2,194],135:[2,194],136:[2,194],137:[2,194]},{1:[2,195],6:[2,195],25:[2,195],26:[2,195],49:[2,195],54:[2,195],57:[2,195],73:[2,195],78:[2,195],86:[2,195],91:[2,195],93:[2,195],102:[2,195],103:82,104:[2,195],105:[2,195],106:[2,195],109:83,110:[2,195],111:67,118:[2,195],126:[2,195],128:[2,195],129:[2,195],132:[1,73],133:[1,76],134:[2,195],135:[2,195],136:[2,195],137:[2,195]},{1:[2,196],6:[2,196],25:[2,196],26:[2,196],49:[2,196],54:[2,196],57:[2,196],73:[2,196],78:[2,196],86:[2,196],91:[2,196],93:[2,196],102:[2,196],103:82,104:[2,196],105:[2,196],106:[2,196],109:83,110:[2,196],111:67,118:[2,196],126:[2,196],128:[2,196],129:[2,196],132:[1,73],133:[2,196],134:[2,196],135:[2,196],136:[2,196],137:[2,196]},{1:[2,197],6:[2,197],25:[2,197],26:[2,197],49:[2,197],54:[2,197],57:[2,197],73:[2,197],78:[2,197],86:[2,197],91:[2,197],93:[2,197],102:[2,197],103:82,104:[2,197],105:[2,197],106:[2,197],109:83,110:[2,197],111:67,118:[2,197],126:[2,197],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[2,197],135:[2,197],136:[2,197],137:[2,197]},{1:[2,198],6:[2,198],25:[2,198],26:[2,198],49:[2,198],54:[2,198],57:[2,198],73:[2,198],78:[2,198],86:[2,198],91:[2,198],93:[2,198],102:[2,198],103:82,104:[2,198],105:[2,198],106:[2,198],109:83,110:[2,198],111:67,118:[2,198],126:[2,198],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[2,198],136:[2,198],137:[1,80]},{1:[2,199],6:[2,199],25:[2,199],26:[2,199],49:[2,199],54:[2,199],57:[2,199],73:[2,199],78:[2,199],86:[2,199],91:[2,199],93:[2,199],102:[2,199],103:82,104:[2,199],105:[2,199],106:[2,199],109:83,110:[2,199],111:67,118:[2,199],126:[2,199],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[2,199],137:[1,80]},{1:[2,200],6:[2,200],25:[2,200],26:[2,200],49:[2,200],54:[2,200],57:[2,200],73:[2,200],78:[2,200],86:[2,200],91:[2,200],93:[2,200],102:[2,200],103:82,104:[2,200],105:[2,200],106:[2,200],109:83,110:[2,200],111:67,118:[2,200],126:[2,200],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[2,200],136:[2,200],137:[2,200]},{1:[2,185],6:[2,185],25:[2,185],26:[2,185],49:[2,185],54:[2,185],57:[2,185],73:[2,185],78:[2,185],86:[2,185],91:[2,185],93:[2,185],102:[2,185],103:82,104:[1,63],105:[2,185],106:[1,64],109:83,110:[1,66],111:67,118:[2,185],126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,184],6:[2,184],25:[2,184],26:[2,184],49:[2,184],54:[2,184],57:[2,184],73:[2,184],78:[2,184],86:[2,184],91:[2,184],93:[2,184],102:[2,184],103:82,104:[1,63],105:[2,184],106:[1,64],109:83,110:[1,66],111:67,118:[2,184],126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,103],6:[2,103],25:[2,103],26:[2,103],49:[2,103],54:[2,103],57:[2,103],66:[2,103],67:[2,103],68:[2,103],69:[2,103],71:[2,103],73:[2,103],74:[2,103],78:[2,103],84:[2,103],85:[2,103],86:[2,103],91:[2,103],93:[2,103],102:[2,103],104:[2,103],105:[2,103],106:[2,103],110:[2,103],118:[2,103],126:[2,103],128:[2,103],129:[2,103],132:[2,103],133:[2,103],134:[2,103],135:[2,103],136:[2,103],137:[2,103]},{1:[2,79],6:[2,79],25:[2,79],26:[2,79],40:[2,79],49:[2,79],54:[2,79],57:[2,79],66:[2,79],67:[2,79],68:[2,79],69:[2,79],71:[2,79],73:[2,79],74:[2,79],78:[2,79],80:[2,79],84:[2,79],85:[2,79],86:[2,79],91:[2,79],93:[2,79],102:[2,79],104:[2,79],105:[2,79],106:[2,79],110:[2,79],118:[2,79],126:[2,79],128:[2,79],129:[2,79],130:[2,79],131:[2,79],132:[2,79],133:[2,79],134:[2,79],135:[2,79],136:[2,79],137:[2,79],138:[2,79]},{1:[2,80],6:[2,80],25:[2,80],26:[2,80],40:[2,80],49:[2,80],54:[2,80],57:[2,80],66:[2,80],67:[2,80],68:[2,80],69:[2,80],71:[2,80],73:[2,80],74:[2,80],78:[2,80],80:[2,80],84:[2,80],85:[2,80],86:[2,80],91:[2,80],93:[2,80],102:[2,80],104:[2,80],105:[2,80],106:[2,80],110:[2,80],118:[2,80],126:[2,80],128:[2,80],129:[2,80],130:[2,80],131:[2,80],132:[2,80],133:[2,80],134:[2,80],135:[2,80],136:[2,80],137:[2,80],138:[2,80]},{1:[2,81],6:[2,81],25:[2,81],26:[2,81],40:[2,81],49:[2,81],54:[2,81],57:[2,81],66:[2,81],67:[2,81],68:[2,81],69:[2,81],71:[2,81],73:[2,81],74:[2,81],78:[2,81],80:[2,81],84:[2,81],85:[2,81],86:[2,81],91:[2,81],93:[2,81],102:[2,81],104:[2,81],105:[2,81],106:[2,81],110:[2,81],118:[2,81],126:[2,81],128:[2,81],129:[2,81],130:[2,81],131:[2,81],132:[2,81],133:[2,81],134:[2,81],135:[2,81],136:[2,81],137:[2,81],138:[2,81]},{1:[2,82],6:[2,82],25:[2,82],26:[2,82],40:[2,82],49:[2,82],54:[2,82],57:[2,82],66:[2,82],67:[2,82],68:[2,82],69:[2,82],71:[2,82],73:[2,82],74:[2,82],78:[2,82],80:[2,82],84:[2,82],85:[2,82],86:[2,82],91:[2,82],93:[2,82],102:[2,82],104:[2,82],105:[2,82],106:[2,82],110:[2,82],118:[2,82],126:[2,82],128:[2,82],129:[2,82],130:[2,82],131:[2,82],132:[2,82],133:[2,82],134:[2,82],135:[2,82],136:[2,82],137:[2,82],138:[2,82]},{73:[1,238]},{57:[1,189],73:[2,87],92:239,93:[1,188],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{73:[2,88]},{7:240,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,73:[2,122],76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{11:[2,116],28:[2,116],30:[2,116],31:[2,116],33:[2,116],34:[2,116],35:[2,116],36:[2,116],37:[2,116],38:[2,116],45:[2,116],46:[2,116],47:[2,116],51:[2,116],52:[2,116],73:[2,116],76:[2,116],79:[2,116],83:[2,116],88:[2,116],89:[2,116],90:[2,116],96:[2,116],100:[2,116],101:[2,116],104:[2,116],106:[2,116],108:[2,116],110:[2,116],119:[2,116],125:[2,116],127:[2,116],128:[2,116],129:[2,116],130:[2,116],131:[2,116]},{11:[2,117],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],73:[2,117],76:[2,117],79:[2,117],83:[2,117],88:[2,117],89:[2,117],90:[2,117],96:[2,117],100:[2,117],101:[2,117],104:[2,117],106:[2,117],108:[2,117],110:[2,117],119:[2,117],125:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117],131:[2,117]},{1:[2,86],6:[2,86],25:[2,86],26:[2,86],40:[2,86],49:[2,86],54:[2,86],57:[2,86],66:[2,86],67:[2,86],68:[2,86],69:[2,86],71:[2,86],73:[2,86],74:[2,86],78:[2,86],80:[2,86],84:[2,86],85:[2,86],86:[2,86],91:[2,86],93:[2,86],102:[2,86],104:[2,86],105:[2,86],106:[2,86],110:[2,86],118:[2,86],126:[2,86],128:[2,86],129:[2,86],130:[2,86],131:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86],138:[2,86]},{1:[2,104],6:[2,104],25:[2,104],26:[2,104],49:[2,104],54:[2,104],57:[2,104],66:[2,104],67:[2,104],68:[2,104],69:[2,104],71:[2,104],73:[2,104],74:[2,104],78:[2,104],84:[2,104],85:[2,104],86:[2,104],91:[2,104],93:[2,104],102:[2,104],104:[2,104],105:[2,104],106:[2,104],110:[2,104],118:[2,104],126:[2,104],128:[2,104],129:[2,104],132:[2,104],133:[2,104],134:[2,104],135:[2,104],136:[2,104],137:[2,104]},{1:[2,35],6:[2,35],25:[2,35],26:[2,35],49:[2,35],54:[2,35],57:[2,35],73:[2,35],78:[2,35],86:[2,35],91:[2,35],93:[2,35],102:[2,35],103:82,104:[2,35],105:[2,35],106:[2,35],109:83,110:[2,35],111:67,118:[2,35],126:[2,35],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:241,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:242,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,109],6:[2,109],25:[2,109],26:[2,109],49:[2,109],54:[2,109],57:[2,109],66:[2,109],67:[2,109],68:[2,109],69:[2,109],71:[2,109],73:[2,109],74:[2,109],78:[2,109],84:[2,109],85:[2,109],86:[2,109],91:[2,109],93:[2,109],102:[2,109],104:[2,109],105:[2,109],106:[2,109],110:[2,109],118:[2,109],126:[2,109],128:[2,109],129:[2,109],132:[2,109],133:[2,109],134:[2,109],135:[2,109],136:[2,109],137:[2,109]},{6:[2,52],25:[2,52],53:243,54:[1,226],86:[2,52]},{6:[2,128],25:[2,128],26:[2,128],54:[2,128],57:[1,244],86:[2,128],91:[2,128],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{50:245,51:[1,58],52:[1,59]},{6:[2,53],25:[2,53],26:[2,53],27:105,28:[1,71],44:106,55:246,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[1,247],25:[1,248]},{6:[2,60],25:[2,60],26:[2,60],49:[2,60],54:[2,60]},{7:249,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,23],6:[2,23],25:[2,23],26:[2,23],49:[2,23],54:[2,23],57:[2,23],73:[2,23],78:[2,23],86:[2,23],91:[2,23],93:[2,23],98:[2,23],99:[2,23],102:[2,23],104:[2,23],105:[2,23],106:[2,23],110:[2,23],118:[2,23],121:[2,23],123:[2,23],126:[2,23],128:[2,23],129:[2,23],132:[2,23],133:[2,23],134:[2,23],135:[2,23],136:[2,23],137:[2,23]},{6:[1,72],26:[1,250]},{1:[2,201],6:[2,201],25:[2,201],26:[2,201],49:[2,201],54:[2,201],57:[2,201],73:[2,201],78:[2,201],86:[2,201],91:[2,201],93:[2,201],102:[2,201],103:82,104:[2,201],105:[2,201],106:[2,201],109:83,110:[2,201],111:67,118:[2,201],126:[2,201],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:251,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:252,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,204],6:[2,204],25:[2,204],26:[2,204],49:[2,204],54:[2,204],57:[2,204],73:[2,204],78:[2,204],86:[2,204],91:[2,204],93:[2,204],102:[2,204],103:82,104:[2,204],105:[2,204],106:[2,204],109:83,110:[2,204],111:67,118:[2,204],126:[2,204],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,183],6:[2,183],25:[2,183],26:[2,183],49:[2,183],54:[2,183],57:[2,183],73:[2,183],78:[2,183],86:[2,183],91:[2,183],93:[2,183],102:[2,183],104:[2,183],105:[2,183],106:[2,183],110:[2,183],118:[2,183],126:[2,183],128:[2,183],129:[2,183],132:[2,183],133:[2,183],134:[2,183],135:[2,183],136:[2,183],137:[2,183]},{7:253,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,133],6:[2,133],25:[2,133],26:[2,133],49:[2,133],54:[2,133],57:[2,133],73:[2,133],78:[2,133],86:[2,133],91:[2,133],93:[2,133],98:[1,254],102:[2,133],104:[2,133],105:[2,133],106:[2,133],110:[2,133],118:[2,133],126:[2,133],128:[2,133],129:[2,133],132:[2,133],133:[2,133],134:[2,133],135:[2,133],136:[2,133],137:[2,133]},{24:255,25:[1,112]},{24:258,25:[1,112],27:256,28:[1,71],59:257,76:[1,68]},{120:259,122:216,123:[1,217]},{26:[1,260],121:[1,261],122:262,123:[1,217]},{26:[2,176],121:[2,176],123:[2,176]},{7:264,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],95:263,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,97],6:[2,97],24:265,25:[1,112],26:[2,97],49:[2,97],54:[2,97],57:[2,97],73:[2,97],78:[2,97],86:[2,97],91:[2,97],93:[2,97],102:[2,97],103:82,104:[1,63],105:[2,97],106:[1,64],109:83,110:[1,66],111:67,118:[2,97],126:[2,97],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,100],6:[2,100],25:[2,100],26:[2,100],49:[2,100],54:[2,100],57:[2,100],73:[2,100],78:[2,100],86:[2,100],91:[2,100],93:[2,100],102:[2,100],104:[2,100],105:[2,100],106:[2,100],110:[2,100],118:[2,100],126:[2,100],128:[2,100],129:[2,100],132:[2,100],133:[2,100],134:[2,100],135:[2,100],136:[2,100],137:[2,100]},{7:266,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,140],6:[2,140],25:[2,140],26:[2,140],49:[2,140],54:[2,140],57:[2,140],66:[2,140],67:[2,140],68:[2,140],69:[2,140],71:[2,140],73:[2,140],74:[2,140],78:[2,140],84:[2,140],85:[2,140],86:[2,140],91:[2,140],93:[2,140],102:[2,140],104:[2,140],105:[2,140],106:[2,140],110:[2,140],118:[2,140],126:[2,140],128:[2,140],129:[2,140],132:[2,140],133:[2,140],134:[2,140],135:[2,140],136:[2,140],137:[2,140]},{6:[1,72],26:[1,267]},{7:268,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,66],11:[2,117],25:[2,66],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],54:[2,66],76:[2,117],79:[2,117],83:[2,117],88:[2,117],89:[2,117],90:[2,117],91:[2,66],96:[2,117],100:[2,117],101:[2,117],104:[2,117],106:[2,117],108:[2,117],110:[2,117],119:[2,117],125:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117],131:[2,117]},{6:[1,270],25:[1,271],91:[1,269]},{6:[2,53],7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[2,53],26:[2,53],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],86:[2,53],88:[1,56],89:[1,57],90:[1,55],91:[2,53],94:272,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,52],25:[2,52],26:[2,52],53:273,54:[1,226]},{1:[2,180],6:[2,180],25:[2,180],26:[2,180],49:[2,180],54:[2,180],57:[2,180],73:[2,180],78:[2,180],86:[2,180],91:[2,180],93:[2,180],102:[2,180],104:[2,180],105:[2,180],106:[2,180],110:[2,180],118:[2,180],121:[2,180],126:[2,180],128:[2,180],129:[2,180],132:[2,180],133:[2,180],134:[2,180],135:[2,180],136:[2,180],137:[2,180]},{7:274,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:275,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{116:[2,158],117:[2,158]},{27:155,28:[1,71],44:156,58:157,59:158,76:[1,68],89:[1,109],90:[1,110],115:276},{1:[2,165],6:[2,165],25:[2,165],26:[2,165],49:[2,165],54:[2,165],57:[2,165],73:[2,165],78:[2,165],86:[2,165],91:[2,165],93:[2,165],102:[2,165],103:82,104:[2,165],105:[1,277],106:[2,165],109:83,110:[2,165],111:67,118:[1,278],126:[2,165],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,166],6:[2,166],25:[2,166],26:[2,166],49:[2,166],54:[2,166],57:[2,166],73:[2,166],78:[2,166],86:[2,166],91:[2,166],93:[2,166],102:[2,166],103:82,104:[2,166],105:[1,279],106:[2,166],109:83,110:[2,166],111:67,118:[2,166],126:[2,166],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,281],25:[1,282],78:[1,280]},{6:[2,53],10:165,25:[2,53],26:[2,53],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:283,42:164,44:168,46:[1,44],78:[2,53],89:[1,109]},{7:284,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,285],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,85],6:[2,85],25:[2,85],26:[2,85],40:[2,85],49:[2,85],54:[2,85],57:[2,85],66:[2,85],67:[2,85],68:[2,85],69:[2,85],71:[2,85],73:[2,85],74:[2,85],78:[2,85],80:[2,85],84:[2,85],85:[2,85],86:[2,85],91:[2,85],93:[2,85],102:[2,85],104:[2,85],105:[2,85],106:[2,85],110:[2,85],118:[2,85],126:[2,85],128:[2,85],129:[2,85],130:[2,85],131:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85],138:[2,85]},{7:286,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,73:[2,120],76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{73:[2,121],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,36],6:[2,36],25:[2,36],26:[2,36],49:[2,36],54:[2,36],57:[2,36],73:[2,36],78:[2,36],86:[2,36],91:[2,36],93:[2,36],102:[2,36],103:82,104:[2,36],105:[2,36],106:[2,36],109:83,110:[2,36],111:67,118:[2,36],126:[2,36],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{26:[1,287],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,270],25:[1,271],86:[1,288]},{6:[2,66],25:[2,66],26:[2,66],54:[2,66],86:[2,66],91:[2,66]},{24:289,25:[1,112]},{6:[2,56],25:[2,56],26:[2,56],49:[2,56],54:[2,56]},{27:105,28:[1,71],44:106,55:290,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[2,54],25:[2,54],26:[2,54],27:105,28:[1,71],44:106,48:291,54:[2,54],55:103,56:104,58:107,59:108,76:[1,68],89:[1,109],90:[1,110]},{6:[2,61],25:[2,61],26:[2,61],49:[2,61],54:[2,61],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,24],6:[2,24],25:[2,24],26:[2,24],49:[2,24],54:[2,24],57:[2,24],73:[2,24],78:[2,24],86:[2,24],91:[2,24],93:[2,24],98:[2,24],99:[2,24],102:[2,24],104:[2,24],105:[2,24],106:[2,24],110:[2,24],118:[2,24],121:[2,24],123:[2,24],126:[2,24],128:[2,24],129:[2,24],132:[2,24],133:[2,24],134:[2,24],135:[2,24],136:[2,24],137:[2,24]},{26:[1,292],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,203],6:[2,203],25:[2,203],26:[2,203],49:[2,203],54:[2,203],57:[2,203],73:[2,203],78:[2,203],86:[2,203],91:[2,203],93:[2,203],102:[2,203],103:82,104:[2,203],105:[2,203],106:[2,203],109:83,110:[2,203],111:67,118:[2,203],126:[2,203],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{24:293,25:[1,112],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{24:294,25:[1,112]},{1:[2,134],6:[2,134],25:[2,134],26:[2,134],49:[2,134],54:[2,134],57:[2,134],73:[2,134],78:[2,134],86:[2,134],91:[2,134],93:[2,134],102:[2,134],104:[2,134],105:[2,134],106:[2,134],110:[2,134],118:[2,134],126:[2,134],128:[2,134],129:[2,134],132:[2,134],133:[2,134],134:[2,134],135:[2,134],136:[2,134],137:[2,134]},{24:295,25:[1,112]},{24:296,25:[1,112]},{1:[2,138],6:[2,138],25:[2,138],26:[2,138],49:[2,138],54:[2,138],57:[2,138],73:[2,138],78:[2,138],86:[2,138],91:[2,138],93:[2,138],98:[2,138],102:[2,138],104:[2,138],105:[2,138],106:[2,138],110:[2,138],118:[2,138],126:[2,138],128:[2,138],129:[2,138],132:[2,138],133:[2,138],134:[2,138],135:[2,138],136:[2,138],137:[2,138]},{26:[1,297],121:[1,298],122:262,123:[1,217]},{1:[2,174],6:[2,174],25:[2,174],26:[2,174],49:[2,174],54:[2,174],57:[2,174],73:[2,174],78:[2,174],86:[2,174],91:[2,174],93:[2,174],102:[2,174],104:[2,174],105:[2,174],106:[2,174],110:[2,174],118:[2,174],126:[2,174],128:[2,174],129:[2,174],132:[2,174],133:[2,174],134:[2,174],135:[2,174],136:[2,174],137:[2,174]},{24:299,25:[1,112]},{26:[2,177],121:[2,177],123:[2,177]},{24:300,25:[1,112],54:[1,301]},{25:[2,130],54:[2,130],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,98],6:[2,98],25:[2,98],26:[2,98],49:[2,98],54:[2,98],57:[2,98],73:[2,98],78:[2,98],86:[2,98],91:[2,98],93:[2,98],102:[2,98],104:[2,98],105:[2,98],106:[2,98],110:[2,98],118:[2,98],126:[2,98],128:[2,98],129:[2,98],132:[2,98],133:[2,98],134:[2,98],135:[2,98],136:[2,98],137:[2,98]},{1:[2,101],6:[2,101],24:302,25:[1,112],26:[2,101],49:[2,101],54:[2,101],57:[2,101],73:[2,101],78:[2,101],86:[2,101],91:[2,101],93:[2,101],102:[2,101],103:82,104:[1,63],105:[2,101],106:[1,64],109:83,110:[1,66],111:67,118:[2,101],126:[2,101],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{102:[1,303]},{91:[1,304],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,115],6:[2,115],25:[2,115],26:[2,115],40:[2,115],49:[2,115],54:[2,115],57:[2,115],66:[2,115],67:[2,115],68:[2,115],69:[2,115],71:[2,115],73:[2,115],74:[2,115],78:[2,115],84:[2,115],85:[2,115],86:[2,115],91:[2,115],93:[2,115],102:[2,115],104:[2,115],105:[2,115],106:[2,115],110:[2,115],116:[2,115],117:[2,115],118:[2,115],126:[2,115],128:[2,115],129:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115],137:[2,115]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],94:305,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:197,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,25:[1,143],27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,60:144,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],87:306,88:[1,56],89:[1,57],90:[1,55],94:142,96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[2,124],25:[2,124],26:[2,124],54:[2,124],86:[2,124],91:[2,124]},{6:[1,270],25:[1,271],26:[1,307]},{1:[2,143],6:[2,143],25:[2,143],26:[2,143],49:[2,143],54:[2,143],57:[2,143],73:[2,143],78:[2,143],86:[2,143],91:[2,143],93:[2,143],102:[2,143],103:82,104:[1,63],105:[2,143],106:[1,64],109:83,110:[1,66],111:67,118:[2,143],126:[2,143],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,145],6:[2,145],25:[2,145],26:[2,145],49:[2,145],54:[2,145],57:[2,145],73:[2,145],78:[2,145],86:[2,145],91:[2,145],93:[2,145],102:[2,145],103:82,104:[1,63],105:[2,145],106:[1,64],109:83,110:[1,66],111:67,118:[2,145],126:[2,145],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{116:[2,164],117:[2,164]},{7:308,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:309,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:310,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,89],6:[2,89],25:[2,89],26:[2,89],40:[2,89],49:[2,89],54:[2,89],57:[2,89],66:[2,89],67:[2,89],68:[2,89],69:[2,89],71:[2,89],73:[2,89],74:[2,89],78:[2,89],84:[2,89],85:[2,89],86:[2,89],91:[2,89],93:[2,89],102:[2,89],104:[2,89],105:[2,89],106:[2,89],110:[2,89],116:[2,89],117:[2,89],118:[2,89],126:[2,89],128:[2,89],129:[2,89],132:[2,89],133:[2,89],134:[2,89],135:[2,89],136:[2,89],137:[2,89]},{10:165,27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:311,42:164,44:168,46:[1,44],89:[1,109]},{6:[2,90],10:165,25:[2,90],26:[2,90],27:166,28:[1,71],29:167,30:[1,69],31:[1,70],41:163,42:164,44:168,46:[1,44],54:[2,90],77:312,89:[1,109]},{6:[2,92],25:[2,92],26:[2,92],54:[2,92],78:[2,92]},{6:[2,39],25:[2,39],26:[2,39],54:[2,39],78:[2,39],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{7:313,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{73:[2,119],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,37],6:[2,37],25:[2,37],26:[2,37],49:[2,37],54:[2,37],57:[2,37],73:[2,37],78:[2,37],86:[2,37],91:[2,37],93:[2,37],102:[2,37],104:[2,37],105:[2,37],106:[2,37],110:[2,37],118:[2,37],126:[2,37],128:[2,37],129:[2,37],132:[2,37],133:[2,37],134:[2,37],135:[2,37],136:[2,37],137:[2,37]},{1:[2,110],6:[2,110],25:[2,110],26:[2,110],49:[2,110],54:[2,110],57:[2,110],66:[2,110],67:[2,110],68:[2,110],69:[2,110],71:[2,110],73:[2,110],74:[2,110],78:[2,110],84:[2,110],85:[2,110],86:[2,110],91:[2,110],93:[2,110],102:[2,110],104:[2,110],105:[2,110],106:[2,110],110:[2,110],118:[2,110],126:[2,110],128:[2,110],129:[2,110],132:[2,110],133:[2,110],134:[2,110],135:[2,110],136:[2,110],137:[2,110]},{1:[2,48],6:[2,48],25:[2,48],26:[2,48],49:[2,48],54:[2,48],57:[2,48],73:[2,48],78:[2,48],86:[2,48],91:[2,48],93:[2,48],102:[2,48],104:[2,48],105:[2,48],106:[2,48],110:[2,48],118:[2,48],126:[2,48],128:[2,48],129:[2,48],132:[2,48],133:[2,48],134:[2,48],135:[2,48],136:[2,48],137:[2,48]},{6:[2,57],25:[2,57],26:[2,57],49:[2,57],54:[2,57]},{6:[2,52],25:[2,52],26:[2,52],53:314,54:[1,199]},{1:[2,202],6:[2,202],25:[2,202],26:[2,202],49:[2,202],54:[2,202],57:[2,202],73:[2,202],78:[2,202],86:[2,202],91:[2,202],93:[2,202],102:[2,202],104:[2,202],105:[2,202],106:[2,202],110:[2,202],118:[2,202],126:[2,202],128:[2,202],129:[2,202],132:[2,202],133:[2,202],134:[2,202],135:[2,202],136:[2,202],137:[2,202]},{1:[2,181],6:[2,181],25:[2,181],26:[2,181],49:[2,181],54:[2,181],57:[2,181],73:[2,181],78:[2,181],86:[2,181],91:[2,181],93:[2,181],102:[2,181],104:[2,181],105:[2,181],106:[2,181],110:[2,181],118:[2,181],121:[2,181],126:[2,181],128:[2,181],129:[2,181],132:[2,181],133:[2,181],134:[2,181],135:[2,181],136:[2,181],137:[2,181]},{1:[2,135],6:[2,135],25:[2,135],26:[2,135],49:[2,135],54:[2,135],57:[2,135],73:[2,135],78:[2,135],86:[2,135],91:[2,135],93:[2,135],102:[2,135],104:[2,135],105:[2,135],106:[2,135],110:[2,135],118:[2,135],126:[2,135],128:[2,135],129:[2,135],132:[2,135],133:[2,135],134:[2,135],135:[2,135],136:[2,135],137:[2,135]},{1:[2,136],6:[2,136],25:[2,136],26:[2,136],49:[2,136],54:[2,136],57:[2,136],73:[2,136],78:[2,136],86:[2,136],91:[2,136],93:[2,136],98:[2,136],102:[2,136],104:[2,136],105:[2,136],106:[2,136],110:[2,136],118:[2,136],126:[2,136],128:[2,136],129:[2,136],132:[2,136],133:[2,136],134:[2,136],135:[2,136],136:[2,136],137:[2,136]},{1:[2,137],6:[2,137],25:[2,137],26:[2,137],49:[2,137],54:[2,137],57:[2,137],73:[2,137],78:[2,137],86:[2,137],91:[2,137],93:[2,137],98:[2,137],102:[2,137],104:[2,137],105:[2,137],106:[2,137],110:[2,137],118:[2,137],126:[2,137],128:[2,137],129:[2,137],132:[2,137],133:[2,137],134:[2,137],135:[2,137],136:[2,137],137:[2,137]},{1:[2,172],6:[2,172],25:[2,172],26:[2,172],49:[2,172],54:[2,172],57:[2,172],73:[2,172],78:[2,172],86:[2,172],91:[2,172],93:[2,172],102:[2,172],104:[2,172],105:[2,172],106:[2,172],110:[2,172],118:[2,172],126:[2,172],128:[2,172],129:[2,172],132:[2,172],133:[2,172],134:[2,172],135:[2,172],136:[2,172],137:[2,172]},{24:315,25:[1,112]},{26:[1,316]},{6:[1,317],26:[2,178],121:[2,178],123:[2,178]},{7:318,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{1:[2,102],6:[2,102],25:[2,102],26:[2,102],49:[2,102],54:[2,102],57:[2,102],73:[2,102],78:[2,102],86:[2,102],91:[2,102],93:[2,102],102:[2,102],104:[2,102],105:[2,102],106:[2,102],110:[2,102],118:[2,102],126:[2,102],128:[2,102],129:[2,102],132:[2,102],133:[2,102],134:[2,102],135:[2,102],136:[2,102],137:[2,102]},{1:[2,141],6:[2,141],25:[2,141],26:[2,141],49:[2,141],54:[2,141],57:[2,141],66:[2,141],67:[2,141],68:[2,141],69:[2,141],71:[2,141],73:[2,141],74:[2,141],78:[2,141],84:[2,141],85:[2,141],86:[2,141],91:[2,141],93:[2,141],102:[2,141],104:[2,141],105:[2,141],106:[2,141],110:[2,141],118:[2,141],126:[2,141],128:[2,141],129:[2,141],132:[2,141],133:[2,141],134:[2,141],135:[2,141],136:[2,141],137:[2,141]},{1:[2,118],6:[2,118],25:[2,118],26:[2,118],49:[2,118],54:[2,118],57:[2,118],66:[2,118],67:[2,118],68:[2,118],69:[2,118],71:[2,118],73:[2,118],74:[2,118],78:[2,118],84:[2,118],85:[2,118],86:[2,118],91:[2,118],93:[2,118],102:[2,118],104:[2,118],105:[2,118],106:[2,118],110:[2,118],118:[2,118],126:[2,118],128:[2,118],129:[2,118],132:[2,118],133:[2,118],134:[2,118],135:[2,118],136:[2,118],137:[2,118]},{6:[2,125],25:[2,125],26:[2,125],54:[2,125],86:[2,125],91:[2,125]},{6:[2,52],25:[2,52],26:[2,52],53:319,54:[1,226]},{6:[2,126],25:[2,126],26:[2,126],54:[2,126],86:[2,126],91:[2,126]},{1:[2,167],6:[2,167],25:[2,167],26:[2,167],49:[2,167],54:[2,167],57:[2,167],73:[2,167],78:[2,167],86:[2,167],91:[2,167],93:[2,167],102:[2,167],103:82,104:[2,167],105:[2,167],106:[2,167],109:83,110:[2,167],111:67,118:[1,320],126:[2,167],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,169],6:[2,169],25:[2,169],26:[2,169],49:[2,169],54:[2,169],57:[2,169],73:[2,169],78:[2,169],86:[2,169],91:[2,169],93:[2,169],102:[2,169],103:82,104:[2,169],105:[1,321],106:[2,169],109:83,110:[2,169],111:67,118:[2,169],126:[2,169],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,168],6:[2,168],25:[2,168],26:[2,168],49:[2,168],54:[2,168],57:[2,168],73:[2,168],78:[2,168],86:[2,168],91:[2,168],93:[2,168],102:[2,168],103:82,104:[2,168],105:[2,168],106:[2,168],109:83,110:[2,168],111:67,118:[2,168],126:[2,168],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[2,93],25:[2,93],26:[2,93],54:[2,93],78:[2,93]},{6:[2,52],25:[2,52],26:[2,52],53:322,54:[1,236]},{26:[1,323],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,247],25:[1,248],26:[1,324]},{26:[1,325]},{1:[2,175],6:[2,175],25:[2,175],26:[2,175],49:[2,175],54:[2,175],57:[2,175],73:[2,175],78:[2,175],86:[2,175],91:[2,175],93:[2,175],102:[2,175],104:[2,175],105:[2,175],106:[2,175],110:[2,175],118:[2,175],126:[2,175],128:[2,175],129:[2,175],132:[2,175],133:[2,175],134:[2,175],135:[2,175],136:[2,175],137:[2,175]},{26:[2,179],121:[2,179],123:[2,179]},{25:[2,131],54:[2,131],103:82,104:[1,63],106:[1,64],109:83,110:[1,66],111:67,126:[1,81],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[1,270],25:[1,271],26:[1,326]},{7:327,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{7:328,8:114,9:18,10:19,11:[1,20],12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:60,28:[1,71],29:47,30:[1,69],31:[1,70],32:22,33:[1,48],34:[1,49],35:[1,50],36:[1,51],37:[1,52],38:[1,53],39:21,44:61,45:[1,43],46:[1,44],47:[1,27],50:28,51:[1,58],52:[1,59],58:45,59:46,61:34,63:23,64:24,65:25,76:[1,68],79:[1,41],83:[1,26],88:[1,56],89:[1,57],90:[1,55],96:[1,36],100:[1,42],101:[1,54],103:37,104:[1,63],106:[1,64],107:38,108:[1,65],109:39,110:[1,66],111:67,119:[1,40],124:35,125:[1,62],127:[1,29],128:[1,30],129:[1,31],130:[1,32],131:[1,33]},{6:[1,281],25:[1,282],26:[1,329]},{6:[2,40],25:[2,40],26:[2,40],54:[2,40],78:[2,40]},{6:[2,58],25:[2,58],26:[2,58],49:[2,58],54:[2,58]},{1:[2,173],6:[2,173],25:[2,173],26:[2,173],49:[2,173],54:[2,173],57:[2,173],73:[2,173],78:[2,173],86:[2,173],91:[2,173],93:[2,173],102:[2,173],104:[2,173],105:[2,173],106:[2,173],110:[2,173],118:[2,173],126:[2,173],128:[2,173],129:[2,173],132:[2,173],133:[2,173],134:[2,173],135:[2,173],136:[2,173],137:[2,173]},{6:[2,127],25:[2,127],26:[2,127],54:[2,127],86:[2,127],91:[2,127]},{1:[2,170],6:[2,170],25:[2,170],26:[2,170],49:[2,170],54:[2,170],57:[2,170],73:[2,170],78:[2,170],86:[2,170],91:[2,170],93:[2,170],102:[2,170],103:82,104:[2,170],105:[2,170],106:[2,170],109:83,110:[2,170],111:67,118:[2,170],126:[2,170],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{1:[2,171],6:[2,171],25:[2,171],26:[2,171],49:[2,171],54:[2,171],57:[2,171],73:[2,171],78:[2,171],86:[2,171],91:[2,171],93:[2,171],102:[2,171],103:82,104:[2,171],105:[2,171],106:[2,171],109:83,110:[2,171],111:67,118:[2,171],126:[2,171],128:[1,75],129:[1,74],132:[1,73],133:[1,76],134:[1,77],135:[1,78],136:[1,79],137:[1,80]},{6:[2,94],25:[2,94],26:[2,94],54:[2,94],78:[2,94]}],defaultActions:{58:[2,50],59:[2,51],89:[2,108],186:[2,88]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.location=t.loc,n}this.trace(e)},parse:function(e){function t(e){i.length=i.length-2*e,s.length=s.length-e,o.length=o.length-e}function n(){var e;return e=r.lexer.lex()||p,typeof e!="number"&&(e=r.symbols_[e]||e),e}var r=this,i=[0],s=[null],o=[],u=this.table,a="",f=0,l=0,c=0,h=2,p=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var d=this.lexer.yylloc;o.push(d);var v=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"?this.parseError=this.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;var m,g,y,b,w,E,S={},x,T,N,C;for(;;){y=i[i.length-1];if(this.defaultActions[y])b=this.defaultActions[y];else{if(m===null||typeof m=="undefined")m=n();b=u[y]&&u[y][m]}if(typeof b=="undefined"||!b.length||!b[0]){var k="";C=[];for(x in u[y])this.terminals_[x]&&x>h&&C.push("'"+this.terminals_[x]+"'");this.lexer.showPosition?k="Expecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":k="Unexpected "+(m==p?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.lexer.yylloc.first_line!==d.first_line&&(d=this.lexer.yylloc),this.parseError(k,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:d,expected:C})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+m);switch(b[0]){case 1:i.push(m),s.push(this.lexer.yytext),o.push(this.lexer.yylloc),i.push(b[1]),m=null,g?(m=g,g=null):(l=this.lexer.yyleng,a=this.lexer.yytext,f=this.lexer.yylineno,d=this.lexer.yylloc,c>0&&c--);break;case 2:T=this.productions_[b[1]][1],S.$=s[s.length-T],S._$={first_line:o[o.length-(T||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(T||1)].first_column,last_column:o[o.length-1].last_column},v&&(S._$.range=[o[o.length-(T||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.call(S,a,l,f,this.yy,b[1],s,o);if(typeof E!="undefined")return E;T&&(i=i.slice(0,-1*T*2),s=s.slice(0,-1*T),o=o.slice(0,-1*T)),i.push(this.productions_[b[1]][0]),s.push(S.$),o.push(S._$),N=u[i[i.length-2]][i[i.length-1]],i.push(N);break;case 3:return!0}}return!0}};undefined,r.prototype=i,i.Parser=r,n.exports=new r}),ace.define("ace/mode/coffee/nodes",["require","exports","module","ace/mode/coffee/scope","ace/mode/coffee/lexer","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt,dt,vt,mt,gt,yt,bt,wt={}.hasOwnProperty,Et=function(e,t){function n(){this.constructor=e}for(var r in t)wt.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},St=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},xt=[].slice;Error.stackTraceLimit=Infinity,U=e("./scope").Scope,mt=e("./lexer"),j=mt.RESERVED,R=mt.STRICT_PROSCRIBED,gt=e("./helpers"),tt=gt.compact,st=gt.flatten,it=gt.extend,ft=gt.merge,nt=gt.del,ht=gt.starts,rt=gt.ends,ut=gt.last,ct=gt.some,et=gt.addLocationDataFn,at=gt.locationDataToString,pt=gt.throwSyntaxError,t.extend=it,t.addLocationDataFn=et,Z=function(){return!0},_=function(){return!1},$=function(){return this},M=function(){return this.negated=!this.negated,this},t.CodeFragment=h=function(){function e(e,t){var n;this.code=""+t,this.locationData=e!=null?e.locationData:void 0,this.type=(e!=null?(n=e.constructor)!=null?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+at(this.locationData):"")},e}(),ot=function(e){var t;return function(){var n,r,i;i=[];for(n=0,r=e.length;n<r;n++)t=e[n],i.push(t.code);return i}().join("")},t.Base=o=function(){function e(){}return e.prototype.compile=function(e,t){return ot(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=it({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level===L||!n.isStatement(e)?n.compileNode(e):n.compileClosure(e)},e.prototype.compileClosure=function(e){var t;return(t=this.jumps())&&t.error("cannot use a pure statement in an expression"),e.sharedScope=!0,l.wrap(this).compileNode(e)},e.prototype.cache=function(e,t,n){var r,i;return this.isComplex()?(r=new A(n||e.scope.freeVariable("ref")),i=new s(r,this),t?[i.compileToFragments(e,t),[this.makeCode(r.value)]]:[i,r]):(r=t?this.compileToFragments(e,t):this,[r,r])},e.prototype.cacheToCodeFragments=function(e){return[ot(e[0]),ot(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new a(new A(""+e+".push"),[t]):new I(t)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){if(e(n))return t=n,!1}),t},e.prototype.lastNonComment=function(e){var t;t=e.length;while(t--)if(!(e[t]instanceof p))return e[t];return null},e.prototype.toString=function(e,t){var n;return e==null&&(e=""),t==null&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+V)}),n},e.prototype.eachChild=function(e){var t,n,r,i,s,o,u,a;if(!this.children)return this;u=this.children;for(r=0,s=u.length;r<s;r++){t=u[r];if(this[t]){a=st([this[t]]);for(i=0,o=a.length;i<o;i++){n=a[i];if(e(n)===!1)return this}}}return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var r;r=t(n);if(r!==!1)return n.traverseChildren(e,t)})},e.prototype.invert=function(){return new P("!",this)},e.prototype.unwrapAll=function(){var e;e=this;while(e!==(e=e.unwrap()))continue;return e},e.prototype.children=[],e.prototype.isStatement=_,e.prototype.jumps=_,e.prototype.isComplex=Z,e.prototype.isChainable=_,e.prototype.isAssignable=_,e.prototype.unwrap=$,e.prototype.unfoldSoak=_,e.prototype.assigns=_,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData?this:(this.locationData=e,this.eachChild(function(t){return t.updateLocationDataIfMissing(e)}))},e.prototype.error=function(e){return pt(e,this.locationData)},e.prototype.makeCode=function(e){return new h(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,r,i,s,o;n=[];for(i=s=0,o=e.length;s<o;i=++s)r=e[i],i&&n.push(this.makeCode(t)),n=n.concat(r);return n},e}(),t.Block=u=function(e){function t(e){this.expressions=tt(st(e||[]))}return Et(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,r,i;i=this.expressions;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.isStatement(e))return!0}return!1},t.prototype.jumps=function(e){var t,n,r,i;i=this.expressions;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.jumps(e))return t}},t.prototype.makeReturn=function(e){var t,n;n=this.expressions.length;while(n--){t=this.expressions[n];if(!(t instanceof p)){this.expressions[n]=t.makeReturn(e),t instanceof I&&!t.expression&&this.expressions.splice(n,1);break}}return this},t.prototype.compileToFragments=function(e,n){return e==null&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,r,i,s,o,u,a,f,l;this.tab=e.indent,u=e.level===L,r=[],l=this.expressions;for(s=a=0,f=l.length;a<f;s=++a)o=l[s],o=o.unwrapAll(),o=o.unfoldSoak(e)||o,o instanceof t?r.push(o.compileNode(e)):u?(o.front=!0,i=o.compileToFragments(e),o.isStatement(e)||(i.unshift(this.makeCode(""+this.tab)),i.push(this.makeCode(";"))),r.push(i)):r.push(o.compileToFragments(e,N));return u?this.spaced?[].concat(this.joinFragmentArrays(r,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(r,"\n"):(r.length?n=this.joinFragmentArrays(r,", "):n=[this.makeCode("void 0")],r.length>1&&e.level>=N?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,r,i,s,o,u,a,f,l;e.indent=e.bare?"":V,e.level=L,this.spaced=!0,e.scope=new U(null,this,null),l=e.locals||[];for(a=0,f=l.length;a<f;a++)i=l[a],e.scope.parameter(i);return s=[],e.bare||(o=function(){var e,n,i,s;i=this.expressions,s=[];for(r=e=0,n=i.length;e<n;r=++e){t=i[r];if(!(t.unwrap()instanceof p))break;s.push(t)}return s}.call(this),u=this.expressions.slice(o.length),this.expressions=o,o.length&&(s=this.compileNode(ft(e,{indent:""})),s.push(this.makeCode("\n"))),this.expressions=u),n=this.compileWithDeclarations(e),e.bare?n:[].concat(s,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,d,v;i=[],o=[],h=this.expressions;for(s=l=0,c=h.length;l<c;s=++l){r=h[s],r=r.unwrap();if(!(r instanceof p||r instanceof A))break}return e=ft(e,{level:L}),s&&(u=this.expressions.splice(s,9e9),d=[this.spaced,!1],f=d[0],this.spaced=d[1],v=[this.compileNode(e),f],i=v[0],this.spaced=v[1],this.expressions=u),o=this.compileNode(e),a=e.scope,a.expressions===this&&(n=e.scope.hasDeclarations(),t=a.hasAssignments,n||t?(s&&i.push(this.makeCode("\n")),i.push(this.makeCode(""+this.tab+"var ")),n&&i.push(this.makeCode(a.declaredVariables().join(", "))),t&&(n&&i.push(this.makeCode(",\n"+(this.tab+V))),i.push(this.makeCode(a.assignedVariables().join(",\n"+(this.tab+V))))),i.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):i.length&&o.length&&i.push(this.makeCode("\n"))),i.concat(o)},t.wrap=function(e){return e.length===1&&e[0]instanceof t?e[0]:new t(e)},t}(o),t.Literal=A=function(e){function t(e){this.value=e}return Et(t,e),t.prototype.makeReturn=function(){return this.isStatement()?this:t.__super__.makeReturn.apply(this,arguments)},t.prototype.isAssignable=function(){return g.test(this.value)},t.prototype.isStatement=function(){var e;return(e=this.value)==="break"||e==="continue"||e==="debugger"},t.prototype.isComplex=_,t.prototype.assigns=function(e){return e===this.value},t.prototype.jumps=function(e){if(this.value==="break"&&!((e!=null?e.loop:void 0)||(e!=null?e.block:void 0)))return this;if(this.value==="continue"&&(e!=null?!e.loop:!void 0))return this},t.prototype.compileNode=function(e){var t,n,r;return n=this.value==="this"?((r=e.scope.method)!=null?r.bound:void 0)?e.scope.method.context:this.value:this.value.reserved?'"'+this.value+'"':this.value,t=this.isStatement()?""+this.tab+n+";":n,[this.makeCode(t)]},t.prototype.toString=function(){return' "'+this.value+'"'},t}(o),t.Undefined=function(e){function t(){return yt=t.__super__.constructor.apply(this,arguments),yt}return Et(t,e),t.prototype.isAssignable=_,t.prototype.isComplex=_,t.prototype.compileNode=function(e){return[this.makeCode(e.level>=x?"(void 0)":"void 0")]},t}(o),t.Null=function(e){function t(){return bt=t.__super__.constructor.apply(this,arguments),bt}return Et(t,e),t.prototype.isAssignable=_,t.prototype.isComplex=_,t.prototype.compileNode=function(){return[this.makeCode("null")]},t}(o),t.Bool=function(e){function t(e){this.val=e}return Et(t,e),t.prototype.isAssignable=_,t.prototype.isComplex=_,t.prototype.compileNode=function(){return[this.makeCode(this.val)]},t}(o),t.Return=I=function(e){function t(e){e&&!e.unwrap().isUndefined&&(this.expression=e)}return Et(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Z,t.prototype.makeReturn=$,t.prototype.jumps=$,t.prototype.compileToFragments=function(e,n){var r,i;return r=(i=this.expression)!=null?i.makeReturn():void 0,!r||r instanceof t?t.__super__.compileToFragments.call(this,e,n):r.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,k))),t.push(this.makeCode(";")),t},t}(o),t.Value=G=function(e){function t(e,n,r){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],r&&(this[r]=!0),this)}return Et(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.isArray=function(){return!this.properties.length&&this.base instanceof i},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isSimpleNumber=function(){return this.base instanceof A&&q.test(this.base.value)},t.prototype.isString=function(){return this.base instanceof A&&b.test(this.base.value)},t.prototype.isAtomic=function(){var e,t,n,r;r=this.properties.concat(this.base);for(t=0,n=r.length;t<n;t++){e=r[t];if(e.soak||e instanceof a)return!1}return!0},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof D&&(!e||this.base.generated)},t.prototype.isSplice=function(){return ut(this.properties)instanceof z},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,r,i,o;return i=ut(this.properties),this.properties.length<2&&!this.base.isComplex()&&(i!=null?!i.isComplex():!void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(r=new A(e.scope.freeVariable("base")),n=new t(new B(new s(r,n)))),i?(i.isComplex()&&(o=new A(e.scope.freeVariable("name")),i=new S(new s(o,i.index)),o=new S(o)),[n.add(i),new t(r||n.base,[o||i])]):[n,r])},t.prototype.compileNode=function(e){var t,n,r,i,s;this.base.front=this.front,r=this.properties,t=this.base.compileToFragments(e,r.length?x:null),(this.base instanceof B||r.length)&&q.test(ot(t))&&t.push(this.makeCode("."));for(i=0,s=r.length;i<s;i++)n=r[i],t.push.apply(t,n.compileToFragments(e));return t},t.prototype.unfoldSoak=function(e){var n=this;return this.unfoldedSoak!=null?this.unfoldedSoak:this.unfoldedSoak=function(){var r,i,o,u,a,f,l,c,h,p;if(o=n.base.unfoldSoak(e))return(h=o.body.properties).push.apply(h,n.properties),o;p=n.properties;for(i=l=0,c=p.length;l<c;i=++l){u=p[i];if(!u.soak)continue;return u.soak=!1,r=new t(n.base,n.properties.slice(0,i)),f=new t(n.base,n.properties.slice(i)),r.isComplex()&&(a=new A(e.scope.freeVariable("ref")),r=new B(new s(a,r)),f.base=a),new w(new d(r),f,{soak:!0})}return!1}()},t}(o),t.Comment=p=function(e){function t(e){this.comment=e}return Et(t,e),t.prototype.isStatement=Z,t.prototype.makeReturn=$,t.prototype.compileNode=function(e,t){var n;return n="/*"+lt(this.comment,this.tab)+(St.call(this.comment,"\n")>=0?"\n"+this.tab:"")+"*/",(t||e.level)===L&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(o),t.Call=a=function(e){function t(e,t,n){this.args=t!=null?t:[],this.soak=n,this.isNew=!1,this.isSuper=e==="super",this.variable=this.isSuper?null:e}return Et(t,e),t.prototype.children=["variable","args"],t.prototype.newInstance=function(){var e,n;return e=((n=this.variable)!=null?n.base:void 0)||this.variable,e instanceof t&&!e.isNew?e.newInstance():this.isNew=!0,this},t.prototype.superReference=function(e){var t,n;return n=e.scope.namedMethod(),(n!=null?n.klass:void 0)?(t=[new r(new A("__super__"))],n["static"]&&t.push(new r(new A("constructor"))),t.push(new r(new A(n.name))),(new G(new A(n.klass),t)).compile(e)):(n!=null?n.ctor:void 0)?""+n.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},t.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},t.prototype.unfoldSoak=function(e){var n,r,i,s,o,u,a,f,l;if(this.soak){if(this.variable){if(r=dt(e,this,"variable"))return r;f=(new G(this.variable)).cacheReference(e),i=f[0],o=f[1]}else i=new A(this.superReference(e)),o=new G(i);return o=new t(o,this.args),o.isNew=this.isNew,i=new A("typeof "+i.compile(e)+' === "function"'),new w(i,new G(o),{soak:!0})}n=this,s=[];for(;;){if(n.variable instanceof t){s.push(n),n=n.variable;continue}if(!(n.variable instanceof G))break;s.push(n);if(!((n=n.variable.base)instanceof t))break}l=s.reverse();for(u=0,a=l.length;u<a;u++)n=l[u],r&&(n.variable instanceof t?n.variable=r:n.variable.base=r),r=dt(e,n,"variable");return r},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l;(f=this.variable)!=null&&(f.front=this.front),i=W.compileSplattedArray(e,this.args,!0);if(i.length)return this.compileSplat(e,i);r=[],l=this.args;for(n=u=0,a=l.length;u<a;n=++u)t=l[n],n&&r.push(this.makeCode(", ")),r.push.apply(r,t.compileToFragments(e,N));return s=[],this.isSuper?(o=this.superReference(e)+(".call("+this.superThis(e)),r.length&&(o+=", "),s.push(this.makeCode(o))):(this.isNew&&s.push(this.makeCode("new ")),s.push.apply(s,this.variable.compileToFragments(e,x)),s.push(this.makeCode("("))),s.push.apply(s,r),s.push(this.makeCode(")")),s},t.prototype.compileSplat=function(e,t){var n,r,i,s,o,u;return this.isSuper?[].concat(this.makeCode(""+this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(s=this.tab+V,[].concat(this.makeCode("(function(func, args, ctor) {\n"+s+"ctor.prototype = func.prototype;\n"+s+"var child = new ctor, result = func.apply(child, args);\n"+s+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,N),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],r=new G(this.variable),(o=r.properties.pop())&&r.isComplex()?(u=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+u+" = "),r.compileToFragments(e,N),this.makeCode(")"),o.compileToFragments(e))):(i=r.compileToFragments(e,x),q.test(ot(i))&&(i=this.wrapInBraces(i)),o?(u=ot(i),i.push.apply(i,o.compileToFragments(e))):u="null",n=n.concat(i)),n=n.concat(this.makeCode(".apply("+u+", "),t,this.makeCode(")")))},t}(o),t.Extends=v=function(e){function t(e,t){this.child=e,this.parent=t}return Et(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return(new a(new G(new A(vt("extends"))),[this.child,this.parent])).compileToFragments(e)},t}(o),t.Access=r=function(e){function t(e,t){this.name=e,this.name.asKey=!0,this.soak=t==="soak"}return Et(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t;return t=this.name.compileToFragments(e),g.test(ot(t))?t.unshift(this.makeCode(".")):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.isComplex=_,t}(o),t.Index=S=function(e){function t(e){this.index=e}return Et(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,k),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(o),t.Range=F=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive=n==="exclusive",this.equals=this.exclusive?"":"="}return Et(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,r,i,s;e=ft(e,{top:!0}),n=this.cacheToCodeFragments(this.from.cache(e,N)),this.fromC=n[0],this.fromVar=n[1],r=this.cacheToCodeFragments(this.to.cache(e,N)),this.toC=r[0],this.toVar=r[1];if(t=nt(e,"step"))i=this.cacheToCodeFragments(t.cache(e,N)),this.step=i[0],this.stepVar=i[1];s=[this.fromVar.match(q),this.toVar.match(q)],this.fromNum=s[0],this.toNum=s[1];if(this.stepVar)return this.stepNum=this.stepVar.match(q)},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d;return this.fromVar||this.compileVariables(e),e.index?(u=this.fromNum&&this.toNum,s=nt(e,"index"),o=nt(e,"name"),f=o&&o!==s,h=""+s+" = "+this.fromC,this.toC!==this.toVar&&(h+=", "+this.toC),this.step!==this.stepVar&&(h+=", "+this.step),p=[""+s+" <"+this.equals,""+s+" >"+this.equals],a=p[0],i=p[1],n=this.stepNum?+this.stepNum>0?""+a+" "+this.toVar:""+i+" "+this.toVar:u?(d=[+this.fromNum,+this.toNum],r=d[0],c=d[1],d,r<=c?""+a+" "+c:""+i+" "+c):(t=this.stepVar?""+this.stepVar+" > 0":""+this.fromVar+" <= "+this.toVar,""+t+" ? "+a+" "+this.toVar+" : "+i+" "+this.toVar),l=this.stepVar?""+s+" += "+this.stepVar:u?f?r<=c?"++"+s:"--"+s:r<=c?""+s+"++":""+s+"--":f?""+t+" ? ++"+s+" : --"+s:""+t+" ? "+s+"++ : "+s+"--",f&&(h=""+o+" = "+h),f&&(l=""+o+" = "+l),[this.makeCode(""+h+"; "+n+"; "+l)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;if(this.fromNum&&this.toNum&&Math.abs(this.fromNum-this.toNum)<=20)return f=function(){v=[];for(var e=p=+this.fromNum,t=+this.toNum;p<=t?e<=t:e>=t;p<=t?e++:e--)v.push(e);return v}.apply(this),this.exclusive&&f.pop(),[this.makeCode("["+f.join(", ")+"]")];o=this.tab+V,s=e.scope.freeVariable("i"),l=e.scope.freeVariable("results"),a="\n"+o+l+" = [];",this.fromNum&&this.toNum?(e.index=s,n=ot(this.compileNode(e))):(c=""+s+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),r=""+this.fromVar+" <= "+this.toVar,n="var "+c+"; "+r+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+r+" ? "+s+"++ : "+s+"--"),u="{ "+l+".push("+s+"); }\n"+o+"return "+l+";\n"+e.indent,i=function(e){return e!=null?e.contains(function(e){return e instanceof A&&e.value==="arguments"&&!e.asKey}):void 0};if(i(this.from)||i(this.to))t=", arguments";return[this.makeCode("(function() {"+a+"\n"+o+"for ("+n+")"+u+"}).apply(this"+(t!=null?t:"")+")")]},t}(o),t.Slice=z=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return Et(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,r,i,s,o,u;u=this.range,s=u.to,r=u.from,i=r&&r.compileToFragments(e,k)||[this.makeCode("0")];if(s){t=s.compileToFragments(e,k),n=ot(t);if(!!this.range.exclusive||+n!==-1)o=", "+(this.range.exclusive?n:q.test(n)?""+(+n+1):(t=s.compileToFragments(e,x),"+"+ot(t)+" + 1 || 9e9"))}return[this.makeCode(".slice("+ot(i)+(o||"")+")")]},t}(o),t.Obj=D=function(e){function t(e,t){this.generated=t!=null?t:!1,this.objects=this.properties=e||[]}return Et(t,e),t.prototype.children=["properties"],t.prototype.compileNode=function(e){var t,n,r,i,o,u,a,f,l,c,h,d,v;l=this.properties;if(!l.length)return[this.makeCode(this.front?"({})":"{}")];if(this.generated)for(c=0,d=l.length;c<d;c++)a=l[c],a instanceof G&&a.error("cannot have an implicit value in an implicit object");r=e.indent+=V,u=this.lastNonComment(this.properties),t=[];for(n=h=0,v=l.length;h<v;n=++h)f=l[n],o=n===l.length-1?"":f===u||f instanceof p?"\n":",\n",i=f instanceof p?"":r,f instanceof s&&f.variable instanceof G&&f.variable.hasProperties()&&f.variable.error("Invalid object key"),f instanceof G&&f["this"]&&(f=new s(f.properties[0].name,f,"object")),f instanceof p||(f instanceof s||(f=new s(f,f,"object")),(f.variable.base||f.variable).asKey=!0),i&&t.push(this.makeCode(i)),t.push.apply(t,f.compileToFragments(e,L)),o&&t.push(this.makeCode(o));return t.unshift(this.makeCode("{"+(l.length&&"\n"))),t.push(this.makeCode(""+(l.length&&"\n"+this.tab)+"}")),this.front?this.wrapInBraces(t):t},t.prototype.assigns=function(e){var t,n,r,i;i=this.properties;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.assigns(e))return!0}return!1},t}(o),t.Arr=i=function(e){function t(e){this.objects=e||[]}return Et(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,r,i,s,o,u;if(!this.objects.length)return[this.makeCode("[]")];e.indent+=V,t=W.compileSplattedArray(e,this.objects);if(t.length)return t;t=[],n=function(){var t,n,r,i;r=this.objects,i=[];for(t=0,n=r.length;t<n;t++)s=r[t],i.push(s.compileToFragments(e,N));return i}.call(this);for(i=o=0,u=n.length;o<u;i=++o)r=n[i],i&&t.push(this.makeCode(", ")),t.push.apply(t,r);return ot(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,r,i;i=this.objects;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.assigns(e))return!0}return!1},t}(o),t.Class=f=function(e){function t(e,t,n){this.variable=e,this.parent=t,this.body=n!=null?n:new u,this.boundFuncs=[],this.body.classBody=!0}return Et(t,e),t.prototype.children=["variable","parent","body"],t.prototype.determineName=function(){var e,t;return this.variable?(e=(t=ut(this.variable.properties))?t instanceof r&&t.name.value:this.variable.base.value,St.call(R,e)>=0&&this.variable.error("class variable name may not be "+e),e&&(e=g.test(e)&&e)):null},t.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){if(t.classBody)return!1;if(t instanceof A&&t.value==="this")return t.value=e;if(t instanceof c){t.klass=e;if(t.bound)return t.context=e}})},t.prototype.addBoundFunctions=function(e){var t,n,i,s,o;o=this.boundFuncs;for(i=0,s=o.length;i<s;i++)t=o[i],n=(new G(new A("this"),[new r(t)])).compile(e),this.ctor.body.unshift(new A(""+n+" = "+vt("bind")+"("+n+", this)"))},t.prototype.addProperties=function(e,t,n){var i,o,u,a,f;return f=e.base.properties.slice(0),u=function(){var e;e=[];while(i=f.shift())i instanceof s&&(o=i.variable.base,delete i.context,a=i.value,o.value==="constructor"?(this.ctor&&i.error("cannot define more than one constructor in a class"),a.bound&&i.error("cannot define a constructor as a bound function"),a instanceof c?i=this.ctor=a:(this.externalCtor=n.scope.freeVariable("class"),i=new s(new A(this.externalCtor),a))):i.variable["this"]?(a["static"]=!0,a.bound&&(a.context=t)):(i.variable=new G(new A(t),[new r(new A("prototype")),new r(o)]),a instanceof c&&a.bound&&(this.boundFuncs.push(o),a.bound=!1))),e.push(i);return e}.call(this),tt(u)},t.prototype.walkBody=function(e,n){var r=this;return this.traverseChildren(!1,function(i){var s,o,a,f,l,c,h;s=!0;if(i instanceof t)return!1;if(i instanceof u){h=o=i.expressions;for(a=l=0,c=h.length;l<c;a=++l)f=h[a],f instanceof G&&f.isObject(!0)&&(s=!1,o[a]=r.addProperties(f,e,n));i.expressions=o=st(o)}return s&&!(i instanceof t)})},t.prototype.hoistDirectivePrologue=function(){var e,t,n;t=0,e=this.body.expressions;while((n=e[t])&&n instanceof p||n instanceof G&&n.isString())++t;return this.directives=e.splice(0,t)},t.prototype.ensureConstructor=function(e,t){var n,r,i;return n=!this.ctor,this.ctor||(this.ctor=new c),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0,n?(this.parent&&(i=new A(""+e+".__super__.constructor.apply(this, arguments)")),this.externalCtor&&(i=new A(""+this.externalCtor+".apply(this, arguments)")),i&&(r=new A(t.scope.freeVariable("ref")),this.ctor.body.unshift(new s(r,i))),this.addBoundFunctions(t),i&&(this.ctor.body.push(r),this.ctor.body.makeReturn()),this.body.expressions.unshift(this.ctor)):this.addBoundFunctions(t)},t.prototype.compileNode=function(e){var t,n,r,i,o,u,a;return n=this.determineName(),o=n||"_Class",o.reserved&&(o="_"+o),i=new A(o),this.hoistDirectivePrologue(),this.setContext(o),this.walkBody(o,e),this.ensureConstructor(o,e),this.body.spaced=!0,this.ctor instanceof c||this.body.expressions.unshift(this.ctor),this.body.expressions.push(i),(a=this.body.expressions).unshift.apply(a,this.directives),t=l.wrap(this.body),this.parent&&(this.superClass=new A(e.scope.freeVariable("super",!1)),this.body.expressions.unshift(new v(i,this.superClass)),t.args.push(this.parent),u=t.variable.params||t.variable.base.params,u.push(new H(this.superClass))),r=new B(t,!0),this.variable&&(r=new s(this.variable,r)),r.compileToFragments(e)},t}(o),t.Assign=s=function(e){function t(e,t,n,r){var i,s,o;this.variable=e,this.value=t,this.context=n,this.param=r&&r.param,this.subpattern=r&&r.subpattern,i=(o=s=this.variable.unwrapAll().value,St.call(R,o)>=0),i&&this.context!=="object"&&this.variable.error('variable name may not be "'+s+'"')}return Et(t,e),t.prototype.children=["variable","value"],t.prototype.isStatement=function(e){return(e!=null?e.level:void 0)===L&&this.context!=null&&St.call(this.context,"?")>=0},t.prototype.assigns=function(e){return this[this.context==="object"?"value":"variable"].assigns(e)},t.prototype.unfoldSoak=function(e){return dt(e,this,"variable")},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,h;if(r=this.variable instanceof G){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if((a=this.context)==="||="||a==="&&="||a==="?=")return this.compileConditional(e)}n=this.variable.compileToFragments(e,N),s=ot(n);if(!this.context){u=this.variable.unwrapAll(),u.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned');if(typeof u.hasProperties=="function"?!u.hasProperties():!void 0)this.param?e.scope.add(s,"var"):e.scope.find(s)}return this.value instanceof c&&(i=O.exec(s))&&(i[1]&&(this.value.klass=i[1]),this.value.name=(f=(l=(h=i[2])!=null?h:i[3])!=null?l:i[4])!=null?f:i[5]),o=this.value.compileToFragments(e,N),this.context==="object"?n.concat(this.makeCode(": "),o):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),o),e.level<=N?t:this.wrapInBraces(t))},t.prototype.compilePatternMatch=function(e){var n,i,s,o,u,a,f,l,c,h,p,d,v,m,y,b,w,E,x,T,k,O,M,_,D,P,H,F;b=e.level===L,E=this.value,p=this.variable.base.objects;if(!(d=p.length))return s=E.compileToFragments(e),e.level>=C?this.wrapInBraces(s):s;f=this.variable.isObject();if(!b||d!==1||(h=p[0])instanceof W){x=E.compileToFragments(e,N),T=ot(x),i=[],y=!1;if(!g.test(T)||this.variable.assigns(T))i.push([this.makeCode(""+(v=e.scope.freeVariable("ref"))+" = ")].concat(xt.call(x))),x=[this.makeCode(v)],T=v;for(u=k=0,O=p.length;k<O;u=++k)h=p[u],a=u,f&&(h instanceof t?(P=h,H=P.variable,a=H.base,h=P.value):h.base instanceof B?(F=(new G(h.unwrapAll())).cacheReference(e),h=F[0],a=F[1]):a=h["this"]?h.properties[0].name:h),!y&&h instanceof W?(c=h.name.unwrap().value,h=h.unwrap(),w=""+d+" <= "+T+".length ? "+vt("slice")+".call("+T+", "+u,(m=d-u-1)?(l=e.scope.freeVariable("i"),w+=", "+l+" = "+T+".length - "+m+") : ("+l+" = "+u+", [])"):w+=") : []",w=new A(w),y=""+l+"++"):(c=h.unwrap().value,h instanceof W&&h.error("multiple splats are disallowed in an assignment"),typeof a=="number"?(a=new A(y||a),n=!1):n=f&&g.test(a.unwrap().value||0),w=new G(new A(T),[new(n?r:S)(a)])),c!=null&&St.call(j,c)>=0&&h.error("assignment to a reserved word: "+h.compile(e)),i.push((new t(h,w,null,{param:this.param,subpattern:!0})).compileToFragments(e,N));return!b&&!this.subpattern&&i.push(x),o=this.joinFragmentArrays(i,", "),e.level<N?o:this.wrapInBraces(o)}return h instanceof t?(M=h,_=M.variable,a=_.base,h=M.value):a=f?h["this"]?h.properties[0].name:h:new A(0),n=g.test(a.unwrap().value||0),E=new G(E),E.properties.push(new(n?r:S)(a)),(D=h.unwrap().value,St.call(j,D)>=0)&&h.error("assignment to a reserved word: "+h.compile(e)),(new t(h,E,null,{param:this.param})).compileToFragments(e,L)},t.prototype.compileConditional=function(e){var n,r,i;return i=this.variable.cacheReference(e),n=i[0],r=i[1],!n.properties.length&&n.base instanceof A&&n.base.value!=="this"&&!e.scope.check(n.base.value)&&this.variable.error('the variable "'+n.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),St.call(this.context,"?")>=0&&(e.isExistentialEquals=!0),(new P(this.context.slice(0,-1),n,new t(r,this.value,"="))).compileToFragments(e)},t.prototype.compileSplice=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;return l=this.variable.properties.pop().range,r=l.from,u=l.to,n=l.exclusive,o=this.variable.compile(e),r?(c=this.cacheToCodeFragments(r.cache(e,C)),i=c[0],s=c[1]):i=s="0",u?(r!=null?r.isSimpleNumber():void 0)&&u.isSimpleNumber()?(u=+u.compile(e)- +s,n||(u+=1)):(u=u.compile(e,x)+" - "+s,n||(u+=" + 1")):u="9e9",h=this.value.cache(e,N),a=h[0],f=h[1],t=[].concat(this.makeCode("[].splice.apply("+o+", ["+i+", "+u+"].concat("),a,this.makeCode(")), "),f),e.level>L?this.wrapInBraces(t):t},t}(o),t.Code=c=function(e){function t(e,t,n){this.params=e||[],this.body=t||new u,this.bound=n==="boundfunc",this.bound&&(this.context="_this")}return Et(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=_,t.prototype.compileNode=function(e){var t,n,r,o,u,a,f,l,c,h,p,d,v,m,g,y,b,E,S,T,N,C,k,L,O,M,_,D,H;e.scope=new U(e.scope,this.body,this),e.scope.shared=nt(e,"sharedScope"),e.indent+=V,delete e.bare,delete e.isExistentialEquals,c=[],r=[],this.eachParamName(function(t){if(!e.scope.check(t))return e.scope.parameter(t)}),O=this.params;for(g=0,S=O.length;g<S;g++){l=O[g];if(!l.splat)continue;M=this.params;for(y=0,T=M.length;y<T;y++)f=M[y].name,f["this"]&&(f=f.properties[0].name),f.value&&e.scope.add(f.value,"var",!0);p=new s(new G(new i(function(){var t,n,r,i;r=this.params,i=[];for(t=0,n=r.length;t<n;t++)f=r[t],i.push(f.asReference(e));return i}.call(this))),new G(new A("arguments")));break}_=this.params;for(b=0,N=_.length;b<N;b++)l=_[b],l.isComplex()?(v=h=l.asReference(e),l.value&&(v=new P("?",h,l.value)),r.push(new s(new G(l.name),v,"=",{param:!0}))):(h=l,l.value&&(a=new A(h.name.value+" == null"),v=new s(new G(l.name),l.value,"="),r.push(new w(a,v)))),p||c.push(h);m=this.body.isEmpty(),p&&r.unshift(p),r.length&&(D=this.body.expressions).unshift.apply(D,r);for(o=E=0,C=c.length;E<C;o=++E)f=c[o],c[o]=f.compileToFragments(e),e.scope.parameter(ot(c[o]));d=[],this.eachParamName(function(e,t){return St.call(d,e)>=0&&t.error("multiple parameters named '"+e+"'"),d.push(e)}),!m&&!this.noReturn&&this.body.makeReturn(),this.bound&&(((H=e.scope.parent.method)!=null?H.bound:void 0)?this.bound=this.context=e.scope.parent.method.context:this["static"]||e.scope.parent.assign("_this","this")),u=e.indent,n="function",this.ctor&&(n+=" "+this.name),n+="(",t=[this.makeCode(n)];for(o=L=0,k=c.length;L<k;o=++L)f=c[o],o&&t.push(this.makeCode(", ")),t.push.apply(t,f);return t.push(this.makeCode(") {")),this.body.isEmpty()||(t=t.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),t.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(xt.call(t)):this.front||e.level>=x?this.wrapInBraces(t):t},t.prototype.eachParamName=function(e){var t,n,r,i,s;i=this.params,s=[];for(n=0,r=i.length;n<r;n++)t=i[n],s.push(t.eachName(e));return s},t.prototype.traverseChildren=function(e,n){if(e)return t.__super__.traverseChildren.call(this,e,n)},t}(o),t.Param=H=function(e){function t(e,t,n){var r;this.name=e,this.value=t,this.splat=n,(r=e=this.name.unwrapAll().value,St.call(R,r)>=0)&&this.name.error('parameter name "'+e+'" is not allowed')}return Et(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,N)},t.prototype.asReference=function(e){var t;return this.reference?this.reference:(t=this.name,t["this"]?(t=t.properties[0].name,t.value.reserved&&(t=new A(e.scope.freeVariable(t.value)))):t.isComplex()&&(t=new A(e.scope.freeVariable("arg"))),t=new G(t),this.splat&&(t=new W(t)),this.reference=t)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,r,i,o,u,a;t==null&&(t=this.name),n=function(t){var n;n=t.properties[0].name;if(!n.value.reserved)return e(n.value,n)};if(t instanceof A)return e(t.value,t);if(t instanceof G)return n(t);a=t.objects;for(o=0,u=a.length;o<u;o++)i=a[o],i instanceof s?this.eachName(e,i.value.unwrap()):i instanceof W?(r=i.name.unwrap(),e(r.value,r)):i instanceof G?i.isArray()||i.isObject()?this.eachName(e,i.base):i["this"]?n(i):e(i.base.value,i.base):i.error("illegal parameter "+i.compile())},t}(o),t.Splat=W=function(e){function t(e){this.name=e.compile?e:new A(e)}return Et(t,e),t.prototype.children=["name"],t.prototype.isAssignable=Z,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,r){var i,s,o,u,a,f,l,c,h,p;l=-1;while((c=n[++l])&&!(c instanceof t))continue;if(l>=n.length)return[];if(n.length===1)return c=n[0],a=c.compileToFragments(e,N),r?a:[].concat(c.makeCode(""+vt("slice")+".call("),a,c.makeCode(")"));i=n.slice(l);for(f=h=0,p=i.length;h<p;f=++h)c=i[f],o=c.compileToFragments(e,N),i[f]=c instanceof t?[].concat(c.makeCode(""+vt("slice")+".call("),o,c.makeCode(")")):[].concat(c.makeCode("["),o,c.makeCode("]"));return l===0?(c=n[0],u=c.joinFragmentArrays(i.slice(1),", "),i[0].concat(c.makeCode(".concat("),u,c.makeCode(")"))):(s=function(){var t,r,i,s;i=n.slice(0,l),s=[];for(t=0,r=i.length;t<r;t++)c=i[t],s.push(c.compileToFragments(e,N));return s}(),s=n[0].joinFragmentArrays(s,", "),u=n[l].joinFragmentArrays(i,", "),[].concat(n[0].makeCode("["),s,n[l].makeCode("].concat("),u,ut(n).makeCode(")")))},t}(o),t.While=Y=function(e){function t(e,t){this.condition=(t!=null?t.invert:void 0)?e.invert():e,this.guard=t!=null?t.guard:void 0}return Et(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=Z,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,r;e=this.body.expressions;if(!e.length)return!1;for(n=0,r=e.length;n<r;n++){t=e[n];if(t.jumps({loop:!0}))return t}return!1},t.prototype.compileNode=function(e){var t,n,r,i;return e.indent+=V,i="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(r=e.scope.freeVariable("results")),i=""+this.tab+r+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new w((new B(this.guard)).invert(),new A("continue"))):this.guard&&(n=u.wrap([new w(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,L),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(i+this.tab+"while ("),this.condition.compileToFragments(e,k),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+r+";")),t},t}(o),t.Op=P=function(e){function t(e,t,r,i){if(e==="in")return new E(t,r);if(e==="do")return this.generateDo(t);if(e==="new"){if(t instanceof a&&!t["do"]&&!t.isNew)return t.newInstance();if(t instanceof c&&t.bound||t["do"])t=new B(t)}return this.operator=n[e]||e,this.first=t,this.second=r,this.flip=!!i,this}var n,r;return Et(t,e),n={"==":"===","!=":"!==",of:"in"},r={"!==":"===","===":"!=="},t.prototype.children=["first","second"],t.prototype.isSimpleNumber=_,t.prototype.isUnary=function(){return!this.second},t.prototype.isComplex=function(){var e;return!this.isUnary()||(e=this.operator)!=="+"&&e!=="-"||this.first.isComplex()},t.prototype.isChainable=function(){var e;return(e=this.operator)==="<"||e===">"||e===">="||e==="<="||e==="==="||e==="!=="},t.prototype.invert=function(){var e,n,i,s,o;if(this.isChainable()&&this.first.isChainable()){e=!0,n=this;while(n&&n.operator)e&&(e=n.operator in r),n=n.first;if(!e)return(new B(this)).invert();n=this;while(n&&n.operator)n.invert=!n.invert,n.operator=r[n.operator],n=n.first;return this}return(s=r[this.operator])?(this.operator=s,this.first.unwrap()instanceof t&&this.first.invert(),this):this.second?(new B(this)).invert():this.operator==="!"&&(i=this.first.unwrap())instanceof t&&((o=i.operator)==="!"||o==="in"||o==="instanceof")?i:new t("!",this)},t.prototype.unfoldSoak=function(e){var t;return((t=this.operator)==="++"||t==="--"||t==="delete")&&dt(e,this,"first")},t.prototype.generateDo=function(e){var t,n,r,i,o,u,f,l;i=[],n=e instanceof s&&(o=e.value.unwrap())instanceof c?o:e,l=n.params||[];for(u=0,f=l.length;u<f;u++)r=l[u],r.value?(i.push(r.value),delete r.value):i.push(r);return t=new a(e,i),t["do"]=!0,t},t.prototype.compileNode=function(e){var t,n,r,i;return n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),this.operator==="delete"&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),((r=this.operator)==="--"||r==="++")&&(i=this.first.unwrapAll().value,St.call(R,i)>=0)&&this.error('cannot increment/decrement "'+this.first.unwrapAll().value+'"'),this.isUnary()?this.compileUnary(e):n?this.compileChain(e):this.operator==="?"?this.compileExistence(e):(t=[].concat(this.first.compileToFragments(e,C),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,C)),e.level<=C?t:this.wrapInBraces(t))},t.prototype.compileChain=function(e){var t,n,r,i;return i=this.first.second.cache(e),this.first.second=i[0],r=i[1],n=this.first.compileToFragments(e,C),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),r.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,C)),this.wrapInBraces(t)},t.prototype.compileExistence=function(e){var t,n;return!e.isExistentialEquals&&this.first.isComplex()?(n=new A(e.scope.freeVariable("ref")),t=new B(new s(n,this.first))):(t=this.first,n=t),(new w(new d(t),n,{type:"if"})).addElse(this.second).compileToFragments(e)},t.prototype.compileUnary=function(e){var n,r,i;r=[],n=this.operator,r.push([this.makeCode(n)]);if(n==="!"&&this.first instanceof d)return this.first.negated=!this.first.negated,this.first.compileToFragments(e);if(e.level>=x)return(new B(this)).compileToFragments(e);i=n==="+"||n==="-",(n==="new"||n==="typeof"||n==="delete"||i&&this.first instanceof t&&this.first.operator===n)&&r.push([this.makeCode(" ")]);if(i&&this.first instanceof t||n==="new"&&this.first.isStatement(e))this.first=new B(this.first);return r.push(this.first.compileToFragments(e,C)),this.flip&&r.reverse(),this.joinFragmentArrays(r,"")},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},t}(o),t.In=E=function(e){function t(e,t){this.object=e,this.array=t}return Et(t,e),t.prototype.children=["object","array"],t.prototype.invert=M,t.prototype.compileNode=function(e){var t,n,r,i,s;if(this.array instanceof G&&this.array.isArray()){s=this.array.base.objects;for(r=0,i=s.length;r<i;r++){n=s[r];if(n instanceof W){t=!0;break}continue}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;if(this.array.base.objects.length===0)return[this.makeCode(""+!!this.negated)];l=this.object.cache(e,C),o=l[0],s=l[1],c=this.negated?[" !== "," && "]:[" === "," || "],t=c[0],n=c[1],u=[],h=this.array.base.objects;for(r=a=0,f=h.length;a<f;r=++a)i=h[r],r&&u.push(this.makeCode(n)),u=u.concat(r?s:o,this.makeCode(t),i.compileToFragments(e,x));return e.level<C?u:this.wrapInBraces(u)},t.prototype.compileLoopTest=function(e){var t,n,r,i;return i=this.object.cache(e,N),r=i[0],n=i[1],t=[].concat(this.makeCode(vt("indexOf")+".call("),this.array.compileToFragments(e,N),this.makeCode(", "),n,this.makeCode(") "+(this.negated?"< 0":">= 0"))),ot(r)===ot(n)?t:(t=r.concat(this.makeCode(", "),t),e.level<N?t:this.wrapInBraces(t))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(o),t.Try=K=function(e){function t(e,t,n,r){this.attempt=e,this.errorVariable=t,this.recovery=n,this.ensure=r}return Et(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=Z,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||((t=this.recovery)!=null?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,r,i;return e.indent+=V,i=this.attempt.compileToFragments(e,L),t=this.recovery?(r=new A("_error"),this.errorVariable?this.recovery.unshift(new s(this.errorVariable,r)):void 0,[].concat(this.makeCode(" catch ("),r.compileToFragments(e),this.makeCode(") {\n"),this.recovery.compileToFragments(e,L),this.makeCode("\n"+this.tab+"}"))):!this.ensure&&!this.recovery?[this.makeCode(" catch (_error) {}")]:[],n=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(e,L),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(""+this.tab+"try {\n"),i,this.makeCode("\n"+this.tab+"}"),t,n)},t}(o),t.Throw=J=function(e){function t(e){this.expression=e}return Et(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Z,t.prototype.jumps=_,t.prototype.makeReturn=$,t.prototype.compileNode=function(e){return[].concat(this.makeCode(this.tab+"throw "),this.expression.compileToFragments(e),this.makeCode(";"))},t}(o),t.Existence=d=function(e){function t(e){this.expression=e}return Et(t,e),t.prototype.children=["expression"],t.prototype.invert=M,t.prototype.compileNode=function(e){var t,n,r,i;return this.expression.front=this.front,r=this.expression.compile(e,C),g.test(r)&&!e.scope.check(r)?(i=this.negated?["===","||"]:["!==","&&"],t=i[0],n=i[1],r="typeof "+r+" "+t+' "undefined" '+n+" "+r+" "+t+" null"):r=""+r+" "+(this.negated?"==":"!=")+" null",[this.makeCode(e.level<=T?r:"("+r+")")]},t}(o),t.Parens=B=function(e){function t(e){this.body=e}return Et(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,r;return n=this.body.unwrap(),n instanceof G&&n.isAtomic()?(n.front=this.front,n.compileToFragments(e)):(r=n.compileToFragments(e,k),t=e.level<C&&(n instanceof P||n instanceof a||n instanceof m&&n.returns),t?r:this.wrapInBraces(r))},t}(o),t.For=m=function(e){function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=u.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]),this.index instanceof G&&this.index.error("index cannot be a pattern matching expression"),this.range=this.source instanceof G&&this.source.base instanceof F&&!this.source.properties.length,this.pattern=this.name instanceof G,this.range&&this.index&&this.index.error("indexes do not apply to range loops"),this.range&&this.pattern&&this.name.error("cannot pattern match over range loops"),this.own&&!this.object&&this.index.error("cannot use own with for-in"),this.returns=!1}return Et(t,e),t.prototype.children=["body","source","guard","step"],t.prototype.compileNode=function(e){var t,n,r,i,o,a,f,l,c,h,p,d,v,m,y,b,E,S,x,T,C,k,O,M,_,D,P,H,j,F,R,U,z,W;return t=u.wrap([this.body]),S=(z=ut(t.expressions))!=null?z.jumps():void 0,S&&S instanceof I&&(this.returns=!1),P=this.range?this.source.base:this.source,D=e.scope,T=this.name&&this.name.compile(e,N),m=this.index&&this.index.compile(e,N),T&&!this.pattern&&D.find(T),m&&D.find(m),this.returns&&(_=D.freeVariable("results")),y=this.object&&m||D.freeVariable("i"),b=this.range&&T||m||y,E=b!==y?""+b+" = ":"",this.step&&!this.range&&(W=this.cacheToCodeFragments(this.step.cache(e,N)),H=W[0],F=W[1],j=F.match(q)),this.pattern&&(T=y),U="",p="",f="",d=this.tab+V,this.range?h=P.compileToFragments(ft(e,{index:y,name:T,step:this.step})):(R=this.source.compile(e,N),(T||this.own)&&!g.test(R)&&(f+=""+this.tab+(k=D.freeVariable("ref"))+" = "+R+";\n",R=k),T&&!this.pattern&&(C=""+T+" = "+R+"["+b+"]"),this.object||(H!==F&&(f+=""+this.tab+H+";\n"),this.step&&j&&(c=+j<0)||(x=D.freeVariable("len")),o=""+E+y+" = 0, "+x+" = "+R+".length",a=""+E+y+" = "+R+".length - 1",r=""+y+" < "+x,i=""+y+" >= 0",this.step?(j?c&&(r=i,o=a):(r=""+F+" > 0 ? "+r+" : "+i,o="("+F+" > 0 ? ("+o+") : "+a+")"),v=""+y+" += "+F):v=""+(b!==y?"++"+y:""+y+"++"),h=[this.makeCode(""+o+"; "+r+"; "+E+v)])),this.returns&&(O=""+this.tab+_+" = [];\n",M="\n"+this.tab+"return "+_+";",t.makeReturn(_)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new w((new B(this.guard)).invert(),new A("continue"))):this.guard&&(t=u.wrap([new w(this.guard,t)]))),this.pattern&&t.expressions.unshift(new s(this.name,new A(""+R+"["+b+"]"))),l=[].concat(this.makeCode(f),this.pluckDirectCall(e,t)),C&&(U="\n"+d+C+";"),this.object&&(h=[this.makeCode(""+b+" in "+R)],this.own&&(p="\n"+d+"if (!"+vt("hasProp")+".call("+R+", "+b+")) continue;")),n=t.compileToFragments(ft(e,{indent:d}),L),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(l,this.makeCode(""+(O||"")+this.tab+"for ("),h,this.makeCode(") {"+p+U),n,this.makeCode(""+this.tab+"}"+(M||"")))},t.prototype.pluckDirectCall=function(e,t){var n,r,i,o,u,f,l,h,p,d,v,m,g,y,b;r=[],d=t.expressions;for(u=h=0,p=d.length;h<p;u=++h){i=d[u],i=i.unwrapAll();if(!(i instanceof a))continue;l=i.variable.unwrapAll();if(!(l instanceof c||l instanceof G&&((v=l.base)!=null?v.unwrapAll():void 0)instanceof c&&l.properties.length===1&&((m=(g=l.properties[0].name)!=null?g.value:void 0)==="call"||m==="apply")))continue;o=((y=l.base)!=null?y.unwrapAll():void 0)||l,f=new A(e.scope.freeVariable("fn")),n=new G(f),l.base&&(b=[n,l],l.base=b[0],n=b[1]),t.expressions[u]=new a(n,i.args),r=r.concat(this.makeCode(this.tab),(new s(f,o)).compileToFragments(e,L),this.makeCode(";\n"))}return r},t}(Y),t.Switch=X=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return Et(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=Z,t.prototype.jumps=function(e){var t,n,r,i,s,o,u;e==null&&(e={block:!0}),s=this.cases;for(r=0,i=s.length;r<i;r++){o=s[r],n=o[0],t=o[1];if(t.jumps(e))return t}return(u=this.otherwise)!=null?u.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,r,i,s;i=this.cases;for(n=0,r=i.length;n<r;n++)t=i[n],t[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new u([new A("void 0")]))),(s=this.otherwise)!=null&&s.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;a=e.indent+V,f=e.indent=a+V,o=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,k):this.makeCode("false"),this.makeCode(") {\n")),d=this.cases;for(u=l=0,h=d.length;l<h;u=++l){v=d[u],i=v[0],t=v[1],m=st([i]);for(c=0,p=m.length;c<p;c++)r=m[c],this.subject||(r=r.invert()),o=o.concat(this.makeCode(a+"case "),r.compileToFragments(e,k),this.makeCode(":\n"));(n=t.compileToFragments(e,L)).length>0&&(o=o.concat(n,this.makeCode("\n")));if(u===this.cases.length-1&&!this.otherwise)break;s=this.lastNonComment(t.expressions);if(s instanceof I||s instanceof A&&s.jumps()&&s.value!=="debugger")continue;o.push(r.makeCode(f+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&o.push.apply(o,[this.makeCode(a+"default:\n")].concat(xt.call(this.otherwise.compileToFragments(e,L)),[this.makeCode("\n")])),o.push(this.makeCode(this.tab+"}")),o},t}(o),t.If=w=function(e){function t(e,t,n){this.body=t,n==null&&(n={}),this.condition=n.type==="unless"?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return Et(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return(e=this.body)!=null?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return(e=this.elseBody)!=null?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(e!=null?e.level:void 0)===L||this.bodyNode().isStatement(e)||((t=this.elseBodyNode())!=null?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||((t=this.elseBody)!=null?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new u([new A("void 0")]))),this.body&&(this.body=new u([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new u([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof u?e:new u([e])},t.prototype.compileStatement=function(e){var n,r,i,s,o,u,a;return i=nt(e,"chainChild"),o=nt(e,"isExistentialEquals"),o?(new t(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compileToFragments(e):(a=e.indent+V,s=this.condition.compileToFragments(e,k),r=this.ensureBlock(this.body).compileToFragments(ft(e,{indent:a})),u=[].concat(this.makeCode("if ("),s,this.makeCode(") {\n"),r,this.makeCode("\n"+this.tab+"}")),i||u.unshift(this.makeCode(this.tab)),this.elseBody?(n=u.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,L))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(ft(e,{indent:a}),L),this.makeCode("\n"+this.tab+"}")),n):u)},t.prototype.compileExpression=function(e){var t,n,r,i;return r=this.condition.compileToFragments(e,T),n=this.bodyNode().compileToFragments(e,N),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,N):[this.makeCode("void 0")],i=r.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=T?this.wrapInBraces(i):i},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(o),l={wrap:function(e,t,n){var i,s,o,f,l;if(e.jumps())return e;f=new c([],u.wrap([e])),i=[],s=e.contains(this.isLiteralArguments),s&&e.classBody&&s.error("Class bodies shouldn't reference arguments");if(s||e.contains(this.isLiteralThis))l=new A(s?"apply":"call"),i=[new A("this")],s&&i.push(new A("arguments")),f=new G(f,[new r(l)]);return f.noReturn=n,o=new a(f,i),t?u.wrap([o]):o},isLiteralArguments:function(e){return e instanceof A&&e.value==="arguments"&&!e.asKey},isLiteralThis:function(e){return e instanceof A&&e.value==="this"&&!e.asKey||e instanceof c&&e.bound||e instanceof a&&e.isSuper}},dt=function(e,t,n){var r;if(!(r=t[n].unfoldSoak(e)))return;return t[n]=r.body,r.body=new G(t),r},Q={"extends":function(){return"function(child, parent) { for (var key in parent) { if ("+vt("hasProp")+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},L=1,k=2,N=3,T=4,C=5,x=6,V=" ",y="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",g=RegExp("^"+y+"$"),q=/^[+-]?\d+$/,O=RegExp("^(?:("+y+")\\.prototype(?:\\.("+y+")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|("+y+")$"),b=/^['"]/,vt=function(e){var t;return t="__"+e,U.root.assign(t,Q[e]()),t},lt=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")}}),ace.define("ace/mode/coffee/scope",["require","exports","module","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o;o=e("./helpers"),i=o.extend,s=o.last,t.Scope=r=function(){function e(t,n,r){this.parent=t,this.expressions=n,this.method=r,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(e.root=this)}return e.root=null,e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return((e=this.method)!=null?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){if(this.shared&&this.parent.check(e,!0))return;return this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||((t=this.parent)!=null?t.check(e):void 0))},e.prototype.temporary=function(e,t){return e.length>1?"_"+e+(t>1?t-1:""):"_"+(t+parseInt(e,36)).toString(36).replace(/\d/g,"a")},e.prototype.type=function(e){var t,n,r,i;i=this.variables;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.name===e)return t.type}return null},e.prototype.freeVariable=function(e,t){var n,r;t==null&&(t=!0),n=0;while(this.check(r=this.temporary(e,n)))n++;return t&&this.add(r,"var",!0),r},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e,t,n,r,i,s;e=[],t=[],s=this.variables;for(r=0,i=s.length;r<i;r++)n=s[r],n.type==="var"&&(n.name.charAt(0)==="_"?t:e).push(n.name);return e.sort().concat(t.sort())},e.prototype.assignedVariables=function(){var e,t,n,r,i;r=this.variables,i=[];for(t=0,n=r.length;t<n;t++)e=r[t],e.type.assigned&&i.push(""+e.name+" = "+e.type.value);return i},e}()})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/css_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/css/csslint"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./css/csslint").CSSLint,u=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.ruleset=null,this.setDisabledRules("ids"),this.setInfoRules("adjoining-classes|qualified-headings|zero-units|gradients|import|outline-none")};r.inherits(u,s),function(){this.setInfoRules=function(e){typeof e=="string"&&(e=e.split("|")),this.infoRules=i.arrayToMap(e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.setDisabledRules=function(e){if(!e)this.ruleset=null;else{typeof e=="string"&&(e=e.split("|"));var t={};o.getRules().forEach(function(e){t[e.id]=!0}),e.forEach(function(e){delete t[e]}),this.ruleset=t}this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.onUpdate=function(){var e=this.doc.getValue(),t=this.infoRules,n=o.verify(e,this.ruleset);this.sender.emit("csslint",n.messages.map(function(e){return{row:e.line-1,column:e.col-1,text:e.message,type:t[e.rule.id]?"info":e.type,rule:e.rule.name}}))}}.call(u.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/mode/css/csslint",["require","exports","module"],function(require,exports,module){function Reporter(e,t){this.messages=[],this.stats=[],this.lines=e,this.ruleset=t}var parserlib={};(function(){function e(){this._listeners={}}function t(e){this._input=e.replace(/\n\r?/g,"\n"),this._line=1,this._col=1,this._cursor=0}function n(e,t,n){this.col=n,this.line=t,this.message=e}function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}function i(e,n){this._reader=e?new t(e.toString()):null,this._token=null,this._tokenData=n,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}e.prototype={constructor:e,addListener:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)},fire:function(e){typeof e=="string"&&(e={type:e}),typeof e.target!="undefined"&&(e.target=this);if(typeof e.type=="undefined")throw new Error("Event object missing 'type' property.");if(this._listeners[e.type]){var t=this._listeners[e.type].concat();for(var n=0,r=t.length;n<r;n++)t[n].call(this,e)}},removeListener:function(e,t){if(this._listeners[e]){var n=this._listeners[e];for(var r=0,i=n.length;r<i;r++)if(n[r]===t){n.splice(r,1);break}}}},t.prototype={constructor:t,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(e){var t=null;return e=typeof e=="undefined"?1:e,this._cursor<this._input.length&&(t=this._input.charAt(this._cursor+e-1)),t},read:function(){var e=null;return this._cursor<this._input.length&&(this._input.charAt(this._cursor)=="\n"?(this._line++,this._col=1):this._col++,e=this._input.charAt(this._cursor++)),e},mark:function(){this._bookmark={cursor:this._cursor,line:this._line,col:this._col}},reset:function(){this._bookmark&&(this._cursor=this._bookmark.cursor,this._line=this._bookmark.line,this._col=this._bookmark.col,delete this._bookmark)},readTo:function(e){var t="",n;while(t.length<e.length||t.lastIndexOf(e)!=t.length-e.length){n=this.read();if(!n)throw new Error('Expected "'+e+'" at line '+this._line+", col "+this._col+".");t+=n}return t},readWhile:function(e){var t="",n=this.read();while(n!==null&&e(n))t+=n,n=this.read();return t},readMatch:function(e){var t=this._input.substring(this._cursor),n=null;return typeof e=="string"?t.indexOf(e)===0&&(n=this.readCount(e.length)):e instanceof RegExp&&e.test(t)&&(n=this.readCount(RegExp.lastMatch.length)),n},readCount:function(e){var t="";while(e--)t+=this.read();return t}},n.prototype=new Error,r.fromToken=function(e){return new r(e.value,e.startLine,e.startCol)},r.prototype={constructor:r,valueOf:function(){return this.toString()},toString:function(){return this.text}},i.createTokenData=function(e){var t=[],n={},r=e.concat([]),i=0,s=r.length+1;r.UNKNOWN=-1,r.unshift({name:"EOF"});for(;i<s;i++)t.push(r[i].name),r[r[i].name]=i,r[i].text&&(n[r[i].text]=i);return r.name=function(e){return t[e]},r.type=function(e){return n[e]},r},i.prototype={constructor:i,match:function(e,t){e instanceof Array||(e=[e]);var n=this.get(t),r=0,i=e.length;while(r<i)if(n==e[r++])return!0;return this.unget(),!1},mustMatch:function(e,t){var r;e instanceof Array||(e=[e]);if(!this.match.apply(this,arguments))throw r=this.LT(1),new n("Expected "+this._tokenData[e[0]].name+" at line "+r.startLine+", col "+r.startCol+".",r.startLine,r.startCol)},advance:function(e,t){while(this.LA(0)!==0&&!this.match(e,t))this.get();return this.LA(0)},get:function(e){var t=this._tokenData,n=this._reader,r,i=0,s=t.length,o=!1,u,a;if(this._lt.length&&this._ltIndex>=0&&this._ltIndex<this._lt.length){i++,this._token=this._lt[this._ltIndex++],a=t[this._token.type];while(a.channel!==undefined&&e!==a.channel&&this._ltIndex<this._lt.length)this._token=this._lt[this._ltIndex++],a=t[this._token.type],i++;if((a.channel===undefined||e===a.channel)&&this._ltIndex<=this._lt.length)return this._ltIndexCache.push(i),this._token.type}return u=this._getToken(),u.type>-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(t<e)this.unget(),t++}else if(e<0){if(!this._lt[this._ltIndex+e])throw new Error("Too much lookbehind.");n=this._lt[this._ltIndex+e].type}else n=this._token.type;return n},LT:function(e){return this.LA(e),this._lt[this._ltIndex+e-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(e){return e<0||e>this._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s<o&&u===null)u=i[s++].call(this);if(u===null){if(r==="")return null;break}s=0,n.push(u),r+=u.toString(),u=null}return r!==""?new SelectorPart(t,n,r,f,l):null},_type_selector:function(){var e=this._tokenStream,t=this._namespace_prefix(),n=this._element_name();return n?(t&&(n.text=t+n.text,n.col-=t.length),n):(t&&(e.unget(),t.length>1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r<i&&n===null)n=t[r].call(this),r++;return n===null&&this._unexpectedToken(e.LT(1)),n.type=="elementName"?a=new SelectorPart(n,[],n.toString(),o,u):a=new SelectorPart(null,[n],n.toString(),o,u),a},_declaration:function(){var e=this._tokenStream,t=null,n=null,r=null,i=null,s=null,o="";t=this._property();if(t!==null){e.mustMatch(Tokens.COLON),this._readWhitespace(),n=this._expr(),(!n||n.length===0)&&this._unexpectedToken(e.LT(1)),r=this._prio(),o=t.toString();if(this.options.starHack&&t.hack=="*"||this.options.underscoreHack&&t.hack=="_")o=t.text;try{this._validateProperty(o,n)}catch(u){s=u}return this.fire({type:"property",property:t,value:n,important:r,line:t.line,col:t.col,invalid:s}),!0}return!1},_prio:function(){var e=this._tokenStream,t=e.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),t},_expr:function(e){var t=this._tokenStream,n=[],r=null,i=null;r=this._term();if(r!==null){n.push(r);do{i=this._operator(e),i&&n.push(i),r=this._term();if(r===null)break;n.push(r)}while(!0)}return n.length>0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(){var e=this._tokenStream,t=null,n=null,r,i,s;return t=this._unary_operator(),t!==null&&(i=e.token().startLine,s=e.token().startCol),e.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(n=this._ie_function(),t===null&&(i=e.token().startLine,s=e.token().startCol)):e.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(n=e.token().value,t===null&&(i=e.token().startLine,s=e.token().startCol),this._readWhitespace()):(r=this._hexcolor(),r===null?(t===null&&(i=e.LT(1).startLine,s=e.LT(1).startCol),n===null&&(e.LA(3)==Tokens.EQUALS&&this.options.ieFilters?n=this._ie_function():n=this._function())):(n=r.value,t===null&&(i=r.startLine,s=r.startCol))),n!==null?new PropertyValuePart(t!==null?t+n:n,i,s):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length>","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"<time>",comma:!0},"animation-direction":{multi:"normal | alternate",comma:!0},"animation-duration":{multi:"<time>",comma:!0},"animation-iteration-count":{multi:"<number> | infinite",comma:!0},"animation-name":{multi:"none | <ident>",comma:!0},"animation-play-state":{multi:"running | paused",comma:!0},"animation-timing-function":1,"-moz-animation-delay":{multi:"<time>",comma:!0},"-moz-animation-direction":{multi:"normal | alternate",comma:!0},"-moz-animation-duration":{multi:"<time>",comma:!0},"-moz-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-moz-animation-name":{multi:"none | <ident>",comma:!0},"-moz-animation-play-state":{multi:"running | paused",comma:!0},"-ms-animation-delay":{multi:"<time>",comma:!0},"-ms-animation-direction":{multi:"normal | alternate",comma:!0},"-ms-animation-duration":{multi:"<time>",comma:!0},"-ms-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-ms-animation-name":{multi:"none | <ident>",comma:!0},"-ms-animation-play-state":{multi:"running | paused",comma:!0},"-webkit-animation-delay":{multi:"<time>",comma:!0},"-webkit-animation-direction":{multi:"normal | alternate",comma:!0},"-webkit-animation-duration":{multi:"<time>",comma:!0},"-webkit-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-webkit-animation-name":{multi:"none | <ident>",comma:!0},"-webkit-animation-play-state":{multi:"running | paused",comma:!0},"-o-animation-delay":{multi:"<time>",comma:!0},"-o-animation-direction":{multi:"normal | alternate",comma:!0},"-o-animation-duration":{multi:"<time>",comma:!0},"-o-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-o-animation-name":{multi:"none | <ident>",comma:!0},"-o-animation-play-state":{multi:"running | paused",comma:!0},appearance:"icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal | none | inherit",azimuth:function(e){var t="<angle> | leftwards | rightwards | inherit",n="left-side | far-left | left | center-left | center | center-right | right | far-right | right-side",r=!1,i=!1,s;ValidationTypes.isAny(e,t)||(ValidationTypes.isAny(e,"behind")&&(r=!0,i=!0),ValidationTypes.isAny(e,n)&&(i=!0,r||ValidationTypes.isAny(e,"behind")));if(e.hasNext())throw s=e.next(),i?new ValidationError("Expected end of value but found '"+s+"'.",s.line,s.col):new ValidationError("Expected (<'azimuth'>) but found '"+s+"'.",s.line,s.col)},"backface-visibility":"visible | hidden",background:1,"background-attachment":{multi:"<attachment>",comma:!0},"background-clip":{multi:"<box>",comma:!0},"background-color":"<color> | inherit","background-image":{multi:"<bg-image>",comma:!0},"background-origin":{multi:"<box>",comma:!0},"background-position":{multi:"<bg-position>",comma:!0},"background-repeat":{multi:"<repeat-style>"},"background-size":{multi:"<bg-size>",comma:!0},"baseline-shift":"baseline | sub | super | <percentage> | <length>",behavior:1,binding:1,bleed:"<length>","bookmark-label":"<content> | <attr> | <string>","bookmark-level":"none | <integer>","bookmark-state":"open | closed","bookmark-target":"none | <uri> | <attr>",border:"<border-width> || <border-style> || <color>","border-bottom":"<border-width> || <border-style> || <color>","border-bottom-color":"<color>","border-bottom-left-radius":"<x-one-radius>","border-bottom-right-radius":"<x-one-radius>","border-bottom-style":"<border-style>","border-bottom-width":"<border-width>","border-collapse":"collapse | separate | inherit","border-color":{multi:"<color> | inherit",max:4},"border-image":1,"border-image-outset":{multi:"<length> | <number>",max:4},"border-image-repeat":{multi:"stretch | repeat | round",max:2},"border-image-slice":function(e){var t=!1,n="<number> | <percentage>",r=!1,i=0,s=4,o;ValidationTypes.isAny(e,"fill")&&(r=!0,t=!0);while(e.hasNext()&&i<s){t=ValidationTypes.isAny(e,n);if(!t)break;i++}r?t=!0:ValidationTypes.isAny(e,"fill");if(e.hasNext())throw o=e.next(),t?new ValidationError("Expected end of value but found '"+o+"'.",o.line,o.col):new ValidationError("Expected ([<number> | <percentage>]{1,4} && fill?) but found '"+o+"'.",o.line,o.col)},"border-image-source":"<image> | none","border-image-width":{multi:"<length> | <percentage> | <number> | auto",max:4},"border-left":"<border-width> || <border-style> || <color>","border-left-color":"<color> | inherit","border-left-style":"<border-style>","border-left-width":"<border-width>","border-radius":function(e){var t=!1,n="<length> | <percentage>",r=!1,i=!1,s=0,o=8,u;while(e.hasNext()&&s<o){t=ValidationTypes.isAny(e,n);if(!t){if(!(e.peek()=="/"&&s>0&&!r))break;r=!0,o=s+5,e.next()}s++}if(e.hasNext())throw u=e.next(),t?new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col):new ValidationError("Expected (<'border-radius'>) but found '"+u+"'.",u.line,u.col)},"border-right":"<border-width> || <border-style> || <color>","border-right-color":"<color> | inherit","border-right-style":"<border-style>","border-right-width":"<border-width>","border-spacing":{multi:"<length> | inherit",max:2},"border-style":{multi:"<border-style>",max:4},"border-top":"<border-width> || <border-style> || <color>","border-top-color":"<color> | inherit","border-top-left-radius":"<x-one-radius>","border-top-right-radius":"<x-one-radius>","border-top-style":"<border-style>","border-top-width":"<border-width>","border-width":{multi:"<border-width>",max:4},bottom:"<margin-width> | inherit","box-align":"start | end | center | baseline | stretch","box-decoration-break":"slice |clone","box-direction":"normal | reverse | inherit","box-flex":"<number>","box-flex-group":"<integer>","box-lines":"single | multiple","box-ordinal-group":"<integer>","box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","box-pack":"start | end | center | justify","box-shadow":function(e){var t=!1,n;if(!ValidationTypes.isAny(e,"none"))Validation.multiProperty("<shadow>",e,!0,Infinity);else if(e.hasNext())throw n=e.next(),new ValidationError("Expected end of value but found '"+n+"'.",n.line,n.col)},"box-sizing":"content-box | border-box | inherit","break-after":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-before":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-inside":"auto | avoid | avoid-page | avoid-column","caption-side":"top | bottom | inherit",clear:"none | right | left | both | inherit",clip:1,color:"<color> | inherit","color-profile":1,"column-count":"<integer> | auto","column-fill":"auto | balance","column-gap":"<length> | normal","column-rule":"<border-width> || <border-style> || <color>","column-rule-color":"<color>","column-rule-style":"<border-style>","column-rule-width":"<border-width>","column-span":"none | all","column-width":"<length> | auto",columns:1,content:1,"counter-increment":1,"counter-reset":1,crop:"<shape> | auto",cue:"cue-after | cue-before | inherit","cue-after":1,"cue-before":1,cursor:1,direction:"ltr | rtl | inherit",display:"inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid | none | inherit | -moz-box | -moz-inline-block | -moz-inline-box | -moz-inline-grid | -moz-inline-stack | -moz-inline-table | -moz-grid | -moz-grid-group | -moz-grid-line | -moz-groupbox | -moz-deck | -moz-popup | -moz-stack | -moz-marker","dominant-baseline":1,"drop-initial-after-adjust":"central | middle | after-edge | text-after-edge | ideographic | alphabetic | mathematical | <percentage> | <length>","drop-initial-after-align":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-before-adjust":"before-edge | text-before-edge | central | middle | hanging | mathematical | <percentage> | <length>","drop-initial-before-align":"caps-height | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-size":"auto | line | <length> | <percentage>","drop-initial-value":"initial | <integer>",elevation:"<angle> | below | level | above | higher | lower | inherit","empty-cells":"show | hide | inherit",filter:1,fit:"fill | hidden | meet | slice","fit-position":1,"float":"left | right | none | inherit","float-offset":1,font:1,"font-family":1,"font-size":"<absolute-size> | <relative-size> | <length> | <percentage> | inherit","font-size-adjust":"<number> | none | inherit","font-stretch":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit","font-style":"normal | italic | oblique | inherit","font-variant":"normal | small-caps | inherit","font-weight":"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit","grid-cell-stacking":"columns | rows | layer","grid-column":1,"grid-columns":1,"grid-column-align":"start | end | center | stretch","grid-column-sizing":1,"grid-column-span":"<integer>","grid-flow":"none | rows | columns","grid-layer":"<integer>","grid-row":1,"grid-rows":1,"grid-row-align":"start | end | center | stretch","grid-row-span":"<integer>","grid-row-sizing":1,"hanging-punctuation":1,height:"<margin-width> | inherit","hyphenate-after":"<integer> | auto","hyphenate-before":"<integer> | auto","hyphenate-character":"<string> | auto","hyphenate-lines":"no-limit | <integer>","hyphenate-resource":1,hyphens:"none | manual | auto",icon:1,"image-orientation":"angle | auto","image-rendering":1,"image-resolution":1,"inline-box-align":"initial | last | <integer>",left:"<margin-width> | inherit","letter-spacing":"<length> | normal | inherit","line-height":"<number> | <length> | <percentage> | normal | inherit","line-break":"auto | loose | normal | strict","line-stacking":1,"line-stacking-ruby":"exclude-ruby | include-ruby","line-stacking-shift":"consider-shifts | disregard-shifts","line-stacking-strategy":"inline-line-height | block-line-height | max-height | grid-height","list-style":1,"list-style-image":"<uri> | none | inherit","list-style-position":"inside | outside | inherit","list-style-type":"disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit",margin:{multi:"<margin-width> | inherit",max:4},"margin-bottom":"<margin-width> | inherit","margin-left":"<margin-width> | inherit","margin-right":"<margin-width> | inherit","margin-top":"<margin-width> | inherit",mark:1,"mark-after":1,"mark-before":1,marks:1,"marquee-direction":1,"marquee-play-count":1,"marquee-speed":1,"marquee-style":1,"max-height":"<length> | <percentage> | none | inherit","max-width":"<length> | <percentage> | none | inherit","min-height":"<length> | <percentage> | inherit","min-width":"<length> | <percentage> | inherit","move-to":1,"nav-down":1,"nav-index":1,"nav-left":1,"nav-right":1,"nav-up":1,opacity:"<number> | inherit",orphans:"<integer> | inherit",outline:1,"outline-color":"<color> | invert | inherit","outline-offset":1,"outline-style":"<border-style> | inherit","outline-width":"<border-width> | inherit",overflow:"visible | hidden | scroll | auto | inherit","overflow-style":1,"overflow-x":1,"overflow-y":1,padding:{multi:"<padding-width> | inherit",max:4},"padding-bottom":"<padding-width> | inherit","padding-left":"<padding-width> | inherit","padding-right":"<padding-width> | inherit","padding-top":"<padding-width> | inherit",page:1,"page-break-after":"auto | always | avoid | left | right | inherit","page-break-before":"auto | always | avoid | left | right | inherit","page-break-inside":"auto | avoid | inherit","page-policy":1,pause:1,"pause-after":1,"pause-before":1,perspective:1,"perspective-origin":1,phonemes:1,pitch:1,"pitch-range":1,"play-during":1,"pointer-events":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",position:"static | relative | absolute | fixed | inherit","presentation-level":1,"punctuation-trim":1,quotes:1,"rendering-intent":1,resize:1,rest:1,"rest-after":1,"rest-before":1,richness:1,right:"<margin-width> | inherit",rotation:1,"rotation-point":1,"ruby-align":1,"ruby-overhang":1,"ruby-position":1,"ruby-span":1,size:1,speak:"normal | none | spell-out | inherit","speak-header":"once | always | inherit","speak-numeral":"digits | continuous | inherit","speak-punctuation":"code | none | inherit","speech-rate":1,src:1,stress:1,"string-set":1,"table-layout":"auto | fixed | inherit","tab-size":"<integer> | <length>",target:1,"target-name":1,"target-new":1,"target-position":1,"text-align":"left | right | center | justify | inherit","text-align-last":1,"text-decoration":1,"text-emphasis":1,"text-height":1,"text-indent":"<length> | <percentage> | inherit","text-justify":"auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida","text-outline":1,"text-overflow":1,"text-rendering":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit","text-shadow":1,"text-transform":"capitalize | uppercase | lowercase | none | inherit","text-wrap":"normal | none | avoid",top:"<margin-width> | inherit",transform:1,"transform-origin":1,"transform-style":1,transition:1,"transition-delay":1,"transition-duration":1,"transition-property":1,"transition-timing-function":1,"unicode-bidi":"normal | embed | bidi-override | inherit","user-modify":"read-only | read-write | write-only | inherit","user-select":"none | text | toggle | element | elements | all | inherit","vertical-align":"auto | use-script | baseline | sub | super | top | text-top | central | middle | bottom | text-bottom | <percentage> | <length>",visibility:"visible | hidden | collapse | inherit","voice-balance":1,"voice-duration":1,"voice-family":1,"voice-pitch":1,"voice-pitch-range":1,"voice-rate":1,"voice-stress":1,"voice-volume":1,volume:1,"white-space":"normal | pre | nowrap | pre-wrap | pre-line | inherit | -pre-wrap | -o-pre-wrap | -moz-pre-wrap | -hp-pre-wrap","white-space-collapse":1,widows:"<integer> | inherit",width:"<length> | <percentage> | auto | inherit","word-break":"normal | keep-all | break-all","word-spacing":"<length> | normal | inherit","word-wrap":1,"z-index":"<integer> | auto | inherit",zoom:"<number> | <percentage> | normal"};PropertyName.prototype=new SyntaxUnit,PropertyName.prototype.constructor=PropertyName,PropertyName.prototype.toString=function(){return(this.hack?this.hack:"")+this.text},PropertyValue.prototype=new SyntaxUnit,PropertyValue.prototype.constructor=PropertyValue,PropertyValueIterator.prototype.count=function(){return this._parts.length},PropertyValueIterator.prototype.isFirst=function(){return this._i===0},PropertyValueIterator.prototype.hasNext=function(){return this._i<this._parts.length},PropertyValueIterator.prototype.mark=function(){this._marks.push(this._i)},PropertyValueIterator.prototype.peek=function(e){return this.hasNext()?this._parts[this._i+(e||0)]:null},PropertyValueIterator.prototype.next=function(){return this.hasNext()?this._parts[this._i++]:null},PropertyValueIterator.prototype.previous=function(){return this._i>0?this._parts[--this._i]:null},PropertyValueIterator.prototype.restore=function(){this._marks.length&&(this._i=this._marks.pop())},PropertyValuePart.prototype=new SyntaxUnit,PropertyValuePart.prototype.constructor=PropertyValuePart,PropertyValuePart.fromToken=function(e){return new PropertyValuePart(e.value,e.startLine,e.startCol)};var Pseudos={":first-letter":1,":first-line":1,":before":1,":after":1};Pseudos.ELEMENT=1,Pseudos.CLASS=2,Pseudos.isElement=function(e){return e.indexOf("::")===0||Pseudos[e.toLowerCase()]==Pseudos.ELEMENT},Selector.prototype=new SyntaxUnit,Selector.prototype.constructor=Selector,SelectorPart.prototype=new SyntaxUnit,SelectorPart.prototype.constructor=SelectorPart,SelectorSubPart.prototype=new SyntaxUnit,SelectorSubPart.prototype.constructor=SelectorSubPart,Specificity.prototype={constructor:Specificity,compare:function(e){var t=["a","b","c","d"],n,r;for(n=0,r=t.length;n<r;n++){if(this[t[n]]<e[t[n]])return-1;if(this[t[n]]>e[t[n]])return 1}return 0},valueOf:function(){return this.a*1e3+this.b*100+this.c*10+this.d},toString:function(){return this.a+","+this.b+","+this.c+","+this.d}},Specificity.calculate=function(e){function t(e){var n,r,i,a,f=e.elementName?e.elementName.text:"",l;f&&f.charAt(f.length-1)!="*"&&u++;for(n=0,i=e.modifiers.length;n<i;n++){l=e.modifiers[n];switch(l.type){case"class":case"attribute":o++;break;case"id":s++;break;case"pseudo":Pseudos.isElement(l.text)?u++:o++;break;case"not":for(r=0,a=l.args.length;r<a;r++)t(l.args[r])}}}var n,r,i,s=0,o=0,u=0;for(n=0,r=e.parts.length;n<r;n++)i=e.parts[n],i instanceof SelectorPart&&t(i);return new Specificity(0,s,o,u)};var h=/^[0-9a-fA-F]$/,nonascii=/^[\u0080-\uFFFF]$/,nl=/\n|\r\n|\r|\f/;TokenStream.prototype=mix(new TokenStreamBase,{_getToken:function(e){var t,n=this._reader,r=null,i=n.getLine(),s=n.getCol();t=n.read();while(t){switch(t){case"/":n.peek()=="*"?r=this.commentToken(t,i,s):r=this.charToken(t,i,s);break;case"|":case"~":case"^":case"$":case"*":n.peek()=="="?r=this.comparisonToken(t,i,s):r=this.charToken(t,i,s);break;case'"':case"'":r=this.stringToken(t,i,s);break;case"#":isNameChar(n.peek())?r=this.hashToken(t,i,s):r=this.charToken(t,i,s);break;case".":isDigit(n.peek())?r=this.numberToken(t,i,s):r=this.charToken(t,i,s);break;case"-":n.peek()=="-"?r=this.htmlCommentEndToken(t,i,s):isNameStart(n.peek())?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s);break;case"!":r=this.importantToken(t,i,s);break;case"@":r=this.atRuleToken(t,i,s);break;case":":r=this.notToken(t,i,s);break;case"<":r=this.htmlCommentStartToken(t,i,s);break;case"U":case"u":if(n.peek()=="+"){r=this.unicodeRangeToken(t,i,s);break};default:isDigit(t)?r=this.numberToken(t,i,s):isWhitespace(t)?r=this.whitespaceToken(t,i,s):isIdentStart(t)?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s)}break}return!r&&t===null&&(r=this.createToken(Tokens.EOF,null,i,s)),r},createToken:function(e,t,n,r,i){var s=this._reader;return i=i||{},{value:t,type:e,channel:i.channel,hide:i.hide||!1,startLine:n,startCol:r,endLine:s.getLine(),endCol:s.getCol()}},atRuleToken:function(e,t,n){var r=e,i=this._reader,s=Tokens.CHAR,o=!1,u,a;i.mark(),u=this.readName(),r=e+u,s=Tokens.type(r.toLowerCase());if(s==Tokens.CHAR||s==Tokens.UNKNOWN)r.length>1?s=Tokens.UNKNOWN_SYM:(s=Tokens.CHAR,r=e,i.reset());return this.createToken(s,r,t,n)},charToken:function(e,t,n){var r=Tokens.type(e);return r==-1&&(r=Tokens.CHAR),this.createToken(r,e,t,n)},commentToken:function(e,t,n){var r=this._reader,i=this.readComment(e);return this.createToken(Tokens.COMMENT,i,t,n)},comparisonToken:function(e,t,n){var r=this._reader,i=e+r.read(),s=Tokens.type(i)||Tokens.CHAR;return this.createToken(s,i,t,n)},hashToken:function(e,t,n){var r=this._reader,i=this.readName(e);return this.createToken(Tokens.HASH,i,t,n)},htmlCommentStartToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(3),i=="<!--"?this.createToken(Tokens.CDO,i,t,n):(r.reset(),this.charToken(e,t,n))},htmlCommentEndToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(2),i=="-->"?this.createToken(Tokens.CDC,i,t,n):(r.reset(),this.charToken(e,t,n))},identOrFunctionToken:function(e,t,n){var r=this._reader,i=this.readName(e),s=Tokens.IDENT;return r.peek()=="("?(i+=r.read(),i.toLowerCase()=="url("?(s=Tokens.URI,i=this.readURI(i),i.toLowerCase()=="url("&&(s=Tokens.FUNCTION)):s=Tokens.FUNCTION):r.peek()==":"&&i.toLowerCase()=="progid"&&(i+=r.readTo("("),s=Tokens.IE_FUNCTION),this.createToken(s,i,t,n)},importantToken:function(e,t,n){var r=this._reader,i=e,s=Tokens.CHAR,o,u;r.mark(),u=r.read();while(u){if(u=="/"){if(r.peek()!="*")break;o=this.readComment(u);if(o==="")break}else{if(!isWhitespace(u)){if(/i/i.test(u)){o=r.readCount(8),/mportant/i.test(o)&&(i+=u+o,s=Tokens.IMPORTANT_SYM);break}break}i+=u+this.readWhitespace()}u=r.read()}return s==Tokens.CHAR?(r.reset(),this.charToken(e,t,n)):this.createToken(s,i,t,n)},notToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(4),i.toLowerCase()==":not("?this.createToken(Tokens.NOT,i,t,n):(r.reset(),this.charToken(e,t,n))},numberToken:function(e,t,n){var r=this._reader,i=this.readNumber(e),s,o=Tokens.NUMBER,u=r.peek();return isIdentStart(u)?(s=this.readName(r.read()),i+=s,/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(s)?o=Tokens.LENGTH:/^deg|^rad$|^grad$/i.test(s)?o=Tokens.ANGLE:/^ms$|^s$/i.test(s)?o=Tokens.TIME:/^hz$|^khz$/i.test(s)?o=Tokens.FREQ:/^dpi$|^dpcm$/i.test(s)?o=Tokens.RESOLUTION:o=Tokens.DIMENSION):u=="%"&&(i+=r.read(),o=Tokens.PERCENTAGE),this.createToken(o,i,t,n)},stringToken:function(e,t,n){var r=e,i=e,s=this._reader,o=e,u=Tokens.STRING,a=s.read();while(a){i+=a;if(a==r&&o!="\\")break;if(isNewLine(s.peek())&&a!="\\"){u=Tokens.INVALID;break}o=a,a=s.read()}return a===null&&(u=Tokens.INVALID),this.createToken(u,i,t,n)},unicodeRangeToken:function(e,t,n){var r=this._reader,i=e,s,o=Tokens.CHAR;return r.peek()=="+"&&(r.mark(),i+=r.read(),i+=this.readUnicodeRangePart(!0),i.length==2?r.reset():(o=Tokens.UNICODE_RANGE,i.indexOf("?")==-1&&r.peek()=="-"&&(r.mark(),s=r.read(),s+=this.readUnicodeRangePart(!1),s.length==1?r.reset():i+=s))),this.createToken(o,i,t,n)},whitespaceToken:function(e,t,n){var r=this._reader,i=e+this.readWhitespace();return this.createToken(Tokens.S,i,t,n)},readUnicodeRangePart:function(e){var t=this._reader,n="",r=t.peek();while(isHexDigit(r)&&n.length<6)t.read(),n+=r,r=t.peek();if(e)while(r=="?"&&n.length<6)t.read(),n+=r,r=t.peek();return n},readWhitespace:function(){var e=this._reader,t="",n=e.peek();while(isWhitespace(n))e.read(),t+=n,n=e.peek();return t},readNumber:function(e){var t=this._reader,n=e,r=e==".",i=t.peek();while(i){if(isDigit(i))n+=t.read();else{if(i!=".")break;if(r)break;r=!0,n+=t.read()}i=t.peek()}return n},readString:function(){var e=this._reader,t=e.read(),n=t,r=t,i=e.peek();while(i){i=e.read(),n+=i;if(i==t&&r!="\\")break;if(isNewLine(e.peek())&&i!="\\"){n="";break}r=i,i=e.peek()}return i===null&&(n=""),n},readURI:function(e){var t=this._reader,n=e,r="",i=t.peek();t.mark();while(i&&isWhitespace(i))t.read(),i=t.peek();i=="'"||i=='"'?r=this.readString():r=this.readURL(),i=t.peek();while(i&&isWhitespace(i))t.read(),i=t.peek();return r===""||i!=")"?(n=e,t.reset()):n+=r+t.read(),n},readURL:function(){var e=this._reader,t="",n=e.peek();while(/^[!#$%&\\*-~]$/.test(n))t+=e.read(),n=e.peek();return t},readName:function(e){var t=this._reader,n=e||"",r=t.peek();for(;;)if(r=="\\")n+=this.readEscape(t.read()),r=t.peek();else{if(!r||!isNameChar(r))break;n+=t.read(),r=t.peek()}return n},readEscape:function(e){var t=this._reader,n=e||"",r=0,i=t.peek();if(isHexDigit(i))do n+=t.read(),i=t.peek();while(i&&isHexDigit(i)&&++r<6);return n.length==3&&/\s/.test(i)||n.length==7||n.length==1?t.read():i="",n+i},readComment:function(e){var t=this._reader,n=e||"",r=t.read();if(r=="*"){while(r){n+=r;if(n.length>2&&r=="*"&&t.peek()=="/"){n+=t.read();break}r=t.read()}return n}return""}});var Tokens=[{name:"CDO"},{name:"CDC"},{name:"S",whitespace:!0},{name:"COMMENT",comment:!0,hide:!0,channel:"comment"},{name:"INCLUDES",text:"~="},{name:"DASHMATCH",text:"|="},{name:"PREFIXMATCH",text:"^="},{name:"SUFFIXMATCH",text:"$="},{name:"SUBSTRINGMATCH",text:"*="},{name:"STRING"},{name:"IDENT"},{name:"HASH"},{name:"IMPORT_SYM",text:"@import"},{name:"PAGE_SYM",text:"@page"},{name:"MEDIA_SYM",text:"@media"},{name:"FONT_FACE_SYM",text:"@font-face"},{name:"CHARSET_SYM",text:"@charset"},{name:"NAMESPACE_SYM",text:"@namespace"},{name:"UNKNOWN_SYM"},{name:"KEYFRAMES_SYM",text:["@keyframes","@-webkit-keyframes","@-moz-keyframes","@-o-keyframes"]},{name:"IMPORTANT_SYM"},{name:"LENGTH"},{name:"ANGLE"},{name:"TIME"},{name:"FREQ"},{name:"DIMENSION"},{name:"PERCENTAGE"},{name:"NUMBER"},{name:"URI"},{name:"FUNCTION"},{name:"UNICODE_RANGE"},{name:"INVALID"},{name:"PLUS",text:"+"},{name:"GREATER",text:">"},{name:"COMMA",text:","},{name:"TILDE",text:"~"},{name:"NOT"},{name:"TOPLEFTCORNER_SYM",text:"@top-left-corner"},{name:"TOPLEFT_SYM",text:"@top-left"},{name:"TOPCENTER_SYM",text:"@top-center"},{name:"TOPRIGHT_SYM",text:"@top-right"},{name:"TOPRIGHTCORNER_SYM",text:"@top-right-corner"},{name:"BOTTOMLEFTCORNER_SYM",text:"@bottom-left-corner"},{name:"BOTTOMLEFT_SYM",text:"@bottom-left"},{name:"BOTTOMCENTER_SYM",text:"@bottom-center"},{name:"BOTTOMRIGHT_SYM",text:"@bottom-right"},{name:"BOTTOMRIGHTCORNER_SYM",text:"@bottom-right-corner"},{name:"LEFTTOP_SYM",text:"@left-top"},{name:"LEFTMIDDLE_SYM",text:"@left-middle"},{name:"LEFTBOTTOM_SYM",text:"@left-bottom"},{name:"RIGHTTOP_SYM",text:"@right-top"},{name:"RIGHTMIDDLE_SYM",text:"@right-middle"},{name:"RIGHTBOTTOM_SYM",text:"@right-bottom"},{name:"RESOLUTION",state:"media"},{name:"IE_FUNCTION"},{name:"CHAR"},{name:"PIPE",text:"|"},{name:"SLASH",text:"/"},{name:"MINUS",text:"-"},{name:"STAR",text:"*"},{name:"LBRACE",text:"{"},{name:"RBRACE",text:"}"},{name:"LBRACKET",text:"["},{name:"RBRACKET",text:"]"},{name:"EQUALS",text:"="},{name:"COLON",text:":"},{name:"SEMICOLON",text:";"},{name:"LPAREN",text:"("},{name:"RPAREN",text:")"},{name:"DOT",text:"."}];(function(){var e=[],t={};Tokens.UNKNOWN=-1,Tokens.unshift({name:"EOF"});for(var n=0,r=Tokens.length;n<r;n++){e.push(Tokens[n].name),Tokens[Tokens[n].name]=n;if(Tokens[n].text)if(Tokens[n].text instanceof Array)for(var i=0;i<Tokens[n].text.length;i++)t[Tokens[n].text[i]]=n;else t[Tokens[n].text]=n}Tokens.name=function(t){return e[t]},Tokens.type=function(e){return t[e]||-1}})();var Validation={validate:function(e,t){var n=e.toString().toLowerCase(),r=t.parts,i=new PropertyValueIterator(t),s=Properties[n],o,u,a,f,l,c,h,p,d,v,m;if(!s){if(n.indexOf("-")!==0)throw new ValidationError("Unknown property '"+e+"'.",e.line,e.col)}else typeof s!="number"&&(typeof s=="string"?s.indexOf("||")>-1?this.groupProperty(s,i):this.singleProperty(s,i,1):s.multi?this.multiProperty(s.multi,i,s.comma,s.max||Infinity):typeof s=="function"&&s(i))},singleProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u;while(t.hasNext()&&o<n){i=ValidationTypes.isAny(t,e);if(!i)break;o++}if(!i)throw t.hasNext()&&!t.isFirst()?(u=t.peek(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col);if(t.hasNext())throw u=t.next(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)},multiProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u=!1,a;while(t.hasNext()&&!i&&o<r){if(!ValidationTypes.isAny(t,e))break;o++;if(!t.hasNext())i=!0;else if(n){if(t.peek()!=",")break;a=t.next()}}if(!i)throw t.hasNext()&&!t.isFirst()?(a=t.peek(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)):(a=t.previous(),n&&a==","?new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col));if(t.hasNext())throw a=t.next(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)},groupProperty:function(e,t,n){var r=!1,i=t.value,s=e.split("||").length,o={count:0},u=!1,a,f;while(t.hasNext()&&!r){a=ValidationTypes.isAnyOfGroup(t,e);if(!a)break;if(o[a])break;o[a]=1,o.count++,u=!0;if(o.count==s||!t.hasNext())r=!0}if(!r)throw u&&t.hasNext()?(f=t.peek(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)):new ValidationError("Expected ("+e+") but found '"+i+"'.",i.line,i.col);if(t.hasNext())throw f=t.next(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)}};ValidationError.prototype=new Error;var ValidationTypes={isLiteral:function(e,t){var n=e.text.toString().toLowerCase(),r=t.split(" | "),i,s,o=!1;for(i=0,s=r.length;i<s&&!o;i++)n==r[i].toLowerCase()&&(o=!0);return o},isSimple:function(e){return!!this.simple[e]},isComplex:function(e){return!!this.complex[e]},isAny:function(e,t){var n=t.split(" | "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s&&e.hasNext();r++)s=this.isType(e,n[r]);return s},isAnyOfGroup:function(e,t){var n=t.split(" || "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s;r++)s=this.isType(e,n[r]);return s?n[r-1]:!1},isType:function(e,t){var n=e.peek(),r=!1;return t.charAt(0)!="<"?(r=this.isLiteral(n,t),r&&e.next()):this.simple[t]?(r=this.simple[t](n),r&&e.next()):r=this.complex[t](e),r},simple:{"<absolute-size>":function(e){return ValidationTypes.isLiteral(e,"xx-small | x-small | small | medium | large | x-large | xx-large")},"<attachment>":function(e){return ValidationTypes.isLiteral(e,"scroll | fixed | local")},"<attr>":function(e){return e.type=="function"&&e.name=="attr"},"<bg-image>":function(e){return this["<image>"](e)||this["<gradient>"](e)||e=="none"},"<gradient>":function(e){return e.type=="function"&&/^(?:\-(?:ms|moz|o|webkit)\-)?(?:repeating\-)?(?:radial\-|linear\-)?gradient/i.test(e)},"<box>":function(e){return ValidationTypes.isLiteral(e,"padding-box | border-box | content-box")},"<content>":function(e){return e.type=="function"&&e.name=="content"},"<relative-size>":function(e){return ValidationTypes.isLiteral(e,"smaller | larger")},"<ident>":function(e){return e.type=="identifier"},"<length>":function(e){return e.type=="function"&&/^(?:\-(?:ms|moz|o|webkit)\-)?calc/i.test(e)?!0:e.type=="length"||e.type=="number"||e.type=="integer"||e=="0"},"<color>":function(e){return e.type=="color"||e=="transparent"},"<number>":function(e){return e.type=="number"||this["<integer>"](e)},"<integer>":function(e){return e.type=="integer"},"<line>":function(e){return e.type=="integer"},"<angle>":function(e){return e.type=="angle"},"<uri>":function(e){return e.type=="uri"},"<image>":function(e){return this["<uri>"](e)},"<percentage>":function(e){return e.type=="percentage"||e=="0"},"<border-width>":function(e){return this["<length>"](e)||ValidationTypes.isLiteral(e,"thin | medium | thick")},"<border-style>":function(e){return ValidationTypes.isLiteral(e,"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset")},"<margin-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)||ValidationTypes.isLiteral(e,"auto")},"<padding-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)},"<shape>":function(e){return e.type=="function"&&(e.name=="rect"||e.name=="inset-rect")},"<time>":function(e){return e.type=="time"}},complex:{"<bg-position>":function(e){var t=this,n=!1,r="<percentage> | <length>",i="left | right",s="top | bottom",o=0,u=function(){return e.hasNext()&&e.peek()!=","};while(e.peek(o)&&e.peek(o)!=",")o++;return o<3?ValidationTypes.isAny(e,i+" | center | "+r)?(n=!0,ValidationTypes.isAny(e,s+" | center | "+r)):ValidationTypes.isAny(e,s)&&(n=!0,ValidationTypes.isAny(e,i+" | center")):ValidationTypes.isAny(e,i)?ValidationTypes.isAny(e,s)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,r)&&(ValidationTypes.isAny(e,s)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,"center")&&(n=!0)):ValidationTypes.isAny(e,s)?ValidationTypes.isAny(e,i)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,r)&&(ValidationTypes.isAny(e,i)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,"center")&&(n=!0)):ValidationTypes.isAny(e,"center")&&ValidationTypes.isAny(e,i+" | "+s)&&(n=!0,ValidationTypes.isAny(e,r)),n},"<bg-size>":function(e){var t=this,n=!1,r="<percentage> | <length> | auto",i,s,o;return ValidationTypes.isAny(e,"cover | contain")?n=!0:ValidationTypes.isAny(e,r)&&(n=!0,ValidationTypes.isAny(e,r)),n},"<repeat-style>":function(e){var t=!1,n="repeat | space | round | no-repeat",r;return e.hasNext()&&(r=e.next(),ValidationTypes.isLiteral(r,"repeat-x | repeat-y")?t=!0:ValidationTypes.isLiteral(r,n)&&(t=!0,e.hasNext()&&ValidationTypes.isLiteral(e.peek(),n)&&e.next())),t},"<shadow>":function(e){var t=!1,n=0,r=!1,i=!1,s;if(e.hasNext()){ValidationTypes.isAny(e,"inset")&&(r=!0),ValidationTypes.isAny(e,"<color>")&&(i=!0);while(ValidationTypes.isAny(e,"<length>")&&n<4)n++;e.hasNext()&&(i||ValidationTypes.isAny(e,"<color>"),r||ValidationTypes.isAny(e,"inset")),t=n>=2&&n<=4}return t},"<x-one-radius>":function(e){var t=!1,n=0,r="<length> | <percentage>",i;return ValidationTypes.isAny(e,r)&&(t=!0,ValidationTypes.isAny(e,r)),t}}};parserlib.css={Colors:Colors,Combinator:Combinator,Parser:Parser,PropertyName:PropertyName,PropertyValue:PropertyValue,PropertyValuePart:PropertyValuePart,MediaFeature:MediaFeature,MediaQuery:MediaQuery,Selector:Selector,SelectorPart:SelectorPart,SelectorSubPart:SelectorSubPart,Specificity:Specificity,TokenStream:TokenStream,Tokens:Tokens,ValidationError:ValidationError}}();var CSSLint=function(){function e(e,t){var n,i=e&&e.match(r),s=i&&i[1];return s&&(n={"true":2,"":1,"false":0,2:2,1:1,0:0},s.toLowerCase().split(",").forEach(function(e){var r=e.split(":"),i=r[0]||"",s=r[1]||"";t[i.trim()]=n[s.trim()]})),t}var t=[],n=[],r=/\/\*csslint([^\*]*)\*\//,i=new parserlib.util.EventTarget;return i.version="0.9.10",i.addRule=function(e){t.push(e),t[e.id]=e},i.clearRules=function(){t=[]},i.getRules=function(){return[].concat(t).sort(function(e,t){return e.id>t.id?1:0})},i.getRuleset=function(){var e={},n=0,r=t.length;while(n<r)e[t[n++].id]=1;return e},i.addFormatter=function(e){n[e.id]=e},i.getFormatter=function(e){return n[e]},i.format=function(e,t,n,r){var i=this.getFormatter(n),s=null;return i&&(s=i.startFormat(),s+=i.formatResults(e,t,r||{}),s+=i.endFormat()),s},i.hasFormat=function(e){return n.hasOwnProperty(e)},i.verify=function(n,i){var s=0,o=t.length,u,a,f,l=new parserlib.css.Parser({starHack:!0,ieFilters:!0,underscoreHack:!0,strict:!1});a=n.replace(/\n\r?/g,"$split$").split("$split$"),i||(i=this.getRuleset()),r.test(n)&&(i=e(n,i)),u=new Reporter(a,i),i.errors=2;for(s in i)i.hasOwnProperty(s)&&i[s]&&t[s]&&t[s].init(l,u);try{l.parse(n)}catch(c){u.error("Fatal error, cannot continue: "+c.message,c.line,c.col,{})}return f={messages:u.messages,stats:u.stats,ruleset:u.ruleset},f.messages.sort(function(e,t){return e.rollup&&!t.rollup?1:!e.rollup&&t.rollup?-1:e.line-t.line}),f},i}();Reporter.prototype={constructor:Reporter,error:function(e,t,n,r){this.messages.push({type:"error",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r||{}})},warn:function(e,t,n,r){this.report(e,t,n,r)},report:function(e,t,n,r){this.messages.push({type:this.ruleset[r.id]==2?"error":"warning",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},info:function(e,t,n,r){this.messages.push({type:"info",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},rollupError:function(e,t){this.messages.push({type:"error",rollup:!0,message:e,rule:t})},rollupWarn:function(e,t){this.messages.push({type:"warning",rollup:!0,message:e,rule:t})},stat:function(e,t){this.stats[e]=t}},CSSLint._Reporter=Reporter,CSSLint.Util={mix:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return n},indexOf:function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t){if(e.forEach)return e.forEach(t);for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)}},CSSLint.addRule({id:"adjoining-classes",name:"Disallow adjoining classes",desc:"Don't use adjoining classes.",browsers:"IE6",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f];for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type==e.SELECTOR_PART_TYPE){a=0;for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type=="class"&&a++,a>1&&t.report("Don't use adjoining classes.",o.line,o.col,n)}}}})}}),CSSLint.addRule({id:"box-model",name:"Beware of broken box size",desc:"Don't use width or height when using padding or border.",browsers:"All",init:function(e,t){function n(){u={},a=!1}function r(){var e,n;if(!a){if(u.height)for(e in o)o.hasOwnProperty(e)&&u[e]&&(n=u[e].value,(e!="padding"||n.parts.length!==2||n.parts[0].value!==0)&&t.report("Using height with "+e+" can sometimes make elements larger than you expect.",u[e].line,u[e].col,i));if(u.width)for(e in s)s.hasOwnProperty(e)&&u[e]&&(n=u[e].value,(e!="padding"||n.parts.length!==2||n.parts[1].value!==0)&&t.report("Using width with "+e+" can sometimes make elements larger than you expect.",u[e].line,u[e].col,i))}}var i=this,s={border:1,"border-left":1,"border-right":1,padding:1,"padding-left":1,"padding-right":1},o={border:1,"border-bottom":1,"border-top":1,padding:1,"padding-bottom":1,"padding-top":1},u,a=!1;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("property",function(e){var t=e.property.text.toLowerCase();o[t]||s[t]?!/^0\S*$/.test(e.value)&&(t!="border"||e.value!="none")&&(u[t]={line:e.property.line,col:e.property.col,value:e.value}):/^(width|height)/i.test(t)&&/^(length|percentage)/.test(e.value.parts[0].type)?u[t]=1:t=="box-sizing"&&(a=!0)}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r)}}),CSSLint.addRule({id:"box-sizing",name:"Disallow use of box-sizing",desc:"The box-sizing properties isn't supported in IE6 and IE7.",browsers:"IE6, IE7",tags:["Compatibility"],init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property.text.toLowerCase();r=="box-sizing"&&t.report("The box-sizing property isn't supported in IE6 and IE7.",e.line,e.col,n)})}}),CSSLint.addRule({id:"bulletproof-font-face",name:"Use the bulletproof @font-face syntax",desc:"Use the bulletproof @font-face syntax to avoid 404's in old IE (http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).",browsers:"All",init:function(e,t){var n=this,r=0,i=!1,s=!0,o=!1,u,a;e.addListener("startfontface",function(e){i=!0}),e.addListener("property",function(e){if(!i)return;var t=e.property.toString().toLowerCase(),n=e.value.toString();u=e.line,a=e.col;if(t==="src"){var r=/^\s?url\(['"].+\.eot\?.*['"]\)\s*format\(['"]embedded-opentype['"]\).*$/i;!n.match(r)&&s?(o=!0,s=!1):n.match(r)&&!s&&(o=!1)}}),e.addListener("endfontface",function(e){i=!1,o&&t.report("@font-face declaration doesn't follow the fontspring bulletproof syntax.",u,a,n)})}}),CSSLint.addRule({id:"compatible-vendor-prefixes",name:"Require compatible vendor prefixes",desc:"Include all compatible vendor prefixes to reach a wider range of users.",browsers:"All",init:function(e,t){var n=this,r,i,s,o,u,a,f,l=!1,c=Array.prototype.push,h=[];r={animation:"webkit moz","animation-delay":"webkit moz","animation-direction":"webkit moz","animation-duration":"webkit moz","animation-fill-mode":"webkit moz","animation-iteration-count":"webkit moz","animation-name":"webkit moz","animation-play-state":"webkit moz","animation-timing-function":"webkit moz",appearance:"webkit moz","border-end":"webkit moz","border-end-color":"webkit moz","border-end-style":"webkit moz","border-end-width":"webkit moz","border-image":"webkit moz o","border-radius":"webkit","border-start":"webkit moz","border-start-color":"webkit moz","border-start-style":"webkit moz","border-start-width":"webkit moz","box-align":"webkit moz ms","box-direction":"webkit moz ms","box-flex":"webkit moz ms","box-lines":"webkit ms","box-ordinal-group":"webkit moz ms","box-orient":"webkit moz ms","box-pack":"webkit moz ms","box-sizing":"webkit moz","box-shadow":"webkit moz","column-count":"webkit moz ms","column-gap":"webkit moz ms","column-rule":"webkit moz ms","column-rule-color":"webkit moz ms","column-rule-style":"webkit moz ms","column-rule-width":"webkit moz ms","column-width":"webkit moz ms",hyphens:"epub moz","line-break":"webkit ms","margin-end":"webkit moz","margin-start":"webkit moz","marquee-speed":"webkit wap","marquee-style":"webkit wap","padding-end":"webkit moz","padding-start":"webkit moz","tab-size":"moz o","text-size-adjust":"webkit ms",transform:"webkit moz ms o","transform-origin":"webkit moz ms o",transition:"webkit moz o","transition-delay":"webkit moz o","transition-duration":"webkit moz o","transition-property":"webkit moz o","transition-timing-function":"webkit moz o","user-modify":"webkit moz","user-select":"webkit moz ms","word-break":"epub ms","writing-mode":"epub ms"};for(s in r)if(r.hasOwnProperty(s)){o=[],u=r[s].split(" ");for(a=0,f=u.length;a<f;a++)o.push("-"+u[a]+"-"+s);r[s]=o,c.apply(h,o)}e.addListener("startrule",function(){i=[]}),e.addListener("startkeyframes",function(e){l=e.prefix||!0}),e.addListener("endkeyframes",function(e){l=!1}),e.addListener("property",function(e){var t=e.property;CSSLint.Util.indexOf(h,t.text)>-1&&(!l||typeof l!="string"||t.text.indexOf("-"+l+"-")!==0)&&i.push(t)}),e.addListener("endrule",function(e){if(!i.length)return;var s={},o,u,a,f,l,c,h,p,d,v;for(o=0,u=i.length;o<u;o++){a=i[o];for(f in r)r.hasOwnProperty(f)&&(l=r[f],CSSLint.Util.indexOf(l,a.text)>-1&&(s[f]||(s[f]={full:l.slice(0),actual:[],actualNodes:[]}),CSSLint.Util.indexOf(s[f].actual,a.text)===-1&&(s[f].actual.push(a.text),s[f].actualNodes.push(a))))}for(f in s)if(s.hasOwnProperty(f)){c=s[f],h=c.full,p=c.actual;if(h.length>p.length)for(o=0,u=h.length;o<u;o++)d=h[o],CSSLint.Util.indexOf(p,d)===-1&&(v=p.length===1?p[0]:p.length==2?p.join(" and "):p.join(", "),t.report("The property "+d+" is compatible with "+v+" and should be included as well.",c.actualNodes[0].line,c.actualNodes[0].col,n))}})}}),CSSLint.addRule({id:"display-property-grouping",name:"Require properties appropriate for display",desc:"Certain properties shouldn't be used with certain display property values.",browsers:"All",init:function(e,t){function n(e,n,r){u[e]&&(typeof o[e]!="string"||u[e].value.toLowerCase()!=o[e])&&t.report(r||e+" can't be used with display: "+n+".",u[e].line,u[e].col,s)}function r(){u={}}function i(){var e=u.display?u.display.value:null;if(e)switch(e){case"inline":n("height",e),n("width",e),n("margin",e),n("margin-top",e),n("margin-bottom",e),n("float",e,"display:inline has no effect on floated elements (but may be used to fix the IE6 double-margin bug).");break;case"block":n("vertical-align",e);break;case"inline-block":n("float",e);break;default:e.indexOf("table-")===0&&(n("margin",e),n("margin-left",e),n("margin-right",e),n("margin-top",e),n("margin-bottom",e),n("float",e))}}var s=this,o={display:1,"float":"none",height:1,width:1,margin:1,"margin-left":1,"margin-right":1,"margin-bottom":1,"margin-top":1,padding:1,"padding-left":1,"padding-right":1,"padding-bottom":1,"padding-top":1,"vertical-align":1},u;e.addListener("startrule",r),e.addListener("startfontface",r),e.addListener("startkeyframerule",r),e.addListener("startpagemargin",r),e.addListener("startpage",r),e.addListener("property",function(e){var t=e.property.text.toLowerCase();o[t]&&(u[t]={value:e.value.text,line:e.property.line,col:e.property.col})}),e.addListener("endrule",i),e.addListener("endfontface",i),e.addListener("endkeyframerule",i),e.addListener("endpagemargin",i),e.addListener("endpage",i)}}),CSSLint.addRule({id:"duplicate-background-images",name:"Disallow duplicate background images",desc:"Every background-image should be unique. Use a common class for e.g. sprites.",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("property",function(e){var i=e.property.text,s=e.value,o,u;if(i.match(/background/i))for(o=0,u=s.parts.length;o<u;o++)s.parts[o].type=="uri"&&(typeof r[s.parts[o].uri]=="undefined"?r[s.parts[o].uri]=e:t.report("Background image '"+s.parts[o].uri+"' was used multiple times, first declared at line "+r[s.parts[o].uri].line+", col "+r[s.parts[o].uri].col+".",e.line,e.col,n))})}}),CSSLint.addRule({id:"duplicate-properties",name:"Disallow duplicate properties",desc:"Duplicate properties must appear one after the other.",browsers:"All",init:function(e,t){function n(e){i={}}var r=this,i,s;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("property",function(e){var n=e.property,o=n.text.toLowerCase();i[o]&&(s!=o||i[o]==e.value.text)&&t.report("Duplicate property '"+e.property+"' found.",e.line,e.col,r),i[o]=e.value.text,s=o})}}),CSSLint.addRule({id:"empty-rules",name:"Disallow empty rules",desc:"Rules without any properties specified should be removed.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r=0}),e.addListener("property",function(){r++}),e.addListener("endrule",function(e){var i=e.selectors;r===0&&t.report("Rule is empty.",i[0].line,i[0].col,n)})}}),CSSLint.addRule({id:"errors",name:"Parsing Errors",desc:"This rule looks for recoverable syntax errors.",browsers:"All",init:function(e,t){var n=this;e.addListener("error",function(e){t.error(e.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"fallback-colors",name:"Require fallback colors",desc:"For older browsers that don't support RGBA, HSL, or HSLA, provide a fallback color.",browsers:"IE6,IE7,IE8",init:function(e,t){function n(e){o={},i=null}var r=this,i,s={color:1,background:1,"border-color":1,"border-top-color":1,"border-right-color":1,"border-bottom-color":1,"border-left-color":1,border:1,"border-top":1,"border-right":1,"border-bottom":1,"border-left":1,"background-color":1},o;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("property",function(e){var n=e.property,o=n.text.toLowerCase(),u=e.value.parts,a=0,f="",l=u.length;if(s[o])while(a<l)u[a].type=="color"&&("alpha"in u[a]||"hue"in u[a]?(/([^\)]+)\(/.test(u[a])&&(f=RegExp.$1.toUpperCase()),(!i||i.property.text.toLowerCase()!=o||i.colorType!="compat")&&t.report("Fallback "+o+" (hex or RGB) should precede "+f+" "+o+".",e.line,e.col,r)):e.colorType="compat"),a++;i=e})}}),CSSLint.addRule({id:"floats",name:"Disallow too many floats",desc:"This rule tests if the float property is used too many times",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property.text.toLowerCase()=="float"&&e.value.text.toLowerCase()!="none"&&r++}),e.addListener("endstylesheet",function(){t.stat("floats",r),r>=10&&t.rollupWarn("Too many floats ("+r+"), you're probably using them for layout. Consider using a grid system instead.",n)})}}),CSSLint.addRule({id:"font-faces",name:"Don't use too many web fonts",desc:"Too many different web fonts in the same stylesheet.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startfontface",function(){r++}),e.addListener("endstylesheet",function(){r>5&&t.rollupWarn("Too many @font-face declarations ("+r+").",n)})}}),CSSLint.addRule({id:"font-sizes",name:"Disallow too many font sizes",desc:"Checks the number of font-size declarations.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property=="font-size"&&r++}),e.addListener("endstylesheet",function(){t.stat("font-sizes",r),r>=10&&t.rollupWarn("Too many font-size declarations ("+r+"), abstraction needed.",n)})}}),CSSLint.addRule({id:"gradients",name:"Require all gradient definitions",desc:"When using a vendor-prefixed gradient, make sure to use them all.",browsers:"All",init:function(e,t){var n=this,r;e.addListener("startrule",function(){r={moz:0,webkit:0,oldWebkit:0,o:0}}),e.addListener("property",function(e){/\-(moz|o|webkit)(?:\-(?:linear|radial))\-gradient/i.test(e.value)?r[RegExp.$1]=1:/\-webkit\-gradient/i.test(e.value)&&(r.oldWebkit=1)}),e.addListener("endrule",function(e){var i=[];r.moz||i.push("Firefox 3.6+"),r.webkit||i.push("Webkit (Safari 5+, Chrome)"),r.oldWebkit||i.push("Old Webkit (Safari 4+, Chrome)"),r.o||i.push("Opera 11.1+"),i.length&&i.length<4&&t.report("Missing vendor-prefixed CSS gradients for "+i.join(", ")+".",e.selectors[0].line,e.selectors[0].col,n)})}}),CSSLint.addRule({id:"ids",name:"Disallow IDs in selectors",desc:"Selectors should not contain IDs.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f],a=0;for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type==e.SELECTOR_PART_TYPE)for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type=="id"&&a++}a==1?t.report("Don't use IDs in selectors.",s.line,s.col,n):a>1&&t.report(a+" IDs in the selector, really?",s.line,s.col,n)}})}}),CSSLint.addRule({id:"import",name:"Disallow @import",desc:"Don't use @import, use <link> instead.",browsers:"All",init:function(e,t){var n=this;e.addListener("import",function(e){t.report("@import prevents parallel downloads, use <link> instead.",e.line,e.col,n)})}}),CSSLint.addRule({id:"important",name:"Disallow !important",desc:"Be careful when using !important declaration",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.important===!0&&(r++,t.report("Use of !important",e.line,e.col,n))}),e.addListener("endstylesheet",function(){t.stat("important",r),r>=10&&t.rollupWarn("Too many !important declarations ("+r+"), try to use less than 10 to avoid specificity issues.",n)})}}),CSSLint.addRule({id:"known-properties",name:"Require use of known properties",desc:"Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property.text.toLowerCase();e.invalid&&t.report(e.invalid.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"outline-none",name:"Disallow outline: none",desc:"Use of outline: none or outline: 0 should be limited to :focus rules.",browsers:"All",tags:["Accessibility"],init:function(e,t){function n(e){e.selectors?s={line:e.line,col:e.col,selectors:e.selectors,propCount:0,outline:!1}:s=null}function r(e){s&&s.outline&&(s.selectors.toString().toLowerCase().indexOf(":focus")==-1?t.report("Outlines should only be modified using :focus.",s.line,s.col,i):s.propCount==1&&t.report("Outlines shouldn't be hidden unless other visual changes are made.",s.line,s.col,i))}var i=this,s;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("property",function(e){var t=e.property.text.toLowerCase(),n=e.value;s&&(s.propCount++,t=="outline"&&(n=="none"||n=="0")&&(s.outline=!0))}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r)}}),CSSLint.addRule({id:"overqualified-elements",name:"Disallow overqualified elements",desc:"Don't use classes or IDs with elements (a.foo or a#foo).",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("startrule",function(i){var s=i.selectors,o,u,a,f,l,c;for(f=0;f<s.length;f++){o=s[f];for(l=0;l<o.parts.length;l++){u=o.parts[l];if(u.type==e.SELECTOR_PART_TYPE)for(c=0;c<u.modifiers.length;c++)a=u.modifiers[c],u.elementName&&a.type=="id"?t.report("Element ("+u+") is overqualified, just use "+a+" without element name.",u.line,u.col,n):a.type=="class"&&(r[a]||(r[a]=[]),r[a].push({modifier:a,part:u}))}}}),e.addListener("endstylesheet",function(){var e;for(e in r)r.hasOwnProperty(e)&&r[e].length==1&&r[e][0].part.elementName&&t.report("Element ("+r[e][0].part+") is overqualified, just use "+r[e][0].modifier+" without element name.",r[e][0].part.line,r[e][0].part.col,n)})}}),CSSLint.addRule({id:"qualified-headings",name:"Disallow qualified headings",desc:"Headings should not be qualified (namespaced).",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a;for(u=0;u<i.length;u++){s=i[u];for(a=0;a<s.parts.length;a++)o=s.parts[a],o.type==e.SELECTOR_PART_TYPE&&o.elementName&&/h[1-6]/.test(o.elementName.toString())&&a>0&&t.report("Heading ("+o.elementName+") should not be qualified.",o.line,o.col,n)}})}}),CSSLint.addRule({id:"regex-selectors",name:"Disallow selectors that look like regexs",desc:"Selectors that look like regular expressions are slow and should be avoided.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l;for(a=0;a<i.length;a++){s=i[a];for(f=0;f<s.parts.length;f++){o=s.parts[f];if(o.type==e.SELECTOR_PART_TYPE)for(l=0;l<o.modifiers.length;l++)u=o.modifiers[l],u.type=="attribute"&&/([\~\|\^\$\*]=)/.test(u)&&t.report("Attribute selectors with "+RegExp.$1+" are slow!",u.line,u.col,n)}}})}}),CSSLint.addRule({id:"rules-count",name:"Rules Count",desc:"Track how many rules there are.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r++}),e.addListener("endstylesheet",function(){t.stat("rule-count",r)})}}),CSSLint.addRule({id:"selector-max-approaching",name:"Warn when approaching the 4095 selector limit for IE",desc:"Will warn when selector count is >= 3800 selectors.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){r>=3800&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),CSSLint.addRule({id:"selector-max",name:"Error when past the 4095 selector limit for IE",desc:"Will error when selector count is > 4095.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){r>4095&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),CSSLint.addRule({id:"shorthand",name:"Require shorthand properties",desc:"Use shorthand properties where possible.",browsers:"All",init:function(e,t){function n(e){f={}}function r(e){var n,r,s,o;for(n in l)if(l.hasOwnProperty(n)){o=0;for(r=0,s=l[n].length;r<s;r++)o+=f[l[n][r]]?1:0;o==l[n].length&&t.report("The properties "+l[n].join(", ")+" can be replaced by "+n+".",e.line,e.col,i)}}var i=this,s,o,u,a={},f,l={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"]};for(s in l)if(l.hasOwnProperty(s))for(o=0,u=l[s].length;o<u;o++)a[l[s][o]]=s;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value.parts[0].value;a[t]&&(f[t]=1)}),e.addListener("endrule",r),e.addListener("endfontface",r)}}),CSSLint.addRule({id:"star-property-hack",name:"Disallow properties with a star prefix",desc:"Checks for the star property hack (targets IE6/7)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack=="*"&&t.report("Property with star prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"text-indent",name:"Disallow negative text-indent",desc:"Checks for text indent less than -99px",browsers:"All",init:function(e,t){function n(e){s=!1,o="inherit"}function r(e){s&&o!="ltr"&&t.report("Negative text-indent doesn't work well with RTL. If you use text-indent for image replacement explicitly set direction for that item to ltr.",s.line,s.col,i)}var i=this,s,o;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value;t=="text-indent"&&n.parts[0].value<-99?s=e.property:t=="direction"&&n=="ltr"&&(o="ltr")}),e.addListener("endrule",r),e.addListener("endfontface",r)}}),CSSLint.addRule({id:"underscore-property-hack",name:"Disallow properties with an underscore prefix",desc:"Checks for the underscore property hack (targets IE6)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack=="_"&&t.report("Property with underscore prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"unique-headings",name:"Headings should only be defined once",desc:"Headings should be defined only once.",browsers:"All",init:function(e,t){var n=this,r={h1:0,h2:0,h3:0,h4:0,h5:0,h6:0};e.addListener("startrule",function(e){var i=e.selectors,s,o,u,a,f;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.elementName&&/(h[1-6])/i.test(o.elementName.toString())){for(f=0;f<o.modifiers.length;f++)if(o.modifiers[f].type=="pseudo"){u=!0;break}u||(r[RegExp.$1]++,r[RegExp.$1]>1&&t.report("Heading ("+o.elementName+") has already been defined.",o.line,o.col,n))}}}),e.addListener("endstylesheet",function(e){var i,s=[];for(i in r)r.hasOwnProperty(i)&&r[i]>1&&s.push(r[i]+" "+i+"s");s.length&&t.rollupWarn("You have "+s.join(", ")+" defined in this stylesheet.",n)})}}),CSSLint.addRule({id:"universal-selector",name:"Disallow universal selector",desc:"The universal selector (*) is known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(e){var r=e.selectors,i,s,o,u,a,f;for(u=0;u<r.length;u++)i=r[u],s=i.parts[i.parts.length-1],s.elementName=="*"&&t.report(n.desc,s.line,s.col,n)})}}),CSSLint.addRule({id:"unqualified-attributes",name:"Disallow unqualified attribute selectors",desc:"Unqualified attribute selectors are known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.type==e.SELECTOR_PART_TYPE)for(l=0;l<o.modifiers.length;l++)u=o.modifiers[l],u.type=="attribute"&&(!o.elementName||o.elementName=="*")&&t.report(n.desc,o.line,o.col,n)}})}}),CSSLint.addRule({id:"vendor-prefix",name:"Require standard property with vendor prefix",desc:"When using a vendor-prefixed property, make sure to include the standard one.",browsers:"All",init:function(e,t){function n(){s={},o=1}function r(e){var n,r,o,a,f,l,c=[];for(n in s)u[n]&&c.push({actual:n,needed:u[n]});for(r=0,o=c.length;r<o;r++)f=c[r].needed,l=c[r].actual,s[f]?s[f][0].pos<s[l][0].pos&&t.report("Standard property '"+f+"' should come after vendor-prefixed property '"+l+"'.",s[l][0].name.line,s[l][0].name.col,i):t.report("Missing standard property '"+f+"' to go along with '"+l+"'.",s[l][0].name.line,s[l][0].name.col,i)}var i=this,s,o,u={"-webkit-border-radius":"border-radius","-webkit-border-top-left-radius":"border-top-left-radius","-webkit-border-top-right-radius":"border-top-right-radius","-webkit-border-bottom-left-radius":"border-bottom-left-radius","-webkit-border-bottom-right-radius":"border-bottom-right-radius","-o-border-radius":"border-radius","-o-border-top-left-radius":"border-top-left-radius","-o-border-top-right-radius":"border-top-right-radius","-o-border-bottom-left-radius":"border-bottom-left-radius","-o-border-bottom-right-radius":"border-bottom-right-radius","-moz-border-radius":"border-radius","-moz-border-radius-topleft":"border-top-left-radius","-moz-border-radius-topright":"border-top-right-radius","-moz-border-radius-bottomleft":"border-bottom-left-radius","-moz-border-radius-bottomright":"border-bottom-right-radius","-moz-column-count":"column-count","-webkit-column-count":"column-count","-moz-column-gap":"column-gap","-webkit-column-gap":"column-gap","-moz-column-rule":"column-rule","-webkit-column-rule":"column-rule","-moz-column-rule-style":"column-rule-style","-webkit-column-rule-style":"column-rule-style","-moz-column-rule-color":"column-rule-color","-webkit-column-rule-color":"column-rule-color","-moz-column-rule-width":"column-rule-width","-webkit-column-rule-width":"column-rule-width","-moz-column-width":"column-width","-webkit-column-width":"column-width","-webkit-column-span":"column-span","-webkit-columns":"columns","-moz-box-shadow":"box-shadow","-webkit-box-shadow":"box-shadow","-moz-transform":"transform","-webkit-transform":"transform","-o-transform":"transform","-ms-transform":"transform","-moz-transform-origin":"transform-origin","-webkit-transform-origin":"transform-origin","-o-transform-origin":"transform-origin","-ms-transform-origin":"transform-origin","-moz-box-sizing":"box-sizing","-webkit-box-sizing":"box-sizing","-moz-user-select":"user-select","-khtml-user-select":"user-select","-webkit-user-select":"user-select"};e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("property",function(e){var t=e.property.text.toLowerCase();s[t]||(s[t]=[]),s[t].push({name:e.property,value:e.value,pos:o++})}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r)}}),CSSLint.addRule({id:"zero-units",name:"Disallow units for 0 values",desc:"You don't need to specify units when a value is 0.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.value.parts,i=0,s=r.length;while(i<s)(r[i].units||r[i].type=="percentage")&&r[i].value===0&&r[i].type!="time"&&t.report("Values of 0 shouldn't have units specified.",r[i].line,r[i].col,n),i++})}}),function(){var e=function(e){return!e||e.constructor!==String?"":e.replace(/[\"&><]/g,function(e){switch(e){case'"':return"&quot;";case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;"}})};CSSLint.addFormatter({id:"checkstyle-xml",name:"Checkstyle XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><checkstyle>'},endFormat:function(){return"</checkstyle>"},readError:function(t,n){return'<file name="'+e(t)+'"><error line="0" column="0" severty="error" message="'+e(n)+'"></error></file>'},formatResults:function(t,n,r){var i=t.messages,s=[],o=function(e){return!!e&&"name"in e?"net.csslint."+e.name.replace(/\s/g,""):""};return i.length>0&&(s.push('<file name="'+n+'">'),CSSLint.Util.forEach(i,function(t,n){t.rollup||s.push('<error line="'+t.line+'" column="'+t.col+'" severity="'+t.type+'"'+' message="'+e(t.message)+'" source="'+o(t.rule)+'"/>')}),s.push("</file>")),s.join("")}})}(),CSSLint.addFormatter({id:"compact",name:"Compact, 'porcelain' format",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){var r=e.messages,i="";n=n||{};var s=function(e){return e.charAt(0).toUpperCase()+e.slice(1)};return r.length===0?n.quiet?"":t+": Lint Free!":(CSSLint.Util.forEach(r,function(e,n){e.rollup?i+=t+": "+s(e.type)+" - "+e.message+"\n":i+=t+": "+"line "+e.line+", col "+e.col+", "+s(e.type)+" - "+e.message+"\n"}),i)}}),CSSLint.addFormatter({id:"csslint-xml",name:"CSSLint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><csslint>'},endFormat:function(){return"</csslint>"},formatResults:function(e,t,n){var r=e.messages,i=[],s=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return r.length>0&&(i.push('<file name="'+t+'">'),CSSLint.Util.forEach(r,function(e,t){e.rollup?i.push('<issue severity="'+e.type+'" reason="'+s(e.message)+'" evidence="'+s(e.evidence)+'"/>'):i.push('<issue line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'"'+' reason="'+s(e.message)+'" evidence="'+s(e.evidence)+'"/>')}),i.push("</file>")),i.join("")}}),CSSLint.addFormatter({id:"junit-xml",name:"JUNIT XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><testsuites>'},endFormat:function(){return"</testsuites>"},formatResults:function(e,t,n){var r=e.messages,i=[],s={error:0,failure:0},o=function(e){return!!e&&"name"in e?"net.csslint."+e.name.replace(/\s/g,""):""},u=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return r.length>0&&(r.forEach(function(e,t){var n=e.type==="warning"?"error":e.type;e.rollup||(i.push('<testcase time="0" name="'+o(e.rule)+'">'),i.push("<"+n+' message="'+u(e.message)+'"><![CDATA['+e.line+":"+e.col+":"+u(e.evidence)+"]]></"+n+">"),i.push("</testcase>"),s[n]+=1)}),i.unshift('<testsuite time="0" tests="'+r.length+'" skipped="0" errors="'+s.error+'" failures="'+s.failure+'" package="net.csslint" name="'+t+'">'),i.push("</testsuite>")),i.join("")}}),CSSLint.addFormatter({id:"lint-xml",name:"Lint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><lint>'},endFormat:function(){return"</lint>"},formatResults:function(e,t,n){var r=e.messages,i=[],s=function(e){return!e||e.constructor!==String?"":e.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};return r.length>0&&(i.push('<file name="'+t+'">'),CSSLint.Util.forEach(r,function(e,t){e.rollup?i.push('<issue severity="'+e.type+'" reason="'+s(e.message)+'" evidence="'+s(e.evidence)+'"/>'):i.push('<issue line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'"'+' reason="'+s(e.message)+'" evidence="'+s(e.evidence)+'"/>')}),i.push("</file>")),i.join("")}}),CSSLint.addFormatter({id:"text",name:"Plain Text",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){var r=e.messages,i="";n=n||{};if(r.length===0)return n.quiet?"":"\n\ncsslint: No errors in "+t+".";i="\n\ncsslint: There are "+r.length+" problems in "+t+".";var s=t.lastIndexOf("/"),o=t;return s===-1&&(s=t.lastIndexOf("\\")),s>-1&&(o=t.substring(s+1)),CSSLint.Util.forEach(r,function(e,t){i=i+"\n\n"+o,e.rollup?(i+="\n"+(t+1)+": "+e.type,i+="\n"+e.message):(i+="\n"+(t+1)+": "+e.type+" at line "+e.line+", col "+e.col,i+="\n"+e.message,i+="\n"+e.evidence)}),i}}),exports.CSSLint=CSSLint})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(require,exports,module){function startRegex(e){return RegExp("^("+e.join("|")+")")}var oop=require("../lib/oop"),Mirror=require("../worker/mirror").Mirror,lint=require("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable '(.+)'.",'Missing "use strict"']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\{a\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\['{a}'\\] is better written in dot notation.","'{a}' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(e){Mirror.call(this,e),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(e){this.options=e||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(e){oop.mixin(this.options,e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(e===0)return!0}return!1},this.onUpdate=function(){var e=this.doc.getValue();e=e.replace(/^#!.*\n/,"\n");if(!e){this.sender.emit("jslint",[]);return}var t=[],n=this.isValidJS(e)?"warning":"error";lint(e,this.options);var r=lint.errors,i=!1;for(var s=0;s<r.length;s++){var o=r[s];if(!o)continue;var u=o.raw,a="warning";if(u=="Missing semicolon."){var f=o.evidence.substr(o.character);f=f.charAt(f.search(/\S/)),n=="error"&&f&&/[\w\d{(['"]/.test(f)?(o.reason='Missing ";" before statement',a="error"):a="info"}else{if(disabledWarningsRe.test(u))continue;infoRe.test(u)?a="info":errorsRe.test(u)?(i=!0,a=n):u=="'{a}' is not defined."?a="warning":u=="'{a}' is defined but never used."&&(a="info")}t.push({row:o.line-1,column:o.character-1,text:o.reason,type:a,raw:u}),i}this.sender.emit("jslint",t)}}.call(JavaScriptWorker.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/javascript/jshint",["require","exports","module"],function(e,t,n){function r(){return e.apply(this,arguments)}e=null,e=function i(t,n,r){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,i,t,n,r)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<r.length;u++)s(r[u]);return s}({9:[function(e,t,n){function r(){}["log","info","warn","error","time","timeEnd","trace","dir","assert"].forEach(function(e){n[e]=r})},{}],1:[function(e,t,n){(function(){var e=this,r=e._,i={},s=Array.prototype,o=Object.prototype,u=Function.prototype,a=s.push,f=s.slice,l=s.concat,c=o.toString,h=o.hasOwnProperty,p=s.forEach,d=s.map,v=s.reduce,m=s.reduceRight,g=s.filter,y=s.every,b=s.some,w=s.indexOf,E=s.lastIndexOf,S=Array.isArray,x=Object.keys,T=u.bind,N=function(e){if(e instanceof N)return e;if(!(this instanceof N))return new N(e);this._wrapped=e};typeof n!="undefined"?(typeof t!="undefined"&&t.exports&&(n=t.exports=N),n._=N):e._=N,N.VERSION="1.4.4";var C=N.each=N.forEach=function(e,t,n){if(e==null)return;if(p&&e.forEach===p)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,s=e.length;r<s;r++)if(t.call(n,e[r],r,e)===i)return}else for(var o in e)if(N.has(e,o)&&t.call(n,e[o],o,e)===i)return};N.map=N.collect=function(e,t,n){var r=[];return e==null?r:d&&e.map===d?e.map(t,n):(C(e,function(e,i,s){r[r.length]=t.call(n,e,i,s)}),r)};var k="Reduce of empty array with no initial value";N.reduce=N.foldl=N.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(v&&e.reduce===v)return r&&(t=N.bind(t,r)),i?e.reduce(t,n):e.reduce(t);C(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError(k);return n},N.reduceRight=N.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(m&&e.reduceRight===m)return r&&(t=N.bind(t,r)),i?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=N.keys(e);s=o.length}C(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError(k);return n},N.find=N.detect=function(e,t,n){var r;return L(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},N.filter=N.select=function(e,t,n){var r=[];return e==null?r:g&&e.filter===g?e.filter(t,n):(C(e,function(e,i,s){t.call(n,e,i,s)&&(r[r.length]=e)}),r)},N.reject=function(e,t,n){return N.filter(e,function(e,r,i){return!t.call(n,e,r,i)},n)},N.every=N.all=function(e,t,n){t||(t=N.identity);var r=!0;return e==null?r:y&&e.every===y?e.every(t,n):(C(e,function(e,s,o){if(!(r=r&&t.call(n,e,s,o)))return i}),!!r)};var L=N.some=N.any=function(e,t,n){t||(t=N.identity);var r=!1;return e==null?r:b&&e.some===b?e.some(t,n):(C(e,function(e,s,o){if(r||(r=t.call(n,e,s,o)))return i}),!!r)};N.contains=N.include=function(e,t){return e==null?!1:w&&e.indexOf===w?e.indexOf(t)!=-1:L(e,function(e){return e===t})},N.invoke=function(e,t){var n=f.call(arguments,2),r=N.isFunction(t);return N.map(e,function(e){return(r?t:e[t]).apply(e,n)})},N.pluck=function(e,t){return N.map(e,function(e){return e[t]})},N.where=function(e,t,n){return N.isEmpty(t)?n?null:[]:N[n?"find":"filter"](e,function(e){for(var n in t)if(t[n]!==e[n])return!1;return!0})},N.findWhere=function(e,t){return N.where(e,t,!0)},N.max=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!t&&N.isEmpty(e))return-Infinity;var r={computed:-Infinity,value:-Infinity};return C(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o>=r.computed&&(r={value:e,computed:o})}),r.value},N.min=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!t&&N.isEmpty(e))return Infinity;var r={computed:Infinity,value:Infinity};return C(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o<r.computed&&(r={value:e,computed:o})}),r.value},N.shuffle=function(e){var t,n=0,r=[];return C(e,function(e){t=N.random(n++),r[n-1]=r[t],r[t]=e}),r};var A=function(e){return N.isFunction(e)?e:function(t){return t[e]}};N.sortBy=function(e,t,n){var r=A(t);return N.pluck(N.map(e,function(e,t,i){return{value:e,index:t,criteria:r.call(n,e,t,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index<t.index?-1:1}),"value")};var O=function(e,t,n,r){var i={},s=A(t||N.identity);return C(e,function(t,o){var u=s.call(n,t,o,e);r(i,u,t)}),i};N.groupBy=function(e,t,n){return O(e,t,n,function(e,t,n){(N.has(e,t)?e[t]:e[t]=[]).push(n)})},N.countBy=function(e,t,n){return O(e,t,n,function(e,t){N.has(e,t)||(e[t]=0),e[t]++})},N.sortedIndex=function(e,t,n,r){n=n==null?N.identity:A(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},N.toArray=function(e){return e?N.isArray(e)?f.call(e):e.length===+e.length?N.map(e,N.identity):N.values(e):[]},N.size=function(e){return e==null?0:e.length===+e.length?e.length:N.keys(e).length},N.first=N.head=N.take=function(e,t,n){return e==null?void 0:t!=null&&!n?f.call(e,0,t):e[0]},N.initial=function(e,t,n){return f.call(e,0,e.length-(t==null||n?1:t))},N.last=function(e,t,n){return e==null?void 0:t!=null&&!n?f.call(e,Math.max(e.length-t,0)):e[e.length-1]},N.rest=N.tail=N.drop=function(e,t,n){return f.call(e,t==null||n?1:t)},N.compact=function(e){return N.filter(e,N.identity)};var M=function(e,t,n){return C(e,function(e){N.isArray(e)?t?a.apply(n,e):M(e,t,n):n.push(e)}),n};N.flatten=function(e,t){return M(e,t,[])},N.without=function(e){return N.difference(e,f.call(arguments,1))},N.uniq=N.unique=function(e,t,n,r){N.isFunction(t)&&(r=n,n=t,t=!1);var i=n?N.map(e,n,r):e,s=[],o=[];return C(i,function(n,r){if(t?!r||o[o.length-1]!==n:!N.contains(o,n))o.push(n),s.push(e[r])}),s},N.union=function(){return N.uniq(l.apply(s,arguments))},N.intersection=function(e){var t=f.call(arguments,1);return N.filter(N.uniq(e),function(e){return N.every(t,function(t){return N.indexOf(t,e)>=0})})},N.difference=function(e){var t=l.apply(s,f.call(arguments,1));return N.filter(e,function(e){return!N.contains(t,e)})},N.zip=function(){var e=f.call(arguments),t=N.max(N.pluck(e,"length")),n=new Array(t);for(var r=0;r<t;r++)n[r]=N.pluck(e,""+r);return n},N.object=function(e,t){if(e==null)return{};var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},N.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=N.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(w&&e.indexOf===w)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},N.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(E&&e.lastIndexOf===E)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},N.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s},N.bind=function(e,t){if(e.bind===T&&T)return T.apply(e,f.call(arguments,1));var n=f.call(arguments,2);return function(){return e.apply(t,n.concat(f.call(arguments)))}},N.partial=function(e){var t=f.call(arguments,1);return function(){return e.apply(this,t.concat(f.call(arguments)))}},N.bindAll=function(e){var t=f.call(arguments,1);return t.length===0&&(t=N.functions(e)),C(t,function(t){e[t]=N.bind(e[t],e)}),e},N.memoize=function(e,t){var n={};return t||(t=N.identity),function(){var r=t.apply(this,arguments);return N.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},N.delay=function(e,t){var n=f.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},N.defer=function(e){return N.delay.apply(N,[e,1].concat(f.call(arguments,1)))},N.throttle=function(e,t){var n,r,i,s,o=0,u=function(){o=new Date,i=null,s=e.apply(n,r)};return function(){var a=new Date,f=t-(a-o);return n=this,r=arguments,f<=0?(clearTimeout(i),i=null,o=a,s=e.apply(n,r)):i||(i=setTimeout(u,f)),s}},N.debounce=function(e,t,n){var r,i;return function(){var s=this,o=arguments,u=function(){r=null,n||(i=e.apply(s,o))},a=n&&!r;return clearTimeout(r),r=setTimeout(u,t),a&&(i=e.apply(s,o)),i}},N.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},N.wrap=function(e,t){return function(){var n=[e];return a.apply(n,arguments),t.apply(this,n)}},N.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},N.after=function(e,t){return e<=0?t():function(){if(--e<1)return t.apply(this,arguments)}},N.keys=x||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)N.has(e,n)&&(t[t.length]=n);return t},N.values=function(e){var t=[];for(var n in e)N.has(e,n)&&t.push(e[n]);return t},N.pairs=function(e){var t=[];for(var n in e)N.has(e,n)&&t.push([n,e[n]]);return t},N.invert=function(e){var t={};for(var n in e)N.has(e,n)&&(t[e[n]]=n);return t},N.functions=N.methods=function(e){var t=[];for(var n in e)N.isFunction(e[n])&&t.push(n);return t.sort()},N.extend=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},N.pick=function(e){var t={},n=l.apply(s,f.call(arguments,1));return C(n,function(n){n in e&&(t[n]=e[n])}),t},N.omit=function(e){var t={},n=l.apply(s,f.call(arguments,1));for(var r in e)N.contains(n,r)||(t[r]=e[r]);return t},N.defaults=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]==null&&(e[n]=t[n])}),e},N.clone=function(e){return N.isObject(e)?N.isArray(e)?e.slice():N.extend({},e):e},N.tap=function(e,t){return t(e),e};var _=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof N&&(e=e._wrapped),t instanceof N&&(t=t._wrapped);var i=c.call(e);if(i!=c.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;n.push(e),r.push(t);var o=0,u=!0;if(i=="[object Array]"){o=e.length,u=o==t.length;if(u)while(o--)if(!(u=_(e[o],t[o],n,r)))break}else{var a=e.constructor,f=t.constructor;if(a!==f&&!(N.isFunction(a)&&a instanceof a&&N.isFunction(f)&&f instanceof f))return!1;for(var l in e)if(N.has(e,l)){o++;if(!(u=N.has(t,l)&&_(e[l],t[l],n,r)))break}if(u){for(l in t)if(N.has(t,l)&&!(o--))break;u=!o}}return n.pop(),r.pop(),u};N.isEqual=function(e,t){return _(e,t,[],[])},N.isEmpty=function(e){if(e==null)return!0;if(N.isArray(e)||N.isString(e))return e.length===0;for(var t in e)if(N.has(e,t))return!1;return!0},N.isElement=function(e){return!!e&&e.nodeType===1},N.isArray=S||function(e){return c.call(e)=="[object Array]"},N.isObject=function(e){return e===Object(e)},C(["Arguments","Function","String","Number","Date","RegExp"],function(e){N["is"+e]=function(t){return c.call(t)=="[object "+e+"]"}}),N.isArguments(arguments)||(N.isArguments=function(e){return!!e&&!!N.has(e,"callee")}),typeof /./!="function"&&(N.isFunction=function(e){return typeof e=="function"}),N.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},N.isNaN=function(e){return N.isNumber(e)&&e!=+e},N.isBoolean=function(e){return e===!0||e===!1||c.call(e)=="[object Boolean]"},N.isNull=function(e){return e===null},N.isUndefined=function(e){return e===void 0},N.has=function(e,t){return h.call(e,t)},N.noConflict=function(){return e._=r,this},N.identity=function(e){return e},N.times=function(e,t,n){var r=Array(e);for(var i=0;i<e;i++)r[i]=t.call(n,i);return r},N.random=function(e,t){return t==null&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))};var D={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"}};D.unescape=N.invert(D.escape);var P={escape:new RegExp("["+N.keys(D.escape).join("")+"]","g"),unescape:new RegExp("("+N.keys(D.unescape).join("|")+")","g")};N.each(["escape","unescape"],function(e){N[e]=function(t){return t==null?"":(""+t).replace(P[e],function(t){return D[e][t]})}}),N.result=function(e,t){if(e==null)return null;var n=e[t];return N.isFunction(n)?n.call(e):n},N.mixin=function(e){C(N.functions(e),function(t){var n=N[t]=e[t];N.prototype[t]=function(){var e=[this._wrapped];return a.apply(e,arguments),I.call(this,n.apply(N,e))}})};var H=0;N.uniqueId=function(e){var t=++H+"";return e?e+t:t},N.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var B=/(.)^/,j={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},F=/\\|'|\r|\n|\t|\u2028|\u2029/g;N.template=function(e,t,n){var r;n=N.defaults({},n,N.templateSettings);var i=new RegExp([(n.escape||B).source,(n.interpolate||B).source,(n.evaluate||B).source].join("|")+"|$","g"),s=0,o="__p+='";e.replace(i,function(t,n,r,i,u){return o+=e.slice(s,u).replace(F,function(e){return"\\"+j[e]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(o+="';\n"+i+"\n__p+='"),s=u+t.length,t}),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(n.variable||"obj","_",o)}catch(u){throw u.source=o,u}if(t)return r(t,N);var a=function(e){return r.call(this,e,N)};return a.source="function("+(n.variable||"obj")+"){\n"+o+"}",a},N.chain=function(e){return N(e).chain()};var I=function(e){return this._chain?N(e).chain():e};N.mixin(N),C(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=s[e];N.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],I.call(this,n)}}),C(["concat","join","slice"],function(e){var t=s[e];N.prototype[e]=function(){return I.call(this,t.apply(this._wrapped,arguments))}}),N.extend(N.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}],2:[function(e,t,n){var r=e("underscore"),i={E001:"Bad option: '{a}'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:'Missing "use strict" statement.',E008:"Strict violation.",E009:"Option 'validthis' can't be used in a global scope.",E010:"'with' is not allowed in strict mode.",E011:"const '{a}' has already been declared.",E012:"const '{a}' is initialized to 'undefined'.",E013:"Attempting to override '{a}' which is a constant.",E014:"A regular expression literal can be confused with '/='.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched '{a}'.",E020:"Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",E021:"Expected '{a}' and instead saw '{b}'.",E022:"Line breaking error '{a}'.",E023:"Missing '{a}'.",E024:"Unexpected '{a}'.",E025:"Missing ':' on a case clause.",E026:"Missing '}' to match '{' from line {a}.",E027:"Missing ']' to match '[' form line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw '{a}'.",E031:"Bad assignment.",E032:"Expected a small integer or 'false' and instead saw '{a}'.",E033:"Expected an operator and instead saw '{a}'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:"'{a}' is already defined and can't be redefined.",E045:"Invalid for each loop.",E046:"A yield statement shall be within a generator function (with syntax: `function*`)",E047:"A generator function shall contain a yield statement.",E048:"Let declaration not directly within block.",E049:"A {a} cannot be named '{b}'.",E050:"Mozilla requires the yield expression to be parenthesized here.",E051:"Regular parameters cannot come after default parameters."},s={W001:"'hasOwnProperty' is a really bad name.",W002:"Value of '{a}' may be overwritten in IE 8 and earlier.",W003:"'{a}' was used before it was defined.",W004:"'{a}' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing pluses.",W008:"A leading decimal point can be confused with a dot: '{a}'.",W009:"The array literal notation [] is preferrable.",W010:"The object literal notation {} is preferrable.",W011:"Unexpected space after '{a}'.",W012:"Unexpected space before '{a}'.",W013:"Missing space after '{a}'.",W014:"Bad line breaking before '{a}'.",W015:"Expected '{a}' to have an indentation at {b} instead at {c}.",W016:"Unexpected use of '{a}'.",W017:"Bad operand.",W018:"Confusing use of '{a}'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"'{a}' is a function.",W022:"Do not assign to the exception parameter.",W023:"Expected an identifier in an assignment and instead saw a function invocation.",W024:"Expected an identifier and instead saw '{a}' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable '{a}' after '{b}'.",W028:"Label '{a}' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use 'new' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:'Unnecessary directive "{a}".',W035:"Empty block.",W036:"Unexpected /*member '{a}'.",W037:"'{a}' is a statement label.",W038:"'{a}' used out of scope.",W039:"'{a}' is not allowed.",W040:"Possible strict violation.",W041:"Use '{a}' to compare with '{b}'.",W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number '{a}'.",W046:"Don't use extra leading zeros '{a}'.",W047:"A trailing decimal point can be confused with a dot: '{a}'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character '{a}' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected '{a}'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is 'new' unnecessary?",W058:"Missing '()' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing 'new' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"['{a}'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function's cyclomatic complexity is too high. ({a})",W075:"Duplicate key '{a}'.",W076:"Unexpected parameter '{a}' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of '{a}'.",W080:"It's not necessary to initialize '{a}' to 'undefined'.",W081:"Too many var statements.",W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Don't make functions within a loop.",W084:"Assignment in conditional expression",W085:"Don't use 'with'.",W086:"Expected a 'break' statement before '{a}'.",W087:"Forgotten 'debugger' statement?",W088:"Creating global 'for' variable. Should be 'for (var {a} ...'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"'{a}' is not a statement label.",W091:"'{a}' is out of scope.",W092:"Wrap the /regexp/ literal in parens to disambiguate the slash operator.",W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The '{a}' key may produce unexpected results.",W097:'Use the function form of "use strict".',W098:"'{a}' is defined but never used.",W099:"Mixed spaces and tabs.",W100:"This character may get silently deleted by one or more browsers.",W101:"Line is too long.",W102:"Trailing whitespace.",W103:"The '{a}' property is deprecated.",W104:"'{a}' is only available in JavaScript 1.7.",W105:"Unexpected {a} in '{b}'.",W106:"Identifier '{a}' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected '{a}' and instead saw '{b}'.",W117:"'{a}' is not defined.",W118:"'{a}' is only available in Mozilla JavaScript extensions (use moz option).",W119:"'{a}' is only available in ES6 (use esnext option).",W120:"You might be leaking a variable ({a}) here."},o={I001:"Comma warnings can be turned off with 'laxcomma'.",I002:"Reserved words as properties can be used under the 'es5' option.",I003:"ES5 option is now set per default"};n.errors={},n.warnings={},n.info={},r.each(i,function(e,t){n.errors[t]={code:t,desc:e}}),r.each(s,function(e,t){n.warnings[t]={code:t,desc:e}}),r.each(o,function(e,t){n.info[t]={code:t,desc:e}})},{underscore:1}],3:[function(e,t,n){n.reservedVars={arguments:!1,NaN:!1},n.ecmaIdentifiers={Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,JSON:!1,Math:!1,Map:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,Set:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1,WeakMap:!1},n.browser={ArrayBuffer:!1,ArrayBufferView:!1,Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,CustomEvent:!1,DataView:!1,DOMParser:!1,defaultStatus:!1,document:!1,Element:!1,ElementTimeControl:!1,event:!1,FileReader:!1,Float32Array:!1,Float64Array:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Image:!1,length:!1,localStorage:!1,location:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,print:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,TimeEvent:!1,top:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,WebSocket:!1,window:!1,Worker:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},n.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},n.worker={importScripts:!0,postMessage:!0,self:!0},n.nonstandard={escape:!1,unescape:!1},n.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},n.node={__filename:!1,__dirname:!1,Buffer:!1,DataView:!1,console:!1,exports:!0,GLOBAL:!1,global:!1,module:!1,process:!1,require:!1,setTimeout:!1,clearTimeout:!1,setInterval:!1,clearInterval:!1,setImmediate:!1,clearImmediate:!1},n.phantom={phantom:!0,require:!0,WebPage:!0},n.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},n.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},n.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},n.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},n.jquery={$:!1,jQuery:!1},n.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,Iframe:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},n.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},n.yui={YUI:!1,Y:!1,YUI_config:!1}},{}],n4bKNg:[function(e,t,n){var r=e("underscore"),i=e("events"),s=e("../shared/vars.js"),o=e("../shared/messages.js"),u=e("./lex.js").Lexer,a=e("./reg.js"),f=e("./state.js").state,l=e("./style.js"),c=e("console-browserify"),h=function(){function e(e,t){return e=e.trim(),/^[+-]W\d{3}$/g.test(e)?!0:Ot[e]===undefined&&At[e]===undefined&&t.type!=="jslint"?(E("E001",t,e),!1):!0}function t(e){return Object.prototype.toString.call(e)==="[object String]"}function n(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}function c(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReservedWord&&f.option.inES5()){if(!t.es5)return!1;if(t.strictOnly&&!f.option.strict&&!f.directive["use strict"])return!1;if(e.isProperty)return!1}return!0}function p(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return typeof r=="string"||typeof r=="number"?r:e})}function d(e,t){var n;for(n in t)r.has(t,n)&&!r.has(h.blacklist,n)&&(e[n]=t[n])}function v(){Object.keys(h.blacklist).forEach(function(e){delete $t[e]})}function m(){f.option.couch&&d($t,s.couch),f.option.rhino&&d($t,s.rhino),f.option.shelljs&&(d($t,s.shelljs),d($t,s.node)),f.option.phantom&&d($t,s.phantom),f.option.prototypejs&&d($t,s.prototypejs),f.option.node&&d($t,s.node),f.option.devel&&d($t,s.devel),f.option.dojo&&d($t,s.dojo),f.option.browser&&d($t,s.browser),f.option.nonstandard&&d($t,s.nonstandard),f.option.jquery&&d($t,s.jquery),f.option.mootools&&d($t,s.mootools),f.option.worker&&d($t,s.worker),f.option.wsh&&d($t,s.wsh),f.option.globalstrict&&f.option.strict!==!1&&(f.option.strict=!0),f.option.yui&&d($t,s.yui),f.option.inMoz=function(e){return f.option.moz},f.option.inESNext=function(e){return f.option.moz||f.option.esnext},f.option.inES5=function(){return!f.option.es3},f.option.inES3=function(e){return e?!f.option.moz&&!f.option.esnext&&f.option.es3:f.option.es3}}function g(e,t,n){var r=Math.floor(t/f.lines.length*100),i=o.errors[e].desc;throw{name:"JSHintError",line:t,character:n,message:i+" ("+r+"% scanned).",raw:i,code:e}}function y(e,t,n,r){return h.undefs.push([e,t,n,r])}function b(e,t,n,r,i,s){var u,a,l,c;if(/^W\d{3}$/.test(e)){if(f.ignored[e])return;c=o.warnings[e]}else/E\d{3}/.test(e)?c=o.errors[e]:/I\d{3}/.test(e)&&(c=o.info[e]);return t=t||f.tokens.next,t.id==="(end)"&&(t=f.tokens.curr),a=t.line||0,u=t.from||0,l={id:"(error)",raw:c.desc,code:c.code,evidence:f.lines[a-1]||"",line:a,character:u,scope:h.scope,a:n,b:r,c:i,d:s},l.reason=p(c.desc,l),h.errors.push(l),f.option.passfail&&g("E042",a,u),Yt+=1,Yt>=f.option.maxerr&&g("E043",a,u),l}function w(e,t,n,r,i,s,o){return b(e,{line:t,from:n},r,i,s,o)}function E(e,t,n,r,i,s){b(e,t,n,r,i,s)}function S(e,t,n,r,i,s,o){return E(e,{line:t,from:n},r,i,s,o)}function x(e,t){var n;return n={id:"(internal)",elem:e,value:t},h.internals.push(n),n}function T(e,t,n,i){t==="exception"&&r.has(Bt["(context)"],e)&&Bt[e]!==!0&&!f.option.node&&b("W002",f.tokens.next,e),r.has(Bt,e)&&!Bt["(global)"]&&(Bt[e]===!0?f.option.latedef&&(f.option.latedef===!0&&r.contains([Bt[e],t],"unction")||!r.contains([Bt[e],t],"unction"))&&b("W003",f.tokens.next,e):(!f.option.shadow&&t!=="exception"||Bt["(blockscope)"].getlabel(e))&&b("W004",f.tokens.next,e)),Bt["(blockscope)"]&&Bt["(blockscope)"].current.has(e)&&E("E044",f.tokens.next,e),i?Bt["(blockscope)"].current.add(e,t,f.tokens.curr):(Bt[e]=t,n&&(Bt["(tokens)"][e]=n),Bt["(global)"]?(Ft[e]=Bt,r.has(It,e)&&(f.option.latedef&&(f.option.latedef===!0&&r.contains([Bt[e],t],"unction")||!r.contains([Bt[e],t],"unction"))&&b("W003",f.tokens.next,e),delete It[e])):Jt[e]=Bt)}function N(){var t=f.tokens.next,n=t.body.match(/(-\s+)?[^\s,]+(?:\s*:\s*(-\s+)?[^\s,]+)?/g),i={};if(t.type==="globals"){n.forEach(function(e){e=e.split(":");var t=(e[0]||"").trim(),n=(e[1]||"").trim();t.charAt(0)==="-"?(t=t.slice(1),n=!1,h.blacklist[t]=t,v()):i[t]=n==="true"}),d($t,i);for(var s in i)r.has(i,s)&&(Dt[s]=t)}t.type==="exported"&&n.forEach(function(e){Pt[e]=!0}),t.type==="members"&&(Xt=Xt||{},n.forEach(function(e){var t=e.charAt(0),n=e.charAt(e.length-1);t===n&&(t==='"'||t==="'")&&(e=e.substr(1,e.length-2).replace("\\b","\b").replace("\\t"," ").replace("\\n","\n").replace("\\v"," ").replace("\\f","\f").replace("\\r","\r").replace("\\\\","\\").replace('\\"','"')),Xt[e]=!1}));var o=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];if(t.type==="jshint"||t.type==="jslint")n.forEach(function(n){n=n.split(":");var r=(n[0]||"").trim(),i=(n[1]||"").trim();if(!e(r,t))return;if(o.indexOf(r)>=0){if(i!=="false"){i=+i;if(typeof i!="number"||!isFinite(i)||i<=0||Math.floor(i)!==i){E("E032",t,n[1].trim());return}r==="indent"&&(f.option["(explicitIndent)"]=!0),f.option[r]=i}else r==="indent"?f.option["(explicitIndent)"]=!1:f.option[r]=!1;return}if(r==="validthis"){Bt["(global)"]?E("E009"):i==="true"||i==="false"?f.option.validthis=i==="true":E("E002",t);return}if(r==="quotmark"){switch(i){case"true":case"false":f.option.quotmark=i==="true";break;case"double":case"single":f.option.quotmark=i;break;default:E("E002",t)}return}if(r==="unused"){switch(i){case"true":f.option.unused=!0;break;case"false":f.option.unused=!1;break;case"vars":case"strict":f.option.unused=i;break;default:E("E002",t)}return}if(r==="latedef"){switch(i){case"true":f.option.latedef=!0;break;case"false":f.option.latedef=!1;break;case"nofunc":f.option.latedef="nofunc";break;default:E("E002",t)}return}var s=/^([+-])(W\d{3})$/g.exec(r);if(s){f.ignored[s[2]]=s[1]==="-";return}var u;if(i==="true"||i==="false"){t.type==="jslint"?(u=_t[r]||r,f.option[u]=i==="true",Mt[u]!==undefined&&(f.option[u]=!f.option[u])):f.option[r]=i==="true",r==="newcap"&&(f.option["(explicitNewcap)"]=!0);return}E("E002",t)}),m()}function C(e){var t=e||0,n=0,r;while(n<=t)r=Ut[n],r||(r=Ut[n]=zt.token()),n+=1;return r}function k(e,t){switch(f.tokens.curr.id){case"(number)":f.tokens.next.id==="."&&b("W005",f.tokens.curr);break;case"-":(f.tokens.next.id==="-"||f.tokens.next.id==="--")&&b("W006");break;case"+":(f.tokens.next.id==="+"||f.tokens.next.id==="++")&&b("W007")}if(f.tokens.curr.type==="(string)"||f.tokens.curr.identifier)Ct=f.tokens.curr.value;e&&f.tokens.next.id!==e&&(t?f.tokens.next.id==="(end)"?E("E019",t,t.id):E("E020",f.tokens.next,e,t.id,t.line,f.tokens.next.value):(f.tokens.next.type!=="(identifier)"||f.tokens.next.value!==e)&&b("W116",f.tokens.next,e,f.tokens.next.value)),f.tokens.prev=f.tokens.curr,f.tokens.curr=f.tokens.next;for(;;){f.tokens.next=Ut.shift()||zt.token(),f.tokens.next||g("E041",f.tokens.curr.line);if(f.tokens.next.id==="(end)"||f.tokens.next.id==="(error)")return;f.tokens.next.check&&f.tokens.next.check();if(f.tokens.next.isSpecial)N();else if(f.tokens.next.id!=="(endline)")break}}function L(e){return e.infix||!e.identifier&&!!e.led}function A(){var e=f.tokens.curr,t=f.tokens.next;return t.id===";"||t.id==="}"||t.id===":"?!0:L(t)===L(e)||e.id==="yield"&&f.option.inMoz(!0)?e.line!==t.line:!1}function O(e,t){var n,r=!1,i=!1,s=!1;!t&&f.tokens.next.value==="let"&&C(0).value==="("&&(f.option.inMoz(!0)||b("W118",f.tokens.next,"let expressions"),s=!0,Bt["(blockscope)"].stack(),k("let"),k("("),f.syntax.let.fud.call(f.syntax.let.fud,!1),k(")")),f.tokens.next.id==="(end)"&&E("E006",f.tokens.curr),k(),t&&(Ct="anonymous",Bt["(verb)"]=f.tokens.curr.value);if(t===!0&&f.tokens.curr.fud)n=f.tokens.curr.fud();else{f.tokens.curr.nud?n=f.tokens.curr.nud():E("E030",f.tokens.curr,f.tokens.curr.id);while(e<f.tokens.next.lbp&&!A())r=f.tokens.curr.value==="Array",i=f.tokens.curr.value==="Object",n&&(n.value||n.first&&n.first.value)&&(n.value!=="new"||n.first&&n.first.value&&n.first.value===".")&&(r=!1,n.value!==f.tokens.curr.value&&(i=!1)),k(),r&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&b("W009",f.tokens.curr),i&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&b("W010",f.tokens.curr),n&&f.tokens.curr.led?n=f.tokens.curr.led(n):E("E033",f.tokens.curr,f.tokens.curr.id)}return s&&Bt["(blockscope)"].unstack(),n}function M(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,f.option.white&&e.character!==t.from&&e.line===t.line&&(e.from+=e.character-e.from,b("W011",e,e.value))}function _(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,f.option.white&&(e.character!==t.from||e.line!==t.line)&&b("W012",t,t.value)}function D(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,f.option.white&&!e.comment&&e.line===t.line&&M(e,t)}function P(e,t){if(f.option.white){e=e||f.tokens.curr,t=t||f.tokens.next;if(e.value===";"&&t.value===";")return;e.line===t.line&&e.character===t.from&&(e.from+=e.character-e.from,b("W013",e,e.value))}}function H(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,!f.option.laxbreak&&e.line!==t.line?b("W014",t,t.value):f.option.white&&(e=e||f.tokens.curr,t=t||f.tokens.next,e.character===t.from&&(e.from+=e.character-e.from,b("W013",e,e.value)))}function B(e){if(!f.option.white&&!f.option["(explicitIndent)"])return;if(f.tokens.next.id==="(end)")return;var t=Rt+(e||0);f.tokens.next.from!==t&&b("W015",f.tokens.next,f.tokens.next.value,t,f.tokens.next.from)}function j(e){e=e||f.tokens.curr,e.line!==f.tokens.next.line&&b("E022",e,e.value)}function F(e,t){e.line!==t.line?f.option.laxcomma||(I.first&&(b("I001"),I.first=!1),b("W014",e,t.value)):!e.comment&&e.character!==t.from&&f.option.white&&(e.from+=e.character-e.from,b("W011",e,e.value))}function I(e){e=e||{},e.peek?F(f.tokens.prev,f.tokens.curr):(F(f.tokens.curr,f.tokens.next),k(",")),f.tokens.next.value!=="]"&&f.tokens.next.value!=="}"&&P(f.tokens.curr,f.tokens.next);if(f.tokens.next.identifier&&(!e.property||!f.option.inES5()))switch(f.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return E("E024",f.tokens.next,f.tokens.next.value),!1}if(f.tokens.next.type==="(punctuator)")switch(f.tokens.next.value){case"}":case"]":case",":if(e.allowTrailing)return!0;case")":return E("E024",f.tokens.next,f.tokens.next.value),!1}return!0}function q(e,t){var n=f.syntax[e];if(!n||typeof n!="object")f.syntax[e]=n={id:e,lbp:t,value:e};return n}function R(e){return q(e,0)}function U(e,t){var n=R(e);return n.identifier=n.reserved=!0,n.fud=t,n}function z(e,t){var n=U(e,t);return n.block=!0,n}function W(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e.identifier=e.reserved=!0;return e}function X(e,t){var n=q(e,150);return W(n),n.nud=typeof t=="function"?t:function(){this.right=O(150),this.arity="unary";if(this.id==="++"||this.id==="--")f.option.plusplus?b("W016",this,this.id):(!this.right.identifier||c(this.right))&&this.right.id!=="."&&this.right.id!=="["&&b("W017",this);return this},n}function V(e,t){var n=R(e);return n.type=e,n.nud=t,n}function $(e,t){var n=V(e,t);return n.identifier=!0,n.reserved=!0,n}function J(e,t){var n=V(e,t&&t.nud||function(){return this});return t=t||{},t.isFutureReservedWord=!0,n.value=e,n.identifier=!0,n.reserved=!0,n.meta=t,n}function K(e,t){return $(e,function(){return typeof t=="function"&&t(this),this})}function Q(e,t,n,r){var i=q(e,n);return W(i),i.infix=!0,i.led=function(i){return r||(H(f.tokens.prev,f.tokens.curr),P(f.tokens.curr,f.tokens.next)),e==="in"&&i.id==="!"&&b("W018",i,"!"),typeof t=="function"?t(i,this):(this.left=i,this.right=O(n),this)},i}function G(e){var t=q(e,42);return t.led=function(e){return f.option.inESNext()||b("W104",f.tokens.curr,"arrow function syntax (=>)"),H(f.tokens.prev,f.tokens.curr),P(f.tokens.curr,f.tokens.next),this.left=e,this.right=mt(undefined,undefined,!1,e),this},t}function Y(e,t){var r=q(e,100);return r.led=function(e){H(f.tokens.prev,f.tokens.curr),P(f.tokens.curr,f.tokens.next);var r=O(100);return n(e,"NaN")||n(r,"NaN")?b("W019",this):t&&t.apply(this,[e,r]),(!e||!r)&&g("E041",f.tokens.curr.line),e.id==="!"&&b("W018",e,"!"),r.id==="!"&&b("W018",r,"!"),this.left=e,this.right=r,this},r}function Z(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(string)"&&e.value===""||e.type==="null"&&!f.option.eqnull||e.type==="true"||e.type==="false"||e.type==="undefined")}function et(e,t,n){var r=Q(e,typeof t=="function"?t:function(e,t){t.left=e;if(e){$t[e.value]===!1&&Jt[e.value]["(global)"]===!0?b("W020",e):e["function"]&&b("W021",e,e.value),Bt[e.value]==="const"&&E("E013",e,e.value);if(e.id===".")return e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&b("E031",t):b("E031",t),t.right=O(10),t;if(e.id==="[")return f.tokens.curr.left.first?f.tokens.curr.left.first.forEach(function(e){Bt[e.value]==="const"&&E("E013",e,e.value)}):e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&b("E031",t):b("E031",t),t.right=O(10),t;if(e.identifier&&!c(e))return Bt[e.value]==="exception"&&b("W022",e),t.right=O(10),t;e===f.syntax["function"]&&b("W023",f.tokens.curr)}E("E031",t)},n);return r.exps=!0,r.assign=!0,r}function tt(e,t,n){var r=q(e,n);return W(r),r.led=typeof t=="function"?t:function(e){return f.option.bitwise&&b("W016",this,this.id),this.left=e,this.right=O(n),this},r}function nt(e){return et(e,function(e,t){f.option.bitwise&&b("W016",t,t.id),P(f.tokens.prev,f.tokens.curr),P(f.tokens.curr,f.tokens.next);if(e)return e.id==="."||e.id==="["||e.identifier&&!c(e)?(O(10),t):(e===f.syntax["function"]&&b("W023",f.tokens.curr),t);E("E031",t)},20)}function rt(e){var t=q(e,150);return t.led=function(e){return f.option.plusplus?b("W016",this,this.id):(!e.identifier||c(e))&&e.id!=="."&&e.id!=="["&&b("W017",this),this.left=e,this},t}function it(e,t){if(!f.tokens.next.identifier)return;k();var n=f.tokens.curr,r=f.tokens.curr.value;return c(n)?t&&f.option.inES5()?r:e&&r==="undefined"?r:(t&&!kt.getCache("displayed:I002")&&(kt.setCache("displayed:I002",!0),b("I002")),b("W024",f.tokens.curr,f.tokens.curr.id),r):r}function st(e,t){var n=it(e,t);if(n)return n;f.tokens.curr.id==="function"&&f.tokens.next.id==="("?b("W025"):E("E030",f.tokens.next,f.tokens.next.value)}function ot(e){var t=0,n;if(f.tokens.next.id!==";"||Vt)return;for(;;){n=C(t);if(n.reach)return;if(n.id!=="(endline)"){if(n.id==="function"){if(!f.option.latedef)break;b("W026",n);break}b("W027",n,n.value,e);break}t+=1}}function ut(e){var t,n=Rt,i,s=Jt,o=f.tokens.next;if(o.id===";"){k(";");return}var u=c(o);u&&o.meta&&o.meta.isFutureReservedWord&&C().id===":"&&(b("W024",o,o.id),u=!1);if(r.has(["[","{"],o.value)&&on().isDestAssign){f.option.inESNext()||b("W104",f.tokens.curr,"destructuring expression"),t=wt(),t.forEach(function(e){y(Bt,"W117",e.token,e.id)}),k("="),Et(t,O(10,!0)),k(";");return}o.identifier&&!u&&C().id===":"&&(k(),k(":"),Jt=Object.create(s),T(o.value,"label"),!f.tokens.next.labelled&&f.tokens.next.value!=="{"&&b("W028",f.tokens.next,o.value,f.tokens.next.value),f.tokens.next.label=o.value,o=f.tokens.next);if(o.id==="{"){lt(!0,!0);return}return e||B(),i=O(0,!0),o.block||(!f.option.expr&&(!i||!i.exps)?b("W030",f.tokens.curr):f.option.nonew&&i&&i.left&&i.id==="("&&i.left.id==="new"&&b("W031",o),f.tokens.next.id!==";"?f.option.asi||(!f.option.lastsemic||f.tokens.next.id!=="}"||f.tokens.next.line!==f.tokens.curr.line)&&w("W033",f.tokens.curr.line,f.tokens.curr.character):(M(f.tokens.curr,f.tokens.next),k(";"),P(f.tokens.curr,f.tokens.next))),Rt=n,Jt=s,i}function at(e){var t=[],n;while(!f.tokens.next.reach&&f.tokens.next.id!=="(end)")f.tokens.next.id===";"?(n=C(),(!n||n.id!=="("&&n.id!=="[")&&b("W032"),k(";")):t.push(ut(e===f.tokens.next.line));return t}function ft(){var e,t,n;for(;;){if(f.tokens.next.id==="(string)"){t=C(0);if(t.id==="(endline)"){e=1;do n=C(e),e+=1;while(n.id==="(endline)");if(n.id!==";"){if(n.id!=="(string)"&&n.id!=="(number)"&&n.id!=="(regexp)"&&n.identifier!==!0&&n.id!=="}")break;b("W033",f.tokens.next)}else t=n}else if(t.id==="}")b("W033",t);else if(t.id!==";")break;B(),k(),f.directive[f.tokens.curr.value]&&b("W034",f.tokens.curr,f.tokens.curr.value),f.tokens.curr.value==="use strict"&&(f.option["(explicitNewcap)"]||(f.option.newcap=!0),f.option.undef=!0),f.directive[f.tokens.curr.value]=!0,t.id===";"&&k(";");continue}break}}function lt(e,t,n,i){var s,o=qt,u=Rt,a,l=Jt,c,h,p;qt=e;if(!e||!f.option.funcscope)Jt=Object.create(Jt);P(f.tokens.curr,f.tokens.next),c=f.tokens.next;var d=Bt["(metrics)"];d.nestedBlockDepth+=1,d.verifyMaxNestedBlockDepthPerFunction();if(f.tokens.next.id==="{"){k("{"),Bt["(blockscope)"].stack(),h=f.tokens.curr.line;if(f.tokens.next.id!=="}"){Rt+=f.option.indent;while(!e&&f.tokens.next.from>Rt)Rt+=f.option.indent;if(n){a={};for(p in f.directive)r.has(f.directive,p)&&(a[p]=f.directive[p]);ft(),f.option.strict&&Bt["(context)"]["(global)"]&&!a["use strict"]&&!f.directive["use strict"]&&b("E007")}s=at(h),d.statementCount+=s.length,n&&(f.directive=a),Rt-=f.option.indent,h!==f.tokens.next.line&&B()}else h!==f.tokens.next.line&&B();k("}",c),Bt["(blockscope)"].unstack(),Rt=u}else if(!e)if(n){a={},t&&!i&&!f.option.inMoz(!0)&&E("W118",f.tokens.curr,"function closure expressions");if(!t)for(p in f.directive)r.has(f.directive,p)&&(a[p]=f.directive[p]);O(10),f.option.strict&&Bt["(context)"]["(global)"]&&!a["use strict"]&&!f.directive["use strict"]&&b("E007")}else E("E021",f.tokens.next,"{",f.tokens.next.value);else Bt["(nolet)"]=!0,(!t||f.option.curly)&&b("W116",f.tokens.next,"{",f.tokens.next.value),Vt=!0,Rt+=f.option.indent,s=[ut(f.tokens.next.line===f.tokens.curr.line)],Rt-=f.option.indent,Vt=!1,delete Bt["(nolet)"];Bt["(verb)"]=null;if(!e||!f.option.funcscope)Jt=l;return qt=o,e&&f.option.noempty&&(!s||s.length===0)&&b("W035"),d.nestedBlockDepth-=1,s}function ct(e){Xt&&typeof Xt[e]!="boolean"&&b("W036",f.tokens.curr,e),typeof Wt[e]=="number"?Wt[e]+=1:Wt[e]=1}function ht(e){var t=e.value,n=e.line,r=It[t];typeof r=="function"&&(r=!1),r?r[r.length-1]!==n&&r.push(n):(r=[n],It[t]=r)}function pt(){var e={};return e.exps=!0,Bt["(comparray)"].stack(),e.right=O(10),k("for"),f.tokens.next.value==="each"&&(k("each"),f.option.inMoz(!0)||b("W118",f.tokens.curr,"for each")),k("("),Bt["(comparray)"].setState("define"),e.left=O(10),k(")"),f.tokens.next.value==="if"&&(k("if"),k("("),Bt["(comparray)"].setState("filter"),e.filter=O(10),k(")")),k("]"),Bt["(comparray)"].unstack(),e}function dt(){var e=it(!1,!0);return e||(f.tokens.next.id==="(string)"?(e=f.tokens.next.value,k()):f.tokens.next.id==="(number)"&&(e=f.tokens.next.value.toString(),k())),e==="hasOwnProperty"&&b("W001"),e}function vt(e){var t,n,i=[],s,o=[],u,a=!1;if(e){if(e instanceof Array){for(var l in e){t=e[l];if(r.contains(["{","["],t.id))for(u in t.left)u=o[u],u.id&&(i.push(u.id),T(u.id,"unused",u.token));else{if(t.value==="..."){f.option.inESNext()||b("W104",t,"spread/rest operator");continue}T(t.value,"unused",t)}}return i}if(e.identifier===!0)return T(e.value,"unused",e),[e]}n=f.tokens.next,k("("),D();if(f.tokens.next.id===")"){k(")");return}for(;;){if(r.contains(["{","["],f.tokens.next.id)){o=wt();for(u in o)u=o[u],u.id&&(i.push(u.id),T(u.id,"unused",u.token))}else f.tokens.next.value==="..."?(f.option.inESNext()||b("W104",f.tokens.next,"spread/rest operator"),k("..."),D(),s=st(!0),i.push(s),T(s,"unused",f.tokens.curr)):(s=st(!0),i.push(s),T(s,"unused",f.tokens.curr));a&&f.tokens.next.id!=="="&&E("E051",f.tokens.current),f.tokens.next.id==="="&&(f.option.inESNext()||b("W119",f.tokens.next,"default parameters"),k("="),a=!0,O(10));if(f.tokens.next.id!==",")return k(")",n),D(f.tokens.prev,f.tokens.curr),i;I()}}function mt(e,t,n,r){var i,s=f.option,o=f.ignored,u=Jt;return f.option=Object.create(f.option),f.ignored=Object.create(f.ignored),Jt=Object.create(Jt),Bt={"(name)":e||'"'+Ct+'"',"(line)":f.tokens.next.line,"(character)":f.tokens.next.character,"(context)":Bt,"(breakage)":0,"(loopage)":0,"(metrics)":gt(f.tokens.next),"(scope)":Jt,"(statement)":t,"(tokens)":{},"(blockscope)":Bt["(blockscope)"],"(comparray)":Bt["(comparray)"]},n&&(Bt["(generator)"]=!0),i=Bt,f.tokens.curr.funct=Bt,jt.push(Bt),e&&T(e,"function"),Bt["(params)"]=vt(r),Bt["(metrics)"].verifyMaxParametersPerFunction(Bt["(params)"]),lt(!1,!0,!0,r?!0:!1),n&&Bt["(generator)"]!=="yielded"&&E("E047",f.tokens.curr),Bt["(metrics)"].verifyMaxStatementsPerFunction(),Bt["(metrics)"].verifyMaxComplexityPerFunction(),Bt["(unusedOption)"]=f.option.unused,Jt=u,f.option=s,f.ignored=o,Bt["(last)"]=f.tokens.curr.line,Bt["(lastcharacter)"]=f.tokens.curr.character,Bt=Bt["(context)"],i}function gt(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,verifyMaxStatementsPerFunction:function(){f.option.maxstatements&&this.statementCount>f.option.maxstatements&&b("W071",e,this.statementCount)},verifyMaxParametersPerFunction:function(t){t=t||[],f.option.maxparams&&t.length>f.option.maxparams&&b("W072",e,t.length)},verifyMaxNestedBlockDepthPerFunction:function(){f.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===f.option.maxdepth+1&&b("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var t=f.option.maxcomplexity,n=this.ComplexityCount;t&&n>t&&b("W074",e,n)}}}function yt(){Bt["(metrics)"].ComplexityCount+=1}function bt(e){var t,n;e&&(t=e.id,n=e.paren,t===","&&(e=e.exprs[e.exprs.length-1])&&(t=e.id,n=n||e.paren));switch(t){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":!n&&!f.option.boss&&b("W084")}}function wt(){var e,t,n=[];f.option.inESNext()||b("W104",f.tokens.curr,"destructuring expression");var i=function(){var e;if(r.contains(["[","{"],f.tokens.next.value)){t=wt();for(var i in t)i=t[i],n.push({id:i.id,token:i.token})}else f.tokens.next.value===","?n.push({id:null,token:f.tokens.curr}):(e=st(),e&&n.push({id:e,token:f.tokens.curr}))};if(f.tokens.next.value==="["){k("["),i();while(f.tokens.next.value!=="]")k(","),i();k("]")}else if(f.tokens.next.value==="{"){k("{"),e=st(),f.tokens.next.value===":"?(k(":"),i()):n.push({id:e,token:f.tokens.curr});while(f.tokens.next.value!=="}")k(","),e=st(),f.tokens.next.value===":"?(k(":"),i()):n.push({id:e,token:f.tokens.curr});k("}")}return n}function Et(e,t){t.first&&r.zip(e,t.first).forEach(function(e){var t=e[0],n=e[1];t&&n?t.first=n:t&&t.first&&!n&&b("W080",t.first,t.first.value)})}function St(e){return f.option.inESNext()||b("W104",f.tokens.curr,"class"),e?(this.name=st(),T(this.name,"unused",f.tokens.curr)):f.tokens.next.identifier&&f.tokens.next.value!=="extends"&&(this.name=st()),xt(this),this}function xt(e){var t=f.directive["use strict"];f.tokens.next.value==="extends"&&(k("extends"),e.heritage=O(10)),f.directive["use strict"]=!0,k("{"),e.body=f.syntax["{"].nud(!0),f.directive["use strict"]=t}function Tt(){var e=on();e.notJson?(!f.option.inESNext()&&e.isDestAssign&&b("W104",f.tokens.curr,"destructuring assignment"),at()):(f.option.laxbreak=!0,f.jsonMode=!0,Nt())}function Nt(){function e(){var e={},t=f.tokens.next;k("{");if(f.tokens.next.id!=="}")for(;;){if(f.tokens.next.id==="(end)")E("E026",f.tokens.next,t.line);else{if(f.tokens.next.id==="}"){b("W094",f.tokens.curr);break}f.tokens.next.id===","?E("E028",f.tokens.next):f.tokens.next.id!=="(string)"&&b("W095",f.tokens.next,f.tokens.next.value)}e[f.tokens.next.value]===!0?b("W075",f.tokens.next,f.tokens.next.value):f.tokens.next.value==="__proto__"&&!f.option.proto||f.tokens.next.value==="__iterator__"&&!f.option.iterator?b("W096",f.tokens.next,f.tokens.next.value):e[f.tokens.next.value]=!0,k(),k(":"),Nt();if(f.tokens.next.id!==",")break;k(",")}k("}")}function t(){var e=f.tokens.next;k("[");if(f.tokens.next.id!=="]")for(;;){if(f.tokens.next.id==="(end)")E("E027",f.tokens.next,e.line);else{if(f.tokens.next.id==="]"){b("W094",f.tokens.curr);break}f.tokens.next.id===","&&E("E028",f.tokens.next)}Nt();if(f.tokens.next.id!==",")break;k(",")}k("]")}switch(f.tokens.next.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":k();break;case"-":k("-"),f.tokens.curr.character!==f.tokens.next.from&&b("W011",f.tokens.curr),M(f.tokens.curr,f.tokens.next),k("(number)");break;default:E("E003",f.tokens.next)}}var Ct,kt,Lt={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},At={asi:!0,bitwise:!0,boss:!0,browser:!0,camelcase:!0,couch:!0,curly:!0,debug:!0,devel:!0,dojo:!0,eqeqeq:!0,eqnull:!0,es3:!0,es5:!0,esnext:!0,moz:!0,evil:!0,expr:!0,forin:!0,funcscope:!0,gcl:!0,globalstrict:!0,immed:!0,iterator:!0,jquery:!0,lastsemic:!0,laxbreak:!0,laxcomma:!0,loopfunc:!0,mootools:!0,multistr:!0,newcap:!0,noarg:!0,node:!0,noempty:!0,nonew:!0,nonstandard:!0,nomen:!0,onevar:!0,passfail:!0,phantom:!0,plusplus:!0,proto:!0,prototypejs:!0,rhino:!0,shelljs:!0,undef:!0,scripturl:!0,shadow:!0,smarttabs:!0,strict:!0,sub:!0,supernew:!0,trailing:!0,validthis:!0,withstmt:!0,white:!0,worker:!0,wsh:!0,yui:!0,onecase:!0,regexp:!0,regexdash:!0},Ot={maxlen:!1,indent:!1,maxerr:!1,predef:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,unused:!0,latedef:!1},Mt={bitwise:!0,forin:!0,newcap:!0,nomen:!0,plusplus:!0,regexp:!0,undef:!0,white:!0,eqeqeq:!0,onevar:!0,strict:!0},_t={eqeq:"eqeqeq",vars:"onevar",windows:"wsh",sloppy:"strict"},Dt,Pt,Ht=["closure","exception","global","label","outer","unused","var"],Bt,jt,Ft,It,qt,Rt,Ut,zt,Wt,Xt,Vt,$t,Jt,Kt,Qt,Gt,Yt,Zt=[],en=new i.EventEmitter;V("(number)",function(){return this}),V("(string)",function(){return this}),f.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var e=this.value,t=Jt[e],n;typeof t=="function"?t=undefined:typeof t=="boolean"&&(n=Bt,Bt=jt[0],T(e,"var"),t=Bt,Bt=n);var i;r.has(Bt,"(blockscope)")&&(i=Bt["(blockscope)"].getlabel(e));if(Bt===t||i)switch(i?i[e]["(type)"]:Bt[e]){case"unused":i?i[e]["(type)"]="var":Bt[e]="var";break;case"unction":i?i[e]["(type)"]="function":Bt[e]="function",this["function"]=!0;break;case"function":this["function"]=!0;break;case"label":b("W037",f.tokens.curr,e)}else if(Bt["(global)"])typeof $t[e]!="boolean"&&(Ct!=="typeof"&&Ct!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&(Bt["(comparray)"].check(e)||y(Bt,"W117",f.tokens.curr,e)),ht(f.tokens.curr);else switch(Bt[e]){case"closure":case"function":case"var":case"unused":b("W038",f.tokens.curr,e);break;case"label":b("W037",f.tokens.curr,e);break;case"outer":case"global":break;default:if(t===!0)Bt[e]=!0;else if(t===null)b("W039",f.tokens.curr,e),ht(f.tokens.curr);else if(typeof t!="object")(Ct!=="typeof"&&Ct!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&y(Bt,"W117",f.tokens.curr,e),Bt[e]=!0,ht(f.tokens.curr);else switch(t[e]){case"function":case"unction":this["function"]=!0,t[e]="closure",Bt[e]=t["(global)"]?"global":"outer";break;case"var":case"unused":t[e]="closure",Bt[e]=t["(global)"]?"global":"outer";break;case"closure":Bt[e]=t["(global)"]?"global":"outer";break;case"label":b("W037",f.tokens.curr,e)}}return this},led:function(){E("E033",f.tokens.next,f.tokens.next.value)}},V("(regexp)",function(){return this}),R("(endline)"),R("(begin)"),R("(end)").reach=!0,R("(error)").reach=!0,R("}").reach=!0,R(")"),R("]"),R('"').reach=!0,R("'").reach=!0,R(";"),R(":").reach=!0,R("#"),$("else"),$("case").reach=!0,$("catch"),$("default").reach=!0,$("finally"),K("arguments",function(e){f.directive["use strict"]&&Bt["(global)"]&&b("E008",e)}),K("eval"),K("false"),K("Infinity"),K("null"),K("this",function(e){f.directive["use strict"]&&!f.option.validthis&&(Bt["(statement)"]&&Bt["(name)"].charAt(0)>"Z"||Bt["(global)"])&&b("W040",e)}),K("true"),K("undefined"),et("=","assign",20),et("+=","assignadd",20),et("-=","assignsub",20),et("*=","assignmult",20),et("/=","assigndiv",20).nud=function(){E("E014")},et("%=","assignmod",20),nt("&=","assignbitand",20),nt("|=","assignbitor",20),nt("^=","assignbitxor",20),nt("<<=","assignshiftleft",20),nt(">>=","assignshiftright",20),nt(">>>=","assignshiftrightunsigned",20),Q(",",function(e,t){var n;t.exprs=[e];if(!I({peek:!0}))return t;for(;;){if(!(n=O(10)))break;t.exprs.push(n);if(f.tokens.next.value!==","||!I())break}return t},10,!0),Q("?",function(e,t){return yt(),t.left=e,t.right=O(10),k(":"),t["else"]=O(10),t},30);var tn=40;Q("||",function(e,t){return yt(),t.left=e,t.right=O(tn),t},tn),Q("&&","and",50),tt("|","bitor",70),tt("^","bitxor",80),tt("&","bitand",90),Y("==",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");return!n&&f.option.eqeqeq?b("W116",this,"===","=="):Z(e)?b("W041",this,"===",e.value):Z(t)&&b("W041",this,"===",t.value),this}),Y("==="),Y("!=",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");return!n&&f.option.eqeqeq?b("W116",this,"!==","!="):Z(e)?b("W041",this,"!==",e.value):Z(t)&&b("W041",this,"!==",t.value),this}),Y("!=="),Y("<"),Y(">"),Y("<="),Y(">="),tt("<<","shiftleft",120),tt(">>","shiftright",120),tt(">>>","shiftrightunsigned",120),Q("in","in",120),Q("instanceof","instanceof",120),Q("+",function(e,t){var n=O(130);return e&&n&&e.id==="(string)"&&n.id==="(string)"?(e.value+=n.value,e.character=n.character,!f.option.scripturl&&a.javascriptURL.test(e.value)&&b("W050",e),e):(t.left=e,t.right=n,t)},130),X("+","num"),X("+++",function(){return b("W007"),this.right=O(150),this.arity="unary",this}),Q("+++",function(e){return b("W007"),this.left=e,this.right=O(130),this},130),Q("-","sub",130),X("-","neg"),X("---",function(){return b("W006"),this.right=O(150),this.arity="unary",this}),Q("---",function(e){return b("W006"),this.left=e,this.right=O(130),this},130),Q("*","mult",140),Q("/","div",140),Q("%","mod",140),rt("++","postinc"),X("++","preinc"),f.syntax["++"].exps=!0,rt("--","postdec"),X("--","predec"),f.syntax["--"].exps=!0,X("delete",function(){var e=O(10);return(!e||e.id!=="."&&e.id!=="[")&&b("W051"),this.first=e,this}).exps=!0,X("~",function(){return f.option.bitwise&&b("W052",this,"~"),O(150),this}),X("...",function(){return f.option.inESNext()||b("W104",this,"spread/rest operator"),f.tokens.next.identifier||E("E030",f.tokens.next,f.tokens.next.value),O(150),this}),X("!",function(){return this.right=O(150),this.arity="unary",this.right||g("E041",this.line||0),Lt[this.right.id]===!0&&b("W018",this,"!"),this}),X("typeof","typeof"),X("new",function(){var e=O(155),t;if(e&&e.id!=="function")if(e.identifier){e["new"]=!0;switch(e.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":b("W053",f.tokens.prev,e.value);break;case"Function":f.option.evil||b("W054");break;case"Date":case"RegExp":break;default:e.id!=="function"&&(t=e.value.substr(0,1),f.option.newcap&&(t<"A"||t>"Z")&&!r.has(Ft,e.value)&&b("W055",f.tokens.curr))}}else e.id!=="."&&e.id!=="["&&e.id!=="("&&b("W056",f.tokens.curr);else f.option.supernew||b("W057",this);return M(f.tokens.curr,f.tokens.next),f.tokens.next.id!=="("&&!f.option.supernew&&b("W058",f.tokens.curr,f.tokens.curr.value),this.first=e,this}),f.syntax["new"].exps=!0,X("void").exps=!0,Q(".",function(e,t){M(f.tokens.prev,f.tokens.curr),_();var n=st(!1,!0);return typeof n=="string"&&ct(n),t.left=e,t.right=n,n&&n==="hasOwnProperty"&&f.tokens.next.value==="="&&b("W001"),!e||e.value!=="arguments"||n!=="callee"&&n!=="caller"?!f.option.evil&&e&&e.value==="document"&&(n==="write"||n==="writeln")&&b("W060",e):f.option.noarg?b("W059",e,n):f.directive["use strict"]&&E("E008"),!f.option.evil&&(n==="eval"||n==="execScript")&&b("W061"),t},160,!0),Q("(",function(e,t){f.tokens.prev.id!=="}"&&f.tokens.prev.id!==")"&&_(f.tokens.prev,f.tokens.curr),D(),f.option.immed&&e&&!e.immed&&e.id==="function"&&b("W062");var n=0,r=[];e&&e.type==="(identifier)"&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Number String Boolean Date Object".indexOf(e.value)===-1&&(e.value==="Math"?b("W063",e):f.option.newcap&&b("W064",e));if(f.tokens.next.id!==")")for(;;){r[r.length]=O(10),n+=1;if(f.tokens.next.id!==",")break;I()}return k(")"),D(f.tokens.prev,f.tokens.curr),typeof e=="object"&&(e.value==="parseInt"&&n===1&&b("W065",f.tokens.curr),f.option.evil||(e.value==="eval"||e.value==="Function"||e.value==="execScript"?(b("W061",e),r[0]&&[0].id==="(string)"&&x(e,r[0].value)):!r[0]||r[0].id!=="(string)"||e.value!=="setTimeout"&&e.value!=="setInterval"?r[0]&&r[0].id==="(string)"&&e.value==="."&&e.left.value==="window"&&(e.right==="setTimeout"||e.right==="setInterval")&&(b("W066",e),x(e,r[0].value)):(b("W066",e),x(e,r[0].value))),!e.identifier&&e.id!=="."&&e.id!=="["&&e.id!=="("&&e.id!=="&&"&&e.id!=="||"&&e.id!=="?"&&b("W067",e)),t.left=e,t},155,!0).exps=!0,X("(",function(){D();var e,t=[],n,r,i=0,s;do n=C(i),i+=1,r=C(i),i+=1;while(n.value!==")"&&r.value!=="=>"&&r.value!==";"&&r.type!=="(end)");f.tokens.next.id==="function"&&(f.tokens.next.immed=!0);var o=[];if(f.tokens.next.id!==")")for(;;){if(r.value==="=>"&&f.tokens.next.value==="{"){e=f.tokens.next,e.left=wt(),t.push(e);for(var u in e.left)o.push(e.left[u].token)}else o.push(O(10));if(f.tokens.next.id!==",")break;I()}k(")",this),D(f.tokens.prev,f.tokens.curr),f.option.immed&&o[0]&&o[0].id==="function"&&f.tokens.next.id!=="("&&(f.tokens.next.id!=="."||C().value!=="call"&&C().value!=="apply")&&b("W068",this);if(f.tokens.next.value==="=>")return o;if(!o.length)return;return o.length>1?(s=Object.create(f.syntax[","]),s.exprs=o):s=o[0],s&&(s.paren=!0),s}),G("=>"),Q("[",function(e,t){_(f.tokens.prev,f.tokens.curr),D();var n=O(10),r;return n&&n.type==="(string)"&&(!f.option.evil&&(n.value==="eval"||n.value==="execScript")&&b("W061",t),ct(n.value),!f.option.sub&&a.identifier.test(n.value)&&(r=f.syntax[n.value],(!r||!c(r))&&b("W069",f.tokens.prev,n.value))),k("]",t),n&&n.value==="hasOwnProperty"&&f.tokens.next.value==="="&&b("W001"),D(f.tokens.prev,f.tokens.curr),t.left=e,t.right=n,t},160,!0),X("[",function(){var e=on(!0);if(e.isCompArray)return f.option.inMoz(!0)||b("W118",f.tokens.curr,"array comprehension"),pt();e.isDestAssign&&!f.option.inESNext()&&b("W104",f.tokens.curr,"destructuring assignment");var t=f.tokens.curr.line!==f.tokens.next.line;this.first=[],t&&(Rt+=f.option.indent,f.tokens.next.from===Rt+f.option.indent&&(Rt+=f.option.indent));while(f.tokens.next.id!=="(end)"){while(f.tokens.next.id===",")f.option.inES5()||b("W070"),k(",");if(f.tokens.next.id==="]")break;t&&f.tokens.curr.line!==f.tokens.next.line&&B(),this.first.push(O(10));if(f.tokens.next.id!==",")break;I({allowTrailing:!0});if(f.tokens.next.id==="]"&&!f.option.inES5(!0)){b("W070",f.tokens.curr);break}}return t&&(Rt-=f.option.indent,B()),k("]",this),this},160),function(e){e.nud=function(e){function t(e,t){h[e]&&r.has(h,e)?b("W075",f.tokens.next,u):h[e]={},h[e].basic=!0,h[e].basictkn=t}function n(e,t){h[e]&&r.has(h,e)?(h[e].basic||h[e].setter)&&b("W075",f.tokens.next,u):h[e]={},h[e].setter=!0,h[e].setterToken=t}function i(e){h[e]&&r.has(h,e)?(h[e].basic||h[e].getter)&&b("W075",f.tokens.next,u):h[e]={},h[e].getter=!0,h[e].getterToken=f.tokens.curr}var s,o,u,a,l,c,h={},p="";s=f.tokens.curr.line!==f.tokens.next.line,s&&(Rt+=f.option.indent,f.tokens.next.from===Rt+f.option.indent&&(Rt+=f.option.indent));for(;;){if(f.tokens.next.id==="}")break;s&&B(),e&&f.tokens.next.value==="static"&&(k("static"),p="static ");if(f.tokens.next.value==="get"&&C().id!==":")k("get"),f.option.inES5(!e)||E("E034"),u=dt(),u||E("E035"),e&&u==="constructor"&&E("E049",f.tokens.next,"class getter method",u),i(p+u),l=f.tokens.next,M(f.tokens.curr,f.tokens.next),o=mt(),a=o["(params)"],a&&b("W076",l,a[0],u),M(f.tokens.curr,f.tokens.next);else if(f.tokens.next.value==="set"&&C().id!==":")k("set"),f.option.inES5(!e)||E("E034"),u=dt(),u||E("E035"),e&&u==="constructor"&&E("E049",f.tokens.next,"class setter method",u),n(p+u,f.tokens.next),l=f.tokens.next,M(f.tokens.curr,f.tokens.next),o=mt(),a=o["(params)"],(!a||a.length!==1)&&b("W077",l,u);else{c=!1,f.tokens.next.value==="*"&&f.tokens.next.type==="(punctuator)"&&(f.option.inESNext()||b("W104",f.tokens.next,"generator functions"),k("*"),c=!0),u=dt(),t(p+u,f.tokens.next);if(typeof u!="string")break;f.tokens.next.value==="("?(f.option.inESNext()||b("W104",f.tokens.curr,"concise methods"),mt(u,undefined,c)):e||(k(":"),P(f.tokens.curr,f.tokens.next),O(10))}e&&u==="prototype"&&E("E049",f.tokens.next,"class method",u),ct(u);if(e){p="";continue}if(f.tokens.next.id!==",")break;I({allowTrailing:!0,property:!0}),f.tokens.next.id===","?b("W070",f.tokens.curr):f.tokens.next.id==="}"&&!f.option.inES5(!0)&&b("W070",f.tokens.curr)}s&&(Rt-=f.option.indent,B()),k("}",this);if(f.option.inES5())for(var d in h)r.has(h,d)&&h[d].setter&&!h[d].getter&&b("W078",h[d].setterToken);return this},e.fud=function(){E("E036",f.tokens.curr)}}(R("{"));var nn=U("const",function(e){var t,n,i;f.option.inESNext()||b("W104",f.tokens.curr,"const"),this.first=[];for(;;){var s=[];P(f.tokens.curr,f.tokens.next),r.contains(["{","["],f.tokens.next.value)?(t=wt(),i=!1):(t=[{id:st(),token:f.tokens.curr}],i=!0);for(var o in t)o=t[o],Bt[o.id]==="const"&&b("E011",null,o.id),Bt["(global)"]&&$t[o.id]===!1&&b("W079",o.token,o.id),o.id&&(T(o.id,"const"),s.push(o.token));if(e)break;this.first=this.first.concat(s),f.tokens.next.id!=="="&&b("E012",f.tokens.curr,f.tokens.curr.value),f.tokens.next.id==="="&&(P(f.tokens.curr,f.tokens.next),k("="),P(f.tokens.curr,f.tokens.next),f.tokens.next.id==="undefined"&&b("W080",f.tokens.prev,f.tokens.prev.value),C(0).id==="="&&f.tokens.next.identifier&&b("W120",f.tokens.next,f.tokens.next.value),n=O(10),i?t[0].first=n:Et(s,n));if(f.tokens.next.id!==",")break;I()}return this});nn.exps=!0;var rn=U("var",function(e){var t,n,i;Bt["(onevar)"]&&f.option.onevar?b("W081"):Bt["(global)"]||(Bt["(onevar)"]=!0),this.first=[];for(;;){var s=[];P(f.tokens.curr,f.tokens.next),r.contains(["{","["],f.tokens.next.value)?(t=wt(),n=!1):(t=[{id:st(),token:f.tokens.curr}],n=!0);for(var o in t)o=t[o],f.option.inESNext()&&Bt[o.id]==="const"&&b("E011",null,o.id),Bt["(global)"]&&$t[o.id]===!1&&b("W079",o.token,o.id),o.id&&(T(o.id,"unused",o.token),s.push(o.token));if(e)break;this.first=this.first.concat(s),f.tokens.next.id==="="&&(P(f.tokens.curr,f.tokens.next),k("="),P(f.tokens.curr,f.tokens.next),f.tokens.next.id==="undefined"&&b("W080",f.tokens.prev,f.tokens.prev.value),C(0).id==="="&&f.tokens.next.identifier&&b("W120",f.tokens.next,f.tokens.next.value),i=O(10),n?t[0].first=i:Et(s,i));if(f.tokens.next.id!==",")break;I()}return this});rn.exps=!0;var sn=U("let",function(e){var t,n,i,s;f.option.inESNext()||b("W104",f.tokens.curr,"let"),f.tokens.next.value==="("?(f.option.inMoz(!0)||b("W118",f.tokens.next,"let block"),k("("),Bt["(blockscope)"].stack(),s=!0):Bt["(nolet)"]&&E("E048",f.tokens.curr),Bt["(onevar)"]&&f.option.onevar?b("W081"):Bt["(global)"]||(Bt["(onevar)"]=!0),this.first=[];for(;;){var o=[];P(f.tokens.curr,f.tokens.next),r.contains(["{","["],f.tokens.next.value)?(t=wt(),n=!1):(t=[{id:st(),token:f.tokens.curr.value}],n=!0);for(var u in t)u=t[u],f.option.inESNext()&&Bt[u.id]==="const"&&b("E011",null,u.id),Bt["(global)"]&&$t[u.id]===!1&&b("W079",u.token,u.id),u.id&&!Bt["(nolet)"]&&(T(u.id,"unused",u.token,!0),o.push(u.token));if(e)break;this.first=this.first.concat(o),f.tokens.next.id==="="&&(P(f.tokens.curr,f.tokens.next),k("="),P(f.tokens.curr,f.tokens.next),f.tokens.next.id==="undefined"&&b("W080",f.tokens.prev,f.tokens.prev.value),C(0).id==="="&&f.tokens.next.identifier&&b("W120",f.tokens.next,f.tokens.next.value),i=O(10),n?t[0].first=i:Et(o,i));if(f.tokens.next.id!==",")break;I()}return s&&(k(")"),lt(!0,!0),this.block=!0,Bt["(blockscope)"].unstack()),this});sn.exps=!0,z("class",function(){return St.call(this,!0)}),z("function",function(){var e=!1;f.tokens.next.value==="*"&&(k("*"),f.option.inESNext(!0)?e=!0:b("W119",f.tokens.curr,"function*")),qt&&b("W082",f.tokens.curr);var t=st();return Bt[t]==="const"&&b("E011",null,t),M(f.tokens.curr,f.tokens.next),T(t,"unction",f.tokens.curr),mt(t,{statement:!0},e),f.tokens.next.id==="("&&f.tokens.next.line===f.tokens.curr.line&&E("E039"),this}),X("function",function(){var e=!1;f.tokens.next.value==="*"&&(f.option.inESNext()||b("W119",f.tokens.curr,"function*"),k("*"),e=!0);var t=it();return t||f.option.gcl?M(f.tokens.curr,f.tokens.next):P(f.tokens.curr,f.tokens.next),mt(t,undefined,e),!f.option.loopfunc&&Bt["(loopage)"]&&b("W083"),this}),z("if",function(){var e=f.tokens.next;return yt(),f.condition=!0,k("("),P(this,e),D(),bt(O(0)),k(")",e),f.condition=!1,D(f.tokens.prev,f.tokens.curr),lt(!0,!0),f.tokens.next.id==="else"&&(P(f.tokens.curr,f.tokens.next),k("else"),f.tokens.next.id==="if"||f.tokens.next.id==="switch"?ut(!0):lt(!0,!0)),this}),z("try",function(){function e(){var e=Jt,t;k("catch"),P(f.tokens.curr,f.tokens.next),k("("),Jt=Object.create(e),t=f.tokens.next.value,f.tokens.next.type!=="(identifier)"&&(t=null,b("E030",f.tokens.next,t)),k(),Bt={"(name)":"(catch)","(line)":f.tokens.next.line,"(character)":f.tokens.next.character,"(context)":Bt,"(breakage)":Bt["(breakage)"],"(loopage)":Bt["(loopage)"],"(scope)":Jt,"(statement)":!1,"(metrics)":gt(f.tokens.next),"(catch)":!0,"(tokens)":{},"(blockscope)":Bt["(blockscope)"],"(comparray)":Bt["(comparray)"]},t&&T(t,"exception"),f.tokens.next.value==="if"&&(f.option.inMoz(!0)||b("W118",f.tokens.curr,"catch filter"),k("if"),O(0)),k(")"),f.tokens.curr.funct=Bt,jt.push(Bt),lt(!1),Jt=e,Bt["(last)"]=f.tokens.curr.line,Bt["(lastcharacter)"]=f.tokens.curr.character,Bt=Bt["(context)"]}var t;lt(!1);while(f.tokens.next.id==="catch")yt(),t&&!f.option.inMoz(!0)&&b("W118",f.tokens.next,"multiple catch blocks"),e(),t=!0;if(f.tokens.next.id==="finally"){k("finally"),lt(!1);return}return t||E("E021",f.tokens.next,"catch",f.tokens.next.value),this}),z("while",function(){var e=f.tokens.next;return Bt["(breakage)"]+=1,Bt["(loopage)"]+=1,yt(),k("("),P(this,e),D(),bt(O(0)),k(")",e),D(f.tokens.prev,f.tokens.curr),lt(!0,!0),Bt["(breakage)"]-=1,Bt["(loopage)"]-=1,this}).labelled=!0,z("with",function(){var e=f.tokens.next;return f.directive["use strict"]?E("E010",f.tokens.curr):f.option.withstmt||b("W085",f.tokens.curr),k("("),P(this,e),D(),O(0),k(")",e),D(f.tokens.prev,f.tokens.curr),lt(!0,!0),this}),z("switch",function(){var e=f.tokens.next,t=!1;Bt["(breakage)"]+=1,k("("),P(this,e),D(),bt(O(0)),k(")",e),D(f.tokens.prev,f.tokens.curr),P(f.tokens.curr,f.tokens.next),e=f.tokens.next,k("{"),P(f.tokens.curr,f.tokens.next),Rt+=f.option.indent,this.cases=[];for(;;)switch(f.tokens.next.id){case"case":switch(Bt["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:a.fallsThrough.test(f.lines[f.tokens.next.line-2])||b("W086",f.tokens.curr,"case")}B(-f.option.indent),k("case"),this.cases.push(O(20)),yt(),t=!0,k(":"),Bt["(verb)"]="case";break;case"default":switch(Bt["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(a.fallsThrough.test(f.lines[f.tokens.next.line-2])||b("W086",f.tokens.curr,"default"))}B(-f.option.indent),k("default"),t=!0,k(":");break;case"}":Rt-=f.option.indent,B(),k("}",e),Bt["(breakage)"]-=1,Bt["(verb)"]=undefined;return;case"(end)":E("E023",f.tokens.next,"}");return;default:if(t)switch(f.tokens.curr.id){case",":E("E040");return;case":":t=!1,at();break;default:E("E025",f.tokens.curr);return}else{if(f.tokens.curr.id!==":"){E("E021",f.tokens.next,"case",f.tokens.next.value);return}k(":"),E("E024",f.tokens.curr,":"),at()}}}).labelled=!0,U("debugger",function(){return f.option.debug||b("W087"),this}).exps=!0,function(){var e=U("do",function(){Bt["(breakage)"]+=1,Bt["(loopage)"]+=1,yt(),this.first=lt(!0,!0),k("while");var e=f.tokens.next;return P(f.tokens.curr,e),k("("),D(),bt(O(0)),k(")",e),D(f.tokens.prev,f.tokens.curr),Bt["(breakage)"]-=1,Bt["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),z("for",function(){var e,t=f.tokens.next,n=!1,i=null;t.value==="each"&&(i=t,k("each"),f.option.inMoz(!0)||b("W118",f.tokens.curr,"for each")),Bt["(breakage)"]+=1,Bt["(loopage)"]+=1,yt(),k("("),P(this,t),D();var s,o=0,u=["in","of"];do s=C(o),++o;while(!r.contains(u,s.value)&&s.value!==";"&&s.type!=="(end)");if(r.contains(u,s.value)){!f.option.inESNext()&&s.value==="of"&&E("W104",s,"for of");if(f.tokens.next.id==="var")k("var"),f.syntax["var"].fud.call(f.syntax["var"].fud,!0);else if(f.tokens.next.id==="let")k("let"),n=!0,Bt["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud,!0);else{switch(Bt[f.tokens.next.value]){case"unused":Bt[f.tokens.next.value]="var";break;case"var":break;default:Bt["(blockscope)"].getlabel(f.tokens.next.value)||b("W088",f.tokens.next,f.tokens.next.value)}k()}k(s.value),O(20),k(")",t),e=lt(!0,!0),f.option.forin&&e&&(e.length>1||typeof e[0]!="object"||e[0].value!=="if")&&b("W089",this),Bt["(breakage)"]-=1,Bt["(loopage)"]-=1}else{i&&E("E045",i);if(f.tokens.next.id!==";")if(f.tokens.next.id==="var")k("var"),f.syntax["var"].fud.call(f.syntax["var"].fud);else if(f.tokens.next.id==="let")k("let"),n=!0,Bt["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud);else for(;;){O(0,"for");if(f.tokens.next.id!==",")break;I()}j(f.tokens.curr),k(";"),f.tokens.next.id!==";"&&bt(O(0)),j(f.tokens.curr),k(";"),f.tokens.next.id===";"&&E("E021",f.tokens.next,")",";");if(f.tokens.next.id!==")")for(;;){O(0,"for");if(f.tokens.next.id!==",")break;I()}k(")",t),D(f.tokens.prev,f.tokens.curr),lt(!0,!0),Bt["(breakage)"]-=1,Bt["(loopage)"]-=1}return n&&Bt["(blockscope)"].unstack(),this}).labelled=!0,U("break",function(){var e=f.tokens.next.value;return Bt["(breakage)"]===0&&b("W052",f.tokens.next,this.value),f.option.asi||j(this),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.curr.line===f.tokens.next.line&&(Bt[e]!=="label"?b("W090",f.tokens.next,e):Jt[e]!==Bt&&b("W091",f.tokens.next,e),this.first=f.tokens.next,k()),ot("break"),this}).exps=!0,U("continue",function(){var e=f.tokens.next.value;return Bt["(breakage)"]===0&&b("W052",f.tokens.next,this.value),f.option.asi||j(this),f.tokens.next.id!==";"&&!f.tokens.next.reach?f.tokens.curr.line===f.tokens.next.line&&(Bt[e]!=="label"?b("W090",f.tokens.next,e):Jt[e]!==Bt&&b("W091",f.tokens.next,e),this.first=f.tokens.next,k()):Bt["(loopage)"]||b("W052",f.tokens.next,this.value),ot("continue"),this}).exps=!0,U("return",function(){return this.line===f.tokens.next.line?(f.tokens.next.id==="(regexp)"&&b("W092"),f.tokens.next.id!==";"&&!f.tokens.next.reach&&(P(f.tokens.curr,f.tokens.next),this.first=O(0),this.first&&this.first.type==="(punctuator)"&&this.first.value==="="&&!f.option.boss&&w("W093",this.first.line,this.first.character))):f.tokens.next.type==="(punctuator)"&&["[","{","+","-"].indexOf(f.tokens.next.value)>-1&&j(this),ot("return"),this}).exps=!0,function(e){e.exps=!0,e.lbp=25}(X("yield",function(){var e=f.tokens.prev;return f.option.inESNext(!0)&&!Bt["(generator)"]?E("E046",f.tokens.curr,"yield"):f.option.inESNext()||b("W104",f.tokens.curr,"yield"),Bt["(generator)"]="yielded",this.line===f.tokens.next.line||!f.option.inMoz(!0)?(f.tokens.next.id==="(regexp)"&&b("W092"),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.next.nud&&(H(f.tokens.curr,f.tokens.next),this.first=O(10),this.first.type==="(punctuator)"&&this.first.value==="="&&!f.option.boss&&w("W093",this.first.line,this.first.character)),f.option.inMoz(!0)&&f.tokens.next.id!==")"&&(e.lbp>30||!e.assign&&!A()||e.id==="yield")&&E("E050",this)):f.option.asi||j(this),this})),U("throw",function(){return j(this),P(f.tokens.curr,f.tokens.next),this.first=O(20),ot("throw"),this}).exps=!0,U("import",function(){f.option.inESNext()||b("W119",f.tokens.curr,"import");if(f.tokens.next.identifier)this.name=st(),T(this.name,"unused",f.tokens.curr);else{k("{");for(;;){var e;f.tokens.next.type==="default"?(e="default",k("default")):e=st(),f.tokens.next.value==="as"&&(k("as"),e=st()),T(e,"unused",f.tokens.curr);if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){k("}");break}E("E024",f.tokens.next,f.tokens.next.value);break}k(",")}}return k("from"),k("(string)"),this}).exps=!0,U("export",function(){f.option.inESNext()||b("W119",f.tokens.curr,"export");if(f.tokens.next.type==="default"){k("default");if(f.tokens.next.id==="function"||f.tokens.next.id==="class")this.block=!0;return this.exportee=O(10),this}if(f.tokens.next.value==="{"){k("{");for(;;){st();if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){k("}");break}E("E024",f.tokens.next,f.tokens.next.value);break}k(",")}return this}return f.tokens.next.id==="var"?(k("var"),f.syntax["var"].fud.call(f.syntax["var"].fud)):f.tokens.next.id==="let"?(k("let"),f.syntax.let.fud.call(f.syntax.let.fud)):f.tokens.next.id==="const"?(k("const"),f.syntax["const"].fud.call(f.syntax["const"].fud)):f.tokens.next.id==="function"?(this.block=!0,k("function"),f.syntax["function"].fud()):f.tokens.next.id==="class"?(this.block=!0,k("class"),f.syntax["class"].fud()):E("E024",f.tokens.next,f.tokens.next.value),this}).exps=!0,J("abstract"),J("boolean"),J("byte"),J("char"),J("class",{es5:!0,nud:St}),J("double"),J("enum",{es5:!0}),J("export",{es5:!0}),J("extends",{es5:!0}),J("final"),J("float"),J("goto"),J("implements",{es5:!0,strictOnly:!0}),J("import",{es5:!0}),J("int"),J("interface",{es5:!0,strictOnly:!0}),J("long"),J("native"),J("package",{es5:!0,strictOnly:!0}),J("private",{es5:!0,strictOnly:!0}),J("protected",{es5:!0,strictOnly:!0}),J("public",{es5:!0,strictOnly:!0}),J("short"),J("static",{es5:!0,strictOnly:!0}),J("super",{es5:!0}),J("synchronized"),J("throws"),J("transient"),J("volatile");var on=function(){var e,t,n=0,i=0,s={};r.contains(["[","{"],f.tokens.curr.value)&&(i+=1),r.contains(["[","{"],f.tokens.next.value)&&(i+=1),r.contains(["]","}"],f.tokens.next.value)&&(i-=1);do{e=C(n),t=C(n+1),n+=1,r.contains(["[","{"],e.value)?i+=1:r.contains(["]","}"],e.value)&&(i-=1);if(e.identifier&&e.value==="for"&&i===1){s.isCompArray=!0,s.notJson=!0;break}if(r.contains(["}","]"],e.value)&&t.value==="="){s.isDestAssign=!0,s.notJson=!0;break}e.value===";"&&(s.isBlock=!0,s.notJson=!0)}while(i>0&&e.id!=="(end)"&&n<15);return s},un=function(){function e(e){var t=s.variables.filter(function(t){if(t.value===e)return t.undef=!1,e}).length;return t!==0}function t(e){var t=s.variables.filter(function(t){if(t.value===e&&!t.undef)return t.unused===!0&&(t.unused=!1),e}).length;return t===0}var n=function(){this.mode="use",this.variables=[]},i=[],s;return{stack:function(){s=new n,i.push(s)},unstack:function(){s.variables.filter(function(e){e.unused&&b("W098",e.token,e.value),e.undef&&y(e.funct,"W117",e.token,e.value)}),i.splice(i[i.length-1],1),s=i[i.length-1]},setState:function(e){r.contains(["use","define","filter"],e)&&(s.mode=e)},check:function(n){return s&&s.mode==="use"?(s.variables.push({funct:Bt,token:f.tokens.curr,value:n,undef:!0,unused:!1}),!0):s&&s.mode==="define"?(e(n)||s.variables.push({funct:Bt,token:f.tokens.curr,value:n,undef:!1,unused:!0}),!0):s&&s.mode==="filter"?(t(n)&&y(Bt,"W117",f.tokens.curr,n),!0):!1}}},an=function(){function e(){for(var e in t)if(t[e]["(type)"]==="unused"&&f.option.unused){var n=t[e]["(token)"],r=n.line,i=n.character;w("W098",r,i,e)}}var t={},n=[t];return{stack:function(){t={},n.push(t)},unstack:function(){e(),n.splice(n.length-1,1),t=r.last(n)},getlabel:function(e){for(var t=n.length-1;t>=0;--t)if(r.has(n[t],e))return n[t]},current:{has:function(e){return r.has(t,e)},add:function(e,n,r){t[e]={"(type)":n,"(token)":r}}}}},fn=function(n,i,o){function a(e,t){if(!e)return;!Array.isArray(e)&&typeof e=="object"&&(e=Object.keys(e)),e.forEach(t)}var l,c,p,v,y={},E={};f.reset(),i&&i.scope?h.scope=i.scope:(h.errors=[],h.undefs=[],h.internals=[],h.blacklist={},h.scope="(main)"),$t=Object.create(null),d($t,s.ecmaIdentifiers),d($t,s.reservedVars),d($t,o||{}),Dt=Object.create(null),Pt=Object.create(null);if(i){a(i.predef||null,function(e){var t,n;e[0]==="-"?(t=e.slice(1),h.blacklist[t]=t):(n=Object.getOwnPropertyDescriptor(i.predef,e),$t[e]=n?n.value:!1)}),a(i.exported||null,function(e){Pt[e]=!0}),delete i.predef,delete i.exported,v=Object.keys(i);for(p=0;p<v.length;p++)/^-W\d{3}$/g.test(v[p])?E[v[p].slice(1)]=!0:(y[v[p]]=i[v[p]],v[p]==="newcap"&&i[v[p]]===!1&&(y["(explicitNewcap)"]=!0),v[p]==="indent"&&(y["(explicitIndent)"]=i[v[p]]===!1?!1:!0))}f.option=y,f.ignored=E,f.option.indent=f.option.indent||4,f.option.maxerr=f.option.maxerr||50,Rt=1,Ft=Object.create($t),Jt=Ft,Bt={"(global)":!0,"(name)":"(global)","(scope)":Jt,"(breakage)":0,"(loopage)":0,"(tokens)":{},"(metrics)":gt(f.tokens.next),"(blockscope)":an(),"(comparray)":un()},jt=[Bt],Gt=[],Kt=null,Wt={},Xt=null,It={},qt=!1,Ut=[],Yt=0,Qt=[];if(!t(n)&&!Array.isArray(n))return S("E004",0),!1;kt={get isJSON(){return f.jsonMode},getOption:function(e){return f.option[e]||null},getCache:function(e){return f.cache[e]},setCache:function(e,t){f.cache[e]=t},warn:function(e,t){w.apply(null,[e,t.line,t.char].concat(t.data))},on:function(e,t){e.split(" ").forEach(function(e){en.on(e,t)}.bind(this))}},en.removeAllListeners(),(Zt||[]).forEach(function(e){e(kt)}),f.tokens.prev=f.tokens.curr=f.tokens.next=f.syntax["(begin)"],zt=new u(n),zt.on("warning",function(e){w.apply(null,[e.code,e.line,e.character].concat(e.data))}),zt.on("error",function(e){S.apply(null,[e.code,e.line,e.character].concat(e.data))}),zt.on("fatal",function(e){g("E041",e.line,e.from)}),zt.on("Identifier",function(e){en.emit("Identifier",e)}),zt.on("String",function(e){en.emit("String",e)}),zt.on("Number",function(e){en.emit("Number",e)}),zt.start();for(var x in i)r.has(i,x)&&e(x,f.tokens.curr);m(),d($t,o||{}),I.first=!0;try{k();switch(f.tokens.next.id){case"{":case"[":Tt();break;default:ft(),f.directive["use strict"]&&!f.option.globalstrict&&!f.option.node&&b("W097",f.tokens.prev),at()}k(f.tokens.next&&f.tokens.next.value!=="."?"(end)":undefined),Bt["(blockscope)"].unstack();var T=function(e,t){do{if(typeof t[e]=="string")return t[e]==="unused"?t[e]="var":t[e]==="unction"&&(t[e]="closure"),!0;t=t["(context)"]}while(t);return!1},N=function(e,t){if(!It[e])return;var n=[];for(var r=0;r<It[e].length;r+=1)It[e][r]!==t&&n.push(It[e][r]);n.length===0?delete It[e]:It[e]=n},C=function(e,t,n,r){var i=t.line,s=t.character;r===undefined&&(r=f.option.unused),r===!0&&(r="last-param");var o={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};r&&o[r]&&o[r].indexOf(n)!==-1&&w("W098",i,s,e),Qt.push({name:e,line:i,character:s})},L=function(e,t){var n=e[t],i=e["(tokens)"][t];if(t.charAt(0)==="(")return;if(n!=="unused"&&n!=="unction")return;if(e["(params)"]&&e["(params)"].indexOf(t)!==-1)return;if(e["(global)"]&&r.has(Pt,t))return;C(t,i,"var")};for(l=0;l<h.undefs.length;l+=1)c=h.undefs[l].slice(0),T(c[2].value,c[0])?N(c[2].value,c[2].line):f.option.undef&&b.apply(b,c.slice(1));jt.forEach(function(e){if(e["(unusedOption)"]===!1)return;for(var t in e)r.has(e,t)&&L(e,t);if(!e["(params)"])return;var n=e["(params)"].slice(),i=n.pop(),s,o;while(i){s=e[i],o=e["(unusedOption)"]||f.option.unused,o=o===!0?"last-param":o;if(i==="undefined")return;if(s==="unused"||s==="unction")C(i,e["(tokens)"][i],"param",e["(unusedOption)"]);else if(o==="last-param")return;i=n.pop()}});for(var A in Dt)r.has(Dt,A)&&!r.has(Ft,A)&&C(A,Dt[A],"var")}catch(O){if(!O||O.name!=="JSHintError")throw O;var M=f.tokens.next||{};h.errors.push({scope:"(main)",raw:O.raw,code:O.code,reason:O.message,line:O.line||M.line,character:O.character||M.from},null)}if(h.scope==="(main)"){i=i||{};for(l=0;l<h.internals.length;l+=1)c=h.internals[l],i.scope=c.elem,fn(c.value,i,o)}return h.errors.length===0};return fn.addModule=function(e){Zt.push(e)},fn.addModule(l.register),fn.data=function(){var e={functions:[],options:f.option},t=[],n=[],i,s,o,u,a,l;fn.errors.length&&(e.errors=fn.errors),f.jsonMode&&(e.json=!0);for(a in It)r.has(It,a)&&t.push({name:a,line:It[a]});t.length>0&&(e.implieds=t),Gt.length>0&&(e.urls=Gt),l=Object.keys(Jt),l.length>0&&(e.globals=l);for(o=1;o<jt.length;o+=1){s=jt[o],i={};for(u=0;u<Ht.length;u+=1)i[Ht[u]]=[];for(u=0;u<Ht.length;u+=1)i[Ht[u]].length===0&&delete i[Ht[u]];i.name=s["(name)"],i.param=s["(params)"],i.line=s["(line)"],i.character=s["(character)"],i.last=s["(last)"],i.lastcharacter=s["(lastcharacter)"],e.functions.push(i)}Qt.length>0&&(e.unused=Qt),n=[];for(a in Wt)if(typeof Wt[a]=="number"){e.member=Wt;break}return e},fn.jshint=fn,fn}();typeof n=="object"&&n&&(n.JSHINT=h)},{"../shared/messages.js":2,"../shared/vars.js":3,"./lex.js":5,"./reg.js":6,"./state.js":7,"./style.js":8,"console-browserify":9,events:10,underscore:1}],5:[function(e,t,n){function r(){var e=[];return{push:function(t){e.push(t)},check:function(){for(var t=0;t<e.length;++t)e[t]();e.splice(0,e.length)}}}function i(e){var t=e;typeof t=="string"&&(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")),t[0]&&t[0].substr(0,2)==="#!"&&(t[0]=""),this.emitter=new o.EventEmitter,this.source=e,this.setLines(t),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="";for(var n=0;n<a.option.indent;n+=1)a.tab+=" "}var s=e("underscore"),o=e("events"),u=e("./reg.js"),a=e("./state.js").state,f={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9},l=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4304,4346,4348,4348,4352,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7104,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11520,11557,11568,11621,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,13312,19893,19893,19968,19968,40907,40907,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42897,42912,42921,43002,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,44032,55203,55203,55216,55238,55243,55291,63744,64045,64048,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66334,66352,66378,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67840,67861,67872,67897,68096,68096,68112,68115,68117,68119,68121,68147,68192,68220,68352,68405,68416,68437,68448,68466,68608,68680,69635,69687,69763,69807,73728,74606,74752,74850,77824,78894,92160,92728,110592,110593,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,131072,131072,173782,173782,173824,173824,177972,177972,177984,177984,178205,178205,194560,195101],c=[];for(var h=0;h<128;h++)c[h]=h===36||h>=65&&h<=90||h===95||h>=97&&h<=122;var p=[];for(var h=0;h<128;h++)p[h]=c[h]||h>=48&&h<=57;i.prototype={_lines:[],getLines:function(){return this._lines=a.lines,this._lines},setLines:function(e){this._lines=e,a.lines=this._lines},peek:function(e){return this.input.charAt(e||0)},skip:function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},on:function(e,t){e.split(" ").forEach(function(e){this.emitter.on(e,t)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(e,t,n,r){n.push(function(){r()&&this.trigger(e,t)}.bind(this))},scanPunctuator:function(){var e=this.peek(),t,n,r;switch(e){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if(this.peek(1)==="."&&this.peek(2)===".")return{type:f.Punctuator,value:"..."};case"(":case")":case";":case",":case"{":case"}":case"[":case"]":case":":case"~":case"?":return{type:f.Punctuator,value:e};case"#":return{type:f.Punctuator,value:e};case"":return null}return t=this.peek(1),n=this.peek(2),r=this.peek(3),e===">"&&t===">"&&n===">"&&r==="="?{type:f.Punctuator,value:">>>="}:e==="="&&t==="="&&n==="="?{type:f.Punctuator,value:"==="}:e==="!"&&t==="="&&n==="="?{type:f.Punctuator,value:"!=="}:e===">"&&t===">"&&n===">"?{type:f.Punctuator,value:">>>"}:e==="<"&&t==="<"&&n==="="?{type:f.Punctuator,value:"<<="}:e===">"&&t===">"&&n==="="?{type:f.Punctuator,value:">>="}:e==="="&&t===">"?{type:f.Punctuator,value:e+t}:e===t&&"+-<>&|".indexOf(e)>=0?{type:f.Punctuator,value:e+t}:"<>=!+-*%&|^".indexOf(e)>=0?t==="="?{type:f.Punctuator,value:e+t}:{type:f.Punctuator,value:e}:e==="/"?t==="="&&/\/=(?!(\S*\/[gim]?))/.test(this.input)?{type:f.Punctuator,value:"/="}:{type:f.Punctuator,value:"/"}:null},scanComments:function(){function e(e,t,n){var r=["jshint","jslint","members","member","globals","global","exported"],i=!1,s=e+t,o="plain";return n=n||{},n.isMultiline&&(s+="*/"),r.forEach(function(n){if(i)return;if(e==="//"&&n!=="jshint")return;t.substr(0,n.length)===n&&(i=!0,e+=n,t=t.substr(n.length)),!i&&t.charAt(0)===" "&&t.substr(1,n.length)===n&&(i=!0,e=e+" "+n,t=t.substr(n.length+1));if(!i)return;switch(n){case"member":o="members";break;case"global":o="globals";break;default:o=n}}),{type:f.Comment,commentType:o,value:s,body:t,isSpecial:i,isMultiline:n.isMultiline||!1,isMalformed:n.isMalformed||!1}}var t=this.peek(),n=this.peek(1),r=this.input.substr(2),i=this.line,s=this.char;if(t==="*"&&n==="/")return this.trigger("error",{code:"E018",line:i,character:s}),this.skip(2),null;if(t!=="/"||n!=="*"&&n!=="/")return null;if(n==="/")return this.skip(this.input.length),e("//",r);var o="";if(n==="*"){this.skip(2);while(this.peek()!=="*"||this.peek(1)!=="/")if(this.peek()===""){o+="\n";if(!this.nextLine())return this.trigger("error",{code:"E017",line:i,character:s}),e("/*",o,{isMultiline:!0,isMalformed:!0})}else o+=this.peek(),this.skip();return this.skip(2),e("/*",o,{isMultiline:!0})}},scanKeyword:function(){var e=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),t=["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];return e&&t.indexOf(e[0])>=0?{type:f.Keyword,value:e[0]}:null},scanIdentifier:function(){function e(e){for(var t=0;t<l.length;){if(e<l[t++])return!1;if(e<=l[t++])return!0}return!1}function t(e){return/^[0-9a-fA-F]$/.test(e)}var n="",r=0,i,s,o=function(){r+=1;if(this.peek(r)!=="u")return null;var n=this.peek(r+1),i=this.peek(r+2),s=this.peek(r+3),o=this.peek(r+4),u;return t(n)&&t(i)&&t(s)&&t(o)?(u=parseInt(n+i+s+o,16),e(u)?(r+=5,"\\u"+n+i+s+o):null):null}.bind(this),u=function(){var t=this.peek(r),n=t.charCodeAt(0);return n===92?o():n<128?c[n]?(r+=1,t):null:e(n)?(r+=1,t):null}.bind(this),a=function(){var t=this.peek(r),n=t.charCodeAt(0);return n===92?o():n<128?p[n]?(r+=1,t):null:e(n)?(r+=1,t):null}.bind(this);s=u();if(s===null)return null;n=s;for(;;){s=a();if(s===null)break;n+=s}switch(n){case"true":case"false":i=f.BooleanLiteral;break;case"null":i=f.NullLiteral;break;default:i=f.Identifier}return{type:i,value:n}},scanNumericLiteral:function(){function e(e){return/^[0-9]$/.test(e)}function t(e){return/^[0-7]$/.test(e)}function n(e){return/^[0-9a-fA-F]$/.test(e)}function r(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"}var i=0,s="",o=this.input.length,u=this.peek(i),a;if(u!=="."&&!e(u))return null;if(u!=="."){s=this.peek(i),i+=1,u=this.peek(i);if(s==="0"){if(u==="x"||u==="X"){i+=1,s+=u;while(i<o){u=this.peek(i);if(!n(u))break;s+=u,i+=1}if(s.length<=2)return{type:f.NumericLiteral,value:s,isMalformed:!0};if(i<o){u=this.peek(i);if(r(u))return null}return{type:f.NumericLiteral,value:s,base:16,isMalformed:!1}}if(t(u)){i+=1,s+=u,a=!1;while(i<o){u=this.peek(i);if(e(u))a=!0;else if(!t(u))break;s+=u,i+=1}if(i<o){u=this.peek(i);if(r(u))return null}return{type:f.NumericLiteral,value:s,base:8,isMalformed:!1}}e(u)&&(i+=1,s+=u)}while(i<o){u=this.peek(i);if(!e(u))break;s+=u,i+=1}}if(u==="."){s+=u,i+=1;while(i<o){u=this.peek(i);if(!e(u))break;s+=u,i+=1}}if(u==="e"||u==="E"){s+=u,i+=1,u=this.peek(i);if(u==="+"||u==="-")s+=this.peek(i),i+=1;u=this.peek(i);if(!e(u))return null;s+=u,i+=1;while(i<o){u=this.peek(i);if(!e(u))break;s+=u,i+=1}}if(i<o){u=this.peek(i);if(r(u))return null}return{type:f.NumericLiteral,value:s,base:10,isMalformed:!isFinite(s)}},scanStringLiteral:function(e){var t=this.peek();if(t!=='"'&&t!=="'")return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},e,function(){return a.jsonMode&&t!=='"'});var n="",r=this.line,i=this.char,s=!1;this.skip();while(this.peek()!==t){while(this.peek()===""){s?(s=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},e,function(){return!a.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},e,function(){return a.jsonMode&&a.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char});if(!this.nextLine())return this.trigger("error",{code:"E029",line:r,character:i}),{type:f.StringLiteral,value:n,isUnclosed:!0,quote:t}}s=!1;var o=this.peek(),u=1;o<" "&&this.trigger("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]});if(o==="\\"){this.skip(),o=this.peek();switch(o){case"'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\'"]},e,function(){return a.jsonMode});break;case"b":o="\b";break;case"f":o="\f";break;case"n":o="\n";break;case"r":o="\r";break;case"t":o=" ";break;case"0":o="\0";var l=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return l>=0&&l<=7&&a.directive["use strict"]});break;case"u":o=String.fromCharCode(parseInt(this.input.substr(1,4),16)),u=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\v"]},e,function(){return a.jsonMode}),o=" ";break;case"x":var c=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\x-"]},e,function(){return a.jsonMode}),o=String.fromCharCode(c),u=3;break;case"\\":case'"':case"/":break;case"":s=!0,o="";break;case"!":if(n.slice(n.length-2)==="<")break;default:this.trigger("warning",{code:"W044",line:this.line,character:this.char})}}n+=o,this.skip(u)}return this.skip(),{type:f.StringLiteral,value:n,isUnclosed:!1,quote:t}},scanRegExp:function(){var e=0,t=this.input.length,n=this.peek(),r=n,i="",s=[],o=!1,u=!1,a,l=function(){n<" "&&(o=!0,this.trigger("warning",{code:"W048",line:this.line,character:this.char})),n==="<"&&(o=!0,this.trigger("warning",{code:"W049",line:this.line,character:this.char,data:[n]}))}.bind(this);if(!this.prereg||n!=="/")return null;e+=1,a=!1;while(e<t){n=this.peek(e),r+=n,i+=n;if(u){n==="]"&&(this.peek(e-1)!=="\\"||this.peek(e-2)==="\\")&&(u=!1),n==="\\"&&(e+=1,n=this.peek(e),i+=n,r+=n,l()),e+=1;continue}if(n==="\\"){e+=1,n=this.peek(e),i+=n,r+=n,l();if(n==="/"){e+=1;continue}if(n==="["){e+=1;continue}}if(n==="["){u=!0,e+=1;continue}if(n==="/"){i=i.substr(0,i.length-1),a=!0,e+=1;break}e+=1}if(!a)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});while(e<t){n=this.peek(e);if(!/[gim]/.test(n))break;s.push(n),r+=n,e+=1}try{new RegExp(i,s.join(""))}catch(c){o=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[c.message]})}return{type:f.RegExp,value:r,flags:s,isMalformed:o}},scanMixedSpacesAndTabs:function(){var e,t;return a.option.smarttabs?(t=this.input.match(/(\/\/|^\s?\*)? \t/),e=t&&!t[1]?0:-1):e=this.input.search(/ \t|\t [^\*]/),e},scanUnsafeChars:function(){return this.input.search(u.unsafeChars)},next:function(e){this.from=this.char;var t;if(/\s/.test(this.peek())){t=this.char;while(/\s/.test(this.peek()))this.from+=1,this.skip();this.peek()===""&&!/^\s*$/.test(this.getLines()[this.line-1])&&a.option.trailing&&this.trigger("warning",{code:"W102",line:this.line,character:t})}var n=this.scanComments()||this.scanStringLiteral(e);return n?n:(n=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),n?(this.skip(n.value.length),n):null)},nextLine:function(){var e;return this.line>=this.getLines().length?!1:(this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1,e=this.scanMixedSpacesAndTabs(),e>=0&&this.trigger("warning",{code:"W099",line:this.line,character:e+1}),this.input=this.input.replace(/\t/g,a.tab),e=this.scanUnsafeChars(),e>=0&&this.trigger("warning",{code:"W100",line:this.line,character:e}),a.option.maxlen&&a.option.maxlen<this.input.length&&this.trigger("warning",{code:"W101",line:this.line,character:this.input.length}),!0)},start:function(){this.nextLine()},token:function(){function e(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureReservedWord&&a.option.inES5()){if(!n.es5)return!1;if(n.strictOnly&&!a.option.strict&&!a.directive["use strict"])return!1;if(t)return!1}return!0}var t=r(),n,i=function(n,r,i){var o;n!=="(endline)"&&n!=="(end)"&&(this.prereg=!1);if(n==="(punctuator)"){switch(r){case".":case")":case"~":case"#":case"]":this.prereg=!1;break;default:this.prereg=!0}o=Object.create(a.syntax[r]||a.syntax["(error)"])}if(n==="(identifier)"){if(r==="return"||r==="case"||r==="typeof")this.prereg=!0;s.has(a.syntax,r)&&(o=Object.create(a.syntax[r]||a.syntax["(error)"]),e(o,i&&n==="(identifier)")||(o=null))}return o||(o=Object.create(a.syntax[n])),o.identifier=n==="(identifier)",o.type=o.type||n,o.value=r,o.line=this.line,o.character=this.char,o.from=this.from,i&&o.identifier&&(o.isProperty=i),o.check=t.check,o}.bind(this);for(;;){if(!this.input.length)return i(this.nextLine()?"(endline)":"(end)","");n=this.next(t);if(!n){this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="");continue}switch(n.type){case f.StringLiteral:return this.triggerAsync("String",{line:this.line,"char":this.char,from:this.from,value:n.value,quote:n.quote},t,function(){return!0}),i("(string)",n.value);case f.Identifier:this.trigger("Identifier",{line:this.line,"char":this.char,from:this.form,name:n.value,isProperty:a.tokens.curr.id==="."});case f.Keyword:case f.NullLiteral:case f.BooleanLiteral:return i("(identifier)",n.value,a.tokens.curr.id===".");case f.NumericLiteral:return n.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[n.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},t,function(){return n.base===16&&a.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},t,function(){return a.directive["use strict"]&&n.base===8}),this.trigger("Number",{line:this.line,"char":this.char,from:this.from,value:n.value,base:n.base,isMalformed:n.malformed}),i("(number)",n.value);case f.RegExp:return i("(regexp)",n.value);case f.Comment:a.tokens.curr.comment=!0;if(n.isSpecial)return{value:n.value,body:n.body,type:n.commentType,isSpecial:n.isSpecial,line:this.line,character:this.char,from:this.from};break;case"":break;default:return i("(punctuator)",n.value)}}}},n.Lexer=i},{"./reg.js":6,"./state.js":7,events:10,underscore:1}],6:[function(e,t,n){"use string";n.unsafeString=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,n.unsafeChars=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEsc=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEscGlobal=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n.starSlash=/\*\//,n.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,n.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i,n.fallsThrough=/^\s*\/\*\s*falls?\sthrough\s*\*\/\s*$/},{}],7:[function(e,t,n){var r={syntax:{},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab="",this.cache={}}};n.state=r},{}],8:[function(e,t,n){n.register=function(e){e.on("Identifier",function(t){if(e.getOption("proto"))return;t.name==="__proto__"&&e.warn("W103",{line:t.line,"char":t.char,data:[t.name]})}),e.on("Identifier",function(t){if(e.getOption("iterator"))return;t.name==="__iterator__"&&e.warn("W104",{line:t.line,"char":t.char,data:[t.name]})}),e.on("Identifier",function(t){if(!e.getOption("nomen"))return;if(t.name==="_")return;if(e.getOption("node")&&/^(__dirname|__filename)$/.test(t.name)&&!t.isProperty)return;/^(_+.*|.*_+)$/.test(t.name)&&e.warn("W105",{line:t.line,"char":t.from,data:["dangling '_'",t.name]})}),e.on("Identifier",function(t){if(!e.getOption("camelcase"))return;t.name.replace(/^_+/,"").indexOf("_")>-1&&!t.name.match(/^[A-Z0-9_]*$/)&&e.warn("W106",{line:t.line,"char":t.from,data:[t.name]})}),e.on("String",function(t){var n=e.getOption("quotmark"),r;if(!n)return;n==="single"&&t.quote!=="'"&&(r="W109"),n==="double"&&t.quote!=='"'&&(r="W108"),n===!0&&(e.getCache("quotmark")||e.setCache("quotmark",t.quote),e.getCache("quotmark")!==t.quote&&(r="W110")),r&&e.warn(r,{line:t.line,"char":t.char})}),e.on("Number",function(t){t.value.charAt(0)==="."&&e.warn("W008",{line:t.line,"char":t.char,data:[t.value]}),t.value.substr(t.value.length-1)==="."&&e.warn("W047",{line:t.line,"char":t.char,data:[t.value]}),/^00+/.test(t.value)&&e.warn("W046",{line:t.line,"char":t.char,data:[t.value]})}),e.on("String",function(t){var n=/^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i;if(e.getOption("scripturl"))return;n.test(t.value)&&e.warn("W107",{line:t.line,"char":t.char})})}},{}],9:[function(e,t,n){},{}],10:[function(e,t,n){function r(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(t===e[n])return n;return-1}var i=e("__browserify_process");i.EventEmitter||(i.EventEmitter=function(){});var s=n.EventEmitter=i.EventEmitter,o=typeof Array.isArray=="function"?Array.isArray:function(e){return Object.prototype.toString.call(e)==="[object Array]"},u=200;s.prototype.setMaxListeners=function(e){this._events||(this._events={}),this._events.maxListeners=e},s.prototype.emit=function(e){if(e==="error")if(!this._events||!this._events.error||o(this._events.error)&&!this._events.error.length)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var t=this._events[e];if(!t)return!1;if(typeof t=="function"){switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:var n=Array.prototype.slice.call(arguments,1);t.apply(this,n)}return!0}if(o(t)){var n=Array.prototype.slice.call(arguments,1),r=t.slice();for(var i=0,s=r.length;i<s;i++)r[i].apply(this,n);return!0}return!1},s.prototype.addListener=function(e,t){if("function"!=typeof t)throw new Error("addListener only takes instances of Function");this._events||(this._events={}),this.emit("newListener",e,t);if(!this._events[e])this._events[e]=t;else if(o(this._events[e])){if(!this._events[e].warned){var n;this._events.maxListeners!==undefined?n=this._events.maxListeners:n=u,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}this._events[e].push(t)}else this._events[e]=[this._events[e],t];return this},s.prototype.on=s.prototype.addListener,s.prototype.once=function(e,t){var n=this;return n.on(e,function r(){n.removeListener(e,r),t.apply(this,arguments)}),this},s.prototype.removeListener=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");if(!this._events||!this._events[e])return this;var n=this._events[e];if(o(n)){var i=r(n,t);if(i<0)return this;n.splice(i,1),n.length==0&&delete this._events[e]}else this._events[e]===t&&delete this._events[e];return this},s.prototype.removeAllListeners=function(e){return arguments.length===0?(this._events={},this):(e&&this._events&&this._events[e]&&(this._events[e]=null),this)},s.prototype.listeners=function(e){return this._events||(this._events={}),this._events[e]||(this._events[e]=[]),o(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]},s.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:typeof e._events[t]=="function"?n=1:n=e._events[t].length,n}},{__browserify_process:11}],11:[function(e,t,n){var r=t.exports={};r.nextTick=function(){var e=typeof window!="undefined"&&window.setImmediate,t=typeof window!="undefined"&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){if(e.source===window&&e.data==="process-tick"){e.stopPropagation();if(n.length>0){var t=n.shift();t()}}},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}],jshint:[function(e,t,n){t.exports=e("n4bKNg")},{}]},{},["n4bKNg"]),n.exports=r("jshint")})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/json_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/json/json_parse"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./json/json_parse"),o=t.JsonWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue();try{var t=s(e)}catch(n){var r=this.doc.indexToPosition(n.at-1);this.sender.emit("error",{row:r.row,column:r.column,text:n.message,type:"error"});return}this.sender.emit("ok")}}.call(o.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/json/json_parse",["require","exports","module"],function(e,t,n){var r,i,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "},o,u=function(e){throw{name:"SyntaxError",message:e,at:r,text:o}},a=function(e){return e&&e!==i&&u("Expected '"+e+"' instead of '"+i+"'"),i=o.charAt(r),r+=1,i},f=function(){var e,t="";i==="-"&&(t="-",a("-"));while(i>="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else n+=i}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/lua_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/lua/luaparse"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/lua/luaparse"),o=t.Worker=function(e){i.call(this,e),this.setTimeout(500)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue();try{s.parse(e)}catch(t){t instanceof SyntaxError&&this.sender.emit("error",{row:t.line-1,column:t.column,text:t.message,type:"error"});return}this.sender.emit("ok")}}.call(o.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/lua/luaparse",["require","exports","module"],function(e,t,n){(function(e,n,r){r(t)})(this,"luaparse",function(e){function t(e){if(Jt){var t=$t.pop();t.complete(),bt.locations&&(e.loc=t.loc),bt.ranges&&(e.range=t.range)}return e}function n(e,t,n){for(var r=0,i=e.length;r<i;r++)if(e[r][t]===n)return r;return-1}function r(e){var t=Dt.call(arguments,1);return e=e.replace(/%(\d)/g,function(e,n){return""+t[n-1]||""}),e}function i(){var e=Dt.call(arguments),t={},n,r;for(var i=0,s=e.length;i<s;i++){n=e[i];for(r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}function s(e){var t=r.apply(null,Dt.call(arguments,1)),n,i;throw"undefined"!=typeof e.line?(i=e.range[0]-e.lineStart,n=new SyntaxError(r("[%1:%2] %3",e.line,i,t)),n.line=e.line,n.index=e.range[0],n.column=i):(i=Bt-zt+1,n=new SyntaxError(r("[%1:%2] %3",Ut,i,t)),n.index=Bt,n.line=Ut,n.column=i),n}function o(e,t){s(t,Mt.expectedToken,e,t.value)}function u(e,t){"undefined"==typeof t&&(t=It.value);if("undefined"!=typeof e.type){var n;switch(e.type){case xt:n="string";break;case Tt:n="keyword";break;case Nt:n="identifier";break;case Ct:n="number";break;case kt:n="symbol";break;case Lt:n="boolean";break;case At:return s(e,Mt.unexpected,"symbol","nil",t)}return s(e,Mt.unexpected,n,e.value,t)}return s(e,Mt.unexpected,"symbol",e,t)}function a(){f();while(45===yt.charCodeAt(Bt)&&45===yt.charCodeAt(Bt+1))b(),f();if(Bt>=wt)return{type:St,value:"<eof>",line:Ut,lineStart:zt,range:[Bt,Bt]};var e=yt.charCodeAt(Bt),t=yt.charCodeAt(Bt+1);Rt=Bt;if(L(e))return l();switch(e){case 39:case 34:return p();case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return v();case 46:if(C(t))return v();if(46===t)return 46===yt.charCodeAt(Bt+2)?h():c("..");return c(".");case 61:if(61===t)return c("==");return c("=");case 62:if(61===t)return c(">=");return c(">");case 60:if(61===t)return c("<=");return c("<");case 126:if(61===t)return c("~=");return s({},Mt.expected,"=","~");case 58:if(58===t)return c("::");return c(":");case 91:if(91===t||61===t)return d();return c("[");case 42:case 47:case 94:case 37:case 44:case 123:case 125:case 93:case 40:case 41:case 59:case 35:case 45:case 43:return c(yt.charAt(Bt))}return u(yt.charAt(Bt))}function f(){while(Bt<wt){var e=yt.charCodeAt(Bt);if(T(e))Bt++;else{if(!N(e))break;Ut++,zt=++Bt}}}function l(){var e,t;while(A(yt.charCodeAt(++Bt)));return e=yt.slice(Rt,Bt),O(e)?t=Tt:"true"===e||"false"===e?(t=Lt,e="true"===e):"nil"===e?(t=At,e=null):t=Nt,{type:t,value:e,line:Ut,lineStart:zt,range:[Rt,Bt]}}function c(e){return Bt+=e.length,{type:kt,value:e,line:Ut,lineStart:zt,range:[Rt,Bt]}}function h(){return Bt+=3,{type:Ot,value:"...",line:Ut,lineStart:zt,range:[Rt,Bt]}}function p(){var e=yt.charCodeAt(Bt++),t=Bt,n="",r;while(Bt<wt){r=yt.charCodeAt(Bt++);if(e===r)break;if(92===r)n+=yt.slice(t,Bt-1)+y(),t=Bt;else if(Bt>=wt||N(r))n+=yt.slice(t,Bt-1),s({},Mt.unfinishedString,n+String.fromCharCode(r))}return n+=yt.slice(t,Bt-1),{type:xt,value:n,line:Ut,lineStart:zt,range:[Rt,Bt]}}function d(){var e=w();return!1===e&&s(jt,Mt.expected,"[",jt.value),{type:xt,value:e,line:Ut,lineStart:zt,range:[Rt,Bt]}}function v(){var e=yt.charAt(Bt),t=yt.charAt(Bt+1),n="0"===e&&"xX".indexOf(t||null)>=0?m():g();return{type:Ct,value:n,line:Ut,lineStart:zt,range:[Rt,Bt]}}function m(){var e=0,t=1,n=1,r,i,o,u;u=Bt+=2,k(yt.charCodeAt(Bt))||s({},Mt.malformedNumber,yt.slice(Rt,Bt));while(k(yt.charCodeAt(Bt)))Bt++;r=parseInt(yt.slice(u,Bt),16);if("."===yt.charAt(Bt)){i=++Bt;while(k(yt.charCodeAt(Bt)))Bt++;e=yt.slice(i,Bt),e=i===Bt?0:parseInt(e,16)/Math.pow(16,Bt-i)}if("pP".indexOf(yt.charAt(Bt)||null)>=0){Bt++,"+-".indexOf(yt.charAt(Bt)||null)>=0&&(n="+"===yt.charAt(Bt++)?1:-1),o=Bt,C(yt.charCodeAt(Bt))||s({},Mt.malformedNumber,yt.slice(Rt,Bt));while(C(yt.charCodeAt(Bt)))Bt++;t=yt.slice(o,Bt),t=Math.pow(2,t*n)}return(r+e)*t}function g(){while(C(yt.charCodeAt(Bt)))Bt++;if("."===yt.charAt(Bt)){Bt++;while(C(yt.charCodeAt(Bt)))Bt++}if("eE".indexOf(yt.charAt(Bt)||null)>=0){Bt++,"+-".indexOf(yt.charAt(Bt)||null)>=0&&Bt++,C(yt.charCodeAt(Bt))||s({},Mt.malformedNumber,yt.slice(Rt,Bt));while(C(yt.charCodeAt(Bt)))Bt++}return parseFloat(yt.slice(Rt,Bt))}function y(){var e=Bt;switch(yt.charAt(Bt)){case"n":return Bt++,"\n";case"r":return Bt++,"\r";case"t":return Bt++," ";case"v":return Bt++," ";case"b":return Bt++,"\b";case"f":return Bt++,"\f";case"z":return Bt++,f(),"";case"x":if(k(yt.charCodeAt(Bt+1))&&k(yt.charCodeAt(Bt+2)))return Bt+=3,"\\"+yt.slice(e,Bt);return"\\"+yt.charAt(Bt++);default:if(C(yt.charCodeAt(Bt))){while(C(yt.charCodeAt(++Bt)));return"\\"+yt.slice(e,Bt)}return yt.charAt(Bt++)}}function b(){Rt=Bt,Bt+=2;var e=yt.charAt(Bt),t="",n=!1,r=Bt,i=zt,s=Ut;"["===e&&(t=w(),!1===t?t=e:n=!0);if(!n){while(Bt<wt){if(N(yt.charCodeAt(Bt)))break;Bt++}bt.comments&&(t=yt.slice(r,Bt))}if(bt.comments){var o=_t.comment(t,yt.slice(Rt,Bt));bt.locations&&(o.loc={start:{line:s,column:Rt-i},end:{line:Ut,column:Bt-zt}}),bt.ranges&&(o.range=[Rt,Bt]),qt.push(o)}}function w(){var e=0,t="",n=!1,r,i;Bt++;while("="===yt.charAt(Bt+e))e++;if("["!==yt.charAt(Bt+e))return!1;Bt+=e+1,N(yt.charCodeAt(Bt))&&(Ut++,zt=Bt++),i=Bt;while(Bt<wt){r=yt.charAt(Bt++),N(r.charCodeAt(0))&&(Ut++,zt=Bt);if("]"===r){n=!0;for(var s=0;s<e;s++)"="!==yt.charAt(Bt+s)&&(n=!1);"]"!==yt.charAt(Bt+e)&&(n=!1)}if(n)break}return t+=yt.slice(i,Bt-1),Bt+=e+1,t}function E(){Ft=jt,jt=It,It=a()}function S(e){return e===jt.value?(E(),!0):!1}function x(e){e===jt.value?E():s(jt,Mt.expected,e,jt.value)}function T(e){return 9===e||32===e||11===e||12===e}function N(e){return 10===e||13===e}function C(e){return e>=48&&e<=57}function k(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function L(e){return e>=65&&e<=90||e>=97&&e<=122||95===e}function A(e){return e>=65&&e<=90||e>=97&&e<=122||95===e||e>=48&&e<=57}function O(e){switch(e.length){case 2:return"do"===e||"if"===e||"in"===e||"or"===e;case 3:return"and"===e||"end"===e||"for"===e||"not"===e;case 4:return"else"===e||"goto"===e||"then"===e;case 5:return"break"===e||"local"===e||"until"===e||"while"===e;case 6:return"elseif"===e||"repeat"===e||"return"===e;case 8:return"function"===e}return!1}function M(e){return kt===e.type?"#-".indexOf(e.value)>=0:Tt===e.type?"not"===e.value:!1}function _(e){switch(e.type){case"CallExpression":case"TableCallExpression":case"StringCallExpression":return!0}return!1}function D(e){if(St===e.type)return!0;if(Tt!==e.type)return!1;switch(e.value){case"else":case"elseif":case"end":case"until":return!0;default:return!1}}function P(){Wt.push(Array.apply(null,Wt[Xt++]))}function H(){Wt.pop(),Xt--}function B(e){if(-1!==Ht(Wt[Xt],e))return;Wt[Xt].push(e)}function j(e){B(e.name),F(e,!0)}function F(e,t){!t&&-1===n(Vt,"name",e.name)&&Vt.push(e),e.isLocal=t}function I(e){return-1!==Ht(Wt[Xt],e)}function q(){return new R(jt)}function R(e){bt.locations&&(this.loc={start:{line:e.line,column:e.range[0]-e.lineStart},end:{line:0,column:0}}),bt.ranges&&(this.range=[e.range[0],0])}function U(){Jt&&$t.push(q())}function z(e){Jt&&$t.push(e)}function W(){E(),U();var e=X();return St!==jt.type&&u(jt),Jt&&!e.length&&(Ft=jt),t(_t.chunk(e))}function X(e){var t=[],n;bt.scope&&P();while(!D(jt)){if("return"===jt.value){t.push(V());break}n=V(),n&&t.push(n)}return bt.scope&&H(),t}function V(){U();if(Tt===jt.type)switch(jt.value){case"local":return E(),nt();case"if":return E(),et();case"return":return E(),Z();case"function":E();var e=ot();return st(e);case"while":return E(),G();case"for":return E(),tt();case"repeat":return E(),Y();case"break":return E(),J();case"do":return E(),Q();case"goto":return E(),K()}if(kt===jt.type&&S("::"))return $();Jt&&$t.pop();if(S(";"))return;return rt()}function $(){var e=jt.value,n=it();return bt.scope&&(B("::"+e+"::"),F(n,!0)),x("::"),t(_t.labelStatement(n))}function J(){return t(_t.breakStatement())}function K(){var e=jt.value,n=it();return bt.scope&&(n.isLabel=I("::"+e+"::")),t(_t.gotoStatement(n))}function Q(){var e=X();return x("end"),t(_t.doStatement(e))}function G(){var e=ft();x("do");var n=X();return x("end"),t(_t.whileStatement(e,n))}function Y(){var e=X();x("until");var n=ft();return t(_t.repeatStatement(n,e))}function Z(){var e=[];if("end"!==jt.value){var n=at();null!=n&&e.push(n);while(S(","))n=ft(),e.push(n);S(";")}return t(_t.returnStatement(e))}function et(){var e=[],n,r,i;Jt&&(i=$t[$t.length-1],$t.push(i)),n=ft(),x("then"),r=X(),e.push(t(_t.ifClause(n,r))),Jt&&(i=q());while(S("elseif"))z(i),n=ft(),x("then"),r=X(),e.push(t(_t.elseifClause(n,r))),Jt&&(i=q());return S("else")&&(Jt&&(i=new R(Ft),$t.push(i)),r=X(),e.push(t(_t.elseClause(r)))),x("end"),t(_t.ifStatement(e))}function tt(){var e=it(),n;bt.scope&&j(e);if(S("=")){var r=ft();x(",");var i=ft(),s=S(",")?ft():null;return x("do"),n=X(),x("end"),t(_t.forNumericStatement(e,r,i,s,n))}var o=[e];while(S(","))e=it(),bt.scope&&j(e),o.push(e);x("in");var u=[];do{var a=ft();u.push(a)}while(S(","));return x("do"),n=X(),x("end"),t(_t.forGenericStatement(o,u,n))}function nt(){var e;if(Nt===jt.type){var n=[],r=[];do e=it(),n.push(e);while(S(","));if(S("="))do{var i=ft();r.push(i)}while(S(","));if(bt.scope)for(var s=0,u=n.length;s<u;s++)j(n[s]);return t(_t.localStatement(n,r))}if(S("function"))return e=it(),bt.scope&&j(e),st(e,!0);o("<name>",jt)}function rt(){var e=jt,n,r;Jt&&(r=q()),n=ht();if(null==n)return u(jt);if(",=".indexOf(jt.value)>=0){var i=[n],s=[],a;while(S(","))a=ht(),null==a&&o("<expression>",jt),i.push(a);x("=");do a=ft(),s.push(a);while(S(","));return z(r),t(_t.assignmentStatement(i,s))}return _(n)?(z(r),t(_t.callStatement(n))):u(e)}function it(){U();var e=jt.value;return Nt!==jt.type&&o("<name>",jt),E(),t(_t.identifier(e))}function st(e,n){var r=[];x("(");if(!S(")"))for(;;)if(Nt===jt.type){var i=it();bt.scope&&j(i),r.push(i);if(S(","))continue;if(S(")"))break}else{if(Ot===jt.type){r.push(dt()),x(")");break}o("<name> or '...'",jt)}var s=X();return x("end"),n=n||!1,t(_t.functionStatement(e,r,n,s))}function ot(){var e,n,r;Jt&&(r=q()),e=it(),bt.scope&&F(e,!1);while(S("."))z(r),n=it(),bt.scope&&F(n,!1),e=t(_t.memberExpression(e,".",n));return S(":")&&(z(r),n=it(),bt.scope&&F(n,!1),e=t(_t.memberExpression(e,":",n))),e}function ut(){var e=[],n,r;for(;;){U();if(kt===jt.type&&S("["))n=ft(),x("]"),x("="),r=ft(),e.push(t(_t.tableKey(n,r)));else if(Nt===jt.type)n=ft(),S("=")?(r=ft(),e.push(t(_t.tableKeyString(n,r)))):e.push(t(_t.tableValue(n)));else{if(null==(r=at())){$t.pop();break}e.push(t(_t.tableValue(r)))}if(",;".indexOf(jt.value)>=0){E();continue}if("}"===jt.value)break}return x("}"),t(_t.tableConstructorExpression(e))}function at(){var e=ct(0);return e}function ft(){var e=at();if(null!=e)return e;o("<expression>",jt)}function lt(e){var t=e.charCodeAt(0),n=e.length;if(1===n)switch(t){case 94:return 10;case 42:case 47:case 37:return 7;case 43:case 45:return 6;case 60:case 62:return 3}else if(2===n)switch(t){case 46:return 5;case 60:case 62:case 61:case 126:return 3;case 111:return 1}else if(97===t&&"and"===e)return 2;return 0}function ct(e){var n=jt.value,r,i;Jt&&(i=q());if(M(jt)){U(),E();var s=ct(8);s==null&&o("<expression>",jt),r=t(_t.unaryExpression(n,s))}null==r&&(r=dt(),null==r&&(r=ht()));if(null==r)return null;var u;for(;;){n=jt.value,u=kt===jt.type||Tt===jt.type?lt(n):0;if(u===0||u<=e)break;("^"===n||".."===n)&&u--,E();var a=ct(u);null==a&&o("<expression>",jt),Jt&&$t.push(i),r=t(_t.binaryExpression(n,r,a))}return r}function ht(){var e,n,r,i;Jt&&(r=q());if(Nt===jt.type)n=jt.value,e=it(),bt.scope&&F(e,i=I(n));else{if(!S("("))return null;e=ft(),x(")"),bt.scope&&(i=e.isLocal)}var s,o;for(;;)if(kt===jt.type)switch(jt.value){case"[":z(r),E(),s=ft(),e=t(_t.indexExpression(e,s)),x("]");break;case".":z(r),E(),o=it(),bt.scope&&F(o,i),e=t(_t.memberExpression(e,".",o));break;case":":z(r),E(),o=it(),bt.scope&&F(o,i),e=t(_t.memberExpression(e,":",o)),z(r),e=pt(e);break;case"(":case"{":z(r),e=pt(e);break;default:return e}else{if(xt!==jt.type)break;z(r),e=pt(e)}return e}function pt(e){if(kt===jt.type)switch(jt.value){case"(":E();var n=[],r=at();null!=r&&n.push(r);while(S(","))r=ft(),n.push(r);return x(")"),t(_t.callExpression(e,n));case"{":U(),E();var i=ut();return t(_t.tableCallExpression(e,i))}else if(xt===jt.type)return t(_t.stringCallExpression(e,dt()));o("function arguments",jt)}function dt(){var e=xt|Ct|Lt|At|Ot,n=jt.value,r=jt.type,i;Jt&&(i=q());if(r&e){z(i);var s=yt.slice(jt.range[0],jt.range[1]);return E(),t(_t.literal(r,n,s))}if(Tt===r&&"function"===n)return z(i),E(),st(null);if(S("{"))return z(i),ut()}function vt(t,n){return"undefined"==typeof n&&"object"==typeof t&&(n=t,t=undefined),n||(n={}),yt=t||"",bt=i(Et,n),Bt=0,Ut=1,zt=0,wt=yt.length,Wt=[[]],Xt=0,Vt=[],$t=[],bt.comments&&(qt=[]),bt.wait?e:gt()}function mt(t){return yt+=String(t),wt=yt.length,e}function gt(e){"undefined"!=typeof e&&mt(e),wt=yt.length,Jt=bt.locations||bt.ranges,It=a();var t=W();bt.comments&&(t.comments=qt),bt.scope&&(t.globals=Vt);if($t.length>0)throw new Error("Location tracking failed. This is most likely a bug in luaparse");return t}e.version="0.1.4";var yt,bt,wt,Et=e.defaultOptions={wait:!1,comments:!0,scope:!1,locations:!1,ranges:!1},St=1,xt=2,Tt=4,Nt=8,Ct=16,kt=32,Lt=64,At=128,Ot=256;e.tokenTypes={EOF:St,StringLiteral:xt,Keyword:Tt,Identifier:Nt,NumericLiteral:Ct,Punctuator:kt,BooleanLiteral:Lt,NilLiteral:At,VarargLiteral:Ot};var Mt=e.errors={unexpected:"Unexpected %1 '%2' near '%3'",expected:"'%1' expected near '%2'",expectedToken:"%1 expected near '%2'",unfinishedString:"unfinished string near '%1'",malformedNumber:"malformed number near '%1'"},_t=e.ast={labelStatement:function(e){return{type:"LabelStatement",label:e}},breakStatement:function(){return{type:"BreakStatement"}},gotoStatement:function(e){return{type:"GotoStatement",label:e}},returnStatement:function(e){return{type:"ReturnStatement",arguments:e}},ifStatement:function(e){return{type:"IfStatement",clauses:e}},ifClause:function(e,t){return{type:"IfClause",condition:e,body:t}},elseifClause:function(e,t){return{type:"ElseifClause",condition:e,body:t}},elseClause:function(e){return{type:"ElseClause",body:e}},whileStatement:function(e,t){return{type:"WhileStatement",condition:e,body:t}},doStatement:function(e){return{type:"DoStatement",body:e}},repeatStatement:function(e,t){return{type:"RepeatStatement",condition:e,body:t}},localStatement:function(e,t){return{type:"LocalStatement",variables:e,init:t}},assignmentStatement:function(e,t){return{type:"AssignmentStatement",variables:e,init:t}},callStatement:function(e){return{type:"CallStatement",expression:e}},functionStatement:function(e,t,n,r){return{type:"FunctionDeclaration",identifier:e,isLocal:n,parameters:t,body:r}},forNumericStatement:function(e,t,n,r,i){return{type:"ForNumericStatement",variable:e,start:t,end:n,step:r,body:i}},forGenericStatement:function(e,t,n){return{type:"ForGenericStatement",variables:e,iterators:t,body:n}},chunk:function(e){return{type:"Chunk",body:e}},identifier:function(e){return{type:"Identifier",name:e}},literal:function(e,t,n){return e=e===xt?"StringLiteral":e===Ct?"NumericLiteral":e===Lt?"BooleanLiteral":e===At?"NilLiteral":"VarargLiteral",{type:e,value:t,raw:n}},tableKey:function(e,t){return{type:"TableKey",key:e,value:t}},tableKeyString:function(e,t){return{type:"TableKeyString",key:e,value:t}},tableValue:function(e){return{type:"TableValue",value:e}},tableConstructorExpression:function(e){return{type:"TableConstructorExpression",fields:e}},binaryExpression:function(e,t,n){var r="and"===e||"or"===e?"LogicalExpression":"BinaryExpression";return{type:r,operator:e,left:t,right:n}},unaryExpression:function(e,t){return{type:"UnaryExpression",operator:e,argument:t}},memberExpression:function(e,t,n){return{type:"MemberExpression",indexer:t,identifier:n,base:e}},indexExpression:function(e,t){return{type:"IndexExpression",base:e,index:t}},callExpression:function(e,t){return{type:"CallExpression",base:e,arguments:t}},tableCallExpression:function(e,t){return{type:"TableCallExpression",base:e,arguments:t}},stringCallExpression:function(e,t){return{type:"StringCallExpression",base:e,argument:t}},comment:function(e,t){return{type:"Comment",value:e,raw:t}}},Dt=Array.prototype.slice,Pt=Object.prototype.toString,Ht=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Bt,jt,Ft,It,qt,Rt,Ut,zt;e.lex=a;var Wt,Xt,Vt,$t=[],Jt;R.prototype.complete=function(){bt.locations&&(this.loc.end.line=Ft.line,this.loc.end.column=Ft.range[1]-Ft.lineStart),bt.ranges&&(this.range[1]=Ft.range[1])},e.parse=vt,e.write=mt,e.end=gt})})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/php_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/php/php"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./php/php").PHP,o=t.PhpWorker=function(e){i.call(this,e),this.setTimeout(500)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[],n=s.Lexer(e,{short_open_tag:1});try{new s.Parser(n)}catch(r){t.push({row:r.line-1,column:null,text:r.message.charAt(0).toUpperCase()+r.message.substring(1),type:"error"})}t.length?this.sender.emit("error",t):this.sender.emit("ok")}}.call(o.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/php/php",["require","exports","module"],function(e,t,n){var r={Constants:{}};r.Constants.T_INCLUDE=262,r.Constants.T_INCLUDE_ONCE=261,r.Constants.T_EVAL=260,r.Constants.T_REQUIRE=259,r.Constants.T_REQUIRE_ONCE=258,r.Constants.T_LOGICAL_OR=263,r.Constants.T_LOGICAL_XOR=264,r.Constants.T_LOGICAL_AND=265,r.Constants.T_PRINT=266,r.Constants.T_PLUS_EQUAL=277,r.Constants.T_MINUS_EQUAL=276,r.Constants.T_MUL_EQUAL=275,r.Constants.T_DIV_EQUAL=274,r.Constants.T_CONCAT_EQUAL=273,r.Constants.T_MOD_EQUAL=272,r.Constants.T_AND_EQUAL=271,r.Constants.T_OR_EQUAL=270,r.Constants.T_XOR_EQUAL=269,r.Constants.T_SL_EQUAL=268,r.Constants.T_SR_EQUAL=267,r.Constants.T_BOOLEAN_OR=278,r.Constants.T_BOOLEAN_AND=279,r.Constants.T_IS_EQUAL=283,r.Constants.T_IS_NOT_EQUAL=282,r.Constants.T_IS_IDENTICAL=281,r.Constants.T_IS_NOT_IDENTICAL=280,r.Constants.T_IS_SMALLER_OR_EQUAL=285,r.Constants.T_IS_GREATER_OR_EQUAL=284,r.Constants.T_SL=287,r.Constants.T_SR=286,r.Constants.T_INSTANCEOF=288,r.Constants.T_INC=297,r.Constants.T_DEC=296,r.Constants.T_INT_CAST=295,r.Constants.T_DOUBLE_CAST=294,r.Constants.T_STRING_CAST=293,r.Constants.T_ARRAY_CAST=292,r.Constants.T_OBJECT_CAST=291,r.Constants.T_BOOL_CAST=290,r.Constants.T_UNSET_CAST=289,r.Constants.T_NEW=299,r.Constants.T_CLONE=298,r.Constants.T_EXIT=300,r.Constants.T_IF=301,r.Constants.T_ELSEIF=302,r.Constants.T_ELSE=303,r.Constants.T_ENDIF=304,r.Constants.T_LNUMBER=305,r.Constants.T_DNUMBER=306,r.Constants.T_STRING=307,r.Constants.T_STRING_VARNAME=308,r.Constants.T_VARIABLE=309,r.Constants.T_NUM_STRING=310,r.Constants.T_INLINE_HTML=311,r.Constants.T_CHARACTER=312,r.Constants.T_BAD_CHARACTER=313,r.Constants.T_ENCAPSED_AND_WHITESPACE=314,r.Constants.T_CONSTANT_ENCAPSED_STRING=315,r.Constants.T_ECHO=316,r.Constants.T_DO=317,r.Constants.T_WHILE=318,r.Constants.T_ENDWHILE=319,r.Constants.T_FOR=320,r.Constants.T_ENDFOR=321,r.Constants.T_FOREACH=322,r.Constants.T_ENDFOREACH=323,r.Constants.T_DECLARE=324,r.Constants.T_ENDDECLARE=325,r.Constants.T_AS=326,r.Constants.T_SWITCH=327,r.Constants.T_ENDSWITCH=328,r.Constants.T_CASE=329,r.Constants.T_DEFAULT=330,r.Constants.T_BREAK=331,r.Constants.T_CONTINUE=332,r.Constants.T_GOTO=333,r.Constants.T_FUNCTION=334,r.Constants.T_CONST=335,r.Constants.T_RETURN=336,r.Constants.T_TRY=337,r.Constants.T_CATCH=338,r.Constants.T_THROW=339,r.Constants.T_USE=340,r.Constants.T_GLOBAL=341,r.Constants.T_STATIC=347,r.Constants.T_ABSTRACT=346,r.Constants.T_FINAL=345,r.Constants.T_PRIVATE=344,r.Constants.T_PROTECTED=343,r.Constants.T_PUBLIC=342,r.Constants.T_VAR=348,r.Constants.T_UNSET=349,r.Constants.T_ISSET=350,r.Constants.T_EMPTY=351,r.Constants.T_HALT_COMPILER=352,r.Constants.T_CLASS=353,r.Constants.T_TRAIT=382,r.Constants.T_INTERFACE=354,r.Constants.T_EXTENDS=355,r.Constants.T_IMPLEMENTS=356,r.Constants.T_OBJECT_OPERATOR=357,r.Constants.T_DOUBLE_ARROW=358,r.Constants.T_LIST=359,r.Constants.T_ARRAY=360,r.Constants.T_CLASS_C=361,r.Constants.T_TRAIT_C=381,r.Constants.T_METHOD_C=362,r.Constants.T_FUNC_C=363,r.Constants.T_LINE=364,r.Constants.T_FILE=365,r.Constants.T_COMMENT=366,r.Constants.T_DOC_COMMENT=367,r.Constants.T_OPEN_TAG=368,r.Constants.T_OPEN_TAG_WITH_ECHO=369,r.Constants.T_CLOSE_TAG=370,r.Constants.T_WHITESPACE=371,r.Constants.T_START_HEREDOC=372,r.Constants.T_END_HEREDOC=373,r.Constants.T_DOLLAR_OPEN_CURLY_BRACES=374,r.Constants.T_CURLY_OPEN=375,r.Constants.T_PAAMAYIM_NEKUDOTAYIM=376,r.Constants.T_DOUBLE_COLON=376,r.Constants.T_NAMESPACE=377,r.Constants.T_NS_C=378,r.Constants.T_DIR=379,r.Constants.T_NS_SEPARATOR=380,r.Lexer=function(e,t){var n,i=function(e){if(e.match(/\n/)!==null){var t=e.substring(0,1);e="["+e.split(/\n/).join(t+","+t)+'].join("\\n")'}return e},s,o=t===undefined||/^(on|true|1)$/i.test(t.short_open_tag)?/(\<\?php\s|\<\?|\<\%|\<script language\=('|")?php('|")?\>)/i:/(\<\?php\s|<\?=|\<script language\=('|")?php('|")?\>)/i,u=t===undefined||/^(on|true|1)$/i.test(t.short_open_tag)?/^(\<\?php\s|\<\?|\<\%|\<script language\=('|")?php('|")?\>)/i:/^(\<\?php\s|<\?=|\<script language\=('|")?php('|")?\>)/i,a=[{value:r.Constants.T_NAMESPACE,re:/^namespace(?=\s)/i},{value:r.Constants.T_USE,re:/^use(?=\s)/i},{value:r.Constants.T_ABSTRACT,re:/^abstract(?=\s)/i},{value:r.Constants.T_IMPLEMENTS,re:/^implements(?=\s)/i},{value:r.Constants.T_INTERFACE,re:/^interface(?=\s)/i},{value:r.Constants.T_CONST,re:/^const(?=\s)/i},{value:r.Constants.T_STATIC,re:/^static(?=\s)/i},{value:r.Constants.T_FINAL,re:/^final(?=\s)/i},{value:r.Constants.T_VAR,re:/^var(?=\s)/i},{value:r.Constants.T_GLOBAL,re:/^global(?=\s)/i},{value:r.Constants.T_CLONE,re:/^clone(?=\s)/i},{value:r.Constants.T_THROW,re:/^throw(?=\s)/i},{value:r.Constants.T_EXTENDS,re:/^extends(?=\s)/i},{value:r.Constants.T_AND_EQUAL,re:/^&=/},{value:r.Constants.T_AS,re:/^as(?=\s)/i},{value:r.Constants.T_ARRAY_CAST,re:/^\(array\)/i},{value:r.Constants.T_BOOL_CAST,re:/^\((bool|boolean)\)/i},{value:r.Constants.T_DOUBLE_CAST,re:/^\((real|float|double)\)/i},{value:r.Constants.T_INT_CAST,re:/^\((int|integer)\)/i},{value:r.Constants.T_OBJECT_CAST,re:/^\(object\)/i},{value:r.Constants.T_STRING_CAST,re:/^\(string\)/i},{value:r.Constants.T_UNSET_CAST,re:/^\(unset\)/i},{value:r.Constants.T_TRY,re:/^try(?=\s*{)/i},{value:r.Constants.T_CATCH,re:/^catch(?=\s*\()/i},{value:r.Constants.T_INSTANCEOF,re:/^instanceof(?=\s)/i},{value:r.Constants.T_LOGICAL_OR,re:/^or(?=\s)/i},{value:r.Constants.T_LOGICAL_AND,re:/^and(?=\s)/i},{value:r.Constants.T_LOGICAL_XOR,re:/^xor(?=\s)/i},{value:r.Constants.T_BOOLEAN_AND,re:/^&&/},{value:r.Constants.T_BOOLEAN_OR,re:/^\|\|/},{value:r.Constants.T_CONTINUE,re:/^continue(?=\s|;)/i},{value:r.Constants.T_BREAK,re:/^break(?=\s|;)/i},{value:r.Constants.T_ENDDECLARE,re:/^enddeclare(?=\s|;)/i},{value:r.Constants.T_ENDFOR,re:/^endfor(?=\s|;)/i},{value:r.Constants.T_ENDFOREACH,re:/^endforeach(?=\s|;)/i},{value:r.Constants.T_ENDIF,re:/^endif(?=\s|;)/i},{value:r.Constants.T_ENDSWITCH,re:/^endswitch(?=\s|;)/i},{value:r.Constants.T_ENDWHILE,re:/^endwhile(?=\s|;)/i},{value:r.Constants.T_CASE,re:/^case(?=\s)/i},{value:r.Constants.T_DEFAULT,re:/^default(?=\s|:)/i},{value:r.Constants.T_SWITCH,re:/^switch(?=[ (])/i},{value:r.Constants.T_EXIT,re:/^(exit|die)(?=[ \(;])/i},{value:r.Constants.T_CLOSE_TAG,re:/^(\?\>|\%\>|\<\/script\>)\s?\s?/i,func:function(e){return c=!1,e}},{value:r.Constants.T_DOUBLE_ARROW,re:/^\=\>/},{value:r.Constants.T_DOUBLE_COLON,re:/^\:\:/},{value:r.Constants.T_METHOD_C,re:/^__METHOD__/},{value:r.Constants.T_LINE,re:/^__LINE__/},{value:r.Constants.T_FILE,re:/^__FILE__/},{value:r.Constants.T_FUNC_C,re:/^__FUNCTION__/},{value:r.Constants.T_NS_C,re:/^__NAMESPACE__/},{value:r.Constants.T_TRAIT_C,re:/^__TRAIT__/},{value:r.Constants.T_DIR,re:/^__DIR__/},{value:r.Constants.T_CLASS_C,re:/^__CLASS__/},{value:r.Constants.T_INC,re:/^\+\+/},{value:r.Constants.T_DEC,re:/^\-\-/},{value:r.Constants.T_CONCAT_EQUAL,re:/^\.\=/},{value:r.Constants.T_DIV_EQUAL,re:/^\/\=/},{value:r.Constants.T_XOR_EQUAL,re:/^\^\=/},{value:r.Constants.T_MUL_EQUAL,re:/^\*\=/},{value:r.Constants.T_MOD_EQUAL,re:/^\%\=/},{value:r.Constants.T_SL_EQUAL,re:/^<<=/},{value:r.Constants.T_START_HEREDOC,re:/^<<<[A-Z_0-9]+\s/i,func:function(e){return n=e.substring(3,e.length-1),e}},{value:r.Constants.T_SL,re:/^<</},{value:r.Constants.T_IS_SMALLER_OR_EQUAL,re:/^<=/},{value:r.Constants.T_SR_EQUAL,re:/^>>=/},{value:r.Constants.T_SR,re:/^>>/},{value:r.Constants.T_IS_GREATER_OR_EQUAL,re:/^>=/},{value:r.Constants.T_OR_EQUAL,re:/^\|\=/},{value:r.Constants.T_PLUS_EQUAL,re:/^\+\=/},{value:r.Constants.T_MINUS_EQUAL,re:/^-\=/},{value:r.Constants.T_OBJECT_OPERATOR,re:/^\-\>/i},{value:r.Constants.T_CLASS,re:/^class(?=[\s\{])/i,afterWhitespace:!0},{value:r.Constants.T_TRAIT,re:/^trait(?=[\s]+[A-Za-z])/i},{value:r.Constants.T_PUBLIC,re:/^public(?=[\s])/i},{value:r.Constants.T_PRIVATE,re:/^private(?=[\s])/i},{value:r.Constants.T_PROTECTED,re:/^protected(?=[\s])/i},{value:r.Constants.T_ARRAY,re:/^array(?=\s*?\()/i},{value:r.Constants.T_EMPTY,re:/^empty(?=[ \(])/i},{value:r.Constants.T_ISSET,re:/^isset(?=[ \(])/i},{value:r.Constants.T_UNSET,re:/^unset(?=[ \(])/i},{value:r.Constants.T_RETURN,re:/^return(?=[ "'(;])/i},{value:r.Constants.T_FUNCTION,re:/^function(?=[ "'(;])/i},{value:r.Constants.T_ECHO,re:/^echo(?=[ "'(;])/i},{value:r.Constants.T_LIST,re:/^list(?=\s*?\()/i},{value:r.Constants.T_PRINT,re:/^print(?=[ "'(;])/i},{value:r.Constants.T_INCLUDE,re:/^include(?=[ "'(;])/i},{value:r.Constants.T_INCLUDE_ONCE,re:/^include_once(?=[ "'(;])/i},{value:r.Constants.T_REQUIRE,re:/^require(?=[ "'(;])/i},{value:r.Constants.T_REQUIRE_ONCE,re:/^require_once(?=[ "'(;])/i},{value:r.Constants.T_NEW,re:/^new(?=[ ])/i},{value:r.Constants.T_COMMENT,re:/^\/\*([\S\s]*?)(?:\*\/|$)/},{value:r.Constants.T_COMMENT,re:/^\/\/.*(\s)?/},{value:r.Constants.T_COMMENT,re:/^\#.*(\s)?/},{value:r.Constants.T_ELSEIF,re:/^elseif(?=[\s(])/i},{value:r.Constants.T_GOTO,re:/^goto(?=[\s(])/i},{value:r.Constants.T_ELSE,re:/^else(?=[\s{:])/i},{value:r.Constants.T_IF,re:/^if(?=[\s(])/i},{value:r.Constants.T_DO,re:/^do(?=[ {])/i},{value:r.Constants.T_WHILE,re:/^while(?=[ (])/i},{value:r.Constants.T_FOREACH,re:/^foreach(?=[ (])/i},{value:r.Constants.T_ISSET,re:/^isset(?=[ (])/i},{value:r.Constants.T_IS_IDENTICAL,re:/^===/},{value:r.Constants.T_IS_EQUAL,re:/^==/},{value:r.Constants.T_IS_NOT_IDENTICAL,re:/^\!==/},{value:r.Constants.T_IS_NOT_EQUAL,re:/^(\!=|\<\>)/},{value:r.Constants.T_FOR,re:/^for(?=[ (])/i},{value:r.Constants.T_DNUMBER,re:/^[0-9]*\.[0-9]+([eE][-]?[0-9]*)?/},{value:r.Constants.T_LNUMBER,re:/^(0x[0-9A-F]+|[0-9]+)/i},{value:r.Constants.T_OPEN_TAG_WITH_ECHO,re:/^(\<\?=|\<\%=)/i},{value:r.Constants.T_OPEN_TAG,re:u},{value:r.Constants.T_VARIABLE,re:/^\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{value:r.Constants.T_WHITESPACE,re:/^\s+/},{value:r.Constants.T_CONSTANT_ENCAPSED_STRING,re:/^("(?:[^"\\]|\\[\s\S])*"|'(?:[^'\\]|\\[\s\S])*')/,func:function(e,t){var n=0,i,s=0;if(e.substring(0,1)==="'")return e;var o=e.match(/(?:[^\\]|\\.)*[^\\]\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/g);if(o!==null){while(e.length>0){i=e.length,o=e.match(/^[\[\]\;\:\?\(\)\!\.\,\>\<\=\+\-\/\*\|\&\@\^\%\"\'\{\}]/),o!==null&&(f.push(o[0]),e=e.substring(1),n>0&&o[0]==="}"&&n--,o[0]==="["&&s++,o[0]==="]"&&s--),o=e.match(/^\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/);if(o!==null){f.push([parseInt(r.Constants.T_VARIABLE,10),o[0],l]),e=e.substring(o[0].length),o=e.match(/^(\-\>)([a-zA-Z0-9_\x7f-\xff]*)/),o!==null&&(f.push([parseInt(r.Constants.T_OBJECT_OPERATOR,10),o[1],l]),f.push([parseInt(r.Constants.T_STRING,10),o[2],l]),e=e.substring(o[0].length));if(e.match(/^\[/g)!==null)continue}var u;n>0?u=/^([^\\\$"{}\]]|\\.)+/g:u=/^([^\\\$"{]|\\.|{[^\$])+/g;while((o=e.match(u))!==null){if(e.length===1)throw new Error(o);f.push([parseInt(n>0?r.Constants.T_CONSTANT_ENCAPSED_STRING:r.Constants.T_ENCAPSED_AND_WHITESPACE,10),o[0].replace(/\n/g,"\\n").replace(/\r/g,""),l]),l+=o[0].split("\n").length-1,e=e.substring(o[0].length)}e.match(/^{\$/)!==null&&(f.push([parseInt(r.Constants.T_CURLY_OPEN,10),"{",l]),e=e.substring(1),n++);if(i===e.length&&(o=e.match(/^(([^\\]|\\.)*?[^\\]\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g))!==null)return}return undefined}return e=e.replace(/\n/g,"\\n").replace(/\r/g,""),e}},{value:r.Constants.T_NS_SEPARATOR,re:/^\\(?=[a-zA-Z_])/},{value:r.Constants.T_STRING,re:/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{value:-1,re:/^[\[\]\;\:\?\(\)\!\.\,\>\<\=\+\-\/\*\|\&\{\}\@\^\%\"\'\$\~]/}],f=[],l=1,c=!1,h=!0;if(e===null)return f;typeof e!="string"&&(e=e.toString());while(e.length>0&&h===!0)if(c===!0)if(n!==undefined){var p=new RegExp("([\\S\\s]*?)(\\r\\n|\\n|\\r)("+n+")(;|\\r\\n|\\n)","i"),d=e.match(p);d!==null&&(f.push([parseInt(r.Constants.T_ENCAPSED_AND_WHITESPACE,10),d[1].replace(/^\n/g,"").replace(/\\\$/g,"$")+"\n",l]),l+=d[1].split("\n").length,f.push([parseInt(r.Constants.T_END_HEREDOC,10),d[3],l]),e=e.substring(d[1].length+d[2].length+d[3].length),n=undefined);if(d===null)throw Error("sup")}else h=a.some(function(t){if(t.afterWhitespace===!0){var n=f[f.length-1];if(!Array.isArray(n)||n[0]!==r.Constants.T_WHITESPACE&&n[0]!==r.Constants.T_OPEN_TAG&&n[0]!==r.Constants.T_COMMENT)return!1}var i=e.match(t.re);if(i!==null){if(t.value!==-1){var s=i[0];t.func!==undefined&&(s=t.func(s,t)),s!==undefined&&(f.push([parseInt(t.value,10),s,l]),l+=s.split("\n").length-1)}else f.push(i[0]);return e=e.substring(i[0].length),!0}return!1});else{var d=o.exec(e);if(d===null)return f.push([parseInt(r.Constants.T_INLINE_HTML,10),e.replace(/^\n/,""),l]),f;if(d.index>0){var v=e.substring(0,d.index);f.push([parseInt(r.Constants.T_INLINE_HTML,10),v,l]),l+=v.split("\n").length-1,e=e.substring(d.index)}c=!0}return f},r.Parser=function(e,t){var n=this.yybase,i=this.yydefault,s=this.yycheck,o=this.yyaction,u=this.yylen,a=this.yygbase,f=this.yygcheck,l=this.yyp,c=this.yygoto,h=this.yylhs,p=this.terminals,d=this.translate,v=this.yygdefault;this.pos=-1,this.line=1,this.tokenMap=this.createTokenMap(),this.dropTokens={},this.dropTokens[r.Constants.T_WHITESPACE]=1,this.dropTokens[r.Constants.T_OPEN_TAG]=1;var m=[];e.forEach(function(e,t){typeof e=="object"&&e[0]===r.Constants.T_OPEN_TAG_WITH_ECHO?(m.push([r.Constants.T_OPEN_TAG,e[1],e[2]]),m.push([r.Constants.T_ECHO,e[1],e[2]])):m.push(e)}),this.tokens=m;var g=this.TOKEN_NONE;this.startAttributes={startLine:1},this.endAttributes={};var y=[this.startAttributes],b=0,w=[b];this.yyastk=[],this.stackPos=0;var E,S;for(;;){if(n[b]===0)E=i[b];else{g===this.TOKEN_NONE&&(S=this.getNextToken(),g=S>=0&&S<this.TOKEN_MAP_SIZE?d[S]:this.TOKEN_INVALID,y[this.stackPos]=this.startAttributes);if(((E=n[b]+g)>=0&&E<this.YYLAST&&s[E]===g||b<this.YY2TBLSTATE&&(E=n[b+this.YYNLSTATES]+g)>=0&&E<this.YYLAST&&s[E]===g)&&(E=o[E])!==this.YYDEFAULT)if(E>0){++this.stackPos,w[this.stackPos]=b=E,this.yyastk[this.stackPos]=this.tokenValue,y[this.stackPos]=this.startAttributes,g=this.TOKEN_NONE;if(E<this.YYNLSTATES)continue;E-=this.YYNLSTATES}else E=-E;else E=i[b]}for(;;){if(E===0)return this.yyval;if(E===this.YYUNEXPECTED){if(t!==!0){var x=[];for(var T=0;T<this.TOKEN_MAP_SIZE;++T)if((E=n[b]+T)>=0&&E<this.YYLAST&&s[E]==T||b<this.YY2TBLSTATE&&(E=n[b+this.YYNLSTATES]+T)&&E<this.YYLAST&&s[E]==T)if(o[E]!=this.YYUNEXPECTED){if(x.length==4){x=[];break}x.push(this.terminals[T])}var N="";throw x.length&&(N=", expecting "+x.join(" or ")),new r.ParseError("syntax error, unexpected "+p[g]+N,this.startAttributes.startLine)}return this.startAttributes.startLine}for(var C in this.endAttributes)y[this.stackPos-u[E]][C]=this.endAttributes[C];try{this["yyn"+E](y[this.stackPos-u[E]])}catch(k){throw k}this.stackPos-=u[E],E=h[E],(l=a[E]+w[this.stackPos])>=0&&l<this.YYGLAST&&f[l]===E?b=c[l]:b=v[E],++this.stackPos,w[this.stackPos]=b,this.yyastk[this.stackPos]=this.yyval,y[this.stackPos]=this.startAttributes;if(b<this.YYNLSTATES)break;E=b-this.YYNLSTATES}}},r.ParseError=function(e,t){this.message=e,this.line=t},r.Parser.prototype.MODIFIER_PUBLIC=1,r.Parser.prototype.MODIFIER_PROTECTED=2,r.Parser.prototype.MODIFIER_PRIVATE=4,r.Parser.prototype.MODIFIER_STATIC=8,r.Parser.prototype.MODIFIER_ABSTRACT=16,r.Parser.prototype.MODIFIER_FINAL=32,r.Parser.prototype.getNextToken=function(){this.startAttributes={},this.endAttributes={};var e,t;while(this.tokens[++this.pos]!==undefined){e=this.tokens[this.pos];if(typeof e=="string")return this.startAttributes.startLine=this.line,this.endAttributes.endLine=this.line,'b"'===e?(this.tokenValue='b"','"'.charCodeAt(0)):(this.tokenValue=e,e.charCodeAt(0));this.line+=(t=e[1].match(/\n/g))===null?0:t.length;if(r.Constants.T_COMMENT===e[0])Array.isArray(this.startAttributes.comments)||(this.startAttributes.comments=[]),this.startAttributes.comments.push({type:"comment",comment:e[1],line:e[2]});else if(r.Constants.T_DOC_COMMENT===e[0])this.startAttributes.comments.push(new PHPParser_Comment_Doc(e[1],e[2]));else if(this.dropTokens[e[0]]===undefined)return this.tokenValue=e[1],this.startAttributes.startLine=e[2],this.endAttributes.endLine=this.line,this.tokenMap[e[0]]}return this.startAttributes.startLine=this.line,0},r.Parser.prototype.tokenName=function(e){var t=["T_INCLUDE","T_INCLUDE_ONCE","T_EVAL","T_REQUIRE","T_REQUIRE_ONCE","T_LOGICAL_OR","T_LOGICAL_XOR","T_LOGICAL_AND","T_PRINT","T_PLUS_EQUAL","T_MINUS_EQUAL","T_MUL_EQUAL","T_DIV_EQUAL","T_CONCAT_EQUAL","T_MOD_EQUAL","T_AND_EQUAL","T_OR_EQUAL","T_XOR_EQUAL","T_SL_EQUAL","T_SR_EQUAL","T_BOOLEAN_OR","T_BOOLEAN_AND","T_IS_EQUAL","T_IS_NOT_EQUAL","T_IS_IDENTICAL","T_IS_NOT_IDENTICAL","T_IS_SMALLER_OR_EQUAL","T_IS_GREATER_OR_EQUAL","T_SL","T_SR","T_INSTANCEOF","T_INC","T_DEC","T_INT_CAST","T_DOUBLE_CAST","T_STRING_CAST","T_ARRAY_CAST","T_OBJECT_CAST","T_BOOL_CAST","T_UNSET_CAST","T_NEW","T_CLONE","T_EXIT","T_IF","T_ELSEIF","T_ELSE","T_ENDIF","T_LNUMBER","T_DNUMBER","T_STRING","T_STRING_VARNAME","T_VARIABLE","T_NUM_STRING","T_INLINE_HTML","T_CHARACTER","T_BAD_CHARACTER","T_ENCAPSED_AND_WHITESPACE","T_CONSTANT_ENCAPSED_STRING","T_ECHO","T_DO","T_WHILE","T_ENDWHILE","T_FOR","T_ENDFOR","T_FOREACH","T_ENDFOREACH","T_DECLARE","T_ENDDECLARE","T_AS","T_SWITCH","T_ENDSWITCH","T_CASE","T_DEFAULT","T_BREAK","T_CONTINUE","T_GOTO","T_FUNCTION","T_CONST","T_RETURN","T_TRY","T_CATCH","T_THROW","T_USE","T_INSTEADOF","T_GLOBAL","T_STATIC","T_ABSTRACT","T_FINAL","T_PRIVATE","T_PROTECTED","T_PUBLIC","T_VAR","T_UNSET","T_ISSET","T_EMPTY","T_HALT_COMPILER","T_CLASS","T_TRAIT","T_INTERFACE","T_EXTENDS","T_IMPLEMENTS","T_OBJECT_OPERATOR","T_DOUBLE_ARROW","T_LIST","T_ARRAY","T_CALLABLE","T_CLASS_C","T_TRAIT_C","T_METHOD_C","T_FUNC_C","T_LINE","T_FILE","T_COMMENT","T_DOC_COMMENT","T_OPEN_TAG","T_OPEN_TAG_WITH_ECHO","T_CLOSE_TAG","T_WHITESPACE","T_START_HEREDOC","T_END_HEREDOC","T_DOLLAR_OPEN_CURLY_BRACES","T_CURLY_OPEN","T_PAAMAYIM_NEKUDOTAYIM","T_DOUBLE_COLON","T_NAMESPACE","T_NS_C","T_DIR","T_NS_SEPARATOR"],n="UNKNOWN";return t.some(function(t){return r.Constants[t]===e?(n=t,!0):!1}),n},r.Parser.prototype.createTokenMap=function(){var e={},t,n,i=r.Constants.T_PAAMAYIM_NEKUDOTAYIM;for(n=256;n<1e3;++n)i===n?e[n]=this.T_PAAMAYIM_NEKUDOTAYIM:r.Constants.T_OPEN_TAG_WITH_ECHO===n?e[n]=r.Constants.T_ECHO:r.Constants.T_CLOSE_TAG===n?e[n]=59:"UNKNOWN"!==(t=this.tokenName(n))&&(e[n]=this[t]);return e};var i=function(){this.yyval=this.yyastk[this.stackPos-0]};r.Parser.prototype.MakeArray=function(e){return Array.isArray(e)?e:[e]},r.Parser.prototype.parseString=function(e){var t=0;return"b"===e[0]&&(t=1),"'"===e[t]?e=e.replace(["\\\\","\\'"],["\\","'"]):e=this.parseEscapeSequences(e,'"'),e},r.Parser.prototype.parseEscapeSequences=function(e,t){undefined!==t&&(e=e.replace(new RegExp("\\"+t,"g"),t));var n={"\\":"\\",$:"$",n:"\n",r:"\r",t:" ",f:"\f",v:" ",e:""};return e.replace(/~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3})~/g,function(e){var t=e[1];return n[t]!==undefined?n[t]:"x"===t[0]||"X"===t[0]?chr(hexdec(t)):chr(octdec(t))})},r.Parser.prototype.TOKEN_NONE=-1,r.Parser.prototype.TOKEN_INVALID=149,r.Parser.prototype.TOKEN_MAP_SIZE=384,r.Parser.prototype.YYLAST=913,r.Parser.prototype.YY2TBLSTATE=328,r.Parser.prototype.YYGLAST=415,r.Parser.prototype.YYNLSTATES=544,r.Parser.prototype.YYUNEXPECTED=32767,r.Parser.prototype.YYDEFAULT=-32766,r.Parser.prototype.YYERRTOK=256,r.Parser.prototype.T_INCLUDE=257,r.Parser.prototype.T_INCLUDE_ONCE=258,r.Parser.prototype.T_EVAL=259,r.Parser.prototype.T_REQUIRE=260,r.Parser.prototype.T_REQUIRE_ONCE=261,r.Parser.prototype.T_LOGICAL_OR=262,r.Parser.prototype.T_LOGICAL_XOR=263,r.Parser.prototype.T_LOGICAL_AND=264,r.Parser.prototype.T_PRINT=265,r.Parser.prototype.T_PLUS_EQUAL=266,r.Parser.prototype.T_MINUS_EQUAL=267,r.Parser.prototype.T_MUL_EQUAL=268,r.Parser.prototype.T_DIV_EQUAL=269,r.Parser.prototype.T_CONCAT_EQUAL=270,r.Parser.prototype.T_MOD_EQUAL=271,r.Parser.prototype.T_AND_EQUAL=272,r.Parser.prototype.T_OR_EQUAL=273,r.Parser.prototype.T_XOR_EQUAL=274,r.Parser.prototype.T_SL_EQUAL=275,r.Parser.prototype.T_SR_EQUAL=276,r.Parser.prototype.T_BOOLEAN_OR=277,r.Parser.prototype.T_BOOLEAN_AND=278,r.Parser.prototype.T_IS_EQUAL=279,r.Parser.prototype.T_IS_NOT_EQUAL=280,r.Parser.prototype.T_IS_IDENTICAL=281,r.Parser.prototype.T_IS_NOT_IDENTICAL=282,r.Parser.prototype.T_IS_SMALLER_OR_EQUAL=283,r.Parser.prototype.T_IS_GREATER_OR_EQUAL=284,r.Parser.prototype.T_SL=285,r.Parser.prototype.T_SR=286,r.Parser.prototype.T_INSTANCEOF=287,r.Parser.prototype.T_INC=288,r.Parser.prototype.T_DEC=289,r.Parser.prototype.T_INT_CAST=290,r.Parser.prototype.T_DOUBLE_CAST=291,r.Parser.prototype.T_STRING_CAST=292,r.Parser.prototype.T_ARRAY_CAST=293,r.Parser.prototype.T_OBJECT_CAST=294,r.Parser.prototype.T_BOOL_CAST=295,r.Parser.prototype.T_UNSET_CAST=296,r.Parser.prototype.T_NEW=297,r.Parser.prototype.T_CLONE=298,r.Parser.prototype.T_EXIT=299,r.Parser.prototype.T_IF=300,r.Parser.prototype.T_ELSEIF=301,r.Parser.prototype.T_ELSE=302,r.Parser.prototype.T_ENDIF=303,r.Parser.prototype.T_LNUMBER=304,r.Parser.prototype.T_DNUMBER=305,r.Parser.prototype.T_STRING=306,r.Parser.prototype.T_STRING_VARNAME=307,r.Parser.prototype.T_VARIABLE=308,r.Parser.prototype.T_NUM_STRING=309,r.Parser.prototype.T_INLINE_HTML=310,r.Parser.prototype.T_CHARACTER=311,r.Parser.prototype.T_BAD_CHARACTER=312,r.Parser.prototype.T_ENCAPSED_AND_WHITESPACE=313,r.Parser.prototype.T_CONSTANT_ENCAPSED_STRING=314,r.Parser.prototype.T_ECHO=315,r.Parser.prototype.T_DO=316,r.Parser.prototype.T_WHILE=317,r.Parser.prototype.T_ENDWHILE=318,r.Parser.prototype.T_FOR=319,r.Parser.prototype.T_ENDFOR=320,r.Parser.prototype.T_FOREACH=321,r.Parser.prototype.T_ENDFOREACH=322,r.Parser.prototype.T_DECLARE=323,r.Parser.prototype.T_ENDDECLARE=324,r.Parser.prototype.T_AS=325,r.Parser.prototype.T_SWITCH=326,r.Parser.prototype.T_ENDSWITCH=327,r.Parser.prototype.T_CASE=328,r.Parser.prototype.T_DEFAULT=329,r.Parser.prototype.T_BREAK=330,r.Parser.prototype.T_CONTINUE=331,r.Parser.prototype.T_GOTO=332,r.Parser.prototype.T_FUNCTION=333,r.Parser.prototype.T_CONST=334,r.Parser.prototype.T_RETURN=335,r.Parser.prototype.T_TRY=336,r.Parser.prototype.T_CATCH=337,r.Parser.prototype.T_THROW=338,r.Parser.prototype.T_USE=339,r.Parser.prototype.T_INSTEADOF=340,r.Parser.prototype.T_GLOBAL=341,r.Parser.prototype.T_STATIC=342,r.Parser.prototype.T_ABSTRACT=343,r.Parser.prototype.T_FINAL=344,r.Parser.prototype.T_PRIVATE=345,r.Parser.prototype.T_PROTECTED=346,r.Parser.prototype.T_PUBLIC=347,r.Parser.prototype.T_VAR=348,r.Parser.prototype.T_UNSET=349,r.Parser.prototype.T_ISSET=350,r.Parser.prototype.T_EMPTY=351,r.Parser.prototype.T_HALT_COMPILER=352,r.Parser.prototype.T_CLASS=353,r.Parser.prototype.T_TRAIT=354,r.Parser.prototype.T_INTERFACE=355,r.Parser.prototype.T_EXTENDS=356,r.Parser.prototype.T_IMPLEMENTS=357,r.Parser.prototype.T_OBJECT_OPERATOR=358,r.Parser.prototype.T_DOUBLE_ARROW=359,r.Parser.prototype.T_LIST=360,r.Parser.prototype.T_ARRAY=361,r.Parser.prototype.T_CALLABLE=362,r.Parser.prototype.T_CLASS_C=363,r.Parser.prototype.T_TRAIT_C=364,r.Parser.prototype.T_METHOD_C=365,r.Parser.prototype.T_FUNC_C=366,r.Parser.prototype.T_LINE=367,r.Parser.prototype.T_FILE=368,r.Parser.prototype.T_COMMENT=369,r.Parser.prototype.T_DOC_COMMENT=370,r.Parser.prototype.T_OPEN_TAG=371,r.Parser.prototype.T_OPEN_TAG_WITH_ECHO=372,r.Parser.prototype.T_CLOSE_TAG=373,r.Parser.prototype.T_WHITESPACE=374,r.Parser.prototype.T_START_HEREDOC=375,r.Parser.prototype.T_END_HEREDOC=376,r.Parser.prototype.T_DOLLAR_OPEN_CURLY_BRACES=377,r.Parser.prototype.T_CURLY_OPEN=378,r.Parser.prototype.T_PAAMAYIM_NEKUDOTAYIM=379,r.Parser.prototype.T_NAMESPACE=380,r.Parser.prototype.T_NS_C=381,r.Parser.prototype.T_DIR=382,r.Parser.prototype.T_NS_SEPARATOR=383,r.Parser.prototype.terminals=["$EOF","error","T_INCLUDE","T_INCLUDE_ONCE","T_EVAL","T_REQUIRE","T_REQUIRE_ONCE","','","T_LOGICAL_OR","T_LOGICAL_XOR","T_LOGICAL_AND","T_PRINT","'='","T_PLUS_EQUAL","T_MINUS_EQUAL","T_MUL_EQUAL","T_DIV_EQUAL","T_CONCAT_EQUAL","T_MOD_EQUAL","T_AND_EQUAL","T_OR_EQUAL","T_XOR_EQUAL","T_SL_EQUAL","T_SR_EQUAL","'?'","':'","T_BOOLEAN_OR","T_BOOLEAN_AND","'|'","'^'","'&'","T_IS_EQUAL","T_IS_NOT_EQUAL","T_IS_IDENTICAL","T_IS_NOT_IDENTICAL","'<'","T_IS_SMALLER_OR_EQUAL","'>'","T_IS_GREATER_OR_EQUAL","T_SL","T_SR","'+'","'-'","'.'","'*'","'/'","'%'","'!'","T_INSTANCEOF","'~'","T_INC","T_DEC","T_INT_CAST","T_DOUBLE_CAST","T_STRING_CAST","T_ARRAY_CAST","T_OBJECT_CAST","T_BOOL_CAST","T_UNSET_CAST","'@'","'['","T_NEW","T_CLONE","T_EXIT","T_IF","T_ELSEIF","T_ELSE","T_ENDIF","T_LNUMBER","T_DNUMBER","T_STRING","T_STRING_VARNAME","T_VARIABLE","T_NUM_STRING","T_INLINE_HTML","T_ENCAPSED_AND_WHITESPACE","T_CONSTANT_ENCAPSED_STRING","T_ECHO","T_DO","T_WHILE","T_ENDWHILE","T_FOR","T_ENDFOR","T_FOREACH","T_ENDFOREACH","T_DECLARE","T_ENDDECLARE","T_AS","T_SWITCH","T_ENDSWITCH","T_CASE","T_DEFAULT","T_BREAK","T_CONTINUE","T_GOTO","T_FUNCTION","T_CONST","T_RETURN","T_TRY","T_CATCH","T_THROW","T_USE","T_INSTEADOF","T_GLOBAL","T_STATIC","T_ABSTRACT","T_FINAL","T_PRIVATE","T_PROTECTED","T_PUBLIC","T_VAR","T_UNSET","T_ISSET","T_EMPTY","T_HALT_COMPILER","T_CLASS","T_TRAIT","T_INTERFACE","T_EXTENDS","T_IMPLEMENTS","T_OBJECT_OPERATOR","T_DOUBLE_ARROW","T_LIST","T_ARRAY","T_CALLABLE","T_CLASS_C","T_TRAIT_C","T_METHOD_C","T_FUNC_C","T_LINE","T_FILE","T_START_HEREDOC","T_END_HEREDOC","T_DOLLAR_OPEN_CURLY_BRACES","T_CURLY_OPEN","T_PAAMAYIM_NEKUDOTAYIM","T_NAMESPACE","T_NS_C","T_DIR","T_NS_SEPARATOR","';'","'{'","'}'","'('","')'","'$'","']'","'`'","'\"'","???"],r.Parser.prototype.translate=[0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,47,148,149,145,46,30,149,143,144,44,41,7,42,43,45,149,149,149,149,149,149,149,149,149,149,25,140,35,12,37,24,59,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,60,149,146,29,149,147,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,141,28,142,49,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,1,2,3,4,5,6,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,26,27,31,32,33,34,36,38,39,40,48,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,149,149,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,149,149,149,149,149,149,131,132,133,134,135,136,137,138,139],r.Parser.prototype.yyaction=[61,62,363,63,64,-32766,-32766,-32766,509,65,708,709,710,707,706,705,-32766,-32766,-32766,-32766,-32766,-32766,132,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32766,335,-32766,-32766,-32766,-32766,-32766,66,67,351,663,664,40,68,548,69,232,233,70,71,72,73,74,75,76,77,30,246,78,336,364,-112,0,469,833,834,365,641,890,436,590,41,835,53,27,366,294,367,687,368,921,369,923,922,370,-32766,-32766,-32766,42,43,371,339,126,44,372,337,79,297,349,292,293,-32766,918,-32766,-32766,373,374,375,376,377,391,199,361,338,573,613,378,379,380,381,845,839,840,841,842,836,837,253,-32766,87,88,89,391,843,838,338,597,519,128,80,129,273,332,257,261,47,673,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,799,247,884,108,109,110,226,247,21,-32766,310,-32766,-32766,-32766,642,548,-32766,-32766,-32766,-32766,56,353,-32766,-32766,-32766,55,-32766,-32766,-32766,-32766,-32766,58,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,557,-32766,-32766,518,-32766,548,890,-32766,390,-32766,228,252,-32766,-32766,-32766,-32766,-32766,275,-32766,234,-32766,587,588,-32766,-32766,-32766,-32766,-32766,-32766,-32766,46,236,-32766,-32766,281,-32766,682,348,-32766,390,-32766,346,333,521,-32766,-32766,-32766,271,911,262,237,446,911,-32766,894,59,700,358,135,548,123,538,35,-32766,333,122,-32766,-32766,-32766,271,-32766,124,-32766,692,-32766,-32766,-32766,-32766,700,273,22,-32766,-32766,-32766,-32766,239,-32766,-32766,612,-32766,548,134,-32766,390,-32766,462,354,-32766,-32766,-32766,-32766,-32766,227,-32766,238,-32766,845,542,-32766,856,611,200,-32766,-32766,-32766,259,280,-32766,-32766,201,-32766,855,129,-32766,390,130,202,333,206,-32766,-32766,-32766,271,-32766,-32766,-32766,125,601,-32766,136,299,700,489,28,548,105,106,107,-32766,498,499,-32766,-32766,-32766,207,-32766,133,-32766,525,-32766,-32766,-32766,-32766,663,664,527,-32766,-32766,-32766,-32766,528,-32766,-32766,610,-32766,548,427,-32766,390,-32766,532,539,-32766,-32766,-32766,-32766,-32766,240,-32766,247,-32766,697,543,-32766,554,523,608,-32766,-32766,-32766,686,535,-32766,-32766,54,-32766,57,60,-32766,390,246,-155,278,345,-32766,-32766,-32766,506,347,-152,471,402,403,-32766,405,404,272,493,416,548,318,417,505,-32766,517,548,-32766,-32766,-32766,549,-32766,562,-32766,916,-32766,-32766,-32766,-32766,564,826,848,-32766,-32766,-32766,-32766,694,-32766,-32766,485,-32766,548,487,-32766,390,-32766,504,802,-32766,-32766,-32766,-32766,-32766,279,-32766,911,-32766,502,492,-32766,413,483,269,-32766,-32766,-32766,243,337,-32766,-32766,418,-32766,454,229,-32766,390,274,373,374,344,-32766,-32766,-32766,360,614,-32766,573,613,378,379,-274,548,615,-332,844,-32766,258,51,-32766,-32766,-32766,270,-32766,346,-32766,52,-32766,260,0,-32766,-333,-32766,-32766,-32766,-32766,-32766,-32766,205,-32766,-32766,49,-32766,548,424,-32766,390,-32766,-266,264,-32766,-32766,-32766,-32766,-32766,409,-32766,343,-32766,265,312,-32766,470,513,-275,-32766,-32766,-32766,920,337,-32766,-32766,530,-32766,531,600,-32766,390,592,373,374,578,581,-32766,-32766,644,629,-32766,573,613,378,379,635,548,636,576,627,-32766,625,693,-32766,-32766,-32766,691,-32766,591,-32766,582,-32766,203,204,-32766,584,583,-32766,-32766,-32766,-32766,586,599,-32766,-32766,589,-32766,690,558,-32766,390,197,683,919,86,520,522,-32766,524,833,834,529,533,-32766,534,537,541,835,48,111,112,113,114,115,116,117,118,119,120,121,127,31,633,337,330,634,585,-32766,32,291,337,330,478,373,374,917,291,891,889,875,373,374,553,613,378,379,737,739,887,553,613,378,379,824,451,675,839,840,841,842,836,837,320,895,277,885,23,33,843,838,556,277,337,330,-32766,34,-32766,555,291,36,37,38,373,374,39,45,50,81,82,83,84,553,613,378,379,-32767,-32767,-32767,-32767,103,104,105,106,107,337,85,131,137,337,138,198,224,225,277,373,374,-332,230,373,374,24,337,231,573,613,378,379,573,613,378,379,373,374,235,248,249,250,337,251,0,573,613,378,379,276,329,331,373,374,-32766,337,574,490,792,337,609,573,613,378,379,373,374,25,300,373,374,319,337,795,573,613,378,379,573,613,378,379,373,374,516,355,359,445,482,796,507,573,613,378,379,508,548,337,890,775,791,337,604,803,808,806,698,373,374,888,807,373,374,-32766,-32766,-32766,573,613,378,379,573,613,378,379,873,832,804,872,851,-32766,809,-32766,-32766,-32766,-32766,805,20,26,29,298,480,515,770,778,827,457,0,900,455,774,0,0,0,874,870,886,823,915,852,869,488,0,391,793,0,338,0,0,0,340,0,273],r.Parser.prototype.yycheck=[2,3,4,5,6,8,9,10,70,11,104,105,106,107,108,109,8,9,10,8,9,24,60,26,27,28,29,30,31,32,33,34,24,7,26,27,28,29,30,41,42,7,123,124,7,47,70,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,144,0,75,68,69,70,25,72,70,74,7,76,77,78,79,7,81,142,83,70,85,72,73,88,8,9,10,92,93,94,95,7,97,98,95,100,7,7,103,104,24,142,26,27,105,106,111,112,113,136,7,7,139,114,115,116,117,122,123,132,125,126,127,128,129,130,131,8,8,9,10,136,137,138,139,140,141,25,143,141,145,142,147,148,24,72,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,144,48,72,44,45,46,30,48,144,64,72,8,9,10,140,70,8,9,10,74,60,25,77,78,79,60,81,24,83,26,85,60,24,88,26,27,28,92,93,94,64,140,97,98,70,100,70,72,103,104,74,145,7,77,78,79,111,81,7,83,30,85,140,140,88,8,9,10,92,93,94,133,134,97,98,145,100,140,7,103,104,24,139,96,141,140,141,111,101,75,75,30,70,75,64,70,60,110,121,12,70,141,25,143,74,96,141,77,78,79,101,81,141,83,140,85,140,141,88,110,145,144,92,93,94,64,7,97,98,142,100,70,141,103,104,74,145,141,77,78,79,111,81,7,83,30,85,132,25,88,132,142,12,92,93,94,120,60,97,98,12,100,148,141,103,104,141,12,96,12,140,141,111,101,8,9,10,141,25,64,90,91,110,65,66,70,41,42,43,74,65,66,77,78,79,12,81,25,83,25,85,140,141,88,123,124,25,92,93,94,64,25,97,98,142,100,70,120,103,104,74,25,25,77,78,79,111,81,30,83,48,85,140,141,88,140,141,30,92,93,94,140,141,97,98,60,100,60,60,103,104,61,72,75,70,140,141,111,67,70,87,99,70,70,64,70,72,102,89,70,70,71,70,70,74,70,70,77,78,79,70,81,70,83,70,85,140,141,88,70,144,70,92,93,94,64,70,97,98,72,100,70,72,103,104,74,72,72,77,78,79,111,81,75,83,75,85,89,86,88,79,101,118,92,93,94,87,95,97,98,87,100,87,87,103,104,118,105,106,95,140,141,111,95,115,64,114,115,116,117,135,70,115,120,132,74,120,140,77,78,79,119,81,139,83,140,85,120,-1,88,120,140,141,92,93,94,64,121,97,98,121,100,70,122,103,104,74,135,135,77,78,79,111,81,139,83,139,85,135,135,88,135,135,135,92,93,94,142,95,97,98,140,100,140,140,103,104,140,105,106,140,140,141,111,140,140,64,114,115,116,117,140,70,140,140,140,74,140,140,77,78,79,140,81,140,83,140,85,41,42,88,140,140,141,92,93,94,140,140,97,98,140,100,140,140,103,104,60,140,142,141,141,141,111,141,68,69,141,141,72,141,141,141,76,12,13,14,15,16,17,18,19,20,21,22,23,141,143,142,95,96,142,140,141,143,101,95,96,142,105,106,142,101,142,142,142,105,106,114,115,116,117,50,51,142,114,115,116,117,142,123,142,125,126,127,128,129,130,131,142,136,142,144,143,137,138,142,136,95,96,143,143,145,142,101,143,143,143,105,106,143,143,143,143,143,143,143,114,115,116,117,35,36,37,38,39,40,41,42,43,95,143,143,143,95,143,143,143,143,136,105,106,120,143,105,106,144,95,143,114,115,116,117,114,115,116,117,105,106,143,143,143,143,95,143,-1,114,115,116,117,143,143,143,105,106,143,95,142,80,146,95,142,114,115,116,117,105,106,144,144,105,106,144,95,142,114,115,116,117,114,115,116,117,105,106,82,144,144,144,144,142,84,114,115,116,117,144,70,95,72,144,144,95,142,144,146,144,142,105,106,146,144,105,106,8,9,10,114,115,116,117,114,115,116,117,144,144,144,144,144,24,104,26,27,28,29,144,144,144,144,144,144,144,144,144,144,144,-1,144,144,144,-1,-1,-1,146,146,146,146,146,146,146,146,-1,136,147,-1,139,-1,-1,-1,143,-1,145],r.Parser.prototype.yybase=[0,574,581,623,655,2,718,402,747,659,672,688,743,701,705,483,483,483,483,483,351,356,366,366,367,366,344,-2,-2,-2,200,200,231,231,231,231,231,231,231,231,200,231,451,482,532,316,370,115,146,285,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,44,474,429,476,481,487,488,739,740,741,734,733,416,736,539,541,342,542,543,552,557,559,536,567,737,755,569,735,738,123,123,123,123,123,123,123,123,123,122,11,336,336,336,336,336,336,336,336,336,336,336,336,336,336,336,227,227,173,577,577,577,577,577,577,577,577,577,577,577,79,178,846,8,-3,-3,-3,-3,642,706,706,706,706,157,179,242,431,431,360,431,525,368,767,767,767,767,767,767,767,767,767,767,767,767,350,375,315,315,652,652,-81,-81,-81,-81,251,185,188,184,-62,348,195,195,195,408,392,410,1,192,129,129,129,-24,-24,-24,-24,499,-24,-24,-24,113,108,108,12,161,349,526,271,398,529,438,130,206,265,427,76,414,427,288,295,76,166,44,262,422,141,491,372,494,413,71,92,93,267,135,100,34,415,745,746,742,-38,420,-10,135,147,744,498,107,26,493,144,377,363,369,332,363,400,377,588,377,376,377,360,37,582,376,377,374,376,388,363,364,412,369,377,441,443,390,106,332,377,390,377,400,64,590,591,323,592,589,593,649,608,362,500,399,407,620,625,636,365,354,614,524,425,359,355,423,570,578,357,406,414,394,352,403,531,433,403,653,434,385,417,411,444,310,318,501,425,668,757,380,637,684,403,609,387,87,325,638,382,403,639,403,696,503,615,403,697,384,435,425,352,352,352,700,66,699,583,702,707,704,748,721,749,584,750,358,583,722,751,682,215,613,422,436,389,447,221,257,752,403,403,506,499,403,395,685,397,426,753,392,391,647,683,403,418,754,221,723,587,724,450,568,507,648,509,327,725,353,497,610,454,622,455,461,404,510,373,732,612,247,361,664,463,405,692,641,464,465,511,343,437,335,409,396,665,293,467,468,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,0,0,0,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,0,0,0,0,0,0,0,0,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,767,767,767,767,767,767,767,767,767,767,767,123,123,123,123,123,123,123,123,0,129,129,129,129,-94,-94,-94,767,767,767,767,767,767,0,0,0,0,0,0,0,0,0,0,0,0,-94,-94,129,129,767,767,-24,-24,-24,-24,-24,108,108,108,-24,108,145,145,145,108,108,108,100,100,0,0,0,0,0,0,0,145,0,0,0,376,0,0,0,145,260,260,221,260,260,135,0,0,425,376,0,364,376,0,0,0,0,0,0,531,0,87,637,241,425,0,0,0,0,0,0,0,425,289,289,306,0,358,0,0,0,306,241,0,0,221],r.Parser.prototype.yydefault=[3,32767,32767,1,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,104,96,110,95,106,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,358,358,122,122,122,122,122,122,122,122,316,32767,32767,32767,32767,32767,32767,32767,32767,32767,173,173,173,32767,348,348,348,348,348,348,348,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,363,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,232,233,235,236,172,125,349,362,171,199,201,250,200,177,182,183,184,185,186,187,188,189,190,191,192,176,229,228,197,313,313,316,32767,32767,32767,32767,32767,32767,32767,32767,198,202,204,203,219,220,217,218,175,221,222,223,224,157,157,157,357,357,32767,357,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,158,32767,211,212,276,276,117,117,117,117,117,32767,32767,32767,32767,284,32767,32767,32767,32767,32767,286,32767,32767,206,207,205,32767,32767,32767,32767,32767,32767,32767,32767,32767,285,32767,32767,32767,32767,32767,32767,32767,32767,334,321,272,32767,32767,32767,265,32767,107,109,32767,32767,32767,32767,302,339,32767,32767,32767,17,32767,32767,32767,370,334,32767,32767,19,32767,32767,32767,32767,227,32767,338,332,32767,32767,32767,32767,32767,32767,63,32767,32767,32767,32767,32767,63,281,63,32767,63,32767,315,287,32767,63,74,32767,72,32767,32767,76,32767,63,93,93,254,315,54,63,254,63,32767,32767,32767,32767,4,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,267,32767,323,32767,337,336,324,32767,265,32767,215,194,266,32767,196,32767,32767,270,273,32767,32767,32767,134,32767,268,180,32767,32767,32767,32767,365,32767,32767,174,32767,32767,32767,130,32767,61,332,32767,32767,355,32767,32767,332,269,208,209,210,32767,121,32767,310,32767,32767,32767,32767,32767,32767,327,32767,333,32767,32767,32767,32767,111,32767,302,32767,32767,32767,75,32767,32767,178,126,32767,32767,364,32767,32767,32767,320,32767,32767,32767,32767,32767,62,32767,32767,77,32767,32767,32767,32767,332,32767,32767,32767,115,32767,169,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,332,32767,32767,32767,32767,32767,32767,32767,4,32767,151,32767,32767,32767,32767,32767,32767,32767,25,25,3,137,3,137,25,101,25,25,137,93,93,25,25,25,144,25,25,25,25,25,25,25,25],r.Parser.prototype.yygoto=[141,141,173,173,173,173,173,173,173,173,141,173,142,143,144,148,153,155,181,175,172,172,172,172,174,174,174,174,174,174,174,168,169,170,171,179,757,758,392,760,781,782,783,784,785,786,787,789,725,145,146,147,149,150,151,152,154,177,178,180,196,208,209,210,211,212,213,214,215,217,218,219,220,244,245,266,267,268,430,431,432,182,183,184,185,186,187,188,189,190,191,192,156,157,158,159,176,160,194,161,162,163,164,195,165,193,139,166,167,452,452,452,452,452,452,452,452,452,452,452,453,453,453,453,453,453,453,453,453,453,453,551,551,551,464,491,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,407,552,552,552,810,810,662,662,662,662,662,594,283,595,510,399,399,567,679,632,849,850,863,660,714,426,222,622,622,622,622,223,617,623,494,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,465,472,514,904,398,398,425,425,459,425,419,322,421,421,393,396,412,422,428,460,463,473,481,501,5,476,284,327,1,15,2,6,7,550,550,550,8,9,10,668,16,11,17,12,18,13,19,14,704,328,881,881,643,628,626,626,624,626,526,401,652,647,847,847,847,847,847,847,847,847,847,847,847,437,438,441,447,477,479,497,290,910,910,400,400,486,880,880,263,913,910,303,255,723,306,822,821,306,896,896,896,861,304,323,410,913,913,897,316,420,769,658,559,879,671,536,324,466,565,311,311,311,801,241,676,496,439,440,442,444,448,475,631,858,311,285,286,603,495,712,0,406,321,0,0,0,314,0,0,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411],r.Parser.prototype.yygcheck=[15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,35,35,35,35,35,35,35,35,35,35,35,86,86,86,86,86,86,86,86,86,86,86,6,6,6,21,21,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,71,7,7,7,35,35,35,35,35,35,35,29,44,29,35,86,86,12,12,12,12,12,12,12,12,75,40,35,35,35,35,40,35,35,35,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,36,36,36,104,82,82,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,13,42,42,42,2,13,2,13,13,5,5,5,13,13,13,54,13,13,13,13,13,13,13,13,67,67,83,83,5,5,5,5,5,5,5,5,5,5,93,93,93,93,93,93,93,93,93,93,93,52,52,52,52,52,52,52,4,105,105,89,89,94,84,84,92,105,105,26,92,71,4,91,91,4,84,84,84,97,30,70,30,105,105,102,27,30,72,50,10,84,55,46,9,30,11,90,90,90,80,30,56,30,85,85,85,85,85,85,43,96,90,44,44,34,77,69,-1,4,90,-1,-1,-1,4,-1,-1,4,-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,71],r.Parser.prototype.yygbase=[0,0,-286,0,10,239,130,154,0,-10,25,-23,-29,-289,0,-30,0,0,0,0,0,83,0,0,0,0,245,84,-11,142,-28,0,0,0,-13,-88,-42,0,0,0,-344,0,-38,-12,-188,0,23,0,0,0,66,0,247,0,205,24,-18,0,0,0,0,0,0,0,0,0,0,13,0,-15,85,74,70,0,0,148,0,-14,0,0,-6,0,-35,11,47,278,-77,0,0,44,68,43,38,72,94,0,-16,109,0,0,0,0,87,0,170,34,0],r.Parser.prototype.yygdefault=[-32768,362,3,546,382,570,571,572,307,305,560,566,467,4,568,140,295,575,296,500,577,414,579,580,308,309,415,315,216,593,503,313,596,357,602,301,449,383,350,461,221,423,456,630,282,638,540,646,649,450,657,352,433,434,667,672,677,680,334,325,474,684,685,256,689,511,512,703,242,711,317,724,342,788,790,397,408,484,797,326,800,384,385,386,387,435,818,815,289,866,287,443,254,853,468,356,903,862,288,388,389,302,898,341,905,912,458],r.Parser.prototype.yylhs=[0,1,2,2,4,4,3,3,3,3,3,3,3,3,3,8,8,10,10,10,10,9,9,11,13,13,14,14,14,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,33,33,34,27,27,30,30,6,7,7,7,37,37,37,38,38,41,41,39,39,42,42,22,22,29,29,32,32,31,31,43,23,23,23,23,44,44,45,45,46,46,20,20,16,16,47,18,18,48,17,17,19,19,36,36,49,49,50,50,51,51,51,51,52,52,53,53,54,54,24,24,55,55,55,25,25,56,56,40,40,57,57,57,57,62,62,63,63,64,64,64,64,65,66,66,61,61,58,58,60,60,68,68,67,67,67,67,67,67,59,59,69,69,26,26,21,21,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,71,77,77,79,79,80,81,81,81,81,81,81,86,86,35,35,35,72,72,87,87,82,82,88,88,88,88,88,73,73,73,76,76,76,78,78,93,93,93,93,93,93,93,93,93,93,93,93,93,93,12,12,12,12,12,12,74,74,74,74,94,94,96,96,95,95,97,97,28,28,28,28,99,99,98,98,98,98,98,100,100,84,84,89,89,83,83,101,101,101,101,90,90,90,90,85,85,91,91,91,70,70,102,102,102,75,75,103,103,104,104,104,104,92,92,92,92,105,105,105,105,105,105,105,106,106,106],r.Parser.prototype.yylen=[1,1,2,0,1,3,1,1,1,1,3,5,4,3,3,3,1,1,3,2,4,3,1,3,2,0,1,1,1,1,3,7,10,5,7,9,5,2,3,2,3,2,3,3,3,3,1,2,5,7,8,10,5,1,5,3,3,2,1,2,8,1,3,0,1,9,7,6,5,1,2,2,0,2,0,2,0,2,1,3,1,4,1,4,1,4,1,3,3,3,4,4,5,0,2,4,3,1,1,1,4,0,2,5,0,2,6,0,2,0,3,1,0,1,3,3,5,0,1,1,1,1,0,1,3,1,2,3,1,1,2,4,3,1,1,3,2,0,3,3,8,3,1,3,0,2,4,5,4,4,3,1,1,1,3,1,1,0,1,1,2,1,1,1,1,1,1,1,3,1,3,3,1,0,1,1,6,3,4,4,1,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,5,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,2,1,4,3,3,2,9,10,3,0,4,1,3,2,4,6,8,4,4,4,1,1,1,2,3,1,1,1,1,1,1,0,3,3,4,4,0,2,3,0,1,1,0,3,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,3,2,2,4,3,1,3,3,3,0,2,0,1,3,1,3,1,1,1,1,1,6,4,3,6,4,4,4,1,3,1,2,1,1,4,1,3,6,4,4,4,4,1,4,0,1,1,3,1,3,1,1,4,0,0,2,3,1,3,1,4,2,2,2,1,2,1,4,3,3,3,6,3,1,1,1],r.Parser.prototype.yyn0=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn1=function(e){this.yyval=this.Stmt_Namespace_postprocess(this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn2=function(e){Array.isArray(this.yyastk[this.stackPos-0])?this.yyval=this.yyastk[this.stackPos-1].concat(this.yyastk[this.stackPos-0]):(this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1])},r.Parser.prototype.yyn3=function(e){this.yyval=[]},r.Parser.prototype.yyn4=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn5=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn6=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn7=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn8=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn9=function(e){this.yyval=this.Node_Stmt_HaltCompiler(e)},r.Parser.prototype.yyn10=function(e){this.yyval=this.Node_Stmt_Namespace(this.Node_Name(this.yyastk[this.stackPos-1],e),null,e)},r.Parser.prototype.yyn11=function(e){this.yyval=this.Node_Stmt_Namespace(this.Node_Name(this.yyastk[this.stackPos-3],e),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn12=function(e){this.yyval=this.Node_Stmt_Namespace(null,this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn13=function(e){this.yyval=this.Node_Stmt_Use(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn14=function(e){this.yyval=this.Node_Stmt_Const(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn15=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn16=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn17=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-0],e),null,e)},r.Parser.prototype.yyn18=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-2],e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn19=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-0],e),null,e)},r.Parser.prototype.yyn20=function(e){this.yyval=this.Node_Stmt_UseUse(this.Node_Name(this.yyastk[this.stackPos-2],e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn21=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn22=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn23=function(e){this.yyval=this.Node_Const(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn24=function(e){Array.isArray(this.yyastk[this.stackPos-0])?this.yyval=this.yyastk[this.stackPos-1].concat(this.yyastk[this.stackPos-0]):(this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1])},r.Parser.prototype.yyn25=function(e){this.yyval=[]},r.Parser.prototype.yyn26=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn27=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn28=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn29=function(e){throw new Error("__halt_compiler() can only be used from the outermost scope")},r.Parser.prototype.yyn30=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn31=function(e){this.yyval=this.Node_Stmt_If(this.yyastk[this.stackPos-4],{stmts:Array.isArray(this.yyastk[this.stackPos-2])?this.yyastk[this.stackPos-2]:[this.yyastk[this.stackPos-2]],elseifs:this.yyastk[this.stackPos-1],Else:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn32=function(e){this.yyval=this.Node_Stmt_If(this.yyastk[this.stackPos-7],{stmts:this.yyastk[this.stackPos-4],elseifs:this.yyastk[this.stackPos-3],"else":this.yyastk[this.stackPos-2]},e)},r.Parser.prototype.yyn33=function(e){this.yyval=this.Node_Stmt_While(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn34=function(e){this.yyval=this.Node_Stmt_Do(this.yyastk[this.stackPos-2],Array.isArray(this.yyastk[this.stackPos-5])?this.yyastk[this.stackPos-5]:[this.yyastk[this.stackPos-5]],e)},r.Parser.prototype.yyn35=function(e){this.yyval=this.Node_Stmt_For({init:this.yyastk[this.stackPos-6],cond:this.yyastk[this.stackPos-4],loop:this.yyastk[this.stackPos-2],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn36=function(e){this.yyval=this.Node_Stmt_Switch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn37=function(e){this.yyval=this.Node_Stmt_Break(null,e)},r.Parser.prototype.yyn38=function(e){this.yyval=this.Node_Stmt_Break(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn39=function(e){this.yyval=this.Node_Stmt_Continue(null,e)},r.Parser.prototype.yyn40=function(e){this.yyval=this.Node_Stmt_Continue(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn41=function(e){this.yyval=this.Node_Stmt_Return(null,e)},r.Parser.prototype.yyn42=function(e){this.yyval=this.Node_Stmt_Return(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn43=function(e){this.yyval=this.Node_Stmt_Global(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn44=function(e){this.yyval=this.Node_Stmt_Static(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn45=function(e){this.yyval=this.Node_Stmt_Echo(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn46=function(e){this.yyval=this.Node_Stmt_InlineHTML(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn47=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn48=function(e){this.yyval=this.Node_Stmt_Unset(this.yyastk[this.stackPos-2],e)},r.Parser.prototype.yyn49=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-2],{keyVar:null,byRef:!1,stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn50=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-2],{keyVar:null,byRef:!0,stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn51=function(e){this.yyval=this.Node_Stmt_Foreach(this.yyastk[this.stackPos-7],this.yyastk[this.stackPos-2],{keyVar:this.yyastk[this.stackPos-5],byRef:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn52=function(e){this.yyval=this.Node_Stmt_Declare(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn53=function(e){this.yyval=[]},r.Parser.prototype.yyn54=function(e){this.yyval=this.Node_Stmt_TryCatch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn55=function(e){this.yyval=this.Node_Stmt_Throw(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn56=function(e){this.yyval=this.Node_Stmt_Goto(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn57=function(e){this.yyval=this.Node_Stmt_Label(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn58=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn59=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn60=function(e){this.yyval=this.Node_Stmt_Catch(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-4].substring(1),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn61=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn62=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn63=function(e){this.yyval=!1},r.Parser.prototype.yyn64=function(e){this.yyval=!0},r.Parser.prototype.yyn65=function(e){this.yyval=this.Node_Stmt_Function(this.yyastk[this.stackPos-6],{byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-4],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn66=function(e){this.yyval=this.Node_Stmt_Class(this.yyastk[this.stackPos-5],{type:this.yyastk[this.stackPos-6],Extends:this.yyastk[this.stackPos-4],Implements:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn67=function(e){this.yyval=this.Node_Stmt_Interface(this.yyastk[this.stackPos-4],{Extends:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn68=function(e){this.yyval=this.Node_Stmt_Trait(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn69=function(e){this.yyval=0},r.Parser.prototype.yyn70=function(e){this.yyval=this.MODIFIER_ABSTRACT},r.Parser.prototype.yyn71=function(e){this.yyval=this.MODIFIER_FINAL},r.Parser.prototype.yyn72=function(e){this.yyval=null},r.Parser.prototype.yyn73=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn74=function(e){this.yyval=[]},r.Parser.prototype.yyn75=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn76=function(e){this.yyval=[]},r.Parser.prototype.yyn77=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn78=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn79=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn80=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn81=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn82=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn83=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn84=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn85=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn86=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn87=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn88=function(e){this.yyval=this.Node_Stmt_DeclareDeclare(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn89=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn90=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn91=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn92=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn93=function(e){this.yyval=[]},r.Parser.prototype.yyn94=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn95=function(e){this.yyval=this.Node_Stmt_Case(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn96=function(e){this.yyval=this.Node_Stmt_Case(null,this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn97=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn98=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn99=function(e){this.yyval=Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn100=function(e){this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn101=function(e){this.yyval=[]},r.Parser.prototype.yyn102=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn103=function(e){this.yyval=this.Node_Stmt_ElseIf(this.yyastk[this.stackPos-2],Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]],e)},r.Parser.prototype.yyn104=function(e){this.yyval=[]},r.Parser.prototype.yyn105=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn106=function(e){this.yyval=this.Node_Stmt_ElseIf(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn107=function(e){this.yyval=null},r.Parser.prototype.yyn108=function(e){this.yyval=this.Node_Stmt_Else(Array.isArray(this.yyastk[this.stackPos-0])?this.yyastk[this.stackPos-0]:[this.yyastk[this.stackPos-0]],e)},r.Parser.prototype.yyn109=function(e){this.yyval=null},r.Parser.prototype.yyn110=function(e){this.yyval=this.Node_Stmt_Else(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn111=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn112=function(e){this.yyval=[]},r.Parser.prototype.yyn113=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn114=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn115=function(e){this.yyval=this.Node_Param(this.yyastk[this.stackPos-0].substring(1),null,this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn116=function(e){this.yyval=this.Node_Param(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-3],e)},r.Parser.prototype.yyn117=function(e){this.yyval=null},r.Parser.prototype.yyn118=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn119=function(e){this.yyval="array"},r.Parser.prototype.yyn120=function(e){this.yyval="callable"},r.Parser.prototype.yyn121=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn122=function(e){this.yyval=[]},r.Parser.prototype.yyn123=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn124=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn125=function(e){this.yyval=this.Node_Arg(this.yyastk[this.stackPos-0],!1,e)},r.Parser.prototype.yyn126=function(e){this.yyval=this.Node_Arg(this.yyastk[this.stackPos-0],!0,e)},r.Parser.prototype.yyn127=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn128=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn129=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn130=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn131=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn132=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn133=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn134=function(e){this.yyval=this.Node_Stmt_StaticVar(this.yyastk[this.stackPos-0].substring(1),null,e)},r.Parser.prototype.yyn135=function(e){this.yyval=this.Node_Stmt_StaticVar(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn136=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn137=function(e){this.yyval=[]},r.Parser.prototype.yyn138=function(e){this.yyval=this.Node_Stmt_Property(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn139=function(e){this.yyval=this.Node_Stmt_ClassConst(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn140=function(e){this.yyval=this.Node_Stmt_ClassMethod(this.yyastk[this.stackPos-4],{type:this.yyastk[this.stackPos-7],byRef:this.yyastk[this.stackPos-5],params:this.yyastk[this.stackPos-2],stmts:this.yyastk[this.stackPos-0]},e)},r.Parser.prototype.yyn141=function(e){this.yyval=this.Node_Stmt_TraitUse(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn142=function(e){this.yyval=[]},r.Parser.prototype.yyn143=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn144=function(e){this.yyval=[]},r.Parser.prototype.yyn145=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn146=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Precedence(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn147=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-4][0],this.yyastk[this.stackPos-4][1],this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn148=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],this.yyastk[this.stackPos-1],null,e)},r.Parser.prototype.yyn149=function(e){this.yyval=this.Node_Stmt_TraitUseAdaptation_Alias(this.yyastk[this.stackPos-3][0],this.yyastk[this.stackPos-3][1],null,this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn150=function(e){this.yyval=array(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn151=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn152=function(e){this.yyval=array(null,this.yyastk[this.stackPos-0])},r.Parser.prototype.yyn153=function(e){this.yyval=null},r.Parser.prototype.yyn154=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn155=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn156=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn157=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn158=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn159=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn160=function(e){this.Stmt_Class_verifyModifier(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]|this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn161=function(e){this.yyval=this.MODIFIER_PUBLIC},r.Parser.prototype.yyn162=function(e){this.yyval=this.MODIFIER_PROTECTED},r.Parser.prototype.yyn163=function(e){this.yyval=this.MODIFIER_PRIVATE},r.Parser.prototype.yyn164=function(e){this.yyval=this.MODIFIER_STATIC},r.Parser.prototype.yyn165=function(e){this.yyval=this.MODIFIER_ABSTRACT},r.Parser.prototype.yyn166=function(e){this.yyval=this.MODIFIER_FINAL},r.Parser.prototype.yyn167=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn168=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn169=function(e){this.yyval=this.Node_Stmt_PropertyProperty(this.yyastk[this.stackPos-0].substring(1),null,e)},r.Parser.prototype.yyn170=function(e){this.yyval=this.Node_Stmt_PropertyProperty(this.yyastk[this.stackPos-2].substring(1),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn171=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn172=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn173=function(e){this.yyval=[]},r.Parser.prototype.yyn174=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn175=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn176=function(e){this.yyval=this.Node_Expr_AssignList(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn177=function(e){this.yyval=this.Node_Expr_Assign(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn178=function(e){this.yyval=this.Node_Expr_AssignRef(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn179=function(e){this.yyval=this.Node_Expr_AssignRef(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn180=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn181=function(e){this.yyval=this.Node_Expr_Clone(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn182=function(e){this.yyval=this.Node_Expr_AssignPlus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn183=function(e){this.yyval=this.Node_Expr_AssignMinus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn184=function(e){this.yyval=this.Node_Expr_AssignMul(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn185=function(e){this.yyval=this.Node_Expr_AssignDiv(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn186=function(e){this.yyval=this.Node_Expr_AssignConcat(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn187=function(e){this.yyval=this.Node_Expr_AssignMod(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn188=function(e){this.yyval=this.Node_Expr_AssignBitwiseAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn189=function(e){this.yyval=this.Node_Expr_AssignBitwiseOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn190=function(e){this.yyval=this.Node_Expr_AssignBitwiseXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn191=function(e){this.yyval=this.Node_Expr_AssignShiftLeft(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn192=function(e){this.yyval=this.Node_Expr_AssignShiftRight(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn193=function(e){this.yyval=this.Node_Expr_PostInc(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn194=function(e){this.yyval=this.Node_Expr_PreInc(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn195=function(e){this.yyval=this.Node_Expr_PostDec(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn196=function(e){this.yyval=this.Node_Expr_PreDec(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn197=function(e){this.yyval=this.Node_Expr_BooleanOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn198=function(e){this.yyval=this.Node_Expr_BooleanAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn199=function(e){this.yyval=this.Node_Expr_LogicalOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn200=function(e){this.yyval=this.Node_Expr_LogicalAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn201=function(e){this.yyval=this.Node_Expr_LogicalXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn202=function(e){this.yyval=this.Node_Expr_BitwiseOr(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn203=function(e){this.yyval=this.Node_Expr_BitwiseAnd(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn204=function(e){this.yyval=this.Node_Expr_BitwiseXor(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn205=function(e){this.yyval=this.Node_Expr_Concat(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn206=function(e){this.yyval=this.Node_Expr_Plus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn207=function(e){this.yyval=this.Node_Expr_Minus(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn208=function(e){this.yyval=this.Node_Expr_Mul(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn209=function(e){this.yyval=this.Node_Expr_Div(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn210=function(e){this.yyval=this.Node_Expr_Mod(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn211=function(e){this.yyval=this.Node_Expr_ShiftLeft(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn212=function(e){this.yyval=this.Node_Expr_ShiftRight(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn213=function(e){this.yyval=this.Node_Expr_UnaryPlus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn214=function(e){this.yyval=this.Node_Expr_UnaryMinus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn215=function(e){this.yyval=this.Node_Expr_BooleanNot(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn216=function(e){this.yyval=this.Node_Expr_BitwiseNot(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn217=function(e){this.yyval=this.Node_Expr_Identical(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn218=function(e){this.yyval=this.Node_Expr_NotIdentical(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn219=function(e){this.yyval=this.Node_Expr_Equal(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn220=function(e){this.yyval=this.Node_Expr_NotEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn221=function(e){this.yyval=this.Node_Expr_Smaller(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn222=function(e){this.yyval=this.Node_Expr_SmallerOrEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn223=function(e){this.yyval=this.Node_Expr_Greater(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn224=function(e){this.yyval=this.Node_Expr_GreaterOrEqual(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn225=function(e){this.yyval=this.Node_Expr_Instanceof(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn226=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn227=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn228=function(e){this.yyval=this.Node_Expr_Ternary(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn229=function(e){this.yyval=this.Node_Expr_Ternary(this.yyastk[this.stackPos-3],null,this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn230=function(e){this.yyval=this.Node_Expr_Isset(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn231=function(e){this.yyval=this.Node_Expr_Empty(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn232=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_Include",e)},r.Parser.prototype.yyn233=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_IncludeOnce",e)},r.Parser.prototype.yyn234=function(e){this.yyval=this.Node_Expr_Eval(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn235=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_Require",e)},r.Parser.prototype.yyn236=function(e){this.yyval=this.Node_Expr_Include(this.yyastk[this.stackPos-0],"Node_Expr_RequireOnce",e)},r.Parser.prototype.yyn237=function(e){this.yyval=this.Node_Expr_Cast_Int(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn238=function(e){this.yyval=this.Node_Expr_Cast_Double(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn239=function(e){this.yyval=this.Node_Expr_Cast_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn240=function(e){this.yyval=this.Node_Expr_Cast_Array(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn241=function(e){this.yyval=this.Node_Expr_Cast_Object(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn242=function(e){this.yyval=this.Node_Expr_Cast_Bool(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn243=function(e){this.yyval=this.Node_Expr_Cast_Unset(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn244=function(e){this.yyval=this.Node_Expr_Exit(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn245=function(e){this.yyval=this.Node_Expr_ErrorSuppress(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn246=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn247=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn248=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn249=function(e){this.yyval=this.Node_Expr_ShellExec(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn250=function(e){this.yyval=this.Node_Expr_Print(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn251=function(e){this.yyval=this.Node_Expr_Closure({"static":!1,byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-5],uses:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn252=function(e){this.yyval=this.Node_Expr_Closure({"static":!0,byRef:this.yyastk[this.stackPos-7],params:this.yyastk[this.stackPos-5],uses:this.yyastk[this.stackPos-3],stmts:this.yyastk[this.stackPos-1]},e)},r.Parser.prototype.yyn253=function(e){this.yyval=this.Node_Expr_New(this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn254=function(e){this.yyval=[]},r.Parser.prototype.yyn255=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn256=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn257=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn258=function(e){this.yyval=this.Node_Expr_ClosureUse(this.yyastk[this.stackPos-0].substring(1),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn259=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn260=function(e){this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn261=function(e){this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-7],this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn262=function(e){if(this.yyastk[this.stackPos-3].type==="Node_Expr_StaticPropertyFetch")this.yyval=this.Node_Expr_StaticCall(this.yyastk[this.stackPos-3].Class,this.Node_Expr_Variable(this.yyastk[this.stackPos-3].name,e),this.yyastk[this.stackPos-1],e);else{if(this.yyastk[this.stackPos-3].type!=="Node_Expr_ArrayDimFetch")throw new Exception;var t=this.yyastk[this.stackPos-3];while(t.variable.type==="Node_Expr_ArrayDimFetch")t=t.variable;this.yyval=this.Node_Expr_StaticCall(t.variable.Class,this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e),t.variable=this.Node_Expr_Variable(t.variable.name,e)}},r.Parser.prototype.yyn263=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn264=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn265=function(e){this.yyval=this.Node_Name("static",e)},r.Parser.prototype.yyn266=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn267=function(e){this.yyval=this.Node_Name(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn268=function(e){this.yyval=this.Node_Name_FullyQualified(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn269=function(e){this.yyval=this.Node_Name_Relative(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn270=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn271=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn272=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn273=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn274=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn275=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn276=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn277=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn278=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn279=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn280=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn281=function(e){this.yyval=null},r.Parser.prototype.yyn282=function(e){this.yyval=null},r.Parser.prototype.yyn283=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn284=function(e){this.yyval=[]},r.Parser.prototype.yyn285=function(e){this.yyval=[this.Scalar_String_parseEscapeSequences(this.yyastk[this.stackPos-0],"`")]},r.Parser.prototype.yyn286=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn287=function(e){this.yyval=[]},r.Parser.prototype.yyn288=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn289=function(e){this.yyval=this.Node_Scalar_LNumber(this.Scalar_LNumber_parse(this.yyastk[this.stackPos-0]),e)},r.Parser.prototype.yyn290=function(e){this.yyval=this.Node_Scalar_DNumber(this.Scalar_DNumber_parse(this.yyastk[this.stackPos-0]),e)},r.Parser.prototype.yyn291=function(e){this.yyval=this.Scalar_String_create(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn292=function(e){this.yyval={type:"Node_Scalar_LineConst",attributes:e}},r.Parser.prototype.yyn293=function(e){this.yyval={type:"Node_Scalar_FileConst",attributes:e}},r.Parser.prototype.yyn294=function(e){this.yyval={type:"Node_Scalar_DirConst",attributes:e}},r.Parser.prototype.yyn295=function(e){this.yyval={type:"Node_Scalar_ClassConst",attributes:e}},r.Parser.prototype.yyn296=function(e){this.yyval={type:"Node_Scalar_TraitConst",attributes:e}},r.Parser.prototype.yyn297=function(e){this.yyval={type:"Node_Scalar_MethodConst",attributes:e}},r.Parser.prototype.yyn298=function(e){this.yyval={type:"Node_Scalar_FuncConst",attributes:e}},r.Parser.prototype.yyn299=function(e){this.yyval={type:"Node_Scalar_NSConst",attributes:e}},r.Parser.prototype.yyn300=function(e){this.yyval=this.Node_Scalar_String(this.Scalar_String_parseDocString(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-1]),e)},r.Parser.prototype.yyn301=function(e){this.yyval=this.Node_Scalar_String("",e)},r.Parser.prototype.yyn302=function(e){this.yyval=this.Node_Expr_ConstFetch(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn303=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn304=function(e){this.yyval=this.Node_Expr_ClassConstFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn305=function(e){this.yyval=this.Node_Expr_UnaryPlus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn306=function(e){this.yyval=this.Node_Expr_UnaryMinus(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn307=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn308=function(e){this.yyval=this.Node_Expr_Array(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn309=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn310=function(e){this.yyval=this.Node_Expr_ClassConstFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn311=function(e){this.yyval=this.Node_Scalar_Encapsed(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn312=function(e){this.yyval=this.Node_Scalar_Encapsed(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn313=function(e){this.yyval=[]},r.Parser.prototype.yyn314=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn315=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn316=function(){this.yyval=this.yyastk[this.stackPos]},r.Parser.prototype.yyn317=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn318=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn319=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-2],!1,e)},r.Parser.prototype.yyn320=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!1,e)},r.Parser.prototype.yyn321=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn322=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn323=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn324=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn325=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-4],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn326=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn327=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn328=function(e){this.yyval=this.Node_Expr_MethodCall(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn329=function(e){this.yyval=this.Node_Expr_FuncCall(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn330=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn331=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn332=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn333=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn334=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn335=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn336=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn337=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn338=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn339=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn340=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-2],this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn341=function(e){this.yyval=this.Node_Expr_StaticPropertyFetch(this.yyastk[this.stackPos-5],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn342=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn343=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn344=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn345=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.yyastk[this.stackPos-3],this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn346=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn347=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn348=function(e){this.yyval=null},r.Parser.prototype.yyn349=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn350=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn351=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn352=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn353=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn354=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn355=function(e){this.yyval=this.yyastk[this.stackPos-0]},r.Parser.prototype.yyn356=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn357=function(e){this.yyval=null},r.Parser.prototype.yyn358=function(e){this.yyval=[]},r.Parser.prototype.yyn359=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn360=function(e){this.yyastk[this.stackPos-2].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-2]},r.Parser.prototype.yyn361=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn362=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-2],!1,e)},r.Parser.prototype.yyn363=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!1,e)},r.Parser.prototype.yyn364=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],this.yyastk[this.stackPos-3],!0,e)},r.Parser.prototype.yyn365=function(e){this.yyval=this.Node_Expr_ArrayItem(this.yyastk[this.stackPos-0],null,!0,e)},r.Parser.prototype.yyn366=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn367=function(e){this.yyastk[this.stackPos-1].push(this.yyastk[this.stackPos-0]),this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn368=function(e){this.yyval=[this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn369=function(e){this.yyval=[this.yyastk[this.stackPos-1],this.yyastk[this.stackPos-0]]},r.Parser.prototype.yyn370=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.yyn371=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-3].substring(1),e),this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn372=function(e){this.yyval=this.Node_Expr_PropertyFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-2].substring(1),e),this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn373=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn374=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-1],e)},r.Parser.prototype.yyn375=function(e){this.yyval=this.Node_Expr_ArrayDimFetch(this.Node_Expr_Variable(this.yyastk[this.stackPos-4],e),this.yyastk[this.stackPos-2],e)},r.Parser.prototype.yyn376=function(e){this.yyval=this.yyastk[this.stackPos-1]},r.Parser.prototype.yyn377=function(e){this.yyval=this.Node_Scalar_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn378=function(e){this.yyval=this.Node_Scalar_String(this.yyastk[this.stackPos-0],e)},r.Parser.prototype.yyn379=function(e){this.yyval=this.Node_Expr_Variable(this.yyastk[this.stackPos-0].substring(1),e)},r.Parser.prototype.Stmt_Namespace_postprocess=function(e){return e},r.Parser.prototype.Node_Stmt_Echo=function(){return{type:"Node_Stmt_Echo",exprs:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_If=function(){return{type:"Node_Stmt_If",cond:arguments[0],stmts:arguments[1].stmts,elseifs:arguments[1].elseifs,Else:arguments[1].Else||null,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_For=function(){return{type:"Node_Stmt_For",init:arguments[0].init,cond:arguments[0].cond,loop:arguments[0].loop,stmts:arguments[0].stmts,attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Function=function(){return{type:"Node_Stmt_Function",name:arguments[0],byRef:arguments[1].byRef,params:arguments[1].params,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Stmt_Class_verifyModifier=function(){},r.Parser.prototype.Node_Stmt_Namespace=function(){return{type:"Node_Stmt_Namespace",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Use=function(){return{type:"Node_Stmt_Use",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_UseUse=function(){return{type:"Node_Stmt_UseUse",name:arguments[0],as:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUseAdaptation_Precedence=function(){return{type:"Node_Stmt_TraitUseAdaptation_Precedence",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUseAdaptation_Alias=function(){return{type:"Node_Stmt_TraitUseAdaptation_Alias",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Trait=function(){return{type:"Node_Stmt_Trait",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_TraitUse=function(){return{type:"Node_Stmt_TraitUse",name:arguments[0],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Class=function(){return{type:"Node_Stmt_Class",name:arguments[0],Type:arguments[1].type,Extends:arguments[1].Extends,Implements:arguments[1].Implements,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_ClassMethod=function(){return{type:"Node_Stmt_ClassMethod",name:arguments[0],Type:arguments[1].type,byRef:arguments[1].byRef,params:arguments[1].params,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_ClassConst=function(){return{type:"Node_Stmt_ClassConst",consts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Interface=function(){return{type:"Node_Stmt_Interface",name:arguments[0],Extends:arguments[1].Extends,stmts:arguments[1].stmts,attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Throw=function(){return{type:"Node_Stmt_Throw",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Catch=function(){return{type:"Node_Stmt_Catch",Type:arguments[0],variable:arguments[1],stmts:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Stmt_TryCatch=function(){return{type:"Node_Stmt_TryCatch",stmts:arguments[0],catches:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Foreach=function(){return{type:"Node_Stmt_Foreach",expr:arguments[0],valueVar:arguments[1],keyVar:arguments[2].keyVar,byRef:arguments[2].byRef,stmts:arguments[2].stmts,attributes:arguments[3]}},r.Parser.prototype.Node_Stmt_While=function(){return{type:"Node_Stmt_While",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Do=function(){return{type:"Node_Stmt_Do",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Break=function(){return{type:"Node_Stmt_Break",num:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Continue=function(){return{type:"Node_Stmt_Continue",num:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Return=function(){return{type:"Node_Stmt_Return",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Case=function(){return{type:"Node_Stmt_Case",cond:arguments[0],stmts:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Switch=function(){return{type:"Node_Stmt_Switch",cond:arguments[0],cases:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Else=function(){return{type:"Node_Stmt_Else",stmts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_ElseIf=function(){return{type:"Node_Stmt_ElseIf",cond:arguments[0],stmts:arguments[1],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_InlineHTML=function(){return{type:"Node_Stmt_InlineHTML",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_StaticVar=function(){return{type:"Node_Stmt_StaticVar",name:arguments[0],def:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Static=function(){return{type:"Node_Stmt_Static",vars:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_Global=function(){return{type:"Node_Stmt_Global",vars:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Stmt_PropertyProperty=function(){return{type:"Node_Stmt_PropertyProperty",name:arguments[0],def:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Property=function(){return{type:"Node_Stmt_Property",Type:arguments[0],props:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Stmt_Unset=function(){return{type:"Node_Stmt_Unset",variables:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Variable=function(e){return{type:"Node_Expr_Variable",name:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_FuncCall=function(){return{type:"Node_Expr_FuncCall",func:arguments[0],args:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_MethodCall=function(){return{type:"Node_Expr_MethodCall",variable:arguments[0],name:arguments[1],args:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_StaticCall=function(){return{type:"Node_Expr_StaticCall",Class:arguments[0],func:arguments[1],args:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_Ternary=function(){return{type:"Node_Expr_Ternary",cond:arguments[0],If:arguments[1],Else:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_AssignList=function(){return{type:"Node_Expr_AssignList",assignList:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Assign=function(){return{type:"Node_Expr_Assign",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignConcat=function(){return{type:"Node_Expr_AssignConcat",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMinus=function(){return{type:"Node_Expr_AssignMinus",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignPlus=function(){return{type:"Node_Expr_AssignPlus",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignDiv=function(){return{type:"Node_Expr_AssignDiv",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignRef=function(){return{type:"Node_Expr_AssignRef",variable:arguments[0],refVar:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMul=function(){return{type:"Node_Expr_AssignMul",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_AssignMod=function(){return{type:"Node_Expr_AssignMod",variable:arguments[0],expr:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Plus=function(){return{type:"Node_Expr_Plus",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Minus=function(){return{type:"Node_Expr_Minus",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Mul=function(){return{type:"Node_Expr_Mul",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Div=function(){return{type:"Node_Expr_Div",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Mod=function(){return{type:"Node_Expr_Mod",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Greater=function(){return{type:"Node_Expr_Greater",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Equal=function(){return{type:"Node_Expr_Equal",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_NotEqual=function(){return{type:"Node_Expr_NotEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Identical=function(){return{type:"Node_Expr_Identical",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_NotIdentical=function(){return{type:"Node_Expr_NotIdentical",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_GreaterOrEqual=function(){return{type:"Node_Expr_GreaterOrEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_SmallerOrEqual=function(){return{type:"Node_Expr_SmallerOrEqual",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Concat=function(){return{type:"Node_Expr_Concat",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Smaller=function(){return{type:"Node_Expr_Smaller",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_PostInc=function(){return{type:"Node_Expr_PostInc",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PostDec=function(){return{type:"Node_Expr_PostDec",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PreInc=function(){return{type:"Node_Expr_PreInc",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PreDec=function(){return{type:"Node_Expr_PreDec",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Include=function(){return{expr:arguments[0],type:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ArrayDimFetch=function(){return{type:"Node_Expr_ArrayDimFetch",variable:arguments[0],dim:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_StaticPropertyFetch=function(){return{type:"Node_Expr_StaticPropertyFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ClassConstFetch=function(){return{type:"Node_Expr_ClassConstFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_StaticPropertyFetch=function(){return{type:"Node_Expr_StaticPropertyFetch",Class:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_ConstFetch=function(){return{type:"Node_Expr_ConstFetch",name:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_ArrayItem=function(){return{type:"Node_Expr_ArrayItem",value:arguments[0],key:arguments[1],byRef:arguments[2],attributes:arguments[3]}},r.Parser.prototype.Node_Expr_Array=function(){return{type:"Node_Expr_Array",items:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_PropertyFetch=function(){return{type:"Node_Expr_PropertyFetch",variable:arguments[0],name:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_New=function(){return{type:"Node_Expr_New",Class:arguments[0],args:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Print=function(){return{type:"Node_Expr_Print",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Exit=function(){return{type:"Node_Expr_Exit",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Bool=function(){return{type:"Node_Expr_Cast_Bool",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Int=function(){return{type:"Node_Expr_Cast_Int",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_String=function(){return{type:"Node_Expr_Cast_String",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Double=function(){return{type:"Node_Expr_Cast_Double",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Array=function(){return{type:"Node_Expr_Cast_Array",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Cast_Object=function(){return{type:"Node_Expr_Cast_Object",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_ErrorSuppress=function(){return{type:"Node_Expr_ErrorSuppress",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Isset=function(){return{type:"Node_Expr_Isset",variables:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_UnaryMinus=function(){return{type:"Node_Expr_UnaryMinus",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_UnaryPlus=function(){return{type:"Node_Expr_UnaryPlus",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_Empty=function(){return{type:"Node_Expr_Empty",variable:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanOr=function(){return{type:"Node_Expr_BooleanOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalOr=function(){return{type:"Node_Expr_LogicalOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalAnd=function(){return{type:"Node_Expr_LogicalAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_LogicalXor=function(){return{type:"Node_Expr_LogicalXor",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseAnd=function(){return{type:"Node_Expr_BitwiseAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseOr=function(){return{type:"Node_Expr_BitwiseOr",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_BitwiseNot=function(){return{type:"Node_Expr_BitwiseNot",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanNot=function(){return{type:"Node_Expr_BooleanNot",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Expr_BooleanAnd=function(){return{type:"Node_Expr_BooleanAnd",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Instanceof=function(){return{type:"Node_Expr_Instanceof",left:arguments[0],right:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Expr_Clone=function(){return{type:"Node_Expr_Clone",expr:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Scalar_LNumber_parse=function(e){return e},r.Parser.prototype.Scalar_DNumber_parse=function(e){return e},r.Parser.prototype.Scalar_String_parseDocString=function(){return'"'+arguments[1].replace(/([^"\\]*(?:\\.[^"\\]*)*)"/g,'$1\\"')+'"'},r.Parser.prototype.Node_Scalar_String=function(){return{type:"Node_Scalar_String",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Scalar_String_create=function(){return{type:"Node_Scalar_String",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_LNumber=function(){return{type:"Node_Scalar_LNumber",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_DNumber=function(){return{type:"Node_Scalar_DNumber",value:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Scalar_Encapsed=function(){return{type:"Node_Scalar_Encapsed",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name=function(){return{type:"Node_Name",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name_FullyQualified=function(){return{type:"Node_Name_FullyQualified",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Name_Relative=function(){return{type:"Node_Name_Relative",parts:arguments[0],attributes:arguments[1]}},r.Parser.prototype.Node_Param=function(){return{type:"Node_Param",name:arguments[0],def:arguments[1],Type:arguments[2],byRef:arguments[3],attributes:arguments[4]}},r.Parser.prototype.Node_Arg=function(){return{type:"Node_Name",value:arguments[0],byRef:arguments[1],attributes:arguments[2]}},r.Parser.prototype.Node_Const=function(){return{type:"Node_Const",name:arguments[0],value:arguments[1],attributes:arguments[2]}},t.PHP=r})
@@ -0,0 +1 @@
1
+ "no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},e.require=function(e,t){t||(t=e,e=null);if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=normalizeModule(e,t);var n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)},require.modules={},require.tlns={},e.define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={exports:{},factory:function(){var e=this,t=n(r,e.exports,e);return t&&(e.exports=t),e}}},e.initBaseUrls=function(e){require.tlns=e},e.initSender=function(){var e=require("ace/lib/event_emitter").EventEmitter,t=require("ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n},e.main=null,e.sender=null,e.onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require("ace/lib/es5-shim"),sender=initSender();var n=require(t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)}})(this),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function i(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function s(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function o(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function u(e){var t,n,r;if(o(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(o(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(o(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=c.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(c.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(c.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var a=Function.prototype.call,f=Array.prototype,l=Object.prototype,c=f.slice,h=a.bind(l.toString),p=a.bind(l.hasOwnProperty),d,v,m,g,y;if(y=p(l,"__defineGetter__"))d=a.bind(l.__defineGetter__),v=a.bind(l.__defineSetter__),m=a.bind(l.__lookupGetter__),g=a.bind(l.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=c.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),u=e+o,a=u+s-o,f=n-u,l=n-o;if(a<u)for(var h=0;h<f;++h)this[a+h]=this[u+h];else if(a>u)for(h=f;h--;)this[a+h]=this[u+h];if(s&&e===l)this.length=l,this.push.apply(this,i);else{this.length=l+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var b=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?b.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(c.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(e){return h(e)=="[object Array]"});var w=Object("a"),E=w[0]!="a"||!(0 in w);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=arguments[1],i=-1,s=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError;while(++i<s)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=Array(r),s=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)o in n&&(i[o]=e.call(s,n[o],o,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=[],s,o=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var u=0;u<r;u++)u in n&&(s=n[u],e.call(o,s,u,t)&&i.push(s));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&!e.call(i,n[s],s,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0,i=arguments[1];if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)if(s in n&&e.call(i,n[s],s,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;i<r;i++)i in n&&(s=e.call(void 0,s,n[i],i,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=F(this),n=E&&h(this)=="[object String]"?this.split(""):t,r=n.length>>>0;if(h(e)!="[object Function]")throw new TypeError(e+" is not a function");if(!r&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do s in this&&(i=e.call(void 0,i,n[s],s,t));while(s--);return i});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=0;arguments.length>1&&(r=s(arguments[1])),r=r>=0?r:Math.max(0,n+r);for(;r<n;r++)if(r in t&&t[r]===e)return r;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(e){var t=E&&h(this)=="[object String]"?this.split(""):F(this),n=t.length>>>0;if(!n)return-1;var r=n-1;arguments.length>1&&(r=Math.min(r,s(arguments[1]))),r=r>=0?r:n-Math.abs(r);for(;r>=0;r--)if(r in t&&e===t[r])return r;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:l)});if(!Object.getOwnPropertyDescriptor){var S="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(S+e);if(!p(e,t))return;var n,r,i;n={enumerable:!0,configurable:!0};if(y){var s=e.__proto__;e.__proto__=l;var r=m(e,t),i=g(e,t);e.__proto__=s;if(r||i)return r&&(n.get=r),i&&(n.set=i),n}return n.value=e[t],n}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)});if(!Object.create){var x;Object.prototype.__proto__===null?x=function(){return{__proto__:null}}:x=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(e===null)n=x();else{if(typeof e!="object")throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return t!==void 0&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var T=i({}),N=typeof document=="undefined"||i(document.createElement("div"));if(!T||!N)var C=Object.defineProperty}if(!Object.defineProperty||C){var k="Property description must be an object: ",L="Object.defineProperty called on non-object: ",A="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError(L+e);if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(k+n);if(C)try{return C.call(Object,e,t,n)}catch(r){}if(p(n,"value"))if(y&&(m(e,t)||g(e,t))){var i=e.__proto__;e.__proto__=l,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!y)throw new TypeError(A);p(n,"get")&&d(e,t,n.get),p(n,"set")&&v(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=function(e){return function(t){return typeof t=="function"?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;var t="";while(p(e,t))t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n});if(!Object.keys){var M=!0,_=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],D=_.length;for(var P in{toString:null})M=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)p(e,t)&&I.push(t);if(M)for(var n=0,r=D;n<r;n++){var i=_[n];p(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var H=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||H.trim()){H="["+H+"]";var B=new RegExp("^"+H+H+"*"),j=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(j,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/mode/xquery_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/xquery/JSONParseTreeHandler","ace/mode/xquery/XQueryParser","ace/mode/xquery/visitors/SemanticHighlighter"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./xquery/JSONParseTreeHandler").JSONParseTreeHandler,o=e("./xquery/XQueryParser").XQueryParser,u=e("./xquery/visitors/SemanticHighlighter").SemanticHighlighter,a=t.XQueryWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(a,i),function(){this.onUpdate=function(){this.sender.emit("start");var e=this.doc.getValue(),t=new s(e),n=new o(e,t);try{n.parse_XQuery(),this.sender.emit("ok");var r=t.getParseTree(),i=new u(r,e),a=i.getTokens();this.sender.emit("highlight",{tokens:a,lines:i.lines})}catch(f){if(!(f instanceof n.ParseException))throw f;var l=e.substring(0,f.getBegin()),c=l.split("\n").length,h=f.getBegin()-l.lastIndexOf("\n"),p=n.getErrorMessage(f);this.sender.emit("error",{row:c-1,column:h,text:p,type:"error"})}}}.call(a.prototype)}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this._insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){!e instanceof s&&(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){!e instanceof s&&(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),ace.define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/mode/xquery/JSONParseTreeHandler",["require","exports","module"],function(e,t,n){var r=t.JSONParseTreeHandler=function(e){function t(e){return{name:e,children:[],getParent:null,pos:{sl:0,sc:0,el:0,ec:0}}}function n(e,n){var r=t(e);o===null?(o=r,u=r):(r.getParent=u,u.children.push(r),u=u.children[u.children.length-1])}function r(){if(u.children.length>0){var e=u.children[0],t=null;for(var n=u.children.length-1;n>=0;n--){t=u.children[n];if(t.pos.el!==0||t.pos.ec!==0)break}u.pos.sl=e.pos.sl,u.pos.sc=e.pos.sc,u.pos.el=t.pos.el,u.pos.ec=t.pos.ec}u.name==="FunctionName"&&(u.name="EQName"),u.name==="EQName"&&u.value===undefined&&(u.value=u.children[0].value,u.children.pop()),u.getParent!==null&&(u=u.getParent);if(u.children.length>0){var r=u.children[u.children.length-1];r.children.length===1&&s.indexOf(r.name)!==-1&&(u.children[u.children.length-1]=r.children[0])}}function i(e,t,n){var r=n-f;u.value=a.substring(0,r),a=a.substring(r),f=n;var i=c,s=l,o=i+u.value.split("\n").length-1,h=u.value.lastIndexOf("\n"),p=h===-1?s+u.value.length:u.value.substring(h+1).length;c=o,l=p,u.pos.sl=i,u.pos.sc=s,u.pos.el=o,u.pos.ec=p}var s=["OrExpr","AndExpr","ComparisonExpr","StringConcatExpr","RangeExpr","UnionExpr","IntersectExceptExpr","InstanceofExpr","TreatExpr","CastableExpr","CastExpr","UnaryExpr","ValueExpr","FTContainsExpr","SimpleMapExpr","PathExpr","RelativePathExpr","PostfixExpr","StepExpr"],o=null,u=null,a=e,f=0,l=0,c=0,h=0;this.closeParseTree=function(){while(u.getParent!==null)r();r()},this.peek=function(){return u},this.getParseTree=function(){return o},this.reset=function(e){},this.startNonterminal=function(e,t){n(e,t)},this.endNonterminal=function(e,t){r()},this.terminal=function(e,t,s){e=e.substring(0,1)==="'"&&e.substring(e.length-1)==="'"?"TOKEN":e,n(e,t),i(u,t,s),r()},this.whitespace=function(e,t){var s="WS";n(s,e),i(u,e,t),r()}}}),ace.define("ace/mode/xquery/XQueryParser",["require","exports","module"],function(e,t,n){var r=t.XQueryParser=function i(e,t){function n(e,t){ql=t,Ul=e,zl=e.length,r(0,0,0)}function r(e,t,n){kl=t,Ll=t,Al=e,Ol=t,Ml=n,_l=0,Xl=n,Bl=-1,Rl={},ql.reset(Ul)}function s(){ql.startNonterminal("Module",Ll);switch(Al){case 274:El(199);break;default:Cl=Al}(Cl==64274||Cl==134930)&&o(),wl(268);switch(Al){case 182:El(194);break;default:Cl=Al}switch(Cl){case 94390:yl(),u();break;default:yl(),Ba()}ql.endNonterminal("Module",Ll)}function o(){ql.startNonterminal("VersionDecl",Ll),vl(274),wl(116);switch(Al){case 125:vl(125),wl(17),vl(11);break;default:vl(263),wl(17),vl(11),wl(109),Al==125&&(vl(125),wl(17),vl(11))}wl(28),yl(),l(),ql.endNonterminal("VersionDecl",Ll)}function u(){ql.startNonterminal("LibraryModule",Ll),a(),wl(138),yl(),f(),ql.endNonterminal("LibraryModule",Ll)}function a(){ql.startNonterminal("ModuleDecl",Ll),vl(182),wl(61),vl(184),wl(247),yl(),Pa(),wl(29),vl(60),wl(15),vl(7),wl(28),yl(),l(),ql.endNonterminal("ModuleDecl",Ll)}function f(){ql.startNonterminal("Prolog",Ll);for(;;){wl(268);switch(Al){case 108:El(213);break;case 153:El(201);break;default:Cl=Al}if(Cl!=42604&&Cl!=43628&&Cl!=50284&&Cl!=53356&&Cl!=54380&&Cl!=55916&&Cl!=72300&&Cl!=93337&&Cl!=94316&&Cl!=104044&&Cl!=113772&&Cl!=115353)break;switch(Al){case 108:El(178);break;default:Cl=Al}if(Cl==55916){Cl=pl(0,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{M(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(0,Ll,Cl)}}switch(Cl){case-1:yl(),O();break;case 94316:yl(),A();break;case 153:yl(),N();break;case 72300:yl(),_();break;default:yl(),c()}wl(28),yl(),l()}for(;;){wl(268);switch(Al){case 108:El(210);break;default:Cl=Al}if(Cl!=16492&&Cl!=48748&&Cl!=51820&&Cl!=74348&&Cl!=79468&&Cl!=82540&&Cl!=101996&&Cl!=131692&&Cl!=134252)break;switch(Al){case 108:El(175);break;default:Cl=Al}switch(Cl){case 51820:yl(),q();break;case 101996:yl(),K();break;default:yl(),D()}wl(28),yl(),l()}ql.endNonterminal("Prolog",Ll)}function l(){ql.startNonterminal("Separator",Ll),vl(53),ql.endNonterminal("Separator",Ll)}function c(){ql.startNonterminal("Setter",Ll);switch(Al){case 108:El(172);break;default:Cl=Al}if(Cl==55916){Cl=pl(1,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{d(),Cl=-2}catch(a){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),b(),Cl=-6}catch(f){Cl=-9}}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(1,Ll,Cl)}}switch(Cl){case 43628:h();break;case-2:p();break;case 42604:v();break;case 50284:m();break;case 104044:g();break;case-6:y();break;case 113772:To();break;case 53356:w();break;default:x()}ql.endNonterminal("Setter",Ll)}function h(){ql.startNonterminal("BoundarySpaceDecl",Ll),vl(108),wl(33),vl(85),wl(133);switch(Al){case 214:vl(214);break;default:vl(241)}ql.endNonterminal("BoundarySpaceDecl",Ll)}function p(){ql.startNonterminal("DefaultCollationDecl",Ll),vl(108),wl(46),vl(109),wl(38),vl(94),wl(15),vl(7),ql.endNonterminal("DefaultCollationDecl",Ll)}function d(){ml(108),wl(46),ml(109),wl(38),ml(94),wl(15),ml(7)}function v(){ql.startNonterminal("BaseURIDecl",Ll),vl(108),wl(32),vl(83),wl(15),vl(7),ql.endNonterminal("BaseURIDecl",Ll)}function m(){ql.startNonterminal("ConstructionDecl",Ll),vl(108),wl(41),vl(98),wl(133);switch(Al){case 241:vl(241);break;default:vl(214)}ql.endNonterminal("ConstructionDecl",Ll)}function g(){ql.startNonterminal("OrderingModeDecl",Ll),vl(108),wl(68),vl(203),wl(131);switch(Al){case 202:vl(202);break;default:vl(256)}ql.endNonterminal("OrderingModeDecl",Ll)}function y(){ql.startNonterminal("EmptyOrderDecl",Ll),vl(108),wl(46),vl(109),wl(67),vl(201),wl(49),vl(123),wl(121);switch(Al){case 147:vl(147);break;default:vl(173)}ql.endNonterminal("EmptyOrderDecl",Ll)}function b(){ml(108),wl(46),ml(109),wl(67),ml(201),wl(49),ml(123),wl(121);switch(Al){case 147:ml(147);break;default:ml(173)}}function w(){ql.startNonterminal("CopyNamespacesDecl",Ll),vl(108),wl(44),vl(104),wl(128),yl(),E(),wl(25),vl(41),wl(123),yl(),S(),ql.endNonterminal("CopyNamespacesDecl",Ll)}function E(){ql.startNonterminal("PreserveMode",Ll);switch(Al){case 214:vl(214);break;default:vl(190)}ql.endNonterminal("PreserveMode",Ll)}function S(){ql.startNonterminal("InheritMode",Ll);switch(Al){case 157:vl(157);break;default:vl(189)}ql.endNonterminal("InheritMode",Ll)}function x(){ql.startNonterminal("DecimalFormatDecl",Ll),vl(108),wl(114);switch(Al){case 106:vl(106),wl(253),yl(),Oa();break;default:vl(109),wl(45),vl(106)}for(;;){wl(180);if(Al==53)break;yl(),T(),wl(29),vl(60),wl(17),vl(11)}ql.endNonterminal("DecimalFormatDecl",Ll)}function T(){ql.startNonterminal("DFPropertyName",Ll);switch(Al){case 107:vl(107);break;case 149:vl(149);break;case 156:vl(156);break;case 179:vl(179);break;case 67:vl(67);break;case 209:vl(209);break;case 208:vl(208);break;case 275:vl(275);break;case 116:vl(116);break;default:vl(207)}ql.endNonterminal("DFPropertyName",Ll)}function N(){ql.startNonterminal("Import",Ll);switch(Al){case 153:El(126);break;default:Cl=Al}switch(Cl){case 115353:C();break;default:L()}ql.endNonterminal("Import",Ll)}function C(){ql.startNonterminal("SchemaImport",Ll),vl(153),wl(73),vl(225),wl(137),Al!=7&&(yl(),k()),wl(15),vl(7),wl(108);if(Al==81){vl(81),wl(15),vl(7);for(;;){wl(103);if(Al!=41)break;vl(41),wl(15),vl(7)}}ql.endNonterminal("SchemaImport",Ll)}function k(){ql.startNonterminal("SchemaPrefix",Ll);switch(Al){case 184:vl(184),wl(247),yl(),Pa(),wl(29),vl(60);break;default:vl(109),wl(47),vl(121),wl(61),vl(184)}ql.endNonterminal("SchemaPrefix",Ll)}function L(){ql.startNonterminal("ModuleImport",Ll),vl(153),wl(60),vl(182),wl(90),Al==184&&(vl(184),wl(247),yl(),Pa(),wl(29),vl(60)),wl(15),vl(7),wl(108);if(Al==81){vl(81),wl(15),vl(7);for(;;){wl(103);if(Al!=41)break;vl(41),wl(15),vl(7)}}ql.endNonterminal("ModuleImport",Ll)}function A(){ql.startNonterminal("NamespaceDecl",Ll),vl(108),wl(61),vl(184),wl(247),yl(),Pa(),wl(29),vl(60),wl(15),vl(7),ql.endNonterminal("NamespaceDecl",Ll)}function O(){ql.startNonterminal("DefaultNamespaceDecl",Ll),vl(108),wl(46),vl(109),wl(115);switch(Al){case 121:vl(121);break;default:vl(145)}wl(61),vl(184),wl(15),vl(7),ql.endNonterminal("DefaultNamespaceDecl",Ll)}function M(){ml(108),wl(46),ml(109),wl(115);switch(Al){case 121:ml(121);break;default:ml(145)}wl(61),ml(184),wl(15),ml(7)}function _(){ql.startNonterminal("FTOptionDecl",Ll),vl(108),wl(52),vl(141),wl(81),yl(),Du(),ql.endNonterminal("FTOptionDecl",Ll)}function D(){ql.startNonterminal("AnnotatedDecl",Ll),vl(108);for(;;){wl(170);if(Al!=32&&Al!=257)break;switch(Al){case 257:yl(),P();break;default:yl(),H()}}switch(Al){case 262:yl(),j();break;case 145:yl(),cl();break;case 95:yl(),fa();break;case 155:yl(),ya();break;default:yl(),ba()}ql.endNonterminal("AnnotatedDecl",Ll)}function P(){ql.startNonterminal("CompatibilityAnnotation",Ll),vl(257),ql.endNonterminal("CompatibilityAnnotation",Ll)}function H(){ql.startNonterminal("Annotation",Ll),vl(32),wl(253),yl(),Oa(),wl(171);if(Al==34){vl(34),wl(154),yl(),ri();for(;;){wl(101);if(Al!=41)break;vl(41),wl(154),yl(),ri()}vl(37)}ql.endNonterminal("Annotation",Ll)}function B(){ml(32),wl(253),Ma(),wl(171);if(Al==34){ml(34),wl(154),ii();for(;;){wl(101);if(Al!=41)break;ml(41),wl(154),ii()}ml(37)}}function j(){ql.startNonterminal("VarDecl",Ll),vl(262),wl(21),vl(31),wl(253),yl(),fi(),wl(147),Al==79&&(yl(),cs()),wl(106);switch(Al){case 52:vl(52),wl(267),yl(),F();break;default:vl(133),wl(104),Al==52&&(vl(52),wl(267),yl(),I())}ql.endNonterminal("VarDecl",Ll)}function F(){ql.startNonterminal("VarValue",Ll),Nf(),ql.endNonterminal("VarValue",Ll)}function I(){ql.startNonterminal("VarDefaultValue",Ll),Nf(),ql.endNonterminal("VarDefaultValue",Ll)}function q(){ql.startNonterminal("ContextItemDecl",Ll),vl(108),wl(43),vl(101),wl(55),vl(165),wl(147),Al==79&&(vl(79),wl(259),yl(),gs()),wl(106);switch(Al){case 52:vl(52),wl(267),yl(),F();break;default:vl(133),wl(104),Al==52&&(vl(52),wl(267),yl(),I())}ql.endNonterminal("ContextItemDecl",Ll)}function R(){ql.startNonterminal("ParamList",Ll),z();for(;;){wl(101);if(Al!=41)break;vl(41),wl(21),yl(),z()}ql.endNonterminal("ParamList",Ll)}function U(){W();for(;;){wl(101);if(Al!=41)break;ml(41),wl(21),W()}}function z(){ql.startNonterminal("Param",Ll),vl(31),wl(253),yl(),Oa(),wl(143),Al==79&&(yl(),cs()),ql.endNonterminal("Param",Ll)}function W(){ml(31),wl(253),Ma(),wl(143),Al==79&&hs()}function X(){ql.startNonterminal("FunctionBody",Ll),$(),ql.endNonterminal("FunctionBody",Ll)}function V(){J()}function $(){ql.startNonterminal("EnclosedExpr",Ll),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("EnclosedExpr",Ll)}function J(){ml(276),wl(267),G(),ml(282)}function K(){ql.startNonterminal("OptionDecl",Ll),vl(108),wl(66),vl(199),wl(253),yl(),Oa(),wl(17),vl(11),ql.endNonterminal("OptionDecl",Ll)}function Q(){ql.startNonterminal("Expr",Ll),Nf();for(;;){if(Al!=41)break;vl(41),wl(267),yl(),Nf()}ql.endNonterminal("Expr",Ll)}function G(){Cf();for(;;){if(Al!=41)break;ml(41),wl(267),Cf()}}function Y(){ql.startNonterminal("FLWORExpr",Ll),et();for(;;){wl(173);if(Al==220)break;yl(),nt()}yl(),nn(),ql.endNonterminal("FLWORExpr",Ll)}function Z(){tt();for(;;){wl(173);if(Al==220)break;rt()}rn()}function et(){ql.startNonterminal("InitialClause",Ll);switch(Al){case 137:El(141);break;default:Cl=Al}switch(Cl){case 16009:it();break;case 174:dt();break;default:yt()}ql.endNonterminal("InitialClause",Ll)}function tt(){switch(Al){case 137:El(141);break;default:Cl=Al}switch(Cl){case 16009:st();break;case 174:vt();break;default:bt()}}function nt(){ql.startNonterminal("IntermediateClause",Ll);switch(Al){case 137:case 174:et();break;case 266:Ft();break;case 148:qt();break;case 105:Bt();break;default:Jt()}ql.endNonterminal("IntermediateClause",Ll)}function rt(){switch(Al){case 137:case 174:tt();break;case 266:It();break;case 148:Rt();break;case 105:jt();break;default:Kt()}}function it(){ql.startNonterminal("ForClause",Ll),vl(137),wl(21),yl(),ot();for(;;){if(Al!=41)break;vl(41),wl(21),yl(),ot()}ql.endNonterminal("ForClause",Ll)}function st(){ml(137),wl(21),ut();for(;;){if(Al!=41)break;ml(41),wl(21),ut()}}function ot(){ql.startNonterminal("ForBinding",Ll),vl(31),wl(253),yl(),fi(),wl(164),Al==79&&(yl(),cs()),wl(158),Al==72&&(yl(),at()),wl(150),Al==81&&(yl(),lt()),wl(122),Al==228&&(yl(),ht()),wl(53),vl(154),wl(267),yl(),Nf(),ql.endNonterminal("ForBinding",Ll)}function ut(){ml(31),wl(253),li(),wl(164),Al==79&&hs(),wl(158),Al==72&&ft(),wl(150),Al==81&&ct(),wl(122),Al==228&&pt(),wl(53),ml(154),wl(267),Cf()}function at(){ql.startNonterminal("AllowingEmpty",Ll),vl(72),wl(49),vl(123),ql.endNonterminal("AllowingEmpty",Ll)}function ft(){ml(72),wl(49),ml(123)}function lt(){ql.startNonterminal("PositionalVar",Ll),vl(81),wl(21),vl(31),wl(253),yl(),fi(),ql.endNonterminal("PositionalVar",Ll)}function ct(){ml(81),wl(21),ml(31),wl(253),li()}function ht(){ql.startNonterminal("FTScoreVar",Ll),vl(228),wl(21),vl(31),wl(253),yl(),fi(),ql.endNonterminal("FTScoreVar",Ll)}function pt(){ml(228),wl(21),ml(31),wl(253),li()}function dt(){ql.startNonterminal("LetClause",Ll),vl(174),wl(96),yl(),mt();for(;;){if(Al!=41)break;vl(41),wl(96),yl(),mt()}ql.endNonterminal("LetClause",Ll)}function vt(){ml(174),wl(96),gt();for(;;){if(Al!=41)break;ml(41),wl(96),gt()}}function mt(){ql.startNonterminal("LetBinding",Ll);switch(Al){case 31:vl(31),wl(253),yl(),fi(),wl(105),Al==79&&(yl(),cs());break;default:ht()}wl(27),vl(52),wl(267),yl(),Nf(),ql.endNonterminal("LetBinding",Ll)}function gt(){switch(Al){case 31:ml(31),wl(253),li(),wl(105),Al==79&&hs();break;default:pt()}wl(27),ml(52),wl(267),Cf()}function yt(){ql.startNonterminal("WindowClause",Ll),vl(137),wl(135);switch(Al){case 251:yl(),wt();break;default:yl(),St()}ql.endNonterminal("WindowClause",Ll)}function bt(){ml(137),wl(135);switch(Al){case 251:Et();break;default:xt()}}function wt(){ql.startNonterminal("TumblingWindowClause",Ll),vl(251),wl(85),vl(269),wl(21),vl(31),wl(253),yl(),fi(),wl(110),Al==79&&(yl(),cs()),wl(53),vl(154),wl(267),yl(),Nf(),yl(),Tt();if(Al==126||Al==198)yl(),Ct();ql.endNonterminal("TumblingWindowClause",Ll)}function Et(){ml(251),wl(85),ml(269),wl(21),ml(31),wl(253),li(),wl(110),Al==79&&hs(),wl(53),ml(154),wl(267),Cf(),Nt(),(Al==126||Al==198)&&kt()}function St(){ql.startNonterminal("SlidingWindowClause",Ll),vl(234),wl(85),vl(269),wl(21),vl(31),wl(253),yl(),fi(),wl(110),Al==79&&(yl(),cs()),wl(53),vl(154),wl(267),yl(),Nf(),yl(),Tt(),yl(),Ct(),ql.endNonterminal("SlidingWindowClause",Ll)}function xt(){ml(234),wl(85),ml(269),wl(21),ml(31),wl(253),li(),wl(110),Al==79&&hs(),wl(53),ml(154),wl(267),Cf(),Nt(),kt()}function Tt(){ql.startNonterminal("WindowStartCondition",Ll),vl(237),wl(163),yl(),Lt(),wl(83),vl(265),wl(267),yl(),Nf(),ql.endNonterminal("WindowStartCondition",Ll)}function Nt(){ml(237),wl(163),At(),wl(83),ml(265),wl(267),Cf()}function Ct(){ql.startNonterminal("WindowEndCondition",Ll),Al==198&&vl(198),wl(50),vl(126),wl(163),yl(),Lt(),wl(83),vl(265),wl(267),yl(),Nf(),ql.endNonterminal("WindowEndCondition",Ll)}function kt(){Al==198&&ml(198),wl(50),ml(126),wl(163),At(),wl(83),ml(265),wl(267),Cf()}function Lt(){ql.startNonterminal("WindowVars",Ll),Al==31&&(vl(31),wl(253),yl(),Ot()),wl(159),Al==81&&(yl(),lt()),wl(153),Al==215&&(vl(215),wl(21),vl(31),wl(253),yl(),_t()),wl(127),Al==187&&(vl(187),wl(21),vl(31),wl(253),yl(),Pt()),ql.endNonterminal("WindowVars",Ll)}function At(){Al==31&&(ml(31),wl(253),Mt()),wl(159),Al==81&&ct(),wl(153),Al==215&&(ml(215),wl(21),ml(31),wl(253),Dt()),wl(127),Al==187&&(ml(187),wl(21),ml(31),wl(253),Ht())}function Ot(){ql.startNonterminal("CurrentItem",Ll),Oa(),ql.endNonterminal("CurrentItem",Ll)}function Mt(){Ma()}function _t(){ql.startNonterminal("PreviousItem",Ll),Oa(),ql.endNonterminal("PreviousItem",Ll)}function Dt(){Ma()}function Pt(){ql.startNonterminal("NextItem",Ll),Oa(),ql.endNonterminal("NextItem",Ll)}function Ht(){Ma()}function Bt(){ql.startNonterminal("CountClause",Ll),vl(105),wl(21),vl(31),wl(253),yl(),fi(),ql.endNonterminal("CountClause",Ll)}function jt(){ml(105),wl(21),ml(31),wl(253),li()}function Ft(){ql.startNonterminal("WhereClause",Ll),vl(266),wl(267),yl(),Nf(),ql.endNonterminal("WhereClause",Ll)}function It(){ml(266),wl(267),Cf()}function qt(){ql.startNonterminal("GroupByClause",Ll),vl(148),wl(34),vl(87),wl(21),yl(),Ut(),ql.endNonterminal("GroupByClause",Ll)}function Rt(){ml(148),wl(34),ml(87),wl(21),zt()}function Ut(){ql.startNonterminal("GroupingSpecList",Ll),Wt();for(;;){wl(176);if(Al!=41)break;vl(41),wl(21),yl(),Wt()}ql.endNonterminal("GroupingSpecList",Ll)}function zt(){Xt();for(;;){wl(176);if(Al!=41)break;ml(41),wl(21),Xt()}}function Wt(){ql.startNonterminal("GroupingSpec",Ll),Vt(),wl(182);if(Al==52||Al==79)Al==79&&(yl(),cs()),wl(27),vl(52),wl(267),yl(),Nf();Al==94&&(vl(94),wl(15),vl(7)),ql.endNonterminal("GroupingSpec",Ll)}function Xt(){$t(),wl(182);if(Al==52||Al==79)Al==79&&hs(),wl(27),ml(52),wl(267),Cf();Al==94&&(ml(94),wl(15),ml(7))}function Vt(){ql.startNonterminal("GroupingVariable",Ll),vl(31),wl(253),yl(),fi(),ql.endNonterminal("GroupingVariable",Ll)}function $t(){ml(31),wl(253),li()}function Jt(){ql.startNonterminal("OrderByClause",Ll);switch(Al){case 201:vl(201),wl(34),vl(87);break;default:vl(236),wl(67),vl(201),wl(34),vl(87)}wl(267),yl(),Qt(),ql.endNonterminal("OrderByClause",Ll)}function Kt(){switch(Al){case 201:ml(201),wl(34),ml(87);break;default:ml(236),wl(67),ml(201),wl(34),ml(87)}wl(267),Gt()}function Qt(){ql.startNonterminal("OrderSpecList",Ll),Yt();for(;;){wl(176);if(Al!=41)break;vl(41),wl(267),yl(),Yt()}ql.endNonterminal("OrderSpecList",Ll)}function Gt(){Zt();for(;;){wl(176);if(Al!=41)break;ml(41),wl(267),Zt()}}function Yt(){ql.startNonterminal("OrderSpec",Ll),Nf(),yl(),en(),ql.endNonterminal("OrderSpec",Ll)}function Zt(){Cf(),tn()}function en(){ql.startNonterminal("OrderModifier",Ll);if(Al==80||Al==113)switch(Al){case 80:vl(80);break;default:vl(113)}wl(179);if(Al==123){vl(123),wl(121);switch(Al){case 147:vl(147);break;default:vl(173)}}wl(177),Al==94&&(vl(94),wl(15),vl(7)),ql.endNonterminal("OrderModifier",Ll)}function tn(){if(Al==80||Al==113)switch(Al){case 80:ml(80);break;default:ml(113)}wl(179);if(Al==123){ml(123),wl(121);switch(Al){case 147:ml(147);break;default:ml(173)}}wl(177),Al==94&&(ml(94),wl(15),ml(7))}function nn(){ql.startNonterminal("ReturnClause",Ll),vl(220),wl(267),yl(),Nf(),ql.endNonterminal("ReturnClause",Ll)}function rn(){ml(220),wl(267),Cf()}function sn(){ql.startNonterminal("QuantifiedExpr",Ll);switch(Al){case 235:vl(235);break;default:vl(129)}wl(21),vl(31),wl(253),yl(),fi(),wl(110),Al==79&&(yl(),cs()),wl(53),vl(154),wl(267),yl(),Nf();for(;;){if(Al!=41)break;vl(41),wl(21),vl(31),wl(253),yl(),fi(),wl(110),Al==79&&(yl(),cs()),wl(53),vl(154),wl(267),yl(),Nf()}vl(224),wl(267),yl(),Nf(),ql.endNonterminal("QuantifiedExpr",Ll)}function on(){switch(Al){case 235:ml(235);break;default:ml(129)}wl(21),ml(31),wl(253),li(),wl(110),Al==79&&hs(),wl(53),ml(154),wl(267),Cf();for(;;){if(Al!=41)break;ml(41),wl(21),ml(31),wl(253),li(),wl(110),Al==79&&hs(),wl(53),ml(154),wl(267),Cf()}ml(224),wl(267),Cf()}function un(){ql.startNonterminal("SwitchExpr",Ll),vl(243),wl(22),vl(34),wl(267),yl(),Q(),vl(37);for(;;){wl(35),yl(),fn();if(Al!=88)break}vl(109),wl(70),vl(220),wl(267),yl(),Nf(),ql.endNonterminal("SwitchExpr",Ll)}function an(){ml(243),wl(22),ml(34),wl(267),G(),ml(37);for(;;){wl(35),ln();if(Al!=88)break}ml(109),wl(70),ml(220),wl(267),Cf()}function fn(){ql.startNonterminal("SwitchCaseClause",Ll);for(;;){vl(88),wl(267),yl(),cn();if(Al!=88)break}vl(220),wl(267),yl(),Nf(),ql.endNonterminal("SwitchCaseClause",Ll)}function ln(){for(;;){ml(88),wl(267),hn();if(Al!=88)break}ml(220),wl(267),Cf()}function cn(){ql.startNonterminal("SwitchCaseOperand",Ll),Nf(),ql.endNonterminal("SwitchCaseOperand",Ll)}function hn(){Cf()}function pn(){ql.startNonterminal("TypeswitchExpr",Ll),vl(253),wl(22),vl(34),wl(267),yl(),Q(),vl(37);for(;;){wl(35),yl(),vn();if(Al!=88)break}vl(109),wl(95),Al==31&&(vl(31),wl(253),yl(),fi()),wl(70),vl(220),wl(267),yl(),Nf(),ql.endNonterminal("TypeswitchExpr",Ll)}function dn(){ml(253),wl(22),ml(34),wl(267),G(),ml(37);for(;;){wl(35),mn();if(Al!=88)break}ml(109),wl(95),Al==31&&(ml(31),wl(253),li()),wl(70),ml(220),wl(267),Cf()}function vn(){ql.startNonterminal("CaseClause",Ll),vl(88),wl(260),Al==31&&(vl(31),wl(253),yl(),fi(),wl(30),vl(79)),wl(259),yl(),gn(),vl(220),wl(267),yl(),Nf(),ql.endNonterminal("CaseClause",Ll)}function mn(){ml(88),wl(260),Al==31&&(ml(31),wl(253),li(),wl(30),ml(79)),wl(259),yn(),ml(220),wl(267),Cf()}function gn(){ql.startNonterminal("SequenceTypeUnion",Ll),ps();for(;;){wl(134);if(Al!=279)break;vl(279),wl(259),yl(),ps()}ql.endNonterminal("SequenceTypeUnion",Ll)}function yn(){ds();for(;;){wl(134);if(Al!=279)break;ml(279),wl(259),ds()}}function bn(){ql.startNonterminal("IfExpr",Ll),vl(152),wl(22),vl(34),wl(267),yl(),Q(),vl(37),wl(77),vl(245),wl(267),yl(),Nf(),vl(122),wl(267),yl(),Nf(),ql.endNonterminal("IfExpr",Ll)}function wn(){ml(152),wl(22),ml(34),wl(267),G(),ml(37),wl(77),ml(245),wl(267),Cf(),ml(122),wl(267),Cf()}function En(){ql.startNonterminal("TryCatchExpr",Ll),xn();for(;;){wl(36),yl(),kn(),wl(184);if(Al!=91)break}ql.endNonterminal("TryCatchExpr",Ll)}function Sn(){Tn();for(;;){wl(36),Ln(),wl(184);if(Al!=91)break}}function xn(){ql.startNonterminal("TryClause",Ll),vl(250),wl(87),vl(276),wl(267),yl(),Nn(),vl(282),ql.endNonterminal("TryClause",Ll)}function Tn(){ml(250),wl(87),ml(276),wl(267),Cn(),ml(282)}function Nn(){ql.startNonterminal("TryTargetExpr",Ll),Q(),ql.endNonterminal("TryTargetExpr",Ll)}function Cn(){G()}function kn(){ql.startNonterminal("CatchClause",Ll),vl(91),wl(255),yl(),An(),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("CatchClause",Ll)}function Ln(){ml(91),wl(255),On(),ml(276),wl(267),G(),ml(282)}function An(){ql.startNonterminal("CatchErrorList",Ll),$r();for(;;){wl(136);if(Al!=279)break;vl(279),wl(255),yl(),$r()}ql.endNonterminal("CatchErrorList",Ll)}function On(){Jr();for(;;){wl(136);if(Al!=279)break;ml(279),wl(255),Jr()}}function Mn(){ql.startNonterminal("OrExpr",Ll),Dn();for(;;){if(Al!=200)break;vl(200),wl(265),yl(),Dn()}ql.endNonterminal("OrExpr",Ll)}function _n(){Pn();for(;;){if(Al!=200)break;ml(200),wl(265),Pn()}}function Dn(){ql.startNonterminal("AndExpr",Ll),Hn();for(;;){if(Al!=75)break;vl(75),wl(265),yl(),Hn()}ql.endNonterminal("AndExpr",Ll)}function Pn(){Bn();for(;;){if(Al!=75)break;ml(75),wl(265),Bn()}}function Hn(){ql.startNonterminal("ComparisonExpr",Ll),jn();if(Al==27||Al==54||Al==57||Al==58||Al==60||Al==61||Al==62||Al==63||Al==128||Al==146||Al==150||Al==164||Al==172||Al==178||Al==186){switch(Al){case 128:case 146:case 150:case 172:case 178:case 186:yl(),pr();break;case 57:case 63:case 164:yl(),vr();break;default:yl(),cr()}wl(265),yl(),jn()}ql.endNonterminal("ComparisonExpr",Ll)}function Bn(){Fn();if(Al==27||Al==54||Al==57||Al==58||Al==60||Al==61||Al==62||Al==63||Al==128||Al==146||Al==150||Al==164||Al==172||Al==178||Al==186){switch(Al){case 128:case 146:case 150:case 172:case 178:case 186:dr();break;case 57:case 63:case 164:mr();break;default:hr()}wl(265),Fn()}}function jn(){ql.startNonterminal("FTContainsExpr",Ll),In(),Al==99&&(vl(99),wl(76),vl(244),wl(162),yl(),zo(),Al==271&&(yl(),ua())),ql.endNonterminal("FTContainsExpr",Ll)}function Fn(){qn(),Al==99&&(ml(99),wl(76),ml(244),wl(162),Wo(),Al==271&&aa())}function In(){ql.startNonterminal("StringConcatExpr",Ll),Rn();for(;;){if(Al!=280)break;vl(280),wl(265),yl(),Rn()}ql.endNonterminal("StringConcatExpr",Ll)}function qn(){Un();for(;;){if(Al!=280)break;ml(280),wl(265),Un()}}function Rn(){ql.startNonterminal("RangeExpr",Ll),zn(),Al==248&&(vl(248),wl(265),yl(),zn()),ql.endNonterminal("RangeExpr",Ll)}function Un(){Wn(),Al==248&&(ml(248),wl(265),Wn())}function zn(){ql.startNonterminal("AdditiveExpr",Ll),Xn();for(;;){if(Al!=40&&Al!=42)break;switch(Al){case 40:vl(40);break;default:vl(42)}wl(265),yl(),Xn()}ql.endNonterminal("AdditiveExpr",Ll)}function Wn(){Vn();for(;;){if(Al!=40&&Al!=42)break;switch(Al){case 40:ml(40);break;default:ml(42)}wl(265),Vn()}}function Xn(){ql.startNonterminal("MultiplicativeExpr",Ll),$n();for(;;){if(Al!=38&&Al!=118&&Al!=151&&Al!=180)break;switch(Al){case 38:vl(38);break;case 118:vl(118);break;case 151:vl(151);break;default:vl(180)}wl(265),yl(),$n()}ql.endNonterminal("MultiplicativeExpr",Ll)}function Vn(){Jn();for(;;){if(Al!=38&&Al!=118&&Al!=151&&Al!=180)break;switch(Al){case 38:ml(38);break;case 118:ml(118);break;case 151:ml(151);break;default:ml(180)}wl(265),Jn()}}function $n(){ql.startNonterminal("UnionExpr",Ll),Kn();for(;;){if(Al!=254&&Al!=279)break;switch(Al){case 254:vl(254);break;default:vl(279)}wl(265),yl(),Kn()}ql.endNonterminal("UnionExpr",Ll)}function Jn(){Qn();for(;;){if(Al!=254&&Al!=279)break;switch(Al){case 254:ml(254);break;default:ml(279)}wl(265),Qn()}}function Kn(){ql.startNonterminal("IntersectExceptExpr",Ll),Gn();for(;;){wl(222);if(Al!=131&&Al!=162)break;switch(Al){case 162:vl(162);break;default:vl(131)}wl(265),yl(),Gn()}ql.endNonterminal("IntersectExceptExpr",Ll)}function Qn(){Yn();for(;;){wl(222);if(Al!=131&&Al!=162)break;switch(Al){case 162:ml(162);break;default:ml(131)}wl(265),Yn()}}function Gn(){ql.startNonterminal("InstanceofExpr",Ll),Zn(),wl(223),Al==160&&(vl(160),wl(64),vl(196),wl(259),yl(),ps()),ql.endNonterminal("InstanceofExpr",Ll)}function Yn(){er(),wl(223),Al==160&&(ml(160),wl(64),ml(196),wl(259),ds())}function Zn(){ql.startNonterminal("TreatExpr",Ll),tr(),wl(224),Al==249&&(vl(249),wl(30),vl(79),wl(259),yl(),ps()),ql.endNonterminal("TreatExpr",Ll)}function er(){nr(),wl(224),Al==249&&(ml(249),wl(30),ml(79),wl(259),ds())}function tr(){ql.startNonterminal("CastableExpr",Ll),rr(),wl(225),Al==90&&(vl(90),wl(30),vl(79),wl(253),yl(),fs()),ql.endNonterminal("CastableExpr",Ll)}function nr(){ir(),wl(225),Al==90&&(ml(90),wl(30),ml(79),wl(253),ls())}function rr(){ql.startNonterminal("CastExpr",Ll),sr(),wl(227),Al==89&&(vl(89),wl(30),vl(79),wl(253),yl(),fs()),ql.endNonterminal("CastExpr",Ll)}function ir(){or(),wl(227),Al==89&&(ml(89),wl(30),ml(79),wl(253),ls())}function sr(){ql.startNonterminal("UnaryExpr",Ll);for(;;){wl(265);if(Al!=40&&Al!=42)break;switch(Al){case 42:vl(42);break;default:vl(40)}}yl(),ur(),ql.endNonterminal("UnaryExpr",Ll)}function or(){for(;;){wl(265);if(Al!=40&&Al!=42)break;switch(Al){case 42:ml(42);break;default:ml(40)}}ar()}function ur(){ql.startNonterminal("ValueExpr",Ll);switch(Al){case 260:El(246);break;default:Cl=Al}switch(Cl){case 87812:case 123140:case 129284:case 141572:gr();break;case 35:Er();break;default:fr()}ql.endNonterminal("ValueExpr",Ll)}function ar(){switch(Al){case 260:El(246);break;default:Cl=Al}switch(Cl){case 87812:case 123140:case 129284:case 141572:yr();break;case 35:Sr();break;default:lr()}}function fr(){ql.startNonterminal("SimpleMapExpr",Ll),Nr();for(;;){if(Al!=26)break;vl(26),wl(264),yl(),Nr()}ql.endNonterminal("SimpleMapExpr",Ll)}function lr(){Cr();for(;;){if(Al!=26)break;ml(26),wl(264),Cr()}}function cr(){ql.startNonterminal("GeneralComp",Ll);switch(Al){case 60:vl(60);break;case 27:vl(27);break;case 54:vl(54);break;case 58:vl(58);break;case 61:vl(61);break;default:vl(62)}ql.endNonterminal("GeneralComp",Ll)}function hr(){switch(Al){case 60:ml(60);break;case 27:ml(27);break;case 54:ml(54);break;case 58:ml(58);break;case 61:ml(61);break;default:ml(62)}}function pr(){ql.startNonterminal("ValueComp",Ll);switch(Al){case 128:vl(128);break;case 186:vl(186);break;case 178:vl(178);break;case 172:vl(172);break;case 150:vl(150);break;default:vl(146)}ql.endNonterminal("ValueComp",Ll)}function dr(){switch(Al){case 128:ml(128);break;case 186:ml(186);break;case 178:ml(178);break;case 172:ml(172);break;case 150:ml(150);break;default:ml(146)}}function vr(){ql.startNonterminal("NodeComp",Ll);switch(Al){case 164:vl(164);break;case 57:vl(57);break;default:vl(63)}ql.endNonterminal("NodeComp",Ll)}function mr(){switch(Al){case 164:ml(164);break;case 57:ml(57);break;default:ml(63)}}function gr(){ql.startNonterminal("ValidateExpr",Ll),vl(260),wl(160);if(Al!=276)switch(Al){case 252:vl(252),wl(253),yl(),po();break;default:yl(),br()}wl(87),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("ValidateExpr",Ll)}function yr(){ml(260),wl(160);if(Al!=276)switch(Al){case 252:ml(252),wl(253),vo();break;default:wr()}wl(87),ml(276),wl(267),G(),ml(282)}function br(){ql.startNonterminal("ValidationMode",Ll);switch(Al){case 171:vl(171);break;default:vl(240)}ql.endNonterminal("ValidationMode",Ll)}function wr(){switch(Al){case 171:ml(171);break;default:ml(240)}}function Er(){ql.startNonterminal("ExtensionExpr",Ll);for(;;){yl(),xr(),wl(100);if(Al!=35)break}vl(276),wl(273),Al!=282&&(yl(),Q()),vl(282),ql.endNonterminal("ExtensionExpr",Ll)}function Sr(){for(;;){Tr(),wl(100);if(Al!=35)break}ml(276),wl(273),Al!=282&&G(),ml(282)}function xr(){ql.startNonterminal("Pragma",Ll),vl(35),Sl(250),Al==21&&vl(21),Oa(),Sl(10),Al==21&&(vl(21),Sl(0),vl(1)),Sl(5),vl(30),ql.endNonterminal("Pragma",Ll)}function Tr(){ml(35),Sl(250),Al==21&&ml(21),Ma(),Sl(10),Al==21&&(ml(21),Sl(0),ml(1)),Sl(5),ml(30)}function Nr(){ql.startNonterminal("PathExpr",Ll);switch(Al){case 46:vl(46),wl(283);switch(Al){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:yl(),kr()}break;case 47:vl(47),wl(263),yl(),kr();break;default:kr()}ql.endNonterminal("PathExpr",Ll)}function Cr(){switch(Al){case 46:ml(46),wl(283);switch(Al){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:Lr()}break;case 47:ml(47),wl(263),Lr();break;default:Lr()}}function kr(){ql.startNonterminal("RelativePathExpr",Ll),Ar();for(;;){switch(Al){case 26:El(264);break;default:Cl=Al}if(Cl!=25&&Cl!=27&&Cl!=37&&Cl!=38&&Cl!=40&&Cl!=41&&Cl!=42&&Cl!=46&&Cl!=47&&Cl!=49&&Cl!=53&&Cl!=54&&Cl!=57&&Cl!=58&&Cl!=60&&Cl!=61&&Cl!=62&&Cl!=63&&Cl!=69&&Cl!=70&&Cl!=75&&Cl!=79&&Cl!=80&&Cl!=81&&Cl!=84&&Cl!=87&&Cl!=88&&Cl!=89&&Cl!=90&&Cl!=94&&Cl!=99&&Cl!=105&&Cl!=109&&Cl!=113&&Cl!=118&&Cl!=122&&Cl!=123&&Cl!=126&&Cl!=128&&Cl!=131&&Cl!=137&&Cl!=146&&Cl!=148&&Cl!=150&&Cl!=151&&Cl!=160&&Cl!=162&&Cl!=163&&Cl!=164&&Cl!=172&&Cl!=174&&Cl!=178&&Cl!=180&&Cl!=181&&Cl!=186&&Cl!=198&&Cl!=200&&Cl!=201&&Cl!=205&&Cl!=220&&Cl!=224&&Cl!=232&&Cl!=236&&Cl!=237&&Cl!=247&&Cl!=248&&Cl!=249&&Cl!=254&&Cl!=266&&Cl!=270&&Cl!=273&&Cl!=279&&Cl!=280&&Cl!=281&&Cl!=282&&Cl!=23578&&Cl!=24090){Cl=pl(2,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{switch(Al){case 46:ml(46);break;case 47:ml(47);break;default:ml(26)}wl(263),Or(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(2,Ll,Cl)}}if(Cl!=-1&&Cl!=46&&Cl!=47)break;switch(Al){case 46:vl(46);break;case 47:vl(47);break;default:vl(26)}wl(263),yl(),Ar()}ql.endNonterminal("RelativePathExpr",Ll)}function Lr(){Or();for(;;){switch(Al){case 26:El(264);break;default:Cl=Al}if(Cl!=25&&Cl!=27&&Cl!=37&&Cl!=38&&Cl!=40&&Cl!=41&&Cl!=42&&Cl!=46&&Cl!=47&&Cl!=49&&Cl!=53&&Cl!=54&&Cl!=57&&Cl!=58&&Cl!=60&&Cl!=61&&Cl!=62&&Cl!=63&&Cl!=69&&Cl!=70&&Cl!=75&&Cl!=79&&Cl!=80&&Cl!=81&&Cl!=84&&Cl!=87&&Cl!=88&&Cl!=89&&Cl!=90&&Cl!=94&&Cl!=99&&Cl!=105&&Cl!=109&&Cl!=113&&Cl!=118&&Cl!=122&&Cl!=123&&Cl!=126&&Cl!=128&&Cl!=131&&Cl!=137&&Cl!=146&&Cl!=148&&Cl!=150&&Cl!=151&&Cl!=160&&Cl!=162&&Cl!=163&&Cl!=164&&Cl!=172&&Cl!=174&&Cl!=178&&Cl!=180&&Cl!=181&&Cl!=186&&Cl!=198&&Cl!=200&&Cl!=201&&Cl!=205&&Cl!=220&&Cl!=224&&Cl!=232&&Cl!=236&&Cl!=237&&Cl!=247&&Cl!=248&&Cl!=249&&Cl!=254&&Cl!=266&&Cl!=270&&Cl!=273&&Cl!=279&&Cl!=280&&Cl!=281&&Cl!=282&&Cl!=23578&&Cl!=24090){Cl=pl(2,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{switch(Al){case 46:ml(46);break;case 47:ml(47);break;default:ml(26)}wl(263),Or(),hl(2,t,-1);continue}catch(a){kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(2,t,-2);break}}}if(Cl!=-1&&Cl!=46&&Cl!=47)break;switch(Al){case 46:ml(46);break;case 47:ml(47);break;default:ml(26)}wl(263),Or()}}function Ar(){ql.startNonterminal("StepExpr",Ll);switch(Al){case 82:El(282);break;case 121:El(280);break;case 184:case 216:El(279);break;case 96:case 119:case 202:case 244:case 256:El(245);break;case 124:case 152:case 165:case 243:case 253:El(238);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:El(244);break;case 6:case 70:case 72:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:El(242);break;default:Cl=Al}if(Cl==17486||Cl==17575||Cl==17602||Cl==35922||Cl==35961||Cl==36024||Cl==36056||Cl==38482||Cl==38521||Cl==38584||Cl==38616||Cl==40530||Cl==40569||Cl==40632||Cl==40664||Cl==41042||Cl==41081||Cl==41144||Cl==41176||Cl==41554||Cl==41593||Cl==41656||Cl==41688||Cl==43090||Cl==43129||Cl==43192||Cl==43224||Cl==45138||Cl==45177||Cl==45240||Cl==45272||Cl==45650||Cl==45689||Cl==45752||Cl==45784||Cl==46162||Cl==46201||Cl==46264||Cl==46296||Cl==48210||Cl==48249||Cl==48312||Cl==48344||Cl==53842||Cl==53881||Cl==53944||Cl==53976||Cl==55890||Cl==55929||Cl==55992||Cl==56024||Cl==57938||Cl==57977||Cl==58040||Cl==58072||Cl==60498||Cl==60537||Cl==60600||Cl==60632||Cl==62546||Cl==62585||Cl==62648||Cl==62680||Cl==63058||Cl==63097||Cl==63160||Cl==63192||Cl==64594||Cl==64633||Cl==64696||Cl==64728||Cl==65618||Cl==65657||Cl==65720||Cl==65752||Cl==67154||Cl==67193||Cl==67256||Cl==67288||Cl==70226||Cl==70265||Cl==70328||Cl==70360||Cl==74834||Cl==74873||Cl==74936||Cl==74968||Cl==75858||Cl==75897||Cl==75960||Cl==75992||Cl==76882||Cl==76921||Cl==76984||Cl==77016||Cl==77394||Cl==77433||Cl==77496||Cl==77528||Cl==82002||Cl==82041||Cl==82104||Cl==82136||Cl==83026||Cl==83065||Cl==83128||Cl==83160||Cl==83538||Cl==83577||Cl==83640||Cl==83672||Cl==84050||Cl==84089||Cl==84152||Cl==84184||Cl==88146||Cl==88185||Cl==88248||Cl==88280||Cl==89170||Cl==89209||Cl==89272||Cl==89304||Cl==91218||Cl==91257||Cl==91320||Cl==91352||Cl==92242||Cl==92281||Cl==92344||Cl==92376||Cl==92754||Cl==92793||Cl==92856||Cl==92888||Cl==95314||Cl==95353||Cl==95416||Cl==95448||Cl==101458||Cl==101497||Cl==101560||Cl==101592||Cl==102482||Cl==102521||Cl==102584||Cl==102616||Cl==102994||Cl==103033||Cl==103096||Cl==103128||Cl==112722||Cl==112761||Cl==112824||Cl==112856||Cl==114770||Cl==114809||Cl==114872||Cl==114904||Cl==120914||Cl==120953||Cl==121016||Cl==121048||Cl==121426||Cl==121465||Cl==121528||Cl==121560||Cl==127058||Cl==127097||Cl==127160||Cl==127192||Cl==127570||Cl==127609||Cl==127672||Cl==127704||Cl==130130||Cl==130169||Cl==130232||Cl==130264||Cl==136274||Cl==136313||Cl==136376||Cl==136408||Cl==138322||Cl==138361||Cl==138424||Cl==138456){Cl=pl(3,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{Qr(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(3,Ll,Cl)}}switch(Cl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 40018:case 40057:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 85586:case 85625:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 99410:case 99449:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Kr();break;default:Mr()}ql.endNonterminal("StepExpr",Ll)}function Or(){switch(Al){case 82:El(282);break;case 121:El(280);break;case 184:case 216:El(279);break;case 96:case 119:case 202:case 244:case 256:El(245);break;case 124:case 152:case 165:case 243:case 253:El(238);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:El(244);break;case 6:case 70:case 72:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:El(242);break;default:Cl=Al}if(Cl==17486||Cl==17575||Cl==17602||Cl==35922||Cl==35961||Cl==36024||Cl==36056||Cl==38482||Cl==38521||Cl==38584||Cl==38616||Cl==40530||Cl==40569||Cl==40632||Cl==40664||Cl==41042||Cl==41081||Cl==41144||Cl==41176||Cl==41554||Cl==41593||Cl==41656||Cl==41688||Cl==43090||Cl==43129||Cl==43192||Cl==43224||Cl==45138||Cl==45177||Cl==45240||Cl==45272||Cl==45650||Cl==45689||Cl==45752||Cl==45784||Cl==46162||Cl==46201||Cl==46264||Cl==46296||Cl==48210||Cl==48249||Cl==48312||Cl==48344||Cl==53842||Cl==53881||Cl==53944||Cl==53976||Cl==55890||Cl==55929||Cl==55992||Cl==56024||Cl==57938||Cl==57977||Cl==58040||Cl==58072||Cl==60498||Cl==60537||Cl==60600||Cl==60632||Cl==62546||Cl==62585||Cl==62648||Cl==62680||Cl==63058||Cl==63097||Cl==63160||Cl==63192||Cl==64594||Cl==64633||Cl==64696||Cl==64728||Cl==65618||Cl==65657||Cl==65720||Cl==65752||Cl==67154||Cl==67193||Cl==67256||Cl==67288||Cl==70226||Cl==70265||Cl==70328||Cl==70360||Cl==74834||Cl==74873||Cl==74936||Cl==74968||Cl==75858||Cl==75897||Cl==75960||Cl==75992||Cl==76882||Cl==76921||Cl==76984||Cl==77016||Cl==77394||Cl==77433||Cl==77496||Cl==77528||Cl==82002||Cl==82041||Cl==82104||Cl==82136||Cl==83026||Cl==83065||Cl==83128||Cl==83160||Cl==83538||Cl==83577||Cl==83640||Cl==83672||Cl==84050||Cl==84089||Cl==84152||Cl==84184||Cl==88146||Cl==88185||Cl==88248||Cl==88280||Cl==89170||Cl==89209||Cl==89272||Cl==89304||Cl==91218||Cl==91257||Cl==91320||Cl==91352||Cl==92242||Cl==92281||Cl==92344||Cl==92376||Cl==92754||Cl==92793||Cl==92856||Cl==92888||Cl==95314||Cl==95353||Cl==95416||Cl==95448||Cl==101458||Cl==101497||Cl==101560||Cl==101592||Cl==102482||Cl==102521||Cl==102584||Cl==102616||Cl==102994||Cl==103033||Cl==103096||Cl==103128||Cl==112722||Cl==112761||Cl==112824||Cl==112856||Cl==114770||Cl==114809||Cl==114872||Cl==114904||Cl==120914||Cl==120953||Cl==121016||Cl==121048||Cl==121426||Cl==121465||Cl==121528||Cl==121560||Cl==127058||Cl==127097||Cl==127160||Cl==127192||Cl==127570||Cl==127609||Cl==127672||Cl==127704||Cl==130130||Cl==130169||Cl==130232||Cl==130264||Cl==136274||Cl==136313||Cl==136376||Cl==136408||Cl==138322||Cl==138361||Cl==138424||Cl==138456){Cl=pl(3,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{Qr(),hl(3,t,-1),Cl=-3}catch(a){Cl=-2,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(3,t,-2)}}}switch(Cl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 40018:case 40057:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 85586:case 85625:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 99410:case 99449:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Qr();break;case-3:break;default:_r()}}function Mr(){ql.startNonterminal("AxisStep",Ll);switch(Al){case 73:case 74:case 206:case 212:case 213:El(240);break;default:Cl=Al}switch(Cl){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:Ir();break;default:Dr()}wl(236),yl(),Zr(),ql.endNonterminal("AxisStep",Ll)}function _r(){switch(Al){case 73:case 74:case 206:case 212:case 213:El(240);break;default:Cl=Al}switch(Cl){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:qr();break;default:Pr()}wl(236),ei()}function Dr(){ql.startNonterminal("ForwardStep",Ll);switch(Al){case 82:El(243);break;case 93:case 111:case 112:case 135:case 136:case 229:El(240);break;default:Cl=Al}switch(Cl){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Hr(),wl(255),yl(),Xr();break;default:jr()}ql.endNonterminal("ForwardStep",Ll)}function Pr(){switch(Al){case 82:El(243);break;case 93:case 111:case 112:case 135:case 136:case 229:El(240);break;default:Cl=Al}switch(Cl){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Br(),wl(255),Vr();break;default:Fr()}}function Hr(){ql.startNonterminal("ForwardAxis",Ll);switch(Al){case 93:vl(93),wl(26),vl(51);break;case 111:vl(111),wl(26),vl(51);break;case 82:vl(82),wl(26),vl(51);break;case 229:vl(229),wl(26),vl(51);break;case 112:vl(112),wl(26),vl(51);break;case 136:vl(136),wl(26),vl(51);break;default:vl(135),wl(26),vl(51)}ql.endNonterminal("ForwardAxis",Ll)}function Br(){switch(Al){case 93:ml(93),wl(26),ml(51);break;case 111:ml(111),wl(26),ml(51);break;case 82:ml(82),wl(26),ml(51);break;case 229:ml(229),wl(26),ml(51);break;case 112:ml(112),wl(26),ml(51);break;case 136:ml(136),wl(26),ml(51);break;default:ml(135),wl(26),ml(51)}}function jr(){ql.startNonterminal("AbbrevForwardStep",Ll),Al==66&&vl(66),wl(255),yl(),Xr(),ql.endNonterminal("AbbrevForwardStep",Ll)}function Fr(){Al==66&&ml(66),wl(255),Vr()}function Ir(){ql.startNonterminal("ReverseStep",Ll);switch(Al){case 45:zr();break;default:Rr(),wl(255),yl(),Xr()}ql.endNonterminal("ReverseStep",Ll)}function qr(){switch(Al){case 45:Wr();break;default:Ur(),wl(255),Vr()}}function Rr(){ql.startNonterminal("ReverseAxis",Ll);switch(Al){case 206:vl(206),wl(26),vl(51);break;case 73:vl(73),wl(26),vl(51);break;case 213:vl(213),wl(26),vl(51);break;case 212:vl(212),wl(26),vl(51);break;default:vl(74),wl(26),vl(51)}ql.endNonterminal("ReverseAxis",Ll)}function Ur(){switch(Al){case 206:ml(206),wl(26),ml(51);break;case 73:ml(73),wl(26),ml(51);break;case 213:ml(213),wl(26),ml(51);break;case 212:ml(212),wl(26),ml(51);break;default:ml(74),wl(26),ml(51)}}function zr(){ql.startNonterminal("AbbrevReverseStep",Ll),vl(45),ql.endNonterminal("AbbrevReverseStep",Ll)}function Wr(){ml(45)}function Xr(){ql.startNonterminal("NodeTest",Ll);switch(Al){case 78:case 82:case 96:case 120:case 121:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 244:El(239);break;default:Cl=Al}switch(Cl){case 17486:case 17490:case 17504:case 17528:case 17529:case 17575:case 17593:case 17599:case 17602:case 17624:case 17634:case 17635:case 17652:Ms();break;default:$r()}ql.endNonterminal("NodeTest",Ll)}function Vr(){switch(Al){case 78:case 82:case 96:case 120:case 121:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 244:El(239);break;default:Cl=Al}switch(Cl){case 17486:case 17490:case 17504:case 17528:case 17529:case 17575:case 17593:case 17599:case 17602:case 17624:case 17634:case 17635:case 17652:_s();break;default:Jr()}}function $r(){ql.startNonterminal("NameTest",Ll);switch(Al){case 5:vl(5);break;default:Oa()}ql.endNonterminal("NameTest",Ll)}function Jr(){switch(Al){case 5:ml(5);break;default:Ma()}}function Kr(){ql.startNonterminal("PostfixExpr",Ll),Zf();for(;;){wl(239);if(Al!=34&&Al!=68)break;switch(Al){case 68:yl(),ti();break;default:yl(),Gr()}}ql.endNonterminal("PostfixExpr",Ll)}function Qr(){el();for(;;){wl(239);if(Al!=34&&Al!=68)break;switch(Al){case 68:ni();break;default:Yr()}}}function Gr(){ql.startNonterminal("ArgumentList",Ll),vl(34),wl(275);if(Al!=37){yl(),Ei();for(;;){wl(101);if(Al!=41)break;vl(41),wl(270),yl(),Ei()}}vl(37),ql.endNonterminal("ArgumentList",Ll)}function Yr(){ml(34),wl(275);if(Al!=37){Si();for(;;){wl(101);if(Al!=41)break;ml(41),wl(270),Si()}}ml(37)}function Zr(){ql.startNonterminal("PredicateList",Ll);for(;;){wl(236);if(Al!=68)break;yl(),ti()}ql.endNonterminal("PredicateList",Ll)}function ei(){for(;;){wl(236);if(Al!=68)break;ni()}}function ti(){ql.startNonterminal("Predicate",Ll),vl(68),wl(267),yl(),Q(),vl(69),ql.endNonterminal("Predicate",Ll)}function ni(){ml(68),wl(267),G(),ml(69)}function ri(){ql.startNonterminal("Literal",Ll);switch(Al){case 11:vl(11);break;default:si()}ql.endNonterminal("Literal",Ll)}function ii(){switch(Al){case 11:ml(11);break;default:oi()}}function si(){ql.startNonterminal("NumericLiteral",Ll);switch(Al){case 8:vl(8);break;case 9:vl(9);break;default:vl(10)}ql.endNonterminal("NumericLiteral",Ll)}function oi(){switch(Al){case 8:ml(8);break;case 9:ml(9);break;default:ml(10)}}function ui(){ql.startNonterminal("VarRef",Ll),vl(31),wl(253),yl(),fi(),ql.endNonterminal("VarRef",Ll)}function ai(){ml(31),wl(253),li()}function fi(){ql.startNonterminal("VarName",Ll),Oa(),ql.endNonterminal("VarName",Ll)}function li(){Ma()}function ci(){ql.startNonterminal("ParenthesizedExpr",Ll),vl(34),wl(269),Al!=37&&(yl(),Q()),vl(37),ql.endNonterminal("ParenthesizedExpr",Ll)}function hi(){ml(34),wl(269),Al!=37&&G(),ml(37)}function pi(){ql.startNonterminal("ContextItemExpr",Ll),vl(44),ql.endNonterminal("ContextItemExpr",Ll)}function di(){ml(44)}function vi(){ql.startNonterminal("OrderedExpr",Ll),vl(202),wl(87),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("OrderedExpr",Ll)}function mi(){ml(202),wl(87),ml(276),wl(267),G(),ml(282)}function gi(){ql.startNonterminal("UnorderedExpr",Ll),vl(256),wl(87),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("UnorderedExpr",Ll)}function yi(){ml(256),wl(87),ml(276),wl(267),G(),ml(282)}function bi(){ql.startNonterminal("FunctionCall",Ll),_a(),wl(22),yl(),Gr(),ql.endNonterminal("FunctionCall",Ll)}function wi(){Da(),wl(22),Yr()}function Ei(){ql.startNonterminal("Argument",Ll);switch(Al){case 64:xi();break;default:Nf()}ql.endNonterminal("Argument",Ll)}function Si(){switch(Al){case 64:Ti();break;default:Cf()}}function xi(){ql.startNonterminal("ArgumentPlaceholder",Ll),vl(64),ql.endNonterminal("ArgumentPlaceholder",Ll)}function Ti(){ml(64)}function Ni(){ql.startNonterminal("Constructor",Ll);switch(Al){case 54:case 55:case 59:ki();break;default:Xi()}ql.endNonterminal("Constructor",Ll)}function Ci(){switch(Al){case 54:case 55:case 59:Li();break;default:Vi()}}function ki(){ql.startNonterminal("DirectConstructor",Ll);switch(Al){case 54:Ai();break;case 55:Ri();break;default:zi()}ql.endNonterminal("DirectConstructor",Ll)}function Li(){switch(Al){case 54:Oi();break;case 55:Ui();break;default:Wi()}}function Ai(){ql.startNonterminal("DirElemConstructor",Ll),vl(54),Sl(4),vl(20),Mi();switch(Al){case 48:vl(48);break;default:vl(61);for(;;){Sl(174);if(Al==56)break;Ii()}vl(56),Sl(4),vl(20),Sl(12),Al==21&&vl(21),Sl(8),vl(61)}ql.endNonterminal("DirElemConstructor",Ll)}function Oi(){ml(54),Sl(4),ml(20),_i();switch(Al){case 48:ml(48);break;default:ml(61);for(;;){Sl(174);if(Al==56)break;qi()}ml(56),Sl(4),ml(20),Sl(12),Al==21&&ml(21),Sl(8),ml(61)}}function Mi(){ql.startNonterminal("DirAttributeList",Ll);for(;;){Sl(19);if(Al!=21)break;vl(21),Sl(91),Al==20&&(vl(20),Sl(11),Al==21&&vl(21),Sl(7),vl(60),Sl(18),Al==21&&vl(21),Di())}ql.endNonterminal("DirAttributeList",Ll)}function _i(){for(;;){Sl(19);if(Al!=21)break;ml(21),Sl(91),Al==20&&(ml(20),Sl(11),Al==21&&ml(21),Sl(7),ml(60),Sl(18),Al==21&&ml(21),Pi())}}function Di(){ql.startNonterminal("DirAttributeValue",Ll),Sl(14);switch(Al){case 28:vl(28);for(;;){Sl(167);if(Al==28)break;switch(Al){case 13:vl(13);break;default:Hi()}}vl(28);break;default:vl(33);for(;;){Sl(168);if(Al==33)break;switch(Al){case 14:vl(14);break;default:ji()}}vl(33)}ql.endNonterminal("DirAttributeValue",Ll)}function Pi(){Sl(14);switch(Al){case 28:ml(28);for(;;){Sl(167);if(Al==28)break;switch(Al){case 13:ml(13);break;default:Bi()}}ml(28);break;default:ml(33);for(;;){Sl(168);if(Al==33)break;switch(Al){case 14:ml(14);break;default:Fi()}}ml(33)}}function Hi(){ql.startNonterminal("QuotAttrValueContent",Ll);switch(Al){case 16:vl(16);break;default:If()}ql.endNonterminal("QuotAttrValueContent",Ll)}function Bi(){switch(Al){case 16:ml(16);break;default:qf()}}function ji(){ql.startNonterminal("AposAttrValueContent",Ll);switch(Al){case 17:vl(17);break;default:If()}ql.endNonterminal("AposAttrValueContent",Ll)}function Fi(){switch(Al){case 17:ml(17);break;default:qf()}}function Ii(){ql.startNonterminal("DirElemContent",Ll);switch(Al){case 54:case 55:case 59:ki();break;case 4:vl(4);break;case 15:vl(15);break;default:If()}ql.endNonterminal("DirElemContent",Ll)}function qi(){switch(Al){case 54:case 55:case 59:Li();break;case 4:ml(4);break;case 15:ml(15);break;default:qf()}}function Ri(){ql.startNonterminal("DirCommentConstructor",Ll),vl(55),Sl(1),vl(2),Sl(6),vl(43),ql.endNonterminal("DirCommentConstructor",Ll)}function Ui(){ml(55),Sl(1),ml(2),Sl(6),ml(43)}function zi(){ql.startNonterminal("DirPIConstructor",Ll),vl(59),Sl(3),vl(18),Sl(13),Al==21&&(vl(21),Sl(2),vl(3)),Sl(9),vl(65),ql.endNonterminal("DirPIConstructor",Ll)}function Wi(){ml(59),Sl(3),ml(18),Sl(13),Al==21&&(ml(21),Sl(2),ml(3)),Sl(9),ml(65)}function Xi(){ql.startNonterminal("ComputedConstructor",Ll);switch(Al){case 119:zf();break;case 121:$i();break;case 82:Xf();break;case 184:Ki();break;case 244:Gf();break;case 96:Kf();break;default:$f()}ql.endNonterminal("ComputedConstructor",Ll)}function Vi(){switch(Al){case 119:Wf();break;case 121:Ji();break;case 82:Vf();break;case 184:Qi();break;case 244:Yf();break;case 96:Qf();break;default:Jf()}}function $i(){ql.startNonterminal("CompElemConstructor",Ll),vl(121),wl(256);switch(Al){case 276:vl(276),wl(267),yl(),Q(),vl(282);break;default:yl(),Oa()}wl(87),vl(276),wl(273),Al!=282&&(yl(),Rf()),vl(282),ql.endNonterminal("CompElemConstructor",Ll)}function Ji(){ml(121),wl(256);switch(Al){case 276:ml(276),wl(267),G(),ml(282);break;default:Ma()}wl(87),ml(276),wl(273),Al!=282&&Uf(),ml(282)}function Ki(){ql.startNonterminal("CompNamespaceConstructor",Ll),vl(184),wl(249);switch(Al){case 276:vl(276),wl(267),yl(),Zi(),vl(282);break;default:yl(),Gi()}wl(87),vl(276),wl(267),yl(),ts(),vl(282),ql.endNonterminal("CompNamespaceConstructor",Ll)}function Qi(){ml(184),wl(249);switch(Al){case 276:ml(276),wl(267),es(),ml(282);break;default:Yi()}wl(87),ml(276),wl(267),ns(),ml(282)}function Gi(){ql.startNonterminal("Prefix",Ll),Pa(),ql.endNonterminal("Prefix",Ll)}function Yi(){Ha()}function Zi(){ql.startNonterminal("PrefixExpr",Ll),Q(),ql.endNonterminal("PrefixExpr",Ll)}function es(){G()}function ts(){ql.startNonterminal("URIExpr",Ll),Q(),ql.endNonterminal("URIExpr",Ll)}function ns(){G()}function rs(){ql.startNonterminal("FunctionItemExpr",Ll);switch(Al){case 145:El(92);break;default:Cl=Al}switch(Cl){case 32:case 17553:us();break;default:ss()}ql.endNonterminal("FunctionItemExpr",Ll)}function is(){switch(Al){case 145:El(92);break;default:Cl=Al}switch(Cl){case 32:case 17553:as();break;default:os()}}function ss(){ql.startNonterminal("NamedFunctionRef",Ll),Oa(),wl(20),vl(29),wl(16),vl(8),ql.endNonterminal("NamedFunctionRef",Ll)}function os(){Ma(),wl(20),ml(29),wl(16),ml(8)}function us(){ql.startNonterminal("InlineFunctionExpr",Ll);for(;;){wl(97);if(Al!=32)break;yl(),H()}vl(145),wl(22),vl(34),wl(94),Al==31&&(yl(),R()),vl(37),wl(111),Al==79&&(vl(79),wl(259),yl(),ps()),wl(87),yl(),X(),ql.endNonterminal("InlineFunctionExpr",Ll)}function as(){for(;;){wl(97);if(Al!=32)break;B()}ml(145),wl(22),ml(34),wl(94),Al==31&&U(),ml(37),wl(111),Al==79&&(ml(79),wl(259),ds()),wl(87),V()}function fs(){ql.startNonterminal("SingleType",Ll),co(),wl(226),Al==64&&vl(64),ql.endNonterminal("SingleType",Ll)}function ls(){ho(),wl(226),Al==64&&ml(64)}function cs(){ql.startNonterminal("TypeDeclaration",Ll),vl(79),wl(259),yl(),ps(),ql.endNonterminal("TypeDeclaration",Ll)}function hs(){ml(79),wl(259),ds()}function ps(){ql.startNonterminal("SequenceType",Ll);switch(Al){case 124:El(241);break;default:Cl=Al}switch(Cl){case 17532:vl(124),wl(22),vl(34),wl(23),vl(37);break;default:gs(),wl(237);switch(Al){case 39:case 40:case 64:yl(),vs();break;default:}}ql.endNonterminal("SequenceType",Ll)}function ds(){switch(Al){case 124:El(241);break;default:Cl=Al}switch(Cl){case 17532:ml(124),wl(22),ml(34),wl(23),ml(37);break;default:ys(),wl(237);switch(Al){case 39:case 40:case 64:ms();break;default:}}}function vs(){ql.startNonterminal("OccurrenceIndicator",Ll);switch(Al){case 64:vl(64);break;case 39:vl(39);break;default:vl(40)}ql.endNonterminal("OccurrenceIndicator",Ll)}function ms(){switch(Al){case 64:ml(64);break;case 39:ml(39);break;default:ml(40)}}function gs(){ql.startNonterminal("ItemType",Ll);switch(Al){case 78:case 82:case 96:case 120:case 121:case 145:case 165:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 244:El(241);break;default:Cl=Al}if(Cl==17486||Cl==17575||Cl==17602){Cl=pl(4,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{_s(),Cl=-1}catch(a){Cl=-6}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(4,Ll,Cl)}}switch(Cl){case-1:case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Ms();break;case 17573:vl(165),wl(22),vl(34),wl(23),vl(37);break;case 32:case 17553:mo();break;case 34:So();break;case-6:bs();break;case 242:Es();break;default:As()}ql.endNonterminal("ItemType",Ll)}function ys(){switch(Al){case 78:case 82:case 96:case 120:case 121:case 145:case 165:case 167:case 185:case 191:case 194:case 216:case 226:case 227:case 244:El(241);break;default:Cl=Al}if(Cl==17486||Cl==17575||Cl==17602){Cl=pl(4,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{_s(),hl(4,t,-1),Cl=-8}catch(a){Cl=-6,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(4,t,-6)}}}switch(Cl){case-1:case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:_s();break;case 17573:ml(165),wl(22),ml(34),wl(23),ml(37);break;case 32:case 17553:go();break;case 34:xo();break;case-6:ws();break;case 242:Ss();break;case-8:break;default:Os()}}function bs(){ql.startNonterminal("JSONTest",Ll);switch(Al){case 167:xs();break;case 194:Ns();break;default:ks()}ql.endNonterminal("JSONTest",Ll)}function ws(){switch(Al){case 167:Ts();break;case 194:Cs();break;default:Ls()}}function Es(){ql.startNonterminal("StructuredItemTest",Ll),vl(242),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("StructuredItemTest",Ll)}function Ss(){ml(242),wl(22),ml(34),wl(23),ml(37)}function xs(){ql.startNonterminal("JSONItemTest",Ll),vl(167),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("JSONItemTest",Ll)}function Ts(){ml(167),wl(22),ml(34),wl(23),ml(37)}function Ns(){ql.startNonterminal("JSONObjectTest",Ll),vl(194),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("JSONObjectTest",Ll)}function Cs(){ml(194),wl(22),ml(34),wl(23),ml(37)}function ks(){ql.startNonterminal("JSONArrayTest",Ll),vl(78),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("JSONArrayTest",Ll)}function Ls(){ml(78),wl(22),ml(34),wl(23),ml(37)}function As(){ql.startNonterminal("AtomicOrUnionType",Ll),Oa(),ql.endNonterminal("AtomicOrUnionType",Ll)}function Os(){Ma()}function Ms(){ql.startNonterminal("KindTest",Ll);switch(Al){case 120:Hs();break;case 121:Zs();break;case 82:Xs();break;case 227:ro();break;case 226:Ks();break;case 216:zs();break;case 96:Is();break;case 244:js();break;case 185:Rs();break;case 191:Ds();break;default:bs()}ql.endNonterminal("KindTest",Ll)}function _s(){switch(Al){case 120:Bs();break;case 121:eo();break;case 82:Vs();break;case 227:io();break;case 226:Qs();break;case 216:Ws();break;case 96:qs();break;case 244:Fs();break;case 185:Us();break;case 191:Ps();break;default:ws()}}function Ds(){ql.startNonterminal("AnyKindTest",Ll),vl(191),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("AnyKindTest",Ll)}function Ps(){ml(191),wl(22),ml(34),wl(23),ml(37)}function Hs(){ql.startNonterminal("DocumentTest",Ll),vl(120),wl(22),vl(34),wl(144);if(Al!=37)switch(Al){case 121:yl(),Zs();break;default:yl(),ro()}wl(23),vl(37),ql.endNonterminal("DocumentTest",Ll)}function Bs(){ml(120),wl(22),ml(34),wl(144);if(Al!=37)switch(Al){case 121:eo();break;default:io()}wl(23),ml(37)}function js(){ql.startNonterminal("TextTest",Ll),vl(244),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("TextTest",Ll)}function Fs(){ml(244),wl(22),ml(34),wl(23),ml(37)}function Is(){ql.startNonterminal("CommentTest",Ll),vl(96),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("CommentTest",Ll)}function qs(){ml(96),wl(22),ml(34),wl(23),ml(37)}function Rs(){ql.startNonterminal("NamespaceNodeTest",Ll),vl(185),wl(22),vl(34),wl(23),vl(37),ql.endNonterminal("NamespaceNodeTest",Ll)}function Us(){ml(185),wl(22),ml(34),wl(23),ml(37)}function zs(){ql.startNonterminal("PITest",Ll),vl(216),wl(22),vl(34),wl(251);if(Al!=37)switch(Al){case 11:vl(11);break;default:yl(),Pa()}wl(23),vl(37),ql.endNonterminal("PITest",Ll)}function Ws(){ml(216),wl(22),ml(34),wl(251);if(Al!=37)switch(Al){case 11:ml(11);break;default:Ha()}wl(23),ml(37)}function Xs(){ql.startNonterminal("AttributeTest",Ll),vl(82),wl(22),vl(34),wl(258),Al!=37&&(yl(),$s(),wl(101),Al==41&&(vl(41),wl(253),yl(),po())),wl(23),vl(37),ql.endNonterminal("AttributeTest",Ll)}function Vs(){ml(82),wl(22),ml(34),wl(258),Al!=37&&(Js(),wl(101),Al==41&&(ml(41),wl(253),vo())),wl(23),ml(37)}function $s(){ql.startNonterminal("AttribNameOrWildcard",Ll);switch(Al){case 38:vl(38);break;default:uo()}ql.endNonterminal("AttribNameOrWildcard",Ll)}function Js(){switch(Al){case 38:ml(38);break;default:ao()}}function Ks(){ql.startNonterminal("SchemaAttributeTest",Ll),vl(226),wl(22),vl(34),wl(253),yl(),Gs(),wl(23),vl(37),ql.endNonterminal("SchemaAttributeTest",Ll)}function Qs(){ml(226),wl(22),ml(34),wl(253),Ys(),wl(23),ml(37)}function Gs(){ql.startNonterminal("AttributeDeclaration",Ll),uo(),ql.endNonterminal("AttributeDeclaration",Ll)}function Ys(){ao()}function Zs(){ql.startNonterminal("ElementTest",Ll),vl(121),wl(22),vl(34),wl(258),Al!=37&&(yl(),to(),wl(101),Al==41&&(vl(41),wl(253),yl(),po(),wl(102),Al==64&&vl(64))),wl(23),vl(37),ql.endNonterminal("ElementTest",Ll)}function eo(){ml(121),wl(22),ml(34),wl(258),Al!=37&&(no(),wl(101),Al==41&&(ml(41),wl(253),vo(),wl(102),Al==64&&ml(64))),wl(23),ml(37)}function to(){ql.startNonterminal("ElementNameOrWildcard",Ll);switch(Al){case 38:vl(38);break;default:fo()}ql.endNonterminal("ElementNameOrWildcard",Ll)}function no(){switch(Al){case 38:ml(38);break;default:lo()}}function ro(){ql.startNonterminal("SchemaElementTest",Ll),vl(227),wl(22),vl(34),wl(253),yl(),so(),wl(23),vl(37),ql.endNonterminal("SchemaElementTest",Ll)}function io(){ml(227),wl(22),ml(34),wl(253),oo(),wl(23),ml(37)}function so(){ql.startNonterminal("ElementDeclaration",Ll),fo(),ql.endNonterminal("ElementDeclaration",Ll)}function oo(){lo()}function uo(){ql.startNonterminal("AttributeName",Ll),Oa(),ql.endNonterminal("AttributeName",Ll)}function ao(){Ma()}function fo(){ql.startNonterminal("ElementName",Ll),Oa(),ql.endNonterminal("ElementName",Ll)}function lo(){Ma()}function co(){ql.startNonterminal("SimpleTypeName",Ll),po(),ql.endNonterminal("SimpleTypeName",Ll)}function ho(){vo()}function po(){ql.startNonterminal("TypeName",Ll),Oa(),ql.endNonterminal("TypeName",Ll)}function vo(){Ma()}function mo(){ql.startNonterminal("FunctionTest",Ll);for(;;){wl(97);if(Al!=32)break;yl(),H()}switch(Al){case 145:El(22);break;default:Cl=Al}Cl=pl(5,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{bo(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(5,Ll,Cl)}switch(Cl){case-1:yl(),yo();break;default:yl(),wo()}ql.endNonterminal("FunctionTest",Ll)}function go(){for(;;){wl(97);if(Al!=32)break;B()}switch(Al){case 145:El(22);break;default:Cl=Al}Cl=pl(5,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{bo(),hl(5,t,-1),Cl=-3}catch(a){Cl=-2,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(5,t,-2)}}switch(Cl){case-1:bo();break;case-3:break;default:Eo()}}function yo(){ql.startNonterminal("AnyFunctionTest",Ll),vl(145),wl(22),vl(34),wl(24),vl(38),wl(23),vl(37),ql.endNonterminal("AnyFunctionTest",Ll)}function bo(){ml(145),wl(22),ml(34),wl(24),ml(38),wl(23),ml(37)}function wo(){ql.startNonterminal("TypedFunctionTest",Ll),vl(145),wl(22),vl(34),wl(261);if(Al!=37){yl(),ps();for(;;){wl(101);if(Al!=41)break;vl(41),wl(259),yl(),ps()}}vl(37),wl(30),vl(79),wl(259),yl(),ps(),ql.endNonterminal("TypedFunctionTest",Ll)}function Eo(){ml(145),wl(22),ml(34),wl(261);if(Al!=37){ds();for(;;){wl(101);if(Al!=41)break;ml(41),wl(259),ds()}}ml(37),wl(30),ml(79),wl(259),ds()}function So(){ql.startNonterminal("ParenthesizedItemType",Ll),vl(34),wl(259),yl(),gs(),wl(23),vl(37),ql.endNonterminal("ParenthesizedItemType",Ll)}function xo(){ml(34),wl(259),ys(),wl(23),ml(37)}function To(){ql.startNonterminal("RevalidationDecl",Ll),vl(108),wl(72),vl(222),wl(152);switch(Al){case 240:vl(240);break;case 171:vl(171);break;default:vl(233)}ql.endNonterminal("RevalidationDecl",Ll)}function No(){ql.startNonterminal("InsertExprTargetChoice",Ll);switch(Al){case 70:vl(70);break;case 84:vl(84);break;default:if(Al==79){vl(79),wl(119);switch(Al){case 134:vl(134);break;default:vl(170)}}wl(54),vl(163)}ql.endNonterminal("InsertExprTargetChoice",Ll)}function Co(){switch(Al){case 70:ml(70);break;case 84:ml(84);break;default:if(Al==79){ml(79),wl(119);switch(Al){case 134:ml(134);break;default:ml(170)}}wl(54),ml(163)}}function ko(){ql.startNonterminal("InsertExpr",Ll),vl(159),wl(129);switch(Al){case 191:vl(191);break;default:vl(192)}wl(267),yl(),Ho(),yl(),No(),wl(267),yl(),jo(),ql.endNonterminal("InsertExpr",Ll)}function Lo(){ml(159),wl(129);switch(Al){case 191:ml(191);break;default:ml(192)}wl(267),Bo(),Co(),wl(267),Fo()}function Ao(){ql.startNonterminal("DeleteExpr",Ll),vl(110),wl(129);switch(Al){case 191:vl(191);break;default:vl(192)}wl(267),yl(),jo(),ql.endNonterminal("DeleteExpr",Ll)}function Oo(){ml(110),wl(129);switch(Al){case 191:ml(191);break;default:ml(192)}wl(267),Fo()}function Mo(){ql.startNonterminal("ReplaceExpr",Ll),vl(219),wl(130),Al==261&&(vl(261),wl(64),vl(196)),wl(62),vl(191),wl(267),yl(),jo(),vl(270),wl(267),yl(),Nf(),ql.endNonterminal("ReplaceExpr",Ll)}function _o(){ml(219),wl(130),Al==261&&(ml(261),wl(64),ml(196)),wl(62),ml(191),wl(267),Fo(),ml(270),wl(267),Cf()}function Do(){ql.startNonterminal("RenameExpr",Ll),vl(218),wl(62),vl(191),wl(267),yl(),jo(),vl(79),wl(267),yl(),Io(),ql.endNonterminal("RenameExpr",Ll)}function Po(){ml(218),wl(62),ml(191),wl(267),Fo(),ml(79),wl(267),qo()}function Ho(){ql.startNonterminal("SourceExpr",Ll),Nf(),ql.endNonterminal("SourceExpr",Ll)}function Bo(){Cf()}function jo(){ql.startNonterminal("TargetExpr",Ll),Nf(),ql.endNonterminal("TargetExpr",Ll)}function Fo(){Cf()}function Io(){ql.startNonterminal("NewNameExpr",Ll),Nf(),ql.endNonterminal("NewNameExpr",Ll)}function qo(){Cf()}function Ro(){ql.startNonterminal("TransformExpr",Ll),vl(103),wl(21),vl(31),wl(253),yl(),fi(),wl(27),vl(52),wl(267),yl(),Nf();for(;;){if(Al!=41)break;vl(41),wl(21),vl(31),wl(253),yl(),fi(),wl(27),vl(52),wl(267),yl(),Nf()}vl(181),wl(267),yl(),Nf(),vl(220),wl(267),yl(),Nf(),ql.endNonterminal("TransformExpr",Ll)}function Uo(){ml(103),wl(21),ml(31),wl(253),li(),wl(27),ml(52),wl(267),Cf();for(;;){if(Al!=41)break;ml(41),wl(21),ml(31),wl(253),li(),wl(27),ml(52),wl(267),Cf()}ml(181),wl(267),Cf(),ml(220),wl(267),Cf()}function zo(){ql.startNonterminal("FTSelection",Ll),$o();for(;;){wl(211);switch(Al){case 81:El(151);break;default:Cl=Al}if(Cl!=115&&Cl!=117&&Cl!=127&&Cl!=202&&Cl!=223&&Cl!=269&&Cl!=64593&&Cl!=121425)break;yl(),gu()}ql.endNonterminal("FTSelection",Ll)}function Wo(){Jo();for(;;){wl(211);switch(Al){case 81:El(151);break;default:Cl=Al}if(Cl!=115&&Cl!=117&&Cl!=127&&Cl!=202&&Cl!=223&&Cl!=269&&Cl!=64593&&Cl!=121425)break;yu()}}function Xo(){ql.startNonterminal("FTWeight",Ll),vl(264),wl(87),vl(276),wl(267),yl(),Q(),vl(282),ql.endNonterminal("FTWeight",Ll)}function Vo(){ml(264),wl(87),ml(276),wl(267),G(),ml(282)}function $o(){ql.startNonterminal("FTOr",Ll),Ko();for(;;){if(Al!=144)break;vl(144),wl(162),yl(),Ko()}ql.endNonterminal("FTOr",Ll)}function Jo(){Qo();for(;;){if(Al!=144)break;ml(144),wl(162),Qo()}}function Ko(){ql.startNonterminal("FTAnd",Ll),Go();for(;;){if(Al!=142)break;vl(142),wl(162),yl(),Go()}ql.endNonterminal("FTAnd",Ll)}function Qo(){Yo();for(;;){if(Al!=142)break;ml(142),wl(162),Yo()}}function Go(){ql.startNonterminal("FTMildNot",Ll),Zo();for(;;){wl(212);if(Al!=193)break;vl(193),wl(53),vl(154),wl(162),yl(),Zo()}ql.endNonterminal("FTMildNot",Ll)}function Yo(){eu();for(;;){wl(212);if(Al!=193)break;ml(193),wl(53),ml(154),wl(162),eu()}}function Zo(){ql.startNonterminal("FTUnaryNot",Ll),Al==143&&vl(143),wl(155),yl(),tu(),ql.endNonterminal("FTUnaryNot",Ll)}function eu(){Al==143&&ml(143),wl(155),nu()}function tu(){ql.startNonterminal("FTPrimaryWithOptions",Ll),ru(),wl(214),Al==259&&(yl(),Du()),Al==264&&(yl(),Xo()),ql.endNonterminal("FTPrimaryWithOptions",Ll)}function nu(){iu(),wl(214),Al==259&&Pu(),Al==264&&Vo()}function ru(){ql.startNonterminal("FTPrimary",Ll);switch(Al){case 34:vl(34),wl(162),yl(),zo(),vl(37);break;case 35:fu();break;default:su(),wl(215),Al==195&&(yl(),pu())}ql.endNonterminal("FTPrimary",Ll)}function iu(){switch(Al){case 34:ml(34),wl(162),Wo(),ml(37);break;case 35:lu();break;default:ou(),wl(215),Al==195&&du()}}function su(){ql.startNonterminal("FTWords",Ll),uu(),wl(221);if(Al==71||Al==76||Al==210)yl(),cu();ql.endNonterminal("FTWords",Ll)}function ou(){au(),wl(221),(Al==71||Al==76||Al==210)&&hu()}function uu(){ql.startNonterminal("FTWordsValue",Ll);switch(Al){case 11:vl(11);break;default:vl(276),wl(267),yl(),Q(),vl(282)}ql.endNonterminal("FTWordsValue",Ll)}function au(){switch(Al){case 11:ml(11);break;default:ml(276),wl(267),G(),ml(282)}}function fu(){ql.startNonterminal("FTExtensionSelection",Ll);for(;;){yl(),xr(),wl(100);if(Al!=35)break}vl(276),wl(166),Al!=282&&(yl(),zo()),vl(282),ql.endNonterminal("FTExtensionSelection",Ll)}function lu(){for(;;){Tr(),wl(100);if(Al!=35)break}ml(276),wl(166),Al!=282&&Wo(),ml(282)}function cu(){ql.startNonterminal("FTAnyallOption",Ll);switch(Al){case 76:vl(76),wl(218),Al==272&&vl(272);break;case 71:vl(71),wl(219),Al==273&&vl(273);break;default:vl(210)}ql.endNonterminal("FTAnyallOption",Ll)}function hu(){switch(Al){case 76:ml(76),wl(218),Al==272&&ml(272);break;case 71:ml(71),wl(219),Al==273&&ml(273);break;default:ml(210)}}function pu(){ql.startNonterminal("FTTimes",Ll),vl(195),wl(149),yl(),vu(),vl(247),ql.endNonterminal("FTTimes",Ll)}function du(){ml(195),wl(149),mu(),ml(247)}function vu(){ql.startNonterminal("FTRange",Ll);switch(Al){case 130:vl(130),wl(265),yl(),zn();break;case 81:vl(81),wl(125);switch(Al){case 173:vl(173),wl(265),yl(),zn();break;default:vl(183),wl(265),yl(),zn()}break;default:vl(140),wl(265),yl(),zn(),vl(248),wl(265),yl(),zn()}ql.endNonterminal("FTRange",Ll)}function mu(){switch(Al){case 130:ml(130),wl(265),Wn();break;case 81:ml(81),wl(125);switch(Al){case 173:ml(173),wl(265),Wn();break;default:ml(183),wl(265),Wn()}break;default:ml(140),wl(265),Wn(),ml(248),wl(265),Wn()}}function gu(){ql.startNonterminal("FTPosFilter",Ll);switch(Al){case 202:bu();break;case 269:Eu();break;case 117:xu();break;case 115:case 223:ku();break;default:Mu()}ql.endNonterminal("FTPosFilter",Ll)}function yu(){switch(Al){case 202:wu();break;case 269:Su();break;case 117:Tu();break;case 115:case 223:Lu();break;default:_u()}}function bu(){ql.startNonterminal("FTOrder",Ll),vl(202),ql.endNonterminal("FTOrder",Ll)}function wu(){ml(202)}function Eu(){ql.startNonterminal("FTWindow",Ll),vl(269),wl(265),yl(),zn(),yl(),Nu(),ql.endNonterminal("FTWindow",Ll)}function Su(){ml(269),wl(265),Wn(),Cu()}function xu(){ql.startNonterminal("FTDistance",Ll),vl(117),wl(149),yl(),vu(),yl(),Nu(),ql.endNonterminal("FTDistance",Ll)}function Tu(){ml(117),wl(149),mu(),Cu()}function Nu(){ql.startNonterminal("FTUnit",Ll);switch(Al){case 273:vl(273);break;case 232:vl(232);break;default:vl(205)}ql.endNonterminal("FTUnit",Ll)}function Cu(){switch(Al){case 273:ml(273);break;case 232:ml(232);break;default:ml(205)}}function ku(){ql.startNonterminal("FTScope",Ll);switch(Al){case 223:vl(223);break;default:vl(115)}wl(132),yl(),Au(),ql.endNonterminal("FTScope",Ll)}function Lu(){switch(Al){case 223:ml(223);break;default:ml(115)}wl(132),Ou()}function Au(){ql.startNonterminal("FTBigUnit",Ll);switch(Al){case 231:vl(231);break;default:vl(204)}ql.endNonterminal("FTBigUnit",Ll)}function Ou(){switch(Al){case 231:ml(231);break;default:ml(204)}}function Mu(){ql.startNonterminal("FTContent",Ll);switch(Al){case 81:vl(81),wl(117);switch(Al){case 237:vl(237);break;default:vl(126)}break;default:vl(127),wl(42),vl(100)}ql.endNonterminal("FTContent",Ll)}function _u(){switch(Al){case 81:ml(81),wl(117);switch(Al){case 237:ml(237);break;default:ml(126)}break;default:ml(127),wl(42),ml(100)}}function Du(){ql.startNonterminal("FTMatchOptions",Ll);for(;;){vl(259),wl(181),yl(),Hu(),wl(214);if(Al!=259)break}ql.endNonterminal("FTMatchOptions",Ll)}function Pu(){for(;;){ml(259),wl(181),Bu(),wl(214);if(Al!=259)break}}function Hu(){ql.startNonterminal("FTMatchOption",Ll);switch(Al){case 188:El(161);break;default:Cl=Al}switch(Cl){case 169:ta();break;case 268:case 137404:ra();break;case 246:case 126140:zu();break;case 238:case 122044:Ru();break;case 114:Iu();break;case 239:case 122556:Ku();break;case 199:sa();break;default:ju()}ql.endNonterminal("FTMatchOption",Ll)}function Bu(){switch(Al){case 188:El(161);break;default:Cl=Al}switch(Cl){case 169:na();break;case 268:case 137404:ia();break;case 246:case 126140:Wu();break;case 238:case 122044:Uu();break;case 114:qu();break;case 239:case 122556:Qu();break;case 199:oa();break;default:Fu()}}function ju(){ql.startNonterminal("FTCaseOption",Ll);switch(Al){case 88:vl(88),wl(124);switch(Al){case 158:vl(158);break;default:vl(230)}break;case 177:vl(177);break;default:vl(258)}ql.endNonterminal("FTCaseOption",Ll)}function Fu(){switch(Al){case 88:ml(88),wl(124);switch(Al){case 158:ml(158);break;default:ml(230)}break;case 177:ml(177);break;default:ml(258)}}function Iu(){ql.startNonterminal("FTDiacriticsOption",Ll),vl(114),wl(124);switch(Al){case 158:vl(158);break;default:vl(230)}ql.endNonterminal("FTDiacriticsOption",Ll)}function qu(){ml(114),wl(124);switch(Al){case 158:ml(158);break;default:ml(230)}}function Ru(){ql.startNonterminal("FTStemOption",Ll);switch(Al){case 238:vl(238);break;default:vl(188),wl(74),vl(238)}ql.endNonterminal("FTStemOption",Ll)}function Uu(){switch(Al){case 238:ml(238);break;default:ml(188),wl(74),ml(238)}}function zu(){ql.startNonterminal("FTThesaurusOption",Ll);switch(Al){case 246:vl(246),wl(142);switch(Al){case 81:yl(),Xu();break;case 109:vl(109);break;default:vl(34),wl(112);switch(Al){case 81:yl(),Xu();break;default:vl(109)}for(;;){wl(101);if(Al!=41)break;vl(41),wl(31),yl(),Xu()}vl(37)}break;default:vl(188),wl(78),vl(246)}ql.endNonterminal("FTThesaurusOption",Ll)}function Wu(){switch(Al){case 246:ml(246),wl(142);switch(Al){case 81:Vu();break;case 109:ml(109);break;default:ml(34),wl(112);switch(Al){case 81:Vu();break;default:ml(109)}for(;;){wl(101);if(Al!=41)break;ml(41),wl(31),Vu()}ml(37)}break;default:ml(188),wl(78),ml(246)}}function Xu(){ql.startNonterminal("FTThesaurusID",Ll),vl(81),wl(15),vl(7),wl(220),Al==217&&(vl(217),wl(17),vl(11)),wl(216);switch(Al){case 81:El(165);break;default:Cl=Al}if(Cl==130||Cl==140||Cl==88657||Cl==93777)yl(),$u(),wl(58),vl(175);ql.endNonterminal("FTThesaurusID",Ll)}function Vu(){ml(81),wl(15),ml(7),wl(220),Al==217&&(ml(217),wl(17),ml(11)),wl(216);switch(Al){case 81:El(165);break;default:Cl=Al}if(Cl==130||Cl==140||Cl==88657||Cl==93777)Ju(),wl(58),ml(175)}function $u(){ql.startNonterminal("FTLiteralRange",Ll);switch(Al){case 130:vl(130),wl(16),vl(8);break;case 81:vl(81),wl(125);switch(Al){case 173:vl(173),wl(16),vl(8);break;default:vl(183),wl(16),vl(8)}break;default:vl(140),wl(16),vl(8),wl(79),vl(248),wl(16),vl(8)}ql.endNonterminal("FTLiteralRange",Ll)}function Ju(){switch(Al){case 130:ml(130),wl(16),ml(8);break;case 81:ml(81),wl(125);switch(Al){case 173:ml(173),wl(16),ml(8);break;default:ml(183),wl(16),ml(8)}break;default:ml(140),wl(16),ml(8),wl(79),ml(248),wl(16),ml(8)}}function Ku(){ql.startNonterminal("FTStopWordOption",Ll);switch(Al){case 239:vl(239),wl(86),vl(273),wl(142);switch(Al){case 109:vl(109);for(;;){wl(217);if(Al!=131&&Al!=254)break;yl(),Zu()}break;default:yl(),Gu();for(;;){wl(217);if(Al!=131&&Al!=254)break;yl(),Zu()}}break;default:vl(188),wl(75),vl(239),wl(86),vl(273)}ql.endNonterminal("FTStopWordOption",Ll)}function Qu(){switch(Al){case 239:ml(239),wl(86),ml(273),wl(142);switch(Al){case 109:ml(109);for(;;){wl(217);if(Al!=131&&Al!=254)break;ea()}break;default:Yu();for(;;){wl(217);if(Al!=131&&Al!=254)break;ea()}}break;default:ml(188),wl(75),ml(239),wl(86),ml(273)}}function Gu(){ql.startNonterminal("FTStopWords",Ll);switch(Al){case 81:vl(81),wl(15),vl(7);break;default:vl(34),wl(17),vl(11);for(;;){wl(101);if(Al!=41)break;vl(41),wl(17),vl(11)}vl(37)}ql.endNonterminal("FTStopWords",Ll)}function Yu(){switch(Al){case 81:ml(81),wl(15),ml(7);break;default:ml(34),wl(17),ml(11);for(;;){wl(101);if(Al!=41)break;ml(41),wl(17),ml(11)}ml(37)}}function Zu(){ql.startNonterminal("FTStopWordsInclExcl",Ll);switch(Al){case 254:vl(254);break;default:vl(131)}wl(99),yl(),Gu(),ql.endNonterminal("FTStopWordsInclExcl",Ll)}function ea(){switch(Al){case 254:ml(254);break;default:ml(131)}wl(99),Yu()}function ta(){ql.startNonterminal("FTLanguageOption",Ll),vl(169),wl(17),vl(11),ql.endNonterminal("FTLanguageOption",Ll)}function na(){ml(169),wl(17),ml(11)}function ra(){ql.startNonterminal("FTWildCardOption",Ll);switch(Al){case 268:vl(268);break;default:vl(188),wl(84),vl(268)}ql.endNonterminal("FTWildCardOption",Ll)}function ia(){switch(Al){case 268:ml(268);break;default:ml(188),wl(84),ml(268)}}function sa(){ql.startNonterminal("FTExtensionOption",Ll),vl(199),wl(253),yl(),Oa(),wl(17),vl(11),ql.endNonterminal("FTExtensionOption",Ll)}function oa(){ml(199),wl(253),Ma(),wl(17),ml(11)}function ua(){ql.startNonterminal("FTIgnoreOption",Ll),vl(271),wl(42),vl(100),wl(265),yl(),$n(),ql.endNonterminal("FTIgnoreOption",Ll)}function aa(){ml(271),wl(42),ml(100),wl(265),Jn()}function fa(){ql.startNonterminal("CollectionDecl",Ll),vl(95),wl(253),yl(),Oa(),wl(107),Al==79&&(yl(),la()),ql.endNonterminal("CollectionDecl",Ll)}function la(){ql.startNonterminal("CollectionTypeDecl",Ll),vl(79),wl(183),yl(),Ms(),wl(156),Al!=53&&(yl(),vs()),ql.endNonterminal("CollectionTypeDecl",Ll)}function ca(){ql.startNonterminal("IndexName",Ll),Oa(),ql.endNonterminal("IndexName",Ll)}function ha(){ql.startNonterminal("IndexDomainExpr",Ll),Nr(),ql.endNonterminal("IndexDomainExpr",Ll)}function pa(){ql.startNonterminal("IndexKeySpec",Ll),da(),Al==79&&(yl(),va()),wl(146),Al==94&&(yl(),ga()),ql.endNonterminal("IndexKeySpec",Ll)}function da(){ql.startNonterminal("IndexKeyExpr",Ll),Nr(),ql.endNonterminal("IndexKeyExpr",Ll)}function va(){ql.startNonterminal("IndexKeyTypeDecl",Ll),vl(79),wl(253),yl(),ma(),wl(169);if(Al==39||Al==40||Al==64)yl(),vs();ql.endNonterminal("IndexKeyTypeDecl",Ll)}function ma(){ql.startNonterminal("AtomicType",Ll),Oa(),ql.endNonterminal("AtomicType",Ll)}function ga(){ql.startNonterminal("IndexKeyCollation",Ll),vl(94),wl(15),vl(7),ql.endNonterminal("IndexKeyCollation",Ll)}function ya(){ql.startNonterminal("IndexDecl",Ll),vl(155),wl(253),yl(),ca(),wl(65),vl(197),wl(63),vl(192),wl(264),yl(),ha(),vl(87),wl(264),yl(),pa();for(;;){wl(103);if(Al!=41)break;vl(41),wl(264),yl(),pa()}ql.endNonterminal("IndexDecl",Ll)}function ba(){ql.startNonterminal("ICDecl",Ll),vl(161),wl(40),vl(97),wl(253),yl(),Oa(),wl(120);switch(Al){case 197:yl(),wa();break;default:yl(),Ta()}ql.endNonterminal("ICDecl",Ll)}function wa(){ql.startNonterminal("ICCollection",Ll),vl(197),wl(39),vl(95),wl(253),yl(),Oa(),wl(140);switch(Al){case 31:yl(),Ea();break;case 191:yl(),Sa();break;default:yl(),xa()}ql.endNonterminal("ICCollection",Ll)}function Ea(){ql.startNonterminal("ICCollSequence",Ll),ui(),wl(37),vl(92),wl(267),yl(),Nf(),ql.endNonterminal("ICCollSequence",Ll)}function Sa(){ql.startNonterminal("ICCollSequenceUnique",Ll),vl(191),wl(21),yl(),ui(),wl(37),vl(92),wl(80),vl(255),wl(57),vl(168),wl(264),yl(),Nr(),ql.endNonterminal("ICCollSequenceUnique",Ll)}function xa(){ql.startNonterminal("ICCollNode",Ll),vl(138),wl(62),vl(191),wl(21),yl(),ui(),wl(37),vl(92),wl(267),yl(),Nf(),ql.endNonterminal("ICCollNode",Ll)}function Ta(){ql.startNonterminal("ICForeignKey",Ll),vl(139),wl(57),vl(168),wl(51),yl(),Na(),yl(),Ca(),ql.endNonterminal("ICForeignKey",Ll)}function Na(){ql.startNonterminal("ICForeignKeySource",Ll),vl(140),wl(39),yl(),ka(),ql.endNonterminal("ICForeignKeySource",Ll)}function Ca(){ql.startNonterminal("ICForeignKeyTarget",Ll),vl(248),wl(39),yl(),ka(),ql.endNonterminal("ICForeignKeyTarget",Ll)}function ka(){ql.startNonterminal("ICForeignKeyValues",Ll),vl(95),wl(253),yl(),Oa(),wl(62),vl(191),wl(21),yl(),ui(),wl(57),vl(168),wl(264),yl(),Nr(),ql.endNonterminal("ICForeignKeyValues",Ll)}function La(){ml(36);for(;;){Sl(89);if(Al==50)break;switch(Al){case 24:ml(24);break;default:La()}}ml(50)}function Aa(){switch(Al){case 22:ml(22);break;default:La()}}function Oa(){ql.startNonterminal("EQName",Ll),Sl(248);switch(Al){case 82:vl(82);break;case 96:vl(96);break;case 120:vl(120);break;case 121:vl(121);break;case 124:vl(124);break;case 145:vl(145);break;case 152:vl(152);break;case 165:vl(165);break;case 185:vl(185);break;case 191:vl(191);break;case 216:vl(216);break;case 226:vl(226);break;case 227:vl(227);break;case 243:vl(243);break;case 244:vl(244);break;case 253:vl(253);break;default:_a()}ql.endNonterminal("EQName",Ll)}function Ma(){Sl(248);switch(Al){case 82:ml(82);break;case 96:ml(96);break;case 120:ml(120);break;case 121:ml(121);break;case 124:ml(124);break;case 145:ml(145);break;case 152:ml(152);break;case 165:ml(165);break;case 185:ml(185);break;case 191:ml(191);break;case 216:ml(216);break;case 226:ml(226);break;case 227:ml(227);break;case 243:ml(243);break;case 244:ml(244);break;case 253:ml(253);break;default:Da()}}function _a(){ql.startNonterminal("FunctionName",Ll);switch(Al){case 6:vl(6);break;case 70:vl(70);break;case 73:vl(73);break;case 74:vl(74);break;case 75:vl(75);break;case 79:vl(79);break;case 80:vl(80);break;case 84:vl(84);break;case 88:vl(88);break;case 89:vl(89);break;case 90:vl(90);break;case 93:vl(93);break;case 94:vl(94);break;case 103:vl(103);break;case 105:vl(105);break;case 108:vl(108);break;case 109:vl(109);break;case 110:vl(110);break;case 111:vl(111);break;case 112:vl(112);break;case 113:vl(113);break;case 118:vl(118);break;case 119:vl(119);break;case 122:vl(122);break;case 123:vl(123);break;case 126:vl(126);break;case 128:vl(128);break;case 129:vl(129);break;case 131:vl(131);break;case 134:vl(134);break;case 135:vl(135);break;case 136:vl(136);break;case 137:vl(137);break;case 146:vl(146);break;case 148:vl(148);break;case 150:vl(150);break;case 151:vl(151);break;case 153:vl(153);break;case 159:vl(159);break;case 160:vl(160);break;case 162:vl(162);break;case 163:vl(163);break;case 164:vl(164);break;case 170:vl(170);break;case 172:vl(172);break;case 174:vl(174);break;case 178:vl(178);break;case 180:vl(180);break;case 181:vl(181);break;case 182:vl(182);break;case 184:vl(184);break;case 186:vl(186);break;case 198:vl(198);break;case 200:vl(200);break;case 201:vl(201);break;case 202:vl(202);break;case 206:vl(206);break;case 212:vl(212);break;case 213:vl(213);break;case 218:vl(218);break;case 219:vl(219);break;case 220:vl(220);break;case 224:vl(224);break;case 229:vl(229);break;case 235:vl(235);break;case 236:vl(236);break;case 237:vl(237);break;case 248:vl(248);break;case 249:vl(249);break;case 250:vl(250);break;case 254:vl(254);break;case 256:vl(256);break;case 260:vl(260);break;case 266:vl(266);break;case 270:vl(270);break;case 274:vl(274);break;case 72:vl(72);break;case 81:vl(81);break;case 83:vl(83);break;case 85:vl(85);break;case 86:vl(86);break;case 91:vl(91);break;case 98:vl(98);break;case 101:vl(101);break;case 102:vl(102);break;case 104:vl(104);break;case 106:vl(106);break;case 125:vl(125);break;case 132:vl(132);break;case 133:vl(133);break;case 141:vl(141);break;case 154:vl(154);break;case 155:vl(155);break;case 161:vl(161);break;case 171:vl(171);break;case 192:vl(192);break;case 199:vl(199);break;case 203:vl(203);break;case 222:vl(222);break;case 225:vl(225);break;case 228:vl(228);break;case 234:vl(234);break;case 240:vl(240);break;case 251:vl(251);break;case 252:vl(252);break;case 257:vl(257);break;case 261:vl(261);break;case 262:vl(262);break;case 263:vl(263);break;case 267:vl(267);break;case 97:vl(97);break;case 176:vl(176);break;case 221:vl(221);break;case 194:vl(194);break;case 167:vl(167);break;default:vl(78)}ql.endNonterminal("FunctionName",Ll)}function Da(){switch(Al){case 6:ml(6);break;case 70:ml(70);break;case 73:ml(73);break;case 74:ml(74);break;case 75:ml(75);break;case 79:ml(79);break;case 80:ml(80);break;case 84:ml(84);break;case 88:ml(88);break;case 89:ml(89);break;case 90:ml(90);break;case 93:ml(93);break;case 94:ml(94);break;case 103:ml(103);break;case 105:ml(105);break;case 108:ml(108);break;case 109:ml(109);break;case 110:ml(110);break;case 111:ml(111);break;case 112:ml(112);break;case 113:ml(113);break;case 118:ml(118);break;case 119:ml(119);break;case 122:ml(122);break;case 123:ml(123);break;case 126:ml(126);break;case 128:ml(128);break;case 129:ml(129);break;case 131:ml(131);break;case 134:ml(134);break;case 135:ml(135);break;case 136:ml(136);break;case 137:ml(137);break;case 146:ml(146);break;case 148:ml(148);break;case 150:ml(150);break;case 151:ml(151);break;case 153:ml(153);break;case 159:ml(159);break;case 160:ml(160);break;case 162:ml(162);break;case 163:ml(163);break;case 164:ml(164);break;case 170:ml(170);break;case 172:ml(172);break;case 174:ml(174);break;case 178:ml(178);break;case 180:ml(180);break;case 181:ml(181);break;case 182:ml(182);break;case 184:ml(184);break;case 186:ml(186);break;case 198:ml(198);break;case 200:ml(200);break;case 201:ml(201);break;case 202:ml(202);break;case 206:ml(206);break;case 212:ml(212);break;case 213:ml(213);break;case 218:ml(218);break;case 219:ml(219);break;case 220:ml(220);break;case 224:ml(224);break;case 229:ml(229);break;case 235:ml(235);break;case 236:ml(236);break;case 237:ml(237);break;case 248:ml(248);break;case 249:ml(249);break;case 250:ml(250);break;case 254:ml(254);break;case 256:ml(256);break;case 260:ml(260);break;case 266:ml(266);break;case 270:ml(270);break;case 274:ml(274);break;case 72:ml(72);break;case 81:ml(81);break;case 83:ml(83);break;case 85:ml(85);break;case 86:ml(86);break;case 91:ml(91);break;case 98:ml(98);break;case 101:ml(101);break;case 102:ml(102);break;case 104:ml(104);break;case 106:ml(106);break;case 125:ml(125);break;case 132:ml(132);break;case 133:ml(133);break;case 141:ml(141);break;case 154:ml(154);break;case 155:ml(155);break;case 161:ml(161);break;case 171:ml(171);break;case 192:ml(192);break;case 199:ml(199);break;case 203:ml(203);break;case 222:ml(222);break;case 225:ml(225);break;case 228:ml(228);break;case 234:ml(234);break;case 240:ml(240);break;case 251:ml(251);break;case 252:ml(252);break;case 257:ml(257);break;case 261:ml(261);break;case 262:ml(262);break;case 263:ml(263);break;case 267:ml(267);break;case 97:ml(97);break;case 176:ml(176);break;case 221:ml(221);break;case 194:ml(194);break;case 167:ml(167);break;default:ml(78)}}function Pa(){ql.startNonterminal("NCName",Ll);switch(Al){case 19:vl(19);break;case 70:vl(70);break;case 75:vl(75);break;case 79:vl(79);break;case 80:vl(80);break;case 84:vl(84);break;case 88:vl(88);break;case 89:vl(89);break;case 90:vl(90);break;case 94:vl(94);break;case 105:vl(105);break;case 109:vl(109);break;case 113:vl(113);break;case 118:vl(118);break;case 122:vl(122);break;case 123:vl(123);break;case 126:vl(126);break;case 128:vl(128);break;case 131:vl(131);break;case 137:vl(137);break;case 146:vl(146);break;case 148:vl(148);break;case 150:vl(150);break;case 151:vl(151);break;case 160:vl(160);break;case 162:vl(162);break;case 163:vl(163);break;case 164:vl(164);break;case 172:vl(172);break;case 174:vl(174);break;case 178:vl(178);break;case 180:vl(180);break;case 181:vl(181);break;case 186:vl(186);break;case 198:vl(198);break;case 200:vl(200);break;case 201:vl(201);break;case 220:vl(220);break;case 224:vl(224);break;case 236:vl(236);break;case 237:vl(237);break;case 248:vl(248);break;case 249:vl(249);break;case 254:vl(254);break;case 266:vl(266);break;case 270:vl(270);break;case 73:vl(73);break;case 74:vl(74);break;case 82:vl(82);break;case 93:vl(93);break;case 96:vl(96);break;case 103:vl(103);break;case 108:vl(108);break;case 110:vl(110);break;case 111:vl(111);break;case 112:vl(112);break;case 119:vl(119);break;case 120:vl(120);break;case 121:vl(121);break;case 124:vl(124);break;case 129:vl(129);break;case 134:vl(134);break;case 135:vl(135);break;case 136:vl(136);break;case 145:vl(145);break;case 152:vl(152);break;case 153:vl(153);break;case 159:vl(159);break;case 165:vl(165);break;case 170:vl(170);break;case 182:vl(182);break;case 184:vl(184);break;case 185:vl(185);break;case 191:vl(191);break;case 202:vl(202);break;case 206:vl(206);break;case 212:vl(212);break;case 213:vl(213);break;case 216:vl(216);break;case 218:vl(218);break;case 219:vl(219);break;case 226:vl(226);break;case 227:vl(227);break;case 229:vl(229);break;case 235:vl(235);break;case 243:vl(243);break;case 244:vl(244);break;case 250:vl(250);break;case 253:vl(253);break;case 256:vl(256);break;case 260:vl(260);break;case 262:vl(262);break;case 274:vl(274);break;case 72:vl(72);break;case 81:vl(81);break;case 83:vl(83);break;case 85:vl(85);break;case 86:vl(86);break;case 91:vl(91);break;case 98:vl(98);break;case 101:vl(101);break;case 102:vl(102);break;case 104:vl(104);break;case 106:vl(106);break;case 125:vl(125);break;case 132:vl(132);break;case 133:vl(133);break;case 141:vl(141);break;case 154:vl(154);break;case 155:vl(155);break;case 161:vl(161);break;case 171:vl(171);break;case 192:vl(192);break;case 199:vl(199);break;case 203:vl(203);break;case 222:vl(222);break;case 225:vl(225);break;case 228:vl(228);break;case 234:vl(234);break;case 240:vl(240);break;case 251:vl(251);break;case 252:vl(252);break;case 257:vl(257);break;case 261:vl(261);break;case 263:vl(263);break;case 267:vl(267);break;case 97:vl(97);break;case 176:vl(176);break;default:vl(221)}ql.endNonterminal("NCName",Ll)}function Ha(){switch(Al){case 19:ml(19);break;case 70:ml(70);break;case 75:ml(75);break;case 79:ml(79);break;case 80:ml(80);break;case 84:ml(84);break;case 88:ml(88);break;case 89:ml(89);break;case 90:ml(90);break;case 94:ml(94);break;case 105:ml(105);break;case 109:ml(109);break;case 113:ml(113);break;case 118:ml(118);break;case 122:ml(122);break;case 123:ml(123);break;case 126:ml(126);break;case 128:ml(128);break;case 131:ml(131);break;case 137:ml(137);break;case 146:ml(146);break;case 148:ml(148);break;case 150:ml(150);break;case 151:ml(151);break;case 160:ml(160);break;case 162:ml(162);break;case 163:ml(163);break;case 164:ml(164);break;case 172:ml(172);break;case 174:ml(174);break;case 178:ml(178);break;case 180:ml(180);break;case 181:ml(181);break;case 186:ml(186);break;case 198:ml(198);break;case 200:ml(200);break;case 201:ml(201);break;case 220:ml(220);break;case 224:ml(224);break;case 236:ml(236);break;case 237:ml(237);break;case 248:ml(248);break;case 249:ml(249);break;case 254:ml(254);break;case 266:ml(266);break;case 270:ml(270);break;case 73:ml(73);break;case 74:ml(74);break;case 82:ml(82);break;case 93:ml(93);break;case 96:ml(96);break;case 103:ml(103);break;case 108:ml(108);break;case 110:ml(110);break;case 111:ml(111);break;case 112:ml(112);break;case 119:ml(119);break;case 120:ml(120);break;case 121:ml(121);break;case 124:ml(124);break;case 129:ml(129);break;case 134:ml(134);break;case 135:ml(135);break;case 136:ml(136);break;case 145:ml(145);break;case 152:ml(152);break;case 153:ml(153);break;case 159:ml(159);break;case 165:ml(165);break;case 170:ml(170);break;case 182:ml(182);break;case 184:ml(184);break;case 185:ml(185);break;case 191:ml(191);break;case 202:ml(202);break;case 206:ml(206);break;case 212:ml(212);break;case 213:ml(213);break;case 216:ml(216);break;case 218:ml(218);break;case 219:ml(219);break;case 226:ml(226);break;case 227:ml(227);break;case 229:ml(229);break;case 235:ml(235);break;case 243:ml(243);break;case 244:ml(244);break;case 250:ml(250);break;case 253:ml(253);break;case 256:ml(256);break;case 260:ml(260);break;case 262:ml(262);break;case 274:ml(274);break;case 72:ml(72);break;case 81:ml(81);break;case 83:ml(83);break;case 85:ml(85);break;case 86:ml(86);break;case 91:ml(91);break;case 98:ml(98);break;case 101:ml(101);break;case 102:ml(102);break;case 104:ml(104);break;case 106:ml(106);break;case 125:ml(125);break;case 132:ml(132);break;case 133:ml(133);break;case 141:ml(141);break;case 154:ml(154);break;case 155:ml(155);break;case 161:ml(161);break;case 171:ml(171);break;case 192:ml(192);break;case 199:ml(199);break;case 203:ml(203);break;case 222:ml(222);break;case 225:ml(225);break;case 228:ml(228);break;case 234:ml(234);break;case 240:ml(240);break;case 251:ml(251);break;case 252:ml(252);break;case 257:ml(257);break;case 261:ml(261);break;case 263:ml(263);break;case 267:ml(267);break;case 97:ml(97);break;case 176:ml(176);break;default:ml(221)}}function Ba(){ql.startNonterminal("MainModule",Ll),f(),yl(),ja(),ql.endNonterminal("MainModule",Ll)}function ja(){ql.startNonterminal("Program",Ll),Ua(),ql.endNonterminal("Program",Ll)}function Fa(){ql.startNonterminal("Statements",Ll);for(;;){wl(274);switch(Al){case 34:El(269);break;case 35:xl(250);break;case 46:El(281);break;case 47:El(263);break;case 54:xl(4);break;case 55:xl(1);break;case 59:xl(3);break;case 66:El(255);break;case 68:El(271);break;case 77:El(56);break;case 82:El(278);break;case 121:El(277);break;case 132:El(202);break;case 137:El(206);break;case 174:El(204);break;case 218:El(205);break;case 219:El(208);break;case 260:El(209);break;case 276:El(273);break;case 278:El(272);break;case 5:case 45:El(186);break;case 31:case 32:El(253);break;case 40:case 42:El(265);break;case 86:case 102:El(200);break;case 110:case 159:El(207);break;case 124:case 165:El(191);break;case 184:case 216:El(266);break;case 103:case 129:case 235:case 262:El(197);break;case 8:case 9:case 10:case 11:case 44:El(192);break;case 96:case 119:case 202:case 244:case 250:case 256:El(203);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:El(198);break;case 6:case 70:case 72:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:El(195);break;default:Cl=Al}if(Cl!=25&&Cl!=282&&Cl!=12805&&Cl!=12806&&Cl!=12808&&Cl!=12809&&Cl!=12810&&Cl!=12811&&Cl!=12844&&Cl!=12845&&Cl!=12846&&Cl!=12870&&Cl!=12872&&Cl!=12873&&Cl!=12874&&Cl!=12875&&Cl!=12878&&Cl!=12879&&Cl!=12880&&Cl!=12881&&Cl!=12882&&Cl!=12883&&Cl!=12884&&Cl!=12885&&Cl!=12886&&Cl!=12888&&Cl!=12889&&Cl!=12890&&Cl!=12891&&Cl!=12893&&Cl!=12894&&Cl!=12896&&Cl!=12897&&Cl!=12898&&Cl!=12901&&Cl!=12902&&Cl!=12903&&Cl!=12904&&Cl!=12905&&Cl!=12906&&Cl!=12908&&Cl!=12909&&Cl!=12910&&Cl!=12911&&Cl!=12912&&Cl!=12913&&Cl!=12918&&Cl!=12919&&Cl!=12920&&Cl!=12921&&Cl!=12922&&Cl!=12923&&Cl!=12924&&Cl!=12925&&Cl!=12926&&Cl!=12928&&Cl!=12929&&Cl!=12931&&Cl!=12932&&Cl!=12933&&Cl!=12934&&Cl!=12935&&Cl!=12936&&Cl!=12937&&Cl!=12941&&Cl!=12945&&Cl!=12946&&Cl!=12948&&Cl!=12950&&Cl!=12951&&Cl!=12952&&Cl!=12953&&Cl!=12954&&Cl!=12955&&Cl!=12959&&Cl!=12960&&Cl!=12961&&Cl!=12962&&Cl!=12963&&Cl!=12964&&Cl!=12965&&Cl!=12967&&Cl!=12970&&Cl!=12971&&Cl!=12972&&Cl!=12974&&Cl!=12976&&Cl!=12978&&Cl!=12980&&Cl!=12981&&Cl!=12982&&Cl!=12984&&Cl!=12985&&Cl!=12986&&Cl!=12991&&Cl!=12992&&Cl!=12994&&Cl!=12998&&Cl!=12999&&Cl!=13e3&&Cl!=13001&&Cl!=13002&&Cl!=13003&&Cl!=13006&&Cl!=13012&&Cl!=13013&&Cl!=13016&&Cl!=13018&&Cl!=13019&&Cl!=13020&&Cl!=13021&&Cl!=13022&&Cl!=13024&&Cl!=13025&&Cl!=13026&&Cl!=13027&&Cl!=13028&&Cl!=13029&&Cl!=13034&&Cl!=13035&&Cl!=13036&&Cl!=13037&&Cl!=13040&&Cl!=13043&&Cl!=13044&&Cl!=13048&&Cl!=13049&&Cl!=13050&&Cl!=13051&&Cl!=13052&&Cl!=13053&&Cl!=13054&&Cl!=13056&&Cl!=13057&&Cl!=13060&&Cl!=13061&&Cl!=13062&&Cl!=13063&&Cl!=13066&&Cl!=13067&&Cl!=13070&&Cl!=13074&&Cl!=16134&&Cl!=20997&&Cl!=20998&&Cl!=21e3&&Cl!=21001&&Cl!=21002&&Cl!=21003&&Cl!=21036&&Cl!=21037&&Cl!=21038&&Cl!=21062&&Cl!=21064&&Cl!=21065&&Cl!=21066&&Cl!=21067&&Cl!=21070&&Cl!=21071&&Cl!=21072&&Cl!=21073&&Cl!=21074&&Cl!=21075&&Cl!=21076&&Cl!=21077&&Cl!=21078&&Cl!=21080&&Cl!=21081&&Cl!=21082&&Cl!=21083&&Cl!=21085&&Cl!=21086&&Cl!=21088&&Cl!=21089&&Cl!=21090&&Cl!=21093&&Cl!=21094&&Cl!=21095&&Cl!=21096&&Cl!=21097&&Cl!=21098&&Cl!=21100&&Cl!=21101&&Cl!=21102&&Cl!=21103&&Cl!=21104&&Cl!=21105&&Cl!=21110&&Cl!=21111&&Cl!=21112&&Cl!=21113&&Cl!=21114&&Cl!=21115&&Cl!=21116&&Cl!=21117&&Cl!=21118&&Cl!=21120&&Cl!=21121&&Cl!=21123&&Cl!=21124&&Cl!=21125&&Cl!=21126&&Cl!=21127&&Cl!=21128&&Cl!=21129&&Cl!=21133&&Cl!=21137&&Cl!=21138&&Cl!=21140&&Cl!=21142&&Cl!=21143&&Cl!=21144&&Cl!=21145&&Cl!=21146&&Cl!=21147&&Cl!=21151&&Cl!=21152&&Cl!=21153&&Cl!=21154&&Cl!=21155&&Cl!=21156&&Cl!=21157&&Cl!=21159&&Cl!=21162&&Cl!=21163&&Cl!=21164&&Cl!=21166&&Cl!=21168&&Cl!=21170&&Cl!=21172&&Cl!=21173&&Cl!=21174&&Cl!=21176&&Cl!=21177&&Cl!=21178&&Cl!=21183&&Cl!=21184&&Cl!=21186&&Cl!=21190&&Cl!=21191&&Cl!=21192&&Cl!=21193&&Cl!=21194&&Cl!=21195&&Cl!=21198&&Cl!=21204&&Cl!=21205&&Cl!=21208&&Cl!=21210&&Cl!=21211&&Cl!=21212&&Cl!=21213&&Cl!=21214&&Cl!=21216&&Cl!=21217&&Cl!=21218&&Cl!=21219&&Cl!=21220&&Cl!=21221&&Cl!=21226&&Cl!=21227&&Cl!=21228&&Cl!=21229&&Cl!=21232&&Cl!=21235&&Cl!=21236&&Cl!=21240&&Cl!=21241&&Cl!=21242&&Cl!=21243&&Cl!=21244&&Cl!=21245&&Cl!=21246&&Cl!=21248&&Cl!=21249&&Cl!=21252&&Cl!=21253&&Cl!=21254&&Cl!=21255&&Cl!=21258&&Cl!=21259&&Cl!=21262&&Cl!=21266&&Cl!=27141&&Cl!=27142&&Cl!=27144&&Cl!=27145&&Cl!=27146&&Cl!=27147&&Cl!=27180&&Cl!=27181&&Cl!=27182&&Cl!=27206&&Cl!=27208&&Cl!=27209&&Cl!=27210&&Cl!=27211&&Cl!=27214&&Cl!=27215&&Cl!=27216&&Cl!=27217&&Cl!=27218&&Cl!=27219&&Cl!=27220&&Cl!=27221&&Cl!=27222&&Cl!=27224&&Cl!=27225&&Cl!=27226&&Cl!=27227&&Cl!=27229&&Cl!=27230&&Cl!=27232&&Cl!=27233&&Cl!=27234&&Cl!=27237&&Cl!=27238&&Cl!=27239&&Cl!=27240&&Cl!=27241&&Cl!=27242&&Cl!=27244&&Cl!=27245&&Cl!=27246&&Cl!=27247&&Cl!=27248&&Cl!=27249&&Cl!=27254&&Cl!=27255&&Cl!=27256&&Cl!=27257&&Cl!=27258&&Cl!=27259&&Cl!=27260&&Cl!=27261&&Cl!=27262&&Cl!=27264&&Cl!=27265&&Cl!=27267&&Cl!=27268&&Cl!=27269&&Cl!=27270&&Cl!=27271&&Cl!=27272&&Cl!=27273&&Cl!=27277&&Cl!=27281&&Cl!=27282&&Cl!=27284&&Cl!=27286&&Cl!=27287&&Cl!=27288&&Cl!=27289&&Cl!=27290&&Cl!=27291&&Cl!=27295&&Cl!=27296&&Cl!=27297&&Cl!=27298&&Cl!=27299&&Cl!=27300&&Cl!=27301&&Cl!=27303&&Cl!=27306&&Cl!=27307&&Cl!=27308&&Cl!=27310&&Cl!=27312&&Cl!=27314&&Cl!=27316&&Cl!=27317&&Cl!=27318&&Cl!=27320&&Cl!=27321&&Cl!=27322&&Cl!=27327&&Cl!=27328&&Cl!=27330&&Cl!=27334&&Cl!=27335&&Cl!=27336&&Cl!=27337&&Cl!=27338&&Cl!=27339&&Cl!=27342&&Cl!=27348&&Cl!=27349&&Cl!=27352&&Cl!=27354&&Cl!=27355&&Cl!=27356&&Cl!=27357&&Cl!=27358&&Cl!=27360&&Cl!=27361&&Cl!=27362&&Cl!=27363&&Cl!=27364&&Cl!=27365&&Cl!=27370&&Cl!=27371&&Cl!=27372&&Cl!=27373&&Cl!=27376&&Cl!=27379&&Cl!=27380&&Cl!=27384&&Cl!=27385&&Cl!=27386&&Cl!=27387&&Cl!=27388&&Cl!=27389&&Cl!=27390&&Cl!=27392&&Cl!=27393&&Cl!=27396&&Cl!=27397&&Cl!=27398&&Cl!=27399&&Cl!=27402&&Cl!=27403&&Cl!=27406&&Cl!=27410&&Cl!=90198&&Cl!=90214&&Cl!=113284&&Cl!=144389&&Cl!=144390&&Cl!=144392&&Cl!=144393&&Cl!=144394&&Cl!=144395&&Cl!=144428&&Cl!=144429&&Cl!=144430&&Cl!=144454&&Cl!=144456&&Cl!=144457&&Cl!=144458&&Cl!=144459&&Cl!=144462&&Cl!=144463&&Cl!=144464&&Cl!=144465&&Cl!=144466&&Cl!=144467&&Cl!=144468&&Cl!=144469&&Cl!=144470&&Cl!=144472&&Cl!=144473&&Cl!=144474&&Cl!=144475&&Cl!=144477&&Cl!=144478&&Cl!=144480&&Cl!=144481&&Cl!=144482&&Cl!=144485&&Cl!=144486&&Cl!=144487&&Cl!=144488&&Cl!=144489&&Cl!=144490&&Cl!=144492&&Cl!=144493&&Cl!=144494&&Cl!=144495&&Cl!=144496&&Cl!=144497&&Cl!=144502&&Cl!=144503&&Cl!=144504&&Cl!=144505&&Cl!=144506&&Cl!=144507&&Cl!=144508&&Cl!=144509&&Cl!=144510&&Cl!=144512&&Cl!=144513&&Cl!=144515&&Cl!=144516&&Cl!=144517&&Cl!=144518&&Cl!=144519&&Cl!=144520&&Cl!=144521&&Cl!=144525&&Cl!=144529&&Cl!=144530&&Cl!=144532&&Cl!=144534&&Cl!=144535&&Cl!=144536&&Cl!=144537&&Cl!=144538&&Cl!=144539&&Cl!=144543&&Cl!=144544&&Cl!=144545&&Cl!=144546&&Cl!=144547&&Cl!=144548&&Cl!=144549&&Cl!=144551&&Cl!=144554&&Cl!=144555&&Cl!=144556&&Cl!=144558&&Cl!=144560&&Cl!=144562&&Cl!=144564&&Cl!=144565&&Cl!=144566&&Cl!=144568&&Cl!=144569&&Cl!=144570&&Cl!=144575&&Cl!=144576&&Cl!=144578&&Cl!=144582&&Cl!=144583&&Cl!=144584&&Cl!=144585&&Cl!=144586&&Cl!=144587&&Cl!=144590&&Cl!=144596&&Cl!=144597&&Cl!=144600&&Cl!=144602&&Cl!=144603&&Cl!=144604&&Cl!=144605&&Cl!=144606&&Cl!=144608&&Cl!=144609&&Cl!=144610&&Cl!=144611&&Cl!=144612&&Cl!=144613&&Cl!=144618&&Cl!=144619&&Cl!=144620&&Cl!=144621&&Cl!=144624&&Cl!=144627&&Cl!=144628&&Cl!=144632&&Cl!=144633&&Cl!=144634&&Cl!=144635&&Cl!=144636&&Cl!=144637&&Cl!=144638&&Cl!=144640&&Cl!=144641&&Cl!=144644&&Cl!=144645&&Cl!=144646&&Cl!=144647&&Cl!=144650&&Cl!=144651&&Cl!=144654&&Cl!=144658){Cl=pl(6,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{Xa(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(6,Ll,Cl)}}if(Cl!=-1&&Cl!=16134&&Cl!=27141&&Cl!=27142&&Cl!=27144&&Cl!=27145&&Cl!=27146&&Cl!=27147&&Cl!=27180&&Cl!=27181&&Cl!=27182&&Cl!=27206&&Cl!=27208&&Cl!=27209&&Cl!=27210&&Cl!=27211&&Cl!=27214&&Cl!=27215&&Cl!=27216&&Cl!=27217&&Cl!=27218&&Cl!=27219&&Cl!=27220&&Cl!=27221&&Cl!=27222&&Cl!=27224&&Cl!=27225&&Cl!=27226&&Cl!=27227&&Cl!=27229&&Cl!=27230&&Cl!=27232&&Cl!=27233&&Cl!=27234&&Cl!=27237&&Cl!=27238&&Cl!=27239&&Cl!=27240&&Cl!=27241&&Cl!=27242&&Cl!=27244&&Cl!=27245&&Cl!=27246&&Cl!=27247&&Cl!=27248&&Cl!=27249&&Cl!=27254&&Cl!=27255&&Cl!=27256&&Cl!=27257&&Cl!=27258&&Cl!=27259&&Cl!=27260&&Cl!=27261&&Cl!=27262&&Cl!=27264&&Cl!=27265&&Cl!=27267&&Cl!=27268&&Cl!=27269&&Cl!=27270&&Cl!=27271&&Cl!=27272&&Cl!=27273&&Cl!=27277&&Cl!=27281&&Cl!=27282&&Cl!=27284&&Cl!=27286&&Cl!=27287&&Cl!=27288&&Cl!=27289&&Cl!=27290&&Cl!=27291&&Cl!=27295&&Cl!=27296&&Cl!=27297&&Cl!=27298&&Cl!=27299&&Cl!=27300&&Cl!=27301&&Cl!=27303&&Cl!=27306&&Cl!=27307&&Cl!=27308&&Cl!=27310&&Cl!=27312&&Cl!=27314&&Cl!=27316&&Cl!=27317&&Cl!=27318&&Cl!=27320&&Cl!=27321&&Cl!=27322&&Cl!=27327&&Cl!=27328&&Cl!=27330&&Cl!=27334&&Cl!=27335&&Cl!=27336&&Cl!=27337&&Cl!=27338&&Cl!=27339&&Cl!=27342&&Cl!=27348&&Cl!=27349&&Cl!=27352&&Cl!=27354&&Cl!=27355&&Cl!=27356&&Cl!=27357&&Cl!=27358&&Cl!=27360&&Cl!=27361&&Cl!=27362&&Cl!=27363&&Cl!=27364&&Cl!=27365&&Cl!=27370&&Cl!=27371&&Cl!=27372&&Cl!=27373&&Cl!=27376&&Cl!=27379&&Cl!=27380&&Cl!=27384&&Cl!=27385&&Cl!=27386&&Cl!=27387&&Cl!=27388&&Cl!=27389&&Cl!=27390&&Cl!=27392&&Cl!=27393&&Cl!=27396&&Cl!=27397&&Cl!=27398&&Cl!=27399&&Cl!=27402&&Cl!=27403&&Cl!=27406&&Cl!=27410&&Cl!=90198&&Cl!=90214&&Cl!=113284)break;yl(),Wa()}ql.endNonterminal("Statements",Ll)}function Ia(){for(;;){wl(274);switch(Al){case 34:El(269);break;case 35:xl(250);break;case 46:El(281);break;case 47:El(263);break;case 54:xl(4);break;case 55:xl(1);break;case 59:xl(3);break;case 66:El(255);break;case 68:El(271);break;case 77:El(56);break;case 82:El(278);break;case 121:El(277);break;case 132:El(202);break;case 137:El(206);break;case 174:El(204);break;case 218:El(205);break;case 219:El(208);break;case 260:El(209);break;case 276:El(273);break;case 278:El(272);break;case 5:case 45:El(186);break;case 31:case 32:El(253);break;case 40:case 42:El(265);break;case 86:case 102:El(200);break;case 110:case 159:El(207);break;case 124:case 165:El(191);break;case 184:case 216:El(266);break;case 103:case 129:case 235:case 262:El(197);break;case 8:case 9:case 10:case 11:case 44:El(192);break;case 96:case 119:case 202:case 244:case 250:case 256:El(203);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:El(198);break;case 6:case 70:case 72:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:El(195);break;default:Cl=Al}if(Cl!=25&&Cl!=282&&Cl!=12805&&Cl!=12806&&Cl!=12808&&Cl!=12809&&Cl!=12810&&Cl!=12811&&Cl!=12844&&Cl!=12845&&Cl!=12846&&Cl!=12870&&Cl!=12872&&Cl!=12873&&Cl!=12874&&Cl!=12875&&Cl!=12878&&Cl!=12879&&Cl!=12880&&Cl!=12881&&Cl!=12882&&Cl!=12883&&Cl!=12884&&Cl!=12885&&Cl!=12886&&Cl!=12888&&Cl!=12889&&Cl!=12890&&Cl!=12891&&Cl!=12893&&Cl!=12894&&Cl!=12896&&Cl!=12897&&Cl!=12898&&Cl!=12901&&Cl!=12902&&Cl!=12903&&Cl!=12904&&Cl!=12905&&Cl!=12906&&Cl!=12908&&Cl!=12909&&Cl!=12910&&Cl!=12911&&Cl!=12912&&Cl!=12913&&Cl!=12918&&Cl!=12919&&Cl!=12920&&Cl!=12921&&Cl!=12922&&Cl!=12923&&Cl!=12924&&Cl!=12925&&Cl!=12926&&Cl!=12928&&Cl!=12929&&Cl!=12931&&Cl!=12932&&Cl!=12933&&Cl!=12934&&Cl!=12935&&Cl!=12936&&Cl!=12937&&Cl!=12941&&Cl!=12945&&Cl!=12946&&Cl!=12948&&Cl!=12950&&Cl!=12951&&Cl!=12952&&Cl!=12953&&Cl!=12954&&Cl!=12955&&Cl!=12959&&Cl!=12960&&Cl!=12961&&Cl!=12962&&Cl!=12963&&Cl!=12964&&Cl!=12965&&Cl!=12967&&Cl!=12970&&Cl!=12971&&Cl!=12972&&Cl!=12974&&Cl!=12976&&Cl!=12978&&Cl!=12980&&Cl!=12981&&Cl!=12982&&Cl!=12984&&Cl!=12985&&Cl!=12986&&Cl!=12991&&Cl!=12992&&Cl!=12994&&Cl!=12998&&Cl!=12999&&Cl!=13e3&&Cl!=13001&&Cl!=13002&&Cl!=13003&&Cl!=13006&&Cl!=13012&&Cl!=13013&&Cl!=13016&&Cl!=13018&&Cl!=13019&&Cl!=13020&&Cl!=13021&&Cl!=13022&&Cl!=13024&&Cl!=13025&&Cl!=13026&&Cl!=13027&&Cl!=13028&&Cl!=13029&&Cl!=13034&&Cl!=13035&&Cl!=13036&&Cl!=13037&&Cl!=13040&&Cl!=13043&&Cl!=13044&&Cl!=13048&&Cl!=13049&&Cl!=13050&&Cl!=13051&&Cl!=13052&&Cl!=13053&&Cl!=13054&&Cl!=13056&&Cl!=13057&&Cl!=13060&&Cl!=13061&&Cl!=13062&&Cl!=13063&&Cl!=13066&&Cl!=13067&&Cl!=13070&&Cl!=13074&&Cl!=16134&&Cl!=20997&&Cl!=20998&&Cl!=21e3&&Cl!=21001&&Cl!=21002&&Cl!=21003&&Cl!=21036&&Cl!=21037&&Cl!=21038&&Cl!=21062&&Cl!=21064&&Cl!=21065&&Cl!=21066&&Cl!=21067&&Cl!=21070&&Cl!=21071&&Cl!=21072&&Cl!=21073&&Cl!=21074&&Cl!=21075&&Cl!=21076&&Cl!=21077&&Cl!=21078&&Cl!=21080&&Cl!=21081&&Cl!=21082&&Cl!=21083&&Cl!=21085&&Cl!=21086&&Cl!=21088&&Cl!=21089&&Cl!=21090&&Cl!=21093&&Cl!=21094&&Cl!=21095&&Cl!=21096&&Cl!=21097&&Cl!=21098&&Cl!=21100&&Cl!=21101&&Cl!=21102&&Cl!=21103&&Cl!=21104&&Cl!=21105&&Cl!=21110&&Cl!=21111&&Cl!=21112&&Cl!=21113&&Cl!=21114&&Cl!=21115&&Cl!=21116&&Cl!=21117&&Cl!=21118&&Cl!=21120&&Cl!=21121&&Cl!=21123&&Cl!=21124&&Cl!=21125&&Cl!=21126&&Cl!=21127&&Cl!=21128&&Cl!=21129&&Cl!=21133&&Cl!=21137&&Cl!=21138&&Cl!=21140&&Cl!=21142&&Cl!=21143&&Cl!=21144&&Cl!=21145&&Cl!=21146&&Cl!=21147&&Cl!=21151&&Cl!=21152&&Cl!=21153&&Cl!=21154&&Cl!=21155&&Cl!=21156&&Cl!=21157&&Cl!=21159&&Cl!=21162&&Cl!=21163&&Cl!=21164&&Cl!=21166&&Cl!=21168&&Cl!=21170&&Cl!=21172&&Cl!=21173&&Cl!=21174&&Cl!=21176&&Cl!=21177&&Cl!=21178&&Cl!=21183&&Cl!=21184&&Cl!=21186&&Cl!=21190&&Cl!=21191&&Cl!=21192&&Cl!=21193&&Cl!=21194&&Cl!=21195&&Cl!=21198&&Cl!=21204&&Cl!=21205&&Cl!=21208&&Cl!=21210&&Cl!=21211&&Cl!=21212&&Cl!=21213&&Cl!=21214&&Cl!=21216&&Cl!=21217&&Cl!=21218&&Cl!=21219&&Cl!=21220&&Cl!=21221&&Cl!=21226&&Cl!=21227&&Cl!=21228&&Cl!=21229&&Cl!=21232&&Cl!=21235&&Cl!=21236&&Cl!=21240&&Cl!=21241&&Cl!=21242&&Cl!=21243&&Cl!=21244&&Cl!=21245&&Cl!=21246&&Cl!=21248&&Cl!=21249&&Cl!=21252&&Cl!=21253&&Cl!=21254&&Cl!=21255&&Cl!=21258&&Cl!=21259&&Cl!=21262&&Cl!=21266&&Cl!=27141&&Cl!=27142&&Cl!=27144&&Cl!=27145&&Cl!=27146&&Cl!=27147&&Cl!=27180&&Cl!=27181&&Cl!=27182&&Cl!=27206&&Cl!=27208&&Cl!=27209&&Cl!=27210&&Cl!=27211&&Cl!=27214&&Cl!=27215&&Cl!=27216&&Cl!=27217&&Cl!=27218&&Cl!=27219&&Cl!=27220&&Cl!=27221&&Cl!=27222&&Cl!=27224&&Cl!=27225&&Cl!=27226&&Cl!=27227&&Cl!=27229&&Cl!=27230&&Cl!=27232&&Cl!=27233&&Cl!=27234&&Cl!=27237&&Cl!=27238&&Cl!=27239&&Cl!=27240&&Cl!=27241&&Cl!=27242&&Cl!=27244&&Cl!=27245&&Cl!=27246&&Cl!=27247&&Cl!=27248&&Cl!=27249&&Cl!=27254&&Cl!=27255&&Cl!=27256&&Cl!=27257&&Cl!=27258&&Cl!=27259&&Cl!=27260&&Cl!=27261&&Cl!=27262&&Cl!=27264&&Cl!=27265&&Cl!=27267&&Cl!=27268&&Cl!=27269&&Cl!=27270&&Cl!=27271&&Cl!=27272&&Cl!=27273&&Cl!=27277&&Cl!=27281&&Cl!=27282&&Cl!=27284&&Cl!=27286&&Cl!=27287&&Cl!=27288&&Cl!=27289&&Cl!=27290&&Cl!=27291&&Cl!=27295&&Cl!=27296&&Cl!=27297&&Cl!=27298&&Cl!=27299&&Cl!=27300&&Cl!=27301&&Cl!=27303&&Cl!=27306&&Cl!=27307&&Cl!=27308&&Cl!=27310&&Cl!=27312&&Cl!=27314&&Cl!=27316&&Cl!=27317&&Cl!=27318&&Cl!=27320&&Cl!=27321&&Cl!=27322&&Cl!=27327&&Cl!=27328&&Cl!=27330&&Cl!=27334&&Cl!=27335&&Cl!=27336&&Cl!=27337&&Cl!=27338&&Cl!=27339&&Cl!=27342&&Cl!=27348&&Cl!=27349&&Cl!=27352&&Cl!=27354&&Cl!=27355&&Cl!=27356&&Cl!=27357&&Cl!=27358&&Cl!=27360&&Cl!=27361&&Cl!=27362&&Cl!=27363&&Cl!=27364&&Cl!=27365&&Cl!=27370&&Cl!=27371&&Cl!=27372&&Cl!=27373&&Cl!=27376&&Cl!=27379&&Cl!=27380&&Cl!=27384&&Cl!=27385&&Cl!=27386&&Cl!=27387&&Cl!=27388&&Cl!=27389&&Cl!=27390&&Cl!=27392&&Cl!=27393&&Cl!=27396&&Cl!=27397&&Cl!=27398&&Cl!=27399&&Cl!=27402&&Cl!=27403&&Cl!=27406&&Cl!=27410&&Cl!=90198&&Cl!=90214&&Cl!=113284&&Cl!=144389&&Cl!=144390&&Cl!=144392&&Cl!=144393&&Cl!=144394&&Cl!=144395&&Cl!=144428&&Cl!=144429&&Cl!=144430&&Cl!=144454&&Cl!=144456&&Cl!=144457&&Cl!=144458&&Cl!=144459&&Cl!=144462&&Cl!=144463&&Cl!=144464&&Cl!=144465&&Cl!=144466&&Cl!=144467&&Cl!=144468&&Cl!=144469&&Cl!=144470&&Cl!=144472&&Cl!=144473&&Cl!=144474&&Cl!=144475&&Cl!=144477&&Cl!=144478&&Cl!=144480&&Cl!=144481&&Cl!=144482&&Cl!=144485&&Cl!=144486&&Cl!=144487&&Cl!=144488&&Cl!=144489&&Cl!=144490&&Cl!=144492&&Cl!=144493&&Cl!=144494&&Cl!=144495&&Cl!=144496&&Cl!=144497&&Cl!=144502&&Cl!=144503&&Cl!=144504&&Cl!=144505&&Cl!=144506&&Cl!=144507&&Cl!=144508&&Cl!=144509&&Cl!=144510&&Cl!=144512&&Cl!=144513&&Cl!=144515&&Cl!=144516&&Cl!=144517&&Cl!=144518&&Cl!=144519&&Cl!=144520&&Cl!=144521&&Cl!=144525&&Cl!=144529&&Cl!=144530&&Cl!=144532&&Cl!=144534&&Cl!=144535&&Cl!=144536&&Cl!=144537&&Cl!=144538&&Cl!=144539&&Cl!=144543&&Cl!=144544&&Cl!=144545&&Cl!=144546&&Cl!=144547&&Cl!=144548&&Cl!=144549&&Cl!=144551&&Cl!=144554&&Cl!=144555&&Cl!=144556&&Cl!=144558&&Cl!=144560&&Cl!=144562&&Cl!=144564&&Cl!=144565&&Cl!=144566&&Cl!=144568&&Cl!=144569&&Cl!=144570&&Cl!=144575&&Cl!=144576&&Cl!=144578&&Cl!=144582&&Cl!=144583&&Cl!=144584&&Cl!=144585&&Cl!=144586&&Cl!=144587&&Cl!=144590&&Cl!=144596&&Cl!=144597&&Cl!=144600&&Cl!=144602&&Cl!=144603&&Cl!=144604&&Cl!=144605&&Cl!=144606&&Cl!=144608&&Cl!=144609&&Cl!=144610&&Cl!=144611&&Cl!=144612&&Cl!=144613&&Cl!=144618&&Cl!=144619&&Cl!=144620&&Cl!=144621&&Cl!=144624&&Cl!=144627&&Cl!=144628&&Cl!=144632&&Cl!=144633&&Cl!=144634&&Cl!=144635&&Cl!=144636&&Cl!=144637&&Cl!=144638&&Cl!=144640&&Cl!=144641&&Cl!=144644&&Cl!=144645&&Cl!=144646&&Cl!=144647&&Cl!=144650&&Cl!=144651&&Cl!=144654&&Cl!=144658){Cl=pl(6,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{Xa(),hl(6,t,-1);continue}catch(a){kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(6,t,-2);break}}}if(Cl!=-1&&Cl!=16134&&Cl!=27141&&Cl!=27142&&Cl!=27144&&Cl!=27145&&Cl!=27146&&Cl!=27147&&Cl!=27180&&Cl!=27181&&Cl!=27182&&Cl!=27206&&Cl!=27208&&Cl!=27209&&Cl!=27210&&Cl!=27211&&Cl!=27214&&Cl!=27215&&Cl!=27216&&Cl!=27217&&Cl!=27218&&Cl!=27219&&Cl!=27220&&Cl!=27221&&Cl!=27222&&Cl!=27224&&Cl!=27225&&Cl!=27226&&Cl!=27227&&Cl!=27229&&Cl!=27230&&Cl!=27232&&Cl!=27233&&Cl!=27234&&Cl!=27237&&Cl!=27238&&Cl!=27239&&Cl!=27240&&Cl!=27241&&Cl!=27242&&Cl!=27244&&Cl!=27245&&Cl!=27246&&Cl!=27247&&Cl!=27248&&Cl!=27249&&Cl!=27254&&Cl!=27255&&Cl!=27256&&Cl!=27257&&Cl!=27258&&Cl!=27259&&Cl!=27260&&Cl!=27261&&Cl!=27262&&Cl!=27264&&Cl!=27265&&Cl!=27267&&Cl!=27268&&Cl!=27269&&Cl!=27270&&Cl!=27271&&Cl!=27272&&Cl!=27273&&Cl!=27277&&Cl!=27281&&Cl!=27282&&Cl!=27284&&Cl!=27286&&Cl!=27287&&Cl!=27288&&Cl!=27289&&Cl!=27290&&Cl!=27291&&Cl!=27295&&Cl!=27296&&Cl!=27297&&Cl!=27298&&Cl!=27299&&Cl!=27300&&Cl!=27301&&Cl!=27303&&Cl!=27306&&Cl!=27307&&Cl!=27308&&Cl!=27310&&Cl!=27312&&Cl!=27314&&Cl!=27316&&Cl!=27317&&Cl!=27318&&Cl!=27320&&Cl!=27321&&Cl!=27322&&Cl!=27327&&Cl!=27328&&Cl!=27330&&Cl!=27334&&Cl!=27335&&Cl!=27336&&Cl!=27337&&Cl!=27338&&Cl!=27339&&Cl!=27342&&Cl!=27348&&Cl!=27349&&Cl!=27352&&Cl!=27354&&Cl!=27355&&Cl!=27356&&Cl!=27357&&Cl!=27358&&Cl!=27360&&Cl!=27361&&Cl!=27362&&Cl!=27363&&Cl!=27364&&Cl!=27365&&Cl!=27370&&Cl!=27371&&Cl!=27372&&Cl!=27373&&Cl!=27376&&Cl!=27379&&Cl!=27380&&Cl!=27384&&Cl!=27385&&Cl!=27386&&Cl!=27387&&Cl!=27388&&Cl!=27389&&Cl!=27390&&Cl!=27392&&Cl!=27393&&Cl!=27396&&Cl!=27397&&Cl!=27398&&Cl!=27399&&Cl!=27402&&Cl!=27403&&Cl!=27406&&Cl!=27410&&Cl!=90198&&Cl!=90214&&Cl!=113284)break;Xa()}}function qa(){ql.startNonterminal("StatementsAndExpr",Ll),Fa(),yl(),Q(),ql.endNonterminal("StatementsAndExpr",Ll)}function Ra(){Ia(),G()}function Ua(){ql.startNonterminal("StatementsAndOptionalExpr",Ll),Fa(),Al!=25&&Al!=282&&(yl(),Q()),ql.endNonterminal("StatementsAndOptionalExpr",Ll)}function za(){Ia(),Al!=25&&Al!=282&&G()}function Wa(){ql.startNonterminal("Statement",Ll);switch(Al){case 132:El(189);break;case 137:El(196);break;case 174:El(193);break;case 250:El(190);break;case 262:El(187);break;case 276:El(273);break;case 31:case 32:El(253);break;case 86:case 102:El(188);break;case 152:case 243:case 253:case 267:El(185);break;default:Cl=Al}if(Cl==2836||Cl==3103||Cl==3104||Cl==3348||Cl==4372||Cl==4884||Cl==5396||Cl==5908||Cl==16148||Cl==16660||Cl==17675||Cl==17684||Cl==18196||Cl==20756||Cl==21780||Cl==22804||Cl==23316||Cl==23828||Cl==24340||Cl==27924||Cl==28436||Cl==30484||Cl==34068||Cl==35092||Cl==35871||Cl==35872||Cl==36116||Cl==36895||Cl==36896||Cl==37140||Cl==37407||Cl==37408||Cl==37652||Cl==37919||Cl==37920||Cl==38164||Cl==38431||Cl==38432||Cl==38676||Cl==39700||Cl==39967||Cl==39968||Cl==40212||Cl==40479||Cl==40480||Cl==40724||Cl==40991||Cl==40992||Cl==41236||Cl==41503||Cl==41504||Cl==41748||Cl==42015||Cl==42016||Cl==42260||Cl==42527||Cl==42528||Cl==42772||Cl==43039||Cl==43040||Cl==43284||Cl==43551||Cl==43552||Cl==43796||Cl==44063||Cl==44064||Cl==44308||Cl==45087||Cl==45088||Cl==45332||Cl==45599||Cl==45600||Cl==45844||Cl==46111||Cl==46112||Cl==46356||Cl==46623||Cl==46624||Cl==46868||Cl==47647||Cl==47648||Cl==47892||Cl==48159||Cl==48160||Cl==48404||Cl==49183||Cl==49184||Cl==49428||Cl==49695||Cl==49696||Cl==49940||Cl==50207||Cl==50208||Cl==50452||Cl==51743||Cl==51744||Cl==51988||Cl==52255||Cl==52256||Cl==52500||Cl==52767||Cl==52768||Cl==53012||Cl==53279||Cl==53280||Cl==53524||Cl==53791||Cl==53792||Cl==54036||Cl==54303||Cl==54304||Cl==54548||Cl==55327||Cl==55328||Cl==55572||Cl==55839||Cl==55840||Cl==56084||Cl==56351||Cl==56352||Cl==56596||Cl==56863||Cl==56864||Cl==57108||Cl==57375||Cl==57376||Cl==57620||Cl==57887||Cl==57888||Cl==58132||Cl==60447||Cl==60448||Cl==60692||Cl==60959||Cl==60960||Cl==61204||Cl==61471||Cl==61472||Cl==61716||Cl==61983||Cl==61984||Cl==62228||Cl==62495||Cl==62496||Cl==62740||Cl==63007||Cl==63008||Cl==63252||Cl==63519||Cl==63520||Cl==63764||Cl==64031||Cl==64032||Cl==64276||Cl==64543||Cl==64544||Cl==64788||Cl==65567||Cl==65568||Cl==65812||Cl==66079||Cl==66080||Cl==66324||Cl==67103||Cl==67104||Cl==67348||Cl==67615||Cl==67616||Cl==67860||Cl==68127||Cl==68128||Cl==68372||Cl==68639||Cl==68640||Cl==68884||Cl==69151||Cl==69152||Cl==69396||Cl==69663||Cl==69664||Cl==69908||Cl==70175||Cl==70176||Cl==70420||Cl==72223||Cl==72224||Cl==72468||Cl==74271||Cl==74272||Cl==74516||Cl==74783||Cl==74784||Cl==75028||Cl==75807||Cl==75808||Cl==76052||Cl==76831||Cl==76832||Cl==77076||Cl==77343||Cl==77344||Cl==77588||Cl==77855||Cl==77856||Cl==78100||Cl==78367||Cl==78368||Cl==78612||Cl==78879||Cl==78880||Cl==79124||Cl==79391||Cl==79392||Cl==79636||Cl==81439||Cl==81440||Cl==81684||Cl==81951||Cl==81952||Cl==82196||Cl==82463||Cl==82464||Cl==82708||Cl==82975||Cl==82976||Cl==83220||Cl==83487||Cl==83488||Cl==83732||Cl==83999||Cl==84e3||Cl==84244||Cl==84511||Cl==84512||Cl==84756||Cl==85535||Cl==85536||Cl==85780||Cl==87071||Cl==87072||Cl==87316||Cl==87583||Cl==87584||Cl==87828||Cl==88095||Cl==88096||Cl==88340||Cl==89119||Cl==89120||Cl==89364||Cl==90143||Cl==90144||Cl==90388||Cl==91167||Cl==91168||Cl==91412||Cl==92191||Cl==92192||Cl==92436||Cl==92703||Cl==92704||Cl==92948||Cl==93215||Cl==93216||Cl==93460||Cl==94239||Cl==94240||Cl==94484||Cl==94751||Cl==94752||Cl==94996||Cl==95263||Cl==95264||Cl==95508||Cl==97823||Cl==97824||Cl==98068||Cl==98335||Cl==98336||Cl==98580||Cl==99359||Cl==99360||Cl==99604||Cl==101407||Cl==101408||Cl==101652||Cl==101919||Cl==101920||Cl==102164||Cl==102431||Cl==102432||Cl==102676||Cl==102943||Cl==102944||Cl==103188||Cl==103455||Cl==103456||Cl==103700||Cl==103967||Cl==103968||Cl==104212||Cl==105503||Cl==105504||Cl==105748||Cl==108575||Cl==108576||Cl==108820||Cl==109087||Cl==109088||Cl==109332||Cl==110623||Cl==110624||Cl==110868||Cl==111647||Cl==111648||Cl==111892||Cl==112159||Cl==112160||Cl==112404||Cl==112671||Cl==112672||Cl==112916||Cl==113183||Cl==113184||Cl==113428||Cl==113695||Cl==113696||Cl==113940||Cl==114719||Cl==114720||Cl==114964||Cl==115231||Cl==115232||Cl==115476||Cl==115743||Cl==115744||Cl==115988||Cl==116255||Cl==116256||Cl==116500||Cl==116767||Cl==116768||Cl==117012||Cl==117279||Cl==117280||Cl==117524||Cl==119839||Cl==119840||Cl==120084||Cl==120351||Cl==120352||Cl==120596||Cl==120863||Cl==120864||Cl==121108||Cl==121375||Cl==121376||Cl==121620||Cl==122911||Cl==122912||Cl==123156||Cl==124447||Cl==124448||Cl==124692||Cl==124959||Cl==124960||Cl==125204||Cl==127007||Cl==127008||Cl==127252||Cl==127519||Cl==127520||Cl==127764||Cl==128031||Cl==128032||Cl==128276||Cl==128543||Cl==128544||Cl==128788||Cl==129055||Cl==129056||Cl==129300||Cl==129567||Cl==129568||Cl==129812||Cl==130079||Cl==130080||Cl==130324||Cl==131103||Cl==131104||Cl==131348||Cl==131615||Cl==131616||Cl==131860||Cl==133151||Cl==133152||Cl==133396||Cl==133663||Cl==133664||Cl==133908||Cl==134175||Cl==134176||Cl==134420||Cl==134687||Cl==134688||Cl==134932||Cl==136223||Cl==136224||Cl==136468||Cl==136735||Cl==136736||Cl==136980||Cl==138271||Cl==138272||Cl==138516||Cl==140319||Cl==140320||Cl==140564||Cl==141588||Cl==142612||Cl==144660){Cl=pl(7,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{$a(),Cl=-1}catch(a){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Ka(),Cl=-2}catch(f){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Ga(),Cl=-3}catch(l){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Sf(),Cl=-12}catch(c){Cl=-13}}}}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(7,Ll,Cl)}}switch(Cl){case-2:Ja();break;case-3:Qa();break;case 90198:Ya();break;case 90214:ef();break;case 113284:nf();break;case 16009:case 16046:case 116910:case 119945:case 128649:sf();break;case 17560:ff();break;case 17651:cf();break;case 141562:vf();break;case 17661:gf();break;case-12:case 16134:Ef();break;case-13:xf();break;default:Va()}ql.endNonterminal("Statement",Ll)}function Xa(){switch(Al){case 132:El(189);break;case 137:El(196);break;case 174:El(193);break;case 250:El(190);break;case 262:El(187);break;case 276:El(273);break;case 31:case 32:El(253);break;case 86:case 102:El(188);break;case 152:case 243:case 253:case 267:El(185);break;default:Cl=Al}if(Cl==2836||Cl==3103||Cl==3104||Cl==3348||Cl==4372||Cl==4884||Cl==5396||Cl==5908||Cl==16148||Cl==16660||Cl==17675||Cl==17684||Cl==18196||Cl==20756||Cl==21780||Cl==22804||Cl==23316||Cl==23828||Cl==24340||Cl==27924||Cl==28436||Cl==30484||Cl==34068||Cl==35092||Cl==35871||Cl==35872||Cl==36116||Cl==36895||Cl==36896||Cl==37140||Cl==37407||Cl==37408||Cl==37652||Cl==37919||Cl==37920||Cl==38164||Cl==38431||Cl==38432||Cl==38676||Cl==39700||Cl==39967||Cl==39968||Cl==40212||Cl==40479||Cl==40480||Cl==40724||Cl==40991||Cl==40992||Cl==41236||Cl==41503||Cl==41504||Cl==41748||Cl==42015||Cl==42016||Cl==42260||Cl==42527||Cl==42528||Cl==42772||Cl==43039||Cl==43040||Cl==43284||Cl==43551||Cl==43552||Cl==43796||Cl==44063||Cl==44064||Cl==44308||Cl==45087||Cl==45088||Cl==45332||Cl==45599||Cl==45600||Cl==45844||Cl==46111||Cl==46112||Cl==46356||Cl==46623||Cl==46624||Cl==46868||Cl==47647||Cl==47648||Cl==47892||Cl==48159||Cl==48160||Cl==48404||Cl==49183||Cl==49184||Cl==49428||Cl==49695||Cl==49696||Cl==49940||Cl==50207||Cl==50208||Cl==50452||Cl==51743||Cl==51744||Cl==51988||Cl==52255||Cl==52256||Cl==52500||Cl==52767||Cl==52768||Cl==53012||Cl==53279||Cl==53280||Cl==53524||Cl==53791||Cl==53792||Cl==54036||Cl==54303||Cl==54304||Cl==54548||Cl==55327||Cl==55328||Cl==55572||Cl==55839||Cl==55840||Cl==56084||Cl==56351||Cl==56352||Cl==56596||Cl==56863||Cl==56864||Cl==57108||Cl==57375||Cl==57376||Cl==57620||Cl==57887||Cl==57888||Cl==58132||Cl==60447||Cl==60448||Cl==60692||Cl==60959||Cl==60960||Cl==61204||Cl==61471||Cl==61472||Cl==61716||Cl==61983||Cl==61984||Cl==62228||Cl==62495||Cl==62496||Cl==62740||Cl==63007||Cl==63008||Cl==63252||Cl==63519||Cl==63520||Cl==63764||Cl==64031||Cl==64032||Cl==64276||Cl==64543||Cl==64544||Cl==64788||Cl==65567||Cl==65568||Cl==65812||Cl==66079||Cl==66080||Cl==66324||Cl==67103||Cl==67104||Cl==67348||Cl==67615||Cl==67616||Cl==67860||Cl==68127||Cl==68128||Cl==68372||Cl==68639||Cl==68640||Cl==68884||Cl==69151||Cl==69152||Cl==69396||Cl==69663||Cl==69664||Cl==69908||Cl==70175||Cl==70176||Cl==70420||Cl==72223||Cl==72224||Cl==72468||Cl==74271||Cl==74272||Cl==74516||Cl==74783||Cl==74784||Cl==75028||Cl==75807||Cl==75808||Cl==76052||Cl==76831||Cl==76832||Cl==77076||Cl==77343||Cl==77344||Cl==77588||Cl==77855||Cl==77856||Cl==78100||Cl==78367||Cl==78368||Cl==78612||Cl==78879||Cl==78880||Cl==79124||Cl==79391||Cl==79392||Cl==79636||Cl==81439||Cl==81440||Cl==81684||Cl==81951||Cl==81952||Cl==82196||Cl==82463||Cl==82464||Cl==82708||Cl==82975||Cl==82976||Cl==83220||Cl==83487||Cl==83488||Cl==83732||Cl==83999||Cl==84e3||Cl==84244||Cl==84511||Cl==84512||Cl==84756||Cl==85535||Cl==85536||Cl==85780||Cl==87071||Cl==87072||Cl==87316||Cl==87583||Cl==87584||Cl==87828||Cl==88095||Cl==88096||Cl==88340||Cl==89119||Cl==89120||Cl==89364||Cl==90143||Cl==90144||Cl==90388||Cl==91167||Cl==91168||Cl==91412||Cl==92191||Cl==92192||Cl==92436||Cl==92703||Cl==92704||Cl==92948||Cl==93215||Cl==93216||Cl==93460||Cl==94239||Cl==94240||Cl==94484||Cl==94751||Cl==94752||Cl==94996||Cl==95263||Cl==95264||Cl==95508||Cl==97823||Cl==97824||Cl==98068||Cl==98335||Cl==98336||Cl==98580||Cl==99359||Cl==99360||Cl==99604||Cl==101407||Cl==101408||Cl==101652||Cl==101919||Cl==101920||Cl==102164||Cl==102431||Cl==102432||Cl==102676||Cl==102943||Cl==102944||Cl==103188||Cl==103455||Cl==103456||Cl==103700||Cl==103967||Cl==103968||Cl==104212||Cl==105503||Cl==105504||Cl==105748||Cl==108575||Cl==108576||Cl==108820||Cl==109087||Cl==109088||Cl==109332||Cl==110623||Cl==110624||Cl==110868||Cl==111647||Cl==111648||Cl==111892||Cl==112159||Cl==112160||Cl==112404||Cl==112671||Cl==112672||Cl==112916||Cl==113183||Cl==113184||Cl==113428||Cl==113695||Cl==113696||Cl==113940||Cl==114719||Cl==114720||Cl==114964||Cl==115231||Cl==115232||Cl==115476||Cl==115743||Cl==115744||Cl==115988||Cl==116255||Cl==116256||Cl==116500||Cl==116767||Cl==116768||Cl==117012||Cl==117279||Cl==117280||Cl==117524||Cl==119839||Cl==119840||Cl==120084||Cl==120351||Cl==120352||Cl==120596||Cl==120863||Cl==120864||Cl==121108||Cl==121375||Cl==121376||Cl==121620||Cl==122911||Cl==122912||Cl==123156||Cl==124447||Cl==124448||Cl==124692||Cl==124959||Cl==124960||Cl==125204||Cl==127007||Cl==127008||Cl==127252||Cl==127519||Cl==127520||Cl==127764||Cl==128031||Cl==128032||Cl==128276||Cl==128543||Cl==128544||Cl==128788||Cl==129055||Cl==129056||Cl==129300||Cl==129567||Cl==129568||Cl==129812||Cl==130079||Cl==130080||Cl==130324||Cl==131103||Cl==131104||Cl==131348||Cl==131615||Cl==131616||Cl==131860||Cl==133151||Cl==133152||Cl==133396||Cl==133663||Cl==133664||Cl==133908||Cl==134175||Cl==134176||Cl==134420||Cl==134687||Cl==134688||Cl==134932||Cl==136223||Cl==136224||Cl==136468||Cl==136735||Cl==136736||Cl==136980||Cl==138271||Cl==138272||Cl==138516||Cl==140319||Cl==140320||Cl==140564||Cl==141588||Cl==142612||Cl==144660){Cl=pl(7,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{$a(),hl(7,t,-1),Cl=-14}catch(a){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Ka(),hl(7,t,-2),Cl=-14}catch(f){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Ga(),hl(7,t,-3),Cl=-14}catch(l){try{kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),Sf(),hl(7,t,-12),Cl=-14}catch(c){Cl=-13,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(7,t,-13)}}}}}}switch(Cl){case-2:Ka();break;case-3:Ga();break;case 90198:Za();break;case 90214:tf();break;case 113284:rf();break;case 16009:case 16046:case 116910:case 119945:case 128649:of();break;case 17560:lf();break;case 17651:hf();break;case 141562:mf();break;case 17661:yf();break;case-12:case 16134:Sf();break;case-13:Tf();break;case-14:break;default:$a()}}function Va(){ql.startNonterminal("ApplyStatement",Ll),kf(),vl(53),ql.endNonterminal("ApplyStatement",Ll)}function $a(){Lf(),ml(53)}function Ja(){ql.startNonterminal("AssignStatement",Ll),vl(31),wl(253),yl(),fi(),wl(27),vl(52),wl(267),yl(),Nf(),vl(53),ql.endNonterminal("AssignStatement",Ll)}function Ka(){ml(31),wl(253),li(),wl(27),ml(52),wl(267),Cf(),ml(53)}function Qa(){ql.startNonterminal("BlockStatement",Ll),vl(276),wl(273),yl(),Fa(),vl(282),ql.endNonterminal("BlockStatement",Ll)}function Ga(){ml(276),wl(273),Ia(),ml(282)}function Ya(){ql.startNonterminal("BreakStatement",Ll),vl(86),wl(59),vl(176),wl(28),vl(53),ql.endNonterminal("BreakStatement",Ll)}function Za(){ml(86),wl(59),ml(176),wl(28),ml(53)}function ef(){ql.startNonterminal("ContinueStatement",Ll),vl(102),wl(59),vl(176),wl(28),vl(53),ql.endNonterminal("ContinueStatement",Ll)}function tf(){ml(102),wl(59),ml(176),wl(28),ml(53)}function nf(){ql.startNonterminal("ExitStatement",Ll),vl(132),wl(71),vl(221),wl(267),yl(),Nf(),vl(53),ql.endNonterminal("ExitStatement",Ll)}function rf(){ml(132),wl(71),ml(221),wl(267),Cf(),ml(53)}function sf(){ql.startNonterminal("FLWORStatement",Ll),et();for(;;){wl(173);if(Al==220)break;yl(),nt()}yl(),uf(),ql.endNonterminal("FLWORStatement",Ll)}function of(){tt();for(;;){wl(173);if(Al==220)break;rt()}af()}function uf(){ql.startNonterminal("ReturnStatement",Ll),vl(220),wl(267),yl(),Wa(),ql.endNonterminal("ReturnStatement",Ll)}function af(){ml(220),wl(267),Xa()}function ff(){ql.startNonterminal("IfStatement",Ll),vl(152),wl(22),vl(34),wl(267),yl(),Q(),vl(37),wl(77),vl(245),wl(267),yl(),Wa(),wl(48),vl(122),wl(267),yl(),Wa(),ql.endNonterminal("IfStatement",Ll)}function lf(){ml(152),wl(22),ml(34),wl(267),G(),ml(37),wl(77),ml(245),wl(267),Xa(),wl(48),ml(122),wl(267),Xa()}function cf(){ql.startNonterminal("SwitchStatement",Ll),vl(243),wl(22),vl(34),wl(267),yl(),Q(),vl(37);for(;;){wl(35),yl(),pf(),wl(113);if(Al!=88)break}vl(109),wl(70),vl(220),wl(267),yl(),Wa(),ql.endNonterminal("SwitchStatement",Ll)}function hf(){ml(243),wl(22),ml(34),wl(267),G(),ml(37);for(;;){wl(35),df(),wl(113);if(Al!=88)break}ml(109),wl(70),ml(220),wl(267),Xa()}function pf(){ql.startNonterminal("SwitchCaseStatement",Ll);for(;;){vl(88),wl(267),yl(),cn();if(Al!=88)break}vl(220),wl(267),yl(),Wa(),ql.endNonterminal("SwitchCaseStatement",Ll)}function df(){for(;;){ml(88),wl(267),hn();if(Al!=88)break}ml(220),wl(267),Xa()}function vf(){ql.startNonterminal("TryCatchStatement",Ll),vl(250),wl(87),yl(),Qa();for(;;){wl(36),vl(91),wl(255),yl(),An(),yl(),Qa(),wl(274);switch(Al){case 91:El(276);break;default:Cl=Al}if(Cl==38491||Cl==45659||Cl==46171||Cl==60507||Cl==65627||Cl==67163||Cl==74843||Cl==76891||Cl==77403||Cl==82011||Cl==83035||Cl==84059||Cl==88155||Cl==91227||Cl==92251||Cl==95323||Cl==102491||Cl==127067||Cl==127579||Cl==130139){Cl=pl(8,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{wl(36),ml(91),wl(255),On(),Ga(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(8,Ll,Cl)}}if(Cl!=-1&&Cl!=2651&&Cl!=3163&&Cl!=35931&&Cl!=36955&&Cl!=37467&&Cl!=37979&&Cl!=40027&&Cl!=40539&&Cl!=41051&&Cl!=41563&&Cl!=42075&&Cl!=42587&&Cl!=43099&&Cl!=43611&&Cl!=44123&&Cl!=45147&&Cl!=46683&&Cl!=47707&&Cl!=48219&&Cl!=49243&&Cl!=49755&&Cl!=50267&&Cl!=51803&&Cl!=52315&&Cl!=52827&&Cl!=53339&&Cl!=53851&&Cl!=54363&&Cl!=55387&&Cl!=55899&&Cl!=56411&&Cl!=56923&&Cl!=57435&&Cl!=57947&&Cl!=61019&&Cl!=61531&&Cl!=62043&&Cl!=62555&&Cl!=63067&&Cl!=63579&&Cl!=64091&&Cl!=64603&&Cl!=66139&&Cl!=67675&&Cl!=68187&&Cl!=68699&&Cl!=69211&&Cl!=69723&&Cl!=70235&&Cl!=72283&&Cl!=74331&&Cl!=75867&&Cl!=77915&&Cl!=78427&&Cl!=78939&&Cl!=79451&&Cl!=81499&&Cl!=82523&&Cl!=83547&&Cl!=84571&&Cl!=85595&&Cl!=87131&&Cl!=87643&&Cl!=89179&&Cl!=90203&&Cl!=92763&&Cl!=93275&&Cl!=94299&&Cl!=94811&&Cl!=97883&&Cl!=98395&&Cl!=99419&&Cl!=101467&&Cl!=101979&&Cl!=103003&&Cl!=103515&&Cl!=104027&&Cl!=105563&&Cl!=108635&&Cl!=109147&&Cl!=110683&&Cl!=111707&&Cl!=112219&&Cl!=112731&&Cl!=113243&&Cl!=113755&&Cl!=114779&&Cl!=115291&&Cl!=115803&&Cl!=116315&&Cl!=116827&&Cl!=117339&&Cl!=119899&&Cl!=120411&&Cl!=120923&&Cl!=121435&&Cl!=122971&&Cl!=124507&&Cl!=125019&&Cl!=128091&&Cl!=128603&&Cl!=129115&&Cl!=129627&&Cl!=131163&&Cl!=131675&&Cl!=133211&&Cl!=133723&&Cl!=134235&&Cl!=134747&&Cl!=136283&&Cl!=136795&&Cl!=138331&&Cl!=140379)break}ql.endNonterminal("TryCatchStatement",Ll)}function mf(){ml(250),wl(87),Ga(),wl(36),ml(91),wl(255),On(),Ga();for(;;){wl(274);switch(Al){case 91:El(276);break;default:Cl=Al}if(Cl==38491||Cl==45659||Cl==46171||Cl==60507||Cl==65627||Cl==67163||Cl==74843||Cl==76891||Cl==77403||Cl==82011||Cl==83035||Cl==84059||Cl==88155||Cl==91227||Cl==92251||Cl==95323||Cl==102491||Cl==127067||Cl==127579||Cl==130139){Cl=pl(8,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{wl(36),ml(91),wl(255),On(),Ga(),hl(8,t,-1);continue}catch(a){kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(8,t,-2);break}}}if(Cl!=-1&&Cl!=2651&&Cl!=3163&&Cl!=35931&&Cl!=36955&&Cl!=37467&&Cl!=37979&&Cl!=40027&&Cl!=40539&&Cl!=41051&&Cl!=41563&&Cl!=42075&&Cl!=42587&&Cl!=43099&&Cl!=43611&&Cl!=44123&&Cl!=45147&&Cl!=46683&&Cl!=47707&&Cl!=48219&&Cl!=49243&&Cl!=49755&&Cl!=50267&&Cl!=51803&&Cl!=52315&&Cl!=52827&&Cl!=53339&&Cl!=53851&&Cl!=54363&&Cl!=55387&&Cl!=55899&&Cl!=56411&&Cl!=56923&&Cl!=57435&&Cl!=57947&&Cl!=61019&&Cl!=61531&&Cl!=62043&&Cl!=62555&&Cl!=63067&&Cl!=63579&&Cl!=64091&&Cl!=64603&&Cl!=66139&&Cl!=67675&&Cl!=68187&&Cl!=68699&&Cl!=69211&&Cl!=69723&&Cl!=70235&&Cl!=72283&&Cl!=74331&&Cl!=75867&&Cl!=77915&&Cl!=78427&&Cl!=78939&&Cl!=79451&&Cl!=81499&&Cl!=82523&&Cl!=83547&&Cl!=84571&&Cl!=85595&&Cl!=87131&&Cl!=87643&&Cl!=89179&&Cl!=90203&&Cl!=92763&&Cl!=93275&&Cl!=94299&&Cl!=94811&&Cl!=97883&&Cl!=98395&&Cl!=99419&&Cl!=101467&&Cl!=101979&&Cl!=103003&&Cl!=103515&&Cl!=104027&&Cl!=105563&&Cl!=108635&&Cl!=109147&&Cl!=110683&&Cl!=111707&&Cl!=112219&&Cl!=112731&&Cl!=113243&&Cl!=113755&&Cl!=114779&&Cl!=115291&&Cl!=115803&&Cl!=116315&&Cl!=116827&&Cl!=117339&&Cl!=119899&&Cl!=120411&&Cl!=120923&&Cl!=121435&&Cl!=122971&&Cl!=124507&&Cl!=125019&&Cl!=128091&&Cl!=128603&&Cl!=129115&&Cl!=129627&&Cl!=131163&&Cl!=131675&&Cl!=133211&&Cl!=133723&&Cl!=134235&&Cl!=134747&&Cl!=136283&&Cl!=136795&&Cl!=138331&&Cl!=140379)break;wl(36),ml(91),wl(255),On(),Ga()}}function gf(){ql.startNonterminal("TypeswitchStatement",Ll),vl(253),wl(22),vl(34),wl(267),yl(),Q(),vl(37);for(;;){wl(35),yl(),bf(),wl(113);if(Al!=88)break}vl(109),wl(95),Al==31&&(vl(31),wl(253),yl(),fi()),wl(70),vl(220),wl(267),yl(),Wa(),ql.endNonterminal("TypeswitchStatement",Ll)}function yf(){ml(253),wl(22),ml(34),wl(267),G(),ml(37);for(;;){wl(35),wf(),wl(113);if(Al!=88)break}ml(109),wl(95),Al==31&&(ml(31),wl(253),li()),wl(70),ml(220),wl(267),Xa()}function bf(){ql.startNonterminal("CaseStatement",Ll),vl(88),wl(260),Al==31&&(vl(31),wl(253),yl(),fi(),wl(30),vl(79)),wl(259),yl(),ps(),wl(70),vl(220),wl(267),yl(),Wa(),ql.endNonterminal("CaseStatement",Ll)}function wf(){ml(88),wl(260),Al==31&&(ml(31),wl(253),li(),wl(30),ml(79)),wl(259),ds(),wl(70),ml(220),wl(267),Xa()}function Ef(){ql.startNonterminal("VarDeclStatement",Ll);for(;;){wl(98);if(Al!=32)break;yl(),H()}vl(262),wl(21),vl(31),wl(253),yl(),fi(),wl(157),Al==79&&(yl(),cs()),wl(145),Al==52&&(vl(52),wl(267),yl(),Nf());for(;;){if(Al!=41)break;vl(41),wl(21),vl(31),wl(253),yl(),fi(),wl(157),Al==79&&(yl(),cs()),wl(145),Al==52&&(vl(52),wl(267),yl(),Nf())}vl(53),ql.endNonterminal("VarDeclStatement",Ll)}function Sf(){for(;;){wl(98);if(Al!=32)break;B()}ml(262),wl(21),ml(31),wl(253),li(),wl(157),Al==79&&hs(),wl(145),Al==52&&(ml(52),wl(267),Cf());for(;;){if(Al!=41)break;ml(41),wl(21),ml(31),wl(253),li(),wl(157),Al==79&&hs(),wl(145),Al==52&&(ml(52),wl(267),Cf())}ml(53)}function xf(){ql.startNonterminal("WhileStatement",Ll),vl(267),wl(22),vl(34),wl(267),yl(),Q(),vl(37),wl(267),yl(),Wa(),ql.endNonterminal("WhileStatement",Ll)}function Tf(){ml(267),wl(22),ml(34),wl(267),G(),ml(37),wl(267),Xa()}function Nf(){ql.startNonterminal("ExprSingle",Ll);switch(Al){case 137:El(233);break;case 174:El(231);break;case 250:El(230);break;case 152:case 243:case 253:El(228);break;default:Cl=Al}switch(Cl){case 16009:case 16046:case 116910:case 119945:case 128649:Y();break;case 17560:bn();break;case 17651:un();break;case 141562:En();break;case 17661:pn();break;default:kf()}ql.endNonterminal("ExprSingle",Ll)}function Cf(){switch(Al){case 137:El(233);break;case 174:El(231);break;case 250:El(230);break;case 152:case 243:case 253:El(228);break;default:Cl=Al}switch(Cl){case 16009:case 16046:case 116910:case 119945:case 128649:Z();break;case 17560:wn();break;case 17651:an();break;case 141562:Sn();break;case 17661:dn();break;default:Lf()}}function kf(){ql.startNonterminal("ExprSimple",Ll);switch(Al){case 218:El(232);break;case 219:El(235);break;case 110:case 159:El(234);break;case 103:case 129:case 235:El(229);break;default:Cl=Al}switch(Cl){case 16001:case 16107:sn();break;case 97951:case 98463:ko();break;case 97902:case 98414:Ao();break;case 98010:Do();break;case 98011:case 133851:Mo();break;case 15975:Ro();break;case 85102:Af();break;case 85151:Mf();break;case 85210:Df();break;case 85211:Hf();break;case 77:jf();break;default:Mn()}ql.endNonterminal("ExprSimple",Ll)}function Lf(){switch(Al){case 218:El(232);break;case 219:El(235);break;case 110:case 159:El(234);break;case 103:case 129:case 235:El(229);break;default:Cl=Al}switch(Cl){case 16001:case 16107:on();break;case 97951:case 98463:Lo();break;case 97902:case 98414:Oo();break;case 98010:Po();break;case 98011:case 133851:_o();break;case 15975:Uo();break;case 85102:Of();break;case 85151:_f();break;case 85210:Pf();break;case 85211:Bf();break;case 77:Ff();break;default:_n()}}function Af(){ql.startNonterminal("JSONDeleteExpr",Ll),vl(110),wl(56),vl(166),wl(262),yl(),Kr(),ql.endNonterminal("JSONDeleteExpr",Ll)}function Of(){ml(110),wl(56),ml(166),wl(262),Qr()}function Mf(){ql.startNonterminal("JSONInsertExpr",Ll),vl(159),wl(56),vl(166),wl(267),yl(),Nf(),vl(163),wl(267),yl(),Nf();switch(Al){case 81:El(69);break;default:Cl=Al}if(Cl==108113){Cl=pl(9,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(81),wl(69),ml(211),wl(267),Cf(),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(9,Ll,Cl)}}Cl==-1&&(vl(81),wl(69),vl(211),wl(267),yl(),Nf()),ql.endNonterminal("JSONInsertExpr",Ll)}function _f(){ml(159),wl(56),ml(166),wl(267),Cf(),ml(163),wl(267),Cf();switch(Al){case 81:El(69);break;default:Cl=Al}if(Cl==108113){Cl=pl(9,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(81),wl(69),ml(211),wl(267),Cf(),hl(9,t,-1)}catch(a){kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(9,t,-2)}Cl=-2}}Cl==-1&&(ml(81),wl(69),ml(211),wl(267),Cf())}function Df(){ql.startNonterminal("JSONRenameExpr",Ll),vl(218),wl(56),vl(166),wl(262),yl(),Kr(),vl(79),wl(267),yl(),Nf(),ql.endNonterminal("JSONRenameExpr",Ll)}function Pf(){ml(218),wl(56),ml(166),wl(262),Qr(),ml(79),wl(267),Cf()}function Hf(){ql.startNonterminal("JSONReplaceExpr",Ll),vl(219),wl(56),vl(166),wl(82),vl(261),wl(64),vl(196),wl(262),yl(),Kr(),vl(270),wl(267),yl(),Nf(),ql.endNonterminal("JSONReplaceExpr",Ll)}function Bf(){ml(219),wl(56),ml(166),wl(82),ml(261),wl(64),ml(196),wl(262),Qr(),ml(270),wl(267),Cf()}function jf(){ql.startNonterminal("JSONAppendExpr",Ll),vl(77),wl(56),vl(166),wl(267),yl(),Nf(),vl(163),wl(267),yl(),Nf(),ql.endNonterminal("JSONAppendExpr",Ll)}function Ff(){ml(77),wl(56),ml(166),wl(267),Cf(),ml(163),wl(267),Cf()}function If(){ql.startNonterminal("CommonContent",Ll);switch(Al){case 12:vl(12);break;case 23:vl(23);break;case 277:vl(277);break;case 283:vl(283);break;default:fl()}ql.endNonterminal("CommonContent",Ll)}function qf(){switch(Al){case 12:ml(12);break;case 23:ml(23);break;case 277:ml(277);break;case 283:ml(283);break;default:ll()}}function Rf(){ql.startNonterminal("ContentExpr",Ll),qa(),ql.endNonterminal("ContentExpr",Ll)}function Uf(){Ra()}function zf(){ql.startNonterminal("CompDocConstructor",Ll),vl(119),wl(87),yl(),fl(),ql.endNonterminal("CompDocConstructor",Ll)}function Wf(){ml(119),wl(87),ll()}function Xf(){ql.startNonterminal("CompAttrConstructor",Ll),vl(82),wl(256);switch(Al){case 276:vl(276),wl(267),yl(),Q(),vl(282);break;default:yl(),Oa()}wl(87);switch(Al){case 276:El(273);break;default:Cl=Al}if(Cl==144660){Cl=pl(10,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(276),wl(88),ml(282),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(10,Ll,Cl)}}switch(Cl){case-1:vl(276),wl(88),vl(282);break;default:yl(),fl()}ql.endNonterminal("CompAttrConstructor",Ll)}function Vf(){ml(82),wl(256);switch(Al){case 276:ml(276),wl(267),G(),ml(282);break;default:Ma()}wl(87);switch(Al){case 276:El(273);break;default:Cl=Al}if(Cl==144660){Cl=pl(10,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(276),wl(88),ml(282),hl(10,t,-1),Cl=-3}catch(a){Cl=-2,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(10,t,-2)}}}switch(Cl){case-1:ml(276),wl(88),ml(282);break;case-3:break;default:ll()}}function $f(){ql.startNonterminal("CompPIConstructor",Ll),vl(216),wl(249);switch(Al){case 276:vl(276),wl(267),yl(),Q(),vl(282);break;default:yl(),Pa()}wl(87);switch(Al){case 276:El(273);break;default:Cl=Al}if(Cl==144660){Cl=pl(11,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(276),wl(88),ml(282),Cl=-1}catch(a){Cl=-2}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(11,Ll,Cl)}}switch(Cl){case-1:vl(276),wl(88),vl(282);break;default:yl(),fl()}ql.endNonterminal("CompPIConstructor",Ll)}function Jf(){ml(216),wl(249);switch(Al){case 276:ml(276),wl(267),G(),ml(282);break;default:Ha()}wl(87);switch(Al){case 276:El(273);break;default:Cl=Al}if(Cl==144660){Cl=pl(11,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ml(276),wl(88),ml(282),hl(11,t,-1),Cl=-3}catch(a){Cl=-2,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(11,t,-2)}}}switch(Cl){case-1:ml(276),wl(88),ml(282);break;case-3:break;default:ll()}}function Kf(){ql.startNonterminal("CompCommentConstructor",Ll),vl(96),wl(87),yl(),fl(),ql.endNonterminal("CompCommentConstructor",Ll)}function Qf(){ml(96),wl(87),ll()}function Gf(){ql.startNonterminal("CompTextConstructor",Ll),vl(244),wl(87),yl(),fl(),ql.endNonterminal("CompTextConstructor",Ll)}function Yf(){ml(244),wl(87),ll()}function Zf(){ql.startNonterminal("PrimaryExpr",Ll);switch(Al){case 184:El(254);break;case 216:El(252);break;case 276:El(273);break;case 82:case 121:El(257);break;case 96:case 244:El(93);break;case 119:case 202:case 256:El(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:El(92);break;default:Cl=Al}if(Cl==2836||Cl==3348||Cl==4372||Cl==4884||Cl==5396||Cl==5908||Cl==16148||Cl==16660||Cl==17684||Cl==18196||Cl==20756||Cl==21780||Cl==22804||Cl==23316||Cl==23828||Cl==24340||Cl==27924||Cl==28436||Cl==30484||Cl==34068||Cl==35092||Cl==36116||Cl==37140||Cl==37652||Cl==38164||Cl==38676||Cl==39700||Cl==40212||Cl==40724||Cl==41236||Cl==41748||Cl==42260||Cl==42772||Cl==43284||Cl==43796||Cl==44308||Cl==45332||Cl==45844||Cl==46356||Cl==46868||Cl==47892||Cl==48404||Cl==49428||Cl==49940||Cl==50452||Cl==51988||Cl==52500||Cl==53012||Cl==53524||Cl==54036||Cl==54548||Cl==55572||Cl==56084||Cl==56596||Cl==57108||Cl==57620||Cl==58132||Cl==60692||Cl==61204||Cl==61716||Cl==62228||Cl==62740||Cl==63252||Cl==63764||Cl==64276||Cl==64788||Cl==65812||Cl==66324||Cl==67348||Cl==67860||Cl==68372||Cl==68884||Cl==69396||Cl==69908||Cl==70420||Cl==72468||Cl==74516||Cl==75028||Cl==76052||Cl==77076||Cl==77588||Cl==78100||Cl==78612||Cl==79124||Cl==79636||Cl==81684||Cl==82196||Cl==82708||Cl==83220||Cl==83732||Cl==84244||Cl==84756||Cl==85780||Cl==87316||Cl==87828||Cl==88340||Cl==89364||Cl==90388||Cl==91412||Cl==92436||Cl==92948||Cl==93460||Cl==94484||Cl==94996||Cl==95508||Cl==98068||Cl==98580||Cl==99604||Cl==101652||Cl==102164||Cl==102676||Cl==103188||Cl==103700||Cl==104212||Cl==105748||Cl==108820||Cl==109332||Cl==110868||Cl==111892||Cl==112404||Cl==112916||Cl==113428||Cl==113940||Cl==114964||Cl==115476||Cl==115988||Cl==116500||Cl==117012||Cl==117524||Cl==120084||Cl==120596||Cl==121108||Cl==121620||Cl==123156||Cl==124692||Cl==125204||Cl==127252||Cl==127764||Cl==128276||Cl==128788||Cl==129300||Cl==129812||Cl==130324||Cl==131348||Cl==131860||Cl==133396||Cl==133908||Cl==134420||Cl==134932||Cl==136468||Cl==136980||Cl==138516||Cl==140564||Cl==141588||Cl==142612||Cl==144660){Cl=pl(12,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ll(),Cl=-10}catch(a){Cl=-11}kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(12,Ll,Cl)}}switch(Cl){case 8:case 9:case 10:case 11:ri();break;case 31:ui();break;case 34:ci();break;case 44:pi();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17486:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17575:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:bi();break;case 141514:vi();break;case 141568:gi();break;case 32:case 120:case 124:case 145:case 152:case 165:case 185:case 191:case 226:case 227:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:rs();break;case-10:fl();break;case-11:rl();break;case 68:ul();break;case 278:tl();break;default:Ni()}ql.endNonterminal("PrimaryExpr",Ll)}function el(){switch(Al){case 184:El(254);break;case 216:El(252);break;case 276:El(273);break;case 82:case 121:El(257);break;case 96:case 244:El(93);break;case 119:case 202:case 256:El(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 78:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 167:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 194:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:El(92);break;default:Cl=Al}if(Cl==2836||Cl==3348||Cl==4372||Cl==4884||Cl==5396||Cl==5908||Cl==16148||Cl==16660||Cl==17684||Cl==18196||Cl==20756||Cl==21780||Cl==22804||Cl==23316||Cl==23828||Cl==24340||Cl==27924||Cl==28436||Cl==30484||Cl==34068||Cl==35092||Cl==36116||Cl==37140||Cl==37652||Cl==38164||Cl==38676||Cl==39700||Cl==40212||Cl==40724||Cl==41236||Cl==41748||Cl==42260||Cl==42772||Cl==43284||Cl==43796||Cl==44308||Cl==45332||Cl==45844||Cl==46356||Cl==46868||Cl==47892||Cl==48404||Cl==49428||Cl==49940||Cl==50452||Cl==51988||Cl==52500||Cl==53012||Cl==53524||Cl==54036||Cl==54548||Cl==55572||Cl==56084||Cl==56596||Cl==57108||Cl==57620||Cl==58132||Cl==60692||Cl==61204||Cl==61716||Cl==62228||Cl==62740||Cl==63252||Cl==63764||Cl==64276||Cl==64788||Cl==65812||Cl==66324||Cl==67348||Cl==67860||Cl==68372||Cl==68884||Cl==69396||Cl==69908||Cl==70420||Cl==72468||Cl==74516||Cl==75028||Cl==76052||Cl==77076||Cl==77588||Cl==78100||Cl==78612||Cl==79124||Cl==79636||Cl==81684||Cl==82196||Cl==82708||Cl==83220||Cl==83732||Cl==84244||Cl==84756||Cl==85780||Cl==87316||Cl==87828||Cl==88340||Cl==89364||Cl==90388||Cl==91412||Cl==92436||Cl==92948||Cl==93460||Cl==94484||Cl==94996||Cl==95508||Cl==98068||Cl==98580||Cl==99604||Cl==101652||Cl==102164||Cl==102676||Cl==103188||Cl==103700||Cl==104212||Cl==105748||Cl==108820||Cl==109332||Cl==110868||Cl==111892||Cl==112404||Cl==112916||Cl==113428||Cl==113940||Cl==114964||Cl==115476||Cl==115988||Cl==116500||Cl==117012||Cl==117524||Cl==120084||Cl==120596||Cl==121108||Cl==121620||Cl==123156||Cl==124692||Cl==125204||Cl==127252||Cl==127764||Cl==128276||Cl==128788||Cl==129300||Cl==129812||Cl==130324||Cl==131348||Cl==131860||Cl==133396||Cl==133908||Cl==134420||Cl==134932||Cl==136468||Cl==136980||Cl==138516||Cl==140564||Cl==141588||Cl==142612||Cl==144660){Cl=pl(12,Ll);if(Cl==0){var e=kl,t=Ll,n=Al,r=Ol,i=Ml,s=_l,o=Dl,u=Pl;try{ll(),hl(12,t,-10),Cl=-14}catch(a){Cl=-11,kl=e,Ll=t,Al=n,Al==0?Xl=t:(Ol=r,Ml=i,_l=s,_l==0?Xl=i:(Dl=o,Pl=u,Xl=u)),hl(12,t,-11)}}}switch(Cl){case 8:case 9:case 10:case 11:ii();break;case 31:ai();break;case 34:hi();break;case 44:di();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17486:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17575:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17602:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:wi();break;case 141514:mi();break;case 141568:yi();break;case 32:case 120:case 124:case 145:case 152:case 165:case 185:case 191:case 226:case 227:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14926:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15015:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15042:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:is();break;case-10:ll();break;case-11:il();break;case 68:al();break;case 278:nl();break;case-14:break;default:Ci()}}function tl(){ql.startNonterminal("JSONSimpleObjectUnion",Ll),vl(278),wl(272),Al!=281&&(yl(),Q()),vl(281),ql.endNonterminal("JSONSimpleObjectUnion",Ll)}function nl(){ml(278),wl(272),Al!=281&&G(),ml(281)}function rl(){ql.startNonterminal("ObjectConstructor",Ll),vl(276),wl(273);if(Al!=282){yl(),sl();for(;;){if(Al!=41)break;vl(41),wl(267),yl(),sl()}}vl(282),ql.endNonterminal("ObjectConstructor",Ll)}function il(){ml(276),wl(273);if(Al!=282){ol();for(;;){if(Al!=41)break;ml(41),wl(267),ol()}}ml(282)}function sl(){ql.startNonterminal("PairConstructor",Ll),Nf(),vl(49),wl(267),yl(),Nf(),ql.endNonterminal("PairConstructor",Ll)}function ol(){Cf(),ml(49),wl(267),Cf()}function ul(){ql.startNonterminal("ArrayConstructor",Ll),vl(68),wl(271),Al!=69&&(yl(),Q()),vl(69),ql.endNonterminal("ArrayConstructor",Ll)}function al(){ml(68),wl(271),Al!=69&&G(),ml(69)}function fl(){ql.startNonterminal("BlockExpr",Ll),vl(276),wl(273),yl(),Ua(),vl(282),ql.endNonterminal("BlockExpr",Ll)}function ll(){ml(276),wl(273),za(),ml(282)}function cl(){ql.startNonterminal("FunctionDecl",Ll),vl(145),wl(253),yl(),Oa(),wl(22),vl(34),wl(94),Al==31&&(yl(),R()),vl(37),wl(148),Al==79&&(vl(79),wl(259),yl(),ps()),wl(118);switch(Al){case 276:vl(276),wl(273),yl(),Ua(),vl(282);break;default:vl(133)}ql.endNonterminal("FunctionDecl",Ll)}function hl(e,t,n){Rl[(t<<4)+e]=n}function pl(e,t){var n=Rl[(t<<4)+e];return typeof n!="undefined"?n:0}function dl(e,t,n,r,i){throw t>Bl&&(Hl=e,Bl=t,jl=n,Fl=r,Il=i),new Nl.ParseException(Hl,Bl,jl,Fl,Il)}function vl(e){Al==e?(yl(),ql.terminal(i.TOKEN[Al],Ol,Ml>zl?zl:Ml),kl=Ol,Ll=Ml,Al=_l,Al!=0&&(Ol=Dl,Ml=Pl,_l=0)):dl(Ol,Ml,0,Al,e)}function ml(e){Al==e?(kl=Ol,Ll=Ml,Al=_l,Al!=0&&(Ol=Dl,Ml=Pl,_l=0)):dl(Ol,Ml,0,Al,e)}function gl(e){var t=kl,n=Ll,r=Al,i=Ol,s=Ml;Al=e,Ol=Wl,Ml=Xl,_l=0,Aa(),kl=t,Ll=n,Al=r,Al!=0&&(Ol=i,Ml=s)}function yl(){Ll!=Ol&&(kl=Ll,Ll=Ol,ql.whitespace(kl,Ll))}function bl(e){var t;for(;;){t=Tl(e);if(t!=22){if(t!=36)break;gl(t)}}return t}function wl(e){Al==0&&(Al=bl(e),Ol=Wl,Ml=Xl)}function El(e){_l==0&&(_l=bl(e),Dl=Wl,Pl=Xl),Cl=_l<<9|Al}function Sl(e){Al==0&&(Al=Tl(e),Ol=Wl,Ml=Xl)}function xl(e){_l==0&&(_l=Tl(e),Dl=Wl,Pl=Xl),Cl=_l<<9|Al}function Tl(e){var t=!1;Wl=Xl;var n=Xl,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n<zl?Ul.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<zl?Ul.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,Xl=n)}r>>=12;if(r==0){Xl=n-1;var f=Xl<zl?Ul.charCodeAt(Xl):0;return f>=56320&&f<57344&&--Xl,dl(Wl,Xl,s,-1,-1)}if(t)for(var d=r>>9;d>0;--d){--Xl;var f=Xl<zl?Ul.charCodeAt(Xl):0;f>=56320&&f<57344&&--Xl}else Xl-=r>>9;return(r&511)-1}n(e,t);var Nl=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return Ul},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=Ul.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+Ul.substring(e.getBegin(),Math.min(Ul.length,e.getBegin()+64))+"..."},this.parse_XQuery=function(){ql.startNonterminal("XQuery",Ll),wl(268),yl(),s(),vl(25),ql.endNonterminal("XQuery",Ll)};var Cl,kl,Ll,Al,Ol,Ml,_l,Dl,Pl,Hl,Bl,jl,Fl,Il,ql,Rl,Ul,zl,Wl,Xl};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<284;i+=32){var s=i,o=(i>>5)*3684+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&7)+r.EXPECTED[a>>3]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,355,371,387,423,423,423,415,339,331,339,331,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,440,440,440,440,440,440,440,324,339,339,339,339,339,339,339,339,401,423,423,424,422,423,423,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,338,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,30,30,30,30,30,30,30,30,30,30,30,30,38,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38,38,38,38,38,38,38,38,38,38,38,30,30,38,38,38,38,38,38,38,69,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,38,30,38,30,30,38],r.INITIAL=[1,12290,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],r.TRANSITION=[23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22007,18176,18196,18196,18196,18203,18196,18196,18196,18196,18230,18196,18196,18196,18196,18219,18196,18180,18246,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,18411,20907,20920,20932,20944,22539,18416,20967,23546,23546,23546,35799,23546,23546,51042,37625,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,21008,21032,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21632,21055,23546,23546,23546,21178,23546,23546,23916,42362,21241,23546,23546,23546,23546,19298,47203,21077,21110,23546,23546,23546,35799,23546,23546,21194,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,21229,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21358,21323,23546,23546,23546,26152,23546,23546,27593,23546,21369,29482,21257,21282,21273,21304,21317,21346,20967,23546,23546,23546,28947,23546,23546,21385,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,20711,21423,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,21446,26048,18745,18766,18771,20561,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23540,23546,23546,23546,25880,23545,23546,31245,23546,21468,23534,21504,23546,21511,23546,21527,21539,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,21567,23546,23546,23546,31874,23546,23546,21586,23546,23546,21608,21620,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,35211,23546,23546,23546,23546,23546,23546,23424,21648,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,21681,18544,18567,18590,50977,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21736,21705,23546,23546,23546,44539,23546,23546,24265,25689,25607,23546,23546,23546,23546,26450,47502,21724,21752,23546,23546,23546,35799,23546,23546,21783,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,20237,21819,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21551,21857,21913,21913,21913,21864,21908,21913,21918,21967,21842,21949,21880,21961,21896,21934,21983,21995,20967,23546,23546,23546,26225,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,22023,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,28636,23546,23546,23546,25912,50946,23546,50080,50952,21369,28635,23546,22054,22060,22076,22111,22121,22137,23546,23546,23546,30755,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,22183,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,27655,23546,23546,23546,25841,23546,23546,23546,51066,39748,22869,22242,22228,22245,22261,22277,22288,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,20285,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,18648,40763,24585,22304,22324,22304,22338,24585,22308,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,22361,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,22386,23546,23546,23546,25841,18403,23546,19576,22382,44281,22402,22429,22434,22434,22450,22385,22413,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22473,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,25653,22498,22518,22498,22532,25653,22502,22555,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27132,23546,42897,23546,44844,38626,22584,22361,37471,23546,23546,23546,23546,22587,47563,46856,47563,47563,22603,35356,22824,22824,34828,22804,22621,22804,22804,33187,36943,23546,23546,23546,23546,23546,26071,23546,22641,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,43701,32739,23546,23546,23546,23546,23546,29474,22702,23546,33124,44563,47563,47563,47563,47564,22719,35350,22824,22764,22824,22767,35689,22783,22804,22803,22804,29879,33195,23546,23546,23546,23546,23546,27587,23546,23546,47562,46826,47563,47563,27195,22821,42846,22824,22824,22824,30376,22804,22841,22804,22804,29883,33199,23546,23546,21430,23546,49502,48973,47563,47563,36153,45209,22824,22824,39816,27834,22804,22804,43796,30403,39964,23546,23546,22861,23546,47560,22885,47563,23113,22903,22824,33078,22920,22804,38116,23546,23546,22937,29174,22980,47563,34384,42527,22825,23019,22804,31964,47447,46606,23083,36624,23105,32340,30673,23131,36549,23164,40907,43074,23200,23229,23275,36645,36686,33550,48975,23107,30672,23141,39417,23313,23334,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,24855,21369,23546,23546,23546,23546,23546,20980,20992,23383,23546,23546,23546,35799,23546,23546,23420,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,23440,27132,23546,23546,23546,44844,23546,23546,18368,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,22603,22824,22824,22824,34828,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,26071,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23485,23546,23546,23546,26606,23546,23546,23546,23546,21369,28080,23505,23528,23563,23575,28081,23512,20967,23546,23546,23546,35799,23546,23546,51042,30821,23546,37478,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23598,23546,23546,23546,25841,23546,23546,23546,23184,21369,23546,23546,23546,23546,23546,22653,22665,23615,23546,23546,23546,35799,23546,23546,23644,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,23664,27132,23546,23546,23546,44844,23546,23546,23688,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,22603,22824,22824,22824,34828,22804,22804,22804,22804,39677,48779,23733,23546,23546,23546,23546,34921,23753,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,23777,48792,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,41753,22821,22824,22824,22824,22824,44122,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,34866,22821,22824,22824,22824,22824,23826,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,39721,23546,23546,23546,30797,25982,23546,23546,23849,21369,20313,44188,23887,23893,23909,23546,49114,23932,23546,23546,23546,36603,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,24187,24465,24820,25200,24258,18282,18849,18305,23964,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,23993,24116,24017,24046,24001,24088,25090,24132,24812,24103,24159,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,24182,25436,24884,24206,24190,24890,24819,24363,24227,24819,24414,24143,25214,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,24243,24030,25425,24281,24706,24308,24337,24350,24389,24405,24517,24423,25208,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,24439,19364,24455,25063,24489,24505,24533,25266,24373,24545,24561,24577,18900,19554,23717,19574,19592,19632,19657,20190,20797,19809,24679,24601,25048,19406,24473,24617,25251,25017,24736,26492,19746,41094,19782,18942,19201,19798,24633,24673,24695,24722,24779,24801,24836,23977,20842,20016,18679,20827,20042,24871,24906,24935,24951,25006,25411,25295,20159,20175,20206,25033,24292,25079,25281,25106,20376,20392,19394,24919,24657,20462,19676,24211,24785,32258,19353,24647,24966,20473,24060,25136,20616,25172,25188,25236,24072,25311,25362,25396,25452,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,21328,23546,23546,23546,25841,25477,23546,23546,25472,32915,25493,25501,25501,25501,25517,21330,25540,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,25581,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20499,25597,18792,18808,18830,23628,18814,25623,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,21016,25645,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,25669,25705,25721,19477,25754,19498,25737,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,18708,21452,19692,19708,20143,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,50535,23259,25770,25770,25770,25779,21123,21135,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,25220,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,25802,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21147,20888,23546,23546,23546,25841,23546,23546,23546,23546,21369,22959,25825,25825,25825,25834,20891,22964,25857,23546,23546,23546,35799,23546,23546,51042,23546,23546,27140,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,25873,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,25552,25561,23546,23546,23546,26852,23546,23546,23546,23546,21369,33245,25896,25896,25896,25905,36950,33250,25928,23546,23546,23546,35799,23546,23546,51042,23546,23546,22366,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,25964,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,25998,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,26099,23546,23546,23546,23546,25841,21661,23546,23546,21094,43925,23546,23546,23546,21665,26069,21092,26087,20967,23546,23546,23546,35799,23546,23546,51042,31389,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,26115,26145,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,23546,23546,23546,23546,23546,43987,26168,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,26285,23546,23546,47562,47563,47563,47563,29369,22821,22824,22824,22824,22824,28821,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,26302,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,29369,22821,22824,22824,22824,22824,28821,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,26321,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,29369,22821,22824,22824,22824,22824,28821,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,40883,26241,23546,23546,23546,23546,23546,19867,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,29369,22821,22824,22824,22824,22824,28821,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,26341,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,26341,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,29369,22821,22824,22824,22824,22824,28821,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,23049,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26364,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,19293,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,31312,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,37937,26399,26410,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,26426,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,26445,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,41698,26466,26486,26508,26520,41701,26470,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,38227,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,26543,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,23546,23546,23546,23546,23546,23546,23424,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,28554,23546,26577,26583,26599,47449,44239,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,26622,20175,20206,20222,51139,20274,51143,20301,26638,20392,51127,20418,50802,26654,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,27306,23546,23546,23546,26527,26683,26714,28322,26699,26731,50814,50823,26775,26789,26801,26817,26829,26204,26845,23599,23546,25326,21171,35898,34903,26868,26909,26948,33311,26979,26959,26995,27011,45967,27047,27063,27101,27117,34536,27156,23546,23546,44844,41240,34846,23546,42415,27173,27664,23546,42356,28101,47563,47563,47563,27192,27418,22824,22824,42533,43762,22804,22804,22804,27211,27231,36943,23546,44839,40944,23546,27267,27287,46640,23546,27304,35519,43402,27322,27344,47563,47563,27380,27403,27436,31453,22824,33011,27464,27493,27533,27556,22804,38069,35418,30315,27573,26241,27609,23546,44532,27629,39107,50620,23546,45009,27646,31107,27698,47563,27746,27765,23297,27785,27825,36368,22824,27859,48139,23833,27991,44504,49256,22804,43572,23672,27877,42988,25683,23546,27893,27913,46094,23546,21213,44018,47563,30489,32462,27941,34820,22824,45399,49012,28821,27978,22804,22804,28014,28034,49064,28072,35792,28097,51046,28117,50856,22994,28137,47563,41728,28206,28229,22824,41433,28267,28290,22804,34572,28320,28338,23546,23546,39715,47560,28358,45550,23113,28379,35308,33078,28399,36714,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,41649,28419,28455,40472,38341,28471,38828,40452,28791,24756,33030,27540,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,28526,23546,23546,26527,23546,23546,23546,23546,34078,28545,23546,28652,28658,28674,28690,28701,26204,23546,23546,23546,35799,23546,23546,23546,23546,26963,23546,23546,23546,23546,23546,48973,47563,22605,35842,45303,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,46230,50621,28718,23546,28717,23546,48975,47563,47563,47563,27769,28735,22823,22824,22824,22824,49361,49439,22804,22804,22804,22804,28781,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,23672,23807,23546,18289,23546,23546,44779,49528,23546,36898,47563,47563,47563,40417,28807,22824,22824,22824,50340,31197,28844,22804,22804,22804,28863,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,21205,28900,28924,28940,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,28963,23546,23546,26527,23546,28992,23546,29010,36977,29029,29038,29054,29069,29081,29097,29109,26204,23546,23546,33645,49739,23546,28529,23546,23546,31365,23546,23546,23546,35995,23546,29125,31167,22824,29149,40337,48749,32108,23546,29172,23546,44844,29190,42384,23546,31347,50774,29209,23546,25948,29214,29230,29291,47563,47563,29309,29325,22824,22824,45608,49036,29349,22804,22804,39677,36943,30220,23546,23546,47099,23546,22095,50621,37205,27682,23546,23546,48975,28152,40051,47563,29366,37135,45217,46920,46953,36665,22824,49439,49901,29385,29404,34563,22804,29885,40883,26241,23546,23546,47600,23546,23546,29423,23546,29445,23546,48976,47563,47563,47563,44406,47564,22821,22824,22824,49328,42575,22767,35849,22804,22804,39288,28274,50448,23672,29464,23546,23546,23546,29498,42828,23546,23546,47562,47563,47563,46820,29369,22821,22824,22824,37856,22824,28821,22804,22804,30184,22804,29883,33199,23546,23546,29517,23546,47519,29538,47563,46768,47563,41728,22824,49353,22824,41433,22804,41641,22804,27843,29565,23546,23546,23546,29581,33988,49629,29610,50265,49148,29627,30732,37573,29644,31970,23546,23546,28626,22586,47563,47563,29661,22824,47375,22804,22804,29679,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,45087,23089,29701,47077,23141,24756,33030,33551,47559,33030,33552,39426,42307,27251,29717,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,21570,23546,23546,26527,23546,29745,24166,23546,32508,29764,29773,29789,29803,29812,29828,29839,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,34673,34671,23546,38486,38493,29855,28213,35842,29875,43066,27800,23546,40629,29901,44844,23546,29926,30774,23546,23546,41541,20026,29946,29989,29293,38320,30005,40270,30031,42116,30052,30082,30100,49972,39453,30135,41942,39677,36943,23546,23546,23546,42078,23546,30162,50621,23546,23546,23546,39564,48975,47563,47563,47563,48721,37135,22823,22824,22824,22824,42777,49439,22804,22804,22804,22804,30182,30146,30200,30236,23546,23546,23546,30252,30271,50620,23546,23546,45468,23469,31420,34156,47563,47563,45201,30292,30331,30348,22824,22824,30365,29156,29407,22804,22804,22804,30399,23672,23807,23546,23546,23546,23546,45523,28572,23546,33872,47563,47563,30419,29369,30438,22824,22824,48645,22824,31904,22804,22804,50360,22804,30539,33199,49920,23546,30462,23546,50724,48973,36270,47563,30480,41728,35391,22824,30505,41433,50493,22804,30530,30403,47447,49732,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23251,23546,22586,47563,47563,30555,22824,36108,22804,22804,30575,47447,46606,22585,47563,24761,22824,30673,22804,30597,46609,47561,23111,30673,39296,30622,30648,30668,30689,19013,30707,30727,30748,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23547,30771,23546,26527,25156,30790,23546,30813,24321,30837,30846,30862,30876,30888,30904,30915,26204,22703,30931,26561,35799,30978,26921,26341,27925,30994,31013,31032,31061,31045,31097,31131,31147,31183,31227,31261,31277,39237,39476,31293,33748,31328,22212,31363,31381,41158,23546,23546,40033,23546,22587,32449,31405,47817,28510,31441,31475,46890,31498,30304,31538,22625,36744,47681,39677,36943,23698,29973,31554,29930,31590,23708,31634,39997,31661,48812,31689,31711,31727,31763,31798,31814,29245,31850,40093,31890,34721,31940,35662,31956,31986,27076,32035,32066,32093,32133,26241,50755,23546,43683,23546,32169,19239,32192,32249,22951,24750,43255,32274,47563,32292,45560,22821,32317,22824,42593,48588,50230,35849,32356,22804,45665,32384,32405,32421,23807,25150,32478,32497,47176,23546,32524,45835,36145,40407,31425,32550,44054,32586,34739,22824,32631,32657,30066,33080,32683,47042,40501,29883,33199,23546,45717,33237,23546,23546,32701,31115,42955,32563,41728,45894,41614,32608,41433,33712,42499,35727,30403,47447,28590,32719,48060,32755,32790,42232,33671,32806,37745,39609,32837,40736,33730,32892,32931,32953,19435,22586,32974,48106,28046,33009,33027,33047,48381,35461,47447,40617,22585,47563,50257,22824,33074,36473,36549,33096,40786,36807,32667,39296,33119,43227,48451,49953,33140,24763,23318,45645,33156,33172,33217,47559,33030,30691,33266,33282,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,33306,23546,26527,33327,33345,25456,24849,33370,33400,23546,33386,33428,33437,33453,33464,26204,23546,23546,33480,35799,23546,23546,23546,23546,27288,23546,23546,34477,23546,34484,31605,33499,33519,43660,33545,33568,27800,23546,33621,23546,44844,33621,23546,23546,30997,23546,33640,34051,23546,22587,33661,47563,47563,47563,33687,22824,22824,22824,43762,33703,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,50621,23546,23546,23546,33746,48975,47563,47563,47563,43863,37135,22823,22824,22824,22824,34733,49439,22804,22804,22804,22804,33764,29885,40883,26241,23546,23546,23546,23546,23546,50620,23546,20258,23546,48976,47563,47563,46759,47563,47564,22821,22824,22824,37850,22824,22767,35849,22804,22804,33781,22804,29879,23672,23807,23546,23546,23546,23546,23546,43159,23546,47562,47563,47563,31773,29369,22821,22824,22824,49239,22824,28821,22804,22804,22804,33801,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,41728,22824,22824,22824,41433,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,33820,23546,23546,22586,44762,47563,23109,33840,22825,34299,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,23335,32233,42307,22729,33859,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,32176,23546,23546,41552,33893,33902,33918,33924,33940,33956,33967,26204,23546,23546,23546,35799,23546,23546,37894,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,28765,41920,23546,23546,44844,23546,23546,23546,39585,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,43177,23546,23546,45738,48975,47563,47563,47563,47563,37135,41960,22824,22824,22824,22824,47410,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,20340,23546,23178,20358,23546,23546,20360,33983,47563,47563,34004,47563,47564,22821,22824,36824,22824,22824,22767,35849,22804,33785,22804,22804,29879,34024,23546,23546,23546,34050,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,32147,47539,23546,48973,47563,47563,39206,45209,22824,22824,43898,27834,22804,22804,34943,30403,47447,34067,47158,34094,23546,34121,32984,34141,34177,43533,34196,34244,36447,34263,31970,28608,23546,34315,34336,34355,34372,28875,33605,34412,34436,34454,31964,47447,46606,43054,32993,34501,34521,30673,34552,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,43326,34588,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,41690,23546,26286,34628,23546,23546,23546,34692,23546,34693,23546,23546,34656,34689,40521,22887,37164,34396,43815,34709,34755,23546,23546,29501,44844,26383,30255,23546,23546,41921,23546,23546,23546,22587,47563,47563,32276,47563,27418,22824,22824,35655,43762,22804,22804,35850,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,34780,43953,48975,47563,47563,47563,47563,29859,22823,22824,22824,22824,22824,30446,22804,22804,22804,22804,22804,34799,33201,23546,34844,23546,23546,23546,23546,23546,23546,23546,42714,48976,34862,47563,47563,47563,47564,34882,22824,22824,22824,22824,22767,30383,22804,22804,22804,22804,29879,33195,23546,23546,23546,34898,23546,23546,23546,23546,47562,47563,47563,49594,27195,22821,22824,22824,22824,49007,30376,22804,22804,22804,28251,29883,33199,23546,23546,45156,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,28617,23546,48860,47563,47563,23109,22824,22825,22804,22804,48020,34919,46606,50168,47563,35289,22824,34937,22804,34959,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,26217,23546,26527,28994,29429,32937,21397,21407,19607,19616,34984,34999,35011,35027,35038,26204,23546,23546,23546,21159,35548,23546,23546,29013,35054,32876,23546,35263,35074,35112,39498,35166,47961,27448,49402,46199,35202,23546,23546,23546,38910,23546,47123,35227,23546,23546,23546,35244,44990,22587,44754,35279,47563,35324,35372,48187,22824,29333,35407,49176,35434,22804,35477,39677,36943,23546,35515,50019,41319,42187,35535,23546,19253,43384,35575,35592,35612,35186,47563,42920,37391,20600,22823,35386,22824,40181,35635,35678,29350,22804,33765,35713,35750,48433,33201,23546,23546,23546,23546,35766,20349,35815,44388,23546,23546,40380,47253,47563,47563,41209,36250,35833,43893,22824,22824,48653,43541,43789,35866,22804,22804,31917,36853,33195,23546,19730,35885,35914,32534,35930,35957,45488,36011,28363,36030,36050,36074,36103,39870,50408,42260,32597,45635,22804,36124,36169,36204,27085,31863,36220,46659,44955,21826,38142,32958,36266,47872,36286,36321,36366,36384,36409,36435,36471,36489,36514,36540,36572,23546,23546,18340,36595,30632,36619,36640,39370,36661,36681,36702,36740,36760,31970,23546,36781,18841,22586,47563,47563,23109,22824,22825,22804,22804,31964,34034,46606,22585,31741,36801,36823,36840,38424,36549,46609,36869,23111,30673,39296,36886,35338,36933,36966,48975,23107,30672,23141,24756,33030,33551,42313,47646,36993,39426,42307,22729,23448,37021,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,39988,23546,26527,23546,23546,23546,23546,21369,50028,21708,39996,40225,24990,37071,37082,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,31016,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,27420,22824,43762,22804,22804,48012,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,25524,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,37098,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,37115,23546,23546,23546,23546,23546,23546,23546,23546,48976,37134,47563,47563,47563,47564,37151,22824,22824,22824,22824,22767,28828,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,41164,23546,26527,23546,34764,23546,19155,37185,37221,37234,37250,37256,37272,37288,37299,26204,23546,37315,23546,35799,23546,43426,26746,23546,23546,37335,23546,32153,42194,37334,37351,37380,37407,37443,40833,37430,32821,37459,23546,23546,34612,23546,23546,40581,34220,23546,41122,29193,49795,34228,47262,37494,29549,41774,37514,42784,22904,45886,37530,38036,37570,36188,37589,23034,37618,28342,23546,23546,23546,23546,50126,23546,23546,23546,23546,23546,48975,28498,44484,47563,28434,44023,37641,37671,39810,30349,22824,39853,47704,29645,22804,49383,22804,37657,33201,23546,23546,50909,37693,23546,32019,38379,23546,23546,23546,48976,47563,47563,46474,32220,37710,22821,22824,22824,49321,37734,37761,35849,22804,22804,37788,37809,29879,33195,23546,37872,23546,23546,37889,23546,23546,23546,47562,27357,47563,47563,27195,22821,40293,22824,22824,22824,30376,34247,22804,22804,22804,29883,33199,37910,31075,23546,37928,47744,48973,37953,47563,47563,37979,38003,22824,22824,38027,38061,22804,22804,38085,47447,23404,23546,28599,23546,47560,31782,47563,23113,38011,22824,33078,33721,22804,31970,23546,21592,23546,22586,47563,50097,23109,22824,40810,22804,22804,38110,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,33290,45056,38132,38158,38179,33552,39426,27505,38215,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23648,23546,26527,23546,26305,23546,23546,29594,20530,20539,38250,38264,38273,38289,38300,26364,23546,23948,23546,35799,23546,34320,23546,23546,23546,23948,23546,35554,36579,23947,35559,38316,33588,36393,38336,43066,27800,23546,23546,38357,44844,23546,39344,42555,23546,39071,23546,23546,38375,41192,48530,47563,47812,38395,28750,22824,42121,31482,43762,38449,22804,38419,38440,32050,38473,38509,46688,34783,23546,23546,23546,23546,23546,38530,23546,23546,48975,47883,38550,42949,47563,37135,22823,38568,30084,22824,22824,49439,42031,34293,41837,22804,22804,29885,33201,23546,38929,23546,38602,23546,44369,37873,23791,38621,23546,48976,27031,38642,47563,38659,47564,38683,47916,22824,22824,38702,33843,35849,39277,22804,33804,38724,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,36556,23546,23546,23546,23546,47560,38744,47563,30559,22824,22824,46066,22804,22804,31970,23546,23546,49685,22586,47563,47563,23109,47427,22825,22804,35452,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,38761,47561,38782,38802,43621,23464,38824,38844,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,38045,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23810,23546,46101,23546,29522,38860,33103,38895,38945,38984,38970,38989,38954,39005,39016,26204,23546,24981,39032,39052,39135,26183,26715,27157,23546,39087,39123,35972,23871,39151,32436,39187,39222,39262,39312,39360,27800,27271,23546,23546,40856,29748,35256,26269,47340,39386,28121,33483,41086,39406,48539,39200,45029,47563,29260,30036,22824,47369,43762,41883,39448,22787,22804,32852,39469,27673,33624,23546,39492,23546,23546,30166,23546,19760,23546,25974,48975,39514,47563,47563,47563,37135,37987,39541,30332,22824,22824,49439,34278,22804,48403,22804,22804,29885,33201,23546,23546,23546,23546,49277,23546,23546,39561,44662,39580,2e4,47563,47563,38745,47563,41583,39601,22824,22824,42751,22824,39625,36344,22804,22804,49650,22804,39663,33195,39390,39701,21803,40964,23546,28563,39737,39764,42864,39780,30015,27711,27195,22821,39796,39832,37838,39869,30376,37543,39886,39910,39936,47724,39958,49087,33227,48840,39980,40013,20680,50204,40049,40067,40083,45419,22824,40109,40125,36765,22804,40151,40167,47447,40217,23546,23546,19121,40241,48114,40263,48445,44596,40286,40309,42808,40330,30581,40353,23546,23546,40374,28485,40396,27517,40433,40468,40722,40488,31964,30114,48477,40517,36058,24761,45115,30673,40537,36549,40555,19020,29663,30673,40603,40652,40668,40708,40752,40779,40802,40826,40849,24756,33030,33551,47559,33030,33552,40872,40899,22729,23448,40923,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,40939,26527,23546,35150,40960,23546,26932,40980,40989,41005,41019,41028,41044,41055,26204,41071,27176,35142,41110,22748,41145,23546,41180,29961,41225,35127,41274,41299,41335,41350,41366,41401,41487,41458,41474,41503,23546,18442,27630,46235,23546,41314,19147,41528,40358,23546,23546,45375,22587,47563,36909,41568,47891,27418,38686,27953,41607,41630,22804,23213,41665,46983,39677,36943,23546,45937,23546,37118,23546,39337,41681,33824,35058,38605,23546,41717,41752,28167,41769,47563,43475,41790,42050,41800,22824,22824,41816,41853,50302,41874,22804,49204,29885,47656,41907,23546,38879,36785,23546,23546,23546,23546,23546,39036,48976,47563,46791,34008,47563,47564,22821,22824,44589,46895,22824,22767,35849,22804,41937,38457,22804,29879,33195,23546,23546,49550,23546,45766,23546,23546,23546,47562,47563,47563,47563,32301,41958,22824,22824,22824,46046,28243,22804,22804,22804,22804,41977,33199,20951,42005,23546,23546,23546,44350,47563,31827,47563,41591,22824,49433,22824,28884,22804,42026,22804,30403,31211,23546,23546,23546,23546,27328,40247,47563,27241,38708,22824,42285,31924,22804,29685,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,22739,46606,49667,46712,38403,42047,44103,22804,44463,42066,42221,42103,42137,42175,42210,42248,42276,42301,48975,23107,30672,23141,24756,33030,33551,47559,33030,35697,39426,36136,22729,23448,42329,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,26377,26527,23546,23546,42378,33354,42400,20758,23546,26429,42436,42448,42464,42475,26204,23546,23546,25120,35799,23546,23546,23546,31573,31305,23546,23546,31567,25118,23546,48973,37963,23115,42491,47011,42515,27800,23546,42549,23546,44844,23546,38766,18352,23546,39064,23546,23546,22159,22587,48548,38163,45793,48521,47316,42571,42591,47404,42609,44147,39942,22845,35499,47057,42343,42636,23546,42657,23546,42010,42641,26759,23546,23546,23546,23546,48975,47563,47563,36917,47563,37135,22823,22824,22824,42693,22824,49439,22804,22804,28847,22804,22804,29885,45066,44270,23546,42713,23546,23546,26553,42677,42730,31574,23546,48976,47563,48931,47563,47563,47564,42748,22824,42767,22824,22824,34180,35849,22804,42800,22804,22804,29879,33195,23546,44983,23546,23546,23546,23546,42824,23546,47562,47563,36034,47563,27749,22821,22824,22824,42844,22824,48373,22804,22804,38192,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,18259,23546,23546,42862,47563,47563,23113,22824,22824,33078,22804,22804,39325,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,48281,42880,42913,28181,33529,39296,42936,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,38514,23546,23546,23546,44073,44076,50916,44069,36233,42971,33598,40201,40539,43066,29275,42987,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,43004,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,43023,22824,22824,22824,22824,43497,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,30422,47563,23109,38579,22825,32685,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,22195,38234,23546,23546,22088,23546,31645,43040,31695,43090,43103,43112,43128,43139,26204,23546,31341,32732,35799,43366,43155,43175,36087,40692,50768,31673,43193,32904,31522,31081,43243,43271,43287,43315,43342,40683,23546,23546,23546,45381,43358,40568,43382,43400,43418,23546,23546,30119,43208,47563,43442,27364,43462,43491,28908,22824,43513,43557,22804,43588,41858,43607,43637,43676,23546,23546,23546,18266,35576,23546,23546,43699,43717,43736,20331,32703,47563,41378,47563,46720,41989,43754,29628,22824,22824,43651,43778,43812,46171,22804,44212,43831,43879,33201,23546,23546,45346,23546,43914,43941,23546,27809,23863,43976,44003,47563,48620,44039,35181,49990,44092,22824,45449,39545,44119,42697,44138,22804,44163,27998,44211,35734,33195,39171,23546,23546,23067,44228,32012,23546,44255,36870,46433,23003,47563,27195,22821,44297,46134,22824,22824,30376,39647,22804,44322,22804,41442,44340,23546,44366,44385,23546,23546,34339,44404,47563,47563,44422,22824,22824,22824,44438,22804,22804,22804,44454,47447,48298,23546,23546,23546,44479,47563,47563,46130,22824,22824,44500,22804,22804,44520,23546,40027,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,38094,49704,44555,44579,44612,44650,23464,24759,33031,33550,44685,30652,34420,36724,24756,33030,33551,47559,33030,45310,44716,44744,32641,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,25786,26527,44778,28976,18999,44795,44824,44860,44808,44885,44899,44911,44927,44938,26204,44954,40587,23546,44971,23546,23546,43960,23546,50132,23546,45006,35089,26325,35096,32207,45025,45045,44306,45082,45103,27800,35987,37200,44669,44844,34640,23546,23546,23546,23546,45137,45172,23546,19324,45188,43446,47563,47563,45233,45249,45268,22824,43762,45291,40314,22804,22804,39677,36943,37912,23546,23546,45326,45362,23546,23546,23546,23546,23546,37055,48975,48512,31834,47563,47563,46028,22823,45397,45415,22824,22824,36333,38728,44324,22804,22804,22804,45435,33201,23546,23546,26251,43720,23546,45465,26758,45484,45504,23546,45539,47563,47563,47285,43856,45576,45600,22824,22824,47994,48169,45624,45661,22804,22804,42152,45681,29879,45697,45713,45733,23546,25942,23546,23546,30214,45754,47562,47563,27730,45789,27195,22821,22824,47619,47969,22824,30376,22804,22804,45809,22804,29883,33199,23546,21039,23546,49467,37049,48973,47563,45851,48716,45584,47934,22824,45868,48003,35869,22804,45910,30403,47447,23546,48332,18869,22345,47560,47563,47563,23113,22824,22824,33078,22804,22804,32e3,21288,23546,45931,45953,47563,37498,23109,22824,40444,22804,34438,36455,45997,44634,19558,46021,50382,46044,28056,22804,34468,46609,35619,30711,46062,46082,23464,24759,33031,33550,19538,36296,49945,23141,46117,38586,45823,48503,46150,46187,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23737,26527,23546,23546,34968,23546,46215,26881,26893,46251,46267,46279,46295,46306,26204,46322,23241,25565,35799,25341,42889,46340,22204,44869,46352,46368,46377,46393,46349,46420,46455,46490,46547,46518,46534,32867,46005,19766,34600,44844,46563,23546,26188,46580,41258,46596,46625,46675,46736,46784,46807,46842,38552,46877,45877,46911,46944,36419,46977,46999,47027,27557,39677,37035,47093,47115,35228,23546,47139,47174,23546,47766,23546,49770,47192,20591,47219,47244,47278,38643,47301,41736,47356,47391,47426,31459,49439,36524,39920,40135,22804,35492,33058,47443,23546,20251,43007,37694,47465,46324,47491,47518,23546,47535,47555,39525,47841,47563,34125,47580,47616,47635,39844,22824,37169,48362,35849,47672,47697,22804,41891,47720,33195,23058,47740,23546,45516,47760,23546,47782,18627,47798,50186,47833,47857,27195,47907,47932,47950,47985,48036,39636,46165,37602,50472,50517,37554,27477,48056,18311,23546,35780,48076,48095,44700,47563,47563,48130,48155,37677,22824,48203,48236,49183,22804,48272,47447,18372,48297,48314,48330,41202,45981,33877,34811,48348,48040,48397,48419,37793,31970,48467,23546,23546,48493,46466,31618,34505,49612,47069,35443,43299,48564,28304,47475,19993,48611,37364,48636,48669,43591,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,44177,29729,48685,36498,48701,45275,48737,39426,42307,22729,39685,48765,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,48828,23546,23546,48856,23546,35941,30944,30953,48876,30953,30962,48892,48903,26204,23546,23546,23546,40636,23546,26348,23546,23546,23546,23546,26345,23546,38923,23546,48973,48919,48178,48947,38808,37005,31513,38873,23546,23546,44844,23546,23546,27897,48963,23546,23546,23546,23546,48971,46750,47563,47563,34356,48992,22824,22824,22824,36305,49028,22804,22804,22804,49052,44728,49080,23546,49103,45341,23546,23546,42732,48802,47595,38359,35596,48975,47563,49130,41385,43221,47228,22823,48595,46928,41415,49146,49164,22804,49199,49220,45915,29388,37824,33201,23546,25346,23546,26261,23546,23546,23546,49474,23546,23546,48976,33503,47563,47563,47563,47564,49236,37414,22824,22824,22824,22767,49255,36180,22804,22804,22804,29879,33195,49272,23546,49293,23546,23546,23546,23546,28581,36243,47563,47563,47563,27195,49311,22824,22824,22824,22824,37772,22804,22804,22804,22804,29883,46502,23546,23546,50321,46564,23546,30276,23289,47563,47563,37718,49344,22824,22824,30514,49377,22804,22804,42620,47447,39101,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,46439,24761,43524,30673,49399,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,49418,45121,44624,47559,33030,33552,39426,32368,49455,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,49490,49547,33412,49525,23546,34105,23546,33409,49544,42420,41283,49566,49577,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,49593,35299,27962,22805,43066,27800,23546,33329,27613,44844,23546,23546,23546,23546,23546,32481,23546,23546,22587,32570,47563,46861,47563,27418,49610,22824,32331,43762,42159,22804,27215,22804,39677,36943,23546,23546,23546,23546,23546,37318,23546,23546,23546,20322,23546,48975,47563,47563,49628,47563,37135,22823,22824,32615,22824,22824,49439,22804,22804,49645,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,49666,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,49683,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,49701,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,49720,23546,50953,23546,25809,49755,49786,23546,49811,49825,49837,49853,49864,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,27387,22824,49893,38199,49880,34211,23546,23546,23546,44844,23546,23546,23546,23546,42672,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,49917,23546,23546,23546,22167,47563,47563,47563,47563,47564,49936,22824,22824,22824,22824,22767,49969,22804,22804,22804,22804,29879,33195,23546,23546,45149,23546,23546,23546,23546,23546,47562,47563,49988,47563,50006,22821,22824,48578,22824,41424,30376,22804,39894,22804,32389,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,26445,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,41512,50052,50063,26204,23546,23546,23546,35799,50079,30464,23546,23546,23546,23546,32774,23546,41129,32770,46701,50096,40191,28190,22805,43066,27800,23546,23546,23546,50113,28719,34485,45773,23546,23546,23546,23546,23546,22587,47563,29611,47563,27026,27418,22824,35645,28383,43762,22804,22921,22804,48250,39677,50148,50164,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,41250,23546,23546,23546,48976,47563,47563,50184,47563,45852,22821,22824,38786,22824,22824,45252,35849,22804,48256,22804,22804,29879,33195,48079,23546,23546,23546,23546,23546,23546,23546,47562,50202,47563,47563,27195,22821,50220,22824,22824,22824,30376,48220,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,23546,23546,23546,23546,19262,39432,32077,26204,21798,23546,23546,35799,23546,23546,46652,23546,23546,23546,23546,46656,23546,23546,50246,28439,22824,50294,36350,50281,47331,23546,29448,23546,44844,23546,23546,23546,23546,23546,23546,23546,35817,22587,47563,47563,47563,27723,27418,22824,22824,27861,43762,22804,22804,22804,48212,39677,36943,23546,50318,23546,23546,23546,23546,23546,23546,37099,23546,23546,48975,38667,47563,36014,47563,37135,22823,50337,22824,46961,22824,49439,28018,22804,22804,50356,22804,29885,33201,23546,43738,23546,23546,23546,23546,23546,38534,23546,23546,48976,47563,50376,47563,47563,47564,50398,41961,50424,22824,22824,22767,50443,28403,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,21488,23546,47562,47563,31747,47563,34161,22821,22824,43024,22824,22824,50464,22804,22804,50488,22804,43844,33199,23546,23546,18921,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,31241,23546,23546,39165,23546,29133,47563,47563,33578,22824,22824,50509,22804,22804,31970,23546,49295,23546,22586,47563,31161,23109,50427,22825,22804,41830,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22677,23546,23546,23546,23546,26527,23546,23546,23546,23546,21369,21483,23546,23546,23546,19262,39432,32077,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27800,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,27418,22824,22824,22824,43762,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,46404,21767,21765,32117,22038,50563,21058,21061,50533,22036,50551,50579,50591,20967,23546,23546,23546,35799,23546,23546,50607,23546,23546,23546,23546,23546,23546,23546,25629,19208,50637,19916,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,50655,18544,18567,18590,19934,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,22150,23546,21369,20766,50679,50692,50708,50717,49509,50740,20967,23546,23546,23546,35799,23546,23546,51042,23546,23546,23546,23761,23546,23546,23758,25629,19208,50639,19926,50639,50790,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,18521,18544,18567,18590,50663,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,42087,23546,23546,23546,23546,22568,29910,50839,50872,50878,50849,23148,50894,20967,23546,23546,23546,35799,23546,23546,50932,23546,23546,22686,23546,23546,23546,22682,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,18327,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,50969,18544,18567,18590,21689,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,20159,20175,20206,20222,51139,20274,51143,20301,20376,20392,51127,20418,50802,20462,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,21089,23546,23546,23546,23546,25841,23546,23546,23546,23546,21369,23546,23546,23546,23546,23546,23546,23489,26204,23546,23546,23546,35799,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48973,47563,22824,35842,22805,43066,27132,23546,23546,23546,44844,23546,23546,23546,23546,23546,23546,23546,23546,22587,47563,47563,47563,47563,22603,22824,22824,22824,34828,22804,22804,22804,22804,39677,36943,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48975,47563,47563,47563,47563,37135,22823,22824,22824,22824,22824,49439,22804,22804,22804,22804,22804,29885,33201,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,48976,47563,47563,47563,47563,47564,22821,22824,22824,22824,22824,22767,35849,22804,22804,22804,22804,29879,33195,23546,23546,23546,23546,23546,23546,23546,23546,47562,47563,47563,47563,27195,22821,22824,22824,22824,22824,30376,22804,22804,22804,22804,29883,33199,23546,23546,23546,23546,23546,48973,47563,47563,47563,45209,22824,22824,22824,27834,22804,22804,22804,30403,47447,23546,23546,23546,23546,47560,47563,47563,23113,22824,22824,33078,22804,22804,31970,23546,23546,23546,22586,47563,47563,23109,22824,22825,22804,22804,31964,47447,46606,22585,47563,24761,22824,30673,22804,36549,46609,47561,23111,30673,39296,23464,24759,33031,33550,48975,23107,30672,23141,24756,33030,33551,47559,33030,33552,39426,42307,22729,23448,23351,23363,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,22457,23546,23546,22482,50993,50998,50998,51019,22480,51014,51035,23546,23546,23546,23546,23546,23546,51042,23546,23546,23546,23546,23546,23546,23546,25629,19208,50639,19926,50639,20660,19723,18282,18849,18305,51062,23546,23546,18368,23546,18915,18388,18432,18458,18463,18479,18968,18495,19670,50655,18544,18567,18590,19934,18528,18551,18574,18597,20868,18620,23546,30606,23546,23546,23546,23582,23367,18643,23546,18664,50036,18695,19209,26024,18505,19208,25377,18724,26048,18745,18766,18771,19889,50639,26053,18750,50639,18776,19839,20674,23546,18792,18808,18830,23628,18814,18865,23546,44195,18885,18937,18958,20812,26011,20051,18984,19036,19054,19072,19090,26127,19108,19038,19056,19074,19092,26129,18604,20668,23396,19137,19171,19225,39246,19278,47150,19314,19340,26667,19186,19380,19422,19456,25721,19477,25754,19498,19451,25716,19472,25749,19493,19514,19530,18900,19554,23717,19574,19592,19632,19657,20190,20797,20402,21452,19692,19708,19964,21452,19692,19708,20432,19853,26492,19746,41094,19782,18942,19201,19798,19825,19883,19905,19950,19883,19905,19980,23977,20842,20016,18679,20827,20042,20067,20090,20113,20074,20097,20129,20446,51082,20175,20206,20222,51139,20274,51143,20301,51098,20392,51127,20418,50802,51114,25380,50639,18729,32258,26037,20489,20515,19641,20555,20577,20616,20632,20648,20696,20727,20743,20782,20858,20884,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,23546,94503,94503,90406,90406,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,1,12290,3,0,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,362,94503,90406,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,0,94503,90406,94503,94503,94503,94503,94503,94503,94503,69632,73728,94503,94503,94503,94503,94503,65536,94503,0,2183168,0,0,0,90406,94503,296,297,0,2134016,300,301,0,0,0,0,0,0,2985,0,0,0,0,0,0,0,0,0,1631,0,0,0,0,0,1637,0,0,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,2454,0,0,0,0,0,0,0,0,0,2904064,2908160,0,0,0,0,0,0,0,0,0,0,0,2751,0,0,0,0,0,0,0,3117056,0,0,0,0,0,0,0,362,362,0,0,0,0,0,0,2997,0,0,0,0,3001,0,0,0,0,0,0,1186,0,0,0,1191,0,0,0,0,1107,0,0,0,2138112,0,0,0,0,0,0,0,0,0,0,0,0,0,2978,0,0,0,2424832,0,0,0,0,0,0,0,0,0,0,0,0,2625536,0,0,0,0,0,172032,0,172032,0,0,0,0,0,0,0,0,0,111050,111050,111050,111050,111050,111050,111050,111050,1,12290,3,0,2699264,2715648,0,0,2772992,2805760,2830336,0,2863104,2920448,0,0,0,0,0,0,0,1114,0,0,0,0,1118,0,0,1121,0,2805760,2920448,0,0,0,0,0,2920448,0,0,0,0,0,0,0,2732032,0,2179072,2179072,2179072,2424832,2433024,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2625536,2805760,2179072,2830336,2179072,2179072,2863104,2179072,2179072,2179072,2920448,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2801664,2813952,2179072,2838528,2179072,2179072,2179072,2179072,2179072,0,914,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2625536,2125824,2125824,2125824,2125824,2125824,2125824,2625536,2125824,2125824,2125824,2125824,2125824,2125824,2699264,2125824,2715648,2125824,2723840,2125824,2732032,2772992,2125824,2125824,2125824,2723840,2125824,2732032,2772992,2125824,2125824,2125824,2805760,2125824,2830336,2125824,2125824,2863104,2125824,2125824,2125824,2125824,2920448,2125824,2125824,2125824,2125824,2125824,2125824,2920448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3117056,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3207168,2125824,2125824,2179072,2125824,2125824,2125824,2125824,2457600,2125824,2125824,2125824,2125824,2183168,0,0,0,0,0,0,0,0,0,0,2518,0,0,0,0,0,0,0,0,0,2375680,0,0,0,0,0,0,0,0,0,0,0,0,167936,0,0,0,0,0,0,2408448,0,0,2584576,0,0,0,0,2838528,0,0,2838528,0,0,0,0,0,2469888,2506752,2756608,0,0,2580480,0,0,0,2396160,2400256,2412544,0,0,2838528,0,0,0,0,0,2179072,2179072,2179072,2408448,2179072,2179072,2179072,2179072,2179072,2179072,3223552,914,0,2125824,2125824,2125824,2125824,2125824,2445312,2125824,0,2125824,2125824,2125824,2408448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,2502656,0,0,3010560,2125824,2125824,2125824,2125824,2125824,2662400,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2801664,2813952,2125824,2838528,2125824,2801664,2813952,2125824,2838528,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3125248,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2461696,0,0,0,0,0,0,0,0,0,0,0,0,2600960,0,2674688,0,2768896,2777088,2781184,0,2822144,0,0,2883584,0,0,0,0,0,0,0,0,0,0,0,0,3055616,0,0,0,3080192,3100672,3104768,0,0,0,0,3186688,0,0,0,0,0,0,0,3182,0,0,0,0,0,0,0,0,0,2732032,0,0,0,0,0,0,0,0,0,3133440,0,0,0,0,0,0,0,0,0,0,0,0,0,3003,3004,0,2719744,0,0,0,0,0,0,0,0,0,0,3014656,3207168,0,2691072,0,0,0,0,0,2818048,2846720,0,2916352,0,0,3002368,0,0,3022848,0,0,0,0,0,2871296,0,0,0,0,0,0,0,0,0,0,0,2766,0,0,0,0,0,3215360,0,0,0,0,0,0,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2494464,2179072,2179072,2514944,2179072,2179072,2461696,2465792,2179072,2179072,2179072,2179072,2179072,2179072,2523136,2179072,2179072,2179072,2179072,2179072,2179072,2699264,2179072,2715648,2179072,2723840,2179072,2732032,2772992,2179072,2179072,3100672,2179072,2179072,3133440,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3207168,2179072,0,0,0,0,391,392,0,393,0,0,0,0,0,393,0,0,0,0,0,3504,0,0,0,540,540,540,540,540,540,540,540,540,540,540,3399,540,540,0,0,0,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2461696,2465792,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2523136,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2600960,2125824,2125824,2125824,2125824,2125824,2125824,2641920,2125824,2125824,2125824,2125824,2125824,2125824,2719744,2125824,2125824,2125824,2125824,2125824,2768896,2777088,2768896,2777088,2125824,2797568,2822144,2125824,2125824,2125824,2883584,2125824,2912256,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3133440,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3207168,2125824,0,0,0,0,0,0,3011,0,0,0,0,0,0,3018,0,0,0,0,2605056,0,0,0,0,2887680,0,2924544,0,0,0,0,0,0,0,1135,0,0,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,3162112,3170304,0,0,3219456,3035136,0,0,0,0,0,3072e3,2650112,2179072,2179072,2179072,2707456,2179072,2736128,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2887680,2179072,2179072,2543616,2547712,2179072,2179072,2596864,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2584576,0,0,2809856,0,0,0,0,0,0,0,0,0,0,3088384,0,0,0,0,0,1670,0,0,0,0,0,0,0,2112,0,0,0,0,0,1680,1681,0,1683,0,0,0,0,0,0,0,540,561,540,561,540,540,561,540,585,0,0,2576384,0,0,0,0,0,0,0,0,0,0,0,2420736,0,0,0,0,429,0,0,0,0,0,0,0,0,0,0,0,300,0,0,0,0,0,0,3121152,3141632,0,0,0,2924544,0,2682880,0,0,0,0,0,0,0,1242,1272,1273,0,1242,0,540,540,540,3112960,2387968,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2453504,2179072,2473984,2482176,2179072,2179072,2179072,2179072,2179072,3010560,2179072,2179072,2126737,2126737,2503569,2126737,2126737,2126737,2126737,2126737,2126737,2532241,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2605969,2126737,2924544,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3035136,2179072,2179072,3072e3,2179072,2179072,2179072,3137536,2126737,2126737,2499473,2126737,2126737,2126737,2556817,2565009,2126737,2126737,2126737,2126737,2126737,2126737,3224465,0,0,2126810,2126810,2126810,2126810,2126810,2446298,2126810,3121152,2179072,2179072,3141632,2179072,2179072,2179072,3170304,2179072,2179072,3190784,3194880,2179072,0,0,0,0,0,0,3181,0,0,0,3184,3185,3186,0,0,3189,3194880,2125824,0,0,0,0,0,0,2387968,2125824,2125824,2420736,2125824,2125824,2125824,2125824,2125824,2453504,2125824,2473984,2482176,2125824,2125824,2125824,2605056,2125824,2629632,2125824,2125824,2650112,2125824,2125824,2125824,2707456,2125824,2736128,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3035136,2125824,2125824,3072e3,2125824,2125824,3121152,2125824,2125824,3141632,2125824,2125824,2125824,3170304,2125824,2125824,3190784,2125824,3170304,2125824,2125824,3190784,3194880,2125824,2125824,2179072,2125824,2125824,2125824,2179072,2179072,3112960,3219456,2125824,2125824,3112960,3219456,2125824,2125824,3112960,3219456,0,0,0,0,0,0,0,0,0,3507,540,540,540,540,540,540,0,3145728,0,3203072,0,0,0,0,0,0,0,0,0,0,0,0,0,3314,0,540,0,3067904,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172032,0,0,0,0,2895872,0,0,0,2445312,0,2842624,0,0,0,2637824,0,0,0,0,432,0,0,0,329,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,467,0,0,0,2621440,0,3182592,2899968,0,2961408,0,0,2179072,2179072,2179072,2179072,2179072,2592768,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2125824,2445312,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2551808,2179072,2179072,2179072,2179072,2179072,3117056,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2126737,2637824,2125824,2125824,2125824,2125824,2727936,2752512,2125824,2125824,2125824,2125824,2842624,2846720,2125824,2895872,2916352,2125824,2125824,2945024,2125824,2125824,2994176,2125824,3002368,2125824,2125824,3022848,2125824,3067904,3084288,3096576,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,2442,2443,0,0,2446,0,0,0,0,0,2928640,0,0,0,3059712,0,2543616,2666496,0,2633728,0,0,0,0,0,1697,0,0,0,0,0,0,0,0,0,0,1116,0,0,0,0,0,2494464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3211264,2179072,2928640,2179072,2179072,2179072,2998272,2179072,2179072,2179072,2179072,3059712,2179072,2179072,2179072,2179072,2179072,2179072,3223552,0,0,2126737,2126737,2126737,2126737,2126737,2446225,2126737,2179072,3178496,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2494464,2125824,2125824,2514944,2125824,2125824,2125824,2125824,2125824,2125824,2179072,2125824,2125824,2125824,2179072,2179072,2179072,2179072,2125824,2125824,0,0,0,0,0,0,2510848,2514944,0,0,2547712,2596864,0,0,0,0,0,1670,0,0,0,0,0,0,0,0,2113,0,2125824,2543616,2547712,2125824,2125824,2596864,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,2125824,2125824,2125824,2408448,2125824,2928640,2125824,2125824,2125824,2998272,2125824,2125824,2125824,2125824,3059712,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,2125824,2126811,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,0,2125824,2125824,2125824,2125824,2424832,2125824,3178496,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2494464,2125824,2125824,2514944,2125824,2125824,2125824,2125824,2125824,2125824,3223552,0,0,2125824,2125824,2125824,2125824,2125824,2445312,2125824,2125824,3178496,2125824,2179072,2125824,2125824,2179072,2179072,2125824,2125824,2125824,2125824,2441216,0,0,0,0,0,0,3311,0,0,0,0,0,0,0,0,540,540,540,2165,540,540,540,540,0,0,0,2740224,0,0,0,0,0,2793472,0,0,0,0,0,0,0,1244,0,0,0,0,1247,0,1194,0,2646016,2179072,2179072,2695168,2756608,2179072,2179072,2179072,2932736,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,3039232,2179072,3063808,2179072,2179072,2179072,2179072,3129344,2179072,2179072,3153920,3166208,3174400,2396160,2400256,2125824,2125824,2441216,2125824,2469888,2125824,2125824,2125824,2519040,2125824,2125824,2125824,2125824,2588672,2125824,2519040,2125824,2125824,2125824,2125824,2588672,2125824,2613248,2646016,2125824,2125824,2695168,2756608,2125824,2125824,2125824,2125824,2932736,2125824,2125824,2125824,2125824,2125824,2125824,2932736,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3129344,2125824,2125824,3153920,3166208,3174400,2396160,2125824,2125824,3129344,2125824,2125824,3153920,3166208,3174400,2125824,2506752,2506752,2506752,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,3223552,987,0,2125824,2125824,2125824,2125824,2125824,2445312,2125824,0,3043328,0,3149824,2936832,0,2760704,3176,0,0,0,0,2953216,0,0,2826240,3158016,2437120,0,2785280,0,0,0,2428928,0,3018752,2764800,2572288,0,0,3051520,2179072,2179072,2637824,2179072,2179072,2179072,2179072,2727936,2752512,2179072,2179072,2179072,2842624,2846720,2179072,2916352,2428928,2437120,2179072,2486272,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2654208,2678784,2760704,2764800,2854912,2969600,2179072,3006464,2179072,3018752,2179072,2179072,2179072,3149824,2125824,2428928,2437120,2125824,2486272,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,297,0,0,0,0,0,2043,2044,0,0,0,0,0,0,0,0,0,2140,0,0,0,0,0,0,2125824,3018752,2125824,2125824,2125824,3149824,2125824,2428928,2437120,2125824,2486272,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,24576,987,2125824,2125824,2125824,2125824,2424832,2125824,3149824,2125824,2179072,3051520,2125824,3051520,2125824,3051520,0,2490368,2498560,0,0,0,0,0,0,304,0,204800,0,0,0,0,0,0,0,0,1713,0,0,0,0,0,0,0,0,1727,0,0,0,0,0,0,0,0,2068,0,0,0,0,0,0,0,0,2095,0,0,0,0,0,0,0,0,2107,0,0,0,0,0,0,0,0,0,2875392,0,0,0,3176,0,0,2834432,0,3227648,2568192,0,0,0,0,2564096,0,2940928,2179072,2179072,2498560,2179072,2179072,2179072,2555904,2564096,2179072,2179072,2179072,2179072,2179072,2179072,3223552,0,0,2125824,2125824,2125824,2125824,2125824,2445312,2125824,2125824,2125824,2125824,2125824,2125824,3137536,2125824,2125824,2498560,2125824,2125824,2125824,2555904,2564096,2125824,2125824,2125824,2125824,2125824,2125824,3223552,2125824,2179072,2416640,2125824,2125824,2179072,2179072,2125824,2125824,0,2486272,0,0,0,0,0,2678784,2854912,3006464,0,3108864,3198976,0,0,2748416,2879488,0,3176,0,0,0,0,0,0,0,0,2179072,2179072,2179072,2179072,2179072,2592768,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2126737,2125824,2125824,2125824,2125824,3010560,2125824,2125824,2125824,2125824,2502656,2125824,2125824,2125824,2125824,2125824,2125824,296,0,0,0,296,0,297,0,0,0,2125824,2125824,2125824,3010560,2125824,2125824,2125824,0,0,0,0,0,0,0,2592768,0,0,0,0,433,0,0,0,453,469,469,469,469,469,469,469,469,469,479,469,469,469,469,469,469,2125824,2125824,2125824,2125824,2592768,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,1918,2125824,2125824,2125824,2408448,2125824,2592768,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2449408,0,2535424,3031040,0,0,0,0,0,1734,0,1736,1710,540,540,540,540,540,540,540,540,1816,1818,540,540,540,540,540,1360,0,2859008,0,0,2179072,2449408,2179072,2535424,2179072,2609152,2179072,2859008,2179072,2179072,2179072,3031040,2125824,2449408,2125824,2535424,2125824,2609152,2125824,2859008,2125824,2125824,2125824,3031040,2125824,2449408,2125824,2535424,2125824,2609152,2125824,2859008,2125824,2125824,2125824,3031040,2125824,2527232,0,0,0,0,0,2179072,2125824,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,0,2804,540,540,540,540,2527232,2179072,2179072,2179072,2179072,2179072,2125824,2527232,2125824,2125824,2125824,2125824,2125824,2125824,2527232,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,0,1080,1084,0,0,1088,2125824,2125824,2125824,2125824,3092480,0,0,0,0,3026944,2404352,2179072,2179072,2179072,2179072,3026944,2404352,2125824,2125824,2125824,2125824,3026944,2404352,2125824,2125824,2125824,2125824,3026944,2539520,0,2949120,0,0,0,0,434,0,0,446,0,0,0,0,0,0,0,0,457,1147354,1147354,1147354,1147354,1147354,1147354,1147354,2179072,2658304,2973696,2179072,2125824,2658304,2973696,2125824,2125824,2658304,2973696,2125824,2711552,0,256e4,2179072,2179072,2945024,2179072,2179072,2994176,2179072,3002368,2179072,2179072,3022848,2179072,3067904,3084288,3096576,2179072,2179072,2600960,2179072,2179072,2179072,2179072,2641920,2179072,2179072,2179072,2179072,2179072,2179072,2719744,2179072,2179072,2441216,2179072,2469888,2179072,2179072,2179072,2519040,2179072,2179072,2179072,2179072,2588672,2179072,2613248,2703360,0,0,0,0,2977792,0,0,3047424,3129344,0,2981888,2396160,0,3153920,256e4,2125824,256e4,2125824,0,2179072,2125824,2125824,0,2179072,2125824,2125824,0,2179072,2125824,2125824,2125824,2457600,2179072,2179072,2179072,2179072,2457600,2125824,2125824,2125824,2985984,2985984,2985984,2985984,0,0,0,0,0,0,0,0,0,0,0,0,0,249856,0,0,0,0,0,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,111050,458,458,111050,458,458,458,458,458,458,458,458,458,458,111050,111050,111050,111050,111050,111050,111050,111050,111050,458,111050,111050,111050,111050,111050,0,0,0,0,0,0,0,0,0,0,2738,0,0,0,0,0,0,2183168,0,0,0,0,0,296,297,0,2134016,300,301,0,0,0,0,0,0,184723,184931,184931,184931,0,184931,184931,184931,184931,184931,0,0,0,0,0,184931,0,184931,1,12290,3,78112,1059,0,0,2179072,2125824,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,296,0,297,0,2125824,1059,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,0,2750,0,0,0,0,2755,0,300,118784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,0,300,300,300,300,0,0,0,0,0,300,0,300,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,0,2183168,0,0,0,0,0,33403,297,0,2134016,49791,301,0,0,0,0,0,0,225889,225889,225889,225889,225740,225889,225889,225889,225889,225889,225740,225740,225740,225740,225740,225906,225740,225906,1,12290,3,0,0,0,0,249856,0,0,0,249856,0,0,0,0,0,0,697,698,0,362,362,362,0,0,0,0,0,0,711,0,0,0,0,0,0,0,0,0,362,296,0,0,0,0,0,0,0,0,2134016,0,0,0,0,0,0,57344,0,0,0,0,0,0,0,3506,0,540,540,540,540,540,540,540,2530,540,540,540,540,540,540,540,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,0,296,0,0,0,300,0,0,0,300,119195,73728,0,0,0,0,0,65536,0,0,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,0,0,0,0,122880,122880,122880,122880,122880,122880,122880,122880,0,0,122880,0,0,0,0,0,0,0,0,0,0,0,3166,3167,0,0,0,0,0,122880,0,122880,122880,122880,0,0,0,0,0,122880,0,122880,0,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,0,0,0,0,0,221184,0,0,0,0,0,0,0,0,0,122880,122880,122880,122880,122880,0,122880,0,2105629,12290,3,0,0,291,0,0,0,0,291,0,0,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,2134016,0,0,0,0,0,0,0,746,0,0,0,0,0,0,328,0,0,0,0,0,0,0,328,0,0,69632,73728,0,416,416,0,0,65536,416,1092,0,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,2765,0,0,0,0,0,1824,2125824,2125824,2125824,2408448,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2551808,2125824,2125824,2125824,2125824,2125824,0,0,0,131072,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,435,0,0,0,0,0,0,0,0,0,0,0,2507,0,0,0,0,0,131072,0,0,131072,131072,0,0,0,0,0,0,131072,0,131072,0,131072,0,0,0,0,0,0,0,0,0,0,131072,0,131072,131072,131072,131072,0,131072,131072,131072,131072,131072,0,0,0,0,0,131072,0,131072,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,298,0,135168,135168,0,0,0,0,0,0,0,0,0,0,0,0,0,320,321,0,0,0,135168,0,0,135168,0,0,0,0,0,0,0,0,0,0,0,3174,0,0,0,0,0,0,0,135168,135168,135168,135168,135168,135168,135168,0,135168,135168,135168,135168,135168,0,0,0,0,0,135168,0,135168,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,118784,296,0,2183168,0,0,0,0,0,636,637,0,2134016,640,641,0,0,0,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,1361,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,986,2125824,2125824,2125824,2125824,2424832,0,301,139264,0,0,0,0,0,0,0,0,0,0,0,0,0,331,0,331,301,301,301,301,0,0,0,0,0,301,0,301,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,139264,297,0,2183168,0,0,0,0,0,296,33406,0,2134016,300,49794,0,0,0,0,0,0,1134592,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,2134016,0,0,0,0,0,0,0,0,0,0,61440,0,0,0,0,647,0,0,0,0,0,0,0,0,0,0,0,2455,0,0,0,0,0,301,2424832,2433024,0,0,2457600,0,0,0,0,0,0,0,0,0,0,2779,0,0,0,0,0,298,298,143728,298,298,298,143728,69632,73728,298,298,143658,298,298,65536,298,298,0,0,298,298,143658,298,298,298,298,298,298,298,298,298,363,298,0,143658,298,298,298,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,298,298,298,298,143658,143658,143658,143658,143658,143658,143658,143658,298,298,298,143658,368,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,143658,298,298,143658,298,298,143658,143658,143658,143658,143658,143658,298,0,298,0,298,298,298,143658,298,298,298,298,298,298,298,298,298,143658,298,143658,143658,143658,143658,298,298,143658,298,298,298,298,298,298,298,298,298,298,298,143728,298,298,298,298,298,298,298,143658,143658,143658,143658,143658,143658,143728,143658,143728,143728,143728,143728,143728,143658,143658,143658,143658,143658,143658,143658,143658,1,12290,3,0,0,0,0,0,0,0,90406,90406,90406,90406,0,94503,0,0,0,3117056,0,0,0,0,0,0,0,2200252,2200252,0,0,0,0,0,0,1134592,0,0,0,0,0,0,1134592,0,0,0,0,0,0,0,155648,155648,0,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,0,0,0,0,155648,0,0,0,0,0,0,345,0,0,0,0,0,0,0,0,0,1663,0,0,0,0,0,0,0,0,155648,0,0,155648,0,0,0,0,0,0,0,155648,0,0,0,155648,155648,0,155648,155648,0,12290,3,0,0,2183168,126976,0,0,0,0,296,297,0,2134016,300,301,0,0,0,0,0,0,1146880,0,1146880,0,0,0,0,0,0,0,1107,0,0,0,0,0,0,0,0,540,2163,540,540,540,540,540,540,0,0,0,3117056,0,0,0,0,0,0,0,362,0,0,0,0,0,0,345,346,347,0,0,0,0,0,0,0,757,0,0,0,0,0,0,0,0,1156,0,0,0,0,0,0,0,159744,159744,159744,0,0,159744,0,0,0,0,0,0,0,0,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,163840,159744,159744,159744,163840,159744,159744,159744,159744,159744,0,0,0,0,0,0,0,0,25160,0,0,159744,0,0,0,0,25160,25160,25160,159744,25160,25160,25160,25160,25160,159744,159744,159744,159744,25160,159744,25160,1,12290,3,0,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,1,12290,3,0,167936,167936,167936,0,0,167936,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,0,0,0,0,0,0,0,0,0,0,3015,0,0,0,0,0,0,0,0,2138112,1183,0,0,0,0,0,0,0,0,0,0,0,0,262144,0,0,0,0,172032,172032,0,0,0,0,0,0,0,0,0,0,172032,0,0,0,0,0,0,172032,172032,0,172032,0,0,172032,0,172032,0,172032,0,0,0,0,172032,172032,172032,172032,172032,172032,172032,172032,1,12290,3,0,172032,0,172032,172032,0,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,0,0,0,0,0,0,0,0,0,0,106496,0,0,0,0,0,1,286,3,0,0,0,292,0,0,0,0,0,0,0,0,0,0,106496,0,106496,0,0,0,0,106496,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,1,0,3,78112,176128,176128,176128,0,0,176128,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,0,0,0,0,0,0,0,0,0,0,111050,0,0,0,0,0,78112,290,0,634,0,0,0,296,297,0,2134016,300,301,0,0,0,0,0,0,1159168,414,414,0,0,0,0,0,414,0,1164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,540,540,540,0,914,561,561,561,561,561,561,561,561,561,561,561,561,561,561,959,561,585,585,585,1490,585,585,585,585,585,585,585,585,585,585,585,585,585,1498,585,585,0,0,229376,0,0,0,0,0,0,0,0,1686,0,0,0,0,0,0,404,404,404,404,0,404,404,404,404,404,0,0,0,0,0,404,0,404,1,12290,3,78112,290,0,0,0,0,0,0,0,0,0,0,0,0,1155072,0,0,0,0,0,0,0,2131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,658,0,0,0,561,561,561,561,561,561,2250,561,561,561,561,561,561,585,585,585,585,585,585,0,0,0,0,0,0,3295,0,0,0,0,0,0,0,712,0,0,0,716,0,0,719,0,561,561,2287,561,561,561,561,561,561,561,561,561,561,561,561,561,0,0,0,585,585,585,2347,585,585,585,585,585,585,585,585,585,585,585,585,585,1514,585,585,2372,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,561,0,0,0,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,585,585,585,585,2671,585,585,585,585,585,585,585,585,585,585,585,585,585,1515,585,585,0,0,0,2994,0,0,0,2998,0,0,0,0,0,0,0,0,0,159744,159744,159744,159744,159744,159744,159744,540,3035,540,540,540,540,540,540,540,540,540,540,540,540,540,540,910,540,3075,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1417,3116,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1501,0,0,3178,0,0,0,0,0,0,0,0,0,0,3187,0,0,0,0,0,2046,0,2149,0,0,0,0,0,0,0,0,0,249856,249856,249856,249856,249856,249856,249856,249856,1,12290,3,0,540,540,540,3203,540,540,540,540,540,540,540,540,540,3211,540,540,540,540,540,2813,540,540,2817,540,540,540,540,540,540,540,540,540,2555,540,540,540,540,540,540,3255,585,585,585,3258,585,585,585,585,585,585,585,585,585,3266,585,561,0,1287,585,1467,1376,540,540,1339,540,540,561,561,1430,561,0,585,585,585,585,585,288,1079,0,0,0,0,0,0,0,0,2427,0,0,0,0,0,0,0,0,2465,0,0,2468,0,0,0,0,0,0,0,0,3309,0,0,0,0,0,0,0,0,0,0,540,3508,540,3509,540,540,540,3326,3327,540,540,540,540,540,540,540,540,561,561,561,561,561,561,561,561,561,561,561,561,561,561,961,561,585,585,585,3361,585,585,585,585,3362,3363,585,585,585,585,585,585,561,0,0,0,0,0,0,0,0,0,0,1159168,0,0,0,0,0,0,0,0,0,3176,0,0,0,0,0,0,0,0,3387,0,0,0,0,0,2092,0,0,0,0,0,0,0,0,0,0,404,0,0,0,0,0,561,3416,561,561,561,561,585,585,585,585,585,585,3425,585,585,585,585,585,585,1492,585,585,585,585,585,585,585,1499,585,585,585,585,3431,585,585,585,585,3435,540,561,585,0,0,0,0,0,0,665,0,0,668,0,0,0,0,0,0,0,3172,0,0,0,0,0,0,0,0,0,225740,225740,225740,225740,225740,225740,225740,0,0,0,0,3176,0,0,0,0,0,0,0,0,3450,540,540,540,540,540,2814,540,2816,540,540,540,540,540,540,540,540,540,2233,540,540,540,540,540,0,561,561,561,3573,561,561,561,561,561,561,561,561,585,585,585,585,585,585,3538,585,585,3585,585,585,585,585,585,585,585,585,561,0,0,0,0,0,0,3627,561,561,585,585,0,540,561,585,0,540,561,585,0,540,561,585,0,0,0,0,0,0,0,0,0,0,0,0,0,2662400,0,2813952,78112,290,0,0,0,0,0,296,297,0,2134016,300,301,0,0,0,0,0,0,2473984,2478080,0,0,0,0,0,0,0,0,0,2976,0,0,0,0,0,0,0,0,0,2134756,0,0,0,0,0,0,0,0,0,0,0,0,1,12290,3,0,0,0,188416,540,585,585,561,540,540,540,540,540,561,561,561,561,585,585,585,585,0,0,540,540,0,0,0,0,3176,0,0,0,0,0,0,0,0,540,540,540,540,540,540,540,2169,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,1,12290,3,78112,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,192971,0,192971,0,1,12290,3,0,192971,192971,192971,0,0,192971,0,0,0,0,0,0,0,0,0,0,0,131072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,322,0,0,0,0,192971,192971,192971,192971,192971,192971,192971,192971,192971,0,192971,192971,192971,192971,192971,0,0,0,0,0,0,0,0,0,0,2801664,0,0,0,0,2142208,299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,674,78112,290,0,0,0,0,0,296,297,0,299,300,301,0,0,0,0,0,0,2797568,0,0,0,0,0,0,0,2850816,2867200,0,0,740,404,0,0,0,0,0,0,0,0,0,0,0,0,335,0,0,0,0,0,740,540,585,585,561,540,540,540,540,540,561,561,561,561,585,585,585,585,2029,0,2031,0,0,0,0,740,1184,0,0,0,0,1188,0,0,0,0,0,0,0,1583,0,1585,0,0,0,0,0,0,0,1661,1662,0,0,0,0,0,0,0,0,2727936,0,0,0,3084288,0,0,0,0,0,0,1577,0,0,0,0,0,0,0,0,0,0,0,0,351,352,353,354,0,0,0,1188,1670,0,0,0,0,0,0,0,0,0,0,0,0,1150976,0,0,0,0,0,0,561,561,585,585,585,585,1559,2029,0,0,0,0,1565,2031,0,0,0,0,0,2120,0,0,0,0,0,0,0,0,0,2130,2033,0,2035,0,0,0,0,0,0,0,0,0,0,0,0,0,336,337,338,561,561,2323,2648,0,0,0,0,585,585,585,585,585,585,585,585,585,585,585,2339,585,585,2342,0,304,0,304,0,0,0,0,0,0,0,0,0,304,0,0,0,0,0,2136,0,2138,0,0,0,0,0,0,0,0,791,817,0,817,812,0,0,0,0,0,0,204800,204800,0,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,205104,204800,204800,205103,205104,204800,205103,205103,204800,204800,0,0,0,0,0,0,0,0,0,296,0,0,0,0,0,0,0,2183801,0,0,0,0,0,296,297,151552,2134016,300,301,0,212992,0,0,0,0,662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3117056,0,0,0,0,0,0,0,0,2200253,0,0,0,0,0,0,2932736,2965504,0,0,3076096,0,0,2695168,3174400,2646016,0,914,2126737,2126737,2126737,2126737,2425745,2433937,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,0,0,987,2126810,2126810,2126810,2126810,2425818,2724753,2126737,2732945,2773905,2126737,2126737,2126737,2806673,2126737,2831249,2126737,2126737,2864017,2126737,2126737,2126737,2126737,2126737,2524049,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2601873,2126737,2126737,2921361,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3117969,2126737,2126737,2126737,2126737,2593681,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126810,2126810,2126810,2126810,3093393,0,0,0,0,3026944,2404352,2179072,2179072,2179072,2179072,3026944,2434010,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2626522,2126810,2126737,0,2179072,2126810,2126810,2126737,2457600,2179072,2179072,2179072,2179072,2458513,2126737,2126737,2126737,2126737,2126737,2626449,2126737,2126737,2126737,2126737,2126737,2126737,2700177,2126737,2716561,2126737,2806746,2126810,2831322,2126810,2126810,2864090,2126810,2126810,2126810,2126810,2921434,2126810,2126810,2126810,2126810,2126810,2126737,2179072,2126810,2126810,2126737,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2458586,2126810,2126810,2126810,2126810,2183168,0,0,0,0,0,0,0,0,0,321,395,0,0,0,321,0,0,2126737,2126737,2126737,2409361,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3126161,2126737,2126737,2126737,2802577,2814865,2126737,2839441,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126810,2126810,2126810,2126810,2126810,2663386,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2802650,2814938,2126810,2839514,0,0,0,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2462609,2466705,2126737,0,2126810,2126810,2126810,2126810,2126810,0,0,0,0,0,0,0,0,0,297,0,0,0,0,0,0,2769809,2778001,2126737,2798481,2823057,2126737,2126737,2126737,2884497,2126737,2913169,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2655121,2679697,2761617,2765713,2786193,2855825,2970513,2126737,3007377,2126737,3134353,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3208081,2126737,0,0,0,0,0,325,0,69632,73728,0,0,0,0,0,65536,0,0,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2462682,2466778,2126810,2126810,2126810,2524122,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2601946,2126810,2126810,2126810,2585562,2126810,2126810,2126810,2126810,2126810,2618330,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2888666,2126810,2126810,2925530,2126810,2126810,2126810,2126810,2126810,2126810,2642906,2126810,2126810,2126810,2126810,2126810,2126810,2720730,2126810,2126810,2126810,2126810,2126810,2769882,2778074,2126810,2798554,2823130,2126810,2126810,2126810,2884570,2126810,2913242,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,3126234,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,3208154,2126810,2126737,2179072,2126810,2126810,2126737,0,0,0,2388881,2126737,2126737,2421649,2126737,2126737,2126737,2126737,2126737,2454417,2126737,2474897,2483089,2630545,2126737,2126737,2651025,2126737,2126737,2126737,2708369,2126737,2737041,2126737,2126737,2126737,2126737,2126737,2126737,2126737,985,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2552794,2126810,2126810,2126810,2126810,2126810,2126737,2126737,3072913,2126737,2126737,3122065,2126737,2126737,3142545,2126737,2126737,2126737,3171217,2126737,2126737,3191697,3195793,2126737,0,0,0,0,0,0,2388954,2126810,2126810,2421722,2126810,2126810,2126810,2126810,2126810,3040218,2126810,3064794,2126810,2126810,2126810,2126810,3101658,2126810,2126810,3134426,2126810,2454490,2126810,2474970,2483162,2126810,2126810,2126810,2126810,2126810,2126810,2532314,2126810,2126810,2126810,2126810,3036122,2126810,2126810,3072986,2126810,2126810,3122138,2126810,2126810,3142618,2126810,2126810,2126810,3171290,2126810,2126810,3191770,3195866,2126810,2126737,2179072,2126810,2126810,2126737,2179072,2179072,3112960,3219456,2126737,2126737,3113873,3220369,2126810,2126810,3113946,3220442,0,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,2638737,2126737,2126737,2126737,2126737,2728849,2753425,2126737,2126737,2126737,2126737,2843537,2847633,2126737,2896785,2917265,2638810,2126810,2126810,2126810,2126810,2728922,2753498,2126810,2126810,2126810,2126810,2843610,2847706,2126810,2896858,2917338,2179072,3178496,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2495377,2126737,2126737,2515857,2126737,2126737,2126737,2126737,3011473,2126737,2126737,2126810,2126810,2503642,2126810,2126810,2126810,2126810,2126810,2126810,2126810,3138522,2126737,2940928,2941841,2941914,0,0,0,0,2126737,2544529,2548625,2126737,2126737,2597777,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2552721,2126737,2126737,2126737,2126737,2126737,2126737,2929553,2126737,2126737,2126737,2999185,2126737,2126737,2126737,2126737,3060625,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3040145,2126737,3064721,2126737,2126737,2126737,2126737,3101585,2126737,2126737,3179409,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2495450,2126810,2126810,2515930,2126810,2126810,0,0,0,0,0,0,2510848,2514944,0,0,2547712,2596864,0,0,0,0,0,2160,0,0,540,540,540,540,540,540,540,540,540,540,540,540,540,561,561,561,561,561,561,3525,561,2126810,2544602,2548698,2126810,2126810,2597850,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126737,0,2502656,0,0,3010560,2126810,2929626,2126810,2126810,2126810,2999258,2126810,2126810,2126810,2126810,3060698,2126810,2126810,2126810,2126810,2126810,2126810,3118042,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126737,2126810,3179482,2126737,2179072,2126810,2126737,2179072,2179072,2126737,2126737,2126810,2126810,2441216,0,0,0,0,0,326,0,0,0,0,0,0,0,0,0,0,403,0,0,0,0,0,3129344,2179072,2179072,3153920,3166208,3174400,2397073,2401169,2126737,2126737,2442129,2126737,2470801,2126737,2126737,2126737,2126737,2126737,2663313,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,0,0,2126810,2126810,2126810,2409434,2519953,2126737,2126737,2126737,2126737,2589585,2126737,2614161,2646929,2126737,2126737,2696081,2757521,2126737,2126737,2126737,2126737,2126737,3138449,2126810,2126810,2499546,2126810,2126810,2126810,2556890,2565082,2126810,2126810,2126737,2933649,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3130257,2126737,2126737,3154833,3167121,3175313,2397146,2401242,2126810,2126810,2442202,2126810,2470874,2126810,2126810,2126810,2520026,2126810,2126810,2126810,2126810,2589658,2126810,2126810,2126810,3011546,2126810,2126810,2126737,0,0,0,0,0,0,0,2592768,0,0,0,0,663,0,0,666,667,0,0,0,0,0,0,0,540,571,540,571,540,540,571,540,595,2614234,2647002,2126810,2126810,2696154,2757594,2126810,2126810,2126810,2126810,2933722,2126810,2126810,2126810,2126810,2126810,2126810,3224538,2126737,2179072,2417626,2126810,2126737,2179072,2179072,2126737,2126737,2854912,2969600,2179072,3006464,2179072,3018752,2179072,2179072,2179072,3149824,2126737,2429841,2438033,2126737,2487185,2126737,2126737,2945937,2126737,2126737,2995089,2126737,3003281,2126737,2126737,3023761,2126737,3068817,3085201,3097489,2126737,2126737,2888593,2126737,2126737,2925457,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,3036049,2126737,3019665,2126737,2126737,2126737,3150737,2126810,2429914,2438106,2126810,2487258,2126810,2126810,2126810,2126810,2126810,2700250,2126810,2716634,2126810,2724826,2126810,2733018,2773978,2126810,2126810,2126810,2126810,3150810,2126737,2179072,3051520,2126737,3052433,2126810,3052506,0,2490368,2498560,0,0,0,0,0,0,679,0,0,0,0,0,0,0,0,0,0,0,2126810,2593754,2126810,2126810,2126810,2126810,2126810,2126810,2126810,2126737,2449408,0,2535424,3031040,0,0,0,0,0,2439,0,0,0,0,0,0,0,0,0,0,369,0,0,370,0,0,2126737,2450321,2126737,2536337,2126737,2610065,2126737,2859921,2126737,2126737,2126737,3031953,2126810,2450394,2126810,2536410,2126810,2610138,2126810,2859994,2126810,2126810,2126810,3032026,2126737,2527232,0,0,0,0,0,2179072,2126810,2126810,2126737,2179072,2179072,2179072,2179072,2179072,2126737,2126737,2126737,2126737,2126810,2126810,2126810,2126810,0,0,0,0,0,0,0,0,0,0,0,237568,0,0,0,0,2527232,2179072,2179072,2179072,2179072,2179072,2126737,2528145,2126737,2126737,2126737,2126737,2126737,2126810,2528218,2126810,2126810,2946010,2126810,2126810,2995162,2126810,3003354,2126810,2126810,3023834,2126810,3068890,3085274,3097562,2126810,2126810,2126810,2606042,2126810,2630618,2126810,2126810,2651098,2126810,2126810,2126810,2708442,2126810,2737114,2126810,2126810,2126810,2655194,2679770,2761690,2765786,2786266,2855898,2970586,2126810,3007450,2126810,3019738,2126810,2126810,0,2486272,0,0,0,0,0,2678784,2854912,3006464,0,3108864,3198976,0,2405265,2126737,2126737,2126737,2126737,3027857,2405338,2126810,2126810,2126810,2126810,3027930,2539520,0,2949120,0,0,0,0,695,0,0,0,0,362,362,362,0,0,704,0,0,0,0,709,0,0,0,0,0,0,0,0,0,0,0,2049,0,0,0,0,2179072,2658304,2973696,2179072,2126737,2659217,2974609,2126737,2126810,2659290,2974682,2126810,2711552,0,256e4,2179072,2179072,3125248,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2560913,2126737,2560986,2126810,0,2179072,2126737,2126810,0,2179072,2126737,2126810,0,2179072,2126737,2126810,2126810,3130330,2126810,2126810,3154906,3167194,3175386,2126737,2506752,2507738,2507665,2179072,2179072,2126737,2126737,2126737,2642833,2126737,2126737,2126737,2126737,2126737,2126737,2720657,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2126737,2585489,2126737,2126737,2126737,2126737,2126737,2618257,2126737,2985984,2985984,2986897,2986970,0,0,0,0,0,0,0,0,0,0,0,0,397,0,0,0,0,221184,221184,0,0,0,0,0,0,0,0,0,221184,221184,0,0,221184,221184,221184,0,0,0,0,0,0,221184,0,0,0,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,0,0,0,0,0,0,0,0,0,332,0,0,0,0,0,0,0,0,0,0,221184,221184,221184,221184,221184,221184,221184,221184,1,12290,3,0,0,0,0,0,253952,0,0,0,253952,0,0,0,0,0,0,0,0,0,0,0,0,687,688,0,0,0,0,0,98304,0,0,0,53248,0,0,0,0,0,2662400,0,2813952,297,0,300,0,0,0,300,0,301,0,0,0,301,0,0,0,301,69632,139679,0,0,0,0,0,65536,0,0,0,0,3133440,0,98304,0,0,0,0,0,0,0,0,0,0,0,2179072,2179072,2179072,2179072,2179072,300,0,301,0,0,0,2473984,2478080,0,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,3121152,2179072,2179072,3141632,2179072,2179072,2179072,3170304,2179072,2179072,3190784,3194880,2179072,914,0,0,0,0,0,2451,0,0,0,0,0,0,0,0,0,0,301,301,0,0,0,0,0,914,0,2387968,2125824,2125824,2420736,2125824,2125824,2125824,2125824,2125824,2453504,2125824,2473984,2482176,2125824,2125824,2125824,2125824,2125824,2125824,2531328,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2605056,2125824,3194880,2125824,987,0,0,0,987,0,2387968,2125824,2125824,2420736,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2887680,2125824,2125824,2924544,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3035136,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,225740,0,0,0,0,0,0,0,0,0,348,349,350,0,0,0,0,2125824,237568,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,358,0,0,0,0,0,358,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,0,0,0,0,0,0,0,0,0,362,0,0,0,0,0,0,0,2183168,0,0,0,0,0,296,297,0,2134016,300,301,0,0,217088,2125824,241664,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,362,0,0,0,0,131072,131072,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,254413,0,0,0,0,0,0,0,0,0,362,0,0,0,0,155648,0,0,2183168,0,0,270336,0,0,296,297,0,2134016,300,301,200704,0,0,0,0,0,2462,0,0,0,0,0,0,0,0,0,0,1261,0,0,0,0,0,2125824,0,2125824,2125824,2125824,2125824,2125824,0,0,180224,0,0,0,0,0,0,0,1726,0,0,0,0,0,0,0,0,304,304,304,0,0,0,0,0,0,2748416,2879488,0,20480,0,0,0,0,0,0,0,0,2179072,2179072,2179072,2179072,2768896,2777088,2797568,2822144,2179072,2179072,2179072,2883584,2912256,2179072,2179072,2179072,2179072,2179072,2617344,2179072,2179072,2179072,2179072,2179072,2179072,2662400,2179072,2179072,2179072,2179072,2179072,3010560,2179072,2179072,2125824,2125824,2502656,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2584576,2125824,2125824,2125824,2125824,2125824,2617344,2125824,2125824,2125824,2125824,2125824,2125824,0,266240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2142208,0,0,0,266240,0,0,0,0,0,0,0,0,1,12290,2113823,0,0,0,0,0,0,293,0,0,0,293,0,0,245760,0,0,2179072,2125824,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3039232,2125824,3063808,2125824,2125824,2125824,2125824,3100672,2125824,2125824,3133440,2125824,245760,2125824,2125824,2125824,2125824,2125824,0,0,0,0,0,0,0,0,0,362,0,0,122880,122880,0,0,274432,274432,274432,274432,0,0,0,0,0,274432,0,274432,1,12290,3,0,0,0,0,725,0,0,0,0,0,0,0,0,0,0,0,1192,0,1195,0,0,78112,290,0,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,328,329,330,0,0,0,0,0,0,0,0,0,2200252,2200252,2200252,0,0,0,0,0,0,0,2033,0,0,0,0,0,2035,0,0,0,0,0,0,0,2055,0,2056,0,0,0,0,0,0,0,2067,0,0,0,0,0,0,0,0,1187,0,0,0,0,0,0,1104,2483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,690,0,0,2993,0,0,0,0,0,0,0,0,0,0,0,0,0,383,335,0,0,0,0,1679,0,0,0,0,0,0,0,0,0,0,0,0,694,0,0,0,0,0,0,741,0,0,0,0,0,0,0,0,0,0,0,0,730,0,0,0,0,0,0,78456,290,0,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,344,0,0,0,0,0,0,0,0,0,0,1158,0,0,0,0,0,562,562,562,562,562,562,562,586,586,586,540,586,586,586,586,586,562,562,540,562,586,562,586,1,12290,3,78112,0,0,2771,0,0,0,0,0,0,0,0,0,0,0,0,0,514,521,521,1,12290,3,78113,290,0,0,0,0,0,0,0,0,0,0,0,301,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,1,12290,3,0,282624,282624,282624,0,0,282624,0,0,0,0,0,0,0,0,0,0,0,3178496,2670592,0,2744320,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,0,282624,282624,282624,282624,282624,0,0,0,0,0,0,0,0,0,362,0,290,0,0,0,0,3176,0,0,2740224,0,0,0,0,0,2793472,0,0,0,0,0,0,0,2094,0,0,0,0,0,0,0,0,683,684,685,0,0,0,689,0,0,0,0,286720,286720,0,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,0,0,0,0,0,0,0,0,0,362,0,302,0,0,0,0,0,3043328,0,3149824,2936832,0,2760704,3301,0,0,0,0,2953216,0,0,2826240,2875392,0,0,0,3381,0,0,2834432,0,3227648,2568192,0,0,0,0,2564096,0,2748416,2879488,0,3381,0,0,0,0,0,0,0,0,2179072,2179072,2179072,2531328,2179072,2179072,2179072,2179072,2179072,2179072,2179072,2605056,2179072,2629632,2179072,2179072,0,0,0,306,0,0,0,0,0,305,0,305,306,0,305,305,0,0,0,305,305,306,306,0,0,0,0,0,0,305,405,306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,750,0,0,0,306,410,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,742,0,0,0,0,742,0,748,0,0,0,0,0,0,1192,0,0,0,0,0,0,0,0,0,0,462,462,462,488,488,462,488,488,488,488,488,488,488,513,488,488,488,488,488,488,488,488,488,488,488,488,488,533,488,488,488,488,488,541,563,541,563,541,541,563,541,587,563,563,563,563,563,563,563,587,587,587,541,613,613,613,613,613,587,563,563,541,563,587,563,587,1,12290,3,78112,0,0,645,0,0,648,649,0,0,0,0,0,0,0,0,0,362,0,253952,0,0,0,0,0,645,0,0,0,0,0,0,0,0,0,0,762,0,0,0,0,0,353,0,351,0,472,472,472,472,472,472,472,477,472,472,472,472,472,472,472,472,472,477,472,0,768,0,0,772,0,0,0,0,0,0,781,0,0,0,0,0,0,727,0,0,0,731,0,0,0,0,0,0,0,69632,73728,0,0,0,343,342,65536,341,0,788,0,0,0,0,792,0,0,0,0,0,0,0,796,0,0,0,0,0,0,0,0,0,0,0,0,782,0,0,0,0,736,0,796,0,0,0,0,648,0,0,0,0,0,0,820,0,0,648,0,0,0,0,0,837,792,0,0,0,0,0,841,842,792,792,0,0,0,0,792,736,792,0,540,540,851,855,540,540,540,540,1345,540,540,540,540,540,540,540,540,540,540,540,2181,540,540,540,540,561,561,561,921,925,561,561,561,561,561,561,951,561,956,561,963,561,966,561,561,980,561,561,0,585,585,585,994,998,585,585,585,585,585,585,1963,1964,1966,585,585,585,585,585,585,585,561,2713,585,2715,2716,540,540,540,540,585,585,585,1024,585,1029,585,1036,585,1039,585,585,1053,585,585,966,0,0,0,855,585,998,925,851,1065,894,540,540,921,1070,966,561,0,585,585,585,585,585,78112,0,0,0,0,0,0,0,0,0,114688,0,241664,258048,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,766,0,0,1214,0,0,0,0,0,0,0,0,0,0,0,0,0,672,673,0,540,540,1342,540,540,540,540,540,540,540,540,540,540,540,540,540,0,0,0,585,585,585,1524,585,585,585,585,585,585,585,585,585,585,585,585,585,1517,585,585,585,1433,0,540,585,585,561,540,540,540,540,540,561,561,561,561,561,561,561,3070,561,561,561,561,561,561,585,585,585,585,585,585,0,0,0,3662,0,0,0,1641,0,0,0,0,0,0,0,0,0,0,0,0,1103,1104,1105,1106,1654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,785,0,1693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,306,0,1732,0,0,1733,0,0,0,0,540,540,540,540,540,540,540,3030,540,540,540,540,540,540,540,1745,540,540,540,540,540,540,540,540,540,1758,540,540,540,540,540,540,2540,540,540,540,540,540,540,540,540,540,540,1329,540,540,540,540,540,540,540,540,1795,540,540,1798,540,540,540,540,540,540,540,540,540,540,900,540,540,540,540,540,540,1810,540,540,540,540,540,1815,540,540,540,540,540,540,540,1360,914,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1416,561,1825,561,561,561,561,1831,561,561,561,561,561,1837,561,561,561,561,561,983,561,0,585,585,585,585,585,1002,585,1010,561,1892,561,561,561,561,561,561,561,561,561,561,1904,561,561,561,561,585,585,585,585,0,0,0,2726,0,0,2729,2730,561,561,1909,561,561,561,561,561,561,561,26027,1919,585,585,585,585,561,0,0,0,0,0,540,3649,540,540,540,540,540,540,561,561,561,561,561,561,561,3231,3232,561,1925,585,585,585,585,585,1931,585,585,585,585,585,585,585,585,585,561,0,0,0,0,0,3596,1944,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1540,561,561,2025,585,585,585,0,2029,0,0,0,0,0,2031,0,0,0,0,0,2487,0,0,0,0,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,2041,0,0,0,0,0,0,0,0,0,0,0,0,1132,0,0,0,2075,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1135,0,2145,0,0,0,2143,0,0,2150,0,0,0,0,0,0,0,0,159744,0,0,0,0,0,0,0,0,1234,0,0,0,0,0,0,0,0,1584,0,0,0,0,0,0,0,0,1700,0,0,0,0,1705,0,0,540,540,2171,540,540,2174,540,540,540,540,540,540,2182,540,540,540,540,540,540,2568,540,540,540,540,2572,540,540,540,540,540,540,1347,540,540,540,540,540,540,540,540,540,540,2556,540,540,540,540,540,540,540,2201,540,540,540,540,540,540,540,540,540,540,540,540,540,0,0,2242,540,540,540,2214,540,540,540,540,540,540,540,540,540,540,540,540,540,1805,540,540,0,0,0,561,561,561,561,561,561,561,561,561,561,561,2254,561,0,585,585,585,585,585,78112,1079,0,0,0,0,0,0,0,0,2123,0,2125,2126,0,0,0,0,561,2257,561,561,561,561,561,561,2265,561,561,561,561,561,561,561,0,0,585,585,585,585,585,585,585,561,540,585,585,561,540,2952,561,2954,561,2299,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1438,561,2033,0,2035,0,0,2426,0,0,0,0,0,0,0,0,0,2434,0,0,0,2475,0,0,0,0,0,0,0,0,0,0,0,0,1193,0,0,0,0,2484,0,0,0,0,0,0,0,0,0,2493,0,0,0,0,0,0,756,0,0,0,0,0,0,763,0,0,0,0,0,561,561,561,561,561,561,561,561,2592,561,561,561,561,561,1408,561,561,1412,561,561,561,561,561,561,561,0,585,585,585,585,585,585,1008,585,2656,585,585,585,585,585,585,585,585,585,585,585,2664,585,585,585,585,585,585,2350,585,585,585,585,585,585,585,585,585,585,2379,585,585,585,585,585,585,585,585,2699,585,585,585,585,585,585,585,585,585,585,585,585,585,1940,585,585,2708,585,585,585,585,585,585,561,540,585,585,561,540,540,540,540,540,540,561,561,561,3229,561,561,561,561,561,561,585,585,585,3352,585,585,585,3355,585,585,2731,0,0,0,0,0,0,2736,0,0,0,0,0,0,0,0,0,192971,192971,192971,192971,192971,192971,192971,192971,0,0,0,2759,0,0,0,0,0,0,0,0,0,0,0,0,1234,540,540,540,0,0,0,2788,0,0,0,0,0,0,0,0,0,0,0,0,1238,0,0,0,540,540,540,2826,540,540,540,540,540,540,540,540,540,540,2833,540,540,540,540,1748,540,540,540,540,540,540,540,540,540,1760,540,540,540,540,1765,540,540,540,540,540,540,540,540,1772,540,540,540,540,561,3406,561,561,3408,561,561,561,561,561,561,561,0,585,585,585,585,585,585,1009,585,561,561,561,2860,561,561,2864,561,561,561,561,561,561,561,561,561,944,561,561,561,561,561,561,561,2873,561,561,561,561,561,561,561,561,561,561,561,2881,561,561,0,0,0,2649,0,1920,585,585,585,585,585,585,585,585,585,2703,585,585,585,585,585,585,585,585,585,2908,585,585,2912,585,585,585,585,585,585,585,585,585,585,2393,2394,585,585,585,585,585,2921,585,585,585,585,585,585,585,585,585,585,585,2929,585,585,0,0,0,3292,0,0,0,0,0,0,0,0,0,3297,2955,585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,305,0,0,0,2970,0,0,0,0,0,0,0,0,0,0,0,0,1588,1589,0,0,540,540,540,540,3036,540,540,540,540,540,540,540,540,540,540,540,540,2546,540,540,540,561,561,561,3076,561,561,561,561,561,561,561,561,561,561,561,561,1436,561,561,561,585,585,585,3117,585,585,585,585,585,585,585,585,585,585,585,585,585,2356,585,2358,0,0,0,0,3176,3442,0,3444,0,0,0,0,0,540,3451,540,540,540,540,1796,540,540,540,540,540,540,540,540,540,540,540,905,540,540,540,540,3453,540,540,540,540,540,540,540,540,540,540,540,561,3466,561,3468,0,0,3501,0,0,0,0,0,0,540,540,540,540,3510,540,540,540,540,540,3204,3205,540,540,540,540,3209,3210,540,540,540,540,540,1749,1750,540,540,540,540,1757,540,540,540,540,540,540,1346,540,540,540,540,540,540,1356,540,540,307,308,309,0,0,0,0,0,0,0,0,0,0,0,0,0,734,0,0,0,0,418,0,0,0,0,0,449,0,0,0,0,0,0,0,0,286720,0,0,0,0,0,0,0,0,2490,0,0,0,0,0,0,0,0,2504,0,0,0,0,0,0,0,0,2517,0,0,0,0,0,0,0,0,2975,0,0,0,0,0,0,0,0,2999,0,0,0,0,0,0,0,0,3164,0,0,0,0,0,0,0,0,3173,0,0,0,0,0,0,0,0,3183,0,0,0,0,0,0,0,0,155648,0,0,0,0,0,0,0,0,0,0,0,449,449,418,449,449,449,449,449,449,449,449,449,449,449,449,532,449,532,532,532,449,532,532,532,532,449,542,564,542,564,542,542,564,542,588,564,564,564,564,564,564,564,588,588,588,542,588,588,588,588,588,564,564,616,621,588,621,627,1,12290,3,78112,0,1677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1163,540,540,540,1811,540,540,540,540,540,540,540,540,540,540,540,1360,914,561,561,561,561,561,561,561,561,561,561,561,561,1377,561,0,585,585,585,585,585,78112,1079,0,0,1082,1086,0,0,1090,585,585,585,1993,585,585,585,585,585,1999,585,585,585,585,585,585,561,0,0,0,0,3551,0,3553,0,0,0,0,0,561,561,561,561,561,2589,561,561,561,561,2593,561,561,0,2648,0,0,0,0,585,585,585,585,585,585,585,585,585,2338,585,585,585,585,585,585,585,2657,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1971,585,585,585,2709,585,585,585,585,561,540,585,585,561,540,540,540,540,540,540,561,561,3228,561,561,561,561,561,561,561,0,0,585,2900,585,585,585,585,585,540,3514,540,3516,540,540,3518,540,561,561,561,561,561,561,561,561,1396,1398,561,561,561,561,561,561,3527,561,3529,561,561,3531,561,585,585,585,585,585,585,585,585,3540,585,3542,585,585,3544,585,561,0,0,0,0,0,0,0,0,0,362,362,362,0,0,0,147456,0,0,0,310,311,312,313,314,315,316,317,318,319,0,0,0,0,0,373,0,0,0,0,365,0,382,0,348,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,0,0,0,313,0,0,0,0,0,0,0,0,0,0,0,0,0,764,0,0,420,428,419,428,0,310,428,441,450,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,463,484,489,489,500,489,489,489,489,489,489,489,489,515,515,528,528,529,529,529,529,529,529,529,529,529,529,515,529,529,529,529,529,543,565,543,565,543,543,565,543,589,565,565,565,565,565,565,565,589,589,589,612,589,589,589,589,589,614,615,615,612,615,614,615,614,1,12290,3,78112,0,702,0,0,0,0,0,702,0,0,0,540,540,540,540,540,3028,540,540,540,540,540,540,540,561,967,561,561,561,561,561,0,585,585,585,585,585,585,585,585,2337,585,585,585,585,2341,585,0,1108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,540,3200,0,1150,1108,0,0,0,0,0,0,0,0,0,0,0,0,0,1102,0,0,0,1228,0,0,0,0,0,0,0,0,0,0,0,0,0,1240,0,0,540,540,1276,1278,540,540,540,540,540,540,540,540,1292,540,1297,540,540,1301,540,540,540,540,1812,540,540,540,540,540,540,540,540,540,1823,1360,914,561,561,561,561,561,561,561,561,561,561,561,561,1378,561,0,585,585,585,585,585,78112,1079,0,0,1083,1087,0,0,1091,540,1304,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1302,540,1360,914,561,561,1364,561,1367,561,561,561,561,561,561,561,561,1381,561,1386,561,561,1390,561,561,1393,561,561,561,561,561,561,561,561,1431,561,561,1435,561,561,561,561,1484,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1942,540,1793,1794,540,540,540,540,540,540,540,540,540,540,540,540,540,0,2584,0,585,585,1946,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2005,585,585,585,1959,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2357,585,2102,0,0,0,0,1670,0,0,0,0,0,0,0,0,0,0,328,379,381,0,0,0,0,0,2133,0,0,0,0,0,0,0,0,0,0,0,0,0,1119,0,0,2033,0,2035,0,0,0,0,0,0,2428,0,0,0,0,0,0,0,2122,0,0,0,0,0,0,0,0,0,122880,0,122880,122880,122880,122880,122880,0,0,2474,0,0,0,0,0,0,0,0,0,0,0,0,0,1133,0,0,0,0,0,0,2760,0,0,0,0,0,0,0,0,0,0,0,380,0,0,0,384,0,0,2799,0,0,0,0,0,0,0,2803,540,540,540,540,540,540,540,1326,540,540,540,540,540,540,540,1339,585,2956,0,0,0,0,0,2962,0,0,0,0,0,0,0,2966,0,0,0,3008,0,0,0,0,0,0,0,0,3017,0,0,0,0,0,383,0,69632,73728,0,0,0,0,0,65536,0,3048,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1320,3089,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1858,3130,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1957,540,3225,540,540,540,540,561,561,561,561,561,561,561,561,561,561,561,3414,585,585,585,3281,585,585,585,585,561,540,585,561,540,540,561,561,585,585,0,0,0,3157,3513,540,540,540,540,540,540,540,561,3521,561,3522,561,561,561,3526,540,540,540,3664,561,561,561,3666,585,585,585,3668,0,0,540,540,540,3560,540,540,540,540,540,540,540,540,3568,561,321,321,371,0,0,0,0,0,0,0,0,0,0,0,0,0,1161,0,0,0,0,371,0,430,436,0,442,451,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,490,490,501,490,490,490,490,490,490,490,490,516,516,516,516,516,516,516,516,516,516,516,516,516,516,516,516,544,566,544,566,544,544,566,544,590,566,566,566,566,566,566,566,590,590,590,544,590,590,590,590,590,566,566,544,566,590,566,590,1,12290,3,78112,540,540,540,874,540,540,540,540,540,540,540,540,540,540,540,540,540,1822,540,1360,585,1017,585,585,585,585,585,585,585,585,585,585,585,585,585,561,540,585,585,561,540,540,540,540,561,561,1122,0,1124,1125,0,0,0,1127,1128,0,0,0,0,0,0,0,0,1159168,0,1159168,0,0,0,0,1159168,0,0,1166,1167,0,0,0,0,0,0,0,0,0,0,0,0,1634,0,0,0,1113,0,1253,0,0,0,0,0,1128,0,0,0,0,0,1236,0,0,0,0,773,774,0,0,778,779,0,675,0,0,0,0,0,0,1598,0,0,0,0,0,0,0,0,1605,0,0,1268,1127,0,0,0,0,0,0,0,0,0,540,540,1277,540,540,540,1323,540,540,1325,540,540,1328,540,540,540,540,540,540,540,540,2554,540,540,540,540,540,540,2560,1360,914,561,561,1365,561,561,561,561,561,561,561,561,561,561,561,1400,561,561,561,561,561,561,1404,561,561,561,561,561,561,561,1413,561,561,1415,561,561,0,2648,0,0,0,0,585,585,585,585,585,585,585,2655,561,1419,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1874,561,561,561,1443,561,561,561,561,561,26027,1360,987,585,585,1456,585,585,0,0,3291,0,0,0,0,0,0,0,0,0,0,0,1262,0,0,0,1266,585,585,585,1504,585,585,1506,585,585,585,1510,585,585,585,585,585,561,540,585,585,561,540,540,540,2020,561,561,0,0,0,1657,0,0,0,0,0,0,0,0,0,0,0,0,1675,0,0,0,585,1991,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2695,561,2024,585,585,585,2028,0,2029,0,0,0,0,0,2031,0,0,0,0,0,2502,0,0,0,0,0,0,0,0,0,0,1586,1587,0,0,0,0,0,0,0,2033,0,0,0,0,0,2035,0,0,0,0,0,2038,0,0,2077,0,0,0,0,0,0,0,0,0,0,0,0,0,1177,0,0,0,0,0,0,2091,0,0,0,0,0,0,0,0,0,0,0,540,540,540,2807,540,0,0,0,561,561,561,561,561,561,561,561,2252,561,561,561,561,561,1447,561,561,26027,1360,987,585,585,585,585,585,561,540,585,585,561,2017,540,540,540,2021,561,2256,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1875,2272,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1890,561,561,561,2314,561,2316,561,561,561,561,561,561,561,0,0,0,0,0,0,585,585,585,585,585,585,585,585,585,585,585,585,2340,585,585,585,2399,585,2401,585,585,585,585,585,585,585,561,540,585,585,561,540,540,561,561,540,540,2564,540,540,540,540,540,540,540,540,540,540,540,540,540,540,3212,540,0,0,0,561,561,561,561,2588,561,561,561,561,561,561,561,561,1916,561,26027,0,585,585,585,585,0,2757,0,0,0,0,0,0,0,0,0,0,0,0,0,0,735,0,2834,540,540,540,540,540,540,540,2840,540,540,540,540,540,540,540,540,540,2571,540,540,540,540,540,540,2882,561,561,561,561,561,561,561,2888,561,561,561,561,561,561,561,0,0,585,585,585,2902,585,585,585,2930,585,585,585,585,585,585,585,2936,585,585,585,585,585,585,585,561,540,2714,585,561,540,540,540,540,540,540,3226,540,540,540,561,561,561,561,561,561,561,561,561,561,561,561,561,3074,585,585,585,585,3282,585,585,585,561,540,585,561,540,540,561,561,585,585,0,0,3156,0,585,585,3369,540,540,561,561,585,585,0,0,0,0,0,0,0,0,2617344,0,0,0,0,0,2789376,0,0,0,0,0,3176,0,0,0,3445,0,0,0,0,540,540,540,540,3027,540,540,540,540,3031,540,540,540,540,540,540,3456,540,540,540,540,540,540,540,540,561,561,561,561,561,3524,561,561,561,561,3471,561,561,561,561,561,561,561,561,585,585,585,585,585,585,585,585,585,585,585,3486,585,585,585,585,585,585,585,585,561,0,0,0,0,0,3626,540,540,540,3515,540,540,540,540,540,561,561,561,561,561,561,561,561,561,561,3413,561,561,3528,561,561,561,561,561,585,585,585,585,585,585,585,585,585,585,3113,585,585,585,3541,585,585,585,585,585,561,0,0,0,0,0,0,0,0,0,362,362,208896,0,0,0,0,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,1194,1196,0,0,0,0,322,370,325,369,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,322,0,0,369,369,399,0,325,0,0,0,0,0,0,0,0,0,233472,0,0,0,0,0,0,0,0,0,324,0,0,0,322,452,465,465,465,465,465,465,465,478,465,465,465,465,465,465,465,465,465,465,465,491,491,465,491,491,506,508,491,491,506,491,517,517,517,517,517,517,517,517,517,517,517,517,517,534,517,517,517,517,517,545,567,545,567,545,545,567,545,591,567,567,567,567,567,567,567,591,591,591,545,591,591,591,591,591,567,567,545,567,591,567,591,1,12290,3,78112,659,0,0,0,0,0,0,0,0,0,0,670,671,0,0,0,0,0,439,0,0,0,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,557,580,557,580,557,557,580,557,604,0,0,707,708,0,0,0,0,0,714,0,0,0,718,0,720,0,769,770,0,0,0,0,0,0,0,0,0,0,0,0,0,1209,0,0,787,0,789,0,0,0,0,0,0,0,0,0,0,0,0,0,1224,0,0,0,801,0,806,0,809,0,0,0,0,806,809,0,0,0,809,0,707,0,0,826,0,0,0,0,0,826,826,829,809,806,0,0,0,0,0,0,0,789,0,801,0,818,0,0,0,0,0,2745,0,0,0,0,0,0,0,0,0,0,811,540,540,854,540,540,0,0,0,789,0,0,0,0,0,838,0,0,0,0,0,0,0,2142,540,540,540,540,540,540,540,540,540,540,2819,540,540,540,540,540,0,0,0,787,0,0,0,838,818,838,0,540,540,852,540,858,540,540,871,540,881,540,886,540,540,893,896,901,540,909,540,540,540,540,540,3215,540,540,540,540,540,540,540,540,540,540,895,540,540,540,540,540,561,561,561,922,561,928,561,561,941,561,561,952,561,957,561,561,0,2648,0,0,0,0,585,585,585,585,585,2653,585,585,0,0,2959,0,0,0,0,0,0,0,0,0,2965,0,965,968,973,561,981,561,561,0,585,585,585,995,585,1001,585,585,0,2958,0,0,0,0,0,0,0,0,0,0,0,0,131072,131072,0,0,1014,585,585,1025,585,1030,585,585,1038,1041,1046,585,1054,585,585,968,0,0,0,540,585,585,561,852,540,1066,901,540,922,561,1071,973,0,0,0,1110,0,0,0,0,0,0,0,1117,0,0,0,0,0,0,775,0,0,0,0,0,0,0,0,0,1205,0,0,0,0,0,0,0,1137,1138,0,0,0,0,1142,0,0,0,362,362,0,0,0,0,0,664,0,0,0,0,0,0,0,0,0,0,1206,0,0,0,0,0,0,1165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,784,0,0,0,1182,741,0,0,0,1134,0,0,0,0,0,0,0,0,0,245760,0,0,0,0,0,0,1303,540,540,540,540,540,540,540,540,540,540,540,540,540,1318,540,540,540,540,2173,540,540,540,540,540,540,540,540,540,540,540,540,2558,540,540,540,1360,914,561,561,561,561,561,561,561,561,561,1372,561,561,561,561,561,1850,561,561,561,561,561,561,561,561,561,561,1902,1903,561,561,561,561,561,561,1387,561,561,561,1392,561,561,561,561,561,561,561,561,561,1432,561,561,561,561,561,1439,561,561,561,1421,561,561,561,561,561,561,561,561,561,561,1437,561,0,585,585,585,1049,585,78112,1079,0,0,0,0,0,0,0,836,0,0,0,0,0,0,811,0,585,585,585,585,1463,585,585,585,585,585,585,1478,585,585,585,1483,0,0,1608,1609,1610,0,1612,1613,0,0,0,0,1618,0,0,0,0,0,679,751,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2144,0,0,1640,0,0,1643,0,1645,0,0,0,0,0,1651,1652,0,0,0,0,785,0,0,0,0,0,0,540,846,540,540,540,540,540,540,3216,540,540,540,540,540,3221,540,3223,540,0,1668,0,0,1670,0,0,0,0,1672,1673,0,0,0,0,0,0,0,69632,73728,0,0,0,347,345,65536,0,1692,0,0,0,0,0,1698,1699,0,1701,1702,1703,0,0,0,0,0,0,810,811,0,0,0,0,811,0,0,0,1719,0,0,0,1723,1724,0,0,0,0,0,0,0,0,0,0,346,0,0,0,0,0,0,0,1715,0,0,0,1735,1585,1585,1737,540,1739,540,1740,540,1742,540,540,540,1746,540,540,540,540,540,540,540,540,540,1759,540,540,540,540,540,3318,540,540,540,540,540,540,540,540,540,540,540,2557,540,540,540,540,540,540,1763,540,540,540,540,1767,540,1769,540,540,540,540,540,540,540,540,2570,540,540,540,540,540,540,540,540,540,3041,540,540,540,540,540,540,540,540,1777,1778,1780,540,540,540,540,540,540,1787,1788,540,540,1791,1792,540,540,540,540,540,540,540,1800,540,540,540,1804,540,540,540,540,540,540,2829,540,540,540,540,540,540,540,540,540,540,1770,540,540,540,540,540,0,1828,561,1830,561,561,1832,561,1834,561,561,561,1838,561,561,561,561,585,585,585,585,0,0,2725,0,0,0,0,0,0,0,69632,73728,0,135168,135168,0,0,65536,135168,1859,561,1861,561,561,561,561,561,561,561,561,1869,1870,1872,561,561,0,2648,0,0,0,0,585,585,585,585,2652,585,585,585,585,585,585,2390,585,585,585,585,585,585,585,585,585,585,3124,585,585,585,585,585,561,561,561,1894,561,561,561,1898,561,561,561,561,561,561,561,1906,585,1926,585,1928,585,585,585,1932,585,585,585,585,585,585,585,585,561,540,585,561,540,540,561,561,585,585,0,0,0,0,585,1945,585,585,585,585,1949,585,585,585,585,1953,585,1955,585,585,561,3146,3147,3148,540,540,561,561,585,585,0,0,0,0,0,0,2488,0,0,0,0,0,0,0,0,0,2096,0,0,0,0,0,0,1974,1975,1976,585,585,1979,1980,585,585,585,585,585,585,585,1988,585,561,0,1288,585,1468,1377,540,540,540,1549,540,561,561,561,1553,585,585,1992,585,585,585,585,585,585,585,2e3,585,585,585,585,585,561,561,540,561,585,561,585,1,12290,3,78112,585,585,585,585,2011,561,540,2014,585,561,1792,540,2019,540,1886,561,0,585,585,1040,585,585,78112,1079,0,0,0,0,0,0,0,0,1134592,0,0,1134592,0,0,0,0,2023,561,1980,585,2027,585,0,2029,0,0,0,0,0,2031,0,0,0,0,0,2761,0,0,0,0,0,0,0,0,0,0,661,0,0,0,0,0,0,2089,0,0,0,0,2093,0,0,0,0,0,0,0,0,0,377,0,0,0,0,0,0,0,0,0,0,2119,0,2121,0,0,0,0,0,0,0,2129,0,0,0,0,786,0,805,0,0,0,0,540,849,540,540,540,540,540,2216,540,540,540,540,540,540,2221,540,540,540,540,540,540,3633,561,561,561,561,561,561,3639,585,585,0,0,0,2134,0,0,0,0,2139,0,0,0,0,0,0,0,0,2990080,2179072,2179072,2502656,2179072,2179072,2179072,2179072,540,2187,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1337,540,2211,2212,540,540,540,540,540,540,2219,540,540,540,540,540,540,540,540,540,2582,540,540,540,0,0,0,561,561,2258,561,2260,561,561,561,561,561,561,2268,561,2270,561,561,561,561,1426,561,561,561,561,561,561,561,561,561,561,561,3343,561,561,561,561,3344,3345,561,561,2343,585,2345,585,585,585,585,585,585,2353,585,2355,585,585,585,585,561,0,0,0,3648,0,540,540,540,540,3652,540,585,585,585,585,2389,585,585,585,585,585,585,585,585,585,585,585,585,2705,585,585,585,585,585,585,585,2402,585,585,2405,2406,585,585,561,2177,585,2345,2260,540,2414,540,540,561,2418,561,561,585,2422,585,585,2029,0,2031,0,0,0,0,795,663,844,0,0,0,0,540,848,540,540,540,540,540,1283,540,540,540,540,540,540,1298,540,540,540,540,540,540,2580,540,540,540,540,540,540,0,2584,0,0,0,2450,0,0,0,0,0,0,0,0,0,0,0,0,0,1239,0,0,0,2459,0,0,0,0,0,2464,0,2466,2467,0,0,0,0,0,0,0,69632,73728,0,0,0,371,0,65536,0,0,2498,0,0,0,0,0,0,0,2505,0,0,0,0,0,0,0,2479,0,0,0,2481,0,0,0,0,2561,540,540,540,2566,540,540,540,540,540,540,540,2573,540,540,540,540,540,540,2838,540,540,540,540,540,540,540,540,540,540,1296,540,540,540,540,540,0,0,0,561,561,561,561,561,561,561,2591,561,561,561,561,561,561,2640,561,561,561,2643,561,561,561,561,561,561,2886,561,561,561,561,561,561,561,561,561,1867,561,561,561,561,561,561,2621,561,561,561,561,2625,561,561,561,2630,561,561,561,561,561,561,585,585,585,585,585,585,0,3661,0,0,561,2637,561,561,561,561,561,561,561,2642,561,561,561,561,561,561,585,585,585,585,585,585,585,585,585,3427,585,2669,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,3267,2797,2798,0,0,0,0,0,0,0,0,0,540,540,540,540,540,1741,540,0,0,2982,2983,0,2984,0,2986,0,0,0,0,2988,0,0,0,0,0,680,681,0,0,0,0,0,0,0,0,0,2047,0,0,0,0,0,0,0,0,3007,0,0,2988,0,0,3013,3014,0,3016,0,0,3019,0,0,0,0,800,0,0,0,0,0,0,0,0,0,0,0,0,800,0,0,0,0,3022,540,540,540,540,540,540,3029,540,540,540,540,540,3033,3062,540,561,561,561,561,561,561,3069,561,561,561,561,561,3073,561,0,585,585,1042,585,585,288,1079,0,0,1082,1086,0,0,1090,3103,561,585,585,585,585,585,585,3110,585,585,585,585,585,3114,585,561,0,1543,585,1545,1546,540,540,1548,540,540,561,561,1552,561,0,585,585,1044,585,585,78112,1079,0,0,0,0,0,0,0,794,0,0,0,0,0,0,0,798,3144,585,561,540,585,561,540,3150,561,3152,585,3154,0,0,0,0,0,0,825,0,819,0,664,0,0,0,0,0,0,0,69632,73728,221184,0,0,0,0,65536,0,0,0,3160,0,0,3163,0,0,0,0,0,0,0,0,0,0,396,0,0,0,0,0,0,0,0,0,3170,0,0,0,0,0,0,0,0,0,0,0,540,540,2806,540,540,540,3202,540,540,540,540,540,540,540,3207,540,540,540,540,540,540,540,540,3040,540,540,540,540,540,540,540,540,540,3322,540,540,540,540,540,540,561,3234,561,561,561,561,561,561,561,561,561,561,561,561,561,561,1889,561,3245,561,561,561,561,561,561,561,561,561,561,561,561,561,561,585,585,585,585,585,585,585,3257,585,585,585,585,585,585,585,3262,585,585,585,585,585,561,2013,585,2015,2016,540,2018,540,540,561,2022,561,561,561,3349,561,561,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2667,0,3378,3379,0,3176,0,3383,0,0,0,0,0,0,0,0,0,384,0,0,0,0,0,384,0,0,0,3441,3176,0,0,0,0,0,0,0,0,540,540,540,540,540,2167,540,540,0,0,0,0,3503,0,0,0,0,540,540,540,540,540,540,3512,0,0,3557,3558,3559,540,540,540,3562,540,3564,540,540,540,540,3569,3570,3571,561,561,561,3574,561,3576,561,561,561,561,3581,3582,3583,585,561,1203,540,585,585,561,540,540,540,540,540,561,561,561,561,585,585,585,585,0,0,0,0,0,0,0,0,0,0,585,585,3586,585,3588,585,585,585,585,3593,0,0,0,0,0,0,0,2747,2748,2749,0,0,0,0,0,0,0,2763,0,0,0,0,0,0,0,0,0,254413,254413,254413,254413,254413,254413,254413,254413,1,12290,0,0,540,3628,540,540,540,3632,561,561,3634,561,561,561,3638,585,585,3640,585,585,585,3644,561,0,0,0,0,0,540,540,540,540,540,540,540,3563,540,3565,540,540,540,561,0,0,0,326,327,0,0,0,0,0,0,0,0,0,0,0,674,0,0,0,0,0,366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1120,0,0,0,0,366,0,0,0,374,376,0,0,0,0,0,0,0,344,0,402,0,0,0,0,0,402,0,0,409,0,0,0,409,69632,73728,0,366,366,0,421,65536,366,0,0,366,421,498,502,498,498,507,498,498,498,507,498,421,421,327,421,0,0,421,0,421,0,0,0,0,0,0,0,372,0,0,0,0,0,0,0,0,0,0,0,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421,546,568,546,568,546,546,568,546,592,568,568,568,568,568,568,568,592,592,592,546,592,592,592,592,592,568,568,546,568,592,568,592,1,12290,3,78112,0,0,677,0,0,0,0,0,0,0,0,0,0,0,0,0,1248,0,0,540,540,540,875,540,540,540,540,540,540,540,540,540,540,540,540,540,2183,540,540,561,561,915,561,561,561,561,561,561,945,561,561,561,561,561,561,585,3421,585,585,3423,585,585,585,585,585,585,1018,585,585,585,585,585,585,585,585,585,585,585,585,585,561,0,0,0,0,0,0,540,0,0,0,540,988,585,561,540,540,540,540,540,561,561,561,561,561,3068,561,561,561,561,561,561,561,561,932,561,561,946,561,561,561,561,561,561,934,561,561,561,561,561,561,561,561,561,3240,561,561,561,561,561,561,0,0,1109,0,0,0,0,0,0,0,0,0,0,0,0,0,1604,0,0,0,0,1229,0,1109,0,0,0,0,0,0,0,0,0,0,0,686,0,0,0,0,540,540,540,1281,540,540,540,540,540,1293,540,540,540,540,540,540,540,540,3054,3056,540,540,540,3059,540,3061,1360,914,561,561,561,561,561,561,561,1370,561,561,561,561,561,1382,585,585,1461,585,585,585,585,585,1473,585,585,585,585,585,585,585,585,2914,585,585,585,585,585,585,585,585,3122,585,585,585,585,585,585,585,585,3136,3138,585,585,585,3141,585,3143,0,1720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1134,0,1990,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1972,585,585,585,2373,585,585,585,585,585,585,585,585,585,585,585,585,585,2370,585,585,585,585,2698,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2383,585,0,0,0,3161,0,0,0,0,0,0,0,0,0,0,0,0,1688,0,0,0,561,561,3235,561,561,561,561,561,561,561,561,561,561,561,561,561,0,2325,0,3663,540,540,540,3665,561,561,561,3667,585,585,585,0,0,540,540,540,2526,540,540,540,540,540,540,540,540,540,540,540,540,3058,540,540,540,422,422,0,422,431,0,422,0,422,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,492,492,466,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,547,569,547,569,547,547,569,547,593,569,569,569,569,569,569,569,593,593,593,547,593,593,593,593,593,569,569,547,569,593,569,593,1,12290,3,78112,0,0,0,0,2159,0,0,0,540,540,540,540,540,540,540,540,540,540,3032,540,540,540,540,540,2202,540,540,540,540,540,540,540,540,540,540,540,540,540,2208,540,540,2413,540,540,540,2417,561,561,561,2421,585,585,585,0,0,0,0,3293,0,0,0,0,0,3296,0,0,0,2458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1250,2967,0,0,0,2971,0,0,0,0,0,2977,0,0,0,0,0,0,0,69632,73728,0,0,0,418,0,65536,0,0,2992,0,0,2995,0,0,0,0,0,3e3,0,0,0,0,0,0,0,69632,73728,0,367,367,0,0,65536,367,0,0,0,3023,540,540,540,540,540,540,540,540,540,540,540,540,540,2222,540,540,540,540,3049,540,540,540,540,540,540,540,540,3057,540,540,3060,540,540,540,540,2189,540,540,540,540,540,540,540,540,540,540,540,540,2583,0,0,0,540,540,3063,561,561,561,561,561,561,561,561,561,561,561,561,561,0,2326,0,561,561,3090,561,561,561,561,561,561,561,561,3098,561,561,3101,561,0,585,585,1045,585,585,78112,1079,0,0,0,0,0,0,0,1102,1101,0,0,0,0,0,0,0,0,0,0,0,0,540,1275,540,561,561,3104,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2666,585,585,585,3131,585,585,585,585,585,585,585,585,3139,585,585,3142,585,585,585,585,585,1930,585,585,585,585,585,585,585,585,1941,585,585,585,585,585,1948,585,585,585,585,585,585,585,585,585,585,585,3263,585,585,585,585,0,0,0,0,3179,0,0,0,0,0,0,0,0,0,0,0,732,0,0,0,0,0,0,3192,0,0,0,0,0,0,0,0,0,0,0,540,540,540,540,2808,3201,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1359,540,3213,540,540,540,540,540,540,540,3218,540,3220,540,540,540,540,540,540,561,3227,561,561,561,3230,561,561,561,561,561,982,561,0,585,585,585,585,999,585,585,585,561,561,3246,561,3248,561,561,561,561,561,561,561,561,561,561,585,585,585,585,585,3537,585,585,585,585,3256,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,3278,585,585,3268,585,585,585,585,585,585,585,585,3274,585,3276,585,585,561,3370,540,3371,561,3372,585,0,0,0,0,0,0,0,785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1179,540,540,3328,540,540,540,540,540,540,540,561,561,561,561,561,561,561,561,561,3233,561,561,561,561,3340,561,561,561,561,561,561,561,561,561,3346,561,0,994,1075,1039,585,585,78112,1079,0,0,1081,1085,0,0,1089,3358,585,585,585,585,585,585,585,585,585,3364,585,585,585,585,585,585,585,1981,1982,585,585,585,585,585,585,585,561,540,585,585,561,2951,540,2953,561,561,561,3654,3655,561,561,585,585,3658,3659,585,585,0,0,0,0,0,0,1126,0,0,0,1130,1131,0,0,0,0,0,0,1141,0,1143,0,0,362,362,0,0,0,691,0,0,0,0,696,0,0,0,362,362,362,0,0,0,0,0,0,1154,0,0,0,0,0,1160,0,1162,0,758,0,0,0,0,0,0,758,0,0,0,0,0,758,758,0,0,0,0,803,0,0,0,0,0,0,0,0,0,0,0,0,0,0,832,0,0,0,0,0,0,0,0,0,758,0,0,0,0,0,0,0,0,0,0,0,856,585,999,926,540,540,540,540,910,561,561,561,561,561,1880,1881,1882,561,561,1885,1886,561,561,561,561,561,1896,561,561,561,561,561,561,561,561,561,561,2603,561,2605,561,561,561,982,0,585,585,585,585,1055,78112,1079,0,0,0,0,0,0,0,375,0,378,0,0,0,378,0,0,0,0,1709,0,0,0,0,0,0,0,0,0,0,0,0,0,1619,0,0,585,585,585,2010,585,561,540,585,585,561,540,540,540,540,561,561,561,3066,561,561,561,561,561,561,561,561,561,561,2600,561,561,561,561,561,561,561,561,0,0,987,585,585,585,585,585,0,2039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1178,0,540,540,540,2172,540,540,540,540,540,540,540,540,540,540,540,540,540,2238,2584,0,0,0,0,561,561,561,561,561,561,561,561,561,561,561,561,2255,0,0,0,0,2461,0,0,0,0,0,0,0,0,0,0,0,747,0,0,0,0,3288,585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1184,1184,561,561,561,561,3350,561,585,585,585,585,585,585,585,585,585,585,585,2939,585,585,585,585,3368,585,561,540,540,561,561,585,585,0,0,0,0,0,0,0,394,0,0,0,0,0,394,0,0,467,467,485,493,493,485,493,493,493,493,493,493,493,493,518,526,526,526,526,526,526,526,526,526,526,526,526,526,535,526,526,526,526,526,548,570,548,570,548,548,570,548,594,570,570,570,570,570,570,570,594,594,594,548,594,594,594,594,594,570,570,548,570,594,570,594,1,12290,3,78112,767,0,0,771,0,0,0,0,0,0,0,0,0,0,0,0,1704,0,0,0,821,0,0,0,798,0,0,821,0,0,0,0,0,821,821,0,0,0,0,805,0,0,786,0,0,0,0,805,0,0,0,0,0,0,0,805,0,0,0,0,0,798,0,0,0,0,0,0,839,794,0,0,839,0,0,0,0,808,0,0,692,0,0,672,0,692,0,813,675,676,0,0,0,0,0,682,0,0,0,0,0,0,0,0,340,0,0,0,0,0,0,0,540,867,540,540,540,540,540,540,540,540,540,540,540,540,911,540,540,540,540,2215,540,540,540,540,540,540,540,540,540,540,540,1756,540,540,540,540,983,0,585,585,585,1077,1056,78112,1079,0,0,0,0,0,0,0,412,412,0,0,0,0,0,412,0,1180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1621,0,0,1241,0,0,0,0,0,0,0,0,1246,0,0,0,0,0,0,1170,0,0,0,0,0,0,0,0,0,816,0,0,0,0,0,0,540,1305,540,540,540,540,540,540,540,1313,540,540,540,540,540,540,540,540,3332,540,561,561,561,561,561,561,935,561,561,561,561,561,561,561,561,561,3094,561,3096,561,561,561,561,561,561,1340,540,540,1344,540,540,540,540,540,1350,540,540,540,1357,540,540,540,540,540,3458,540,3460,3461,540,3463,540,561,561,561,561,561,2262,561,561,561,561,561,561,561,561,561,561,1399,561,561,561,561,561,1360,914,561,561,561,561,561,561,561,561,561,561,561,1375,561,561,561,561,1848,561,561,561,561,561,561,561,561,561,561,561,2868,561,561,561,561,561,1441,561,561,561,1448,561,561,26027,1360,987,585,585,585,585,585,585,585,1998,585,585,585,585,585,2003,585,585,1485,585,585,585,585,585,585,585,1493,585,585,585,585,585,585,585,585,3261,585,585,585,585,585,585,585,585,3272,585,585,585,585,585,585,585,585,3283,540,585,561,540,540,561,561,585,1522,585,585,1526,585,585,585,585,585,1532,585,585,585,1539,585,585,585,585,585,1996,1997,585,585,585,585,585,585,585,585,585,1531,585,585,585,585,585,585,0,0,0,1595,0,0,0,0,0,0,0,0,0,0,0,0,1716,0,0,0,0,0,1656,0,0,0,0,0,0,0,0,0,1665,0,0,0,0,0,710,0,0,0,0,0,0,0,0,0,0,662,0,0,0,0,0,540,540,540,540,540,1708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1653,0,0,0,1722,0,0,0,0,0,0,0,0,0,0,0,0,1729,0,0,0,0,0,0,1706,0,0,0,0,0,540,540,540,540,540,540,540,540,540,540,3398,540,3400,540,561,561,1893,561,561,561,561,561,561,1901,561,561,561,561,561,561,1410,561,561,561,561,561,561,561,561,561,1428,561,561,561,561,561,561,561,561,561,1917,26027,0,1922,585,1924,585,561,561,561,1910,1912,561,561,561,561,561,26027,0,585,585,585,585,585,585,2335,585,585,585,585,585,585,585,585,561,0,3622,0,3624,0,0,540,585,585,585,585,1978,585,585,585,585,585,585,585,585,1987,585,585,585,585,585,585,2934,585,585,585,585,585,585,585,585,585,585,2407,561,540,585,585,561,585,585,585,585,1995,585,585,585,585,585,585,585,585,585,2004,2006,0,0,0,2078,0,0,0,2081,0,0,0,0,0,2087,0,0,0,0,0,2774,0,0,0,2778,0,2780,0,0,0,0,0,0,2746,0,0,0,0,0,0,0,0,0,362,362,362,0,0,0,0,0,2103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1265,0,0,0,0,561,561,561,561,561,2249,561,561,561,561,561,561,561,0,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1519,585,585,2346,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2919,585,2448,0,0,0,0,0,0,0,0,2453,0,0,2456,0,0,0,0,0,726,0,0,0,0,0,0,0,0,0,736,0,0,0,2460,0,0,0,0,0,0,0,0,0,0,0,2471,0,0,0,2485,2486,0,0,2489,0,0,2492,0,0,0,0,0,0,0,69632,73728,0,417,417,0,0,65536,417,0,0,2499,0,0,0,0,0,0,0,0,0,0,0,2510,0,0,0,0,815,0,812,795,0,0,817,0,667,0,791,0,0,0,0,1096,0,0,1098,0,0,0,0,0,0,0,0,827,0,0,0,0,0,0,0,0,540,2524,540,540,540,540,540,540,540,540,540,540,540,540,540,1789,540,540,540,540,540,2551,540,540,540,540,540,540,540,540,540,540,540,540,540,2559,540,540,2562,540,540,540,540,540,540,2569,540,540,540,540,540,540,540,540,540,540,3323,540,540,540,540,540,540,2576,540,540,540,2579,540,540,540,540,540,540,540,0,0,0,0,0,755,0,0,0,0,0,0,0,0,765,0,0,0,0,561,2586,561,561,561,561,561,561,561,561,561,561,561,3254,561,561,561,585,585,585,585,585,2672,585,585,585,585,585,585,2677,585,585,585,585,561,0,3646,0,0,0,540,540,540,540,540,540,2529,540,540,540,540,540,540,540,540,540,540,2842,540,540,540,540,540,585,585,585,2683,585,585,585,585,585,585,2690,585,585,585,585,585,585,585,2351,585,585,585,585,585,585,585,585,1508,585,585,585,585,585,585,585,585,2697,585,585,585,585,585,585,585,585,585,2704,585,585,585,2707,0,0,0,0,2735,0,0,0,0,0,0,0,2739,0,0,0,0,0,799,0,0,0,0,0,540,540,540,540,540,2528,540,540,540,540,540,540,540,540,540,540,2234,540,540,540,540,0,540,540,540,2811,540,540,540,540,540,540,540,540,540,540,540,540,540,2821,540,540,540,540,540,2836,540,540,540,2839,540,2841,540,540,540,540,540,540,540,540,3520,561,561,561,561,561,561,561,1450,26027,1360,987,585,585,585,585,585,2845,540,540,540,540,540,540,0,0,561,561,2853,561,561,561,561,561,1913,561,561,561,561,26027,0,585,585,585,585,2333,585,585,585,585,585,585,585,585,585,585,1050,585,585,585,585,561,561,2858,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2284,561,561,561,2874,2875,561,561,561,561,2878,561,561,561,561,561,561,561,0,585,585,585,585,585,585,1005,585,561,561,561,2884,561,561,561,2887,561,2889,561,561,561,561,561,561,1449,561,26027,1360,987,1453,585,585,585,585,2893,561,561,561,561,561,561,0,0,585,585,2901,585,585,585,585,585,585,585,3121,585,585,585,585,585,585,585,585,561,540,585,561,540,3285,561,3287,585,2906,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,3367,585,585,2922,2923,585,585,585,585,2926,585,585,585,585,585,585,585,585,3592,561,0,0,0,0,3595,0,585,585,585,2932,585,585,585,2935,585,2937,585,585,585,585,585,585,585,1933,585,585,585,585,1939,585,585,585,2941,585,585,585,585,585,585,561,540,585,585,561,540,540,561,561,585,585,0,0,0,0,0,0,0,0,2963,0,0,0,0,0,585,585,2957,0,0,2960,2961,0,0,0,0,0,0,0,0,0,662,0,662,0,0,0,0,0,0,0,0,3009,0,0,3012,0,0,0,0,0,0,0,0,0,2200253,151552,2200253,0,0,0,151552,540,540,540,540,3037,540,540,540,540,540,540,540,540,540,540,540,540,3325,540,540,540,540,540,540,540,3051,540,540,540,540,540,540,540,540,540,540,540,540,3465,561,561,561,561,561,561,3077,561,561,561,561,561,561,561,561,561,561,561,561,1887,1888,561,561,561,561,561,561,3092,561,561,561,561,561,561,561,561,561,561,561,3480,585,585,585,585,561,561,585,585,585,585,3108,585,585,585,585,3112,585,585,585,585,585,585,585,3135,585,3137,585,585,585,585,585,585,561,0,0,0,0,0,3552,0,0,0,585,585,585,3118,585,585,585,585,585,585,585,585,585,585,585,585,1512,585,585,585,585,585,585,585,3133,585,585,585,585,585,585,585,585,585,585,585,585,2917,585,585,2920,0,0,3168,3169,0,0,0,0,0,0,0,0,0,0,0,0,2071,0,0,0,540,540,540,540,3329,540,540,540,540,540,561,561,561,561,561,561,561,561,561,3412,561,561,3336,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2285,3347,561,561,561,561,561,585,585,585,585,585,585,3354,585,585,585,585,585,585,2404,585,585,585,585,561,2178,585,2346,2261,3389,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2534,0,0,0,0,3176,0,0,0,0,0,3447,3448,0,540,540,540,540,2527,540,540,540,540,2531,540,540,540,540,540,540,540,1312,540,540,540,540,540,540,540,540,540,1784,540,540,540,540,540,540,561,561,561,561,3473,561,3475,3476,561,3478,561,585,585,585,585,585,1079,0,0,0,0,0,0,0,0,0,0,254413,0,0,0,0,0,585,585,585,3488,585,3490,3491,585,3493,585,3495,0,0,0,0,0,0,0,69632,73728,313,314,314,419,420,65536,427,585,585,3617,585,3618,585,585,585,561,0,0,0,0,0,0,540,585,585,561,540,540,540,904,540,561,561,561,976,561,561,585,585,3673,3674,3675,3676,0,540,561,585,0,540,561,585,585,585,585,585,1079,0,0,1563,0,0,0,1569,0,0,0,0,0,2789,0,0,0,0,0,0,0,0,0,0,1591,0,0,0,0,0,571,571,571,571,571,571,571,595,595,595,540,595,595,595,595,595,571,571,540,571,595,571,595,1,12290,3,78112,737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1707,0,0,2040,0,0,0,0,0,0,0,0,0,0,0,0,0,1635,0,0,2170,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1360,0,0,0,561,561,561,561,561,561,561,561,561,2253,561,561,561,561,926,561,561,561,561,561,561,561,561,561,561,561,2307,561,561,561,2310,400,0,0,0,0,378,0,69632,73728,0,0,0,0,423,65536,0,0,0,0,1111,0,0,0,0,0,0,0,0,0,0,0,1687,0,1689,0,0,423,423,0,423,0,437,423,0,423,468,468,468,475,468,468,468,468,468,468,468,468,475,468,468,468,468,468,468,468,468,482,468,494,494,468,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,537,549,572,549,572,549,549,572,549,596,572,572,572,572,572,572,572,596,596,596,549,596,596,596,596,596,572,572,549,572,596,572,596,1,12290,3,78112,0,660,661,0,0,0,0,0,0,0,0,0,0,0,0,0,1666,0,0,830,0,0,0,661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,729,0,742,661,0,0,0,0,0,540,847,540,540,540,540,540,540,3330,540,540,540,561,561,561,561,561,3335,861,540,540,540,540,540,540,540,540,540,897,540,540,540,540,540,540,540,1799,540,540,540,540,540,540,1807,540,561,561,916,561,561,561,931,561,561,561,561,561,561,561,561,561,2266,561,561,561,561,561,561,0,0,0,540,989,585,561,540,540,897,540,540,561,561,969,561,561,561,561,561,0,585,585,989,585,585,585,1004,585,1094,0,0,0,0,0,0,0,0,0,1101,1102,0,0,0,0,0,0,1203,0,0,0,0,0,0,0,0,0,0,196608,0,0,0,0,0,540,540,540,1308,540,540,540,540,540,540,540,540,540,540,540,540,540,3222,540,540,1360,914,561,1363,561,561,561,561,561,561,561,561,561,561,1376,1383,561,561,561,1444,561,561,561,561,26027,1360,987,585,1454,585,585,585,585,585,585,2659,585,585,2662,2663,585,585,585,585,585,585,585,2712,540,585,585,561,540,540,540,540,585,585,1488,585,585,585,585,585,585,585,585,585,585,585,585,585,585,3128,585,1521,585,585,585,585,585,585,585,585,585,585,585,1535,585,585,585,585,585,585,2673,585,585,585,2676,585,585,2678,585,2679,561,585,585,1521,585,585,1079,0,0,0,0,0,0,0,0,0,759,0,0,0,0,0,0,1826,561,561,561,561,561,561,561,561,561,561,561,561,561,1841,1842,585,585,2009,585,585,561,540,585,585,561,540,540,540,540,561,561,561,561,1849,561,561,561,561,561,561,561,561,561,561,561,2880,561,561,561,561,561,2063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2074,540,540,2226,540,540,540,540,540,540,540,540,540,540,540,540,0,0,561,561,561,2854,561,561,561,561,561,561,2301,561,561,561,561,561,561,2306,561,561,561,561,561,561,3079,561,561,561,561,561,3085,561,561,3088,2311,561,561,561,561,561,561,561,561,561,561,561,561,0,0,0,0,0,0,585,585,585,585,585,585,2654,585,585,585,585,585,2374,585,585,585,585,585,585,585,585,585,585,585,585,3140,585,585,585,585,2386,585,585,585,585,585,585,2391,585,585,585,585,585,2396,585,585,585,585,585,2012,540,585,585,561,540,540,540,540,561,561,561,561,2624,561,561,561,561,561,561,2632,561,561,561,561,561,2288,561,561,561,561,561,561,561,561,561,561,2631,561,561,561,561,561,2435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2114,0,0,0,0,2476,0,0,0,0,0,0,0,0,0,0,0,748,0,0,0,0,0,2732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1590,1591,0,0,0,2772,0,0,0,0,2777,0,0,0,0,0,0,0,540,562,540,562,540,540,562,540,586,540,540,2810,540,540,540,540,540,540,2818,540,540,540,540,540,540,540,889,540,540,540,540,907,540,540,540,540,540,540,540,2849,540,540,0,0,561,561,561,561,561,561,561,561,561,1836,561,561,561,561,561,2857,561,561,561,561,561,561,2865,561,561,561,561,561,561,561,561,3081,561,561,561,561,561,561,561,561,561,561,561,2897,561,561,0,0,585,585,585,585,585,585,585,1467,1474,585,585,585,585,585,585,585,585,3621,0,0,0,0,0,0,540,2905,585,585,585,585,585,585,2913,585,585,585,585,585,585,585,585,585,1983,585,585,1986,585,585,585,585,585,585,585,2945,585,585,561,540,585,585,561,540,540,561,561,585,585,0,0,0,0,0,3376,0,585,3280,585,585,585,585,585,585,561,540,585,561,540,540,561,561,585,585,0,3155,0,0,585,585,585,3587,585,3589,585,585,585,561,0,0,0,0,0,0,0,2791,0,0,0,2793,0,0,0,0,0,0,0,0,3600,540,540,540,540,540,540,540,540,540,540,540,1314,540,540,540,540,3607,561,561,561,561,561,561,561,561,561,561,561,3614,585,585,585,585,585,585,2686,585,585,585,585,585,585,585,585,585,1045,585,585,585,585,585,972,561,3653,561,561,561,561,585,3657,585,585,585,585,0,0,0,0,0,0,1204,0,0,0,0,0,0,0,0,0,362,0,290,0,0,0,345,469,469,469,453,453,469,453,453,453,453,453,453,453,453,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,550,573,550,573,550,550,573,550,597,573,573,573,573,573,573,573,597,597,597,550,597,597,597,597,597,573,573,550,573,597,573,597,1,12290,3,78112,862,540,540,876,540,540,540,540,540,540,540,540,540,540,540,540,1315,540,540,540,585,1019,585,585,585,585,585,585,585,585,585,585,585,585,585,561,0,0,0,3498,0,0,1123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1607,0,0,0,0,1254,0,0,0,0,0,0,0,0,0,0,0,0,2111,0,0,0,540,1341,540,540,540,540,540,1348,540,540,540,540,540,540,540,540,540,540,3333,561,561,561,561,561,585,585,585,585,1505,585,585,585,585,585,585,585,585,585,585,585,585,3365,585,585,585,585,585,1523,585,585,585,585,585,1530,585,585,585,585,585,585,585,1468,585,585,585,585,585,585,585,585,585,2378,585,585,585,585,585,585,561,585,585,585,1557,585,1079,0,1561,0,0,0,1567,0,0,0,0,0,803,0,0,0,0,0,0,0,803,0,0,0,0,540,540,540,540,540,1573,0,0,0,1579,0,0,0,0,0,0,0,0,0,0,0,749,0,0,0,0,0,0,0,1695,0,0,0,0,0,0,0,0,0,0,0,0,2127,0,0,0,540,1762,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1358,540,1843,561,561,561,561,561,561,561,561,561,1854,561,561,561,561,561,561,3239,561,561,561,561,561,561,561,561,561,3578,561,561,585,585,585,585,0,2064,2065,0,0,0,0,0,0,0,0,0,0,0,0,0,1717,0,0,0,0,0,0,2135,0,0,0,0,0,0,0,0,0,0,0,1159,0,0,0,0,2186,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1808,540,540,2213,540,540,540,540,2218,540,540,540,540,540,540,540,540,540,1754,540,540,540,540,540,540,2240,0,0,561,561,561,561,561,561,561,561,561,561,561,561,561,1401,561,561,2298,561,561,561,561,2303,561,561,561,561,561,561,561,561,561,561,3083,561,561,561,561,561,585,585,585,2388,585,585,585,585,585,585,585,585,585,585,585,585,1938,585,585,585,3034,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2210,0,0,0,3380,3176,0,0,0,0,0,0,0,0,0,0,0,1175,0,0,0,0,540,540,3404,540,561,561,561,561,561,561,561,561,561,561,561,561,2282,561,561,561,561,561,561,561,3419,561,585,585,585,585,585,585,585,585,585,585,1049,585,585,585,585,561,540,3454,540,540,540,540,540,540,540,540,540,540,561,561,561,561,3523,561,561,561,3469,561,561,561,561,561,561,561,561,561,561,585,585,585,585,3484,385,387,337,0,0,0,0,0,0,336,0,0,337,0,0,0,0,0,1097,0,0,0,0,0,0,0,0,0,0,2057,0,0,0,0,0,0,0,0,384,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,1139,1140,0,0,0,0,0,362,362,0,0,0,0,0,703,0,0,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,0,336,0,0,438,0,444,0,470,470,470,470,470,470,470,551,574,551,574,551,551,574,551,598,480,470,470,470,499,476,499,499,499,499,499,499,499,499,470,470,476,470,470,470,470,470,470,470,470,470,470,480,470,481,480,470,470,470,470,574,574,574,574,574,574,574,598,598,598,551,598,598,598,598,598,574,574,551,574,598,574,598,1,12290,3,78112,0,0,0,678,0,0,0,0,0,0,0,0,0,0,0,0,2153,0,0,0,0,0,693,0,0,0,0,0,0,362,362,362,0,0,0,0,0,0,1217,0,0,0,0,0,0,0,0,0,1220,0,0,1223,0,0,0,0,0,0,663,0,791,0,0,0,0,0,0,0,795,0,0,0,0,0,2972,0,0,0,0,0,0,0,0,0,0,2097,0,2099,0,0,0,0,0,804,0,0,0,0,0,812,0,0,0,0,706,0,0,0,0,0,0,0,0,715,0,717,0,0,0,831,0,0,0,663,834,0,791,0,0,0,0,0,840,0,0,0,0,0,2996,0,0,0,0,0,0,0,0,0,0,2429,2430,0,0,0,0,863,540,540,877,540,540,540,888,540,540,540,540,906,540,540,540,540,540,1311,540,540,540,540,540,540,540,540,540,540,540,2843,540,540,540,540,561,561,917,561,561,561,933,561,561,947,561,561,561,561,960,561,0,995,585,1076,1046,585,78112,1079,0,0,0,0,0,0,0,0,2686976,2736128,0,0,2531328,2707456,0,3190784,561,561,561,978,561,561,561,0,585,585,990,585,585,585,1006,585,585,585,585,585,2349,585,585,585,585,2354,585,585,585,585,585,585,585,2377,585,585,585,585,585,585,585,585,561,540,561,585,0,0,0,0,585,1020,585,585,585,585,1033,585,585,585,585,1051,585,585,585,561,540,585,561,3149,540,3151,561,3153,585,0,0,0,0,0,0,1660,0,0,0,0,0,0,0,0,0,1173,0,0,0,0,0,0,0,0,0,540,990,585,561,540,540,540,540,540,561,561,561,561,3067,561,561,561,561,3071,561,561,561,561,0,0,0,1215,0,0,0,0,0,0,0,0,0,0,0,0,2431,0,2433,0,1238,0,0,0,0,1270,0,0,0,0,0,0,0,540,540,540,540,3561,540,540,540,540,540,540,540,540,561,561,561,561,561,561,561,585,585,585,540,585,585,585,585,585,585,585,585,585,1491,585,585,585,585,585,585,585,585,585,585,585,1495,585,585,585,585,561,585,585,1556,585,585,1079,0,0,0,0,0,0,0,0,0,1100,0,0,0,0,0,0,1622,0,0,1625,0,1627,0,0,0,0,0,0,0,0,0,0,839,540,540,540,540,859,540,1744,540,540,540,540,540,540,540,540,1755,540,540,540,540,540,540,540,2176,540,540,2180,540,540,540,2184,540,561,561,561,1847,561,561,561,561,561,561,561,561,561,561,561,561,2294,561,561,561,0,0,2117,0,0,0,0,0,0,0,0,0,0,0,0,0,1730,0,0,0,0,0,0,2148,0,0,0,0,0,0,0,0,0,0,0,1207,0,0,0,0,0,0,0,561,561,561,561,2248,561,561,561,561,561,561,561,561,3095,3097,561,561,561,3100,561,3102,561,561,2313,561,561,561,561,561,561,561,561,561,561,0,0,0,0,0,0,585,585,2651,585,585,585,585,585,585,585,2660,585,585,585,585,585,2665,585,585,2398,585,585,585,585,585,585,585,585,585,585,561,540,2410,585,561,0,540,585,585,561,540,540,540,540,540,561,561,561,561,585,585,585,585,0,3669,540,3670,0,2436,0,0,0,0,0,0,2441,0,0,0,2444,2445,0,0,0,0,0,3010,0,0,0,0,0,0,0,0,0,0,303,304,0,0,0,0,2497,0,0,0,0,0,0,0,0,0,2506,0,0,0,0,0,0,0,69632,73728,163840,0,0,0,0,65536,0,2512,0,0,0,0,2515,0,0,0,0,0,0,0,0,0,2523,540,2536,2537,540,540,540,540,540,2542,540,2544,540,540,540,540,2548,561,2595,561,561,2598,2599,561,561,561,561,561,2604,561,2606,561,561,561,561,1863,561,561,561,561,561,561,561,561,561,561,561,2890,561,561,561,561,561,561,561,2610,561,561,561,561,561,561,561,561,2616,561,561,561,561,561,2276,561,561,2279,561,561,561,561,561,561,561,1915,561,561,26027,1920,585,585,585,585,2636,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2608,2668,585,2670,585,585,585,585,2674,585,585,585,585,585,585,585,585,585,2675,585,585,585,585,585,585,2680,585,585,585,585,585,585,585,585,2688,585,585,585,585,585,585,585,1950,585,585,585,585,1954,585,585,585,2696,585,585,585,585,2700,585,585,585,585,585,585,585,585,585,585,1494,585,585,585,585,585,561,2720,561,561,585,2722,585,585,0,0,0,0,0,0,0,0,0,2964,0,0,0,0,2770,0,0,0,2773,0,0,2776,0,0,0,0,0,0,0,0,331,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1691,0,2786,0,0,0,0,0,0,0,0,0,0,0,2795,0,0,0,0,0,3171,0,0,0,0,0,0,0,0,0,0,1245,0,0,0,0,0,540,2825,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1773,540,540,2835,540,540,540,540,540,540,540,540,540,540,540,540,540,2844,540,540,2847,540,540,2850,540,0,0,2851,561,561,561,561,561,561,1851,561,561,561,561,1855,561,561,561,561,561,2883,561,561,561,561,561,561,561,561,561,561,561,561,561,2892,561,561,2895,561,561,2898,561,0,0,2899,585,585,585,585,585,585,585,1965,585,585,585,1970,585,585,585,585,585,2931,585,585,585,585,585,585,585,585,585,585,585,585,585,2940,585,585,2943,585,585,2946,585,561,2948,585,2949,2950,540,540,561,561,561,561,1878,561,561,561,561,1884,561,561,561,561,561,561,936,561,561,561,561,561,561,561,561,561,984,0,585,585,585,585,585,585,1007,585,0,2968,2969,0,0,0,0,2974,0,0,0,0,0,0,0,0,331,0,331,331,0,0,0,0,3020,0,0,540,540,3025,540,540,540,540,540,540,540,540,540,540,540,3043,540,540,540,540,540,540,540,3050,540,540,3052,540,540,540,540,540,540,540,540,540,540,1352,540,540,540,540,540,561,561,561,3091,561,561,3093,561,561,561,561,561,561,561,561,561,2602,561,561,561,561,561,561,561,561,585,585,3106,585,585,585,585,585,585,585,585,585,585,585,1496,585,585,585,1500,585,585,585,3132,585,585,3134,585,585,585,585,585,585,585,585,585,1040,585,585,585,585,585,967,3158,0,0,0,3162,0,0,0,0,0,0,0,0,0,0,0,1222,0,0,1225,0,3190,0,0,3193,0,0,0,0,0,0,0,0,0,0,540,540,540,540,2166,540,540,540,540,540,3214,540,540,540,540,540,540,540,3219,540,540,540,540,540,540,540,2541,540,2543,540,540,540,540,540,540,540,540,2581,540,540,540,540,0,2584,0,561,561,561,3236,3237,561,561,561,561,561,3241,561,561,561,561,561,561,3250,561,561,561,561,561,561,561,561,585,585,585,585,3536,585,585,585,585,561,561,561,3247,561,561,561,561,561,561,561,561,561,561,561,585,3481,585,3483,585,585,585,585,3269,585,585,585,585,585,585,585,585,3275,585,585,585,585,585,585,2701,585,585,585,585,585,585,585,2706,585,0,0,3308,0,0,0,0,0,0,0,0,0,0,0,0,540,540,540,856,540,585,3359,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1057,561,0,0,0,0,3176,0,0,0,0,0,0,0,3386,0,0,0,0,0,1169,0,1171,0,0,0,0,1176,0,0,0,0,0,1185,0,0,0,0,0,0,0,0,0,0,669,0,0,0,0,0,585,3429,585,585,585,585,585,585,561,540,561,585,0,3437,0,0,0,0,0,3300,0,3176,3302,0,0,3305,0,0,0,0,0,0,1113,0,0,0,0,0,0,0,0,0,362,362,362,0,703,0,0,3440,0,0,0,3176,0,0,0,0,0,0,0,0,540,540,3452,540,540,540,540,3457,540,540,540,540,3462,540,540,561,561,3467,561,0,997,1037,585,1048,585,78112,1079,0,0,0,0,0,0,0,776,0,0,0,0,0,783,0,0,561,561,561,3472,561,561,561,561,3477,561,561,585,585,3482,585,585,585,585,585,585,3259,3260,585,585,585,585,3264,3265,585,585,585,585,585,585,3120,585,585,585,585,585,3126,585,585,3129,585,585,3487,585,585,585,585,3492,585,585,561,0,0,0,0,0,0,0,69632,73728,167936,0,0,0,0,65536,0,3499,0,0,0,0,0,3505,0,0,540,540,540,540,540,540,540,540,540,3397,540,540,540,540,540,540,540,540,3517,540,540,3519,561,561,561,561,561,561,561,561,3252,561,561,561,561,561,561,585,561,561,561,3530,561,561,3532,585,585,585,585,585,585,585,585,585,1042,585,585,585,585,585,969,585,585,3543,585,585,3545,561,0,0,0,0,0,0,0,0,0,1144,0,362,362,0,1147,0,540,540,3629,3630,540,540,561,561,561,3635,3636,561,561,585,585,585,585,0,2029,0,0,0,0,0,2031,0,0,3641,3642,585,585,561,0,0,0,0,0,540,540,540,540,540,540,3395,540,540,540,540,540,540,3401,561,561,585,585,0,540,561,585,0,540,561,585,3681,3682,3683,3684,339,340,341,342,343,0,0,0,0,0,0,0,0,0,0,0,1617,0,0,0,0,0,0,0,388,0,0,0,0,0,0,0,0,0,0,0,0,2469,0,2470,0,342,342,343,342,0,341,342,445,454,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,486,495,495,503,495,505,495,495,505,505,495,505,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,552,575,552,575,552,552,575,552,599,575,575,575,575,575,575,575,599,599,599,552,599,599,599,599,599,575,575,552,575,599,575,599,1,12290,3,78112,0,0,0,646,0,0,0,0,651,652,653,654,655,656,657,0,0,0,0,1144,0,0,1259,0,0,0,0,0,0,0,0,0,2957312,0,0,0,0,0,0,0,692,0,0,0,0,0,0,699,362,362,362,0,0,0,0,0,0,1232,0,0,0,0,0,0,0,0,0,735,0,800,0,0,0,0,721,0,723,0,0,0,0,0,0,0,0,0,733,0,0,0,0,0,1202,0,0,0,0,0,0,0,0,0,0,333,334,0,0,0,0,0,646,752,753,754,0,0,0,0,0,760,761,0,0,0,0,0,0,1271,0,0,0,0,0,0,540,540,540,3026,540,540,540,540,540,540,540,540,540,540,2220,540,540,540,540,540,0,761,0,0,790,0,0,0,0,0,0,0,0,0,797,0,0,0,0,1152,0,0,0,0,1157,0,0,0,0,0,0,0,2106,0,0,0,0,0,0,0,0,1219,0,0,0,0,0,0,0,723,0,692,814,0,0,0,0,761,0,0,0,0,0,0,0,558,581,558,581,558,558,581,558,605,0,754,823,824,0,0,0,0,0,0,754,0,0,828,699,0,0,0,0,1168,0,0,0,0,0,0,0,0,0,0,0,1633,0,0,0,0,0,0,833,0,0,0,835,0,0,0,692,699,0,0,692,833,0,0,0,0,0,0,0,0,0,692,540,540,853,857,860,540,868,540,540,882,884,887,540,540,540,898,902,540,540,540,540,540,540,1766,540,540,540,540,540,540,540,540,540,540,1786,540,540,540,540,540,561,561,561,923,927,930,561,938,561,561,561,953,955,958,561,561,561,561,1879,561,561,561,561,561,561,561,561,561,561,561,2641,561,561,561,561,561,561,561,561,2648,0,585,585,585,585,585,585,585,561,540,585,585,561,2717,540,540,540,585,585,585,1026,1028,1031,585,585,585,1043,1047,585,585,585,585,970,0,0,0,1060,585,1062,1063,853,540,898,902,1068,923,561,970,974,561,561,561,561,0,585,585,585,996,1e3,1003,585,1011,1073,0,996,585,1043,1047,1078,78112,1079,0,0,0,0,0,0,0,560,583,560,583,560,560,583,560,607,0,0,1199,0,0,0,0,0,0,0,0,0,1208,0,0,0,0,0,1231,0,0,0,0,1236,0,0,0,0,0,0,0,69632,73728,0,0,0,0,422,65536,0,540,1322,540,540,540,540,540,540,540,540,540,1331,540,540,1338,540,540,540,540,2228,540,540,540,540,540,540,540,540,540,540,0,0,561,2852,561,561,561,561,561,561,561,561,1422,561,561,1429,561,561,561,561,561,561,561,561,561,2879,561,561,561,561,561,561,561,1442,561,561,561,561,561,561,26027,1360,987,585,585,585,585,585,585,585,2925,585,585,585,585,585,585,585,585,561,540,561,585,3436,0,3438,0,585,1503,585,585,585,585,585,585,585,585,585,585,1513,585,585,1520,1667,0,1669,0,0,0,1671,0,748,0,0,0,0,0,0,0,650,0,0,0,0,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,0,0,1602,0,0,0,0,0,0,540,1738,540,540,540,540,540,540,540,2584,0,561,561,561,561,561,561,561,561,561,561,561,1839,561,561,561,1743,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2238,540,1776,540,540,1781,540,540,540,540,540,540,540,540,540,540,540,1353,540,540,540,540,0,561,1829,561,561,561,561,561,561,1835,561,561,561,561,561,561,1864,561,561,561,1868,561,561,1873,561,561,1907,561,561,561,561,561,561,561,561,561,26027,0,585,1923,585,585,585,585,585,585,3270,585,585,585,585,585,585,585,585,585,1968,585,585,585,585,585,585,585,585,585,585,1929,585,585,585,585,585,585,585,585,585,585,585,1511,585,585,585,585,585,1958,585,585,585,1962,585,585,1967,585,585,585,585,585,585,585,1469,585,585,585,585,585,585,585,585,585,2392,585,585,585,2395,585,585,0,1086,0,0,0,2034,0,1090,0,0,0,2036,0,1094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1226,585,585,585,585,2362,585,585,585,585,585,585,585,585,585,585,585,1534,585,585,585,585,2585,0,1826,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2271,585,585,585,2710,585,585,585,561,540,585,585,561,540,540,540,540,540,540,1814,540,540,540,540,1820,540,540,540,1360,0,0,0,0,2744,0,0,0,0,0,0,0,0,0,0,0,1649,0,0,0,0,585,585,585,585,2924,585,585,585,585,585,585,585,585,585,585,585,1937,585,585,585,585,561,561,3338,561,561,561,561,561,561,561,561,561,561,561,561,561,1857,561,561,0,0,0,0,3176,0,0,0,0,0,0,3385,0,0,0,0,0,0,1628,1629,1630,0,0,0,0,0,0,0,0,1159168,362,0,0,0,0,0,0,3402,540,540,540,561,561,561,3407,561,561,561,561,3411,561,561,561,561,1391,561,561,561,561,561,561,561,561,561,561,561,1414,561,561,561,561,561,561,3417,561,561,561,585,585,585,3422,585,585,585,585,3426,585,585,585,585,585,2375,2376,585,585,585,585,585,585,585,585,585,1476,585,585,585,585,585,585,585,585,585,585,3432,585,585,585,561,540,561,585,0,0,0,0,0,0,1644,0,0,0,0,0,0,0,0,0,661,0,661,0,0,0,0,0,0,0,0,3176,0,0,0,0,3446,0,0,0,540,540,540,3392,540,540,540,540,3396,540,540,540,540,540,540,540,3039,540,540,540,540,540,3045,540,540,540,540,3455,540,540,540,3459,540,540,540,540,540,561,561,561,561,561,2626,561,561,561,561,561,561,2633,561,561,561,561,3470,561,561,561,3474,561,561,561,561,561,585,585,585,585,585,585,585,3111,585,585,585,585,585,585,3485,585,585,585,3489,585,585,585,585,585,561,0,0,0,0,0,540,540,540,540,540,540,3603,540,3604,540,540,540,561,561,585,585,0,540,561,585,3677,3678,3679,3680,0,540,561,585,585,585,585,585,1079,0,1562,0,0,0,1568,0,0,0,0,0,1256,0,0,0,0,0,0,0,0,0,0,300,300,0,0,0,0,386,0,0,0,390,386,0,0,0,0,0,0,0,0,0,0,1174,0,0,0,0,0,0,0,0,402,0,344,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,1201,0,0,0,0,0,0,0,0,0,0,0,357,0,0,0,0,521,521,521,521,0,0,0,0,0,0,0,0,521,521,521,521,521,521,521,553,576,553,576,553,553,576,553,600,576,576,576,576,576,576,576,600,600,600,553,600,600,600,600,600,576,576,617,622,600,622,628,1,12290,3,78112,561,561,561,979,561,561,561,0,585,585,585,585,585,585,585,585,585,2927,585,585,585,585,585,585,0,0,0,540,1061,585,561,540,540,540,540,540,561,561,561,561,561,3238,561,561,561,561,561,561,561,561,561,561,1433,561,561,561,561,561,1107,0,0,0,0,1112,0,0,0,0,0,0,0,0,0,0,1190,0,0,0,0,0,561,561,561,1389,561,561,561,561,561,561,561,561,561,561,561,561,2308,2309,561,561,561,1403,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2296,2297,1440,561,561,561,561,561,561,561,26027,1360,987,585,585,585,585,585,585,585,2947,540,585,585,561,540,540,561,561,1574,0,0,0,1580,0,0,0,0,0,0,0,0,0,0,0,1664,0,0,0,0,1606,0,0,0,0,0,0,0,0,0,0,0,0,0,1620,0,0,0,0,1216,0,0,0,0,0,0,0,0,0,0,0,2110,0,0,0,0,561,561,561,1877,561,561,561,561,561,561,561,561,561,561,561,561,2322,0,0,0,2052,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2155,0,2116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1676,0,2241,0,0,561,561,561,561,561,561,561,561,561,561,561,561,561,2295,561,561,561,561,2274,561,561,561,561,2278,561,2280,561,561,561,561,561,561,1897,561,561,561,561,561,561,561,561,561,1397,561,561,561,561,561,561,2359,585,585,585,585,2363,585,2365,585,585,585,585,585,585,585,585,585,3123,585,3125,585,585,585,585,0,0,0,2500,0,0,0,0,0,0,0,0,0,0,0,0,2494,2495,0,0,561,2622,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2607,561,0,3021,0,540,540,540,540,540,540,540,540,540,540,540,540,540,2533,540,0,0,0,0,3176,3382,0,0,3384,0,0,0,0,0,0,0,728,0,0,0,0,0,0,0,0,1115,0,0,0,0,0,0,0,0,0,540,3391,540,540,3393,540,540,540,540,540,540,540,540,540,540,1785,540,540,540,1790,540,0,0,0,0,3176,0,3443,0,0,0,0,0,3449,540,540,540,540,540,1782,540,540,540,540,540,540,540,540,540,540,540,2832,540,540,540,540,864,540,540,540,540,540,540,540,540,540,540,540,540,540,540,912,1095,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2447,0,0,1624,0,0,0,0,0,0,0,0,0,0,0,0,0,2060,0,0,1827,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2620,345,345,347,345,0,0,345,0,345,0,0,0,0,346,0,0,0,0,0,3310,0,0,3312,0,0,0,0,0,0,540,585,585,561,540,540,540,540,540,561,561,561,561,561,561,3410,561,561,561,561,561,0,0,0,345,345,347,345,345,345,345,345,345,512,345,345,345,345,345,345,345,345,345,345,345,345,345,345,345,345,554,577,554,577,554,554,577,554,601,577,577,577,577,577,577,577,601,601,601,554,601,601,601,601,601,577,577,554,577,601,577,601,1,12290,3,78112,0,722,0,724,0,0,0,0,0,0,0,0,0,0,0,0,2508,0,0,0,0,739,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1690,0,0,0,811,0,0,810,0,0,0,0,0,755,0,0,819,0,0,0,0,1269,0,0,0,0,0,0,0,1181,540,540,540,540,540,1797,540,540,540,540,540,540,540,540,540,540,540,3464,561,561,561,561,540,540,872,540,540,540,540,890,892,540,540,903,540,540,540,540,540,540,2175,540,2177,540,540,540,540,540,540,2185,561,561,918,924,561,561,561,561,942,561,561,561,561,561,962,964,561,561,975,561,561,561,561,0,585,585,991,997,585,585,585,585,585,585,585,3271,585,585,585,585,585,585,3277,585,1015,585,585,585,585,585,1035,1037,585,585,1048,585,585,585,585,561,0,0,0,0,0,540,540,3650,3651,540,540,0,0,0,540,991,585,561,854,892,540,903,540,924,964,561,975,0,0,0,1151,0,1153,0,1155,0,0,0,0,0,0,0,0,713,0,0,0,0,0,0,0,0,1181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1706,0,0,1198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1731,0,1212,1213,0,0,0,0,0,1218,0,0,0,0,0,0,0,0,729,0,0,0,0,0,0,0,540,540,1307,1309,540,540,540,540,540,540,540,540,540,540,540,540,1316,540,540,1319,540,540,1343,540,540,540,540,540,540,540,540,1354,1355,540,540,540,540,540,1813,540,540,540,540,540,540,540,540,540,1360,1360,914,561,561,561,1366,561,561,561,561,561,561,561,561,561,561,26027,1921,585,585,585,585,561,561,1420,561,561,561,561,561,561,561,1434,561,561,561,561,561,561,3342,561,561,561,561,561,561,561,561,561,3080,561,561,561,561,561,561,561,561,2319,561,561,561,561,0,0,0,561,561,561,1445,1446,561,561,561,26027,1360,987,585,585,585,1457,585,585,585,585,585,2403,585,585,585,585,585,561,2409,585,2411,2412,585,1487,1489,585,585,585,585,585,585,585,585,585,585,585,585,585,585,3366,585,585,585,585,1525,585,585,585,585,585,585,585,585,1536,1537,585,585,585,585,585,585,3434,585,561,540,561,585,0,0,0,3439,585,1542,0,540,585,585,561,540,1547,540,540,1550,561,1551,561,561,561,561,1895,561,561,561,1900,561,561,561,561,561,561,561,0,585,585,988,585,585,585,585,585,1554,585,1555,585,585,1558,1079,0,0,0,0,0,0,0,0,0,2069,0,0,0,0,2073,0,0,1678,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2037,0,0,0,1694,0,0,0,0,0,0,0,0,0,0,0,0,0,2072,0,0,0,1637,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2051,0,0,561,561,561,561,561,561,1833,561,561,561,561,561,561,561,561,26027,1360,987,585,585,585,585,585,561,1908,561,561,561,561,1914,561,561,561,26027,0,585,585,585,585,585,2334,585,585,585,585,585,585,585,585,585,585,2938,585,585,585,585,585,585,585,1927,585,585,585,585,585,585,585,585,585,585,585,585,585,1055,585,561,585,585,585,1994,585,585,585,585,585,585,585,585,2002,585,585,585,585,585,585,2711,561,540,585,585,561,540,540,540,540,540,540,2217,540,540,540,540,540,540,540,540,540,540,1802,540,540,540,540,540,585,2008,585,585,585,561,540,585,585,561,540,540,540,540,561,561,561,561,2261,561,561,561,561,561,561,561,561,561,561,561,2891,561,561,561,561,0,2076,0,0,0,0,0,0,0,0,2084,0,0,0,0,0,0,0,69632,73728,266240,0,0,0,0,65536,0,2088,0,0,2090,0,0,0,0,0,0,0,2098,0,0,0,0,0,0,1725,0,0,0,0,0,0,0,0,0,643,0,0,0,0,0,0,0,0,2146,0,0,0,2146,0,0,2151,2152,0,0,0,0,0,0,0,274432,274432,274432,0,274432,274432,274432,274432,274432,2156,0,0,0,0,0,0,0,2162,540,540,540,540,540,2168,540,540,540,540,2538,540,540,540,540,540,540,540,540,540,540,540,540,1821,540,540,1360,540,2200,540,2203,540,540,540,540,540,540,540,540,540,540,2209,540,540,540,540,2578,540,540,540,540,540,540,540,540,0,2584,0,0,0,0,799,0,0,0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,0,2244,561,561,561,561,561,561,2251,561,561,561,561,561,561,3351,585,585,585,585,585,585,585,3356,585,561,561,2300,561,561,561,561,561,561,561,561,561,561,561,561,561,2323,0,0,0,2329,585,585,585,585,585,585,2336,585,585,585,585,585,585,585,1470,585,585,585,585,1480,585,585,585,585,585,2360,585,585,585,585,585,585,2366,585,2368,585,2371,585,585,585,585,585,585,3546,0,0,3549,3550,0,0,0,0,0,0,303,0,0,0,0,0,0,0,0,0,0,2912256,0,3207168,2465792,0,0,2385,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1989,2472,0,0,0,0,0,0,0,0,0,2480,0,0,0,0,0,0,0,286720,286720,0,286720,286720,1,12290,3,0,0,0,0,0,2514,0,0,0,0,0,0,0,0,0,2522,0,0,0,0,1575,0,0,0,0,0,1581,0,0,0,0,0,0,0,69632,73728,172032,0,0,0,0,65536,0,561,561,2596,561,561,561,561,561,2601,561,561,561,561,561,561,561,0,585,585,992,585,585,585,585,585,585,2681,585,585,585,585,585,585,585,585,585,585,585,585,585,585,1956,585,2719,561,561,561,2721,585,585,585,2723,2724,0,0,0,0,0,0,0,2801,0,0,0,540,2805,540,540,540,2742,0,2743,0,0,0,0,0,0,0,0,0,0,0,0,0,2100,0,0,0,0,2758,0,0,0,0,0,0,0,0,0,0,0,0,0,2128,0,0,540,2809,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2223,2224,540,2846,540,540,540,540,540,0,0,561,561,561,561,2855,561,2856,561,2894,561,561,561,561,561,0,0,585,585,585,585,2903,585,2904,585,2942,585,585,585,585,585,561,540,585,585,561,540,540,561,561,585,585,0,0,0,3374,0,0,3377,0,0,0,540,3024,540,540,540,540,540,540,540,540,540,540,540,1771,540,540,540,540,561,561,585,3105,585,585,585,585,585,585,585,585,585,585,585,585,2369,585,585,585,585,585,3145,540,585,561,540,540,561,561,585,585,0,0,0,0,0,0,2066,0,0,0,0,0,0,0,0,0,362,297,0,0,0,0,0,0,0,3390,540,540,540,540,3394,540,540,540,540,540,540,540,540,540,2179,540,540,540,540,540,540,540,3403,540,540,3405,561,561,561,561,3409,561,561,561,561,561,561,2277,561,561,561,561,561,561,561,561,561,3082,561,3084,561,561,561,561,561,561,561,3418,561,561,3420,585,585,585,585,3424,585,585,585,585,585,585,585,3591,585,561,0,0,0,0,0,0,0,3176,0,3303,0,0,0,0,3307,0,585,585,585,585,585,3433,585,585,561,540,561,585,0,0,0,0,0,0,2137,0,0,0,0,0,0,0,0,0,1129,0,0,0,0,0,0,0,3500,0,3502,0,0,0,0,0,540,540,540,540,540,3511,540,540,540,540,2812,540,2815,540,540,540,540,2820,540,540,540,2823,540,540,540,540,3631,540,561,561,561,561,561,3637,561,585,585,585,585,585,1079,0,0,0,1564,0,0,0,1570,0,585,585,3643,585,561,3645,0,3647,0,0,540,540,540,540,540,540,540,1286,540,540,540,540,540,540,540,540,540,540,3208,540,540,540,540,540,365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2496,398,0,0,0,0,0,365,373,401,0,0,0,0,0,365,0,0,393,0,0,0,0,348,0,0,365,0,393,0,406,408,0,0,365,373,0,69632,73728,0,0,0,0,424,65536,0,0,0,0,1596,0,0,0,0,0,0,0,0,0,0,0,362,362,0,0,0,424,424,0,424,0,408,424,447,455,0,0,0,0,0,0,0,777,0,0,0,0,0,0,0,644,0,406,0,496,496,0,496,496,496,496,496,496,496,496,522,522,522,522,455,455,455,530,455,531,455,455,522,536,522,522,522,522,538,555,578,555,578,555,555,578,555,602,578,578,578,608,608,608,578,602,602,602,555,602,602,602,602,602,578,578,618,623,602,623,629,1,12290,3,78112,643,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2769,0,0,0,694,0,0,0,0,0,362,362,362,0,0,0,0,0,0,2440,0,0,0,0,0,0,0,0,0,1260,0,0,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,0,0,0,0,0,2142,2143,0,540,540,540,878,540,540,540,540,540,540,540,540,540,540,540,540,1332,540,540,540,561,561,919,561,561,561,561,561,561,948,950,561,561,561,561,561,561,3575,561,3577,561,561,561,585,585,585,585,0,0,1563,0,0,0,0,0,1569,0,585,1021,1023,585,585,585,585,585,585,585,585,585,585,585,585,561,3496,0,3497,0,0,0,0,0,540,992,585,561,540,540,540,540,540,561,561,561,561,561,3341,561,561,561,561,561,561,561,561,561,561,3579,561,585,585,585,585,0,0,0,1098,1230,0,0,0,0,0,0,1237,0,0,0,0,0,0,2452,0,0,0,0,0,0,0,0,0,2764,0,0,0,0,0,0,0,0,0,1242,0,0,0,0,0,0,0,0,0,0,1242,1251,540,540,1280,540,540,540,1284,540,540,1295,540,540,1299,540,540,540,540,540,2229,540,2231,540,540,540,540,540,540,540,0,0,561,561,561,561,561,561,561,561,561,561,561,561,1840,561,561,1360,914,561,561,561,561,561,561,1369,561,561,561,1373,561,561,1384,561,561,1388,561,561,561,561,561,561,561,561,561,561,561,561,561,2324,0,0,561,561,1405,561,561,561,1409,561,561,561,561,561,561,561,561,561,3612,3613,561,585,585,585,585,585,1460,585,585,585,1464,585,585,1475,585,585,1479,585,585,585,585,585,585,1032,585,585,585,585,585,585,585,585,561,0,0,0,0,3625,0,540,0,1623,0,0,0,0,0,0,0,0,0,0,0,0,1636,0,0,0,0,1626,0,0,0,0,0,0,0,0,0,0,0,2058,2059,0,2061,2062,1638,0,0,0,1642,0,0,0,1646,0,0,0,1650,0,0,0,0,0,1257,0,0,0,0,0,0,0,0,0,0,1145,362,362,0,0,1148,561,1844,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2635,561,561,561,561,1862,561,561,561,561,561,561,561,561,561,561,561,561,2869,561,561,2872,2007,585,585,585,585,561,1752,585,1938,1844,540,540,540,540,561,561,561,561,2275,561,561,561,561,561,561,2281,561,2283,561,2286,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,2154,0,0,0,0,0,2118,0,0,0,0,0,0,0,0,0,0,0,0,2520,0,0,0,0,2132,0,0,0,0,0,0,0,0,0,2141,0,0,0,0,0,0,2463,0,0,0,0,0,0,0,0,0,2491,0,0,0,0,0,0,0,0,0,2158,0,0,2161,0,540,540,2164,540,540,540,540,540,540,540,3053,540,3055,540,540,540,540,540,540,540,540,2232,540,540,2235,2236,540,540,0,540,540,540,2227,540,540,540,540,540,540,540,540,540,540,540,0,2242,561,561,561,561,561,561,561,0,0,0,561,561,2246,561,561,561,561,561,561,561,561,561,561,26027,1360,987,585,585,1455,585,1458,561,2312,561,561,561,561,561,561,561,561,561,561,561,0,0,0,0,0,0,585,2650,585,585,585,585,585,585,561,3547,3548,0,0,0,0,0,0,3554,0,585,585,2331,585,585,585,585,585,585,585,585,585,585,585,585,2381,2382,585,585,585,585,2387,585,585,585,585,585,585,585,585,585,585,585,585,2397,540,540,2415,2416,561,561,2419,2420,585,585,2423,2424,0,1563,0,1569,0,1575,0,1581,0,0,0,0,0,0,0,0,0,0,0,0,2752,0,0,0,0,0,0,0,2438,0,0,0,0,0,0,0,0,0,0,0,1728,0,0,0,0,0,2513,0,0,0,0,0,0,0,0,0,2519,0,0,0,0,0,0,2478,0,0,0,0,0,0,0,0,0,1189,0,0,0,0,0,0,540,540,540,2565,540,540,540,540,540,540,540,540,540,540,540,540,1333,540,540,540,585,585,2682,585,585,585,585,585,585,585,585,585,585,2693,585,585,585,585,585,585,3590,585,585,561,0,3594,0,0,0,0,0,0,2516,2466,0,0,0,0,0,2521,0,0,2824,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2239,561,561,561,561,2885,561,561,561,561,561,561,561,561,561,561,561,1395,561,561,561,561,561,561,561,561,1430,561,561,561,561,561,561,561,561,2866,561,561,561,561,561,561,561,585,585,585,585,2933,585,585,585,585,585,585,585,585,585,585,585,1985,585,585,585,585,0,3177,0,0,0,3180,0,0,0,0,0,0,0,0,0,0,1601,1602,0,0,0,0,0,0,0,0,3194,0,0,0,0,0,0,3197,0,3199,540,540,540,540,880,540,885,540,891,540,894,540,540,908,540,540,540,540,540,3038,540,540,540,540,540,540,540,540,3046,540,585,3289,3290,0,0,0,0,3294,0,0,0,0,0,0,0,0,1099,0,0,0,0,0,0,0,540,540,3316,540,540,540,3319,540,540,540,540,540,540,540,540,540,540,1819,540,540,540,540,1360,561,3337,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2646,561,3415,561,561,561,561,561,585,585,585,585,585,585,585,585,585,585,585,585,585,3115,3428,585,3430,585,585,585,585,585,561,540,561,585,0,0,0,0,0,0,2503,0,0,0,0,0,0,0,0,0,362,336,290,0,0,0,0,3555,0,540,540,540,540,540,540,540,540,540,540,3566,540,540,561,3064,561,561,561,561,561,561,561,561,561,561,561,561,2617,561,561,561,561,561,3608,561,3609,561,561,561,561,561,561,561,585,585,3615,585,585,585,585,585,2658,585,585,585,585,585,585,585,585,585,585,1952,585,585,585,585,585,3616,585,585,585,585,585,585,585,561,0,0,0,0,0,0,540,585,585,561,540,540,540,1067,911,561,561,561,1072,407,353,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,1658,0,0,0,0,0,0,0,0,0,0,0,362,362,1146,0,0,472,483,472,0,0,472,0,0,0,0,0,0,0,0,523,523,527,527,527,527,472,472,472,472,472,477,472,472,527,523,527,527,527,527,539,556,579,556,579,556,556,579,556,603,579,579,579,579,579,579,579,603,603,603,556,603,603,603,603,603,579,579,619,624,603,624,630,1,12290,3,78112,0,644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2101,0,738,0,0,0,644,738,0,744,745,644,0,0,0,0,0,0,0,0,793,0,0,0,0,0,0,0,0,0,0,802,0,807,0,0,0,0,0,0,807,0,0,0,0,0,644,0,0,0,802,0,807,0,793,0,822,0,0,0,665,0,0,0,0,822,0,0,0,0,0,0,0,1134592,0,362,0,0,0,1134592,0,0,0,793,793,0,644,0,0,793,807,845,0,540,850,540,540,540,540,540,2539,540,540,540,540,540,540,540,540,540,540,540,3324,540,540,540,540,540,869,873,879,883,540,540,540,540,540,899,540,540,540,540,540,540,540,3206,540,540,540,540,540,540,540,540,540,2205,540,540,540,540,540,540,561,561,920,561,561,561,561,939,943,949,561,954,561,561,561,561,585,585,585,585,0,0,0,0,0,2728,0,0,1016,1022,585,1027,585,585,585,585,585,1044,585,585,585,585,585,1058,0,0,0,540,993,585,561,540,540,899,540,540,561,561,971,561,561,561,561,561,0,585,585,993,585,585,585,585,1012,1149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2784,0,0,0,1200,0,0,0,0,0,0,0,0,0,0,0,1211,1227,0,0,1099,0,0,0,1233,0,1235,0,0,0,0,0,0,0,3176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1243,0,0,0,0,0,0,0,0,0,0,1249,0,0,0,0,1670,0,0,0,0,0,0,1674,0,0,0,0,0,0,743,0,0,0,0,0,0,0,0,0,0,0,0,0,2753,2754,0,1252,1200,0,1233,1255,0,1258,0,0,0,0,0,1130,0,0,0,0,0,1597,0,0,0,1600,0,0,1603,0,0,0,0,0,843,0,0,0,0,0,540,540,540,540,540,540,540,3320,540,540,540,540,540,540,540,540,540,1801,540,540,540,1806,540,540,0,1267,0,0,0,0,0,1267,0,0,1149,1267,0,1274,540,540,540,540,1282,540,540,540,1291,540,540,540,540,540,540,540,540,2204,540,540,540,540,540,540,540,540,540,2830,540,540,540,540,540,540,540,1279,540,540,540,540,1285,540,540,540,540,540,540,540,540,540,540,2194,540,540,540,540,540,540,1306,540,540,540,540,540,540,540,540,540,540,1317,540,540,540,540,540,2567,540,540,540,540,540,540,540,540,540,540,540,2545,540,540,540,540,1321,540,540,540,540,540,540,540,1327,540,540,540,1334,1336,540,540,540,540,1310,540,540,540,540,540,540,540,540,540,540,540,540,1335,540,540,540,1360,914,1362,561,561,561,561,1368,561,561,561,561,1374,561,561,561,561,1407,561,561,561,561,561,561,561,561,561,561,561,2293,561,561,561,561,561,561,1406,561,561,561,561,1411,561,561,561,561,561,561,561,561,1852,561,561,561,561,561,561,561,561,1866,561,561,561,561,561,561,561,1418,561,561,561,1425,1427,561,561,561,561,561,561,561,561,561,561,1865,561,561,561,561,561,561,561,561,1883,561,561,561,561,561,561,561,1459,585,585,585,585,1465,585,585,585,585,585,585,585,585,585,585,1533,585,585,585,585,585,1486,585,585,585,585,585,585,585,585,585,585,1497,585,585,585,585,585,585,1034,585,585,585,585,1052,585,585,585,561,1502,585,585,585,585,585,585,585,585,1509,585,585,585,1516,1518,585,585,585,585,585,2685,585,585,585,585,2689,585,585,585,2694,585,561,0,1290,1544,1470,1379,540,540,540,540,540,561,561,561,561,561,3249,561,3251,561,561,561,561,561,561,561,585,3534,585,3535,585,585,585,3539,585,0,1575,0,0,0,1581,0,0,0,0,0,0,0,0,0,0,1632,0,0,0,0,0,1592,1593,0,0,0,0,0,1599,0,0,0,0,0,0,0,0,1172,0,0,0,0,0,0,0,0,1639,0,0,0,0,0,0,0,1647,1648,0,0,0,0,0,0,0,2387968,0,0,0,0,0,0,0,0,0,2987,0,0,0,0,0,2990,0,1655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2482,0,0,0,1721,0,0,0,0,0,0,0,1718,0,0,0,0,0,0,300,300,300,300,0,300,300,300,300,300,540,540,540,1747,540,540,540,540,1753,540,540,540,540,540,540,540,540,1817,540,540,540,540,540,540,1360,540,540,540,1764,540,540,540,540,1768,540,540,540,540,540,540,540,540,2178,540,540,540,540,540,540,540,540,1287,1294,540,540,540,540,540,540,540,540,540,1779,540,540,1783,540,540,540,540,540,540,540,540,540,540,2206,2207,540,540,540,540,1809,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1360,914,561,561,561,561,561,561,561,561,561,561,561,561,1379,561,0,1074,585,585,1050,585,78112,1079,0,0,0,0,0,0,0,1106,0,0,0,0,0,0,1210,0,561,1845,561,561,561,561,561,561,561,561,561,561,1856,561,561,561,561,1423,561,561,561,561,561,561,561,561,561,561,561,3253,561,561,561,561,585,561,1860,561,561,561,561,561,561,561,561,561,561,1871,561,561,561,561,1424,561,561,561,561,561,561,561,561,561,561,561,26027,1920,585,585,585,585,1876,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,3244,561,561,585,2026,585,585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,286720,0,0,0,0,2079,2080,0,0,2082,2083,0,0,0,0,0,0,0,3176,0,0,0,0,0,3306,0,0,0,0,0,0,2105,0,0,0,0,2108,2109,0,0,0,0,0,0,301,301,301,301,0,301,301,301,301,301,2115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2796,0,0,0,2147,0,0,0,0,0,0,0,0,0,0,0,0,2781,0,0,0,0,0,2157,0,0,0,0,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,0,540,2225,540,540,540,540,2230,540,540,540,540,540,540,540,540,0,0,0,0,1696,0,0,0,0,0,0,0,0,0,0,0,2070,0,0,0,0,0,2242,0,561,561,561,561,561,561,561,561,561,561,561,561,561,2618,561,561,561,561,561,2259,561,561,2263,561,561,561,2267,561,561,561,561,561,561,3610,561,3611,561,561,561,585,585,585,585,0,0,0,2030,0,1082,0,0,0,2032,585,2344,585,585,2348,585,585,585,2352,585,585,585,585,585,585,585,1528,585,585,585,585,585,585,1538,585,585,585,585,2361,585,585,2364,585,585,585,585,585,585,585,585,585,1935,1936,585,585,585,585,1943,585,585,2400,585,585,585,585,585,585,585,585,561,540,585,585,561,540,2718,540,540,0,0,0,2437,0,0,0,0,0,0,0,0,0,0,0,0,2794,0,0,0,0,2473,0,0,0,2477,0,0,0,0,0,0,0,0,0,0,1685,0,0,0,0,0,0,0,0,0,2501,0,0,0,0,0,0,0,0,0,0,2511,0,540,540,2525,540,540,540,540,540,540,540,540,540,2532,540,540,540,540,1324,540,540,540,540,540,540,540,540,540,540,540,1330,540,540,540,540,540,540,2550,540,540,2552,540,2553,540,540,540,540,540,540,540,540,540,2193,540,540,2196,540,540,540,540,2563,540,540,540,540,540,540,540,540,540,540,540,540,2574,540,540,540,540,2827,2828,540,540,540,540,2831,540,540,540,540,540,540,540,1751,540,540,540,540,540,540,540,540,540,1351,540,540,540,540,540,540,0,0,0,561,561,2587,561,561,561,561,561,561,561,561,561,561,2264,561,561,561,561,2269,561,561,561,2594,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,2871,561,561,2609,561,561,561,2612,561,561,2614,561,2615,561,561,561,561,561,929,561,937,561,561,561,561,561,561,561,561,2629,561,561,561,561,561,561,561,561,561,561,2623,561,561,2627,561,561,561,561,561,561,561,561,561,2290,2291,561,561,561,561,561,561,561,0,2327,585,585,585,585,585,585,585,1507,585,585,585,585,585,585,585,585,561,540,585,561,3284,540,3286,561,561,561,561,2638,561,561,561,561,561,561,561,561,561,561,561,561,3099,561,561,561,0,0,2733,2734,0,0,0,0,0,0,0,0,0,0,0,0,3002,0,0,0,2785,0,2787,0,0,0,0,0,0,0,0,0,0,0,0,0,2432,0,0,0,0,0,0,2800,0,0,0,0,0,0,540,540,540,540,540,540,540,3217,540,540,540,540,540,540,540,540,540,540,3042,540,3044,540,540,540,540,540,540,2848,540,540,540,0,0,561,561,561,561,561,561,561,2318,561,561,561,561,561,0,0,0,561,561,2859,561,2862,561,561,561,561,2867,561,561,561,2870,561,561,561,561,2302,561,561,561,561,561,561,561,561,561,561,561,940,561,561,561,561,561,561,561,561,1394,561,561,561,561,561,561,561,1402,561,561,561,2896,561,561,561,0,0,585,585,585,585,585,585,585,1529,585,585,585,585,585,585,585,585,2661,585,585,585,585,585,585,585,585,585,2907,585,2910,585,585,585,585,2915,585,585,585,2918,585,585,585,585,585,1527,585,585,585,585,585,585,585,585,585,585,2367,585,585,585,585,585,585,585,585,2944,585,585,585,561,540,585,585,561,540,540,561,561,585,585,3373,0,0,0,3375,0,0,2980,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2979,2991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3005,0,3006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2989,0,561,561,561,561,3078,561,561,561,561,561,561,561,561,3086,561,561,561,561,2315,561,561,561,561,561,561,561,561,0,0,2327,0,0,0,585,585,585,585,585,585,585,585,585,3273,585,585,585,585,585,585,561,561,585,585,585,3107,585,585,585,585,585,585,585,585,585,585,1969,585,585,585,585,585,585,585,585,585,3119,585,585,585,585,585,585,585,585,3127,585,585,585,585,585,1901,540,585,585,561,540,540,540,540,561,561,3065,561,561,561,561,561,561,561,561,561,561,561,3479,585,585,585,585,585,0,3159,0,0,0,0,0,0,0,3165,0,0,0,0,0,0,0,3176,0,0,3304,0,0,0,0,0,0,3191,0,0,0,0,0,0,3195,3196,0,0,0,0,540,540,3601,540,3602,540,540,540,540,540,540,540,540,1752,540,540,540,540,540,540,540,540,1349,540,540,540,540,540,540,540,540,1288,540,540,540,540,540,540,540,540,1289,540,540,540,540,540,540,540,540,1290,540,540,540,540,1300,540,540,3279,585,585,585,585,585,585,585,561,540,585,561,540,540,561,561,561,561,2611,561,561,561,561,561,561,561,561,561,561,561,2304,561,561,561,561,561,561,561,561,561,1853,561,561,561,561,561,561,540,540,540,540,3317,540,540,540,3321,540,540,540,540,540,540,540,540,2192,540,540,540,540,540,540,2198,561,561,561,3339,561,561,561,561,561,561,561,561,561,561,561,561,2628,561,561,561,561,561,561,561,561,2305,561,561,561,561,561,561,561,561,561,3348,561,561,561,585,585,585,585,585,3353,585,585,585,3357,561,561,3572,561,561,561,561,561,561,561,561,3580,585,585,585,3584,3597,0,3598,3599,540,540,540,540,540,540,540,540,540,3605,3606,540,540,540,540,2837,540,540,540,540,540,540,540,540,540,540,540,1803,540,540,540,540,585,585,585,585,585,3619,3620,585,561,0,0,3623,0,0,0,540,585,585,561,540,540,895,540,540,561,561,967,561,561,3671,585,3672,0,540,561,585,0,540,561,585,0,540,561,585,585,585,585,585,1079,1559,0,0,0,1565,0,0,0,1571,2033,0,0,0,0,1577,2035,0,0,0,0,0,0,0,1682,0,1684,0,0,0,0,0,0,0,1712,0,0,1715,0,0,0,0,0,355,356,0,0,0,0,0,0,0,362,0,290,0,0,0,0,0,0,2762,0,0,0,0,0,0,0,2768,0,0,0,0,389,0,0,0,0,0,0,0,0,0,0,0,0,3198,0,540,540,473,473,487,0,0,487,356,356,356,509,356,356,356,356,473,473,580,580,580,580,580,580,580,604,604,604,557,604,604,604,604,604,580,580,557,580,604,580,604,1,12290,3,78112,540,870,540,540,540,540,540,540,540,540,540,904,540,540,540,540,540,540,2191,540,540,540,540,2195,540,2197,540,540,561,561,976,561,561,561,561,0,585,585,585,585,585,585,585,1013,1197,0,0,0,0,0,0,0,1197,0,0,0,0,0,0,0,0,0,0,0,0,540,540,540,540,540,540,540,540,1360,914,561,561,561,561,561,561,561,561,1371,561,561,561,1380,561,561,561,561,2639,561,561,561,561,561,561,561,561,561,561,561,2644,561,561,561,561,585,585,585,1462,585,585,585,1471,585,585,585,585,585,585,585,585,1472,585,1477,585,585,1481,585,585,1541,561,0,1291,585,1471,1380,540,540,540,540,540,561,561,561,561,585,585,585,585,0,0,0,0,2727,0,0,0,0,0,1576,0,0,0,1582,0,0,0,0,0,0,0,0,0,2737,0,0,0,0,0,2741,0,1607,0,0,0,0,0,0,0,1615,1616,0,0,0,0,0,0,303,204800,204800,0,205103,204800,1,12290,3,0,1761,540,540,540,540,540,540,540,540,540,540,540,540,540,540,1774,1891,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,3087,561,561,561,561,1911,561,561,561,561,561,561,26027,0,585,585,585,585,585,585,1466,585,585,585,585,585,585,585,585,585,585,2928,585,585,585,585,585,585,585,585,585,1947,585,585,585,585,585,585,585,585,585,585,585,2001,585,585,585,585,585,585,585,1960,585,585,585,585,585,585,585,585,585,585,585,1973,0,0,2243,561,561,561,561,561,561,561,561,561,561,561,561,561,2634,561,561,2328,585,585,585,585,585,585,585,585,585,585,585,585,585,585,585,2384,0,0,0,0,2425,0,0,0,0,0,0,0,0,0,0,0,2085,2086,0,0,0,0,2449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3175,0,0,0,0,561,561,561,561,561,561,2590,561,561,561,561,561,561,2289,561,561,561,561,561,561,561,561,561,2292,561,561,561,561,561,561,561,561,561,2861,561,2863,561,561,561,561,561,561,561,561,561,561,2877,561,561,561,561,561,561,561,561,1899,561,561,561,561,561,1905,561,585,585,585,2909,585,2911,585,585,585,585,585,585,585,585,585,585,1984,585,585,585,585,585,585,585,3360,585,585,585,585,585,585,585,585,585,585,585,585,585,1056,585,561,0,3556,540,540,540,540,540,540,540,540,540,540,540,3567,540,561,561,561,561,2876,561,561,561,561,561,561,561,561,561,561,561,26027,0,585,585,585,585,561,561,561,561,3656,561,585,585,585,585,3660,585,0,0,0,0,0,0,2775,0,0,0,0,0,0,0,0,0,2124,0,0,0,0,0,0,0,0,357,0,0,0,0,0,0,362,0,290,0,0,0,0,0,0,2790,0,0,0,0,0,0,0,0,0,0,1147354,0,0,0,0,0,0,0,357,0,0,0,0,0,0,0,0,0,0,0,0,0,2509,0,0,357,0,367,0,0,367,0,0,0,0,0,0,0,0,0,0,0,0,0,2457,0,0,581,581,581,581,581,581,581,605,605,605,558,605,605,605,605,605,581,581,558,581,605,581,605,1,12290,3,78112,865,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2575,1385,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,3243,561,1775,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,3047,585,585,585,585,1961,585,585,585,585,585,585,585,585,585,585,585,2380,585,585,585,585,2756,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3315,0,2981,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3188,0,3298,0,3299,0,0,0,0,3176,0,0,0,0,0,0,0,0,0,3388,0,0,0,0,358,359,360,361,0,0,362,0,290,0,0,0,0,0,0,2973,0,0,0,0,0,0,0,0,0,362,362,362,702,0,0,0,0,359,0,358,0,0,0,69632,73728,0,0,0,0,425,65536,0,0,0,0,1710,1711,0,0,0,1714,0,0,0,0,0,1718,425,425,0,425,0,359,425,0,456,0,0,0,0,0,0,0,1102,0,0,0,0,1263,1264,0,0,0,0,0,497,497,0,504,504,504,504,510,511,504,504,524,524,524,524,456,456,456,456,456,456,456,456,524,524,524,524,524,524,524,559,582,559,582,559,559,582,559,606,582,582,582,582,582,582,582,606,606,606,559,606,606,606,606,606,582,582,620,625,606,625,631,1,12290,3,78112,0,0,0,540,585,585,561,540,540,900,540,540,561,561,972,561,561,561,561,561,0,585,585,585,585,585,585,585,585,1934,585,585,585,585,585,585,585,0,0,2104,0,0,0,0,0,0,0,0,0,0,0,0,0,2740,0,0,0,0,0,561,2245,561,561,561,561,561,561,561,561,561,561,561,3533,585,585,585,585,585,585,585,585,585,3494,561,0,0,0,0,0,0,585,2330,585,585,585,585,585,585,585,585,585,585,585,585,585,1482,585,585,540,2549,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2237,0,540,540,2577,540,540,540,540,540,540,540,540,540,540,0,0,0,0,0,1611,0,0,1614,0,0,0,0,0,0,0,443,0,0,0,0,0,0,0,0,0,2891776,0,0,0,0,0,2392064,583,583,583,583,583,583,583,607,607,607,560,607,607,607,607,607,583,583,560,583,607,583,607,1,12290,3,78112,705,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155648,866,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,3224,1136,0,0,0,0,0,0,0,0,0,0,362,362,0,0,0,0,0,1659,0,0,0,0,0,0,0,0,0,0,780,0,0,0,0,786,561,585,585,585,585,585,1079,1560,0,0,0,1566,0,0,0,1572,0,0,0,1578,0,0,0,0,0,0,0,0,0,0,0,0,3313,0,0,540,2199,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2547,540,2535,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,2822,540,561,561,561,2597,561,561,561,561,561,561,561,561,561,561,561,561,2317,561,561,2320,2321,561,561,0,0,0,0,0,0,647,0,0,0,0,0,0,743,540,540,540,540,540,540,540,3331,540,540,561,561,561,561,561,561,561,561,561,561,3072,561,561,561,0,0,0,540,585,585,561,1064,540,540,905,540,1069,561,561,977,561,561,561,561,0,585,585,585,585,585,585,585,585,1951,585,585,585,585,585,585,585,0,0,1594,0,0,0,0,0,0,0,0,0,0,0,0,0,2767,0,0,561,561,1846,561,561,561,561,561,561,561,561,561,561,561,561,561,2645,561,561,585,585,585,1977,585,585,585,585,585,585,585,585,585,585,585,585,2692,585,585,585,540,540,540,2188,540,2190,540,540,540,540,540,540,540,540,540,540,561,561,561,3334,561,561,0,0,0,561,561,561,2247,561,561,561,561,561,561,561,561,561,2613,561,561,561,561,561,561,561,2619,561,561,2273,561,561,561,561,561,561,561,561,561,561,561,561,561,561,3242,561,561,0,585,585,585,2332,585,585,585,585,585,585,585,585,585,585,585,2408,540,585,585,561,561,2647,0,0,0,0,0,0,585,585,585,585,585,585,585,585,2687,585,585,2691,585,585,585,585,585,585,585,585,2684,585,585,585,585,585,585,585,585,585,585,585,2916,585,585,585,585,561,561,585,585,585,585,585,3109,585,585,585,585,585,585,585,585,2702,585,585,585,585,585,585,585,0,1134592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225706,0,0,1134592,0,0,0,1134592,1134592,0,0,1134592,0,0,1134592,0,1134592,0,0,0,1134592,1135005,1135005,0,0,0,0,0,1135005,0,1134592,1134592,0,0,0,0,1135202,1135202,1135202,1135202,1134592,1135202,1135202,1135202,1135202,1135202,0,1134592,1134592,1134592,1134592,1135202,1134592,1135202,1,12290,3,0,0,0,0,2134016,0,0,0,0,0,0,0,0,1138688,0,0,0,0,0,1670,0,0,0,0,0,0,0,0,0,0,0,2125824,2126738,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,987,2125824,2125824,2125824,2125824,2424832,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,1147354,457,457,1147354,457,457,457,457,457,457,457,457,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,1147405,0,0,0,0,0,0,0,0,0,2792,0,0,0,0,0,0,457,0,0,0,1147354,1147354,1147354,1147405,1147405,1147354,1147405,1147405,1,12290,3,0,0,0,0,2042,0,0,2045,2046,0,0,0,2050,0,0,0,0,0,680,0,0,0,0,0,0,0,0,0,0,1221,0,0,0,0,0,0,1142784,0,2179072,2125824,2125824,2125824,2179072,2179072,2179072,2179072,2179072,2125824,2125824,2125824,2125824,2125824,2125824,2125824,3137536,2125824,2940928,2940928,2940928,0,0,0,0,0,0,305,440,448,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,1159168,0,0,1159168,0,1159168,1159168,0,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,0,0,0,0,0,0,0,0,2802,0,540,540,540,540,540,1159168,1159168,0,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1,12290,3,0,0,0,0,2053,0,2054,0,0,0,0,0,0,0,0,0,799,0,799,0,0,0,0,0,0,0,2134016,0,0,0,0,0,0,0,0,0,1163264,0,0,0,0,0,155648,155648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,913,2125824,2125824,2125824,2125824,2424832,2433024,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2125824,0,0,1452,2125824,2125824,2125824,2125824,2424832,106496,0,106496,106496,0,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,0,0,106496,0,106496,106496,106496,106496,106496,106496,106496,106496,0,0,0,0,0,0,0,0,0,0,2183168,0,0,0,0,0,0,0,0,2134016,0,0,0,0,0,0,0,0,0,0,0,0,0,2782,2783,0,0,0,0,3117056,0,0,0,0,0,0,0,0,0,0,0,0,163840,0,0,0,0,3043328,0,3149824,2936832,0,2760704,0,0,0,0,0,2953216,0,0,2826240,2875392,0,0,0,0,0,0,2834432,0,3227648,2568192,0,0,0,0,2564096,0,2748416,2879488,0,0,0,0,0,0,0,0,0,0,2179072,2179072,2179072,3137536,2125824,2125824,2498560,2125824,2125824,2125824,2555904,2564096,2125824,2125824,2125824,2125824,2125824,2125824,2125824,2654208,2678784,2760704,2764800,2785280,2854912,2969600,2125824,3006464,2125824,3018752,2125824,2125824],r.EXPECTED=[260,268,276,283,296,304,881,312,318,331,366,339,350,361,369,342,288,886,1555,1545,377,384,1551,392,400,415,423,431,439,447,455,463,486,553,490,500,500,499,498,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,353,1871,509,517,525,1149,688,533,1759,407,548,949,561,323,569,1480,1303,866,577,1034,592,596,1439,1444,604,1857,628,636,644,1919,1049,652,673,660,668,681,696,995,710,718,731,1324,739,761,1116,776,784,792,1170,1200,1204,807,843,851,859,894,902,910,723,918,926,934,942,753,957,1568,965,980,611,988,1738,1003,1011,616,1185,1827,871,1539,1029,1042,1418,584,1424,972,1057,1065,1073,1598,1087,1095,1103,1111,1134,1142,768,478,1163,1289,620,1155,1178,876,1620,1643,1193,702,1812,799,1789,1212,1753,1218,1226,1234,1242,500,1250,1258,828,1266,1274,1282,1297,1850,1311,1319,1332,1079,540,1345,1017,1337,1359,1021,1367,1375,1390,1398,1403,1411,1432,1452,1460,1468,1476,1488,1496,1382,1516,1524,1532,1563,1576,746,1584,1592,1502,1606,1614,814,1628,1636,469,821,1661,1665,1673,1678,1686,1694,1702,1710,1718,501,1726,1734,1746,1767,1775,1783,1351,1126,1797,1805,1121,835,1820,474,1835,1843,1865,1508,1879,1649,1653,1887,1892,1900,1908,1916,500,500,1927,1975,1928,1939,1939,1939,1934,1938,1939,1930,1943,1950,1946,1954,1958,1961,1964,1968,1972,1979,2007,2007,2007,3094,2007,1983,3521,2007,2812,2007,2007,2007,2007,2779,2007,2007,2132,2007,4152,3820,3824,1987,2098,1994,2e3,2006,2007,2007,3996,2007,2007,2012,4079,3820,3824,3824,3824,3824,2019,2097,2097,2026,2170,2032,2007,2007,2007,2007,2919,2007,2428,3887,2007,3734,2038,2089,2007,2007,2007,3390,3824,3824,2045,2097,2097,2097,2097,2097,2099,1996,2067,2059,2063,2003,2007,2007,2007,2007,2007,2259,3005,2007,3049,2007,2007,2007,3818,3820,3820,3820,3820,2133,3824,3824,3824,3824,3824,2055,3820,2139,3824,3824,3824,3827,2097,2097,2022,2072,2007,2007,4080,2007,2162,2077,2007,2007,2779,3400,3820,3820,2053,3824,3825,2097,2097,2084,2072,2088,4151,2385,2007,2007,2007,2007,3112,2752,3820,2052,3824,2095,2097,2104,2778,2050,3823,2095,2115,2129,3821,3826,1989,3390,3822,3827,1990,2137,2141,2149,3819,2141,2159,2167,2048,2174,2028,2181,2184,2188,2192,2202,2202,2193,2197,2201,2203,2207,2211,2215,2219,2222,2226,2230,2234,2238,2732,2242,2007,2007,2737,2247,2007,2007,2007,3028,4134,2007,2007,2007,3213,2007,2007,2007,2007,2702,3310,2007,3694,2243,2007,4531,2253,2007,2007,2007,2007,2007,4488,2007,2007,2007,4489,2007,2007,2007,2007,2007,2007,2007,2007,4297,2280,2282,2286,2289,2293,2297,2301,2662,2386,2007,2007,2007,2007,2387,2307,2314,2318,4376,4208,2325,2681,3075,3584,2645,2353,2359,2620,2007,2007,2381,2363,2007,2007,3675,2007,3534,4411,3291,4070,3348,2391,2007,2395,2399,2007,2007,2007,2007,3092,3298,2007,2007,2402,2007,2007,2007,3382,2007,2007,2418,3423,2432,2007,2007,2007,2007,2797,2433,2797,2457,2007,2007,2007,2007,2463,2007,2007,3716,3131,2917,2007,2007,3777,4457,4344,2470,2007,2007,2007,2477,2007,2007,2007,2484,2007,2107,3702,2007,3700,2493,2007,2111,2007,2007,3723,3037,2007,2007,2007,2090,3072,2007,2007,2007,2007,2261,3346,2007,2007,2500,2007,2505,4255,4115,4254,2007,4238,2510,4117,3651,3491,2511,4118,4239,4255,3650,4117,2516,4116,4117,3593,3670,3596,2528,2531,2535,2538,2542,2007,3509,2620,4365,4173,2562,2566,2570,2007,2674,2672,3782,2574,2007,3457,2579,2007,2501,2007,4424,3255,2555,2588,4214,4424,4450,2584,2592,2599,3102,4176,2007,2007,3778,2008,2342,4482,2348,4126,4353,2007,2007,2007,2721,2607,2007,2007,2007,3379,2007,2007,2007,3480,2619,2007,4362,2007,4150,4231,2625,4223,2632,2636,2007,4444,2654,2007,2007,2007,2007,3897,2007,2007,4225,2675,2642,2007,2007,2007,2007,4443,2653,4024,2007,4424,4341,2118,4304,2679,2007,2007,3794,2734,2268,4056,2403,2007,2007,3896,2007,2655,2910,4541,3011,2685,2775,2007,2007,2007,3576,2686,2007,2007,4010,3290,2007,2007,3151,3295,3238,2007,2697,2007,3451,2403,4245,2586,4285,2701,3577,2715,2007,2007,2007,3620,2706,2007,2007,2007,2007,2713,2775,2007,2007,4082,3399,2007,2007,4082,3399,2741,2769,2855,2774,2007,3410,2751,2007,2007,4104,2007,2007,2007,2007,2506,4140,4109,4114,3788,2803,4147,2007,2007,4385,3699,2007,3534,4411,2007,2041,4469,4448,2007,2007,2007,2709,3410,2751,2702,2784,3450,4048,2121,2770,3436,2007,3434,3438,2007,2791,2007,2795,2801,2328,2810,2787,2452,2816,2453,2007,2443,2450,2424,2465,2007,2007,2007,2007,3098,2007,2007,2007,2007,3372,2007,2007,2007,2007,3389,3820,3820,3820,2163,3824,3824,3824,3824,4039,2821,2787,2832,2786,3985,2838,2843,4030,3312,2839,2844,4031,4431,2848,2834,2852,2859,2860,2177,2864,3301,4460,4463,2871,4547,2875,2879,2883,2886,2890,2894,2897,2899,2900,2007,2007,2904,2007,3808,2910,4541,3081,2914,2007,2007,2924,2928,2937,2944,2952,2961,2968,3274,2970,2007,2473,2408,2007,2007,2007,2007,2414,3024,2007,2495,2976,2980,4495,4081,2986,2999,2007,2007,2007,2007,2007,3335,2007,2489,2007,3285,2007,3286,2007,3109,2656,3009,3015,3021,3139,2007,4251,2344,3032,2007,2007,2007,2007,3722,3036,2007,2612,2007,2007,3782,2574,2007,3508,4541,3046,3053,2702,3058,2007,2007,3062,3067,2007,2007,2007,2007,3063,2007,2007,2007,3691,2007,2007,2007,2007,2338,3741,2007,2007,3119,2007,2007,2007,3125,2007,2007,2007,2550,4047,2007,2007,2920,3125,2007,2007,3428,4501,2355,3026,2007,2615,2654,4143,3807,3464,2520,2524,3111,2918,2007,3114,3109,3780,3113,3150,3110,3781,3147,4236,3779,2920,3137,2919,2920,3489,4183,3144,3155,2155,2007,2007,2007,4522,3741,2007,3667,2007,3121,3163,3167,3171,3175,3179,3183,3187,3191,2007,2007,2817,3354,2007,2765,3195,3974,3201,3218,4237,3222,3226,3236,4136,3242,3713,3038,3248,3246,2007,2007,2007,2575,2690,2007,2007,2007,2007,4428,2007,2007,2007,2249,4402,4409,2007,2007,3231,3253,2007,2765,3195,3974,3259,3475,4398,3265,3269,3278,2007,2007,3282,2007,2647,2638,3815,3004,2336,2007,2007,2007,3352,2007,2765,3195,2780,3316,2068,3260,3320,3417,3327,3333,2007,2719,3457,2007,2725,2730,2741,4471,3360,3364,3407,2007,2007,2007,3368,2007,2736,3608,3079,3085,3140,2702,4437,3054,3399,2007,2007,2007,4081,3398,2007,2745,2007,2007,3576,2749,2007,2007,2719,2756,2763,3971,3448,2007,2007,3455,2007,2007,3455,2007,2255,2007,3975,3472,3484,2007,3497,2971,3449,2972,2007,3503,3273,4555,4530,4554,3513,4094,4553,3271,4553,4095,4554,3272,4093,4528,3271,3515,4528,4529,2007,4379,2620,3519,2007,3525,4151,3529,3538,3542,3546,3550,3554,3558,3562,3566,2828,3729,2918,2410,4192,3571,3230,4556,3575,3581,3356,3619,3590,2007,2007,4378,3676,2007,3534,4488,2007,2948,3600,2007,2867,3355,2007,2007,2007,2007,3339,4185,3612,2007,2007,2580,3618,2007,2007,2549,2551,2386,2007,2007,3132,3630,2007,2007,2608,3641,2007,3647,4412,2007,3655,3866,3249,3663,2007,2007,2007,2660,2007,2007,2666,2007,4405,2007,2007,2007,2007,2337,3687,2007,2594,3230,4081,3698,2007,2805,3682,2007,2007,2007,3686,2007,2007,2824,2007,2007,2007,2007,2826,4487,2995,2957,2349,3606,2007,2007,3706,2007,4081,3710,2007,2595,2007,3720,4485,2946,3727,3068,3733,2007,3738,2620,2007,2940,2777,3753,3945,3949,3954,3868,2007,3747,2620,2007,2007,3747,2620,3751,2378,2034,3757,3764,3636,2007,4288,2007,2007,4288,3428,3769,2466,2015,3765,3773,2007,3786,2007,3127,2007,2954,2007,2007,3775,2007,2007,3775,2007,2007,2956,2007,2548,2459,2007,3792,3751,3798,3760,3637,2602,2007,3149,4508,2110,2488,2007,3701,2494,2007,2007,4046,2007,3780,2603,2007,3802,3806,3812,3837,4356,3836,3831,2331,3835,3677,3841,2332,3836,3678,4221,3854,3848,4359,3847,3845,3852,3877,3863,3874,3881,3884,2007,2007,2007,2007,2480,2437,2007,2007,2964,2776,2007,3893,3901,3905,3909,3913,3917,3921,3925,3929,3933,3937,2007,2007,2982,4068,4074,4253,2007,2007,3212,4493,2007,2007,2007,2248,3959,3964,3968,4202,3979,3983,3989,3950,2007,4e3,4007,4014,2007,2007,2963,2421,3753,4019,4023,2040,3626,4028,4035,2007,3229,3106,3743,3026,2726,2007,2007,2007,4080,2007,4152,3820,3820,2054,3824,3824,2096,2097,2097,2097,2097,2100,2143,4043,2007,2007,3205,3209,2007,2007,2007,2990,2994,2007,2007,2248,3207,2007,2007,2007,3197,4052,2310,4253,4060,2669,2007,4114,2007,2007,2007,2628,3210,2007,2007,2007,2506,4064,2007,2007,3232,3254,3975,2007,4119,3159,2962,4078,3753,4086,2404,2007,4090,2620,4114,2007,2007,2007,4099,2620,2007,2007,3376,2007,2007,2007,2007,2933,4100,4108,4113,2007,2439,4123,3603,4423,2007,3870,3133,2007,2007,2007,4130,2007,3386,2068,4158,3394,3506,2007,2007,2007,4526,2007,2007,2007,4526,2007,3992,2370,4535,4156,2920,2007,2007,4162,2007,2007,2007,4162,2558,2007,4166,4170,2007,4180,2007,2007,4189,2007,2007,4196,4200,4206,4212,3859,4218,2007,2693,2007,2007,4229,2007,3586,2152,2145,4235,3487,2007,4243,3642,2775,3643,4249,4440,2806,3659,4259,4264,3657,3857,3940,2080,3658,3858,3941,4274,3939,3857,4278,3856,3857,4282,3017,4292,4293,4270,2321,4301,4003,4311,4315,4319,4323,4327,4330,4334,4338,2007,2007,2007,2007,2621,3230,3492,3042,4267,3478,2931,3955,4350,4514,4396,3306,3462,3468,3444,2007,4516,2007,2007,2446,2007,2007,2007,2759,2375,3002,4369,4307,2007,4015,2007,2546,2544,4373,4383,2007,2007,2007,4389,3478,2931,2068,3670,3532,4437,2007,4393,2007,2007,3427,3432,2303,3443,3422,2007,2007,4416,4081,2007,2091,3671,3422,3203,4420,2007,2007,2007,2007,2007,3342,2007,3388,3404,3414,3421,2007,2254,3381,3994,2931,4346,4454,4260,3567,3304,2007,3439,3100,2007,2007,2007,2007,3089,2007,4467,2007,2007,2007,2007,2007,3214,2124,2007,2007,4475,2365,3889,3499,2007,3616,2007,2007,2007,2337,3624,2007,2906,2007,3329,3633,2007,2499,3960,4434,2007,2007,2007,2007,4479,2007,2007,3493,2265,2007,2272,3323,2276,4499,2125,2007,4505,2367,4512,2007,4520,2512,2007,2007,3211,4539,2007,3211,4539,2073,4037,4454,2007,2007,2007,4545,2007,2649,2007,2007,4551,3115,4157,3422,2007,2369,2007,2370,2007,2371,3261,2007,2007,2007,2007,2007,2007,2007,3458,2007,2007,2080,4576,4599,4601,4601,4596,4590,4601,4601,5213,4588,4600,4601,4601,4601,4601,4601,4601,4605,4601,4601,4624,4632,4592,4611,4609,4615,4626,4639,4641,4646,4628,4651,4653,4653,4647,4635,4657,4642,4661,4665,4669,4673,4676,4680,4682,4686,4690,4560,6008,4569,4572,6007,4694,4697,4751,6953,4752,5681,6931,4707,6326,4735,4735,4712,4752,4752,5273,4792,6322,4707,4735,5096,4719,4736,5094,5098,4748,4748,4750,4752,4752,4752,4752,4564,5125,5113,4729,5190,6233,4752,5981,4707,4707,4734,4735,4711,4791,6324,5279,4792,6322,4707,4735,6320,4748,4749,4752,4752,4582,6339,6230,4730,5190,4752,4752,4752,6892,4707,4707,6327,4735,4714,6320,6322,6322,6322,6324,4707,4707,4707,4710,4735,4793,4788,6324,4709,4765,5096,5096,4748,4752,4752,4752,4758,4721,4752,4752,4752,4777,4792,4788,4709,4752,4561,4752,5750,4735,4735,4794,6324,4752,5743,4752,4752,4752,4757,4752,4707,4709,4735,4735,4735,4735,4711,4791,6322,4792,5276,4722,4752,4563,5399,6420,4752,6238,5201,5242,4735,4735,4785,4752,4563,5663,4752,4563,6254,5386,5386,5386,4752,4752,4752,5746,4752,6321,6322,6322,6322,6323,6320,6322,6322,6323,4707,4707,4707,4735,4752,4752,4584,5193,4735,4735,4713,4752,4563,6913,6240,6240,6240,6929,4735,4735,4714,5739,6322,6322,6322,6325,6322,6324,4707,4710,4740,5096,5097,4707,4709,4735,4752,4698,4752,6653,4709,5467,5467,5467,4752,5513,5517,5483,4804,4818,4798,4802,4844,4844,4844,4808,4815,4812,4828,4832,4842,4844,4844,4844,4844,4845,4838,4926,4844,4852,4850,4913,4853,4857,4861,4865,4835,4869,4872,4879,4876,4881,4883,4887,4889,4891,4893,4900,4900,4897,4907,4910,4923,4846,4916,4919,4930,4933,4935,4939,4903,4943,4752,4752,4752,4948,4715,4752,4752,4752,4977,6877,4954,4752,4752,4752,4978,6115,4759,4759,4752,4752,4753,6060,5603,6128,4975,4752,4714,4752,6620,4752,6554,6723,6126,4984,5424,5283,4988,4992,4993,4993,4993,4997,5e3,5002,5006,5009,5013,5017,5017,5019,5023,5024,5028,5030,5034,5038,5037,5042,5046,4752,4752,4760,5740,4752,5065,4752,5423,4752,4725,4724,4723,4565,5750,4752,5657,4752,5671,5072,4752,4743,4752,5390,5082,4752,6010,4752,4751,5572,6253,5505,4752,5971,6389,5056,4752,4752,4752,5074,5535,6350,4752,4752,6930,5401,4752,5494,4752,4752,4752,5125,4752,6136,6009,4752,5110,6936,6567,5134,5141,5150,5143,5152,4752,4752,4754,4752,4752,4752,4755,4752,4752,4752,4752,6233,6232,4752,4752,6347,4752,4752,6356,5137,5161,5250,4752,4752,4752,5060,6584,5222,5223,5186,4752,6234,5190,6523,5174,5165,5171,5181,4752,4752,4752,5190,4752,5143,5180,4752,4752,4756,6223,4752,6358,5781,5171,4752,6600,5055,5251,4752,5745,4752,4752,6357,5166,4752,5700,4752,6585,5199,5167,5205,5153,4752,5211,5207,4752,4752,4757,5714,4752,5698,4752,5191,5136,5142,5151,5221,6420,4752,4752,4757,5946,5568,5167,6098,6009,4752,5973,4752,5175,5166,6097,5153,4752,4752,4583,6238,5201,5241,4752,4752,6357,5780,6547,5167,5243,4752,4752,6357,5781,4960,4752,6600,5250,5242,4752,4752,4752,5291,5782,5243,4752,4752,4752,5293,6836,6078,4752,4752,4752,5346,5256,4752,4752,4752,5355,4752,6927,4752,4752,4752,5377,5972,4752,4752,6928,5301,5305,5306,5306,5307,5306,5306,5311,5314,5316,5318,5320,5320,5320,5320,5321,5325,5325,5325,5327,5325,5325,5331,5331,4752,4752,4761,6855,4752,4752,4960,4752,4752,4752,5217,4752,6405,5353,5571,4752,6913,6240,5376,5259,4752,5068,5397,4752,5067,5385,5396,4752,6696,6700,5406,4752,4752,4752,5471,5263,4752,4752,4752,5531,6256,5416,4752,5572,4752,5665,4752,5365,4752,5664,4752,4752,4961,4961,4961,5670,4752,6018,4752,4752,6375,6009,4752,6535,4752,4752,4752,5581,5083,5429,6534,4752,4752,6428,6383,5341,6009,4752,4752,4752,5187,5417,4752,5573,4753,5358,6639,6644,6017,4752,6260,6601,4752,6413,4752,4752,4968,5118,5439,5444,5449,4752,4752,6578,5109,4752,4752,4753,6958,5445,5153,4752,4752,4752,5387,6259,6593,5458,4752,4752,5050,5054,5721,5336,5342,4752,4752,6591,4752,4752,6698,4752,4752,4752,5434,5465,6603,4752,4752,5080,4752,6569,5473,5477,5445,6429,5475,5869,5481,4752,4752,6717,6721,4752,5720,5335,5491,6602,4752,4752,4752,5747,5525,5477,5500,4752,4752,6740,6908,6569,5524,5476,5499,6429,4752,4752,6712,4752,4752,5084,5430,6860,4752,4752,4752,5748,5187,4752,4752,5223,4752,5745,6422,4752,4752,4752,6219,4752,5571,4752,5665,6571,5548,5869,5516,5812,5477,5871,4752,4752,4752,5750,5720,5335,5504,4752,4752,6868,5157,4752,6861,4752,4752,5111,6426,5386,5748,5510,4752,4752,5870,6429,4752,4752,4752,5746,4752,4752,4752,4760,5529,4752,4752,5560,5567,4752,4752,4757,5546,5554,6429,4752,6713,4752,4752,5191,5176,5559,5113,4752,4752,5192,4752,4752,4752,6727,4752,6319,4752,4752,5228,4752,5568,4752,4752,4752,5811,5225,6277,5386,4752,4752,6874,6878,4752,4752,6206,4752,5720,5814,5569,4752,5687,5691,5225,6255,6934,5689,5570,5570,4752,5944,5690,4752,5689,5570,4752,5688,4752,6238,5563,4752,4753,5522,5548,5687,5577,4752,5687,5577,6238,5401,6651,4752,4753,6054,6070,5386,6364,5586,6009,6256,5600,4752,6419,5378,5602,5607,5620,5611,5619,5614,5615,5615,5615,5615,5624,5631,5628,5635,5637,5637,5637,5642,5638,5646,5646,5646,5646,4752,4752,6449,4752,4752,5247,5251,6259,4778,5412,6009,4752,5705,4752,6945,4752,4752,4752,6239,4752,4752,5678,4752,4752,5650,4752,5656,5652,4752,4756,4752,4752,6103,4752,5661,5669,5675,4752,4757,5847,5927,4752,5685,4752,6232,4752,5377,6310,4752,4752,5695,4752,4752,5289,5389,4752,4752,5957,6439,4752,4752,4752,5845,5211,5251,4752,6437,6441,4752,4752,4752,5860,4581,5709,4752,4752,5227,4752,5718,4752,4752,5356,6055,5761,5726,5732,5738,4752,5759,5763,5728,5734,4752,4752,4752,5980,5762,5727,5733,4752,4758,4752,4752,6124,5052,5056,4779,6862,4752,4752,5380,5228,4752,5767,6936,4752,6937,6934,5378,4752,5228,5704,4752,4752,6947,4752,4752,5356,5549,5774,5786,6683,5251,5787,6684,4752,4752,4752,5990,6258,4778,5412,6009,4752,6557,5986,4752,4775,4752,5744,6946,4752,4752,4752,6094,6233,4752,4752,5791,4752,5805,6900,6682,6686,6686,4752,4752,4752,6117,5774,6902,6684,4752,4950,5088,5102,5411,6870,4752,4752,5380,6635,5768,6937,5802,4744,5810,6902,6685,4752,4959,4752,4752,4702,4752,4752,5809,6901,5818,4752,4752,5421,4954,4752,5798,4780,6870,5972,4752,4752,4752,6241,4752,4752,4752,5188,6e3,5824,5251,4752,4752,5842,5822,5828,4752,4752,5453,5153,5281,4752,4752,4752,6238,6233,6238,4752,4752,5971,5570,4752,4752,6241,5972,4752,6241,4752,4752,6238,4752,4752,4752,5230,6239,4752,6241,5973,5838,5237,4752,6254,6635,5226,5851,6443,5858,5866,5875,5879,5884,5886,5880,5890,5893,5896,5899,5901,5903,5907,5907,5913,5907,5907,5909,5920,5921,5917,5917,5919,5917,5917,5918,5917,5931,5265,4752,4752,5460,5360,4757,4752,6931,4752,4752,4752,5461,5361,6613,5542,4752,4752,4752,6896,5776,6882,4752,4752,5742,5936,5195,4752,6225,5942,6564,5950,5953,5961,4752,4961,4752,4752,4752,6e3,6367,5966,6419,4752,4752,5487,4752,6294,4752,6293,5985,4752,5990,5994,4752,4752,4752,6298,6367,5927,4752,4752,4752,6243,4759,6930,4752,4752,5741,4752,4752,6938,6005,6421,6050,6014,4752,4752,5505,4752,4752,4752,6437,4752,6209,5755,5755,6022,6026,6110,4752,4962,4961,4752,4752,6111,4752,4752,4752,6317,6031,6026,6110,4752,4966,4752,5225,5398,4752,5400,4752,4752,4752,6254,4752,6366,5926,4752,4752,5561,5225,5266,4752,4752,5224,6352,4752,6628,4752,4972,5386,5066,6048,5970,4752,4752,5573,5398,4752,6208,4752,4752,5596,4752,6059,5779,6064,4752,4977,4821,6882,6069,6065,4752,4752,5699,4752,4752,6001,5925,5251,4752,4752,4752,6247,4752,5739,4752,6353,4752,6629,4752,5973,4752,6569,6074,6089,6569,6084,6088,5251,6082,6086,6090,4752,4979,4579,4752,4752,4752,6422,4752,6423,6722,4752,4752,4752,6321,6322,5389,6627,4752,5971,4980,4580,4752,4752,4752,6320,4757,4752,5740,4752,5075,5968,4752,4977,5523,6665,6354,6627,4752,5972,4752,4752,6036,4753,6937,4752,4752,4752,6418,6252,4752,4752,4752,6423,6860,6869,4752,4752,5720,5813,5555,4752,4752,4752,5809,6354,6627,4752,4753,6937,4978,4581,4752,4752,4752,6429,4752,4979,4581,4752,4752,5722,5337,5263,4752,6861,6870,4752,5287,5297,4758,4752,5742,6353,6860,6869,4758,5740,5390,5998,6234,4752,4752,4752,6102,4752,5386,6234,5505,6935,4755,6239,4752,5971,4752,4752,4752,5386,4754,5720,4581,4752,4752,5741,6936,4752,6863,5739,4752,5076,4752,4752,5720,5335,5341,4752,6869,4752,6313,4752,6311,4752,6608,4752,4752,5745,4752,6259,4752,4618,6121,6232,6230,6230,5741,6935,4752,4752,6201,5189,4752,6134,6132,6140,6144,6151,6145,6145,6150,6146,6155,6159,6163,6167,6169,6174,6176,6169,6169,6170,6186,6187,6180,6180,6185,6180,6180,6181,6191,4752,4752,4752,6545,6229,6841,5573,5061,6250,4752,4752,4752,6569,5524,4752,6247,6251,4752,5107,4752,4752,4753,6719,6266,6265,6267,4752,5110,4752,5111,4752,5113,5111,4752,5956,4752,5192,4752,6621,5747,6333,4752,4752,5797,5191,6271,6276,5252,4961,4752,6281,6287,6251,4752,4752,4752,6570,6286,6291,4752,4752,5751,4752,5833,5832,5831,4752,5110,6077,4752,4752,6362,4752,4752,4770,4752,4752,4752,6717,5589,4752,6202,5190,4752,5110,6929,4752,4752,6307,4752,4752,6934,4752,4752,4752,6934,4759,6304,5573,4961,5831,5831,5831,4752,5112,4752,4752,5742,5580,4769,6009,4752,4752,6387,4752,5126,4752,6331,4961,4753,5534,5538,5542,4752,6282,5536,5540,4752,5112,6427,5932,5582,4771,4752,4752,4752,6546,5782,5243,4752,5579,5536,5540,5862,5538,5542,4752,5114,5993,4752,4961,4752,5797,4768,5153,4752,4752,5804,6899,5787,6318,4752,4752,5957,4752,6213,6334,4752,4752,4752,6731,4752,6234,6343,5539,6009,4752,4752,5769,4752,4752,5938,6343,5539,4752,6425,4961,4752,5193,4752,4752,6231,4752,5377,5401,4752,6254,6318,4752,4752,6255,4752,6425,4752,4752,5409,6311,4961,4752,4752,5823,4752,4752,4752,6240,4752,4752,4752,5103,5454,6009,4752,4752,5844,5146,5452,6377,4752,4752,5846,5145,6860,6009,4752,5190,6375,6009,6422,6424,4752,6868,4752,4752,4752,5388,5380,6254,6362,4752,5124,5122,4752,4752,6322,6322,6322,6322,4707,4707,4707,4707,4708,4735,4735,6381,4752,6009,5377,6389,4752,4752,6885,6009,4752,4752,6868,5377,6253,6887,4752,4752,6887,4752,4752,6886,4752,6403,5971,6255,4752,4752,5853,4752,4752,4752,6936,6255,6886,5971,6255,5191,4752,4752,5752,4752,4756,6589,6886,6401,6885,6885,4752,6886,5377,6885,6394,6394,4703,4703,4703,4752,5185,4752,4752,4757,5110,4960,5744,6398,4752,5187,6451,4752,4752,6409,4752,6411,5750,6215,6417,5744,6435,6217,4752,5189,6447,6457,6461,6462,6466,6486,6469,6484,6472,6478,6475,6480,6498,6492,6490,6496,6496,6500,6506,6506,6507,6504,6506,6506,6506,6511,6514,4752,4752,5854,4752,4752,4752,6619,4824,5749,6417,6518,4752,4752,4752,6756,5187,4752,4752,4752,6834,6431,4752,4752,4752,6836,5834,6009,6522,6527,6869,4752,6430,4752,5188,4752,5223,4752,4752,4752,6253,4752,6540,6551,6561,5402,6575,4752,4752,5945,4752,4752,6755,6009,4752,5188,5194,4752,4752,4752,6252,6255,4752,6756,5962,4752,5222,5392,5390,4752,6849,6848,4752,5231,6032,6027,6850,4752,4752,4752,6854,6619,4824,5749,6582,5518,4752,4752,4752,6861,4753,6634,4752,4752,5945,5691,4752,4752,6589,4752,4753,4752,4757,5561,4752,6597,4752,6607,4752,5235,4752,4752,4752,5225,6612,5541,4752,6617,5229,6351,5401,6625,4752,5753,4752,6633,5359,6640,6645,6009,4944,5540,4752,4752,5955,4752,6649,6238,5686,5686,5144,4752,5744,4752,4752,4752,4753,4980,6619,4824,6272,6654,5754,4753,4752,6311,4752,4752,6312,4752,4752,5355,5359,5550,6658,6009,5357,6678,4944,5541,4752,5571,4752,6597,6597,6597,6597,4752,4752,4752,6928,4752,4752,5110,6426,4752,5746,6423,4752,5266,4752,4564,4752,6662,5550,6671,6670,6009,4752,4752,5977,4752,6664,6669,5153,4752,5270,6423,5505,4823,5748,5401,5189,4752,4752,4752,5739,6322,5752,4753,4752,4752,5741,5390,4752,6675,6690,6429,6694,4752,4752,5193,6234,4824,5750,4752,5369,4752,4955,4752,4752,5385,5753,4756,4752,6239,4752,6240,4752,5349,4758,4752,6705,6429,4752,5372,4758,5592,4752,6705,6429,5572,6238,6913,4752,4752,6009,4752,4752,5712,4752,4752,6010,6536,4714,6709,4752,4752,6016,4752,4756,4752,6240,4752,5379,6255,4752,5388,4752,6257,6419,5074,6720,4752,4752,6042,4752,5749,4752,4752,4752,6929,4752,4752,5971,6717,6429,4752,4752,6042,5417,6914,6241,4752,5747,6233,4752,4752,4752,6926,4752,6729,4752,4752,4752,6933,6727,4563,4752,5747,6741,5389,5192,5222,4752,5986,4561,5748,4752,6936,6934,4562,5749,6934,5853,4563,6935,4752,5387,5748,4752,4752,6735,6371,4563,6936,6934,4752,4752,6739,6680,6421,4744,6300,6231,5091,4752,5389,5748,4752,4752,6701,4581,6039,6745,6748,4620,6733,6752,6760,6768,6762,6764,6771,6775,6779,6782,6784,6788,6790,6794,6797,6801,6804,6809,6808,6813,6815,6819,6817,6823,6827,6830,4752,5391,5223,5222,6421,4752,4752,4759,5112,4760,4752,5113,4752,5428,6533,4752,4752,6388,4752,4752,6393,4752,4752,6428,4752,4752,6428,6260,6840,5381,4752,6845,4584,4752,6043,4752,5495,4752,4752,4753,6197,4769,6859,6044,4752,4752,6195,5582,4752,6739,6907,5191,4752,6867,6915,4752,5506,5505,4752,5973,4752,4563,4752,5386,4752,5533,5537,5541,5389,5388,4752,4752,6232,4752,4752,5747,6741,6355,6235,4752,6543,6238,5400,4752,5188,4752,4752,6891,5777,5700,4752,5562,6253,4752,4752,6912,4752,4752,6932,4752,4752,6935,4752,4753,5435,5440,5445,5388,5388,4752,4752,6242,6042,4752,5739,6934,4752,5571,4752,5398,4752,4751,5401,5401,5399,5793,4753,6898,5778,4563,4752,5388,5749,6601,5747,6906,5192,6236,4752,6897,5777,4563,4752,5130,4752,4752,6338,4752,4752,6231,4752,4752,6920,4752,4752,4752,6261,4752,5775,6919,4752,5386,6258,4781,5595,5193,6237,4752,5571,4752,5399,4760,4752,5740,6935,4752,4752,6107,4752,4752,6924,4752,4752,6281,5535,6896,6942,4752,4752,6311,4752,4752,4752,6530,4759,4752,5740,6935,6951,4752,4752,4752,6311,5770,4977,6959,4752,4752,6312,5113,4752,6957,4752,4752,6313,4752,4752,4752,6453,2,4,8,262144,0,0,0,2147483648,1073741824,0,0,1075838976,2097152,2097152,268435456,4194432,4194560,4196352,270532608,2097152,4194304,50331648,0,0,0,4194304,0,0,541065216,541065216,-2143289344,-2143289344,4194304,4194304,4196352,-2143289344,4194304,4194432,37748736,541065216,-2143289344,4194304,4194304,4194304,4194304,4194304,4194304,4198144,4196352,8540160,4194304,4194304,4194304,4196352,276901888,4194304,4194304,8425488,4194304,1,0,1024,137363456,66,37748736,742391808,239075328,-1405091840,775946240,775946240,775946240,171966464,742391808,742391808,742391808,775946240,-1371537408,775946240,775946240,-1405091840,-1371537408,775946240,775946240,775946240,775946240,4718592,-1371537408,775946240,-1371537408,775946240,-1371537408,171966464,775946240,171966464,171966464,171966464,171966464,239075328,171966464,775946240,239075328,64,4718592,2097216,4720640,541589504,4194368,541589504,4194400,4194368,541065280,4194368,4194368,-2143289280,4194368,-2143285440,-2143285408,-2143285408,776470528,-2143285408,-2109730976,-2143285408,-2143285408,-2143285408,-2109730976,-2143285408,775946336,775946304,775946304,776470528,775946304,-1908404384,775946304,-1908404384,0,2097152,4194304,128,0,256,2048,0,0,16777216,16777216,16777216,16777216,64,64,64,64,96,96,96,64,0,0,0,24,64,0,96,96,0,0,0,288,8388608,0,0,8388608,4096,4096,4096,32,96,96,96,96,262144,96,96,1048576,128,0,1048576,0,0,2048,2048,2048,2048,0,0,0,0,1,0,0,0,2,0,0,0,3,96,96,128,128,2048,524288,268435456,536870912,1073741824,0,0,8388608,4096,0,64,0,2048,524288,536870912,0,64,524288,64,96,64,524288,524288,96,96,64,524288,96,64,80,528,524304,1048592,2097168,268435472,16,16,2,536936448,16,262160,16,536936448,16,17,17,20,16,48,16,16,20,48,64,128,1024,134217728,0,0,24,560,48,2097680,3145744,1048592,1048592,2097168,16,1049104,16,16,20,560,2097168,2097168,16,16,16,16,20,16,2097552,3146256,16,16,16,28,0,2,2098064,17,21,16,16,163577856,17,528,528,16,528,2228784,-161430188,-161429680,-161430188,-161430188,-161430188,-161429680,-161430188,-161429676,-160905388,-161429676,-161430188,-161429676,-161429676,-161429676,-161429676,-161429675,-161349072,-161349072,-161429675,-161349072,-161349072,-161349072,-161349072,-161347728,-161347728,-161347728,-161347728,-161298576,-160299088,-161298576,-161298572,-161298572,-161298572,-161298572,-18860267,-160774284,-18729163,-160774288,-160299084,-161298572,-160774284,-161298572,-161298572,16,16,28,16,16,112,21,53,146804757,146812949,0,16,0,48,3146256,2097680,1048592,146862101,146863389,-161429676,146863389,146863421,146863389,146863389,146863389,146863421,-161429740,-161429676,-160905388,-161298572,0,65536,524288,1048576,33554432,0,159383552,0,0,0,1157627904,-1073741824,0,0,0,300,142606336,0,8192,0,0,0,384,0,243269632,0,0,0,1862270976,1,32768,131328,131072,16777216,0,0,1,2,4,128,2097152,0,1073741825,2147483648,2147483648,8,16777216,1073774592,278528,1226014816,100665360,100665360,100665360,100665360,100665360,100665360,-2046818288,1091799136,-2044196848,1091799136,1091799136,1091799136,1091799136,1091799136,1091803360,1091799136,1091799136,1158908e3,1158908001,1192462432,1192462448,1192462448,1192462448,1192462448,1200851056,1091799393,1200851056,1200851056,1192462448,1870630720,1870647104,1870630720,1870647104,1870630720,1870647104,1870647104,1870647104,1870647104,1870647104,1870647120,1870647124,1870647124,1870647124,1870630736,1870655316,1870655316,1870655316,1870655317,1870655348,1870647120,1870647120,1870647120,1879019376,1879035760,1870647124,1879035760,1879035764,32768,131072,524288,2097152,8388608,16777216,134217728,268435456,1073741824,2147483648,131328,0,0,0,832,0,164096,0,0,0,520,4333568,1048576,1224736768,0,0,1,4,0,0,235712,0,1090519040,0,0,0,999,259072,1191182336,0,0,9437184,0,0,1048576,0,128,128,128,128,2048,2048,231744,0,0,0,1007,495424,7864320,1862270976,0,0,0,1024,0,0,0,63,52e4,1862270976,1862270976,16252928,0,0,16252928,0,0,0,1536,2147483648,64,98304,1048576,150994944,0,64,256,3584,16384,98304,393216,98304,393216,524288,1048576,2097152,4194304,2147483648,0,0,2097152,4194304,251658240,536870912,1073741824,0,0,8192,1073741824,1073741824,8388608,2097152,16777216,134217728,268435456,2048,65536,262144,524288,1048576,2097152,1048576,2097152,4194304,117440512,64,256,1536,16384,65536,117440512,134217728,536870912,1073741824,0,0,100663296,0,0,0,4096,0,0,0,64,0,0,128,-2113929216,64,256,1536,65536,262144,524288,4194304,16777216,100663296,134217728,536870912,1073741824,1048576,2097152,4194304,16777216,4194432,3145728,524288,2097152,134217728,268435456,65536,1048576,0,0,0,2048,0,0,134217728,0,0,0,15,16,524288,2097152,1073741824,2147483648,2147483648,0,1048576,2097152,67108864,1073741824,0,0,0,0,2097152,1073741824,2147483648,0,0,0,768,0,2097152,2147483648,0,-872415232,0,-872415232,67108864,134217728,1073741824,0,2147483648,0,0,0,8192,4096,0,0,1536,524288,64,64,96,64,0,524288,0,1073741824,2621440,1073741824,9476,512,0,32,384,8192,0,0,1,8,512,512,9476,134218240,1050624,262144,512,50331649,1275208192,4194312,4194312,4194312,4194312,541065224,4194312,4194312,4194344,-869654016,4203820,-869654016,-869654016,-869654016,-869654016,1279402504,1279402504,1279402504,1279402504,2143549415,2143549415,2143549415,2143549415,2143549415,2143549423,2143549415,2143549423,2143549423,2143549423,2143549423,16,32,256,1024,8192,33554432,8192,33554432,67108864,134217728,0,0,536870912,9216,0,0,1792,2147483648,0,1050624,0,0,1,14,16,32,1024,2048,77824,524288,0,512,139264,1275068416,512,2760704,-872415232,0,0,1856,2147483648,4203520,0,0,0,32768,0,0,0,58624,520,0,0,0,131072,0,0,0,512,0,1048576,0,1275068416,0,0,0,65536,0,0,0,12561,0,1007,1007,0,0,2048,524288,0,536870912,0,512,0,2048,1048576,0,0,40,0,2621440,0,0,2147483648,999,259072,4194304,25165824,100663296,402653184,1,102,384,512,5120,5120,8192,16384,229376,4194304,4194304,25165824,33554432,67108864,402653184,402653184,536870912,1073741824,0,0,2048,3145728,16777216,536870912,110,110,0,0,1,30,32,0,40,0,524288,64,96,1,6,96,384,512,1024,4096,8192,16384,229376,67108864,402653184,536870912,0,2,16,104,0,104,104,8192,33554432,134217728,0,0,2048,100663296,0,229376,25165824,33554432,402653184,536870912,8192,33554432,0,0,0,17408,0,524288,2097152,0,0,2048,268435456,536870912,0,0,268435456,49152,2,4,32,64,256,512,1024,8,8,0,0,1,64,128,3584,16384,3145728,16777216,67108864,134217728,805306368,1073741824,0,0,4,64,256,1024,4096,8192,65536,524288,98304,131072,25165824,268435456,536870912,0,2,4,256,1024,0,2048,0,98304,131072,16777216,268435456,0,0,0,262144,0,0,65536,268435456,0,0,1,128,512,2048,524288,2048,524288,67108864,536870912,0,262144,0,0,2432,0,0,4096,8192,0,32,4100,67108864,0,32768,0,32768,0,0,134348800,134348800,1049088,1049088,8192,1049088,12845065,12845065,12845065,12845065,270532608,0,1049088,0,134348800,12845065,12845065,147193865,5505537,5591557,5587465,5587457,5587457,147202057,5587457,5587457,5591557,5587457,13894153,13894153,13894153,13894153,-1881791493,13894153,81003049,13894153,13894153,-1881791493,-1881791493,-1881791493,-1881791493,0,9,0,0,1,5505024,142606336,0,0,0,278528,0,82432,0,0,1,16777216,0,0,0,139264,0,0,0,229440,0,5,86528,9,4456448,8388608,0,0,8192,8392704,9,8388608,0,0,256,1024,65536,16777216,268435456,0,0,41,75497472,0,0,16384,262144,0,0,0,512,1048576,0,0,262144,4194304,8388608,0,0,16384,4194304,2147483648,0,0,81920,0,0,2,4,16,32,8192,131072,262144,1048576,4194304,8388608,4194304,8388608,16777216,33554432,-1946157056,0,-1946157056,0,0,0,524288,0,0,0,16,0,0,0,8,0,0,0,12,0,0,0,13,0,1,2,56,64,896,8192,131072,0,0,33554432,1024,0,4,0,8,16,32,64,128,1024,2048,16384,65536,262144,524288,2097152,384,512,8192,131072,1048576,0,16384,65536,0,65536,0,0,131072,0,32,0,32768,134217728,0,0,2,8,16,0,2,8,32,64,256,1024,98304,131072,1048576,33554432,134217728,2147483648,8,32,384,8192,131072,33554432,131072,33554432,2147483648,0,0,24576,0,0,0,50331648,0,8396800,4194304,134217728,2048,134217728,0,0,2,16384,32768,1048576,2097152,0,8396800,0,0,4,8,0,0,16384,0,2,4,128,3584,16384,16384,16384,16777216,16384,229376,25165824,33554432,268435456,536870912,524288,268567040,16384,-2113929088,2113544,68423701,68423701,68423701,68423701,68489237,68423701,68423701,68423701,85200917,68423701,68489237,72618005,68423701,68423701,-2079059883,68423701,-2079059883,68425749,68423703,69488664,85200919,69488664,69488664,69488664,69488664,70537244,70537245,70537245,70537245,70537245,70537245,70539293,-2022351809,-2076946339,70537245,-2076946339,-2076946339,-2022351681,-2022351681,-2022351681,-2022351681,-2022351809,-2022351681,-2022351809,-2022351681,32768,65536,4194304,16777216,2147483648,0,0,0,8388608,134217728,1073741824,131584,268435456,0,0,4,128,1048576,67108864,0,0,4,256,1024,98304,0,0,5242880,-2080374784,268288,0,0,4,16777216,0,0,23,0,0,0,867391,24,282624,0,0,6,0,0,0,2097152,0,0,0,28,3145728,0,0,32768,65536,0,284672,0,0,0,1048576,0,63,128,351232,7340032,-2030043136,0,0,131072,268435456,0,0,8,32,64,16,4096,262144,1048576,1073741824,0,0,0,-2046820352,0,20480,0,0,8,4194304,0,0,15,16,32,3072,20480,65536,262144,7340032,50331648,16,32,128,3072,20480,0,1,4,1048576,4096,1048576,512,0,0,0,150528,0,0,0,5242880,0,7,0,14,32,1024,2048,12288,1,14,32,128,1024,7340032,50331648,2147483648,0,0,2048,16384,65536,7340032,50331648,8,32,1024,65536,262144,2097152,1073741824,0,1,6,8,32,128,1024,65536,2097152,4194304,50331648,2147483648,0,1,2,4,2097152,4194304,67108864,134217728,536870912,0,32768,4194304,16777216,0,1,2,4,50331648,67108864,2147483648,0,0,128,50331648,0,0,8,33554432,4096,4194304,268435456,0,0,32768,131072,131072,0,32768,32768,268435968,268435968,1073743872,268435968,0,128,6144,0,229376,128,268435968,16777220,268436032,256,256,256,256,257,256,256,536871168,256,256,256,256,384,-1879046336,-1879046334,1073744256,-1879046334,-1879046326,-1879046334,-1879046334,-1879046326,-1879046326,-1845491902,-1878784182,268444480,268444480,268444480,268444480,2100318145,268436288,268436288,268436288,268436288,268436289,268436288,2100318149,2100318149,2100318149,2100318149,2100326337,2100318149,2100318149,2100318145,2100318149,2100318145,2100318149,2100326341,2100318149,2100326341,2100326341,0,1,16,32,128,512,0,4194304,1,1024,0,0,229376,0,0,12,3145728,0,0,576,0,0,16,8192,0,0,16,262144,0,384,0,0,21,266240,1864,0,0,0,8388608,0,0,0,128,0,0,0,256,0,0,0,260,512,0,1,4036,19939328,2080374784,0,0,0,16777216,0,0,0,32,0,0,0,40,67108864,0,19947520,0,0,0,19947520,2304,0,8,0,512,301989888,0,0,262144,16777216,0,1,4,64,128,64,128,3840,16384,19922944,19922944,2080374784,0,0,29,0,0,1536,2147483648,0,0,32,1,8,0,33554432,0,0,32768,196608,0,0,0,33554432,0,0,32768,65536,131072,0,0,524288,524288,524288,524288,64,64,64,32,96,8,0,33554432,262144,8192,0,0,4194304,1024,0,4096,0,1024,2048,16384,3145728,2048,524288,536870912,1073741824,8,0,0,512,131072,0,0,64,256,1536,2048,33554432,8192,0,0,32,64,256,32768,65536,16777216,134217728,536870912,1073741824,0,3145728,16777216,536870912,1073741824,0,0,8192,8192,8192,9216,33554432,0,2097152,16777216,1073741824,0,0,32768,0,16777216,0,16777216,64,0,2,0,0,32768,16777216,0,0,32,512,128,131072,0,134218752,0,0,44,0,66048,0,0,0,67108864,0,0,0,8192,0,8192,0,536870912,0,0,0,12289,0,268500992,4243456,0,0,59,140224,5505024,-1887436800,0,0,2,2,4096,4096,0,4096,8192,67108864,0,0,1,4032,0,4243456,4096,1048588,12289,1124073472,1124073472,1124073472,1124073472,1124073472,1124073488,1124073472,1124073472,1124073474,1124073472,1124073472,1392574464,1124073472,12289,1073754113,12289,12289,1124073472,12289,12289,1098920193,1098920193,1124073488,1124073472,1258292224,1124073472,1124073472,1124073472,1124085761,1258304513,1124085761,1124085761,1124085761,1124085777,1132474625,1098920209,1132474625,1132474625,1132474625,1132474625,1400975617,2132360255,2132622399,2132622399,2132360255,2132360255,2132360255,2132360255,2132622399,2132360255,2132360255,2132360255,2140749119,2132360255,2140749119,2140749119,0,65536,268435456,49152,184549376,0,0,0,83886080,0,0,318767104,0,0,32768,100663296,402653184,1610612736,0,0,0,231488,0,12545,25165824,0,0,49152,0,0,256,1536,65536,0,0,58720256,0,0,131072,32768,0,0,134217728,0,12305,13313,0,0,331776,83886080,117440512,0,0,1,6,32,64,0,78081,327155712,0,0,511808,7864320,512,65536,0,0,64,65536,1048576,0,0,33554432,1073741824,0,0,110,0,0,256,8388608,0,0,524288,2097152,2147483648,0,0,77824,0,0,0,268435456,524288,1048576,16777216,100663296,134217728,0,339968,0,0,128,131072,1024,134217728,0,268435456,0,0,128,33554432,0,0,1,12288,0,0,0,134217728,2048,12288,65536,524288,1048576,1048576,33554432,67108864,134217728,805306368,0,327680,0,0,256,65536,0,0,268435456,1048576,33554432,134217728,805306368,1,14,16,1024,4096,8192,229376,65536,524288,33554432,134217728,536870912,1073741824,0,1,14,1024,2048,4096,8192,131072,1048576,8388608,33554432,134217728,2147483648,0,0,4096,65536,524288,134217728,16384,4194304,0,0,999,29619200,2113929216,0,0,0,148480,1,12,1024,134217728,0,128,134217728,8,0,8,8,8,0,1,4,8,134217728,536870912,0,0,1073741824,32768,0,4,8,536870912,0,0,1024,1024,0,1024,2048,3145728,0,8,32,512,4096,8192,0,0,68157440,137363456,0,66,66,524288,4100,1024,0,0,605247,1058013184,1073741824,100680704,25165824,92274688,25165824,25165824,92274688,92274688,25165952,25165824,25165824,26214400,92274688,25165824,92274688,93323264,92274688,92274688,92274688,92274688,92274720,93323264,25165890,100721664,25165890,100721928,100721928,100787464,100853e3,100721928,100721928,125977600,125977600,125977600,125977600,125846528,125846528,126895104,125846528,125846528,125846528,125846560,125977600,127026176,125977600,125977600,127026176,127026176,281843,1330419,281843,1330419,281843,281843,1330419,1330419,281843,281843,5524723,5524723,5524723,5524723,93605107,5524723,39079155,72633587,72633587,5524723,92556531,93605107,93605107,127290611,97799411,127290611,131484915,2097152,134217728,0,0,1024,65536,58368,0,0,0,301989888,8,124160,189696,0,0,605503,1066401792,0,0,3,240,19456,262144,0,150528,0,0,0,536870912,0,1073741824,0,57344,0,0,0,1073741824,0,0,0,1,2,112,128,3072,16384,262144,2048,16384,262144,0,0,2097152,16777216,0,0,0,1,2,48,64,0,1,2,16,32,64,384,8192,131072,1048576,32,4096,8192,131072,0,0,32768,0,256,0,256,0,65536,1024,2048,262144,0,0,32768,256,0,0,1024,2097152,0,0,0,16384,0,0,0,4,0,0,0,5,64,128,262144,0,0,2097152,268435456,0,0,64,128,0,0,1536,1792,1,2,16,64,0,0],r.TOKEN=["(0)","PragmaContents","DirCommentContents","DirPIContents","CDataSection","Wildcard","EQName","URILiteral","IntegerLiteral","DecimalLiteral","DoubleLiteral","StringLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","PITarget","NCName","QName","S","S","CharRef","CommentContents","EOF","'!'","'!='","'\"'","'#'","'#)'","'$'","'%'","''''","'('","'(#'","'(:'","')'","'*'","'*'","'+'","','","'-'","'-->'","'.'","'..'","'/'","'//'","'/>'","':'","':)'","'::'","':='","';'","'<'","'<!--'","'</'","'<<'","'<='","'<?'","'='","'>'","'>='","'>>'","'?'","'?>'","'@'","'NaN'","'['","']'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'{|'","'|'","'||'","'|}'","'}'","'}}'"]}),ace.define("ace/mode/xquery/visitors/SemanticHighlighter",["require","exports","module"],function(e,t,n){var r=t.SemanticHighlighter=function(e){this.tokens={},this.getTokens=function(){return this.visit(e),this.tokens},this.EQName=this.NCName=function(e){var t=e.pos.sl;return this.tokens[t]=this.tokens[t]===undefined?[]:this.tokens[t],e.pos.type="support.function",this.tokens[t].push(e.pos),!0},this.visit=function(e){var t=e.name,n=!1;typeof this[t]=="function"&&(n=this[t](e)===!0?!0:!1),n||this.visitChildren(e)},this.visitChildren=function(e,t){for(var n=0;n<e.children.length;n++){var r=e.children[n];t!==undefined&&typeof t[r.name]=="function"?t[r.name](r):this.visit(r)}}}})
@@ -0,0 +1,123 @@
1
+ class PubliSciServer < Sinatra::Base
2
+ set :public_dir, File.dirname(__FILE__) + '/public'
3
+
4
+ get "/" do
5
+ redirect 'repository'
6
+ end
7
+
8
+ get "/query" do
9
+ @repo = settings.repository
10
+ @query = params[:query] || example_query()
11
+ unless @repo
12
+ flash[:notice] = "Need to Load a repository first!"
13
+
14
+ redirect 'repository'
15
+ end
16
+ haml :query
17
+ end
18
+
19
+ post "/query.?:format?" do
20
+ @repo = settings.repository
21
+
22
+ unless @repo
23
+ flash[:notice] = "Need to Load a repository first!"
24
+
25
+ redirect 'repository'
26
+ end
27
+
28
+ @query = params[:query]
29
+ @result = content_for(query_repository(params[:query]))
30
+
31
+ content_response :query, @result
32
+ end
33
+
34
+ get "/dsl" do
35
+ @repo = settings.repository
36
+ @script = params[:script] || example_dsl()
37
+ unless @repo
38
+ flash[:notice] = "Need to Load a repository first!"
39
+
40
+ redirect 'repository'
41
+ end
42
+ haml :dsl
43
+ end
44
+
45
+ post "/dsl" do
46
+ @repo = settings.repository
47
+ @script = params[:script]
48
+
49
+ unless @repo
50
+ flash[:notice] = "Need to Load a repository first!"
51
+
52
+ redirect 'repository'
53
+ end
54
+
55
+ @result = content_for(load_dsl(@script))
56
+ flash.now[:notice] = @result
57
+ content_response :dsl, @result
58
+ end
59
+
60
+ get "/repository.?:format?" do
61
+ redirect 'repository/new' unless settings.repository
62
+ @repo = settings.repository
63
+
64
+ content_response :repository, rdf_content_for(@repo)
65
+ end
66
+
67
+ get "/repository/new" do
68
+ @repo = settings.repository
69
+
70
+ haml :new_repository
71
+ end
72
+
73
+ post "/repository/new" do
74
+ type = params[:repo_type]
75
+ settings.sudo_pass = params[:sudo_pass] if params[:sudo_pass]
76
+ uri = params[:repo_uri] if params[:repo_uri]
77
+
78
+ @repo = create_repository(type,uri)
79
+ settings.repository = @repo
80
+
81
+ redirect '/repository'
82
+ end
83
+
84
+ get "/repository/import" do
85
+ @repo = settings.repository
86
+ redirect '/repository' unless @repo
87
+
88
+ haml :import
89
+ end
90
+
91
+ post "/repository/import" do
92
+ @repo = settings.repository
93
+ redirect '/repository' unless @repo
94
+
95
+ if params[:upload_file]
96
+ type = File.extname(params[:upload_file][:filename])
97
+ if type.size > 0
98
+ type = type[1..-1].to_sym
99
+ else
100
+ raise "Unknown Type for file #{params[:upload_file][:filename]}"
101
+ end
102
+ @result = import_rdf(params[:upload_file][:tempfile], type)
103
+ else
104
+ @result = import_rdf(params[:rdf_string], params[:rdf_format])
105
+ end
106
+ flash.now[:notice] = @result
107
+ content_response :import, content_for(@result)
108
+ end
109
+
110
+ get "/repository/dump.?:format?" do
111
+ @repo = settings.repository
112
+ redirect '/repository' unless @repo
113
+
114
+
115
+ content_response(:dump, rdf_content_for(@repo))
116
+ end
117
+
118
+ get "/repository/clear" do
119
+ clear_repository
120
+
121
+ redirect '/'
122
+ end
123
+ end
@@ -0,0 +1,65 @@
1
+ %div{style: "color:green"}=flash[:notice]
2
+ %style{:media => "screen", :type => "text/css"}
3
+ body {
4
+ overflow: hidden;
5
+ }
6
+
7
+ \#editor {
8
+ margin: 0;
9
+ position: absolute;
10
+ top: 70;
11
+ bottom: 80;
12
+ left: 0;
13
+ right: 0;
14
+ }
15
+
16
+ \#links {
17
+ margin: 0;
18
+ position: absolute;
19
+ top: 550;
20
+ bottom: 0;
21
+ left: 0;
22
+ right: 0;
23
+ }
24
+
25
+ \#send {
26
+ margin: 0;
27
+ position: absolute;
28
+ top: 510;
29
+ bottom: 40;
30
+ left: 800;
31
+ right: 0;
32
+ }
33
+
34
+ %div
35
+ %p DSL
36
+ %p=h(@repo)
37
+ %p=h(@repo.uri) if @repo.uri
38
+
39
+ %pre#editor=@script
40
+ %script{:charset => "utf-8", :src => "src-min-noconflict/ace.js", :type => "text/javascript"}
41
+ :javascript
42
+ var editor = ace.edit("editor");
43
+ editor.setTheme("ace/theme/twilight");
44
+ editor.getSession().setMode("ace/mode/ruby");
45
+ document.getElementById('editor').style.fontSize='16px';
46
+
47
+ function doSubmit(){
48
+
49
+ document.getElementById("dslInput").value = editor.getSession().getValue();
50
+ document.getElementById("dslForm").submit()
51
+ }
52
+
53
+ %input#send{:onclick => "doSubmit();", :type => "button", :value => "Submit"}/
54
+
55
+ %div#links
56
+ %table{border: "1"}
57
+ %tbody
58
+ %tr
59
+ %td
60
+ %a{:href => "/repository"} Repository
61
+ %td
62
+ %a{:href => "/query"} Query
63
+
64
+ %form#dslForm{ action: "", method: "post"}
65
+ %input#dslInput{name: "script", type: "hidden"}
@@ -0,0 +1,3 @@
1
+ %p{style: "color:green"}=flash[:notice]
2
+
3
+ %p=format_ttl(h(@repo.to_ttl))
@@ -0,0 +1,35 @@
1
+ %p{style: "color:green"}=flash[:notice]
2
+ %div
3
+ %h2 Import RDF
4
+
5
+ %p
6
+ %form#input_form{ action: "", method: "post", enctype: 'multipart/form-data'}
7
+ %p
8
+ %strong Enter RDF
9
+ %br
10
+ %textarea{name: "rdf_string", :class => "text", cols: "80", rows: "20"}=@rdf
11
+ %br
12
+ Format
13
+ %br
14
+ %select{:form => "input_form", :name => "rdf_format"}
15
+ %option{:value => "ttl"} Turtle / N3
16
+ %option{:value => "rdfxml"} RDF-XML
17
+
18
+ %p
19
+ %strong Or Upload a File
20
+ %br
21
+ %input{type: "file", name: "upload_file"}
22
+
23
+ %p
24
+ %input{:type => "submit", :value => "Import", :class => "button"}
25
+
26
+ %p
27
+ %table{border: "1"}
28
+ %tbody
29
+ %tr
30
+ %td
31
+ %a{:href => "/repository"} Repository
32
+ %td
33
+ %a{:href => "/dsl"} DSL
34
+ %td
35
+ %a{:href => "/query"} Query
@@ -0,0 +1,25 @@
1
+ %h2 New Repository
2
+
3
+ %form#repoform{ action: "", method: "post", :onsubmit => ("return confirm('Create new store? If youve been using the in-memory repository, this will delete it!')" if @repo)}
4
+ %p
5
+ Repository Type
6
+ %br
7
+
8
+ %select{:form => "repoform", :name => "repo_type"}
9
+ %option{:value => "in_memory"} In Memory
10
+ %option{:value => "4store"} Fourstore
11
+ %br
12
+
13
+ %p
14
+ %strong FourStore Settings
15
+ %br
16
+ Repository URI
17
+ %br
18
+ %input{type: 'text', name: "repo_uri", size: "70", value: (@repo.uri if @repo)}
19
+ %br
20
+ Sudo Password (optional, but required for clearing the store)
21
+ %br
22
+ %input{type: 'password', name: "sudo_pass", size: "70" }
23
+ %br
24
+
25
+ %input{:type => "submit", :value => "Create", :class => "button"}
@@ -0,0 +1,28 @@
1
+ %div
2
+ %p Query Repository
3
+ %p=h(@repo)
4
+ %p=h(@repo.uri) if @repo.uri
5
+
6
+ %table{border: "1"}
7
+ %tbody
8
+ %tr
9
+ %td
10
+ %strong Query
11
+ %td
12
+ %form{ action: "", method: "post"}
13
+ %textarea{name: "query", :class => "text", cols: "80", rows: "20"}=@query
14
+ %input{:type => "submit", :value => "Send", :class => "button"}
15
+ %tr
16
+ %td
17
+ %strong Results
18
+ %td
19
+ %p=@result
20
+
21
+
22
+ %table{border: "1"}
23
+ %tbody
24
+ %tr
25
+ %td
26
+ %a{:href => "/repository"} Repository
27
+ %td
28
+ %a{:href => "/dsl"} DSL
@@ -0,0 +1,25 @@
1
+ %p{style: "color:green"}=flash[:notice]
2
+
3
+ %div
4
+ %strong Repo
5
+ %p=h(@repo)
6
+ %p
7
+ %a{href: '/repository/new'} New
8
+
9
+ - if @repo
10
+ %p
11
+ Size:
12
+ = "#{@repo.size} Triples"
13
+ %p
14
+ %a{href: 'repository/import'} Import
15
+ %a{href: 'repository/dump'} Export
16
+ %a{href: 'repository/clear'} Clear
17
+
18
+ %br
19
+ %table{border: "1"}
20
+ %tbody
21
+ %tr
22
+ %td
23
+ %a{:href => "/query"} Query
24
+ %td
25
+ %a{:href => "/dsl"} DSL
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "publisci-server"
7
+ spec.version = "0.0.1"
8
+ spec.authors = ["Will Strinz"]
9
+ spec.email = ["wstrinz@gmail.com"]
10
+ spec.description = %q{Server Interface for PubliSci}
11
+ spec.summary = %q{Wraps around ruby-rdf repositories to provide import, export, and query facilities for various repositories, as well as access to the PubliSci rdfization DSL. Content negotiated, cross domain, and with a simple http interface to allow access by humans and computers }
12
+ spec.homepage = ""
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ %w{bio-publisci slop sinatra sinatra-linkeddata sinatra-cross_origin rack-flash3}.each{|g|
21
+ spec.add_dependency g
22
+ }
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.3"
25
+ spec.add_development_dependency "rake"
26
+ end
metadata ADDED
@@ -0,0 +1,205 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: publisci-server
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Will Strinz
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bio-publisci
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: slop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sinatra
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sinatra-linkeddata
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra-cross_origin
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rack-flash3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '1.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: Server Interface for PubliSci
126
+ email:
127
+ - wstrinz@gmail.com
128
+ executables:
129
+ - publisci-server
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - .gitignore
134
+ - Gemfile
135
+ - LICENSE.txt
136
+ - README.md
137
+ - Rakefile
138
+ - bin/publisci-server
139
+ - lib/publisci/helpers.rb
140
+ - lib/publisci/public/src-min-noconflict/LICENSE
141
+ - lib/publisci/public/src-min-noconflict/ace.js
142
+ - lib/publisci/public/src-min-noconflict/ext-chromevox.js
143
+ - lib/publisci/public/src-min-noconflict/ext-elastic_tabstops_lite.js
144
+ - lib/publisci/public/src-min-noconflict/ext-emmet.js
145
+ - lib/publisci/public/src-min-noconflict/ext-keybinding_menu.js
146
+ - lib/publisci/public/src-min-noconflict/ext-language_tools.js
147
+ - lib/publisci/public/src-min-noconflict/ext-modelist.js
148
+ - lib/publisci/public/src-min-noconflict/ext-old_ie.js
149
+ - lib/publisci/public/src-min-noconflict/ext-searchbox.js
150
+ - lib/publisci/public/src-min-noconflict/ext-settings_menu.js
151
+ - lib/publisci/public/src-min-noconflict/ext-spellcheck.js
152
+ - lib/publisci/public/src-min-noconflict/ext-split.js
153
+ - lib/publisci/public/src-min-noconflict/ext-static_highlight.js
154
+ - lib/publisci/public/src-min-noconflict/ext-statusbar.js
155
+ - lib/publisci/public/src-min-noconflict/ext-textarea.js
156
+ - lib/publisci/public/src-min-noconflict/ext-themelist.js
157
+ - lib/publisci/public/src-min-noconflict/ext-whitespace.js
158
+ - lib/publisci/public/src-min-noconflict/keybinding-emacs.js
159
+ - lib/publisci/public/src-min-noconflict/keybinding-vim.js
160
+ - lib/publisci/public/src-min-noconflict/mode-ruby.js
161
+ - lib/publisci/public/src-min-noconflict/snippets/ruby.js
162
+ - lib/publisci/public/src-min-noconflict/theme-twilight.js
163
+ - lib/publisci/public/src-min-noconflict/worker-coffee.js
164
+ - lib/publisci/public/src-min-noconflict/worker-css.js
165
+ - lib/publisci/public/src-min-noconflict/worker-javascript.js
166
+ - lib/publisci/public/src-min-noconflict/worker-json.js
167
+ - lib/publisci/public/src-min-noconflict/worker-lua.js
168
+ - lib/publisci/public/src-min-noconflict/worker-php.js
169
+ - lib/publisci/public/src-min-noconflict/worker-xquery.js
170
+ - lib/publisci/routes.rb
171
+ - lib/publisci/views/dsl.haml
172
+ - lib/publisci/views/dump.haml
173
+ - lib/publisci/views/import.haml
174
+ - lib/publisci/views/new_repository.haml
175
+ - lib/publisci/views/query.haml
176
+ - lib/publisci/views/repository.haml
177
+ - publisci-server.gemspec
178
+ homepage: ''
179
+ licenses:
180
+ - MIT
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - '>='
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 2.0.3
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: Wraps around ruby-rdf repositories to provide import, export, and query facilities
202
+ for various repositories, as well as access to the PubliSci rdfization DSL. Content
203
+ negotiated, cross domain, and with a simple http interface to allow access by humans
204
+ and computers
205
+ test_files: []