Fixed previous Jorge's commit
[dashstudio.git] / qonfigure.rb
blobfd76d58c56d23c631d2379d4b7586e5cf010172e
1 # License, not of this script, but of the application it contains:
3
4 # Copyright (C) 2007 David Cuadrado                                     
5 # krawek@gmail.com                                                      
6 #                                                                       
7 # This library is free software; you can redistribute it and/or         
8 # modify it under the terms of the GNU Lesser General Public            
9 # License as published by the Free Software Foundation; either          
10 # version 2.1 of the License, or (at your option) any later version.    
11 #                                                                       
12 # This library is distributed in the hope that it will be useful,       
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of        
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     
15 # Lesser General Public License for more details.                       
16 #                                                                       
17 # You should have received a copy of the GNU Lesser General Public      
18 # License along with this library; if not, write to the Free Software   
19 # Foundation, Inc.,                                                     
20 # 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              
21
23 # License of this script, not of the application it contains:
25 # Copyright Erik Veenstra <tar2rubyscript@erikveen.dds.nl>
26
27 # This program is free software; you can redistribute it and/or
28 # modify it under the terms of the GNU General Public License,
29 # version 2, as published by the Free Software Foundation.
30
31 # This program is distributed in the hope that it will be
32 # useful, but WITHOUT ANY WARRANTY; without even the implied
33 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
34 # PURPOSE. See the GNU General Public License for more details.
35
36 # You should have received a copy of the GNU General Public
37 # License along with this program; if not, write to the Free
38 # Software Foundation, Inc., 59 Temple Place, Suite 330,
39 # Boston, MA 02111-1307 USA.
41 # Parts of this code are based on code from Thomas Hurst
42 # <tom@hur.st>.
44 # Tar2RubyScript constants
46 unless defined?(BLOCKSIZE)
47   ShowContent   = ARGV.include?("--tar2rubyscript-list")
48   JustExtract   = ARGV.include?("--tar2rubyscript-justextract")
49   ToTar         = ARGV.include?("--tar2rubyscript-totar")
50   Preserve      = ARGV.include?("--tar2rubyscript-preserve")
51 end
53 ARGV.concat     []
55 ARGV.delete_if{|arg| arg =~ /^--tar2rubyscript-/}
57 ARGV << "--tar2rubyscript-preserve"     if Preserve
59 # Tar constants
61 unless defined?(BLOCKSIZE)
62   BLOCKSIZE             = 512
64   NAMELEN               = 100
65   MODELEN               = 8
66   UIDLEN                = 8
67   GIDLEN                = 8
68   CHKSUMLEN             = 8
69   SIZELEN               = 12
70   MAGICLEN              = 8
71   MODTIMELEN            = 12
72   UNAMELEN              = 32
73   GNAMELEN              = 32
74   DEVLEN                = 8
76   TMAGIC                = "ustar"
77   GNU_TMAGIC            = "ustar  "
78   SOLARIS_TMAGIC        = "ustar\00000"
80   MAGICS                = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
82   LF_OLDFILE            = '\0'
83   LF_FILE               = '0'
84   LF_LINK               = '1'
85   LF_SYMLINK            = '2'
86   LF_CHAR               = '3'
87   LF_BLOCK              = '4'
88   LF_DIR                = '5'
89   LF_FIFO               = '6'
90   LF_CONTIG             = '7'
92   GNUTYPE_DUMPDIR       = 'D'
93   GNUTYPE_LONGLINK      = 'K'   # Identifies the *next* file on the tape as having a long linkname.
94   GNUTYPE_LONGNAME      = 'L'   # Identifies the *next* file on the tape as having a long name.
95   GNUTYPE_MULTIVOL      = 'M'   # This is the continuation of a file that began on another volume.
96   GNUTYPE_NAMES         = 'N'   # For storing filenames that do not fit into the main header.
97   GNUTYPE_SPARSE        = 'S'   # This is for sparse files.
98   GNUTYPE_VOLHDR        = 'V'   # This file is a tape/volume header.  Ignore it on extraction.
99 end
101 class Dir
102   def self.rm_rf(entry)
103     begin
104       File.chmod(0755, entry)
105     rescue
106     end
108     if File.ftype(entry) == "directory"
109       pdir      = Dir.pwd
111       Dir.chdir(entry)
112         Dir.open(".") do |d|
113           d.each do |e|
114             Dir.rm_rf(e)        if not [".", ".."].include?(e)
115           end
116         end
117       Dir.chdir(pdir)
119       begin
120         Dir.delete(entry)
121       rescue => e
122         $stderr.puts e.message
123       end
124     else
125       begin
126         File.delete(entry)
127       rescue => e
128         $stderr.puts e.message
129       end
130     end
131   end
134 class Reader
135   def initialize(filehandle)
136     @fp = filehandle
137   end
139   def extract
140     each do |entry|
141       entry.extract
142     end
143   end
145   def list
146     each do |entry|
147       entry.list
148     end
149   end
151   def each
152     @fp.rewind
154     while entry = next_entry
155       yield(entry)
156     end
157   end
159   def next_entry
160     buf = @fp.read(BLOCKSIZE)
162     if buf.length < BLOCKSIZE or buf == "\000" * BLOCKSIZE
163       entry     = nil
164     else
165       entry     = Entry.new(buf, @fp)
166     end
168     entry
169   end
172 class Entry
173   attr_reader(:header, :data)
175   def initialize(header, fp)
176     @header     = Header.new(header)
178     readdata =
179     lambda do |header|
180       padding   = (BLOCKSIZE - (header.size % BLOCKSIZE)) % BLOCKSIZE
181       @data     = fp.read(header.size)  if header.size > 0
182       dummy     = fp.read(padding)      if padding > 0
183     end
185     readdata.call(@header)
187     if @header.longname?
188       gnuname           = @data[0..-2]
190       header            = fp.read(BLOCKSIZE)
191       @header           = Header.new(header)
192       @header.name      = gnuname
194       readdata.call(@header)
195     end
196   end
198   def extract
199     if not @header.name.empty?
200       if @header.symlink?
201         begin
202           File.symlink(@header.linkname, @header.name)
203         rescue SystemCallError => e
204           $stderr.puts "Couldn't create symlink #{@header.name}: " + e.message
205         end
206       elsif @header.link?
207         begin
208           File.link(@header.linkname, @header.name)
209         rescue SystemCallError => e
210           $stderr.puts "Couldn't create link #{@header.name}: " + e.message
211         end
212       elsif @header.dir?
213         begin
214           Dir.mkdir(@header.name, @header.mode)
215         rescue SystemCallError => e
216           $stderr.puts "Couldn't create dir #{@header.name}: " + e.message
217         end
218       elsif @header.file?
219         begin
220           File.open(@header.name, "wb") do |fp|
221             fp.write(@data)
222             fp.chmod(@header.mode)
223           end
224         rescue => e
225           $stderr.puts "Couldn't create file #{@header.name}: " + e.message
226         end
227       else
228         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
229       end
231       #File.chown(@header.uid, @header.gid, @header.name)
232       #File.utime(Time.now, @header.mtime, @header.name)
233     end
234   end
236   def list
237     if not @header.name.empty?
238       if @header.symlink?
239         $stderr.puts "s %s -> %s" % [@header.name, @header.linkname]
240       elsif @header.link?
241         $stderr.puts "l %s -> %s" % [@header.name, @header.linkname]
242       elsif @header.dir?
243         $stderr.puts "d %s" % [@header.name]
244       elsif @header.file?
245         $stderr.puts "f %s (%s)" % [@header.name, @header.size]
246       else
247         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
248       end
249     end
250   end
253 class Header
254   attr_reader(:name, :uid, :gid, :size, :mtime, :uname, :gname, :mode, :linkflag, :linkname)
255   attr_writer(:name)
257   def initialize(header)
258     fields      = header.unpack('A100 A8 A8 A8 A12 A12 A8 A1 A100 A8 A32 A32 A8 A8')
259     types       = ['str', 'oct', 'oct', 'oct', 'oct', 'time', 'oct', 'str', 'str', 'str', 'str', 'str', 'oct', 'oct']
261     begin
262       converted = []
263       while field = fields.shift
264         type    = types.shift
266         case type
267         when 'str'      then converted.push(field)
268         when 'oct'      then converted.push(field.oct)
269         when 'time'     then converted.push(Time::at(field.oct))
270         end
271       end
273       @name, @mode, @uid, @gid, @size, @mtime, @chksum, @linkflag, @linkname, @magic, @uname, @gname, @devmajor, @devminor      = converted
275       @name.gsub!(/^\.\//, "")
276       @linkname.gsub!(/^\.\//, "")
278       @raw      = header
279     rescue ArgumentError => e
280       raise "Couldn't determine a real value for a field (#{field})"
281     end
283     raise "Magic header value #{@magic.inspect} is invalid."    if not MAGICS.include?(@magic)
285     @linkflag   = LF_FILE                       if @linkflag == LF_OLDFILE or @linkflag == LF_CONTIG
286     @linkflag   = LF_DIR                        if @linkflag == LF_FILE and @name[-1] == '/'
287     @size       = 0                             if @size < 0
288   end
290   def file?
291     @linkflag == LF_FILE
292   end
294   def dir?
295     @linkflag == LF_DIR
296   end
298   def symlink?
299     @linkflag == LF_SYMLINK
300   end
302   def link?
303     @linkflag == LF_LINK
304   end
306   def longname?
307     @linkflag == GNUTYPE_LONGNAME
308   end
311 class Content
312   @@count       = 0     unless defined?(@@count)
314   def initialize
315     @@count += 1
317     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
318     temp        = ENV["TEMP"]
319     temp        = "/tmp"        if temp.nil?
320     temp        = File.expand_path(temp)
321     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
322   end
324   def list
325     begin
326       File.open(@tempfile, "wb")        {|f| f.write @archive}
327       File.open(@tempfile, "rb")        {|f| Reader.new(f).list}
328     ensure
329       File.delete(@tempfile)
330     end
332     self
333   end
335   def cleanup
336     @archive    = nil
338     self
339   end
342 class TempSpace
343   @@count       = 0     unless defined?(@@count)
345   def initialize
346     @@count += 1
348     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
349     @olddir     = Dir.pwd
350     temp        = ENV["TEMP"]
351     temp        = "/tmp"        if temp.nil?
352     temp        = File.expand_path(temp)
353     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
354     @tempdir    = "#{temp}/tar2rubyscript.d.#{Process.pid}.#{@@count}"
356     @@tempspace = self
358     @newdir     = @tempdir
360     @touchthread =
361     Thread.new do
362       loop do
363         sleep 60*60
365         touch(@tempdir)
366         touch(@tempfile)
367       end
368     end
369   end
371   def extract
372     Dir.rm_rf(@tempdir) if File.exists?(@tempdir)
373     Dir.mkdir(@tempdir)
375     newlocation do
377                 # Create the temp environment.
379       File.open(@tempfile, "wb")        {|f| f.write @archive}
380       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
382                 # Eventually look for a subdirectory.
384       entries   = Dir.entries(".")
385       entries.delete(".")
386       entries.delete("..")
388       if entries.length == 1
389         entry   = entries.shift.dup
390         if File.directory?(entry)
391           @newdir       = "#{@tempdir}/#{entry}"
392         end
393       end
394     end
396                 # Remember all File objects.
398     @ioobjects  = []
399     ObjectSpace::each_object(File) do |obj|
400       @ioobjects << obj
401     end
403     at_exit do
404       @touchthread.kill
406                 # Close all File objects, opened in init.rb .
408       ObjectSpace::each_object(File) do |obj|
409         obj.close       if (not obj.closed? and not @ioobjects.include?(obj))
410       end
412                 # Remove the temp environment.
414       Dir.chdir(@olddir)
416       Dir.rm_rf(@tempfile)
417       Dir.rm_rf(@tempdir)
418     end
420     self
421   end
423   def cleanup
424     @archive    = nil
426     self
427   end
429   def touch(entry)
430     entry       = entry.gsub!(/[\/\\]*$/, "")   unless entry.nil?
432     return      unless File.exists?(entry)
434     if File.directory?(entry)
435       pdir      = Dir.pwd
437       begin
438         Dir.chdir(entry)
440         begin
441           Dir.open(".") do |d|
442             d.each do |e|
443               touch(e)  unless [".", ".."].include?(e)
444             end
445           end
446         ensure
447           Dir.chdir(pdir)
448         end
449       rescue Errno::EACCES => error
450         $stderr.puts error
451       end
452     else
453       File.utime(Time.now, File.mtime(entry), entry)
454     end
455   end
457   def oldlocation(file="")
458     if block_given?
459       pdir      = Dir.pwd
461       Dir.chdir(@olddir)
462         res     = yield
463       Dir.chdir(pdir)
464     else
465       res       = File.expand_path(file, @olddir)       if not file.nil?
466     end
468     res
469   end
471   def newlocation(file="")
472     if block_given?
473       pdir      = Dir.pwd
475       Dir.chdir(@newdir)
476         res     = yield
477       Dir.chdir(pdir)
478     else
479       res       = File.expand_path(file, @newdir)       if not file.nil?
480     end
482     res
483   end
485   def templocation(file="")
486     if block_given?
487       pdir      = Dir.pwd
489       Dir.chdir(@tempdir)
490         res     = yield
491       Dir.chdir(pdir)
492     else
493       res       = File.expand_path(file, @tempdir)      if not file.nil?
494     end
496     res
497   end
499   def self.oldlocation(file="")
500     if block_given?
501       @@tempspace.oldlocation { yield }
502     else
503       @@tempspace.oldlocation(file)
504     end
505   end
507   def self.newlocation(file="")
508     if block_given?
509       @@tempspace.newlocation { yield }
510     else
511       @@tempspace.newlocation(file)
512     end
513   end
515   def self.templocation(file="")
516     if block_given?
517       @@tempspace.templocation { yield }
518     else
519       @@tempspace.templocation(file)
520     end
521   end
524 class Extract
525   @@count       = 0     unless defined?(@@count)
527   def initialize
528     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
529     temp        = ENV["TEMP"]
530     temp        = "/tmp"        if temp.nil?
531     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
532   end
534   def extract
535     begin
536       File.open(@tempfile, "wb")        {|f| f.write @archive}
537       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
538     ensure
539       File.delete(@tempfile)
540     end
542     self
543   end
545   def cleanup
546     @archive    = nil
548     self
549   end
552 class MakeTar
553   def initialize
554     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
555     @tarfile    = File.expand_path(__FILE__).gsub(/\.rbw?$/, "") + ".tar"
556   end
558   def extract
559     File.open(@tarfile, "wb")   {|f| f.write @archive}
561     self
562   end
564   def cleanup
565     @archive    = nil
567     self
568   end
571 def oldlocation(file="")
572   if block_given?
573     TempSpace.oldlocation { yield }
574   else
575     TempSpace.oldlocation(file)
576   end
579 def newlocation(file="")
580   if block_given?
581     TempSpace.newlocation { yield }
582   else
583     TempSpace.newlocation(file)
584   end
587 def templocation(file="")
588   if block_given?
589     TempSpace.templocation { yield }
590   else
591     TempSpace.templocation(file)
592   end
595 if ShowContent
596   Content.new.list.cleanup
597 elsif JustExtract
598   Extract.new.extract.cleanup
599 elsif ToTar
600   MakeTar.new.extract.cleanup
601 else
602   TempSpace.new.extract.cleanup
604   $:.unshift(templocation)
605   $:.unshift(newlocation)
606   $:.push(oldlocation)
608   verbose       = $VERBOSE
609   $VERBOSE      = nil
610   s     = ENV["PATH"].dup
611   if Dir.pwd[1..2] == ":/"      # Hack ???
612     s << ";#{templocation.gsub(/\//, "\\")}"
613     s << ";#{newlocation.gsub(/\//, "\\")}"
614     s << ";#{oldlocation.gsub(/\//, "\\")}"
615   else
616     s << ":#{templocation}"
617     s << ":#{newlocation}"
618     s << ":#{oldlocation}"
619   end
620   ENV["PATH"]   = s
621   $VERBOSE      = verbose
623   TAR2RUBYSCRIPT        = true  unless defined?(TAR2RUBYSCRIPT)
625   newlocation do
626     if __FILE__ == $0
627       $0.replace(File.expand_path("./init.rb"))
629       if File.file?("./init.rb")
630         load File.expand_path("./init.rb")
631       else
632         $stderr.puts "%s doesn't contain an init.rb ." % __FILE__
633       end
634     else
635       if File.file?("./init.rb")
636         load File.expand_path("./init.rb")
637       end
638     end
639   end
643 # cW9uZmlndXJlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
644 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
645 # AAAAAAAAAAAAADAwMDA3NTUAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAwMDAw
646 # ADEwNzA0NDc1NDQ0ADAxMjQyMAAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
649 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAA
650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
654 # AAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcW9uZi5yYgAAAAAAAAAAAAAA
655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAw
657 # MDE3NTAAMDAwMDAwMzE1NzEAMTA3MDQ0NzU0NDQAMDEzNzE3ACAwAAAAAAAA
658 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
659 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
660 # AAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr
661 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
662 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICd0
666 # ZXN0JwpyZXF1aXJlICdwa2djb25maWcnCnJlcXVpcmUgJ2Zyb250ZW5kZmFj
667 # dG9yeScKcmVxdWlyZSAnY29uZmlnJwpyZXF1aXJlICdxbWFrZScKcmVxdWly
668 # ZSAnbWFrZWZpbGUnCgptb2R1bGUgUW9uZgogIFZFUlNJT04gPSAiMC41Ii5m
669 # cmVlemUKICBWRVJTSU9OX0RBVEUgPSAiMjAwNy0xMC0xNCIKICAKICBjbGFz
670 # cyBRdFZlcnNpb24KICAgIGF0dHJfcmVhZGVyIDp2ZXJzaW9uLCA6b3AgIyAw
671 # OiBlcXVhbCAxOiBncmVhdGVyIDI6IGdyZWF0ZXIgZXF1YWwKICAgIAogICAg
672 # ZGVmIGluaXRpYWxpemUodmVyc2lvbikKICAgICAgQG9wID0gMgogICAgICBw
673 # YXJzZSh2ZXJzaW9uKQogICAgZW5kCiAgICAKICAgIGRlZiA9PSh2ZXIpCiAg
674 # ICAgIEBvcCA9IDAKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAgICAKICAg
675 # IGRlZiA+KHZlcikKICAgICAgQG9wID0gMQogICAgICBwYXJzZSh2ZXIpCiAg
676 # ICBlbmQKICAgIAogICAgZGVmID49KHZlcikKICAgICAgQG9wID0gMgogICAg
677 # ICBwYXJzZSh2ZXIpCiAgICBlbmQKICAgIAogICAgZGVmIHRvX3MKICAgICAg
678 # cyA9ICJRdCAiCiAgICAgIGNhc2UgQG9wCiAgICAgICAgd2hlbiAwCiAgICAg
679 # ICAgICBzKz0iPT0iCiAgICAgICAgd2hlbiAxCiAgICAgICAgICBzKz0iPiIK
680 # ICAgICAgICBlbHNlCiAgICAgICAgICBzKz0iPj0iCiAgICAgIGVuZAogICAg
681 # ICBzKz0gIiAiK0B2ZXJzaW9uCiAgICAgIAogICAgICBzCiAgICBlbmQKICAg
682 # IAogICAgcHJpdmF0ZQogICAgZGVmIHBhcnNlKHZlcnNpb24pCiAgICAgIEB2
683 # ZXJzaW9uID0gdmVyc2lvbi50b19zCiAgICAgIHZlciA9IEB2ZXJzaW9uLnRv
684 # X3Muc3BsaXQoJy4nKQogICAgICBzaXplID0gdmVyLnNpemUKICAgICAgICAK
685 # ICAgICAgZmluYWx2ZXIgPSBbXQogICAgICAzLnRpbWVzIHsgfGl8CiAgICAg
686 # ICAgdHAgPSB2ZXJbaV0KICAgICAgICAKICAgICAgICBpZiB0cC5uaWw/CiAg
687 # ICAgICAgICB0cCA9ICIwIgogICAgICAgIGVuZAogICAgICAgIAogICAgICAg
688 # IGZpbmFsdmVyIDw8IHRwCiAgICAgIH0KICAgICAgCiAgICAgIEB2ZXJzaW9u
689 # ID0gZmluYWx2ZXIuam9pbigiLiIpCiAgICBlbmQKICBlbmQKICAKICBjbGFz
690 # cyBTZXR1cAogICAgYXR0cl9yZWFkZXIgOm9wdGlvbnMsIDpwYWNrYWdlcywg
691 # OnRlc3RzLCA6cGtnX2NvbmZpZ3MKICAgIGRlZiBpbml0aWFsaXplCiAgICAg
692 # IEBvcHRpb25zID0gW10KICAgICAgQHBhY2thZ2VzID0gW10KICAgICAgQHRl
693 # c3RzID0gW10KICAgICAgQHBrZ19jb25maWdzID0gW10KICAgICAgQHF0X3Zl
694 # cnNpb24gPSBRdFZlcnNpb24ubmV3KCI0LjAuMCIpCiAgICAgIAogICAgICBh
695 # ZGRfb3B0aW9uKDpuYW1lID0+ICJwcmVmaXgiLCA6dHlwZSA9PiAicGF0aCIs
696 # IDpkZWZhdWx0ID0+ICIvdXNyL2xvY2FsLyIsIDpvcHRpb25hbCA9PiB0cnVl
697 # LCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgdGhlIGluc3RhbGwgcHJlZml4IikK
698 # ICAgIGVuZAogICAgCiAgICBkZWYgYWRkX29wdGlvbihvcHRpb24pCiAgICAg
699 # IGlmIG5vdCBvcHRpb25bOnR5cGVdLm5pbD8KICAgICAgICBvcHRpb25bOnR5
700 # cGVdLmRvd25jYXNlIQogICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25z
701 # IDw8IG9wdGlvbgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2Uo
702 # b3B0aW9ucykKICAgICAgQHBhY2thZ2VzIDw8IG9wdGlvbnMKICAgIGVuZAog
703 # ICAgCiAgICBkZWYgYWRkX3Rlc3Qob3B0aW9uKQogICAgICByYWlzZSAiUGxl
704 # YXNlIHNldCBhIHZhbGlkIG5hbWUgdG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6
705 # bmFtZV0udG9fcy5lbXB0eT8KICAgICAgcmFpc2UgIlBsZWFzZSBzZXQgYSB2
706 # YWxpZCBpZCB0byB0aGUgdGVzdCIgaWYgb3B0aW9uWzppZF0udG9fcy5lbXB0
707 # eT8KICAgICAgCiAgICAgIEB0ZXN0cyA8PCBvcHRpb24KICAgIGVuZAogICAg
708 # CiAgICBkZWYgZ2VuZXJhdGVfcGtnY29uZmlnKG9wdGlvbnMpCiAgICAgIHJh
709 # aXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgbmFtZSIgaWYgb3B0aW9uc1s6cGFj
710 # a2FnZV9uYW1lXS50b19zLmVtcHR5PwogICAgICBAcGtnX2NvbmZpZ3MgPDwg
711 # b3B0aW9ucwogICAgZW5kCiAgICAKICAgIGRlZiBxdAogICAgICBAcXRfdmVy
712 # c2lvbgogICAgZW5kCiAgICAKICBlbmQKICAKICBjbGFzcyBDb25maWd1cmUK
713 # ICAgIGRlZiBpbml0aWFsaXplCiAgICAgIEBhcmd1bWVudHMgPSB7fQogICAg
714 # ICBAY29uZmlnID0gQ29uZmlnLm5ldwogICAgICAKICAgICAgQGxvZ19maWxl
715 # ID0gb2xkbG9jYXRpb24oImNvbmZpZy5sb2ciKQogICAgICAKICAgICAgRmls
716 # ZS5vcGVuKEBsb2dfZmlsZSwgInciKSBkbyB8ZnwKICAgICAgICBmIDw8ICI9
717 # PT09PT09PiBHZW5lcmF0ZWQgYXQgI3tUaW1lLm5vd30gPD09PT09PT1cbiIK
718 # ICAgICAgZW5kCiAgICAgIAogICAgICBxbWFrZV9wYXRocyA9IFtdCiAgICAg
719 # IGlmKCBEZXRlY3RPUy5vcz8gIT0gMSApICMgVW5peAogICAgICAgIElPLnBv
720 # cGVuKCJsb2NhdGUgLXIgL3FtYWtlJCAyPiAje25ld2xvY2F0aW9uKCdsb2Nh
721 # dGVfbG9nJyl9IikgeyB8cHJjfAogICAgICAgICAgcHJlX3BhdGhzID0gcHJj
722 # LnJlYWRsaW5lcwogICAgICAgICAgcHJlX3BhdGhzLmVhY2ggeyB8cW18CiAg
723 # ICAgICAgICAgIHFtLnN0cmlwIQogICAgICAgICAgICBpZiBGaWxlLmV4aXN0
724 # cz8ocW0pCiAgICAgICAgICAgICAgc3RhdCA9IEZpbGUuc3RhdChxbSkKICAg
725 # ICAgICAgICAgICAKICAgICAgICAgICAgICBpZiAobm90IChzdGF0LnN5bWxp
726 # bms/IG9yIHN0YXQuZGlyZWN0b3J5PykpIGFuZCBzdGF0LmV4ZWN1dGFibGU/
727 # CiAgICAgICAgICAgICAgICBxbWFrZV9wYXRocyA8PCBxbQogICAgICAgICAg
728 # ICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgIH0KICAgICAgICB9
729 # CiAgICAgIGVuZAogICAgICAKICAgICAgQHFtYWtlID0gUU1ha2UubmV3KHFt
730 # YWtlX3BhdGhzLCBAbG9nX2ZpbGUpCiAgICAgIAogICAgICBjZmcgPSBTZXR1
731 # cC5uZXcKICAgICAgY29uZmlndXJlKGNmZykKICAgICAgCiAgICAgIHByaW50
732 # ICI9PiBTZWFyY2hpbmcgZm9yICN7Y2ZnLnF0fS4uLiAiCiAgICAgIGlmIEBx
733 # bWFrZS5maW5kX3FtYWtlKGNmZy5xdC52ZXJzaW9uLCBjZmcucXQub3ApCiAg
734 # ICAgICAgcHV0cyAiKCN7QHFtYWtlLnBhdGh9KSBbWUVTXSIKICAgICAgZWxz
735 # ZQogICAgICAgIHB1dHMgIltOT10iCiAgICAgICAgZXhpdCgtMSkKICAgICAg
736 # ZW5kCiAgICAgIAogICAgICBAb3B0aW9ucyA9IGNmZy5vcHRpb25zCiAgICAg
737 # IEBwYWNrYWdlcyA9IGNmZy5wYWNrYWdlcwogICAgICBAdGVzdHMgPSBjZmcu
738 # dGVzdHMKICAgICAgQHBrZ19jb25maWdzID0gY2ZnLnBrZ19jb25maWdzCiAg
739 # ICAgIEBzdGF0dXNGaWxlID0gRGlyLmdldHdkKyIvdXBkYXRlLW1ha2VmaWxl
740 # IgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2VzICMgVE9ETzog
741 # c29wb3J0YXIgaW5mb3JtYWNpb24gcGFyYSBlbCBzaXN0ZW1hIG9wZXJhdGl2
742 # byBzb2JyZSBjb21vIGluc3RhbGFyIGVsIHBhcXVldGUKICAgICAgQHBhY2th
743 # Z2VzLmVhY2ggeyB8cGFja2FnZXwKICAgICAgICBwcmludCAiPT4gU2VhcmNo
744 # aW5nIGZvciBwYWNrYWdlOiAje3BhY2thZ2VbOm5hbWVdfS4uLiAgIgogICAg
745 # ICAgIHBrZ2NvbmZpZyA9IFBrZ0NvbmZpZy5uZXcocGFja2FnZVs6bmFtZV0p
746 # CiAgICAgICAgYmVnaW4KICAgICAgICAgIHNldHVwX3BrZ2NvbmZpZyhwa2dj
747 # b25maWcsIEBhcmd1bWVudHMpCiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJy
748 # b3IgPT4gZQogICAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBf
749 # cGtnY29uZmlnLwogICAgICAgICAgICBwdXRzICJFcnJvcjogI3tlLm1lc3Nh
750 # Z2V9IgogICAgICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICAg
751 # IGV4aXQoLTEpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICAK
752 # ICAgICAgICBpZiBub3QgcGtnY29uZmlnLmZpbmQocGFja2FnZVs6bmFtZV0p
753 # CiAgICAgICAgICBwdXRzICJbTk9dIgogICAgICAgICAgCiAgICAgICAgICBv
754 # cHRpb25hbCA9IHBhY2thZ2VbOm9wdGlvbmFsXS5uaWw/ID8gZmFsc2UgOiBw
755 # YWNrYWdlWzpvcHRpb25hbF0KICAgICAgICAgIAogICAgICAgICAgaWYgbm90
756 # IG9wdGlvbmFsCiAgICAgICAgICAgIHB1dHMgIj0+IFRoZSBwYWNrYWdlICcj
757 # e3BhY2thZ2VbOm5hbWVdfScgaXMgcmVxdWlyZWQuIgogICAgICAgICAgICBl
758 # eGl0KC0xKQogICAgICAgICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAg
759 # cHV0cyAiW1lFU10iCiAgICAgICAgICBnbG9iYWwgPSBwYWNrYWdlWzpnbG9i
760 # YWxdLm5pbD8gPyBmYWxzZSA6IHBhY2thZ2VbOmdsb2JhbF0KICAgICAgICAg
761 # IAogICAgICAgICAgcW9uZnBrZyA9IEBjb25maWcKICAgICAgICAgIAogICAg
762 # ICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBxb25mcGtnID0gUGFj
763 # a2FnZS5uZXcocGFja2FnZVs6bmFtZV0pCiAgICAgICAgICBlbmQKICAgICAg
764 # ICAgIAogICAgICAgICAgCiMgICAgICAgICAgIHBrZ2NvbmZpZy5yZXF1aXJl
765 # cy5lYWNoIHsgfHJlcXwKIyAgICAgICAgICAgICBAY29uZmlnLmFkZF9xb25m
766 # X3BhY2thZ2UocmVxKQojICAgICAgICAgICB9CiAgICAgICAgICAKICAgICAg
767 # ICAgIHFvbmZwa2cuYWRkX2xpYihwa2djb25maWcubGlicykKICAgICAgICAg
768 # IAogICAgICAgICAgcGtnY29uZmlnLmluY2x1ZGVfcGF0aC5lYWNoIHsgfGlu
769 # Y3BhdGh8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVfcGF0aChp
770 # bmNwYXRoKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBwa2dj
771 # b25maWcuZGVmaW5lcy5lYWNoIHsgfGRlZmluZXwKICAgICAgICAgICAgcW9u
772 # ZnBrZy5hZGRfZGVmaW5lKGRlZmluZSkKICAgICAgICAgIH0KICAgICAgICAg
773 # IAogICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmln
774 # LmFkZF9xb25mX3BhY2thZ2UocW9uZnBrZykKICAgICAgICAgIGVsc2UKICAg
775 # ICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9mZWF0dXJlKHBhY2thZ2VbOm5h
776 # bWVdKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVu
777 # ZAogICAgCiAgICBkZWYgcnVuX3Rlc3RzCiAgICAgIEB0ZXN0cy5lYWNoIHsg
778 # fHRlc3RvcHR8CiAgICAgICAgcHJpbnQgIj0+IFRlc3RpbmcgI3t0ZXN0b3B0
779 # WzpuYW1lXX0uLi4gICIKICAgICAgICAKICAgICAgICB0c3QgPSBUZXN0Lm5l
780 # dyh0ZXN0b3B0LCBAY29uZmlnLCBAbG9nX2ZpbGUpCiAgICAgICAgCiAgICAg
781 # ICAgYmVnaW4KICAgICAgICAgIHNldHVwX3Rlc3QodGVzdG9wdFs6aWRdLCB0
782 # c3QsIEBhcmd1bWVudHMpCiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3Ig
783 # PT4gZQogICAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfdGVz
784 # dC8KICAgICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICAg
785 # IHB1dHMgZS5iYWNrdHJhY2UKICAgICAgICAgICAgZXhpdCgtMSkKICAgICAg
786 # ICAgIGVuZAogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIG9wdGlvbmFs
787 # ID0gdGVzdG9wdFs6b3B0aW9uYWxdLm5pbD8gPyBmYWxzZSA6IHRlc3RvcHRb
788 # Om9wdGlvbmFsXQogICAgICAgIGlmIHRzdC5ydW4oQHFtYWtlKQogICAgICAg
789 # ICAgZ2xvYmFsID0gdGVzdG9wdFs6Z2xvYmFsXS5uaWw/ID8gZmFsc2UgOiB0
790 # ZXN0b3B0WzpnbG9iYWxdCiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cg
791 # PSBAY29uZmlnCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwK
792 # ICAgICAgICAgICAgcW9uZnBrZyA9IFBhY2thZ2UubmV3KHRzdC5pZCkKICAg
793 # ICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICB0c3QuaW5jbHVkZV9w
794 # YXRoLmVhY2ggeyB8aW5jcGF0aHwKICAgICAgICAgICAgcW9uZnBrZy5hZGRf
795 # aW5jbHVkZV9wYXRoKGluY3BhdGgpCiAgICAgICAgICB9CiAgICAgICAgICAK
796 # ICAgICAgICAgIHRzdC5kZWZpbmVzLmVhY2ggeyB8ZGVmaW5lfAogICAgICAg
797 # ICAgICBxb25mcGtnLmFkZF9kZWZpbmUoZGVmaW5lKQogICAgICAgICAgfQog
798 # ICAgICAgICAgCiAgICAgICAgICBxb25mcGtnLmFkZF9saWIodHN0LmxpYnMu
799 # dG9fcykKICAgICAgICAgIAogICAgICAgICAgaWYgbm90IGdsb2JhbAogICAg
800 # ICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2thZ2UocW9uZnBrZykKICAg
801 # ICAgICAgIGVsc2UKICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9mZWF0
802 # dXJlKHRzdC5pZCkKICAgICAgICAgIGVuZAogICAgICAgICAgcHV0cyAiW09L
803 # XSIKICAgICAgICBlbHNlCiAgICAgICAgICBwdXRzICJbRkFJTEVEXSIKICAg
804 # ICAgICAgIAogICAgICAgICAgaWYgbm90IG9wdGlvbmFsCiAgICAgICAgICAg
805 # IHB1dHMgIj0+ICN7dGVzdG9wdFs6bmFtZV19IGlzIHJlcXVpcmVkIgogICAg
806 # ICAgICAgICBleGl0KC0xKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAg
807 # ICAgIH0KICAgIGVuZAogICAgCiAgICBkZWYgZ2VuZXJhdGVfbWFrZWZpbGVz
808 # CiAgICAgIHB1dHMgIj0+IENyZWF0aW5nIG1ha2VmaWxlcy4uLiIKICAgICAg
809 # QHFtYWtlLnJ1bigiIiwgdHJ1ZSkKICAgICAgCiAgICAgIHB1dHMgIj0+IFVw
810 # ZGF0aW5nIG1ha2VmaWxlcy4uLiIKICAgICAgCiAgICAgIEBtYWtlZmlsZXMg
811 # PSBNYWtlZmlsZTo6ZmluZF9tYWtlZmlsZXMoRGlyLmdldHdkKQogICAgICBA
812 # bWFrZWZpbGVzLmVhY2ggeyB8bWFrZWZpbGV8CiAgICAgICAgICBNYWtlZmls
813 # ZTo6b3ZlcnJpZGUobWFrZWZpbGUsIEZpbGUuZXhwYW5kX3BhdGgoQGFyZ3Vt
814 # ZW50c1sicHJlZml4Il0udG9fcyksIEBzdGF0dXNGaWxlKQogICAgICB9CiAg
815 # ICAgIAogICAgICBGaWxlLm9wZW4oQHN0YXR1c0ZpbGUsICJ3IiApIHsgfGZp
816 # bGV8CiAgICAgICAgZmlsZSA8PCAlQAoje0ZpbGUucmVhZChuZXdsb2NhdGlv
817 # bigibWFrZWZpbGUucmIiKSl9ClFvbmY6Ok1ha2VmaWxlOjpvdmVycmlkZSgg
818 # QVJHVlswXS50b19zLCAiI3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tA
819 # c3RhdHVzRmlsZX0iICkKQAogICAgICB9CiAgICBlbmQKICAgIAogICAgZGVm
820 # IGdldF9hcmdzKGFyZ3YpCiAgICAgIG9wdGMgPSAwCiAgICAgIGxhc3Rfb3B0
821 # ID0gIiIKICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0aW9ufAog
822 # ICAgICAgIGdpdmVuX29wdGlvbiA9IG5pbAogICAgICAgIAogICAgICAgIGFy
823 # Z3YuZWFjaCB7IHxhcmd8CiAgICAgICAgICBhcmcuc3RyaXAhCiAgICAgICAg
824 # ICBnaXZlbiA9IGZhbHNlCiAgICAgICAgICAKICAgICAgICAgIGNhc2Ugb3B0
825 # aW9uWzp0eXBlXS50b19zCiAgICAgICAgICAgIHdoZW4gInN0cmluZyIKICAg
826 # ICAgICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVdfT0oW1xX
827 # XHddKikvCiAgICAgICAgICAgICAgICBnaXZlbiA9IHRydWUKICAgICAgICAg
828 # ICAgICAgIGdpdmVuX29wdGlvbiA9ICQxCiAgICAgICAgICAgICAgZW5kCiAg
829 # ICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgICAgaWYgYXJnID1+
830 # IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtcV1x3XSopLwogICAgICAgICAgICAg
831 # ICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBnaXZlbl9vcHRpb24g
832 # PSBGaWxlLmV4cGFuZF9wYXRoKCQxKQogICAgICAgICAgICAgIGVuZAogICAg
833 # ICAgICAgICB3aGVuICJib29sIgogICAgICAgICAgICAgIGlmIGFyZyA9fiAv
834 # LS11c2UtI3tvcHRpb25bOm5hbWVdfT0oXHcrKS8KICAgICAgICAgICAgICAg
835 # IGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0g
836 # JDEKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZWxzZQogICAgICAg
837 # ICAgICAgIGlmIGFyZyA9fiAvLS0je29wdGlvbls6bmFtZV19LwogICAgICAg
838 # ICAgICAgICAgZ2l2ZW5fb3B0aW9uID0gInllcyIKICAgICAgICAgICAgICAg
839 # IGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgIGVuZAogICAgICAgICAgZW5k
840 # CiAgICAgICAgICAKICAgICAgICAgIGlmIGdpdmVuCiAgICAgICAgICAgIGFy
841 # Z3YuZGVsZXRlKGFyZykKICAgICAgICAgIGVuZAogICAgICAgIH0KICAgICAg
842 # ICAKICAgICAgICBvcHRpb25bOnZhbHVlXSA9IGdpdmVuX29wdGlvbgogICAg
843 # ICB9CiAgICAgIAogICAgICBmcm9udGVuZF9rZXkgPSAidGsiCiAgICAgIGFy
844 # Z3YuZWFjaCB7IHx1bmtub3dufAogICAgICAgIHVua25vd24uc3RyaXAhCiAg
845 # ICAgICAgaWYgdW5rbm93biA9fiAvLS13aXRoLWNvbmZpZy1mcm9udGVuZD0o
846 # XHcrKS8KICAgICAgICAgIGZyb250ZW5kX2tleSA9ICQxCiAgICAgICAgZWxz
847 # aWYgdW5rbm93biA9fiAvLS1oZWxwLwogICAgICAgICAgdXNhZ2UKICAgICAg
848 # ICAgIGV4aXQoMCkKICAgICAgICBlbHNpZiB1bmtub3duID1+IC8tLXZlcnNp
849 # b24vCiAgICAgICAgICBwdXRzICJRT25mICN7VkVSU0lPTn0gWyN7VkVSU0lP
850 # Tl9EQVRFfV0iCiAgICAgICAgICBleGl0KDApCiAgICAgICAgZW5kCiAgICAg
851 # IH0KICAgICAgCiAgICAgIGZyb250ZW5kID0gRnJvbnRlbmRGYWN0b3J5LmNy
852 # ZWF0ZShmcm9udGVuZF9rZXkpCiAgICAgIGlmIGZyb250ZW5kLm5pbD8KICAg
853 # ICAgICBwdXRzICI9PiBJbnZhbGlkIGZyb250ZW5kIgogICAgICAgIHVzYWdl
854 # KCkKICAgICAgICBleGl0KC0xKQogICAgICBlbHNpZiBub3QgZnJvbnRlbmQu
855 # cGFyc2UoQG9wdGlvbnMpCiAgICAgICAgdXNhZ2UoKQogICAgICAgIGV4aXQo
856 # LTEpCiAgICAgIGVuZAogICAgICAKICAgICAgQG9wdGlvbnMuZWFjaCB7IHxv
857 # cHRpb258CiAgICAgICAgdmFsdWUgPSBvcHRpb25bOnZhbHVlXS5uaWw/ID8g
858 # b3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0aW9uWzp2YWx1ZV0KICAgICAg
859 # ICBAYXJndW1lbnRzW29wdGlvbls6bmFtZV1dID0gdmFsdWUKICAgICAgfQog
860 # ICAgICAKICAgIGVuZAogICAgCiAgICBkZWYgc2F2ZShwYXRoKQogICAgICBi
861 # ZWdpbgogICAgICAgIHNldHVwX2NvbmZpZyhAY29uZmlnLCBAYXJndW1lbnRz
862 # KQogICAgICByZXNjdWUgTm9NZXRob2RFcnJvciA9PiBlCiAgICAgICAgaWYg
863 # bm90IGUubWVzc2FnZSA9fiAvc2V0dXBfY29uZmlnLwogICAgICAgICAgcHV0
864 # cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAg
865 # ICAgICAgICBleGl0KC0xKQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAg
866 # CiAgICAgIEBjb25maWcuYWRkX2RlZmluZSglQF9fUFJFRklYX189J1xcXFwi
867 # JyN7RmlsZS5leHBhbmRfcGF0aCBAYXJndW1lbnRzWyJwcmVmaXgiXX0nXFxc
868 # XCInQCkKICAgICAgCiAgICAgIHNhdmVfcGtnY29uZmlnCiAgICAgIEBjb25m
869 # aWcuc2F2ZShwYXRoKQogICAgICAKICAgICAgbGF1bmNoZXIgPSBuaWwKICAg
870 # ICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEgIyBXaW5kb3dzCiAgICAgICAgbGF1
871 # bmNoZXIgPSBGaWxlLm5ldygibGF1bmNoZXIuYmF0IiwgInciKQogICAgICAg
872 # IAogICAgICAgIGxhdW5jaGVyIDw8ICJzZXQgUEFUSD0je0Bjb25maWcuYnVp
873 # bGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGJpbjsje0Bjb25maWcuYnVpbGRf
874 # ZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGxpYjslUEFUSCVcbiIKICAgICAgICBs
875 # YXVuY2hlciA8PCAiJTFcbiIKICAgICAgZWxzZQogICAgICAgIGxhdW5jaGVy
876 # ID0gRmlsZS5uZXcoImxhdW5jaGVyLnNoIiwidyIpCiAgICAgICAgbGF1bmNo
877 # ZXIgPDwgIiMhL2Jpbi9iYXNoXG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4
878 # cG9ydCBQQVRIPSN7QGNvbmZpZy5idWlsZF9kaXJ9L2Jpbjoke1BBVEh9XG4i
879 # CiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9
880 # I3tAY29uZmlnLmJ1aWxkX2Rpcn0vYmluOiN7QGNvbmZpZy5idWlsZF9kaXJ9
881 # L2xpYjoje0Bjb25maWcubGlicmFyeV9wYXRoLmpvaW4oIjoiKX06JHtMRF9M
882 # SUJSQVJZX1BBVEh9OiR7RFlfTERfTElCUkFSWV9QQVRIfVxuIgogICAgICAg
883 # IGxhdW5jaGVyIDw8ICJleHBvcnQgRFlMRF9MSUJSQVJZX1BBVEg9JHtMRF9M
884 # SUJSQVJZX1BBVEh9XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgIkFQUD0kMVxu
885 # IgogICAgICAgIGxhdW5jaGVyIDw8ICJzaGlmdFxuIgogICAgICAgIGxhdW5j
886 # aGVyIDw8ICJlY2hvIExhdW5jaGluZzogJEFQUFxuIgogICAgICAgIGxhdW5j
887 # aGVyIDw8ICIkQVBQICQqXG4iCiAgICAgIGVuZAogICAgICAKICAgICAgRmls
888 # ZS5jaG1vZCgwNzU1LCBsYXVuY2hlci5wYXRoKQogICAgICAKICAgIGVuZAog
889 # ICAgCiAgICBkZWYgc2F2ZV9wa2djb25maWcKICAgICAgaWYgbm90IEBwa2df
890 # Y29uZmlncy5lbXB0eT8KICAgICAgICBAcGtnX2NvbmZpZ3MuZWFjaCB7IHxw
891 # a2dfY29uZmlnfAogICAgICAgICAgRmlsZS5vcGVuKCBwa2dfY29uZmlnWzpw
892 # YWNrYWdlX25hbWVdKyIucGMiLCAidyIpIGRvIHxmaWxlfAogICAgICAgICAg
893 # ICBmaWxlIDw8ICJwcmVmaXg9IiA8PCBAYXJndW1lbnRzWyJwcmVmaXgiXSA8
894 # PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgImV4ZWNfcHJlZml4PSR7cHJl
895 # Zml4fSIgPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJsaWJkaXI9I3tw
896 # a2dfY29uZmlnWzpsaWJkaXJdLm5pbD8gPyAiJHtwcmVmaXh9L2xpYiIgOiBw
897 # a2dfY29uZmlnWzpsaWJkaXJdIH0iIDw8ICJcbiIKICAgICAgICAgICAgZmls
898 # ZSA8PCAiaW5jbHVkZWRpcj0je3BrZ19jb25maWdbOmluY2x1ZGVkaXJdLm5p
899 # bD8gPyAiJHtwcmVmaXh9L2luY2x1ZGUiIDogcGtnX2NvbmZpZ1s6aW5jbHVk
900 # ZWRpcl0gfSIgPDwgIlxuXG5cbiIKICAgICAgICAgICAgCiAgICAgICAgICAg
901 # IGZpbGUgPDwgIk5hbWU6ICIgPDwgcGtnX2NvbmZpZ1s6cGFja2FnZV9uYW1l
902 # XSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgIkRlc2NyaXB0aW9uOiAi
903 # IDw8IHBrZ19jb25maWdbOmRlc2NyaXB0aW9uXSA8PCAiXG4iCiAgICAgICAg
904 # ICAgIGZpbGUgPDwgIlJlcXVpcmVzOiAiIDw8IHBrZ19jb25maWdbOnJlcXVp
905 # cmVzXS5qb2luKCIgIikgPDwgIlxuIiBpZiBwa2dfY29uZmlnWzpyZXF1aXJl
906 # c10uY2xhc3MgPT0gQXJyYXkKICAgICAgICAgICAgZmlsZSA8PCAiVmVyc2lv
907 # bjogIiA8PCBwa2dfY29uZmlnWzp2ZXJzaW9uXSA8PCAiXG4iCiAgICAgICAg
908 # ICAgIAogICAgICAgICAgICBmaWxlIDw8ICJMaWJzOiAiIDw8IHBrZ19jb25m
909 # aWdbOmxpYnNdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiQ2ZsYWdz
910 # OiAiIDw8IHBrZ19jb25maWdbOmNmbGFnc10gPDwgIlxuIgogICAgICAgICAg
911 # ZW5kCiAgICAgICAgfQogICAgICBlbmQKICAgIGVuZAogICAgCiAgICAKICAg
912 # IGRlZiBsb2codHh0KQogICAgICBGaWxlLm9wZW4oQGxvZ19maWxlLCAiYSIp
913 # IGRvIHxmfAogICAgICAgIGYgPDwgdHh0IDw8ICJcbiIKICAgICAgZW5kCiAg
914 # ICBlbmQKICAgIAogICAgZGVmIHVzYWdlCiAgICAgIHB1dHMgIk9wdGlvbnM6
915 # IgogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICBjYXNl
916 # IG9wdGlvbls6dHlwZV0KICAgICAgICAgIHdoZW4gInN0cmluZyIKICAgICAg
917 # ICAgICAgcHJpbnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09W3ZhbHVlXSIK
918 # ICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3Jp
919 # cHRpb25dfSAiCiAgICAgICAgICAgIAogICAgICAgICAgICBpZiBub3Qgb3B0
920 # aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAgICAgcHJpbnQgIltkZWZh
921 # dWx0PSN7b3B0aW9uWzpkZWZhdWx0XX1dIgogICAgICAgICAgICBlbmQKICAg
922 # ICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgIHByaW50ICJcbiAgLS0j
923 # e29wdGlvbls6bmFtZV19PVsvYS9wYXRoXSIKICAgICAgICAgICAgcHJpbnQg
924 # Ilx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25dfSAiCiAgICAgICAg
925 # ICAgIAogICAgICAgICAgICBpZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/
926 # CiAgICAgICAgICAgICAgcHJpbnQgIltkZWZhdWx0PSN7b3B0aW9uWzpkZWZh
927 # dWx0XX1dIgogICAgICAgICAgICBlbmQKICAgICAgICAgIHdoZW4gImJvb2wi
928 # CiAgICAgICAgICAgIHByaW50ICJcbiAgLS11c2UtI3tvcHRpb25bOm5hbWVd
929 # fT1beWVzfG5vXSIKICAgICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVs
930 # dF0ubmlsPwogICAgICAgICAgICAgIGRlZmF1bHQgPSBvcHRpb25bOmRlZmF1
931 # bHRdCiAgICAgICAgICAgICAgaWYgZGVmYXVsdCA9PSB0cnVlIG9yIGRlZmF1
932 # bHQgPT0gInllcyIgb3IgZGVmYXVsdCA9PSAidHJ1ZSIKICAgICAgICAgICAg
933 # ICAgIGRlZmF1bHQgPSAieWVzIgogICAgICAgICAgICAgIGVsc2lmIGRlZmF1
934 # bHQgPT0gZmFsc2Ugb3IgZGVmYXVsdCA9PSAibm8iIG9yIGRlZmF1bHQgPT0g
935 # ImZhbHNlIgogICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJubyIKICAgICAg
936 # ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBkZWZhdWx0ID0gIm5vIgog
937 # ICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgIAogICAgICAgICAgICAg
938 # IHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gW2Rl
939 # ZmF1bHQ9I3tkZWZhdWx0fV0iCiAgICAgICAgICAgIGVuZAogICAgICAgICAg
940 # ZWxzZQogICAgICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVd
941 # fSIKICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVz
942 # Y3JpcHRpb25dfSIKICAgICAgICBlbmQKICAgICAgfQogICAgICAKICAgICAg
943 # cHJpbnQgIlxuICAtLXdpdGgtY29uZmlnLWZyb250ZW5kPVtwbGFpbnx0a10i
944 # CiAgICAgIHByaW50ICJcdFx0Li4uLi4uU2V0cyB0aGUgZnJvbnRlbmQgdG8g
945 # Y29uZmlndXJlIHRoZSBhcHBsaWNhdGlvbiBbZGVmYXVsdD10a10iCiAgICAg
946 # IHByaW50ICJcbiAgLS1oZWxwIgogICAgICBwcmludCAiXG4gIC0tdmVyc2lv
947 # biIKICAgICAgcHJpbnQgIlx0XHQuLi4uLi5TaG93cyB0aGlzIG1lc3NhZ2Ui
948 # CiAgICAgIAogICAgICBwdXRzICIiCiAgICBlbmQKICBlbmQKZW5kCgpiZWdp
949 # bgogIGxvYWQgInNldHVwLnJiIgpyZXNjdWUgTG9hZEVycm9yCiAgRmlsZS5v
950 # cGVuKG9sZGxvY2F0aW9uKCJzZXR1cC5yYiIpLCAidyIpIGRvIHxmaWxlfAog
951 # ICAgZmlsZSA8PCBGaWxlLnJlYWQoInNldHVwX3JiLnRwbCIpIDw8ICJcbiIK
952 # ICBlbmQKICBwdXRzICI9PiBBIHRlbXBsYXRlIGZpbGUgd2FzIGdlbmVyYXRl
953 # ZCBpbiBzZXR1cC5yYiwgcGxlYXNlIGVkaXQgaXQgYW5kIHJlcnVuIHRoZSBj
954 # b25maWd1cmUgc2NyaXB0LiIKICBleGl0KC0xKQplbmQKCmlmIF9fRklMRV9f
955 # ID09ICQwCiAgcW9uZiA9IFFvbmY6OkNvbmZpZ3VyZS5uZXcKICBxb25mLmdl
956 # dF9hcmdzKEFSR1YpCiAgcW9uZi5maW5kX3BhY2thZ2VzCiAgcW9uZi5ydW5f
957 # dGVzdHMKICAKICBxb25mLnNhdmUoImNvbmZpZy5wcmkiKQogIAogIHFvbmYu
958 # Z2VuZXJhdGVfbWFrZWZpbGVzCmVuZAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAA
959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvZGV0ZWN0b3Mu
962 # cmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
963 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAw
964 # MDAxNzUwADAwMDE3NTAAMDAwMDAwMDE3MjQAMTA3MDQ0NTEyMjEAMDE0NTQ2
965 # ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
966 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
967 # AAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAA
968 # AAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApy
973 # ZXF1aXJlICdyYmNvbmZpZycKCm1vZHVsZSBRb25mCgpjbGFzcyBEZXRlY3RP
974 # UwoJT1MgPSB7CgkJMCA9PiAiVW5rbm93biIsCgkJMSA9PiAiV2luZG93cyIs
975 # CgkJMiA9PiAiVW5peCIsCgkJMyA9PiAiTGludXgiLAoJCTMxID0+ICJEZWJp
976 # YW4iLAoJCTMxMSA9PiAiVWJ1bnR1IiwKCQkzMiA9PiAiR2VudG9vIiwKCQk0
977 # ID0+ICJNYWMgT1MgWCIKCX0KCQoJZGVmIHNlbGYub3M/CgkJQG9zID0gMAoJ
978 # CQoJCWlmIDo6Q29uZmlnOjpDT05GSUdbImJ1aWxkX29zIl0gPT0gIm1zd2lu
979 # MzIiCgkJCXJldHVybiAxCgkJZWxzZQoJCQlAb3MgPSAyCgkJCQoJCQlsaW51
980 # eCA9IERldGVjdE9TLmZpbmRfbGludXgKCQkJQG9zID0gbGludXggaWYgbGlu
981 # dXggPiAwCgkJZW5kCgkJCgkJCgkJcmV0dXJuIEBvcwoJZW5kCgkKCWRlZiBz
982 # ZWxmLmZpbmRfbGludXgKCQljd2QgPSBEaXIuZ2V0d2QKCQlEaXIuY2hkaXIo
983 # Ii9ldGMvIikKCQkKCQlEaXJbIip7LSxffXt2ZXJzaW9uLHJlbGVhc2V9Il0u
984 # ZWFjaCB7IHxwYXRofAoJCQlpZiBwYXRoLmRvd25jYXNlID1+IC9eKFx3Kiko
985 # LXxfKSh2ZXJzaW9ufHJlbGVhc2UpLwoJCQkJRGV0ZWN0T1M6Ok9TLmVhY2gg
986 # eyB8aWQsIG9zfAoJCQkJCWlmIG9zLmRvd25jYXNlID09ICQxCgkJCQkJCURp
987 # ci5jaGRpcihjd2QpCgkJCQkJCQoJCQkJCQlpZiAkMSA9PSAiZGViaWFuIgoJ
988 # CQkJCQkJaWYgYGFwdC1jYWNoZSAtdmAuaW5jbHVkZT8oInVidW50dSIpCgkJ
989 # CQkJCQkJcmV0dXJuIDMxMQoJCQkJCQkJZW5kCgkJCQkJCWVuZAoJCQkJCQkK
990 # CQkJCQkJcmV0dXJuIGlkCgkJCQkJZW5kCgkJCQl9CgkJCWVuZAoJCX0KCQkK
991 # CQlEaXIuY2hkaXIoY3dkKQoJCQoJCWlmIGB1bmFtZWAuZG93bmNhc2UgPT0g
992 # ImxpbnV4IgoJCQlyZXR1cm4gMgoJCWVuZAoJCQoJCXJldHVybiAwCgllbmQK
993 # ZW5kCgplbmQKCmlmIF9fRklMRV9fID09ICQwCglwdXRzIFFvbmY6OkRldGVj
994 # dE9TOjpPU1tRb25mOjpEZXRlY3RPUy5vcz9dCmVuZAoKAAAAAAAAAAAAAAAA
995 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcGxh
996 # aW5fZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
997 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAw
998 # MDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDA0NjYAMTA3MDQ0NTEyMjEA
999 # MDE1NzQwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1000 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1001 # AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAA
1002 # AAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1003 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1004 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1005 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1006 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007 # AAAAAApyZXF1aXJlICdmcm9udGVuZCcKCm1vZHVsZSBRb25mCgpjbGFzcyBQ
1008 # bGFpbkZyb250ZW5kIDwgRnJvbnRlbmQKICBkZWYgcGFyc2Uob3B0aW9ucykK
1009 # ICAgIG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgIGlmIG9wdGlvbls6
1010 # dmFsdWVdLnRvX3MuZW1wdHk/IGFuZCBvcHRpb25bOm9wdGlvbmFsXSA9PSBm
1011 # YWxzZQogICAgICAgIHB1dHMgIj0+IFRoZSBvcHRpb24gJyN7b3B0aW9uWzpu
1012 # YW1lXX0nIGlzIHJlcXVpcmVkLiIKICAgICAgICByZXR1cm4gZmFsc2UKICAg
1013 # ICAgZW5kCiAgICB9CiAgICAKICAgIHRydWUKICBlbmQKZW5kCgplbmQKCgoA
1014 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1017 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1018 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2NvbmZpZy5yYgAAAAAA
1019 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1020 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1
1021 # MAAwMDAxNzUwADAwMDAwMDA2NzQzADEwNzA0NDU1MzM0ADAxNDIyMAAgMAAA
1022 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1023 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1024 # AAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1025 # AAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1026 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1027 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1028 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1029 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbW9kdWxl
1030 # IFFvbmYKCmNsYXNzIFBhY2thZ2UKICBhdHRyX3JlYWRlciA6aW5jbHVkZV9w
1031 # YXRoLCA6bGlicywgOm1vZHVsZXMsIDpkZWZpbmVzLCA6bmFtZQogIGRlZiBp
1032 # bml0aWFsaXplKG5hbWUpCiAgICBAaW5jbHVkZV9wYXRoID0gW10KICAgIEBs
1033 # aWJzID0gW10KICAgIEBtb2R1bGVzID0gW10KICAgIEBkZWZpbmVzID0gW10K
1034 # ICAgIEBuYW1lID0gbmFtZQogIGVuZAogIAogIGRlZiBhZGRfaW5jbHVkZV9w
1035 # YXRoKHBhdGgpCiAgICBAaW5jbHVkZV9wYXRoIDw8IHBhdGgKICBlbmQKICAK
1036 # ICBkZWYgYWRkX2xpYihsaWIpCiAgICBAbGlicyA8PCBsaWIudG9fcwogIGVu
1037 # ZAogIAogIGRlZiBhZGRfcXRtb2R1bGUobW9kKQogICAgQG1vZHVsZXMgPDwg
1038 # bW9kCiAgZW5kCiAgCiAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgQGRl
1039 # ZmluZXMgPDwgZGVmaW5lCiAgZW5kCiAgCiAgZGVmIHdyaXRlKGYpCiAgICBp
1040 # ZiBub3QgQGluY2x1ZGVfcGF0aC5lbXB0eT8KICAgICAgICBmIDw8ICJJTkNM
1041 # VURFUEFUSCArPSAiIDw8IEBpbmNsdWRlX3BhdGgudW5pcS5qb2luKCIgIikg
1042 # PDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAbGlicy5lbXB0eT8K
1043 # ICAgICAgICBmIDw8ICJMSUJTICs9ICIgPDwgQGxpYnMudW5pcS5qb2luKCIg
1044 # IikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAbW9kdWxlcy5l
1045 # bXB0eT8KICAgICAgICBmIDw8ICJRVCArPSAiIDw8IEBtb2R1bGVzLnVuaXEu
1046 # am9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQGRl
1047 # ZmluZXMuZW1wdHk/CiAgICAgICAgZiA8PCAiREVGSU5FUyArPSAiIDw8IEBk
1048 # ZWZpbmVzLnVuaXEuam9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogIGVuZApl
1049 # bmQKCmNsYXNzIENvbmZpZyA8IFBhY2thZ2UKICBhdHRyX3JlYWRlciA6YnVp
1050 # bGRfZGlyCiAgZGVmIGluaXRpYWxpemUKICAgIHN1cGVyKG5pbCkKICAgIEBx
1051 # b25mX2ZlYXR1cmVzID0gW10KICAgIEBxb25mX3BhY2thZ2VzID0gW10KICAg
1052 # IEBidWlsZF9kaXIgPSBvbGRsb2NhdGlvbigiIikrIi9fYnVpbGRfIgogIGVu
1053 # ZAoKICBkZWYgYWRkX3FvbmZfcGFja2FnZShwa2cpCiAgICBAcW9uZl9wYWNr
1054 # YWdlcyA8PCBwa2cKICBlbmQKICAKICBkZWYgYWRkX3FvbmZfZmVhdHVyZShm
1055 # dHIpCiAgICBAcW9uZl9mZWF0dXJlcyA8PCBmdHIKICBlbmQgCgogIGRlZiBp
1056 # bmNsdWRlX3BhdGgKICAgIGluY3BhdGggPSBAaW5jbHVkZV9wYXRoCiAgICAK
1057 # ICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8cGtnfAogICAgICAgIGluY3Bh
1058 # dGguY29uY2F0IHBrZy5pbmNsdWRlX3BhdGgKICAgIH0KICAgIAogICAgaW5j
1059 # cGF0aAogIGVuZAogIAogIGRlZiBsaWJzCiAgICBsaWIgPSBAbGlicwogICAg
1060 # QHFvbmZfcGFja2FnZXMuZWFjaCB7IHxwa2d8CiAgICAgICAgbGliLmNvbmNh
1061 # dCBwa2cubGlicwogICAgfQogICAgCiAgICBsaWIKICBlbmQKICAKICBkZWYg
1062 # bGlicmFyeV9wYXRoCiAgICBsaWJzX2EgPSBbXQoKICAgIHNwbGl0dGVkID0g
1063 # QGxpYnMuam9pbigiICIpLnNwbGl0KCIgIikKICAgIHNwbGl0dGVkLmVhY2gg
1064 # eyB8c3B8CiAgICAgICAgaWYoIHNwID1+IC8tTCguKylccyovICkKICAgICAg
1065 # ICAgICAgbGlic19hIDw8ICQxCiAgICAgICAgZW5kCiAgICB9CiAgICAKICAg
1066 # IGxpYnNfYQogIGVuZAogIAogIGRlZiBkZWZpbmVzCiAgICBkZWZzID0gQGRl
1067 # ZmluZXMKICAgIAogICAgQHFvbmZfcGFja2FnZXMuZWFjaCB7IHxwa2d8CiAg
1068 # ICAgICAgZGVmcy5jb25jYXQgcGtnLmRlZmluZXMKICAgIH0KICAgIAogICAg
1069 # ZGVmcwogIGVuZAogIAogIGRlZiBzYXZlKHBhdGgpCiAgICBpZiBwYXRoWzBd
1070 # LmNociA9PSBGaWxlOjpTRVBBUkFUT1IKICAgICAgICBwYXRoID0gcGF0aAog
1071 # ICAgZWxzZQogICAgICAgIHBhdGggPSAiI3tEaXIuZ2V0d2R9LyN7cGF0aH0i
1072 # CiAgICBlbmQKICAgIAogICAgRmlsZS5vcGVuKHBhdGgsICJ3IikgeyB8ZnwK
1073 # ICAgICAgICBmIDw8ICIjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGF0ICN7
1074 # VGltZS5ub3d9ISBQTEVBU0UgRE8gTk9UIEVESVQgTUFOVUFMTFkhIjw8ICJc
1075 # biIKICAgICAgICAKICAgICAgICBmIDw8ICJQUk9KRUNUX0RJUiA9ICIgPDwg
1076 # b2xkbG9jYXRpb24oIiIpIDw8ICJcbiIKICAgICAgICBmIDw8ICJCVUlMRF9E
1077 # SVIgPSAje0BidWlsZF9kaXJ9XG4iCiAgICAgICAgCiAgICAgICAgZiA8PCAn
1078 # Y29udGFpbnMoVEVNUExBVEUsICJhcHAiKSB7JyA8PCAiXG4iCiAgICAgICAg
1079 # ZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElSL2JpblxuIgogICAgICAgIGYg
1080 # PDwgJ30gZWxzZTpjb250YWlucyhURU1QTEFURSwgImxpYiIpIHsnIDw8ICJc
1081 # biIKICAgICAgICBmIDw8ICJERVNURElSID0gJCRCVUlMRF9ESVIvbGliXG4i
1082 # CiAgICAgICAgZiA8PCAnfSBlbHNlIHsnIDw8ICJcbiIKICAgICAgICBmIDw8
1083 # ICJERVNURElSID0gJCRCVUlMRF9ESVJcbiIKICAgICAgICBmIDw8ICJ9XG5c
1084 # blxuIgogICAgICAgIAogICAgICAgIGYgPDwgIkxJQlMgKz0gLUwkJEJVSUxE
1085 # X0RJUi9saWJcbiIKICAgICAgICBmIDw8ICJSRUxBVElWRV9QQVRIID0gJCRy
1086 # ZXBsYWNlKF9QUk9fRklMRV9QV0RfLCAkJFBST0pFQ1RfRElSLCAiIilcbiIK
1087 # ICAgICAgICBmIDw8ICJDVVJSRU5UX0JVSUxEX0RJUiA9ICQkQlVJTERfRElS
1088 # JCRSRUxBVElWRV9QQVRIXG4iCiAgICAgICAgZiA8PCAiT0JKRUNUU19ESVIg
1089 # PSAkJENVUlJFTlRfQlVJTERfRElSXG4iCiMgICAgICAgICBmIDw8ICJNT0Nf
1090 # RElSID0gJCRDVVJSRU5UX0JVSUxEX0RJUlxuIgojICAgICAgICAgZiA8PCAi
1091 # VUlfRElSID0gJCRDVVJSRU5UX0JVSUxEX0RJUlxuXG4iCgogICAgICAgIAog
1092 # ICAgICAgIHdyaXRlKGYpCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgZiA8
1093 # PCAiUU9ORl9GRUFUVVJFUyArPSAiIDw8IEBxb25mX3BhY2thZ2VzLm1hcCB7
1094 # IHxlfCBlLm5hbWUgfS5qb2luKCIgIikgIDw8ICJcbiIKICAgICAgICBmIDw8
1095 # ICJRT05GX0ZFQVRVUkVTICs9ICIgPDwgQHFvbmZfZmVhdHVyZXMuam9pbigi
1096 # ICIpICA8PCAiXG4iCiAgICAgICAgCiAgICAgICAgZiA8PCAiXG5kZWZpbmVU
1097 # ZXN0KGxpbmtfd2l0aCkgeyIgPDwgIlxuIgogICAgICAgIGYgPDwgIiAgcmV0
1098 # ID0gZmFsc2VcbiIKICAgICAgICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHFv
1099 # bmZ8CiAgICAgICAgICBmIDw8ICVAICBjb250YWlucygkJGxpc3QoJCRzcGxp
1100 # dCgxKSkgLCIje3FvbmYubmFtZX0iKSB7XG5ACiAgICAgICAgICBmIDw8ICIg
1101 # ICAgcmV0ID0gdHJ1ZVxuIgogICAgICAgICAgZiA8PCAiICAgIG1lc3NhZ2Uo
1102 # PT4gTGlua2luZyBxb25mIG1vZHVsZTogI3txb25mLm5hbWV9KVxuIgogICAg
1103 # ICAgICAgcW9uZi53cml0ZShmKQogICAgICAgICAgZiA8PCAiICB9XG4iCiAg
1104 # ICAgICAgfQogICAgICAgIGYgPDwgIiAgZXhwb3J0KElOQ0xVREVQQVRIKVxu
1105 # IgogICAgICAgIGYgPDwgIiAgZXhwb3J0KExJQlMpXG4iCiAgICAgICAgZiA8
1106 # PCAiICBleHBvcnQoUVQpXG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQoREVG
1107 # SU5FUylcbiIKICAgICAgICBmIDw8ICIgIHJldHVybigkJHJldClcbiIKICAg
1108 # ICAgICBmIDw8ICJ9XG4iCiAgICB9CiAgZW5kCmVuZAoKZW5kCgoAAAAAAAAA
1109 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9wa2djb25maWcucmIA
1110 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1111 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3
1112 # NTAAMDAwMTc1MAAwMDAwMDAwNjYxNAAxMDcwNDQ1MTIyMQAwMTQ3MDYAIDAA
1113 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1114 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1115 # AAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1116 # AAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1117 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1118 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1119 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1120 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgpyZXF1
1121 # aXJlICdkZXRlY3RvcycKCm1vZHVsZSBRb25mCgpjbGFzcyBQa2dDb25maWdQ
1122 # YXJzZXIKICBkZWYgaW5pdGlhbGl6ZQogICAgQHZhcmlhYmxlcyA9IHt9CiAg
1123 # ICBAc3BlY3MgPSB7fQogIGVuZAogIAogIGRlZiBwYXJzZShwYXRoKQogICAg
1124 # RmlsZS5vcGVuKHBhdGgpIHsgfGZpbGV8CiAgICAgIGZpbGUuZWFjaCB7IHxs
1125 # aW5lfAogICAgICAgIGlmIGxpbmUgPX4gLyhcdyspPSguKikkLwogICAgICAg
1126 # ICAgQHZhcmlhYmxlc1skMV0gPSAkMgogICAgICAgIGVsc2lmIGxpbmUgPX4g
1127 # LyhcdyspOlxzKC4qKSQvCiAgICAgICAgICBAc3BlY3NbJDFdID0gJDIKICAg
1128 # ICAgICBlbmQKICAgICAgfQogICAgfQogIGVuZAogIAogIGRlZiB2YWx1ZSh2
1129 # YXJpYWJsZSkKICAgIHZhbCA9IEB2YXJpYWJsZXNbdmFyaWFibGVdCiAgICB3
1130 # aGlsZSB2YWwgPX4gLyhcJFx7KFx3KylcfSkvCiAgICAgIHZhbC5nc3ViISgk
1131 # MSwgdmFsdWUoJDIpKQogICAgZW5kCiAgICAKICAgIHZhbAogIGVuZAogIAog
1132 # IGRlZiBzcGVjKHZhcmlhYmxlKQogICAgdmFsID0gQHNwZWNzW3ZhcmlhYmxl
1133 # XQogICAgd2hpbGUgdmFsID1+IC8oXCRceyhcdyspXH0pLwogICAgICB2YWwu
1134 # Z3N1YiEoJDEsIHZhbHVlKCQyKSkKICAgIGVuZAogICAgCiAgICB2YWwKICBl
1135 # bmQKICAKICBkZWYgbGlicwogICAgc3BlYygiTGlicyIpCiAgZW5kCiAgCiAg
1136 # ZGVmIGNmbGFncwogICAgc3BlYygiQ2ZsYWdzIikKICBlbmQKICAKICBkZWYg
1137 # cmVxdWlyZXMKICAgIHNwZWMoIlJlcXVpcmVzIikudG9fcwogIGVuZAplbmQK
1138 # CmNsYXNzIFBrZ0NvbmZpZwogIGF0dHJfcmVhZGVyIDppZCwgOmxpYnMsIDpj
1139 # ZmxhZ3MsIDpyZXF1aXJlcwogIAogIGRlZiBpbml0aWFsaXplKGlkKQogICAg
1140 # QGlkID0gaWQKICAgIEBzZWFyY2hfcGF0aCA9IFtdCiAgICBAcmVxdWlyZXMg
1141 # PSBbXQogIGVuZAogIAogIGRlZiBmaW5kKHBrZykKICAgIHBrZ3BhdGggPSBm
1142 # aW5kX3BhdGhfZm9yX3BhY2thZ2UocGtnKQogICAgCiAgICBpZiBub3QgcGtn
1143 # cGF0aC5uaWw/CiAgICAgIEBjZmxhZ3MgPSAiIgogICAgICBAbGlicyA9ICIi
1144 # CiAgICAgIHBhcnNlKHBrZ3BhdGgsIHBrZykKICAgICAgCiAgICAgIHJldHVy
1145 # biB0cnVlCiAgICBlbmQKICAgIAogICAgZmFsc2UKICBlbmQKICAKICBkZWYg
1146 # YWRkX3NlYXJjaF9wYXRoKHBhdGgpCiAgICBpZiBwYXRoLmtpbmRfb2Y/KEFy
1147 # cmF5KQogICAgICBAc2VhcmNoX3BhdGguY29uY2F0KHBhdGgpCiAgICBlbHNl
1148 # CiAgICAgIEBzZWFyY2hfcGF0aCA8PCBwYXRoLnRvX3MKICAgIGVuZAogIGVu
1149 # ZAogIAogIGRlZiBpbmNsdWRlX3BhdGgKICAgIGluY3BhdGggPSBbXQogICAg
1150 # Y2ZsYWdzID0gQGNmbGFncy5kdXAKICAgIHdoaWxlIGNmbGFncyA9fiAvKC1J
1151 # XHMqKChcV1x3KykrKSkvCiAgICAgIGluY3BhdGggPDwgJDIKICAgICAgY2Zs
1152 # YWdzLnN1YiEoJDEsICIiKQogICAgZW5kCiAgICAKICAgIGluY3BhdGgudW5p
1153 # cQogIGVuZAogIAogIGRlZiBkZWZpbmVzCiAgICBkZWZpbmVzID0gW10KICAg
1154 # IGNmbGFncyA9IEBjZmxhZ3MuZHVwCiAgICB3aGlsZSBjZmxhZ3MgPX4gLygt
1155 # RFxzKigoXFdcdyspKykpLwogICAgICBkZWZpbmVzIDw8ICQyCiAgICAgIGRl
1156 # ZmluZXMuc3ViISgkMSwgIiIpCiAgICBlbmQKICAgIAogICAgZGVmaW5lcy51
1157 # bmlxCiAgZW5kCiAgCiAgZGVmIGZpbmRfd2luMzJfcGF0aHMKICAgIHBhdGhz
1158 # ID0gZmluZF9lbnZfcGF0aHMKICAgIAogICAgCiAgICBwYXRocwogIGVuZAog
1159 # IAogIGRlZiBmaW5kX3VuaXhfcGF0aHMKICAgIHBhdGhzID0gZmluZF9lbnZf
1160 # cGF0aHMKICAgIGlmIEZpbGUuZXhpc3RzPygiL2V0Yy9sZC5zby5jb25mIikK
1161 # ICAgICAgRmlsZS5vcGVuKCIvZXRjL2xkLnNvLmNvbmYiKSBkbyB8ZmlsZXwK
1162 # ICAgICAgICBmaWxlLmVhY2ggeyB8bGluZXwKICAgICAgICAgIGRpciA9IGxp
1163 # bmUuc3RyaXArIi9wa2djb25maWciCiAgICAgICAgICBpZiBGaWxlLmV4aXN0
1164 # cz8oZGlyKQogICAgICAgICAgICBwYXRocyA8PCBkaXIKICAgICAgICAgIGVu
1165 # ZAogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIAogICAgcGF0aHMg
1166 # PDwgIi91c3IvbGliL3BrZ2NvbmZpZyIgPDwgIi91c3IvbG9jYWwvbGliL3Br
1167 # Z2NvbmZpZyIgPDwgRU5WWyJIT01FIl0udG9fcysiL2xvY2FsL2xpYi9wa2dj
1168 # b25maWciCiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgZGVmIGZpbmRfZW52
1169 # X3BhdGhzCiAgICBzZXBwYXRoID0gKERldGVjdE9TLm9zPyA9PSAxKSA/ICI7
1170 # IiA6ICI6IgogICAgCiAgICBwYXRocyA9IFsgIi4iIF0KICAgIChFTlZbIlBL
1171 # R19DT05GSUdfUEFUSCJdLnRvX3Mrc2VwcGF0aCtFTlZbIkxEX0xJQlJBUllf
1172 # UEFUSCJdLnRvX3MpLnNwbGl0KHNlcHBhdGgpLmVhY2ggeyB8cGF0aHwKICAg
1173 # ICAgaWYgRmlsZS5leGlzdHM/KHBhdGgpCiAgICAgICAgcGF0aHMgPDwgcGF0
1174 # aAogICAgICBlbmQKICAgIH0KICAgIAogICAgcGF0aHMKICBlbmQKICAKICBw
1175 # cml2YXRlCiAgZGVmIHBhcnNlKHBrZ3BhdGgsIHBrZykKICAgIHJldHVybiBp
1176 # ZiBwa2dwYXRoLm5pbD8KICAgIAogICAgcGFyc2VyID0gUGtnQ29uZmlnUGFy
1177 # c2VyLm5ldwogICAgcGFyc2VyLnBhcnNlKHBrZ3BhdGgpCiAgICAKICAgIHBh
1178 # cnNlci5yZXF1aXJlcy5zcGxpdCgvLHxccy8pLmVhY2ggeyB8cmVxfAogICAg
1179 # ICByZXEuc3RyaXAhCiAgICAgIAogICAgICBwYXJzZShmaW5kX3BhdGhfZm9y
1180 # X3BhY2thZ2UocmVxKSwgcmVxKQogICAgfQogICAgCiAgICBjZmxhZ3MgPSBw
1181 # YXJzZXIuY2ZsYWdzCiAgICBsaWJzID0gcGFyc2VyLmxpYnMKICAgIAogICAg
1182 # aWYgaWQgIT0gcGtnIGFuZCBub3QgKGNmbGFncy5lbXB0eT8gb3IgbGlicy5l
1183 # bXB0eT8pCiAgICAgIEByZXF1aXJlcyA8PCBwa2cKICAgIGVuZAogICAgCiAg
1184 # ICBAY2ZsYWdzID0gIiN7Y2ZsYWdzfSAje0BjZmxhZ3N9IgogICAgQGxpYnMg
1185 # PSAiI3tsaWJzfSAje0BsaWJzfSIKICAgIAogICAgbmlsCiAgZW5kCiAgCiAg
1186 # ZGVmIGZpbmRfcGF0aF9mb3JfcGFja2FnZShwa2cpCiAgICBpZiBub3QgcGtn
1187 # ID1+IC9cLnBjJC8KICAgICAgcGtnICs9ICIucGMiCiAgICBlbmQKICAgIAog
1188 # ICAgcGF0aHMgPSBAc2VhcmNoX3BhdGgKICAgIAogICAgaWYgRGV0ZWN0T1Mu
1189 # b3M/ID09IDEgIyBXaW5kb3dzCiAgICAgIHBhdGhzLmNvbmNhdCBmaW5kX3dp
1190 # bjMyX3BhdGhzCiAgICBlbHNlCiAgICAgIHBhdGhzLmNvbmNhdCBmaW5kX3Vu
1191 # aXhfcGF0aHMKICAgIGVuZAogICAgCiAgICBwa2dwYXRoID0gbmlsCiAgICBw
1192 # YXRocy5lYWNoIHsgfHBhdGh8CiAgICAgIHRtcHBhdGggPSBwYXRoKyIvIitw
1193 # a2cKICAgICAgaWYgRmlsZS5leGlzdHM/KHRtcHBhdGgpCiAgICAgICAgcGtn
1194 # cGF0aCA9IHRtcHBhdGgKICAgICAgZW5kCiAgICB9CiAgICAKICAgIHBrZ3Bh
1195 # dGgKICBlbmQKZW5kCgplbmQKCgppZiAkMCA9PSBfX0ZJTEVfXwogIHBrZ2Nv
1196 # bmZpZyA9IFFvbmY6OlBrZ0NvbmZpZy5uZXcKICBwa2djb25maWcuZmluZCgi
1197 # dGVzdF9xb25mIikKICAKICBwdXRzIHBrZ2NvbmZpZy5saWJzCmVuZAoKAAAA
1198 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1199 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcW1ha2UucmJ+AAAA
1201 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1202 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAx
1203 # NzUwADAwMDE3NTAAMDAwMDAwMDczMDQAMTA3MDQ0NDQwMjIAMDE0MjMxACAw
1204 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1205 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1206 # AAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1207 # AAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1208 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1209 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1210 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1211 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1
1212 # aXJlICdvcGVuMycKcmVxdWlyZSAnZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoK
1213 # Y2xhc3MgUU1ha2UKICBkZWYgaW5pdGlhbGl6ZShwYXRocyA9IFtdLCBsb2df
1214 # ZmlsZSA9IG5pbCkKICAgIEBwYXRocyA9IFsgInFtYWtlLXF0NCIsICJxbWFr
1215 # ZTQiLCAicW1ha2UiIF0KICAgIEBwYXRocy5jb25jYXQocGF0aHMpCiAgICAK
1216 # ICAgIGlmKCAkREVCVUcgKQogICAgICAkc3RkZXJyIDw8ICJRTWFrZSBwYXRo
1217 # czogIiA8PCBAcGF0aHMuam9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAg
1218 # CiAgICBpZiBub3QgZmluZF9xbWFrZSgiNC4wLjAiKQogICAgICAgICAgICBy
1219 # YWlzZSAiQ2FuJ3QgZmluZCB2YWxpZCBxbWFrZSAtIHF0NCIKICAgIGVuZAog
1220 # ICAgCiAgICBAbG9nX2ZpbGUgPSBsb2dfZmlsZQogICAgaWYoIEBsb2dfZmls
1221 # ZS5uaWw/ICkKICAgICAgQGxvZ19maWxlID0gb2xkbG9jYXRpb24oImNvbmZp
1222 # Zy5sb2ciKQogICAgZW5kCiAgICAKICAgIEBtYWtlID0gIm1ha2UiCiAgICAK
1223 # ICAgIGlmIERldGVjdE9TLm9zPyA9PSAxCiAgICAgIEBtYWtlX29wdGlvbnMg
1224 # PSAiMj4+ICN7QGxvZ19maWxlfSIKICAgIGVsc2UKICAgICAgQG1ha2Vfb3B0
1225 # aW9ucyA9ICI+PiAje0Bsb2dfZmlsZX0gMj4+ICN7QGxvZ19maWxlfSIKICAg
1226 # IGVuZAogIGVuZAogICAgICAgIAogIGRlZiBmaW5kX3FtYWtlKG1pbnF0dmVy
1227 # c2lvbiwgb3AgPSAyKQogICAgCiAgICAKICAgIG1pbnZlciA9IG1pbnF0dmVy
1228 # c2lvbi5zcGxpdCgiLiIpCiAgICBAcGF0aHMuZWFjaCB7IHxwYXRofAogICAg
1229 # ICBiZWdpbgogICAgICAgIHZlcnNpb24gPSBbXQogICAgICAgIG9rID0gdHJ1
1230 # ZQogICAgICAgIAogICAgICAgIElPLnBvcGVuKCIje3BhdGh9IC1xdWVyeSBR
1231 # VF9WRVJTSU9OIDI+ICN7bmV3bG9jYXRpb24oInFtYWtlX2xvZyIpfSIpIHsg
1232 # fHByY3wKICAgICAgICAgIHZlcnNpb24gPSBwcmMucmVhZGxpbmVzLmpvaW4o
1233 # IiIpLnNwbGl0KCIuIikKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgbmV4
1234 # dCBpZiAkPyAhPSAwCiAgICAgICAgCiAgICAgICAgdmVyc2lvbi5zaXplLnRp
1235 # bWVzIHsgfGl8CiAgICAgICAgICBpZiB2ZXJzaW9uLnNpemUgPCBpIGFuZCBt
1236 # aW52ZXIuc2l6ZSA+PSAzCiAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
1237 # ICAgICBlbmQKICAgICAgICAgIAogICAgICAgICAgY2FzZSBvcAogICAgICAg
1238 # ICAgICB3aGVuIDAKICAgICAgICAgICAgICBpZiB2ZXJzaW9uW2ldICE9IG1p
1239 # bnZlcltpXQogICAgICAgICAgICAgICAgb2sgPSBmYWxzZQogICAgICAgICAg
1240 # ICAgICAgYnJlYWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgd2hl
1241 # biAxCiAgICAgICAgICAgICAgaWYgdmVyc2lvbltpXSA8IG1pbnZlcltpXQog
1242 # ICAgICAgICAgICAgICAgb2sgPSBmYWxzZQogICAgICAgICAgICAgICAgYnJl
1243 # YWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgd2hlbiAyCiAgICAg
1244 # ICAgICAgICAgaWYgdmVyc2lvbltpXSA8IG1pbnZlcltpXQogICAgICAgICAg
1245 # ICAgICAgb2sgPSBmYWxzZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAg
1246 # ICAgICAgICBlbmQKICAgICAgICAgIGVuZAogICAgICAgIH0KICAgICAgICAK
1247 # ICAgICAgICBpZiBvawogICAgICAgICAgQHBhdGggPSBwYXRoCiAgICAgICAg
1248 # ICAKICAgICAgICAgIGlmICRERUJVRwogICAgICAgICAgICBwdXRzICJVc2lu
1249 # ZyBxbWFrZTogI3tAcGF0aH0gI3t2ZXJzaW9uLmpvaW4oIi4iKX0iCiAgICAg
1250 # ICAgICBlbmQKICAgICAgICAgIAogICAgICAgICAgcmV0dXJuIG9rCiAgICAg
1251 # ICAgZW5kCiAgICAgIHJlc2N1ZQogICAgICBlbnN1cmUKICAgICAgZW5kCiAg
1252 # ICB9CiAgCiAgICByZXR1cm4gZmFsc2UKICBlbmQKICAgICAgICAKICAgICAg
1253 # ICBkZWYgcXVlcnkodmFyKQogICAgICAgICAgICAgICAgb3V0cHV0ID0gYCN7
1254 # QHBhdGh9IC1xdWVyeSAje3Zhcn1gCiAgICAgICAgICAgICAgICBvdXRwdXQK
1255 # ICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBkZWYgcnVuKGFyZ3MgPSAi
1256 # IiwgcmVjdXIgPSBmYWxzZSkKICAgICAgICAgICAgICAgIGlmICRERUJVRwog
1257 # ICAgICAgICAgICAgICAgICBwdXRzICJBUkdTID0gI3thcmdzfSIKICAgICAg
1258 # ICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgb3B0aW9ucyA9ICIiCiAg
1259 # ICAgICAgICAgICAgICBpZiByZWN1cgogICAgICAgICAgICAgICAgICAgICAg
1260 # ICBvcHRpb25zICs9ICItciIKICAgICAgICAgICAgICAgIGVuZAogICAgICAg
1261 # ICAgICAgICAgCiAgICAgICAgICAgICAgICBvdXRwdXQgPSBgI3tAcGF0aH0g
1262 # I3thcmdzfSAje29wdGlvbnN9IGAKICAgICAgICAgICAgICAgIGlmIG91dHB1
1263 # dC5zdHJpcC5lbXB0eT8KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
1264 # IHRydWUKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgICAgIHJl
1265 # dHVybiBmYWxzZQogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGRlZiBj
1266 # b21waWxlCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAg
1267 # ICAgICAgICBJTy5wb3BlbigiI3tAbWFrZX0gY2xlYW4gI3tAbWFrZV9vcHRp
1268 # b25zfSIpIHsgfGN8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1269 # b3V0cHV0ID0gYy5yZWFkbGluZXMKICAgICAgICAgICAgICAgICAgICAgICAg
1270 # fQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1271 # ICAgICAgdGltZXMgPSAwCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZGNv
1272 # ZGUgPSAyCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1273 # ICAgICAgICAgICBGaWxlLm9wZW4oQGxvZ19maWxlLCAiYSIgKSBkbyB8ZnwK
1274 # ICAgICAgICAgICAgICAgICAgICAgICAgICBmIDw8ICI9PT09PT4gQ09NUElM
1275 # SU5HIFxuIgogICAgICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAg
1276 # ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxl
1277 # IGVuZGNvZGUgPT0gMiBhbmQgdGltZXMgPD0gMwogICAgICAgICAgICAgICAg
1278 # ICAgICAgICAgICAgICAgIElPLnBvcGVuKCIje0BtYWtlfSAje0BtYWtlX29w
1279 # dGlvbnN9IiwgInIiKSB7IHxjfAogICAgICAgICAgICAgICAgICAgICAgICAg
1280 # ICAgICAgICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGluZXMKICAgICAgICAg
1281 # ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
1282 # ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1283 # CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kY29kZSA9ICQ/
1284 # ID4+IDgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1285 # ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lcyArPSAxCiAgICAgICAg
1286 # ICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgICAgICAgICAK
1287 # ICAgICAgICAgICAgICAgIHJlc2N1ZQogICAgICAgICAgICAgICAgICAgICAg
1288 # ICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAg
1289 # ICAgICAgCiAgICAgICAgICAgICAgICBpZiBlbmRjb2RlICE9IDAKICAgICAg
1290 # ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgICAgICAgICAg
1291 # ICBlbmQKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcmV0dXJu
1292 # IHRydWUKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBkZWYgY2xlYW5f
1293 # dXAKICAgICAgSU8ucG9wZW4oIiN7QG1ha2V9IGRpc3RjbGVhbiAyPj4gZGlz
1294 # dGNsZWFuIikgeyB8Y3wKICAgICAgICAgIG91dHB1dCA9IGMucmVhZGxpbmVz
1295 # CiAgICAgIH0KICAgICAgICBlbmQKZW5kCgplbmQgI21vZHVsZQoKCgAAAAAA
1296 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1297 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1298 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1299 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1300 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1301 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1302 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25m
1303 # aWd1cmUvdGtfZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1304 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1305 # AAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDYyNzMAMTA3
1306 # MDQ0NTEyMjEAMDE1MjU1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1307 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1308 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAA
1309 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAA
1310 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1311 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1312 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1313 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1314 # AAAAAAAAAAAAAAAAAAoKCgpyZXF1aXJlICdmcm9udGVuZCcKCm1vZHVsZSBR
1315 # b25mCiAgY2xhc3MgVGtGcm9udGVuZCA8IEZyb250ZW5kCiAgICBkZWYgaW5p
1316 # dGlhbGl6ZQogICAgZW5kCiAgICAKICAgIGRlZiBwYXJzZShvcHRzKQogICAg
1317 # ICByb290ID0gVGtSb290Lm5ldygpIHsgdGl0bGUgIkNvbmZpZ3VyZS4uLiIg
1318 # fQogICAgICBvcHRzLmVhY2ggeyB8b3B0aW9ufAogICAgICAgIGxhYmVsID0g
1319 # VGtMYWJlbC5uZXcocm9vdCkgeyB0ZXh0IG9wdGlvbls6bmFtZV0gfQogICAg
1320 # ICAgIAogICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXS50b19zLmRvd25jYXNl
1321 # CiAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgIGVudHJ5ID0g
1322 # VGtFbnRyeS5uZXcocm9vdCkKICAgICAgICAgICAgZW50cnkuaW5zZXJ0KDAs
1323 # IChvcHRpb25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19z
1324 # IDogb3B0aW9uWzp2YWx1ZV0udG9fcyAgKSkKICAgICAgICAgICAgVGtHcmlk
1325 # LmdyaWQobGFiZWwsIGVudHJ5LCAiY29sdW1uc3BhbiIgPT4gMikKICAgICAg
1326 # ICAgICAgCiAgICAgICAgICAgIG9wdGlvbls6aW5wdXRdID0gZW50cnkKICAg
1327 # ICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgIGVudHJ5ID0gVGtFbnRy
1328 # eS5uZXcocm9vdCkKICAgICAgICAgICAgZW50cnkuaW5zZXJ0KDAsIChvcHRp
1329 # b25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0
1330 # aW9uWzp2YWx1ZV0udG9fcyAgKSkKICAgICAgICAgICAgCiAgICAgICAgICAg
1331 # IGdldEZpbGUgPSBUa0J1dHRvbi5uZXcocm9vdCkgewogICAgICAgICAgICAg
1332 # IHRleHQgIkJyb3dzZS4uLiIKICAgICAgICAgICAgICBjb21tYW5kIHsKICAg
1333 # ICAgICAgICAgICAgIHZhbCA9IFRrLmNob29zZURpcmVjdG9yeQogICAgICAg
1334 # ICAgICAgICAgCiAgICAgICAgICAgICAgICBlbnRyeS52YWx1ZSA9IHZhbCBp
1335 # ZiBub3QgdmFsLnRvX3MuZW1wdHk/CiAgICAgICAgICAgICAgfQogICAgICAg
1336 # ICAgICB9CiAgICAgICAgICAgIFRrR3JpZC5ncmlkKGxhYmVsLCBlbnRyeSwg
1337 # Z2V0RmlsZSwgImNvbHVtbnNwYW4iID0+IDIpCiAgICAgICAgICAgIAogICAg
1338 # ICAgICAgICBvcHRpb25bOmlucHV0XSA9IGVudHJ5CiAgICAgICAgICBlbHNl
1339 # CiAgICAgICAgICAgIGdpdmVuID0gKG9wdGlvbls6dmFsdWVdLm5pbD8gPyBv
1340 # cHRpb25bOmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVlXS50b19zICAp
1341 # CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiBnaXZlbiA9PSAiZmFsc2Ui
1342 # IG9yIGdpdmVuID09ICJubyIgb3IgZ2l2ZW4uZW1wdHk/CiAgICAgICAgICAg
1343 # ICAgdmFsdWUgPSAwCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB2
1344 # YWx1ZSA9IDEKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIAogICAgICAg
1345 # ICAgICBteWNoZWNrID0gVGtWYXJpYWJsZS5uZXcodmFsdWUpCiAgICAgICAg
1346 # ICAgIGNoZWNrID0gVGtDaGVja0J1dHRvbi5uZXcocm9vdCkgewogICAgICAg
1347 # ICAgICAgIHZhcmlhYmxlIG15Y2hlY2sKICAgICAgICAgICAgfQogICAgICAg
1348 # ICAgICAKICAgICAgICAgICAgVGtHcmlkLmdyaWQobGFiZWwsIGNoZWNrLCAi
1349 # Y29sdW1uc3BhbiIgPT4gMikKICAgICAgICAgICAgCiAgICAgICAgICAgIG9w
1350 # dGlvbls6aW5wdXRdID0gbXljaGVjawogICAgICAgIGVuZAogICAgICB9CiAg
1351 # ICAgIAogICAgICBvayA9IFRrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAg
1352 # dGV4dCAiT2siCiAgICAgICAgY29tbWFuZCAgewogICAgICAgICAgb2sgPSB0
1353 # cnVlCiAgICAgICAgICByZXF1aXJlZF9maWVsZHMgPSBbXQogICAgICAgICAg
1354 # CiAgICAgICAgICBvcHRzLmVhY2ggeyB8b3B0aW9ufAogICAgICAgICAgICB2
1355 # YWx1ZSA9IG9wdGlvbls6ZGVmYXVsdF0KICAgICAgICAgICAgY2FzZSBvcHRp
1356 # b25bOnR5cGVdLmRvd25jYXNlCiAgICAgICAgICAgICAgd2hlbiAic3RyaW5n
1357 # IgogICAgICAgICAgICAgICAgdmFsdWUgPSBvcHRpb25bOmlucHV0XS52YWx1
1358 # ZQogICAgICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgICAgICB2
1359 # YWx1ZSA9IEZpbGUuZXhwYW5kX3BhdGgob3B0aW9uWzppbnB1dF0udmFsdWUp
1360 # CiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgdmFsdWUgPSBv
1361 # cHRpb25bOmlucHV0XS52YWx1ZQogICAgICAgICAgICBlbmQKICAgICAgICAg
1362 # ICAgCiAgICAgICAgICAgIGlmIG9wdGlvbls6b3B0aW9uYWxdID09IGZhbHNl
1363 # IGFuZCB2YWx1ZS50b19zLmVtcHR5PwogICAgICAgICAgICAgIHJlcXVpcmVk
1364 # X2ZpZWxkcyA8PCBvcHRpb25bOm5hbWVdCiAgICAgICAgICAgICAgb2sgPSBm
1365 # YWxzZQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgb3B0aW9uWzp2
1366 # YWx1ZV0gPSB2YWx1ZQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgCiAg
1367 # ICAgICAgICAgIG9rID0gb2sgJiYgdHJ1ZQogICAgICAgICAgfQogICAgICAg
1368 # ICAgCiAgICAgICAgICBpZiBvawogICAgICAgICAgICBUay5leGl0CiAgICAg
1369 # ICAgICBlbHNlCiAgICAgICAgICAgIFRrV2FybmluZy5zaG93KCJUaGUgZmll
1370 # bGRzICcje3JlcXVpcmVkX2ZpZWxkcy5qb2luKCIsICIpfScgYXJlIHJlcXVp
1371 # cmVkLiIpCiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgIH0KICAgICAg
1372 # CiAgICAgIGNhbmNlbCA9IFRrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAg
1373 # dGV4dCAiQ2FuY2VsIgogICAgICAgIGNvbW1hbmQgIHsKICAgICAgICAgIFRr
1374 # LmV4aXQKICAgICAgICAgIGV4aXQgMAogICAgICAgIH0KICAgICAgfQogICAg
1375 # ICAgIAogICAgICBUa0dyaWQuZ3JpZChvaywgY2FuY2VsLCAiY29sdW1uc3Bh
1376 # biIgPT4gMykKICAgICAgCiAgICAgIFRrLm1haW5sb29wCiAgICAgIAogICAg
1377 # ICB0cnVlCiAgICBlbmQKICBlbmQKZW5kCgoKaWYgX19GSUxFX18gPT0gJDAg
1378 # IyBUZXN0CiAgb3B0cyA9IFtdCiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWUx
1379 # IiwgOnR5cGUgPT4gIlN0cmluZyIsIDpkZWZhdWx0ID0+ICJ2YWx1ZSIsIDpv
1380 # cHRpb25hbCA9PiBmYWxzZSB9CiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWU0
1381 # IiwgOnR5cGUgPT4gIlBhdGgiLCA6ZGVmYXVsdCA9PiAidmFsdWUiIH0KICBv
1382 # cHRzIDw8IHs6bmFtZSA9PiAibmFtZTIiLCA6dHlwZSA9PiAiQm9vbCIsIDpk
1383 # ZWZhdWx0ID0+IHRydWUgfQogIG9wdHMgPDwgezpuYW1lID0+ICJuYW1lMyIs
1384 # IDp0eXBlID0+ICJWb2lkIiwgOmRlZmF1bHQgPT4gZmFsc2UgfQogIAogIHRr
1385 # ID0gUW9uZjo6VGtGcm9udGVuZC5uZXcKICB0ay5wYXJzZShvcHRzKQogIAog
1386 # IHB1dHMgb3B0cy5maXJzdFs6dmFsdWVdCmVuZAoKCgoAAAAAAAAAAAAAAAAA
1387 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1388 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1389 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1390 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1391 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1392 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1393 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9u
1394 # ZmlndXJlL3Rlc3QucmJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1395 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1396 # AAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MzIwADEw
1397 # NzAyMjA1MTM2ADAxNDEwNgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1398 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1399 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAA
1400 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAA
1401 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1402 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1403 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1404 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1405 # AAAAAAAAAAAAAAAAAAByZXF1aXJlICd0bXBkaXInCnJlcXVpcmUgJ2ZpbGV1
1406 # dGlscycKCm1vZHVsZSBRb25mCiAgY2xhc3MgVGVzdAogICAgYXR0cl9yZWFk
1407 # ZXIgOmluY2x1ZGVfcGF0aCwgOmxpYnMsIDpkZWZpbmVzLCA6aWQKICAgIAog
1408 # ICAgZGVmIGluaXRpYWxpemUob3B0aW9ucywgY29uZmlnLCBsb2dfZmlsZSA9
1409 # IG5pbCkKICAgICAgQG9wdGlvbnMgPSBvcHRpb25zCiAgICAgIAogICAgICBA
1410 # aW5jbHVkZV9wYXRoID0gW10KICAgICAgQGxpYnMgPSBbXQogICAgICBAZGVm
1411 # aW5lcyA9IFtdCiAgICAgIEBpZCA9IG9wdGlvbnNbOmlkXQogICAgICAKICAg
1412 # ICAgQGluY2x1ZGVfcGF0aCA9IG9wdGlvbnNbOmluY2x1ZGVwYXRoXSBpZiBu
1413 # b3Qgb3B0aW9uc1s6aW5jbHVkZXBhdGhdLm5pbD8KICAgICAgQGxpYnMgPDwg
1414 # b3B0aW9uc1s6bGlic10gaWYgbm90IG9wdGlvbnNbOmxpYnNdLm5pbD8KICAg
1415 # ICAgQGRlZmluZXMgPSBvcHRpb25zWzpkZWZpbmVzXSBpZiBub3Qgb3B0aW9u
1416 # c1s6ZGVmaW5lc10ubmlsPwogICAgICAKICAgICAgQGNvbmZpZyA9IGNvbmZp
1417 # ZwogICAgICAKICAgICAgQGxvZ19maWxlID0gbG9nX2ZpbGUKICAgIGVuZAog
1418 # ICAgCiAgICBkZWYgcnVuKHFtYWtlKQogICAgICAjIEdlbmVyYXRlCiAgICAg
1419 # IHJldCA9IGZhbHNlCiAgICAgIGN3ZCA9IERpci5nZXR3ZAogICAgICAKICAg
1420 # ICAgcW9uZnRlc3RfZGlyID0gIiN7RGlyOjp0bXBkaXJ9L3FvbmZfdGVzdHMu
1421 # I3tQcm9jZXNzLnBpZH0iCiAgICAgIGJhc2VwYXRoID0gcW9uZnRlc3RfZGly
1422 # KyIvdGVzdF8je1Byb2Nlc3MucGlkfSIKICAgICAgCiAgICAgIGZpbGVwYXRo
1423 # ID0gYmFzZXBhdGgrIi5jcHAiCiAgICAgIHByb3BhdGggPSBiYXNlcGF0aCsi
1424 # LnBybyIKICAgICAgdGFyZ2V0ID0gInRlc3RfI3tQcm9jZXNzLnBpZH1fYXBw
1425 # IgogICAgICAKICAgICAgYmVnaW4KICAgICAgICBEaXIubWtkaXIocW9uZnRl
1426 # c3RfZGlyKSBpZiBub3QgRmlsZS5leGlzdHM/KHFvbmZ0ZXN0X2RpcikKICAg
1427 # ICAgICBGaWxlLm9wZW4oZmlsZXBhdGgsICJ3IikgeyB8ZnwKICAgICAgICAg
1428 # IAogICAgICAgICAgd3JpdGVfdGVzdChmKQogICAgICAgICAgCiAgICAgICAg
1429 # ICBGaWxlLm9wZW4ocHJvcGF0aCwgInciKSB7IHxwZnwKICAgICAgICAgICAg
1430 # cGYgPDwgIlNPVVJDRVMgKz0gIiA8PCBmaWxlcGF0aCA8PCAiXG4iCiAgICAg
1431 # ICAgICAgIHBmIDw8ICJURU1QTEFURSA9IGFwcCIgPDwgIlxuIgogICAgICAg
1432 # ICAgICBwZiA8PCAiVEFSR0VUID0gIiA8PCAiXG4iCiAgICAgICAgICAgIHBm
1433 # IDw8ICJJTkNMVURFUEFUSCArPSAiIDw8IEBpbmNsdWRlX3BhdGguam9pbigi
1434 # ICIpIDw8ICIgIiA8PCBAY29uZmlnLmluY2x1ZGVfcGF0aC5qb2luKCIgIikg
1435 # PDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiTElCUyArPSAiIDw8IEBsaWJz
1436 # LmpvaW4oIiAiKSA8PCAiICIgPDwgIEBjb25maWcubGlicy5qb2luKCIgIikg
1437 # PDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiREVGSU5FUyArPSAiIDw8IEBk
1438 # ZWZpbmVzLmpvaW4oIiAiKSA8PCAiICIgPDwgQGNvbmZpZy5kZWZpbmVzLmpv
1439 # aW4oIiAiKSA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJDT05GSUcgLT0g
1440 # ZGVidWciIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIkNPTkZJRyAqPSBy
1441 # ZWxlYXNlIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJERVNURElSID0g
1442 # I3txb25mdGVzdF9kaXJ9IiA8PCAiXG4iCiAgICAgICAgICB9CiAgICAgICAg
1443 # fQogICAgICAgIAogICAgICAgIAogICAgICAgIERpci5jaGRpcihxb25mdGVz
1444 # dF9kaXIpCiAgICAgICAgCiAgICAgICAgcW1ha2UucnVuKHByb3BhdGgpCiAg
1445 # ICAgICAgcmV0ID0gcW1ha2UuY29tcGlsZQogICAgICAgIHFtYWtlLmNsZWFu
1446 # X3VwCiAgICAgICAgCiAgICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICAK
1447 # ICAgICAgICBGaWxlLnVubGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0
1448 # YXJnZXQpICMgRklYTUU6IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGluayhw
1449 # cm9wYXRoKSBpZiBGaWxlLmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBGaWxl
1450 # LnVubGluayhmaWxlcGF0aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRoKQog
1451 # ICAgICAgIEZpbGVVdGlscy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAgICAg
1452 # CiAgICAgIHJlc2N1ZSA9PiBlCiAgICAgICAgcHV0cyBlCiAgICAgICAgcHV0
1453 # cyBlLmJhY2t0cmFjZQogICAgICAgIAogICAgICAgIERpci5jaGRpcihjd2Qp
1454 # CiAgICAgICAgRmlsZS51bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4aXN0cz8o
1455 # dGFyZ2V0KSAjIEZJWE1FOiB3aW5kb3dzCiAgICAgICAgRmlsZS51bmxpbmso
1456 # cHJvcGF0aCkgaWYgRmlsZS5leGlzdHM/KHByb3BhdGgpCiAgICAgICAgRmls
1457 # ZS51bmxpbmsoZmlsZXBhdGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxlcGF0aCkK
1458 # ICAgICAgICBGaWxlVXRpbHMucm1fcmYocW9uZnRlc3RfZGlyKQogICAgICAg
1459 # IAogICAgICAgIHJldHVybiBmYWxzZQogICAgICBlbnN1cmUKICAgICAgZW5k
1460 # CiAgICAgIAogICAgICByZXQKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2lu
1461 # Y2x1ZGVfcGF0aChpbmNwYXRoKQogICAgICBAaW5jbHVkZV9wYXRoIDw8IGlu
1462 # Y3BhdGgKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2xpYihsaWIpCiAgICAg
1463 # IEBsaWJzIDw8IGxpYgogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfZGVmaW5l
1464 # KGRlZmluZSkKICAgICAgQGRlZmluZXMgPDwgZGVmaW5lCiAgICBlbmQKICAg
1465 # IAogICAgcHJpdmF0ZQogICAgZGVmIHdyaXRlX3Rlc3QoZikKICAgICAgaGVh
1466 # ZGVycyA9ICIiCiAgICAgIGlmIG5vdCBAb3B0aW9uc1s6aGVhZGVyc10ubmls
1467 # PwogICAgICAgIEBvcHRpb25zWzpoZWFkZXJzXS5lYWNoIHsgfGhlYWRlcnwK
1468 # ICAgICAgICAgIGhlYWRlcnMgKz0gIiNpbmNsdWRlIDwje2hlYWRlcn0+XG4i
1469 # CiAgICAgICAgfQogICAgICBlbmQKICAgICAgY29kZSA9ICVACmludCBtYWlu
1470 # KCkKewogIHJldHVybiAwOwp9CkAKICAgICAgaWYgbm90IEBvcHRpb25zWzpj
1471 # dXN0b21dLm5pbD8KICAgICAgICBjb2RlID0gQG9wdGlvbnNbOmN1c3RvbV0K
1472 # ICAgICAgZW5kCiAgICAgIAogICAgICBmIDw8IGhlYWRlcnMgPDwgIlxuIiA8
1473 # PCBjb2RlIDw8ICJcbiIKICAgICAgCiAgICAgIGlmKCBub3QgQGxvZ19maWxl
1474 # Lm5pbD8gKQogICAgICAgIEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIikgZG8g
1475 # fGxmaWxlfAogICAgICAgICAgbGZpbGUgPDwgIlxuXG5cbi0tLS0tLS0tLS0t
1476 # LVxuIiA8PCBoZWFkZXJzIDw8ICJcbiIgPDwgY29kZSA8PCAiXG4tLS0tLS0t
1477 # LS0tLS1cblxuXG4iCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAg
1478 # ZW5kCmVuZAoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1479 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1480 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1481 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1482 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1483 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1484 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFv
1485 # bmZpZ3VyZS90ZXN0LnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1486 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1487 # AAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNjMyMAAx
1488 # MDcwNDQ1MTIyMQAwMTM3MTAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1489 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1490 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsA
1491 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAA
1492 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1493 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1494 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1495 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1496 # AAAAAAAAAAAAAAAAAAAAcmVxdWlyZSAndG1wZGlyJwpyZXF1aXJlICdmaWxl
1497 # dXRpbHMnCgptb2R1bGUgUW9uZgogIGNsYXNzIFRlc3QKICAgIGF0dHJfcmVh
1498 # ZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6ZGVmaW5lcywgOmlkCiAgICAK
1499 # ICAgIGRlZiBpbml0aWFsaXplKG9wdGlvbnMsIGNvbmZpZywgbG9nX2ZpbGUg
1500 # PSBuaWwpCiAgICAgIEBvcHRpb25zID0gb3B0aW9ucwogICAgICAKICAgICAg
1501 # QGluY2x1ZGVfcGF0aCA9IFtdCiAgICAgIEBsaWJzID0gW10KICAgICAgQGRl
1502 # ZmluZXMgPSBbXQogICAgICBAaWQgPSBvcHRpb25zWzppZF0KICAgICAgCiAg
1503 # ICAgIEBpbmNsdWRlX3BhdGggPSBvcHRpb25zWzppbmNsdWRlcGF0aF0gaWYg
1504 # bm90IG9wdGlvbnNbOmluY2x1ZGVwYXRoXS5uaWw/CiAgICAgIEBsaWJzIDw8
1505 # IG9wdGlvbnNbOmxpYnNdIGlmIG5vdCBvcHRpb25zWzpsaWJzXS5uaWw/CiAg
1506 # ICAgIEBkZWZpbmVzID0gb3B0aW9uc1s6ZGVmaW5lc10gaWYgbm90IG9wdGlv
1507 # bnNbOmRlZmluZXNdLm5pbD8KICAgICAgCiAgICAgIEBjb25maWcgPSBjb25m
1508 # aWcKICAgICAgCiAgICAgIEBsb2dfZmlsZSA9IGxvZ19maWxlCiAgICBlbmQK
1509 # ICAgIAogICAgZGVmIHJ1bihxbWFrZSkKICAgICAgIyBHZW5lcmF0ZQogICAg
1510 # ICByZXQgPSBmYWxzZQogICAgICBjd2QgPSBEaXIuZ2V0d2QKICAgICAgCiAg
1511 # ICAgIHFvbmZ0ZXN0X2RpciA9ICIje0Rpcjo6dG1wZGlyfS9xb25mX3Rlc3Rz
1512 # LiN7UHJvY2Vzcy5waWR9IgogICAgICBiYXNlcGF0aCA9IHFvbmZ0ZXN0X2Rp
1513 # cisiL3Rlc3RfI3tQcm9jZXNzLnBpZH0iCiAgICAgIAogICAgICBmaWxlcGF0
1514 # aCA9IGJhc2VwYXRoKyIuY3BwIgogICAgICBwcm9wYXRoID0gYmFzZXBhdGgr
1515 # Ii5wcm8iCiAgICAgIHRhcmdldCA9ICJ0ZXN0XyN7UHJvY2Vzcy5waWR9X2Fw
1516 # cCIKICAgICAgCiAgICAgIGJlZ2luCiAgICAgICAgRGlyLm1rZGlyKHFvbmZ0
1517 # ZXN0X2RpcikgaWYgbm90IEZpbGUuZXhpc3RzPyhxb25mdGVzdF9kaXIpCiAg
1518 # ICAgICAgRmlsZS5vcGVuKGZpbGVwYXRoLCAidyIpIHsgfGZ8CiAgICAgICAg
1519 # ICAKICAgICAgICAgIHdyaXRlX3Rlc3QoZikKICAgICAgICAgIAogICAgICAg
1520 # ICAgRmlsZS5vcGVuKHByb3BhdGgsICJ3IikgeyB8cGZ8CiAgICAgICAgICAg
1521 # IHBmIDw8ICJTT1VSQ0VTICs9ICIgPDwgZmlsZXBhdGggPDwgIlxuIgogICAg
1522 # ICAgICAgICBwZiA8PCAiVEVNUExBVEUgPSBhcHAiIDw8ICJcbiIKICAgICAg
1523 # ICAgICAgcGYgPDwgIlRBUkdFVCA9ICIgPDwgIlxuIgogICAgICAgICAgICBw
1524 # ZiA8PCAiSU5DTFVERVBBVEggKz0gIiA8PCBAaW5jbHVkZV9wYXRoLmpvaW4o
1525 # IiAiKSA8PCAiICIgPDwgQGNvbmZpZy5pbmNsdWRlX3BhdGguam9pbigiICIp
1526 # IDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIkxJQlMgKz0gIiA8PCBAbGli
1527 # cy5qb2luKCIgIikgPDwgIiAiIDw8ICBAY29uZmlnLmxpYnMuam9pbigiICIp
1528 # IDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIkRFRklORVMgKz0gIiA8PCBA
1529 # ZGVmaW5lcy5qb2luKCIgIikgPDwgIiAiIDw8IEBjb25maWcuZGVmaW5lcy5q
1530 # b2luKCIgIikgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiQ09ORklHIC09
1531 # IGRlYnVnIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJDT05GSUcgKj0g
1532 # cmVsZWFzZSIgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiREVTVERJUiA9
1533 # ICN7cW9uZnRlc3RfZGlyfSIgPDwgIlxuIgogICAgICAgICAgfQogICAgICAg
1534 # IH0KICAgICAgICAKICAgICAgICAKICAgICAgICBEaXIuY2hkaXIocW9uZnRl
1535 # c3RfZGlyKQogICAgICAgIAogICAgICAgIHFtYWtlLnJ1bihwcm9wYXRoKQog
1536 # ICAgICAgIHJldCA9IHFtYWtlLmNvbXBpbGUKICAgICAgICBxbWFrZS5jbGVh
1537 # bl91cAogICAgICAgIAogICAgICAgIERpci5jaGRpcihjd2QpCiAgICAgICAg
1538 # CiAgICAgICAgRmlsZS51bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4aXN0cz8o
1539 # dGFyZ2V0KSAjIEZJWE1FOiB3aW5kb3dzCiAgICAgICAgRmlsZS51bmxpbmso
1540 # cHJvcGF0aCkgaWYgRmlsZS5leGlzdHM/KHByb3BhdGgpCiAgICAgICAgRmls
1541 # ZS51bmxpbmsoZmlsZXBhdGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxlcGF0aCkK
1542 # ICAgICAgICBGaWxlVXRpbHMucm1fcmYocW9uZnRlc3RfZGlyKQogICAgICAg
1543 # IAogICAgICByZXNjdWUgPT4gZQogICAgICAgIHB1dHMgZQogICAgICAgIHB1
1544 # dHMgZS5iYWNrdHJhY2UKICAgICAgICAKICAgICAgICBEaXIuY2hkaXIoY3dk
1545 # KQogICAgICAgIEZpbGUudW5saW5rKHRhcmdldCkgaWYgRmlsZS5leGlzdHM/
1546 # KHRhcmdldCkgIyBGSVhNRTogd2luZG93cwogICAgICAgIEZpbGUudW5saW5r
1547 # KHByb3BhdGgpIGlmIEZpbGUuZXhpc3RzPyhwcm9wYXRoKQogICAgICAgIEZp
1548 # bGUudW5saW5rKGZpbGVwYXRoKSBpZiBGaWxlLmV4aXN0cz8oZmlsZXBhdGgp
1549 # CiAgICAgICAgRmlsZVV0aWxzLnJtX3JmKHFvbmZ0ZXN0X2RpcikKICAgICAg
1550 # ICAKICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5zdXJlCiAgICAgIGVu
1551 # ZAogICAgICAKICAgICAgcmV0CiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9p
1552 # bmNsdWRlX3BhdGgoaW5jcGF0aCkKICAgICAgQGluY2x1ZGVfcGF0aCA8PCBp
1553 # bmNwYXRoCiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9saWIobGliKQogICAg
1554 # ICBAbGlicyA8PCBsaWIKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2RlZmlu
1555 # ZShkZWZpbmUpCiAgICAgIEBkZWZpbmVzIDw8IGRlZmluZQogICAgZW5kCiAg
1556 # ICAKICAgIHByaXZhdGUKICAgIGRlZiB3cml0ZV90ZXN0KGYpCiAgICAgIGhl
1557 # YWRlcnMgPSAiIgogICAgICBpZiBub3QgQG9wdGlvbnNbOmhlYWRlcnNdLm5p
1558 # bD8KICAgICAgICBAb3B0aW9uc1s6aGVhZGVyc10uZWFjaCB7IHxoZWFkZXJ8
1559 # CiAgICAgICAgICBoZWFkZXJzICs9ICIjaW5jbHVkZSA8I3toZWFkZXJ9Plxu
1560 # IgogICAgICAgIH0KICAgICAgZW5kCiAgICAgIGNvZGUgPSAlQAppbnQgbWFp
1561 # bigpCnsKICByZXR1cm4gMDsKfQpACiAgICAgIGlmIG5vdCBAb3B0aW9uc1s6
1562 # Y3VzdG9tXS5uaWw/CiAgICAgICAgY29kZSA9IEBvcHRpb25zWzpjdXN0b21d
1563 # CiAgICAgIGVuZAogICAgICAKICAgICAgZiA8PCBoZWFkZXJzIDw8ICJcbiIg
1564 # PDwgY29kZSA8PCAiXG4iCiAgICAgIAogICAgICBpZiggbm90IEBsb2dfZmls
1565 # ZS5uaWw/ICkKICAgICAgICBGaWxlLm9wZW4oQGxvZ19maWxlLCAiYSIpIGRv
1566 # IHxsZmlsZXwKICAgICAgICAgIGxmaWxlIDw8ICJcblxuXG4tLS0tLS0tLS0t
1567 # LS1cbiIgPDwgaGVhZGVycyA8PCAiXG4iIDw8IGNvZGUgPDwgIlxuLS0tLS0t
1568 # LS0tLS0tXG5cblxuIgogICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZAog
1569 # IGVuZAplbmQKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1570 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1571 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1572 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1573 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1574 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1575 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx
1576 # b25maWd1cmUvY29uZmlnLnJifgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1577 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1578 # AAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDY3NDMA
1579 # MTA3MDQ0NTUyNzQAMDE0NDIxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1580 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1581 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2Vr
1582 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAA
1583 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1584 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1585 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1586 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1587 # AAAAAAAAAAAAAAAAAAAAAAptb2R1bGUgUW9uZgoKY2xhc3MgUGFja2FnZQog
1588 # IGF0dHJfcmVhZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6bW9kdWxlcywg
1589 # OmRlZmluZXMsIDpuYW1lCiAgZGVmIGluaXRpYWxpemUobmFtZSkKICAgIEBp
1590 # bmNsdWRlX3BhdGggPSBbXQogICAgQGxpYnMgPSBbXQogICAgQG1vZHVsZXMg
1591 # PSBbXQogICAgQGRlZmluZXMgPSBbXQogICAgQG5hbWUgPSBuYW1lCiAgZW5k
1592 # CiAgCiAgZGVmIGFkZF9pbmNsdWRlX3BhdGgocGF0aCkKICAgIEBpbmNsdWRl
1593 # X3BhdGggPDwgcGF0aAogIGVuZAogIAogIGRlZiBhZGRfbGliKGxpYikKICAg
1594 # IEBsaWJzIDw8IGxpYi50b19zCiAgZW5kCiAgCiAgZGVmIGFkZF9xdG1vZHVs
1595 # ZShtb2QpCiAgICBAbW9kdWxlcyA8PCBtb2QKICBlbmQKICAKICBkZWYgYWRk
1596 # X2RlZmluZShkZWZpbmUpCiAgICBAZGVmaW5lcyA8PCBkZWZpbmUKICBlbmQK
1597 # ICAKICBkZWYgd3JpdGUoZikKICAgIGlmIG5vdCBAaW5jbHVkZV9wYXRoLmVt
1598 # cHR5PwogICAgICAgIGYgPDwgIklOQ0xVREVQQVRIICs9ICIgPDwgQGluY2x1
1599 # ZGVfcGF0aC51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAog
1600 # ICAgaWYgbm90IEBsaWJzLmVtcHR5PwogICAgICAgIGYgPDwgIkxJQlMgKz0g
1601 # IiA8PCBAbGlicy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAg
1602 # IAogICAgaWYgbm90IEBtb2R1bGVzLmVtcHR5PwogICAgICAgIGYgPDwgIlFU
1603 # ICs9ICIgPDwgQG1vZHVsZXMudW5pcS5qb2luKCIgIikgPDwgIlxuIgogICAg
1604 # ZW5kCiAgICAKICAgIGlmIG5vdCBAZGVmaW5lcy5lbXB0eT8KICAgICAgICBm
1605 # IDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMudW5pcS5qb2luKCIgIikg
1606 # PDwgIlxuIgogICAgZW5kCiAgZW5kCmVuZAoKY2xhc3MgQ29uZmlnIDwgUGFj
1607 # a2FnZQogIGF0dHJfcmVhZGVyIDpidWlsZF9kaXIKICBkZWYgaW5pdGlhbGl6
1608 # ZQogICAgc3VwZXIobmlsKQogICAgQHFvbmZfZmVhdHVyZXMgPSBbXQogICAg
1609 # QHFvbmZfcGFja2FnZXMgPSBbXQogICAgQGJ1aWxkX2RpciA9IG9sZGxvY2F0
1610 # aW9uKCIiKSsiL19idWlsZF8iCiAgZW5kCgogIGRlZiBhZGRfcW9uZl9wYWNr
1611 # YWdlKHBrZykKICAgIEBxb25mX3BhY2thZ2VzIDw8IHBrZwogIGVuZAogIAog
1612 # IGRlZiBhZGRfcW9uZl9mZWF0dXJlKGZ0cikKICAgIEBxb25mX2ZlYXR1cmVz
1613 # IDw8IGZ0cgogIGVuZCAKCiAgZGVmIGluY2x1ZGVfcGF0aAogICAgaW5jcGF0
1614 # aCA9IEBpbmNsdWRlX3BhdGgKICAgIAogICAgQHFvbmZfcGFja2FnZXMuZWFj
1615 # aCB7IHxwa2d8CiAgICAgICAgaW5jcGF0aC5jb25jYXQgcGtnLmluY2x1ZGVf
1616 # cGF0aAogICAgfQogICAgCiAgICBpbmNwYXRoCiAgZW5kCiAgCiAgZGVmIGxp
1617 # YnMKICAgIGxpYiA9IEBsaWJzCiAgICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsg
1618 # fHBrZ3wKICAgICAgICBsaWIuY29uY2F0IHBrZy5saWJzCiAgICB9CiAgICAK
1619 # ICAgIGxpYgogIGVuZAogIAogIGRlZiBsaWJyYXJ5X3BhdGgKICAgIGxpYnNf
1620 # YSA9IFtdCgogICAgc3BsaXR0ZWQgPSBAbGlicy5qb2luKCIgIikuc3BsaXQo
1621 # IiAiKQogICAgc3BsaXR0ZWQuZWFjaCB7IHxzcHwKICAgICAgICBpZiggc3Ag
1622 # PX4gLy1MKC4rKVxzKi8gKQogICAgICAgICAgICBsaWJzX2EgPDwgJDEKICAg
1623 # ICAgICBlbmQKICAgIH0KICAgIAogICAgbGlic19hCiAgZW5kCiAgCiAgZGVm
1624 # IGRlZmluZXMKICAgIGRlZnMgPSBAZGVmaW5lcwogICAgCiAgICBAcW9uZl9w
1625 # YWNrYWdlcy5lYWNoIHsgfHBrZ3wKICAgICAgICBkZWZzLmNvbmNhdCBwa2cu
1626 # ZGVmaW5lcwogICAgfQogICAgCiAgICBkZWZzCiAgZW5kCiAgCiAgZGVmIHNh
1627 # dmUocGF0aCkKICAgIGlmIHBhdGhbMF0uY2hyID09IEZpbGU6OlNFUEFSQVRP
1628 # UgogICAgICAgIHBhdGggPSBwYXRoCiAgICBlbHNlCiAgICAgICAgcGF0aCA9
1629 # ICIje0Rpci5nZXR3ZH0vI3twYXRofSIKICAgIGVuZAogICAgCiAgICBGaWxl
1630 # Lm9wZW4ocGF0aCwgInciKSB7IHxmfAogICAgICAgIGYgPDwgIiMgR2VuZXJh
1631 # dGVkIGF1dG9tYXRpY2FsbHkgYXQgI3tUaW1lLm5vd30hIFBMRUFTRSBETyBO
1632 # T1QgRURJVCBNQU5VQUxMWSEiPDwgIlxuIgogICAgICAgIAogICAgICAgIGYg
1633 # PDwgIlBST0pFQ1RfRElSID0gIiA8PCBvbGRsb2NhdGlvbigiIikgPDwgIlxu
1634 # IgogICAgICAgIGYgPDwgIkJVSUxEX0RJUiA9ICN7QGJ1aWxkX2Rpcn1cbiIK
1635 # ICAgICAgICAKICAgICAgICBmIDw8ICdjb250YWlucyhURU1QTEFURSwgImFw
1636 # cCIpIHsnIDw8ICJcbiIKICAgICAgICBmIDw8ICJERVNURElSID0gJCRCVUlM
1637 # RF9ESVIvYmluXG4iCiAgICAgICAgZiA8PCAnfSBlbHNlOmNvbnRhaW5zKFRF
1638 # TVBMQVRFLCAibGliIikgeycgPDwgIlxuIgogICAgICAgIGYgPDwgIkRFU1RE
1639 # SVIgPSAkJEJVSUxEX0RJUi9saWJcbiIKICAgICAgICBmIDw8ICd9IGVsc2Ug
1640 # eycgPDwgIlxuIgogICAgICAgIGYgPDwgIkRFU1RESVIgPSAkJEJVSUxEX0RJ
1641 # UlxuIgogICAgICAgIGYgPDwgIn1cblxuXG4iCiAgICAgICAgCiAgICAgICAg
1642 # ZiA8PCAiTElCUyArPSAtTCQkQlVJTERfRElSL2xpYlxuIgogICAgICAgIGYg
1643 # PDwgIlJFTEFUSVZFX1BBVEggPSAkJHJlcGxhY2UoX1BST19GSUxFX1BXRF8s
1644 # ICQkUFJPSkVDVF9ESVIsICIiKVxuIgogICAgICAgIGYgPDwgIkNVUlJFTlRf
1645 # QlVJTERfRElSID0gJCRCVUlMRF9ESVIkJFJFTEFUSVZFX1BBVEhcbiIKICAg
1646 # ICAgICBmIDw8ICJPQkpFQ1RTX0RJUiA9ICQkQ1VSUkVOVF9CVUlMRF9ESVJc
1647 # biIKIyAgICAgICAgIGYgPDwgIk1PQ19ESVIgPSAkJENVUlJFTlRfQlVJTERf
1648 # RElSXG4iCiMgICAgICAgICBmIDw8ICJVSV9ESVIgPSAkJENVUlJFTlRfQlVJ
1649 # TERfRElSXG5cbiIKCiAgICAgICAgCiAgICAgICAgd3JpdGUoZikKICAgICAg
1650 # ICAKICAgICAgICAKICAgICAgICBmIDw8ICJRT05GX0ZFQVRVUkVTICs9ICIg
1651 # PDwgQHFvbmZfcGFja2FnZXMubWFwIHsgfGV8IGUubmFtZSB9LmpvaW4oIiAi
1652 # KSAgPDwgIlxuIgogICAgICAgIGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0gIiA8
1653 # PCBAcW9uZl9mZWF0dXJlcy5qb2luKCIgIikgIDw8ICJcbiIKICAgICAgICAK
1654 # ICAgICAgICBmIDw8ICJcbmRlZmluZVRlc3QobGlua193aXRoKSB7IiA8PCAi
1655 # XG4iCiAgICAgICAgZiA8PCAiICByZXQgPSBmYWxzZVxuIgogICAgICAgIEBx
1656 # b25mX3BhY2thZ2VzLmVhY2ggeyB8cW9uZnwKICAgICAgICAgIGYgPDwgJUAg
1657 # IGNvbnRhaW5zKCQkbGlzdCgkJHNwbGl0KDEpKSAsIiN7cW9uZi5uYW1lfSIp
1658 # IHtcbkAKICAgICAgICAgIGYgPDwgIiAgICByZXQgPSB0cnVlXG4iCiAgICAg
1659 # ICAgICBmIDw8ICIgICAgbWVzc2FnZSg9PiBMaW5raW5nIHFvbmYgbW9kdWxl
1660 # OiAje3FvbmYubmFtZX0pXG4iCiAgICAgICAgICBxb25mLndyaXRlKGYpCiAg
1661 # ICAgICAgICBmIDw8ICIgIH1cbiIKICAgICAgICB9CiAgICAgICAgZiA8PCAi
1662 # ICBleHBvcnQoSU5DTFVERVBBVEgpXG4iCiAgICAgICAgZiA8PCAiICBleHBv
1663 # cnQoTElCUylcbiIKICAgICAgICBmIDw8ICIgIGV4cG9ydChRVClcbiIKICAg
1664 # ICAgICBmIDw8ICIgIGV4cG9ydChERUZJTkVTKVxuIgogICAgICAgIGYgPDwg
1665 # IiAgcmV0dXJuKCQkcmV0KVxuIgogICAgICAgIGYgPDwgIn1cbiIKICAgIH0K
1666 # ICBlbmQKZW5kCgplbmQKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1667 # cW9uZmlndXJlL3NldHVwX3JiLnRwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1668 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1669 # AAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MjM3
1670 # ADEwNzA0NDUxMjIxADAxNDc1NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1671 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1672 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
1673 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAA
1674 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1675 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1676 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1677 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1678 # AAAAAAAAAAAAAAAAAAAAAAAKCgojIHNldHVwIGlzIGEgb2JqZWN0IHRoYXQg
1679 # aGVscHMgdG8gY29uZmlndXJlIHRoZSBwcm9qZWN0CiMgSXQgY29udGFpbnMg
1680 # c29tZSBtZXRob2RzIGxpa2U6CiMgICBhZGRfb3B0aW9uCiMgICBmaW5kX3Bh
1681 # Y2thZ2UKIyAgIGFkZF90ZXN0CiMgICBnZW5lcmF0ZV9wa2djb25maWcKZGVm
1682 # IGNvbmZpZ3VyZShzZXR1cCkKIyMjIyAKIyMjIyBWZXJpZnkgZm9yIFF0IHZl
1683 # cnNpb24uCiMjIyMgCiMgc2V0dXAucXQgPj0gIjQuMi4wIgoKIyMjIyAKIyMj
1684 # IyBhZGRfb3B0aW9uIGFkZHMgYW4gb3B0aW9uIHRvIHRoZSBzY3JpcHQsIGl0
1685 # IGhhcyB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CiMjIyMgOm5hbWUgICAgICAg
1686 # ICBUaGUgbmFtZSBvZiB0aGUgb3B0aW9uLgojIyMjIDp0eXBlICAgICAgICAg
1687 # VGhlIHR5cGUgb2YgdGhlIG9wdGlvbiAoInBhdGgiLCAic3RyaW5nIiwgImJv
1688 # b2wiIG9yICJ2b2lkIikuCiMjIyMgOm9wdGlvbmFsICAgICBTYXlzIGlmIHRo
1689 # ZSBvcHRpb24gaXMgcmVxdWlyZWQgb3Igbm90LgojIyMjIDpkZXNjcmlwdGlv
1690 # biAgRGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbgojIyMjIDpkZWZhdWx0ICAg
1691 # ICAgVGhlIGRlZmF1bHQgdmFsdWUKIyMjIyAKIyAgIHNldHVwLmFkZF9vcHRp
1692 # b24oOm5hbWUgPT4gIm9wdGlvbi1uYW1lIiwgOnR5cGUgPT4gInBhdGgiLCA6
1693 # b3B0aW9uYWwgPT4gZmFsc2UsIDpkZXNjcmlwdGlvbiA9PiAiU2V0cyBhbiBv
1694 # cHRpb24iKQogIAojIyMjIAojIyMjIGZpbmRfcGFja2FnZSBzZWFyY2ggZm9y
1695 # IGEgcGtnY29uZmlnIHNwZWMgaW4geW91ciBjb21wdXRlciwgaXQgc2VhcmNo
1696 # IGluIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUg
1697 # b3IgTERfTElCUkFSWV9QQVRICiMjIyMgVGhlIG9wdGlvbnMgYXJlOgojIyMj
1698 # IDpuYW1lICAgICAgIFBhY2thZ2UgbmFtZQojIyMjIDpvcHRpb25hbCAgIFRy
1699 # dWUgaWYgdGhlIHBhY2thZ2UgaXMgb3B0aW9uYWwKIyMjIyA6Z2xvYmFsICAg
1700 # ICBMaW5rIGdsb2JhbGx5CiMjIyMgCiMgICBzZXR1cC5maW5kX3BhY2thZ2Uo
1701 # Om5hbWUgPT4gImRidXMtMSIsIDpvcHRpb25hbCA9PiBmYWxzZSwgOmdsb2Jh
1702 # bCA9PiB0cnVlKQoKIyMjIyAKIyMjIyBhZGRfdGVzdCBhZGRzIGFuZCBydW4g
1703 # YSB0ZXN0IGZvciBzb21lIGZlYXR1cmUgb3IgcGFja2FnZSwgdGhlIG9wdGlv
1704 # bnMgYXJlOgojIyMjICAgOmlkICAgICAgICAgICBUaGUgaWQgb2YgdGhlIHRl
1705 # c3QKIyMjIyAgIDpuYW1lICAgICAgICAgVGhlIHRlc3QgbmFtZQojIyMjICAg
1706 # OmRlZmluZXMgICAgICBEZWZpbmVzIHRvIHRlc3QKIyMjIyAgIDppbmNsdWRl
1707 # cGF0aCAgQSBsaXN0IHdpdGggdGhlIGluY2x1ZGUgcGF0aAojIyMjICAgOmxp
1708 # YnMgICAgICAgICBUaGUgbGlicyByZXF1aXJlZCBmb3IgdGhlIHRlc3QKIyMj
1709 # IyAgIDpvcHRpb25hbCAgICAgVHJ1ZSBpZiB0aGUgdGVzdCBpcyBvcHRpb25h
1710 # bAojIyMjICAgOmN1c3RvbSAgICAgICBBIGNvZGUgdG8gdGVzdAojIyMjICAg
1711 # Omdsb2JhbCAgICAgICBMaW5rIGdsb2JhbGx5CiMjIyMgCiMgc2V0dXAuYWRk
1712 # X3Rlc3QoOmlkID0+ICJmZWF0dXJlIiwgOm5hbWUgPT4gIkZlYXR1cmUgc3Vw
1713 # cG9ydCIsIDpkZWZpbmVzID0+IFsiSEFWRV9GRUFUVVJFIl0sIDpvcHRpb25h
1714 # bCA9PiB0cnVlLCA6aGVhZGVycyA9PiBbImZlYXR1cmUuaCJdLCA6bGlicyA9
1715 # PiAiLWxmZWF0dXJlIiwgOmdsb2JhbCA9PiB0cnVlICApCgojIyMjIAojIyMj
1716 # IGdlbmVyYXRlX3BrZ2NvbmZpZyBHZW5lcmF0ZXMgYSBzaW1wbGUgcGtnY29u
1717 # ZmlnIGZpbGUKIyMjIyBUaGUgb3B0aW9ucyBhcmU6CiMjIyMgICA6cGFja2Fn
1718 # ZV9uYW1lICBUaGUgcGFja2FnZSBuYW1lIAojIyMjICAgOm5hbWUgICAgICAg
1719 # ICAgVGhlIGFwcGxpY2F0aW9uIG5hbWUKIyMjIyAgIDpkZXNjcmlwdGlvbiAg
1720 # IFRoZSBhcHBsaWNhdGlvbiBkZXNjcmlwdGlvbgojIyMjICAgOnZlcnNpb24g
1721 # ICAgICAgVGhlIHZlcnNpb24gb2YgdGhlIGFwcGxpY2F0aW9uCiMjIyMgICA6
1722 # bGliZGlyICAgICAgICBUaGUgZGlyZWN0b3J5IHdoZXJlIGxpYnJhcmllcyBh
1723 # cmUsIGJ5IGRlZmF1bHQgaXMgJChwcmVmaXgpL2xpYgojIyMjICAgOmluY2x1
1724 # ZGVkaXIgICAgVGhlIGRpcmVjdG9yeSB3aGVyZSBoZWFkZXJzIGFyZSwgYnkg
1725 # ZGVmYXVsdCBpcyAkKHByZWZpeCkvaW5jbHVkZQojIyMjICAgOmxpYnMgICAg
1726 # ICAgICAgTGlicmFyaWVzIHRoYXQgbGlua3MgdGhlIHBhY2thZ2UKIyMjIyAg
1727 # IDpjZmxhZ3MgICAgICAgIENmbGFncyBmb3IgdGhlIHBhY2thZ2UKIyMjIyAg
1728 # IDpyZXF1aXJlcyAgICAgIEEgbGlzdCBvZiBwYWNrYWdlIG5hbWVzIHJlcXVp
1729 # cmVkIGZvciB0aGlzIHBhY2thZ2UuCiMjIyMgCiMgc2V0dXAuZ2VuZXJhdGVf
1730 # cGtnY29uZmlnKDpwYWNrYWdlX25hbWUgPT4gImRsaWItZWRpdG9yIiwgOm5h
1731 # bWUgPT4gIkRMaWIgUXQgbGlicmFyeSIsIDpkZXNjcmlwdGlvbiA9PiAiQSBl
1732 # eHRlbnNpb24gZm9yIFF0NCIsIDp2ZXJzaW9uID0+ICIwLjFiZXRhIiwgOmxp
1733 # YmRpciA9PiBuaWwsIDppbmNsdWRlZGlyID0+IG5pbCwgOmxpYnMgPT4gIi1M
1734 # JHtsaWJkaXJ9IC1sZGNvcmUgLWxkZ3VpIC1sZGVkaXRvciIsIDpjZmxhZ3Mg
1735 # PT4gIi1JJHtpbmNsdWRlZGlyfSIsIDpyZXF1aXJlcyA9PiBbInNvbWVwYWNr
1736 # YWdlIiwgIm90aGVycGFja2FnZSIgXSApCmVuZAoKIyBUaGlzIG1ldGhvZCBp
1737 # cyBjYWxsZWQgYmVmb3JlIHRvIHNlYXJjaCBhIHBhY2thZ2UKZGVmIHNldHVw
1738 # X3BrZ2NvbmZpZyhwa2djb25maWcsIGFyZ3MpCiMgICBjYXNlIHBrZ2NvbmZp
1739 # Zy5pZAojICAgICB3aGVuICJkYnVzLTEiCiMgICAgICAgcGtnY29uZmlnLmFk
1740 # ZF9zZWFyY2hfcGF0aCgiL2EvcGF0aC90by90aGUvcGMiKQojICAgZW5kCmVu
1741 # ZAoKZGVmIHNldHVwX3Rlc3QoaWQsIHRzdCwgYXJncykKIyAgIGNhc2UgaWQK
1742 # IyAgICAgd2hlbiAiZmVhdHVyZSIKIyAgICAgICB0c3QuYWRkX2RlZmluZSgi
1743 # TVlERUZJTkUiKQojICAgICAgIHRzdC5hZGRfbGliKCItbG15bGliIikKIyAg
1744 # ICAgICB0c3QuYWRkX2luY2x1ZGVfcGF0aCgiL3NvbWUvaW5jbHVkZS9wYXRo
1745 # L3JlcXVpcmVkL3RvL2NvbXBpbGUvdGhlL3Rlc3QiKQojICAgZW5kCmVuZAoK
1746 # ZGVmIHNldHVwX2NvbmZpZyhjZmcsIGFyZ3MpCiMgICBjZmcuYWRkX2luY2x1
1747 # ZGVfcGF0aCBGaWxlLmV4cGFuZF9wYXRoKCJzcmMiKQojICAgY2ZnLmFkZF9k
1748 # ZWZpbmUoIl9fU1REQ19DT05TVEFOVF9NQUNST1MiKQojICAgY2ZnLmFkZF9x
1749 # dG1vZHVsZSgieG1sIikKIyAgIGNmZy5hZGRfcXRtb2R1bGUoIm5ldHdvcmsi
1750 # KQplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1751 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1752 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1753 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1754 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1755 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1756 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1757 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1758 # AHFvbmZpZ3VyZS9xbWFrZS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1759 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1760 # AAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNzMz
1761 # MwAxMDcwNDQ1MTIyMQAwMTQwMzQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1762 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1763 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3
1764 # ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAA
1765 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1766 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1767 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1768 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1769 # AAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ29wZW4zJwpyZXF1aXJlICdk
1770 # ZXRlY3RvcycKCm1vZHVsZSBRb25mCgpjbGFzcyBRTWFrZQogIGF0dHJfcmVh
1771 # ZGVyIDpwYXRoCiAgCiAgZGVmIGluaXRpYWxpemUocGF0aHMgPSBbXSwgbG9n
1772 # X2ZpbGUgPSBuaWwpCiAgICBAcGF0aHMgPSBbICJxbWFrZS1xdDQiLCAicW1h
1773 # a2U0IiwgInFtYWtlIiBdCiAgICBAcGF0aHMuY29uY2F0KHBhdGhzKQogICAg
1774 # CiAgICBpZiggJERFQlVHICkKICAgICAgJHN0ZGVyciA8PCAiUU1ha2UgcGF0
1775 # aHM6ICIgPDwgQHBhdGhzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAg
1776 # IAogICAgaWYgbm90IGZpbmRfcW1ha2UoIjQuMC4wIikKICAgICAgICAgICAg
1777 # cmFpc2UgIkNhbid0IGZpbmQgdmFsaWQgcW1ha2UgLSBxdDQiCiAgICBlbmQK
1778 # ICAgIAogICAgQGxvZ19maWxlID0gbG9nX2ZpbGUKICAgIGlmKCBAbG9nX2Zp
1779 # bGUubmlsPyApCiAgICAgIEBsb2dfZmlsZSA9IG9sZGxvY2F0aW9uKCJjb25m
1780 # aWcubG9nIikKICAgIGVuZAogICAgCiAgICBAbWFrZSA9ICJtYWtlIgogICAg
1781 # CiAgICBpZiBEZXRlY3RPUy5vcz8gPT0gMQogICAgICBAbWFrZV9vcHRpb25z
1782 # ID0gIjI+PiAje0Bsb2dfZmlsZX0iCiAgICBlbHNlCiAgICAgIEBtYWtlX29w
1783 # dGlvbnMgPSAiPj4gI3tAbG9nX2ZpbGV9IDI+PiAje0Bsb2dfZmlsZX0iCiAg
1784 # ICBlbmQKICBlbmQKICAgICAgICAKICBkZWYgZmluZF9xbWFrZShtaW5xdHZl
1785 # cnNpb24sIG9wID0gMikKICAgIAogICAgCiAgICBtaW52ZXIgPSBtaW5xdHZl
1786 # cnNpb24uc3BsaXQoIi4iKQogICAgQHBhdGhzLmVhY2ggeyB8cGF0aHwKICAg
1787 # ICAgYmVnaW4KICAgICAgICB2ZXJzaW9uID0gW10KICAgICAgICBvayA9IHRy
1788 # dWUKICAgICAgICAKICAgICAgICBJTy5wb3BlbigiI3twYXRofSAtcXVlcnkg
1789 # UVRfVkVSU0lPTiAyPiAje25ld2xvY2F0aW9uKCJxbWFrZV9sb2ciKX0iKSB7
1790 # IHxwcmN8CiAgICAgICAgICB2ZXJzaW9uID0gcHJjLnJlYWRsaW5lcy5qb2lu
1791 # KCIiKS5zcGxpdCgiLiIpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIG5l
1792 # eHQgaWYgJD8gIT0gMAogICAgICAgIAogICAgICAgIHZlcnNpb24uc2l6ZS50
1793 # aW1lcyB7IHxpfAogICAgICAgICAgaWYgdmVyc2lvbi5zaXplIDwgaSBhbmQg
1794 # bWludmVyLnNpemUgPj0gMwogICAgICAgICAgICAgICAgICBicmVhawogICAg
1795 # ICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIGNhc2Ugb3AKICAgICAg
1796 # ICAgICAgd2hlbiAwCiAgICAgICAgICAgICAgaWYgdmVyc2lvbltpXSAhPSBt
1797 # aW52ZXJbaV0KICAgICAgICAgICAgICAgIG9rID0gZmFsc2UKICAgICAgICAg
1798 # ICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHdo
1799 # ZW4gMQogICAgICAgICAgICAgIGlmIHZlcnNpb25baV0gPCBtaW52ZXJbaV0K
1800 # ICAgICAgICAgICAgICAgIG9rID0gZmFsc2UKICAgICAgICAgICAgICAgIGJy
1801 # ZWFrCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHdoZW4gMgogICAg
1802 # ICAgICAgICAgIGlmIHZlcnNpb25baV0gPCBtaW52ZXJbaV0KICAgICAgICAg
1803 # ICAgICAgIG9rID0gZmFsc2UKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
1804 # ICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgICAg
1805 # CiAgICAgICAgaWYgb2sKICAgICAgICAgIEBwYXRoID0gcGF0aAogICAgICAg
1806 # ICAgCiAgICAgICAgICBpZiAkREVCVUcKICAgICAgICAgICAgcHV0cyAiVXNp
1807 # bmcgcW1ha2U6ICN7QHBhdGh9ICN7dmVyc2lvbi5qb2luKCIuIil9IgogICAg
1808 # ICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIHJldHVybiBvawogICAg
1809 # ICAgIGVuZAogICAgICByZXNjdWUKICAgICAgZW5zdXJlCiAgICAgIGVuZAog
1810 # ICAgfQogIAogICAgcmV0dXJuIGZhbHNlCiAgZW5kCiAgICAgICAgCiAgICAg
1811 # ICAgZGVmIHF1ZXJ5KHZhcikKICAgICAgICAgICAgICAgIG91dHB1dCA9IGAj
1812 # e0BwYXRofSAtcXVlcnkgI3t2YXJ9YAogICAgICAgICAgICAgICAgb3V0cHV0
1813 # CiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIHJ1bihhcmdzID0g
1814 # IiIsIHJlY3VyID0gZmFsc2UpCiAgICAgICAgICAgICAgICBpZiAkREVCVUcK
1815 # ICAgICAgICAgICAgICAgICAgcHV0cyAiQVJHUyA9ICN7YXJnc30iCiAgICAg
1816 # ICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAiIgog
1817 # ICAgICAgICAgICAgICAgaWYgcmVjdXIKICAgICAgICAgICAgICAgICAgICAg
1818 # ICAgb3B0aW9ucyArPSAiLXIiCiAgICAgICAgICAgICAgICBlbmQKICAgICAg
1819 # ICAgICAgICAgIAogICAgICAgICAgICAgICAgb3V0cHV0ID0gYCN7QHBhdGh9
1820 # ICN7YXJnc30gI3tvcHRpb25zfSBgCiAgICAgICAgICAgICAgICBpZiBvdXRw
1821 # dXQuc3RyaXAuZW1wdHk/CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
1822 # biB0cnVlCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICBy
1823 # ZXR1cm4gZmFsc2UKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBkZWYg
1824 # Y29tcGlsZQogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAg
1825 # ICAgICAgICAgSU8ucG9wZW4oIiN7QG1ha2V9IGNsZWFuICN7QG1ha2Vfb3B0
1826 # aW9uc30iKSB7IHxjfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1827 # IG91dHB1dCA9IGMucmVhZGxpbmVzCiAgICAgICAgICAgICAgICAgICAgICAg
1828 # IH0KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1829 # ICAgICAgIHRpbWVzID0gMAogICAgICAgICAgICAgICAgICAgICAgICBlbmRj
1830 # b2RlID0gMgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1831 # ICAgICAgICAgICAgRmlsZS5vcGVuKEBsb2dfZmlsZSwgImEiICkgZG8gfGZ8
1832 # CiAgICAgICAgICAgICAgICAgICAgICAgICAgZiA8PCAiPT09PT0+IENPTVBJ
1833 # TElORyBcbiIKICAgICAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAg
1834 # ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB3aGls
1835 # ZSBlbmRjb2RlID09IDIgYW5kIHRpbWVzIDw9IDMKICAgICAgICAgICAgICAg
1836 # ICAgICAgICAgICAgICAgICBJTy5wb3BlbigiI3tAbWFrZX0gI3tAbWFrZV9v
1837 # cHRpb25zfSIsICJyIikgeyB8Y3wKICAgICAgICAgICAgICAgICAgICAgICAg
1838 # ICAgICAgICAgICAgICAgIG91dHB1dCA9IGMucmVhZGxpbmVzCiAgICAgICAg
1839 # ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
1840 # ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1841 # IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZGNvZGUgPSAk
1842 # PyA+PiA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1843 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXMgKz0gMQogICAgICAg
1844 # ICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAgICAg
1845 # CiAgICAgICAgICAgICAgICByZXNjdWUKICAgICAgICAgICAgICAgICAgICAg
1846 # ICAgcmV0dXJuIGZhbHNlCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAg
1847 # ICAgICAgIAogICAgICAgICAgICAgICAgaWYgZW5kY29kZSAhPSAwCiAgICAg
1848 # ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAg
1849 # ICAgZW5kCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHJldHVy
1850 # biB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIGNsZWFu
1851 # X3VwCiAgICAgIElPLnBvcGVuKCIje0BtYWtlfSBkaXN0Y2xlYW4gMj4+IGRp
1852 # c3RjbGVhbiIpIHsgfGN8CiAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRsaW5l
1853 # cwogICAgICB9CiAgICAgICAgZW5kCmVuZAoKZW5kICNtb2R1bGUKCgoAAAAA
1854 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1855 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1856 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1857 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1858 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1859 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1860 # AAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9mcm9udGVuZC5yYgAAAAAA
1861 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1862 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAA
1863 # MDAwMTc1MAAwMDAwMDAwMDEyNAAxMDcwNDQ1MTIyMQAwMTQ1NDQAIDAAAAAA
1864 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1865 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1866 # AAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1867 # AGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1868 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1869 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1870 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1871 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACm1vZHVsZSBR
1872 # b25mCgpjbGFzcyBGcm9udGVuZAogIGRlZiBpbml0aWFsaXplCiAgZW5kCiAg
1873 # CiAgZGVmIHBhcnNlCiAgZW5kCmVuZAoKZW5kCgoKAAAAAAAAAAAAAAAAAAAA
1874 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1875 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1876 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1877 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1878 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1879 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1880 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1881 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1882 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1883 # AAAAAAAAAABxb25maWd1cmUvZnJvbnRlbmRmYWN0b3J5LnJiAAAAAAAAAAAA
1884 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1885 # AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAw
1886 # MDAwMDA2NDMAMTA3MDQ0NTEyMjEAMDE2MTQyACAwAAAAAAAAAAAAAAAAAAAA
1887 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1888 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
1889 # ICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAA
1890 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1891 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1892 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1893 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1894 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdwbGFpbl9mcm9u
1895 # dGVuZCcKCm1vZHVsZSBRb25mCgpjbGFzcyBGcm9udGVuZEZhY3RvcnkKICBk
1896 # ZWYgc2VsZi5jcmVhdGUobmFtZSA9ICJ0ayIpCiAgICBjYXNlIG5hbWUKICAg
1897 # ICAgd2hlbiAicGxhaW4iCiAgICAgICAgUGxhaW5Gcm9udGVuZC5uZXcKICAg
1898 # ICAgd2hlbiAidGsiCiAgICAgICAgaGF2ZV90ayA9IGZhbHNlCgogICAgICAg
1899 # IGJlZ2luCiAgICAgICAgICBoYXZlX3RrID0gcmVxdWlyZSAndGsnCiAgICAg
1900 # ICAgcmVzY3VlIExvYWRFcnJvcgogICAgICAgICAgcmV0dXJuIGNyZWF0ZSgi
1901 # cGxhaW4iKQogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIHJlcXVpcmUg
1902 # J3RrX2Zyb250ZW5kJwogICAgICAgIFRrRnJvbnRlbmQubmV3CiAgICAgIGVs
1903 # c2UKICAgICAgICBuaWwKICAgIGVuZAogIGVuZAplbmQKCmVuZAoKAAAAAAAA
1904 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1905 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9u
1906 # ZmlndXJlL21ha2VmaWxlLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1907 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1908 # AAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAyNTYwADEw
1909 # NzA0NDUxMjIxADAxNDUxMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1910 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1911 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAA
1912 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAA
1913 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1914 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1915 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1916 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1917 # AAAAAAAAAAAAAAAAAAANCnJlcXVpcmUgJ3JiY29uZmlnJw0KDQptb2R1bGUg
1918 # UW9uZg0KICBjbGFzcyBNYWtlZmlsZQ0KICAgIGRlZiBzZWxmLmZpbmRfbWFr
1919 # ZWZpbGVzKHBhdGgpDQogICAgICBtYWtlZmlsZXMgPSBbXQ0KICAgICAgRGly
1920 # LmZvcmVhY2gocGF0aCkgeyB8ZnwNCiAgICAgICAgZmlsZSA9ICIje3BhdGh9
1921 # LyN7Zn0iDQogICAgICAgIGlmIEZpbGUuc3RhdChmaWxlKS5kaXJlY3Rvcnk/
1922 # DQogICAgICAgICAgaWYgbm90IGYgPX4gL15cLi8NCiAgICAgICAgICAgIG1h
1923 # a2VmaWxlcy5jb25jYXQgZmluZF9tYWtlZmlsZXMoZmlsZSkNCiAgICAgICAg
1924 # ICBlbmQNCiAgICAgICAgZWxzaWYgZi5kb3duY2FzZSA9fiAvXm1ha2VmaWxl
1925 # KC5kZWJ1Z3wucmVsZWFzZSl7MCwxfS8NCiAgICAgICAgICBtYWtlZmlsZXMg
1926 # PDwgZmlsZQ0KICAgICAgICBlbmQNCiAgICAgIH0NCiAgICAgIG1ha2VmaWxl
1927 # cw0KICAgIGVuZA0KICAgIA0KICAgIGRlZiBzZWxmLm92ZXJyaWRlKG1ha2Vm
1928 # aWxlLCBkZXN0ZGlyLCBzdGF0dXNGaWxlKQ0KICAgICAgbmV3bWFrZWZpbGUg
1929 # PSAiIg0KICAgICAgDQogICAgICBydWJ5X2JpbiA9ICIjezo6Q29uZmlnOjpD
1930 # T05GSUdbImJpbmRpciJdfS8jezo6Q29uZmlnOjpDT05GSUdbInJ1YnlfaW5z
1931 # dGFsbF9uYW1lIl19Ig0KICAgICAgDQogICAgICBpZiBGaWxlOjpBTFRfU0VQ
1932 # QVJBVE9SDQogICAgICAgIHJ1YnlfYmluLmdzdWIhKCIvIiwgRmlsZTo6QUxU
1933 # X1NFUEFSQVRPUikNCiAgICAgICAgZGVzdGRpci5nc3ViISgiLyIsIEZpbGU6
1934 # OkFMVF9TRVBBUkFUT1IpDQogICAgICBlbmQNCiAgICAgIA0KICAgICAgRmls
1935 # ZS5vcGVuKG1ha2VmaWxlLCAiciIpIHsgfGZ8DQogICAgICAgIGxpbmVzID0g
1936 # Zi5yZWFkbGluZXMNCiAgICAgIA0KICAgICAgICBpbmRleCA9IDANCiAgICAg
1937 # ICAgd2hpbGUgaW5kZXggPCBsaW5lcy5zaXplDQogICAgICAgICAgbGluZSA9
1938 # IGxpbmVzW2luZGV4XQ0KICAgICAgICAgIA0KICAgICAgICAgIGlmIGxpbmUg
1939 # PX4gL15ccytcJFwoUU1BS0VcKS8NCiAgICAgICAgICAgIG5ld21ha2VmaWxl
1940 # ICs9IGxpbmUNCiAgICAgICAgICAgIG5ld21ha2VmaWxlICs9ICJcdCN7cnVi
1941 # eV9iaW59ICN7c3RhdHVzRmlsZX0gI3ttYWtlZmlsZX1cbiINCiAgICAgICAg
1942 # ICAgIGluZGV4ICs9IDENCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICBu
1943 # ZXdtYWtlZmlsZSArPSAiI3tsaW5lLmdzdWIoIC9cJFwoSU5TVEFMTF9ST09U
1944 # XCkvLCBkZXN0ZGlyICl9Ig0KICAgICAgICAgIGVuZA0KICAgICAgDQogICAg
1945 # ICAgICAgaW5kZXggKz0gMQ0KICAgICAgICBlbmQNCiAgICAgIH0NCiAgICAg
1946 # IA0KICAgICAgRmlsZS5vcGVuKG1ha2VmaWxlLCAidyIpIHsgfGZ8DQogICAg
1947 # ICAgIGYgPDwgbmV3bWFrZWZpbGUNCiAgICAgIH0NCiAgICBlbmQNCiAgZW5k
1948 # DQplbmQNCg0KDQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1949 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1950 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1951 # AAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvaW5pdC5yYgAAAAAAAAAA
1952 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1953 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUw
1954 # ADAwMDE3NTAAMDAwMDAwMDAzMDYAMTA3MDQ0NTEyMjEAMDEzNjcyACAwAAAA
1955 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1956 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1957 # AAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1958 # AABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1962 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJl
1963 # ICdxb25mJwoKRGlyLmNoZGlyKEZpbGUuZGlybmFtZShvbGRsb2NhdGlvbigi
1964 # cW9uZi5yYiIpKSkKCnFvbmYgPSBRb25mOjpDb25maWd1cmUubmV3CnFvbmYu
1965 # Z2V0X2FyZ3MoQVJHVikKcW9uZi5maW5kX3BhY2thZ2VzCnFvbmYucnVuX3Rl
1966 # c3RzCgpxb25mLnNhdmUoImNvbmZpZy5wcmkiKQoKcW9uZi5nZW5lcmF0ZV9t
1967 # YWtlZmlsZXMKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1968 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1973 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1974 # AAAAAAAAAAAAcW9uZmlndXJlL3FvbmYucmJ+AAAAAAAAAAAAAAAAAAAAAAAA
1975 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1976 # AAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAw
1977 # MDAwMDMxNTcxADEwNzA0NDc1NDQwADAxNDExMQAgMAAAAAAAAAAAAAAAAAAA
1978 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1979 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
1980 # ciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAA
1981 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1982 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1983 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1984 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1985 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcmVxdWlyZSAndGVzdCcKcmVx
1986 # dWlyZSAncGtnY29uZmlnJwpyZXF1aXJlICdmcm9udGVuZGZhY3RvcnknCnJl
1987 # cXVpcmUgJ2NvbmZpZycKcmVxdWlyZSAncW1ha2UnCnJlcXVpcmUgJ21ha2Vm
1988 # aWxlJwoKbW9kdWxlIFFvbmYKICBWRVJTSU9OID0gIjAuNSIuZnJlZXplCiAg
1989 # VkVSU0lPTl9EQVRFID0gIjIwMDctMTAtMTQiCiAgCiAgY2xhc3MgUXRWZXJz
1990 # aW9uCiAgICBhdHRyX3JlYWRlciA6dmVyc2lvbiwgOm9wICMgMDogZXF1YWwg
1991 # MTogZ3JlYXRlciAyOiBncmVhdGVyIGVxdWFsCiAgICAKICAgIGRlZiBpbml0
1992 # aWFsaXplKHZlcnNpb24pCiAgICAgIEBvcCA9IDIKICAgICAgcGFyc2UodmVy
1993 # c2lvbikKICAgIGVuZAogICAgCiAgICBkZWYgPT0odmVyKQogICAgICBAb3Ag
1994 # PSAwCiAgICAgIHBhcnNlKHZlcikKICAgIGVuZAogICAgCiAgICBkZWYgPih2
1995 # ZXIpCiAgICAgIEBvcCA9IDEKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAg
1996 # ICAKICAgIGRlZiA+PSh2ZXIpCiAgICAgIEBvcCA9IDIKICAgICAgcGFyc2Uo
1997 # dmVyKQogICAgZW5kCiAgICAKICAgIGRlZiB0b19zCiAgICAgIHMgPSAiUXQg
1998 # IgogICAgICBjYXNlIEBvcAogICAgICAgIHdoZW4gMAogICAgICAgICAgcys9
1999 # Ij09IgogICAgICAgIHdoZW4gMQogICAgICAgICAgcys9Ij4iCiAgICAgICAg
2000 # ZWxzZQogICAgICAgICAgcys9Ij49IgogICAgICBlbmQKICAgICAgcys9ICIg
2001 # IitAdmVyc2lvbgogICAgICAKICAgICAgcwogICAgZW5kCiAgICAKICAgIHBy
2002 # aXZhdGUKICAgIGRlZiBwYXJzZSh2ZXJzaW9uKQogICAgICBAdmVyc2lvbiA9
2003 # IHZlcnNpb24udG9fcwogICAgICB2ZXIgPSBAdmVyc2lvbi50b19zLnNwbGl0
2004 # KCcuJykKICAgICAgc2l6ZSA9IHZlci5zaXplCiAgICAgICAgCiAgICAgIGZp
2005 # bmFsdmVyID0gW10KICAgICAgMy50aW1lcyB7IHxpfAogICAgICAgIHRwID0g
2006 # dmVyW2ldCiAgICAgICAgCiAgICAgICAgaWYgdHAubmlsPwogICAgICAgICAg
2007 # dHAgPSAiMCIKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBmaW5hbHZl
2008 # ciA8PCB0cAogICAgICB9CiAgICAgIAogICAgICBAdmVyc2lvbiA9IGZpbmFs
2009 # dmVyLmpvaW4oIi4iKQogICAgZW5kCiAgZW5kCiAgCiAgY2xhc3MgU2V0dXAK
2010 # ICAgIGF0dHJfcmVhZGVyIDpvcHRpb25zLCA6cGFja2FnZXMsIDp0ZXN0cywg
2011 # OnBrZ19jb25maWdzCiAgICBkZWYgaW5pdGlhbGl6ZQogICAgICBAb3B0aW9u
2012 # cyA9IFtdCiAgICAgIEBwYWNrYWdlcyA9IFtdCiAgICAgIEB0ZXN0cyA9IFtd
2013 # CiAgICAgIEBwa2dfY29uZmlncyA9IFtdCiAgICAgIEBxdF92ZXJzaW9uID0g
2014 # UXRWZXJzaW9uLm5ldygiNC4wLjAiKQogICAgICAKICAgICAgYWRkX29wdGlv
2015 # big6bmFtZSA9PiAicHJlZml4IiwgOnR5cGUgPT4gInBhdGgiLCA6ZGVmYXVs
2016 # dCA9PiAiL3Vzci9sb2NhbC8iLCA6b3B0aW9uYWwgPT4gdHJ1ZSwgOmRlc2Ny
2017 # aXB0aW9uID0+ICJTZXRzIHRoZSBpbnN0YWxsIHByZWZpeCIpCiAgICBlbmQK
2018 # ICAgIAogICAgZGVmIGFkZF9vcHRpb24ob3B0aW9uKQogICAgICBpZiBub3Qg
2019 # b3B0aW9uWzp0eXBlXS5uaWw/CiAgICAgICAgb3B0aW9uWzp0eXBlXS5kb3du
2020 # Y2FzZSEKICAgICAgZW5kCiAgICAgIAogICAgICBAb3B0aW9ucyA8PCBvcHRp
2021 # b24KICAgIGVuZAogICAgCiAgICBkZWYgZmluZF9wYWNrYWdlKG9wdGlvbnMp
2022 # CiAgICAgIEBwYWNrYWdlcyA8PCBvcHRpb25zCiAgICBlbmQKICAgIAogICAg
2023 # ZGVmIGFkZF90ZXN0KG9wdGlvbikKICAgICAgcmFpc2UgIlBsZWFzZSBzZXQg
2024 # YSB2YWxpZCBuYW1lIHRvIHRoZSB0ZXN0IiBpZiBvcHRpb25bOm5hbWVdLnRv
2025 # X3MuZW1wdHk/CiAgICAgIHJhaXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgaWQg
2026 # dG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6aWRdLnRvX3MuZW1wdHk/CiAgICAg
2027 # IAogICAgICBAdGVzdHMgPDwgb3B0aW9uCiAgICBlbmQKICAgIAogICAgZGVm
2028 # IGdlbmVyYXRlX3BrZ2NvbmZpZyhvcHRpb25zKQogICAgICByYWlzZSAiUGxl
2029 # YXNlIHNldCBhIHZhbGlkIG5hbWUiIGlmIG9wdGlvbnNbOnBhY2thZ2VfbmFt
2030 # ZV0udG9fcy5lbXB0eT8KICAgICAgQHBrZ19jb25maWdzIDw8IG9wdGlvbnMK
2031 # ICAgIGVuZAogICAgCiAgICBkZWYgcXQKICAgICAgQHF0X3ZlcnNpb24KICAg
2032 # IGVuZAogICAgCiAgZW5kCiAgCiAgY2xhc3MgQ29uZmlndXJlCiAgICBkZWYg
2033 # aW5pdGlhbGl6ZQogICAgICBAYXJndW1lbnRzID0ge30KICAgICAgQGNvbmZp
2034 # ZyA9IENvbmZpZy5uZXcKICAgICAgCiAgICAgIEBsb2dfZmlsZSA9IG9sZGxv
2035 # Y2F0aW9uKCJjb25maWcubG9nIikKICAgICAgCiAgICAgIEZpbGUub3BlbihA
2036 # bG9nX2ZpbGUsICJ3IikgZG8gfGZ8CiAgICAgICAgZiA8PCAiPT09PT09PT4g
2037 # R2VuZXJhdGVkIGF0ICN7VGltZS5ub3d9IDw9PT09PT09XG4iCiAgICAgIGVu
2038 # ZAogICAgICAKICAgICAgcW1ha2VfcGF0aHMgPSBbXQogICAgICBpZiggRGV0
2039 # ZWN0T1Mub3M/ICE9IDEgKSAjIFVuaXgKICAgICAgICBJTy5wb3BlbigibG9j
2040 # YXRlIC1yIC9xbWFrZSQgMj4gI3tuZXdsb2NhdGlvbignbG9jYXRlX2xvZycp
2041 # fSIpIHsgfHByY3wKICAgICAgICAgIHByZV9wYXRocyA9IHByYy5yZWFkbGlu
2042 # ZXMKICAgICAgICAgIHByZV9wYXRocy5lYWNoIHsgfHFtfAogICAgICAgICAg
2043 # ICBxbS5zdHJpcCEKICAgICAgICAgICAgaWYgRmlsZS5leGlzdHM/KHFtKQog
2044 # ICAgICAgICAgICAgIHN0YXQgPSBGaWxlLnN0YXQocW0pCiAgICAgICAgICAg
2045 # ICAgCiAgICAgICAgICAgICAgaWYgKG5vdCAoc3RhdC5zeW1saW5rPyBvciBz
2046 # dGF0LmRpcmVjdG9yeT8pKSBhbmQgc3RhdC5leGVjdXRhYmxlPwogICAgICAg
2047 # ICAgICAgICAgcW1ha2VfcGF0aHMgPDwgcW0KICAgICAgICAgICAgICBlbmQK
2048 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBl
2049 # bmQKICAgICAgCiAgICAgIEBxbWFrZSA9IFFNYWtlLm5ldyhxbWFrZV9wYXRo
2050 # cywgQGxvZ19maWxlKQogICAgICAKICAgICAgY2ZnID0gU2V0dXAubmV3CiAg
2051 # ICAgIGNvbmZpZ3VyZShjZmcpCiAgICAgIAogICAgICBwcmludCAiPT4gU2Vh
2052 # cmNoaW5nIGZvciAje2NmZy5xdH0uLi4gIgogICAgICBpZiBAcW1ha2UuZmlu
2053 # ZF9xbWFrZShjZmcucXQudmVyc2lvbiwgY2ZnLnF0Lm9wKQogICAgICAgIHB1
2054 # dHMgIigje0BxbWFrZS5wYXRofSkgW1lFU10iCiAgICAgIGVsc2UKICAgICAg
2055 # ICBwdXRzICJbTk9dIgogICAgICAgIGV4aXQoLTEpCiAgICAgIGVuZAogICAg
2056 # ICAKICAgICAgQG9wdGlvbnMgPSBjZmcub3B0aW9ucwogICAgICBAcGFja2Fn
2057 # ZXMgPSBjZmcucGFja2FnZXMKICAgICAgQHRlc3RzID0gY2ZnLnRlc3RzCiAg
2058 # ICAgIEBwa2dfY29uZmlncyA9IGNmZy5wa2dfY29uZmlncwogICAgICBAc3Rh
2059 # dHVzRmlsZSA9IERpci5nZXR3ZCsiL3VwZGF0ZS1tYWtlZmlsZSIKICAgIGVu
2060 # ZAogICAgCiAgICBkZWYgZmluZF9wYWNrYWdlcyAjIFRPRE86IHNvcG9ydGFy
2061 # IGluZm9ybWFjaW9uIHBhcmEgZWwgc2lzdGVtYSBvcGVyYXRpdm8gc29icmUg
2062 # Y29tbyBpbnN0YWxhciBlbCBwYXF1ZXRlCiAgICAgIEBwYWNrYWdlcy5lYWNo
2063 # IHsgfHBhY2thZ2V8CiAgICAgICAgcHJpbnQgIj0+IFNlYXJjaGluZyBmb3Ig
2064 # cGFja2FnZTogI3twYWNrYWdlWzpuYW1lXX0uLi4gICIKICAgICAgICBwa2dj
2065 # b25maWcgPSBQa2dDb25maWcubmV3KHBhY2thZ2VbOm5hbWVdKQogICAgICAg
2066 # IGJlZ2luCiAgICAgICAgICBzZXR1cF9wa2djb25maWcocGtnY29uZmlnLCBA
2067 # YXJndW1lbnRzKQogICAgICAgIHJlc2N1ZSBOb01ldGhvZEVycm9yID0+IGUK
2068 # ICAgICAgICAgIGlmIG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX3BrZ2NvbmZp
2069 # Zy8KICAgICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZS5tZXNzYWdlfSIKICAg
2070 # ICAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQogICAgICAgICAgICBleGl0KC0x
2071 # KQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAg
2072 # aWYgbm90IHBrZ2NvbmZpZy5maW5kKHBhY2thZ2VbOm5hbWVdKQogICAgICAg
2073 # ICAgcHV0cyAiW05PXSIKICAgICAgICAgIAogICAgICAgICAgb3B0aW9uYWwg
2074 # PSBwYWNrYWdlWzpvcHRpb25hbF0ubmlsPyA/IGZhbHNlIDogcGFja2FnZVs6
2075 # b3B0aW9uYWxdCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBvcHRpb25h
2076 # bAogICAgICAgICAgICBwdXRzICI9PiBUaGUgcGFja2FnZSAnI3twYWNrYWdl
2077 # WzpuYW1lXX0nIGlzIHJlcXVpcmVkLiIKICAgICAgICAgICAgZXhpdCgtMSkK
2078 # ICAgICAgICAgIGVuZAogICAgICAgIGVsc2UKICAgICAgICAgIHB1dHMgIltZ
2079 # RVNdIgogICAgICAgICAgZ2xvYmFsID0gcGFja2FnZVs6Z2xvYmFsXS5uaWw/
2080 # ID8gZmFsc2UgOiBwYWNrYWdlWzpnbG9iYWxdCiAgICAgICAgICAKICAgICAg
2081 # ICAgIHFvbmZwa2cgPSBAY29uZmlnCiAgICAgICAgICAKICAgICAgICAgIGlm
2082 # IG5vdCBnbG9iYWwKICAgICAgICAgICAgcW9uZnBrZyA9IFBhY2thZ2UubmV3
2083 # KHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAgZW5kCiAgICAgICAgICAKICAg
2084 # ICAgICAgIAojICAgICAgICAgICBwa2djb25maWcucmVxdWlyZXMuZWFjaCB7
2085 # IHxyZXF8CiMgICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdl
2086 # KHJlcSkKIyAgICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBxb25m
2087 # cGtnLmFkZF9saWIocGtnY29uZmlnLmxpYnMpCiAgICAgICAgICAKICAgICAg
2088 # ICAgIHBrZ2NvbmZpZy5pbmNsdWRlX3BhdGguZWFjaCB7IHxpbmNwYXRofAog
2089 # ICAgICAgICAgICBxb25mcGtnLmFkZF9pbmNsdWRlX3BhdGgoaW5jcGF0aCkK
2090 # ICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgcGtnY29uZmlnLmRl
2091 # ZmluZXMuZWFjaCB7IHxkZWZpbmV8CiAgICAgICAgICAgIHFvbmZwa2cuYWRk
2092 # X2RlZmluZShkZWZpbmUpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAg
2093 # ICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9u
2094 # Zl9wYWNrYWdlKHFvbmZwa2cpCiAgICAgICAgICBlbHNlCiAgICAgICAgICAg
2095 # IEBjb25maWcuYWRkX3FvbmZfZmVhdHVyZShwYWNrYWdlWzpuYW1lXSkKICAg
2096 # ICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICB9CiAgICBlbmQKICAgIAog
2097 # ICAgZGVmIHJ1bl90ZXN0cwogICAgICBAdGVzdHMuZWFjaCB7IHx0ZXN0b3B0
2098 # fAogICAgICAgIHByaW50ICI9PiBUZXN0aW5nICN7dGVzdG9wdFs6bmFtZV19
2099 # Li4uICAiCiAgICAgICAgCiAgICAgICAgdHN0ID0gVGVzdC5uZXcodGVzdG9w
2100 # dCwgQGNvbmZpZywgQGxvZ19maWxlKQogICAgICAgIAogICAgICAgIGJlZ2lu
2101 # CiAgICAgICAgICBzZXR1cF90ZXN0KHRlc3RvcHRbOmlkXSwgdHN0LCBAYXJn
2102 # dW1lbnRzKQogICAgICAgIHJlc2N1ZSBOb01ldGhvZEVycm9yID0+IGUKICAg
2103 # ICAgICAgIGlmIG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX3Rlc3QvCiAgICAg
2104 # ICAgICAgIHB1dHMgIkVycm9yOiAje2V9IgogICAgICAgICAgICBwdXRzIGUu
2105 # YmFja3RyYWNlCiAgICAgICAgICAgIGV4aXQoLTEpCiAgICAgICAgICBlbmQK
2106 # ICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBvcHRpb25hbCA9IHRlc3Rv
2107 # cHRbOm9wdGlvbmFsXS5uaWw/ID8gZmFsc2UgOiB0ZXN0b3B0WzpvcHRpb25h
2108 # bF0KICAgICAgICBpZiB0c3QucnVuKEBxbWFrZSkKICAgICAgICAgIGdsb2Jh
2109 # bCA9IHRlc3RvcHRbOmdsb2JhbF0ubmlsPyA/IGZhbHNlIDogdGVzdG9wdFs6
2110 # Z2xvYmFsXQogICAgICAgICAgCiAgICAgICAgICBxb25mcGtnID0gQGNvbmZp
2111 # ZwogICAgICAgICAgCiAgICAgICAgICBpZiBub3QgZ2xvYmFsCiAgICAgICAg
2112 # ICAgIHFvbmZwa2cgPSBQYWNrYWdlLm5ldyh0c3QuaWQpCiAgICAgICAgICBl
2113 # bmQKICAgICAgICAgIAogICAgICAgICAgdHN0LmluY2x1ZGVfcGF0aC5lYWNo
2114 # IHsgfGluY3BhdGh8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVf
2115 # cGF0aChpbmNwYXRoKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAg
2116 # ICB0c3QuZGVmaW5lcy5lYWNoIHsgfGRlZmluZXwKICAgICAgICAgICAgcW9u
2117 # ZnBrZy5hZGRfZGVmaW5lKGRlZmluZSkKICAgICAgICAgIH0KICAgICAgICAg
2118 # IAogICAgICAgICAgcW9uZnBrZy5hZGRfbGliKHRzdC5saWJzLnRvX3MpCiAg
2119 # ICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAg
2120 # QGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHFvbmZwa2cpCiAgICAgICAgICBl
2121 # bHNlCiAgICAgICAgICAgIEBjb25maWcuYWRkX3FvbmZfZmVhdHVyZSh0c3Qu
2122 # aWQpCiAgICAgICAgICBlbmQKICAgICAgICAgIHB1dHMgIltPS10iCiAgICAg
2123 # ICAgZWxzZQogICAgICAgICAgcHV0cyAiW0ZBSUxFRF0iCiAgICAgICAgICAK
2124 # ICAgICAgICAgIGlmIG5vdCBvcHRpb25hbAogICAgICAgICAgICBwdXRzICI9
2125 # PiAje3Rlc3RvcHRbOm5hbWVdfSBpcyByZXF1aXJlZCIKICAgICAgICAgICAg
2126 # ZXhpdCgtMSkKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICB9CiAg
2127 # ICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRlX21ha2VmaWxlcwogICAgICBw
2128 # dXRzICI9PiBDcmVhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAgIEBxbWFrZS5y
2129 # dW4oIiIsIHRydWUpCiAgICAgIAogICAgICBwdXRzICI9PiBVcGRhdGluZyBt
2130 # YWtlZmlsZXMuLi4iCiAgICAgIAogICAgICBAbWFrZWZpbGVzID0gTWFrZWZp
2131 # bGU6OmZpbmRfbWFrZWZpbGVzKERpci5nZXR3ZCkKICAgICAgQG1ha2VmaWxl
2132 # cy5lYWNoIHsgfG1ha2VmaWxlfAogICAgICAgICAgTWFrZWZpbGU6Om92ZXJy
2133 # aWRlKG1ha2VmaWxlLCBGaWxlLmV4cGFuZF9wYXRoKEBhcmd1bWVudHNbInBy
2134 # ZWZpeCJdLnRvX3MpLCBAc3RhdHVzRmlsZSkKICAgICAgfQogICAgICAKICAg
2135 # ICAgRmlsZS5vcGVuKEBzdGF0dXNGaWxlLCAidyIgKSB7IHxmaWxlfAogICAg
2136 # ICAgIGZpbGUgPDwgJUAKI3tGaWxlLnJlYWQobmV3bG9jYXRpb24oIm1ha2Vm
2137 # aWxlLnJiIikpfQpRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUoIEFSR1ZbMF0u
2138 # dG9fcywgIiN7QGFyZ3VtZW50c1sicHJlZml4Il19IiwgIiN7QHN0YXR1c0Zp
2139 # bGV9IiApCkAKICAgICAgfQogICAgZW5kCiAgICAKICAgIGRlZiBnZXRfYXJn
2140 # cyhhcmd2KQogICAgICBvcHRjID0gMAogICAgICBsYXN0X29wdCA9ICIiCiAg
2141 # ICAgIAogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICBn
2142 # aXZlbl9vcHRpb24gPSBuaWwKICAgICAgICAKICAgICAgICBhcmd2LmVhY2gg
2143 # eyB8YXJnfAogICAgICAgICAgYXJnLnN0cmlwIQogICAgICAgICAgZ2l2ZW4g
2144 # PSBmYWxzZQogICAgICAgICAgCiAgICAgICAgICBjYXNlIG9wdGlvbls6dHlw
2145 # ZV0udG9fcwogICAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAg
2146 # ICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtcV1x3XSopLwog
2147 # ICAgICAgICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBn
2148 # aXZlbl9vcHRpb24gPSAkMQogICAgICAgICAgICAgIGVuZAogICAgICAgICAg
2149 # ICB3aGVuICJwYXRoIgogICAgICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29w
2150 # dGlvbls6bmFtZV19PShbXFdcd10qKS8KICAgICAgICAgICAgICAgIGdpdmVu
2151 # ID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0gRmlsZS5l
2152 # eHBhbmRfcGF0aCgkMSkKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAg
2153 # d2hlbiAiYm9vbCIKICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0tdXNlLSN7
2154 # b3B0aW9uWzpuYW1lXX09KFx3KykvCiAgICAgICAgICAgICAgICBnaXZlbiA9
2155 # IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICQxCiAgICAg
2156 # ICAgICAgICAgZW5kCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBp
2157 # ZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVdfS8KICAgICAgICAgICAgICAg
2158 # IGdpdmVuX29wdGlvbiA9ICJ5ZXMiCiAgICAgICAgICAgICAgICBnaXZlbiA9
2159 # IHRydWUKICAgICAgICAgICAgICBlbmQKICAgICAgICAgIGVuZAogICAgICAg
2160 # ICAgCiAgICAgICAgICBpZiBnaXZlbgogICAgICAgICAgICBhcmd2LmRlbGV0
2161 # ZShhcmcpCiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgICAgCiAgICAg
2162 # ICAgb3B0aW9uWzp2YWx1ZV0gPSBnaXZlbl9vcHRpb24KICAgICAgfQogICAg
2163 # ICAKICAgICAgZnJvbnRlbmRfa2V5ID0gInRrIgogICAgICBhcmd2LmVhY2gg
2164 # eyB8dW5rbm93bnwKICAgICAgICB1bmtub3duLnN0cmlwIQogICAgICAgIGlm
2165 # IHVua25vd24gPX4gLy0td2l0aC1jb25maWctZnJvbnRlbmQ9KFx3KykvCiAg
2166 # ICAgICAgICBmcm9udGVuZF9rZXkgPSAkMQogICAgICAgIGVsc2lmIHVua25v
2167 # d24gPX4gLy0taGVscC8KICAgICAgICAgIHVzYWdlCiAgICAgICAgICBleGl0
2168 # KDApCiAgICAgICAgZWxzaWYgdW5rbm93biA9fiAvLS12ZXJzaW9uLwogICAg
2169 # ICAgICAgcHV0cyAiUU9uZiAje1ZFUlNJT059IFsje1ZFUlNJT05fREFURX1d
2170 # IgogICAgICAgICAgZXhpdCgwKQogICAgICAgIGVuZAogICAgICB9CiAgICAg
2171 # IAogICAgICBmcm9udGVuZCA9IEZyb250ZW5kRmFjdG9yeS5jcmVhdGUoZnJv
2172 # bnRlbmRfa2V5KQogICAgICBpZiBmcm9udGVuZC5uaWw/CiAgICAgICAgcHV0
2173 # cyAiPT4gSW52YWxpZCBmcm9udGVuZCIKICAgICAgICB1c2FnZSgpCiAgICAg
2174 # ICAgZXhpdCgtMSkKICAgICAgZWxzaWYgbm90IGZyb250ZW5kLnBhcnNlKEBv
2175 # cHRpb25zKQogICAgICAgIHVzYWdlKCkKICAgICAgICBleGl0KC0xKQogICAg
2176 # ICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0aW9ufAog
2177 # ICAgICAgIHZhbHVlID0gb3B0aW9uWzp2YWx1ZV0ubmlsPyA/IG9wdGlvbls6
2178 # ZGVmYXVsdF0udG9fcyA6IG9wdGlvbls6dmFsdWVdCiAgICAgICAgQGFyZ3Vt
2179 # ZW50c1tvcHRpb25bOm5hbWVdXSA9IHZhbHVlCiAgICAgIH0KICAgICAgCiAg
2180 # ICBlbmQKICAgIAogICAgZGVmIHNhdmUocGF0aCkKICAgICAgYmVnaW4KICAg
2181 # ICAgICBzZXR1cF9jb25maWcoQGNvbmZpZywgQGFyZ3VtZW50cykKICAgICAg
2182 # cmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgIGlmIG5vdCBlLm1l
2183 # c3NhZ2UgPX4gL3NldHVwX2NvbmZpZy8KICAgICAgICAgIHB1dHMgIkVycm9y
2184 # OiAje2V9IgogICAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQogICAgICAgICAg
2185 # ZXhpdCgtMSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIAogICAgICBA
2186 # Y29uZmlnLmFkZF9kZWZpbmUoJUBfX1BSRUZJWF9fPSdcXFxcIicje0ZpbGUu
2187 # ZXhwYW5kX3BhdGggQGFyZ3VtZW50c1sicHJlZml4Il19J1xcXFwiJ0ApCiAg
2188 # ICAgIAogICAgICBzYXZlX3BrZ2NvbmZpZwogICAgICBAY29uZmlnLnNhdmUo
2189 # cGF0aCkKICAgICAgCiAgICAgIGxhdW5jaGVyID0gbmlsCiAgICAgIGlmIERl
2190 # dGVjdE9TLm9zPyA9PSAxICMgV2luZG93cwogICAgICAgIGxhdW5jaGVyID0g
2191 # RmlsZS5uZXcoImxhdW5jaGVyLmJhdCIsICJ3IikKICAgICAgICAKICAgICAg
2192 # ICBsYXVuY2hlciA8PCAic2V0IFBBVEg9I3tAY29uZmlnLmJ1aWxkX2Rpci5n
2193 # c3ViKCcvJywgJ1xcJyl9XFxiaW47I3tAY29uZmlnLmJ1aWxkX2Rpci5nc3Vi
2194 # KCcvJywgJ1xcJyl9XFxsaWI7JVBBVEglXG4iCiAgICAgICAgbGF1bmNoZXIg
2195 # PDwgIiUxXG4iCiAgICAgIGVsc2UKICAgICAgICBsYXVuY2hlciA9IEZpbGUu
2196 # bmV3KCJsYXVuY2hlci5zaCIsInciKQogICAgICAgIGxhdW5jaGVyIDw8ICIj
2197 # IS9iaW4vYmFzaFxuIgogICAgICAgIGxhdW5jaGVyIDw8ICJleHBvcnQgUEFU
2198 # SD0je0Bjb25maWcuYnVpbGRfZGlyfS9iaW46JHtQQVRIfVxuIgogICAgICAg
2199 # IGxhdW5jaGVyIDw8ICJleHBvcnQgTERfTElCUkFSWV9QQVRIPSN7QGNvbmZp
2200 # Zy5idWlsZF9kaXJ9L2Jpbjoje0Bjb25maWcuYnVpbGRfZGlyfS9saWI6I3tA
2201 # Y29uZmlnLmxpYnJhcnlfcGF0aC5qb2luKCI6Iil9OiR7TERfTElCUkFSWV9Q
2202 # QVRIfToke0RZX0xEX0xJQlJBUllfUEFUSH1cbiIKICAgICAgICBsYXVuY2hl
2203 # ciA8PCAiZXhwb3J0IERZTERfTElCUkFSWV9QQVRIPSR7TERfTElCUkFSWV9Q
2204 # QVRIfVxuIgogICAgICAgIGxhdW5jaGVyIDw8ICJBUFA9JDFcbiIKICAgICAg
2205 # ICBsYXVuY2hlciA8PCAic2hpZnRcbiIKICAgICAgICBsYXVuY2hlciA8PCAi
2206 # ZWNobyBMYXVuY2hpbmc6ICRBUFBcbiIKICAgICAgICBsYXVuY2hlciA8PCAi
2207 # JEFQUCAkKlxuIgogICAgICBlbmQKICAgICAgCiAgICAgIEZpbGUuY2htb2Qo
2208 # MDc1NSwgbGF1bmNoZXIucGF0aCkKICAgICAgCiAgICBlbmQKICAgIAogICAg
2209 # ZGVmIHNhdmVfcGtnY29uZmlnCiAgICAgIGlmIG5vdCBAcGtnX2NvbmZpZ3Mu
2210 # ZW1wdHk/CiAgICAgICAgQHBrZ19jb25maWdzLmVhY2ggeyB8cGtnX2NvbmZp
2211 # Z3wKICAgICAgICAgIEZpbGUub3BlbiggcGtnX2NvbmZpZ1s6cGFja2FnZV9u
2212 # YW1lXSsiLnBjIiwgInciKSBkbyB8ZmlsZXwKICAgICAgICAgICAgZmlsZSA8
2213 # PCAicHJlZml4PSIgPDwgQGFyZ3VtZW50c1sicHJlZml4Il0gPDwgIlxuIgog
2214 # ICAgICAgICAgICBmaWxlIDw8ICJleGVjX3ByZWZpeD0ke3ByZWZpeH0iIDw8
2215 # ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAibGliZGlyPSN7cGtnX2NvbmZp
2216 # Z1s6bGliZGlyXS5uaWw/ID8gIiR7cHJlZml4fS9saWIiIDogcGtnX2NvbmZp
2217 # Z1s6bGliZGlyXSB9IiA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgImlu
2218 # Y2x1ZGVkaXI9I3twa2dfY29uZmlnWzppbmNsdWRlZGlyXS5uaWw/ID8gIiR7
2219 # cHJlZml4fS9pbmNsdWRlIiA6IHBrZ19jb25maWdbOmluY2x1ZGVkaXJdIH0i
2220 # IDw8ICJcblxuXG4iCiAgICAgICAgICAgIAogICAgICAgICAgICBmaWxlIDw8
2221 # ICJOYW1lOiAiIDw8IHBrZ19jb25maWdbOnBhY2thZ2VfbmFtZV0gPDwgIlxu
2222 # IgogICAgICAgICAgICBmaWxlIDw8ICJEZXNjcmlwdGlvbjogIiA8PCBwa2df
2223 # Y29uZmlnWzpkZXNjcmlwdGlvbl0gPDwgIlxuIgogICAgICAgICAgICBmaWxl
2224 # IDw8ICJSZXF1aXJlczogIiA8PCBwa2dfY29uZmlnWzpyZXF1aXJlc10uam9p
2225 # bigiICIpIDw8ICJcbiIgaWYgcGtnX2NvbmZpZ1s6cmVxdWlyZXNdLmNsYXNz
2226 # ID09IEFycmF5CiAgICAgICAgICAgIGZpbGUgPDwgIlZlcnNpb246ICIgPDwg
2227 # cGtnX2NvbmZpZ1s6dmVyc2lvbl0gPDwgIlxuIgogICAgICAgICAgICAKICAg
2228 # ICAgICAgICAgZmlsZSA8PCAiTGliczogIiA8PCBwa2dfY29uZmlnWzpsaWJz
2229 # XSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgIkNmbGFnczogIiA8PCBw
2230 # a2dfY29uZmlnWzpjZmxhZ3NdIDw8ICJcbiIKICAgICAgICAgIGVuZAogICAg
2231 # ICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIAogICAgCiAgICBkZWYgbG9n
2232 # KHR4dCkKICAgICAgRmlsZS5vcGVuKEBsb2dfZmlsZSwgImEiKSBkbyB8ZnwK
2233 # ICAgICAgICBmIDw8IHR4dCA8PCAiXG4iCiAgICAgIGVuZAogICAgZW5kCiAg
2234 # ICAKICAgIGRlZiB1c2FnZQogICAgICBwdXRzICJPcHRpb25zOiIKICAgICAg
2235 # QG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgICAgY2FzZSBvcHRpb25b
2236 # OnR5cGVdCiAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgIHBy
2237 # aW50ICJcbiAgLS0je29wdGlvbls6bmFtZV19PVt2YWx1ZV0iCiAgICAgICAg
2238 # ICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0g
2239 # IgogICAgICAgICAgICAKICAgICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVm
2240 # YXVsdF0ubmlsPwogICAgICAgICAgICAgIHByaW50ICJbZGVmYXVsdD0je29w
2241 # dGlvbls6ZGVmYXVsdF19XSIKICAgICAgICAgICAgZW5kCiAgICAgICAgICB3
2242 # aGVuICJwYXRoIgogICAgICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25b
2243 # Om5hbWVdfT1bL2EvcGF0aF0iCiAgICAgICAgICAgIHByaW50ICJcdFx0Li4u
2244 # Li4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gIgogICAgICAgICAgICAKICAg
2245 # ICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVsdF0ubmlsPwogICAgICAg
2246 # ICAgICAgIHByaW50ICJbZGVmYXVsdD0je29wdGlvbls6ZGVmYXVsdF19XSIK
2247 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICB3aGVuICJib29sIgogICAgICAg
2248 # ICAgICBwcmludCAiXG4gIC0tdXNlLSN7b3B0aW9uWzpuYW1lXX09W3llc3xu
2249 # b10iCiAgICAgICAgICAgIGlmIG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8K
2250 # ICAgICAgICAgICAgICBkZWZhdWx0ID0gb3B0aW9uWzpkZWZhdWx0XQogICAg
2251 # ICAgICAgICAgIGlmIGRlZmF1bHQgPT0gdHJ1ZSBvciBkZWZhdWx0ID09ICJ5
2252 # ZXMiIG9yIGRlZmF1bHQgPT0gInRydWUiCiAgICAgICAgICAgICAgICBkZWZh
2253 # dWx0ID0gInllcyIKICAgICAgICAgICAgICBlbHNpZiBkZWZhdWx0ID09IGZh
2254 # bHNlIG9yIGRlZmF1bHQgPT0gIm5vIiBvciBkZWZhdWx0ID09ICJmYWxzZSIK
2255 # ICAgICAgICAgICAgICAgIGRlZmF1bHQgPSAibm8iCiAgICAgICAgICAgICAg
2256 # ZWxzZQogICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJubyIKICAgICAgICAg
2257 # ICAgICBlbmQKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBwcmludCAi
2258 # XHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19IFtkZWZhdWx0PSN7
2259 # ZGVmYXVsdH1dIgogICAgICAgICAgICBlbmQKICAgICAgICAgIGVsc2UKICAg
2260 # ICAgICAgICAgcHJpbnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX0iCiAgICAg
2261 # ICAgICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9u
2262 # XX0iCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAgICAgIHByaW50ICJc
2263 # biAgLS13aXRoLWNvbmZpZy1mcm9udGVuZD1bcGxhaW58dGtdIgogICAgICBw
2264 # cmludCAiXHRcdC4uLi4uLlNldHMgdGhlIGZyb250ZW5kIHRvIGNvbmZpZ3Vy
2265 # ZSB0aGUgYXBwbGljYXRpb24gW2RlZmF1bHQ9dGtdIgogICAgICBwcmludCAi
2266 # XG4gIC0taGVscCIKICAgICAgcHJpbnQgIlxuICAtLXZlcnNpb24iCiAgICAg
2267 # IHByaW50ICJcdFx0Li4uLi4uU2hvd3MgdGhpcyBtZXNzYWdlIgogICAgICAK
2268 # ICAgICAgcHV0cyAiIgogICAgZW5kCiAgZW5kCmVuZAoKYmVnaW4KICBsb2Fk
2269 # ICJzZXR1cC5yYiIKcmVzY3VlIExvYWRFcnJvcgogIEZpbGUub3BlbihvbGRs
2270 # b2NhdGlvbigic2V0dXAucmIiKSwgInciKSBkbyB8ZmlsZXwKICAgIGZpbGUg
2271 # PDwgRmlsZS5yZWFkKCJzZXR1cF9yYi50cGwiKSA8PCAiXG4iCiAgZW5kCiAg
2272 # cHV0cyAiPT4gQSB0ZW1wbGF0ZSBmaWxlIHdhcyBnZW5lcmF0ZWQgaW4gc2V0
2273 # dXAucmIsIHBsZWFzZSBlZGl0IGl0IGFuZCByZXJ1biB0aGUgY29uZmlndXJl
2274 # IHNjcmlwdC4iCiAgZXhpdCgtMSkKZW5kCgppZiBfX0ZJTEVfXyA9PSAkMAog
2275 # IHFvbmYgPSBRb25mOjpDb25maWd1cmUubmV3CiAgcW9uZi5nZXRfYXJncyhB
2276 # UkdWKQogIHFvbmYuZmluZF9wYWNrYWdlcwogIHFvbmYucnVuX3Rlc3RzCiAg
2277 # CiAgcW9uZi5zYXZlKCJjb25maWcucHJpIikKICAKICBxb25mLmdlbmVyYXRl
2278 # X21ha2VmaWxlcwplbmQKCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2279 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2280 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2281 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2282 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2283 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2284 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2285 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2286 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2287 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2288 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2289 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2290 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2291 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2292 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2293 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2294 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2295 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2296 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2297 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2298 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2299 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2300 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2301 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2302 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2303 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2304 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2305 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2306 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2307 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2308 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2309 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2310 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2311 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2312 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2313 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2314 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2315 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2316 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2317 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2318 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2319 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2320 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2321 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2322 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2323 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2324 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2325 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2326 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2327 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2328 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2329 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2330 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2331 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2332 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2333 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2334 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2335 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2336 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2337 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2338 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2339 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2340 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2341 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2342 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2343 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2344 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2345 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2346 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2347 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2348 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2349 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2350 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2351 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2352 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2353 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2354 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2355 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2356 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2357 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2358 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2359 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2360 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2361 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2362 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2363 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2364 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2365 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2366 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2367 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2368 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2369 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2370 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2371 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2372 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2373 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2374 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2375 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2376 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2377 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2378 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2379 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2380 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2381 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2382 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2383 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2384 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2385 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2386 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2387 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2388 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2389 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2390 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2391 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2392 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2393 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2394 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2395 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2396 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2397 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2398 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2399 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2400 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2401 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2402 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2403 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2404 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2405 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2406 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2407 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2408 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2409 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2410 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2411 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2412 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2413 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2414 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2415 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2416 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2417 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2418 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2419 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2420 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2421 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2422 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2423 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2424 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2425 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2426 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2427 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2428 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2429 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2430 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2431 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2432 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2433 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2434 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2435 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2436 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2437 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2438 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2439 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2440 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2441 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2442 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2443 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2444 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2445 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2446 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2447 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2448 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2449 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2450 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2451 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2452 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2453 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2454 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2455 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2456 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2457 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2458 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2459 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2460 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2461 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2462 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2463 # AAAAAAAAAAAAAAAAAAAAAAAAAAA=