mail 1.3.3 → 1.3.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of mail might be problematic. Click here for more details.

Files changed (129) hide show
  1. data/Rakefile +1 -1
  2. data/lib/mail.rb +2 -1
  3. data/lib/mail/version.rb +1 -1
  4. data/lib/vendor/treetop-1.4.3/History.txt +18 -0
  5. data/lib/vendor/treetop-1.4.3/LICENSE +19 -0
  6. data/lib/vendor/treetop-1.4.3/README.md +164 -0
  7. data/lib/vendor/treetop-1.4.3/Rakefile +23 -0
  8. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +20 -0
  9. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +18 -0
  10. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Support/nibs/SyntaxTreeViewer.nib/designable.nib +1524 -0
  11. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Support/nibs/SyntaxTreeViewer.nib/keyedobjects.nib +0 -0
  12. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Support/syntax_tree_viewer.rb +117 -0
  13. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +251 -0
  14. data/lib/vendor/treetop-1.4.3/Treetop.tmbundle/info.plist +10 -0
  15. data/lib/vendor/treetop-1.4.3/benchmark/seqpar.gnuplot +15 -0
  16. data/lib/vendor/treetop-1.4.3/benchmark/seqpar.treetop +16 -0
  17. data/lib/vendor/treetop-1.4.3/benchmark/seqpar_benchmark.rb +107 -0
  18. data/lib/vendor/treetop-1.4.3/bin/tt +112 -0
  19. data/lib/vendor/treetop-1.4.3/doc/contributing_and_planned_features.markdown +103 -0
  20. data/lib/vendor/treetop-1.4.3/doc/grammar_composition.markdown +65 -0
  21. data/lib/vendor/treetop-1.4.3/doc/index.markdown +90 -0
  22. data/lib/vendor/treetop-1.4.3/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  23. data/lib/vendor/treetop-1.4.3/doc/semantic_interpretation.markdown +189 -0
  24. data/lib/vendor/treetop-1.4.3/doc/site.rb +112 -0
  25. data/lib/vendor/treetop-1.4.3/doc/sitegen.rb +65 -0
  26. data/lib/vendor/treetop-1.4.3/doc/syntactic_recognition.markdown +100 -0
  27. data/lib/vendor/treetop-1.4.3/doc/using_in_ruby.markdown +21 -0
  28. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/arithmetic.rb +551 -0
  29. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/arithmetic.treetop +97 -0
  30. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  31. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/arithmetic_test.rb +54 -0
  32. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/lambda_calculus +0 -0
  33. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/lambda_calculus.rb +718 -0
  34. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  35. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  36. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  37. data/lib/vendor/treetop-1.4.3/examples/lambda_calculus/test_helper.rb +18 -0
  38. data/lib/vendor/treetop-1.4.3/lib/treetop.rb +17 -0
  39. data/lib/vendor/treetop-1.4.3/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  40. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler.rb +6 -0
  41. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/grammar_compiler.rb +44 -0
  42. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/lexical_address_space.rb +17 -0
  43. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/metagrammar.rb +3366 -0
  44. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/metagrammar.treetop +436 -0
  45. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes.rb +20 -0
  46. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/anything_symbol.rb +18 -0
  47. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  48. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/character_class.rb +28 -0
  49. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/choice.rb +31 -0
  50. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  51. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  52. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  53. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  54. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/optional.rb +19 -0
  55. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  56. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/parsing_expression.rb +146 -0
  57. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/parsing_rule.rb +58 -0
  58. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  59. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/predicate_block.rb +16 -0
  60. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  61. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/sequence.rb +71 -0
  62. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  63. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  64. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  65. data/lib/vendor/treetop-1.4.3/lib/treetop/compiler/ruby_builder.rb +113 -0
  66. data/lib/vendor/treetop-1.4.3/lib/treetop/ruby_extensions.rb +2 -0
  67. data/lib/vendor/treetop-1.4.3/lib/treetop/ruby_extensions/string.rb +42 -0
  68. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime.rb +5 -0
  69. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/compiled_parser.rb +110 -0
  70. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/interval_skip_list.rb +4 -0
  71. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  72. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  73. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  74. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/syntax_node.rb +114 -0
  75. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  76. data/lib/vendor/treetop-1.4.3/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  77. data/lib/vendor/treetop-1.4.3/lib/treetop/version.rb +9 -0
  78. data/lib/vendor/treetop-1.4.3/script/generate_metagrammar.rb +14 -0
  79. data/lib/vendor/treetop-1.4.3/script/svnadd +11 -0
  80. data/lib/vendor/treetop-1.4.3/script/svnrm +11 -0
  81. data/lib/vendor/treetop-1.4.3/spec/compiler/and_predicate_spec.rb +36 -0
  82. data/lib/vendor/treetop-1.4.3/spec/compiler/anything_symbol_spec.rb +44 -0
  83. data/lib/vendor/treetop-1.4.3/spec/compiler/character_class_spec.rb +276 -0
  84. data/lib/vendor/treetop-1.4.3/spec/compiler/choice_spec.rb +80 -0
  85. data/lib/vendor/treetop-1.4.3/spec/compiler/circular_compilation_spec.rb +28 -0
  86. data/lib/vendor/treetop-1.4.3/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  87. data/lib/vendor/treetop-1.4.3/spec/compiler/grammar_compiler_spec.rb +84 -0
  88. data/lib/vendor/treetop-1.4.3/spec/compiler/grammar_spec.rb +41 -0
  89. data/lib/vendor/treetop-1.4.3/spec/compiler/multibyte_chars_spec.rb +46 -0
  90. data/lib/vendor/treetop-1.4.3/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  91. data/lib/vendor/treetop-1.4.3/spec/compiler/not_predicate_spec.rb +38 -0
  92. data/lib/vendor/treetop-1.4.3/spec/compiler/one_or_more_spec.rb +35 -0
  93. data/lib/vendor/treetop-1.4.3/spec/compiler/optional_spec.rb +37 -0
  94. data/lib/vendor/treetop-1.4.3/spec/compiler/parenthesized_expression_spec.rb +19 -0
  95. data/lib/vendor/treetop-1.4.3/spec/compiler/parsing_rule_spec.rb +61 -0
  96. data/lib/vendor/treetop-1.4.3/spec/compiler/repeated_subrule_spec.rb +29 -0
  97. data/lib/vendor/treetop-1.4.3/spec/compiler/semantic_predicate_spec.rb +175 -0
  98. data/lib/vendor/treetop-1.4.3/spec/compiler/sequence_spec.rb +115 -0
  99. data/lib/vendor/treetop-1.4.3/spec/compiler/terminal_spec.rb +81 -0
  100. data/lib/vendor/treetop-1.4.3/spec/compiler/terminal_symbol_spec.rb +37 -0
  101. data/lib/vendor/treetop-1.4.3/spec/compiler/test_grammar.treetop +7 -0
  102. data/lib/vendor/treetop-1.4.3/spec/compiler/test_grammar.tt +7 -0
  103. data/lib/vendor/treetop-1.4.3/spec/compiler/test_grammar_do.treetop +7 -0
  104. data/lib/vendor/treetop-1.4.3/spec/compiler/tt_compiler_spec.rb +216 -0
  105. data/lib/vendor/treetop-1.4.3/spec/compiler/zero_or_more_spec.rb +56 -0
  106. data/lib/vendor/treetop-1.4.3/spec/composition/a.treetop +11 -0
  107. data/lib/vendor/treetop-1.4.3/spec/composition/b.treetop +11 -0
  108. data/lib/vendor/treetop-1.4.3/spec/composition/c.treetop +10 -0
  109. data/lib/vendor/treetop-1.4.3/spec/composition/d.treetop +10 -0
  110. data/lib/vendor/treetop-1.4.3/spec/composition/f.treetop +17 -0
  111. data/lib/vendor/treetop-1.4.3/spec/composition/grammar_composition_spec.rb +40 -0
  112. data/lib/vendor/treetop-1.4.3/spec/composition/subfolder/e_includes_c.treetop +15 -0
  113. data/lib/vendor/treetop-1.4.3/spec/ruby_extensions/string_spec.rb +32 -0
  114. data/lib/vendor/treetop-1.4.3/spec/runtime/compiled_parser_spec.rb +101 -0
  115. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  116. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  117. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/insert_and_delete_node.rb +385 -0
  118. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  119. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  120. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  121. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/palindromic_fixture.rb +23 -0
  122. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +164 -0
  123. data/lib/vendor/treetop-1.4.3/spec/runtime/interval_skip_list/spec_helper.rb +84 -0
  124. data/lib/vendor/treetop-1.4.3/spec/runtime/syntax_node_spec.rb +77 -0
  125. data/lib/vendor/treetop-1.4.3/spec/spec_helper.rb +110 -0
  126. data/lib/vendor/treetop-1.4.3/spec/spec_suite.rb +4 -0
  127. data/lib/vendor/treetop-1.4.3/treetop.gemspec +18 -0
  128. data/lib/vendor/treetop.rb +5 -0
  129. metadata +126 -11
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ require 'bundler'
12
12
 
13
13
  spec = Gem::Specification.new do |s|
14
14
  s.name = "mail"
15
- s.version = "1.3.3"
15
+ s.version = "1.3.4"
16
16
  s.author = "Mike Lindsaar"
17
17
  s.email = "raasdnil@gmail.com"
18
18
  s.homepage = "http://github.com/mikel/mail"
@@ -3,7 +3,6 @@ module Mail # :doc:
3
3
 
4
4
  require 'date'
5
5
 
6
- require 'treetop'
7
6
  require 'active_support'
8
7
 
9
8
  # Have to handle ActiveSupport 2.3 and 3.0
@@ -11,6 +10,8 @@ module Mail # :doc:
11
10
  # regardless of having activesupport 3 or 2.3 loaded
12
11
  require 'active_support/core_ext/hash/indifferent_access'
13
12
 
13
+ require File.join(File.dirname(__FILE__), 'vendor', 'treetop')
14
+
14
15
  require 'uri'
15
16
  require 'net/smtp'
16
17
  require 'mime/types'
@@ -3,7 +3,7 @@ module Mail
3
3
  module VERSION
4
4
  MAJOR = 1
5
5
  MINOR = 3
6
- TINY = 3
6
+ TINY = 4
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
9
9
  end
@@ -0,0 +1,18 @@
1
+ == 1.4.1 2009-09-04
2
+
3
+ * several enhancements:
4
+ * Many small-to-medium performance improvements
5
+ * Semantic predicates
6
+ * Support for UTF-8 characters
7
+ * Generation of graphvis DOT files for visualising parse results
8
+ * Commandline revamped with help
9
+
10
+ == 1.2.5 2009-03-10
11
+
12
+ * 1 minor enhancement:
13
+ * Extensions may always be modules, instead of sometimes modules, sometimes classes
14
+
15
+ == 0.0.1 2008-05-21
16
+
17
+ * 1 major enhancement:
18
+ * Initial release
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2007 Nathan Sobo.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,164 @@
1
+ Tutorial
2
+ ========
3
+ Languages can be split into two components, their *syntax* and their *semantics*. It's your understanding of English syntax that tells you the stream of words "Sleep furiously green ideas colorless" is not a valid sentence. Semantics is deeper. Even if we rearrange the above sentence to be "Colorless green ideas sleep furiously", which is syntactically correct, it remains nonsensical on a semantic level. With Treetop, you'll be dealing with languages that are much simpler than English, but these basic concepts apply. Your programs will need to address both the syntax and the semantics of the languages they interpret.
4
+
5
+ Treetop equips you with powerful tools for each of these two aspects of interpreter writing. You'll describe the syntax of your language with a *parsing expression grammar*. From this description, Treetop will generate a Ruby parser that transforms streams of characters written into your language into *abstract syntax trees* representing their structure. You'll then describe the semantics of your language in Ruby by defining methods on the syntax trees the parser generates.
6
+
7
+ Parsing Expression Grammars, The Basics
8
+ =======================================
9
+ The first step in using Treetop is defining a grammar in a file with the `.treetop` extension. Here's a grammar that's useless because it's empty:
10
+
11
+ # my_grammar.treetop
12
+ grammar MyGrammar
13
+ end
14
+
15
+ Next, you start filling your grammar with rules. Each rule associates a name with a parsing expression, like the following:
16
+
17
+ # my_grammar.treetop
18
+ # You can use a .tt extension instead if you wish
19
+ grammar MyGrammar
20
+ rule hello
21
+ 'hello chomsky'
22
+ end
23
+ end
24
+
25
+ The first rule becomes the *root* of the grammar, causing its expression to be matched when a parser for the grammar is fed a string. The above grammar can now be used in a Ruby program. Notice how a string matching the first rule parses successfully, but a second nonmatching string does not.
26
+
27
+ # use_grammar.rb
28
+ require 'rubygems'
29
+ require 'treetop'
30
+ Treetop.load 'my_grammar'
31
+ # or just:
32
+ # require 'my_grammar' # This works because Polyglot hooks "require" to find and load Treetop files
33
+
34
+ parser = MyGrammarParser.new
35
+ puts parser.parse('hello chomsky') # => Treetop::Runtime::SyntaxNode
36
+ puts parser.parse('silly generativists!') # => nil
37
+
38
+ Users of *regular expressions* will find parsing expressions familiar. They share the same basic purpose, matching strings against patterns. However, parsing expressions can recognize a broader category of languages than their less expressive brethren. Before we get into demonstrating that, lets cover some basics. At first parsing expressions won't seem much different. Trust that they are.
39
+
40
+ Terminal Symbols
41
+ ----------------
42
+ The expression in the grammar above is a terminal symbol. It will only match a string that matches it exactly. There are two other kinds of terminal symbols, which we'll revisit later. Terminals are called *atomic expressions* because they aren't composed of smaller expressions.
43
+
44
+ Ordered Choices
45
+ ---------------
46
+ Ordered choices are *composite expressions*, which allow for any of several subexpressions to be matched. These should be familiar from regular expressions, but in parsing expressions, they are delimited by the `/` character. Its important to note that the choices are prioritized in the order they appear. If an earlier expression is matched, no subsequent expressions are tried. Here's an example:
47
+
48
+ # my_grammar.treetop
49
+ grammar MyGrammar
50
+ rule hello
51
+ 'hello chomsky' / 'hello lambek'
52
+ end
53
+ end
54
+
55
+ # fragment of use_grammar.rb
56
+ puts parser.parse('hello chomsky') # => Treetop::Runtime::SyntaxNode
57
+ puts parser.parse('hello lambek') # => Treetop::Runtime::SyntaxNode
58
+ puts parser.parse('silly generativists!') # => nil
59
+
60
+ Note that once a choice rule has matched the text using a particular alternative at a particular location in the input and hence has succeeded, that choice will never be reconsidered, even if the chosen alternative causes another rule to fail where a later alternative wouldn't have. It's always a later alternative, since the first to succeed is final - why keep looking when you've found what you wanted? This is a feature of PEG parsers that you need to understand if you're going to succeed in using Treetop. In order to memoize success and failures, such decisions cannot be reversed. Luckily Treetop provides a variety of clever ways you can tell it to avoid making the wrong decisions. But more on that later.
61
+
62
+ Sequences
63
+ ---------
64
+ Sequences are composed of other parsing expressions separated by spaces. Using sequences, we can tighten up the above grammar.
65
+
66
+ # my_grammar.treetop
67
+ grammar MyGrammar
68
+ rule hello
69
+ 'hello ' ('chomsky' / 'lambek')
70
+ end
71
+ end
72
+
73
+ Note the use of parentheses to override the default precedence rules, which bind sequences more tightly than choices.
74
+
75
+ Once the whole sequence has been matched, the result is memoized and the details of the match will not be reconsidered for that location in the input.
76
+
77
+ Nonterminal Symbols
78
+ -------------------
79
+ Here we leave regular expressions behind. Nonterminals allow expressions to refer to other expressions by name. A trivial use of this facility would allow us to make the above grammar more readable should the list of names grow longer.
80
+
81
+ # my_grammar.treetop
82
+ grammar MyGrammar
83
+ rule hello
84
+ 'hello ' linguist
85
+ end
86
+
87
+ rule linguist
88
+ 'chomsky' / 'lambek' / 'jacobsen' / 'frege'
89
+ end
90
+ end
91
+
92
+ The true power of this facility, however, is unleashed when writing *recursive expressions*. Here is a self-referential expression that can match any number of open parentheses followed by any number of closed parentheses. This is theoretically impossible with regular expressions due to the *pumping lemma*.
93
+
94
+ # parentheses.treetop
95
+ grammar Parentheses
96
+ rule parens
97
+ '(' parens ')' / ''
98
+ end
99
+ end
100
+
101
+
102
+ The `parens` expression simply states that a `parens` is a set of parentheses surrounding another `parens` expression or, if that doesn't match, the empty string. If you are uncomfortable with recursion, its time to get comfortable, because it is the basis of language. Here's a tip: Don't try and imagine the parser circling round and round through the same rule. Instead, imagine the rule is *already* defined while you are defining it. If you imagine that `parens` already matches a string of matching parentheses, then its easy to think of `parens` as an open and closing parentheses around another set of matching parentheses, which conveniently, you happen to be defining. You know that `parens` is supposed to represent a string of matched parentheses, so trust in that meaning, even if you haven't fully implemented it yet.
103
+
104
+ Repetition
105
+ ----------
106
+ Any item in a rule may be followed by a '+' or a '*' character, signifying one-or-more and zero-or-more occurrences of that item. Beware though; the match is greedy, and if it matches too many items and causes subsequent items in the sequence to fail, the number matched will never be reconsidered. Here's a simple example of a rule that will never succeed:
107
+
108
+ # toogreedy.treetop
109
+ grammar TooGreedy
110
+ rule a_s
111
+ 'a'* 'a'
112
+ end
113
+ end
114
+
115
+ The 'a'* will always eat up any 'a's that follow, and the subsequent 'a' will find none there, so the whole rule will fail. You might need to use lookahead to avoid matching too much.
116
+
117
+ Negative Lookahead
118
+ ------------------
119
+
120
+ When you need to ensure that the following item *doesn't* match in some case where it might otherwise, you can use negat!ve lookahead, which is an item preceeded by a ! - here's an example:
121
+
122
+ # postcondition.treetop
123
+ grammar PostCondition
124
+ rule conditional_sentence
125
+ ( !conditional_keyword word )+ conditional_keyword [ \t]+ word*
126
+ end
127
+
128
+ rule word
129
+ ([a-zA-Z]+ [ \t]+)
130
+ end
131
+
132
+ rule conditional_keyword
133
+ 'if' / 'while' / 'until'
134
+ end
135
+ end
136
+
137
+ Even though the rule `word` would match any of the conditional keywords, the first words of a conditional_sentence must not be conditional_keywords. The negative lookahead prevents that matching, and prevents the repetition from matching too much input. Note that the lookahead may be a grammar rule of any complexity, including one that isn't used elsewhere in your grammar.
138
+
139
+ Positive lookahead
140
+ ------------------
141
+
142
+ Sometimes you want an item to match, but only if the *following* text would match some pattern. You don't want to consume that following text, but if it's not there, you want this rule to fail. You can append a positive lookahead like this to a rule by appending the lookahead rule preceeded by an & character.
143
+
144
+
145
+
146
+ Features to cover in the talk
147
+ =============================
148
+
149
+ * Treetop files
150
+ * Grammar definition
151
+ * Rules
152
+ * Loading a grammar
153
+ * Compiling a grammar with the `tt` command
154
+ * Accessing a parser for the grammar from Ruby
155
+ * Parsing Expressions of all kinds
156
+ ? Left recursion and factorization
157
+ - Here I can talk about function application, discussing how the operator
158
+ could be an arbitrary expression
159
+ * Inline node class eval blocks
160
+ * Node class declarations
161
+ * Labels
162
+ * Use of super within within labels
163
+ * Grammar composition with include
164
+ * Use of super with grammar composition
@@ -0,0 +1,23 @@
1
+ dir = File.dirname(__FILE__)
2
+ require 'rubygems'
3
+ require 'rake'
4
+ $LOAD_PATH.unshift(File.join(dir, 'vendor', 'rspec', 'lib'))
5
+ require 'spec/rake/spectask'
6
+
7
+ require 'rake/gempackagetask'
8
+
9
+ task :default => :spec
10
+
11
+ Spec::Rake::SpecTask.new do |t|
12
+ t.pattern = 'spec/**/*spec.rb'
13
+ end
14
+
15
+ load "./treetop.gemspec"
16
+
17
+ Rake::GemPackageTask.new($gemspec) do |pkg|
18
+ pkg.need_tar = true
19
+ end
20
+
21
+ task :version do
22
+ puts RUBY_VERSION
23
+ end
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>grammar ${1:GrammarName}
7
+ rule ${2:rule_name}
8
+ $0
9
+ end
10
+ end</string>
11
+ <key>name</key>
12
+ <string>grammar ... end</string>
13
+ <key>scope</key>
14
+ <string>source.treetop</string>
15
+ <key>tabTrigger</key>
16
+ <string>g</string>
17
+ <key>uuid</key>
18
+ <string>2AE73FBB-88B9-4049-B208-D2440A146164</string>
19
+ </dict>
20
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>rule ${1:rule_name}
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>rule ... end</string>
11
+ <key>scope</key>
12
+ <string>meta.grammar.treetop</string>
13
+ <key>tabTrigger</key>
14
+ <string>r</string>
15
+ <key>uuid</key>
16
+ <string>498A1881-498E-4BDA-9303-7E42B425C5EE</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,1524 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.01">
3
+ <data>
4
+ <int key="IBDocument.SystemTarget">1050</int>
5
+ <string key="IBDocument.SystemVersion">9E17</string>
6
+ <string key="IBDocument.InterfaceBuilderVersion">629</string>
7
+ <string key="IBDocument.AppKitVersion">949.33</string>
8
+ <string key="IBDocument.HIToolboxVersion">352.00</string>
9
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
10
+ <bool key="EncodedWithXMLCoder">YES</bool>
11
+ <integer value="215"/>
12
+ </object>
13
+ <object class="NSArray" key="IBDocument.PluginDependencies">
14
+ <bool key="EncodedWithXMLCoder">YES</bool>
15
+ <string id="722354185">com.apple.InterfaceBuilder.CocoaPlugin</string>
16
+ </object>
17
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
18
+ <bool key="EncodedWithXMLCoder">YES</bool>
19
+ <object class="NSCustomObject" id="1001">
20
+ <string key="NSClassName">NSObject</string>
21
+ </object>
22
+ <object class="NSCustomObject" id="1003">
23
+ <string key="NSClassName">FirstResponder</string>
24
+ </object>
25
+ <object class="NSCustomObject" id="1004">
26
+ <string key="NSClassName">NSApplication</string>
27
+ </object>
28
+ <object class="NSObjectController" id="152190163">
29
+ <object class="NSMutableArray" key="NSDeclaredKeys">
30
+ <bool key="EncodedWithXMLCoder">YES</bool>
31
+ <string>input</string>
32
+ <string>syntax_tree</string>
33
+ <string id="1001855486">controller</string>
34
+ <string>selected_tab</string>
35
+ </object>
36
+ <bool key="NSEditable">YES</bool>
37
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
38
+ </object>
39
+ <object class="NSTreeController" id="453881072">
40
+ <object class="NSMutableArray" key="NSDeclaredKeys">
41
+ <bool key="EncodedWithXMLCoder">YES</bool>
42
+ <string>class_and_modules</string>
43
+ <string>offset</string>
44
+ <string>text_value</string>
45
+ <string>methods</string>
46
+ <reference ref="1001855486"/>
47
+ <string id="589643114"/>
48
+ <string>getIndexes</string>
49
+ </object>
50
+ <bool key="NSEditable">YES</bool>
51
+ <object class="_NSManagedProxy" key="_NSManagedProxy"/>
52
+ <bool key="NSAvoidsEmptySelection">YES</bool>
53
+ <bool key="NSPreservesSelection">YES</bool>
54
+ <bool key="NSSelectsInsertedObjects">YES</bool>
55
+ <string key="NSTreeContentChildrenKey">elements</string>
56
+ </object>
57
+ <object class="NSWindowTemplate" id="662580741">
58
+ <int key="NSWindowStyleMask">15</int>
59
+ <int key="NSWindowBacking">2</int>
60
+ <string key="NSWindowRect">{{83, 222}, {1112, 670}}</string>
61
+ <int key="NSWTFlags">603979776</int>
62
+ <string key="NSWindowTitle">Window</string>
63
+ <string key="NSWindowClass">NSWindow</string>
64
+ <nil key="NSViewClass"/>
65
+ <object class="NSView" key="NSWindowView" id="122570533">
66
+ <reference key="NSNextResponder"/>
67
+ <int key="NSvFlags">256</int>
68
+ <object class="NSMutableArray" key="NSSubviews">
69
+ <bool key="EncodedWithXMLCoder">YES</bool>
70
+ <object class="NSTabView" id="313249247">
71
+ <reference key="NSNextResponder" ref="122570533"/>
72
+ <int key="NSvFlags">18</int>
73
+ <object class="NSMutableArray" key="NSSubviews">
74
+ <bool key="EncodedWithXMLCoder">YES</bool>
75
+ <object class="NSView" id="950112104">
76
+ <reference key="NSNextResponder" ref="313249247"/>
77
+ <int key="NSvFlags">256</int>
78
+ <object class="NSMutableArray" key="NSSubviews">
79
+ <bool key="EncodedWithXMLCoder">YES</bool>
80
+ <object class="NSButton" id="488741429">
81
+ <reference key="NSNextResponder" ref="950112104"/>
82
+ <int key="NSvFlags">289</int>
83
+ <string key="NSFrame">{{1001, 9}, {96, 32}}</string>
84
+ <reference key="NSSuperview" ref="950112104"/>
85
+ <reference key="NSWindow"/>
86
+ <bool key="NSEnabled">YES</bool>
87
+ <object class="NSButtonCell" key="NSCell" id="777034287">
88
+ <int key="NSCellFlags">67239424</int>
89
+ <int key="NSCellFlags2">134217728</int>
90
+ <string key="NSContents">Run</string>
91
+ <object class="NSFont" key="NSSupport" id="422690541">
92
+ <string key="NSName" id="41528687">LucidaGrande</string>
93
+ <double key="NSSize">1.300000e+01</double>
94
+ <int key="NSfFlags">1044</int>
95
+ </object>
96
+ <reference key="NSControlView" ref="488741429"/>
97
+ <int key="NSButtonFlags">-2038284033</int>
98
+ <int key="NSButtonFlags2">268435585</int>
99
+ <reference key="NSAlternateContents" ref="589643114"/>
100
+ <string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
101
+ <int key="NSPeriodicDelay">200</int>
102
+ <int key="NSPeriodicInterval">25</int>
103
+ </object>
104
+ </object>
105
+ <object class="NSScrollView" id="352183221">
106
+ <reference key="NSNextResponder" ref="950112104"/>
107
+ <int key="NSvFlags">256</int>
108
+ <object class="NSMutableArray" key="NSSubviews">
109
+ <bool key="EncodedWithXMLCoder">YES</bool>
110
+ <object class="NSClipView" id="845431764">
111
+ <reference key="NSNextResponder" ref="352183221"/>
112
+ <int key="NSvFlags">2304</int>
113
+ <object class="NSMutableArray" key="NSSubviews">
114
+ <bool key="EncodedWithXMLCoder">YES</bool>
115
+ <object class="NSTextView" id="137056870">
116
+ <reference key="NSNextResponder" ref="845431764"/>
117
+ <int key="NSvFlags">2322</int>
118
+ <object class="NSMutableSet" key="NSDragTypes">
119
+ <bool key="EncodedWithXMLCoder">YES</bool>
120
+ <object class="NSMutableArray" key="set.sortedObjects">
121
+ <bool key="EncodedWithXMLCoder">YES</bool>
122
+ <string>Apple HTML pasteboard type</string>
123
+ <string>Apple PDF pasteboard type</string>
124
+ <string>Apple PICT pasteboard type</string>
125
+ <string>Apple PNG pasteboard type</string>
126
+ <string>Apple URL pasteboard type</string>
127
+ <string>CorePasteboardFlavorType 0x6D6F6F76</string>
128
+ <string>CorePasteboardFlavorType 0x75726C20</string>
129
+ <string>NSColor pasteboard type</string>
130
+ <string>NSFilenamesPboardType</string>
131
+ <string>NSStringPboardType</string>
132
+ <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
133
+ <string>NeXT RTFD pasteboard type</string>
134
+ <string>NeXT Rich Text Format v1.0 pasteboard type</string>
135
+ <string>NeXT TIFF v4.0 pasteboard type</string>
136
+ <string>NeXT font pasteboard type</string>
137
+ <string>NeXT ruler pasteboard type</string>
138
+ <string>WebURLsWithTitlesPboardType</string>
139
+ </object>
140
+ </object>
141
+ <string key="NSFrameSize">{1097, 36}</string>
142
+ <reference key="NSSuperview" ref="845431764"/>
143
+ <reference key="NSWindow"/>
144
+ <object class="NSTextContainer" key="NSTextContainer" id="253091168">
145
+ <object class="NSLayoutManager" key="NSLayoutManager">
146
+ <object class="NSTextStorage" key="NSTextStorage">
147
+ <object class="NSMutableString" key="NSString">
148
+ <characters key="NS.bytes">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda</characters>
149
+ </object>
150
+ <object class="NSMutableArray" key="NSAttributes">
151
+ <bool key="EncodedWithXMLCoder">YES</bool>
152
+ <object class="NSDictionary">
153
+ <bool key="EncodedWithXMLCoder">YES</bool>
154
+ <object class="NSMutableArray" key="dict.sortedKeys">
155
+ <bool key="EncodedWithXMLCoder">YES</bool>
156
+ <string id="430187363">NSFont</string>
157
+ <string id="329359812">NSParagraphStyle</string>
158
+ </object>
159
+ <object class="NSMutableArray" key="dict.values">
160
+ <bool key="EncodedWithXMLCoder">YES</bool>
161
+ <object class="NSFont">
162
+ <reference key="NSName" ref="41528687"/>
163
+ <double key="NSSize">1.000000e+01</double>
164
+ <int key="NSfFlags">2843</int>
165
+ </object>
166
+ <object class="NSParagraphStyle">
167
+ <int key="NSAlignment">3</int>
168
+ <object class="NSArray" key="NSTabStops">
169
+ <bool key="EncodedWithXMLCoder">YES</bool>
170
+ <object class="NSTextTab" id="115061803">
171
+ <double key="NSLocation">0.000000e+00</double>
172
+ </object>
173
+ <object class="NSTextTab" id="331074947">
174
+ <double key="NSLocation">5.600000e+01</double>
175
+ </object>
176
+ <object class="NSTextTab" id="354637839">
177
+ <double key="NSLocation">1.120000e+02</double>
178
+ </object>
179
+ <object class="NSTextTab" id="764132865">
180
+ <double key="NSLocation">1.680000e+02</double>
181
+ </object>
182
+ <object class="NSTextTab" id="163068112">
183
+ <double key="NSLocation">2.240000e+02</double>
184
+ </object>
185
+ <object class="NSTextTab" id="149458604">
186
+ <double key="NSLocation">2.800000e+02</double>
187
+ </object>
188
+ <object class="NSTextTab" id="719239685">
189
+ <double key="NSLocation">3.360000e+02</double>
190
+ </object>
191
+ <object class="NSTextTab" id="496248947">
192
+ <double key="NSLocation">3.920000e+02</double>
193
+ </object>
194
+ <object class="NSTextTab" id="1060733283">
195
+ <double key="NSLocation">4.480000e+02</double>
196
+ </object>
197
+ <object class="NSTextTab" id="107247330">
198
+ <double key="NSLocation">5.040000e+02</double>
199
+ </object>
200
+ <object class="NSTextTab" id="989382821">
201
+ <double key="NSLocation">5.600000e+02</double>
202
+ </object>
203
+ <object class="NSTextTab" id="64629286">
204
+ <double key="NSLocation">6.160000e+02</double>
205
+ </object>
206
+ <object class="NSTextTab" id="283200111">
207
+ <double key="NSLocation">6.720000e+02</double>
208
+ </object>
209
+ <object class="NSTextTab" id="504361758">
210
+ <double key="NSLocation">7.280000e+02</double>
211
+ </object>
212
+ <object class="NSTextTab" id="587496600">
213
+ <double key="NSLocation">7.840000e+02</double>
214
+ </object>
215
+ <object class="NSTextTab" id="847035628">
216
+ <double key="NSLocation">8.400000e+02</double>
217
+ </object>
218
+ <object class="NSTextTab" id="815530036">
219
+ <double key="NSLocation">8.960000e+02</double>
220
+ </object>
221
+ <object class="NSTextTab" id="600658618">
222
+ <double key="NSLocation">9.520000e+02</double>
223
+ </object>
224
+ <object class="NSTextTab" id="604915181">
225
+ <double key="NSLocation">1.008000e+03</double>
226
+ </object>
227
+ <object class="NSTextTab" id="832198966">
228
+ <double key="NSLocation">1.064000e+03</double>
229
+ </object>
230
+ <object class="NSTextTab" id="820621810">
231
+ <double key="NSLocation">1.120000e+03</double>
232
+ </object>
233
+ <object class="NSTextTab" id="456390945">
234
+ <double key="NSLocation">1.176000e+03</double>
235
+ </object>
236
+ <object class="NSTextTab" id="14010069">
237
+ <double key="NSLocation">1.232000e+03</double>
238
+ </object>
239
+ <object class="NSTextTab" id="1012065111">
240
+ <double key="NSLocation">1.288000e+03</double>
241
+ </object>
242
+ <object class="NSTextTab" id="578960478">
243
+ <double key="NSLocation">1.344000e+03</double>
244
+ </object>
245
+ <object class="NSTextTab" id="327256319">
246
+ <double key="NSLocation">1.400000e+03</double>
247
+ </object>
248
+ <object class="NSTextTab" id="888435390">
249
+ <double key="NSLocation">1.456000e+03</double>
250
+ </object>
251
+ <object class="NSTextTab" id="779626094">
252
+ <double key="NSLocation">1.512000e+03</double>
253
+ </object>
254
+ <object class="NSTextTab" id="969141366">
255
+ <double key="NSLocation">1.568000e+03</double>
256
+ </object>
257
+ <object class="NSTextTab" id="572093248">
258
+ <double key="NSLocation">1.624000e+03</double>
259
+ </object>
260
+ <object class="NSTextTab" id="98561208">
261
+ <double key="NSLocation">1.680000e+03</double>
262
+ </object>
263
+ <object class="NSTextTab" id="10459347">
264
+ <double key="NSLocation">1.736000e+03</double>
265
+ </object>
266
+ </object>
267
+ </object>
268
+ </object>
269
+ </object>
270
+ <object class="NSDictionary">
271
+ <bool key="EncodedWithXMLCoder">YES</bool>
272
+ <object class="NSMutableArray" key="dict.sortedKeys">
273
+ <bool key="EncodedWithXMLCoder">YES</bool>
274
+ <reference ref="430187363"/>
275
+ <reference ref="329359812"/>
276
+ </object>
277
+ <object class="NSMutableArray" key="dict.values">
278
+ <bool key="EncodedWithXMLCoder">YES</bool>
279
+ <object class="NSFont">
280
+ <string key="NSName">LucidaGrande-Bold</string>
281
+ <double key="NSSize">1.000000e+01</double>
282
+ <int key="NSfFlags">16</int>
283
+ </object>
284
+ <object class="NSParagraphStyle">
285
+ <int key="NSAlignment">3</int>
286
+ <object class="NSArray" key="NSTabStops">
287
+ <bool key="EncodedWithXMLCoder">YES</bool>
288
+ <reference ref="115061803"/>
289
+ <reference ref="331074947"/>
290
+ <reference ref="354637839"/>
291
+ <reference ref="764132865"/>
292
+ <reference ref="163068112"/>
293
+ <reference ref="149458604"/>
294
+ <reference ref="719239685"/>
295
+ <reference ref="496248947"/>
296
+ <reference ref="1060733283"/>
297
+ <reference ref="107247330"/>
298
+ <reference ref="989382821"/>
299
+ <reference ref="64629286"/>
300
+ <reference ref="283200111"/>
301
+ <reference ref="504361758"/>
302
+ <reference ref="587496600"/>
303
+ <reference ref="847035628"/>
304
+ <reference ref="815530036"/>
305
+ <reference ref="600658618"/>
306
+ <reference ref="604915181"/>
307
+ <reference ref="832198966"/>
308
+ <reference ref="820621810"/>
309
+ <reference ref="456390945"/>
310
+ <reference ref="14010069"/>
311
+ <reference ref="1012065111"/>
312
+ <reference ref="578960478"/>
313
+ <reference ref="327256319"/>
314
+ <reference ref="888435390"/>
315
+ <reference ref="779626094"/>
316
+ <reference ref="969141366"/>
317
+ <reference ref="572093248"/>
318
+ <reference ref="98561208"/>
319
+ <reference ref="10459347"/>
320
+ </object>
321
+ </object>
322
+ </object>
323
+ </object>
324
+ </object>
325
+ <object class="NSMutableData" key="NSAttributeInfo">
326
+ <bytes key="NS.bytes">GQAEAQgADAEiAAcBhAQAA</bytes>
327
+ </object>
328
+ <nil key="NSDelegate"/>
329
+ </object>
330
+ <object class="NSMutableArray" key="NSTextContainers">
331
+ <bool key="EncodedWithXMLCoder">YES</bool>
332
+ <reference ref="253091168"/>
333
+ </object>
334
+ <int key="NSLMFlags">6</int>
335
+ <nil key="NSDelegate"/>
336
+ </object>
337
+ <reference key="NSTextView" ref="137056870"/>
338
+ <double key="NSWidth">1.097000e+03</double>
339
+ <int key="NSTCFlags">1</int>
340
+ </object>
341
+ <object class="NSTextViewSharedData" key="NSSharedData">
342
+ <int key="NSFlags">12035</int>
343
+ <object class="NSColor" key="NSBackgroundColor" id="749339156">
344
+ <int key="NSColorSpace">3</int>
345
+ <bytes key="NSWhite">MQA</bytes>
346
+ </object>
347
+ <object class="NSColor" key="NSInsertionColor" id="277192798">
348
+ <int key="NSColorSpace">3</int>
349
+ <bytes key="NSWhite">MAA</bytes>
350
+ </object>
351
+ <object class="NSDictionary" key="NSSelectedAttributes">
352
+ <bool key="EncodedWithXMLCoder">YES</bool>
353
+ <object class="NSMutableArray" key="dict.sortedKeys">
354
+ <bool key="EncodedWithXMLCoder">YES</bool>
355
+ <string>NSBackgroundColor</string>
356
+ <string id="457277508">NSColor</string>
357
+ </object>
358
+ <object class="NSMutableArray" key="dict.values">
359
+ <bool key="EncodedWithXMLCoder">YES</bool>
360
+ <object class="NSColor">
361
+ <int key="NSColorSpace">6</int>
362
+ <string key="NSCatalogName" id="918181661">System</string>
363
+ <string key="NSColorName">selectedTextBackgroundColor</string>
364
+ <object class="NSColor" key="NSColor" id="919119246">
365
+ <int key="NSColorSpace">3</int>
366
+ <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
367
+ </object>
368
+ </object>
369
+ <object class="NSColor">
370
+ <int key="NSColorSpace">6</int>
371
+ <reference key="NSCatalogName" ref="918181661"/>
372
+ <string key="NSColorName">selectedTextColor</string>
373
+ <reference key="NSColor" ref="277192798"/>
374
+ </object>
375
+ </object>
376
+ </object>
377
+ <nil key="NSMarkedAttributes"/>
378
+ <object class="NSDictionary" key="NSLinkAttributes">
379
+ <bool key="EncodedWithXMLCoder">YES</bool>
380
+ <object class="NSMutableArray" key="dict.sortedKeys">
381
+ <bool key="EncodedWithXMLCoder">YES</bool>
382
+ <reference ref="457277508"/>
383
+ <string>NSUnderline</string>
384
+ </object>
385
+ <object class="NSMutableArray" key="dict.values">
386
+ <bool key="EncodedWithXMLCoder">YES</bool>
387
+ <object class="NSColor">
388
+ <int key="NSColorSpace">1</int>
389
+ <bytes key="NSRGB">MCAwIDEAA</bytes>
390
+ </object>
391
+ <integer value="1" id="9"/>
392
+ </object>
393
+ </object>
394
+ <nil key="NSDefaultParagraphStyle"/>
395
+ </object>
396
+ <int key="NSTVFlags">6</int>
397
+ <string key="NSMaxSize">{1104, 1e+07}</string>
398
+ <string key="NSMinize">{223, 29}</string>
399
+ <nil key="NSDelegate"/>
400
+ </object>
401
+ </object>
402
+ <string key="NSFrame">{{1, 1}, {1097, 566}}</string>
403
+ <reference key="NSSuperview" ref="352183221"/>
404
+ <reference key="NSWindow"/>
405
+ <reference key="NSDocView" ref="137056870"/>
406
+ <reference key="NSBGColor" ref="749339156"/>
407
+ <object class="NSCursor" key="NSCursor">
408
+ <string key="NSHotSpot">{4, -5}</string>
409
+ <int key="NSCursorType">1</int>
410
+ </object>
411
+ <int key="NScvFlags">4</int>
412
+ </object>
413
+ <object class="NSScroller" id="317288362">
414
+ <reference key="NSNextResponder" ref="352183221"/>
415
+ <int key="NSvFlags">256</int>
416
+ <string key="NSFrame">{{1098, 1}, {15, 566}}</string>
417
+ <reference key="NSSuperview" ref="352183221"/>
418
+ <reference key="NSWindow"/>
419
+ <reference key="NSTarget" ref="352183221"/>
420
+ <string key="NSAction" id="179671660">_doScroller:</string>
421
+ <double key="NSPercent">8.839779e-01</double>
422
+ </object>
423
+ <object class="NSScroller" id="935214892">
424
+ <reference key="NSNextResponder" ref="352183221"/>
425
+ <int key="NSvFlags">256</int>
426
+ <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
427
+ <reference key="NSSuperview" ref="352183221"/>
428
+ <reference key="NSWindow"/>
429
+ <int key="NSsFlags">1</int>
430
+ <reference key="NSTarget" ref="352183221"/>
431
+ <reference key="NSAction" ref="179671660"/>
432
+ <double key="NSCurValue">1.000000e+00</double>
433
+ <double key="NSPercent">9.456522e-01</double>
434
+ </object>
435
+ </object>
436
+ <string key="NSFrame">{{-3, 57}, {1114, 568}}</string>
437
+ <reference key="NSSuperview" ref="950112104"/>
438
+ <reference key="NSWindow"/>
439
+ <int key="NSsFlags">18</int>
440
+ <reference key="NSVScroller" ref="317288362"/>
441
+ <reference key="NSHScroller" ref="935214892"/>
442
+ <reference key="NSContentView" ref="845431764"/>
443
+ </object>
444
+ </object>
445
+ <string key="NSFrame">{{10, 33}, {1108, 628}}</string>
446
+ <reference key="NSSuperview" ref="313249247"/>
447
+ <reference key="NSWindow"/>
448
+ </object>
449
+ </object>
450
+ <string key="NSFrame">{{-8, -10}, {1128, 674}}</string>
451
+ <reference key="NSSuperview" ref="122570533"/>
452
+ <reference key="NSWindow"/>
453
+ <object class="NSMutableArray" key="NSTabViewItems">
454
+ <bool key="EncodedWithXMLCoder">YES</bool>
455
+ <object class="NSTabViewItem" id="936892464">
456
+ <string key="NSIdentifier">1</string>
457
+ <object class="NSView" key="NSView" id="527331406">
458
+ <nil key="NSNextResponder"/>
459
+ <int key="NSvFlags">256</int>
460
+ <object class="NSMutableArray" key="NSSubviews">
461
+ <bool key="EncodedWithXMLCoder">YES</bool>
462
+ <object class="NSScrollView" id="404380427">
463
+ <reference key="NSNextResponder" ref="527331406"/>
464
+ <int key="NSvFlags">274</int>
465
+ <object class="NSMutableArray" key="NSSubviews">
466
+ <bool key="EncodedWithXMLCoder">YES</bool>
467
+ <object class="NSClipView" id="654271401">
468
+ <reference key="NSNextResponder" ref="404380427"/>
469
+ <int key="NSvFlags">2304</int>
470
+ <object class="NSMutableArray" key="NSSubviews">
471
+ <bool key="EncodedWithXMLCoder">YES</bool>
472
+ <object class="NSOutlineView" id="908739187">
473
+ <reference key="NSNextResponder" ref="654271401"/>
474
+ <int key="NSvFlags">256</int>
475
+ <string key="NSFrameSize">{1097, 595}</string>
476
+ <reference key="NSSuperview" ref="654271401"/>
477
+ <bool key="NSEnabled">YES</bool>
478
+ <object class="NSTableHeaderView" key="NSHeaderView" id="650525401">
479
+ <reference key="NSNextResponder" ref="810530518"/>
480
+ <int key="NSvFlags">256</int>
481
+ <string key="NSFrameSize">{1097, 17}</string>
482
+ <reference key="NSSuperview" ref="810530518"/>
483
+ <reference key="NSTableView" ref="908739187"/>
484
+ </object>
485
+ <object class="_NSCornerView" key="NSCornerView" id="768681797">
486
+ <reference key="NSNextResponder" ref="404380427"/>
487
+ <int key="NSvFlags">256</int>
488
+ <string key="NSFrame">{{1098, 0}, {16, 17}}</string>
489
+ <reference key="NSSuperview" ref="404380427"/>
490
+ </object>
491
+ <object class="NSMutableArray" key="NSTableColumns">
492
+ <bool key="EncodedWithXMLCoder">YES</bool>
493
+ <object class="NSTableColumn" id="750244933">
494
+ <double key="NSWidth">2.470000e+02</double>
495
+ <double key="NSMinWidth">1.600000e+01</double>
496
+ <double key="NSMaxWidth">1.000000e+03</double>
497
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
498
+ <int key="NSCellFlags">75628032</int>
499
+ <int key="NSCellFlags2">0</int>
500
+ <string key="NSContents">Class + Modules</string>
501
+ <object class="NSFont" key="NSSupport" id="26">
502
+ <reference key="NSName" ref="41528687"/>
503
+ <double key="NSSize">1.100000e+01</double>
504
+ <int key="NSfFlags">3100</int>
505
+ </object>
506
+ <object class="NSColor" key="NSBackgroundColor" id="168024178">
507
+ <int key="NSColorSpace">3</int>
508
+ <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
509
+ </object>
510
+ <object class="NSColor" key="NSTextColor" id="488148476">
511
+ <int key="NSColorSpace">6</int>
512
+ <reference key="NSCatalogName" ref="918181661"/>
513
+ <string key="NSColorName">headerTextColor</string>
514
+ <reference key="NSColor" ref="277192798"/>
515
+ </object>
516
+ </object>
517
+ <object class="NSTextFieldCell" key="NSDataCell" id="77578347">
518
+ <int key="NSCellFlags">337772096</int>
519
+ <int key="NSCellFlags2">2048</int>
520
+ <string key="NSContents" id="469680317">Text Cell</string>
521
+ <reference key="NSSupport" ref="422690541"/>
522
+ <reference key="NSControlView" ref="908739187"/>
523
+ <object class="NSColor" key="NSBackgroundColor" id="342108742">
524
+ <int key="NSColorSpace">6</int>
525
+ <reference key="NSCatalogName" ref="918181661"/>
526
+ <string key="NSColorName">controlBackgroundColor</string>
527
+ <reference key="NSColor" ref="919119246"/>
528
+ </object>
529
+ <object class="NSColor" key="NSTextColor" id="528271997">
530
+ <int key="NSColorSpace">6</int>
531
+ <reference key="NSCatalogName" ref="918181661"/>
532
+ <string key="NSColorName">controlTextColor</string>
533
+ <reference key="NSColor" ref="277192798"/>
534
+ </object>
535
+ </object>
536
+ <int key="NSResizingMask">2</int>
537
+ <bool key="NSIsResizeable">YES</bool>
538
+ <reference key="NSTableView" ref="908739187"/>
539
+ </object>
540
+ <object class="NSTableColumn" id="856227374">
541
+ <double key="NSWidth">4.900000e+01</double>
542
+ <double key="NSMinWidth">4.000000e+01</double>
543
+ <double key="NSMaxWidth">1.000000e+03</double>
544
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
545
+ <int key="NSCellFlags">75628032</int>
546
+ <int key="NSCellFlags2">0</int>
547
+ <string key="NSContents">Offset</string>
548
+ <reference key="NSSupport" ref="26"/>
549
+ <reference key="NSBackgroundColor" ref="168024178"/>
550
+ <reference key="NSTextColor" ref="488148476"/>
551
+ </object>
552
+ <object class="NSTextFieldCell" key="NSDataCell" id="452791755">
553
+ <int key="NSCellFlags">337772096</int>
554
+ <int key="NSCellFlags2">2048</int>
555
+ <reference key="NSContents" ref="469680317"/>
556
+ <reference key="NSSupport" ref="422690541"/>
557
+ <reference key="NSControlView" ref="908739187"/>
558
+ <reference key="NSBackgroundColor" ref="342108742"/>
559
+ <reference key="NSTextColor" ref="528271997"/>
560
+ </object>
561
+ <int key="NSResizingMask">2</int>
562
+ <bool key="NSIsResizeable">YES</bool>
563
+ <reference key="NSTableView" ref="908739187"/>
564
+ </object>
565
+ <object class="NSTableColumn" id="954787583">
566
+ <double key="NSWidth">4.510000e+02</double>
567
+ <double key="NSMinWidth">1.000000e+01</double>
568
+ <double key="NSMaxWidth">3.402823e+38</double>
569
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
570
+ <int key="NSCellFlags">75628032</int>
571
+ <int key="NSCellFlags2">0</int>
572
+ <string key="NSContents">Text</string>
573
+ <reference key="NSSupport" ref="26"/>
574
+ <object class="NSColor" key="NSBackgroundColor" id="777548227">
575
+ <int key="NSColorSpace">6</int>
576
+ <reference key="NSCatalogName" ref="918181661"/>
577
+ <string key="NSColorName">headerColor</string>
578
+ <reference key="NSColor" ref="749339156"/>
579
+ </object>
580
+ <reference key="NSTextColor" ref="488148476"/>
581
+ </object>
582
+ <object class="NSTextFieldCell" key="NSDataCell" id="230621870">
583
+ <int key="NSCellFlags">337772096</int>
584
+ <int key="NSCellFlags2">2048</int>
585
+ <reference key="NSContents" ref="469680317"/>
586
+ <reference key="NSSupport" ref="422690541"/>
587
+ <reference key="NSControlView" ref="908739187"/>
588
+ <reference key="NSBackgroundColor" ref="342108742"/>
589
+ <reference key="NSTextColor" ref="528271997"/>
590
+ </object>
591
+ <int key="NSResizingMask">3</int>
592
+ <bool key="NSIsResizeable">YES</bool>
593
+ <reference key="NSTableView" ref="908739187"/>
594
+ </object>
595
+ <object class="NSTableColumn" id="670090257">
596
+ <double key="NSWidth">3.380000e+02</double>
597
+ <double key="NSMinWidth">1.000000e+01</double>
598
+ <double key="NSMaxWidth">3.402823e+38</double>
599
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
600
+ <int key="NSCellFlags">75628032</int>
601
+ <int key="NSCellFlags2">0</int>
602
+ <string key="NSContents">Methods</string>
603
+ <reference key="NSSupport" ref="26"/>
604
+ <reference key="NSBackgroundColor" ref="777548227"/>
605
+ <reference key="NSTextColor" ref="488148476"/>
606
+ </object>
607
+ <object class="NSTextFieldCell" key="NSDataCell" id="481957775">
608
+ <int key="NSCellFlags">337772096</int>
609
+ <int key="NSCellFlags2">2048</int>
610
+ <reference key="NSContents" ref="469680317"/>
611
+ <reference key="NSSupport" ref="422690541"/>
612
+ <reference key="NSControlView" ref="908739187"/>
613
+ <reference key="NSBackgroundColor" ref="342108742"/>
614
+ <reference key="NSTextColor" ref="528271997"/>
615
+ </object>
616
+ <int key="NSResizingMask">3</int>
617
+ <bool key="NSIsResizeable">YES</bool>
618
+ <reference key="NSTableView" ref="908739187"/>
619
+ </object>
620
+ </object>
621
+ <double key="NSIntercellSpacingWidth">3.000000e+00</double>
622
+ <double key="NSIntercellSpacingHeight">2.000000e+00</double>
623
+ <reference key="NSBackgroundColor" ref="749339156"/>
624
+ <object class="NSColor" key="NSGridColor">
625
+ <int key="NSColorSpace">6</int>
626
+ <reference key="NSCatalogName" ref="918181661"/>
627
+ <string key="NSColorName">gridColor</string>
628
+ <object class="NSColor" key="NSColor">
629
+ <int key="NSColorSpace">3</int>
630
+ <bytes key="NSWhite">MC41AA</bytes>
631
+ </object>
632
+ </object>
633
+ <double key="NSRowHeight">1.700000e+01</double>
634
+ <int key="NSTvFlags">-759136256</int>
635
+ <int key="NSColumnAutoresizingStyle">1</int>
636
+ <int key="NSDraggingSourceMaskForLocal">15</int>
637
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
638
+ <bool key="NSAllowsTypeSelect">YES</bool>
639
+ <bool key="NSOutlineViewAutosaveExpandedItemsKey">YES</bool>
640
+ </object>
641
+ </object>
642
+ <string key="NSFrame">{{1, 17}, {1097, 595}}</string>
643
+ <reference key="NSSuperview" ref="404380427"/>
644
+ <reference key="NSDocView" ref="908739187"/>
645
+ <reference key="NSBGColor" ref="342108742"/>
646
+ <int key="NScvFlags">4</int>
647
+ </object>
648
+ <object class="NSScroller" id="114995679">
649
+ <reference key="NSNextResponder" ref="404380427"/>
650
+ <int key="NSvFlags">256</int>
651
+ <string key="NSFrame">{{1098, 17}, {15, 595}}</string>
652
+ <reference key="NSSuperview" ref="404380427"/>
653
+ <reference key="NSTarget" ref="404380427"/>
654
+ <reference key="NSAction" ref="179671660"/>
655
+ <double key="NSPercent">9.983193e-01</double>
656
+ </object>
657
+ <object class="NSScroller" id="408980544">
658
+ <reference key="NSNextResponder" ref="404380427"/>
659
+ <int key="NSvFlags">256</int>
660
+ <string key="NSFrame">{{1, 612}, {1097, 15}}</string>
661
+ <reference key="NSSuperview" ref="404380427"/>
662
+ <int key="NSsFlags">1</int>
663
+ <reference key="NSTarget" ref="404380427"/>
664
+ <reference key="NSAction" ref="179671660"/>
665
+ <double key="NSPercent">9.990892e-01</double>
666
+ </object>
667
+ <object class="NSClipView" id="810530518">
668
+ <reference key="NSNextResponder" ref="404380427"/>
669
+ <int key="NSvFlags">2304</int>
670
+ <object class="NSMutableArray" key="NSSubviews">
671
+ <bool key="EncodedWithXMLCoder">YES</bool>
672
+ <reference ref="650525401"/>
673
+ </object>
674
+ <string key="NSFrame">{{1, 0}, {1097, 17}}</string>
675
+ <reference key="NSSuperview" ref="404380427"/>
676
+ <reference key="NSDocView" ref="650525401"/>
677
+ <reference key="NSBGColor" ref="342108742"/>
678
+ <int key="NScvFlags">4</int>
679
+ </object>
680
+ <reference ref="768681797"/>
681
+ </object>
682
+ <string key="NSFrame">{{-3, -3}, {1114, 628}}</string>
683
+ <reference key="NSSuperview" ref="527331406"/>
684
+ <int key="NSsFlags">50</int>
685
+ <reference key="NSVScroller" ref="114995679"/>
686
+ <reference key="NSHScroller" ref="408980544"/>
687
+ <reference key="NSContentView" ref="654271401"/>
688
+ <reference key="NSHeaderClipView" ref="810530518"/>
689
+ <reference key="NSCornerView" ref="768681797"/>
690
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
691
+ </object>
692
+ </object>
693
+ <string key="NSFrame">{{10, 33}, {1108, 628}}</string>
694
+ </object>
695
+ <string key="NSLabel">Syntax Tree</string>
696
+ <object class="NSColor" key="NSColor" id="515559784">
697
+ <int key="NSColorSpace">6</int>
698
+ <reference key="NSCatalogName" ref="918181661"/>
699
+ <string key="NSColorName">controlColor</string>
700
+ <reference key="NSColor" ref="919119246"/>
701
+ </object>
702
+ <reference key="NSTabView" ref="313249247"/>
703
+ </object>
704
+ <object class="NSTabViewItem" id="571385624">
705
+ <string key="NSIdentifier">2</string>
706
+ <reference key="NSView" ref="950112104"/>
707
+ <string key="NSLabel">Input</string>
708
+ <reference key="NSColor" ref="515559784"/>
709
+ <reference key="NSTabView" ref="313249247"/>
710
+ </object>
711
+ </object>
712
+ <reference key="NSSelectedTabViewItem" ref="571385624"/>
713
+ <reference key="NSFont" ref="422690541"/>
714
+ <int key="NSTvFlags">0</int>
715
+ <bool key="NSAllowTruncatedLabels">YES</bool>
716
+ <bool key="NSDrawsBackground">YES</bool>
717
+ </object>
718
+ </object>
719
+ <string key="NSFrameSize">{1112, 670}</string>
720
+ <reference key="NSSuperview"/>
721
+ <reference key="NSWindow"/>
722
+ </object>
723
+ <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
724
+ </object>
725
+ </object>
726
+ <object class="IBObjectContainer" key="IBDocument.Objects">
727
+ <object class="NSMutableArray" key="connectionRecords">
728
+ <bool key="EncodedWithXMLCoder">YES</bool>
729
+ <object class="IBConnectionRecord">
730
+ <object class="IBBindingConnection" key="connection">
731
+ <string key="label" id="497569280">contentObject: parameters</string>
732
+ <reference key="source" ref="152190163"/>
733
+ <reference key="destination" ref="1001"/>
734
+ <object class="NSNibBindingConnector" key="connector">
735
+ <reference key="NSSource" ref="152190163"/>
736
+ <reference key="NSDestination" ref="1001"/>
737
+ <reference key="NSLabel" ref="497569280"/>
738
+ <string key="NSBinding" id="595753306">contentObject</string>
739
+ <string key="NSKeyPath">parameters</string>
740
+ <int key="NSNibBindingConnectorVersion">2</int>
741
+ </object>
742
+ </object>
743
+ <int key="connectionID">5</int>
744
+ </object>
745
+ <object class="IBConnectionRecord">
746
+ <object class="IBBindingConnection" key="connection">
747
+ <string key="label" id="76602280">contentObject: selection.syntax_tree</string>
748
+ <reference key="source" ref="453881072"/>
749
+ <reference key="destination" ref="152190163"/>
750
+ <object class="NSNibBindingConnector" key="connector">
751
+ <reference key="NSSource" ref="453881072"/>
752
+ <reference key="NSDestination" ref="152190163"/>
753
+ <reference key="NSLabel" ref="76602280"/>
754
+ <reference key="NSBinding" ref="595753306"/>
755
+ <string key="NSKeyPath">selection.syntax_tree</string>
756
+ <int key="NSNibBindingConnectorVersion">2</int>
757
+ </object>
758
+ </object>
759
+ <int key="connectionID">74</int>
760
+ </object>
761
+ <object class="IBConnectionRecord">
762
+ <object class="IBBindingConnection" key="connection">
763
+ <string key="label" id="268572639">value: arrangedObjects.class_and_modules</string>
764
+ <reference key="source" ref="750244933"/>
765
+ <reference key="destination" ref="453881072"/>
766
+ <object class="NSNibBindingConnector" key="connector">
767
+ <reference key="NSSource" ref="750244933"/>
768
+ <reference key="NSDestination" ref="453881072"/>
769
+ <reference key="NSLabel" ref="268572639"/>
770
+ <string key="NSBinding" id="840664887">value</string>
771
+ <string key="NSKeyPath">arrangedObjects.class_and_modules</string>
772
+ <int key="NSNibBindingConnectorVersion">2</int>
773
+ </object>
774
+ </object>
775
+ <int key="connectionID">240</int>
776
+ </object>
777
+ <object class="IBConnectionRecord">
778
+ <object class="IBBindingConnection" key="connection">
779
+ <string key="label" id="645642476">value: arrangedObjects.offset</string>
780
+ <reference key="source" ref="856227374"/>
781
+ <reference key="destination" ref="453881072"/>
782
+ <object class="NSNibBindingConnector" key="connector">
783
+ <reference key="NSSource" ref="856227374"/>
784
+ <reference key="NSDestination" ref="453881072"/>
785
+ <reference key="NSLabel" ref="645642476"/>
786
+ <reference key="NSBinding" ref="840664887"/>
787
+ <string key="NSKeyPath">arrangedObjects.offset</string>
788
+ <int key="NSNibBindingConnectorVersion">2</int>
789
+ </object>
790
+ </object>
791
+ <int key="connectionID">242</int>
792
+ </object>
793
+ <object class="IBConnectionRecord">
794
+ <object class="IBBindingConnection" key="connection">
795
+ <string key="label" id="656100823">value: arrangedObjects.text_value</string>
796
+ <reference key="source" ref="954787583"/>
797
+ <reference key="destination" ref="453881072"/>
798
+ <object class="NSNibBindingConnector" key="connector">
799
+ <reference key="NSSource" ref="954787583"/>
800
+ <reference key="NSDestination" ref="453881072"/>
801
+ <reference key="NSLabel" ref="656100823"/>
802
+ <reference key="NSBinding" ref="840664887"/>
803
+ <string key="NSKeyPath">arrangedObjects.text_value</string>
804
+ <int key="NSNibBindingConnectorVersion">2</int>
805
+ </object>
806
+ </object>
807
+ <int key="connectionID">244</int>
808
+ </object>
809
+ <object class="IBConnectionRecord">
810
+ <object class="IBBindingConnection" key="connection">
811
+ <string key="label" id="334239810">value: arrangedObjects.methods</string>
812
+ <reference key="source" ref="670090257"/>
813
+ <reference key="destination" ref="453881072"/>
814
+ <object class="NSNibBindingConnector" key="connector">
815
+ <reference key="NSSource" ref="670090257"/>
816
+ <reference key="NSDestination" ref="453881072"/>
817
+ <reference key="NSLabel" ref="334239810"/>
818
+ <reference key="NSBinding" ref="840664887"/>
819
+ <string key="NSKeyPath">arrangedObjects.methods</string>
820
+ <int key="NSNibBindingConnectorVersion">2</int>
821
+ </object>
822
+ </object>
823
+ <int key="connectionID">245</int>
824
+ </object>
825
+ <object class="IBConnectionRecord">
826
+ <object class="IBBindingConnection" key="connection">
827
+ <string key="label" id="51848783">value: selection.input</string>
828
+ <reference key="source" ref="137056870"/>
829
+ <reference key="destination" ref="152190163"/>
830
+ <object class="NSNibBindingConnector" key="connector">
831
+ <reference key="NSSource" ref="137056870"/>
832
+ <reference key="NSDestination" ref="152190163"/>
833
+ <reference key="NSLabel" ref="51848783"/>
834
+ <string key="NSBinding">value</string>
835
+ <string key="NSKeyPath">selection.input</string>
836
+ <object class="NSDictionary" key="NSOptions">
837
+ <string key="NS.key.0">NSAlwaysPresentsApplicationModalAlerts</string>
838
+ <integer value="1" key="NS.object.0"/>
839
+ </object>
840
+ <int key="NSNibBindingConnectorVersion">2</int>
841
+ </object>
842
+ </object>
843
+ <int key="connectionID">266</int>
844
+ </object>
845
+ <object class="IBConnectionRecord">
846
+ <object class="IBBindingConnection" key="connection">
847
+ <string key="label" id="571314172">argument: selection.input</string>
848
+ <reference key="source" ref="488741429"/>
849
+ <reference key="destination" ref="152190163"/>
850
+ <object class="NSNibBindingConnector" key="connector" id="142767402">
851
+ <reference key="NSSource" ref="488741429"/>
852
+ <reference key="NSDestination" ref="152190163"/>
853
+ <reference key="NSLabel" ref="571314172"/>
854
+ <string key="NSBinding">argument</string>
855
+ <string key="NSKeyPath">selection.input</string>
856
+ <object class="NSDictionary" key="NSOptions">
857
+ <string key="NS.key.0" id="233794078">NSSelectorName</string>
858
+ <string key="NS.object.0">returnArgument:</string>
859
+ </object>
860
+ <int key="NSNibBindingConnectorVersion">2</int>
861
+ </object>
862
+ </object>
863
+ <int key="connectionID">271</int>
864
+ </object>
865
+ <object class="IBConnectionRecord">
866
+ <object class="IBBindingConnection" key="connection">
867
+ <string key="label" id="103162463">target: selection.controller</string>
868
+ <reference key="source" ref="488741429"/>
869
+ <reference key="destination" ref="152190163"/>
870
+ <object class="NSNibBindingConnector" key="connector">
871
+ <reference key="NSSource" ref="488741429"/>
872
+ <reference key="NSDestination" ref="152190163"/>
873
+ <reference key="NSLabel" ref="103162463"/>
874
+ <string key="NSBinding">target</string>
875
+ <string key="NSKeyPath">selection.controller</string>
876
+ <object class="NSDictionary" key="NSOptions">
877
+ <reference key="NS.key.0" ref="233794078"/>
878
+ <string key="NS.object.0">returnArgument:</string>
879
+ </object>
880
+ <reference key="NSPreviousConnector" ref="142767402"/>
881
+ <int key="NSNibBindingConnectorVersion">2</int>
882
+ </object>
883
+ </object>
884
+ <int key="connectionID">272</int>
885
+ </object>
886
+ <object class="IBConnectionRecord">
887
+ <object class="IBBindingConnection" key="connection">
888
+ <string key="label" id="440569275">selectedLabel: selection.selected_tab</string>
889
+ <reference key="source" ref="313249247"/>
890
+ <reference key="destination" ref="152190163"/>
891
+ <object class="NSNibBindingConnector" key="connector">
892
+ <reference key="NSSource" ref="313249247"/>
893
+ <reference key="NSDestination" ref="152190163"/>
894
+ <reference key="NSLabel" ref="440569275"/>
895
+ <string key="NSBinding">selectedLabel</string>
896
+ <string key="NSKeyPath">selection.selected_tab</string>
897
+ <int key="NSNibBindingConnectorVersion">2</int>
898
+ </object>
899
+ </object>
900
+ <int key="connectionID">274</int>
901
+ </object>
902
+ </object>
903
+ <object class="IBMutableOrderedSet" key="objectRecords">
904
+ <object class="NSArray" key="orderedObjects">
905
+ <bool key="EncodedWithXMLCoder">YES</bool>
906
+ <object class="IBObjectRecord">
907
+ <int key="objectID">0</int>
908
+ <object class="NSArray" key="object" id="1002">
909
+ <bool key="EncodedWithXMLCoder">YES</bool>
910
+ </object>
911
+ <reference key="children" ref="1000"/>
912
+ <nil key="parent"/>
913
+ </object>
914
+ <object class="IBObjectRecord">
915
+ <int key="objectID">-2</int>
916
+ <reference key="object" ref="1001"/>
917
+ <reference key="parent" ref="1002"/>
918
+ <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
919
+ </object>
920
+ <object class="IBObjectRecord">
921
+ <int key="objectID">-1</int>
922
+ <reference key="object" ref="1003"/>
923
+ <reference key="parent" ref="1002"/>
924
+ <string key="objectName">First Responder</string>
925
+ </object>
926
+ <object class="IBObjectRecord">
927
+ <int key="objectID">-3</int>
928
+ <reference key="object" ref="1004"/>
929
+ <reference key="parent" ref="1002"/>
930
+ <string key="objectName">Application</string>
931
+ </object>
932
+ <object class="IBObjectRecord">
933
+ <int key="objectID">3</int>
934
+ <reference key="object" ref="152190163"/>
935
+ <reference key="parent" ref="1002"/>
936
+ </object>
937
+ <object class="IBObjectRecord">
938
+ <int key="objectID">72</int>
939
+ <reference key="object" ref="453881072"/>
940
+ <reference key="parent" ref="1002"/>
941
+ </object>
942
+ <object class="IBObjectRecord">
943
+ <int key="objectID">210</int>
944
+ <reference key="object" ref="662580741"/>
945
+ <object class="NSMutableArray" key="children">
946
+ <bool key="EncodedWithXMLCoder">YES</bool>
947
+ <reference ref="122570533"/>
948
+ </object>
949
+ <reference key="parent" ref="1002"/>
950
+ </object>
951
+ <object class="IBObjectRecord">
952
+ <int key="objectID">211</int>
953
+ <reference key="object" ref="122570533"/>
954
+ <object class="NSMutableArray" key="children">
955
+ <bool key="EncodedWithXMLCoder">YES</bool>
956
+ <reference ref="313249247"/>
957
+ </object>
958
+ <reference key="parent" ref="662580741"/>
959
+ </object>
960
+ <object class="IBObjectRecord">
961
+ <int key="objectID">212</int>
962
+ <reference key="object" ref="313249247"/>
963
+ <object class="NSMutableArray" key="children">
964
+ <bool key="EncodedWithXMLCoder">YES</bool>
965
+ <reference ref="571385624"/>
966
+ <reference ref="936892464"/>
967
+ </object>
968
+ <reference key="parent" ref="122570533"/>
969
+ </object>
970
+ <object class="IBObjectRecord">
971
+ <int key="objectID">214</int>
972
+ <reference key="object" ref="571385624"/>
973
+ <object class="NSMutableArray" key="children">
974
+ <bool key="EncodedWithXMLCoder">YES</bool>
975
+ <reference ref="950112104"/>
976
+ </object>
977
+ <reference key="parent" ref="313249247"/>
978
+ </object>
979
+ <object class="IBObjectRecord">
980
+ <int key="objectID">215</int>
981
+ <reference key="object" ref="950112104"/>
982
+ <object class="NSMutableArray" key="children">
983
+ <bool key="EncodedWithXMLCoder">YES</bool>
984
+ <reference ref="488741429"/>
985
+ <reference ref="352183221"/>
986
+ </object>
987
+ <reference key="parent" ref="571385624"/>
988
+ </object>
989
+ <object class="IBObjectRecord">
990
+ <int key="objectID">221</int>
991
+ <reference key="object" ref="488741429"/>
992
+ <object class="NSMutableArray" key="children">
993
+ <bool key="EncodedWithXMLCoder">YES</bool>
994
+ <reference ref="777034287"/>
995
+ </object>
996
+ <reference key="parent" ref="950112104"/>
997
+ </object>
998
+ <object class="IBObjectRecord">
999
+ <int key="objectID">222</int>
1000
+ <reference key="object" ref="777034287"/>
1001
+ <reference key="parent" ref="488741429"/>
1002
+ </object>
1003
+ <object class="IBObjectRecord">
1004
+ <int key="objectID">213</int>
1005
+ <reference key="object" ref="936892464"/>
1006
+ <object class="NSMutableArray" key="children">
1007
+ <bool key="EncodedWithXMLCoder">YES</bool>
1008
+ <reference ref="527331406"/>
1009
+ </object>
1010
+ <reference key="parent" ref="313249247"/>
1011
+ </object>
1012
+ <object class="IBObjectRecord">
1013
+ <int key="objectID">216</int>
1014
+ <reference key="object" ref="527331406"/>
1015
+ <object class="NSMutableArray" key="children">
1016
+ <bool key="EncodedWithXMLCoder">YES</bool>
1017
+ <reference ref="404380427"/>
1018
+ </object>
1019
+ <reference key="parent" ref="936892464"/>
1020
+ </object>
1021
+ <object class="IBObjectRecord">
1022
+ <int key="objectID">223</int>
1023
+ <reference key="object" ref="404380427"/>
1024
+ <object class="NSMutableArray" key="children">
1025
+ <bool key="EncodedWithXMLCoder">YES</bool>
1026
+ <reference ref="650525401"/>
1027
+ <reference ref="908739187"/>
1028
+ <reference ref="408980544"/>
1029
+ <reference ref="114995679"/>
1030
+ </object>
1031
+ <reference key="parent" ref="527331406"/>
1032
+ </object>
1033
+ <object class="IBObjectRecord">
1034
+ <int key="objectID">236</int>
1035
+ <reference key="object" ref="650525401"/>
1036
+ <reference key="parent" ref="404380427"/>
1037
+ </object>
1038
+ <object class="IBObjectRecord">
1039
+ <int key="objectID">226</int>
1040
+ <reference key="object" ref="908739187"/>
1041
+ <object class="NSMutableArray" key="children">
1042
+ <bool key="EncodedWithXMLCoder">YES</bool>
1043
+ <reference ref="670090257"/>
1044
+ <reference ref="954787583"/>
1045
+ <reference ref="856227374"/>
1046
+ <reference ref="750244933"/>
1047
+ </object>
1048
+ <reference key="parent" ref="404380427"/>
1049
+ </object>
1050
+ <object class="IBObjectRecord">
1051
+ <int key="objectID">234</int>
1052
+ <reference key="object" ref="670090257"/>
1053
+ <object class="NSMutableArray" key="children">
1054
+ <bool key="EncodedWithXMLCoder">YES</bool>
1055
+ <reference ref="481957775"/>
1056
+ </object>
1057
+ <reference key="parent" ref="908739187"/>
1058
+ </object>
1059
+ <object class="IBObjectRecord">
1060
+ <int key="objectID">235</int>
1061
+ <reference key="object" ref="481957775"/>
1062
+ <reference key="parent" ref="670090257"/>
1063
+ </object>
1064
+ <object class="IBObjectRecord">
1065
+ <int key="objectID">232</int>
1066
+ <reference key="object" ref="954787583"/>
1067
+ <object class="NSMutableArray" key="children">
1068
+ <bool key="EncodedWithXMLCoder">YES</bool>
1069
+ <reference ref="230621870"/>
1070
+ </object>
1071
+ <reference key="parent" ref="908739187"/>
1072
+ </object>
1073
+ <object class="IBObjectRecord">
1074
+ <int key="objectID">233</int>
1075
+ <reference key="object" ref="230621870"/>
1076
+ <reference key="parent" ref="954787583"/>
1077
+ </object>
1078
+ <object class="IBObjectRecord">
1079
+ <int key="objectID">229</int>
1080
+ <reference key="object" ref="856227374"/>
1081
+ <object class="NSMutableArray" key="children">
1082
+ <bool key="EncodedWithXMLCoder">YES</bool>
1083
+ <reference ref="452791755"/>
1084
+ </object>
1085
+ <reference key="parent" ref="908739187"/>
1086
+ </object>
1087
+ <object class="IBObjectRecord">
1088
+ <int key="objectID">230</int>
1089
+ <reference key="object" ref="452791755"/>
1090
+ <reference key="parent" ref="856227374"/>
1091
+ </object>
1092
+ <object class="IBObjectRecord">
1093
+ <int key="objectID">228</int>
1094
+ <reference key="object" ref="750244933"/>
1095
+ <object class="NSMutableArray" key="children">
1096
+ <bool key="EncodedWithXMLCoder">YES</bool>
1097
+ <reference ref="77578347"/>
1098
+ </object>
1099
+ <reference key="parent" ref="908739187"/>
1100
+ </object>
1101
+ <object class="IBObjectRecord">
1102
+ <int key="objectID">231</int>
1103
+ <reference key="object" ref="77578347"/>
1104
+ <reference key="parent" ref="750244933"/>
1105
+ </object>
1106
+ <object class="IBObjectRecord">
1107
+ <int key="objectID">225</int>
1108
+ <reference key="object" ref="408980544"/>
1109
+ <reference key="parent" ref="404380427"/>
1110
+ </object>
1111
+ <object class="IBObjectRecord">
1112
+ <int key="objectID">224</int>
1113
+ <reference key="object" ref="114995679"/>
1114
+ <reference key="parent" ref="404380427"/>
1115
+ </object>
1116
+ <object class="IBObjectRecord">
1117
+ <int key="objectID">257</int>
1118
+ <reference key="object" ref="352183221"/>
1119
+ <object class="NSMutableArray" key="children">
1120
+ <bool key="EncodedWithXMLCoder">YES</bool>
1121
+ <reference ref="317288362"/>
1122
+ <reference ref="935214892"/>
1123
+ <reference ref="137056870"/>
1124
+ </object>
1125
+ <reference key="parent" ref="950112104"/>
1126
+ </object>
1127
+ <object class="IBObjectRecord">
1128
+ <int key="objectID">258</int>
1129
+ <reference key="object" ref="317288362"/>
1130
+ <reference key="parent" ref="352183221"/>
1131
+ </object>
1132
+ <object class="IBObjectRecord">
1133
+ <int key="objectID">259</int>
1134
+ <reference key="object" ref="935214892"/>
1135
+ <reference key="parent" ref="352183221"/>
1136
+ </object>
1137
+ <object class="IBObjectRecord">
1138
+ <int key="objectID">260</int>
1139
+ <reference key="object" ref="137056870"/>
1140
+ <reference key="parent" ref="352183221"/>
1141
+ </object>
1142
+ </object>
1143
+ </object>
1144
+ <object class="NSMutableDictionary" key="flattenedProperties">
1145
+ <bool key="EncodedWithXMLCoder">YES</bool>
1146
+ <object class="NSMutableArray" key="dict.sortedKeys">
1147
+ <bool key="EncodedWithXMLCoder">YES</bool>
1148
+ <string>-1.IBPluginDependency</string>
1149
+ <string>-2.IBPluginDependency</string>
1150
+ <string>-3.IBPluginDependency</string>
1151
+ <string>210.IBPluginDependency</string>
1152
+ <string>210.IBWindowTemplateEditedContentRect</string>
1153
+ <string>210.NSWindowTemplate.visibleAtLaunch</string>
1154
+ <string>210.editorWindowContentRectSynchronizationRect</string>
1155
+ <string>211.IBPluginDependency</string>
1156
+ <string>212.IBPluginDependency</string>
1157
+ <string>213.IBPluginDependency</string>
1158
+ <string>214.IBPluginDependency</string>
1159
+ <string>215.IBPluginDependency</string>
1160
+ <string>216.IBPluginDependency</string>
1161
+ <string>221.IBPluginDependency</string>
1162
+ <string>222.IBPluginDependency</string>
1163
+ <string>223.IBPluginDependency</string>
1164
+ <string>224.IBPluginDependency</string>
1165
+ <string>225.IBPluginDependency</string>
1166
+ <string>226.IBPluginDependency</string>
1167
+ <string>228.IBPluginDependency</string>
1168
+ <string>229.IBPluginDependency</string>
1169
+ <string>230.IBPluginDependency</string>
1170
+ <string>231.IBPluginDependency</string>
1171
+ <string>257.IBPluginDependency</string>
1172
+ <string>258.IBPluginDependency</string>
1173
+ <string>259.IBPluginDependency</string>
1174
+ <string>260.IBPluginDependency</string>
1175
+ <string>3.IBPluginDependency</string>
1176
+ <string>72.IBPluginDependency</string>
1177
+ </object>
1178
+ <object class="NSMutableArray" key="dict.values">
1179
+ <bool key="EncodedWithXMLCoder">YES</bool>
1180
+ <reference ref="722354185"/>
1181
+ <reference ref="722354185"/>
1182
+ <reference ref="722354185"/>
1183
+ <reference ref="722354185"/>
1184
+ <string>{{82, 256}, {1112, 670}}</string>
1185
+ <reference ref="9"/>
1186
+ <string>{{82, 256}, {1112, 670}}</string>
1187
+ <reference ref="722354185"/>
1188
+ <reference ref="722354185"/>
1189
+ <reference ref="722354185"/>
1190
+ <reference ref="722354185"/>
1191
+ <reference ref="722354185"/>
1192
+ <reference ref="722354185"/>
1193
+ <reference ref="722354185"/>
1194
+ <reference ref="722354185"/>
1195
+ <reference ref="722354185"/>
1196
+ <reference ref="722354185"/>
1197
+ <reference ref="722354185"/>
1198
+ <reference ref="722354185"/>
1199
+ <reference ref="722354185"/>
1200
+ <reference ref="722354185"/>
1201
+ <reference ref="722354185"/>
1202
+ <reference ref="722354185"/>
1203
+ <string id="836504777">com.apple.InterfaceBuilder.CocoaPlugin</string>
1204
+ <reference ref="836504777"/>
1205
+ <reference ref="836504777"/>
1206
+ <reference ref="836504777"/>
1207
+ <reference ref="722354185"/>
1208
+ <reference ref="722354185"/>
1209
+ </object>
1210
+ </object>
1211
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
1212
+ <bool key="EncodedWithXMLCoder">YES</bool>
1213
+ <object class="NSArray" key="dict.sortedKeys">
1214
+ <bool key="EncodedWithXMLCoder">YES</bool>
1215
+ </object>
1216
+ <object class="NSMutableArray" key="dict.values">
1217
+ <bool key="EncodedWithXMLCoder">YES</bool>
1218
+ </object>
1219
+ </object>
1220
+ <nil key="activeLocalization"/>
1221
+ <object class="NSMutableDictionary" key="localizations">
1222
+ <bool key="EncodedWithXMLCoder">YES</bool>
1223
+ <object class="NSArray" key="dict.sortedKeys">
1224
+ <bool key="EncodedWithXMLCoder">YES</bool>
1225
+ </object>
1226
+ <object class="NSMutableArray" key="dict.values">
1227
+ <bool key="EncodedWithXMLCoder">YES</bool>
1228
+ </object>
1229
+ </object>
1230
+ <nil key="sourceID"/>
1231
+ <int key="maxID">274</int>
1232
+ </object>
1233
+ <object class="IBClassDescriber" key="IBDocument.Classes">
1234
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
1235
+ <bool key="EncodedWithXMLCoder">YES</bool>
1236
+ </object>
1237
+ </object>
1238
+ <int key="IBDocument.localizationMode">0</int>
1239
+ <nil key="IBDocument.LastKnownRelativeProjectPath"/>
1240
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
1241
+ <object class="NSMutableData" key="IBDocument.RunnableNib">
1242
+ <bytes key="NS.bytes">YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA
1243
+ AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEBdgALAAwAMQA1ADYAOwA8
1244
+ AEEAVQBWAFcAWAALAGUAaQB+AIIAiQCOAJkAmgCyALMAuwC8AL4AvwDAAMQAygDYAN4A7gDyAQcBGwEc
1245
+ AR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBMAExATsBQwFMAVABUwFYAWEAbQFiAWgBiwGP
1246
+ AZIBlQGYAZsBngGhAaQBpwGqAa0BsAGzAbYBuQG8Ab8BwgHFAcgBywHOAdEB1AHXAdoB3QHgAeMB5gHp
1247
+ AewB7wHyAfQB+QH8AgQCBwIqAi4CLwIyAjYCOgI+AkICRAJGAlYCWwJeAmECSgJdAmkCcAJxAnICdQJ6
1248
+ AnsCgwE2AoQCiAKLAowCjQKQApEClgKXApkCnAKoAqkCqgKtArgCuQK6Ar0CvgLAAsECxgLQAtEC1gLa
1249
+ AusC8wL7Av8DGwMcAyMDKwMsAy8DNAM1AzgDPwNOA1YDVwNcA18DZANlA2kDcgNzA3gDeQN+A38DgQOE
1250
+ A4wDkgOTA5oDogOoA6kDrgOvA7YDvQPDA8QDywPQA9ED1APXA9gD4APhA+kD6gPuA+8CvQPwA/ED9gP3
1251
+ A/oEAQQCBAMEBQALBAYEBwQKBBcEIwQzBD0EPgQ/BEAEQQRCBEMERQRHBEgETQROBE8EUARUBFsEYARn
1252
+ BGgEaQRqBGwEbgRvBHAEcQR4BHkEegSBBIIEgwSKBIsEjASTBJQElQSeBJ8EoAShBKcEqASpBLMEtAS1
1253
+ BLYEqAS8BMQETgSgBMUEywB6BM0E1ATVBNYE1wT3BPoE+wUbBTwFXQVeBV8FYAVhBWIFYwVkBWUFZgVn
1254
+ BWgFaQVqBWsFbAVtBW4FbwVwBXEFcgVzBXQFdQV2BXcFeAV5BXoFewV+BYEFrAXXBdgF2QXaBdsF3AXd
1255
+ Bd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF6wXsBe0F7gXvBfAF8QXyBfMF9AX1AucF9gX3AWcF+AX5
1256
+ BfoF+wX8Bf0GAAYDBgZVJG51bGzfEBIADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4A
1257
+ HwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADBWTlNSb290ViRjbGFzc11OU09iamVjdHNL
1258
+ ZXlzXxAPTlNDbGFzc2VzVmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5T2lkc1ZhbHVlc11OU0Nvbm5lY3Rp
1259
+ b25zW05TTmFtZXNLZXlzW05TRnJhbWV3b3JrXU5TQ2xhc3Nlc0tleXNaTlNPaWRzS2V5c11OU05hbWVz
1260
+ VmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5Q29ubmVjdG9yc11OU0ZvbnRNYW5hZ2VyXxAQTlNWaXNpYmxl
1261
+ V2luZG93c18QD05TT2JqZWN0c1ZhbHVlc18QF05TQWNjZXNzaWJpbGl0eU9pZHNLZXlzWU5TTmV4dE9p
1262
+ ZFxOU09pZHNWYWx1ZXOAAoEBdYEBIoEBR4EBdIDhgQEmgAWBAUaBAUiBASeBAXKAAIAGgQElgQFzEQEU
1263
+ gQFJ0gAOADIAMwA0W05TQ2xhc3NOYW1lgASAA1hOU09iamVjdNIANwA4ADkAOlgkY2xhc3Nlc1okY2xh
1264
+ c3NuYW1logA6ADVeTlNDdXN0b21PYmplY3RfEBBJQkNvY29hRnJhbWV3b3Jr0gAOAD0APgA/Wk5TLm9i
1265
+ amVjdHOANKEAQIAH2gBCAA4AQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTACtcTlNXaW5k
1266
+ b3dWaWV3XE5TU2NyZWVuUmVjdF1OU1dpbmRvd1RpdGxlWU5TV1RGbGFnc11OU1dpbmRvd0NsYXNzXE5T
1267
+ V2luZG93UmVjdF8QD05TV2luZG93QmFja2luZ18QEU5TV2luZG93U3R5bGVNYXNrW05TVmlld0NsYXNz
1268
+ gAuA4IDfgAkSJAAAAIAKgAgQAhAPgABfEBh7ezgzLCAyMjJ9LCB7MTExMiwgNjcwfX1WV2luZG93WE5T
1269
+ V2luZG931wBZAA4AWgBbAFwAVwBdAF4AXwBgAGEAYgBeAGRfEA9OU05leHRSZXNwb25kZXJaTlNTdWJ2
1270
+ aWV3c1hOU3ZGbGFnc1tOU0ZyYW1lU2l6ZVtOU1N1cGVydmlld4AMgJWADREBAIDdgAyA3tIADgA9AGYA
1271
+ Z4BroQBogA7dAFkADgBqAGsAbABtAFoAWwBXAG4AXQBvAHAASwByAHMAdAB1AHYAdwB4AF4AegBLAHoA
1272
+ fV5OU1RhYlZpZXdJdGVtc1lOU1R2RmxhZ3NXTlNGcmFtZVZOU0ZvbnRfEBFOU0RyYXdzQmFja2dyb3Vu
1273
+ ZF8QFk5TQWxsb3dUcnVuY2F0ZWRMYWJlbHNfEBVOU1NlbGVjdGVkVGFiVmlld0l0ZW2AC4DcgJcQAICW
1274
+ gBaADxASgAwJgAsJgNnSAA4APQBmAICAa6EAgYAQ1wBZAA4AbABaAFsAVwBdAGgAXwCFAIYAYQBeAGiA
1275
+ DoCVgJSAEYAMgA7SAA4APQBmAIuAa6IAjACNgBKAHdgAWQAOAGwAjwBbAJAAVwBdAIEAkgCTAJQAlQB6
1276
+ AF4AgVZOU0NlbGxZTlNFbmFibGVkgBCAHIATgBQRASEJgAyAEF8QFXt7MTAwMSwgOX0sIHs5NiwgMzJ9
1277
+ fdwAmwAOAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArAB2AIwArwCwALFbTlNDZWxsRmxh
1278
+ Z3NfEBNOU0FsdGVybmF0ZUNvbnRlbnRzXxASTlNQZXJpb2RpY0ludGVydmFsXk5TQnV0dG9uRmxhZ3My
1279
+ XxAPTlNLZXlFcXVpdmFsZW50Wk5TQ29udGVudHNZTlNTdXBwb3J0XU5TQ29udHJvbFZpZXdfEA9OU1Bl
1280
+ cmlvZGljRGVsYXlcTlNDZWxsRmxhZ3MyXU5TQnV0dG9uRmxhZ3MSBAH+AIAbgBkQGRIQAACBgBqAFYAW
1281
+ gBIQyBIIAAAAE/////+GgkD/U1J1btQADgC0ALUAtgC3ALgAuQC6Vk5TU2l6ZVZOU05hbWVYTlNmRmxh
1282
+ Z3OAGCNAKgAAAAAAAIAXEQQUXEx1Y2lkYUdyYW5kZdIANwA4AL0AbaIAbQA1UFEN0gA3ADgAwQDCpADC
1283
+ AMMAjwA1XE5TQnV0dG9uQ2VsbFxOU0FjdGlvbkNlbGzSADcAOADFAMalAMYAxwDIAMkANVhOU0J1dHRv
1284
+ bllOU0NvbnRyb2xWTlNWaWV3W05TUmVzcG9uZGVy2wBZAMsADgBsAMwAWgBbAFcAXQDNAM4AgQDQANEA
1285
+ 0gB4ANMAYQBeAIEA1gDXW05TSFNjcm9sbGVyWE5Tc0ZsYWdzW05TVlNjcm9sbGVyXU5TQ29udGVudFZp
1286
+ ZXeAEICQgJOAkoAegAyAEICMgB/SAA4APQBmANqAa6MA1wDWANCAH4CMgJDbAFkADgBsAN8A4ABaAFsA
1287
+ 4QBXAOIAXQCNAOQA5QDmAOcA6ADpAOoAXgDsAI1YTlNDdXJzb3JZTlNjdkZsYWdzWU5TRG9jVmlld1lO
1288
+ U0JHQ29sb3KAHYCLgIeAiBAEgCARCQCAIYAMgHOAHdIADgA9AGYA8IBroQDqgCHdAFkADgDzAPQA9QD2
1289
+ AFsAXAD3AFcA+ABdAPkA1wD7APwA/QD+AP8BAAEBAQIAXgEEANcAK18QD05TVGV4dENvbnRhaW5lcllO
1290
+ U1RWRmxhZ3NcTlNTaGFyZWREYXRhW05TRHJhZ1R5cGVzWU5TTWF4U2l6ZVhOU01pbml6ZVpOU0RlbGVn
1291
+ YXRlgB+AhoA2EAaAcoAiEQkSgDWAhIAMgIWAH4AA0gAOAD0APgEJgDSvEBEBCgELAQwBDQEOAQ8BEAER
1292
+ ARIBEwEUARUBFgEXARgBGQEagCOAJIAlgCaAJ4AogCmAKoArgCyALYAugC+AMIAxgDKAM18QGU5lWFQg
1293
+ UlRGRCBwYXN0ZWJvYXJkIHR5cGVfEBJOU1N0cmluZ1Bib2FyZFR5cGVfEBpOZVhUIHJ1bGVyIHBhc3Rl
1294
+ Ym9hcmQgdHlwZV8QHk5lWFQgVElGRiB2NC4wIHBhc3RlYm9hcmQgdHlwZV8QGUFwcGxlIFVSTCBwYXN0
1295
+ ZWJvYXJkIHR5cGVfECNDb3JlUGFzdGVib2FyZEZsYXZvclR5cGUgMHg2RDZGNkY3Nl8QG1dlYlVSTHNX
1296
+ aXRoVGl0bGVzUGJvYXJkVHlwZV8QI0NvcmVQYXN0ZWJvYXJkRmxhdm9yVHlwZSAweDc1NzI2QzIwXxAZ
1297
+ QXBwbGUgUERGIHBhc3RlYm9hcmQgdHlwZV8QGUFwcGxlIFBORyBwYXN0ZWJvYXJkIHR5cGVfEBpBcHBs
1298
+ ZSBIVE1MIHBhc3RlYm9hcmQgdHlwZV8QFU5TRmlsZW5hbWVzUGJvYXJkVHlwZV8QMU5lWFQgRW5jYXBz
1299
+ dWxhdGVkIFBvc3RTY3JpcHQgdjEuMiBwYXN0ZWJvYXJkIHR5cGVfEBdOU0NvbG9yIHBhc3RlYm9hcmQg
1300
+ dHlwZV8QGkFwcGxlIFBJQ1QgcGFzdGVib2FyZCB0eXBlXxAZTmVYVCBmb250IHBhc3RlYm9hcmQgdHlw
1301
+ ZV8QKk5lWFQgUmljaCBUZXh0IEZvcm1hdCB2MS4wIHBhc3RlYm9hcmQgdHlwZdIANwA4AS0BLqMBLgEv
1302
+ ADVcTlNNdXRhYmxlU2V0VU5TU2V0WnsxMDk3LCAzNn3VATIADgEzATQBNQE2ATcA6gE5ATpZTlNUQ0Zs
1303
+ YWdzWk5TVGV4dFZpZXdXTlNXaWR0aF8QD05TTGF5b3V0TWFuYWdlchABgHGAISNAkSQAAAAAAIA31QAO
1304
+ ATwBPQE+APkBPwFAAUEA/QArXxAQTlNUZXh0Q29udGFpbmVyc11OU1RleHRTdG9yYWdlWU5TTE1GbGFn
1305
+ c4BwgG+AOIAA1QAOAUQBRQFGAPkBRwFIAUkBSgArXE5TQXR0cmlidXRlc1hOU1N0cmluZ18QD05TQXR0
1306
+ cmlidXRlSW5mb4BugDuAOYBsgADSAA4BTQFOAU9ZTlMuc3RyaW5ngDpfEQJeTG9yZW0gaXBzdW0gZG9s
1307
+ b3Igc2l0IGVyIGVsaXQgbGFtZXQsIGNvbnNlY3RldGF1ciBjaWxsaXVtIGFkaXBpc2ljaW5nIHBlY3Us
1308
+ IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
1309
+ YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1
1310
+ bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlz
1311
+ IGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBj
1312
+ aWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVj
1313
+ YXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVu
1314
+ dCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bSBFdCBoYXJ1bWQgdW5kIGxvb2t1bSBsaWtlIEdyZWVr
1315
+ IHRvIG1lLCBkZXJldWQgZmFjaWxpcyBlc3QgZXIgZXhwZWRpdCBkaXN0aW5jdC4gTmFtIGxpYmVyIHRl
1316
+ IGNvbnNjaWVudCB0byBmYWN0b3IgdHVtIHBvZW4gbGVndW0gb2Rpb3F1ZSBjaXZpdWRh0gA3ADgBUQFS
1317
+ owFSAUUANV8QD05TTXV0YWJsZVN0cmluZ9IADgA9AGYBVYBrogFWAVeAPIBm0wAOAVkAPQFaAVsBXldO
1318
+ Uy5rZXlzgGWiAVwBXYA9gD6iAV8BYIA/gGRfEBBOU1BhcmFncmFwaFN0eWxl0wFjAA4BZAFlAWYBZ1pO
1319
+ U1RhYlN0b3BzW05TQWxpZ25tZW50gECAYxAD0gAOAD0BaQFqgGKvECABawFsAW0BbgFvAXABcQFyAXMB
1320
+ dAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKgEGAQ4BEgEWARoBHgEiA
1321
+ SYBKgEuATIBNgE6AT4BQgFGAUoBTgFSAVYBWgFeAWIBZgFqAW4BcgF2AXoBfgGCAYdIADgGMAY0BjlpO
1322
+ U0xvY2F0aW9ugEIjAAAAAAAAAADSADcAOAGQAZGiAZEANVlOU1RleHRUYWLSAA4BjAGNAZSAQiNATAAA
1323
+ AAAAANIADgGMAY0Bl4BCI0BcAAAAAAAA0gAOAYwBjQGagEIjQGUAAAAAAADSAA4BjAGNAZ2AQiNAbAAA
1324
+ AAAAANIADgGMAY0BoIBCI0BxgAAAAAAA0gAOAYwBjQGjgEIjQHUAAAAAAADSAA4BjAGNAaaAQiNAeIAA
1325
+ AAAAANIADgGMAY0BqYBCI0B8AAAAAAAA0gAOAYwBjQGsgEIjQH+AAAAAAADSAA4BjAGNAa+AQiNAgYAA
1326
+ AAAAANIADgGMAY0BsoBCI0CDQAAAAAAA0gAOAYwBjQG1gEIjQIUAAAAAAADSAA4BjAGNAbiAQiNAhsAA
1327
+ AAAAANIADgGMAY0Bu4BCI0CIgAAAAAAA0gAOAYwBjQG+gEIjQIpAAAAAAADSAA4BjAGNAcGAQiNAjAAA
1328
+ AAAAANIADgGMAY0BxIBCI0CNwAAAAAAA0gAOAYwBjQHHgEIjQI+AAAAAAADSAA4BjAGNAcqAQiNAkKAA
1329
+ AAAAANIADgGMAY0BzYBCI0CRgAAAAAAA0gAOAYwBjQHQgEIjQJJgAAAAAADSAA4BjAGNAdOAQiNAk0AA
1330
+ AAAAANIADgGMAY0B1oBCI0CUIAAAAAAA0gAOAYwBjQHZgEIjQJUAAAAAAADSAA4BjAGNAdyAQiNAleAA
1331
+ AAAAANIADgGMAY0B34BCI0CWwAAAAAAA0gAOAYwBjQHigEIjQJegAAAAAADSAA4BjAGNAeWAQiNAmIAA
1332
+ AAAAANIADgGMAY0B6IBCI0CZYAAAAAAA0gAOAYwBjQHrgEIjQJpAAAAAAADSAA4BjAGNAe6AQiNAmyAA
1333
+ AAAAANIANwA4AfAB8aIB8QA1V05TQXJyYXnSADcAOAHzAWGiAWEANdQADgC0ALUAtgC3AfYAuQH4gBgj
1334
+ QCQAAAAAAACAFxELG9IANwA4AfoB+6IB+wA1XE5TRGljdGlvbmFyedMADgFZAD0BWgH+AgGAZaIBXAFd
1335
+ gD2APqICAgIDgGeAadMBYwAOAWQCBQFmAWeAaIBj0gAOAD0BaQIJgGKvECABawFsAW0BbgFvAXABcQFy
1336
+ AXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKgEGAQ4BEgEWARoBH
1337
+ gEiASYBKgEuATIBNgE6AT4BQgFGAUoBTgFSAVYBWgFeAWIBZgFqAW4BcgF2AXoBfgGCAYdQADgC0ALUA
1338
+ tgC3AfYCLAItgBiAahAQXxARTHVjaWRhR3JhbmRlLUJvbGTSADcAOAIwAjGjAjEB8QA1Xk5TTXV0YWJs
1339
+ ZUFycmF50gAOAjMCNAI1V05TLmRhdGGAbU8QDxkABAEIAAwBIgAHAYQEANIANwA4AjcCOKMCOAI5ADVd
1340
+ TlNNdXRhYmxlRGF0YVZOU0RhdGHSADcAOAI7AT2kAT0CPAI9ADVfEBlOU011dGFibGVBdHRyaWJ1dGVk
1341
+ U3RyaW5nXxASTlNBdHRyaWJ1dGVkU3RyaW5n0gAOAD0AZgJAgGuhAPyANtIANwA4AkMBNaIBNQA10gA3
1342
+ ADgCRQDzogDzADXYAA4CRwJIAkkCSgJLAkwCTQJOAk8AKwJRAOwCUwArAlVXTlNGbGFnc18QF05TRGVm
1343
+ YXVsdFBhcmFncmFwaFN0eWxlXxAQTlNJbnNlcnRpb25Db2xvcl8QEU5TQmFja2dyb3VuZENvbG9yXxAU
1344
+ TlNTZWxlY3RlZEF0dHJpYnV0ZXNfEBJOU01hcmtlZEF0dHJpYnV0ZXNfEBBOU0xpbmtBdHRyaWJ1dGVz
1345
+ gIMRLwOAAIB1gHOAdoAAgH/TAA4CVwJYAlkBZwJaXE5TQ29sb3JTcGFjZVdOU1doaXRlgHRCMQDSADcA
1346
+ OAJcAl2iAl0ANVdOU0NvbG9y0wAOAlcCWAJZAWcCYIB0QjAA0wAOAVkAPQFaAmMCZoBlogJkAmWAd4B4
1347
+ ogJnAmiAeYB91QAOAl0CVwJqAmsCWQJtAP0CbgJvW05TQ29sb3JOYW1lXU5TQ2F0YWxvZ05hbWWAdIB8
1348
+ gHuAelZTeXN0ZW1fEBtzZWxlY3RlZFRleHRCYWNrZ3JvdW5kQ29sb3LTAA4CVwJYAlkBZwJ0gHRLMC42
1349
+ NjY2NjY2OQDVAA4CXQJXAmoCawJZAlEA/QJ4Am+AdIB1gH6Ael8QEXNlbGVjdGVkVGV4dENvbG9y0wAO
1350
+ AVkAPQFaAn0CgIBlogJ+AmWAgIB4ogKBAoKAgYCCW05TVW5kZXJsaW5l0wAOAlcChQJZATYCh1VOU1JH
1351
+ QoB0RjAgMCAxANIANwA4AokCiqICigA1XxAUTlNUZXh0Vmlld1NoYXJlZERhdGFdezExMDQsIDFlKzA3
1352
+ fVl7MjIzLCAyOX3SADcAOAKOATOlATMCjwDIAMkANVZOU1RleHRfEBV7ezEsIDF9LCB7MTA5NywgNTY2
1353
+ fX3TAA4CkgKTApQClQE2WU5TSG90U3BvdFxOU0N1cnNvclR5cGWAioCJV3s0LCAtNX3SADcAOAKYAN+i
1354
+ AN8ANdIANwA4ApoCm6QCmwDIAMkANVpOU0NsaXBWaWV32QBZAp0ADgBsAFsAVwKeAF0CnwCNAI0CogKj
1355
+ AGEAXgKlAI0Cp1hOU1RhcmdldFhOU0FjdGlvbllOU1BlcmNlbnSAHYAdgI+AjYAMgI6AHSM/7EmMAAAA
1356
+ AF8QFnt7MTA5OCwgMX0sIHsxNSwgNTY2fX1cX2RvU2Nyb2xsZXI60gA3ADgCqwKspQKsAMcAyADJADVa
1357
+ TlNTY3JvbGxlctsAWQKdAA4AbADMAFsAVwKeAF0CrgKfAI0AjQKiArIBNgBhAF4CpQCNArYCt1pOU0N1
1358
+ clZhbHVlgB2AHYCPgJGADICOgB0jP/AAAAAAAAAjP+5CyGAAAABfEBh7ey0xMDAsIC0xMDB9LCB7ODcs
1359
+ IDE4fX1fEBd7ey0zLCA1N30sIHsxMTE0LCA1Njh9fdIANwA4ArsCvKQCvADIAMkANVxOU1Njcm9sbFZp
1360
+ ZXdfEBd7ezEwLCAzM30sIHsxMTA4LCA2Mjh9fdIANwA4Ar8AyKMAyADJADVfEBh7ey04LCAtMTB9LCB7
1361
+ MTEyOCwgNjc0fX3SAA4APQBmAsOAa6ICxAB9gJiA2dYADgLHAMgCyAJdAskCygLLAswAaALOAs9cTlNJ
1362
+ ZGVudGlmaWVyWU5TVGFiVmlld1dOU0xhYmVsgNiAmYCagA6A1oDVUTHVAFkADgBsAFoAWwArAF8C1ALV
1363
+ AGGAAICVgNSAm9IADgA9AGYC2IBroQLZgJzdAFkAywAOAGwAzALbAtwAWgLdAFsAXQDNAM4CzALfANEC
1364
+ 4QLiAuMC5ALlAuYC5wLMAukC6lxOU0Nvcm5lclZpZXdfEBBOU0hlYWRlckNsaXBWaWV3XE5TU2Nyb2xs
1365
+ QW10c4CagM+Ak4DTEDKApoCjgJ1PEBBBIAAAQSAAAEGYAABBmAAAEQESgJqAzYCe0gAOAD0AZgLtgGul
1366
+ AuoC6QLfAuQC44CegM2Az4CjgKbZAFkADgBsAOAAWgBbAOEA4gBdAtkA5AL2AOcC9wDpAvgC+QLZgJyA
1367
+ i4DMgJ+AoIC0gJzSAA4APQBmAv2Aa6EC+ICg3xAUAFkDAAAOAGsDAQJKAwIC2wMDAwQDBQBbAFwAkAMG
1368
+ AwcDCABdAwkDCgLqAHQDDAMNAw4A7AB6AuMDEgE2AxMAYQMUAHoAegMXAFMC6gMZAxpfEB9OU0RyYWdn
1369
+ aW5nU291cmNlTWFza0Zvck5vbkxvY2FsXE5TSGVhZGVyVmlld18QEk5TQWxsb3dzVHlwZVNlbGVjdF8Q
1370
+ F05TSW50ZXJjZWxsU3BhY2luZ1dpZHRoXxAZTlNDb2x1bW5BdXRvcmVzaXppbmdTdHlsZV8QGE5TSW50
1371
+ ZXJjZWxsU3BhY2luZ0hlaWdodF8QJU5TT3V0bGluZVZpZXdBdXRvc2F2ZUV4cGFuZGVkSXRlbXNLZXlb
1372
+ TlNHcmlkQ29sb3JfEBxOU0RyYWdnaW5nU291cmNlTWFza0ZvckxvY2FsXk5TVGFibGVDb2x1bW5zW05T
1373
+ Um93SGVpZ2h0gJ6AyxP/////0sCAAICigHMJgKYjQAgAAAAAAAAjQAAAAAAAAACAoQkJgMiAnoCpI0Ax
1374
+ AAAAAAAAW3sxMDk3LCA1OTV91gBZAA4AWwBcAF0DHQLkAx8AYQMgAuQC+FtOU1RhYmxlVmlld4CjgKWA
1375
+ pICjgKDZAFkADgBsAOAAWgBbAOEA4gBdAtkA5AMmAOcDJwDpAw4C+QLZgJyAi4DSgNGAooC0gJxaezEw
1376
+ OTcsIDE3fdIANwA4Ay0DLqQDLgDIAMkANV8QEU5TVGFibGVIZWFkZXJWaWV31QBZAA4AbABbAF0C2QMx
1377
+ AzIAYQLZgJyAqICngJxfEBV7ezEwOTgsIDB9LCB7MTYsIDE3fX3SADcAOAM2AzekAzcAyADJADVdX05T
1378
+ Q29ybmVyVmlld9IADgA9AGYDOoBrpAM7AzwDPQM+gKqAuoC+gMTZA0AADgNBATQDQgNDA0QDRQMdAHoD
1379
+ RwNIA0kDSgBSA0sDTAL4Xk5TSXNSZXNpemVhYmxlXE5TSGVhZGVyQ2VsbFpOU0RhdGFDZWxsXk5TUmVz
1380
+ aXppbmdNYXNrWk5TTWluV2lkdGhaTlNNYXhXaWR0aAmAuYCrI0Bu4AAAAAAAgLIjQDAAAAAAAAAjQI9A
1381
+ AAAAAACAoNcAmwAOAkoAoAChAKQDTwNQA1EDUgNTA1QAdANVW05TVGV4dENvbG9yEgSB/gCAsYCugKyA
1382
+ rYCvXxAPQ2xhc3MgKyBNb2R1bGVz1AAOALQAtQC2ALcDWQC5A1uAGCNAJgAAAAAAAIAXEQwc0wAOAlcC
1383
+ WAJZAWcDXoB0SzAuMzMzMzMyOTkA1QAOAl0CVwJqAmsCWQJRAP0DYgJvgHSAdYCwgHpfEA9oZWFkZXJU
1384
+ ZXh0Q29sb3LSADcAOANmA2elA2cDaADDAI8ANV8QEU5TVGFibGVIZWFkZXJDZWxsXxAPTlNUZXh0Rmll
1385
+ bGRDZWxs2ACbAA4CSgCgAKEAogCkA08DagNrAvkDbQB2AvgDcANxEhQh/kCAuIC0gLOAFoCgEQgAgLZZ
1386
+ VGV4dCBDZWxs1QAOAl0CVwJqAmsCWQJtAP0DdgJvgHSAfIC1gHpfEBZjb250cm9sQmFja2dyb3VuZENv
1387
+ bG9y1QAOAl0CVwJqAmsCWQJRAP0DfAJvgHSAdYC3gHpfEBBjb250cm9sVGV4dENvbG9y0gA3ADgDgANo
1388
+ pANoAMMAjwA10gA3ADgDggODogODADVdTlNUYWJsZUNvbHVtbtkDQAAOA0EBNANCA0MDRANFAx0AegNH
1389
+ A4cDiAOJAFIDigNMAvgJgLmAuyNASIAAAAAAAIC9I0BEAAAAAAAAgKDXAJsADgJKAKAAoQCkA08DUANR
1390
+ A1IDjwNUAHQDVYCxgK6AvICtgK9WT2Zmc2V02ACbAA4CSgCgAKEAogCkA08DagNrAvkDbQB2AvgDcANx
1391
+ gLiAtICzgBaAoIC22QNAAA4DQQE0A0IDQwNEA0UDHQB6A0cDnQOeA58BZwH2A6AC+AmAuYC/I0B8MAAA
1392
+ AAAAgMMjR+///6AAAACAoNcAmwAOAkoAoAChAKQDTwNQA1EDpAOlA1QAdANVgLGAwYDAgK2Ar1RUZXh0
1393
+ 1QAOAl0CVwJqAmsCWQDsAP0DrAJvgHSAc4DCgHpbaGVhZGVyQ29sb3LYAJsADgJKAKAAoQCiAKQDTwNq
1394
+ A2sC+QNtAHYC+ANwA3GAuIC0gLOAFoCggLbZA0AADgNBATQDQgNDA0QDRQMdAHoDRwO5A7oDuwFnAfYD
1395
+ oAL4CYC5gMUjQHUgAAAAAACAx4Cg1wCbAA4CSgCgAKEApANPA1ADUQOkA8ADVAB0A1WAsYDBgMaArYCv
1396
+ V01ldGhvZHPYAJsADgJKAKAAoQCiAKQDTwNqA2sC+QNtAHYC+ANwA3GAuIC0gLOAFoCggLbVAA4CXQJX
1397
+ AmoCawJZA80A/QPOAm+AdIDKgMmAellncmlkQ29sb3LTAA4CVwJYAlkBZwPTgHREMC41ANIANwA4A9UD
1398
+ 1qYD1gMdAMcAyADJADVdTlNPdXRsaW5lVmlld18QFnt7MSwgMTd9LCB7MTA5NywgNTk1fX3YAFkCnQAO
1399
+ AGwAWwKeAF0CnwLZAtkCogPcAGECpQLZA9+AnICcgI+AzoCOgJwjP+/yO2AAAABfEBd7ezEwOTgsIDE3
1400
+ fSwgezE1LCA1OTV9fdkAWQKdAA4AbADMAFsCngBdAp8C2QLZAqID5QE2AGECpQLZA+iAnICcgI+A0ICO
1401
+ gJwjP+/4igAAAABfEBZ7ezEsIDYxMn0sIHsxMDk3LCAxNX190gAOAD0AZgPsgGuhAw6Aol8QFHt7MSwg
1402
+ MH0sIHsxMDk3LCAxN319XxAXe3stMywgLTN9LCB7MTExNCwgNjI4fX1bU3ludGF4IFRyZWXVAA4CXQJX
1403
+ AmoCawJZAm0A/QP0Am+AdIB8gNeAelxjb250cm9sQ29sb3LSADcAOAP4A/miA/kANV1OU1RhYlZpZXdJ
1404
+ dGVt1gAOAscAyALIAl0CyQLKA/wAgQBoAs4EAIDYgNqAEIAOgNaA21EyVUlucHV00gA3ADgEBALIpALI
1405
+ AMgAyQA1W3sxMTEyLCA2NzB9XxAWe3swLCAwfSwgezE2ODAsIDEwMjh9fdIANwA4BAgECaIECQA1XxAQ
1406
+ TlNXaW5kb3dUZW1wbGF0ZdIADgA9AGYEDIBrqgQNBA4EDwQQBBEEEgQTBBQEFQQWgOKA84D+gQEBgQEE
1407
+ gQEHgQEKgQERgQEXgQEe1wAOBBgEGQQaBBsCyQQcBB0EHgQfBCADPQQiAFJdTlNEZXN0aW5hdGlvbllO
1408
+ U0tleVBhdGhZTlNCaW5kaW5nWE5TU291cmNlXxAcTlNOaWJCaW5kaW5nQ29ubmVjdG9yVmVyc2lvboDy
1409
+ gOOA8YDwgL6A79gADgQkBCUEJgQnBCgEKQQqBCsAegQtAHoELwB6BDEAel8QFE5TUHJlc2VydmVzU2Vs
1410
+ ZWN0aW9uXxAPX05TTWFuYWdlZFByb3h5Wk5TRWRpdGFibGVeTlNEZWNsYXJlZEtleXNfEBhOU1NlbGVj
1411
+ dHNJbnNlcnRlZE9iamVjdHNfEBhOU1RyZWVDb250ZW50Q2hpbGRyZW5LZXlfEBZOU0F2b2lkc0VtcHR5
1412
+ U2VsZWN0aW9ugO4JgOsJgOQJgO0J0gAOAD0AZgQ1gGunBDYENwQ4BDkEOgCoBDyA5YDmgOeA6IDpgBmA
1413
+ 6l8QEWNsYXNzX2FuZF9tb2R1bGVzVm9mZnNldFp0ZXh0X3ZhbHVlV21ldGhvZHNaY29udHJvbGxlclpn
1414
+ ZXRJbmRleGVz0QAOBESA7NIANwA4BEYEJaIEJQA1WGVsZW1lbnRz0gA3ADgESQRKpARKBEsETAA1XxAQ
1415
+ TlNUcmVlQ29udHJvbGxlcl8QEk5TT2JqZWN0Q29udHJvbGxlclxOU0NvbnRyb2xsZXJfECF2YWx1ZTog
1416
+ YXJyYW5nZWRPYmplY3RzLnRleHRfdmFsdWVVdmFsdWVfEBphcnJhbmdlZE9iamVjdHMudGV4dF92YWx1
1417
+ ZdIANwA4BFEEUqMEUgRTADVfEBVOU05pYkJpbmRpbmdDb25uZWN0b3JeTlNOaWJDb25uZWN0b3LXAA4E
1418
+ GAQZBBoEGwLJBBwEHQAfBFcEWARZBFoAUoDygAKA/YD8gPSA+9QADgQlBCYEJwRcBF0AegRfgPqA+QmA
1419
+ 9dIADgA9AGYEYoBrpARjBGQEOgRmgPaA94DpgPhVaW5wdXRbc3ludGF4X3RyZWVcc2VsZWN0ZWRfdGFi
1420
+ 0QAOBESA7NIANwA4BG0ES6MESwRMADVfEBljb250ZW50T2JqZWN0OiBwYXJhbWV0ZXJzXWNvbnRlbnRP
1421
+ YmplY3RacGFyYW1ldGVyc9cADgQYBBkEGgQbAskEHAQdBB4EdAQgAzwEdwBSgPKA44EBAIDwgLqA/18Q
1422
+ HXZhbHVlOiBhcnJhbmdlZE9iamVjdHMub2Zmc2V0XxAWYXJyYW5nZWRPYmplY3RzLm9mZnNldNcADgQY
1423
+ BBkEGgQbAskEHAQdBB4EfQQgAzsEgABSgPKA44EBA4DwgKqBAQJfECh2YWx1ZTogYXJyYW5nZWRPYmpl
1424
+ Y3RzLmNsYXNzX2FuZF9tb2R1bGVzXxAhYXJyYW5nZWRPYmplY3RzLmNsYXNzX2FuZF9tb2R1bGVz1wAO
1425
+ BBgEGQQaBBsCyQQcBB0EWQSGBFgEHgSJAFKA8oD0gQEGgPyA44EBBV8QJGNvbnRlbnRPYmplY3Q6IHNl
1426
+ bGVjdGlvbi5zeW50YXhfdHJlZV8QFXNlbGVjdGlvbi5zeW50YXhfdHJlZdcADgQYBBkEGgQbAskEHAQd
1427
+ BB4EjwQgAz4EkgBSgPKA44EBCYDwgMSBAQhfEB52YWx1ZTogYXJyYW5nZWRPYmplY3RzLm1ldGhvZHNf
1428
+ EBdhcnJhbmdlZE9iamVjdHMubWV0aG9kc9gADgQYBBkEGgQbAskElgQcBB0EWQSZBJoAjAScBJ0AUllO
1429
+ U09wdGlvbnOA8oD0gQENgQEMgBKBAQuBAQ5fEBlhcmd1bWVudDogc2VsZWN0aW9uLmlucHV0WGFyZ3Vt
1430
+ ZW50XxAPc2VsZWN0aW9uLmlucHV00wAOAVkAPQFaBKMEpYBloQSkgQEPoQSmgQEQXk5TU2VsZWN0b3JO
1431
+ YW1lXxAPcmV0dXJuQXJndW1lbnQ62QAOBBgEGQQaBKoEGwLJBJYEHAQdBFkErQSuBBMAjASxBLIAUl8Q
1432
+ E05TUHJldmlvdXNDb25uZWN0b3KA8oD0gQEUgQETgQEKgBKBARKBARVfEBx0YXJnZXQ6IHNlbGVjdGlv
1433
+ bi5jb250cm9sbGVyVnRhcmdldF8QFHNlbGVjdGlvbi5jb250cm9sbGVy0wAOAVkAPQFaBLgEuoBloQSk
1434
+ gQEPoQS7gQEW2AAOBBgEGQQaBBsCyQSWBBwEHQRZBL8EwADqBMIEwwBSgPKA9IEBGoEBGYAhgQEYgQEb
1435
+ XxAWdmFsdWU6IHNlbGVjdGlvbi5pbnB1dNMADgFZAD0BWgTHBMmAZaEEyIEBHKEEyoEBHV8QJk5TQWx3
1436
+ YXlzUHJlc2VudHNBcHBsaWNhdGlvbk1vZGFsQWxlcnRzCdcADgQYBBkEGgQbAskEHAQdBFkE0ATRAGgE
1437
+ 0wBSgPKA9IEBIYEBIIAOgQEfXxAlc2VsZWN0ZWRMYWJlbDogc2VsZWN0aW9uLnNlbGVjdGVkX3RhYl1z
1438
+ ZWxlY3RlZExhYmVsXxAWc2VsZWN0aW9uLnNlbGVjdGVkX3RhYtIADgA9AWkE2YBirxAdA7sDPALMAtkA
1439
+ SwCMAzsCxATiAz4AfQM9A4kAaACBAvgAjQOfANYDSgMOAOoC3wLpAEAEWQCUANAEHoDHgLqAmoCcgAuA
1440
+ EoCqgJiBASOAxIDZgL6AvYAOgBCAoIAdgMOAjICygKKAIYDPgM2AB4D0gBSAkIDj0gAOADIAMwT5gASB
1441
+ ASRdTlNBcHBsaWNhdGlvbtIADgA9AWkE/YBirxAdAz4C+ALEAswAQACBAvgAaAAfAvgAaAL4AzwASwB9
1442
+ AtkAgQM9AI0DOwLZAI0C2QLZAB8AHwCMAI0AH4DEgKCAmICagAeAEICggA6AAoCggA6AoIC6gAuA2YCc
1443
+ gBCAvoAdgKqAnIAdgJyAnIACgAKAEoAdgALSAA4APQFpBR2AYq8QHgAfAzwDuwLMAtkASwCMAzsCxATi
1444
+ Az4AfQM9A4kAaACBAvgAjQNKANYDnwMOAt8C6QDqAEAEWQCUANAEHoACgLqAx4CagJyAC4ASgKqAmIEB
1445
+ I4DEgNmAvoC9gA6AEICggB2AsoCMgMOAooDPgM2AIYAHgPSAFICQgOPSAA4APQFpBT6AYq8QHgU/BUAF
1446
+ QQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXIEBKIEB
1447
+ KYEBKoEBK4EBLIEBLYEBLoEBL4EBMIEBMYEBMoEBM4EBNIEBNYEBNoEBN4EBOIEBOYEBOoEBO4EBPIEB
1448
+ PYEBPoEBP4EBQIEBQYEBQoEBQ4EBRIEBRVxGaWxlJ3MgT3duZXJfEBVUYWJsZSBDb2x1bW4gKE9mZnNl
1449
+ dClfEB1UZXh0IEZpZWxkIENlbGwgKFRleHQgQ2VsbCktMlRWaWV3W1Njcm9sbCBWaWV3XENvbnRlbnQg
1450
+ Vmlld18QEVB1c2ggQnV0dG9uIChSdW4pXxAeVGFibGUgQ29sdW1uIChDbGFzcyArIE1vZHVsZXMpXxAb
1451
+ VGFiIFZpZXcgSXRlbSAoU3ludGF4IFRyZWUpW0FwcGxpY2F0aW9uXxAWVGFibGUgQ29sdW1uIChNZXRo
1452
+ b2RzKV8QFVRhYiBWaWV3IEl0ZW0gKElucHV0KV8QE1RhYmxlIENvbHVtbiAoVGV4dClfEBtUZXh0IEZp
1453
+ ZWxkIENlbGwgKFRleHQgQ2VsbClfECFUb3AgVGFiIFZpZXcgKFN5bnRheCBUcmVlLCBJbnB1dClWVmll
1454
+ dy0xXxA1T3V0bGluZSBWaWV3IChDbGFzcyArIE1vZHVsZXMsIE9mZnNldCwgVGV4dCwgTWV0aG9kcyld
1455
+ U2Nyb2xsIFZpZXctMV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxsKS0xXxATVmVydGljYWwgU2Ny
1456
+ b2xsZXItMV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxsKS0zXxARVGFibGUgSGVhZGVyIFZpZXdf
1457
+ EBNIb3Jpem9udGFsIFNjcm9sbGVyXxARVmVydGljYWwgU2Nyb2xsZXJZVGV4dCBWaWV3XxAPV2luZG93
1458
+ IChXaW5kb3cpXxART2JqZWN0IENvbnRyb2xsZXJfEBFCdXR0b24gQ2VsbCAoUnVuKV8QFUhvcml6b250
1459
+ YWwgU2Nyb2xsZXItMV8QD1RyZWUgQ29udHJvbGxlctIADgA9AWkFfYBioNIADgA9AWkFgIBioNIADgA9
1460
+ AWkFg4BirxAoBA0AHwO7AzwCzALZAEsAjAM7BBUCxATiAz4EFAB9Az0DiQBoAIEEEgL4AI0DnwDWA0oE
1461
+ EAQPAw4A6gLfAukEFgBABBEEWQCUBBMA0AQOBB6A4oACgMeAuoCagJyAC4ASgKqBAReAmIEBI4DEgQER
1462
+ gNmAvoC9gA6AEIEBB4CggB2Aw4CMgLKBAQGA/oCigCGAz4DNgQEegAeBAQSA9IAUgQEKgJCA84Dj0gAO
1463
+ AD0BaQWugGKvECgFrwWwBbEFsgWzBbQFtQW2BbcFuAW5BboFuwW8Bb0FvgW/BcAFwQXCBcMFxAXFBcYF
1464
+ xwXIBckFygXLBcwFzQXOBc8F0AXRBdIF0wXUBdUF1oEBSoEBS4EBTIEBTYEBToEBT4EBUIEBUYEBUoEB
1465
+ U4EBVIEBVYEBVoEBV4EBWIEBWYEBWoEBW4EBXIEBXYEBXoEBX4EBYIEBYYEBYoEBY4EBZIEBZYEBZoEB
1466
+ Z4EBaIEBaYEBaoEBa4EBbIEBbYEBboEBb4EBcIEBcRD0EQETEOsQ5RDYEN8Q0xDdEOQRAQoQ1RP/////
1467
+ /////RDqEQEQENYQ6BDmENQQ1xD1EOIRAQEQ6REBAhDnEPAQ8hDsEQEEEOEQ4BDSEEoQ3hEBDxEBAxAF
1468
+ EEjSAA4APQBmBf+Aa6DSAA4APQFpBgKAYqDSAA4APQFpBgWAYqDSADcAOAYHBgiiBggANV5OU0lCT2Jq
1469
+ ZWN0RGF0YQAIABkAIgAnADEAOgA/AEQAUgBUAGYDVgNcA6cDrgO1A8MD1QPxA/8ECwQXBCUEMAQ+BFoE
1470
+ aAR7BI0EpwSxBL4EwATDBMYEyQTMBM4E0QTTBNYE2QTcBN8E4QTjBOYE6QTsBO8E+AUEBQYFCAURBRoF
1471
+ IwUuBTMFQgVVBV4FaQVrBW4FcAWZBaYFswXBBcsF2QXmBfgGDAYYBhoGHAYeBiAGJQYnBikGKwYtBi8G
1472
+ SgZRBloGdwaJBpQGnQapBrUGtwa5BrsGvgbABsIGxAbNBs8G0gbUBwkHGAciByoHMQdFB14Hdgd4B3oH
1473
+ fAd+B4AHggeEB4YHiAeJB4sHjAeOB5cHmQecB54Huwe9B78HwQfDB8UHxwfQB9IH1wfZB9sH/AgDCA0I
1474
+ DwgRCBMIFQgYCBkIGwgdCDUIZghyCIgInQisCL4IyQjTCOEI8wkACQ4JEwkVCRcJGQkeCSAJIgkkCSYJ
1475
+ KAktCTYJOglLCVIJWQliCWQJbQlvCXIJfwmICY0JjgmQCZkJogmvCbwJxQnQCdkJ4wnqCfYKIwovCjgK
1476
+ RApSClQKVgpYCloKXApeCmAKYgpkCm0Kbwp2CngKegp8CqkKsgq8CsYK0ArSCtQK1grYCtoK3ArfCuEK
1477
+ 4wrlCucK8AryCvUK9wssCz4LSAtVC2ELawt0C38LgQuDC4ULhwuJC4sLjguQC5ILlAuWC5gLmgujC6UL
1478
+ ygvMC84L0AvSC9QL1gvYC9oL3AveC+AL4gvkC+YL6AvqC+wMCAwdDDoMWwx3DJ0MuwzhDP0NGQ02DU4N
1479
+ gg2cDbkN1Q4CDgsOEg4fDiUOMA5FDk8OWg5iDnQOdg54DnoOgw6FDpoOrQ67DsUOxw7JDssOzQ7iDu8O
1480
+ +A8KDwwPDg8QDxIPFA8dDycPKRGLEZQRmxGtEbYRuBG9Eb8RwRHOEdYR2BHdEd8R4RHmEegR6hH9EgoS
1481
+ FRIhEiMSJRInEjASMhJ1EncSeRJ7En0SfxKBEoMShRKHEokSixKNEo8SkRKTEpUSlxKZEpsSnRKfEqES
1482
+ oxKlEqcSqRKrEq0SrxKxErMStRK+EskSyxLUEt0S4hLsEvUS9xMAEwkTCxMUEx0THxMoEzETMxM8E0UT
1483
+ RxNQE1kTWxNkE20TbxN4E4ETgxOME5UTlxOgE6kTqxO0E70TvxPIE9ET0xPcE+UT5xPwE/kT+xQEFA0U
1484
+ DxQYFCEUIxQsFDUUNxRAFEkUSxRUFF0UXxRoFHEUcxR8FIUUhxSQFJkUmxSkFK0UrxS4FMEUwxTMFNUU
1485
+ 1xTgFOkU6xT0FP0U/xUIFREVExUcFSUVJxUwFTkVOxVEFU0VTxVYFWEVZhVuFXcVfBWNFY8VmBWaFZ0V
1486
+ phWrFbgVxRXHFcwVzhXQFdUV1xXZFeYV6BXqFfMV9RY4FjoWPBY+FkAWQhZEFkYWSBZKFkwWThZQFlIW
1487
+ VBZWFlgWWhZcFl4WYBZiFmQWZhZoFmoWbBZuFnAWchZ0FnYWeBaJFosWjRaPFqMWrBazFsIWyxbTFtUW
1488
+ 5xbwFvcXBRcMFxUXHhc6F08XWBdaF10XXxdoF20Xdhd7F5wXpBe+F9EX5Rf8GBEYJBgmGCkYKxgtGC8Y
1489
+ MRgzGDUYQhhPGFcYWRhcGGUYahhyGH8YgRiEGJEYkxiYGJoYnBihGKMYpRi6GMYY1BjWGNgY2hjcGOMZ
1490
+ ARkOGRAZHBkxGTMZNRk3GTkZTRlaGVwZYRljGWUZahlsGW4ZehmHGY0ZjxmWGZ8ZpBm7GckZ0xncGecZ
1491
+ 7hoGGhMaHRoqGiwaLho2Gj8aRBpNGlYaYRqGGo8amBqiGqQaphqoGqoarBquGrAauRrSGt8a6BrzGv4b
1492
+ Kxs2GzgbOhs8Gz4bQBtCG0QbTRtWG3EbixuUG50bqhvEG80b1BvvG/gb+hv/HAEcAxwcHCkcMxw7HD0c
1493
+ PxxBHEMcRRxHHEkcXhxgHGIcZBxmHG8ccRx0HHYcqxy4HMsc2BzaHNwc3hzgHOIc5BzmHOgc+xz+HQAd
1494
+ Ah0EHQ0dDx0aHRwdHh0gHSIdJB1JHUsdTR1PHVEdUx1VHVcdYB1iHWUdZx26Hdwd6R3+HhgeNB5PHnce
1495
+ gx6iHrEevR6/HsEeyh7MHs4ezx7RHtoe4x7lHuYe5x7pHuse7R72HwIfGx8nHykfKx8tHy8fMR9WH1gf
1496
+ Wh9cH14fYB9iH2Qfbx94H4EflR+qH6wfrh+wH7Ifyh/TH9wf6h/zH/Uf/iAAIAIgBCAGICsgOiBHIFIg
1497
+ YSBsIHcgeCB6IHwghSCHIJAgmSCbILggxCDJIMsgzSDPINEg0yDlIPYg+CEBIQMhBiETIRUhISE2ITgh
1498
+ OiE8IT4hUCFZIWQheCGKIashsCGyIbQhtiG4IbohvSG/Ickh3iHgIeIh5CHmIf8iFCIWIhgiGiIcIi8i
1499
+ OCJBIkoiTyJdIoIigyKFIocikCKSIpsinSK6IrwiviLAIsIixCLLIuwi7iLwIvIi9CL2IvgjHSMeIyAj
1500
+ IiMrIy0jNiM4I1UjVyNZI1sjXSNfI2QjeSN7I30jfyOBI40jriOwI7IjtCO2I7gjuiPfI+Aj4iPkI+0j
1501
+ 7yPxJA4kECQSJBQkFiQYJCAkQSRDJEUkRyRJJEskTSRiJGQkZiRoJGokdCSBJIMkiCSRJJ4krCTFJOYk
1502
+ 6CTqJOwk7iTwJPIk+yUVJTolPCU+JUAlQiVEJUYlTyVoJXElcyV2JXgljyWpJbUlyiXMJc4l0CXSJd8l
1503
+ 6CXtJfsmFCYWJhgmGiYcJh4mICYiJigmMSY6JkYmXyZoJm0mgCaJJosmoCaiJqQmpiapJqwmryayJrUm
1504
+ uCa7Jtgm5ibwJvonAyciJyQnJicoJyonLCcuJ08nZid4J4MnkietJ8gn4SfjJ+Qn5ifnJ+kn6ifsJ+0n
1505
+ 9if4KAcoCSgLKA0oDygRKBMoFSgpKDAoOyhDKE4oWSheKGAoaShuKHcogCiJKJwosSi+KOIo6CkFKQ4p
1506
+ FSktKTwpWSlbKV0pXylhKWMpZSl2KXgpeil7KX0phimIKZEpkymVKZcpmSmfKaspuCm9Kb8pyCnPKesp
1507
+ +SoEKiEqIyolKigqKiosKi4qTipnKoQqhiqIKosqjSqPKpIqvSrhKv4rACsCKwUrBysJKwwrMytLK2gr
1508
+ aitsK28rcStzK3YrlyuxK9Ir3CveK+Ar4yvmK+gr6yvuLAosEywlLDIsNCw3LDosPSxALE8sYSyGLJws
1509
+ niygLKMspiypLKssriyxLNAs1yzuLPss/S0ALQMtBi0JLSotLC0uLTEtNC02LTktPC1VLWItZC1nLWot
1510
+ bS1wLZktmi23Lbktuy2+LcEtwy3GLe4t/C4VLh4uIC5dLl8uYS5jLmUuZy5pLmsubS5wLnIudC52Lngu
1511
+ ei58Ln4ugC6CLoQuhi6ILooujC6OLpAuki6ULpYumC6hLqMupi60Lr0uvy78Lv4vAC8CLwQvBi8ILwov
1512
+ DC8OLxAvEi8ULxYvGC8aLxwvHi8gLyIvJC8mLygvKi8sLy4vMC8yLzQvNi8/L0EvgC+CL4Qvhi+IL4ov
1513
+ jC+OL5Avki+VL5cvmS+bL50vny+hL6MvpS+nL6kvqy+tL68vsS+zL7Uvty+5L7svvS/GL8gwBzAKMA0w
1514
+ EDATMBYwGTAcMB8wIjAlMCgwKzAuMDEwNDA3MDowPTBAMEMwRjBJMEwwTzBSMFUwWDBbMF4wYTBuMIYw
1515
+ pjCrMLcwxDDYMPkxFzEjMTwxVDFqMYgxrDGzMesx+TIZMi8yTzJjMnkyjTKXMqkyvTLRMuky+zMEMwYz
1516
+ BzMQMxIzEzMcMx4zcTNzM3UzdzN5M3szfTN/M4EzgzOGM4gzizONM5AzkjOUM5YzmDOaM50znzOhM6Mz
1517
+ pTOnM6ozrDOuM7AzsjO0M7czuTO8M74zwDPDM8UzxzPJM9Iz1DQnNCo0LTQwNDM0NjQ5NDw0PzRCNEU0
1518
+ SDRLNE40UTRUNFc0WjRdNGA0YzRmNGk0bDRvNHI0dTR4NHs0fjSBNIQ0hzSKNI00kDSTNJY0mTScNJ80
1519
+ oTSkNKY0qDSqNKw0rjSwNLI0tTS3NMA0wjTFNMc0yTTLNM00zzTRNNM01jTYNNs03TTfNOE04zTmNOg0
1520
+ 6jTsNO408DTzNPY0+DT6NQM1BTUGNQ81ETUSNRs1HTUeNSc1LAAAAAAAAAICAAAAAAAABgkAAAAAAAAA
1521
+ AAAAAAAAADU7A</bytes>
1522
+ </object>
1523
+ </data>
1524
+ </archive>