<?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>123865</bug_id>
          
          <creation_ts>2013-11-05 21:36:13 -0800</creation_ts>
          <short_desc>IC code should handle the call frame register not being the callFrameRegister</short_desc>
          <delta_ts>2013-11-06 21:03:26 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>947515</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-05 21:36:13 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947516</commentid>
    <comment_count>1</comment_count>
      <attachid>216126</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-05 21:38:27 -0800</bug_when>
    <thetext>Created attachment 216126
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947518</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-05 21:40:44 -0800</bug_when>
    <thetext>Attachment 216126 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/bytecode/StructureStubInfo.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/jit/CCallHelpers.h&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.h&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp&apos;, u&apos;Source/JavaScriptCore/jit/Repatch.cpp&apos;]&quot; exit_code: 1
Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:60:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:116:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947537</commentid>
    <comment_count>3</comment_count>
      <attachid>216133</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-05 22:11:52 -0800</bug_when>
    <thetext>Created attachment 216133
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947538</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-05 22:12:41 -0800</bug_when>
    <thetext>Attachment 216133 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/bytecode/StructureStubInfo.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLInlineCacheSize.cpp&apos;, u&apos;Source/JavaScriptCore/jit/CCallHelpers.h&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.h&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp&apos;, u&apos;Source/JavaScriptCore/jit/Repatch.cpp&apos;]&quot; exit_code: 1
Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:60:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:116:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947797</commentid>
    <comment_count>5</comment_count>
      <attachid>216133</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-06 11:15:02 -0800</bug_when>
    <thetext>Comment on attachment 216133
the patch

r=me

StyleBot seems to have a point here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947803</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-06 11:22:42 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Attachment 216133 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/bytecode/StructureStubInfo.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLInlineCacheSize.cpp&apos;, u&apos;Source/JavaScriptCore/jit/CCallHelpers.h&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITInlineCacheGenerator.h&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp&apos;, u&apos;Source/JavaScriptCore/jit/Repatch.cpp&apos;]&quot; exit_code: 1
&gt; Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:60:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
&gt; Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:116:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
&gt; Total errors found: 2 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Really?  A PutById/GetById has two arguments: a base and a value.  Stylebot wants me to say that the gpr&apos;s that I pass to this are:

..., GPRReg base, GPRReg, ...

Is that *really* more readable?  How is *not* documenting the purpose of that GPRReg argument better than:

..., GPRReg base, GPRReg value, ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947806</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-06 11:25:59 -0800</bug_when>
    <thetext>Sorry, I misread JSValueRegs as being both base and value, when really it&apos;s both tag and payload (on 32-bit). So, StyleBoth is back to not having a point here -- returning its batting average to .000.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948059</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-06 21:03:26 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/158820</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216126</attachid>
            <date>2013-11-05 21:38:27 -0800</date>
            <delta_ts>2013-11-05 22:11:52 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>19030</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NzE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDEzLTExLTA1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SUMgY29kZSBzaG91bGQgaGFuZGxlIHRoZSBjYWxsIGZyYW1lIHJlZ2lzdGVyIG5vdCBiZWluZyB0
aGUgY2FsbEZyYW1lUmVnaXN0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzg2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgRm9yIG5vdywgaW4gdGhlIEZUTCwgdGhlIGNhbGwgZnJhbWUg
bWF5IGJlIHNvbWV0aGluZyBvdGhlciB0aGFuIG91ciBmcmFtZSBwb2ludGVyLAorICAgICAgICBz
aW5jZSBpdCdzIGFuIGFyZ3VtZW50IHBhc3NlZCBpbiBhY2NvcmRpbmcgdG8gd2hhdGV2ZXIgY29u
dmVudGlvbiBMTFZNIHBpY2tzLgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyB0ZW1wb3Jhcnkg
aW4gdHdvIHdheXMgLSBwcmV0dHkgc29vbiB0aGUgY2FsbEZyYW1lUmVnaXN0ZXIgd2lsbCBiZSB0
aGUgYWN0dWFsCisgICAgICAgIGZyYW1lIHBvaW50ZXIgYW5kIG5vdCBzb21lIG90aGVyIHJlZ2lz
dGVyLCBhbmQgTExWTSB3aWxsIG5vdCBwYXNzIHRoZSBmcmFtZSBwb2ludGVyCisgICAgICAgIGFz
IGFuIGFyZ3VtZW50IHRvIElDJ3MuCisKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHVi
SW5mby5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQpOgorICAgICAgICAqIGRmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNh
Y2hlZFB1dEJ5SWQpOgorICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMpOgorICAgICAgICAqIGppdC9DQ2Fs
bEhlbHBlcnMuaDoKKyAgICAgICAgKEpTQzo6Q0NhbGxIZWxwZXJzOjpzZXR1cEFyZ3VtZW50cyk6
CisgICAgICAgICogaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUQnlJZEdlbmVyYXRvcjo6SklUQnlJZEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJ
VFB1dEJ5SWRHZW5lcmF0b3I6OkpJVFB1dEJ5SWRHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9K
SVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oOgorICAgICAgICAoSlNDOjpKSVRHZXRCeUlkR2VuZXJh
dG9yOjpKSVRHZXRCeUlkR2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nl
c3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV9pZCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5
QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV9pZCk6CisgICAgICAgICogaml0L1Jl
cGF0Y2guY3BwOgorICAgICAgICAoSlNDOjp0cnlCdWlsZEdldEJ5SURMaXN0KToKKyAgICAgICAg
KEpTQzo6ZW1pdFB1dFRyYW5zaXRpb25TdHViKToKKwogMjAxMy0xMS0wNSAgRmlsaXAgUGl6bG8g
IDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBzaG91bGQgc3VwcG9ydCBOZXdPYmpl
Y3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5m
by5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTdHViSW5mby5oCShyZXZpc2lvbiAxNTg3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDYgKzIy
NSw3IEBAIHN0cnVjdCBTdHJ1Y3R1cmVTdHViSW5mbyB7CiAKICAgICBzdHJ1Y3QgewogICAgICAg
ICBpbnQ4X3QgcmVnaXN0ZXJzRmx1c2hlZDsKKyAgICAgICAgaW50OF90IGNhbGxGcmFtZVJlZ2lz
dGVyOwogICAgICAgICBpbnQ4X3QgYmFzZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAg
ICAgICBpbnQ4X3QgdmFsdWVUYWdHUFI7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE1ODcxOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE5OCw3ICsxOTgsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpu
b25TcGVjdWxhdGl2ZVVJbnQzCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VUYWdHUFJPck5vbmUsIEdQUlJlZyBiYXNl
UGF5bG9hZEdQUiwgR1BSUmVnIHJlc3VsdFRhZ0dQUiwgR1BSUmVnIHJlc3VsdFBheWxvYWRHUFIs
IHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFy
Z2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogewogICAgIEpJVEdldEJ5SWRHZW5l
cmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJl
Z2lzdGVycygpLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJl
Z2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKICAgICAgICAgSlNWYWx1ZVJl
Z3MoYmFzZVRhZ0dQUk9yTm9uZSwgYmFzZVBheWxvYWRHUFIpLAogICAgICAgICBKU1ZhbHVlUmVn
cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3Bp
bGwpOwogICAgIApAQCAtMjMyLDkgKzIzMiw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hl
ZFB1dEJ5SWQoQ29kZU8KICAgICB3cml0ZUJhcnJpZXIoYmFzZVBheWxvYWRHUFIsIHZhbHVlVGFn
R1BSLCB2YWx1ZVVzZSwgV3JpdGVCYXJyaWVyRm9yUHJvcGVydHlBY2Nlc3MsIHNjcmF0Y2hHUFIp
OwogICAgIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2Rl
QmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVnczo6cGF5bG9h
ZE9ubHkoYmFzZVBheWxvYWRHUFIpLAotICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZVRhZ0dQUiwg
dmFsdWVQYXlsb2FkR1BSKSwgc2NyYXRjaEdQUiwgZmFsc2UsCi0gICAgICAgIG1faml0LmVjbWFN
b2RlRm9yKGNvZGVPcmlnaW4pLCBwdXRLaW5kKTsKKyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCks
IGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMoKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIs
CisgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShiYXNlUGF5bG9hZEdQUiksIEpTVmFs
dWVSZWdzKHZhbHVlVGFnR1BSLCB2YWx1ZVBheWxvYWRHUFIpLAorICAgICAgICBzY3JhdGNoR1BS
LCBmYWxzZSwgbV9qaXQuZWNtYU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOwogICAgIAog
ICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24g
MTU4NzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDggKzIxMCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6Om5vblNwZWN1bGF0aXZlVUludDMKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5
SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVnIHJlc3VsdEdQ
UiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhU
YXJnZXQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUpCiB7CiAgICAgSklUR2V0QnlJZEdl
bmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2Vk
UmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAotICAgICAgICBKU1ZhbHVlUmVncyhy
ZXN1bHRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3BpbGwpOworICAgICAgICBtX2ppdC5jb2Rl
QmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3RlciwKKyAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksIEpTVmFsdWVSZWdzKHJlc3Vs
dEdQUiksIHNwaWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBh
dGgobV9qaXQpOwogICAgIAogICAgIEpJVENvbXBpbGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7CkBA
IC0yMzIsOCArMjMyLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2Rl
TwogICAgIHdyaXRlQmFycmllcihiYXNlR1BSLCB2YWx1ZUdQUiwgdmFsdWVVc2UsIFdyaXRlQmFy
cmllckZvclByb3BlcnR5QWNjZXNzLCBzY3JhdGNoR1BSKTsKIAogICAgIEpJVFB1dEJ5SWRHZW5l
cmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJl
Z2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3ModmFs
dWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwgbV9qaXQuZWNtYU1vZGVGb3IoY29kZU9yaWdpbiks
IHB1dEtpbmQpOworICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJl
Z2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKKyAgICAgICAgSlNWYWx1ZVJl
Z3MoYmFzZUdQUiksIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgc2NyYXRjaEdQUiwgZmFsc2UsCisg
ICAgICAgIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4pLCBwdXRLaW5kKTsKICAgICBnZW4u
Z2VuZXJhdGVGYXN0UGF0aChtX2ppdCk7CiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0
IHNsb3dDYXNlczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNw
cAkocmV2aXNpb24gMTU4NzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21w
aWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk4LDggKzE5OCw4IEBAIHN0YXRpYyB2b2lkIGZp
eEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgIEdQUlJlZyByZXN1bHQgPSBH
UFJJbmZvOjpyZXR1cm5WYWx1ZUdQUjsKICAgICAgICAgICAgIAogICAgICAgICAgICAgSklUR2V0
QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgICAgICAgICAgY29kZUJsb2NrLCBnZXRCeUlkLmNv
ZGVPcmlnaW4oKSwgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3MoYmFzZSksCi0gICAgICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3MocmVzdWx0KSwgZmFsc2UpOworICAgICAgICAgICAgICAgIGNvZGVC
bG9jaywgZ2V0QnlJZC5jb2RlT3JpZ2luKCksIHVzZWRSZWdpc3RlcnMsIGNhbGxGcmFtZVJlZ2lz
dGVyLAorICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGJhc2UpLCBKU1ZhbHVlUmVncyhyZXN1
bHQpLCBmYWxzZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBiZWdpbiA9IHNsb3dQYXRoSklULmxhYmVsKCk7CiAgICAgICAgICAgICAKQEAgLTIzNCw5
ICsyMzQsOSBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAg
ICAgICAgICBHUFJSZWcgdmFsdWUgPSBHUFJJbmZvOjphcmd1bWVudEdQUjI7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICAgICAgICAg
IGNvZGVCbG9jaywgcHV0QnlJZC5jb2RlT3JpZ2luKCksIHVzZWRSZWdpc3RlcnMsIEpTVmFsdWVS
ZWdzKGJhc2UpLAotICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlKSwgR1BSSW5mbzo6
YXJndW1lbnRHUFIzLCBmYWxzZSwgcHV0QnlJZC5lY21hTW9kZSgpLAotICAgICAgICAgICAgICAg
IHB1dEJ5SWQucHV0S2luZCgpKTsKKyAgICAgICAgICAgICAgICBjb2RlQmxvY2ssIHB1dEJ5SWQu
Y29kZU9yaWdpbigpLCB1c2VkUmVnaXN0ZXJzLCBjYWxsRnJhbWVSZWdpc3RlciwKKyAgICAgICAg
ICAgICAgICBKU1ZhbHVlUmVncyhiYXNlKSwgSlNWYWx1ZVJlZ3ModmFsdWUpLCBHUFJJbmZvOjph
cmd1bWVudEdQUjMsIGZhbHNlLAorICAgICAgICAgICAgICAgIHB1dEJ5SWQuZWNtYU1vZGUoKSwg
cHV0QnlJZC5wdXRLaW5kKCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6TGFiZWwgYmVnaW4gPSBzbG93UGF0aEpJVC5sYWJlbCgpOwogICAgICAgICAgICAgCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgJKHJldmlzaW9uIDE1
ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTk1LDYgKzk1LDMzIEBAIHB1YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3Vt
ZW50KGFyZzIpOwogICAgIH0KICAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1
bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAg
ICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7
CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50
KGFyZzMpOworICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVu
dHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tUHRyIGFyZzMsIFRydXN0ZWRJ
bW1QdHIgYXJnNCkKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAg
ICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsK
KyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQo
YXJnNCk7CisgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50
cyhHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW1QdHIgYXJnMywgVHJ1c3RlZElt
bTMyIGFyZzQsIEdQUlJlZyBhcmc1KQorICAgIHsKKyAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRz
KCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3Vt
ZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAgICAgIGFkZENh
bGxBcmd1bWVudChhcmc0KTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzUpOworICAgIH0K
KyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoVHJ1c3RlZEltbVB0
ciBhcmcxKQogICAgIHsKICAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CkBAIC05MDYsNiAr
OTMzLDI1IEBAIHB1YmxpYzoKICAgICAgICAgc2V0dXBUd29TdHViQXJnc0dQUjxHUFJJbmZvOjph
cmd1bWVudEdQUjAsIEdQUkluZm86OmFyZ3VtZW50R1BSMT4oYXJnMSwgYXJnMik7CiAgICAgfQog
ICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwg
R1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgc2V0dXBUaHJlZVN0dWJB
cmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjI+KGFyZzEsIGFyZzIsIGFyZzMpOworICAgIH0KKyAgICAKKyAgICBB
TFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcy
LCBUcnVzdGVkSW1tUHRyIGFyZzMsIFRydXN0ZWRJbW1QdHIgYXJnNCkKKyAgICB7CisgICAgICAg
IHNldHVwVHdvU3R1YkFyZ3NHUFI8R1BSSW5mbzo6YXJndW1lbnRHUFIwLCBHUFJJbmZvOjphcmd1
bWVudEdQUjE+KGFyZzEsIGFyZzIpOworICAgICAgICBtb3ZlKGFyZzMsIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMik7CisgICAgICAgIG1vdmUoYXJnNCwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKKyAg
ICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzKEdQUlJlZyBh
cmcxLCBHUFJSZWcgYXJnMiwgVHJ1c3RlZEltbVB0ciBhcmczLCBUcnVzdGVkSW1tMzIgYXJnNCwg
R1BSUmVnIGFyZzUpCisgICAgeworICAgICAgICBzZXR1cFRocmVlU3R1YkFyZ3NHUFI8R1BSSW5m
bzo6YXJndW1lbnRHUFIwLCBHUFJJbmZvOjphcmd1bWVudEdQUjEsIEdQUkluZm86OmFyZ3VtZW50
R1BSND4oYXJnMSwgYXJnMiwgYXJnNSk7CisgICAgICAgIG1vdmUoYXJnMywgR1BSSW5mbzo6YXJn
dW1lbnRHUFIyKTsKKyAgICAgICAgbW92ZShhcmc0LCBHUFJJbmZvOjphcmd1bWVudEdQUjMpOwor
ICAgIH0KKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVn
IGFyZzEsIFRydXN0ZWRJbW1QdHIgYXJnMiwgR1BSUmVnIGFyZzMsIFRydXN0ZWRJbW1QdHIgYXJn
NCkKICAgICB7CiAgICAgICAgIHNldHVwVHdvU3R1YkFyZ3NHUFI8R1BSSW5mbzo6YXJndW1lbnRH
UFIwLCBHUFJJbmZvOjphcmd1bWVudEdQUjI+KGFyZzEsIGFyZzMpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAJ
KHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5l
Q2FjaGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIEpJVElu
bGluZUNhY2hlR2VuZXJhdG9yOjpKSVRJbmxpbmVDYWNoZUcKIAogSklUQnlJZEdlbmVyYXRvcjo6
SklUQnlJZEdlbmVyYXRvcigKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZU9yaWdpbiBj
b2RlT3JpZ2luLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywKLSAgICBKU1ZhbHVl
UmVncyBiYXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQorICAg
IEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3Mg
dmFsdWUsIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCkKICAgICA6IEpJVElubGluZUNhY2hlR2VuZXJh
dG9yKGNvZGVCbG9jaywgY29kZU9yaWdpbikKICAgICAsIG1fYmFzZShiYXNlKQogICAgICwgbV92
YWx1ZSh2YWx1ZSkKQEAgLTYyLDYgKzYyLDcgQEAgSklUQnlJZEdlbmVyYXRvcjo6SklUQnlJZEdl
bmVyYXRvcigKICAgICBtX3N0dWJJbmZvLT5wYXRjaC51c2VkUmVnaXN0ZXJzLnNldChiYXNlKTsK
ICAgICBtX3N0dWJJbmZvLT5wYXRjaC51c2VkUmVnaXN0ZXJzLnNldCh2YWx1ZSk7CiAgICAgCisg
ICAgbV9zdHViSW5mby0+cGF0Y2guY2FsbEZyYW1lUmVnaXN0ZXIgPSBzdGF0aWNfY2FzdDxpbnQ4
X3Q+KGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC5iYXNlR1BSID0g
c3RhdGljX2Nhc3Q8aW50OF90PihiYXNlLnBheWxvYWRHUFIoKSk7CiAgICAgbV9zdHViSW5mby0+
cGF0Y2gudmFsdWVHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KHZhbHVlLnBheWxvYWRHUFIoKSk7
CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKQEAgLTEyOSw5ICsxMzAsMTEgQEAgdm9pZCBKSVRHZXRC
eUlkR2VuZXJhdG9yOjpnZW5lcmF0ZUZhc3RQYQogCiBKSVRQdXRCeUlkR2VuZXJhdG9yOjpKSVRQ
dXRCeUlkR2VuZXJhdG9yKAogICAgIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlT3JpZ2luIGNv
ZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLAotICAgIEpTVmFsdWVS
ZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdpc3Rl
cnNGbHVzaGVkLAotICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQdXRLaW5kIHB1dEtpbmQpCi0gICAg
OiBKSVRCeUlkR2VuZXJhdG9yKGNvZGVCbG9jaywgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycywg
YmFzZSwgdmFsdWUsIHJlZ2lzdGVyc0ZsdXNoZWQpCisgICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lz
dGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwgR1BSUmVnIHNjcmF0Y2gs
CisgICAgYm9vbCByZWdpc3RlcnNGbHVzaGVkLCBFQ01BTW9kZSBlY21hTW9kZSwgUHV0S2luZCBw
dXRLaW5kKQorICAgIDogSklUQnlJZEdlbmVyYXRvcigKKyAgICAgICAgY29kZUJsb2NrLCBjb2Rl
T3JpZ2luLCB1c2VkUmVnaXN0ZXJzLCBjYWxsRnJhbWVSZWdpc3RlciwgYmFzZSwgdmFsdWUsCisg
ICAgICAgIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgLCBtX3NjcmF0Y2goc2NyYXRjaCkKICAgICAs
IG1fZWNtYU1vZGUoZWNtYU1vZGUpCiAgICAgLCBtX3B1dEtpbmQocHV0S2luZCkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9y
LmgJKHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lQ2FjaGVHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsOCArNTYsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgSklUQnlJZEdlbmVyYXRvcigpIHsgfQogCiAgICAgSklUQnlJZEdlbmVyYXRv
cigKLSAgICAgICAgQ29kZUJsb2NrKiwgQ29kZU9yaWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBK
U1ZhbHVlUmVncyBiYXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwKLSAgICAgICAgYm9vbCByZWdpc3Rl
cnNGbHVzaGVkKTsKKyAgICAgICAgQ29kZUJsb2NrKiwgQ29kZU9yaWdpbiwgY29uc3QgUmVnaXN0
ZXJTZXQmLCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsCisgICAgICAgIEpTVmFsdWVSZWdzIGJh
c2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpOwogICAgIAogcHVi
bGljOgogICAgIHZvaWQgcmVwb3J0U2xvd1BhdGhDYWxsKE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBz
bG93UGF0aEJlZ2luLCBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsKQpAQCAtOTYsOCArOTYsMTEg
QEAgcHVibGljOgogCiAgICAgSklUR2V0QnlJZEdlbmVyYXRvcigKICAgICAgICAgQ29kZUJsb2Nr
KiBjb2RlQmxvY2ssIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVz
ZWRSZWdpc3RlcnMsCi0gICAgICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVl
LCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCi0gICAgICAgIDogSklUQnlJZEdlbmVyYXRvcihjb2Rl
QmxvY2ssIGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZhbHVlLCByZWdpc3RlcnNG
bHVzaGVkKQorICAgICAgICBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzIGJh
c2UsIEpTVmFsdWVSZWdzIHZhbHVlLAorICAgICAgICBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCisg
ICAgICAgIDogSklUQnlJZEdlbmVyYXRvcigKKyAgICAgICAgICAgIGNvZGVCbG9jaywgY29kZU9y
aWdpbiwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2UsIHZhbHVlLAorICAg
ICAgICAgICAgcmVnaXN0ZXJzRmx1c2hlZCkKICAgICB7CiAgICAgfQogICAgIApAQCAtMTA5LDgg
KzExMiw5IEBAIHB1YmxpYzoKICAgICBKSVRQdXRCeUlkR2VuZXJhdG9yKCkgeyB9CiAKICAgICBK
SVRQdXRCeUlkR2VuZXJhdG9yKAotICAgICAgICBDb2RlQmxvY2sqLCBDb2RlT3JpZ2luLCBjb25z
dCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3MgYmFzZSwKLSAgICAgICAg
SlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQs
IEVDTUFNb2RlLCBQdXRLaW5kKTsKKyAgICAgICAgQ29kZUJsb2NrKiwgQ29kZU9yaWdpbiwgY29u
c3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciwK
KyAgICAgICAgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3Jh
dGNoLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQsCisgICAgICAgIEVDTUFNb2RlLCBQdXRLaW5kKTsK
ICAgICAKICAgICB2b2lkIGdlbmVyYXRlRmFzdFBhdGgoTWFjcm9Bc3NlbWJsZXImKTsKICAgICAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFj
Y2VzczMyXzY0LmNwcAkocmV2aXNpb24gMTU4NzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDg0LDcg
KzQ4NCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChJbnN0cnVjdGlvbioKIAogICAg
IEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdp
bihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSwKLSAg
ICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEs
IHJlZ1QwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCB0cnVlKTsKICAg
ICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQ
YXRoSnVtcCgpKTsKICAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwpAQCAtNTMwLDggKzUzMCw4
IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbioKICAgICAKICAgICBK
SVRQdXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4o
bV9ieXRlY29kZU9mZnNldCksIFJlZ2lzdGVyU2V0OjpzcGVjaWFsUmVnaXN0ZXJzKCksCi0gICAg
ICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QzLCBy
ZWdUMiksIHJlZ1QxLCB0cnVlLAotICAgICAgICBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgZGly
ZWN0ID8gRGlyZWN0IDogTm90RGlyZWN0KTsKKyAgICAgICAgY2FsbEZyYW1lUmVnaXN0ZXIsIEpT
VmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QzLCByZWdUMiks
CisgICAgICAgIHJlZ1QxLCB0cnVlLCBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgZGlyZWN0ID8g
RGlyZWN0IDogTm90RGlyZWN0KTsKICAgICAKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhp
cyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCShyZXZpc2lvbiAx
NTg3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTI0LDcgKzUyNCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2dl
dF9ieV9pZChJbnN0cnVjdGlvbioKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAg
ICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJT
ZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3MocmVnVDApLCBKU1Zh
bHVlUmVncyhyZWdUMCksIHRydWUpOworICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1
ZVJlZ3MocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMCksIHRydWUpOwogICAgIGdlbi5nZW5lcmF0
ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwog
ICAgIG1fZ2V0QnlJZHMuYXBwZW5kKGdlbik7CkBAIC01NzAsOCArNTcwLDggQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfcHV0X2J5X2lkKEluc3RydWN0aW9uKgogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRv
ciBnZW4oCiAgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQp
LCBSZWdpc3RlclNldDo6c3BlY2lhbFJlZ2lzdGVycygpLAotICAgICAgICBKU1ZhbHVlUmVncyhy
ZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxKSwgcmVnVDIsIHRydWUsIG1fY29kZUJsb2NrLT5lY21h
TW9kZSgpLAotICAgICAgICBkaXJlY3QgPyBEaXJlY3QgOiBOb3REaXJlY3QpOworICAgICAgICBj
YWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1ZVJlZ3MocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSks
IHJlZ1QyLCB0cnVlLAorICAgICAgICBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgZGlyZWN0ID8g
RGlyZWN0IDogTm90RGlyZWN0KTsKICAgICAKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhp
cyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMTU4NzE4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYwLDYgKzQ2
MCw3IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJRExpc3QoRXhlY1N0YXQKICAgICAgICAg
CiAgICAgICAgIHN0dWJJbmZvLnUuZ2V0QnlJZFNlbGZMaXN0Lmxpc3RTaXplKys7CiAgICAgICAg
IAorICAgICAgICBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+
KHN0dWJJbmZvLnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICAgICAgR1BSUmVnIGJhc2VH
UFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLmJhc2VHUFIpOwogI2lmIFVT
RShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIgPSBzdGF0aWNfY2Fz
dDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLnZhbHVlVGFnR1BSKTsKQEAgLTUwMCwxMSArNTAxLDEx
IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJRExpc3QoRXhlY1N0YXQKICAgICAgICAgICAg
ICAgICAgICAgc3R1YkppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaEdQ
Uiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uoc2xvdC5jYWNoZWRPZmZzZXQoKSkpLCBzY3JhdGNoR1BS
KTsKICNlbmRpZgogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHViSml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShiYXNlR1BSLCBzY3JhdGNoR1BSKTsKKyAgICAgICAg
ICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BS
LCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IG9wZXJh
dGlvbkNhbGxHZXR0ZXI7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHN0
dWJKaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKAotICAgICAgICAgICAgICAgICAgICBi
YXNlR1BSLAorICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoCisgICAgICAg
ICAgICAgICAgICAgIGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BSLAogICAgICAgICAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihGdW5jdGlvblB0cihzbG90LmN1c3Rv
bUdldHRlcigpKS5leGVjdXRhYmxlQWRkcmVzcygpKSwKICAgICAgICAgICAgICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoaWRlbnQuaW1wbCgpKSk7CiAgICAgICAgICAgICAg
ICAgb3BlcmF0aW9uRnVuY3Rpb24gPSBvcGVyYXRpb25DYWxsQ3VzdG9tR2V0dGVyOwpAQCAtNzU3
LDYgKzc1OCw3IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKIHsKICAgICBW
TSogdm0gPSAmZXhlYy0+dm0oKTsKIAorICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IHN0
YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1lUmVnaXN0ZXIpOwogICAg
IEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5iYXNl
R1BSKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUiA9IHN0
YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwpAQCAtNzcxLDcg
Kzc3Myw3IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICAgICBhbGxvY2F0
b3IubG9jayh2YWx1ZUdQUik7CiAgICAgCiAgICAgQ0NhbGxIZWxwZXJzIHN0dWJKaXQodm0pOwot
ICAgICAgICAgICAgCisgICAgCiAgICAgR1BSUmVnIHNjcmF0Y2hHUFIxID0gYWxsb2NhdG9yLmFs
bG9jYXRlU2NyYXRjaEdQUigpOwogICAgIEFTU0VSVChzY3JhdGNoR1BSMSAhPSBiYXNlR1BSKTsK
ICAgICBBU1NFUlQoc2NyYXRjaEdQUjEgIT0gdmFsdWVHUFIpOwpAQCAtOTEzLDkgKzkxNSw5IEBA
IHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICAgICAgICAgU2NyYXRjaEJ1ZmZl
ciogc2NyYXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShhbGxvY2F0b3IuZGVz
aXJlZFNjcmF0Y2hCdWZmZXJTaXplKCkpOwogICAgICAgICBhbGxvY2F0b3IucHJlc2VydmVVc2Vk
UmVnaXN0ZXJzVG9TY3JhdGNoQnVmZmVyKHN0dWJKaXQsIHNjcmF0Y2hCdWZmZXIsIHNjcmF0Y2hH
UFIxKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzdHJ1
Y3R1cmUpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHNsb3QuY2FjaGVkT2Zmc2V0KCkp
LCB2YWx1ZUdQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVn
aXN0ZXIsIGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSks
IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRPZmZzZXQoKSksIHZhbHVl
R1BSKTsKICNlbHNlCi0gICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIE1hY3Jv
QXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRPZmZzZXQoKSksIHZhbHVlR1BSLCB2
YWx1ZVRhZ0dQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVn
aXN0ZXIsIGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSks
IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRPZmZzZXQoKSksIHZhbHVl
R1BSLCB2YWx1ZVRhZ0dQUik7CiAjZW5kaWYKICAgICAgICAgb3BlcmF0aW9uQ2FsbCA9IHN0dWJK
aXQuY2FsbCgpOwogICAgICAgICBhbGxvY2F0b3IucmVzdG9yZVVzZWRSZWdpc3RlcnNGcm9tU2Ny
YXRjaEJ1ZmZlcihzdHViSml0LCBzY3JhdGNoQnVmZmVyLCBzY3JhdGNoR1BSMSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216133</attachid>
            <date>2013-11-05 22:11:52 -0800</date>
            <delta_ts>2013-11-06 11:15:02 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>20849</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NzIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDEzLTExLTA1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SUMgY29kZSBzaG91bGQgaGFuZGxlIHRoZSBjYWxsIGZyYW1lIHJlZ2lzdGVyIG5vdCBiZWluZyB0
aGUgY2FsbEZyYW1lUmVnaXN0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzg2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgRm9yIG5vdywgaW4gdGhlIEZUTCwgdGhlIGNhbGwgZnJhbWUg
bWF5IGJlIHNvbWV0aGluZyBvdGhlciB0aGFuIG91ciBmcmFtZSBwb2ludGVyLAorICAgICAgICBz
aW5jZSBpdCdzIGFuIGFyZ3VtZW50IHBhc3NlZCBpbiBhY2NvcmRpbmcgdG8gd2hhdGV2ZXIgY29u
dmVudGlvbiBMTFZNIHBpY2tzLgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyB0ZW1wb3Jhcnkg
aW4gdHdvIHdheXMgLSBwcmV0dHkgc29vbiB0aGUgY2FsbEZyYW1lUmVnaXN0ZXIgd2lsbCBiZSB0
aGUgYWN0dWFsCisgICAgICAgIGZyYW1lIHBvaW50ZXIgYW5kIG5vdCBzb21lIG90aGVyIHJlZ2lz
dGVyLCBhbmQgTExWTSB3aWxsIG5vdCBwYXNzIHRoZSBmcmFtZSBwb2ludGVyCisgICAgICAgIGFz
IGFuIGFyZ3VtZW50IHRvIElDJ3MuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNhY2hlZFB1dEJ5SWQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQpOgorICAg
ICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpmaXhGdW5jdGlv
bkJhc2VkT25TdGFja01hcHMpOgorICAgICAgICAqIGZ0bC9GVExJbmxpbmVDYWNoZVNpemUuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6OnNpemVPZkdldEJ5SWQpOgorICAgICAgICAoSlNDOjpGVEw6
OnNpemVPZlB1dEJ5SWQpOgorICAgICAgICAqIGppdC9DQ2FsbEhlbHBlcnMuaDoKKyAgICAgICAg
KEpTQzo6Q0NhbGxIZWxwZXJzOjpzZXR1cEFyZ3VtZW50cyk6CisgICAgICAgICogaml0L0pJVElu
bGluZUNhY2hlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SklUQnlJZEdlbmVyYXRvcjo6
SklUQnlJZEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJVFB1dEJ5SWRHZW5lcmF0b3I6OkpJ
VFB1dEJ5SWRHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRv
ci5oOgorICAgICAgICAoSlNDOjpKSVRHZXRCeUlkR2VuZXJhdG9yOjpKSVRHZXRCeUlkR2VuZXJh
dG9yKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1
dF9ieV9pZCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX3B1dF9ieV9pZCk6CisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAo
SlNDOjp0cnlCdWlsZEdldEJ5SURMaXN0KToKKyAgICAgICAgKEpTQzo6ZW1pdFB1dFRyYW5zaXRp
b25TdHViKToKKwogMjAxMy0xMS0wNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZUTCBzaG91bGQgc3VwcG9ydCBOZXdPYmplY3QKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCShyZXZpc2lv
biAxNTg3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1
YkluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDYgKzIyNSw3IEBAIHN0cnVjdCBTdHJ1Y3R1
cmVTdHViSW5mbyB7CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBpbnQ4X3QgcmVnaXN0ZXJzRmx1
c2hlZDsKKyAgICAgICAgaW50OF90IGNhbGxGcmFtZVJlZ2lzdGVyOwogICAgICAgICBpbnQ4X3Qg
YmFzZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBpbnQ4X3QgdmFsdWVUYWdH
UFI7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
OCw3ICsxOTgsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpub25TcGVjdWxhdGl2ZVVJbnQzCiB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
R1BSUmVnIGJhc2VUYWdHUFJPck5vbmUsIEdQUlJlZyBiYXNlUGF5bG9hZEdQUiwgR1BSUmVnIHJl
c3VsdFRhZ0dQUiwgR1BSUmVnIHJlc3VsdFBheWxvYWRHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJO
dW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01v
ZGUgc3BpbGxNb2RlKQogewogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBt
X2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLAorICAgICAgICBt
X2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciwKICAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9yTm9uZSwg
YmFzZVBheWxvYWRHUFIpLAogICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3Vs
dFBheWxvYWRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3BpbGwpOwogICAgIApAQCAtMjMyLDkg
KzIzMiw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU8KICAgICB3
cml0ZUJhcnJpZXIoYmFzZVBheWxvYWRHUFIsIHZhbHVlVGFnR1BSLCB2YWx1ZVVzZSwgV3JpdGVC
YXJyaWVyRm9yUHJvcGVydHlBY2Nlc3MsIHNjcmF0Y2hHUFIpOwogICAgIAogICAgIEpJVFB1dEJ5
SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwg
dXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkoYmFzZVBheWxvYWRHUFIp
LAotICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZVRhZ0dQUiwgdmFsdWVQYXlsb2FkR1BSKSwgc2Ny
YXRjaEdQUiwgZmFsc2UsCi0gICAgICAgIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4pLCBw
dXRLaW5kKTsKKyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIHVzZWRSZWdp
c3RlcnMoKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsCisgICAgICAgIEpTVmFsdWVSZWdz
OjpwYXlsb2FkT25seShiYXNlUGF5bG9hZEdQUiksIEpTVmFsdWVSZWdzKHZhbHVlVGFnR1BSLCB2
YWx1ZVBheWxvYWRHUFIpLAorICAgICAgICBzY3JhdGNoR1BSLCBmYWxzZSwgbV9qaXQuZWNtYU1v
ZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOwogICAgIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKG1faml0KTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTU4NzE4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjEwLDggKzIxMCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlVUlu
dDMKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3Jp
Z2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVnIHJlc3VsdEdQUiwgdW5zaWduZWQgaWRlbnRpZmll
ck51bWJlciwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIFNwaWxsUmVnaXN0ZXJz
TW9kZSBzcGlsbE1vZGUpCiB7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAg
IG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVS
ZWdzKGJhc2VHUFIpLAotICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRHUFIpLCBzcGlsbE1vZGUg
IT0gTmVlZFRvU3BpbGwpOworICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwg
dXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKKyAgICAgICAgSlNW
YWx1ZVJlZ3MoYmFzZUdQUiksIEpTVmFsdWVSZWdzKHJlc3VsdEdQUiksIHNwaWxsTW9kZSAhPSBO
ZWVkVG9TcGlsbCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwogICAgIAogICAg
IEpJVENvbXBpbGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7CkBAIC0yMzIsOCArMjMyLDkgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2RlTwogICAgIHdyaXRlQmFycmllcihi
YXNlR1BSLCB2YWx1ZUdQUiwgdmFsdWVVc2UsIFdyaXRlQmFycmllckZvclByb3BlcnR5QWNjZXNz
LCBzY3JhdGNoR1BSKTsKIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBt
X2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVn
cyhiYXNlR1BSKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBm
YWxzZSwgbV9qaXQuZWNtYU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOworICAgICAgICBt
X2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciwKKyAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksIEpTVmFsdWVS
ZWdzKHZhbHVlR1BSKSwgc2NyYXRjaEdQUiwgZmFsc2UsCisgICAgICAgIG1faml0LmVjbWFNb2Rl
Rm9yKGNvZGVPcmlnaW4pLCBwdXRLaW5kKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aChtX2pp
dCk7CiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0IHNsb3dDYXNlczsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkocmV2aXNpb24gMTU4NzE4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTk4LDggKzE5OCw4IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNr
TWFwcygKICAgICAgICAgICAgIEdQUlJlZyByZXN1bHQgPSBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQ
UjsKICAgICAgICAgICAgIAogICAgICAgICAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0g
ICAgICAgICAgICAgICAgY29kZUJsb2NrLCBnZXRCeUlkLmNvZGVPcmlnaW4oKSwgdXNlZFJlZ2lz
dGVycywgSlNWYWx1ZVJlZ3MoYmFzZSksCi0gICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocmVz
dWx0KSwgZmFsc2UpOworICAgICAgICAgICAgICAgIGNvZGVCbG9jaywgZ2V0QnlJZC5jb2RlT3Jp
Z2luKCksIHVzZWRSZWdpc3RlcnMsIGNhbGxGcmFtZVJlZ2lzdGVyLAorICAgICAgICAgICAgICAg
IEpTVmFsdWVSZWdzKGJhc2UpLCBKU1ZhbHVlUmVncyhyZXN1bHQpLCBmYWxzZSk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBiZWdpbiA9IHNsb3dQYXRo
SklULmxhYmVsKCk7CiAgICAgICAgICAgICAKQEAgLTIzNCw5ICsyMzQsOSBAQCBzdGF0aWMgdm9p
ZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgICAgICBHUFJSZWcgdmFsdWUg
PSBHUFJJbmZvOjphcmd1bWVudEdQUjI7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIEpJVFB1
dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICAgICAgICAgIGNvZGVCbG9jaywgcHV0QnlJZC5j
b2RlT3JpZ2luKCksIHVzZWRSZWdpc3RlcnMsIEpTVmFsdWVSZWdzKGJhc2UpLAotICAgICAgICAg
ICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBmYWxzZSwg
cHV0QnlJZC5lY21hTW9kZSgpLAotICAgICAgICAgICAgICAgIHB1dEJ5SWQucHV0S2luZCgpKTsK
KyAgICAgICAgICAgICAgICBjb2RlQmxvY2ssIHB1dEJ5SWQuY29kZU9yaWdpbigpLCB1c2VkUmVn
aXN0ZXJzLCBjYWxsRnJhbWVSZWdpc3RlciwKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhi
YXNlKSwgSlNWYWx1ZVJlZ3ModmFsdWUpLCBHUFJJbmZvOjphcmd1bWVudEdQUjMsIGZhbHNlLAor
ICAgICAgICAgICAgICAgIHB1dEJ5SWQuZWNtYU1vZGUoKSwgcHV0QnlJZC5wdXRLaW5kKCkpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgYmVnaW4gPSBz
bG93UGF0aEpJVC5sYWJlbCgpOwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZVNpemUuY3BwCShyZXZpc2lvbiAxNTg3MTgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAgc2l6ZV90IHNpemVPZkdldEJ5SWQoKQogICAg
IE1hY3JvQXNzZW1ibGVyIGppdDsKICAgICAKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbmVy
YXRvcigKLSAgICAgICAgMCwgQ29kZU9yaWdpbigpLCBSZWdpc3RlclNldCgpLCBKU1ZhbHVlUmVn
cyhHUFJJbmZvOjpyZWdUNiksIEpTVmFsdWVSZWdzKEdQUkluZm86OnJlZ1Q3KSwKLSAgICAgICAg
ZmFsc2UpOworICAgICAgICAwLCBDb2RlT3JpZ2luKCksIFJlZ2lzdGVyU2V0KCksIEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLAorICAgICAgICBKU1ZhbHVlUmVncyhHUFJJbmZvOjpyZWdUNiks
IEpTVmFsdWVSZWdzKEdQUkluZm86OnJlZ1Q3KSwgZmFsc2UpOwogICAgIGdlbmVyYXRvci5nZW5l
cmF0ZUZhc3RQYXRoKGppdCk7CiAgICAgCiAgICAgcmV0dXJuIHNfc2l6ZU9mR2V0QnlJZCA9IGpp
dC5tX2Fzc2VtYmxlci5jb2RlU2l6ZSgpOwpAQCAtNTksOCArNTksOSBAQCBzaXplX3Qgc2l6ZU9m
UHV0QnlJZCgpCiAgICAgTWFjcm9Bc3NlbWJsZXIgaml0OwogICAgIAogICAgIEpJVFB1dEJ5SWRH
ZW5lcmF0b3IgZ2VuZXJhdG9yKAotICAgICAgICAwLCBDb2RlT3JpZ2luKCksIFJlZ2lzdGVyU2V0
KCksIEpTVmFsdWVSZWdzKEdQUkluZm86OnJlZ1Q2KSwgSlNWYWx1ZVJlZ3MoR1BSSW5mbzo6cmVn
VDcpLAotICAgICAgICBHUFJJbmZvOjpyZWdUOCwgZmFsc2UsIE5vdFN0cmljdE1vZGUsIE5vdERp
cmVjdCk7CisgICAgICAgIDAsIENvZGVPcmlnaW4oKSwgUmVnaXN0ZXJTZXQoKSwgR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIsCisgICAgICAgIEpTVmFsdWVSZWdzKEdQUkluZm86OnJlZ1Q2KSwg
SlNWYWx1ZVJlZ3MoR1BSSW5mbzo6cmVnVDcpLCBHUFJJbmZvOjpyZWdUOCwgZmFsc2UsCisgICAg
ICAgIE5vdFN0cmljdE1vZGUsIE5vdERpcmVjdCk7CiAgICAgZ2VuZXJhdG9yLmdlbmVyYXRlRmFz
dFBhdGgoaml0KTsKICAgICAKICAgICByZXR1cm4gc19zaXplT2ZQdXRCeUlkID0gaml0Lm1fYXNz
ZW1ibGVyLmNvZGVTaXplKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxs
SGVscGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxI
ZWxwZXJzLmgJKHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDQ0IEBAIHB1YmxpYzoK
ICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwogICAgIH0KICAgICAKKyAgICBBTFdBWVNf
SU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJS
ZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBh
ZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAg
ICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5M
SU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVk
SW1tUHRyIGFyZzMsIFRydXN0ZWRJbW1QdHIgYXJnNCkKKyAgICB7CisgICAgICAgIHJlc2V0Q2Fs
bEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFk
ZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAg
ICAgICBhZGRDYWxsQXJndW1lbnQoYXJnNCk7CisgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJ
bW1QdHIgYXJnMywgVHJ1c3RlZEltbTMyIGFyZzQsIEdQUlJlZyBhcmc1KQorICAgIHsKKyAgICAg
ICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsK
KyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQo
YXJnMyk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmc0KTsKKyAgICAgICAgYWRkQ2FsbEFy
Z3VtZW50KGFyZzUpOworICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBB
cmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tUHRyIGFyZzMsIFRy
dXN0ZWRJbW0zMiBhcmc0LCBHUFJSZWcgYXJnNSwgR1BSUmVnIGFyZzYpCisgICAgeworICAgICAg
ICByZXNldENhbGxBcmd1bWVudHMoKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzEpOwor
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmczKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzQpOworICAgICAgICBhZGRDYWxsQXJn
dW1lbnQoYXJnNSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmc2KTsKKyAgICB9CisgICAg
CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzKFRydXN0ZWRJbW1QdHIgYXJn
MSkKICAgICB7CiAgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOwpAQCAtOTA2LDYgKzk0NCwy
NSBAQCBwdWJsaWM6CiAgICAgICAgIHNldHVwVHdvU3R1YkFyZ3NHUFI8R1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBHUFJJbmZvOjphcmd1bWVudEdQUjE+KGFyZzEsIGFyZzIpOwogICAgIH0KICAgICAK
KyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJl
ZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHNldHVwVGhyZWVTdHViQXJnc0dQ
UjxHUFJJbmZvOjphcmd1bWVudEdQUjAsIEdQUkluZm86OmFyZ3VtZW50R1BSMSwgR1BSSW5mbzo6
YXJndW1lbnRHUFIyPihhcmcxLCBhcmcyLCBhcmczKTsKKyAgICB9CisgICAgCisgICAgQUxXQVlT
X0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzKEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgVHJ1
c3RlZEltbVB0ciBhcmczLCBUcnVzdGVkSW1tUHRyIGFyZzQpCisgICAgeworICAgICAgICBzZXR1
cFR3b1N0dWJBcmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRH
UFIxPihhcmcxLCBhcmcyKTsKKyAgICAgICAgbW92ZShhcmczLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjIpOworICAgICAgICBtb3ZlKGFyZzQsIEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CisgICAgfQor
ICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwg
R1BSUmVnIGFyZzIsIFRydXN0ZWRJbW1QdHIgYXJnMywgVHJ1c3RlZEltbTMyIGFyZzQsIEdQUlJl
ZyBhcmc1KQorICAgIHsKKyAgICAgICAgc2V0dXBUaHJlZVN0dWJBcmdzR1BSPEdQUkluZm86OmFy
Z3VtZW50R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjQ+
KGFyZzEsIGFyZzIsIGFyZzUpOworICAgICAgICBtb3ZlKGFyZzMsIEdQUkluZm86OmFyZ3VtZW50
R1BSMik7CisgICAgICAgIG1vdmUoYXJnNCwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKKyAgICB9
CisgICAgCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzKEdQUlJlZyBhcmcx
LCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczLCBUcnVzdGVkSW1tUHRyIGFyZzQpCiAg
ICAgewogICAgICAgICBzZXR1cFR3b1N0dWJBcmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
R1BSSW5mbzo6YXJndW1lbnRHUFIyPihhcmcxLCBhcmczKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCShyZXZp
c2lvbiAxNTg3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hl
R2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBKSVRJbmxpbmVD
YWNoZUdlbmVyYXRvcjo6SklUSW5saW5lQ2FjaGVHCiAKIEpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5
SWRHZW5lcmF0b3IoCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVPcmlnaW4gY29kZU9y
aWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsCi0gICAgSlNWYWx1ZVJlZ3Mg
YmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCkKKyAgICBHUFJS
ZWcgY2FsbEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVl
LCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgOiBKSVRJbmxpbmVDYWNoZUdlbmVyYXRvcihj
b2RlQmxvY2ssIGNvZGVPcmlnaW4pCiAgICAgLCBtX2Jhc2UoYmFzZSkKICAgICAsIG1fdmFsdWUo
dmFsdWUpCkBAIC02Miw2ICs2Miw3IEBAIEpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0
b3IoCiAgICAgbV9zdHViSW5mby0+cGF0Y2gudXNlZFJlZ2lzdGVycy5zZXQoYmFzZSk7CiAgICAg
bV9zdHViSW5mby0+cGF0Y2gudXNlZFJlZ2lzdGVycy5zZXQodmFsdWUpOwogICAgIAorICAgIG1f
c3R1YkluZm8tPnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVyID0gc3RhdGljX2Nhc3Q8aW50OF90Pihj
YWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgbV9zdHViSW5mby0+cGF0Y2guYmFzZUdQUiA9IHN0YXRp
Y19jYXN0PGludDhfdD4oYmFzZS5wYXlsb2FkR1BSKCkpOwogICAgIG1fc3R1YkluZm8tPnBhdGNo
LnZhbHVlR1BSID0gc3RhdGljX2Nhc3Q8aW50OF90Pih2YWx1ZS5wYXlsb2FkR1BSKCkpOwogI2lm
IFVTRShKU1ZBTFVFMzJfNjQpCkBAIC0xMjksOSArMTMwLDExIEBAIHZvaWQgSklUR2V0QnlJZEdl
bmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGEKIAogSklUUHV0QnlJZEdlbmVyYXRvcjo6SklUUHV0QnlJ
ZEdlbmVyYXRvcigKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZU9yaWdpbiBjb2RlT3Jp
Z2luLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywKLSAgICBKU1ZhbHVlUmVncyBi
YXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwgR1BSUmVnIHNjcmF0Y2gsIGJvb2wgcmVnaXN0ZXJzRmx1
c2hlZCwKLSAgICBFQ01BTW9kZSBlY21hTW9kZSwgUHV0S2luZCBwdXRLaW5kKQotICAgIDogSklU
QnlJZEdlbmVyYXRvcihjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMsIGJhc2Us
IHZhbHVlLCByZWdpc3RlcnNGbHVzaGVkKQorICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3Rlciwg
SlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLAorICAg
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCwgRUNNQU1vZGUgZWNtYU1vZGUsIFB1dEtpbmQgcHV0S2lu
ZCkKKyAgICA6IEpJVEJ5SWRHZW5lcmF0b3IoCisgICAgICAgIGNvZGVCbG9jaywgY29kZU9yaWdp
biwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2UsIHZhbHVlLAorICAgICAg
ICByZWdpc3RlcnNGbHVzaGVkKQogICAgICwgbV9zY3JhdGNoKHNjcmF0Y2gpCiAgICAgLCBtX2Vj
bWFNb2RlKGVjbWFNb2RlKQogICAgICwgbV9wdXRLaW5kKHB1dEtpbmQpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oCShy
ZXZpc2lvbiAxNTg3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNh
Y2hlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTU2LDggKzU2LDggQEAgcHJvdGVjdGVk
OgogICAgIEpJVEJ5SWRHZW5lcmF0b3IoKSB7IH0KIAogICAgIEpJVEJ5SWRHZW5lcmF0b3IoCi0g
ICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiwgSlNWYWx1
ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsCi0gICAgICAgIGJvb2wgcmVnaXN0ZXJzRmx1
c2hlZCk7CisgICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0
JiwgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLAorICAgICAgICBKU1ZhbHVlUmVncyBiYXNlLCBK
U1ZhbHVlUmVncyB2YWx1ZSwgYm9vbCByZWdpc3RlcnNGbHVzaGVkKTsKICAgICAKIHB1YmxpYzoK
ICAgICB2b2lkIHJlcG9ydFNsb3dQYXRoQ2FsbChNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgc2xvd1Bh
dGhCZWdpbiwgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbCkKQEAgLTk2LDggKzk2LDExIEBAIHB1
YmxpYzoKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IoCiAgICAgICAgIENvZGVCbG9jayogY29k
ZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVn
aXN0ZXJzLAotICAgICAgICBKU1ZhbHVlUmVncyBiYXNlLCBKU1ZhbHVlUmVncyB2YWx1ZSwgYm9v
bCByZWdpc3RlcnNGbHVzaGVkKQotICAgICAgICA6IEpJVEJ5SWRHZW5lcmF0b3IoY29kZUJsb2Nr
LCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzLCBiYXNlLCB2YWx1ZSwgcmVnaXN0ZXJzRmx1c2hl
ZCkKKyAgICAgICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBK
U1ZhbHVlUmVncyB2YWx1ZSwKKyAgICAgICAgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQorICAgICAg
ICA6IEpJVEJ5SWRHZW5lcmF0b3IoCisgICAgICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmlnaW4s
IHVzZWRSZWdpc3RlcnMsIGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlLCB2YWx1ZSwKKyAgICAgICAg
ICAgIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgewogICAgIH0KICAgICAKQEAgLTEwOSw4ICsxMTIs
OSBAQCBwdWJsaWM6CiAgICAgSklUUHV0QnlJZEdlbmVyYXRvcigpIHsgfQogCiAgICAgSklUUHV0
QnlJZEdlbmVyYXRvcigKLSAgICAgICAgQ29kZUJsb2NrKiwgQ29kZU9yaWdpbiwgY29uc3QgUmVn
aXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnMsIEpTVmFsdWVSZWdzIGJhc2UsCi0gICAgICAgIEpTVmFs
dWVSZWdzIHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdpc3RlcnNGbHVzaGVkLCBFQ01B
TW9kZSwgUHV0S2luZCk7CisgICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJl
Z2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsCisgICAg
ICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwg
Ym9vbCByZWdpc3RlcnNGbHVzaGVkLAorICAgICAgICBFQ01BTW9kZSwgUHV0S2luZCk7CiAgICAg
CiAgICAgdm9pZCBnZW5lcmF0ZUZhc3RQYXRoKE1hY3JvQXNzZW1ibGVyJik7CiAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mz
Ml82NC5jcHAJKHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4NCw3ICs0ODQs
NyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qCiAKICAgICBKSVRH
ZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9i
eXRlY29kZU9mZnNldCksIFJlZ2lzdGVyU2V0OjpzcGVjaWFsUmVnaXN0ZXJzKCksCi0gICAgICAg
IEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdU
MCksIHRydWUpOworICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1ZVJlZ3M6OnBheWxv
YWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgdHJ1ZSk7CiAgICAgZ2Vu
LmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1
bXAoKSk7CiAgICAgbV9nZXRCeUlkcy5hcHBlbmQoZ2VuKTsKQEAgLTUzMCw4ICs1MzAsOCBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoSW5zdHJ1Y3Rpb24qCiAgICAgCiAgICAgSklUUHV0
QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNldDo6c3BlY2lhbFJlZ2lzdGVycygpLAotICAgICAgICBK
U1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIp
LCByZWdUMSwgdHJ1ZSwKLSAgICAgICAgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIGRpcmVjdCA/
IERpcmVjdCA6IE5vdERpcmVjdCk7CisgICAgICAgIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVl
UmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLAorICAg
ICAgICByZWdUMSwgdHJ1ZSwgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIGRpcmVjdCA/IERpcmVj
dCA6IE5vdERpcmVjdCk7CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwog
ICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gMTU4NzE4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUyNCw3ICs1MjQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlf
aWQoSW5zdHJ1Y3Rpb24qCiAKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAg
bV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNldCksIFJlZ2lzdGVyU2V0Ojpz
cGVjaWFsUmVnaXN0ZXJzKCksCi0gICAgICAgIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJl
Z3MocmVnVDApLCB0cnVlKTsKKyAgICAgICAgY2FsbEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdz
KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDApLCB0cnVlKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0
UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKICAgICBt
X2dldEJ5SWRzLmFwcGVuZChnZW4pOwpAQCAtNTcwLDggKzU3MCw4IEBAIHZvaWQgSklUOjplbWl0
X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbioKIAogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2Vu
KAogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVn
aXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3MocmVnVDAp
LCBKU1ZhbHVlUmVncyhyZWdUMSksIHJlZ1QyLCB0cnVlLCBtX2NvZGVCbG9jay0+ZWNtYU1vZGUo
KSwKLSAgICAgICAgZGlyZWN0ID8gRGlyZWN0IDogTm90RGlyZWN0KTsKKyAgICAgICAgY2FsbEZy
YW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEpLCByZWdU
MiwgdHJ1ZSwKKyAgICAgICAgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIGRpcmVjdCA/IERpcmVj
dCA6IE5vdERpcmVjdCk7CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwog
ICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDE1ODcxOCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MCw2ICs0NjAsNyBA
QCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0CiAgICAgICAgIAogICAg
ICAgICBzdHViSW5mby51LmdldEJ5SWRTZWxmTGlzdC5saXN0U2l6ZSsrOwogICAgICAgICAKKyAg
ICAgICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHVi
SW5mby5wYXRjaC5jYWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0g
c3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5iYXNlR1BSKTsKICNpZiBVU0UoSlNW
QUxVRTMyXzY0KQogICAgICAgICBHUFJSZWcgcmVzdWx0VGFnR1BSID0gc3RhdGljX2Nhc3Q8R1BS
UmVnPihzdHViSW5mby5wYXRjaC52YWx1ZVRhZ0dQUik7CkBAIC01MDAsMTEgKzUwMSwxMSBAQCBz
dGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0CiAgICAgICAgICAgICAgICAg
ICAgIHN0dWJKaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIG9m
ZnNldFJlbGF0aXZlVG9CYXNlKHNsb3QuY2FjaGVkT2Zmc2V0KCkpKSwgc2NyYXRjaEdQUik7CiAj
ZW5kaWYKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYmFzZUdQUiwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAg
ICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50cyhjYWxsRnJhbWVSZWdpc3RlciwgYmFzZUdQUiwgc2Ny
YXRjaEdQUik7CiAgICAgICAgICAgICAgICAgb3BlcmF0aW9uRnVuY3Rpb24gPSBvcGVyYXRpb25D
YWxsR2V0dGVyOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHViSml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZSgKLSAgICAgICAgICAgICAgICAgICAgYmFzZUdQ
UiwKKyAgICAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKAorICAgICAgICAgICAg
ICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgYmFzZUdQUiwKICAgICAgICAgICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIoc2xvdC5jdXN0b21HZXR0
ZXIoKSkuZXhlY3V0YWJsZUFkZHJlc3MoKSksCiAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpUcnVzdGVkSW1tUHRyKGlkZW50LmltcGwoKSkpOwogICAgICAgICAgICAgICAgIG9w
ZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEN1c3RvbUdldHRlcjsKQEAgLTc1Nyw2ICs3
NTgsNyBAQCBzdGF0aWMgdm9pZCBlbWl0UHV0VHJhbnNpdGlvblN0dWIoCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAKKyAgICBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBzdGF0aWNf
Y2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBHUFJS
ZWcgYmFzZUdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guYmFzZUdQUik7
CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBHUFJSZWcgdmFsdWVUYWdHUFIgPSBzdGF0aWNf
Y2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLnZhbHVlVGFnR1BSKTsKQEAgLTc3MSw3ICs3NzMs
NyBAQCBzdGF0aWMgdm9pZCBlbWl0UHV0VHJhbnNpdGlvblN0dWIoCiAgICAgYWxsb2NhdG9yLmxv
Y2sodmFsdWVHUFIpOwogICAgIAogICAgIENDYWxsSGVscGVycyBzdHViSml0KHZtKTsKLSAgICAg
ICAgICAgIAorICAgIAogICAgIEdQUlJlZyBzY3JhdGNoR1BSMSA9IGFsbG9jYXRvci5hbGxvY2F0
ZVNjcmF0Y2hHUFIoKTsKICAgICBBU1NFUlQoc2NyYXRjaEdQUjEgIT0gYmFzZUdQUik7CiAgICAg
QVNTRVJUKHNjcmF0Y2hHUFIxICE9IHZhbHVlR1BSKTsKQEAgLTkxMyw5ICs5MTUsOSBAQCBzdGF0
aWMgdm9pZCBlbWl0UHV0VHJhbnNpdGlvblN0dWIoCiAgICAgICAgIFNjcmF0Y2hCdWZmZXIqIHNj
cmF0Y2hCdWZmZXIgPSB2bS0+c2NyYXRjaEJ1ZmZlckZvclNpemUoYWxsb2NhdG9yLmRlc2lyZWRT
Y3JhdGNoQnVmZmVyU2l6ZSgpKTsKICAgICAgICAgYWxsb2NhdG9yLnByZXNlcnZlVXNlZFJlZ2lz
dGVyc1RvU2NyYXRjaEJ1ZmZlcihzdHViSml0LCBzY3JhdGNoQnVmZmVyLCBzY3JhdGNoR1BSMSk7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYmFzZUdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoc3RydWN0dXJl
KSwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihzbG90LmNhY2hlZE9mZnNldCgpKSwgdmFs
dWVHUFIpOworICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVy
LCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHNsb3QuY2FjaGVkT2Zmc2V0KCkpLCB2YWx1ZUdQUik7
CiAjZWxzZQotICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShiYXNl
R1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKHNsb3QuY2FjaGVkT2Zmc2V0KCkpLCB2YWx1ZUdQUiwgdmFsdWVU
YWdHUFIpOworICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVy
LCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHNsb3QuY2FjaGVkT2Zmc2V0KCkpLCB2YWx1ZUdQUiwg
dmFsdWVUYWdHUFIpOwogI2VuZGlmCiAgICAgICAgIG9wZXJhdGlvbkNhbGwgPSBzdHViSml0LmNh
bGwoKTsKICAgICAgICAgYWxsb2NhdG9yLnJlc3RvcmVVc2VkUmVnaXN0ZXJzRnJvbVNjcmF0Y2hC
dWZmZXIoc3R1YkppdCwgc2NyYXRjaEJ1ZmZlciwgc2NyYXRjaEdQUjEpOwo=
</data>
<flag name="review"
          id="239039"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>