Add icon and menu entry
[dashstudio.git] / qonfigure.rb
blob17d0f4d8719a07fe511c47e2942ed53dcd3f1c8c
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 # ADEwNzEzMzc1MTY0ADAxMjQxNgAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
649 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAA
650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
654 # AAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcW9uZi5yYgAAAAAAAAAAAAAA
655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAw
657 # MDE3NTAAMDAwMDAwMzIyNDEAMTA3MTMzNzQyNzcAMDEzNzE0ACAwAAAAAAAA
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 # c3RhdHVzRmlsZX0iICkKQAoKaWYgRGV0ZWN0T1Mub3M/ID09IDEgI3dpbjMy
820 # CiAgICAgICAgZmlsZSA8PCAlQApRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUo
821 # IEFSR1ZbMF0udG9fcysiLnJlbGVhc2UiLCAiI3tAYXJndW1lbnRzWyJwcmVm
822 # aXgiXX0iLCAiI3tAc3RhdHVzRmlsZX0iICkKUW9uZjo6TWFrZWZpbGU6Om92
823 # ZXJyaWRlKCBBUkdWWzBdLnRvX3MrIi5kZWJ1ZyIsICIje0Bhcmd1bWVudHNb
824 # InByZWZpeCJdfSIsICIje0BzdGF0dXNGaWxlfSIgKQpACmVuZAogICAgICB9
825 # CiAgICBlbmQKICAgIAogICAgZGVmIGdldF9hcmdzKGFyZ3YpCiAgICAgIG9w
826 # dGMgPSAwCiAgICAgIGxhc3Rfb3B0ID0gIiIKICAgICAgCiAgICAgIEBvcHRp
827 # b25zLmVhY2ggeyB8b3B0aW9ufAogICAgICAgIGdpdmVuX29wdGlvbiA9IG5p
828 # bAogICAgICAgIAogICAgICAgIGFyZ3YuZWFjaCB7IHxhcmd8CiAgICAgICAg
829 # ICBhcmcuc3RyaXAhCiAgICAgICAgICBnaXZlbiA9IGZhbHNlCiAgICAgICAg
830 # ICAKICAgICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXS50b19zCiAgICAgICAg
831 # ICAgIHdoZW4gInN0cmluZyIKICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0t
832 # I3tvcHRpb25bOm5hbWVdfT0oW1xXXHddKikvCiAgICAgICAgICAgICAgICBn
833 # aXZlbiA9IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICQx
834 # CiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHdoZW4gInBhdGgiCiAg
835 # ICAgICAgICAgICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtc
836 # V1x3XSopLwogICAgICAgICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAg
837 # ICAgICAgICBnaXZlbl9vcHRpb24gPSBGaWxlLmV4cGFuZF9wYXRoKCQxKQog
838 # ICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVuICJib29sIgogICAg
839 # ICAgICAgICAgIGlmIGFyZyA9fiAvLS11c2UtI3tvcHRpb25bOm5hbWVdfT0o
840 # XHcrKS8KICAgICAgICAgICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAg
841 # ICAgICAgZ2l2ZW5fb3B0aW9uID0gJDEKICAgICAgICAgICAgICBlbmQKICAg
842 # ICAgICAgICAgZWxzZQogICAgICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29w
843 # dGlvbls6bmFtZV19LwogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0g
844 # InllcyIKICAgICAgICAgICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAg
845 # ICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIGlm
846 # IGdpdmVuCiAgICAgICAgICAgIGFyZ3YuZGVsZXRlKGFyZykKICAgICAgICAg
847 # IGVuZAogICAgICAgIH0KICAgICAgICAKICAgICAgICBvcHRpb25bOnZhbHVl
848 # XSA9IGdpdmVuX29wdGlvbgogICAgICB9CiAgICAgIAogICAgICBmcm9udGVu
849 # ZF9rZXkgPSAidGsiCiAgICAgIGFyZ3YuZWFjaCB7IHx1bmtub3dufAogICAg
850 # ICAgIHVua25vd24uc3RyaXAhCiAgICAgICAgaWYgdW5rbm93biA9fiAvLS13
851 # aXRoLWNvbmZpZy1mcm9udGVuZD0oXHcrKS8KICAgICAgICAgIGZyb250ZW5k
852 # X2tleSA9ICQxCiAgICAgICAgZWxzaWYgdW5rbm93biA9fiAvLS1oZWxwLwog
853 # ICAgICAgICAgdXNhZ2UKICAgICAgICAgIGV4aXQoMCkKICAgICAgICBlbHNp
854 # ZiB1bmtub3duID1+IC8tLXZlcnNpb24vCiAgICAgICAgICBwdXRzICJRT25m
855 # ICN7VkVSU0lPTn0gWyN7VkVSU0lPTl9EQVRFfV0iCiAgICAgICAgICBleGl0
856 # KDApCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAgICAgIGZyb250ZW5k
857 # ID0gRnJvbnRlbmRGYWN0b3J5LmNyZWF0ZShmcm9udGVuZF9rZXkpCiAgICAg
858 # IGlmIGZyb250ZW5kLm5pbD8KICAgICAgICBwdXRzICI9PiBJbnZhbGlkIGZy
859 # b250ZW5kIgogICAgICAgIHVzYWdlKCkKICAgICAgICBleGl0KC0xKQogICAg
860 # ICBlbHNpZiBub3QgZnJvbnRlbmQucGFyc2UoQG9wdGlvbnMpCiAgICAgICAg
861 # dXNhZ2UoKQogICAgICAgIGV4aXQoLTEpCiAgICAgIGVuZAogICAgICAKICAg
862 # ICAgQG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgICAgdmFsdWUgPSBv
863 # cHRpb25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDog
864 # b3B0aW9uWzp2YWx1ZV0KICAgICAgICBAYXJndW1lbnRzW29wdGlvbls6bmFt
865 # ZV1dID0gdmFsdWUKICAgICAgfQogICAgICAKICAgIGVuZAogICAgCiAgICBk
866 # ZWYgc2F2ZShwYXRoKQogICAgICBiZWdpbgogICAgICAgIHNldHVwX2NvbmZp
867 # ZyhAY29uZmlnLCBAYXJndW1lbnRzKQogICAgICByZXNjdWUgTm9NZXRob2RF
868 # cnJvciA9PiBlCiAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBf
869 # Y29uZmlnLwogICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAg
870 # ICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICBleGl0KC0xKQogICAgICAg
871 # IGVuZAogICAgICBlbmQKICAgICAgCiAgICAgIEBjb25maWcuYWRkX2RlZmlu
872 # ZSglQF9fUFJFRklYX189J1xcXFwiJyN7RmlsZS5leHBhbmRfcGF0aCBAYXJn
873 # dW1lbnRzWyJwcmVmaXgiXX0nXFxcXCInQCkKICAgICAgCiAgICAgIHNhdmVf
874 # cGtnY29uZmlnCiAgICAgIEBjb25maWcuc2F2ZShwYXRoKQogICAgICAKICAg
875 # ICAgbGF1bmNoZXIgPSBuaWwKICAgICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEg
876 # IyBXaW5kb3dzCiAgICAgICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNo
877 # ZXIuYmF0IiwgInciKQogICAgICAgIAogICAgICAgIGxhdW5jaGVyIDw8ICJz
878 # ZXQgUEFUSD0je0Bjb25maWcuYnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1c
879 # XGJpbjsje0Bjb25maWcuYnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGxp
880 # Yjsje0Bjb25maWcubGlicmFyeV9wYXRoLmpvaW4oIjoiKS5nc3ViKCcvJywg
881 # J1xcJyl9OyVQQVRIJVxuIgogICAgICAgIGxhdW5jaGVyIDw8ICIlMVxuIgog
882 # ICAgICBlbHNlCiAgICAgICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNo
883 # ZXIuc2giLCJ3IikKICAgICAgICBsYXVuY2hlciA8PCAiIyEvYmluL2Jhc2hc
884 # biIKICAgICAgICBsYXVuY2hlciA8PCAiZXhwb3J0IFBBVEg9I3tAY29uZmln
885 # LmJ1aWxkX2Rpcn0vYmluOiR7UEFUSH1cbiIKICAgICAgICBsYXVuY2hlciA8
886 # PCAiZXhwb3J0IExEX0xJQlJBUllfUEFUSD0je0Bjb25maWcuYnVpbGRfZGly
887 # fS9iaW46I3tAY29uZmlnLmJ1aWxkX2Rpcn0vbGliOiN7QGNvbmZpZy5saWJy
888 # YXJ5X3BhdGguam9pbigiOiIpfToke0xEX0xJQlJBUllfUEFUSH06JHtEWV9M
889 # RF9MSUJSQVJZX1BBVEh9XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9y
890 # dCBEWUxEX0xJQlJBUllfUEFUSD0ke0xEX0xJQlJBUllfUEFUSH1cbiIKICAg
891 # ICAgICBsYXVuY2hlciA8PCAiQVBQPSQxXG4iCiAgICAgICAgbGF1bmNoZXIg
892 # PDwgInNoaWZ0XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImVjaG8gTGF1bmNo
893 # aW5nOiAkQVBQXG4iCiAgICAgICAgbGF1bmNoZXIgPDwgIiRBUFAgJCpcbiIK
894 # ICAgICAgZW5kCiAgICAgIAogICAgICBGaWxlLmNobW9kKDA3NTUsIGxhdW5j
895 # aGVyLnBhdGgpCiAgICAgIAogICAgZW5kCiAgICAKICAgIGRlZiBzYXZlX3Br
896 # Z2NvbmZpZwogICAgICBpZiBub3QgQHBrZ19jb25maWdzLmVtcHR5PwogICAg
897 # ICAgIEBwa2dfY29uZmlncy5lYWNoIHsgfHBrZ19jb25maWd8CiAgICAgICAg
898 # ICBGaWxlLm9wZW4oIHBrZ19jb25maWdbOnBhY2thZ2VfbmFtZV0rIi5wYyIs
899 # ICJ3IikgZG8gfGZpbGV8CiAgICAgICAgICAgIGZpbGUgPDwgInByZWZpeD0i
900 # IDw8IEBhcmd1bWVudHNbInByZWZpeCJdIDw8ICJcbiIKICAgICAgICAgICAg
901 # ZmlsZSA8PCAiZXhlY19wcmVmaXg9JHtwcmVmaXh9IiA8PCAiXG4iCiAgICAg
902 # ICAgICAgIGZpbGUgPDwgImxpYmRpcj0je3BrZ19jb25maWdbOmxpYmRpcl0u
903 # bmlsPyA/ICIke3ByZWZpeH0vbGliIiA6IHBrZ19jb25maWdbOmxpYmRpcl0g
904 # fSIgPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJpbmNsdWRlZGlyPSN7
905 # cGtnX2NvbmZpZ1s6aW5jbHVkZWRpcl0ubmlsPyA/ICIke3ByZWZpeH0vaW5j
906 # bHVkZSIgOiBwa2dfY29uZmlnWzppbmNsdWRlZGlyXSB9IiA8PCAiXG5cblxu
907 # IgogICAgICAgICAgICAKICAgICAgICAgICAgZmlsZSA8PCAiTmFtZTogIiA8
908 # PCBwa2dfY29uZmlnWzpwYWNrYWdlX25hbWVdIDw8ICJcbiIKICAgICAgICAg
909 # ICAgZmlsZSA8PCAiRGVzY3JpcHRpb246ICIgPDwgcGtnX2NvbmZpZ1s6ZGVz
910 # Y3JpcHRpb25dIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiUmVxdWly
911 # ZXM6ICIgPDwgcGtnX2NvbmZpZ1s6cmVxdWlyZXNdLmpvaW4oIiAiKSA8PCAi
912 # XG4iIGlmIHBrZ19jb25maWdbOnJlcXVpcmVzXS5jbGFzcyA9PSBBcnJheQog
913 # ICAgICAgICAgICBmaWxlIDw8ICJWZXJzaW9uOiAiIDw8IHBrZ19jb25maWdb
914 # OnZlcnNpb25dIDw8ICJcbiIKICAgICAgICAgICAgCiAgICAgICAgICAgIGZp
915 # bGUgPDwgIkxpYnM6ICIgPDwgcGtnX2NvbmZpZ1s6bGlic10gPDwgIlxuIgog
916 # ICAgICAgICAgICBmaWxlIDw8ICJDZmxhZ3M6ICIgPDwgcGtnX2NvbmZpZ1s6
917 # Y2ZsYWdzXSA8PCAiXG4iCiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAg
918 # IGVuZAogICAgZW5kCiAgICAKICAgIAogICAgZGVmIGxvZyh0eHQpCiAgICAg
919 # IEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIikgZG8gfGZ8CiAgICAgICAgZiA8
920 # PCB0eHQgPDwgIlxuIgogICAgICBlbmQKICAgIGVuZAogICAgCiAgICBkZWYg
921 # dXNhZ2UKICAgICAgcHV0cyAiT3B0aW9uczoiCiAgICAgIEBvcHRpb25zLmVh
922 # Y2ggeyB8b3B0aW9ufAogICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXQogICAg
923 # ICAgICAgd2hlbiAic3RyaW5nIgogICAgICAgICAgICBwcmludCAiXG4gIC0t
924 # I3tvcHRpb25bOm5hbWVdfT1bdmFsdWVdIgogICAgICAgICAgICBwcmludCAi
925 # XHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19ICIKICAgICAgICAg
926 # ICAgCiAgICAgICAgICAgIGlmIG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8K
927 # ICAgICAgICAgICAgICBwcmludCAiW2RlZmF1bHQ9I3tvcHRpb25bOmRlZmF1
928 # bHRdfV0iCiAgICAgICAgICAgIGVuZAogICAgICAgICAgd2hlbiAicGF0aCIK
929 # ICAgICAgICAgICAgcHJpbnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09Wy9h
930 # L3BhdGhdIgogICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0aW9u
931 # WzpkZXNjcmlwdGlvbl19ICIKICAgICAgICAgICAgCiAgICAgICAgICAgIGlm
932 # IG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBwcmlu
933 # dCAiW2RlZmF1bHQ9I3tvcHRpb25bOmRlZmF1bHRdfV0iCiAgICAgICAgICAg
934 # IGVuZAogICAgICAgICAgd2hlbiAiYm9vbCIKICAgICAgICAgICAgcHJpbnQg
935 # IlxuICAtLXVzZS0je29wdGlvbls6bmFtZV19PVt5ZXN8bm9dIgogICAgICAg
936 # ICAgICBpZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAg
937 # ICAgZGVmYXVsdCA9IG9wdGlvbls6ZGVmYXVsdF0KICAgICAgICAgICAgICBp
938 # ZiBkZWZhdWx0ID09IHRydWUgb3IgZGVmYXVsdCA9PSAieWVzIiBvciBkZWZh
939 # dWx0ID09ICJ0cnVlIgogICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJ5ZXMi
940 # CiAgICAgICAgICAgICAgZWxzaWYgZGVmYXVsdCA9PSBmYWxzZSBvciBkZWZh
941 # dWx0ID09ICJubyIgb3IgZGVmYXVsdCA9PSAiZmFsc2UiCiAgICAgICAgICAg
942 # ICAgICBkZWZhdWx0ID0gIm5vIgogICAgICAgICAgICAgIGVsc2UKICAgICAg
943 # ICAgICAgICAgIGRlZmF1bHQgPSAibm8iCiAgICAgICAgICAgICAgZW5kCiAg
944 # ICAgICAgICAgICAgCiAgICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4j
945 # e29wdGlvbls6ZGVzY3JpcHRpb25dfSBbZGVmYXVsdD0je2RlZmF1bHR9XSIK
946 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHBy
947 # aW50ICJcbiAgLS0je29wdGlvbls6bmFtZV19IgogICAgICAgICAgICBwcmlu
948 # dCAiXHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19IgogICAgICAg
949 # IGVuZAogICAgICB9CiAgICAgIAogICAgICBwcmludCAiXG4gIC0td2l0aC1j
950 # b25maWctZnJvbnRlbmQ9W3BsYWlufHRrXSIKICAgICAgcHJpbnQgIlx0XHQu
951 # Li4uLi5TZXRzIHRoZSBmcm9udGVuZCB0byBjb25maWd1cmUgdGhlIGFwcGxp
952 # Y2F0aW9uIFtkZWZhdWx0PXRrXSIKICAgICAgcHJpbnQgIlxuICAtLWhlbHAi
953 # CiAgICAgIHByaW50ICJcbiAgLS12ZXJzaW9uIgogICAgICBwcmludCAiXHRc
954 # dC4uLi4uLlNob3dzIHRoaXMgbWVzc2FnZSIKICAgICAgCiAgICAgIHB1dHMg
955 # IiIKICAgIGVuZAogIGVuZAplbmQKCmJlZ2luCiAgbG9hZCAic2V0dXAucmIi
956 # CnJlc2N1ZSBMb2FkRXJyb3IKICBGaWxlLm9wZW4ob2xkbG9jYXRpb24oInNl
957 # dHVwLnJiIiksICJ3IikgZG8gfGZpbGV8CiAgICBmaWxlIDw8IEZpbGUucmVh
958 # ZCgic2V0dXBfcmIudHBsIikgPDwgIlxuIgogIGVuZAogIHB1dHMgIj0+IEEg
959 # dGVtcGxhdGUgZmlsZSB3YXMgZ2VuZXJhdGVkIGluIHNldHVwLnJiLCBwbGVh
960 # c2UgZWRpdCBpdCBhbmQgcmVydW4gdGhlIGNvbmZpZ3VyZSBzY3JpcHQuIgog
961 # IGV4aXQoLTEpCmVuZAoKaWYgX19GSUxFX18gPT0gJDAKICBxb25mID0gUW9u
962 # Zjo6Q29uZmlndXJlLm5ldwogIHFvbmYuZ2V0X2FyZ3MoQVJHVikKICBxb25m
963 # LmZpbmRfcGFja2FnZXMKICBxb25mLnJ1bl90ZXN0cwogIAogIHFvbmYuc2F2
964 # ZSgiY29uZmlnLnByaSIpCiAgCiAgcW9uZi5nZW5lcmF0ZV9tYWtlZmlsZXMK
965 # ZW5kCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
966 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
967 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
968 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFv
973 # bmZpZ3VyZS9kZXRlY3Rvcy5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
974 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
975 # AAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMTcyNAAx
976 # MDcwNDQ1MTIyMQAwMTQ1NDYAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
977 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
978 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsA
979 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAA
980 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
981 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
982 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
983 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
984 # AAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3JiY29uZmlnJwoKbW9kdWxlIFFv
985 # bmYKCmNsYXNzIERldGVjdE9TCglPUyA9IHsKCQkwID0+ICJVbmtub3duIiwK
986 # CQkxID0+ICJXaW5kb3dzIiwKCQkyID0+ICJVbml4IiwKCQkzID0+ICJMaW51
987 # eCIsCgkJMzEgPT4gIkRlYmlhbiIsCgkJMzExID0+ICJVYnVudHUiLAoJCTMy
988 # ID0+ICJHZW50b28iLAoJCTQgPT4gIk1hYyBPUyBYIgoJfQoJCglkZWYgc2Vs
989 # Zi5vcz8KCQlAb3MgPSAwCgkJCgkJaWYgOjpDb25maWc6OkNPTkZJR1siYnVp
990 # bGRfb3MiXSA9PSAibXN3aW4zMiIKCQkJcmV0dXJuIDEKCQllbHNlCgkJCUBv
991 # cyA9IDIKCQkJCgkJCWxpbnV4ID0gRGV0ZWN0T1MuZmluZF9saW51eAoJCQlA
992 # b3MgPSBsaW51eCBpZiBsaW51eCA+IDAKCQllbmQKCQkKCQkKCQlyZXR1cm4g
993 # QG9zCgllbmQKCQoJZGVmIHNlbGYuZmluZF9saW51eAoJCWN3ZCA9IERpci5n
994 # ZXR3ZAoJCURpci5jaGRpcigiL2V0Yy8iKQoJCQoJCURpclsiKnstLF99e3Zl
995 # cnNpb24scmVsZWFzZX0iXS5lYWNoIHsgfHBhdGh8CgkJCWlmIHBhdGguZG93
996 # bmNhc2UgPX4gL14oXHcqKSgtfF8pKHZlcnNpb258cmVsZWFzZSkvCgkJCQlE
997 # ZXRlY3RPUzo6T1MuZWFjaCB7IHxpZCwgb3N8CgkJCQkJaWYgb3MuZG93bmNh
998 # c2UgPT0gJDEKCQkJCQkJRGlyLmNoZGlyKGN3ZCkKCQkJCQkJCgkJCQkJCWlm
999 # ICQxID09ICJkZWJpYW4iCgkJCQkJCQlpZiBgYXB0LWNhY2hlIC12YC5pbmNs
1000 # dWRlPygidWJ1bnR1IikKCQkJCQkJCQlyZXR1cm4gMzExCgkJCQkJCQllbmQK
1001 # CQkJCQkJZW5kCgkJCQkJCQoJCQkJCQlyZXR1cm4gaWQKCQkJCQllbmQKCQkJ
1002 # CX0KCQkJZW5kCgkJfQoJCQoJCURpci5jaGRpcihjd2QpCgkJCgkJaWYgYHVu
1003 # YW1lYC5kb3duY2FzZSA9PSAibGludXgiCgkJCXJldHVybiAyCgkJZW5kCgkJ
1004 # CgkJcmV0dXJuIDAKCWVuZAplbmQKCmVuZAoKaWYgX19GSUxFX18gPT0gJDAK
1005 # CXB1dHMgUW9uZjo6RGV0ZWN0T1M6Ok9TW1FvbmY6OkRldGVjdE9TLm9zP10K
1006 # ZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007 # AAAAAHFvbmZpZ3VyZS9tYWtlZmlsZS5yYn4AAAAAAAAAAAAAAAAAAAAAAAAA
1008 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1009 # AAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAw
1010 # MzI3MgAxMDcxMzM1NDcwMAAwMTQ3MTMAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
1011 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABr
1013 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAA
1014 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1017 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1018 # AAAAAAAAAAAAAAAAAAAAAAAAAAAADQpyZXF1aXJlICdyYmNvbmZpZycNCg0K
1019 # bW9kdWxlIFFvbmYNCiAgY2xhc3MgTWFrZWZpbGUNCiAgICBkZWYgc2VsZi5m
1020 # aW5kX21ha2VmaWxlcyhwYXRoKQ0KICAgICAgbWFrZWZpbGVzID0gW10NCiAg
1021 # ICAgIERpci5mb3JlYWNoKHBhdGgpIHsgfGZ8DQogICAgICAgIGZpbGUgPSAi
1022 # I3twYXRofS8je2Z9Ig0KICAgICAgICBpZiBGaWxlLnN0YXQoZmlsZSkuZGly
1023 # ZWN0b3J5Pw0KICAgICAgICAgIGlmIG5vdCBmID1+IC9eXC4vDQogICAgICAg
1024 # ICAgICBtYWtlZmlsZXMuY29uY2F0IGZpbmRfbWFrZWZpbGVzKGZpbGUpDQog
1025 # ICAgICAgICAgZW5kDQogICAgICAgIGVsc2lmIGYuZG93bmNhc2UgPX4gL15t
1026 # YWtlZmlsZSguZGVidWd8LnJlbGVhc2UpezAsMX0vDQogICAgICAgICAgbWFr
1027 # ZWZpbGVzIDw8IGZpbGUNCiAgICAgICAgZW5kDQogICAgICB9DQogICAgICBt
1028 # YWtlZmlsZXMNCiAgICBlbmQNCiAgICANCiAgICBkZWYgc2VsZi5vdmVycmlk
1029 # ZShtYWtlZmlsZSwgZGVzdGRpciwgc3RhdHVzRmlsZSkNCiAgICAgIG5ld21h
1030 # a2VmaWxlID0gIiINCiAgICAgIA0KICAgICAgcnVieV9iaW4gPSAiI3s6OkNv
1031 # bmZpZzo6Q09ORklHWyJiaW5kaXIiXX0vI3s6OkNvbmZpZzo6Q09ORklHWyJy
1032 # dWJ5X2luc3RhbGxfbmFtZSJdfSINCiAgICAgIA0KICAgICAgRmlsZS5vcGVu
1033 # KG1ha2VmaWxlLCAiciIpIHsgfGZ8DQogICAgICAgIGxpbmVzID0gZi5yZWFk
1034 # bGluZXMNCiAgICAgICAgDQogICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFU
1035 # T1INCiAgICAgICAgICBsaW5lLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NFUEFS
1036 # QVRPUikNCiAgICAgICAgZW5kDQogICAgICAgIA0KICAgICAgICBpbmRleCA9
1037 # IDANCiAgICAgICAgcmVwbGFjZWQgPSBmYWxzZQ0KICAgICAgICB3aGlsZSBp
1038 # bmRleCA8IGxpbmVzLnNpemUNCiAgICAgICAgICBsaW5lID0gbGluZXNbaW5k
1039 # ZXhdDQogICAgICAgICAgaWYgbGluZSA9fiAvXlxzK1tAXXswLDF9XCRcKFFN
1040 # QUtFXCkvDQogICAgICAgICAgICBuZXdtYWtlZmlsZSArPSBsaW5lDQogICAg
1041 # ICAgICAgICBuZXdtYWtlZmlsZSArPSAiXHQje3J1YnlfYmlufSAje3N0YXR1
1042 # c0ZpbGV9ICN7bWFrZWZpbGV9XG4iDQogICAgICAgICAgICBpbmRleCArPSAx
1043 # DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgaWYgbm90IHJlcGxhY2Vk
1044 # DQogICAgICAgICAgICAgIGlmIGxpbmUgPX4gL15JTlNUQUxMX0RJUi8NCiAg
1045 # ICAgICAgICAgICAgICBuZXdtYWtlZmlsZSArPSAiSU5TVEFMTF9ST09UID0g
1046 # I3tkZXN0ZGlyfVxuIg0KICAgICAgICAgICAgICAgIHJlcGxhY2VkID0gdHJ1
1047 # ZQ0KICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGVsc2UNCiAgICAg
1048 # ICAgICAgICAgaWYgbGluZSA9fiAvXCRcKElOU1RBTExfUk9PVFwpLw0KICAg
1049 # ICAgICAgICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1INCiAgICAgICAg
1050 # ICAgICAgICAgIGxpbmUuZ3N1YiEoIi8iLCBGaWxlOjpBTFRfU0VQQVJBVE9S
1051 # KQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICBlbmQNCiAg
1052 # ICAgICAgICAgIGVuZA0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gbGlu
1053 # ZQ0KICAgICAgICAgIGVuZA0KICAgICAgICAgIGluZGV4ICs9IDENCiAgICAg
1054 # ICAgZW5kDQogICAgICB9DQogICAgICANCiAgICAgIEZpbGUub3BlbihtYWtl
1055 # ZmlsZSwgInciKSB7IHxmfA0KICAgICAgICBmIDw8IG5ld21ha2VmaWxlDQog
1056 # ICAgICB9DQogICAgZW5kDQogIGVuZA0KZW5kDQoNCg0KAAAAAAAAAAAAAAAA
1057 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1058 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1059 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1060 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1061 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1062 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1063 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx
1064 # b25maWd1cmUvcGxhaW5fZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAA
1065 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1066 # AAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDA0NjYA
1067 # MTA3MDQ0NTEyMjEAMDE1NzQwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1068 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1069 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2Vr
1070 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAA
1071 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1072 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1073 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1074 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1075 # AAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdmcm9udGVuZCcKCm1vZHVsZSBR
1076 # b25mCgpjbGFzcyBQbGFpbkZyb250ZW5kIDwgRnJvbnRlbmQKICBkZWYgcGFy
1077 # c2Uob3B0aW9ucykKICAgIG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAg
1078 # IGlmIG9wdGlvbls6dmFsdWVdLnRvX3MuZW1wdHk/IGFuZCBvcHRpb25bOm9w
1079 # dGlvbmFsXSA9PSBmYWxzZQogICAgICAgIHB1dHMgIj0+IFRoZSBvcHRpb24g
1080 # JyN7b3B0aW9uWzpuYW1lXX0nIGlzIHJlcXVpcmVkLiIKICAgICAgICByZXR1
1081 # cm4gZmFsc2UKICAgICAgZW5kCiAgICB9CiAgICAKICAgIHRydWUKICBlbmQK
1082 # ZW5kCgplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1083 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2Nv
1087 # bmZpZy5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1088 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw
1089 # MDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA3MDY2ADEwNzEzMzc1MTY0
1090 # ADAxNDIyMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1091 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1092 # AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAA
1093 # AAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1098 # AAAAAAAKcmVxdWlyZSAnZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3Mg
1099 # UGFja2FnZQogIGF0dHJfcmVhZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6
1100 # bW9kdWxlcywgOmRlZmluZXMsIDpuYW1lCiAgZGVmIGluaXRpYWxpemUobmFt
1101 # ZSkKICAgIEBpbmNsdWRlX3BhdGggPSBbXQogICAgQGxpYnMgPSBbXQogICAg
1102 # QG1vZHVsZXMgPSBbXQogICAgQGRlZmluZXMgPSBbXQogICAgQG5hbWUgPSBu
1103 # YW1lCiAgZW5kCiAgCiAgZGVmIGFkZF9pbmNsdWRlX3BhdGgocGF0aCkKICAg
1104 # IEBpbmNsdWRlX3BhdGggPDwgcGF0aAogIGVuZAogIAogIGRlZiBhZGRfbGli
1105 # KGxpYikKICAgIEBsaWJzIDw8IGxpYi50b19zCiAgZW5kCiAgCiAgZGVmIGFk
1106 # ZF9xdG1vZHVsZShtb2QpCiAgICBAbW9kdWxlcyA8PCBtb2QKICBlbmQKICAK
1107 # ICBkZWYgYWRkX2RlZmluZShkZWZpbmUpCiAgICBAZGVmaW5lcyA8PCBkZWZp
1108 # bmUKICBlbmQKICAKICBkZWYgd3JpdGUoZikKICAgIGlmIG5vdCBAaW5jbHVk
1109 # ZV9wYXRoLmVtcHR5PwogICAgICAgIGYgPDwgIklOQ0xVREVQQVRIICs9ICIg
1110 # PDwgQGluY2x1ZGVfcGF0aC51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBl
1111 # bmQKICAgIAogICAgaWYgbm90IEBsaWJzLmVtcHR5PwogICAgICAgIGYgPDwg
1112 # IkxJQlMgKz0gIiA8PCBAbGlicy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAg
1113 # ICBlbmQKICAgIAogICAgaWYgbm90IEBtb2R1bGVzLmVtcHR5PwogICAgICAg
1114 # IGYgPDwgIlFUICs9ICIgPDwgQG1vZHVsZXMudW5pcS5qb2luKCIgIikgPDwg
1115 # IlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAZGVmaW5lcy5lbXB0eT8K
1116 # ICAgICAgICBmIDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMudW5pcS5q
1117 # b2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgZW5kCmVuZAoKY2xhc3MgQ29u
1118 # ZmlnIDwgUGFja2FnZQogIGF0dHJfcmVhZGVyIDpidWlsZF9kaXIKICBkZWYg
1119 # aW5pdGlhbGl6ZQogICAgc3VwZXIobmlsKQogICAgQHFvbmZfZmVhdHVyZXMg
1120 # PSBbXQogICAgQHFvbmZfcGFja2FnZXMgPSBbXQogICAgQGJ1aWxkX2RpciA9
1121 # IG9sZGxvY2F0aW9uKCIiKSsiL19idWlsZF8iCiAgZW5kCgogIGRlZiBhZGRf
1122 # cW9uZl9wYWNrYWdlKHBrZykKICAgIEBxb25mX3BhY2thZ2VzIDw8IHBrZwog
1123 # IGVuZAogIAogIGRlZiBhZGRfcW9uZl9mZWF0dXJlKGZ0cikKICAgIEBxb25m
1124 # X2ZlYXR1cmVzIDw8IGZ0cgogIGVuZCAKCiAgZGVmIGluY2x1ZGVfcGF0aAog
1125 # ICAgaW5jcGF0aCA9IEBpbmNsdWRlX3BhdGgKICAgIAogICAgQHFvbmZfcGFj
1126 # a2FnZXMuZWFjaCB7IHxwa2d8CiAgICAgICAgaW5jcGF0aC5jb25jYXQgcGtn
1127 # LmluY2x1ZGVfcGF0aAogICAgfQogICAgCiAgICBpbmNwYXRoCiAgZW5kCiAg
1128 # CiAgZGVmIGxpYnMKICAgIGxpYiA9IEBsaWJzCiAgICBAcW9uZl9wYWNrYWdl
1129 # cy5lYWNoIHsgfHBrZ3wKICAgICAgICBsaWIuY29uY2F0IHBrZy5saWJzCiAg
1130 # ICB9CiAgICAKICAgIGxpYgogIGVuZAogIAogIGRlZiBsaWJyYXJ5X3BhdGgK
1131 # ICAgIGxpYnNfYSA9IFtdCgogICAgc3BsaXR0ZWQgPSBAbGlicy5qb2luKCIg
1132 # Iikuc3BsaXQoIiAiKQogICAgc3BsaXR0ZWQuZWFjaCB7IHxzcHwKICAgICAg
1133 # ICBpZiggc3AgPX4gLy1MKC4rKVxzKi8gKQogICAgICAgICAgICBsaWJzX2Eg
1134 # PDwgJDEKICAgICAgICBlbmQKICAgIH0KICAgIAogICAgbGlic19hCiAgZW5k
1135 # CiAgCiAgZGVmIGRlZmluZXMKICAgIGRlZnMgPSBAZGVmaW5lcwogICAgCiAg
1136 # ICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHBrZ3wKICAgICAgICBkZWZzLmNv
1137 # bmNhdCBwa2cuZGVmaW5lcwogICAgfQogICAgCiAgICBkZWZzCiAgZW5kCiAg
1138 # CiAgZGVmIHNhdmUocGF0aCkKICAgIGlmIHBhdGhbMF0uY2hyID09IEZpbGU6
1139 # OlNFUEFSQVRPUgogICAgICAgIHBhdGggPSBwYXRoCiAgICBlbHNlCiAgICAg
1140 # ICAgcGF0aCA9ICIje0Rpci5nZXR3ZH0vI3twYXRofSIKICAgIGVuZAogICAg
1141 # CiAgICBGaWxlLm9wZW4ocGF0aCwgInciKSB7IHxmfAogICAgICAgIGYgPDwg
1142 # IiMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYXQgI3tUaW1lLm5vd30hIFBM
1143 # RUFTRSBETyBOT1QgRURJVCBNQU5VQUxMWSEiPDwgIlxuIgogICAgICAgIAog
1144 # ICAgICAgIGYgPDwgIlBST0pFQ1RfRElSID0gIiA8PCBvbGRsb2NhdGlvbigi
1145 # IikgPDwgIlxuIgogICAgICAgIGYgPDwgIkJVSUxEX0RJUiA9ICN7QGJ1aWxk
1146 # X2Rpcn1cbiIKICAgICAgICAKICAgICAgICBmIDw8ICdjb250YWlucyhURU1Q
1147 # TEFURSwgImFwcCIpIHsnIDw8ICJcbiIKICAgICAgICBmIDw8ICJERVNURElS
1148 # ID0gJCRCVUlMRF9ESVIvYmluXG4iCiAgICAgICAgZiA8PCAnfSBlbHNlOmNv
1149 # bnRhaW5zKFRFTVBMQVRFLCAibGliIikgeycgPDwgIlxuIgogICAgICAgIGYg
1150 # PDwgIkRFU1RESVIgPSAkJEJVSUxEX0RJUi9saWJcbiIKICAgICAgICBmIDw8
1151 # ICd9IGVsc2UgeycgPDwgIlxuIgogICAgICAgIGYgPDwgIkRFU1RESVIgPSAk
1152 # JEJVSUxEX0RJUlxuIgogICAgICAgIGYgPDwgIn1cblxuXG4iCiAgICAgICAg
1153 # CiAgICAgICAgZiA8PCAiTElCUyArPSAtTCQkQlVJTERfRElSL2xpYlxuIgog
1154 # ICAgICAgIGYgPDwgIlJFTEFUSVZFX1BBVEggPSAkJHJlcGxhY2UoX1BST19G
1155 # SUxFX1BXRF8sICQkUFJPSkVDVF9ESVIsICIiKVxuIgogICAgICAgIGYgPDwg
1156 # IkNVUlJFTlRfQlVJTERfRElSID0gJCRCVUlMRF9ESVIkJFJFTEFUSVZFX1BB
1157 # VEhcbiIKICAgICAgICAKaWYgRGV0ZWN0T1Mub3M/ICE9IDEgIyBEaXNhYmxl
1158 # ZCBiZWNhdXNlIFdpbmRvd3Mgc3Vja3MuCiAgICAgICAgZiA8PCAiT0JKRUNU
1159 # U19ESVIgPSAkJENVUlJFTlRfQlVJTERfRElSXG4iCiAgICAgICAgZiA8PCAi
1160 # TU9DX0RJUiA9ICQkQ1VSUkVOVF9CVUlMRF9ESVJcbiIKICAgICAgICBmIDw8
1161 # ICJVSV9ESVIgPSAkJENVUlJFTlRfQlVJTERfRElSXG5cbiIKZW5kCiAgICAg
1162 # ICAgCiAgICAgICAgd3JpdGUoZikKICAgICAgICAKICAgICAgICAKICAgICAg
1163 # ICBmIDw8ICJRT05GX0ZFQVRVUkVTICs9ICIgPDwgQHFvbmZfcGFja2FnZXMu
1164 # bWFwIHsgfGV8IGUubmFtZSB9LmpvaW4oIiAiKSAgPDwgIlxuIgogICAgICAg
1165 # IGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0gIiA8PCBAcW9uZl9mZWF0dXJlcy5q
1166 # b2luKCIgIikgIDw8ICJcbiIKICAgICAgICAKICAgICAgICBmIDw8ICJcbmRl
1167 # ZmluZVRlc3QobGlua193aXRoKSB7IiA8PCAiXG4iCiAgICAgICAgZiA8PCAi
1168 # ICByZXQgPSBmYWxzZVxuIgogICAgICAgIEBxb25mX3BhY2thZ2VzLmVhY2gg
1169 # eyB8cW9uZnwKICAgICAgICAgIGYgPDwgJUAgIGNvbnRhaW5zKCQkbGlzdCgk
1170 # JHNwbGl0KDEpKSAsIiN7cW9uZi5uYW1lfSIpIHtcbkAKICAgICAgICAgIGYg
1171 # PDwgIiAgICByZXQgPSB0cnVlXG4iCiAgICAgICAgICBmIDw8ICIgICAgbWVz
1172 # c2FnZSg9PiBMaW5raW5nIHFvbmYgbW9kdWxlOiAje3FvbmYubmFtZX0pXG4i
1173 # CiAgICAgICAgICBxb25mLndyaXRlKGYpCiAgICAgICAgICBmIDw8ICIgIH1c
1174 # biIKICAgICAgICB9CiAgICAgICAgZiA8PCAiICBleHBvcnQoSU5DTFVERVBB
1175 # VEgpXG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQoTElCUylcbiIKICAgICAg
1176 # ICBmIDw8ICIgIGV4cG9ydChRVClcbiIKICAgICAgICBmIDw8ICIgIGV4cG9y
1177 # dChERUZJTkVTKVxuIgogICAgICAgIGYgPDwgIiAgcmV0dXJuKCQkcmV0KVxu
1178 # IgogICAgICAgIGYgPDwgIn1cbiIKICAgIH0KICBlbmQKZW5kCgplbmQKCgAA
1179 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1180 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1181 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1182 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1183 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1184 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1185 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1186 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1187 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1188 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1189 # AAAAAAAAcW9uZmlndXJlL3BrZ2NvbmZpZy5yYgAAAAAAAAAAAAAAAAAAAAAA
1190 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1191 # AAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAw
1192 # MDA2NjE0ADEwNzA0NDUxMjIxADAxNDcwNgAgMAAAAAAAAAAAAAAAAAAAAAAA
1193 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1194 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg
1195 # AGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAA
1196 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1197 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1198 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1199 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCnJlcXVpcmUgJ2RldGVjdG9zJwoK
1201 # bW9kdWxlIFFvbmYKCmNsYXNzIFBrZ0NvbmZpZ1BhcnNlcgogIGRlZiBpbml0
1202 # aWFsaXplCiAgICBAdmFyaWFibGVzID0ge30KICAgIEBzcGVjcyA9IHt9CiAg
1203 # ZW5kCiAgCiAgZGVmIHBhcnNlKHBhdGgpCiAgICBGaWxlLm9wZW4ocGF0aCkg
1204 # eyB8ZmlsZXwKICAgICAgZmlsZS5lYWNoIHsgfGxpbmV8CiAgICAgICAgaWYg
1205 # bGluZSA9fiAvKFx3Kyk9KC4qKSQvCiAgICAgICAgICBAdmFyaWFibGVzWyQx
1206 # XSA9ICQyCiAgICAgICAgZWxzaWYgbGluZSA9fiAvKFx3Kyk6XHMoLiopJC8K
1207 # ICAgICAgICAgIEBzcGVjc1skMV0gPSAkMgogICAgICAgIGVuZAogICAgICB9
1208 # CiAgICB9CiAgZW5kCiAgCiAgZGVmIHZhbHVlKHZhcmlhYmxlKQogICAgdmFs
1209 # ID0gQHZhcmlhYmxlc1t2YXJpYWJsZV0KICAgIHdoaWxlIHZhbCA9fiAvKFwk
1210 # XHsoXHcrKVx9KS8KICAgICAgdmFsLmdzdWIhKCQxLCB2YWx1ZSgkMikpCiAg
1211 # ICBlbmQKICAgIAogICAgdmFsCiAgZW5kCiAgCiAgZGVmIHNwZWModmFyaWFi
1212 # bGUpCiAgICB2YWwgPSBAc3BlY3NbdmFyaWFibGVdCiAgICB3aGlsZSB2YWwg
1213 # PX4gLyhcJFx7KFx3KylcfSkvCiAgICAgIHZhbC5nc3ViISgkMSwgdmFsdWUo
1214 # JDIpKQogICAgZW5kCiAgICAKICAgIHZhbAogIGVuZAogIAogIGRlZiBsaWJz
1215 # CiAgICBzcGVjKCJMaWJzIikKICBlbmQKICAKICBkZWYgY2ZsYWdzCiAgICBz
1216 # cGVjKCJDZmxhZ3MiKQogIGVuZAogIAogIGRlZiByZXF1aXJlcwogICAgc3Bl
1217 # YygiUmVxdWlyZXMiKS50b19zCiAgZW5kCmVuZAoKY2xhc3MgUGtnQ29uZmln
1218 # CiAgYXR0cl9yZWFkZXIgOmlkLCA6bGlicywgOmNmbGFncywgOnJlcXVpcmVz
1219 # CiAgCiAgZGVmIGluaXRpYWxpemUoaWQpCiAgICBAaWQgPSBpZAogICAgQHNl
1220 # YXJjaF9wYXRoID0gW10KICAgIEByZXF1aXJlcyA9IFtdCiAgZW5kCiAgCiAg
1221 # ZGVmIGZpbmQocGtnKQogICAgcGtncGF0aCA9IGZpbmRfcGF0aF9mb3JfcGFj
1222 # a2FnZShwa2cpCiAgICAKICAgIGlmIG5vdCBwa2dwYXRoLm5pbD8KICAgICAg
1223 # QGNmbGFncyA9ICIiCiAgICAgIEBsaWJzID0gIiIKICAgICAgcGFyc2UocGtn
1224 # cGF0aCwgcGtnKQogICAgICAKICAgICAgcmV0dXJuIHRydWUKICAgIGVuZAog
1225 # ICAgCiAgICBmYWxzZQogIGVuZAogIAogIGRlZiBhZGRfc2VhcmNoX3BhdGgo
1226 # cGF0aCkKICAgIGlmIHBhdGgua2luZF9vZj8oQXJyYXkpCiAgICAgIEBzZWFy
1227 # Y2hfcGF0aC5jb25jYXQocGF0aCkKICAgIGVsc2UKICAgICAgQHNlYXJjaF9w
1228 # YXRoIDw8IHBhdGgudG9fcwogICAgZW5kCiAgZW5kCiAgCiAgZGVmIGluY2x1
1229 # ZGVfcGF0aAogICAgaW5jcGF0aCA9IFtdCiAgICBjZmxhZ3MgPSBAY2ZsYWdz
1230 # LmR1cAogICAgd2hpbGUgY2ZsYWdzID1+IC8oLUlccyooKFxXXHcrKSspKS8K
1231 # ICAgICAgaW5jcGF0aCA8PCAkMgogICAgICBjZmxhZ3Muc3ViISgkMSwgIiIp
1232 # CiAgICBlbmQKICAgIAogICAgaW5jcGF0aC51bmlxCiAgZW5kCiAgCiAgZGVm
1233 # IGRlZmluZXMKICAgIGRlZmluZXMgPSBbXQogICAgY2ZsYWdzID0gQGNmbGFn
1234 # cy5kdXAKICAgIHdoaWxlIGNmbGFncyA9fiAvKC1EXHMqKChcV1x3KykrKSkv
1235 # CiAgICAgIGRlZmluZXMgPDwgJDIKICAgICAgZGVmaW5lcy5zdWIhKCQxLCAi
1236 # IikKICAgIGVuZAogICAgCiAgICBkZWZpbmVzLnVuaXEKICBlbmQKICAKICBk
1237 # ZWYgZmluZF93aW4zMl9wYXRocwogICAgcGF0aHMgPSBmaW5kX2Vudl9wYXRo
1238 # cwogICAgCiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgZGVmIGZpbmRfdW5p
1239 # eF9wYXRocwogICAgcGF0aHMgPSBmaW5kX2Vudl9wYXRocwogICAgaWYgRmls
1240 # ZS5leGlzdHM/KCIvZXRjL2xkLnNvLmNvbmYiKQogICAgICBGaWxlLm9wZW4o
1241 # Ii9ldGMvbGQuc28uY29uZiIpIGRvIHxmaWxlfAogICAgICAgIGZpbGUuZWFj
1242 # aCB7IHxsaW5lfAogICAgICAgICAgZGlyID0gbGluZS5zdHJpcCsiL3BrZ2Nv
1243 # bmZpZyIKICAgICAgICAgIGlmIEZpbGUuZXhpc3RzPyhkaXIpCiAgICAgICAg
1244 # ICAgIHBhdGhzIDw8IGRpcgogICAgICAgICAgZW5kCiAgICAgICAgfQogICAg
1245 # ICBlbmQKICAgIGVuZAogICAgCiAgICBwYXRocyA8PCAiL3Vzci9saWIvcGtn
1246 # Y29uZmlnIiA8PCAiL3Vzci9sb2NhbC9saWIvcGtnY29uZmlnIiA8PCBFTlZb
1247 # IkhPTUUiXS50b19zKyIvbG9jYWwvbGliL3BrZ2NvbmZpZyIKICAgIAogICAg
1248 # cGF0aHMKICBlbmQKICAKICBkZWYgZmluZF9lbnZfcGF0aHMKICAgIHNlcHBh
1249 # dGggPSAoRGV0ZWN0T1Mub3M/ID09IDEpID8gIjsiIDogIjoiCiAgICAKICAg
1250 # IHBhdGhzID0gWyAiLiIgXQogICAgKEVOVlsiUEtHX0NPTkZJR19QQVRIIl0u
1251 # dG9fcytzZXBwYXRoK0VOVlsiTERfTElCUkFSWV9QQVRIIl0udG9fcykuc3Bs
1252 # aXQoc2VwcGF0aCkuZWFjaCB7IHxwYXRofAogICAgICBpZiBGaWxlLmV4aXN0
1253 # cz8ocGF0aCkKICAgICAgICBwYXRocyA8PCBwYXRoCiAgICAgIGVuZAogICAg
1254 # fQogICAgCiAgICBwYXRocwogIGVuZAogIAogIHByaXZhdGUKICBkZWYgcGFy
1255 # c2UocGtncGF0aCwgcGtnKQogICAgcmV0dXJuIGlmIHBrZ3BhdGgubmlsPwog
1256 # ICAgCiAgICBwYXJzZXIgPSBQa2dDb25maWdQYXJzZXIubmV3CiAgICBwYXJz
1257 # ZXIucGFyc2UocGtncGF0aCkKICAgIAogICAgcGFyc2VyLnJlcXVpcmVzLnNw
1258 # bGl0KC8sfFxzLykuZWFjaCB7IHxyZXF8CiAgICAgIHJlcS5zdHJpcCEKICAg
1259 # ICAgCiAgICAgIHBhcnNlKGZpbmRfcGF0aF9mb3JfcGFja2FnZShyZXEpLCBy
1260 # ZXEpCiAgICB9CiAgICAKICAgIGNmbGFncyA9IHBhcnNlci5jZmxhZ3MKICAg
1261 # IGxpYnMgPSBwYXJzZXIubGlicwogICAgCiAgICBpZiBpZCAhPSBwa2cgYW5k
1262 # IG5vdCAoY2ZsYWdzLmVtcHR5PyBvciBsaWJzLmVtcHR5PykKICAgICAgQHJl
1263 # cXVpcmVzIDw8IHBrZwogICAgZW5kCiAgICAKICAgIEBjZmxhZ3MgPSAiI3tj
1264 # ZmxhZ3N9ICN7QGNmbGFnc30iCiAgICBAbGlicyA9ICIje2xpYnN9ICN7QGxp
1265 # YnN9IgogICAgCiAgICBuaWwKICBlbmQKICAKICBkZWYgZmluZF9wYXRoX2Zv
1266 # cl9wYWNrYWdlKHBrZykKICAgIGlmIG5vdCBwa2cgPX4gL1wucGMkLwogICAg
1267 # ICBwa2cgKz0gIi5wYyIKICAgIGVuZAogICAgCiAgICBwYXRocyA9IEBzZWFy
1268 # Y2hfcGF0aAogICAgCiAgICBpZiBEZXRlY3RPUy5vcz8gPT0gMSAjIFdpbmRv
1269 # d3MKICAgICAgcGF0aHMuY29uY2F0IGZpbmRfd2luMzJfcGF0aHMKICAgIGVs
1270 # c2UKICAgICAgcGF0aHMuY29uY2F0IGZpbmRfdW5peF9wYXRocwogICAgZW5k
1271 # CiAgICAKICAgIHBrZ3BhdGggPSBuaWwKICAgIHBhdGhzLmVhY2ggeyB8cGF0
1272 # aHwKICAgICAgdG1wcGF0aCA9IHBhdGgrIi8iK3BrZwogICAgICBpZiBGaWxl
1273 # LmV4aXN0cz8odG1wcGF0aCkKICAgICAgICBwa2dwYXRoID0gdG1wcGF0aAog
1274 # ICAgICBlbmQKICAgIH0KICAgIAogICAgcGtncGF0aAogIGVuZAplbmQKCmVu
1275 # ZAoKCmlmICQwID09IF9fRklMRV9fCiAgcGtnY29uZmlnID0gUW9uZjo6UGtn
1276 # Q29uZmlnLm5ldwogIHBrZ2NvbmZpZy5maW5kKCJ0ZXN0X3FvbmYiKQogIAog
1277 # IHB1dHMgcGtnY29uZmlnLmxpYnMKZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAA
1278 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1279 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1280 # AAAAAAAAAHFvbmZpZ3VyZS9xbWFrZS5yYn4AAAAAAAAAAAAAAAAAAAAAAAAA
1281 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1282 # AAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAw
1283 # MDAwNzMwNAAxMDcwNDQ0NDAyMgAwMTQyMzEAIDAAAAAAAAAAAAAAAAAAAAAA
1284 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1285 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIg
1286 # IABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAA
1287 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1288 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1289 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1290 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1291 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ29wZW4zJwpyZXF1
1292 # aXJlICdkZXRlY3RvcycKCm1vZHVsZSBRb25mCgpjbGFzcyBRTWFrZQogIGRl
1293 # ZiBpbml0aWFsaXplKHBhdGhzID0gW10sIGxvZ19maWxlID0gbmlsKQogICAg
1294 # QHBhdGhzID0gWyAicW1ha2UtcXQ0IiwgInFtYWtlNCIsICJxbWFrZSIgXQog
1295 # ICAgQHBhdGhzLmNvbmNhdChwYXRocykKICAgIAogICAgaWYoICRERUJVRyAp
1296 # CiAgICAgICRzdGRlcnIgPDwgIlFNYWtlIHBhdGhzOiAiIDw8IEBwYXRocy5q
1297 # b2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBmaW5k
1298 # X3FtYWtlKCI0LjAuMCIpCiAgICAgICAgICAgIHJhaXNlICJDYW4ndCBmaW5k
1299 # IHZhbGlkIHFtYWtlIC0gcXQ0IgogICAgZW5kCiAgICAKICAgIEBsb2dfZmls
1300 # ZSA9IGxvZ19maWxlCiAgICBpZiggQGxvZ19maWxlLm5pbD8gKQogICAgICBA
1301 # bG9nX2ZpbGUgPSBvbGRsb2NhdGlvbigiY29uZmlnLmxvZyIpCiAgICBlbmQK
1302 # ICAgIAogICAgQG1ha2UgPSAibWFrZSIKICAgIAogICAgaWYgRGV0ZWN0T1Mu
1303 # b3M/ID09IDEKICAgICAgQG1ha2Vfb3B0aW9ucyA9ICIyPj4gI3tAbG9nX2Zp
1304 # bGV9IgogICAgZWxzZQogICAgICBAbWFrZV9vcHRpb25zID0gIj4+ICN7QGxv
1305 # Z19maWxlfSAyPj4gI3tAbG9nX2ZpbGV9IgogICAgZW5kCiAgZW5kCiAgICAg
1306 # ICAgCiAgZGVmIGZpbmRfcW1ha2UobWlucXR2ZXJzaW9uLCBvcCA9IDIpCiAg
1307 # ICAKICAgIAogICAgbWludmVyID0gbWlucXR2ZXJzaW9uLnNwbGl0KCIuIikK
1308 # ICAgIEBwYXRocy5lYWNoIHsgfHBhdGh8CiAgICAgIGJlZ2luCiAgICAgICAg
1309 # dmVyc2lvbiA9IFtdCiAgICAgICAgb2sgPSB0cnVlCiAgICAgICAgCiAgICAg
1310 # ICAgSU8ucG9wZW4oIiN7cGF0aH0gLXF1ZXJ5IFFUX1ZFUlNJT04gMj4gI3tu
1311 # ZXdsb2NhdGlvbigicW1ha2VfbG9nIil9IikgeyB8cHJjfAogICAgICAgICAg
1312 # dmVyc2lvbiA9IHByYy5yZWFkbGluZXMuam9pbigiIikuc3BsaXQoIi4iKQog
1313 # ICAgICAgIH0KICAgICAgICAKICAgICAgICBuZXh0IGlmICQ/ICE9IDAKICAg
1314 # ICAgICAKICAgICAgICB2ZXJzaW9uLnNpemUudGltZXMgeyB8aXwKICAgICAg
1315 # ICAgIGlmIHZlcnNpb24uc2l6ZSA8IGkgYW5kIG1pbnZlci5zaXplID49IDMK
1316 # ICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgIGVuZAogICAgICAg
1317 # ICAgCiAgICAgICAgICBjYXNlIG9wCiAgICAgICAgICAgIHdoZW4gMAogICAg
1318 # ICAgICAgICAgIGlmIHZlcnNpb25baV0gIT0gbWludmVyW2ldCiAgICAgICAg
1319 # ICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAg
1320 # ICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVuIDEKICAgICAgICAgICAg
1321 # ICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAgICAgICAgICBv
1322 # ayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAg
1323 # IGVuZAogICAgICAgICAgICB3aGVuIDIKICAgICAgICAgICAgICBpZiB2ZXJz
1324 # aW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAgICAgICAgICBvayA9IGZhbHNl
1325 # CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAg
1326 # ICAgICAgZW5kCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIG9rCiAg
1327 # ICAgICAgICBAcGF0aCA9IHBhdGgKICAgICAgICAgIAogICAgICAgICAgaWYg
1328 # JERFQlVHCiAgICAgICAgICAgIHB1dHMgIlVzaW5nIHFtYWtlOiAje0BwYXRo
1329 # fSAje3ZlcnNpb24uam9pbigiLiIpfSIKICAgICAgICAgIGVuZAogICAgICAg
1330 # ICAgCiAgICAgICAgICByZXR1cm4gb2sKICAgICAgICBlbmQKICAgICAgcmVz
1331 # Y3VlCiAgICAgIGVuc3VyZQogICAgICBlbmQKICAgIH0KICAKICAgIHJldHVy
1332 # biBmYWxzZQogIGVuZAogICAgICAgIAogICAgICAgIGRlZiBxdWVyeSh2YXIp
1333 # CiAgICAgICAgICAgICAgICBvdXRwdXQgPSBgI3tAcGF0aH0gLXF1ZXJ5ICN7
1334 # dmFyfWAKICAgICAgICAgICAgICAgIG91dHB1dAogICAgICAgIGVuZAogICAg
1335 # ICAgIAogICAgICAgIGRlZiBydW4oYXJncyA9ICIiLCByZWN1ciA9IGZhbHNl
1336 # KQogICAgICAgICAgICAgICAgaWYgJERFQlVHCiAgICAgICAgICAgICAgICAg
1337 # IHB1dHMgIkFSR1MgPSAje2FyZ3N9IgogICAgICAgICAgICAgICAgZW5kCiAg
1338 # ICAgICAgICAgICAgICBvcHRpb25zID0gIiIKICAgICAgICAgICAgICAgIGlm
1339 # IHJlY3VyCiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgKz0gIi1y
1340 # IgogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAKICAgICAg
1341 # ICAgICAgICAgIG91dHB1dCA9IGAje0BwYXRofSAje2FyZ3N9ICN7b3B0aW9u
1342 # c30gYAogICAgICAgICAgICAgICAgaWYgb3V0cHV0LnN0cmlwLmVtcHR5Pwog
1343 # ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgICAg
1344 # ICAgICAgZW5kCgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAg
1345 # ICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIGNvbXBpbGUKICAgICAgICAg
1346 # ICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIElPLnBvcGVu
1347 # KCIje0BtYWtlfSBjbGVhbiAje0BtYWtlX29wdGlvbnN9IikgeyB8Y3wKICAg
1348 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRs
1349 # aW5lcwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
1350 # ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB0aW1lcyA9IDAK
1351 # ICAgICAgICAgICAgICAgICAgICAgICAgZW5kY29kZSA9IDIKICAgICAgICAg
1352 # ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUu
1353 # b3BlbihAbG9nX2ZpbGUsICJhIiApIGRvIHxmfAogICAgICAgICAgICAgICAg
1354 # ICAgICAgICAgIGYgPDwgIj09PT09PiBDT01QSUxJTkcgXG4iCiAgICAgICAg
1355 # ICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgICAgICAgICAK
1356 # ICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgZW5kY29kZSA9PSAyIGFu
1357 # ZCB0aW1lcyA8PSAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1358 # SU8ucG9wZW4oIiN7QG1ha2V9ICN7QG1ha2Vfb3B0aW9uc30iLCAiciIpIHsg
1359 # fGN8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
1360 # dXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAgICAgICAgICAgICAgICAgICAg
1361 # ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1362 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1363 # ICAgICAgICAgICAgICAgICBlbmRjb2RlID0gJD8gPj4gOAogICAgICAgICAg
1364 # ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1365 # ICAgICAgICAgIHRpbWVzICs9IDEKICAgICAgICAgICAgICAgICAgICAgICAg
1366 # ZW5kCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1367 # cmVzY3VlCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQog
1368 # ICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAKICAgICAgICAg
1369 # ICAgICAgIGlmIGVuZGNvZGUgIT0gMAogICAgICAgICAgICAgICAgICAgICAg
1370 # ICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAg
1371 # ICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgIGVu
1372 # ZAogICAgICAgIAogICAgICAgIGRlZiBjbGVhbl91cAogICAgICBJTy5wb3Bl
1373 # bigiI3tAbWFrZX0gZGlzdGNsZWFuIDI+PiBkaXN0Y2xlYW4iKSB7IHxjfAog
1374 # ICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGluZXMKICAgICAgfQogICAgICAg
1375 # IGVuZAplbmQKCmVuZCAjbW9kdWxlCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1376 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1377 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1378 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1379 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1380 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1381 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1382 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS90a19mcm9udGVu
1383 # ZC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1384 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAw
1385 # MDE3NTAAMDAwMTc1MAAwMDAwMDAwNjI3MwAxMDcwNDQ1MTIyMQAwMTUyNTUA
1386 # IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1387 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1388 # AAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAA
1389 # AAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1390 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1391 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1392 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1393 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoK
1394 # CnJlcXVpcmUgJ2Zyb250ZW5kJwoKbW9kdWxlIFFvbmYKICBjbGFzcyBUa0Zy
1395 # b250ZW5kIDwgRnJvbnRlbmQKICAgIGRlZiBpbml0aWFsaXplCiAgICBlbmQK
1396 # ICAgIAogICAgZGVmIHBhcnNlKG9wdHMpCiAgICAgIHJvb3QgPSBUa1Jvb3Qu
1397 # bmV3KCkgeyB0aXRsZSAiQ29uZmlndXJlLi4uIiB9CiAgICAgIG9wdHMuZWFj
1398 # aCB7IHxvcHRpb258CiAgICAgICAgbGFiZWwgPSBUa0xhYmVsLm5ldyhyb290
1399 # KSB7IHRleHQgb3B0aW9uWzpuYW1lXSB9CiAgICAgICAgCiAgICAgICAgY2Fz
1400 # ZSBvcHRpb25bOnR5cGVdLnRvX3MuZG93bmNhc2UKICAgICAgICAgIHdoZW4g
1401 # InN0cmluZyIKICAgICAgICAgICAgZW50cnkgPSBUa0VudHJ5Lm5ldyhyb290
1402 # KQogICAgICAgICAgICBlbnRyeS5pbnNlcnQoMCwgKG9wdGlvbls6dmFsdWVd
1403 # Lm5pbD8gPyBvcHRpb25bOmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVl
1404 # XS50b19zICApKQogICAgICAgICAgICBUa0dyaWQuZ3JpZChsYWJlbCwgZW50
1405 # cnksICJjb2x1bW5zcGFuIiA9PiAyKQogICAgICAgICAgICAKICAgICAgICAg
1406 # ICAgb3B0aW9uWzppbnB1dF0gPSBlbnRyeQogICAgICAgICAgd2hlbiAicGF0
1407 # aCIKICAgICAgICAgICAgZW50cnkgPSBUa0VudHJ5Lm5ldyhyb290KQogICAg
1408 # ICAgICAgICBlbnRyeS5pbnNlcnQoMCwgKG9wdGlvbls6dmFsdWVdLm5pbD8g
1409 # PyBvcHRpb25bOmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVlXS50b19z
1410 # ICApKQogICAgICAgICAgICAKICAgICAgICAgICAgZ2V0RmlsZSA9IFRrQnV0
1411 # dG9uLm5ldyhyb290KSB7CiAgICAgICAgICAgICAgdGV4dCAiQnJvd3NlLi4u
1412 # IgogICAgICAgICAgICAgIGNvbW1hbmQgewogICAgICAgICAgICAgICAgdmFs
1413 # ID0gVGsuY2hvb3NlRGlyZWN0b3J5CiAgICAgICAgICAgICAgICAKICAgICAg
1414 # ICAgICAgICAgIGVudHJ5LnZhbHVlID0gdmFsIGlmIG5vdCB2YWwudG9fcy5l
1415 # bXB0eT8KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAg
1416 # ICAgVGtHcmlkLmdyaWQobGFiZWwsIGVudHJ5LCBnZXRGaWxlLCAiY29sdW1u
1417 # c3BhbiIgPT4gMikKICAgICAgICAgICAgCiAgICAgICAgICAgIG9wdGlvbls6
1418 # aW5wdXRdID0gZW50cnkKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgZ2l2
1419 # ZW4gPSAob3B0aW9uWzp2YWx1ZV0ubmlsPyA/IG9wdGlvbls6ZGVmYXVsdF0u
1420 # dG9fcyA6IG9wdGlvbls6dmFsdWVdLnRvX3MgICkKICAgICAgICAgICAgCiAg
1421 # ICAgICAgICAgIGlmIGdpdmVuID09ICJmYWxzZSIgb3IgZ2l2ZW4gPT0gIm5v
1422 # IiBvciBnaXZlbi5lbXB0eT8KICAgICAgICAgICAgICB2YWx1ZSA9IDAKICAg
1423 # ICAgICAgICAgZWxzZQogICAgICAgICAgICAgIHZhbHVlID0gMQogICAgICAg
1424 # ICAgICBlbmQKICAgICAgICAgICAgCiAgICAgICAgICAgIG15Y2hlY2sgPSBU
1425 # a1ZhcmlhYmxlLm5ldyh2YWx1ZSkKICAgICAgICAgICAgY2hlY2sgPSBUa0No
1426 # ZWNrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAgICAgICAgdmFyaWFibGUg
1427 # bXljaGVjawogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAg
1428 # ICBUa0dyaWQuZ3JpZChsYWJlbCwgY2hlY2ssICJjb2x1bW5zcGFuIiA9PiAy
1429 # KQogICAgICAgICAgICAKICAgICAgICAgICAgb3B0aW9uWzppbnB1dF0gPSBt
1430 # eWNoZWNrCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAgICAgIG9rID0g
1431 # VGtCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICB0ZXh0ICJPayIKICAgICAg
1432 # ICBjb21tYW5kICB7CiAgICAgICAgICBvayA9IHRydWUKICAgICAgICAgIHJl
1433 # cXVpcmVkX2ZpZWxkcyA9IFtdCiAgICAgICAgICAKICAgICAgICAgIG9wdHMu
1434 # ZWFjaCB7IHxvcHRpb258CiAgICAgICAgICAgIHZhbHVlID0gb3B0aW9uWzpk
1435 # ZWZhdWx0XQogICAgICAgICAgICBjYXNlIG9wdGlvbls6dHlwZV0uZG93bmNh
1436 # c2UKICAgICAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgICAg
1437 # ICB2YWx1ZSA9IG9wdGlvbls6aW5wdXRdLnZhbHVlCiAgICAgICAgICAgICAg
1438 # d2hlbiAicGF0aCIKICAgICAgICAgICAgICAgIHZhbHVlID0gRmlsZS5leHBh
1439 # bmRfcGF0aChvcHRpb25bOmlucHV0XS52YWx1ZSkKICAgICAgICAgICAgICBl
1440 # bHNlCiAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbls6aW5wdXRdLnZh
1441 # bHVlCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICAKICAgICAgICAgICAg
1442 # aWYgb3B0aW9uWzpvcHRpb25hbF0gPT0gZmFsc2UgYW5kIHZhbHVlLnRvX3Mu
1443 # ZW1wdHk/CiAgICAgICAgICAgICAgcmVxdWlyZWRfZmllbGRzIDw8IG9wdGlv
1444 # bls6bmFtZV0KICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAg
1445 # IGVsc2UKICAgICAgICAgICAgICBvcHRpb25bOnZhbHVlXSA9IHZhbHVlCiAg
1446 # ICAgICAgICAgIGVuZAogICAgICAgICAgICAKICAgICAgICAgICAgb2sgPSBv
1447 # ayAmJiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGlm
1448 # IG9rCiAgICAgICAgICAgIFRrLmV4aXQKICAgICAgICAgIGVsc2UKICAgICAg
1449 # ICAgICAgVGtXYXJuaW5nLnNob3coIlRoZSBmaWVsZHMgJyN7cmVxdWlyZWRf
1450 # ZmllbGRzLmpvaW4oIiwgIil9JyBhcmUgcmVxdWlyZWQuIikKICAgICAgICAg
1451 # IGVuZAogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgY2FuY2VsID0g
1452 # VGtCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICB0ZXh0ICJDYW5jZWwiCiAg
1453 # ICAgICAgY29tbWFuZCAgewogICAgICAgICAgVGsuZXhpdAogICAgICAgICAg
1454 # ZXhpdCAwCiAgICAgICAgfQogICAgICB9CiAgICAgICAgCiAgICAgIFRrR3Jp
1455 # ZC5ncmlkKG9rLCBjYW5jZWwsICJjb2x1bW5zcGFuIiA9PiAzKQogICAgICAK
1456 # ICAgICAgVGsubWFpbmxvb3AKICAgICAgCiAgICAgIHRydWUKICAgIGVuZAog
1457 # IGVuZAplbmQKCgppZiBfX0ZJTEVfXyA9PSAkMCAjIFRlc3QKICBvcHRzID0g
1458 # W10KICBvcHRzIDw8IHs6bmFtZSA9PiAibmFtZTEiLCA6dHlwZSA9PiAiU3Ry
1459 # aW5nIiwgOmRlZmF1bHQgPT4gInZhbHVlIiwgOm9wdGlvbmFsID0+IGZhbHNl
1460 # IH0KICBvcHRzIDw8IHs6bmFtZSA9PiAibmFtZTQiLCA6dHlwZSA9PiAiUGF0
1461 # aCIsIDpkZWZhdWx0ID0+ICJ2YWx1ZSIgfQogIG9wdHMgPDwgezpuYW1lID0+
1462 # ICJuYW1lMiIsIDp0eXBlID0+ICJCb29sIiwgOmRlZmF1bHQgPT4gdHJ1ZSB9
1463 # CiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWUzIiwgOnR5cGUgPT4gIlZvaWQi
1464 # LCA6ZGVmYXVsdCA9PiBmYWxzZSB9CiAgCiAgdGsgPSBRb25mOjpUa0Zyb250
1465 # ZW5kLm5ldwogIHRrLnBhcnNlKG9wdHMpCiAgCiAgcHV0cyBvcHRzLmZpcnN0
1466 # Wzp2YWx1ZV0KZW5kCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1467 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1468 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1469 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1470 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1471 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1472 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1473 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvdGVzdC5yYn4A
1474 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1475 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAw
1476 # MDAxNzUwADAwMDE3NTAAMDAwMDAwMDYzMjAAMTA3MDIyMDUxMzYAMDE0MTA2
1477 # ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1478 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1479 # AAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAA
1480 # AAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1481 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1482 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1483 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1484 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJl
1485 # cXVpcmUgJ3RtcGRpcicKcmVxdWlyZSAnZmlsZXV0aWxzJwoKbW9kdWxlIFFv
1486 # bmYKICBjbGFzcyBUZXN0CiAgICBhdHRyX3JlYWRlciA6aW5jbHVkZV9wYXRo
1487 # LCA6bGlicywgOmRlZmluZXMsIDppZAogICAgCiAgICBkZWYgaW5pdGlhbGl6
1488 # ZShvcHRpb25zLCBjb25maWcsIGxvZ19maWxlID0gbmlsKQogICAgICBAb3B0
1489 # aW9ucyA9IG9wdGlvbnMKICAgICAgCiAgICAgIEBpbmNsdWRlX3BhdGggPSBb
1490 # XQogICAgICBAbGlicyA9IFtdCiAgICAgIEBkZWZpbmVzID0gW10KICAgICAg
1491 # QGlkID0gb3B0aW9uc1s6aWRdCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRo
1492 # ID0gb3B0aW9uc1s6aW5jbHVkZXBhdGhdIGlmIG5vdCBvcHRpb25zWzppbmNs
1493 # dWRlcGF0aF0ubmlsPwogICAgICBAbGlicyA8PCBvcHRpb25zWzpsaWJzXSBp
1494 # ZiBub3Qgb3B0aW9uc1s6bGlic10ubmlsPwogICAgICBAZGVmaW5lcyA9IG9w
1495 # dGlvbnNbOmRlZmluZXNdIGlmIG5vdCBvcHRpb25zWzpkZWZpbmVzXS5uaWw/
1496 # CiAgICAgIAogICAgICBAY29uZmlnID0gY29uZmlnCiAgICAgIAogICAgICBA
1497 # bG9nX2ZpbGUgPSBsb2dfZmlsZQogICAgZW5kCiAgICAKICAgIGRlZiBydW4o
1498 # cW1ha2UpCiAgICAgICMgR2VuZXJhdGUKICAgICAgcmV0ID0gZmFsc2UKICAg
1499 # ICAgY3dkID0gRGlyLmdldHdkCiAgICAgIAogICAgICBxb25mdGVzdF9kaXIg
1500 # PSAiI3tEaXI6OnRtcGRpcn0vcW9uZl90ZXN0cy4je1Byb2Nlc3MucGlkfSIK
1501 # ICAgICAgYmFzZXBhdGggPSBxb25mdGVzdF9kaXIrIi90ZXN0XyN7UHJvY2Vz
1502 # cy5waWR9IgogICAgICAKICAgICAgZmlsZXBhdGggPSBiYXNlcGF0aCsiLmNw
1503 # cCIKICAgICAgcHJvcGF0aCA9IGJhc2VwYXRoKyIucHJvIgogICAgICB0YXJn
1504 # ZXQgPSAidGVzdF8je1Byb2Nlc3MucGlkfV9hcHAiCiAgICAgIAogICAgICBi
1505 # ZWdpbgogICAgICAgIERpci5ta2Rpcihxb25mdGVzdF9kaXIpIGlmIG5vdCBG
1506 # aWxlLmV4aXN0cz8ocW9uZnRlc3RfZGlyKQogICAgICAgIEZpbGUub3Blbihm
1507 # aWxlcGF0aCwgInciKSB7IHxmfAogICAgICAgICAgCiAgICAgICAgICB3cml0
1508 # ZV90ZXN0KGYpCiAgICAgICAgICAKICAgICAgICAgIEZpbGUub3Blbihwcm9w
1509 # YXRoLCAidyIpIHsgfHBmfAogICAgICAgICAgICBwZiA8PCAiU09VUkNFUyAr
1510 # PSAiIDw8IGZpbGVwYXRoIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIlRF
1511 # TVBMQVRFID0gYXBwIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJUQVJH
1512 # RVQgPSAiIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIklOQ0xVREVQQVRI
1513 # ICs9ICIgPDwgQGluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIiAiIDw8IEBj
1514 # b25maWcuaW5jbHVkZV9wYXRoLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAg
1515 # ICAgIHBmIDw8ICJMSUJTICs9ICIgPDwgQGxpYnMuam9pbigiICIpIDw8ICIg
1516 # IiA8PCAgQGNvbmZpZy5saWJzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAg
1517 # ICAgIHBmIDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMuam9pbigiICIp
1518 # IDw8ICIgIiA8PCBAY29uZmlnLmRlZmluZXMuam9pbigiICIpIDw8ICJcbiIK
1519 # ICAgICAgICAgICAgcGYgPDwgIkNPTkZJRyAtPSBkZWJ1ZyIgPDwgIlxuIgog
1520 # ICAgICAgICAgICBwZiA8PCAiQ09ORklHICo9IHJlbGVhc2UiIDw8ICJcbiIK
1521 # ICAgICAgICAgICAgcGYgPDwgIkRFU1RESVIgPSAje3FvbmZ0ZXN0X2Rpcn0i
1522 # IDw8ICJcbiIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAg
1523 # ICAgCiAgICAgICAgRGlyLmNoZGlyKHFvbmZ0ZXN0X2RpcikKICAgICAgICAK
1524 # ICAgICAgICBxbWFrZS5ydW4ocHJvcGF0aCkKICAgICAgICByZXQgPSBxbWFr
1525 # ZS5jb21waWxlCiAgICAgICAgcW1ha2UuY2xlYW5fdXAKICAgICAgICAKICAg
1526 # ICAgICBEaXIuY2hkaXIoY3dkKQogICAgICAgIAogICAgICAgIEZpbGUudW5s
1527 # aW5rKHRhcmdldCkgaWYgRmlsZS5leGlzdHM/KHRhcmdldCkgIyBGSVhNRTog
1528 # d2luZG93cwogICAgICAgIEZpbGUudW5saW5rKHByb3BhdGgpIGlmIEZpbGUu
1529 # ZXhpc3RzPyhwcm9wYXRoKQogICAgICAgIEZpbGUudW5saW5rKGZpbGVwYXRo
1530 # KSBpZiBGaWxlLmV4aXN0cz8oZmlsZXBhdGgpCiAgICAgICAgRmlsZVV0aWxz
1531 # LnJtX3JmKHFvbmZ0ZXN0X2RpcikKICAgICAgICAKICAgICAgcmVzY3VlID0+
1532 # IGUKICAgICAgICBwdXRzIGUKICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAg
1533 # ICAgICAgCiAgICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICBGaWxlLnVu
1534 # bGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0YXJnZXQpICMgRklYTUU6
1535 # IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGluayhwcm9wYXRoKSBpZiBGaWxl
1536 # LmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBGaWxlLnVubGluayhmaWxlcGF0
1537 # aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRoKQogICAgICAgIEZpbGVVdGls
1538 # cy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgICAgcmV0dXJu
1539 # IGZhbHNlCiAgICAgIGVuc3VyZQogICAgICBlbmQKICAgICAgCiAgICAgIHJl
1540 # dAogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfaW5jbHVkZV9wYXRoKGluY3Bh
1541 # dGgpCiAgICAgIEBpbmNsdWRlX3BhdGggPDwgaW5jcGF0aAogICAgZW5kCiAg
1542 # ICAKICAgIGRlZiBhZGRfbGliKGxpYikKICAgICAgQGxpYnMgPDwgbGliCiAg
1543 # ICBlbmQKICAgIAogICAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgICBA
1544 # ZGVmaW5lcyA8PCBkZWZpbmUKICAgIGVuZAogICAgCiAgICBwcml2YXRlCiAg
1545 # ICBkZWYgd3JpdGVfdGVzdChmKQogICAgICBoZWFkZXJzID0gIiIKICAgICAg
1546 # aWYgbm90IEBvcHRpb25zWzpoZWFkZXJzXS5uaWw/CiAgICAgICAgQG9wdGlv
1547 # bnNbOmhlYWRlcnNdLmVhY2ggeyB8aGVhZGVyfAogICAgICAgICAgaGVhZGVy
1548 # cyArPSAiI2luY2x1ZGUgPCN7aGVhZGVyfT5cbiIKICAgICAgICB9CiAgICAg
1549 # IGVuZAogICAgICBjb2RlID0gJUAKaW50IG1haW4oKQp7CiAgcmV0dXJuIDA7
1550 # Cn0KQAogICAgICBpZiBub3QgQG9wdGlvbnNbOmN1c3RvbV0ubmlsPwogICAg
1551 # ICAgIGNvZGUgPSBAb3B0aW9uc1s6Y3VzdG9tXQogICAgICBlbmQKICAgICAg
1552 # CiAgICAgIGYgPDwgaGVhZGVycyA8PCAiXG4iIDw8IGNvZGUgPDwgIlxuIgog
1553 # ICAgICAKICAgICAgaWYoIG5vdCBAbG9nX2ZpbGUubmlsPyApCiAgICAgICAg
1554 # RmlsZS5vcGVuKEBsb2dfZmlsZSwgImEiKSBkbyB8bGZpbGV8CiAgICAgICAg
1555 # ICBsZmlsZSA8PCAiXG5cblxuLS0tLS0tLS0tLS0tXG4iIDw8IGhlYWRlcnMg
1556 # PDwgIlxuIiA8PCBjb2RlIDw8ICJcbi0tLS0tLS0tLS0tLVxuXG5cbiIKICAg
1557 # ICAgICBlbmQKICAgICAgZW5kCiAgICBlbmQKICBlbmQKZW5kCgoAAAAAAAAA
1558 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1559 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1560 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1561 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1562 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1563 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1564 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3Rlc3QucmIA
1565 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1566 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQA
1567 # MDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MzIwADEwNzA0NDUxMjIxADAxMzcx
1568 # MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1569 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1570 # AAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAA
1571 # AAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1572 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1573 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1574 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1575 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy
1576 # ZXF1aXJlICd0bXBkaXInCnJlcXVpcmUgJ2ZpbGV1dGlscycKCm1vZHVsZSBR
1577 # b25mCiAgY2xhc3MgVGVzdAogICAgYXR0cl9yZWFkZXIgOmluY2x1ZGVfcGF0
1578 # aCwgOmxpYnMsIDpkZWZpbmVzLCA6aWQKICAgIAogICAgZGVmIGluaXRpYWxp
1579 # emUob3B0aW9ucywgY29uZmlnLCBsb2dfZmlsZSA9IG5pbCkKICAgICAgQG9w
1580 # dGlvbnMgPSBvcHRpb25zCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRoID0g
1581 # W10KICAgICAgQGxpYnMgPSBbXQogICAgICBAZGVmaW5lcyA9IFtdCiAgICAg
1582 # IEBpZCA9IG9wdGlvbnNbOmlkXQogICAgICAKICAgICAgQGluY2x1ZGVfcGF0
1583 # aCA9IG9wdGlvbnNbOmluY2x1ZGVwYXRoXSBpZiBub3Qgb3B0aW9uc1s6aW5j
1584 # bHVkZXBhdGhdLm5pbD8KICAgICAgQGxpYnMgPDwgb3B0aW9uc1s6bGlic10g
1585 # aWYgbm90IG9wdGlvbnNbOmxpYnNdLm5pbD8KICAgICAgQGRlZmluZXMgPSBv
1586 # cHRpb25zWzpkZWZpbmVzXSBpZiBub3Qgb3B0aW9uc1s6ZGVmaW5lc10ubmls
1587 # PwogICAgICAKICAgICAgQGNvbmZpZyA9IGNvbmZpZwogICAgICAKICAgICAg
1588 # QGxvZ19maWxlID0gbG9nX2ZpbGUKICAgIGVuZAogICAgCiAgICBkZWYgcnVu
1589 # KHFtYWtlKQogICAgICAjIEdlbmVyYXRlCiAgICAgIHJldCA9IGZhbHNlCiAg
1590 # ICAgIGN3ZCA9IERpci5nZXR3ZAogICAgICAKICAgICAgcW9uZnRlc3RfZGly
1591 # ID0gIiN7RGlyOjp0bXBkaXJ9L3FvbmZfdGVzdHMuI3tQcm9jZXNzLnBpZH0i
1592 # CiAgICAgIGJhc2VwYXRoID0gcW9uZnRlc3RfZGlyKyIvdGVzdF8je1Byb2Nl
1593 # c3MucGlkfSIKICAgICAgCiAgICAgIGZpbGVwYXRoID0gYmFzZXBhdGgrIi5j
1594 # cHAiCiAgICAgIHByb3BhdGggPSBiYXNlcGF0aCsiLnBybyIKICAgICAgdGFy
1595 # Z2V0ID0gInRlc3RfI3tQcm9jZXNzLnBpZH1fYXBwIgogICAgICAKICAgICAg
1596 # YmVnaW4KICAgICAgICBEaXIubWtkaXIocW9uZnRlc3RfZGlyKSBpZiBub3Qg
1597 # RmlsZS5leGlzdHM/KHFvbmZ0ZXN0X2RpcikKICAgICAgICBGaWxlLm9wZW4o
1598 # ZmlsZXBhdGgsICJ3IikgeyB8ZnwKICAgICAgICAgIAogICAgICAgICAgd3Jp
1599 # dGVfdGVzdChmKQogICAgICAgICAgCiAgICAgICAgICBGaWxlLm9wZW4ocHJv
1600 # cGF0aCwgInciKSB7IHxwZnwKICAgICAgICAgICAgcGYgPDwgIlNPVVJDRVMg
1601 # Kz0gIiA8PCBmaWxlcGF0aCA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJU
1602 # RU1QTEFURSA9IGFwcCIgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiVEFS
1603 # R0VUID0gIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJJTkNMVURFUEFU
1604 # SCArPSAiIDw8IEBpbmNsdWRlX3BhdGguam9pbigiICIpIDw8ICIgIiA8PCBA
1605 # Y29uZmlnLmluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIlxuIgogICAgICAg
1606 # ICAgICBwZiA8PCAiTElCUyArPSAiIDw8IEBsaWJzLmpvaW4oIiAiKSA8PCAi
1607 # ICIgPDwgIEBjb25maWcubGlicy5qb2luKCIgIikgPDwgIlxuIgogICAgICAg
1608 # ICAgICBwZiA8PCAiREVGSU5FUyArPSAiIDw8IEBkZWZpbmVzLmpvaW4oIiAi
1609 # KSA8PCAiICIgPDwgQGNvbmZpZy5kZWZpbmVzLmpvaW4oIiAiKSA8PCAiXG4i
1610 # CiAgICAgICAgICAgIHBmIDw8ICJDT05GSUcgLT0gZGVidWciIDw8ICJcbiIK
1611 # ICAgICAgICAgICAgcGYgPDwgIkNPTkZJRyAqPSByZWxlYXNlIiA8PCAiXG4i
1612 # CiAgICAgICAgICAgIHBmIDw8ICJERVNURElSID0gI3txb25mdGVzdF9kaXJ9
1613 # IiA8PCAiXG4iCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAg
1614 # ICAgIAogICAgICAgIERpci5jaGRpcihxb25mdGVzdF9kaXIpCiAgICAgICAg
1615 # CiAgICAgICAgcW1ha2UucnVuKHByb3BhdGgpCiAgICAgICAgcmV0ID0gcW1h
1616 # a2UuY29tcGlsZQogICAgICAgIHFtYWtlLmNsZWFuX3VwCiAgICAgICAgCiAg
1617 # ICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICAKICAgICAgICBGaWxlLnVu
1618 # bGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0YXJnZXQpICMgRklYTUU6
1619 # IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGluayhwcm9wYXRoKSBpZiBGaWxl
1620 # LmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBGaWxlLnVubGluayhmaWxlcGF0
1621 # aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRoKQogICAgICAgIEZpbGVVdGls
1622 # cy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgIHJlc2N1ZSA9
1623 # PiBlCiAgICAgICAgcHV0cyBlCiAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQog
1624 # ICAgICAgIAogICAgICAgIERpci5jaGRpcihjd2QpCiAgICAgICAgRmlsZS51
1625 # bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4aXN0cz8odGFyZ2V0KSAjIEZJWE1F
1626 # OiB3aW5kb3dzCiAgICAgICAgRmlsZS51bmxpbmsocHJvcGF0aCkgaWYgRmls
1627 # ZS5leGlzdHM/KHByb3BhdGgpCiAgICAgICAgRmlsZS51bmxpbmsoZmlsZXBh
1628 # dGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxlcGF0aCkKICAgICAgICBGaWxlVXRp
1629 # bHMucm1fcmYocW9uZnRlc3RfZGlyKQogICAgICAgIAogICAgICAgIHJldHVy
1630 # biBmYWxzZQogICAgICBlbnN1cmUKICAgICAgZW5kCiAgICAgIAogICAgICBy
1631 # ZXQKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2luY2x1ZGVfcGF0aChpbmNw
1632 # YXRoKQogICAgICBAaW5jbHVkZV9wYXRoIDw8IGluY3BhdGgKICAgIGVuZAog
1633 # ICAgCiAgICBkZWYgYWRkX2xpYihsaWIpCiAgICAgIEBsaWJzIDw8IGxpYgog
1634 # ICAgZW5kCiAgICAKICAgIGRlZiBhZGRfZGVmaW5lKGRlZmluZSkKICAgICAg
1635 # QGRlZmluZXMgPDwgZGVmaW5lCiAgICBlbmQKICAgIAogICAgcHJpdmF0ZQog
1636 # ICAgZGVmIHdyaXRlX3Rlc3QoZikKICAgICAgaGVhZGVycyA9ICIiCiAgICAg
1637 # IGlmIG5vdCBAb3B0aW9uc1s6aGVhZGVyc10ubmlsPwogICAgICAgIEBvcHRp
1638 # b25zWzpoZWFkZXJzXS5lYWNoIHsgfGhlYWRlcnwKICAgICAgICAgIGhlYWRl
1639 # cnMgKz0gIiNpbmNsdWRlIDwje2hlYWRlcn0+XG4iCiAgICAgICAgfQogICAg
1640 # ICBlbmQKICAgICAgY29kZSA9ICVACmludCBtYWluKCkKewogIHJldHVybiAw
1641 # Owp9CkAKICAgICAgaWYgbm90IEBvcHRpb25zWzpjdXN0b21dLm5pbD8KICAg
1642 # ICAgICBjb2RlID0gQG9wdGlvbnNbOmN1c3RvbV0KICAgICAgZW5kCiAgICAg
1643 # IAogICAgICBmIDw8IGhlYWRlcnMgPDwgIlxuIiA8PCBjb2RlIDw8ICJcbiIK
1644 # ICAgICAgCiAgICAgIGlmKCBub3QgQGxvZ19maWxlLm5pbD8gKQogICAgICAg
1645 # IEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIikgZG8gfGxmaWxlfAogICAgICAg
1646 # ICAgbGZpbGUgPDwgIlxuXG5cbi0tLS0tLS0tLS0tLVxuIiA8PCBoZWFkZXJz
1647 # IDw8ICJcbiIgPDwgY29kZSA8PCAiXG4tLS0tLS0tLS0tLS1cblxuXG4iCiAg
1648 # ICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCmVuZAoKAAAAAAAA
1649 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1654 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9jb25maWcu
1656 # cmJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1657 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0
1658 # ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNzA0MgAxMDcxMzM3NDAzMAAwMTQ0
1659 # MDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1660 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1661 # AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAA
1662 # AAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1666 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1667 # Cm1vZHVsZSBRb25mCgpjbGFzcyBQYWNrYWdlCiAgYXR0cl9yZWFkZXIgOmlu
1668 # Y2x1ZGVfcGF0aCwgOmxpYnMsIDptb2R1bGVzLCA6ZGVmaW5lcywgOm5hbWUK
1669 # ICBkZWYgaW5pdGlhbGl6ZShuYW1lKQogICAgQGluY2x1ZGVfcGF0aCA9IFtd
1670 # CiAgICBAbGlicyA9IFtdCiAgICBAbW9kdWxlcyA9IFtdCiAgICBAZGVmaW5l
1671 # cyA9IFtdCiAgICBAbmFtZSA9IG5hbWUKICBlbmQKICAKICBkZWYgYWRkX2lu
1672 # Y2x1ZGVfcGF0aChwYXRoKQogICAgQGluY2x1ZGVfcGF0aCA8PCBwYXRoCiAg
1673 # ZW5kCiAgCiAgZGVmIGFkZF9saWIobGliKQogICAgQGxpYnMgPDwgbGliLnRv
1674 # X3MKICBlbmQKICAKICBkZWYgYWRkX3F0bW9kdWxlKG1vZCkKICAgIEBtb2R1
1675 # bGVzIDw8IG1vZAogIGVuZAogIAogIGRlZiBhZGRfZGVmaW5lKGRlZmluZSkK
1676 # ICAgIEBkZWZpbmVzIDw8IGRlZmluZQogIGVuZAogIAogIGRlZiB3cml0ZShm
1677 # KQogICAgaWYgbm90IEBpbmNsdWRlX3BhdGguZW1wdHk/CiAgICAgICAgZiA8
1678 # PCAiSU5DTFVERVBBVEggKz0gIiA8PCBAaW5jbHVkZV9wYXRoLnVuaXEuam9p
1679 # bigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQGxpYnMu
1680 # ZW1wdHk/CiAgICAgICAgZiA8PCAiTElCUyArPSAiIDw8IEBsaWJzLnVuaXEu
1681 # am9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQG1v
1682 # ZHVsZXMuZW1wdHk/CiAgICAgICAgZiA8PCAiUVQgKz0gIiA8PCBAbW9kdWxl
1683 # cy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAogICAgaWYg
1684 # bm90IEBkZWZpbmVzLmVtcHR5PwogICAgICAgIGYgPDwgIkRFRklORVMgKz0g
1685 # IiA8PCBAZGVmaW5lcy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQK
1686 # ICBlbmQKZW5kCgpjbGFzcyBDb25maWcgPCBQYWNrYWdlCiAgYXR0cl9yZWFk
1687 # ZXIgOmJ1aWxkX2RpcgogIGRlZiBpbml0aWFsaXplCiAgICBzdXBlcihuaWwp
1688 # CiAgICBAcW9uZl9mZWF0dXJlcyA9IFtdCiAgICBAcW9uZl9wYWNrYWdlcyA9
1689 # IFtdCiAgICBAYnVpbGRfZGlyID0gb2xkbG9jYXRpb24oIiIpKyIvX2J1aWxk
1690 # XyIKICBlbmQKCiAgZGVmIGFkZF9xb25mX3BhY2thZ2UocGtnKQogICAgQHFv
1691 # bmZfcGFja2FnZXMgPDwgcGtnCiAgZW5kCiAgCiAgZGVmIGFkZF9xb25mX2Zl
1692 # YXR1cmUoZnRyKQogICAgQHFvbmZfZmVhdHVyZXMgPDwgZnRyCiAgZW5kIAoK
1693 # ICBkZWYgaW5jbHVkZV9wYXRoCiAgICBpbmNwYXRoID0gQGluY2x1ZGVfcGF0
1694 # aAogICAgCiAgICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHBrZ3wKICAgICAg
1695 # ICBpbmNwYXRoLmNvbmNhdCBwa2cuaW5jbHVkZV9wYXRoCiAgICB9CiAgICAK
1696 # ICAgIGluY3BhdGgKICBlbmQKICAKICBkZWYgbGlicwogICAgbGliID0gQGxp
1697 # YnMKICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8cGtnfAogICAgICAgIGxp
1698 # Yi5jb25jYXQgcGtnLmxpYnMKICAgIH0KICAgIAogICAgbGliCiAgZW5kCiAg
1699 # CiAgZGVmIGxpYnJhcnlfcGF0aAogICAgbGlic19hID0gW10KCiAgICBzcGxp
1700 # dHRlZCA9IEBsaWJzLmpvaW4oIiAiKS5zcGxpdCgiICIpCiAgICBzcGxpdHRl
1701 # ZC5lYWNoIHsgfHNwfAogICAgICAgIGlmKCBzcCA9fiAvLUwoLispXHMqLyAp
1702 # CiAgICAgICAgICAgIGxpYnNfYSA8PCAkMQogICAgICAgIGVuZAogICAgfQog
1703 # ICAgCiAgICBsaWJzX2EKICBlbmQKICAKICBkZWYgZGVmaW5lcwogICAgZGVm
1704 # cyA9IEBkZWZpbmVzCiAgICAKICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8
1705 # cGtnfAogICAgICAgIGRlZnMuY29uY2F0IHBrZy5kZWZpbmVzCiAgICB9CiAg
1706 # ICAKICAgIGRlZnMKICBlbmQKICAKICBkZWYgc2F2ZShwYXRoKQogICAgaWYg
1707 # cGF0aFswXS5jaHIgPT0gRmlsZTo6U0VQQVJBVE9SCiAgICAgICAgcGF0aCA9
1708 # IHBhdGgKICAgIGVsc2UKICAgICAgICBwYXRoID0gIiN7RGlyLmdldHdkfS8j
1709 # e3BhdGh9IgogICAgZW5kCiAgICAKICAgIEZpbGUub3BlbihwYXRoLCAidyIp
1710 # IHsgfGZ8CiAgICAgICAgZiA8PCAiIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxs
1711 # eSBhdCAje1RpbWUubm93fSEgUExFQVNFIERPIE5PVCBFRElUIE1BTlVBTExZ
1712 # ISI8PCAiXG4iCiAgICAgICAgCiAgICAgICAgZiA8PCAiUFJPSkVDVF9ESVIg
1713 # PSAiIDw8IG9sZGxvY2F0aW9uKCIiKSA8PCAiXG4iCiAgICAgICAgZiA8PCAi
1714 # QlVJTERfRElSID0gI3tAYnVpbGRfZGlyfVxuIgogICAgICAgIAogICAgICAg
1715 # IGYgPDwgJ2NvbnRhaW5zKFRFTVBMQVRFLCAiYXBwIikgeycgPDwgIlxuIgog
1716 # ICAgICAgIGYgPDwgIkRFU1RESVIgPSAkJEJVSUxEX0RJUi9iaW5cbiIKICAg
1717 # ICAgICBmIDw8ICd9IGVsc2U6Y29udGFpbnMoVEVNUExBVEUsICJsaWIiKSB7
1718 # JyA8PCAiXG4iCiAgICAgICAgZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElS
1719 # L2xpYlxuIgogICAgICAgIGYgPDwgJ30gZWxzZSB7JyA8PCAiXG4iCiAgICAg
1720 # ICAgZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElSXG4iCiAgICAgICAgZiA8
1721 # PCAifVxuXG5cbiIKICAgICAgICAKICAgICAgICBmIDw8ICJMSUJTICs9IC1M
1722 # JCRCVUlMRF9ESVIvbGliXG4iCiAgICAgICAgZiA8PCAiUkVMQVRJVkVfUEFU
1723 # SCA9ICQkcmVwbGFjZShfUFJPX0ZJTEVfUFdEXywgJCRQUk9KRUNUX0RJUiwg
1724 # IiIpXG4iCiAgICAgICAgZiA8PCAiQ1VSUkVOVF9CVUlMRF9ESVIgPSAkJEJV
1725 # SUxEX0RJUiQkUkVMQVRJVkVfUEFUSFxuIgogICAgICAgIAppZiBEZXRlY3RP
1726 # Uy5vcz8gIT0gMSAjIERpc2FibGVkIGJlY2F1c2UgV2luZG93cyBzdWNrcy4K
1727 # ICAgICAgICBmIDw8ICJPQkpFQ1RTX0RJUiA9ICQkQ1VSUkVOVF9CVUlMRF9E
1728 # SVJcbiIKICAgICAgICBmIDw8ICJNT0NfRElSID0gJCRDVVJSRU5UX0JVSUxE
1729 # X0RJUlxuIgogICAgICAgIGYgPDwgIlVJX0RJUiA9ICQkQ1VSUkVOVF9CVUlM
1730 # RF9ESVJcblxuIgplbmQKICAgICAgICAKICAgICAgICB3cml0ZShmKQogICAg
1731 # ICAgIAogICAgICAgIAogICAgICAgIGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0g
1732 # IiA8PCBAcW9uZl9wYWNrYWdlcy5tYXAgeyB8ZXwgZS5uYW1lIH0uam9pbigi
1733 # ICIpICA8PCAiXG4iCiAgICAgICAgZiA8PCAiUU9ORl9GRUFUVVJFUyArPSAi
1734 # IDw8IEBxb25mX2ZlYXR1cmVzLmpvaW4oIiAiKSAgPDwgIlxuIgogICAgICAg
1735 # IAogICAgICAgIGYgPDwgIlxuZGVmaW5lVGVzdChsaW5rX3dpdGgpIHsiIDw8
1736 # ICJcbiIKICAgICAgICBmIDw8ICIgIHJldCA9IGZhbHNlXG4iCiAgICAgICAg
1737 # QHFvbmZfcGFja2FnZXMuZWFjaCB7IHxxb25mfAogICAgICAgICAgZiA8PCAl
1738 # QCAgY29udGFpbnMoJCRsaXN0KCQkc3BsaXQoMSkpICwiI3txb25mLm5hbWV9
1739 # Iikge1xuQAogICAgICAgICAgZiA8PCAiICAgIHJldCA9IHRydWVcbiIKICAg
1740 # ICAgICAgIGYgPDwgIiAgICBtZXNzYWdlKD0+IExpbmtpbmcgcW9uZiBtb2R1
1741 # bGU6ICN7cW9uZi5uYW1lfSlcbiIKICAgICAgICAgIHFvbmYud3JpdGUoZikK
1742 # ICAgICAgICAgIGYgPDwgIiAgfVxuIgogICAgICAgIH0KICAgICAgICBmIDw8
1743 # ICIgIGV4cG9ydChJTkNMVURFUEFUSClcbiIKICAgICAgICBmIDw8ICIgIGV4
1744 # cG9ydChMSUJTKVxuIgogICAgICAgIGYgPDwgIiAgZXhwb3J0KFFUKVxuIgog
1745 # ICAgICAgIGYgPDwgIiAgZXhwb3J0KERFRklORVMpXG4iCiAgICAgICAgZiA8
1746 # PCAiICByZXR1cm4oJCRyZXQpXG4iCiAgICAgICAgZiA8PCAifVxuIgogICAg
1747 # fQogIGVuZAplbmQKCmVuZAoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1748 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1749 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1750 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1751 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1752 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1753 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1754 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1755 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1756 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1757 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1758 # AHFvbmZpZ3VyZS9zZXR1cF9yYi50cGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1759 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1760 # AAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNjIz
1761 # NwAxMDcwNDQ1MTIyMQAwMTQ3NTcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1762 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1763 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3
1764 # ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAA
1765 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1766 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1767 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1768 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1769 # AAAAAAAAAAAAAAAAAAAAAAAACgoKIyBzZXR1cCBpcyBhIG9iamVjdCB0aGF0
1770 # IGhlbHBzIHRvIGNvbmZpZ3VyZSB0aGUgcHJvamVjdAojIEl0IGNvbnRhaW5z
1771 # IHNvbWUgbWV0aG9kcyBsaWtlOgojICAgYWRkX29wdGlvbgojICAgZmluZF9w
1772 # YWNrYWdlCiMgICBhZGRfdGVzdAojICAgZ2VuZXJhdGVfcGtnY29uZmlnCmRl
1773 # ZiBjb25maWd1cmUoc2V0dXApCiMjIyMgCiMjIyMgVmVyaWZ5IGZvciBRdCB2
1774 # ZXJzaW9uLgojIyMjIAojIHNldHVwLnF0ID49ICI0LjIuMCIKCiMjIyMgCiMj
1775 # IyMgYWRkX29wdGlvbiBhZGRzIGFuIG9wdGlvbiB0byB0aGUgc2NyaXB0LCBp
1776 # dCBoYXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgojIyMjIDpuYW1lICAgICAg
1777 # ICAgVGhlIG5hbWUgb2YgdGhlIG9wdGlvbi4KIyMjIyA6dHlwZSAgICAgICAg
1778 # IFRoZSB0eXBlIG9mIHRoZSBvcHRpb24gKCJwYXRoIiwgInN0cmluZyIsICJi
1779 # b29sIiBvciAidm9pZCIpLgojIyMjIDpvcHRpb25hbCAgICAgU2F5cyBpZiB0
1780 # aGUgb3B0aW9uIGlzIHJlcXVpcmVkIG9yIG5vdC4KIyMjIyA6ZGVzY3JpcHRp
1781 # b24gIERlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24KIyMjIyA6ZGVmYXVsdCAg
1782 # ICAgIFRoZSBkZWZhdWx0IHZhbHVlCiMjIyMgCiMgICBzZXR1cC5hZGRfb3B0
1783 # aW9uKDpuYW1lID0+ICJvcHRpb24tbmFtZSIsIDp0eXBlID0+ICJwYXRoIiwg
1784 # Om9wdGlvbmFsID0+IGZhbHNlLCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgYW4g
1785 # b3B0aW9uIikKICAKIyMjIyAKIyMjIyBmaW5kX3BhY2thZ2Ugc2VhcmNoIGZv
1786 # ciBhIHBrZ2NvbmZpZyBzcGVjIGluIHlvdXIgY29tcHV0ZXIsIGl0IHNlYXJj
1787 # aCBpbiB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxl
1788 # IG9yIExEX0xJQlJBUllfUEFUSAojIyMjIFRoZSBvcHRpb25zIGFyZToKIyMj
1789 # IyA6bmFtZSAgICAgICBQYWNrYWdlIG5hbWUKIyMjIyA6b3B0aW9uYWwgICBU
1790 # cnVlIGlmIHRoZSBwYWNrYWdlIGlzIG9wdGlvbmFsCiMjIyMgOmdsb2JhbCAg
1791 # ICAgTGluayBnbG9iYWxseQojIyMjIAojICAgc2V0dXAuZmluZF9wYWNrYWdl
1792 # KDpuYW1lID0+ICJkYnVzLTEiLCA6b3B0aW9uYWwgPT4gZmFsc2UsIDpnbG9i
1793 # YWwgPT4gdHJ1ZSkKCiMjIyMgCiMjIyMgYWRkX3Rlc3QgYWRkcyBhbmQgcnVu
1794 # IGEgdGVzdCBmb3Igc29tZSBmZWF0dXJlIG9yIHBhY2thZ2UsIHRoZSBvcHRp
1795 # b25zIGFyZToKIyMjIyAgIDppZCAgICAgICAgICAgVGhlIGlkIG9mIHRoZSB0
1796 # ZXN0CiMjIyMgICA6bmFtZSAgICAgICAgIFRoZSB0ZXN0IG5hbWUKIyMjIyAg
1797 # IDpkZWZpbmVzICAgICAgRGVmaW5lcyB0byB0ZXN0CiMjIyMgICA6aW5jbHVk
1798 # ZXBhdGggIEEgbGlzdCB3aXRoIHRoZSBpbmNsdWRlIHBhdGgKIyMjIyAgIDps
1799 # aWJzICAgICAgICAgVGhlIGxpYnMgcmVxdWlyZWQgZm9yIHRoZSB0ZXN0CiMj
1800 # IyMgICA6b3B0aW9uYWwgICAgIFRydWUgaWYgdGhlIHRlc3QgaXMgb3B0aW9u
1801 # YWwKIyMjIyAgIDpjdXN0b20gICAgICAgQSBjb2RlIHRvIHRlc3QKIyMjIyAg
1802 # IDpnbG9iYWwgICAgICAgTGluayBnbG9iYWxseQojIyMjIAojIHNldHVwLmFk
1803 # ZF90ZXN0KDppZCA9PiAiZmVhdHVyZSIsIDpuYW1lID0+ICJGZWF0dXJlIHN1
1804 # cHBvcnQiLCA6ZGVmaW5lcyA9PiBbIkhBVkVfRkVBVFVSRSJdLCA6b3B0aW9u
1805 # YWwgPT4gdHJ1ZSwgOmhlYWRlcnMgPT4gWyJmZWF0dXJlLmgiXSwgOmxpYnMg
1806 # PT4gIi1sZmVhdHVyZSIsIDpnbG9iYWwgPT4gdHJ1ZSAgKQoKIyMjIyAKIyMj
1807 # IyBnZW5lcmF0ZV9wa2djb25maWcgR2VuZXJhdGVzIGEgc2ltcGxlIHBrZ2Nv
1808 # bmZpZyBmaWxlCiMjIyMgVGhlIG9wdGlvbnMgYXJlOgojIyMjICAgOnBhY2th
1809 # Z2VfbmFtZSAgVGhlIHBhY2thZ2UgbmFtZSAKIyMjIyAgIDpuYW1lICAgICAg
1810 # ICAgIFRoZSBhcHBsaWNhdGlvbiBuYW1lCiMjIyMgICA6ZGVzY3JpcHRpb24g
1811 # ICBUaGUgYXBwbGljYXRpb24gZGVzY3JpcHRpb24KIyMjIyAgIDp2ZXJzaW9u
1812 # ICAgICAgIFRoZSB2ZXJzaW9uIG9mIHRoZSBhcHBsaWNhdGlvbgojIyMjICAg
1813 # OmxpYmRpciAgICAgICAgVGhlIGRpcmVjdG9yeSB3aGVyZSBsaWJyYXJpZXMg
1814 # YXJlLCBieSBkZWZhdWx0IGlzICQocHJlZml4KS9saWIKIyMjIyAgIDppbmNs
1815 # dWRlZGlyICAgIFRoZSBkaXJlY3Rvcnkgd2hlcmUgaGVhZGVycyBhcmUsIGJ5
1816 # IGRlZmF1bHQgaXMgJChwcmVmaXgpL2luY2x1ZGUKIyMjIyAgIDpsaWJzICAg
1817 # ICAgICAgIExpYnJhcmllcyB0aGF0IGxpbmtzIHRoZSBwYWNrYWdlCiMjIyMg
1818 # ICA6Y2ZsYWdzICAgICAgICBDZmxhZ3MgZm9yIHRoZSBwYWNrYWdlCiMjIyMg
1819 # ICA6cmVxdWlyZXMgICAgICBBIGxpc3Qgb2YgcGFja2FnZSBuYW1lcyByZXF1
1820 # aXJlZCBmb3IgdGhpcyBwYWNrYWdlLgojIyMjIAojIHNldHVwLmdlbmVyYXRl
1821 # X3BrZ2NvbmZpZyg6cGFja2FnZV9uYW1lID0+ICJkbGliLWVkaXRvciIsIDpu
1822 # YW1lID0+ICJETGliIFF0IGxpYnJhcnkiLCA6ZGVzY3JpcHRpb24gPT4gIkEg
1823 # ZXh0ZW5zaW9uIGZvciBRdDQiLCA6dmVyc2lvbiA9PiAiMC4xYmV0YSIsIDps
1824 # aWJkaXIgPT4gbmlsLCA6aW5jbHVkZWRpciA9PiBuaWwsIDpsaWJzID0+ICIt
1825 # TCR7bGliZGlyfSAtbGRjb3JlIC1sZGd1aSAtbGRlZGl0b3IiLCA6Y2ZsYWdz
1826 # ID0+ICItSSR7aW5jbHVkZWRpcn0iLCA6cmVxdWlyZXMgPT4gWyJzb21lcGFj
1827 # a2FnZSIsICJvdGhlcnBhY2thZ2UiIF0gKQplbmQKCiMgVGhpcyBtZXRob2Qg
1828 # aXMgY2FsbGVkIGJlZm9yZSB0byBzZWFyY2ggYSBwYWNrYWdlCmRlZiBzZXR1
1829 # cF9wa2djb25maWcocGtnY29uZmlnLCBhcmdzKQojICAgY2FzZSBwa2djb25m
1830 # aWcuaWQKIyAgICAgd2hlbiAiZGJ1cy0xIgojICAgICAgIHBrZ2NvbmZpZy5h
1831 # ZGRfc2VhcmNoX3BhdGgoIi9hL3BhdGgvdG8vdGhlL3BjIikKIyAgIGVuZApl
1832 # bmQKCmRlZiBzZXR1cF90ZXN0KGlkLCB0c3QsIGFyZ3MpCiMgICBjYXNlIGlk
1833 # CiMgICAgIHdoZW4gImZlYXR1cmUiCiMgICAgICAgdHN0LmFkZF9kZWZpbmUo
1834 # Ik1ZREVGSU5FIikKIyAgICAgICB0c3QuYWRkX2xpYigiLWxteWxpYiIpCiMg
1835 # ICAgICAgdHN0LmFkZF9pbmNsdWRlX3BhdGgoIi9zb21lL2luY2x1ZGUvcGF0
1836 # aC9yZXF1aXJlZC90by9jb21waWxlL3RoZS90ZXN0IikKIyAgIGVuZAplbmQK
1837 # CmRlZiBzZXR1cF9jb25maWcoY2ZnLCBhcmdzKQojICAgY2ZnLmFkZF9pbmNs
1838 # dWRlX3BhdGggRmlsZS5leHBhbmRfcGF0aCgic3JjIikKIyAgIGNmZy5hZGRf
1839 # ZGVmaW5lKCJfX1NURENfQ09OU1RBTlRfTUFDUk9TIikKIyAgIGNmZy5hZGRf
1840 # cXRtb2R1bGUoInhtbCIpCiMgICBjZmcuYWRkX3F0bW9kdWxlKCJuZXR3b3Jr
1841 # IikKZW5kCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1842 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1843 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1844 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1845 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1846 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1847 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1848 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1849 # AABxb25maWd1cmUvcW1ha2UucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1850 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1851 # AAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDcz
1852 # MzMAMTA3MDQ0NTEyMjEAMDE0MDM0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1853 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1854 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jh
1855 # d2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAA
1856 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1857 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1858 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1859 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1860 # AAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdvcGVuMycKcmVxdWlyZSAn
1861 # ZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3MgUU1ha2UKICBhdHRyX3Jl
1862 # YWRlciA6cGF0aAogIAogIGRlZiBpbml0aWFsaXplKHBhdGhzID0gW10sIGxv
1863 # Z19maWxlID0gbmlsKQogICAgQHBhdGhzID0gWyAicW1ha2UtcXQ0IiwgInFt
1864 # YWtlNCIsICJxbWFrZSIgXQogICAgQHBhdGhzLmNvbmNhdChwYXRocykKICAg
1865 # IAogICAgaWYoICRERUJVRyApCiAgICAgICRzdGRlcnIgPDwgIlFNYWtlIHBh
1866 # dGhzOiAiIDw8IEBwYXRocy5qb2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAg
1867 # ICAKICAgIGlmIG5vdCBmaW5kX3FtYWtlKCI0LjAuMCIpCiAgICAgICAgICAg
1868 # IHJhaXNlICJDYW4ndCBmaW5kIHZhbGlkIHFtYWtlIC0gcXQ0IgogICAgZW5k
1869 # CiAgICAKICAgIEBsb2dfZmlsZSA9IGxvZ19maWxlCiAgICBpZiggQGxvZ19m
1870 # aWxlLm5pbD8gKQogICAgICBAbG9nX2ZpbGUgPSBvbGRsb2NhdGlvbigiY29u
1871 # ZmlnLmxvZyIpCiAgICBlbmQKICAgIAogICAgQG1ha2UgPSAibWFrZSIKICAg
1872 # IAogICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEKICAgICAgQG1ha2Vfb3B0aW9u
1873 # cyA9ICIyPj4gI3tAbG9nX2ZpbGV9IgogICAgZWxzZQogICAgICBAbWFrZV9v
1874 # cHRpb25zID0gIj4+ICN7QGxvZ19maWxlfSAyPj4gI3tAbG9nX2ZpbGV9Igog
1875 # ICAgZW5kCiAgZW5kCiAgICAgICAgCiAgZGVmIGZpbmRfcW1ha2UobWlucXR2
1876 # ZXJzaW9uLCBvcCA9IDIpCiAgICAKICAgIAogICAgbWludmVyID0gbWlucXR2
1877 # ZXJzaW9uLnNwbGl0KCIuIikKICAgIEBwYXRocy5lYWNoIHsgfHBhdGh8CiAg
1878 # ICAgIGJlZ2luCiAgICAgICAgdmVyc2lvbiA9IFtdCiAgICAgICAgb2sgPSB0
1879 # cnVlCiAgICAgICAgCiAgICAgICAgSU8ucG9wZW4oIiN7cGF0aH0gLXF1ZXJ5
1880 # IFFUX1ZFUlNJT04gMj4gI3tuZXdsb2NhdGlvbigicW1ha2VfbG9nIil9Iikg
1881 # eyB8cHJjfAogICAgICAgICAgdmVyc2lvbiA9IHByYy5yZWFkbGluZXMuam9p
1882 # bigiIikuc3BsaXQoIi4iKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBu
1883 # ZXh0IGlmICQ/ICE9IDAKICAgICAgICAKICAgICAgICB2ZXJzaW9uLnNpemUu
1884 # dGltZXMgeyB8aXwKICAgICAgICAgIGlmIHZlcnNpb24uc2l6ZSA8IGkgYW5k
1885 # IG1pbnZlci5zaXplID49IDMKICAgICAgICAgICAgICAgICAgYnJlYWsKICAg
1886 # ICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICBjYXNlIG9wCiAgICAg
1887 # ICAgICAgIHdoZW4gMAogICAgICAgICAgICAgIGlmIHZlcnNpb25baV0gIT0g
1888 # bWludmVyW2ldCiAgICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAg
1889 # ICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3
1890 # aGVuIDEKICAgICAgICAgICAgICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ld
1891 # CiAgICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBi
1892 # cmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVuIDIKICAg
1893 # ICAgICAgICAgICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAg
1894 # ICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAg
1895 # ICAgICAgICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgfQogICAgICAg
1896 # IAogICAgICAgIGlmIG9rCiAgICAgICAgICBAcGF0aCA9IHBhdGgKICAgICAg
1897 # ICAgIAogICAgICAgICAgaWYgJERFQlVHCiAgICAgICAgICAgIHB1dHMgIlVz
1898 # aW5nIHFtYWtlOiAje0BwYXRofSAje3ZlcnNpb24uam9pbigiLiIpfSIKICAg
1899 # ICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICByZXR1cm4gb2sKICAg
1900 # ICAgICBlbmQKICAgICAgcmVzY3VlCiAgICAgIGVuc3VyZQogICAgICBlbmQK
1901 # ICAgIH0KICAKICAgIHJldHVybiBmYWxzZQogIGVuZAogICAgICAgIAogICAg
1902 # ICAgIGRlZiBxdWVyeSh2YXIpCiAgICAgICAgICAgICAgICBvdXRwdXQgPSBg
1903 # I3tAcGF0aH0gLXF1ZXJ5ICN7dmFyfWAKICAgICAgICAgICAgICAgIG91dHB1
1904 # dAogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGRlZiBydW4oYXJncyA9
1905 # ICIiLCByZWN1ciA9IGZhbHNlKQogICAgICAgICAgICAgICAgaWYgJERFQlVH
1906 # CiAgICAgICAgICAgICAgICAgIHB1dHMgIkFSR1MgPSAje2FyZ3N9IgogICAg
1907 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBvcHRpb25zID0gIiIK
1908 # ICAgICAgICAgICAgICAgIGlmIHJlY3VyCiAgICAgICAgICAgICAgICAgICAg
1909 # ICAgIG9wdGlvbnMgKz0gIi1yIgogICAgICAgICAgICAgICAgZW5kCiAgICAg
1910 # ICAgICAgICAgICAKICAgICAgICAgICAgICAgIG91dHB1dCA9IGAje0BwYXRo
1911 # fSAje2FyZ3N9ICN7b3B0aW9uc30gYAogICAgICAgICAgICAgICAgaWYgb3V0
1912 # cHV0LnN0cmlwLmVtcHR5PwogICAgICAgICAgICAgICAgICAgICAgICByZXR1
1913 # cm4gdHJ1ZQogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAg
1914 # cmV0dXJuIGZhbHNlCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVm
1915 # IGNvbXBpbGUKICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAg
1916 # ICAgICAgICAgIElPLnBvcGVuKCIje0BtYWtlfSBjbGVhbiAje0BtYWtlX29w
1917 # dGlvbnN9IikgeyB8Y3wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1918 # ICBvdXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAgICAgICAgICAgICAgICAg
1919 # ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1920 # ICAgICAgICB0aW1lcyA9IDAKICAgICAgICAgICAgICAgICAgICAgICAgZW5k
1921 # Y29kZSA9IDIKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1922 # ICAgICAgICAgICAgIEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIiApIGRvIHxm
1923 # fAogICAgICAgICAgICAgICAgICAgICAgICAgIGYgPDwgIj09PT09PiBDT01Q
1924 # SUxJTkcgXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZAogICAgICAg
1925 # ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgd2hp
1926 # bGUgZW5kY29kZSA9PSAyIGFuZCB0aW1lcyA8PSAzCiAgICAgICAgICAgICAg
1927 # ICAgICAgICAgICAgICAgICAgSU8ucG9wZW4oIiN7QG1ha2V9ICN7QG1ha2Vf
1928 # b3B0aW9uc30iLCAiciIpIHsgfGN8CiAgICAgICAgICAgICAgICAgICAgICAg
1929 # ICAgICAgICAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAg
1930 # ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
1931 # ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1932 # ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRjb2RlID0g
1933 # JD8gPj4gOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1934 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzICs9IDEKICAgICAg
1935 # ICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgICAgICAg
1936 # IAogICAgICAgICAgICAgICAgcmVzY3VlCiAgICAgICAgICAgICAgICAgICAg
1937 # ICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAg
1938 # ICAgICAgICAKICAgICAgICAgICAgICAgIGlmIGVuZGNvZGUgIT0gMAogICAg
1939 # ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAg
1940 # ICAgIGVuZAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICByZXR1
1941 # cm4gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGRlZiBjbGVh
1942 # bl91cAogICAgICBJTy5wb3BlbigiI3tAbWFrZX0gZGlzdGNsZWFuIDI+PiBk
1943 # aXN0Y2xlYW4iKSB7IHxjfAogICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGlu
1944 # ZXMKICAgICAgfQogICAgICAgIGVuZAplbmQKCmVuZCAjbW9kdWxlCgoKAAAA
1945 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1946 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1947 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1948 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1949 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1950 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1951 # AAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvZnJvbnRlbmQucmIAAAAA
1952 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1953 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUw
1954 # ADAwMDE3NTAAMDAwMDAwMDAxMjQAMTA3MDQ0NTEyMjEAMDE0NTQ0ACAwAAAA
1955 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1956 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1957 # AAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1958 # AABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1962 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAptb2R1bGUg
1963 # UW9uZgoKY2xhc3MgRnJvbnRlbmQKICBkZWYgaW5pdGlhbGl6ZQogIGVuZAog
1964 # IAogIGRlZiBwYXJzZQogIGVuZAplbmQKCmVuZAoKCgAAAAAAAAAAAAAAAAAA
1965 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1966 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1967 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1968 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1973 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1974 # AAAAAAAAAAAAcW9uZmlndXJlL2Zyb250ZW5kZmFjdG9yeS5yYgAAAAAAAAAA
1975 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1976 # AAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAw
1977 # MDAwMDAwNjQzADEwNzA0NDUxMjIxADAxNjE0MgAgMAAAAAAAAAAAAAAAAAAA
1978 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1979 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
1980 # ciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAA
1981 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1982 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1983 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1984 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1985 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcmVxdWlyZSAncGxhaW5fZnJv
1986 # bnRlbmQnCgptb2R1bGUgUW9uZgoKY2xhc3MgRnJvbnRlbmRGYWN0b3J5CiAg
1987 # ZGVmIHNlbGYuY3JlYXRlKG5hbWUgPSAidGsiKQogICAgY2FzZSBuYW1lCiAg
1988 # ICAgIHdoZW4gInBsYWluIgogICAgICAgIFBsYWluRnJvbnRlbmQubmV3CiAg
1989 # ICAgIHdoZW4gInRrIgogICAgICAgIGhhdmVfdGsgPSBmYWxzZQoKICAgICAg
1990 # ICBiZWdpbgogICAgICAgICAgaGF2ZV90ayA9IHJlcXVpcmUgJ3RrJwogICAg
1991 # ICAgIHJlc2N1ZSBMb2FkRXJyb3IKICAgICAgICAgIHJldHVybiBjcmVhdGUo
1992 # InBsYWluIikKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICByZXF1aXJl
1993 # ICd0a19mcm9udGVuZCcKICAgICAgICBUa0Zyb250ZW5kLm5ldwogICAgICBl
1994 # bHNlCiAgICAgICAgbmlsCiAgICBlbmQKICBlbmQKZW5kCgplbmQKCgAAAAAA
1995 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1996 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFv
1997 # bmZpZ3VyZS9tYWtlZmlsZS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1998 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1999 # AAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMzI3NQAx
2000 # MDcxMzM1NDcwNAAwMTQ1MjQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2001 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2002 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsA
2003 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAA
2004 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2005 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2006 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2007 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2008 # AAAAAAAAAAAAAAAAAAAADQpyZXF1aXJlICdyYmNvbmZpZycNCg0KbW9kdWxl
2009 # IFFvbmYNCiAgY2xhc3MgTWFrZWZpbGUNCiAgICBkZWYgc2VsZi5maW5kX21h
2010 # a2VmaWxlcyhwYXRoKQ0KICAgICAgbWFrZWZpbGVzID0gW10NCiAgICAgIERp
2011 # ci5mb3JlYWNoKHBhdGgpIHsgfGZ8DQogICAgICAgIGZpbGUgPSAiI3twYXRo
2012 # fS8je2Z9Ig0KICAgICAgICBpZiBGaWxlLnN0YXQoZmlsZSkuZGlyZWN0b3J5
2013 # Pw0KICAgICAgICAgIGlmIG5vdCBmID1+IC9eXC4vDQogICAgICAgICAgICBt
2014 # YWtlZmlsZXMuY29uY2F0IGZpbmRfbWFrZWZpbGVzKGZpbGUpDQogICAgICAg
2015 # ICAgZW5kDQogICAgICAgIGVsc2lmIGYuZG93bmNhc2UgPX4gL15tYWtlZmls
2016 # ZSguZGVidWd8LnJlbGVhc2UpezAsMX0vDQogICAgICAgICAgbWFrZWZpbGVz
2017 # IDw8IGZpbGUNCiAgICAgICAgZW5kDQogICAgICB9DQogICAgICBtYWtlZmls
2018 # ZXMNCiAgICBlbmQNCiAgICANCiAgICBkZWYgc2VsZi5vdmVycmlkZShtYWtl
2019 # ZmlsZSwgZGVzdGRpciwgc3RhdHVzRmlsZSkNCiAgICAgIG5ld21ha2VmaWxl
2020 # ID0gIiINCiAgICAgIA0KICAgICAgcnVieV9iaW4gPSAiI3s6OkNvbmZpZzo6
2021 # Q09ORklHWyJiaW5kaXIiXX0vI3s6OkNvbmZpZzo6Q09ORklHWyJydWJ5X2lu
2022 # c3RhbGxfbmFtZSJdfSINCiAgICAgIA0KICAgICAgRmlsZS5vcGVuKG1ha2Vm
2023 # aWxlLCAiciIpIHsgfGZ8DQogICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMN
2024 # CiAgICAgICAgDQogICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1INCiAg
2025 # ICAgICAgICBkZXN0ZGlyLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NFUEFSQVRP
2026 # UikNCiAgICAgICAgZW5kDQogICAgICAgIA0KICAgICAgICBpbmRleCA9IDAN
2027 # CiAgICAgICAgcmVwbGFjZWQgPSBmYWxzZQ0KICAgICAgICB3aGlsZSBpbmRl
2028 # eCA8IGxpbmVzLnNpemUNCiAgICAgICAgICBsaW5lID0gbGluZXNbaW5kZXhd
2029 # DQogICAgICAgICAgaWYgbGluZSA9fiAvXlxzK1tAXXswLDF9XCRcKFFNQUtF
2030 # XCkvDQogICAgICAgICAgICBuZXdtYWtlZmlsZSArPSBsaW5lDQogICAgICAg
2031 # ICAgICBuZXdtYWtlZmlsZSArPSAiXHQje3J1YnlfYmlufSAje3N0YXR1c0Zp
2032 # bGV9ICN7bWFrZWZpbGV9XG4iDQogICAgICAgICAgICBpbmRleCArPSAxDQog
2033 # ICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgaWYgbm90IHJlcGxhY2VkDQog
2034 # ICAgICAgICAgICAgIGlmIGxpbmUgPX4gL15JTlNUQUxMX0RJUi8NCiAgICAg
2035 # ICAgICAgICAgICBuZXdtYWtlZmlsZSArPSAiSU5TVEFMTF9ST09UID0gI3tk
2036 # ZXN0ZGlyfVxuIg0KICAgICAgICAgICAgICAgIHJlcGxhY2VkID0gdHJ1ZQ0K
2037 # ICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAg
2038 # ICAgICAgaWYgbGluZSA9fiAvXCRcKElOU1RBTExfUk9PVFwpLw0KICAgICAg
2039 # ICAgICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1INCiAgICAgICAgICAg
2040 # ICAgICAgIGxpbmUuZ3N1YiEoIi8iLCBGaWxlOjpBTFRfU0VQQVJBVE9SKQ0K
2041 # ICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICBlbmQNCiAgICAg
2042 # ICAgICAgIGVuZA0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gbGluZQ0K
2043 # ICAgICAgICAgIGVuZA0KICAgICAgICAgIGluZGV4ICs9IDENCiAgICAgICAg
2044 # ZW5kDQogICAgICB9DQogICAgICANCiAgICAgIEZpbGUub3BlbihtYWtlZmls
2045 # ZSwgInciKSB7IHxmfA0KICAgICAgICBmIDw8IG5ld21ha2VmaWxlDQogICAg
2046 # ICB9DQogICAgZW5kDQogIGVuZA0KZW5kDQoNCg0KAAAAAAAAAAAAAAAAAAAA
2047 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2048 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2049 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2050 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2051 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2052 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2053 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1
2054 # cmUvaW5pdC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2055 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2056 # AAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDAzMDYAMTA3MDQ0
2057 # NTEyMjEAMDEzNjcyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2058 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2059 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAA
2060 # AAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAA
2061 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2062 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2063 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2064 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2065 # AAAAAAAAAAAAAApyZXF1aXJlICdxb25mJwoKRGlyLmNoZGlyKEZpbGUuZGly
2066 # bmFtZShvbGRsb2NhdGlvbigicW9uZi5yYiIpKSkKCnFvbmYgPSBRb25mOjpD
2067 # b25maWd1cmUubmV3CnFvbmYuZ2V0X2FyZ3MoQVJHVikKcW9uZi5maW5kX3Bh
2068 # Y2thZ2VzCnFvbmYucnVuX3Rlc3RzCgpxb25mLnNhdmUoImNvbmZpZy5wcmki
2069 # KQoKcW9uZi5nZW5lcmF0ZV9tYWtlZmlsZXMKCgAAAAAAAAAAAAAAAAAAAAAA
2070 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2071 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2072 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2073 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2074 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2075 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2076 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3FvbmYucmJ+
2077 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2078 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQA
2079 # MDAwMTc1MAAwMDAxNzUwADAwMDAwMDMyMjQxADEwNzEzMzc0MjQ2ADAxNDEw
2080 # NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2081 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2082 # AAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAA
2083 # AAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2087 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK
2088 # cmVxdWlyZSAndGVzdCcKcmVxdWlyZSAncGtnY29uZmlnJwpyZXF1aXJlICdm
2089 # cm9udGVuZGZhY3RvcnknCnJlcXVpcmUgJ2NvbmZpZycKcmVxdWlyZSAncW1h
2090 # a2UnCnJlcXVpcmUgJ21ha2VmaWxlJwoKbW9kdWxlIFFvbmYKICBWRVJTSU9O
2091 # ID0gIjAuNSIuZnJlZXplCiAgVkVSU0lPTl9EQVRFID0gIjIwMDctMTAtMTQi
2092 # CiAgCiAgY2xhc3MgUXRWZXJzaW9uCiAgICBhdHRyX3JlYWRlciA6dmVyc2lv
2093 # biwgOm9wICMgMDogZXF1YWwgMTogZ3JlYXRlciAyOiBncmVhdGVyIGVxdWFs
2094 # CiAgICAKICAgIGRlZiBpbml0aWFsaXplKHZlcnNpb24pCiAgICAgIEBvcCA9
2095 # IDIKICAgICAgcGFyc2UodmVyc2lvbikKICAgIGVuZAogICAgCiAgICBkZWYg
2096 # PT0odmVyKQogICAgICBAb3AgPSAwCiAgICAgIHBhcnNlKHZlcikKICAgIGVu
2097 # ZAogICAgCiAgICBkZWYgPih2ZXIpCiAgICAgIEBvcCA9IDEKICAgICAgcGFy
2098 # c2UodmVyKQogICAgZW5kCiAgICAKICAgIGRlZiA+PSh2ZXIpCiAgICAgIEBv
2099 # cCA9IDIKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAgICAKICAgIGRlZiB0
2100 # b19zCiAgICAgIHMgPSAiUXQgIgogICAgICBjYXNlIEBvcAogICAgICAgIHdo
2101 # ZW4gMAogICAgICAgICAgcys9Ij09IgogICAgICAgIHdoZW4gMQogICAgICAg
2102 # ICAgcys9Ij4iCiAgICAgICAgZWxzZQogICAgICAgICAgcys9Ij49IgogICAg
2103 # ICBlbmQKICAgICAgcys9ICIgIitAdmVyc2lvbgogICAgICAKICAgICAgcwog
2104 # ICAgZW5kCiAgICAKICAgIHByaXZhdGUKICAgIGRlZiBwYXJzZSh2ZXJzaW9u
2105 # KQogICAgICBAdmVyc2lvbiA9IHZlcnNpb24udG9fcwogICAgICB2ZXIgPSBA
2106 # dmVyc2lvbi50b19zLnNwbGl0KCcuJykKICAgICAgc2l6ZSA9IHZlci5zaXpl
2107 # CiAgICAgICAgCiAgICAgIGZpbmFsdmVyID0gW10KICAgICAgMy50aW1lcyB7
2108 # IHxpfAogICAgICAgIHRwID0gdmVyW2ldCiAgICAgICAgCiAgICAgICAgaWYg
2109 # dHAubmlsPwogICAgICAgICAgdHAgPSAiMCIKICAgICAgICBlbmQKICAgICAg
2110 # ICAKICAgICAgICBmaW5hbHZlciA8PCB0cAogICAgICB9CiAgICAgIAogICAg
2111 # ICBAdmVyc2lvbiA9IGZpbmFsdmVyLmpvaW4oIi4iKQogICAgZW5kCiAgZW5k
2112 # CiAgCiAgY2xhc3MgU2V0dXAKICAgIGF0dHJfcmVhZGVyIDpvcHRpb25zLCA6
2113 # cGFja2FnZXMsIDp0ZXN0cywgOnBrZ19jb25maWdzCiAgICBkZWYgaW5pdGlh
2114 # bGl6ZQogICAgICBAb3B0aW9ucyA9IFtdCiAgICAgIEBwYWNrYWdlcyA9IFtd
2115 # CiAgICAgIEB0ZXN0cyA9IFtdCiAgICAgIEBwa2dfY29uZmlncyA9IFtdCiAg
2116 # ICAgIEBxdF92ZXJzaW9uID0gUXRWZXJzaW9uLm5ldygiNC4wLjAiKQogICAg
2117 # ICAKICAgICAgYWRkX29wdGlvbig6bmFtZSA9PiAicHJlZml4IiwgOnR5cGUg
2118 # PT4gInBhdGgiLCA6ZGVmYXVsdCA9PiAiL3Vzci9sb2NhbC8iLCA6b3B0aW9u
2119 # YWwgPT4gdHJ1ZSwgOmRlc2NyaXB0aW9uID0+ICJTZXRzIHRoZSBpbnN0YWxs
2120 # IHByZWZpeCIpCiAgICBlbmQKICAgIAogICAgZGVmIGFkZF9vcHRpb24ob3B0
2121 # aW9uKQogICAgICBpZiBub3Qgb3B0aW9uWzp0eXBlXS5uaWw/CiAgICAgICAg
2122 # b3B0aW9uWzp0eXBlXS5kb3duY2FzZSEKICAgICAgZW5kCiAgICAgIAogICAg
2123 # ICBAb3B0aW9ucyA8PCBvcHRpb24KICAgIGVuZAogICAgCiAgICBkZWYgZmlu
2124 # ZF9wYWNrYWdlKG9wdGlvbnMpCiAgICAgIEBwYWNrYWdlcyA8PCBvcHRpb25z
2125 # CiAgICBlbmQKICAgIAogICAgZGVmIGFkZF90ZXN0KG9wdGlvbikKICAgICAg
2126 # cmFpc2UgIlBsZWFzZSBzZXQgYSB2YWxpZCBuYW1lIHRvIHRoZSB0ZXN0IiBp
2127 # ZiBvcHRpb25bOm5hbWVdLnRvX3MuZW1wdHk/CiAgICAgIHJhaXNlICJQbGVh
2128 # c2Ugc2V0IGEgdmFsaWQgaWQgdG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6aWRd
2129 # LnRvX3MuZW1wdHk/CiAgICAgIAogICAgICBAdGVzdHMgPDwgb3B0aW9uCiAg
2130 # ICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRlX3BrZ2NvbmZpZyhvcHRpb25z
2131 # KQogICAgICByYWlzZSAiUGxlYXNlIHNldCBhIHZhbGlkIG5hbWUiIGlmIG9w
2132 # dGlvbnNbOnBhY2thZ2VfbmFtZV0udG9fcy5lbXB0eT8KICAgICAgQHBrZ19j
2133 # b25maWdzIDw8IG9wdGlvbnMKICAgIGVuZAogICAgCiAgICBkZWYgcXQKICAg
2134 # ICAgQHF0X3ZlcnNpb24KICAgIGVuZAogICAgCiAgZW5kCiAgCiAgY2xhc3Mg
2135 # Q29uZmlndXJlCiAgICBkZWYgaW5pdGlhbGl6ZQogICAgICBAYXJndW1lbnRz
2136 # ID0ge30KICAgICAgQGNvbmZpZyA9IENvbmZpZy5uZXcKICAgICAgCiAgICAg
2137 # IEBsb2dfZmlsZSA9IG9sZGxvY2F0aW9uKCJjb25maWcubG9nIikKICAgICAg
2138 # CiAgICAgIEZpbGUub3BlbihAbG9nX2ZpbGUsICJ3IikgZG8gfGZ8CiAgICAg
2139 # ICAgZiA8PCAiPT09PT09PT4gR2VuZXJhdGVkIGF0ICN7VGltZS5ub3d9IDw9
2140 # PT09PT09XG4iCiAgICAgIGVuZAogICAgICAKICAgICAgcW1ha2VfcGF0aHMg
2141 # PSBbXQogICAgICBpZiggRGV0ZWN0T1Mub3M/ICE9IDEgKSAjIFVuaXgKICAg
2142 # ICAgICBJTy5wb3BlbigibG9jYXRlIC1yIC9xbWFrZSQgMj4gI3tuZXdsb2Nh
2143 # dGlvbignbG9jYXRlX2xvZycpfSIpIHsgfHByY3wKICAgICAgICAgIHByZV9w
2144 # YXRocyA9IHByYy5yZWFkbGluZXMKICAgICAgICAgIHByZV9wYXRocy5lYWNo
2145 # IHsgfHFtfAogICAgICAgICAgICBxbS5zdHJpcCEKICAgICAgICAgICAgaWYg
2146 # RmlsZS5leGlzdHM/KHFtKQogICAgICAgICAgICAgIHN0YXQgPSBGaWxlLnN0
2147 # YXQocW0pCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgaWYgKG5vdCAo
2148 # c3RhdC5zeW1saW5rPyBvciBzdGF0LmRpcmVjdG9yeT8pKSBhbmQgc3RhdC5l
2149 # eGVjdXRhYmxlPwogICAgICAgICAgICAgICAgcW1ha2VfcGF0aHMgPDwgcW0K
2150 # ICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICB9
2151 # CiAgICAgICAgfQogICAgICBlbmQKICAgICAgCiAgICAgIEBxbWFrZSA9IFFN
2152 # YWtlLm5ldyhxbWFrZV9wYXRocywgQGxvZ19maWxlKQogICAgICAKICAgICAg
2153 # Y2ZnID0gU2V0dXAubmV3CiAgICAgIGNvbmZpZ3VyZShjZmcpCiAgICAgIAog
2154 # ICAgICBwcmludCAiPT4gU2VhcmNoaW5nIGZvciAje2NmZy5xdH0uLi4gIgog
2155 # ICAgICBpZiBAcW1ha2UuZmluZF9xbWFrZShjZmcucXQudmVyc2lvbiwgY2Zn
2156 # LnF0Lm9wKQogICAgICAgIHB1dHMgIigje0BxbWFrZS5wYXRofSkgW1lFU10i
2157 # CiAgICAgIGVsc2UKICAgICAgICBwdXRzICJbTk9dIgogICAgICAgIGV4aXQo
2158 # LTEpCiAgICAgIGVuZAogICAgICAKICAgICAgQG9wdGlvbnMgPSBjZmcub3B0
2159 # aW9ucwogICAgICBAcGFja2FnZXMgPSBjZmcucGFja2FnZXMKICAgICAgQHRl
2160 # c3RzID0gY2ZnLnRlc3RzCiAgICAgIEBwa2dfY29uZmlncyA9IGNmZy5wa2df
2161 # Y29uZmlncwogICAgICBAc3RhdHVzRmlsZSA9IERpci5nZXR3ZCsiL3VwZGF0
2162 # ZS1tYWtlZmlsZSIKICAgIGVuZAogICAgCiAgICBkZWYgZmluZF9wYWNrYWdl
2163 # cyAjIFRPRE86IHNvcG9ydGFyIGluZm9ybWFjaW9uIHBhcmEgZWwgc2lzdGVt
2164 # YSBvcGVyYXRpdm8gc29icmUgY29tbyBpbnN0YWxhciBlbCBwYXF1ZXRlCiAg
2165 # ICAgIEBwYWNrYWdlcy5lYWNoIHsgfHBhY2thZ2V8CiAgICAgICAgcHJpbnQg
2166 # Ij0+IFNlYXJjaGluZyBmb3IgcGFja2FnZTogI3twYWNrYWdlWzpuYW1lXX0u
2167 # Li4gICIKICAgICAgICBwa2djb25maWcgPSBQa2dDb25maWcubmV3KHBhY2th
2168 # Z2VbOm5hbWVdKQogICAgICAgIGJlZ2luCiAgICAgICAgICBzZXR1cF9wa2dj
2169 # b25maWcocGtnY29uZmlnLCBAYXJndW1lbnRzKQogICAgICAgIHJlc2N1ZSBO
2170 # b01ldGhvZEVycm9yID0+IGUKICAgICAgICAgIGlmIG5vdCBlLm1lc3NhZ2Ug
2171 # PX4gL3NldHVwX3BrZ2NvbmZpZy8KICAgICAgICAgICAgcHV0cyAiRXJyb3I6
2172 # ICN7ZS5tZXNzYWdlfSIKICAgICAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQog
2173 # ICAgICAgICAgICBleGl0KC0xKQogICAgICAgICAgZW5kCiAgICAgICAgZW5k
2174 # CiAgICAgICAgCiAgICAgICAgaWYgbm90IHBrZ2NvbmZpZy5maW5kKHBhY2th
2175 # Z2VbOm5hbWVdKQogICAgICAgICAgcHV0cyAiW05PXSIKICAgICAgICAgIAog
2176 # ICAgICAgICAgb3B0aW9uYWwgPSBwYWNrYWdlWzpvcHRpb25hbF0ubmlsPyA/
2177 # IGZhbHNlIDogcGFja2FnZVs6b3B0aW9uYWxdCiAgICAgICAgICAKICAgICAg
2178 # ICAgIGlmIG5vdCBvcHRpb25hbAogICAgICAgICAgICBwdXRzICI9PiBUaGUg
2179 # cGFja2FnZSAnI3twYWNrYWdlWzpuYW1lXX0nIGlzIHJlcXVpcmVkLiIKICAg
2180 # ICAgICAgICAgZXhpdCgtMSkKICAgICAgICAgIGVuZAogICAgICAgIGVsc2UK
2181 # ICAgICAgICAgIHB1dHMgIltZRVNdIgogICAgICAgICAgZ2xvYmFsID0gcGFj
2182 # a2FnZVs6Z2xvYmFsXS5uaWw/ID8gZmFsc2UgOiBwYWNrYWdlWzpnbG9iYWxd
2183 # CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cgPSBAY29uZmlnCiAgICAg
2184 # ICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgcW9u
2185 # ZnBrZyA9IFBhY2thZ2UubmV3KHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAg
2186 # ZW5kCiAgICAgICAgICAKICAgICAgICAgIAojICAgICAgICAgICBwa2djb25m
2187 # aWcucmVxdWlyZXMuZWFjaCB7IHxyZXF8CiMgICAgICAgICAgICAgQGNvbmZp
2188 # Zy5hZGRfcW9uZl9wYWNrYWdlKHJlcSkKIyAgICAgICAgICAgfQogICAgICAg
2189 # ICAgCiAgICAgICAgICBxb25mcGtnLmFkZF9saWIocGtnY29uZmlnLmxpYnMp
2190 # CiAgICAgICAgICAKICAgICAgICAgIHBrZ2NvbmZpZy5pbmNsdWRlX3BhdGgu
2191 # ZWFjaCB7IHxpbmNwYXRofAogICAgICAgICAgICBxb25mcGtnLmFkZF9pbmNs
2192 # dWRlX3BhdGgoaW5jcGF0aCkKICAgICAgICAgIH0KICAgICAgICAgIAogICAg
2193 # ICAgICAgcGtnY29uZmlnLmRlZmluZXMuZWFjaCB7IHxkZWZpbmV8CiAgICAg
2194 # ICAgICAgIHFvbmZwa2cuYWRkX2RlZmluZShkZWZpbmUpCiAgICAgICAgICB9
2195 # CiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAg
2196 # ICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHFvbmZwa2cpCiAgICAgICAg
2197 # ICBlbHNlCiAgICAgICAgICAgIEBjb25maWcuYWRkX3FvbmZfZmVhdHVyZShw
2198 # YWNrYWdlWzpuYW1lXSkKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAg
2199 # ICB9CiAgICBlbmQKICAgIAogICAgZGVmIHJ1bl90ZXN0cwogICAgICBAdGVz
2200 # dHMuZWFjaCB7IHx0ZXN0b3B0fAogICAgICAgIHByaW50ICI9PiBUZXN0aW5n
2201 # ICN7dGVzdG9wdFs6bmFtZV19Li4uICAiCiAgICAgICAgCiAgICAgICAgdHN0
2202 # ID0gVGVzdC5uZXcodGVzdG9wdCwgQGNvbmZpZywgQGxvZ19maWxlKQogICAg
2203 # ICAgIAogICAgICAgIGJlZ2luCiAgICAgICAgICBzZXR1cF90ZXN0KHRlc3Rv
2204 # cHRbOmlkXSwgdHN0LCBAYXJndW1lbnRzKQogICAgICAgIHJlc2N1ZSBOb01l
2205 # dGhvZEVycm9yID0+IGUKICAgICAgICAgIGlmIG5vdCBlLm1lc3NhZ2UgPX4g
2206 # L3NldHVwX3Rlc3QvCiAgICAgICAgICAgIHB1dHMgIkVycm9yOiAje2V9Igog
2207 # ICAgICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICAgIGV4aXQo
2208 # LTEpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICAKICAgICAg
2209 # ICBvcHRpb25hbCA9IHRlc3RvcHRbOm9wdGlvbmFsXS5uaWw/ID8gZmFsc2Ug
2210 # OiB0ZXN0b3B0WzpvcHRpb25hbF0KICAgICAgICBpZiB0c3QucnVuKEBxbWFr
2211 # ZSkKICAgICAgICAgIGdsb2JhbCA9IHRlc3RvcHRbOmdsb2JhbF0ubmlsPyA/
2212 # IGZhbHNlIDogdGVzdG9wdFs6Z2xvYmFsXQogICAgICAgICAgCiAgICAgICAg
2213 # ICBxb25mcGtnID0gQGNvbmZpZwogICAgICAgICAgCiAgICAgICAgICBpZiBu
2214 # b3QgZ2xvYmFsCiAgICAgICAgICAgIHFvbmZwa2cgPSBQYWNrYWdlLm5ldyh0
2215 # c3QuaWQpCiAgICAgICAgICBlbmQKICAgICAgICAgIAogICAgICAgICAgdHN0
2216 # LmluY2x1ZGVfcGF0aC5lYWNoIHsgfGluY3BhdGh8CiAgICAgICAgICAgIHFv
2217 # bmZwa2cuYWRkX2luY2x1ZGVfcGF0aChpbmNwYXRoKQogICAgICAgICAgfQog
2218 # ICAgICAgICAgCiAgICAgICAgICB0c3QuZGVmaW5lcy5lYWNoIHsgfGRlZmlu
2219 # ZXwKICAgICAgICAgICAgcW9uZnBrZy5hZGRfZGVmaW5lKGRlZmluZSkKICAg
2220 # ICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgcW9uZnBrZy5hZGRfbGli
2221 # KHRzdC5saWJzLnRvX3MpCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBn
2222 # bG9iYWwKICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHFv
2223 # bmZwa2cpCiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIEBjb25maWcuYWRk
2224 # X3FvbmZfZmVhdHVyZSh0c3QuaWQpCiAgICAgICAgICBlbmQKICAgICAgICAg
2225 # IHB1dHMgIltPS10iCiAgICAgICAgZWxzZQogICAgICAgICAgcHV0cyAiW0ZB
2226 # SUxFRF0iCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBvcHRpb25hbAog
2227 # ICAgICAgICAgICBwdXRzICI9PiAje3Rlc3RvcHRbOm5hbWVdfSBpcyByZXF1
2228 # aXJlZCIKICAgICAgICAgICAgZXhpdCgtMSkKICAgICAgICAgIGVuZAogICAg
2229 # ICAgIGVuZAogICAgICB9CiAgICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRl
2230 # X21ha2VmaWxlcwogICAgICBwdXRzICI9PiBDcmVhdGluZyBtYWtlZmlsZXMu
2231 # Li4iCiAgICAgIEBxbWFrZS5ydW4oIiIsIHRydWUpCiAgICAgIAogICAgICBw
2232 # dXRzICI9PiBVcGRhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAgIAogICAgICBA
2233 # bWFrZWZpbGVzID0gTWFrZWZpbGU6OmZpbmRfbWFrZWZpbGVzKERpci5nZXR3
2234 # ZCkKICAgICAgQG1ha2VmaWxlcy5lYWNoIHsgfG1ha2VmaWxlfAogICAgICAg
2235 # ICAgTWFrZWZpbGU6Om92ZXJyaWRlKG1ha2VmaWxlLCBGaWxlLmV4cGFuZF9w
2236 # YXRoKEBhcmd1bWVudHNbInByZWZpeCJdLnRvX3MpLCBAc3RhdHVzRmlsZSkK
2237 # ICAgICAgfQogICAgICAKICAgICAgRmlsZS5vcGVuKEBzdGF0dXNGaWxlLCAi
2238 # dyIgKSB7IHxmaWxlfAogICAgICAgIGZpbGUgPDwgJUAKI3tGaWxlLnJlYWQo
2239 # bmV3bG9jYXRpb24oIm1ha2VmaWxlLnJiIikpfQpRb25mOjpNYWtlZmlsZTo6
2240 # b3ZlcnJpZGUoIEFSR1ZbMF0udG9fcywgIiN7QGFyZ3VtZW50c1sicHJlZml4
2241 # Il19IiwgIiN7QHN0YXR1c0ZpbGV9IiApCkAKCmlmIERldGVjdE9TLm9zPyA9
2242 # PSAxICN3aW4zMgogICAgICAgIGZpbGUgPDwgJUAKUW9uZjo6TWFrZWZpbGU6
2243 # Om92ZXJyaWRlKCBBUkdWWzBdLnRvX3MrIi5yZWxlYXNlIiwgIiN7QGFyZ3Vt
2244 # ZW50c1sicHJlZml4Il19IiwgIiN7QHN0YXR1c0ZpbGV9IiApClFvbmY6Ok1h
2245 # a2VmaWxlOjpvdmVycmlkZSggQVJHVlswXS50b19zKyIuZGVidWciLCAiI3tA
2246 # YXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tAc3RhdHVzRmlsZX0iICkKQApl
2247 # bmQKICAgICAgfQogICAgZW5kCiAgICAKICAgIGRlZiBnZXRfYXJncyhhcmd2
2248 # KQogICAgICBvcHRjID0gMAogICAgICBsYXN0X29wdCA9ICIiCiAgICAgIAog
2249 # ICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICBnaXZlbl9v
2250 # cHRpb24gPSBuaWwKICAgICAgICAKICAgICAgICBhcmd2LmVhY2ggeyB8YXJn
2251 # fAogICAgICAgICAgYXJnLnN0cmlwIQogICAgICAgICAgZ2l2ZW4gPSBmYWxz
2252 # ZQogICAgICAgICAgCiAgICAgICAgICBjYXNlIG9wdGlvbls6dHlwZV0udG9f
2253 # cwogICAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgICAgaWYg
2254 # YXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtcV1x3XSopLwogICAgICAg
2255 # ICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBnaXZlbl9v
2256 # cHRpb24gPSAkMQogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVu
2257 # ICJwYXRoIgogICAgICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29wdGlvbls6
2258 # bmFtZV19PShbXFdcd10qKS8KICAgICAgICAgICAgICAgIGdpdmVuID0gdHJ1
2259 # ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0gRmlsZS5leHBhbmRf
2260 # cGF0aCgkMSkKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgd2hlbiAi
2261 # Ym9vbCIKICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0tdXNlLSN7b3B0aW9u
2262 # WzpuYW1lXX09KFx3KykvCiAgICAgICAgICAgICAgICBnaXZlbiA9IHRydWUK
2263 # ICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICQxCiAgICAgICAgICAg
2264 # ICAgZW5kCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBpZiBhcmcg
2265 # PX4gLy0tI3tvcHRpb25bOm5hbWVdfS8KICAgICAgICAgICAgICAgIGdpdmVu
2266 # X29wdGlvbiA9ICJ5ZXMiCiAgICAgICAgICAgICAgICBnaXZlbiA9IHRydWUK
2267 # ICAgICAgICAgICAgICBlbmQKICAgICAgICAgIGVuZAogICAgICAgICAgCiAg
2268 # ICAgICAgICBpZiBnaXZlbgogICAgICAgICAgICBhcmd2LmRlbGV0ZShhcmcp
2269 # CiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgb3B0
2270 # aW9uWzp2YWx1ZV0gPSBnaXZlbl9vcHRpb24KICAgICAgfQogICAgICAKICAg
2271 # ICAgZnJvbnRlbmRfa2V5ID0gInRrIgogICAgICBhcmd2LmVhY2ggeyB8dW5r
2272 # bm93bnwKICAgICAgICB1bmtub3duLnN0cmlwIQogICAgICAgIGlmIHVua25v
2273 # d24gPX4gLy0td2l0aC1jb25maWctZnJvbnRlbmQ9KFx3KykvCiAgICAgICAg
2274 # ICBmcm9udGVuZF9rZXkgPSAkMQogICAgICAgIGVsc2lmIHVua25vd24gPX4g
2275 # Ly0taGVscC8KICAgICAgICAgIHVzYWdlCiAgICAgICAgICBleGl0KDApCiAg
2276 # ICAgICAgZWxzaWYgdW5rbm93biA9fiAvLS12ZXJzaW9uLwogICAgICAgICAg
2277 # cHV0cyAiUU9uZiAje1ZFUlNJT059IFsje1ZFUlNJT05fREFURX1dIgogICAg
2278 # ICAgICAgZXhpdCgwKQogICAgICAgIGVuZAogICAgICB9CiAgICAgIAogICAg
2279 # ICBmcm9udGVuZCA9IEZyb250ZW5kRmFjdG9yeS5jcmVhdGUoZnJvbnRlbmRf
2280 # a2V5KQogICAgICBpZiBmcm9udGVuZC5uaWw/CiAgICAgICAgcHV0cyAiPT4g
2281 # SW52YWxpZCBmcm9udGVuZCIKICAgICAgICB1c2FnZSgpCiAgICAgICAgZXhp
2282 # dCgtMSkKICAgICAgZWxzaWYgbm90IGZyb250ZW5kLnBhcnNlKEBvcHRpb25z
2283 # KQogICAgICAgIHVzYWdlKCkKICAgICAgICBleGl0KC0xKQogICAgICBlbmQK
2284 # ICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0aW9ufAogICAgICAg
2285 # IHZhbHVlID0gb3B0aW9uWzp2YWx1ZV0ubmlsPyA/IG9wdGlvbls6ZGVmYXVs
2286 # dF0udG9fcyA6IG9wdGlvbls6dmFsdWVdCiAgICAgICAgQGFyZ3VtZW50c1tv
2287 # cHRpb25bOm5hbWVdXSA9IHZhbHVlCiAgICAgIH0KICAgICAgCiAgICBlbmQK
2288 # ICAgIAogICAgZGVmIHNhdmUocGF0aCkKICAgICAgYmVnaW4KICAgICAgICBz
2289 # ZXR1cF9jb25maWcoQGNvbmZpZywgQGFyZ3VtZW50cykKICAgICAgcmVzY3Vl
2290 # IE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgIGlmIG5vdCBlLm1lc3NhZ2Ug
2291 # PX4gL3NldHVwX2NvbmZpZy8KICAgICAgICAgIHB1dHMgIkVycm9yOiAje2V9
2292 # IgogICAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQogICAgICAgICAgZXhpdCgt
2293 # MSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIAogICAgICBAY29uZmln
2294 # LmFkZF9kZWZpbmUoJUBfX1BSRUZJWF9fPSdcXFxcIicje0ZpbGUuZXhwYW5k
2295 # X3BhdGggQGFyZ3VtZW50c1sicHJlZml4Il19J1xcXFwiJ0ApCiAgICAgIAog
2296 # ICAgICBzYXZlX3BrZ2NvbmZpZwogICAgICBAY29uZmlnLnNhdmUocGF0aCkK
2297 # ICAgICAgCiAgICAgIGxhdW5jaGVyID0gbmlsCiAgICAgIGlmIERldGVjdE9T
2298 # Lm9zPyA9PSAxICMgV2luZG93cwogICAgICAgIGxhdW5jaGVyID0gRmlsZS5u
2299 # ZXcoImxhdW5jaGVyLmJhdCIsICJ3IikKICAgICAgICAKICAgICAgICBsYXVu
2300 # Y2hlciA8PCAic2V0IFBBVEg9I3tAY29uZmlnLmJ1aWxkX2Rpci5nc3ViKCcv
2301 # JywgJ1xcJyl9XFxiaW47I3tAY29uZmlnLmJ1aWxkX2Rpci5nc3ViKCcvJywg
2302 # J1xcJyl9XFxsaWI7I3tAY29uZmlnLmxpYnJhcnlfcGF0aC5qb2luKCI6Iiku
2303 # Z3N1YignLycsICdcXCcpfTslUEFUSCVcbiIKICAgICAgICBsYXVuY2hlciA8
2304 # PCAiJTFcbiIKICAgICAgZWxzZQogICAgICAgIGxhdW5jaGVyID0gRmlsZS5u
2305 # ZXcoImxhdW5jaGVyLnNoIiwidyIpCiAgICAgICAgbGF1bmNoZXIgPDwgIiMh
2306 # L2Jpbi9iYXNoXG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9ydCBQQVRI
2307 # PSN7QGNvbmZpZy5idWlsZF9kaXJ9L2Jpbjoke1BBVEh9XG4iCiAgICAgICAg
2308 # bGF1bmNoZXIgPDwgImV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9I3tAY29uZmln
2309 # LmJ1aWxkX2Rpcn0vYmluOiN7QGNvbmZpZy5idWlsZF9kaXJ9L2xpYjoje0Bj
2310 # b25maWcubGlicmFyeV9wYXRoLmpvaW4oIjoiKX06JHtMRF9MSUJSQVJZX1BB
2311 # VEh9OiR7RFlfTERfTElCUkFSWV9QQVRIfVxuIgogICAgICAgIGxhdW5jaGVy
2312 # IDw8ICJleHBvcnQgRFlMRF9MSUJSQVJZX1BBVEg9JHtMRF9MSUJSQVJZX1BB
2313 # VEh9XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgIkFQUD0kMVxuIgogICAgICAg
2314 # IGxhdW5jaGVyIDw8ICJzaGlmdFxuIgogICAgICAgIGxhdW5jaGVyIDw8ICJl
2315 # Y2hvIExhdW5jaGluZzogJEFQUFxuIgogICAgICAgIGxhdW5jaGVyIDw8ICIk
2316 # QVBQICQqXG4iCiAgICAgIGVuZAogICAgICAKICAgICAgRmlsZS5jaG1vZCgw
2317 # NzU1LCBsYXVuY2hlci5wYXRoKQogICAgICAKICAgIGVuZAogICAgCiAgICBk
2318 # ZWYgc2F2ZV9wa2djb25maWcKICAgICAgaWYgbm90IEBwa2dfY29uZmlncy5l
2319 # bXB0eT8KICAgICAgICBAcGtnX2NvbmZpZ3MuZWFjaCB7IHxwa2dfY29uZmln
2320 # fAogICAgICAgICAgRmlsZS5vcGVuKCBwa2dfY29uZmlnWzpwYWNrYWdlX25h
2321 # bWVdKyIucGMiLCAidyIpIGRvIHxmaWxlfAogICAgICAgICAgICBmaWxlIDw8
2322 # ICJwcmVmaXg9IiA8PCBAYXJndW1lbnRzWyJwcmVmaXgiXSA8PCAiXG4iCiAg
2323 # ICAgICAgICAgIGZpbGUgPDwgImV4ZWNfcHJlZml4PSR7cHJlZml4fSIgPDwg
2324 # IlxuIgogICAgICAgICAgICBmaWxlIDw8ICJsaWJkaXI9I3twa2dfY29uZmln
2325 # WzpsaWJkaXJdLm5pbD8gPyAiJHtwcmVmaXh9L2xpYiIgOiBwa2dfY29uZmln
2326 # WzpsaWJkaXJdIH0iIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiaW5j
2327 # bHVkZWRpcj0je3BrZ19jb25maWdbOmluY2x1ZGVkaXJdLm5pbD8gPyAiJHtw
2328 # cmVmaXh9L2luY2x1ZGUiIDogcGtnX2NvbmZpZ1s6aW5jbHVkZWRpcl0gfSIg
2329 # PDwgIlxuXG5cbiIKICAgICAgICAgICAgCiAgICAgICAgICAgIGZpbGUgPDwg
2330 # Ik5hbWU6ICIgPDwgcGtnX2NvbmZpZ1s6cGFja2FnZV9uYW1lXSA8PCAiXG4i
2331 # CiAgICAgICAgICAgIGZpbGUgPDwgIkRlc2NyaXB0aW9uOiAiIDw8IHBrZ19j
2332 # b25maWdbOmRlc2NyaXB0aW9uXSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUg
2333 # PDwgIlJlcXVpcmVzOiAiIDw8IHBrZ19jb25maWdbOnJlcXVpcmVzXS5qb2lu
2334 # KCIgIikgPDwgIlxuIiBpZiBwa2dfY29uZmlnWzpyZXF1aXJlc10uY2xhc3Mg
2335 # PT0gQXJyYXkKICAgICAgICAgICAgZmlsZSA8PCAiVmVyc2lvbjogIiA8PCBw
2336 # a2dfY29uZmlnWzp2ZXJzaW9uXSA8PCAiXG4iCiAgICAgICAgICAgIAogICAg
2337 # ICAgICAgICBmaWxlIDw8ICJMaWJzOiAiIDw8IHBrZ19jb25maWdbOmxpYnNd
2338 # IDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiQ2ZsYWdzOiAiIDw8IHBr
2339 # Z19jb25maWdbOmNmbGFnc10gPDwgIlxuIgogICAgICAgICAgZW5kCiAgICAg
2340 # ICAgfQogICAgICBlbmQKICAgIGVuZAogICAgCiAgICAKICAgIGRlZiBsb2co
2341 # dHh0KQogICAgICBGaWxlLm9wZW4oQGxvZ19maWxlLCAiYSIpIGRvIHxmfAog
2342 # ICAgICAgIGYgPDwgdHh0IDw8ICJcbiIKICAgICAgZW5kCiAgICBlbmQKICAg
2343 # IAogICAgZGVmIHVzYWdlCiAgICAgIHB1dHMgIk9wdGlvbnM6IgogICAgICBA
2344 # b3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwKICAgICAgICBjYXNlIG9wdGlvbls6
2345 # dHlwZV0KICAgICAgICAgIHdoZW4gInN0cmluZyIKICAgICAgICAgICAgcHJp
2346 # bnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09W3ZhbHVlXSIKICAgICAgICAg
2347 # ICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25dfSAi
2348 # CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiBub3Qgb3B0aW9uWzpkZWZh
2349 # dWx0XS5uaWw/CiAgICAgICAgICAgICAgcHJpbnQgIltkZWZhdWx0PSN7b3B0
2350 # aW9uWzpkZWZhdWx0XX1dIgogICAgICAgICAgICBlbmQKICAgICAgICAgIHdo
2351 # ZW4gInBhdGgiCiAgICAgICAgICAgIHByaW50ICJcbiAgLS0je29wdGlvbls6
2352 # bmFtZV19PVsvYS9wYXRoXSIKICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4u
2353 # Li4je29wdGlvbls6ZGVzY3JpcHRpb25dfSAiCiAgICAgICAgICAgIAogICAg
2354 # ICAgICAgICBpZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAg
2355 # ICAgICAgcHJpbnQgIltkZWZhdWx0PSN7b3B0aW9uWzpkZWZhdWx0XX1dIgog
2356 # ICAgICAgICAgICBlbmQKICAgICAgICAgIHdoZW4gImJvb2wiCiAgICAgICAg
2357 # ICAgIHByaW50ICJcbiAgLS11c2UtI3tvcHRpb25bOm5hbWVdfT1beWVzfG5v
2358 # XSIKICAgICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVsdF0ubmlsPwog
2359 # ICAgICAgICAgICAgIGRlZmF1bHQgPSBvcHRpb25bOmRlZmF1bHRdCiAgICAg
2360 # ICAgICAgICAgaWYgZGVmYXVsdCA9PSB0cnVlIG9yIGRlZmF1bHQgPT0gInll
2361 # cyIgb3IgZGVmYXVsdCA9PSAidHJ1ZSIKICAgICAgICAgICAgICAgIGRlZmF1
2362 # bHQgPSAieWVzIgogICAgICAgICAgICAgIGVsc2lmIGRlZmF1bHQgPT0gZmFs
2363 # c2Ugb3IgZGVmYXVsdCA9PSAibm8iIG9yIGRlZmF1bHQgPT0gImZhbHNlIgog
2364 # ICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJubyIKICAgICAgICAgICAgICBl
2365 # bHNlCiAgICAgICAgICAgICAgICBkZWZhdWx0ID0gIm5vIgogICAgICAgICAg
2366 # ICAgIGVuZAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIHByaW50ICJc
2367 # dFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gW2RlZmF1bHQ9I3tk
2368 # ZWZhdWx0fV0iCiAgICAgICAgICAgIGVuZAogICAgICAgICAgZWxzZQogICAg
2369 # ICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVdfSIKICAgICAg
2370 # ICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25d
2371 # fSIKICAgICAgICBlbmQKICAgICAgfQogICAgICAKICAgICAgcHJpbnQgIlxu
2372 # ICAtLXdpdGgtY29uZmlnLWZyb250ZW5kPVtwbGFpbnx0a10iCiAgICAgIHBy
2373 # aW50ICJcdFx0Li4uLi4uU2V0cyB0aGUgZnJvbnRlbmQgdG8gY29uZmlndXJl
2374 # IHRoZSBhcHBsaWNhdGlvbiBbZGVmYXVsdD10a10iCiAgICAgIHByaW50ICJc
2375 # biAgLS1oZWxwIgogICAgICBwcmludCAiXG4gIC0tdmVyc2lvbiIKICAgICAg
2376 # cHJpbnQgIlx0XHQuLi4uLi5TaG93cyB0aGlzIG1lc3NhZ2UiCiAgICAgIAog
2377 # ICAgICBwdXRzICIiCiAgICBlbmQKICBlbmQKZW5kCgpiZWdpbgogIGxvYWQg
2378 # InNldHVwLnJiIgpyZXNjdWUgTG9hZEVycm9yCiAgRmlsZS5vcGVuKG9sZGxv
2379 # Y2F0aW9uKCJzZXR1cC5yYiIpLCAidyIpIGRvIHxmaWxlfAogICAgZmlsZSA8
2380 # PCBGaWxlLnJlYWQoInNldHVwX3JiLnRwbCIpIDw8ICJcbiIKICBlbmQKICBw
2381 # dXRzICI9PiBBIHRlbXBsYXRlIGZpbGUgd2FzIGdlbmVyYXRlZCBpbiBzZXR1
2382 # cC5yYiwgcGxlYXNlIGVkaXQgaXQgYW5kIHJlcnVuIHRoZSBjb25maWd1cmUg
2383 # c2NyaXB0LiIKICBleGl0KC0xKQplbmQKCmlmIF9fRklMRV9fID09ICQwCiAg
2384 # cW9uZiA9IFFvbmY6OkNvbmZpZ3VyZS5uZXcKICBxb25mLmdldF9hcmdzKEFS
2385 # R1YpCiAgcW9uZi5maW5kX3BhY2thZ2VzCiAgcW9uZi5ydW5fdGVzdHMKICAK
2386 # ICBxb25mLnNhdmUoImNvbmZpZy5wcmkiKQogIAogIHFvbmYuZ2VuZXJhdGVf
2387 # bWFrZWZpbGVzCmVuZAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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=