<?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>125052</bug_id>
          
          <creation_ts>2013-12-01 18:15:42 -0800</creation_ts>
          <short_desc>Instead of watchpointing activation allocation, we should watchpoint entry into functions that have captured variables</short_desc>
          <delta_ts>2013-12-02 11:06:47 -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>124630</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>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955204</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-01 18:15:42 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955205</commentid>
    <comment_count>1</comment_count>
      <attachid>218129</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-01 18:23:45 -0800</bug_when>
    <thetext>Created attachment 218129
stuff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955209</commentid>
    <comment_count>2</comment_count>
      <attachid>218131</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-01 18:53:09 -0800</bug_when>
    <thetext>Created attachment 218131
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955210</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-01 18:54:57 -0800</bug_when>
    <thetext>Attachment 218131 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/BytecodeLivenessAnalysis.cpp&apos;, u&apos;Source/JavaScriptCore/bytecode/CodeBlock.cpp&apos;, u&apos;Source/JavaScriptCore/bytecode/Opcode.h&apos;, u&apos;Source/JavaScriptCore/bytecode/Watchpoint.h&apos;, u&apos;Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGCapabilities.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JIT.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JIT.h&apos;, u&apos;Source/JavaScriptCore/jit/JITOpcodes.cpp&apos;, u&apos;Source/JavaScriptCore/llint/LowLevelInterpreter.asm&apos;, u&apos;Source/JavaScriptCore/runtime/CommonSlowPaths.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/CommonSlowPaths.h&apos;, u&apos;Source/JavaScriptCore/runtime/JSActivation.h&apos;, u&apos;Source/JavaScriptCore/runtime/SymbolTable.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/SymbolTable.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/jit/JIT.cpp:165:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
Total errors found: 1 in 18 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>955459</commentid>
    <comment_count>4</comment_count>
      <attachid>218131</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-02 10:56:11 -0800</bug_when>
    <thetext>Comment on attachment 218131
the patch

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

r=me with comments.

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3012
&gt;                      addToGraph(ActivationAllocationWatchpoint, OpInfo(activation-&gt;symbolTable()));

Maybe rename ActivationAllocationWatchpoint to FunctionReentryWatchpoint?

&gt; Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp:129
&gt;          case ActivationAllocationWatchpoint:

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955463</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-02 11:06:47 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/159942</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218129</attachid>
            <date>2013-12-01 18:23:45 -0800</date>
            <delta_ts>2013-12-01 18:53:09 -0800</delta_ts>
            <desc>stuff</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>13366</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpdmVuZXNzQW5h
bHlzaXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpdmVuZXNzQW5hbHlzaXMuY3BwCShyZXZpc2lvbiAxNTk5MDQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODksNiArODksNyBAQCBzdGF0aWMgdm9pZCBjb21wdXRlVXNlc0ZvckJ5
dGVjb2RlT2Zmc2V0CiAgICAgY2FzZSBvcF9pbml0X2xhenlfcmVnOgogICAgIGNhc2Ugb3BfZ2V0
X2NhbGxlZToKICAgICBjYXNlIG9wX2VudGVyOgorICAgIGNhc2Ugb3BfdG91Y2hfZW50cnk6CiAg
ICAgY2FzZSBvcF9jYXRjaDoKICAgICAgICAgcmV0dXJuOwogICAgIC8vIEZpcnN0IGFyZ3VtZW50
LgpAQCAtMzgzLDYgKzM4NCw3IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQKICAgICBjYXNlIG9wX3B1dF9ieV9pbmRleDoKICAgICBjYXNlIG9wX2RlbF9ieV9pZDoK
ICAgICBjYXNlIG9wX2RlbF9ieV92YWw6CisgICAgY2FzZSBvcF90b3VjaF9lbnRyeToKICNkZWZp
bmUgTExJTlRfSEVMUEVSX09QQ09ERVMob3Bjb2RlLCBsZW5ndGgpIGNhc2Ugb3Bjb2RlOgogICAg
ICAgICBGT1JfRUFDSF9MTElOVF9PUENPREVfRVhURU5TSU9OKExMSU5UX0hFTFBFUl9PUENPREVT
KTsKICN1bmRlZiBMTElOVF9IRUxQRVJfT1BDT0RFUwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NzIsNiArNjcyLDEwIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoUHJpbnRTdHJl
YW0KICAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBp
dCwgImVudGVyIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNl
IG9wX3RvdWNoX2VudHJ5OiB7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBl
eGVjLCBsb2NhdGlvbiwgaXQsICJ0b3VjaF9lbnRyeSIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9jcmVhdGVfYWN0aXZhdGlvbjogewogICAgICAgICAg
ICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBwcmludExvY2F0aW9u
T3BBbmRSZWdpc3Rlck9wZXJhbmQob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJjcmVhdGVfYWN0
aXZhdGlvbiIsIHIwKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNv
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2Rl
LmgJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICNkZWZpbmUgRk9SX0VBQ0hfQ09SRV9PUENPREVfSURfV0lUSF9FWFRFTlNJT04obWFjcm8sIGV4
dGVuc2lvbl9fKSBcCiAgICAgbWFjcm8ob3BfZW50ZXIsIDEpIFwKICAgICBtYWNybyhvcF9jcmVh
dGVfYWN0aXZhdGlvbiwgMikgXAorICAgIG1hY3JvKG9wX3RvdWNoX2VudHJ5LCAxKSBcCiAgICAg
bWFjcm8ob3BfaW5pdF9sYXp5X3JlZywgMikgXAogICAgIG1hY3JvKG9wX2NyZWF0ZV9hcmd1bWVu
dHMsIDIpIFwKICAgICBtYWNybyhvcF9jcmVhdGVfdGhpcywgNCkgXApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oCShyZXZpc2lvbiAxNTk5MDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogICAgICAgICBmaXJlQWxsU2xvdygpOwog
ICAgIH0KICAgICAKLSAgICB2b2lkIG5vdGlmeVdyaXRlKCkKKyAgICB2b2lkIHRvdWNoKCkKICAg
ICB7CiAgICAgICAgIGlmIChzdGF0ZSgpID09IENsZWFyV2F0Y2hwb2ludCkKICAgICAgICAgICAg
IHN0YXJ0V2F0Y2hpbmcoKTsKQEAgLTIwOSwxMCArMjA5LDEwIEBAIHB1YmxpYzoKICAgICAgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBub3RpZnlXcml0
ZSgpCisgICAgdm9pZCB0b3VjaCgpCiAgICAgewogICAgICAgICBpZiAoaXNGYXQoKSkgewotICAg
ICAgICAgICAgZmF0KCktPm5vdGlmeVdyaXRlKCk7CisgICAgICAgICAgICBmYXQoKS0+dG91Y2go
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoZGVjb2RlU3Rh
dGUobV9kYXRhKSA9PSBDbGVhcldhdGNocG9pbnQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2
aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1Miw2ICszNTIsOSBAQCBCeXRl
Y29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mCiAgICAgaWYgKHNob3VsZENhcHR1
cmVBbGxUaGVUaGluZ3MpCiAgICAgICAgIG1fc3ltYm9sVGFibGUtPnNldENhcHR1cmVFbmQodmly
dHVhbFJlZ2lzdGVyRm9yTG9jYWwoY29kZUJsb2NrLT5tX251bVZhcnMpLm9mZnNldCgpKTsKIAor
ICAgIGlmIChtX3N5bWJvbFRhYmxlLT5jYXB0dXJlQ291bnQoKSkKKyAgICAgICAgZW1pdE9wY29k
ZShvcF90b3VjaF9lbnRyeSk7CisgICAgCiAgICAgbV9wYXJhbWV0ZXJzLmdyb3cocGFyYW1ldGVy
cy5zaXplKCkgKyAxKTsgLy8gcmVzZXJ2ZSBzcGFjZSBmb3IgInRoaXMiCiAKICAgICAvLyBBZGQg
InRoaXMiIGFzIGEgcGFyYW1ldGVyCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4ODEsNyArMTg4MSwxMiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1faW5saW5lU3RhY2tUb3AtPm1f
Y29kZUJsb2NrLT5tX251bVZhcnM7ICsraSkKICAgICAgICAgICAgICAgICBzZXQodmlydHVhbFJl
Z2lzdGVyRm9yTG9jYWwoaSksIGNvbnN0YW50VW5kZWZpbmVkKCksIFNldE9uRW50cnkpOwogICAg
ICAgICAgICAgTkVYVF9PUENPREUob3BfZW50ZXIpOwotCisgICAgICAgICAgICAKKyAgICAgICAg
Y2FzZSBvcF90b3VjaF9lbnRyeToKKyAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5t
X2NvZGVCbG9jay0+c3ltYm9sVGFibGUoKS5tX2Z1bmN0aW9uRW50ZXJlZE9uY2UuaXNTdGlsbFZh
bGlkKCkpCisgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChGb3JjZU9TUkVudHJ5KTsKKyAgICAg
ICAgICAgIE5FWFRfT1BDT0RFKG9wX3RvdWNoX2VudHJ5KTsKKyAgICAgICAgICAgIAogICAgICAg
ICBjYXNlIG9wX3RvX3RoaXM6IHsKICAgICAgICAgICAgIE5vZGUqIG9wMSA9IGdldFRoaXMoKTsK
ICAgICAgICAgICAgIGlmIChvcDEtPm9wKCkgIT0gVG9UaGlzKSB7CkBAIC0zMDAzLDcgKzMwMDgs
NyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAg
ICBjYXNlIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiB7CiAgICAgICAgICAgICAg
ICAgSlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gY3VycmVudEluc3RydWN0aW9uWzVdLnUuYWN0
aXZhdGlvbi5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoYWN0aXZhdGlvbgotICAgICAgICAg
ICAgICAgICAgICAmJiBhY3RpdmF0aW9uLT5zeW1ib2xUYWJsZSgpLT5tX2FjdGl2YXRpb25BbGxv
Y2F0ZWRPbmNlLmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICYmIGFjdGl2
YXRpb24tPnN5bWJvbFRhYmxlKCktPm1fZnVuY3Rpb25FbnRlcmVkT25jZS5pc1N0aWxsVmFsaWQo
KSkgewogICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKEFjdGl2YXRpb25BbGxvY2F0aW9u
V2F0Y2hwb2ludCwgT3BJbmZvKGFjdGl2YXRpb24tPnN5bWJvbFRhYmxlKCkpKTsKICAgICAgICAg
ICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rlcihkc3QpLCBjZWxsQ29uc3RhbnQoYWN0aXZh
dGlvbikpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE1OTkwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODEsNiArODEsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9w
Y29kZUlECiB7CiAgICAgc3dpdGNoIChvcGNvZGVJRCkgewogICAgIGNhc2Ugb3BfZW50ZXI6Cisg
ICAgY2FzZSBvcF90b3VjaF9lbnRyeToKICAgICBjYXNlIG9wX3RvX3RoaXM6CiAgICAgY2FzZSBv
cF9jcmVhdGVfdGhpczoKICAgICBjYXNlIG9wX2dldF9jYWxsZWU6CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV2F0Y2hwb2ludENvbGxlY3Rpb25Q
aGFzZS5jcHAJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAg
ICAgICAgY2FzZSBBY3RpdmF0aW9uQWxsb2NhdGlvbldhdGNocG9pbnQ6Ci0gICAgICAgICAgICBh
ZGRMYXppbHkobV9ub2RlLT5zeW1ib2xUYWJsZSgpLT5tX2FjdGl2YXRpb25BbGxvY2F0ZWRPbmNl
KTsKKyAgICAgICAgICAgIGFkZExhemlseShtX25vZGUtPnN5bWJvbFRhYmxlKCktPm1fZnVuY3Rp
b25FbnRlcmVkT25jZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAg
ICBkZWZhdWx0OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkocmV2aXNpb24gMTU5
OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDksMzggKzEwOSwxMyBAQCB2b2lkIEpJVDo6ZW1pdEVudGVyT3B0aW1pemF0aW9uQ2hl
Y2soKQogICAgIG1fYnl0ZWNvZGVPZmZzZXQgKz0gT1BDT0RFX0xFTkdUSChuYW1lKTsgXAogICAg
IGJyZWFrOwogCi0jaWYgVVNFKEpTVkFMVUUzMl82NCkKLSNkZWZpbmUgREVGSU5FX0JJTkFSWV9P
UChuYW1lKSBcCisjZGVmaW5lIERFRklORV9TTE9XX09QKG5hbWUpIFwKICAgICBjYXNlIG9wXyMj
bmFtZTogeyBcCiAgICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3Vy
cmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAogICAgICAgICBzbG93UGF0aENh
bGwuY2FsbCgpOyBcCiAgICAgICAgIE5FWFRfT1BDT0RFKG9wXyMjbmFtZSk7IFwKICAgICB9CiAK
LSNkZWZpbmUgREVGSU5FX1VOQVJZX09QKG5hbWUpIFwKLSAgICBjYXNlIG9wXyMjbmFtZTogeyBc
Ci0gICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3Ry
dWN0aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAotICAgICAgICBzbG93UGF0aENhbGwuY2FsbCgp
OyBcCi0gICAgICAgIE5FWFRfT1BDT0RFKG9wXyMjbmFtZSk7IFwKLSAgICB9Ci0KLSNlbHNlIC8v
IFVTRShKU1ZBTFVFMzJfNjQpCi0KLSNkZWZpbmUgREVGSU5FX0JJTkFSWV9PUChuYW1lKSBcCi0g
ICAgY2FzZSBvcF8jI25hbWU6IHsgXAotICAgICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhD
YWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoXyMjbmFtZSk7IFwKLSAgICAg
ICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsgXAotICAgICAgICBORVhUX09QQ09ERShvcF8jI25hbWUp
OyBcCi0gICAgfQotCi0jZGVmaW5lIERFRklORV9VTkFSWV9PUChuYW1lKSBcCi0gICAgY2FzZSBv
cF8jI25hbWU6IHsgXAotICAgICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMs
IGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoXyMjbmFtZSk7IFwKLSAgICAgICAgc2xvd1Bh
dGhDYWxsLmNhbGwoKTsgXAotICAgICAgICBORVhUX09QQ09ERShvcF8jI25hbWUpOyBcCi0gICAg
fQotI2VuZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQpCi0KICNkZWZpbmUgREVGSU5FX09QKG5hbWUp
IFwKICAgICBjYXNlIG5hbWU6IHsgXAogICAgICAgICBlbWl0XyMjbmFtZShjdXJyZW50SW5zdHJ1
Y3Rpb24pOyBcCkBAIC0xODcsMTYgKzE2MiwxNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcygpCiAgICAgICAgIH0KIAogICAgICAgICBzd2l0Y2ggKG9wY29kZUlEKSB7Ci0gICAg
ICAgIERFRklORV9CSU5BUllfT1AoZGVsX2J5X3ZhbCkKLSAgICAgICAgREVGSU5FX0JJTkFSWV9P
UChpbikKLSAgICAgICAgREVGSU5FX0JJTkFSWV9PUChsZXNzKQotICAgICAgICBERUZJTkVfQklO
QVJZX09QKGxlc3NlcSkKLSAgICAgICAgREVGSU5FX0JJTkFSWV9PUChncmVhdGVyKQotICAgICAg
ICBERUZJTkVfQklOQVJZX09QKGdyZWF0ZXJlcSkKLSAgICAgICAgREVGSU5FX1VOQVJZX09QKGlz
X2Z1bmN0aW9uKQotICAgICAgICBERUZJTkVfVU5BUllfT1AoaXNfb2JqZWN0KQotICAgICAgICBE
RUZJTkVfVU5BUllfT1AodHlwZW9mKQorICAgICAgICBERUZJTkVfU0xPV19PUChkZWxfYnlfdmFs
KQorICAgICAgICBERUZJTkVfU0xPV19PUChpbikKKyAgICAgICAgREVGSU5FX1NMT1dfT1AobGVz
cykKKyAgICAgICAgREVGSU5FX1NMT1dfT1AobGVzc2VxKQorICAgICAgICBERUZJTkVfU0xPV19P
UChncmVhdGVyKQorICAgICAgICBERUZJTkVfU0xPV19PUChncmVhdGVyZXEpCisgICAgICAgIERF
RklORV9TTE9XX09QKGlzX2Z1bmN0aW9uKQorICAgICAgICBERUZJTkVfU0xPV19PUChpc19vYmpl
Y3QpCisgICAgICAgIERFRklORV9TTE9XX09QKHR5cGVvZikKIAorICAgICAgICBERUZJTkVfT1Ao
b3BfdG91Y2hfZW50cnkpCiAgICAgICAgIERFRklORV9PUChvcF9hZGQpCiAgICAgICAgIERFRklO
RV9PUChvcF9iaXRhbmQpCiAgICAgICAgIERFRklORV9PUChvcF9iaXRvcikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDU1LDYgKzQ1NSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfY29tcGFyZUFuZEp1bXAoT3Bjb2RlSUQsIGludCBv
cDEsIGludCBvcDIsIHVuc2lnbmVkIHRhcmdldCwgUmVsYXRpb25hbENvbmRpdGlvbik7CiAgICAg
ICAgIHZvaWQgZW1pdF9jb21wYXJlQW5kSnVtcFNsb3coaW50IG9wMSwgaW50IG9wMiwgdW5zaWdu
ZWQgdGFyZ2V0LCBEb3VibGVDb25kaXRpb24sIHNpemVfdCAoSklUX09QRVJBVElPTiAqb3BlcmF0
aW9uKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpLCBib29sIGlu
dmVydCwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogCisgICAgICAgIHZvaWQg
ZW1pdF9vcF90b3VjaF9lbnRyeShJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3Bf
YWRkKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9iaXRhbmQoSW5zdHJ1Y3Rp
b24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2JpdG9yKEluc3RydWN0aW9uKik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDE1OTkwNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwOTYsNiArMTA5NiwxNSBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfZ2V0X2FyZ3Vt
ZW50X2J5X3ZhCiAKICNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQogCit2b2lkIEpJVDo6ZW1pdF9v
cF90b3VjaF9lbnRyeShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGlm
IChtX2NvZGVCbG9jay0+c3ltYm9sVGFibGUoKS0+bV9mdW5jdGlvbkVudGVyZWRPbmNlLmhhc0Jl
ZW5JbnZhbGlkYXRlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgSklUU2xvd1BhdGhD
YWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF90b3Vj
aF9lbnRyeSk7CisgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKK30KKwogdm9pZCBKSVQ6OmVtaXRf
b3BfbG9vcF9oaW50KEluc3RydWN0aW9uKikKIHsKICAgICAvLyBFbWl0IHRoZSBKSVQgb3B0aW1p
emF0aW9uIGNoZWNrOiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5
KQpAQCAtNDc2LDYgKzQ3NiwxMiBAQCBlbmQKIAogCiAjIFZhbHVlLXJlcHJlc2VudGF0aW9uLWFn
bm9zdGljIGNvZGUuCitfbGxpbnRfb3BfdG91Y2hfZW50cnk6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGNhbGxTbG93UGF0aChfc2xvd19wYXRoX3RvdWNoX2VudHJ5KQorICAgIGRpc3BhdGNo
KDEpCisKKwogX2xsaW50X29wX25ld19hcnJheToKICAgICB0cmFjZUV4ZWN1dGlvbigpCiAgICAg
Y2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2FycmF5KQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lv
biAxNTk5MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDEzIEBAIFNMT1dfUEFUSF9ERUNM
KHNsb3dfcGF0aF9jb25zdHJ1Y3RfYXJpdHkKICAgICBSRVRVUk5fVFdPKDAsIHJlaW50ZXJwcmV0
X2Nhc3Q8RXhlY1N0YXRlKj4oU2xvdHNUb0FkZCkpOwogfQogCitTTE9XX1BBVEhfREVDTChzbG93
X3BhdGhfdG91Y2hfZW50cnkpCit7CisgICAgQkVHSU4oKTsKKyAgICBleGVjLT5jb2RlQmxvY2so
KS0+c3ltYm9sVGFibGUoKS0+bV9mdW5jdGlvbkVudGVyZWRPbmNlLnRvdWNoKCk7CisgICAgRU5E
KCk7Cit9CisKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfY2FsbGVlKQogewogICAgIEJF
R0lOKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25T
bG93UGF0aHMuaAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MCw2ICsxNjAsNyBA
QCBTTE9XX1BBVEhfREVDTChuYW1lKSBXVEZfSU5URVJOQUwKICAgICAKIFNMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfY2FsbF9hcml0eUNoZWNrKTsKIFNMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfY29uc3RydWN0X2FyaXR5Q2hlY2spOworU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF90b3VjaF9lbnRyeSk7CiBTTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV9hcmd1bWVudHMpOwogU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jcmVh
dGVfdGhpcyk7CiBTTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2dldF9jYWxsZWUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgJKHJl
dmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZh
dGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDgsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw2IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9IGNvZGVCbG9jay0+c3lt
Ym9sVGFibGUoKTsKICAgICAgICAgQVNTRVJUKGNvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5j
dGlvbkNvZGUpOwotICAgICAgICBzeW1ib2xUYWJsZS0+bV9hY3RpdmF0aW9uQWxsb2NhdGVkT25j
ZS5ub3RpZnlXcml0ZSgpOwogICAgICAgICBKU0FjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcg
KAogICAgICAgICAgICAgTm90TnVsbCwKICAgICAgICAgICAgIGFsbG9jYXRlQ2VsbDxKU0FjdGl2
YXRpb24+KApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRh
YmxlLmNwcAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw3IEBAIFN5bWJv
bFRhYmxlOjpTeW1ib2xUYWJsZShWTSYgdm0pCiAgICAgLCBtX3VzZXNOb25TdHJpY3RFdmFsKGZh
bHNlKQogICAgICwgbV9jYXB0dXJlU3RhcnQoMCkKICAgICAsIG1fY2FwdHVyZUVuZCgwKQotICAg
ICwgbV9hY3RpdmF0aW9uQWxsb2NhdGVkT25jZShDbGVhcldhdGNocG9pbnQpCisgICAgLCBtX2Z1
bmN0aW9uRW50ZXJlZE9uY2UoQ2xlYXJXYXRjaHBvaW50KQogewogfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgJKHJldmlzaW9uIDE1OTkwNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5Nyw3ICs0OTcsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
YXRjaHBvaW50Q2xlYW51cD4gbV93YXRjaHBvaW50Q2xlYW51cDsKIAogcHVibGljOgotICAgIElu
bGluZVdhdGNocG9pbnRTZXQgbV9hY3RpdmF0aW9uQWxsb2NhdGVkT25jZTsKKyAgICBJbmxpbmVX
YXRjaHBvaW50U2V0IG1fZnVuY3Rpb25FbnRlcmVkT25jZTsKICAgICAKICAgICBtdXRhYmxlIENv
bmN1cnJlbnRKSVRMb2NrIG1fbG9jazsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218131</attachid>
            <date>2013-12-01 18:53:09 -0800</date>
            <delta_ts>2013-12-02 10:56:11 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15915</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5OTA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBA
CisyMDEzLTEyLTAxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SW5zdGVhZCBvZiB3YXRjaHBvaW50aW5nIGFjdGl2YXRpb24gYWxsb2NhdGlvbiwgd2Ugc2hvdWxk
IHdhdGNocG9pbnQgZW50cnkgaW50byBmdW5jdGlvbnMgdGhhdCBjYXB0dXJlIHZhcmlhYmxlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MDUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBU
aGlzIG1ha2VzIHVzIHdhdGNoIGZ1bmN0aW9uIGVudHJ5IHJhdGhlciB0aGFuIGFjdGl2YXRpb24g
Y3JlYXRpb24uIFdlIG9ubHkgaW5jdXIgdGhlCisgICAgICAgIGNvc3RzIG9mIGRvaW5nIHNvIGZv
ciBmdW5jdGlvbnMgdGhhdCBoYXZlIGNhcHR1cmVkIHZhcmlhYmxlcywgYW5kIG9ubHkgb24gdGhl
IGZpcnN0IHR3bworICAgICAgICBlbnRyaWVzIGludG8gdGhlIGZ1bmN0aW9uLiBUaGlzIG1lYW5z
IHRoYXQgY2xvc3VyZSB2YXJpYWJsZSBjb25zdGFudCBpbmZlcmVuY2Ugd2lsbAorICAgICAgICBu
YXR1cmFsbHkgd29yayBldmVuIGZvciBsb2NhbCB1c2VzIG9mIHRoZSBjYXB0dXJlZCB2YXJpYWJs
ZSwgbGlrZToKKyAgICAgICAgCisgICAgICAgICAgICAoZnVuY3Rpb24oKXsKKyAgICAgICAgICAg
ICAgICB2YXIgYmxhaCA9IDQyOworICAgICAgICAgICAgICAgIC4uLiAvLyBzdHVmZgorICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uICgpIHsgLi4uIGJsYWggLyogd2UgY2FuIGZvbGQgdGhpcyB0byA0
MiAqLyB9CisgICAgICAgICAgICAgICAgLi4uIGJsYWggLy8gd2UgY2FuIGFsc28gZm9sZCB0aGlz
IHRvIDQyLgorICAgICAgICAgICAgfSkoKTsKKyAgICAgICAgCisgICAgICAgIFByZXZpb3VzbHks
IG9ubHkgdGhlIG5lc3RlZCB1c2Ugd291bGQgaGF2ZSBiZWVuIGZvbGRhYmxlLgorCisgICAgICAg
ICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNwcDoKKyAgICAgICAgKEpTQzo6
Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgIChKU0M6OmNvbXB1dGVEZWZz
Rm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29k
ZS9PcGNvZGUuaDoKKyAgICAgICAgKEpTQzo6cGFkT3Bjb2RlTmFtZSk6CisgICAgICAgICogYnl0
ZWNvZGUvV2F0Y2hwb2ludC5oOgorICAgICAgICAoSlNDOjpXYXRjaHBvaW50U2V0Ojp0b3VjaCk6
CisgICAgICAgIChKU0M6OklubGluZVdhdGNocG9pbnRTZXQ6OnRvdWNoKToKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxv
Y2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0
aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OldhdGNocG9pbnRDb2xsZWN0aW9uUGhh
c2U6OmhhbmRsZSk6CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAq
IGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3RvdWNoX2Vu
dHJ5KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAg
KiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9E
RUNMKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNBY3RpdmF0aW9uLmg6CisgICAgICAgIChKU0M6OkpTQWN0aXZhdGlvbjo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6U3lt
Ym9sVGFibGU6OlN5bWJvbFRhYmxlKToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlLmg6
CisKIDIwMTMtMTEtMjkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBGaW5hbGx5IHJlbW92ZSB0aG9zZSBERkdfRU5BQkxFIHRoaW5ncwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGl2ZW5lc3NB
bmFseXNpcy5jcHAJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpdmVuZXNzQW5hbHlzaXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
OSw2ICs4OSw3IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQKICAg
ICBjYXNlIG9wX2luaXRfbGF6eV9yZWc6CiAgICAgY2FzZSBvcF9nZXRfY2FsbGVlOgogICAgIGNh
c2Ugb3BfZW50ZXI6CisgICAgY2FzZSBvcF90b3VjaF9lbnRyeToKICAgICBjYXNlIG9wX2NhdGNo
OgogICAgICAgICByZXR1cm47CiAgICAgLy8gRmlyc3QgYXJndW1lbnQuCkBAIC0zODMsNiArMzg0
LDcgQEAgc3RhdGljIHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldAogICAgIGNhc2Ug
b3BfcHV0X2J5X2luZGV4OgogICAgIGNhc2Ugb3BfZGVsX2J5X2lkOgogICAgIGNhc2Ugb3BfZGVs
X2J5X3ZhbDoKKyAgICBjYXNlIG9wX3RvdWNoX2VudHJ5OgogI2RlZmluZSBMTElOVF9IRUxQRVJf
T1BDT0RFUyhvcGNvZGUsIGxlbmd0aCkgY2FzZSBvcGNvZGU6CiAgICAgICAgIEZPUl9FQUNIX0xM
SU5UX09QQ09ERV9FWFRFTlNJT04oTExJTlRfSEVMUEVSX09QQ09ERVMpOwogI3VuZGVmIExMSU5U
X0hFTFBFUl9PUENPREVTCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3Miw2ICs2NzIsMTAg
QEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmludFN0cmVhbQogICAgICAgICAgICAg
cHJpbnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAiZW50ZXIiKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2Ugb3BfdG91Y2hfZW50cnk6
IHsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBp
dCwgInRvdWNoX2VudHJ5Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAg
ICBjYXNlIG9wX2NyZWF0ZV9hY3RpdmF0aW9uOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytp
dCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIHByaW50TG9jYXRpb25PcEFuZFJlZ2lzdGVyT3Bl
cmFuZChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgImNyZWF0ZV9hY3RpdmF0aW9uIiwgcjApOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAkocmV2aXNpb24gMTU5
OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2RlZmluZSBGT1JfRUFD
SF9DT1JFX09QQ09ERV9JRF9XSVRIX0VYVEVOU0lPTihtYWNybywgZXh0ZW5zaW9uX18pIFwKICAg
ICBtYWNybyhvcF9lbnRlciwgMSkgXAogICAgIG1hY3JvKG9wX2NyZWF0ZV9hY3RpdmF0aW9uLCAy
KSBcCisgICAgbWFjcm8ob3BfdG91Y2hfZW50cnksIDEpIFwKICAgICBtYWNybyhvcF9pbml0X2xh
enlfcmVnLCAyKSBcCiAgICAgbWFjcm8ob3BfY3JlYXRlX2FyZ3VtZW50cywgMikgXAogICAgIG1h
Y3JvKG9wX2NyZWF0ZV90aGlzLCA0KSBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvV2F0Y2hwb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9XYXRjaHBvaW50LmgJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsx
MDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGZpcmVBbGxTbG93KCk7CiAgICAgfQogICAgIAotICAg
IHZvaWQgbm90aWZ5V3JpdGUoKQorICAgIHZvaWQgdG91Y2goKQogICAgIHsKICAgICAgICAgaWYg
KHN0YXRlKCkgPT0gQ2xlYXJXYXRjaHBvaW50KQogICAgICAgICAgICAgc3RhcnRXYXRjaGluZygp
OwpAQCAtMjA5LDEwICsyMDksMTAgQEAgcHVibGljOgogICAgICAgICBXVEY6OnN0b3JlU3RvcmVG
ZW5jZSgpOwogICAgIH0KICAgICAKLSAgICB2b2lkIG5vdGlmeVdyaXRlKCkKKyAgICB2b2lkIHRv
dWNoKCkKICAgICB7CiAgICAgICAgIGlmIChpc0ZhdCgpKSB7Ci0gICAgICAgICAgICBmYXQoKS0+
bm90aWZ5V3JpdGUoKTsKKyAgICAgICAgICAgIGZhdCgpLT50b3VjaCgpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZWNvZGVTdGF0ZShtX2RhdGEpID09IENs
ZWFyV2F0Y2hwb2ludCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAxNTk5MDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUyLDYgKzM1Miw5IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpC
eXRlY29kZUdlbmVyYXRvcihWTSYKICAgICBpZiAoc2hvdWxkQ2FwdHVyZUFsbFRoZVRoaW5ncykK
ICAgICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0Q2FwdHVyZUVuZCh2aXJ0dWFsUmVnaXN0ZXJGb3JM
b2NhbChjb2RlQmxvY2stPm1fbnVtVmFycykub2Zmc2V0KCkpOwogCisgICAgaWYgKG1fc3ltYm9s
VGFibGUtPmNhcHR1cmVDb3VudCgpKQorICAgICAgICBlbWl0T3Bjb2RlKG9wX3RvdWNoX2VudHJ5
KTsKKyAgICAKICAgICBtX3BhcmFtZXRlcnMuZ3JvdyhwYXJhbWV0ZXJzLnNpemUoKSArIDEpOyAv
LyByZXNlcnZlIHNwYWNlIGZvciAidGhpcyIKIAogICAgIC8vIEFkZCAidGhpcyIgYXMgYSBwYXJh
bWV0ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCShyZXZpc2lvbiAxNTk5MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg4MSw3ICsxODgxLDEy
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgbV9pbmxpbmVTdGFja1RvcC0+bV9jb2RlQmxvY2stPm1fbnVt
VmFyczsgKytpKQogICAgICAgICAgICAgICAgIHNldCh2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChp
KSwgY29uc3RhbnRVbmRlZmluZWQoKSwgU2V0T25FbnRyeSk7CiAgICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9lbnRlcik7Ci0KKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIG9wX3RvdWNoX2Vu
dHJ5OgorICAgICAgICAgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fY29kZUJsb2NrLT5zeW1i
b2xUYWJsZSgpLT5tX2Z1bmN0aW9uRW50ZXJlZE9uY2UuaXNTdGlsbFZhbGlkKCkpCisgICAgICAg
ICAgICAgICAgYWRkVG9HcmFwaChGb3JjZU9TUkV4aXQpOworICAgICAgICAgICAgTkVYVF9PUENP
REUob3BfdG91Y2hfZW50cnkpOworICAgICAgICAgICAgCiAgICAgICAgIGNhc2Ugb3BfdG9fdGhp
czogewogICAgICAgICAgICAgTm9kZSogb3AxID0gZ2V0VGhpcygpOwogICAgICAgICAgICAgaWYg
KG9wMS0+b3AoKSAhPSBUb1RoaXMpIHsKQEAgLTMwMDMsNyArMzAwOCw3IEBAIGJvb2wgQnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGNhc2UgQ2xvc3VyZVZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3M6IHsKICAgICAgICAgICAgICAgICBKU0FjdGl2YXRpb24q
IGFjdGl2YXRpb24gPSBjdXJyZW50SW5zdHJ1Y3Rpb25bNV0udS5hY3RpdmF0aW9uLmdldCgpOwog
ICAgICAgICAgICAgICAgIGlmIChhY3RpdmF0aW9uCi0gICAgICAgICAgICAgICAgICAgICYmIGFj
dGl2YXRpb24tPnN5bWJvbFRhYmxlKCktPm1fYWN0aXZhdGlvbkFsbG9jYXRlZE9uY2UuaXNTdGls
bFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgJiYgYWN0aXZhdGlvbi0+c3ltYm9sVGFi
bGUoKS0+bV9mdW5jdGlvbkVudGVyZWRPbmNlLmlzU3RpbGxWYWxpZCgpKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGFkZFRvR3JhcGgoQWN0aXZhdGlvbkFsbG9jYXRpb25XYXRjaHBvaW50LCBPcElu
Zm8oYWN0aXZhdGlvbi0+c3ltYm9sVGFibGUoKSkpOwogICAgICAgICAgICAgICAgICAgICBzZXQo
VmlydHVhbFJlZ2lzdGVyKGRzdCksIGNlbGxDb25zdGFudChhY3RpdmF0aW9uKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4
MSw3IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQKIHsKICAgICBz
d2l0Y2ggKG9wY29kZUlEKSB7CiAgICAgY2FzZSBvcF9lbnRlcjoKKyAgICBjYXNlIG9wX3RvdWNo
X2VudHJ5OgogICAgIGNhc2Ugb3BfdG9fdGhpczoKICAgICBjYXNlIG9wX2NyZWF0ZV90aGlzOgog
ICAgIGNhc2Ugb3BfZ2V0X2NhbGxlZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcAkocmV2aXNp
b24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBvaW50Q29s
bGVjdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNyw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFjdGl2
YXRpb25BbGxvY2F0aW9uV2F0Y2hwb2ludDoKLSAgICAgICAgICAgIGFkZExhemlseShtX25vZGUt
PnN5bWJvbFRhYmxlKCktPm1fYWN0aXZhdGlvbkFsbG9jYXRlZE9uY2UpOworICAgICAgICAgICAg
YWRkTGF6aWx5KG1fbm9kZS0+c3ltYm9sVGFibGUoKS0+bV9mdW5jdGlvbkVudGVyZWRPbmNlKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGRlZmF1bHQ6CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCShyZXZpc2lvbiAxNTk5MDQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOSwzOCArMTA5
LDEzIEBAIHZvaWQgSklUOjplbWl0RW50ZXJPcHRpbWl6YXRpb25DaGVjaygpCiAgICAgbV9ieXRl
Y29kZU9mZnNldCArPSBPUENPREVfTEVOR1RIKG5hbWUpOyBcCiAgICAgYnJlYWs7CiAKLSNpZiBV
U0UoSlNWQUxVRTMyXzY0KQotI2RlZmluZSBERUZJTkVfQklOQVJZX09QKG5hbWUpIFwKKyNkZWZp
bmUgREVGSU5FX1NMT1dfT1AobmFtZSkgXAogICAgIGNhc2Ugb3BfIyNuYW1lOiB7IFwKICAgICAg
ICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24s
IHNsb3dfcGF0aF8jI25hbWUpOyBcCiAgICAgICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7IFwKICAg
ICAgICAgTkVYVF9PUENPREUob3BfIyNuYW1lKTsgXAogICAgIH0KIAotI2RlZmluZSBERUZJTkVf
VU5BUllfT1AobmFtZSkgXAotICAgIGNhc2Ugb3BfIyNuYW1lOiB7IFwKLSAgICAgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF8jI25hbWUpOyBcCi0gICAgICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7IFwKLSAgICAgICAgTkVY
VF9PUENPREUob3BfIyNuYW1lKTsgXAotICAgIH0KLQotI2Vsc2UgLy8gVVNFKEpTVkFMVUUzMl82
NCkKLQotI2RlZmluZSBERUZJTkVfQklOQVJZX09QKG5hbWUpIFwKLSAgICBjYXNlIG9wXyMjbmFt
ZTogeyBcCi0gICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVu
dEluc3RydWN0aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAotICAgICAgICBzbG93UGF0aENhbGwu
Y2FsbCgpOyBcCi0gICAgICAgIE5FWFRfT1BDT0RFKG9wXyMjbmFtZSk7IFwKLSAgICB9Ci0KLSNk
ZWZpbmUgREVGSU5FX1VOQVJZX09QKG5hbWUpIFwKLSAgICBjYXNlIG9wXyMjbmFtZTogeyBcCi0g
ICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0
aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAotICAgICAgICBzbG93UGF0aENhbGwuY2FsbCgpOyBc
Ci0gICAgICAgIE5FWFRfT1BDT0RFKG9wXyMjbmFtZSk7IFwKLSAgICB9Ci0jZW5kaWYgLy8gVVNF
KEpTVkFMVUUzMl82NCkKLQogI2RlZmluZSBERUZJTkVfT1AobmFtZSkgXAogICAgIGNhc2UgbmFt
ZTogeyBcCiAgICAgICAgIGVtaXRfIyNuYW1lKGN1cnJlbnRJbnN0cnVjdGlvbik7IFwKQEAgLTE4
NywxNiArMTYyLDE3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAg
ICAgfQogCiAgICAgICAgIHN3aXRjaCAob3Bjb2RlSUQpIHsKLSAgICAgICAgREVGSU5FX0JJTkFS
WV9PUChkZWxfYnlfdmFsKQotICAgICAgICBERUZJTkVfQklOQVJZX09QKGluKQotICAgICAgICBE
RUZJTkVfQklOQVJZX09QKGxlc3MpCi0gICAgICAgIERFRklORV9CSU5BUllfT1AobGVzc2VxKQot
ICAgICAgICBERUZJTkVfQklOQVJZX09QKGdyZWF0ZXIpCi0gICAgICAgIERFRklORV9CSU5BUllf
T1AoZ3JlYXRlcmVxKQotICAgICAgICBERUZJTkVfVU5BUllfT1AoaXNfZnVuY3Rpb24pCi0gICAg
ICAgIERFRklORV9VTkFSWV9PUChpc19vYmplY3QpCi0gICAgICAgIERFRklORV9VTkFSWV9PUCh0
eXBlb2YpCisgICAgICAgIERFRklORV9TTE9XX09QKGRlbF9ieV92YWwpCisgICAgICAgIERFRklO
RV9TTE9XX09QKGluKQorICAgICAgICBERUZJTkVfU0xPV19PUChsZXNzKQorICAgICAgICBERUZJ
TkVfU0xPV19PUChsZXNzZXEpCisgICAgICAgIERFRklORV9TTE9XX09QKGdyZWF0ZXIpCisgICAg
ICAgIERFRklORV9TTE9XX09QKGdyZWF0ZXJlcSkKKyAgICAgICAgREVGSU5FX1NMT1dfT1AoaXNf
ZnVuY3Rpb24pCisgICAgICAgIERFRklORV9TTE9XX09QKGlzX29iamVjdCkKKyAgICAgICAgREVG
SU5FX1NMT1dfT1AodHlwZW9mKQogCisgICAgICAgIERFRklORV9PUChvcF90b3VjaF9lbnRyeSkK
ICAgICAgICAgREVGSU5FX09QKG9wX2FkZCkKICAgICAgICAgREVGSU5FX09QKG9wX2JpdGFuZCkK
ICAgICAgICAgREVGSU5FX09QKG9wX2JpdG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5o
CShyZXZpc2lvbiAxNTk5MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NTUsNiArNDU1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHZvaWQgZW1pdF9jb21wYXJlQW5kSnVtcChPcGNvZGVJRCwgaW50IG9wMSwgaW50IG9wMiwgdW5z
aWduZWQgdGFyZ2V0LCBSZWxhdGlvbmFsQ29uZGl0aW9uKTsKICAgICAgICAgdm9pZCBlbWl0X2Nv
bXBhcmVBbmRKdW1wU2xvdyhpbnQgb3AxLCBpbnQgb3AyLCB1bnNpZ25lZCB0YXJnZXQsIERvdWJs
ZUNvbmRpdGlvbiwgc2l6ZV90IChKSVRfT1BFUkFUSU9OICpvcGVyYXRpb24pKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSksIGJvb2wgaW52ZXJ0LCBWZWN0b3I8U2xv
d0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAKKyAgICAgICAgdm9pZCBlbWl0X29wX3RvdWNoX2Vu
dHJ5KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9hZGQoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX2JpdGFuZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2
b2lkIGVtaXRfb3BfYml0b3IoSW5zdHJ1Y3Rpb24qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5Niw2ICsx
MDk2LDE1IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9nZXRfYXJndW1lbnRfYnlfdmEKIAogI2Vu
ZGlmIC8vIFVTRShKU1ZBTFVFNjQpCiAKK3ZvaWQgSklUOjplbWl0X29wX3RvdWNoX2VudHJ5KElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgaWYgKG1fY29kZUJsb2NrLT5z
eW1ib2xUYWJsZSgpLT5tX2Z1bmN0aW9uRW50ZXJlZE9uY2UuaGFzQmVlbkludmFsaWRhdGVkKCkp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxs
KHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3RvdWNoX2VudHJ5KTsKKyAgICBz
bG93UGF0aENhbGwuY2FsbCgpOworfQorCiB2b2lkIEpJVDo6ZW1pdF9vcF9sb29wX2hpbnQoSW5z
dHJ1Y3Rpb24qKQogewogICAgIC8vIEVtaXQgdGhlIEpJVCBvcHRpbWl6YXRpb24gY2hlY2s6IApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC00NzYsNiArNDc2
LDEyIEBAIGVuZAogCiAKICMgVmFsdWUtcmVwcmVzZW50YXRpb24tYWdub3N0aWMgY29kZS4KK19s
bGludF9vcF90b3VjaF9lbnRyeToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQ
YXRoKF9zbG93X3BhdGhfdG91Y2hfZW50cnkpCisgICAgZGlzcGF0Y2goMSkKKworCiBfbGxpbnRf
b3BfbmV3X2FycmF5OgogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBjYWxsU2xvd1BhdGgoX2xs
aW50X3Nsb3dfcGF0aF9uZXdfYXJyYXkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDE1OTkwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5Myw2ICsxOTMsMTMgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NvbnN0
cnVjdF9hcml0eQogICAgIFJFVFVSTl9UV08oMCwgcmVpbnRlcnByZXRfY2FzdDxFeGVjU3RhdGUq
PihTbG90c1RvQWRkKSk7CiB9CiAKK1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90b3VjaF9lbnRy
eSkKK3sKKyAgICBCRUdJTigpOworICAgIGV4ZWMtPmNvZGVCbG9jaygpLT5zeW1ib2xUYWJsZSgp
LT5tX2Z1bmN0aW9uRW50ZXJlZE9uY2UudG91Y2goKTsKKyAgICBFTkQoKTsKK30KKwogU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX2dldF9jYWxsZWUpCiB7CiAgICAgQkVHSU4oKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5oCShyZXZp
c2lvbiAxNTk5MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDYgKzE2MCw3IEBAIFNMT1dfUEFUSF9ERUNM
KG5hbWUpIFdURl9JTlRFUk5BTAogICAgIAogU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9jYWxsX2FyaXR5Q2hlY2spOwogU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25z
dHJ1Y3RfYXJpdHlDaGVjayk7CitTTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3RvdWNo
X2VudHJ5KTsKIFNMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY3JlYXRlX2FyZ3VtZW50
cyk7CiBTTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKTsKIFNMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfZ2V0X2NhbGxlZSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAkocmV2aXNpb24gMTU5OTA0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAw
OSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDcgKzUwLDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
U3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlID0gY29kZUJsb2NrLT5zeW1ib2xUYWJsZSgpOwogICAg
ICAgICBBU1NFUlQoY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSk7Ci0gICAg
ICAgIHN5bWJvbFRhYmxlLT5tX2FjdGl2YXRpb25BbGxvY2F0ZWRPbmNlLm5vdGlmeVdyaXRlKCk7
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoCiAgICAgICAgICAgICBO
b3ROdWxsLAogICAgICAgICAgICAgYWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlvbj4oCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwCShyZXZpc2lv
biAxNTk5MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgU3ltYm9sVGFibGU6OlN5bWJvbFRh
YmxlKFZNJiB2bSkKICAgICAsIG1fdXNlc05vblN0cmljdEV2YWwoZmFsc2UpCiAgICAgLCBtX2Nh
cHR1cmVTdGFydCgwKQogICAgICwgbV9jYXB0dXJlRW5kKDApCi0gICAgLCBtX2FjdGl2YXRpb25B
bGxvY2F0ZWRPbmNlKENsZWFyV2F0Y2hwb2ludCkKKyAgICAsIG1fZnVuY3Rpb25FbnRlcmVkT25j
ZShDbGVhcldhdGNocG9pbnQpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaAkocmV2aXNpb24gMTU5OTA0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDk3LDcg
KzQ5Nyw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdhdGNocG9pbnRDbGVhbnVw
PiBtX3dhdGNocG9pbnRDbGVhbnVwOwogCiBwdWJsaWM6Ci0gICAgSW5saW5lV2F0Y2hwb2ludFNl
dCBtX2FjdGl2YXRpb25BbGxvY2F0ZWRPbmNlOworICAgIElubGluZVdhdGNocG9pbnRTZXQgbV9m
dW5jdGlvbkVudGVyZWRPbmNlOwogICAgIAogICAgIG11dGFibGUgQ29uY3VycmVudEpJVExvY2sg
bV9sb2NrOwogfTsK
</data>
<flag name="review"
          id="241454"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>