<?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>132401</bug_id>
          
          <creation_ts>2014-04-30 14:12:09 -0700</creation_ts>
          <short_desc>Move Source/WebCore/workers/ code to std::unique_ptr</short_desc>
          <delta_ts>2014-05-11 12:11:19 -0700</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>
          <dependson>132789</dependson>
          <blocked>128007</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>clopez</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005507</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-30 14:12:09 -0700</bug_when>
    <thetext>Move Source/WebCore/workers/ code to std::unique_ptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005510</commentid>
    <comment_count>1</comment_count>
      <attachid>230519</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-30 14:14:08 -0700</bug_when>
    <thetext>Created attachment 230519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008276</commentid>
    <comment_count>2</comment_count>
      <attachid>230519</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-10 12:14:53 -0700</bug_when>
    <thetext>Comment on attachment 230519
Patch

Clearing flags on attachment: 230519

Committed r168578: &lt;http://trac.webkit.org/changeset/168578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008277</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-10 12:14:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008320</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-10 15:40:14 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 132789</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008336</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-05-10 17:02:24 -0700</bug_when>
    <thetext>Looks like this caused failures on the layout tests of the GTK Debug build.


r168577 -&gt; layout-test 71 failures 16 new passes 40 flakes http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Tests%29/builds/47
r168578 -&gt; layout-test Exiting early after 24 crashes and 26 timeouts. 31383 tests run. 121 failures 15 new passes  -&gt; http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Tests%29/builds/48</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008405</commentid>
    <comment_count>6</comment_count>
      <attachid>231260</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-11 05:26:22 -0700</bug_when>
    <thetext>Created attachment 231260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008406</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-11 05:30:05 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=231260) [details]
&gt; Patch

Avoids leaking a ScheduledAction object, fixing the layout tests in debug builds.

Can&apos;t confirm the same effect on the Apple-internal PLT3, for obvious reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008437</commentid>
    <comment_count>8</comment_count>
      <attachid>231260</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-11 12:11:11 -0700</bug_when>
    <thetext>Comment on attachment 231260
Patch

Clearing flags on attachment: 231260

Committed r168600: &lt;http://trac.webkit.org/changeset/168600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008438</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-11 12:11:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230519</attachid>
            <date>2014-04-30 14:14:08 -0700</date>
            <delta_ts>2014-05-11 05:26:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132401-20140430141345.patch</filename>
            <type>text/plain</type>
            <size>28508</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWZiYjU3YmU1MGJmOTRl
ZDlkZDZjMTIyMmY1ZjBlNmRkNGEyYjdkMy4uYzI0YmY0ZWYzOWY3NDZiNDkxMzMyYTRhNDZjNGFi
MzQ2NjZmNjUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTA0LTMwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvIGNvZGUgdG8gc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI0MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIHVzZXMgb2YgT3duUHRyIGFu
ZCBQYXNzT3duUHRyIGluIGNvZGUgdW5kZXIgU291cmNlL1dlYkNvcmUvd29ya2VycyAoYW5kIHJl
bGF0ZWQgcGxhY2VzKQorICAgICAgICB3aXRoIHN0ZDo6dW5pcXVlX3B0ci4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NV2luZG93OjpzZXRUaW1lb3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93Ojpz
ZXRJbnRlcnZhbCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFs
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1NjaGVkdWxlZEFjdGlvbi5oOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRp
bWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpmaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZGlkU3RvcCk6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldElu
dGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyRXZlbnRRdWV1ZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRJbnRlcnZhbCk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyR2xvYmFsU2NvcGU6OmNsZWFyU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckxv
YWRlclByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJSdW5Mb29wOjpXb3JrZXJSdW5Mb29wKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclJ1
bkxvb3AuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlUmVzb3VyY2VSZXF1
ZXN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVh
ZDo6V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpjcmVh
dGUpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisKIDIwMTQt
MDQtMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjM2MwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDZmZWRhNmY5
MzBiMTE0NmIwNGQ4YTFjYzg3Y2Y4YWY0N2IyM2Y0MmMuLjI5OTVhNmE3MjZjZGI1MzBmYjA2MDEw
MmNlN2M1OTdiMjUyOGNlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTU4Nyw3ICs1ODcsNyBAQCBKU1ZhbHVlIEpTRE9NV2lu
ZG93Ojpwb3N0TWVzc2FnZShFeGVjU3RhdGUqIGV4ZWMpCiBKU1ZhbHVlIEpTRE9NV2luZG93Ojpz
ZXRUaW1lb3V0KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kq
IGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IGltcGwoKS5kb2N1bWVudCgpID8gaW1wbCgpLmRvY3Vt
ZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpIDogMDsKLSAgICBPd25QdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24gPSBTY2hlZHVsZWRBY3Rpb246OmNyZWF0ZShleGVjLCBnbG9iYWxPYmpl
Y3QoKS0+d29ybGQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5KTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24gPSBTY2hlZHVsZWRBY3Rpb246OmNyZWF0ZShleGVj
LCBnbG9iYWxPYmplY3QoKS0+d29ybGQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5KTsKICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwog
CkBAIC01OTcsNyArNTk3LDcgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0VGltZW91dChFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgaW50IGRlbGF5ID0gZXhlYy0+YXJndW1lbnQoMSkudG9JbnQzMihl
eGVjKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGludCByZXN1bHQgPSBpbXBs
KCkuc2V0VGltZW91dChhY3Rpb24ucmVsZWFzZSgpLCBkZWxheSwgZWMpOworICAgIGludCByZXN1
bHQgPSBpbXBsKCkuc2V0VGltZW91dChzdGQ6Om1vdmUoYWN0aW9uKSwgZGVsYXksIGVjKTsKICAg
ICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwogCiAgICAgcmV0dXJuIGpzTnVtYmVyKHJlc3Vs
dCk7CkBAIC02MDYsNyArNjA2LDcgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0VGltZW91dChF
eGVjU3RhdGUqIGV4ZWMpCiBKU1ZhbHVlIEpTRE9NV2luZG93OjpzZXRJbnRlcnZhbChFeGVjU3Rh
dGUqIGV4ZWMpCiB7CiAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBjb250ZW50U2VjdXJpdHlQ
b2xpY3kgPSBpbXBsKCkuZG9jdW1lbnQoKSA/IGltcGwoKS5kb2N1bWVudCgpLT5jb250ZW50U2Vj
dXJpdHlQb2xpY3koKSA6IDA7Ci0gICAgT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uID0g
U2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KCktPndvcmxkKCksIGNv
bnRlbnRTZWN1cml0eVBvbGljeSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uID0gU2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KCkt
PndvcmxkKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBpbnQgZGVsYXkgPSBl
eGVjLT5hcmd1bWVudCgxKS50b0ludDMyKGV4ZWMpOwpAQCAtNjE1LDcgKzYxNSw3IEBAIEpTVmFs
dWUgSlNET01XaW5kb3c6OnNldEludGVydmFsKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0
dXJuIGpzTnVtYmVyKDApOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaW50IHJl
c3VsdCA9IGltcGwoKS5zZXRJbnRlcnZhbChhY3Rpb24ucmVsZWFzZSgpLCBkZWxheSwgZWMpOwor
ICAgIGludCByZXN1bHQgPSBpbXBsKCkuc2V0SW50ZXJ2YWwoc3RkOjptb3ZlKGFjdGlvbiksIGRl
bGF5LCBlYyk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKIAogICAgIHJldHVybiBq
c051bWJlcihyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcAppbmRleCA4ZTYxMmE0MTE2ZDk1MjY1YWIy
YWFiMTgzMDg1NWZhMjc1NDkyN2ZhLi5hNmRhYzI2ZTg3NTVmNGUzZWQwYTg0NGM4ZDI2ZmFiZjg5
NDY3MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckds
b2JhbFNjb3BlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcApAQCAtODcsMjQgKzg3LDI0IEBAIEpTVmFsdWUgSlNX
b3JrZXJHbG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyhFeGVjU3RhdGUqIGV4ZWMpCiAKIEpTVmFs
dWUgSlNXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0g
ICAgT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uID0gU2NoZWR1bGVkQWN0aW9uOjpjcmVh
dGUoZXhlYywgZ2xvYmFsT2JqZWN0KCktPndvcmxkKCksIGltcGwoKS5jb250ZW50U2VjdXJpdHlQ
b2xpY3koKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uID0g
U2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KCktPndvcmxkKCksIGlt
cGwoKS5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBpZiAoIWFjdGlvbikKICAg
ICAgICAgcmV0dXJuIGpzTnVtYmVyKDApOwogICAgIGludCBkZWxheSA9IGV4ZWMtPmFyZ3VtZW50
KDEpLnRvSW50MzIoZXhlYyk7Ci0gICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5zZXRUaW1lb3V0
KGFjdGlvbi5yZWxlYXNlKCksIGRlbGF5KSk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5z
ZXRUaW1lb3V0KHN0ZDo6bW92ZShhY3Rpb24pLCBkZWxheSkpOwogfQogCiBKU1ZhbHVlIEpTV29y
a2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBPd25Q
dHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24gPSBTY2hlZHVsZWRBY3Rpb246OmNyZWF0ZShleGVj
LCBnbG9iYWxPYmplY3QoKS0+d29ybGQoKSwgaW1wbCgpLmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24gPSBTY2hlZHVs
ZWRBY3Rpb246OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QoKS0+d29ybGQoKSwgaW1wbCgpLmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIGlmICghYWN0aW9uKQogICAgICAgICBy
ZXR1cm4ganNOdW1iZXIoMCk7CiAgICAgaW50IGRlbGF5ID0gZXhlYy0+YXJndW1lbnQoMSkudG9J
bnQzMihleGVjKTsKLSAgICByZXR1cm4ganNOdW1iZXIoaW1wbCgpLnNldEludGVydmFsKGFjdGlv
bi5yZWxlYXNlKCksIGRlbGF5KSk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5zZXRJbnRl
cnZhbChzdGQ6Om1vdmUoYWN0aW9uKSwgZGVsYXkpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAK
aW5kZXggZjU5NjM3MTIwOWJiNzEyMTM2MWE1MTZhZDcyNGNhNTIzYWI3NzU3ZS4uMzdjNzcyOGVk
OWU2MmQ0YmVhYzZjYWY3YTMwNWRlZGVmMWQ2YWQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc093blB0cjxTY2hlZHVs
ZWRBY3Rpb24+IFNjaGVkdWxlZEFjdGlvbjo6Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgRE9NV3Jh
cHBlcldvcmxkJiBpc29sYXRlZFdvcmxkLCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIHBvbGljeSkK
K3N0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IFNjaGVkdWxlZEFjdGlvbjo6Y3JlYXRl
KEV4ZWNTdGF0ZSogZXhlYywgRE9NV3JhcHBlcldvcmxkJiBpc29sYXRlZFdvcmxkLCBDb250ZW50
U2VjdXJpdHlQb2xpY3kqIHBvbGljeSkKIHsKICAgICBKU1ZhbHVlIHYgPSBleGVjLT5hcmd1bWVu
dCgwKTsKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKQEAgLTU2LDEwICs1NiwxMCBAQCBQYXNzT3du
UHRyPFNjaGVkdWxlZEFjdGlvbj4gU2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoRXhlY1N0YXRlKiBl
eGVjLCBET01XcmFwcGVyVwogICAgICAgICBTdHJpbmcgc3RyaW5nID0gdi50b1N0cmluZyhleGVj
KS0+dmFsdWUoZXhlYyk7CiAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjaGVk
dWxlZEFjdGlvbihzdHJpbmcsIGlzb2xhdGVkV29ybGQpKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+KG5ldyBTY2hlZHVsZWRBY3Rpb24oc3RyaW5nLCBp
c29sYXRlZFdvcmxkKSk7CiAgICAgfQogCi0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY2hlZHVs
ZWRBY3Rpb24oZXhlYywgdiwgaXNvbGF0ZWRXb3JsZCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPihuZXcgU2NoZWR1bGVkQWN0aW9uKGV4ZWMsIHYsIGlzb2xh
dGVkV29ybGQpKTsKIH0KIAogU2NoZWR1bGVkQWN0aW9uOjpTY2hlZHVsZWRBY3Rpb24oRXhlY1N0
YXRlKiBleGVjLCBKU1ZhbHVlIGZ1bmN0aW9uLCBET01XcmFwcGVyV29ybGQmIGlzb2xhdGVkV29y
bGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4
IGMxZjYyOGY5YjRmMzM0MTI2YTNkNmMzNzU1ZTY2NzcwMDlmZmU0M2IuLmE1OGQ5ZTViMzRkM2Q1
MmRkZTQ3NDJkMWU5NGM3N2E1OTZkZDFjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC0yMyw4ICsyMyw4IEBACiAjaW5jbHVkZSAiSlNET01C
aW5kaW5nLmgiCiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNsdWRlIDxoZWFwL1N0cm9u
Z0lubGluZXMuaD4KKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NlbGwu
aD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDYsNyArNDYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVsZWRBY3Rp
b24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3Js
ZCwgQ29udGVudFNlY3VyaXR5UG9saWN5Kik7CisgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29y
bGQmIGlzb2xhdGVkV29ybGQsIENvbnRlbnRTZWN1cml0eVBvbGljeSopOwogCiAgICAgICAgIHZv
aWQgZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1l
ci5jcHAKaW5kZXggNWJmYjc0YmY4MzhlZTJkNDBiMDMxZDdhMmFkODdmYTlhMTJmNzhkOS4uOWUz
ZWU0NWYwOTBhMjc4YjFjNzI5MzI2NmZmMGRhMDU2YmY3MDA0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5jcHAKQEAgLTU4LDEwICs1OCwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKGludCBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKICAgICAgICAg
JiYgbmVzdGluZ0xldmVsID09IDE7IC8vIEdlc3R1cmVzIHNob3VsZCBub3QgYmUgZm9yd2FyZGVk
IHRvIG5lc3RlZCB0aW1lcnMuCiB9CiAKLURPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBp
bnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKK0RPTVRpbWVyOjpET01UaW1lcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9u
PiBhY3Rpb24sIGludCBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFi
bGVUaW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwodGltZXJOZXN0aW5nTGV2ZWwg
KyAxKQotICAgICwgbV9hY3Rpb24oYWN0aW9uKQorICAgICwgbV9hY3Rpb24oc3RkOjptb3ZlKGFj
dGlvbikpCiAgICAgLCBtX29yaWdpbmFsSW50ZXJ2YWwoaW50ZXJ2YWwpCiAgICAgLCBtX3Nob3Vs
ZEZvcndhcmRVc2VyR2VzdHVyZShzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoaW50ZXJ2YWwsIG1f
bmVzdGluZ0xldmVsKSkKIHsKQEAgLTgzLDEyICs4MywxMiBAQCBET01UaW1lcjo6fkRPTVRpbWVy
KCkKICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5yZW1vdmVUaW1lb3V0KG1fdGlt
ZW91dElkKTsKIH0KIAotaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1l
b3V0LCBib29sIHNpbmdsZVNob3QpCitpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNv
bnN0cnVjdG9yIGxpbmtzIHRoZSBuZXcgdGltZXIgaW50byBhIGxpc3Qgb2YgQWN0aXZlRE9NT2Jq
ZWN0cyBoZWxkIGJ5IHRoZSAnY29udGV4dCcuCiAgICAgLy8gVGhlIHRpbWVyIGlzIGRlbGV0ZWQg
d2hlbiBjb250ZXh0IGlzIGRlbGV0ZWQgKERPTVRpbWVyOjpjb250ZXh0RGVzdHJveWVkKSBvciBl
eHBsaWNpdGx5IHZpYSBET01UaW1lcjo6cmVtb3ZlQnlJZCgpLAogICAgIC8vIG9yIGlmIGl0IGlz
IGEgb25lLXRpbWUgdGltZXIgYW5kIGl0IGhhcyBmaXJlZCAoRE9NVGltZXI6OmZpcmVkKS4KLSAg
ICBET01UaW1lciogdGltZXIgPSBuZXcgRE9NVGltZXIoY29udGV4dCwgYWN0aW9uLCB0aW1lb3V0
LCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lciogdGltZXIgPSBuZXcgRE9NVGltZXIoY29udGV4
dCwgc3RkOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIHNpbmdsZVNob3QpOwogI2lmIFBMQVRGT1JN
KElPUykKICAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKSB7CiAgICAgICAgIERvY3VtZW50
JiBkb2N1bWVudCA9IHRvRG9jdW1lbnQoKmNvbnRleHQpOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHZv
aWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICB9CiAKICAgICAvLyBEZWxldGUgdGltZXIgYmVmb3Jl
IGV4ZWN1dGluZyB0aGUgYWN0aW9uIGZvciBvbmUtc2hvdCB0aW1lcnMuCi0gICAgT3duUHRyPFNj
aGVkdWxlZEFjdGlvbj4gYWN0aW9uID0gbV9hY3Rpb24ucmVsZWFzZSgpOworICAgIFNjaGVkdWxl
ZEFjdGlvbiogYWN0aW9uID0gbV9hY3Rpb24ucmVsZWFzZSgpOwogCiAgICAgLy8gTm8gYWNjZXNz
IHRvIG1lbWJlciB2YXJpYWJsZXMgYWZ0ZXIgdGhpcyBwb2ludC4KICAgICBkZWxldGUgdGhpczsK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIERPTVRpbWVyOjpkaWRTdG9wKCkKICAgICAvLyBOZWVk
IHRvIHJlbGVhc2UgSlMgb2JqZWN0cyBwb3RlbnRpYWxseSBwcm90ZWN0ZWQgYnkgU2NoZWR1bGVk
QWN0aW9uCiAgICAgLy8gYmVjYXVzZSB0aGV5IGNhbiBmb3JtIGNpcmN1bGFyIHJlZmVyZW5jZXMg
YmFjayB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIC8vIHdoaWNoIHdpbGwgY2F1
c2UgYSBtZW1vcnkgbGVhay4KLSAgICBtX2FjdGlvbi5jbGVhcigpOworICAgIG1fYWN0aW9uID0g
bnVsbHB0cjsKIH0KIAogdm9pZCBET01UaW1lcjo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwo
ZG91YmxlIG9sZE1pbmltdW1UaW1lckludGVydmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCmluZGV4
IDVlZDA1ZTIyZGE2MDE3NjU0OWM3OTk2MDRiOGVjMzBiYWM0NjA2NzguLjlmMWNiYWE0YzA3NGM4
ZDY5MjEzOGUyNzg5NzFkNjljOGQ4Y2Y4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTI4
LDggKzI4LDcgQEAKICNkZWZpbmUgRE9NVGltZXJfaAogCiAjaW5jbHVkZSAiU3VzcGVuZGFibGVU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgorI2luY2x1ZGUgPG1lbW9yeT4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MCw3
ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+RE9NVGltZXIo
KTsKICAgICAgICAgLy8gQ3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgc3RhcnRzIGl0CiAgICAgICAgIC8vIGFuZCByZXR1cm5zIGl0
cyBJZC4KLSAgICAgICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNo
b3QpOworICAgICAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAgICAgLy8gQWRqdXN0IHRvIGEgY2hhbmdl
IGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0J3MgbWluaW11bSB0aW1lciBpbnRlcnZhbC4K
QEAgLTQ5LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGFkanVz
dE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsKIAogICAgICAgICAvLyBBY3Rp
dmVET01PYmplY3QKQEAgLTY1LDcgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIGludCBtX3RpbWVvdXRJZDsKICAgICAgICAgaW50IG1fbmVzdGluZ0xldmVsOwotICAgICAg
ICBPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKKyAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247CiAgICAgICAgIGludCBtX29yaWdpbmFsSW50
ZXJ2YWw7CiAgICAgICAgIGJvb2wgbV9zaG91bGRGb3J3YXJkVXNlckdlc3R1cmU7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBmMjA2ZGQzY2NkMTdiZGQwZmI0MTI1YzZh
NmYwZGFkYjA3MTIyMGIxLi41OWI2YjE1Nzc3MWM4MzUzYTFlNjlmMTNlNjBhZmYzYWIzZTdiYmU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNTEyLDE0ICsxNTEyLDE0IEBAIHZv
aWQgRE9NV2luZG93OjpyZXNpemVUbyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KSBjb25zdAog
ICAgIHBhZ2UtPmNocm9tZSgpLnNldFdpbmRvd1JlY3QoYWRqdXN0V2luZG93UmVjdChwYWdlLCB1
cGRhdGUpKTsKIH0KIAotaW50IERPTVdpbmRvdzo6c2V0VGltZW91dChQYXNzT3duUHRyPFNjaGVk
dWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYgZWMpCitpbnQg
RE9NV2luZG93OjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFj
dGlvbiwgaW50IHRpbWVvdXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYg
KCFjb250ZXh0KSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwogICAgICAgICBy
ZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbChjb250ZXh0LCBh
Y3Rpb24sIHRpbWVvdXQsIHRydWUpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbChjb250
ZXh0LCBzdGQ6Om1vdmUoYWN0aW9uKSwgdGltZW91dCwgdHJ1ZSk7CiB9CiAKIHZvaWQgRE9NV2lu
ZG93OjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE1NDYsMTQgKzE1NDYsMTQgQEAg
dm9pZCBET01XaW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQogICAgIERPTVRpbWVy
OjpyZW1vdmVCeUlkKGNvbnRleHQsIHRpbWVvdXRJZCk7CiB9CiAKLWludCBET01XaW5kb3c6OnNl
dEludGVydmFsKFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0
LCBFeGNlcHRpb25Db2RlJiBlYykKK2ludCBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBE
T01UaW1lcjo6aW5zdGFsbChjb250ZXh0LCBhY3Rpb24sIHRpbWVvdXQsIGZhbHNlKTsKKyAgICBy
ZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoY29udGV4dCwgc3RkOjptb3ZlKGFjdGlvbiksIHRpbWVv
dXQsIGZhbHNlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVv
dXRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGFjOTRjOGEwYTdlZDY0NWJlYTdjMjdm
Yzc1YjE2NjYzYTM3NzYwYmIuLjk2ZDk4ZjcwZmRlNjg1MzI1MTc4YWY5ZTllZjQ2ZTZiZTVmZmI3
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IlVSTC5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25h
bD4KKyNpbmNsdWRlIDxtZW1vcnk+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogY2xhc3MgU2Ny
aXB0Q2FsbFN0YWNrOwpAQCAtMjUzLDkgKzI1NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCByZXNpemVUbyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KSBjb25zdDsKIAog
ICAgICAgICAvLyBUaW1lcnMKLSAgICAgICAgaW50IHNldFRpbWVvdXQoUGFzc093blB0cjxTY2hl
ZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYpOworICAgICAgICBpbnQg
c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQs
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdm9pZCBjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJ
ZCk7Ci0gICAgICAgIGludCBzZXRJbnRlcnZhbChQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4s
IGludCB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJik7CisgICAgICAgIGludCBzZXRJbnRlcnZhbChz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICAgICAgdm9pZCBjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpOwogCiAgICAg
ICAgIC8vIFdlYktpdCBhbmltYXRpb24gZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckV2ZW50UXVldWUuaAppbmRleCAxYzkyODQ0ZjkyMGQ3ZTEyMDE0YjIxZGRhOWQ4MTE1
ZGI3NjIzYTI2Li45YTA1NzU2ODExOTI5MjMwYjRiZWU1NzgwZGVjODQxOWQ1NWEyNDdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckV2ZW50UXVldWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckV2ZW50UXVldWUuaApAQCAtMjksNyArMjksNiBA
QAogCiAjaW5jbHVkZSAiRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDcyMmQ2Yjk2
NGJlZTc4ODQ3NTM5NjYxYmI0Mjc4MTU2YjUxYjc2YjkuLmI4MThlMDg4YTUwMGRjNWNlYzU5MGRh
YTQxM2Y3ZjgyNmU3YjRkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0CiAg
ICAgOiBtX3VybCh1cmwpCiAgICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAgICAgLCBtX2dy
b3VwU2V0dGluZ3Moc3RkOjptb3ZlKHNldHRpbmdzKSkKLSAgICAsIG1fc2NyaXB0KGFkb3B0UHRy
KG5ldyBXb3JrZXJTY3JpcHRDb250cm9sbGVyKHRoaXMpKSkKKyAgICAsIG1fc2NyaXB0KHN0ZDo6
bWFrZV91bmlxdWU8V29ya2VyU2NyaXB0Q29udHJvbGxlcj4odGhpcykpCiAgICAgLCBtX3RocmVh
ZCh0aHJlYWQpCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAsIG1fd29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI+KCp0
aGlzKSkKQEAgLTE1Myw5ICsxNTMsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFz
ayhUYXNrIHRhc2spCiAgICAgdGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKHN0ZDo6bW92ZSh0
YXNrKSk7CiB9CiAKLWludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChQYXNzT3duUHRy
PFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKK2ludCBXb3JrZXJHbG9iYWxT
Y29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
IGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIGFjdGlvbiwgdGltZW91dCwgdHJ1ZSk7CisgICAgcmV0dXJuIERPTVRp
bWVyOjppbnN0YWxsKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjptb3ZlKGFjdGlvbiks
IHRpbWVvdXQsIHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVv
dXQoaW50IHRpbWVvdXRJZCkKQEAgLTE2Myw5ICsxNjMsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNj
b3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKICAgICBET01UaW1lcjo6cmVtb3ZlQnlJ
ZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRpbWVvdXRJZCk7CiB9CiAKLWludCBXb3JrZXJH
bG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwoUGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgaW50IHRpbWVvdXQpCitpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgYWN0aW9u
LCB0aW1lb3V0LCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIGZhbHNlKTsKIH0K
IAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDAwMTg0NjY3
ODY5ZDQ1MTIxY2FmYWUxM2M4NzlkYzJlMGE0NmU5YTQuLjliZDg5OWUzZjgyNjgwNDk4MDQxYzFm
ZjQ5MDE5MDFjMTg3NzEwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKQEAgLTM1LDkgKzM1LDkgQEAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIldvcmtlclNj
cmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzIsNyArNzIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSkgb3ZlcnJpZGU7CiAKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxl
ciogc2NyaXB0KCkgeyByZXR1cm4gbV9zY3JpcHQuZ2V0KCk7IH0KLSAgICAgICAgdm9pZCBjbGVh
clNjcmlwdCgpIHsgbV9zY3JpcHQuY2xlYXIoKTsgfQorICAgICAgICB2b2lkIGNsZWFyU2NyaXB0
KCkgeyBtX3NjcmlwdCA9IG51bGxwdHI7IH0KIAogICAgICAgICBXb3JrZXJUaHJlYWQmIHRocmVh
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyZWFkOyB9CiAKQEAgLTk0LDkgKzk0LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBXb3JrZXJOYXZpZ2F0b3IqIG5hdmlnYXRvcigpIGNvbnN0
OwogCiAgICAgICAgIC8vIFRpbWVycwotICAgICAgICBpbnQgc2V0VGltZW91dChQYXNzT3duUHRy
PFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsKKyAgICAgICAgaW50IHNldFRpbWVvdXQo
c3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsKICAgICAgICAg
dm9pZCBjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCk7Ci0gICAgICAgIGludCBzZXRJbnRlcnZh
bChQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsKKyAgICAgICAgaW50
IHNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91
dCk7CiAgICAgICAgIHZvaWQgY2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKTsKIAogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb250ZXh0VGhyZWFkKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xNjcs
NyArMTY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBtdXRhYmxlIFJlZlB0cjxX
b3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2Vy
TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKIAotICAgICAgICBPd25QdHI8V29ya2VyU2NyaXB0Q29u
dHJvbGxlcj4gbV9zY3JpcHQ7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJTY3JpcHRD
b250cm9sbGVyPiBtX3NjcmlwdDsKICAgICAgICAgV29ya2VyVGhyZWFkJiBtX3RocmVhZDsKIAog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckxvYWRlclByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckxvYWRl
clByb3h5LmgKaW5kZXggZGYzMDRkYzVkNTAyNThjOTcxMjBhZjcwYjYyOTA5MGQ2OTU0NmYzOS4u
NmVkMzU4NzZmZDU2OWM5OGE2NmM4ZWUwNTI0M2FhYzk1ODA5Njg2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2FkZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMDJi
MDhkNjAzY2E0ZTRkN2RmNWIzNWZjMDM2MTBmOWRjNmY2Njg0NC4uNTY0ZGVlOThhOTdhMzk5MTBh
YWQwYjQwMmFjODY5MTliYzRmYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPG1lbW9yeT4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgot
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggYjY0YzJlNjY5N2JjNjU1ODFk
MWRlYTIwNDkwYWVkMjU0MjkzM2U2ZS4uMmE4ODUyZmJlNDAyMjJkMTA4NGQ3OTdiN2U0Yjc2MTBi
MDlhMWQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29w
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC04
Nyw3ICs4Nyw3IEBAIHByaXZhdGU6CiB9OwogCiBXb3JrZXJSdW5Mb29wOjpXb3JrZXJSdW5Mb29w
KCkKLSAgICA6IG1fc2hhcmVkVGltZXIoYWRvcHRQdHIobmV3IFdvcmtlclNoYXJlZFRpbWVyKSkK
KyAgICA6IG1fc2hhcmVkVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJTaGFyZWRUaW1lcj4o
KSkKICAgICAsIG1fbmVzdGVkQ291bnQoMCkKICAgICAsIG1fdW5pcXVlSWQoMCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggZjIzYzMwZjViMzJhN2Q0ZjlkMTkx
ODViYmRiNGExMDg3YTY5NzE1Ni4uNzZhNDZmMjE0MjQ2M2IxN2RhNjVjNThjMWU2ZTE4Y2IyNDA5
NzA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTMyLDkgKzMy
LDggQEAKICNkZWZpbmUgV29ya2VyUnVuTG9vcF9oCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCisjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVl
dWUuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC05MCw3ICs4OSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBydW5DbGVhbnVwVGFza3MoV29ya2VyR2xvYmFsU2NvcGUq
KTsKIAogICAgICAgICBNZXNzYWdlUXVldWU8VGFzaz4gbV9tZXNzYWdlUXVldWU7Ci0gICAgICAg
IE93blB0cjxXb3JrZXJTaGFyZWRUaW1lcj4gbV9zaGFyZWRUaW1lcjsKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFdvcmtlclNoYXJlZFRpbWVyPiBtX3NoYXJlZFRpbWVyOwogICAgICAgICBpbnQg
bV9uZXN0ZWRDb3VudDsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX3VuaXF1ZUlkOwogICAgIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXgg
NjIyM2ZmZmQ5NzFkOTFmMDY0NTQ1NjY0YjJlM2FjMjgwYzRjYmI3Mi4uZmE0MWY0MGNlMzA4NGM5
NDY4NzMxYWNkNmZhZjY4MzhhMjVlZWFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAj
aW5jbHVkZSAiV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC01
OSw3ICs1OCw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpCiB7CiAgICAgbV91cmwgPSB1cmw7
CiAKLSAgICBPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0KGNyZWF0ZVJlc291cmNlUmVx
dWVzdCgpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0KGNy
ZWF0ZVJlc291cmNlUmVxdWVzdCgpKTsKICAgICBpZiAoIXJlcXVlc3QpCiAgICAgICAgIHJldHVy
bjsKIApAQCAtNzksNyArNzgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dAogICAgIG1fY2xp
ZW50ID0gY2xpZW50OwogICAgIG1fdXJsID0gdXJsOwogCi0gICAgT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gcmVxdWVzdChjcmVhdGVSZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgc3RkOjp1bmlxdWVf
cHRyPFJlc291cmNlUmVxdWVzdD4gcmVxdWVzdChjcmVhdGVSZXNvdXJjZVJlcXVlc3QoKSk7CiAg
ICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKQEAgLTk5LDExICs5OCwxMSBAQCBj
b25zdCBVUkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VVUkwoKSBjb25zdAogICAgIHJl
dHVybiBtX3Jlc3BvbnNlVVJMOwogfQogCi1QYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gV29y
a2VyU2NyaXB0TG9hZGVyOjpjcmVhdGVSZXNvdXJjZVJlcXVlc3QoKQorc3RkOjp1bmlxdWVfcHRy
PFJlc291cmNlUmVxdWVzdD4gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGVSZXNvdXJjZVJlcXVl
c3QoKQogewotICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdFB0cihu
ZXcgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSk7CisgICAgYXV0byByZXF1ZXN0ID0gc3RkOjptYWtl
X3VuaXF1ZTxSZXNvdXJjZVJlcXVlc3Q+KG1fdXJsKTsKICAgICByZXF1ZXN0LT5zZXRIVFRQTWV0
aG9kKCJHRVQiKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHN0
ZDo6bW92ZShyZXF1ZXN0KTsKIH0KICAgICAKIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5oCmluZGV4IGE3MzVlNmI0ZWMxMDg0NGEzODhlMWQyYzMzOTU4ZDA4OTM2ODllOTkuLjlh
YWY2NjQ2OTk2ZjI4MjI4YTBiNzcyZmI5MjRhNTFkMTRhYmI0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKICNp
bmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCi0KKyNpbmNsdWRlIDxtZW1vcnk+CiAj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC03Nyw3ICs3Nyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgV29ya2VyU2NyaXB0TG9hZGVyKCk7CiAgICAgICAgIH5Xb3JrZXJT
Y3JpcHRMb2FkZXIoKTsKIAotICAgICAgICBQYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gY3Jl
YXRlUmVzb3VyY2VSZXF1ZXN0KCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZXNvdXJjZVJl
cXVlc3Q+IGNyZWF0ZVJlc291cmNlUmVxdWVzdCgpOwogICAgICAgICB2b2lkIG5vdGlmeUZpbmlz
aGVkKCk7CiAKICAgICAgICAgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2NsaWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA0NDBiMDZjY2Y0MTA2YzI3
MjhmYjIxMGZlNWYyOWMyMzEyNjgxZmZhLi4yNGFkYzZjOGU5MWVlYmFjNzQ5OTNhODkzNjY5ZmQ0
YTk0YWE3MThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC03
OSwxMCArNzksNyBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkK
IHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4gY3Jl
YXRlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
R3JvdXBTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQ
b2xpY3lUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShzY3JpcHRVUkws
IHVzZXJBZ2VudCwgc2V0dGluZ3MsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3Vy
aXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pKTsKLSAgICB9
CisgICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdzKiwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNl
Y3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNl
Y3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7CiAKICAg
ICBVUkwgbV9zY3JpcHRVUkw7CiAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpAQCAtOTIsOCArODks
NiBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIG1fY29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVR5
cGU7CiAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdpbjsKLXByaXZhdGU6Ci0g
ICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdzKiwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3Vy
aXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3Vy
aXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7CiB9OwogCiBX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdz
KiBzZXR0aW5ncywgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1v
ZGUgc3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCkBAIC0xMTgsNyArMTEzLDcgQEAgV29ya2Vy
VGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBjb25zdAogICAgIDogbV90aHJlYWRJRCgwKQogICAgICwgbV93b3JrZXJMb2Fk
ZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkKICAgICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHko
d29ya2VyUmVwb3J0aW5nUHJveHkpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhOjpjcmVhdGUoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNldHRpbmdzLCBzb3VyY2VD
b2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9s
aWN5VHlwZSwgdG9wT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1cERhdGEoc3RkOjptYWtlX3VuaXF1
ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNldHRpbmdz
LCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNl
Y3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKSkKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmljYXRpb25DbGll
bnQoMCkKICNlbmRpZgpAQCAtMTgwLDcgKzE3NSw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3Jr
ZXJUaHJlYWQoKQogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAgZGF0YSB0byBjYXVzZSBpdHMgbWVt
YmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3b3JrZXIncyB0aHJlYWQgKHNpbmNl
CiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2JqZWN0cyBhcmUgaGFwcGVuaW5nIG9u
IHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhhdAogICAgIC8vIFdvcmtlclRocmVh
ZDo6fldvcmtlclRocmVhZCBoYXBwZW5zIG9uIGEgZGlmZmVyZW50IHRocmVhZCB3aGVyZSBpdCB3
YXMgY3JlYXRlZC4KLSAgICBtX3N0YXJ0dXBEYXRhLmNsZWFyKCk7CisgICAgbV9zdGFydHVwRGF0
YSA9IG51bGxwdHI7CiAKICAgICBydW5FdmVudExvb3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKaW5kZXggNDM1OWVlM2FiZjc4MGMwNjgyYzQ2NTFmNTJlZjBjZmZmN2Q5
OTY4Yy4uMzhkMGQ4MzA3NTlmODNlZGY2MjJiZDVlYzViNmZjNDY2ZmZjYWI1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiR3JvdXBTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC05Miw3ICs5Miw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPiBt
X3dvcmtlckdsb2JhbFNjb3BlOwogICAgICAgICBNdXRleCBtX3RocmVhZENyZWF0aW9uTXV0ZXg7
CiAKLSAgICAgICAgT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBtX3N0YXJ0dXBEYXRh
OworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IG1fc3Rh
cnR1cERhdGE7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DbGllbnQqIG1fbm90aWZpY2F0aW9u
Q2xpZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231260</attachid>
            <date>2014-05-11 05:26:22 -0700</date>
            <delta_ts>2014-05-11 12:11:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132401-20140511052557.patch</filename>
            <type>text/plain</type>
            <size>28574</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NjMDliMTMxZGQ2MjFl
NDE4ZTBjMjA0ZDhiZGMyNTMyYjE1ZjlhNC4uNzU5MWYyMGZkOWY1NzcwODgyZGViMzFmMDhkYTIy
NTA5Njk5NmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTA1LTExICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvIGNvZGUgdG8gc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI0MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIHVzZXMgb2YgT3duUHRyIGFu
ZCBQYXNzT3duUHRyIGluIGNvZGUgdW5kZXIgU291cmNlL1dlYkNvcmUvd29ya2VycyAoYW5kIHJl
bGF0ZWQgcGxhY2VzKQorICAgICAgICB3aXRoIHN0ZDo6dW5pcXVlX3B0ci4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NV2luZG93OjpzZXRUaW1lb3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93Ojpz
ZXRJbnRlcnZhbCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFs
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1NjaGVkdWxlZEFjdGlvbi5oOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRp
bWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpmaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZGlkU3RvcCk6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldElu
dGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyRXZlbnRRdWV1ZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KToK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRJbnRlcnZhbCk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyR2xvYmFsU2NvcGU6OmNsZWFyU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckxv
YWRlclByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJSdW5Mb29wOjpXb3JrZXJSdW5Mb29wKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclJ1
bkxvb3AuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlUmVzb3VyY2VSZXF1
ZXN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVh
ZDo6V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpjcmVh
dGUpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisKIDIwMTQt
MDUtMTEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQg
d2l0aCBzaW1wbGUgbGluZSBsYXlvdXQgbm90IGdldHRpbmcgcHVzaGVkIGJlbG93IGZsb2F0IHdo
ZW4gdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBmb3IgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA2ZDNlZDk4MzM3OTU3OTZl
ZjZkYzQ2YmYyYzY3ZjJiMjhlZDg1NWM3Li40MjEwMmYyODViNjFlZWIyOGM2ZWYzMWU1OWFjYTlm
YjE1ZWRlN2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwCkBAIC01OTQsNyArNTk0LDcgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6cG9z
dE1lc3NhZ2UoRXhlY1N0YXRlKiBleGVjKQogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0VGltZW91
dChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBjb250ZW50
U2VjdXJpdHlQb2xpY3kgPSBpbXBsKCkuZG9jdW1lbnQoKSA/IGltcGwoKS5kb2N1bWVudCgpLT5j
b250ZW50U2VjdXJpdHlQb2xpY3koKSA6IDA7Ci0gICAgT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4g
YWN0aW9uID0gU2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KCktPndv
cmxkKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4gYWN0aW9uID0gU2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFs
T2JqZWN0KCktPndvcmxkKCksIGNvbnRlbnRTZWN1cml0eVBvbGljeSk7CiAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIApAQCAtNjA0
LDcgKzYwNCw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnNldFRpbWVvdXQoRXhlY1N0YXRlKiBl
eGVjKQogICAgIGludCBkZWxheSA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvSW50MzIoZXhlYyk7CiAK
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBpbnQgcmVzdWx0ID0gaW1wbCgpLnNldFRp
bWVvdXQoYWN0aW9uLnJlbGVhc2UoKSwgZGVsYXksIGVjKTsKKyAgICBpbnQgcmVzdWx0ID0gaW1w
bCgpLnNldFRpbWVvdXQoc3RkOjptb3ZlKGFjdGlvbiksIGRlbGF5LCBlYyk7CiAgICAgc2V0RE9N
RXhjZXB0aW9uKGV4ZWMsIGVjKTsKIAogICAgIHJldHVybiBqc051bWJlcihyZXN1bHQpOwpAQCAt
NjEzLDcgKzYxMyw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnNldFRpbWVvdXQoRXhlY1N0YXRl
KiBleGVjKQogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoRXhlY1N0YXRlKiBleGVj
KQogewogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSogY29udGVudFNlY3VyaXR5UG9saWN5ID0g
aW1wbCgpLmRvY3VtZW50KCkgPyBpbXBsKCkuZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCkgOiAwOwotICAgIE93blB0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiA9IFNjaGVkdWxl
ZEFjdGlvbjo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCgpLT53b3JsZCgpLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3kpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biA9IFNjaGVkdWxlZEFjdGlvbjo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCgpLT53b3JsZCgp
LCBjb250ZW50U2VjdXJpdHlQb2xpY3kpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgaW50IGRlbGF5ID0gZXhlYy0+YXJn
dW1lbnQoMSkudG9JbnQzMihleGVjKTsKQEAgLTYyMiw3ICs2MjIsNyBAQCBKU1ZhbHVlIEpTRE9N
V2luZG93OjpzZXRJbnRlcnZhbChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiBqc051
bWJlcigwKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGludCByZXN1bHQgPSBp
bXBsKCkuc2V0SW50ZXJ2YWwoYWN0aW9uLnJlbGVhc2UoKSwgZGVsYXksIGVjKTsKKyAgICBpbnQg
cmVzdWx0ID0gaW1wbCgpLnNldEludGVydmFsKHN0ZDo6bW92ZShhY3Rpb24pLCBkZWxheSwgZWMp
OwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAKICAgICByZXR1cm4ganNOdW1iZXIo
cmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
R2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggOGU2MTJhNDExNmQ5NTI2NWFiMmFhYjE4MzA4
NTVmYTI3NTQ5MjdmYS4uYTZkYWMyNmU4NzU1ZjRlM2VkMGE4NDRjOGQyNmZhYmY4OTQ2NzM2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9i
YWxTY29wZUN1c3RvbS5jcHAKQEAgLTg3LDI0ICs4NywyNCBAQCBKU1ZhbHVlIEpTV29ya2VyR2xv
YmFsU2NvcGU6OmltcG9ydFNjcmlwdHMoRXhlY1N0YXRlKiBleGVjKQogCiBKU1ZhbHVlIEpTV29y
a2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQoRXhlY1N0YXRlKiBleGVjKQogewotICAgIE93blB0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiA9IFNjaGVkdWxlZEFjdGlvbjo6Y3JlYXRlKGV4ZWMs
IGdsb2JhbE9iamVjdCgpLT53b3JsZCgpLCBpbXBsKCkuY29udGVudFNlY3VyaXR5UG9saWN5KCkp
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiA9IFNjaGVkdWxl
ZEFjdGlvbjo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCgpLT53b3JsZCgpLCBpbXBsKCkuY29u
dGVudFNlY3VyaXR5UG9saWN5KCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgaWYgKCFhY3Rpb24pCiAgICAgICAgIHJl
dHVybiBqc051bWJlcigwKTsKICAgICBpbnQgZGVsYXkgPSBleGVjLT5hcmd1bWVudCgxKS50b0lu
dDMyKGV4ZWMpOwotICAgIHJldHVybiBqc051bWJlcihpbXBsKCkuc2V0VGltZW91dChhY3Rpb24u
cmVsZWFzZSgpLCBkZWxheSkpOworICAgIHJldHVybiBqc051bWJlcihpbXBsKCkuc2V0VGltZW91
dChzdGQ6Om1vdmUoYWN0aW9uKSwgZGVsYXkpKTsKIH0KIAogSlNWYWx1ZSBKU1dvcmtlckdsb2Jh
bFNjb3BlOjpzZXRJbnRlcnZhbChFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgT3duUHRyPFNjaGVk
dWxlZEFjdGlvbj4gYWN0aW9uID0gU2NoZWR1bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgZ2xvYmFs
T2JqZWN0KCktPndvcmxkKCksIGltcGwoKS5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CisgICAg
c3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uID0gU2NoZWR1bGVkQWN0aW9u
OjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KCktPndvcmxkKCksIGltcGwoKS5jb250ZW50U2Vj
dXJpdHlQb2xpY3koKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBpZiAoIWFjdGlvbikKICAgICAgICAgcmV0dXJuIGpz
TnVtYmVyKDApOwogICAgIGludCBkZWxheSA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvSW50MzIoZXhl
Yyk7Ci0gICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5zZXRJbnRlcnZhbChhY3Rpb24ucmVsZWFz
ZSgpLCBkZWxheSkpOworICAgIHJldHVybiBqc051bWJlcihpbXBsKCkuc2V0SW50ZXJ2YWwoc3Rk
Ojptb3ZlKGFjdGlvbiksIGRlbGF5KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCmluZGV4IGY1
OTYzNzEyMDliYjcxMjEzNjFhNTE2YWQ3MjRjYTUyM2FiNzc1N2UuLjM3Yzc3MjhlZDllNjJkNGJl
YWM2Y2FmN2EzMDVkZWRlZjFkNmFkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NoZWR1bGVkQWN0aW9uLmNwcApAQCAtNDYsNyArNDYsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9u
PiBTY2hlZHVsZWRBY3Rpb246OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIERPTVdyYXBwZXJXb3Js
ZCYgaXNvbGF0ZWRXb3JsZCwgQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3kpCitzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBTY2hlZHVsZWRBY3Rpb246OmNyZWF0ZShFeGVjU3Rh
dGUqIGV4ZWMsIERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCwgQ29udGVudFNlY3VyaXR5
UG9saWN5KiBwb2xpY3kpCiB7CiAgICAgSlNWYWx1ZSB2ID0gZXhlYy0+YXJndW1lbnQoMCk7CiAg
ICAgQ2FsbERhdGEgY2FsbERhdGE7CkBAIC01NiwxMCArNTYsMTAgQEAgUGFzc093blB0cjxTY2hl
ZHVsZWRBY3Rpb24+IFNjaGVkdWxlZEFjdGlvbjo6Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgRE9N
V3JhcHBlclcKICAgICAgICAgU3RyaW5nIHN0cmluZyA9IHYudG9TdHJpbmcoZXhlYyktPnZhbHVl
KGV4ZWMpOwogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY2hlZHVsZWRBY3Rp
b24oc3RyaW5nLCBpc29sYXRlZFdvcmxkKSk7CisgICAgICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPihuZXcgU2NoZWR1bGVkQWN0aW9uKHN0cmluZywgaXNvbGF0ZWRX
b3JsZCkpOwogICAgIH0KIAotICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2NoZWR1bGVkQWN0aW9u
KGV4ZWMsIHYsIGlzb2xhdGVkV29ybGQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFNj
aGVkdWxlZEFjdGlvbj4obmV3IFNjaGVkdWxlZEFjdGlvbihleGVjLCB2LCBpc29sYXRlZFdvcmxk
KSk7CiB9CiAKIFNjaGVkdWxlZEFjdGlvbjo6U2NoZWR1bGVkQWN0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSBmdW5jdGlvbiwgRE9NV3JhcHBlcldvcmxkJiBpc29sYXRlZFdvcmxkKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCBjMWY2Mjhm
OWI0ZjMzNDEyNmEzZDZjMzc1NWU2Njc3MDA5ZmZlNDNiLi5hNThkOWU1YjM0ZDNkNTJkZGU0NzQy
ZDFlOTRjNzdhNTk2ZGQxYzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hl
ZHVsZWRBY3Rpb24uaApAQCAtMjMsOCArMjMsOCBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5o
IgogI2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CiAjaW5jbHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVz
Lmg+CisjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDZWxsLmg+Ci0jaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CiAgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQmIGlzb2xhdGVkV29ybGQsIENvbnRl
bnRTZWN1cml0eVBvbGljeSopOworICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldvcmxkJiBpc29s
YXRlZFdvcmxkLCBDb250ZW50U2VjdXJpdHlQb2xpY3kqKTsKIAogICAgICAgICB2b2lkIGV4ZWN1
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmlu
ZGV4IDIxNzgxZTZjNzRiYTc3MjEzYmQ5NDU5NjgwMjE5NzE0NmU3NDc2NjQuLjczZjcyMDdiMDlm
ZDA2NjQ4MTQyNzlhYWMwY2U0ZWQ5YTEzZWUwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3Bw
CkBAIC01OCwxMCArNTgsMTAgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShpbnQgaW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCiAgICAgICAgICYmIG5lc3Rp
bmdMZXZlbCA9PSAxOyAvLyBHZXN0dXJlcyBzaG91bGQgbm90IGJlIGZvcndhcmRlZCB0byBuZXN0
ZWQgdGltZXJzLgogfQogCi1ET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgUGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IGludGVy
dmFsLCBib29sIHNpbmdsZVNob3QpCitET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9u
LCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKICAgICA6IFN1c3BlbmRhYmxlVGltZXIo
Y29udGV4dCkKICAgICAsIG1fbmVzdGluZ0xldmVsKHRpbWVyTmVzdGluZ0xldmVsICsgMSkKLSAg
ICAsIG1fYWN0aW9uKGFjdGlvbikKKyAgICAsIG1fYWN0aW9uKHN0ZDo6bW92ZShhY3Rpb24pKQog
ICAgICwgbV9vcmlnaW5hbEludGVydmFsKGludGVydmFsKQogICAgICwgbV9zaG91bGRGb3J3YXJk
VXNlckdlc3R1cmUoc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGludGVydmFsLCBtX25lc3RpbmdM
ZXZlbCkpCiB7CkBAIC04MywxMiArODMsMTIgQEAgRE9NVGltZXI6On5ET01UaW1lcigpCiAgICAg
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cmVtb3ZlVGltZW91dChtX3RpbWVvdXRJZCk7
CiB9CiAKLWludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgYm9v
bCBzaW5nbGVTaG90KQoraW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50
IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBET01UaW1lciBjb25zdHJ1Y3Rv
ciBsaW5rcyB0aGUgbmV3IHRpbWVyIGludG8gYSBsaXN0IG9mIEFjdGl2ZURPTU9iamVjdHMgaGVs
ZCBieSB0aGUgJ2NvbnRleHQnLgogICAgIC8vIFRoZSB0aW1lciBpcyBkZWxldGVkIHdoZW4gY29u
dGV4dCBpcyBkZWxldGVkIChET01UaW1lcjo6Y29udGV4dERlc3Ryb3llZCkgb3IgZXhwbGljaXRs
eSB2aWEgRE9NVGltZXI6OnJlbW92ZUJ5SWQoKSwKICAgICAvLyBvciBpZiBpdCBpcyBhIG9uZS10
aW1lIHRpbWVyIGFuZCBpdCBoYXMgZmlyZWQgKERPTVRpbWVyOjpmaXJlZCkuCi0gICAgRE9NVGlt
ZXIqIHRpbWVyID0gbmV3IERPTVRpbWVyKGNvbnRleHQsIGFjdGlvbiwgdGltZW91dCwgc2luZ2xl
U2hvdCk7CisgICAgRE9NVGltZXIqIHRpbWVyID0gbmV3IERPTVRpbWVyKGNvbnRleHQsIHN0ZDo6
bW92ZShhY3Rpb24pLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKICNpZiBQTEFURk9STShJT1MpCiAg
ICAgaWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkgewogICAgICAgICBEb2N1bWVudCYgZG9jdW1l
bnQgPSB0b0RvY3VtZW50KCpjb250ZXh0KTsKQEAgLTE1Nyw3ICsxNTcsNyBAQCB2b2lkIERPTVRp
bWVyOjpmaXJlZCgpCiAgICAgfQogCiAgICAgLy8gRGVsZXRlIHRpbWVyIGJlZm9yZSBleGVjdXRp
bmcgdGhlIGFjdGlvbiBmb3Igb25lLXNob3QgdGltZXJzLgotICAgIE93blB0cjxTY2hlZHVsZWRB
Y3Rpb24+IGFjdGlvbiA9IG1fYWN0aW9uLnJlbGVhc2UoKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24gPSBzdGQ6Om1vdmUobV9hY3Rpb24pOwogCiAgICAgLy8g
Tm8gYWNjZXNzIHRvIG1lbWJlciB2YXJpYWJsZXMgYWZ0ZXIgdGhpcyBwb2ludC4KICAgICBkZWxl
dGUgdGhpczsKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIERPTVRpbWVyOjpkaWRTdG9wKCkKICAg
ICAvLyBOZWVkIHRvIHJlbGVhc2UgSlMgb2JqZWN0cyBwb3RlbnRpYWxseSBwcm90ZWN0ZWQgYnkg
U2NoZWR1bGVkQWN0aW9uCiAgICAgLy8gYmVjYXVzZSB0aGV5IGNhbiBmb3JtIGNpcmN1bGFyIHJl
ZmVyZW5jZXMgYmFjayB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAogICAgIC8vIHdoaWNo
IHdpbGwgY2F1c2UgYSBtZW1vcnkgbGVhay4KLSAgICBtX2FjdGlvbi5jbGVhcigpOworICAgIG1f
YWN0aW9uID0gbnVsbHB0cjsKIH0KIAogdm9pZCBET01UaW1lcjo6YWRqdXN0TWluaW11bVRpbWVy
SW50ZXJ2YWwoZG91YmxlIG9sZE1pbmltdW1UaW1lckludGVydmFsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1l
ci5oCmluZGV4IDVlZDA1ZTIyZGE2MDE3NjU0OWM3OTk2MDRiOGVjMzBiYWM0NjA2NzguLjlmMWNi
YWE0YzA3NGM4ZDY5MjEzOGUyNzg5NzFkNjljOGQ4Y2Y4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVy
LmgKQEAgLTI4LDggKzI4LDcgQEAKICNkZWZpbmUgRE9NVGltZXJfaAogCiAjaW5jbHVkZSAiU3Vz
cGVuZGFibGVUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgorI2luY2x1ZGUgPG1lbW9yeT4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00MCw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+
RE9NVGltZXIoKTsKICAgICAgICAgLy8gQ3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVj
aWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RhcnRzIGl0CiAgICAgICAgIC8vIGFuZCBy
ZXR1cm5zIGl0cyBJZC4KLSAgICAgICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0LCBib29s
IHNpbmdsZVNob3QpOworICAgICAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAgICAgLy8gQWRqdXN0IHRv
IGEgY2hhbmdlIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0J3MgbWluaW11bSB0aW1lciBp
bnRlcnZhbC4KQEAgLTQ5LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBvbGRNaW5pbXVtVGltZXJJbnRl
cnZhbCk7CiAKICAgICBwcml2YXRlOgotICAgICAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgaW50ZXJ2YWwsIGJvb2wg
c2luZ2xlU2hvdCk7CisgICAgICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IGludGVydmFsLCBib29sIHNpbmds
ZVNob3QpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsKIAogICAgICAg
ICAvLyBBY3RpdmVET01PYmplY3QKQEAgLTY1LDcgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIGludCBtX3RpbWVvdXRJZDsKICAgICAgICAgaW50IG1fbmVzdGluZ0xldmVs
OwotICAgICAgICBPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKKyAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247CiAgICAgICAgIGludCBtX29y
aWdpbmFsSW50ZXJ2YWw7CiAgICAgICAgIGJvb2wgbV9zaG91bGRGb3J3YXJkVXNlckdlc3R1cmU7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA1MmZhY2I2MjAwNjhmNzI4
ZDY2YWRmYzRhODY3NWY5MWY5ZThiZjVhLi5mZDA5NGQ5NzhiYjJkODQwM2Q0N2EwOTMyNDk2MjZh
ZWQ2NzIyMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNTEzLDE0ICsxNTEz
LDE0IEBAIHZvaWQgRE9NV2luZG93OjpyZXNpemVUbyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0
KSBjb25zdAogICAgIHBhZ2UtPmNocm9tZSgpLnNldFdpbmRvd1JlY3QoYWRqdXN0V2luZG93UmVj
dChwYWdlLCB1cGRhdGUpKTsKIH0KIAotaW50IERPTVdpbmRvdzo6c2V0VGltZW91dChQYXNzT3du
UHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCitpbnQgRE9NV2luZG93OjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRB
Y3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwog
ICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbChj
b250ZXh0LCBhY3Rpb24sIHRpbWVvdXQsIHRydWUpOworICAgIHJldHVybiBET01UaW1lcjo6aW5z
dGFsbChjb250ZXh0LCBzdGQ6Om1vdmUoYWN0aW9uKSwgdGltZW91dCwgdHJ1ZSk7CiB9CiAKIHZv
aWQgRE9NV2luZG93OjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE1NDcsMTQgKzE1
NDcsMTQgQEAgdm9pZCBET01XaW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQogICAg
IERPTVRpbWVyOjpyZW1vdmVCeUlkKGNvbnRleHQsIHRpbWVvdXRJZCk7CiB9CiAKLWludCBET01X
aW5kb3c6OnNldEludGVydmFsKFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGlu
dCB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJiBlYykKK2ludCBET01XaW5kb3c6OnNldEludGVydmFs
KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAg
IGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAg
IHJldHVybiBET01UaW1lcjo6aW5zdGFsbChjb250ZXh0LCBhY3Rpb24sIHRpbWVvdXQsIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoY29udGV4dCwgc3RkOjptb3ZlKGFjdGlv
biksIHRpbWVvdXQsIGZhbHNlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwo
aW50IHRpbWVvdXRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGFjOTRjOGEwYTdlZDY0
NWJlYTdjMjdmYzc1YjE2NjYzYTM3NzYwYmIuLjk2ZDk4ZjcwZmRlNjg1MzI1MTc4YWY5ZTllZjQ2
ZTZiZTVmZmI3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzMsNiArMzMsNyBAQAog
I2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8
ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDxtZW1vcnk+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
Y2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwpAQCAtMjUzLDkgKzI1NCw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdm9pZCByZXNpemVUbyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KSBj
b25zdDsKIAogICAgICAgICAvLyBUaW1lcnMKLSAgICAgICAgaW50IHNldFRpbWVvdXQoUGFzc093
blB0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYpOworICAg
ICAgICBpbnQgc2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50
IHRpbWVvdXQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdm9pZCBjbGVhclRpbWVvdXQoaW50
IHRpbWVvdXRJZCk7Ci0gICAgICAgIGludCBzZXRJbnRlcnZhbChQYXNzT3duUHRyPFNjaGVkdWxl
ZEFjdGlvbj4sIGludCB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJik7CisgICAgICAgIGludCBzZXRJ
bnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdm9pZCBjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQp
OwogCiAgICAgICAgIC8vIFdlYktpdCBhbmltYXRpb24gZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckV2ZW50UXVldWUuaAppbmRleCAxYzkyODQ0ZjkyMGQ3ZTEyMDE0YjIx
ZGRhOWQ4MTE1ZGI3NjIzYTI2Li45YTA1NzU2ODExOTI5MjMwYjRiZWU1NzgwZGVjODQxOWQ1NWEy
NDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckV2ZW50UXVldWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckV2ZW50UXVldWUuaApAQCAtMjks
NyArMjksNiBAQAogCiAjaW5jbHVkZSAiRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4
IGVmMmI3Mjk2MzYwZTk5ZTM5ODFmZDcxZTM2NGNhZDQzYjU0NmRlMjguLmFiYmM1NTZlYzhlZDM1
MTJkMGE3YjZkZWRhNjYzZTM0NjdmZjkwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFdvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIHN0CiAgICAgOiBtX3VybCh1cmwpCiAgICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAg
ICAgLCBtX2dyb3VwU2V0dGluZ3Moc3RkOjptb3ZlKHNldHRpbmdzKSkKLSAgICAsIG1fc2NyaXB0
KGFkb3B0UHRyKG5ldyBXb3JrZXJTY3JpcHRDb250cm9sbGVyKHRoaXMpKSkKKyAgICAsIG1fc2Ny
aXB0KHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyU2NyaXB0Q29udHJvbGxlcj4odGhpcykpCiAgICAg
LCBtX3RocmVhZCh0aHJlYWQpCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAsIG1fd29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRy
b2xsZXI+KCp0aGlzKSkKQEAgLTE1Miw5ICsxNTIsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3Bl
Ojpwb3N0VGFzayhUYXNrIHRhc2spCiAgICAgdGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKHN0
ZDo6bW92ZSh0YXNrKSk7CiB9CiAKLWludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChQ
YXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKK2ludCBXb3Jr
ZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9u
PiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGFjdGlvbiwgdGltZW91dCwgdHJ1ZSk7CisgICAgcmV0
dXJuIERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjptb3Zl
KGFjdGlvbiksIHRpbWVvdXQsIHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpj
bGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE2Miw5ICsxNjIsOSBAQCB2b2lkIFdvcmtl
ckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKICAgICBET01UaW1lcjo6
cmVtb3ZlQnlJZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRpbWVvdXRJZCk7CiB9CiAKLWlu
dCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwoUGFzc093blB0cjxTY2hlZHVsZWRBY3Rp
b24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCitpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVy
dmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQp
CiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgYWN0aW9uLCB0aW1lb3V0LCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxs
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIGZh
bHNlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGlt
ZW91dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4
IDAwMTg0NjY3ODY5ZDQ1MTIxY2FmYWUxM2M4NzlkYzJlMGE0NmU5YTQuLjliZDg5OWUzZjgyNjgw
NDk4MDQxYzFmZjQ5MDE5MDFjMTg3NzEwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmgKQEAgLTM1LDkgKzM1LDkgQEAKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUg
IldvcmtlclNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzIsNyArNzIsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgb3ZlcnJpZGU7CiAKICAgICAgICAgV29ya2VyU2NyaXB0
Q29udHJvbGxlciogc2NyaXB0KCkgeyByZXR1cm4gbV9zY3JpcHQuZ2V0KCk7IH0KLSAgICAgICAg
dm9pZCBjbGVhclNjcmlwdCgpIHsgbV9zY3JpcHQuY2xlYXIoKTsgfQorICAgICAgICB2b2lkIGNs
ZWFyU2NyaXB0KCkgeyBtX3NjcmlwdCA9IG51bGxwdHI7IH0KIAogICAgICAgICBXb3JrZXJUaHJl
YWQmIHRocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyZWFkOyB9CiAKQEAgLTk0LDkgKzk0LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXb3JrZXJOYXZpZ2F0b3IqIG5hdmlnYXRv
cigpIGNvbnN0OwogCiAgICAgICAgIC8vIFRpbWVycwotICAgICAgICBpbnQgc2V0VGltZW91dChQ
YXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsKKyAgICAgICAgaW50IHNl
dFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsK
ICAgICAgICAgdm9pZCBjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCk7Ci0gICAgICAgIGludCBz
ZXRJbnRlcnZhbChQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1lb3V0KTsKKyAg
ICAgICAgaW50IHNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBp
bnQgdGltZW91dCk7CiAgICAgICAgIHZvaWQgY2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKTsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZXh0VGhyZWFkKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC0xNjcsNyArMTY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBtdXRhYmxl
IFJlZlB0cjxXb3JrZXJMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8V29ya2VyTmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKIAotICAgICAgICBPd25QdHI8V29ya2Vy
U2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKICAgICAgICAgV29ya2VyVGhyZWFkJiBtX3Ro
cmVhZDsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckxvYWRlclByb3h5LmgKaW5kZXggZGYzMDRkYzVkNTAyNThjOTcxMjBhZjcwYjYyOTA5MGQ2
OTU0NmYzOS4uNmVkMzU4NzZmZDU2OWM5OGE2NmM4ZWUwNTI0M2FhYzk1ODA5Njg2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2FkZXJQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaApAQCAtMzMsNyArMzMsNiBA
QAogCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgK
aW5kZXggMDJiMDhkNjAzY2E0ZTRkN2RmNWIzNWZjMDM2MTBmOWRjNmY2Njg0NC4uNTY0ZGVlOThh
OTdhMzk5MTBhYWQwYjQwMmFjODY5MTliYzRmYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUg
PG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggYjY0YzJlNjY5
N2JjNjU1ODFkMWRlYTIwNDkwYWVkMjU0MjkzM2U2ZS4uMmE4ODUyZmJlNDAyMjJkMTA4NGQ3OTdi
N2U0Yjc2MTBiMDlhMWQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3Au
Y3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHByaXZhdGU6CiB9OwogCiBXb3JrZXJSdW5Mb29wOjpXb3Jr
ZXJSdW5Mb29wKCkKLSAgICA6IG1fc2hhcmVkVGltZXIoYWRvcHRQdHIobmV3IFdvcmtlclNoYXJl
ZFRpbWVyKSkKKyAgICA6IG1fc2hhcmVkVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJTaGFy
ZWRUaW1lcj4oKSkKICAgICAsIG1fbmVzdGVkQ291bnQoMCkKICAgICAsIG1fdW5pcXVlSWQoMCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggZjIzYzMwZjViMzJh
N2Q0ZjlkMTkxODViYmRiNGExMDg3YTY5NzE1Ni4uNzZhNDZmMjE0MjQ2M2IxN2RhNjVjNThjMWU2
ZTE4Y2IyNDA5NzA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJS
dW5Mb29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAg
LTMyLDkgKzMyLDggQEAKICNkZWZpbmUgV29ya2VyUnVuTG9vcF9oCiAKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9N
ZXNzYWdlUXVldWUuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC05MCw3ICs4OSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBydW5DbGVhbnVwVGFza3MoV29ya2VyR2xv
YmFsU2NvcGUqKTsKIAogICAgICAgICBNZXNzYWdlUXVldWU8VGFzaz4gbV9tZXNzYWdlUXVldWU7
Ci0gICAgICAgIE93blB0cjxXb3JrZXJTaGFyZWRUaW1lcj4gbV9zaGFyZWRUaW1lcjsKKyAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlclNoYXJlZFRpbWVyPiBtX3NoYXJlZFRpbWVyOwogICAg
ICAgICBpbnQgbV9uZXN0ZWRDb3VudDsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX3VuaXF1ZUlk
OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKaW5kZXggNjIyM2ZmZmQ5NzFkOTFmMDY0NTQ1NjY0YjJlM2FjMjgwYzRjYmI3Mi4uZmE0MWY0
MGNlMzA4NGM5NDY4NzMxYWNkNmZhZjY4MzhhMjVlZWFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIgotI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC01OSw3ICs1OCw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpCiB7CiAgICAgbV91
cmwgPSB1cmw7CiAKLSAgICBPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0KGNyZWF0ZVJl
c291cmNlUmVxdWVzdCgpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXF1ZXN0PiBy
ZXF1ZXN0KGNyZWF0ZVJlc291cmNlUmVxdWVzdCgpKTsKICAgICBpZiAoIXJlcXVlc3QpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNzksNyArNzgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6
bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dAog
ICAgIG1fY2xpZW50ID0gY2xpZW50OwogICAgIG1fdXJsID0gdXJsOwogCi0gICAgT3duUHRyPFJl
c291cmNlUmVxdWVzdD4gcmVxdWVzdChjcmVhdGVSZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlc291cmNlUmVxdWVzdD4gcmVxdWVzdChjcmVhdGVSZXNvdXJjZVJlcXVl
c3QoKSk7CiAgICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKQEAgLTk5LDExICs5
OCwxMSBAQCBjb25zdCBVUkwmIFdvcmtlclNjcmlwdExvYWRlcjo6cmVzcG9uc2VVUkwoKSBjb25z
dAogICAgIHJldHVybiBtX3Jlc3BvbnNlVVJMOwogfQogCi1QYXNzT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGVSZXNvdXJjZVJlcXVlc3QoKQorc3RkOjp1
bmlxdWVfcHRyPFJlc291cmNlUmVxdWVzdD4gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGVSZXNv
dXJjZVJlcXVlc3QoKQogewotICAgIE93blB0cjxSZXNvdXJjZVJlcXVlc3Q+IHJlcXVlc3QgPSBh
ZG9wdFB0cihuZXcgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSk7CisgICAgYXV0byByZXF1ZXN0ID0g
c3RkOjptYWtlX3VuaXF1ZTxSZXNvdXJjZVJlcXVlc3Q+KG1fdXJsKTsKICAgICByZXF1ZXN0LT5z
ZXRIVFRQTWV0aG9kKCJHRVQiKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAg
cmV0dXJuIHN0ZDo6bW92ZShyZXF1ZXN0KTsKIH0KICAgICAKIHZvaWQgV29ya2VyU2NyaXB0TG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oCmluZGV4IGE3MzVlNmI0ZWMxMDg0NGEzODhlMWQyYzMzOTU4ZDA4OTM2
ODllOTkuLjlhYWY2NjQ2OTk2ZjI4MjI4YTBiNzcyZmI5MjRhNTFkMTRhYmI0ZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2Fk
ZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCi0KKyNpbmNsdWRlIDxt
ZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC03Nyw3ICs3Nyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV29ya2VyU2NyaXB0TG9hZGVyKCk7CiAgICAgICAg
IH5Xb3JrZXJTY3JpcHRMb2FkZXIoKTsKIAotICAgICAgICBQYXNzT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gY3JlYXRlUmVzb3VyY2VSZXF1ZXN0KCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZXNvdXJjZVJlcXVlc3Q+IGNyZWF0ZVJlc291cmNlUmVxdWVzdCgpOwogICAgICAgICB2b2lkIG5v
dGlmeUZpbmlzaGVkKCk7CiAKICAgICAgICAgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50KiBtX2Ns
aWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA0NDBiMDZj
Y2Y0MTA2YzI3MjhmYjIxMGZlNWYyOWMyMzEyNjgxZmZhLi4yNGFkYzZjOGU5MWVlYmFjNzQ5OTNh
ODkzNjY5ZmQ0YTk0YWE3MThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwCkBAIC03OSwxMCArNzksNyBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVh
ZENvdW50KCkKIHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YT4gY3JlYXRlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgR3JvdXBTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFN0cmluZyYgc291cmNlQ29k
ZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50
U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50
U2VjdXJpdHlQb2xpY3lUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShz
Y3JpcHRVUkwsIHVzZXJBZ2VudCwgc2V0dGluZ3MsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29u
dGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4p
KTsKLSAgICB9CisgICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdzKiwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYg
Y29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUg
Y29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdp
bik7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpAQCAt
OTIsOCArODksNiBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIG1fY29udGVudFNlY3VyaXR5UG9saWN5
OwogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeVR5cGU7CiAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdpbjsKLXBy
aXZhdGU6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdzKiwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29u
dGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29u
dGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7
CiB9OwogCiBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91
cFNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJl
YWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCkBAIC0xMTgsNyArMTEzLDcg
QEAgV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBjb25zdAogICAgIDogbV90aHJlYWRJRCgwKQogICAgICwgbV93
b3JrZXJMb2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkKICAgICAsIG1fd29ya2VyUmVwb3J0
aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhOjpjcmVhdGUoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNldHRpbmdz
LCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNl
Y3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1cERhdGEoc3RkOjpt
YWtlX3VuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCB1c2VyQWdlbnQs
IHNldHRpbmdzLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
Y29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKSkKICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmlj
YXRpb25DbGllbnQoMCkKICNlbmRpZgpAQCAtMTgwLDcgKzE3NSw3IEBAIHZvaWQgV29ya2VyVGhy
ZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgIC8vIEZyZWUgdGhlIHN0YXJ0dXAgZGF0YSB0byBjYXVz
ZSBpdHMgbWVtYmVyIHZhcmlhYmxlIGRlcmVmJ3MgaGFwcGVuIG9uIHRoZSB3b3JrZXIncyB0aHJl
YWQgKHNpbmNlCiAgICAgLy8gYWxsIHJlZi9kZXJlZnMgb2YgdGhlc2Ugb2JqZWN0cyBhcmUgaGFw
cGVuaW5nIG9uIHRoZSB0aHJlYWQgYXQgdGhpcyBwb2ludCkuIE5vdGUgdGhhdAogICAgIC8vIFdv
cmtlclRocmVhZDo6fldvcmtlclRocmVhZCBoYXBwZW5zIG9uIGEgZGlmZmVyZW50IHRocmVhZCB3
aGVyZSBpdCB3YXMgY3JlYXRlZC4KLSAgICBtX3N0YXJ0dXBEYXRhLmNsZWFyKCk7CisgICAgbV9z
dGFydHVwRGF0YSA9IG51bGxwdHI7CiAKICAgICBydW5FdmVudExvb3AoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggNDM1OWVlM2FiZjc4MGMwNjgyYzQ2NTFmNTJl
ZjBjZmZmN2Q5OTY4Yy4uMzhkMGQ4MzA3NTlmODNlZGY2MjJiZDVlYzViNmZjNDY2ZmZjYWI1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0zMCw4ICszMCw4IEBACiAj
aW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiR3JvdXBTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC05Miw3
ICs5Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPFdvcmtlckdsb2Jh
bFNjb3BlPiBtX3dvcmtlckdsb2JhbFNjb3BlOwogICAgICAgICBNdXRleCBtX3RocmVhZENyZWF0
aW9uTXV0ZXg7CiAKLSAgICAgICAgT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBtX3N0
YXJ0dXBEYXRhOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyVGhyZWFkU3RhcnR1cERh
dGE+IG1fc3RhcnR1cERhdGE7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DbGllbnQqIG1fbm90
aWZpY2F0aW9uQ2xpZW50Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>