<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>152703</bug_id>
          
          <creation_ts>2016-01-04 11:30:50 -0800</creation_ts>
          <short_desc>offlineasm: Emit Dwarf2 file and location directives to allow for debugging .asm files</short_desc>
          <delta_ts>2016-02-12 18:37:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152417</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-04 11:30:50 -0800</bug_when>
    <thetext>If the offline assembler added .file and .loc Dwarf2 directives, we can do source level debugging of the LLInt .asm files.

For example:

(lldb)
Process 55150 stopped
* thread #1: tid = 0xc9de2a, 0x0000000100ada5cf JavaScriptCore`llint_entry + 7403 at LowLevelInterpreter64.asm:796, queue = &apos;com.apple.main-thread&apos;, stop reason = step over
    frame #0: 0x0000000100ada5cf JavaScriptCore`llint_entry + 7403 at LowLevelInterpreter64.asm:796
   793 	    loadq [cfr, t0, 8], t1
   794 	    bqb t1, tagTypeNumber, .slow
   795 	    arithmeticOperation(t1, .slow)
-&gt; 796 	    orq tagTypeNumber, t1
   797 	    storeq t1, [cfr, t0, 8]
   798 	    dispatch(2)
   799 	
(lldb) n
Process 55150 stopped
* thread #1: tid = 0xc9de2a, 0x0000000100ada5d2 JavaScriptCore`llint_entry + 7406 at LowLevelInterpreter64.asm:797, queue = &apos;com.apple.main-thread&apos;, stop reason = step over
    frame #0: 0x0000000100ada5d2 JavaScriptCore`llint_entry + 7406 at LowLevelInterpreter64.asm:797
   794 	    bqb t1, tagTypeNumber, .slow
   795 	    arithmeticOperation(t1, .slow)
   796 	    orq tagTypeNumber, t1
-&gt; 797 	    storeq t1, [cfr, t0, 8]
   798 	    dispatch(2)
   799 	
   800 	.slow:
(lldb) bt 6
* thread #1: tid = 0xc9de2a, 0x0000000100ada5d2 JavaScriptCore`llint_entry + 7406 at LowLevelInterpreter64.asm:797, queue = &apos;com.apple.main-thread&apos;, stop reason = step over
  * frame #0: 0x0000000100ada5d2 JavaScriptCore`llint_entry + 7406 at LowLevelInterpreter64.asm:797
    frame #1: 0x0000001000000001
    frame #2: 0x0000000100adf138 JavaScriptCore`llint_entry + 26708 at LowLevelInterpreter.asm:726
    frame #3: 0x0000000100ad86ce JavaScriptCore`vmEntryToJavaScript + 334 at LowLevelInterpreter64.asm:249
    frame #4: 0x000000010090ec35 JavaScriptCore`JSC::JITCode::execute(this=0x00000001069a2258, vm=0x0000000106c01000, protoCallFrame=0x00007fff5fbfa898) + 213 at JITCode.cpp:80
    frame #5: 0x00000001008d6147 JavaScriptCore`JSC::Interpreter::execute(this=0x0000000103bf8548, program=0x0000000106896900, callFrame=0x00000001068a3740, thisObj=0x00000001068c9ac0) + 4471 at Interpreter.cpp:975
(lldb) 

This change is dependent on fixing a bug in the Clang toolchain.  That bug is tracked in &lt;rdar://problem/22690666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152419</commentid>
    <comment_count>1</comment_count>
      <attachid>268208</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-04 11:36:30 -0800</bug_when>
    <thetext>Created attachment 268208
Patch

This patch cannot be landed or enabled without the fix needed for Clang to support multiple .file directives from inlined assembly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152437</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-04 12:06:30 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 268208 [details]
&gt; Patch
&gt; 
&gt; This patch cannot be landed or enabled without the fix needed for Clang to
&gt; support multiple .file directives from inlined assembly.

This patch could be landed with $enableDebugAnnotations = false in config.rb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152536</commentid>
    <comment_count>3</comment_count>
      <attachid>268208</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-01-04 15:16:16 -0800</bug_when>
    <thetext>Comment on attachment 268208
Patch

Generating ../../DerivedSources/JavaScriptCore/LowLevelInterpreterWin.asm
  Assembling C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\DerivedSources\JavaScriptCore\LowLevelInterpreterWin.asm...
reterWin.asm(5): error A2071: initializer magnitude too large for specified size [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
MASM : error A2109: only white space or comment can follow backslash [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
reterWin.asm(7): error A2071: initializer magnitude too large for specified size [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
MASM : error A2109: only white space or comment can follow backslash [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
reterWin.asm(9): error A2071: initializer magnitude too large for specified size [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
MASM : error A2109: only white space or comment can follow backslash [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
reterWin.asm(11): error A2071: initializer magnitude too large for specified size [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
MASM : error A2109: only white space or comment can follow backslash [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152564</commentid>
    <comment_count>4</comment_count>
      <attachid>268246</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-04 16:22:31 -0800</bug_when>
    <thetext>Created attachment 268246
Updated patch

Fixed windows issue.

Turned off debug annotations.  To be turned on when clang bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154685</commentid>
    <comment_count>5</comment_count>
      <attachid>268246</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-01-12 07:15:56 -0800</bug_when>
    <thetext>Comment on attachment 268246
Updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268246&amp;action=review

&gt; Source/JavaScriptCore/offlineasm/arm64.rb:1
&gt; +# Copyright (C) 2011, 2012, 2014, 2015, 2106 Apple Inc. All rights reserved.

typo: 2106 -&gt; 2016

&gt; Source/JavaScriptCore/offlineasm/arm.rb:1
&gt; +# Copyright (C) 2011, 2012, 2015, 2106 Apple Inc. All rights reserved.

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154774</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-01-12 11:03:24 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 268246 [details]
&gt; Updated patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=268246&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/offlineasm/arm64.rb:1
&gt; &gt; +# Copyright (C) 2011, 2012, 2014, 2015, 2106 Apple Inc. All rights reserved.
&gt; 
&gt; typo: 2106 -&gt; 2016
&gt; 
&gt; &gt; Source/JavaScriptCore/offlineasm/arm.rb:1
&gt; &gt; +# Copyright (C) 2011, 2012, 2015, 2106 Apple Inc. All rights reserved.
&gt; 
&gt; ditto

Just thinking ahead ;)

Fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164197</commentid>
    <comment_count>7</comment_count>
      <attachid>268246</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 10:41:32 -0800</bug_when>
    <thetext>Comment on attachment 268246
Updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=268246&amp;action=review

r=me

&gt;&gt;&gt; Source/JavaScriptCore/offlineasm/arm64.rb:1
&gt;&gt;&gt; +# Copyright (C) 2011, 2012, 2014, 2015, 2106 Apple Inc. All rights reserved.
&gt;&gt; 
&gt;&gt; typo: 2106 -&gt; 2016
&gt; 
&gt; Just thinking ahead ;)
&gt; 
&gt; Fixed locally.

FYI, for brevity, you can use &quot;2014-2016&quot; instead of &quot;2014, 2015, 2016&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164460</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-02-12 18:37:17 -0800</bug_when>
    <thetext>Committed r196541: &lt;http://trac.webkit.org/changeset/196541&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268208</attachid>
            <date>2016-01-04 11:36:30 -0800</date>
            <delta_ts>2016-01-04 16:22:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>152703.patch</filename>
            <type>text/plain</type>
            <size>9644</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0NTQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE2LTAxLTA0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIG9mZmxpbmVhc206IEVtaXQgRHdhcmYyIGZpbGUgYW5kIGxvY2F0aW9uIGRpcmVjdGl2ZXMg
dG8gYWxsb3cgZm9yIGRlYnVnZ2luZyAuYXNtIGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3MDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IHRvIG91dHB1dCBEd2FyZjIg
LmZpbGUgYW5kIC5sb2MgYXNzZW1ibGVyIGRpcmVjdGl2ZXMgdG8gcHJvdmlkZSB0aGUgZGVidWdn
aW5nCisgICAgICAgIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb3JyZWxhdGUgdGhlIG9mZmxpbmUg
YXNzZW1ibGVyIGdlbmVyYXRlZCBjb2RlIHdpdGggdGhlIHNvdXJjZSBsaW5lcyAKKyAgICAgICAg
aW4gdGhlIC5hc20gZmlsZXMuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgdHJhY2tpbmcgb2YgZmls
ZSBkYXRhIHRvIGluY2x1ZGUgYSBmaWxlIGluZGV4IHRoYXQgd2FzIHByb3ZpZGVkIHRvIHRoZSAu
ZmlsZQorICAgICAgICBkaXJlY3RpdmUuICBUaGF0IGluZGV4IGlzIHVzZWQgd2hlbiBlbWl0dGlu
ZyB0aGUgLmxvYyBkaXJlY3RpdmVzLgorCisgICAgICAgICogb2ZmbGluZWFzbS9hcm0ucmI6Cisg
ICAgICAgICogb2ZmbGluZWFzbS9hcm02NC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FzbS5y
YjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2JhY2tlbmRzLnJiOgorICAgICAgICAqIG9mZmxpbmVh
c20vY29uZmlnLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vcGFyc2VyLnJiOgorICAgICAgICAq
IG9mZmxpbmVhc20veDg2LnJiOgorCiAyMDE2LTAxLTA0ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHRoZSAhRU5BQkxFKElOVEwpIGJ1aWxkIGFm
dGVyIHIxOTM0OTMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0
LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0
LnJiCShyZXZpc2lvbiAxOTQyMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFz
bS9hcm02NC5yYgkod29ya2luZyBjb3B5KQpAQCAtNDgwLDYgKzQ4MCw3IEBAIGNsYXNzIEluc3Ry
dWN0aW9uCiAgICAgZGVmIGxvd2VyQVJNNjQKICAgICAgICAgJGFzbS5jb21tZW50IGNvZGVPcmln
aW5TdHJpbmcKICAgICAgICAgJGFzbS5hbm5vdGF0aW9uIGFubm90YXRpb24gaWYgJGVuYWJsZUlu
c3RyQW5ub3RhdGlvbnMKKyAgICAgICAgJGFzbS5kZWJ1Z0Fubm90YXRpb24gY29kZU9yaWdpbi5k
ZWJ1Z0RpcmVjdGl2ZSBpZiAkZW5hYmxlRGVidWdBbm5vdGF0aW9ucwogCiAgICAgICAgIGNhc2Ug
b3Bjb2RlCiAgICAgICAgIHdoZW4gJ2FkZGknCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vYXJtLnJiCShyZXZpc2lvbiAxOTQyMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvb2ZmbGluZWFzbS9hcm0ucmIJKHdvcmtpbmcgY29weSkKQEAgLTM0OSw2ICszNDksNyBAQCBj
bGFzcyBJbnN0cnVjdGlvbgogICAgIGRlZiBsb3dlckFSTUNvbW1vbgogICAgICAgICAkYXNtLmNv
ZGVPcmlnaW4gY29kZU9yaWdpblN0cmluZyBpZiAkZW5hYmxlQ29kZU9yaWdpbkNvbW1lbnRzCiAg
ICAgICAgICRhc20uYW5ub3RhdGlvbiBhbm5vdGF0aW9uIGlmICRlbmFibGVJbnN0ckFubm90YXRp
b25zCisgICAgICAgICRhc20uZGVidWdBbm5vdGF0aW9uIGNvZGVPcmlnaW4uZGVidWdEaXJlY3Rp
dmUgaWYgJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKIAogICAgICAgICBjYXNlIG9wY29kZQogICAg
ICAgICB3aGVuICJhZGRpIiwgImFkZHAiLCAiYWRkaXMiLCAiYWRkcHMiCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNtLnJiCShyZXZpc2lvbiAxOTQyMjApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDYgKzUzLDcgQEAgY2xhc3MgQXNzZW1ibGVyCiAgICAgZGVmIGVudGVyQXNtCiAgICAgICAgIEBv
dXRwLnB1dHMgIk9GRkxJTkVfQVNNX0JFR0lOIiBpZiAhJGVtaXRXaW5Bc20KICAgICAgICAgQHN0
YXRlID0gOmFzbQorICAgICAgICBTb3VyY2VGaWxlLm91dHB1dERvdEZpbGVMaXN0KEBvdXRwKSBp
ZiAkZW5hYmxlRGVidWdBbm5vdGF0aW9ucwogICAgIGVuZAogICAgIAogICAgIGRlZiBsZWF2ZUFz
bQpAQCAtMjcxLDkgKzI3MiwxNCBAQCBjbGFzcyBBc3NlbWJsZXIKICAgICBkZWYgY29tbWVudCh0
ZXh0KQogICAgICAgICBAY29tbWVudCA9IHRleHQKICAgICBlbmQKKwogICAgIGRlZiBhbm5vdGF0
aW9uKHRleHQpCiAgICAgICAgIEBhbm5vdGF0aW9uID0gdGV4dAogICAgIGVuZAorCisgICAgZGVm
IGRlYnVnQW5ub3RhdGlvbih0ZXh0KQorICAgICAgICBAb3V0cC5wdXRzIHRleHQKKyAgICBlbmQK
IGVuZAogCiBJbmNsdWRlRmlsZS5wcm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYmFja2VuZHMucmIKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYmFja2VuZHMucmIJKHJldmlzaW9uIDE5NDIy
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2JhY2tlbmRzLnJiCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTQsNiArMTE0LDcgQEAgZW5kCiAKIGNsYXNzIExhYmVsCiAgICAgZGVm
IGxvd2VyKG5hbWUpCisgICAgICAgICRhc20uZGVidWdBbm5vdGF0aW9uIGNvZGVPcmlnaW4uZGVi
dWdEaXJlY3RpdmUgaWYgJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKICAgICAgICAgJGFzbS5wdXRz
TGFiZWwoc2VsZi5uYW1lWzEuLi0xXSwgQGdsb2JhbCkKICAgICBlbmQKIGVuZApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY29uZmlnLnJiCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2NvbmZpZy5yYgkocmV2aXNpb24gMTk0MjIw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY29uZmlnLnJiCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwzICs1NSw3IEBAICRlbmFibGVDb2RlT3JpZ2luQ29tbWVudHMgPSB0cnVl
CiAjICAgICAuLi4KICMKICRlbmFibGVJbnN0ckFubm90YXRpb25zID0gZmFsc2UKKworIyBUdXJu
cyBvbiBnZW5lcmF0aW9uIG9mIERXQVJGMiBkZWJ1ZyBhbm5vdGlvbnMgZm9yIGZpbGUgYW5kIGxp
bmUgbnVtYmVycy4KKyMgQWxsb3MgZm9yIHNvdXJjZSBsZXZlbCBkZWJ1Z2luZyBvZiB0aGUgb3Jp
Z2luYWwgLmFzbSBmaWxlcyBpbiBhIGRlYnVnZ2VyLgorJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMg
PSB0cnVlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9wYXJzZXIucmIK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcGFyc2VyLnJi
CShyZXZpc2lvbiAxOTQyMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9w
YXJzZXIucmIJKHdvcmtpbmcgY29weSkKQEAgLTI4LDE0ICsyOCw0OCBAQCByZXF1aXJlICJwYXRo
bmFtZSIKIHJlcXVpcmUgInJlZ2lzdGVycyIKIHJlcXVpcmUgInNlbGZfaGFzaCIKIAorY2xhc3Mg
U291cmNlRmlsZQorICAgIEBAZmlsZU5hbWVzID0gW10KKyAgICAKKyAgICBhdHRyX3JlYWRlciA6
bmFtZSwgOmZpbGVOdW1iZXIKKworICAgIGRlZiBTb3VyY2VGaWxlLm91dHB1dERvdEZpbGVMaXN0
KG91dHApCisgICAgICAgIEBAZmlsZU5hbWVzLmVhY2hfaW5kZXggeworICAgICAgICAgICAgfCBp
bmRleCB8CisgICAgICAgICAgICBvdXRwLnB1dHMgIlwiLmZpbGUgI3tpbmRleCsxfSBcXFwiI3tA
QGZpbGVOYW1lc1tpbmRleF19XFxcIlxcblwiIgorICAgICAgICB9CisgICAgZW5kCisKKyAgICBk
ZWYgaW5pdGlhbGl6ZShmaWxlTmFtZSkKKyAgICAgICAgQG5hbWUgPSBQYXRobmFtZS5uZXcoZmls
ZU5hbWUpCisgICAgICAgIHBhdGhOYW1lID0gIiN7QG5hbWUucmVhbHBhdGh9IgorICAgICAgICBm
aWxlTnVtYmVyID0gQEBmaWxlTmFtZXMuaW5kZXgocGF0aE5hbWUpCisgICAgICAgIGlmIG5vdCBm
aWxlTnVtYmVyCisgICAgICAgICAgICBAQGZpbGVOYW1lcyA8PCBwYXRoTmFtZQorICAgICAgICAg
ICAgZmlsZU51bWJlciA9IEBAZmlsZU5hbWVzLmxlbmd0aAorICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmaWxlTnVtYmVyICs9IDEgIyBGaWxlIG51bWJlcnMgYXJlIDEgYmFzZWQKKyAgICAgICAg
ZW5kCisgICAgICAgIEBmaWxlTnVtYmVyID0gZmlsZU51bWJlcgorICAgIGVuZAorZW5kCisKIGNs
YXNzIENvZGVPcmlnaW4KLSAgICBhdHRyX3JlYWRlciA6ZmlsZU5hbWUsIDpsaW5lTnVtYmVyCisg
ICAgYXR0cl9yZWFkZXIgOmxpbmVOdW1iZXIKICAgICAKLSAgICBkZWYgaW5pdGlhbGl6ZShmaWxl
TmFtZSwgbGluZU51bWJlcikKLSAgICAgICAgQGZpbGVOYW1lID0gZmlsZU5hbWUKKyAgICBkZWYg
aW5pdGlhbGl6ZShzb3VyY2VGaWxlLCBsaW5lTnVtYmVyKQorICAgICAgICBAc291cmNlRmlsZSA9
IHNvdXJjZUZpbGUKICAgICAgICAgQGxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyCiAgICAgZW5kCi0g
ICAgCisKKyAgICBkZWYgZmlsZU5hbWUKKyAgICAgICAgQHNvdXJjZUZpbGUubmFtZQorICAgIGVu
ZAorCisgICAgZGVmIGRlYnVnRGlyZWN0aXZlCisgICAgICAgICRlbWl0V2luQXNtID8gbmlsIDog
IlwiLmxvYyAje0Bzb3VyY2VGaWxlLmZpbGVOdW1iZXJ9ICN7bGluZU51bWJlcn1cXG5cIiIKKyAg
ICBlbmQKKwogICAgIGRlZiB0b19zCiAgICAgICAgICIje2ZpbGVOYW1lfToje2xpbmVOdW1iZXJ9
IgogICAgIGVuZApAQCAtMTE3LDggKzE1MSw3IEBAIGVuZAogIyBUaGUgbGV4ZXIuIFRha2VzIGEg
c3RyaW5nIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRva2Vucy4KICMKIAotZGVmIGxleChzdHIs
IGZpbGVOYW1lKQotICAgIGZpbGVOYW1lID0gUGF0aG5hbWUubmV3KGZpbGVOYW1lKQorZGVmIGxl
eChzdHIsIGZpbGUpCiAgICAgcmVzdWx0ID0gW10KICAgICBsaW5lTnVtYmVyID0gMQogICAgIGFu
bm90YXRpb24gPSBuaWwKQEAgLTEzOCwzNyArMTcxLDM3IEBAIGRlZiBsZXgoc3RyLCBmaWxlTmFt
ZSkKICAgICAgICAgICAgICMgdXNlIG9mIHRoaXMgZm9yIGl0cyBjbG9vcERvIGRlYnVnZ2luZyB1
dGlsaXR5IGV2ZW4gaWYKICAgICAgICAgICAgICMgZW5hYmxlSW5zdHJBbm5vdGF0aW9ucyBpcyBu
b3QgZW5hYmxlZC4KICAgICAgICAgICAgIGlmIGFubm90YXRpb24KLSAgICAgICAgICAgICAgICBy
ZXN1bHQgPDwgQW5ub3RhdGlvbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZU5hbWUsIGxpbmVOdW1i
ZXIpLAorICAgICAgICAgICAgICAgIHJlc3VsdCA8PCBBbm5vdGF0aW9uLm5ldyhDb2RlT3JpZ2lu
Lm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYW5ub3RhdGlvblR5cGUsIGFubm90YXRpb24pCiAgICAgICAgICAgICAgICAgYW5u
b3RhdGlvbiA9IG5pbAogICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICByZXN1bHQgPDwgVG9r
ZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwgJCYpCisgICAgICAg
ICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGUsIGxpbmVOdW1iZXIp
LCAkJikKICAgICAgICAgICAgIGxpbmVOdW1iZXIgKz0gMQogICAgICAgICB3aGVuIC9cQVthLXpB
LVpdKFthLXpBLVowLTlfLl0qKS8KLSAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXcoQ29k
ZU9yaWdpbi5uZXcoZmlsZU5hbWUsIGxpbmVOdW1iZXIpLCAkJikKKyAgICAgICAgICAgIHJlc3Vs
dCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlciksICQmKQogICAg
ICAgICB3aGVuIC9cQVwuKFthLXpBLVowLTlfXSopLwotICAgICAgICAgICAgcmVzdWx0IDw8IFRv
a2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmKQorICAgICAg
ICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVy
KSwgJCYpCiAgICAgICAgIHdoZW4gL1xBXyhbYS16QS1aMC05X10qKS8KLSAgICAgICAgICAgIHJl
c3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZU5hbWUsIGxpbmVOdW1iZXIpLCAk
JikKKyAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZSwg
bGluZU51bWJlciksICQmKQogICAgICAgICB3aGVuIC9cQShbIFx0XSspLwogICAgICAgICAgICAg
IyB3aGl0ZXNwYWNlLCBpZ25vcmUKICAgICAgICAgICAgIHdoaXRlc3BhY2VGb3VuZCA9IHRydWUK
ICAgICAgICAgICAgIHN0ciA9ICR+LnBvc3RfbWF0Y2gKICAgICAgICAgICAgIG5leHQKICAgICAg
ICAgd2hlbiAvXEEweChbMC05YS1mQS1GXSspLwotICAgICAgICAgICAgcmVzdWx0IDw8IFRva2Vu
Lm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmLmhleC50b19zKQor
ICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5l
TnVtYmVyKSwgJCYuaGV4LnRvX3MpCiAgICAgICAgIHdoZW4gL1xBMChbMC03XSspLwotICAgICAg
ICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51
bWJlciksICQmLm9jdC50b19zKQorICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2Rl
T3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwgJCYub2N0LnRvX3MpCiAgICAgICAgIHdoZW4g
L1xBKFswLTldKykvCi0gICAgICAgICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4u
bmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwgJCYpCisgICAgICAgICAgICByZXN1bHQgPDwgVG9r
ZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGUsIGxpbmVOdW1iZXIpLCAkJikKICAgICAgICAgd2hl
biAvXEE6Oi8KLSAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXco
ZmlsZU5hbWUsIGxpbmVOdW1iZXIpLCAkJikKKyAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5u
ZXcoQ29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlciksICQmKQogICAgICAgICB3aGVuIC9c
QVs6LFwoXClcW1xdPVwrXC1+XHwmXipdLwotICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5l
dyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmKQorICAgICAgICAgICAg
cmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwgJCYp
CiAgICAgICAgIHdoZW4gL1xBIi4qIi8KLSAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXco
Q29kZU9yaWdpbi5uZXcoZmlsZU5hbWUsIGxpbmVOdW1iZXIpLCAkJikKKyAgICAgICAgICAgIHJl
c3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlciksICQmKQog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICByYWlzZSAiTGV4ZXIgZXJyb3IgYXQgI3tDb2RlT3Jp
Z2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlcikudG9fc30sIHVuZXhwZWN0ZWQgc2VxdWVuY2Ug
I3tzdHJbMC4uMjBdLmluc3BlY3R9IgorICAgICAgICAgICAgcmFpc2UgIkxleGVyIGVycm9yIGF0
ICN7Q29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlcikudG9fc30sIHVuZXhwZWN0ZWQgc2Vx
dWVuY2UgI3tzdHJbMC4uMjBdLmluc3BlY3R9IgogICAgICAgICBlbmQKICAgICAgICAgd2hpdGVz
cGFjZUZvdW5kID0gZmFsc2UKICAgICAgICAgc3RyID0gJH4ucG9zdF9tYXRjaApAQCAtNzc4LDcg
KzgxMSw3IEBAIGNsYXNzIFBhcnNlcgogZW5kCiAKIGRlZiBwYXJzZURhdGEoZGF0YSwgZmlsZU5h
bWUpCi0gICAgcGFyc2VyID0gUGFyc2VyLm5ldyhkYXRhLCBmaWxlTmFtZSkKKyAgICBwYXJzZXIg
PSBQYXJzZXIubmV3KGRhdGEsIFNvdXJjZUZpbGUubmV3KGZpbGVOYW1lKSkKICAgICBwYXJzZXIu
cGFyc2VTZXF1ZW5jZShuaWwsICIiKQogZW5kCiAKQEAgLTc4Nyw3ICs4MjAsNyBAQCBkZWYgcGFy
c2UoZmlsZU5hbWUpCiBlbmQKIAogZGVmIHBhcnNlSGFzaChmaWxlTmFtZSkKLSAgICBwYXJzZXIg
PSBQYXJzZXIubmV3KElPOjpyZWFkKGZpbGVOYW1lKSwgZmlsZU5hbWUpCisgICAgcGFyc2VyID0g
UGFyc2VyLm5ldyhJTzo6cmVhZChmaWxlTmFtZSksIFNvdXJjZUZpbGUubmV3KGZpbGVOYW1lKSkK
ICAgICBmaWxlTGlzdCA9IHBhcnNlci5wYXJzZUluY2x1ZGVzKG5pbCwgIiIpCiAgICAgZmlsZUxp
c3RIYXNoKGZpbGVMaXN0KQogZW5kCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGlu
ZWFzbS94ODYucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20veDg2LnJiCShyZXZpc2lvbiAxOTQyMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS94ODYucmIJKHdvcmtpbmcgY29weSkKQEAgLTg2Niw2ICs4NjYsNyBAQCBjbGFzcyBJ
bnN0cnVjdGlvbgogICAgIGRlZiBsb3dlclg4NkNvbW1vbgogICAgICAgICAkYXNtLmNvZGVPcmln
aW4gY29kZU9yaWdpblN0cmluZyBpZiAkZW5hYmxlQ29kZU9yaWdpbkNvbW1lbnRzCiAgICAgICAg
ICRhc20uYW5ub3RhdGlvbiBhbm5vdGF0aW9uIGlmICRlbmFibGVJbnN0ckFubm90YXRpb25zCisg
ICAgICAgICRhc20uZGVidWdBbm5vdGF0aW9uIGNvZGVPcmlnaW4uZGVidWdEaXJlY3RpdmUgaWYg
JGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKIAogICAgICAgICBjYXNlIG9wY29kZQogICAgICAgICB3
aGVuICJhZGRpIgo=
</data>
<flag name="review"
          id="293157"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268246</attachid>
            <date>2016-01-04 16:22:31 -0800</date>
            <delta_ts>2016-02-12 10:41:32 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>152703-2.patch</filename>
            <type>text/plain</type>
            <size>11914</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0NTYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE2LTAxLTA0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIG9mZmxpbmVhc206IEVtaXQgRHdhcmYyIGZpbGUgYW5kIGxvY2F0aW9uIGRpcmVjdGl2ZXMg
dG8gYWxsb3cgZm9yIGRlYnVnZ2luZyAuYXNtIGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3MDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdXBwb3J0IHRvIG91dHB1dCBEd2FyZjIg
LmZpbGUgYW5kIC5sb2MgYXNzZW1ibGVyIGRpcmVjdGl2ZXMgdG8gcHJvdmlkZSB0aGUgZGVidWdn
aW5nCisgICAgICAgIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb3JyZWxhdGUgdGhlIG9mZmxpbmUg
YXNzZW1ibGVyIGdlbmVyYXRlZCBjb2RlIHdpdGggdGhlIHNvdXJjZSBsaW5lcyAKKyAgICAgICAg
aW4gdGhlIC5hc20gZmlsZXMuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgdHJhY2tpbmcgb2YgZmls
ZSBkYXRhIHRvIGluY2x1ZGUgYSBmaWxlIGluZGV4IHRoYXQgd2FzIHByb3ZpZGVkIHRvIHRoZSAu
ZmlsZQorICAgICAgICBkaXJlY3RpdmUuICBUaGF0IGluZGV4IGlzIHVzZWQgd2hlbiBlbWl0dGlu
ZyB0aGUgLmxvYyBkaXJlY3RpdmVzLgorCisgICAgICAgICogb2ZmbGluZWFzbS9hcm0ucmI6Cisg
ICAgICAgICogb2ZmbGluZWFzbS9hcm02NC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FzbS5y
YjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2JhY2tlbmRzLnJiOgorICAgICAgICAqIG9mZmxpbmVh
c20vY29uZmlnLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vcGFyc2VyLnJiOgorICAgICAgICAq
IG9mZmxpbmVhc20veDg2LnJiOgorCiAyMDE2LTAxLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgRlRMIEIzIHNob3VsZCBkbyBiaW5hcnkgc25pcHBldHMKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCShyZXZpc2lvbiAx
OTQ1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgkod29y
a2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyLCAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEx
LCAyMDEyLCAyMDE0LCAyMDE1LCAyMTA2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICMgQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ4MCw2ICs0ODAsNyBAQCBjbGFzcyBJbnN0cnVj
dGlvbgogICAgIGRlZiBsb3dlckFSTTY0CiAgICAgICAgICRhc20uY29tbWVudCBjb2RlT3JpZ2lu
U3RyaW5nCiAgICAgICAgICRhc20uYW5ub3RhdGlvbiBhbm5vdGF0aW9uIGlmICRlbmFibGVJbnN0
ckFubm90YXRpb25zCisgICAgICAgICRhc20uZGVidWdBbm5vdGF0aW9uIGNvZGVPcmlnaW4uZGVi
dWdEaXJlY3RpdmUgaWYgJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKIAogICAgICAgICBjYXNlIG9w
Y29kZQogICAgICAgICB3aGVuICdhZGRpJwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vYXJtLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL2FybS5yYgkocmV2aXNpb24gMTk0NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXJtLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBD
b3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTUsIDIxMDYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMTMgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzQ5LDYgKzM0OSw3IEBAIGNs
YXNzIEluc3RydWN0aW9uCiAgICAgZGVmIGxvd2VyQVJNQ29tbW9uCiAgICAgICAgICRhc20uY29k
ZU9yaWdpbiBjb2RlT3JpZ2luU3RyaW5nIGlmICRlbmFibGVDb2RlT3JpZ2luQ29tbWVudHMKICAg
ICAgICAgJGFzbS5hbm5vdGF0aW9uIGFubm90YXRpb24gaWYgJGVuYWJsZUluc3RyQW5ub3RhdGlv
bnMKKyAgICAgICAgJGFzbS5kZWJ1Z0Fubm90YXRpb24gY29kZU9yaWdpbi5kZWJ1Z0RpcmVjdGl2
ZSBpZiAkZW5hYmxlRGVidWdBbm5vdGF0aW9ucwogCiAgICAgICAgIGNhc2Ugb3Bjb2RlCiAgICAg
ICAgIHdoZW4gImFkZGkiLCAiYWRkcCIsICJhZGRpcyIsICJhZGRwcyIKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIJKHJldmlzaW9uIDE5NDU2MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHJ1YnkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIEFzc2VtYmxlcgogICAgIGRlZiBlbnRlckFzbQog
ICAgICAgICBAb3V0cC5wdXRzICJPRkZMSU5FX0FTTV9CRUdJTiIgaWYgISRlbWl0V2luQXNtCiAg
ICAgICAgIEBzdGF0ZSA9IDphc20KKyAgICAgICAgU291cmNlRmlsZS5vdXRwdXREb3RGaWxlTGlz
dChAb3V0cCkgaWYgJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKICAgICBlbmQKICAgICAKICAgICBk
ZWYgbGVhdmVBc20KQEAgLTI3MSw5ICsyNzIsMTQgQEAgY2xhc3MgQXNzZW1ibGVyCiAgICAgZGVm
IGNvbW1lbnQodGV4dCkKICAgICAgICAgQGNvbW1lbnQgPSB0ZXh0CiAgICAgZW5kCisKICAgICBk
ZWYgYW5ub3RhdGlvbih0ZXh0KQogICAgICAgICBAYW5ub3RhdGlvbiA9IHRleHQKICAgICBlbmQK
KworICAgIGRlZiBkZWJ1Z0Fubm90YXRpb24odGV4dCkKKyAgICAgICAgQG91dHAucHV0cyB0ZXh0
CisgICAgZW5kCiBlbmQKIAogSW5jbHVkZUZpbGUucHJvY2Vzc0luY2x1ZGVPcHRpb25zKCkKQEAg
LTI4OSw2ICsyOTUsMTEgQEAgcmVzY3VlIE1pc3NpbmdNYWdpY1ZhbHVlc0V4Y2VwdGlvbgogICAg
IGV4aXQgMAogZW5kCiAKKyMgVGhlIE1TIGNvbXBpbGVyIGRvZXNuJ3QgYWNjZXB0IERXQVJGMiBk
ZWJ1ZyBhbm5vdGF0aW9ucy4KK2lmIGlzTVNWQworICAgICRlbmFibGVEZWJ1Z0Fubm90YXRpb25z
ID0gZmFsc2UKK2VuZAorCiAkZW1pdFdpbkFzbSA9IGlzTVNWQyA/IG91dHB1dEZsbm0uaW5kZXgo
Ii5hc20iKSAhPSBuaWwgOiBmYWxzZQogJGNvbW1lbnRQcmVmaXggPSAkZW1pdFdpbkFzbSA/ICI7
IiA6ICIvLyIKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYmFja2Vu
ZHMucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYmFj
a2VuZHMucmIJKHJldmlzaW9uIDE5NDU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL2JhY2tlbmRzLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmln
aHQgKEMpIDIwMTEsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTQsNiArMTE0LDcgQEAgZW5kCiAKIGNsYXNzIExh
YmVsCiAgICAgZGVmIGxvd2VyKG5hbWUpCisgICAgICAgICRhc20uZGVidWdBbm5vdGF0aW9uIGNv
ZGVPcmlnaW4uZGVidWdEaXJlY3RpdmUgaWYgJGVuYWJsZURlYnVnQW5ub3RhdGlvbnMKICAgICAg
ICAgJGFzbS5wdXRzTGFiZWwoc2VsZi5uYW1lWzEuLi0xXSwgQGdsb2JhbCkKICAgICBlbmQKIGVu
ZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY29uZmlnLnJiCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2NvbmZpZy5yYgkocmV2
aXNpb24gMTk0NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY29uZmln
LnJiCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC01NSwzICs1NSw4IEBAICRlbmFibGVDb2RlT3JpZ2luQ29tbWVudHMgPSB0cnVl
CiAjICAgICAuLi4KICMKICRlbmFibGVJbnN0ckFubm90YXRpb25zID0gZmFsc2UKKworIyBUdXJu
cyBvbiBnZW5lcmF0aW9uIG9mIERXQVJGMiBkZWJ1ZyBhbm5vdGlvbnMgZm9yIGZpbGUgYW5kIGxp
bmUgbnVtYmVycy4KKyMgQWxsb3dzIGZvciBzb3VyY2UgbGV2ZWwgZGVidWdpbmcgb2YgdGhlIG9y
aWdpbmFsIC5hc20gZmlsZXMgaW4gYSBkZWJ1Z2dlci4KKyMKKyRlbmFibGVEZWJ1Z0Fubm90YXRp
b25zID0gZmFsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3BhcnNl
ci5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9wYXJz
ZXIucmIJKHJldmlzaW9uIDE5NDU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL3BhcnNlci5yYgkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChD
KSAyMDExLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTQgKzI4LDQ4IEBAIHJlcXVpcmUgInBhdGhuYW1lIgog
cmVxdWlyZSAicmVnaXN0ZXJzIgogcmVxdWlyZSAic2VsZl9oYXNoIgogCitjbGFzcyBTb3VyY2VG
aWxlCisgICAgQEBmaWxlTmFtZXMgPSBbXQorICAgIAorICAgIGF0dHJfcmVhZGVyIDpuYW1lLCA6
ZmlsZU51bWJlcgorCisgICAgZGVmIFNvdXJjZUZpbGUub3V0cHV0RG90RmlsZUxpc3Qob3V0cCkK
KyAgICAgICAgQEBmaWxlTmFtZXMuZWFjaF9pbmRleCB7CisgICAgICAgICAgICB8IGluZGV4IHwK
KyAgICAgICAgICAgIG91dHAucHV0cyAiXCIuZmlsZSAje2luZGV4KzF9IFxcXCIje0BAZmlsZU5h
bWVzW2luZGV4XX1cXFwiXFxuXCIiCisgICAgICAgIH0KKyAgICBlbmQKKworICAgIGRlZiBpbml0
aWFsaXplKGZpbGVOYW1lKQorICAgICAgICBAbmFtZSA9IFBhdGhuYW1lLm5ldyhmaWxlTmFtZSkK
KyAgICAgICAgcGF0aE5hbWUgPSAiI3tAbmFtZS5yZWFscGF0aH0iCisgICAgICAgIGZpbGVOdW1i
ZXIgPSBAQGZpbGVOYW1lcy5pbmRleChwYXRoTmFtZSkKKyAgICAgICAgaWYgbm90IGZpbGVOdW1i
ZXIKKyAgICAgICAgICAgIEBAZmlsZU5hbWVzIDw8IHBhdGhOYW1lCisgICAgICAgICAgICBmaWxl
TnVtYmVyID0gQEBmaWxlTmFtZXMubGVuZ3RoCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZp
bGVOdW1iZXIgKz0gMSAjIEZpbGUgbnVtYmVycyBhcmUgMSBiYXNlZAorICAgICAgICBlbmQKKyAg
ICAgICAgQGZpbGVOdW1iZXIgPSBmaWxlTnVtYmVyCisgICAgZW5kCitlbmQKKwogY2xhc3MgQ29k
ZU9yaWdpbgotICAgIGF0dHJfcmVhZGVyIDpmaWxlTmFtZSwgOmxpbmVOdW1iZXIKKyAgICBhdHRy
X3JlYWRlciA6bGluZU51bWJlcgogICAgIAotICAgIGRlZiBpbml0aWFsaXplKGZpbGVOYW1lLCBs
aW5lTnVtYmVyKQotICAgICAgICBAZmlsZU5hbWUgPSBmaWxlTmFtZQorICAgIGRlZiBpbml0aWFs
aXplKHNvdXJjZUZpbGUsIGxpbmVOdW1iZXIpCisgICAgICAgIEBzb3VyY2VGaWxlID0gc291cmNl
RmlsZQogICAgICAgICBAbGluZU51bWJlciA9IGxpbmVOdW1iZXIKICAgICBlbmQKLSAgICAKKwor
ICAgIGRlZiBmaWxlTmFtZQorICAgICAgICBAc291cmNlRmlsZS5uYW1lCisgICAgZW5kCisKKyAg
ICBkZWYgZGVidWdEaXJlY3RpdmUKKyAgICAgICAgJGVtaXRXaW5Bc20gPyBuaWwgOiAiXCIubG9j
ICN7QHNvdXJjZUZpbGUuZmlsZU51bWJlcn0gI3tsaW5lTnVtYmVyfVxcblwiIgorICAgIGVuZAor
CiAgICAgZGVmIHRvX3MKICAgICAgICAgIiN7ZmlsZU5hbWV9OiN7bGluZU51bWJlcn0iCiAgICAg
ZW5kCkBAIC0xMTcsOCArMTUxLDcgQEAgZW5kCiAjIFRoZSBsZXhlci4gVGFrZXMgYSBzdHJpbmcg
YW5kIHJldHVybnMgYW4gYXJyYXkgb2YgdG9rZW5zLgogIwogCi1kZWYgbGV4KHN0ciwgZmlsZU5h
bWUpCi0gICAgZmlsZU5hbWUgPSBQYXRobmFtZS5uZXcoZmlsZU5hbWUpCitkZWYgbGV4KHN0ciwg
ZmlsZSkKICAgICByZXN1bHQgPSBbXQogICAgIGxpbmVOdW1iZXIgPSAxCiAgICAgYW5ub3RhdGlv
biA9IG5pbApAQCAtMTM4LDM3ICsxNzEsMzcgQEAgZGVmIGxleChzdHIsIGZpbGVOYW1lKQogICAg
ICAgICAgICAgIyB1c2Ugb2YgdGhpcyBmb3IgaXRzIGNsb29wRG8gZGVidWdnaW5nIHV0aWxpdHkg
ZXZlbiBpZgogICAgICAgICAgICAgIyBlbmFibGVJbnN0ckFubm90YXRpb25zIGlzIG5vdCBlbmFi
bGVkLgogICAgICAgICAgICAgaWYgYW5ub3RhdGlvbgotICAgICAgICAgICAgICAgIHJlc3VsdCA8
PCBBbm5vdGF0aW9uLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksCisg
ICAgICAgICAgICAgICAgcmVzdWx0IDw8IEFubm90YXRpb24ubmV3KENvZGVPcmlnaW4ubmV3KGZp
bGUsIGxpbmVOdW1iZXIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhbm5vdGF0aW9uVHlwZSwgYW5ub3RhdGlvbikKICAgICAgICAgICAgICAgICBhbm5vdGF0aW9u
ID0gbmlsCiAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXco
Q29kZU9yaWdpbi5uZXcoZmlsZU5hbWUsIGxpbmVOdW1iZXIpLCAkJikKKyAgICAgICAgICAgIHJl
c3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlciksICQmKQog
ICAgICAgICAgICAgbGluZU51bWJlciArPSAxCiAgICAgICAgIHdoZW4gL1xBW2EtekEtWl0oW2Et
ekEtWjAtOV8uXSopLwotICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2lu
Lm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmKQorICAgICAgICAgICAgcmVzdWx0IDw8IFRv
a2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwgJCYpCiAgICAgICAgIHdo
ZW4gL1xBXC4oW2EtekEtWjAtOV9dKikvCi0gICAgICAgICAgICByZXN1bHQgPDwgVG9rZW4ubmV3
KENvZGVPcmlnaW4ubmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwgJCYpCisgICAgICAgICAgICBy
ZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGUsIGxpbmVOdW1iZXIpLCAkJikK
ICAgICAgICAgd2hlbiAvXEFfKFthLXpBLVowLTlfXSopLwotICAgICAgICAgICAgcmVzdWx0IDw8
IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmKQorICAg
ICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVt
YmVyKSwgJCYpCiAgICAgICAgIHdoZW4gL1xBKFsgXHRdKykvCiAgICAgICAgICAgICAjIHdoaXRl
c3BhY2UsIGlnbm9yZQogICAgICAgICAgICAgd2hpdGVzcGFjZUZvdW5kID0gdHJ1ZQogICAgICAg
ICAgICAgc3RyID0gJH4ucG9zdF9tYXRjaAogICAgICAgICAgICAgbmV4dAogICAgICAgICB3aGVu
IC9cQTB4KFswLTlhLWZBLUZdKykvCi0gICAgICAgICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENv
ZGVPcmlnaW4ubmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwgJCYuaGV4LnRvX3MpCisgICAgICAg
ICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGUsIGxpbmVOdW1iZXIp
LCAkJi5oZXgudG9fcykKICAgICAgICAgd2hlbiAvXEEwKFswLTddKykvCi0gICAgICAgICAgICBy
ZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwg
JCYub2N0LnRvX3MpCisgICAgICAgICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVPcmlnaW4u
bmV3KGZpbGUsIGxpbmVOdW1iZXIpLCAkJi5vY3QudG9fcykKICAgICAgICAgd2hlbiAvXEEoWzAt
OV0rKS8KLSAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXcoQ29kZU9yaWdpbi5uZXcoZmls
ZU5hbWUsIGxpbmVOdW1iZXIpLCAkJikKKyAgICAgICAgICAgIHJlc3VsdCA8PCBUb2tlbi5uZXco
Q29kZU9yaWdpbi5uZXcoZmlsZSwgbGluZU51bWJlciksICQmKQogICAgICAgICB3aGVuIC9cQTo6
LwotICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlTmFt
ZSwgbGluZU51bWJlciksICQmKQorICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2Rl
T3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwgJCYpCiAgICAgICAgIHdoZW4gL1xBWzosXChc
KVxbXF09XCtcLX5cfCZeKl0vCi0gICAgICAgICAgICByZXN1bHQgPDwgVG9rZW4ubmV3KENvZGVP
cmlnaW4ubmV3KGZpbGVOYW1lLCBsaW5lTnVtYmVyKSwgJCYpCisgICAgICAgICAgICByZXN1bHQg
PDwgVG9rZW4ubmV3KENvZGVPcmlnaW4ubmV3KGZpbGUsIGxpbmVOdW1iZXIpLCAkJikKICAgICAg
ICAgd2hlbiAvXEEiLioiLwotICAgICAgICAgICAgcmVzdWx0IDw8IFRva2VuLm5ldyhDb2RlT3Jp
Z2luLm5ldyhmaWxlTmFtZSwgbGluZU51bWJlciksICQmKQorICAgICAgICAgICAgcmVzdWx0IDw8
IFRva2VuLm5ldyhDb2RlT3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKSwgJCYpCiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHJhaXNlICJMZXhlciBlcnJvciBhdCAje0NvZGVPcmlnaW4ubmV3
KGZpbGVOYW1lLCBsaW5lTnVtYmVyKS50b19zfSwgdW5leHBlY3RlZCBzZXF1ZW5jZSAje3N0clsw
Li4yMF0uaW5zcGVjdH0iCisgICAgICAgICAgICByYWlzZSAiTGV4ZXIgZXJyb3IgYXQgI3tDb2Rl
T3JpZ2luLm5ldyhmaWxlLCBsaW5lTnVtYmVyKS50b19zfSwgdW5leHBlY3RlZCBzZXF1ZW5jZSAj
e3N0clswLi4yMF0uaW5zcGVjdH0iCiAgICAgICAgIGVuZAogICAgICAgICB3aGl0ZXNwYWNlRm91
bmQgPSBmYWxzZQogICAgICAgICBzdHIgPSAkfi5wb3N0X21hdGNoCkBAIC03NzcsNyArODEwLDcg
QEAgY2xhc3MgUGFyc2VyCiBlbmQKIAogZGVmIHBhcnNlRGF0YShkYXRhLCBmaWxlTmFtZSkKLSAg
ICBwYXJzZXIgPSBQYXJzZXIubmV3KGRhdGEsIGZpbGVOYW1lKQorICAgIHBhcnNlciA9IFBhcnNl
ci5uZXcoZGF0YSwgU291cmNlRmlsZS5uZXcoZmlsZU5hbWUpKQogICAgIHBhcnNlci5wYXJzZVNl
cXVlbmNlKG5pbCwgIiIpCiBlbmQKIApAQCAtNzg2LDcgKzgxOSw3IEBAIGRlZiBwYXJzZShmaWxl
TmFtZSkKIGVuZAogCiBkZWYgcGFyc2VIYXNoKGZpbGVOYW1lKQotICAgIHBhcnNlciA9IFBhcnNl
ci5uZXcoSU86OnJlYWQoZmlsZU5hbWUpLCBmaWxlTmFtZSkKKyAgICBwYXJzZXIgPSBQYXJzZXIu
bmV3KElPOjpyZWFkKGZpbGVOYW1lKSwgU291cmNlRmlsZS5uZXcoZmlsZU5hbWUpKQogICAgIGZp
bGVMaXN0ID0gcGFyc2VyLnBhcnNlSW5jbHVkZXMobmlsLCAiIikKICAgICBmaWxlTGlzdEhhc2go
ZmlsZUxpc3QpCiBlbmQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4
Ni5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYu
cmIJKHJldmlzaW9uIDE5NDU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNt
L3g4Ni5yYgkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAy
MDEyLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChD
KSAyMDEyLCAyMDE0LCAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICMgQ29weXJpZ2h0IChDKSAyMDEzIERpZ2lhIFBsYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtODY2LDYgKzg2Niw3IEBAIGNsYXNzIEluc3RydWN0aW9u
CiAgICAgZGVmIGxvd2VyWDg2Q29tbW9uCiAgICAgICAgICRhc20uY29kZU9yaWdpbiBjb2RlT3Jp
Z2luU3RyaW5nIGlmICRlbmFibGVDb2RlT3JpZ2luQ29tbWVudHMKICAgICAgICAgJGFzbS5hbm5v
dGF0aW9uIGFubm90YXRpb24gaWYgJGVuYWJsZUluc3RyQW5ub3RhdGlvbnMKKyAgICAgICAgJGFz
bS5kZWJ1Z0Fubm90YXRpb24gY29kZU9yaWdpbi5kZWJ1Z0RpcmVjdGl2ZSBpZiAkZW5hYmxlRGVi
dWdBbm5vdGF0aW9ucwogCiAgICAgICAgIGNhc2Ugb3Bjb2RlCiAgICAgICAgIHdoZW4gImFkZGki
Cg==
</data>
<flag name="review"
          id="293195"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>