<?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>51044</bug_id>
          
          <creation_ts>2010-12-14 10:22:07 -0800</creation_ts>
          <short_desc>[V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp</short_desc>
          <delta_ts>2011-01-20 04:31:50 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>8519</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>antonm</cc>
    
    <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322034</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-14 10:22:07 -0800</bug_when>
    <thetext>Get rid of delayed exception reporting in V8ConsoleMessage.cpp. All exceptions/errors can be reported immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322038</commentid>
    <comment_count>1</comment_count>
      <attachid>76545</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-14 10:26:56 -0800</bug_when>
    <thetext>Created attachment 76545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322105</commentid>
    <comment_count>2</comment_count>
      <attachid>76545</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-14 12:20:05 -0800</bug_when>
    <thetext>Comment on attachment 76545
Patch

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

Great.  I&apos;m glad to be rid of this complexity.

&gt; WebCore/bindings/v8/V8DOMWindowShell.cpp:102
&gt; +    Document* document = frame-&gt;document();
&gt; +    if (!document)
&gt; +        return;

document can never be null.

&gt; WebCore/bindings/v8/V8DOMWindowShell.cpp:116
&gt; +    String resourceNameString = useURL ? frame-&gt;document()-&gt;url() : toWebCoreString(resourceName);

You&apos;ve already got document in a local variable.  No need to go back to the Frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337254</commentid>
    <comment_count>3</comment_count>
      <attachid>79578</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-20 04:25:01 -0800</bug_when>
    <thetext>Created attachment 79578
Patch that I&apos;m going to land.

All comments have been addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337260</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-20 04:31:50 -0800</bug_when>
    <thetext>Committed r76224: &lt;http://trac.webkit.org/changeset/76224&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76545</attachid>
            <date>2010-12-14 10:26:56 -0800</date>
            <delta_ts>2011-01-20 04:25:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51044-20101214212648.patch</filename>
            <type>text/plain</type>
            <size>23304</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmRhYTg0YzgwYTY0OTFlODA0NjBmZGE1MzY1MzViMGU4YzQ2YmQyYS4uNWYxMGE5OTMwZWRlYmNi
ZDcwYjI2N2YxYWMzYzAwMjZkYzFiODVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMi0xNCAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbVjhdIEdldCByaWQgb2YgZGVsYXllZCBleGNl
cHRpb24gcmVwb3J0aW5nIGluIFY4Q29uc29sZU1lc3NhZ2UuY3BwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTA0NAorCisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnY4VW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJl
cG9ydFVuc2FmZUphdmFTY3JpcHRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5k
b3dTaGVsbDo6aW5pdENvbnRleHRJZk5lZWRlZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmxvZ0luZm8pOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cmVwb3J0
VW5zYWZlQWNjZXNzVG8pOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0KToK
KyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmNhbGxGdW5jdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpWOFByb3h5OjpuZXdJbnN0YW5jZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94
eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5j
cHA6CisgICAgICAgICogYmluZGluZ3Mvdjgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6OjppbW1lZGlhdGVseVJlcG9ydFVuc2FmZUFjY2Vzc1Rv
KToKKwogMjAxMC0xMi0xMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMjM3ZGEwZjMwOTk5
ZTQ1ZTcxMjU2MzM4ZjFiNzE0YzU1YTljMzI1Yy4uMTg5YWZhODkwN2JjOWM5MGYwZjQxMGQwZmI5
Yzk1ZGMwZmVlNGZkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTk1Miw4ICs5NTIsNiBAQAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L1Y4QmluZGluZy5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOENvbGxlY3Rp
b24uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaCcsCi0gICAg
ICAgICAgICAnYmluZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5jcHAnLAotICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvVjhEYXRhR3JpZERhdGFTb3VyY2UuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9W
OERhdGFHcmlkRGF0YVNvdXJjZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOERPTU1h
cC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdl
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5MjgyMmNlZWFjNjY2OTQ1ZGJhMDI2YjVjMWZhMDk2YWZm
ODgxMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDEzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICogCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4Q29uc29sZU1l
c3NhZ2UuaCIKLQotI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIK
LSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIk93blB0ci5oIgotI2luY2x1ZGUgIlBhZ2Uu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhQcm94eS5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVZlY3RvcjxWOENvbnNvbGVNZXNzYWdlPiogVjhD
b25zb2xlTWVzc2FnZTo6bV9kZWxheWVkTWVzc2FnZXMgPSAwOwotCi1WOENvbnNvbGVNZXNzYWdl
OjpWOENvbnNvbGVNZXNzYWdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUlELCB1bnNpZ25lZCBsaW5lTnVtYmVyKQotICAgICA6IG1fc3RyaW5nKHN0cmluZykKLSAg
ICAgLCBtX3NvdXJjZUlEKHNvdXJjZUlEKQotICAgICAsIG1fbGluZU51bWJlcihsaW5lTnVtYmVy
KQotewotfQotCi12b2lkIFY4Q29uc29sZU1lc3NhZ2U6OmRpc3BhdGNoTm93KFBhZ2UqIHBhZ2Up
Ci17Ci0gICAgQVNTRVJUKHBhZ2UpOwotCi0gICAgLy8gUHJvY2VzcyBhbnkgZGVsYXllZCBtZXNz
YWdlcyB0byBtYWtlIHN1cmUgdGhhdCBtZXNzYWdlcwotICAgIC8vIGFwcGVhciBpbiB0aGUgcmln
aHQgb3JkZXIgaW4gdGhlIGNvbnNvbGUuCi0gICAgcHJvY2Vzc0RlbGF5ZWQoKTsKLQotICAgIENv
bnNvbGUqIGNvbnNvbGUgPSBwYWdlLT5tYWluRnJhbWUoKS0+ZG9tV2luZG93KCktPmNvbnNvbGUo
KTsKLSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtX3N0cmluZywgbV9saW5lTnVtYmVyLCBtX3NvdXJjZUlE
KTsKLX0KLQotdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpkaXNwYXRjaExhdGVyKCkKLXsKLSAgICBp
ZiAoIW1fZGVsYXllZE1lc3NhZ2VzKSB7Ci0gICAgICAgIC8vIEFsbG9jYXRlIGEgdmVjdG9yIGZv
ciB0aGUgZGVsYXllZCBtZXNzYWdlcy4gV2lsbCBiZQotICAgICAgICAvLyBkZWFsbG9jYXRlZCB3
aGVuIHRoZSBkZWxheWVkIG1lc3NhZ2VzIGFyZSBwcm9jZXNzZWQKLSAgICAgICAgLy8gaW4gcHJv
Y2Vzc0RlbGF5ZWQoKS4KLSAgICAgICAgbV9kZWxheWVkTWVzc2FnZXMgPSBuZXcgVmVjdG9yPFY4
Q29uc29sZU1lc3NhZ2U+KCk7Ci0gICAgfQotCi0gICAgbV9kZWxheWVkTWVzc2FnZXMtPmFwcGVu
ZCgqdGhpcyk7Ci19Ci0KLXZvaWQgVjhDb25zb2xlTWVzc2FnZTo6cHJvY2Vzc0RlbGF5ZWQoKQot
ewotICAgIGlmICghbV9kZWxheWVkTWVzc2FnZXMpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8v
IFRha2Ugb3duZXJzaGlwIG9mIHRoZSBkZWxheWVkIHZlY3RvciB0byBhdm9pZCByZS1lbnRyYW5j
eSBpc3N1ZXMuCi0gICAgT3duUHRyPFZlY3RvcjxWOENvbnNvbGVNZXNzYWdlPiA+IGRlbGF5ZWRN
ZXNzYWdlcyhtX2RlbGF5ZWRNZXNzYWdlcyk7Ci0gICAgbV9kZWxheWVkTWVzc2FnZXMgPSAwOwot
Ci0gICAgLy8gSWYgd2UgaGF2ZSBhIGRlbGF5ZWQgdmVjdG9yIGl0IGNhbm5vdCBiZSBlbXB0eS4K
LSAgICBBU1NFUlQoIWRlbGF5ZWRNZXNzYWdlcy0+aXNFbXB0eSgpKTsKLQotICAgIC8vIEFkZCB0
aGUgZGVsYXllZCBtZXNzYWdlcyB0byB0aGUgcGFnZSBvZiB0aGUgYWN0aXZlCi0gICAgLy8gY29u
dGV4dC4gSWYgdGhhdCBmb3Igc29tZSBiaXphcnJlIHJlYXNvbiBkb2VzIG5vdAotICAgIC8vIGV4
aXN0LCB3ZSBjbGVhciB0aGUgbGlzdCBvZiBkZWxheWVkIG1lc3NhZ2VzIHRvIGF2b2lkCi0gICAg
Ly8gcG9zdGluZyBtZXNzYWdlcy4gV2Ugc3RpbGwgZGVhbGxvY2F0ZSB0aGUgdmVjdG9yLgotICAg
IEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgp
OwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLSAgICBQYWdlKiBwYWdlID0gZnJh
bWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEl0
ZXJhdGUgdGhyb3VnaCBhbGwgdGhlIGRlbGF5ZWQgbWVzc2FnZXMgYW5kIGFkZCB0aGVtCi0gICAg
Ly8gdG8gdGhlIGNvbnNvbGUuCi0gICAgY29uc3QgaW50IHNpemUgPSBkZWxheWVkTWVzc2FnZXMt
PnNpemUoKTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgZGVs
YXllZE1lc3NhZ2VzLT5hdChpKS5kaXNwYXRjaE5vdyhwYWdlKTsKLX0KLQotdm9pZCBWOENvbnNv
bGVNZXNzYWdlOjpoYW5kbGVyKHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBkYXRhKQotewotICAgIC8vIFVzZSB0aGUgZnJhbWUgd2hlcmUgSmF2
YVNjcmlwdCBpcyBjYWxsZWQgZnJvbS4KLSAgICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRy
aWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICBy
ZXR1cm47Ci0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAg
aWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6U3Ry
aW5nPiBlcnJvck1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlLT5HZXQoKTsKLSAgICBBU1NFUlQoIWVy
cm9yTWVzc2FnZVN0cmluZy5Jc0VtcHR5KCkpOwotICAgIFN0cmluZyBlcnJvck1lc3NhZ2UgPSB0
b1dlYkNvcmVTdHJpbmcoZXJyb3JNZXNzYWdlU3RyaW5nKTsKLQotICAgIHY4OjpIYW5kbGU8djg6
OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UgPSBtZXNzYWdlLT5HZXRTdGFja1RyYWNlKCk7Ci0gICAg
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrOwotICAgIC8vIEN1cnJlbnRseSBzdGFj
ayB0cmFjZSBpcyBvbmx5IGNvbGxlY3RlZCB3aGVuIGluc3BlY3RvciBpcyBvcGVuLgotICAgIGlm
ICghc3RhY2tUcmFjZS5Jc0VtcHR5KCkgJiYgc3RhY2tUcmFjZS0+R2V0RnJhbWVDb3VudCgpID4g
MCkKLSAgICAgICAgY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHN0YWNrVHJhY2Us
IFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7Ci0KLSAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gcmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0UmVzb3Vy
Y2VOYW1lKCk7Ci0gICAgYm9vbCB1c2VVUkwgPSByZXNvdXJjZU5hbWUuSXNFbXB0eSgpIHx8ICFy
ZXNvdXJjZU5hbWUtPklzU3RyaW5nKCk7Ci0gICAgU3RyaW5nIHJlc291cmNlTmFtZVN0cmluZyA9
IHVzZVVSTCA/IGZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSA6IHRvV2ViQ29yZVN0cmluZyhyZXNv
dXJjZU5hbWUpOwotICAgIGRvY3VtZW50LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdlLCBt
ZXNzYWdlLT5HZXRMaW5lTnVtYmVyKCksIHJlc291cmNlTmFtZVN0cmluZywgY2FsbFN0YWNrKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOENvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1l
c3NhZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE4M2ZjNjg2N2RjMWE1ZDBh
NjJjZjI2M2UwN2I2YmJiOGU5OTQ3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuaAorKysg
L2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFY4Q29uc29sZU1lc3NhZ2VfaAot
I2RlZmluZSBWOENvbnNvbGVNZXNzYWdlX2gKLQotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
Ci0jaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgUGFnZTsK
LSAgICBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Ci0KLSAgICAvLyBWOENvbnNvbGVNZXNzYWdlIGVu
Y2Fwc3VsYXRlcyBldmVyeXRoaW5nIG5lZWRlZCB0bwotICAgIC8vIGxvZyBtZXNzYWdlcyBvcmln
aW5hdGluZyBmcm9tIEphdmFTY3JpcHQgdG8gdGhlIGNvbnNvbGUuCi0gICAgY2xhc3MgVjhDb25z
b2xlTWVzc2FnZSB7Ci0gICAgcHVibGljOgotICAgICAgICBWOENvbnNvbGVNZXNzYWdlKGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lTnVt
YmVyKTsKLQotICAgICAgICAvLyBBZGQgYSBtZXNzYWdlIHRvIHRoZSBjb25zb2xlLiBNYXkgZW5k
IHVwIGNhbGxpbmcgSmF2YVNjcmlwdCBjb2RlCi0gICAgICAgIC8vIGluZGlyZWN0bHkgdGhyb3Vn
aCB0aGUgaW5zcGVjdG9yIHNvIG9ubHkgY2FsbCB0aGlzIGZ1bmN0aW9uIHdoZW4KLSAgICAgICAg
Ly8gaXQgaXMgc2FmZSB0byBkbyBhbGxvY2F0aW9ucy4KLSAgICAgICAgdm9pZCBkaXNwYXRjaE5v
dyhQYWdlKik7Ci0KLSAgICAgICAgLy8gQWRkIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZSBidXQg
ZGVsYXkgdGhlIHJlcG9ydGluZyB1bnRpbCBpdAotICAgICAgICAvLyBpcyBzYWZlIHRvIGRvIHNv
OiBFaXRoZXIgd2hlbiB3ZSBsZWF2ZSBKYXZhU2NyaXB0IGV4ZWN1dGlvbiBvcgotICAgICAgICAv
LyB3aGVuIGFkZGluZyBvdGhlciBjb25zb2xlIG1lc3NhZ2VzLiBUaGUgcHJpbWFyeSBwdXJwb3Nl
IG9mIHRoaXMKLSAgICAgICAgLy8gbWV0aG9kIGlzIHRvIGF2b2lkIGNhbGxpbmcgaW50byBWOCB0
byBoYW5kbGUgY29uc29sZSBtZXNzYWdlcwotICAgICAgICAvLyB3aGVuIHRoZSBWTSBpcyBpbiBh
IHN0YXRlIHRoYXQgZG9lcyBub3Qgc3VwcG9ydCBHQ3Mgb3IgYWxsb2NhdGlvbnMuCi0gICAgICAg
IC8vIERlbGF5ZWQgbWVzc2FnZXMgYXJlIGFsd2F5cyByZXBvcnRlZCBpbiB0aGUgcGFnZSBjb3Jy
ZXNwb25kaW5nCi0gICAgICAgIC8vIHRvIHRoZSBhY3RpdmUgY29udGV4dC4KLSAgICAgICAgdm9p
ZCBkaXNwYXRjaExhdGVyKCk7Ci0KLSAgICAgICAgLy8gUHJvY2VzcyBhbnkgZGVsYXllZCBtZXNz
YWdlcy4gTWF5IGVuZCB1cCBjYWxsaW5nIEphdmFTY3JpcHQgY29kZQotICAgICAgICAvLyBpbmRp
cmVjdGx5IHRocm91Z2ggdGhlIGluc3BlY3RvciBzbyBvbmx5IGNhbGwgdGhpcyBmdW5jdGlvbiB3
aGVuCi0gICAgICAgIC8vIGl0IGlzIHNhZmUgdG8gZG8gYWxsb2NhdGlvbnMuCi0gICAgICAgIHN0
YXRpYyB2b2lkIHByb2Nlc3NEZWxheWVkKCk7Ci0KLSAgICAgICAgLy8gQ29udmVuaWVuY2UgY2xh
c3MgZm9yIGVuc3VyaW5nIHRoYXQgZGVsYXllZCBtZXNzYWdlcyBpbiB0aGUKLSAgICAgICAgLy8g
Q29uc29sZU1lc3NhZ2VNYW5hZ2VyIGFyZSBwcm9jZXNzZWQgcXVpY2tseS4KLSAgICAgICAgY2xh
c3MgU2NvcGUgewotICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBTY29wZSgpIHsgVjhDb25z
b2xlTWVzc2FnZTo6cHJvY2Vzc0RlbGF5ZWQoKTsgfQotICAgICAgICAgICAgflNjb3BlKCkgeyBW
OENvbnNvbGVNZXNzYWdlOjpwcm9jZXNzRGVsYXllZCgpOyB9Ci0gICAgICAgIH07Ci0KLSAgICAg
ICAgLy8gQ2FsbGJhY2sgZnJvbSBWOC4KLSAgICAgICAgc3RhdGljIHZvaWQgaGFuZGxlcih2ODo6
SGFuZGxlPHY4OjpNZXNzYWdlPiwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGEpOwotCi0gICAg
cHJpdmF0ZToKLSAgICAgICAgY29uc3QgU3RyaW5nIG1fc3RyaW5nOwotICAgICAgICBjb25zdCBT
dHJpbmcgbV9zb3VyY2VJRDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgbV9saW5lTnVtYmVyOwot
Ci0gICAgICAgIC8vIEFsbCBkZWxheWVkIG1lc3NhZ2VzIGFyZSBzdG9yZWQgaW4gdGhpcyB2ZWN0
b3IuIElmIHRoZSB2ZWN0b3IKLSAgICAgICAgLy8gaXMgMCwgdGhlcmUgYXJlIG5vIGRlbGF5ZWQg
bWVzc2FnZXMuCi0gICAgICAgIHN0YXRpYyBWZWN0b3I8VjhDb25zb2xlTWVzc2FnZT4qIG1fZGVs
YXllZE1lc3NhZ2VzOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIFY4Q29uc29sZU1lc3NhZ2VfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKaW5kZXggODBiZjY4Mzg2NzU3ZTQ1MGRjMDIzOGEzOTdhNTlkM2Q5ZDAwNzI1Mi4uOWI4
MGQ5NTNlYWMyODdhN2M2ZWFmY2VkNWUyMTgwZjcxMzAwNWY2YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCkBAIC0zOSwxMiArMzksMTMgQEAKICNpbmNsdWRlICJG
cmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3Jv
dXAuaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VOYW1lc3BhY2UuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJW
OEJpbmRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIlY4Q29sbGVjdGlvbi5oIgotI2luY2x1ZGUgIlY4
Q29uc29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1ZGUgIlY4RE9N
V2luZG93LmgiCiAjaW5jbHVkZSAiVjhEb2N1bWVudC5oIgpAQCAtOTAsNiArOTEsMzIgQEAgc3Rh
dGljIHZvaWQgcmVwb3J0RmF0YWxFcnJvckluVjgoY29uc3QgY2hhciogbG9jYXRpb24sIGNvbnN0
IGNoYXIqIG1lc3NhZ2UpCiAgICAgaGFuZGxlRmF0YWxFcnJvckluVjgoKTsKIH0KIAorc3RhdGlj
IHZvaWQgdjhVbmNhdWdodEV4Y2VwdGlvbkhhbmRsZXIodjg6OkhhbmRsZTx2ODo6TWVzc2FnZT4g
bWVzc2FnZSwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGEpCit7CisgICAgLy8gVXNlIHRoZSBm
cmFtZSB3aGVyZSBKYXZhU2NyaXB0IGlzIGNhbGxlZCBmcm9tLgorICAgIEZyYW1lKiBmcmFtZSA9
IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JFbnRlcmVkQ29udGV4dCgpOworICAgIGlmICghZnJh
bWUpCisgICAgICAgIHJldHVybjsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9j
dW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICB2ODo6
SGFuZGxlPHY4OjpTdHJpbmc+IGVycm9yTWVzc2FnZVN0cmluZyA9IG1lc3NhZ2UtPkdldCgpOwor
ICAgIEFTU0VSVCghZXJyb3JNZXNzYWdlU3RyaW5nLklzRW1wdHkoKSk7CisgICAgU3RyaW5nIGVy
cm9yTWVzc2FnZSA9IHRvV2ViQ29yZVN0cmluZyhlcnJvck1lc3NhZ2VTdHJpbmcpOworCisgICAg
djg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSA9IG1lc3NhZ2UtPkdldFN0YWNr
VHJhY2UoKTsKKyAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2s7CisgICAgLy8g
Q3VycmVudGx5IHN0YWNrIHRyYWNlIGlzIG9ubHkgY29sbGVjdGVkIHdoZW4gaW5zcGVjdG9yIGlz
IG9wZW4uCisgICAgaWYgKCFzdGFja1RyYWNlLklzRW1wdHkoKSAmJiBzdGFja1RyYWNlLT5HZXRG
cmFtZUNvdW50KCkgPiAwKQorICAgICAgICBjYWxsU3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soc3RhY2tUcmFjZSwgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJl
KTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZXNvdXJjZU5hbWUgPSBtZXNzYWdlLT5H
ZXRTY3JpcHRSZXNvdXJjZU5hbWUoKTsKKyAgICBib29sIHVzZVVSTCA9IHJlc291cmNlTmFtZS5J
c0VtcHR5KCkgfHwgIXJlc291cmNlTmFtZS0+SXNTdHJpbmcoKTsKKyAgICBTdHJpbmcgcmVzb3Vy
Y2VOYW1lU3RyaW5nID0gdXNlVVJMID8gZnJhbWUtPmRvY3VtZW50KCktPnVybCgpIDogdG9XZWJD
b3JlU3RyaW5nKHJlc291cmNlTmFtZSk7CisgICAgZG9jdW1lbnQtPnJlcG9ydEV4Y2VwdGlvbihl
cnJvck1lc3NhZ2UsIG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKSwgcmVzb3VyY2VOYW1lU3RyaW5n
LCBjYWxsU3RhY2spOworfQorCiAvLyBSZXR1cm5zIHRoZSBvd25lciBmcmFtZSBwb2ludGVyIG9m
IGEgRE9NIHdyYXBwZXIgb2JqZWN0LiBJdCBvbmx5IHdvcmtzIGZvcgogLy8gdGhlc2UgRE9NIG9i
amVjdHMgcmVxdWlyaW5nIGNyb3NzLWRvbWFpbiBhY2Nlc3MgY2hlY2suCiBzdGF0aWMgRnJhbWUq
IGdldFRhcmdldEZyYW1lKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBob3N0LCB2ODo6TG9jYWw8djg6
OlZhbHVlPiBkYXRhKQpAQCAtMTE3LDcgKzE0NCw3IEBAIHN0YXRpYyB2b2lkIHJlcG9ydFVuc2Fm
ZUphdmFTY3JpcHRBY2Nlc3Modjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpBY2Nlc3NU
CiB7CiAgICAgRnJhbWUqIHRhcmdldCA9IGdldFRhcmdldEZyYW1lKGhvc3QsIGRhdGEpOwogICAg
IGlmICh0YXJnZXQpCi0gICAgICAgIFY4UHJveHk6OnJlcG9ydFVuc2FmZUFjY2Vzc1RvKHRhcmdl
dCwgVjhQcm94eTo6UmVwb3J0TGF0ZXIpOworICAgICAgICBWOFByb3h5OjpyZXBvcnRVbnNhZmVB
Y2Nlc3NUbyh0YXJnZXQpOwogfQogCiBQYXNzUmVmUHRyPFY4RE9NV2luZG93U2hlbGw+IFY4RE9N
V2luZG93U2hlbGw6OmNyZWF0ZShGcmFtZSogZnJhbWUpCkBAIC0yNjIsNyArMjg5LDcgQEAgYm9v
bCBWOERPTVdpbmRvd1NoZWxsOjppbml0Q29udGV4dElmTmVlZGVkKCkKICAgICAgICAgdjg6OlY4
OjpTZXRHbG9iYWxHQ1Byb2xvZ3VlQ2FsbGJhY2soJlY4R0NDb250cm9sbGVyOjpnY1Byb2xvZ3Vl
KTsKICAgICAgICAgdjg6OlY4OjpTZXRHbG9iYWxHQ0VwaWxvZ3VlQ2FsbGJhY2soJlY4R0NDb250
cm9sbGVyOjpnY0VwaWxvZ3VlKTsKIAotICAgICAgICB2ODo6Vjg6OkFkZE1lc3NhZ2VMaXN0ZW5l
cigmVjhDb25zb2xlTWVzc2FnZTo6aGFuZGxlcik7CisgICAgICAgIHY4OjpWODo6QWRkTWVzc2Fn
ZUxpc3RlbmVyKCZ2OFVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcik7CiAKICAgICAgICAgdjg6OlY4
OjpTZXRGYWlsZWRBY2Nlc3NDaGVja0NhbGxiYWNrRnVuY3Rpb24ocmVwb3J0VW5zYWZlSmF2YVNj
cmlwdEFjY2Vzcyk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4IDFjMWY2NDIwMDQ3MDg5
ODlmZjk0MGM3MjMyMDhmNjAwZjA1OWJlNDcuLjQ2OTg5Yzg4MTA0YzZhOWMzZTY2ODRjYmM5YjFi
NDAzNjE0Yjk5MWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApAQCAtNTAsNyArNTAsNiBAQAog
I2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCiAjaW5j
bHVkZSAiVjhDb2xsZWN0aW9uLmgiCi0jaW5jbHVkZSAiVjhDb25zb2xlTWVzc2FnZS5oIgogI2lu
Y2x1ZGUgIlY4RE9NQ29yZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5j
bHVkZSAiVjhET01XaW5kb3cuaCIKQEAgLTEzMSwyMSArMTMwLDIyIEBAIHR5cGVkZWYgSGFzaE1h
cDxpbnQsIHY4OjpGdW5jdGlvblRlbXBsYXRlKj4gRnVuY3Rpb25UZW1wbGF0ZU1hcDsKIAogYm9v
bCBBbGxvd0FsbG9jYXRpb246Om1fY3VycmVudCA9IGZhbHNlOwogCitzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VJRCwgdW5zaWduZWQgbGluZU51bWJlcikKK3sKKyAgICBBU1NFUlQocGFn
ZSk7CisgICAgQ29uc29sZSogY29uc29sZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kb21XaW5kb3co
KS0+Y29uc29sZSgpOworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNv
dXJjZUlEKTsKK30KKwogdm9pZCBsb2dJbmZvKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBh
Z2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKLSAgICBWOENvbnNvbGVNZXNz
YWdlIGNvbnNvbGVNZXNzYWdlKG1lc3NhZ2UsIHVybCwgMCk7Ci0gICAgY29uc29sZU1lc3NhZ2Uu
ZGlzcGF0Y2hOb3cocGFnZSk7CisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBtZXNzYWdl
LCB1cmwsIDApOwogfQogCi1lbnVtIERlbGF5UmVwb3J0aW5nIHsKLSAgICBSZXBvcnRMYXRlciwK
LSAgICBSZXBvcnROb3cKLX07Ci0KLXZvaWQgVjhQcm94eTo6cmVwb3J0VW5zYWZlQWNjZXNzVG8o
RnJhbWUqIHRhcmdldCwgRGVsYXlSZXBvcnRpbmcgZGVsYXkpCit2b2lkIFY4UHJveHk6OnJlcG9y
dFVuc2FmZUFjY2Vzc1RvKEZyYW1lKiB0YXJnZXQpCiB7CiAgICAgQVNTRVJUKHRhcmdldCk7CiAg
ICAgRG9jdW1lbnQqIHRhcmdldERvY3VtZW50ID0gdGFyZ2V0LT5kb2N1bWVudCgpOwpAQCAtMTY2
LDIwICsxNjYsMTEgQEAgdm9pZCBWOFByb3h5OjpyZXBvcnRVbnNhZmVBY2Nlc3NUbyhGcmFtZSog
dGFyZ2V0LCBEZWxheVJlcG9ydGluZyBkZWxheSkKICAgICAvLyBCdWlsZCBhIGNvbnNvbGUgbWVz
c2FnZSB3aXRoIGZha2Ugc291cmNlIElEIGFuZCBsaW5lIG51bWJlci4KICAgICBjb25zdCBTdHJp
bmcga1NvdXJjZUlEID0gIiI7CiAgICAgY29uc3QgaW50IGtMaW5lTnVtYmVyID0gMTsKLSAgICBW
OENvbnNvbGVNZXNzYWdlIG1lc3NhZ2Uoc3RyLCBrU291cmNlSUQsIGtMaW5lTnVtYmVyKTsKIAot
ICAgIGlmIChkZWxheSA9PSBSZXBvcnROb3cpIHsKLSAgICAgICAgLy8gTk9URTogU2FmYXJpIHBy
aW50cyB0aGUgbWVzc2FnZSBpbiB0aGUgdGFyZ2V0IHBhZ2UsIGJ1dCBpdCBzZWVtcyBsaWtlCi0g
ICAgICAgIC8vIGl0IHNob3VsZCBiZSBpbiB0aGUgc291cmNlIHBhZ2UuIEV2ZW4gZm9yIGRlbGF5
ZWQgbWVzc2FnZXMsIHdlIHB1dCBpdCBpbgotICAgICAgICAvLyB0aGUgc291cmNlIHBhZ2U7IHNl
ZSBWOENvbnNvbGVNZXNzYWdlOjpwcm9jZXNzRGVsYXllZCgpLgotICAgICAgICBtZXNzYWdlLmRp
c3BhdGNoTm93KHNvdXJjZS0+cGFnZSgpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NFUlQo
ZGVsYXkgPT0gUmVwb3J0TGF0ZXIpOwotICAgICAgICAvLyBXZSBjYW5ub3Qgc2FmZWx5IHJlcG9y
dCB0aGUgbWVzc2FnZSBlYWdlcmx5LCBiZWNhdXNlIHRoaXMgbWF5IGNhdXNlCi0gICAgICAgIC8v
IGFsbG9jYXRpb25zIGFuZCBHQ3MgaW50ZXJuYWxseSBpbiBWOCBhbmQgd2UgY2Fubm90IGhhbmRs
ZSB0aGF0IGF0IHRoaXMKLSAgICAgICAgLy8gcG9pbnQuIFRoZXJlZm9yZSB3ZSBkZWxheSB0aGUg
cmVwb3J0aW5nLgotICAgICAgICBtZXNzYWdlLmRpc3BhdGNoTGF0ZXIoKTsKLSAgICB9CisgICAg
Ly8gTk9URTogU2FmYXJpIHByaW50cyB0aGUgbWVzc2FnZSBpbiB0aGUgdGFyZ2V0IHBhZ2UsIGJ1
dCBpdCBzZWVtcyBsaWtlCisgICAgLy8gaXQgc2hvdWxkIGJlIGluIHRoZSBzb3VyY2UgcGFnZS4g
RXZlbiBmb3IgZGVsYXllZCBtZXNzYWdlcywgd2UgcHV0IGl0IGluCisgICAgLy8gdGhlIHNvdXJj
ZSBwYWdlLgorICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLT5wYWdlKCksIHN0ciwga1Nv
dXJjZUlELCBrTGluZU51bWJlcik7CiB9CiAKIHN0YXRpYyB2b2lkIGhhbmRsZUZhdGFsRXJyb3JJ
blY4KCkKQEAgLTQxMiw4ICs0MDMsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5Ojpy
dW5TY3JpcHQodjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQsIGJvb2wgaXNJbgogICAgIC8v
IFJ1biB0aGUgc2NyaXB0IGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHJlY3Vyc2lvbiBk
ZXB0aC4KICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHQ7CiAgICAgewotICAgICAgICBW
OENvbnNvbGVNZXNzYWdlOjpTY29wZSBzY29wZTsKLQogICAgICAgICAvLyBTZWUgY29tbWVudCBp
biBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCiAgICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwog
CkBAIC00NDYsOCArNDM1LDYgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2FsbEZ1
bmN0aW9uKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiwgdjgKICAgICBWOEdDQ29u
dHJvbGxlcjo6Y2hlY2tNZW1vcnlVc2FnZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJl
c3VsdDsKICAgICB7Ci0gICAgICAgIFY4Q29uc29sZU1lc3NhZ2U6OlNjb3BlIHNjb3BlOwotCiAg
ICAgICAgIGlmIChtX3JlY3Vyc2lvbiA+PSBrTWF4UmVjdXJzaW9uRGVwdGgpIHsKICAgICAgICAg
ICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBjb2RlID0gdjg6OlN0cmluZzo6TmV3KCJ0aHJvdyBu
ZXcgUmFuZ2VFcnJvcignTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJykiKTsKICAg
ICAgICAgICAgIGlmIChjb2RlLklzRW1wdHkoKSkKQEAgLTUxMSw4ICs0OTgsNiBAQCB2ODo6TG9j
YWw8djg6OlZhbHVlPiBWOFByb3h5OjpuZXdJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpGdW5jdGlv
bj4gY29uc3RydWN0b3IsCiAgICAgLy8gVjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgogICAgIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIFY4Q29uc29sZU1lc3NhZ2U6
OlNjb3BlIHNjb3BlOwotCiAgICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxG
dW5jdGlvbi4KICAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7CiAKQEAgLTc3NCwxMSArNzU5
LDYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4UHJveHk6OmNoZWNrTmV3TGVnYWwoY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gYXJncy5UaGlzKCk7CiB9CiAKLXZvaWQg
VjhQcm94eTo6cHJvY2Vzc0NvbnNvbGVNZXNzYWdlcygpCi17Ci0gICAgVjhDb25zb2xlTWVzc2Fn
ZTo6cHJvY2Vzc0RlbGF5ZWQoKTsKLX0KLQogdm9pZCBWOFByb3h5OjpyZWdpc3RlckV4dGVuc2lv
bldpdGhWOCh2ODo6RXh0ZW5zaW9uKiBleHRlbnNpb24pCiB7CiAgICAgLy8gSWYgdGhlIGV4dGVu
c2lvbiBleGlzdHMgaW4gb3VyIGxpc3QsIGl0IHdhcyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBW
OC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgKaW5kZXggZTVhMTdhZjk4NmI0MGQxM2I5MGE5MmRkZjNiMzdi
ZmRiN2NmYjU2ZS4uM2U3ZjM3YTgwNDczNWM1MTRhMmQ1MjQ2ODhhNjI2OTUyYTJlN2Y3NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFByb3h5LmgKQEAgLTEzMiwxMiArMTMyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgR2VuZXJhbEVycm9yCiAgICAgICAgIH07CiAKLSAgICAgICAgLy8gV2hl
biB0byByZXBvcnQgZXJyb3JzLgotICAgICAgICBlbnVtIERlbGF5UmVwb3J0aW5nIHsKLSAgICAg
ICAgICAgIFJlcG9ydExhdGVyLAotICAgICAgICAgICAgUmVwb3J0Tm93Ci0gICAgICAgIH07Ci0K
ICAgICAgICAgZXhwbGljaXQgVjhQcm94eShGcmFtZSopOwogCiAgICAgICAgIH5WOFByb3h5KCk7
CkBAIC0yNjMsOSArMjU3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KICAgICAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25z
dHJ1Y3RET01PYmplY3RXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb25zdCB2ODo6QXJndW1l
bnRzJiwgV3JhcHBlclR5cGVJbmZvKik7CiAKLSAgICAgICAgLy8gUHJvY2VzcyBhbnkgcGVuZGlu
ZyBKYXZhU2NyaXB0IGNvbnNvbGUgbWVzc2FnZXMuCi0gICAgICAgIHN0YXRpYyB2b2lkIHByb2Nl
c3NDb25zb2xlTWVzc2FnZXMoKTsKLQogICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNv
bnRleHQoKTsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRDb250ZXh0
KCk7CiAKQEAgLTI4Niw3ICsyNzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBWOEV4dGVuc2lvbnMmIGV4dGVuc2lvbnMoKSB7IHJldHVybiBtX2V4dGVuc2lv
bnM7IH0KIAogICAgICAgICAvLyBSZXBvcnQgYW4gdW5zYWZlIGF0dGVtcHQgdG8gYWNjZXNzIHRo
ZSBnaXZlbiBmcmFtZSBvbiB0aGUgY29uc29sZS4KLSAgICAgICAgc3RhdGljIHZvaWQgcmVwb3J0
VW5zYWZlQWNjZXNzVG8oRnJhbWUqIHRhcmdldCwgRGVsYXlSZXBvcnRpbmcgZGVsYXkpOworICAg
ICAgICBzdGF0aWMgdm9pZCByZXBvcnRVbnNhZmVBY2Nlc3NUbyhGcmFtZSogdGFyZ2V0KTsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlkTGVhdmVTY3JpcHRDb250ZXh0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAK
aW5kZXggZWIyNTgxNDlmMDY2NjVmZTEwN2I4ZmNiNWI5M2IyODk0MDdlNjhhOS4uYWVmODkyYWI0
NGFmZWIyNjk2NDYxZGY3NTlmNGM3ZDk2Yzc4NmRkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcApAQCAtNDEsNyArNDEsNiBA
QAogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlckNvbnRl
eHQuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOENvbnNvbGVNZXNzYWdl
LmgiCiAjaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRlICJWOERlZGljYXRlZFdvcmtlckNv
bnRleHQuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L3NwZWNpYWxpemF0aW9uL1Y4QmluZGluZ1N0YXRlLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3Mvdjgvc3BlY2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwCmluZGV4IGY0Nzc3MDJiMDMx
ZDliNzkzMzEwMzIxYmFlZjUwMjc5ZjI5YmQ2YmQuLjlmYWY0MTU0Y2NmZTgxOGU0MDQxMGY2YmQ0
YzgwNDk4MWVlNDc2MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgvc3BlY2lhbGl6
YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgvc3BlY2lh
bGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwCkBAIC04MSw3ICs4MSw3IEBAIEZyYW1lKiBTdGF0
ZTxWOEJpbmRpbmc+OjpnZXRGaXJzdEZyYW1lKCkKIAogdm9pZCBTdGF0ZTxWOEJpbmRpbmc+Ojpp
bW1lZGlhdGVseVJlcG9ydFVuc2FmZUFjY2Vzc1RvKEZyYW1lKiB0YXJnZXQpCiB7Ci0gICAgVjhQ
cm94eTo6cmVwb3J0VW5zYWZlQWNjZXNzVG8odGFyZ2V0LCBWOFByb3h5OjpSZXBvcnROb3cpOwor
ICAgIFY4UHJveHk6OnJlcG9ydFVuc2FmZUFjY2Vzc1RvKHRhcmdldCk7CiB9CiAKIGJvb2wgU3Rh
dGU8VjhCaW5kaW5nPjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDll
ZWM2NGEwYWMyZTA0N2ZmOWE5ZjBlYzE1MzY1MmE0MTU2OTJjYmMuLmY1NzNjMTc0Zjc3YjU4Y2Vl
NDcyYTZjYjg5N2QxMjljZDE3NTlhZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEwLTEyLTE0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gR2V0IHJpZCBv
ZiBkZWxheWVkIGV4Y2VwdGlvbiByZXBvcnRpbmcgaW4gVjhDb25zb2xlTWVzc2FnZS5jcHAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMDQ0CisKKyAg
ICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9t
ZUNsaWVudEltcGw6OnJ1bkphdmFTY3JpcHRBbGVydCk6CisgICAgICAgICogc3JjL1dlYlNjcmlw
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JpcHRDb250cm9sbGVyOjpm
bHVzaENvbnNvbGVNZXNzYWdlcyk6CisKIDIwMTAtMTItMTMgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCAyOGQ3OGQw
YzhhYTYyYjkyMzM4Yzk4NjQyYmQ5MGFmOWZiNTdiMzZkLi40ZjA1ODA3NTlmZDk3YTMxN2U0YmZj
MmU4MjcyMmRmYWM0NjhkOTQyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAKQEAgLTQ0MiwxMSArNDQyLDYgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpjbG9zZVdp
bmRvd1Nvb24oKQogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpydW5KYXZhU2NyaXB0QWxlcnQoRnJh
bWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKG1fd2ViVmlldy0+
Y2xpZW50KCkpIHsKLSNpZiBVU0UoVjgpCi0gICAgICAgIC8vIEJlZm9yZSBzaG93aW5nIHRoZSBK
YXZhU2NyaXB0IGRpYWxvZywgd2UgZ2l2ZSB0aGUgcHJveHkgaW1wbGVtZW50YXRpb24KLSAgICAg
ICAgLy8gYSBjaGFuY2UgdG8gcHJvY2VzcyBhbnkgcGVuZGluZyBjb25zb2xlIG1lc3NhZ2VzLgot
ICAgICAgICBWOFByb3h5Ojpwcm9jZXNzQ29uc29sZU1lc3NhZ2VzKCk7Ci0jZW5kaWYKICAgICAg
ICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+cnVuTW9kYWxBbGVydERpYWxvZygKICAgICAgICAgICAg
IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKSwgbWVzc2FnZSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggMGFhMTFhNjczNDZj
OWNhNmRmYTlhMDAyMDJjZDY3YjljMWEwMzlmNS4uMTBiYzY4ZjkxNjM1MjUyNzQyY2QyNGI2OGJh
NzFmZTFmNWQ0MWE1MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JpcHRD
b250cm9sbGVyLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcmlwdENvbnRyb2xs
ZXIuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHZvaWQgV2ViU2NyaXB0Q29udHJvbGxlcjo6ZW5hYmxl
VjhTaW5nbGVUaHJlYWRNb2RlKCkKIAogdm9pZCBXZWJTY3JpcHRDb250cm9sbGVyOjpmbHVzaENv
bnNvbGVNZXNzYWdlcygpCiB7Ci0gICAgV2ViQ29yZTo6VjhQcm94eTo6cHJvY2Vzc0NvbnNvbGVN
ZXNzYWdlcygpOworICAgIC8vIEZJWE1FOiByZW1vdmUgdGhpcyBtZXRob2QgYWZ0ZXIgYWxsIGl0
J3MgdXNhZ2VzIGFyZSBnb25lLgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="67515"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="67528"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79578</attachid>
            <date>2011-01-20 04:25:01 -0800</date>
            <delta_ts>2011-01-20 04:25:01 -0800</delta_ts>
            <desc>Patch that I&apos;m going to land.</desc>
            <filename>v8consomemessage</filename>
            <type>text/plain</type>
            <size>22780</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzYTA2YTJlLi4zOTJjYjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTAtMTItMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1Y4XSBHZXQg
cmlkIG9mIGRlbGF5ZWQgZXhjZXB0aW9uIHJlcG9ydGluZyBpbiBWOENvbnNvbGVNZXNzYWdlLmNw
cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEwNDQK
KworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOENvbnNv
bGVNZXNzYWdlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOENvbnNvbGVN
ZXNzYWdlLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2OFVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXBvcnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKToKKyAgICAgICAg
KFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmluaXRDb250ZXh0SWZOZWVkZWQpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkTWVzc2Fn
ZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2dJbmZvKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4UHJveHk6OnJlcG9ydFVuc2FmZUFjY2Vzc1RvKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
UHJveHk6OnJ1blNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpjYWxsRnVuY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6bmV3SW5zdGFuY2UpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L3NwZWNpYWxpemF0
aW9uL1Y4QmluZGluZ1N0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ojo6aW1tZWRpYXRlbHlS
ZXBvcnRVbnNhZmVBY2Nlc3NUbyk6CisKIDIwMTAtMTItMjcgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQppbmRleCA4NDkyZTFlLi4yYjI3NWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC05NDksOCArOTQ5LDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEJpbmRpbmcuaCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmgnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L1Y4Q29uc29sZU1lc3NhZ2UuY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOENvbnNv
bGVNZXNzYWdlLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4RGF0YUdyaWREYXRhU291
cmNlLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhEYXRhR3JpZERhdGFTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhET01NYXAuY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQ5MjgyMmMuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
IAotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOENvbnNvbGVNZXNzYWdlLmgi
Ci0KLSNpbmNsdWRlICJDb25zb2xlLmgiCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVk
ZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJPd25QdHIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1ZGUgIlY4UHJveHkuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1WZWN0b3I8VjhDb25zb2xlTWVzc2FnZT4qIFY4Q29uc29sZU1l
c3NhZ2U6Om1fZGVsYXllZE1lc3NhZ2VzID0gMDsKLQotVjhDb25zb2xlTWVzc2FnZTo6VjhDb25z
b2xlTWVzc2FnZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwg
dW5zaWduZWQgbGluZU51bWJlcikKLSAgICAgOiBtX3N0cmluZyhzdHJpbmcpCi0gICAgICwgbV9z
b3VyY2VJRChzb3VyY2VJRCkKLSAgICAgLCBtX2xpbmVOdW1iZXIobGluZU51bWJlcikKLXsKLX0K
LQotdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpkaXNwYXRjaE5vdyhQYWdlKiBwYWdlKQotewotICAg
IEFTU0VSVChwYWdlKTsKLQotICAgIC8vIFByb2Nlc3MgYW55IGRlbGF5ZWQgbWVzc2FnZXMgdG8g
bWFrZSBzdXJlIHRoYXQgbWVzc2FnZXMKLSAgICAvLyBhcHBlYXIgaW4gdGhlIHJpZ2h0IG9yZGVy
IGluIHRoZSBjb25zb2xlLgotICAgIHByb2Nlc3NEZWxheWVkKCk7Ci0KLSAgICBDb25zb2xlKiBj
b25zb2xlID0gcGFnZS0+bWFpbkZyYW1lKCktPmRvbVdpbmRvdygpLT5jb25zb2xlKCk7Ci0gICAg
Y29uc29sZS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbV9zdHJpbmcsIG1fbGluZU51bWJlciwgbV9zb3VyY2VJRCk7Ci19Ci0K
LXZvaWQgVjhDb25zb2xlTWVzc2FnZTo6ZGlzcGF0Y2hMYXRlcigpCi17Ci0gICAgaWYgKCFtX2Rl
bGF5ZWRNZXNzYWdlcykgewotICAgICAgICAvLyBBbGxvY2F0ZSBhIHZlY3RvciBmb3IgdGhlIGRl
bGF5ZWQgbWVzc2FnZXMuIFdpbGwgYmUKLSAgICAgICAgLy8gZGVhbGxvY2F0ZWQgd2hlbiB0aGUg
ZGVsYXllZCBtZXNzYWdlcyBhcmUgcHJvY2Vzc2VkCi0gICAgICAgIC8vIGluIHByb2Nlc3NEZWxh
eWVkKCkuCi0gICAgICAgIG1fZGVsYXllZE1lc3NhZ2VzID0gbmV3IFZlY3RvcjxWOENvbnNvbGVN
ZXNzYWdlPigpOwotICAgIH0KLQotICAgIG1fZGVsYXllZE1lc3NhZ2VzLT5hcHBlbmQoKnRoaXMp
OwotfQotCi12b2lkIFY4Q29uc29sZU1lc3NhZ2U6OnByb2Nlc3NEZWxheWVkKCkKLXsKLSAgICBp
ZiAoIW1fZGVsYXllZE1lc3NhZ2VzKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBUYWtlIG93
bmVyc2hpcCBvZiB0aGUgZGVsYXllZCB2ZWN0b3IgdG8gYXZvaWQgcmUtZW50cmFuY3kgaXNzdWVz
LgotICAgIE93blB0cjxWZWN0b3I8VjhDb25zb2xlTWVzc2FnZT4gPiBkZWxheWVkTWVzc2FnZXMo
bV9kZWxheWVkTWVzc2FnZXMpOwotICAgIG1fZGVsYXllZE1lc3NhZ2VzID0gMDsKLQotICAgIC8v
IElmIHdlIGhhdmUgYSBkZWxheWVkIHZlY3RvciBpdCBjYW5ub3QgYmUgZW1wdHkuCi0gICAgQVNT
RVJUKCFkZWxheWVkTWVzc2FnZXMtPmlzRW1wdHkoKSk7Ci0KLSAgICAvLyBBZGQgdGhlIGRlbGF5
ZWQgbWVzc2FnZXMgdG8gdGhlIHBhZ2Ugb2YgdGhlIGFjdGl2ZQotICAgIC8vIGNvbnRleHQuIElm
IHRoYXQgZm9yIHNvbWUgYml6YXJyZSByZWFzb24gZG9lcyBub3QKLSAgICAvLyBleGlzdCwgd2Ug
Y2xlYXIgdGhlIGxpc3Qgb2YgZGVsYXllZCBtZXNzYWdlcyB0byBhdm9pZAotICAgIC8vIHBvc3Rp
bmcgbWVzc2FnZXMuIFdlIHN0aWxsIGRlYWxsb2NhdGUgdGhlIHZlY3Rvci4KLSAgICBGcmFtZSog
ZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQoKTsKLSAgICBp
ZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47Ci0gICAgUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdl
KCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBJdGVyYXRlIHRo
cm91Z2ggYWxsIHRoZSBkZWxheWVkIG1lc3NhZ2VzIGFuZCBhZGQgdGhlbQotICAgIC8vIHRvIHRo
ZSBjb25zb2xlLgotICAgIGNvbnN0IGludCBzaXplID0gZGVsYXllZE1lc3NhZ2VzLT5zaXplKCk7
Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIGRlbGF5ZWRNZXNz
YWdlcy0+YXQoaSkuZGlzcGF0Y2hOb3cocGFnZSk7Ci19Ci0KLXZvaWQgVjhDb25zb2xlTWVzc2Fn
ZTo6aGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gZGF0YSkKLXsKLSAgICAvLyBVc2UgdGhlIGZyYW1lIHdoZXJlIEphdmFTY3JpcHQg
aXMgY2FsbGVkIGZyb20uCi0gICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFt
ZUZvckVudGVyZWRDb250ZXh0KCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpOwotICAgIGlmICghZG9j
dW1lbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gZXJy
b3JNZXNzYWdlU3RyaW5nID0gbWVzc2FnZS0+R2V0KCk7Ci0gICAgQVNTRVJUKCFlcnJvck1lc3Nh
Z2VTdHJpbmcuSXNFbXB0eSgpKTsKLSAgICBTdHJpbmcgZXJyb3JNZXNzYWdlID0gdG9XZWJDb3Jl
U3RyaW5nKGVycm9yTWVzc2FnZVN0cmluZyk7Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpTdGFja1Ry
YWNlPiBzdGFja1RyYWNlID0gbWVzc2FnZS0+R2V0U3RhY2tUcmFjZSgpOwotICAgIFJlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjazsKLSAgICAvLyBDdXJyZW50bHkgc3RhY2sgdHJhY2Ug
aXMgb25seSBjb2xsZWN0ZWQgd2hlbiBpbnNwZWN0b3IgaXMgb3Blbi4KLSAgICBpZiAoIXN0YWNr
VHJhY2UuSXNFbXB0eSgpICYmIHN0YWNrVHJhY2UtPkdldEZyYW1lQ291bnQoKSA+IDApCi0gICAg
ICAgIGNhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzdGFja1RyYWNlLCBTY3JpcHRD
YWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwotCi0gICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHJlc291cmNlTmFtZSA9IG1lc3NhZ2UtPkdldFNjcmlwdFJlc291cmNlTmFtZSgp
OwotICAgIGJvb2wgdXNlVVJMID0gcmVzb3VyY2VOYW1lLklzRW1wdHkoKSB8fCAhcmVzb3VyY2VO
YW1lLT5Jc1N0cmluZygpOwotICAgIFN0cmluZyByZXNvdXJjZU5hbWVTdHJpbmcgPSB1c2VVUkwg
PyBmcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkgOiB0b1dlYkNvcmVTdHJpbmcocmVzb3VyY2VOYW1l
KTsKLSAgICBkb2N1bWVudC0+cmVwb3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbWVzc2FnZS0+
R2V0TGluZU51bWJlcigpLCByZXNvdXJjZU5hbWVTdHJpbmcsIGNhbGxTdGFjayk7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4Q29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29u
c29sZU1lc3NhZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE4M2ZjNi4uMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotICogbWV0OgotICogCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBWOENvbnNvbGVNZXNzYWdl
X2gKLSNkZWZpbmUgVjhDb25zb2xlTWVzc2FnZV9oCi0KLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgotI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNsYXNzIFBh
Z2U7Ci0gICAgY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwotCi0gICAgLy8gVjhDb25zb2xlTWVzc2Fn
ZSBlbmNhcHN1bGF0ZXMgZXZlcnl0aGluZyBuZWVkZWQgdG8KLSAgICAvLyBsb2cgbWVzc2FnZXMg
b3JpZ2luYXRpbmcgZnJvbSBKYXZhU2NyaXB0IHRvIHRoZSBjb25zb2xlLgotICAgIGNsYXNzIFY4
Q29uc29sZU1lc3NhZ2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgVjhDb25zb2xlTWVzc2FnZShj
b25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgdW5zaWduZWQgbGlu
ZU51bWJlcik7Ci0KLSAgICAgICAgLy8gQWRkIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZS4gTWF5
IGVuZCB1cCBjYWxsaW5nIEphdmFTY3JpcHQgY29kZQotICAgICAgICAvLyBpbmRpcmVjdGx5IHRo
cm91Z2ggdGhlIGluc3BlY3RvciBzbyBvbmx5IGNhbGwgdGhpcyBmdW5jdGlvbiB3aGVuCi0gICAg
ICAgIC8vIGl0IGlzIHNhZmUgdG8gZG8gYWxsb2NhdGlvbnMuCi0gICAgICAgIHZvaWQgZGlzcGF0
Y2hOb3coUGFnZSopOwotCi0gICAgICAgIC8vIEFkZCBhIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUg
YnV0IGRlbGF5IHRoZSByZXBvcnRpbmcgdW50aWwgaXQKLSAgICAgICAgLy8gaXMgc2FmZSB0byBk
byBzbzogRWl0aGVyIHdoZW4gd2UgbGVhdmUgSmF2YVNjcmlwdCBleGVjdXRpb24gb3IKLSAgICAg
ICAgLy8gd2hlbiBhZGRpbmcgb3RoZXIgY29uc29sZSBtZXNzYWdlcy4gVGhlIHByaW1hcnkgcHVy
cG9zZSBvZiB0aGlzCi0gICAgICAgIC8vIG1ldGhvZCBpcyB0byBhdm9pZCBjYWxsaW5nIGludG8g
VjggdG8gaGFuZGxlIGNvbnNvbGUgbWVzc2FnZXMKLSAgICAgICAgLy8gd2hlbiB0aGUgVk0gaXMg
aW4gYSBzdGF0ZSB0aGF0IGRvZXMgbm90IHN1cHBvcnQgR0NzIG9yIGFsbG9jYXRpb25zLgotICAg
ICAgICAvLyBEZWxheWVkIG1lc3NhZ2VzIGFyZSBhbHdheXMgcmVwb3J0ZWQgaW4gdGhlIHBhZ2Ug
Y29ycmVzcG9uZGluZwotICAgICAgICAvLyB0byB0aGUgYWN0aXZlIGNvbnRleHQuCi0gICAgICAg
IHZvaWQgZGlzcGF0Y2hMYXRlcigpOwotCi0gICAgICAgIC8vIFByb2Nlc3MgYW55IGRlbGF5ZWQg
bWVzc2FnZXMuIE1heSBlbmQgdXAgY2FsbGluZyBKYXZhU2NyaXB0IGNvZGUKLSAgICAgICAgLy8g
aW5kaXJlY3RseSB0aHJvdWdoIHRoZSBpbnNwZWN0b3Igc28gb25seSBjYWxsIHRoaXMgZnVuY3Rp
b24gd2hlbgotICAgICAgICAvLyBpdCBpcyBzYWZlIHRvIGRvIGFsbG9jYXRpb25zLgotICAgICAg
ICBzdGF0aWMgdm9pZCBwcm9jZXNzRGVsYXllZCgpOwotCi0gICAgICAgIC8vIENvbnZlbmllbmNl
IGNsYXNzIGZvciBlbnN1cmluZyB0aGF0IGRlbGF5ZWQgbWVzc2FnZXMgaW4gdGhlCi0gICAgICAg
IC8vIENvbnNvbGVNZXNzYWdlTWFuYWdlciBhcmUgcHJvY2Vzc2VkIHF1aWNrbHkuCi0gICAgICAg
IGNsYXNzIFNjb3BlIHsKLSAgICAgICAgcHVibGljOgotICAgICAgICAgICAgU2NvcGUoKSB7IFY4
Q29uc29sZU1lc3NhZ2U6OnByb2Nlc3NEZWxheWVkKCk7IH0KLSAgICAgICAgICAgIH5TY29wZSgp
IHsgVjhDb25zb2xlTWVzc2FnZTo6cHJvY2Vzc0RlbGF5ZWQoKTsgfQotICAgICAgICB9OwotCi0g
ICAgICAgIC8vIENhbGxiYWNrIGZyb20gVjguCi0gICAgICAgIHN0YXRpYyB2b2lkIGhhbmRsZXIo
djg6OkhhbmRsZTx2ODo6TWVzc2FnZT4sIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkYXRhKTsKLQot
ICAgIHByaXZhdGU6Ci0gICAgICAgIGNvbnN0IFN0cmluZyBtX3N0cmluZzsKLSAgICAgICAgY29u
c3QgU3RyaW5nIG1fc291cmNlSUQ7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIG1fbGluZU51bWJl
cjsKLQotICAgICAgICAvLyBBbGwgZGVsYXllZCBtZXNzYWdlcyBhcmUgc3RvcmVkIGluIHRoaXMg
dmVjdG9yLiBJZiB0aGUgdmVjdG9yCi0gICAgICAgIC8vIGlzIDAsIHRoZXJlIGFyZSBubyBkZWxh
eWVkIG1lc3NhZ2VzLgotICAgICAgICBzdGF0aWMgVmVjdG9yPFY4Q29uc29sZU1lc3NhZ2U+KiBt
X2RlbGF5ZWRNZXNzYWdlczsKLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBWOENvbnNvbGVNZXNzYWdlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggODIwNWZlNS4uZjRiMWViNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTM5LDEy
ICszOSwxMyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgogI2luY2x1ZGUgIlY4
QmluZGluZy5oIgogI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiVjhDb2xs
ZWN0aW9uLmgiCi0jaW5jbHVkZSAiVjhDb25zb2xlTWVzc2FnZS5oIgogI2luY2x1ZGUgIlY4RE9N
TWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNsdWRlICJWOERvY3VtZW50Lmgi
CkBAIC05MCw2ICs5MSwzMCBAQCBzdGF0aWMgdm9pZCByZXBvcnRGYXRhbEVycm9ySW5WOChjb25z
dCBjaGFyKiBsb2NhdGlvbiwgY29uc3QgY2hhciogbWVzc2FnZSkKICAgICBoYW5kbGVGYXRhbEVy
cm9ySW5WOCgpOwogfQogCitzdGF0aWMgdm9pZCB2OFVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcih2
ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGF0
YSkKK3sKKyAgICAvLyBVc2UgdGhlIGZyYW1lIHdoZXJlIEphdmFTY3JpcHQgaXMgY2FsbGVkIGZy
b20uCisgICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckVudGVyZWRD
b250ZXh0KCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBlcnJvck1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlLT5HZXQoKTsKKyAg
ICBBU1NFUlQoIWVycm9yTWVzc2FnZVN0cmluZy5Jc0VtcHR5KCkpOworICAgIFN0cmluZyBlcnJv
ck1lc3NhZ2UgPSB0b1dlYkNvcmVTdHJpbmcoZXJyb3JNZXNzYWdlU3RyaW5nKTsKKworICAgIHY4
OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UgPSBtZXNzYWdlLT5HZXRTdGFja1Ry
YWNlKCk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrOworICAgIC8vIEN1
cnJlbnRseSBzdGFjayB0cmFjZSBpcyBvbmx5IGNvbGxlY3RlZCB3aGVuIGluc3BlY3RvciBpcyBv
cGVuLgorICAgIGlmICghc3RhY2tUcmFjZS5Jc0VtcHR5KCkgJiYgc3RhY2tUcmFjZS0+R2V0RnJh
bWVDb3VudCgpID4gMCkKKyAgICAgICAgY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
KHN0YWNrVHJhY2UsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7
CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0
U2NyaXB0UmVzb3VyY2VOYW1lKCk7CisgICAgYm9vbCB1c2VVUkwgPSByZXNvdXJjZU5hbWUuSXNF
bXB0eSgpIHx8ICFyZXNvdXJjZU5hbWUtPklzU3RyaW5nKCk7CisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CisgICAgU3RyaW5nIHJlc291cmNlTmFtZVN0cmluZyA9
IHVzZVVSTCA/IGRvY3VtZW50LT51cmwoKSA6IHRvV2ViQ29yZVN0cmluZyhyZXNvdXJjZU5hbWUp
OworICAgIGRvY3VtZW50LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdlLCBtZXNzYWdlLT5H
ZXRMaW5lTnVtYmVyKCksIHJlc291cmNlTmFtZVN0cmluZywgY2FsbFN0YWNrKTsKK30KKwogLy8g
UmV0dXJucyB0aGUgb3duZXIgZnJhbWUgcG9pbnRlciBvZiBhIERPTSB3cmFwcGVyIG9iamVjdC4g
SXQgb25seSB3b3JrcyBmb3IKIC8vIHRoZXNlIERPTSBvYmplY3RzIHJlcXVpcmluZyBjcm9zcy1k
b21haW4gYWNjZXNzIGNoZWNrLgogc3RhdGljIEZyYW1lKiBnZXRUYXJnZXRGcmFtZSh2ODo6TG9j
YWw8djg6Ok9iamVjdD4gaG9zdCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZGF0YSkKQEAgLTExNyw3
ICsxNDIsNyBAQCBzdGF0aWMgdm9pZCByZXBvcnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBob3N0LCB2ODo6QWNjZXNzVAogewogICAgIEZyYW1lKiB0YXJnZXQg
PSBnZXRUYXJnZXRGcmFtZShob3N0LCBkYXRhKTsKICAgICBpZiAodGFyZ2V0KQotICAgICAgICBW
OFByb3h5OjpyZXBvcnRVbnNhZmVBY2Nlc3NUbyh0YXJnZXQsIFY4UHJveHk6OlJlcG9ydExhdGVy
KTsKKyAgICAgICAgVjhQcm94eTo6cmVwb3J0VW5zYWZlQWNjZXNzVG8odGFyZ2V0KTsKIH0KIAog
UGFzc1JlZlB0cjxWOERPTVdpbmRvd1NoZWxsPiBWOERPTVdpbmRvd1NoZWxsOjpjcmVhdGUoRnJh
bWUqIGZyYW1lKQpAQCAtMjYyLDcgKzI4Nyw3IEBAIGJvb2wgVjhET01XaW5kb3dTaGVsbDo6aW5p
dENvbnRleHRJZk5lZWRlZCgpCiAgICAgICAgIHY4OjpWODo6U2V0R2xvYmFsR0NQcm9sb2d1ZUNh
bGxiYWNrKCZWOEdDQ29udHJvbGxlcjo6Z2NQcm9sb2d1ZSk7CiAgICAgICAgIHY4OjpWODo6U2V0
R2xvYmFsR0NFcGlsb2d1ZUNhbGxiYWNrKCZWOEdDQ29udHJvbGxlcjo6Z2NFcGlsb2d1ZSk7CiAK
LSAgICAgICAgdjg6OlY4OjpBZGRNZXNzYWdlTGlzdGVuZXIoJlY4Q29uc29sZU1lc3NhZ2U6Omhh
bmRsZXIpOworICAgICAgICB2ODo6Vjg6OkFkZE1lc3NhZ2VMaXN0ZW5lcigmdjhVbmNhdWdodEV4
Y2VwdGlvbkhhbmRsZXIpOwogCiAgICAgICAgIHY4OjpWODo6U2V0RmFpbGVkQWNjZXNzQ2hlY2tD
YWxsYmFja0Z1bmN0aW9uKHJlcG9ydFVuc2FmZUphdmFTY3JpcHRBY2Nlc3MpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4IDFjMWY2NDIuLjQ2OTg5YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCkBAIC01MCw3ICs1MCw2IEBACiAjaW5j
bHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nU3RhdGUuaCIKICNpbmNsdWRl
ICJWOENvbGxlY3Rpb24uaCIKLSNpbmNsdWRlICJWOENvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVk
ZSAiVjhET01Db3JlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRl
ICJWOERPTVdpbmRvdy5oIgpAQCAtMTMxLDIxICsxMzAsMjIgQEAgdHlwZWRlZiBIYXNoTWFwPGlu
dCwgdjg6OkZ1bmN0aW9uVGVtcGxhdGUqPiBGdW5jdGlvblRlbXBsYXRlTWFwOwogCiBib29sIEFs
bG93QWxsb2NhdGlvbjo6bV9jdXJyZW50ID0gZmFsc2U7CiAKK3N0YXRpYyB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lTnVtYmVyKQoreworICAgIEFTU0VSVChwYWdlKTsK
KyAgICBDb25zb2xlKiBjb25zb2xlID0gcGFnZS0+bWFpbkZyYW1lKCktPmRvbVdpbmRvdygpLT5j
b25zb2xlKCk7CisgICAgY29uc29sZS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNl
SUQpOworfQorCiB2b2lkIGxvZ0luZm8oRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgp
OwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwotICAgIFY4Q29uc29sZU1lc3NhZ2Ug
Y29uc29sZU1lc3NhZ2UobWVzc2FnZSwgdXJsLCAwKTsKLSAgICBjb25zb2xlTWVzc2FnZS5kaXNw
YXRjaE5vdyhwYWdlKTsKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIG1lc3NhZ2UsIHVy
bCwgMCk7CiB9CiAKLWVudW0gRGVsYXlSZXBvcnRpbmcgewotICAgIFJlcG9ydExhdGVyLAotICAg
IFJlcG9ydE5vdwotfTsKLQotdm9pZCBWOFByb3h5OjpyZXBvcnRVbnNhZmVBY2Nlc3NUbyhGcmFt
ZSogdGFyZ2V0LCBEZWxheVJlcG9ydGluZyBkZWxheSkKK3ZvaWQgVjhQcm94eTo6cmVwb3J0VW5z
YWZlQWNjZXNzVG8oRnJhbWUqIHRhcmdldCkKIHsKICAgICBBU1NFUlQodGFyZ2V0KTsKICAgICBE
b2N1bWVudCogdGFyZ2V0RG9jdW1lbnQgPSB0YXJnZXQtPmRvY3VtZW50KCk7CkBAIC0xNjYsMjAg
KzE2NiwxMSBAQCB2b2lkIFY4UHJveHk6OnJlcG9ydFVuc2FmZUFjY2Vzc1RvKEZyYW1lKiB0YXJn
ZXQsIERlbGF5UmVwb3J0aW5nIGRlbGF5KQogICAgIC8vIEJ1aWxkIGEgY29uc29sZSBtZXNzYWdl
IHdpdGggZmFrZSBzb3VyY2UgSUQgYW5kIGxpbmUgbnVtYmVyLgogICAgIGNvbnN0IFN0cmluZyBr
U291cmNlSUQgPSAiIjsKICAgICBjb25zdCBpbnQga0xpbmVOdW1iZXIgPSAxOwotICAgIFY4Q29u
c29sZU1lc3NhZ2UgbWVzc2FnZShzdHIsIGtTb3VyY2VJRCwga0xpbmVOdW1iZXIpOwogCi0gICAg
aWYgKGRlbGF5ID09IFJlcG9ydE5vdykgewotICAgICAgICAvLyBOT1RFOiBTYWZhcmkgcHJpbnRz
IHRoZSBtZXNzYWdlIGluIHRoZSB0YXJnZXQgcGFnZSwgYnV0IGl0IHNlZW1zIGxpa2UKLSAgICAg
ICAgLy8gaXQgc2hvdWxkIGJlIGluIHRoZSBzb3VyY2UgcGFnZS4gRXZlbiBmb3IgZGVsYXllZCBt
ZXNzYWdlcywgd2UgcHV0IGl0IGluCi0gICAgICAgIC8vIHRoZSBzb3VyY2UgcGFnZTsgc2VlIFY4
Q29uc29sZU1lc3NhZ2U6OnByb2Nlc3NEZWxheWVkKCkuCi0gICAgICAgIG1lc3NhZ2UuZGlzcGF0
Y2hOb3coc291cmNlLT5wYWdlKCkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChkZWxh
eSA9PSBSZXBvcnRMYXRlcik7Ci0gICAgICAgIC8vIFdlIGNhbm5vdCBzYWZlbHkgcmVwb3J0IHRo
ZSBtZXNzYWdlIGVhZ2VybHksIGJlY2F1c2UgdGhpcyBtYXkgY2F1c2UKLSAgICAgICAgLy8gYWxs
b2NhdGlvbnMgYW5kIEdDcyBpbnRlcm5hbGx5IGluIFY4IGFuZCB3ZSBjYW5ub3QgaGFuZGxlIHRo
YXQgYXQgdGhpcwotICAgICAgICAvLyBwb2ludC4gVGhlcmVmb3JlIHdlIGRlbGF5IHRoZSByZXBv
cnRpbmcuCi0gICAgICAgIG1lc3NhZ2UuZGlzcGF0Y2hMYXRlcigpOwotICAgIH0KKyAgICAvLyBO
T1RFOiBTYWZhcmkgcHJpbnRzIHRoZSBtZXNzYWdlIGluIHRoZSB0YXJnZXQgcGFnZSwgYnV0IGl0
IHNlZW1zIGxpa2UKKyAgICAvLyBpdCBzaG91bGQgYmUgaW4gdGhlIHNvdXJjZSBwYWdlLiBFdmVu
IGZvciBkZWxheWVkIG1lc3NhZ2VzLCB3ZSBwdXQgaXQgaW4KKyAgICAvLyB0aGUgc291cmNlIHBh
Z2UuCisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UtPnBhZ2UoKSwgc3RyLCBrU291cmNl
SUQsIGtMaW5lTnVtYmVyKTsKIH0KIAogc3RhdGljIHZvaWQgaGFuZGxlRmF0YWxFcnJvckluVjgo
KQpAQCAtNDEyLDggKzQwMyw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNj
cmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCwgYm9vbCBpc0luCiAgICAgLy8gUnVu
IHRoZSBzY3JpcHQgYW5kIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgcmVjdXJzaW9uIGRlcHRo
LgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIFY4Q29u
c29sZU1lc3NhZ2U6OlNjb3BlIHNjb3BlOwotCiAgICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4
UHJveHk6OmNhbGxGdW5jdGlvbi4KICAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7CiAKQEAg
LTQ0Niw4ICs0MzUsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpjYWxsRnVuY3Rp
b24odjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uLCB2OAogICAgIFY4R0NDb250cm9s
bGVyOjpjaGVja01lbW9yeVVzYWdlKCk7CiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0
OwogICAgIHsKLSAgICAgICAgVjhDb25zb2xlTWVzc2FnZTo6U2NvcGUgc2NvcGU7Ci0KICAgICAg
ICAgaWYgKG1fcmVjdXJzaW9uID49IGtNYXhSZWN1cnNpb25EZXB0aCkgewogICAgICAgICAgICAg
djg6OkxvY2FsPHY4OjpTdHJpbmc+IGNvZGUgPSB2ODo6U3RyaW5nOjpOZXcoInRocm93IG5ldyBS
YW5nZUVycm9yKCdNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4nKSIpOwogICAgICAg
ICAgICAgaWYgKGNvZGUuSXNFbXB0eSgpKQpAQCAtNTExLDggKzQ5OCw2IEBAIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IFY4UHJveHk6Om5ld0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBj
b25zdHJ1Y3RvciwKICAgICAvLyBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCiAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gcmVzdWx0OwogICAgIHsKLSAgICAgICAgVjhDb25zb2xlTWVzc2FnZTo6U2Nv
cGUgc2NvcGU7Ci0KICAgICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gVjhQcm94eTo6Y2FsbEZ1bmN0
aW9uLgogICAgICAgICBtX2ZyYW1lLT5rZWVwQWxpdmUoKTsKIApAQCAtNzc0LDExICs3NTksNiBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2hlY2tOZXdMZWdhbChjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBhcmdzLlRoaXMoKTsKIH0KIAotdm9pZCBWOFBy
b3h5Ojpwcm9jZXNzQ29uc29sZU1lc3NhZ2VzKCkKLXsKLSAgICBWOENvbnNvbGVNZXNzYWdlOjpw
cm9jZXNzRGVsYXllZCgpOwotfQotCiB2b2lkIFY4UHJveHk6OnJlZ2lzdGVyRXh0ZW5zaW9uV2l0
aFY4KHY4OjpFeHRlbnNpb24qIGV4dGVuc2lvbikKIHsKICAgICAvLyBJZiB0aGUgZXh0ZW5zaW9u
IGV4aXN0cyBpbiBvdXIgbGlzdCwgaXQgd2FzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIFY4Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCmluZGV4IGU1YTE3YWYuLjNlN2YzN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTEzMiwxMiArMTMyLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgR2VuZXJhbEVycm9yCiAgICAgICAgIH07CiAK
LSAgICAgICAgLy8gV2hlbiB0byByZXBvcnQgZXJyb3JzLgotICAgICAgICBlbnVtIERlbGF5UmVw
b3J0aW5nIHsKLSAgICAgICAgICAgIFJlcG9ydExhdGVyLAotICAgICAgICAgICAgUmVwb3J0Tm93
Ci0gICAgICAgIH07Ci0KICAgICAgICAgZXhwbGljaXQgVjhQcm94eShGcmFtZSopOwogCiAgICAg
ICAgIH5WOFByb3h5KCk7CkBAIC0yNjMsOSArMjU3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBjb25zdHJ1Y3RET01PYmplY3RXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dChj
b25zdCB2ODo6QXJndW1lbnRzJiwgV3JhcHBlclR5cGVJbmZvKik7CiAKLSAgICAgICAgLy8gUHJv
Y2VzcyBhbnkgcGVuZGluZyBKYXZhU2NyaXB0IGNvbnNvbGUgbWVzc2FnZXMuCi0gICAgICAgIHN0
YXRpYyB2b2lkIHByb2Nlc3NDb25zb2xlTWVzc2FnZXMoKTsKLQogICAgICAgICB2ODo6TG9jYWw8
djg6OkNvbnRleHQ+IGNvbnRleHQoKTsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBt
YWluV29ybGRDb250ZXh0KCk7CiAKQEAgLTI4Niw3ICsyNzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBWOEV4dGVuc2lvbnMmIGV4dGVuc2lvbnMoKSB7IHJl
dHVybiBtX2V4dGVuc2lvbnM7IH0KIAogICAgICAgICAvLyBSZXBvcnQgYW4gdW5zYWZlIGF0dGVt
cHQgdG8gYWNjZXNzIHRoZSBnaXZlbiBmcmFtZSBvbiB0aGUgY29uc29sZS4KLSAgICAgICAgc3Rh
dGljIHZvaWQgcmVwb3J0VW5zYWZlQWNjZXNzVG8oRnJhbWUqIHRhcmdldCwgRGVsYXlSZXBvcnRp
bmcgZGVsYXkpOworICAgICAgICBzdGF0aWMgdm9pZCByZXBvcnRVbnNhZmVBY2Nlc3NUbyhGcmFt
ZSogdGFyZ2V0KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlkTGVhdmVTY3JpcHRD
b250ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCBlYjI1ODE0Li5hZWY4OTJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9u
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRF
eGVjdXRpb25Qcm94eS5jcHAKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNsdWRlICJTaGFyZWRXb3Jr
ZXIuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiVjhCaW5k
aW5nLmgiCi0jaW5jbHVkZSAiVjhDb25zb2xlTWVzc2FnZS5oIgogI2luY2x1ZGUgIlY4RE9NTWFw
LmgiCiAjaW5jbHVkZSAiVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiVjhQ
cm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgvc3BlY2lhbGl6
YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgvc3Bl
Y2lhbGl6YXRpb24vVjhCaW5kaW5nU3RhdGUuY3BwCmluZGV4IDg5MTI3MmMuLmUwMGUzNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L3NwZWNpYWxpemF0aW9uL1Y4Qmlu
ZGluZ1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9zcGVjaWFsaXph
dGlvbi9WOEJpbmRpbmdTdGF0ZS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgRnJhbWUqIFN0YXRlPFY4
QmluZGluZz46OmZpcnN0RnJhbWUoKQogCiB2b2lkIFN0YXRlPFY4QmluZGluZz46OmltbWVkaWF0
ZWx5UmVwb3J0VW5zYWZlQWNjZXNzVG8oRnJhbWUqIHRhcmdldCkKIHsKLSAgICBWOFByb3h5Ojpy
ZXBvcnRVbnNhZmVBY2Nlc3NUbyh0YXJnZXQsIFY4UHJveHk6OlJlcG9ydE5vdyk7CisgICAgVjhQ
cm94eTo6cmVwb3J0VW5zYWZlQWNjZXNzVG8odGFyZ2V0KTsKIH0KIAogYm9vbCBTdGF0ZTxWOEJp
bmRpbmc+Ojpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCAyN2FmZGU5Li4wZGVlOTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTEyLTE0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtW
OF0gR2V0IHJpZCBvZiBkZWxheWVkIGV4Y2VwdGlvbiByZXBvcnRpbmcgaW4gVjhDb25zb2xlTWVz
c2FnZS5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUxMDQ0CisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnJ1bkphdmFTY3JpcHRBbGVydCk6CisgICAgICAgICog
c3JjL1dlYlNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JpcHRD
b250cm9sbGVyOjpmbHVzaENvbnNvbGVNZXNzYWdlcyk6CisKIDIwMTAtMTItMjcgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2
ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHAKaW5kZXggODI2YzNiOC4uODRkNDZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTQzNiwxMSArNDM2LDYgQEAgdm9p
ZCBDaHJvbWVDbGllbnRJbXBsOjpjbG9zZVdpbmRvd1Nvb24oKQogdm9pZCBDaHJvbWVDbGllbnRJ
bXBsOjpydW5KYXZhU2NyaXB0QWxlcnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiB7CiAgICAgaWYgKG1fd2ViVmlldy0+Y2xpZW50KCkpIHsKLSNpZiBVU0UoVjgpCi0gICAg
ICAgIC8vIEJlZm9yZSBzaG93aW5nIHRoZSBKYXZhU2NyaXB0IGRpYWxvZywgd2UgZ2l2ZSB0aGUg
cHJveHkgaW1wbGVtZW50YXRpb24KLSAgICAgICAgLy8gYSBjaGFuY2UgdG8gcHJvY2VzcyBhbnkg
cGVuZGluZyBjb25zb2xlIG1lc3NhZ2VzLgotICAgICAgICBWOFByb3h5Ojpwcm9jZXNzQ29uc29s
ZU1lc3NhZ2VzKCk7Ci0jZW5kaWYKICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+cnVuTW9k
YWxBbGVydERpYWxvZygKICAgICAgICAgICAgIFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1l
KSwgbWVzc2FnZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCAwYWExMWE2Li4xMGJjNjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAt
NTQsNyArNTQsNyBAQCB2b2lkIFdlYlNjcmlwdENvbnRyb2xsZXI6OmVuYWJsZVY4U2luZ2xlVGhy
ZWFkTW9kZSgpCiAKIHZvaWQgV2ViU2NyaXB0Q29udHJvbGxlcjo6Zmx1c2hDb25zb2xlTWVzc2Fn
ZXMoKQogewotICAgIFdlYkNvcmU6OlY4UHJveHk6OnByb2Nlc3NDb25zb2xlTWVzc2FnZXMoKTsK
KyAgICAvLyBGSVhNRTogcmVtb3ZlIHRoaXMgbWV0aG9kIGFmdGVyIGFsbCBpdCdzIHVzYWdlcyBh
cmUgZ29uZS4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>