<?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>105703</bug_id>
          
          <creation_ts>2012-12-23 19:31:28 -0800</creation_ts>
          <short_desc>Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection</short_desc>
          <delta_ts>2012-12-24 00:21:04 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>gtk-ews</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796837</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 19:31:28 -0800</bug_when>
    <thetext>Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796838</commentid>
    <comment_count>1</comment_count>
      <attachid>180634</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 19:37:52 -0800</bug_when>
    <thetext>Created attachment 180634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796839</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-23 19:40:48 -0800</bug_when>
    <thetext>Attachment 180634 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/WebProcess/Cookies/WebCookieManager.h:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 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>796840</commentid>
    <comment_count>3</comment_count>
      <attachid>180634</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-23 19:45:00 -0800</bug_when>
    <thetext>Comment on attachment 180634
Patch

Attachment 180634 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15508264</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796841</commentid>
    <comment_count>4</comment_count>
      <attachid>180634</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-23 19:45:43 -0800</bug_when>
    <thetext>Comment on attachment 180634
Patch

Attachment 180634 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15503265</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796842</commentid>
    <comment_count>5</comment_count>
      <attachid>180634</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-23 19:49:26 -0800</bug_when>
    <thetext>Comment on attachment 180634
Patch

Attachment 180634 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15498296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796844</commentid>
    <comment_count>6</comment_count>
      <attachid>180634</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-12-23 19:56:20 -0800</bug_when>
    <thetext>Comment on attachment 180634
Patch

Attachment 180634 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15498298</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796849</commentid>
    <comment_count>7</comment_count>
      <attachid>180638</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 20:10:18 -0800</bug_when>
    <thetext>Created attachment 180638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796868</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 21:46:05 -0800</bug_when>
    <thetext>Committed r138433: &lt;http://trac.webkit.org/changeset/138433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796905</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-24 00:17:15 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Committed r138433: &lt;http://trac.webkit.org/changeset/138433&gt;

It broke the Qt-Windows build:
c:\webkitbuildslave\szeged-windows-1\qt-windows-32bit-release\build\source\webkit2\webprocess\cookies\WebCookieManager.h(53) : error C2061: syntax error : identifier &apos;uint64_t&apos;
c:\webkitbuildslave\szeged-windows-1\qt-windows-32bit-release\build\source\webkit2\webprocess\cookies\WebCookieManager.h(58) : error C2061: syntax error : identifier &apos;uint64_t&apos;
C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\WebProcess\Cookies\WebCookieManager.cpp(61) : error C2511: &apos;void WebKit::WebCookieManager::getHostnamesWithCookies(uint64_t)&apos; : overloaded member function not found in &apos;WebKit::WebCookieManager&apos;
        c:\webkitbuildslave\szeged-windows-1\qt-windows-32bit-release\build\source\webkit2\webprocess\cookies\WebCookieManager.h(42) : see declaration of &apos;WebKit::WebCookieManager&apos;
C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\WebProcess\Cookies\WebCookieManager.cpp(108) : error C2511: &apos;void WebKit::WebCookieManager::getHTTPCookieAcceptPolicy(uint64_t)&apos; : overloaded member function not found in &apos;WebKit::WebCookieManager&apos;
        c:\webkitbuildslave\szeged-windows-1\qt-windows-32bit-release\build\source\webkit2\webprocess\cookies\WebCookieManager.h(42) : see declaration of &apos;WebKit::WebCookieManager&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796906</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-24 00:21:04 -0800</bug_when>
    <thetext>Speculative buildfix landed in https://trac.webkit.org/changeset/138435.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180634</attachid>
            <date>2012-12-23 19:37:52 -0800</date>
            <delta_ts>2012-12-23 20:10:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105703-20121223193521.patch</filename>
            <type>text/plain</type>
            <size>17314</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODQyOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIFdlYkNvb2tpZU1hbmFnZXIg
YW5kIEF1dGhlbnRpY2F0aW9uTWFuYWdlciB0byB1c2UgdGhlIENoaWxkUHJvY2VzcyByYXRoZXIg
dGhhbiBob2xkaW5nIG9uIHRvIGEgQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NzAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBzd2l0Y2hlcyBXZWJDb29raWVNYW5hZ2VyIG92
ZXIgdG8gYmUgYSBNZXNzYWdlUmVjZWl2ZXIgd2hpbGUgd2UgYXJlIGF0IGl0LgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpk
aWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oOgorICAgICAgICAoQXV0aGVudGljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpXZWJDb29raWVNYW5hZ2VyKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXI6OmNvb2tpZXNEaWRDaGFuZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpkaXNwYXRjaENvb2tpZXNEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpnZXRIVFRQQ29va2llQWNj
ZXB0UG9saWN5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdl
ci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvb2tpZU1hbmFnZXIpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0
b3JhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0QWx3YXlzQWNjZXB0
Q29va2llcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAg
IChXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y29va2llTWFuYWdl
cik6CisKIDIwMTItMTItMjMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBUcnkgdG8gZml4IHRoZSBRdCBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzODQyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsNyBAQCBOZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MoKQog
ICAgIDogbV9oYXNTZXRDYWNoZU1vZGVsKGZhbHNlKQogICAgICwgbV9jYWNoZU1vZGVsKENhY2hl
TW9kZWxEb2N1bWVudFZpZXdlcikKICAgICAsIG1fZG93bmxvYWRzQXV0aGVudGljYXRpb25NYW5h
Z2VyKHRoaXMpCisgICAgLCBtX2Nvb2tpZU1hbmFnZXIobmV3IFdlYkNvb2tpZU1hbmFnZXIodGhp
cykpCiB7CiAjaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCiAgICAgQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VyOjpzaGFyZWQoKS5pbml0aWFsaXplKHRoaXMpOwpAQCAtNzksOSArODAsNiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplKENvcmVJUEM6CiAgICAgbV91aUNvbm5lY3Rpb24g
PSBDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKHNlcnZlcklkZW50
aWZpZXIsIHRoaXMsIHJ1bkxvb3ApOwogICAgIG1fdWlDb25uZWN0aW9uLT5zZXREaWRDbG9zZU9u
Q29ubmVjdGlvbldvcmtRdWV1ZUNhbGxiYWNrKGRpZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVl
KTsKICAgICBtX3VpQ29ubmVjdGlvbi0+b3BlbigpOwotCi0gICAgbV9kb3dubG9hZHNBdXRoZW50
aWNhdGlvbk1hbmFnZXIuc2V0Q29ubmVjdGlvbihtX3VpQ29ubmVjdGlvbi5nZXQoKSk7Ci0gICAg
V2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0Q29ubmVjdGlvbihtX3VpQ29ubmVjdGlvbi5n
ZXQoKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlbW92ZU5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uKQpA
QCAtMTAzLDExICsxMDEsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2Fn
ZShDCiAgICAgaWYgKG1fbWVzc2FnZVJlY2VpdmVyTWFwLmRpc3BhdGNoTWVzc2FnZShjb25uZWN0
aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvb2tpZU1hbmFnZXI+KCkpIHsKLSAg
ICAgICAgV2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAg
IGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc01lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBk
ZWNvZGVyKTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAxMzg0MjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKK2NsYXNzIFdlYkNvb2tpZU1hbmFnZXI7CiBzdHJ1
Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIE5ldHdvcmtQcm9j
ZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQgewpAQCAt
MTEzLDYgKzExNCw4IEBAIHByaXZhdGU6CiAgICAgQ2FjaGVNb2RlbCBtX2NhY2hlTW9kZWw7CiAK
ICAgICBBdXRoZW50aWNhdGlvbk1hbmFnZXIgbV9kb3dubG9hZHNBdXRoZW50aWNhdGlvbk1hbmFn
ZXI7CisKKyAgICBXZWJDb29raWVNYW5hZ2VyKiBtX2Nvb2tpZU1hbmFnZXI7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAkocmV2aXNpb24gMTM4NDI4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
IlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5oIgogI2luY2x1
ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5o
IgogI2luY2x1ZGUgIldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIKQEAgLTEzMSw2ICsxMzAs
NyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1fZ2VvbG9jYXRpb25NYW5hZ2Vy
KHRoaXMpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKHRoaXMpCiAgICAgLCBtX3Jl
c291cmNlQ2FjaGVNYW5hZ2VyKHRoaXMpCisgICAgLCBtX2Nvb2tpZU1hbmFnZXIodGhpcykKICNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9kYXRhYmFzZU1hbmFnZXIodGhpcykKICNl
bmRpZgpAQCAtMTgxLDkgKzE4MSw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZShDb3Jl
SVBDOjpDb24KICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6
OmNyZWF0ZSh0aGlzKTsKIAogICAgIG1fcnVuTG9vcCA9IHJ1bkxvb3A7Ci0KLSAgICBtX2F1dGhl
bnRpY2F0aW9uTWFuYWdlci5zZXRDb25uZWN0aW9uKG1fY29ubmVjdGlvbi5nZXQoKSk7Ci0gICAg
V2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0Q29ubmVjdGlvbihtX2Nvbm5lY3Rpb24uZ2V0
KCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmRpZENyZWF0ZURvd25sb2FkKCkKQEAgLTU3Nywx
MSArNTc0LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNz
YWdlQ2xhc3NXZWJDb29raWVNYW5hZ2VyPigpKSB7Ci0gICAgICAgIFdlYkNvb2tpZU1hbmFnZXI6
OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rl
cik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJ
UEM6Ok1lc3NhZ2VDbGFzc1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI+KCkpIHsKICAgICAgICAg
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29u
bmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDEzODQyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiVmlzaXRlZExpbmtUYWJsZS5oIgogI2luY2x1ZGUgIldl
YkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkdl
b2xvY2F0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZVByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCIKQEAgLTE4OCw2ICsxODksOSBAQCBwdWJsaWM6
CiAgICAgLy8gUmVzb3VyY2UgQ2FjaGUKICAgICBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciYgcmVz
b3VyY2VDYWNoZU1hbmFnZXIoKSB7IHJldHVybiBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyOyB9CiAK
KyAgICAvLyBDb29raWVzCisgICAgV2ViQ29va2llTWFuYWdlciYgY29va2llTWFuYWdlcigpIHsg
cmV0dXJuIG1fY29va2llTWFuYWdlcjsgfQorCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICAvLyBEYXRhYmFzZQogICAgIFdlYkRhdGFiYXNlTWFuYWdlciYgZGF0YWJhc2VNYW5hZ2VyKCkg
eyByZXR1cm4gbV9kYXRhYmFzZU1hbmFnZXI7IH0KQEAgLTM4Nyw2ICszOTEsNyBAQCBwcml2YXRl
OgogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciBtX2dlb2xvY2F0aW9uTWFuYWdlcjsKICAgICBX
ZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOwogICAg
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXI7CisgICAgV2Vi
Q29va2llTWFuYWdlciBtX2Nvb2tpZU1hbmFnZXI7CiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgIFdlYkRhdGFiYXNlTWFuYWdlciBtX2RhdGFiYXNlTWFuYWdlcjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNoaWxkUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgIkRvd25sb2FkLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eU1l
c3NhZ2VzLmgiCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgi
CkBAIC00OCwxNSArNDcsMTAgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQXV0aGVudGljYXRp
b25DaAogICAgIHJldHVybiB1bmlxdWVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUlEKys7CiB9CiAK
LUF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6QXV0aGVudGljYXRpb25NYW5hZ2VyKENoaWxkUHJvY2Vz
cyogY2hpbGRQcm9jZXNzKQorQXV0aGVudGljYXRpb25NYW5hZ2VyOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXIoQ2hpbGRQcm9jZXNzKiBwcm9jZXNzKQorICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7
Ci0gICAgY2hpbGRQcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKLX0KLQotdm9pZCBB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OnNldENvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbiog
Y29ubmVjdGlvbikKLXsKLSAgICBBU1NFUlQoIW1fY29ubmVjdGlvbik7Ci0gICAgbV9jb25uZWN0
aW9uID0gY29ubmVjdGlvbjsKKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNz
YWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMp
OwogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJ
RCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC03Miw3ICs2Niw3IEBAIHZv
aWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXUKICAgICB1aW50NjRfdCBjaGFs
bGVuZ2VJRCA9IGdlbmVyYXRlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VJRCgpOwogICAgIG1fY2hh
bGxlbmdlcy5zZXQoY2hhbGxlbmdlSUQsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKTsgICAgCiAg
ICAgCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgpLCBhdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSwgY2hhbGxlbmdlSUQpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgpLCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSwgY2hhbGxlbmdlSUQpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgJ
KHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEzICsy
OSw2IEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xh
c3MgQ29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VJRDsKLWNsYXNzIE1lc3NhZ2VSZWNlaXZlck1h
cDsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CkBAIC01MCwxMiArNDMsOSBAQCBjbGFzcyBX
ZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0
aW9uTWFuYWdlcik7Ci0KIHB1YmxpYzoKICAgICBleHBsaWNpdCBBdXRoZW50aWNhdGlvbk1hbmFn
ZXIoQ2hpbGRQcm9jZXNzKik7CiAKLSAgICB2b2lkIHNldENvbm5lY3Rpb24oQ29yZUlQQzo6Q29u
bmVjdGlvbiopOwotCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
V2ViRnJhbWUqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApAQCAtNzAsNyArNjAsNyBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxs
ZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJik7CiAKLSAgICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOworICAgIENoaWxkUHJvY2VzcyogbV9wcm9jZXNzOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZT4gQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VNYXA7CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYXAg
bV9jaGFsbGVuZ2VzOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dl
YkNvb2tpZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTM4NDI3KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw5ICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKIAotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgorI2luY2x1
ZGUgIkNoaWxkUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvQ29va2llU3RvcmFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya1N0
b3JhZ2VTZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNvb2tpZUphci5oPgpA
QCAtMzgsMzggKzM5LDMxIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotV2ViQ29va2llTWFuYWdlciYgV2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFdlYkNvb2tpZU1hbmFnZXIsIHNoYXJlZCwgKCkp
OwotICAgIHJldHVybiBzaGFyZWQ7Ci19CitzdGF0aWMgV2ViQ29va2llTWFuYWdlciogc2hhcmVk
Q29va2llTWFuYWdlcjsKIAotV2ViQ29va2llTWFuYWdlcjo6V2ViQ29va2llTWFuYWdlcigpCitX
ZWJDb29raWVNYW5hZ2VyOjpXZWJDb29raWVNYW5hZ2VyKENoaWxkUHJvY2VzcyogcHJvY2VzcykK
KyAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogewotfQorICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIHRoaXMpOwogCi12b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnNldENvbm5lY3Rpb24oQ29yZUlQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKLXsKLSAgICBBU1NFUlQoIW1fY29ubmVjdGlvbik7
Ci0gICAgbV9jb25uZWN0aW9uID0gY29ubmVjdGlvbjsKKyAgICBBU1NFUlQoIXNoYXJlZENvb2tp
ZU1hbmFnZXIpOworICAgIHNoYXJlZENvb2tpZU1hbmFnZXIgPSB0aGlzOwogfQogCiB2b2lkIFdl
YkNvb2tpZU1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNv
bm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFTU0VSVChjb25uZWN0aW9uID09IG1fY29ubmVjdGlv
bi5nZXQoKSk7CiAgICAgZGlkUmVjZWl2ZVdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6Z2V0
SG9zdG5hbWVzV2l0aENvb2tpZXModWludDY0X3QgY2FsbGJhY2tJRCkKIHsKICAgICBIYXNoU2V0
PFN0cmluZz4gaG9zdG5hbWVzOwotCiAgICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKSwgaG9zdG5h
bWVzKTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lTGlzdDsKICAgICBjb3B5VG9WZWN0
b3IoaG9zdG5hbWVzLCBob3N0bmFtZUxpc3QpOwogCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyUHJveHk6OkRpZEdldEhvc3RuYW1lc1dpdGhDb29raWVz
KGhvc3RuYW1lTGlzdCwgY2FsbGJhY2tJRCksIDApOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViQ29va2llTWFuYWdlclByb3h5OjpEaWRHZXRIb3N0bmFtZXNXaXRoQ29va2llcyho
b3N0bmFtZUxpc3QsIGNhbGxiYWNrSUQpLCAwKTsKIH0KIAogdm9pZCBXZWJDb29raWVNYW5hZ2Vy
OjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKQEAgLTk0
LDEzICs4OCwxMyBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnN0b3BPYnNlcnZpbmdDb29rCiAK
IHZvaWQgV2ViQ29va2llTWFuYWdlcjo6Y29va2llc0RpZENoYW5nZSgpCiB7Ci0gICAgV2ViQ29v
a2llTWFuYWdlcjo6c2hhcmVkKCkuZGlzcGF0Y2hDb29raWVzRGlkQ2hhbmdlKCk7CisgICAgc2hh
cmVkQ29va2llTWFuYWdlci0+ZGlzcGF0Y2hDb29raWVzRGlkQ2hhbmdlKCk7CiB9CiAKIHZvaWQg
V2ViQ29va2llTWFuYWdlcjo6ZGlzcGF0Y2hDb29raWVzRGlkQ2hhbmdlKCkKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwotICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6V2Vi
Q29va2llTWFuYWdlclByb3h5OjpDb29raWVzRGlkQ2hhbmdlKCksIDApOworICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViQ29va2llTWFuYWdlclByb3h5OjpDb29raWVzRGlkQ2hhbmdl
KCksIDApOwogfQogCiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnNldEhUVFBDb29raWVBY2NlcHRQ
b2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCkBAIC0xMTAsNyArMTA0LDcgQEAg
dm9pZCBXZWJDb29raWVNYW5hZ2VyOjpzZXRIVFRQQ29va2llQWNjZQogCiB2b2lkIFdlYkNvb2tp
ZU1hbmFnZXI6OmdldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDY0X3QgY2FsbGJhY2tJRCkK
IHsKLSAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFnZXJQcm94
eTo6RGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShwbGF0Zm9ybUdldEhUVFBDb29raWVBY2Nl
cHRQb2xpY3koKSwgY2FsbGJhY2tJRCksIDApOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6V2ViQ29va2llTWFuYWdlclByb3h5OjpEaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBs
YXRmb3JtR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSgpLCBjYWxsYmFja0lEKSwgMCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9D
b29raWVzL1dlYkNvb2tpZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCShyZXZpc2lvbiAxMzg0MjcpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYkNvb2tpZU1hbmFnZXJf
aAogI2RlZmluZSBXZWJDb29raWVNYW5hZ2VyX2gKIAorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ci5oIgogI2luY2x1ZGUgIkhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCIKICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM0LDMx
ICszNSwyMSBAQAogI2luY2x1ZGUgIlNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCIK
ICNlbmRpZgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci0gICAgY2xhc3MgQ29ubmVjdGlvbjsKLSAg
ICBjbGFzcyBNZXNzYWdlRGVjb2RlcjsKLSAgICBjbGFzcyBNZXNzYWdlSUQ7Ci19Ci0KIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1jbGFzcyBXZWJDb29raWVNYW5hZ2VyIHsKK2NsYXNzIENoaWxkUHJv
Y2VzczsKKworY2xhc3MgV2ViQ29va2llTWFuYWdlciAgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29va2llTWFuYWdlcik7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFdlYkNvb2tpZU1hbmFnZXImIHNoYXJlZCgpOwotICAgIHZv
aWQgc2V0Q29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uKik7CisgICAgV2ViQ29va2llTWFu
YWdlcihDaGlsZFByb2Nlc3MqKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKLSAgICAKICAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tp
ZUFjY2VwdFBvbGljeSk7Ci0KICNpZiBVU0UoU09VUCkKICAgICB2b2lkIHNldENvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VU
eXBlKTsKICNlbmRpZgogCi1wcml2YXRlOgotICAgIFdlYkNvb2tpZU1hbmFnZXIoKTsKLSAgICAK
K3ByaXZhdGU6ICAgIAogICAgIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXModWludDY0X3Qg
Y2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29uc3QgU3Ry
aW5nJik7CiAgICAgdm9pZCBkZWxldGVBbGxDb29raWVzKCk7CkBAIC03Myw5ICs2NCwxMCBAQCBw
cml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGNvb2tpZXNEaWRDaGFuZ2UoKTsKICAgICB2b2lkIGRp
c3BhdGNoQ29va2llc0RpZENoYW5nZSgpOwogCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpIE9WRVJSSURFOwogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYkNvb2tpZU1hbmFnZXJN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAKLSAgICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gbV9j
b25uZWN0aW9uOworICAgIENoaWxkUHJvY2VzcyogbV9wcm9jZXNzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvc291
cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCShyZXZpc2lv
biAxMzg0MjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJD
b29raWVNYW5hZ2VyU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAKKyNpbmNs
dWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJLaXRTb3VwQ29va2llSmFyU3FsaXRl
LmgiCi0jaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llSmFy
U291cC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxs
aWJzb3VwL3NvdXAuaD4KQEAgLTg0LDcgKzg0LDcgQEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBX
ZWJDb29raWVNYW5hZ2VyOgogCiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnNldENvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VU
eXBlKQogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5h
dGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6Okxv
Y2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKCptX3Byb2Nlc3MpOwog
CiAgICAgR1JlZlB0cjxTb3VwQ29va2llSmFyPiBqYXI7CiAgICAgc3dpdGNoIChzdG9yYWdlVHlw
ZSkgewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDEzODQyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
c2V0U2hvdWxkVHJhY2tWaXNpdAogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBbHdheXNBY2Nl
cHRDb29raWVzKGJvb2wgYWNjZXB0KQogewotICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgp
LnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koYWNjZXB0ID8gSFRUUENvb2tpZUFjY2VwdFBvbGlj
eUFsd2F5cyA6IEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFp
bik7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29va2llTWFuYWdlcigpLnNldEhUVFBDb29r
aWVBY2NlcHRQb2xpY3koYWNjZXB0ID8gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5cyA6IEhU
VFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbik7CiB9CiAKIHZv
aWQgSW5qZWN0ZWRCdW5kbGU6OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180638</attachid>
            <date>2012-12-23 20:10:18 -0800</date>
            <delta_ts>2012-12-23 21:44:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105703-20121223200748.patch</filename>
            <type>text/plain</type>
            <size>19108</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODQyOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIFdlYkNvb2tpZU1hbmFnZXIg
YW5kIEF1dGhlbnRpY2F0aW9uTWFuYWdlciB0byB1c2UgdGhlIENoaWxkUHJvY2VzcyByYXRoZXIg
dGhhbiBob2xkaW5nIG9uIHRvIGEgQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NzAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBzd2l0Y2hlcyBXZWJDb29raWVNYW5hZ2VyIG92
ZXIgdG8gYmUgYSBNZXNzYWdlUmVjZWl2ZXIgd2hpbGUgd2UgYXJlIGF0IGl0LgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpk
aWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oOgorICAgICAgICAoQXV0aGVudGljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpXZWJDb29raWVNYW5hZ2VyKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXI6OmNvb2tpZXNEaWRDaGFuZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpkaXNwYXRjaENvb2tpZXNEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5hZ2VyOjpnZXRIVFRQQ29va2llQWNj
ZXB0UG9saWN5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdl
ci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvb2tpZU1hbmFnZXIpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0
b3JhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0QWx3YXlzQWNjZXB0
Q29va2llcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAg
IChXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y29va2llTWFuYWdl
cik6CisKIDIwMTItMTItMjMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBUcnkgdG8gZml4IHRoZSBRdCBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzODQyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsNyBAQCBOZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MoKQog
ICAgIDogbV9oYXNTZXRDYWNoZU1vZGVsKGZhbHNlKQogICAgICwgbV9jYWNoZU1vZGVsKENhY2hl
TW9kZWxEb2N1bWVudFZpZXdlcikKICAgICAsIG1fZG93bmxvYWRzQXV0aGVudGljYXRpb25NYW5h
Z2VyKHRoaXMpCisgICAgLCBtX2Nvb2tpZU1hbmFnZXIobmV3IFdlYkNvb2tpZU1hbmFnZXIodGhp
cykpCiB7CiAjaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCiAgICAgQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VyOjpzaGFyZWQoKS5pbml0aWFsaXplKHRoaXMpOwpAQCAtNzksOSArODAsNiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplKENvcmVJUEM6CiAgICAgbV91aUNvbm5lY3Rpb24g
PSBDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKHNlcnZlcklkZW50
aWZpZXIsIHRoaXMsIHJ1bkxvb3ApOwogICAgIG1fdWlDb25uZWN0aW9uLT5zZXREaWRDbG9zZU9u
Q29ubmVjdGlvbldvcmtRdWV1ZUNhbGxiYWNrKGRpZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVl
KTsKICAgICBtX3VpQ29ubmVjdGlvbi0+b3BlbigpOwotCi0gICAgbV9kb3dubG9hZHNBdXRoZW50
aWNhdGlvbk1hbmFnZXIuc2V0Q29ubmVjdGlvbihtX3VpQ29ubmVjdGlvbi5nZXQoKSk7Ci0gICAg
V2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0Q29ubmVjdGlvbihtX3VpQ29ubmVjdGlvbi5n
ZXQoKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlbW92ZU5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uKQpA
QCAtMTAzLDExICsxMDEsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2Fn
ZShDCiAgICAgaWYgKG1fbWVzc2FnZVJlY2VpdmVyTWFwLmRpc3BhdGNoTWVzc2FnZShjb25uZWN0
aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvb2tpZU1hbmFnZXI+KCkpIHsKLSAg
ICAgICAgV2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAg
IGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc01lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBk
ZWNvZGVyKTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAxMzg0MjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKK2NsYXNzIFdlYkNvb2tpZU1hbmFnZXI7CiBzdHJ1
Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIE5ldHdvcmtQcm9j
ZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQgewpAQCAt
MTEzLDYgKzExNCw4IEBAIHByaXZhdGU6CiAgICAgQ2FjaGVNb2RlbCBtX2NhY2hlTW9kZWw7CiAK
ICAgICBBdXRoZW50aWNhdGlvbk1hbmFnZXIgbV9kb3dubG9hZHNBdXRoZW50aWNhdGlvbk1hbmFn
ZXI7CisKKyAgICBXZWJDb29raWVNYW5hZ2VyKiBtX2Nvb2tpZU1hbmFnZXI7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAkocmV2aXNpb24gMTM4NDI4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
IlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5oIgogI2luY2x1
ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5o
IgogI2luY2x1ZGUgIldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCIKQEAgLTEzMSw2ICsxMzAs
NyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1fZ2VvbG9jYXRpb25NYW5hZ2Vy
KHRoaXMpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKHRoaXMpCiAgICAgLCBtX3Jl
c291cmNlQ2FjaGVNYW5hZ2VyKHRoaXMpCisgICAgLCBtX2Nvb2tpZU1hbmFnZXIodGhpcykKICNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9kYXRhYmFzZU1hbmFnZXIodGhpcykKICNl
bmRpZgpAQCAtMTgxLDkgKzE4MSw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZShDb3Jl
SVBDOjpDb24KICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6
OmNyZWF0ZSh0aGlzKTsKIAogICAgIG1fcnVuTG9vcCA9IHJ1bkxvb3A7Ci0KLSAgICBtX2F1dGhl
bnRpY2F0aW9uTWFuYWdlci5zZXRDb25uZWN0aW9uKG1fY29ubmVjdGlvbi5nZXQoKSk7Ci0gICAg
V2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0Q29ubmVjdGlvbihtX2Nvbm5lY3Rpb24uZ2V0
KCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmRpZENyZWF0ZURvd25sb2FkKCkKQEAgLTU3Nywx
MSArNTc0LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNz
YWdlQ2xhc3NXZWJDb29raWVNYW5hZ2VyPigpKSB7Ci0gICAgICAgIFdlYkNvb2tpZU1hbmFnZXI6
OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rl
cik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJ
UEM6Ok1lc3NhZ2VDbGFzc1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI+KCkpIHsKICAgICAgICAg
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29u
bmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDEzODQyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiVmlzaXRlZExpbmtUYWJsZS5oIgogI2luY2x1ZGUgIldl
YkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkdl
b2xvY2F0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZVByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCIKQEAgLTE4OCw2ICsxODksOSBAQCBwdWJsaWM6
CiAgICAgLy8gUmVzb3VyY2UgQ2FjaGUKICAgICBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciYgcmVz
b3VyY2VDYWNoZU1hbmFnZXIoKSB7IHJldHVybiBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyOyB9CiAK
KyAgICAvLyBDb29raWVzCisgICAgV2ViQ29va2llTWFuYWdlciYgY29va2llTWFuYWdlcigpIHsg
cmV0dXJuIG1fY29va2llTWFuYWdlcjsgfQorCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICAvLyBEYXRhYmFzZQogICAgIFdlYkRhdGFiYXNlTWFuYWdlciYgZGF0YWJhc2VNYW5hZ2VyKCkg
eyByZXR1cm4gbV9kYXRhYmFzZU1hbmFnZXI7IH0KQEAgLTM4Nyw2ICszOTEsNyBAQCBwcml2YXRl
OgogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciBtX2dlb2xvY2F0aW9uTWFuYWdlcjsKICAgICBX
ZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOwogICAg
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXI7CisgICAgV2Vi
Q29va2llTWFuYWdlciBtX2Nvb2tpZU1hbmFnZXI7CiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgIFdlYkRhdGFiYXNlTWFuYWdlciBtX2RhdGFiYXNlTWFuYWdlcjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNoaWxkUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgIkRvd25sb2FkLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eU1l
c3NhZ2VzLmgiCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgi
CkBAIC00OCwxNSArNDcsMTAgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQXV0aGVudGljYXRp
b25DaAogICAgIHJldHVybiB1bmlxdWVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUlEKys7CiB9CiAK
LUF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6QXV0aGVudGljYXRpb25NYW5hZ2VyKENoaWxkUHJvY2Vz
cyogY2hpbGRQcm9jZXNzKQorQXV0aGVudGljYXRpb25NYW5hZ2VyOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXIoQ2hpbGRQcm9jZXNzKiBwcm9jZXNzKQorICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7
Ci0gICAgY2hpbGRQcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKLX0KLQotdm9pZCBB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OnNldENvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbiog
Y29ubmVjdGlvbikKLXsKLSAgICBBU1NFUlQoIW1fY29ubmVjdGlvbik7Ci0gICAgbV9jb25uZWN0
aW9uID0gY29ubmVjdGlvbjsKKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNz
YWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMp
OwogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJ
RCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC03Miw3ICs2Niw3IEBAIHZv
aWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXUKICAgICB1aW50NjRfdCBjaGFs
bGVuZ2VJRCA9IGdlbmVyYXRlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VJRCgpOwogICAgIG1fY2hh
bGxlbmdlcy5zZXQoY2hhbGxlbmdlSUQsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKTsgICAgCiAg
ICAgCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgpLCBhdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSwgY2hhbGxlbmdlSUQpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgpLCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSwgY2hhbGxlbmdlSUQpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG93bmxvYWQqIGRvd25sb2FkLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgJ
KHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEzICsy
OSw2IEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xh
c3MgQ29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VJRDsKLWNsYXNzIE1lc3NhZ2VSZWNlaXZlck1h
cDsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CkBAIC01MCwxMiArNDMsOSBAQCBjbGFzcyBX
ZWJGcmFtZTsKIAogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0
aW9uTWFuYWdlcik7Ci0KIHB1YmxpYzoKICAgICBleHBsaWNpdCBBdXRoZW50aWNhdGlvbk1hbmFn
ZXIoQ2hpbGRQcm9jZXNzKik7CiAKLSAgICB2b2lkIHNldENvbm5lY3Rpb24oQ29yZUlQQzo6Q29u
bmVjdGlvbiopOwotCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
V2ViRnJhbWUqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApAQCAtNzAsNyArNjAsNyBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCB0cnlVc2VQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb0ZvckNoYWxs
ZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJik7CiAKLSAgICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOworICAgIENoaWxkUHJvY2VzcyogbV9wcm9jZXNzOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZT4gQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VNYXA7CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYXAg
bV9jaGFsbGVuZ2VzOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dl
YkNvb2tpZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTM4NDI3KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw1MCArMjYsNDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAKLSNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNpbmNs
dWRlICJDaGlsZFByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgotI2luY2x1ZGUg
IldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0Nvb2tpZVN0b3JhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1Db29raWVKYXIuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJDb29raWVNYW5hZ2VyJiBXZWJD
b29raWVNYW5hZ2VyOjpzaGFyZWQoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoV2ViQ29v
a2llTWFuYWdlciwgc2hhcmVkLCAoKSk7Ci0gICAgcmV0dXJuIHNoYXJlZDsKLX0KK3N0YXRpYyBX
ZWJDb29raWVNYW5hZ2VyKiBzaGFyZWRDb29raWVNYW5hZ2VyOwogCi1XZWJDb29raWVNYW5hZ2Vy
OjpXZWJDb29raWVNYW5hZ2VyKCkKK1dlYkNvb2tpZU1hbmFnZXI6OldlYkNvb2tpZU1hbmFnZXIo
Q2hpbGRQcm9jZXNzKiBwcm9jZXNzKQorICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7Ci19Cisg
ICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFn
ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CiAKLXZvaWQgV2ViQ29va2llTWFuYWdl
cjo6c2V0Q29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQotewotICAg
IEFTU0VSVCghbV9jb25uZWN0aW9uKTsKLSAgICBtX2Nvbm5lY3Rpb24gPSBjb25uZWN0aW9uOwor
ICAgIEFTU0VSVCghc2hhcmVkQ29va2llTWFuYWdlcik7CisgICAgc2hhcmVkQ29va2llTWFuYWdl
ciA9IHRoaXM7CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
Q29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3Nh
Z2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgQVNTRVJUKGNv
bm5lY3Rpb24gPT0gbV9jb25uZWN0aW9uLmdldCgpKTsKICAgICBkaWRSZWNlaXZlV2ViQ29va2ll
TWFuYWdlck1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKIH0KIAogdm9p
ZCBXZWJDb29raWVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyh1aW50NjRfdCBjYWxs
YmFja0lEKQogewogICAgIEhhc2hTZXQ8U3RyaW5nPiBob3N0bmFtZXM7Ci0KICAgICBXZWJDb3Jl
OjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRT
dG9yYWdlU2Vzc2lvbigpLCBob3N0bmFtZXMpOwogCiAgICAgVmVjdG9yPFN0cmluZz4gaG9zdG5h
bWVMaXN0OwogICAgIGNvcHlUb1ZlY3Rvcihob3N0bmFtZXMsIGhvc3RuYW1lTGlzdCk7CiAKLSAg
ICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6RGlk
R2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoaG9zdG5hbWVMaXN0LCBjYWxsYmFja0lEKSwgMCk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyUHJveHk6OkRpZEdl
dEhvc3RuYW1lc1dpdGhDb29raWVzKGhvc3RuYW1lTGlzdCwgY2FsbGJhY2tJRCksIDApOwogfQog
CiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShjb25zdCBT
dHJpbmcmIGhvc3RuYW1lKQpAQCAtOTQsMTMgKzkwLDEzIEBAIHZvaWQgV2ViQ29va2llTWFuYWdl
cjo6c3RvcE9ic2VydmluZ0Nvb2sKIAogdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpjb29raWVzRGlk
Q2hhbmdlKCkKIHsKLSAgICBXZWJDb29raWVNYW5hZ2VyOjpzaGFyZWQoKS5kaXNwYXRjaENvb2tp
ZXNEaWRDaGFuZ2UoKTsKKyAgICBzaGFyZWRDb29raWVNYW5hZ2VyLT5kaXNwYXRjaENvb2tpZXNE
aWRDaGFuZ2UoKTsKIH0KIAogdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpkaXNwYXRjaENvb2tpZXNE
aWRDaGFuZ2UoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyUHJveHk6OkNvb2tpZXNEaWRDaGFu
Z2UoKSwgMCk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2Vy
UHJveHk6OkNvb2tpZXNEaWRDaGFuZ2UoKSwgMCk7CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdl
cjo6c2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGlj
eSkKQEAgLTExMCw3ICsxMDYsNyBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnNldEhUVFBDb29r
aWVBY2NlCiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6Z2V0SFRUUENvb2tpZUFjY2VwdFBvbGlj
eSh1aW50NjRfdCBjYWxsYmFja0lEKQogewotICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdl
czo6V2ViQ29va2llTWFuYWdlclByb3h5OjpEaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBs
YXRmb3JtR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSgpLCBjYWxsYmFja0lEKSwgMCk7CisgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyUHJveHk6OkRpZEdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3kocGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KCks
IGNhbGxiYWNrSUQpLCAwKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
LmgJKHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2ll
cy9XZWJDb29raWVNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDM4ICsyNywyOSBAQAog
I2RlZmluZSBXZWJDb29raWVNYW5hZ2VyX2gKIAogI2luY2x1ZGUgIkhUVFBDb29raWVBY2NlcHRQ
b2xpY3kuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVkZSAiU291cENvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlVHlwZS5oIgogI2VuZGlmCiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLSAgICBj
bGFzcyBDb25uZWN0aW9uOwotICAgIGNsYXNzIE1lc3NhZ2VEZWNvZGVyOwotICAgIGNsYXNzIE1l
c3NhZ2VJRDsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYkNvb2tpZU1hbmFn
ZXIgeworY2xhc3MgQ2hpbGRQcm9jZXNzOworCitjbGFzcyBXZWJDb29raWVNYW5hZ2VyICA6IHBy
aXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJDb29raWVNYW5hZ2VyKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgV2ViQ29va2llTWFuYWdl
ciYgc2hhcmVkKCk7Ci0gICAgdm9pZCBzZXRDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb24q
KTsKKyAgICBXZWJDb29raWVNYW5hZ2VyKENoaWxkUHJvY2VzcyopOwogCi0gICAgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIAogICAgIHZvaWQgc2V0SFRUUENvb2tpZUFj
Y2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5KTsKLQogI2lmIFVTRShTT1VQKQogICAg
IHZvaWQgc2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0
aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpOwogI2VuZGlmCiAKLXByaXZhdGU6Ci0gICAgV2ViQ29v
a2llTWFuYWdlcigpOwotICAgIAorcHJpdmF0ZTogICAgCiAgICAgdm9pZCBnZXRIb3N0bmFtZXNX
aXRoQ29va2llcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGRlbGV0ZUNvb2tpZXNG
b3JIb3N0bmFtZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoKTsK
QEAgLTczLDkgKzY0LDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY29va2llc0RpZENo
YW5nZSgpOwogICAgIHZvaWQgZGlzcGF0Y2hDb29raWVzRGlkQ2hhbmdlKCk7CiAKKyAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAgICAgdm9pZCBkaWRSZWNl
aXZlV2ViQ29va2llTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIAotICAgIFJlZlB0cjxDb3Jl
SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisgICAgQ2hpbGRQcm9jZXNzKiBtX3Byb2Nl
c3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5h
Z2VyU291cC5jcHAJKHJldmlzaW9uIDEzODQyNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjYsOCArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNvb2tp
ZU1hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkNoaWxkUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYktp
dFNvdXBDb29raWVKYXJTcWxpdGUuaCIKLSNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Db29raWVKYXJTb3VwLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhh
bmRsZS5oPgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgpAQCAtODQsNyArODQsNyBAQCBIVFRQ
Q29va2llQWNjZXB0UG9saWN5IFdlYkNvb2tpZU1hbmFnZXI6CiAKIHZvaWQgV2ViQ29va2llTWFu
YWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0
aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpCiB7Ci0gICAgV2ViUHJvY2Vzczo6TG9jYWxUZXJtaW5h
dGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkpOwor
ICAgIENoaWxkUHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlz
YWJsZXIoKm1fcHJvY2Vzcyk7CiAKICAgICBHUmVmUHRyPFNvdXBDb29raWVKYXI+IGphcjsKICAg
ICBzd2l0Y2ggKHN0b3JhZ2VUeXBlKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2
aXNpb24gMTM4NDI4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNyBAQCB2
b2lkIEluamVjdGVkQnVuZGxlOjpzZXRTaG91bGRUcmFja1Zpc2l0CiAKIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OnNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9vbCBhY2NlcHQpCiB7Ci0gICAgV2ViQ29v
a2llTWFuYWdlcjo6c2hhcmVkKCkuc2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShhY2NlcHQgPyBI
VFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb29raWVN
YW5hZ2VyKCkuc2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShhY2NlcHQgPyBIVFRQQ29va2llQWNj
ZXB0UG9saWN5QWx3YXlzIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3ZlQWxsVmlzaXRlZExp
bmtzKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlBy
b2Nlc3NTb3VwLmNwcAkocmV2aXNpb24gMTM4NDI3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDEwICsx
NzEsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogICAgICAg
ICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5yZWdpc3RlclVSSVNjaGVtZShwYXJhbWV0ZXJzLnVybFNj
aGVtZXNSZWdpc3RlcmVkW2ldKTsKIAogICAgIGlmICghcGFyYW1ldGVycy5jb29raWVQZXJzaXN0
ZW50U3RvcmFnZVBhdGguaXNFbXB0eSgpKSB7Ci0gICAgICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNo
YXJlZCgpLnNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKHBhcmFtZXRlcnMuY29va2llUGVyc2lz
dGVudFN0b3JhZ2VQYXRoLAorICAgICAgICBjb29raWVNYW5hZ2VyKCkuc2V0Q29va2llUGVyc2lz
dGVudFN0b3JhZ2UocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgsCiAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSk7CiAgICAgfQot
ICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3ko
cGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kpOworICAgIGNvb2tpZU1hbmFnZXIoKS5zZXRI
VFRQQ29va2llQWNjZXB0UG9saWN5KHBhcmFtZXRlcnMuY29va2llQWNjZXB0UG9saWN5KTsKIAog
ICAgIHNldElnbm9yZVRMU0Vycm9ycyhwYXJhbWV0ZXJzLmlnbm9yZVRMU0Vycm9ycyk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3Bw
CShyZXZpc2lvbiAxMzg0MjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3dpbi9XZWJQ
cm9jZXNzV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICAgICBSZXNvdXJjZUhhbmRsZTo6c2V0
RGVmYXVsdFN0b3JhZ2VTZXNzaW9uKGRlZmF1bHRTdG9yYWdlU2Vzc2lvbi5nZXQoKSk7CiAjZW5k
aWYKIAotICAgIFdlYkNvb2tpZU1hbmFnZXI6OnNoYXJlZCgpLnNldEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kocGFyYW1ldGVycy5pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CisgICAgY29v
a2llTWFuYWdlcigpLnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kocGFyYW1ldGVycy5pbml0aWFs
SFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAKICAgICAvLyBCeSB1c2luZyB0aGUgZGVmYXVsdCBz
dG9yYWdlIHNlc3Npb24gdGhhdCBjYW1lIGZyb20gdGhlIHVpIHByb2Nlc3MsIHRoZSB3ZWIgcHJv
Y2VzcwogICAgIC8vIGF1dG9tYXRpY2FsbHkgdXNlcyB0aGUgc2FtZSB0aGUgVVJMIENhY2hlIGFz
IHVpIHByb2Nlc3MuCg==
</data>
<flag name="review"
          id="197966"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>