<?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>140057</bug_id>
          
          <creation_ts>2015-01-04 12:12:06 -0800</creation_ts>
          <short_desc>Clean up some of the IPC code</short_desc>
          <delta_ts>2015-01-04 12:14:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1058558</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-04 12:12:06 -0800</bug_when>
    <thetext>Clean up some of the IPC code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058559</commentid>
    <comment_count>1</comment_count>
      <attachid>243935</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-04 12:12:41 -0800</bug_when>
    <thetext>Created attachment 243935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058560</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-04 12:14:45 -0800</bug_when>
    <thetext>Committed r177875: &lt;http://trac.webkit.org/changeset/177875&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243935</attachid>
            <date>2015-01-04 12:12:41 -0800</date>
            <delta_ts>2015-01-04 12:13:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140057-20150104121247.patch</filename>
            <type>text/plain</type>
            <size>41903</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmQ1MzgyY2E2OTI3MmNk
Mjg3ZTFiZjg0MDc2N2M3ZTVkYzVlMTlmZi4uMzcxY2MzNGIzMDQ5MDU3ZGVkNGFkOTMyOWNiMzg1
YWViNjk0NzZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDE1LTAxLTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29t
ZSBvZiB0aGUgSVBDIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDA1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVzZSBzdGQ6Om11dGV4IGluc3RlYWQgb2YgV1RGOjpNdXRleC4gQ2hhbmdlIGEg
Y291cGxlIG9mIHBvaW50ZXJzIHRvIHJlZmVyZW5jZXMgaW4gdGhlIGNvbm5lY3Rpb24gY2xpZW50
LgorCisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0
OjpEYXRhYmFzZVByb2Nlc3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgICog
RGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oOgorICAgICAgICAqIERhdGFiYXNlUHJv
Y2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UpOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6ZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6c2VuZE1lc3NhZ2UpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9u
Ojp3YWl0Rm9yTWVzc2FnZSk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmNvbm5lY3Rpb25E
aWRDbG9zZSk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnNlbmRPdXRnb2luZ01lc3NhZ2Vz
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hEaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjplbnF1ZXVlSW5jb21pbmdNZXNzYWdl
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hNZXNzYWdlKToKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hPbmVNZXNzYWdlKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmRpZENsb3NlKToKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAg
ICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaDoKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgICogUGx1Z2luUHJv
Y2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9EYXRhYmFz
ZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVBy
b2Nlc3NQcm94eTo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NQ
cm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRGF0
YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzUHJveHk6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94
eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5
OjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6ZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpkaWRDbG9zZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFs
aWRNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZENsb3NlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwogMjAxNS0wMS0wMSAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBHcm91cFNldHRpbmdzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCmluZGV4
IDA1YTk0ZjE3YzIxMjdiYWQ0YzdiNzIwZmJlYjEyYTBlYzU0MzI0MWIuLjZiMTczMmE1YzhhZTUz
MGMwZDEyMjE3NTY0ZDQ4ZGU0NzAwZjY2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rh
dGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rh
dGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCkBAIC03NSw3ICs3NSw3IEBAIGJvb2wg
RGF0YWJhc2VQcm9jZXNzOjpzaG91bGRUZXJtaW5hdGUoKQogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikKK3ZvaWQg
RGF0YWJhc2VQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQogewogICAgIFJ1bkxv
b3A6OmN1cnJlbnQoKS5zdG9wKCk7CiB9CkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgRGF0YWJhc2VQ
cm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQ
Qzo6TWVzc2FnCiAgICAgfQogfQogCi12b2lkIERhdGFiYXNlUHJvY2Vzczo6ZGlkUmVjZWl2ZUlu
dmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6
OlN0cmluZ1JlZmVyZW5jZSkKK3ZvaWQgRGF0YWJhc2VQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxp
ZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3Ry
aW5nUmVmZXJlbmNlKQogewogICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS5zdG9wKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmgKaW5kZXgg
MGZiZGY4YzM3MzhjYzQ3ZmMwZWM1NTE5MGIzN2NjYmRlOTYxZTQ3MS4uZTUwOWI3Y2EzY2QxZjM1
NDgxMjQwNjg4ZDVhODI1ZjkwODE1Y2RjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaApAQCAtODAsOCArODAsOCBAQCBwcml2YXRlOgog
CiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJy
aWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3Ry
aW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5j
ZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YWJhc2VQcm9jZXNzTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKICAgICAvLyBNZXNzYWdlIEhh
bmRsZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJh
c2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJv
Y2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGQwMTc2M2IwNzZh
Y2ZhZTA3MzJiNjE5MTFkMjNjNjMyYTczODA4ZTQuLjY1N2U3MGQwMTA1NmE2ZDgwNzIzNjdiOGJm
ZDNiY2MzZGFlYTAyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vz
cy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC04
MSwxNCArODEsMTQgQEAgdm9pZCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJl
Y2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm4KICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotdm9pZCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENs
b3NlKElQQzo6Q29ubmVjdGlvbiopCit2b2lkIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKIHsKICAgICAvLyBUaGUgV2ViUHJvY2VzcyBo
YXMgZGlzY29ubmVjdGVkLCBjbG9zZSBhbGwgb2YgdGhlIGNvbm5lY3Rpb25zIGFzc29jaWF0ZWQg
d2l0aCBpdAogICAgIHdoaWxlICghbV9pZGJDb25uZWN0aW9ucy5pc0VtcHR5KCkpCiAgICAgICAg
IHJlbW92ZURhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24obV9pZGJDb25uZWN0aW9ucy5iZWdp
bigpLT5rZXkpOwogfQogCi12b2lkIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlk
UmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJl
bmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1l
KQordm9pZCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlk
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVj
ZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkKIHsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlVG9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNl
VG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IDcxNDg3ZjI4NmQ2MzhkYzc4MzA5Nzk4YzBh
ZmIyN2Q4ZDFkNzY4MDguLjQ3ZGJmNGM1NTdiZWI2OWMyMGM4ZWIyZGI0YzVkOTJhZDhjZTdmZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTQ5LDggKzQ5LDggQEAgcHJpdmF0
ZToKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2Fn
ZUVuY29kZXI+Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29u
bmVjdGlvbiopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2Vp
dmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJl
bmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhYmFzZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2Fn
ZURlY29kZXImKTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCmluZGV4IGEwMzQyYTk1ZjQyZmNjOTAwOTY0YjZlNDc0MjZkNWFiNWFhN2Qz
ZTIuLjQ4YTMyOWEwYTljMWRhNzVlNzNhZjZhYThhNmVmN2JhYWY2Njk1ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiog
Y29ubmUKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpCiB7CiAg
ICAgLy8gUHJvdGVjdCBvdXJzZWxmIGFzIHdlIG1pZ2h0IGJlIG90aGVyd2lzZSBiZSBkZWxldGVk
IGR1cmluZyB0aGlzIGZ1bmN0aW9uLgogICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcz4gcHJvdGVjdG9yKCp0aGlzKTsKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKQogICAgIE5l
dHdvcmtQcm9jZXNzOjpzaGFyZWQoKS5yZW1vdmVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyh0aGlzKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNl
LCBJUEM6OlN0cmluZ1JlZmVyZW5jZSkKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oCmluZGV4IGNlMjM2N2VlNDg3ODM0MzRkMzA2Y2EwY2Q4OTY0YTNmMmJlYmIzZjEu
LjFmZGE0ZmFjMjBhMzhlNTkzNzFkODQ4Yzg0ZDUxMTlkNjVmYmQ1NTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaApAQCAtNjMsOCArNjMsOCBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6Q29u
bmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXIm
LCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBt
ZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSk7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVz
c2FnZU5hbWUpOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2b2lkIGRpZFJlY2Vp
dmVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwg
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGQzMWFhZDI2NmY1M2E2YjY0Njc1NDNlZDM5NzAz
NWViZGM4Mjg3MzguLmQ2YmJjYjIyM2E3ZWZhY2E5ZDdmYmYxMzljNDkyYzY2OWNjZTY1ZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
QEAgLTEyNCwxMyArMTI0LDEzIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZFJlY2VpdmVTeW5j
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQQzo6TWVzCiAgICAgbWVzc2Fn
ZVJlY2VpdmVyTWFwKCkuZGlzcGF0Y2hTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyLCBy
ZXBseUVuY29kZXIpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24qKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9u
JikKIHsKICAgICAvLyBUaGUgVUlQcm9jZXNzIGp1c3QgZXhpdGVkLgogICAgIFJ1bkxvb3A6OmN1
cnJlbnQoKS5zdG9wKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZFJlY2VpdmVJbnZh
bGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSwgSVBDOjpT
dHJpbmdSZWZlcmVuY2UpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3RyaW5n
UmVmZXJlbmNlKQogewogICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS5zdG9wKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBjMDliYzU4
Yjk5ZDBjMzEzNWUxODU2ZWUyMjU1ZWQzNTgwOTQ4ZjIzLi41YjQ5YWQ0NWEyNDNjZjMxMjVlYmYx
ZTU5YTRkZDhmNTQ2MGQ2NjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKQEAgLTk3LDggKzk3LDggQEAgcHJpdmF0ZToKICAgICAvLyBJUEM6
OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1l
c3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+Jikgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiopIG92ZXJy
aWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpT
dHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBk
aWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJl
bmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1l
KSBvdmVycmlkZTsKIAogICAgIC8vIERvd25sb2FkTWFuYWdlcjo6Q2xpZW50CiAgICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZURvd25sb2FkKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAKaW5kZXggMGNjNTQ4M2EzYjNjMzA2OTdiNGYzMjczY2Vh
MWM5OGZmODZiMjc3MS4uZTYzNWM4NmQwNzc4MTRmY2Y1ZThkMTc0OTRjMDc2ODczY2E4NDEyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtMzc2LDcg
KzM3Niw3IEBAIGJvb2wgQ29ubmVjdGlvbjo6c2VuZE1lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPE1l
c3NhZ2VFbmNvZGVyPiBlbmNvZGVyLCB1bnNpZ25lZCBtCiAgICAgICAgIGVuY29kZXItPnNldFNo
b3VsZERpc3BhdGNoTWVzc2FnZVdoZW5XYWl0aW5nRm9yU3luY1JlcGx5KHRydWUpOwogCiAgICAg
ewotICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9vdXRnb2luZ01lc3NhZ2VzTG9jayk7Cisg
ICAgICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1fb3V0Z29pbmdNZXNzYWdl
c011dGV4KTsKICAgICAgICAgbV9vdXRnb2luZ01lc3NhZ2VzLmFwcGVuZChXVEY6Om1vdmUoZW5j
b2RlcikpOwogICAgIH0KICAgICAKQEAgLTM5Niw3ICszOTYsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
TWVzc2FnZURlY29kZXI+IENvbm5lY3Rpb246OndhaXRGb3JNZXNzYWdlKFN0cmluZ1JlZmVyZW5j
ZSBtZXNzYQogCiAgICAgLy8gRmlyc3QsIGNoZWNrIGlmIHRoaXMgbWVzc2FnZSBpcyBhbHJlYWR5
IGluIHRoZSBpbmNvbWluZyBtZXNzYWdlcyBxdWV1ZS4KICAgICB7Ci0gICAgICAgIE11dGV4TG9j
a2VyIGxvY2tlcihtX2luY29taW5nTWVzc2FnZXNMb2NrKTsKKyAgICAgICAgc3RkOjpsb2NrX2d1
YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwogCiAgICAgICAg
IGZvciAoYXV0byBpdCA9IG1faW5jb21pbmdNZXNzYWdlcy5iZWdpbigpLCBlbmQgPSBtX2luY29t
aW5nTWVzc2FnZXMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPE1lc3NhZ2VEZWNvZGVyPiYgbWVzc2FnZSA9ICppdDsKQEAgLTcyNCw3ICs3MjQs
NyBAQCB2b2lkIENvbm5lY3Rpb246OmNvbm5lY3Rpb25EaWRDbG9zZSgpCiAgICAgICAgIENsaWVu
dCogY2xpZW50ID0gY29ubmVjdGlvbi0+bV9jbGllbnQ7CiAgICAgICAgIGNvbm5lY3Rpb24tPm1f
Y2xpZW50ID0gbnVsbHB0cjsKIAotICAgICAgICBjbGllbnQtPmRpZENsb3NlKGNvbm5lY3Rpb24u
Z2V0KCkpOworICAgICAgICBjbGllbnQtPmRpZENsb3NlKCpjb25uZWN0aW9uKTsKICAgICB9KTsK
IH0KIApAQCAtNzQyLDcgKzc0Miw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVz
c2FnZXMoKQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZUVuY29kZXI+IG1lc3NhZ2U7
CiAKICAgICAgICAgewotICAgICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fb3V0Z29pbmdN
ZXNzYWdlc0xvY2spOworICAgICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxv
Y2sobV9vdXRnb2luZ01lc3NhZ2VzTXV0ZXgpOwogICAgICAgICAgICAgaWYgKG1fb3V0Z29pbmdN
ZXNzYWdlcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBt
ZXNzYWdlID0gbV9vdXRnb2luZ01lc3NhZ2VzLnRha2VGaXJzdCgpOwpAQCAtNzgzLDcgKzc4Myw3
IEBAIHZvaWQgQ29ubmVjdGlvbjo6ZGlzcGF0Y2hEaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoY29u
c3QgQ1N0cmluZyYgbWVzc2FnZVJlY2VpdmVyCiAgICAgaWYgKCFtX2NsaWVudCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgbV9jbGllbnQtPmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSh0aGlzLCBT
dHJpbmdSZWZlcmVuY2UobWVzc2FnZVJlY2VpdmVyTmFtZVN0cmluZy5kYXRhKCksIG1lc3NhZ2VS
ZWNlaXZlck5hbWVTdHJpbmcubGVuZ3RoKCkpLCBTdHJpbmdSZWZlcmVuY2UobWVzc2FnZU5hbWVT
dHJpbmcuZGF0YSgpLCBtZXNzYWdlTmFtZVN0cmluZy5sZW5ndGgoKSkpOworICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKnRoaXMsIFN0cmluZ1JlZmVyZW5jZShtZXNzYWdl
UmVjZWl2ZXJOYW1lU3RyaW5nLmRhdGEoKSwgbWVzc2FnZVJlY2VpdmVyTmFtZVN0cmluZy5sZW5n
dGgoKSksIFN0cmluZ1JlZmVyZW5jZShtZXNzYWdlTmFtZVN0cmluZy5kYXRhKCksIG1lc3NhZ2VO
YW1lU3RyaW5nLmxlbmd0aCgpKSk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6ZGlkRmFpbFRvU2Vu
ZFN5bmNNZXNzYWdlKCkKQEAgLTc5Nyw3ICs3OTcsNyBAQCB2b2lkIENvbm5lY3Rpb246OmRpZEZh
aWxUb1NlbmRTeW5jTWVzc2FnZSgpCiB2b2lkIENvbm5lY3Rpb246OmVucXVldWVJbmNvbWluZ01l
c3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VEZWNvZGVyPiBpbmNvbWluZ01lc3NhZ2UpCiB7
CiAgICAgewotICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9pbmNvbWluZ01lc3NhZ2VzTG9j
ayk7CisgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1faW5jb21pbmdN
ZXNzYWdlc011dGV4KTsKICAgICAgICAgbV9pbmNvbWluZ01lc3NhZ2VzLmFwcGVuZChXVEY6Om1v
dmUoaW5jb21pbmdNZXNzYWdlKSk7CiAgICAgfQogCkBAIC04MzYsNyArODM2LDcgQEAgdm9pZCBD
b25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VEZWNvZGVy
PiBtZXNzYWdlKQogICAgICAgICBtX2luRGlzcGF0Y2hNZXNzYWdlTWFya2VkRGlzcGF0Y2hXaGVu
V2FpdGluZ0ZvclN5bmNSZXBseUNvdW50LS07CiAKICAgICBpZiAobV9kaWRSZWNlaXZlSW52YWxp
ZE1lc3NhZ2UgJiYgbV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlSW52YWxp
ZE1lc3NhZ2UodGhpcywgbWVzc2FnZS0+bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtZXNzYWdlLT5t
ZXNzYWdlTmFtZSgpKTsKKyAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVJbnZhbGlkTWVzc2Fn
ZSgqdGhpcywgbWVzc2FnZS0+bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtZXNzYWdlLT5tZXNzYWdl
TmFtZSgpKTsKIAogICAgIG1fZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlID0gb2xkRGlkUmVjZWl2
ZUludmFsaWRNZXNzYWdlOwogfQpAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6
ZGlzcGF0Y2hPbmVNZXNzYWdlKCkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZURlY29kZXI+
IG1lc3NhZ2U7CiAKICAgICB7Ci0gICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2luY29taW5n
TWVzc2FnZXNMb2NrKTsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2so
bV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwogICAgICAgICBpZiAobV9pbmNvbWluZ01lc3NhZ2Vz
LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmgKaW5kZXggYjUyY2YxZWUwMGUwNjk3ODMyZTYwYTA3ZGQ5MWE4MGRl
YTMzYThhZC4uZTE0NmVjNjY2ZDc4OGU5ZTIzYjg0ZGZjZDk5MGUxYzZjMzg2MGQyOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC03Niw3ICs3Niw3IEBAIGVu
dW0gV2FpdEZvck1lc3NhZ2VGbGFncyB7CiAgICAgLy8gVXNlIHRoaXMgdG8gbWFrZSB3YWl0Rm9y
TWVzc2FnZSBiZSBpbnRlcnJ1cHRlZCBpbW1lZGlhdGVseSBieSBhbnkgaW5jb21pbmcgc3luYyBt
ZXNzYWdlcy4KICAgICBJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMgPSAxIDw8
IDAsCiB9OwotICAgIAorCiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIGNv
bm5lY3Rpb24pIGRvIFwKICAgICBpZiAoIShhc3NlcnRpb24pKSB7IFwKICAgICAgICAgQVNTRVJU
KGFzc2VydGlvbik7IFwKQEAgLTg5LDggKzg5LDggQEAgY2xhc3MgQ29ubmVjdGlvbiA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDb25uZWN0aW9uPiB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
Q2xpZW50IDogcHVibGljIE1lc3NhZ2VSZWNlaXZlciB7CiAgICAgcHVibGljOgotICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoQ29ubmVjdGlvbiopID0gMDsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShDb25uZWN0aW9uKiwgU3RyaW5nUmVmZXJlbmNl
IG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgPSAwOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoQ29ubmVjdGlvbiYpID0gMDsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShDb25uZWN0aW9uJiwgU3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFt
ZSkgPSAwOwogCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSB7IH0K
QEAgLTI1MSwxMSArMjUxLDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2RpZFJlY2VpdmVJbnZh
bGlkTWVzc2FnZTsKIAogICAgIC8vIEluY29taW5nIG1lc3NhZ2VzLgotICAgIE11dGV4IG1faW5j
b21pbmdNZXNzYWdlc0xvY2s7CisgICAgc3RkOjptdXRleCBtX2luY29taW5nTWVzc2FnZXNNdXRl
eDsKICAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZURlY29kZXI+PiBtX2luY29taW5n
TWVzc2FnZXM7CiAKICAgICAvLyBPdXRnb2luZyBtZXNzYWdlcy4KLSAgICBNdXRleCBtX291dGdv
aW5nTWVzc2FnZXNMb2NrOworICAgIHN0ZDo6bXV0ZXggbV9vdXRnb2luZ01lc3NhZ2VzTXV0ZXg7
CiAgICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VFbmNvZGVyPj4gbV9vdXRnb2luZ01l
c3NhZ2VzOwogICAgIAogICAgIHN0ZDo6Y29uZGl0aW9uX3ZhcmlhYmxlIG1fd2FpdEZvck1lc3Nh
Z2VDb25kaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmNwcAppbmRleCA4OGIzNmE4YjhkNzNkYTQ2NWNkZmE1N2MwOTRlMGYzZWE1NDNlYzYxLi5m
NjQ0ZThiNGEzZDhiMjM0ZDFhYTk0ZjAxN2U1NDI0NDliNGY0OTNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTEyNSwxNCArMTI1LDE0
IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VECiAgICAgZGlkUmVjZWl2ZVBsdWdpblByb2Nlc3NN
ZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OmRp
ZENsb3NlKElQQzo6Q29ubmVjdGlvbiopCit2b2lkIFBsdWdpblByb2Nlc3M6OmRpZENsb3NlKElQ
Qzo6Q29ubmVjdGlvbiYpCiB7CiAgICAgLy8gVGhlIFVJIHByb2Nlc3MgaGFzIGNyYXNoZWQsIGp1
c3QgZ28gYWhlYWQgYW5kIHF1aXQuCiAgICAgLy8gRklYTUU6IElmIHRoZSBwbHVnLWluIGlzIHNw
aW5uaW5nIGluIHRoZSBtYWluIGxvb3AsIHdlJ2xsIG5ldmVyIGdldCB0aGlzIG1lc3NhZ2UuCiAg
ICAgc3RvcFJ1bkxvb3AoKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpkaWRSZWNlaXZlSW52
YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6
U3RyaW5nUmVmZXJlbmNlKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3RyaW5n
UmVmZXJlbmNlKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCmluZGV4IGM5YjA5MTA0NWJiZTY4ZWQyMjY4MWNmNDQ1NjExYTk1ZDgzOTI4YWYu
Ljg4OWJiM2ZmMzRjMjk5NjU0ZmEyZjk0ZTMxMjU3NGMxMTZhNzVjZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC04OSw4ICs4OSw4IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiop
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwg
SVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VOYW1lKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBk
aWRSZWNlaXZlUGx1Z2luUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9X
ZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dl
YlByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA4OGQ4NTk1MTJlMDBhNmY0MTc5NWVhNjliZjg4
ZTMwMTcyMjAzM2M0Li5hNDExODQ3OWMwYjE0YWNiZjgyY2ZmYWZlOGY2ZDEwYjdmZWYzZjFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25u
ZWN0aW9uLmNwcApAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc0Nvbm5lY3Rpb246
OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIElQCiAg
ICAgcGx1Z2luQ29udHJvbGxlclByb3h5LT5kaWRSZWNlaXZlU3luY1BsdWdpbkNvbnRyb2xsZXJQ
cm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKIH0KIAotdm9p
ZCBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikKK3ZvaWQg
V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpCiB7CiAgICAg
Ly8gVGhlIHdlYiBwcm9jZXNzIGNyYXNoZWQuIERlc3Ryb3kgYWxsIHRoZSBwbHVnLWluIGNvbnRy
b2xsZXJzLiBEZXN0cm95aW5nIHRoZSBsYXN0IHBsdWctaW4gY29udHJvbGxlcgogICAgIC8vIHdp
bGwgY2F1c2UgdGhlIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb24gaXRzZWxmIHRvIGJlIGRlc3Ryb3ll
ZC4KQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lkIFdlYlByb2Nlc3NDb25uZWN0aW9uOjpkZXN0cm95
UGx1Z2luKHVpbnQ2NF90IHBsdWdpbkluc3RhbmNlSUQsIGJvb2wgYXN5bmNocgogICAgIGRlc3Ry
b3lQbHVnaW5Db250cm9sbGVyUHJveHkocGx1Z2luQ29udHJvbGxlclByb3h5KTsKIH0KIAotdm9p
ZCBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSkKK3Zv
aWQgV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UpCiB7
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCBhZjA2MWQ2MWE0MmNhMzc4
YTM4ZGRlOTZjM2RjNmZkMjU5ZTViYTNmLi5kMjNkMTcxOWNhNzA4M2RjMTM2MTRlNWI0MTRiY2Fk
Yjc5NWJlYmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlBy
b2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQ
cm9jZXNzQ29ubmVjdGlvbi5oCkBAIC02Nyw4ICs2Nyw4IEBAIHByaXZhdGU6CiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92
ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVm
ZXJlbmNlIG1lc3NhZ2VOYW1lKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25u
ZWN0aW9uJik7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJ
UEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSk7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRs
ZXJzLgogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IDc0ZWQ0MzdkMTM4YWEyYzZlN2I4MGJmMWIzZTQwN2MzOTY4YjgzMmMuLmQwNWQwNmM3
MmUxOTE0MGUzMjc0NzAxNWJmZThjOWUxNjVhMzBhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3Bw
CkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgRGF0YWJhc2VQcm9jZXNzUHJveHk6OmdldERhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViCiAgICAgY29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3M6OkNyZWF0ZURhdGFiYXNlVG9XZWJQ
cm9jZXNzQ29ubmVjdGlvbigpLCAwLCBJUEM6OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSk7CiB9CiAKLXZvaWQgRGF0YWJhc2VQcm9jZXNzUHJveHk6OmRpZENsb3Nl
KElQQzo6Q29ubmVjdGlvbiopCit2b2lkIERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJ
UEM6OkNvbm5lY3Rpb24mKQogewogICAgIC8vIFRoZSBkYXRhYmFzZSBwcm9jZXNzIG11c3QgaGF2
ZSBjcmFzaGVkIG9yIGV4aXRlZCwgc28gc2VuZCBhbnkgcGVuZGluZyBzeW5jIHJlcGxpZXMgd2Ug
bWlnaHQgaGF2ZS4KICAgICB3aGlsZSAoIW1fcGVuZGluZ0Nvbm5lY3Rpb25SZXBsaWVzLmlzRW1w
dHkoKSkgewpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgRGF0YWJhc2VQcm9jZXNzUHJveHk6OmRp
ZENsb3NlKElQQzo6Q29ubmVjdGlvbiopCiAgICAgbV9wcm9jZXNzUG9vbC0+ZGF0YWJhc2VQcm9j
ZXNzQ3Jhc2hlZCh0aGlzKTsKIH0KIAotdm9pZCBEYXRhYmFzZVByb2Nlc3NQcm94eTo6ZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNl
IG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKQor
dm9pZCBEYXRhYmFzZVByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQ
Qzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmgK
aW5kZXggY2I3YjZkYWJmMTg5ZTM5MjBlMzNjZDZmMWY0MTI1OWVmOWMzNTMzMy4uNGIzMmZmMTk4
NWZkNTY3ZGZiNDk5OWMzYTFlNDMyMzIzZjI2MDM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuaApAQCAt
NTQsOCArNTQsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBD
OjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJ
UEM6OkNvbm5lY3Rpb24qKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUlu
dmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVE
YXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDc1MGZjMDhiNzQ1YzQ3YzZlNjU4NGI1
NjlkM2JkMTk0NWY0MjI4YjYuLjk0MGZlNTAyNWEzZTU1NjRhODgwN2UwMTlmMTljZjliZDMzZjFh
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0
aW9uLCBJUEMKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKQordm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQogewogICAgIGlmIChtX2Rvd25sb2Fk
UHJveHlNYXApCiAgICAgICAgIG1fZG93bmxvYWRQcm94eU1hcC0+cHJvY2Vzc0RpZENsb3NlKCk7
CkBAIC0xNzQsNyArMTc0LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJ
UEM6OkNvbm5lY3Rpb24qKQogICAgIG5ldHdvcmtQcm9jZXNzQ3Jhc2hlZE9yRmFpbGVkVG9MYXVu
Y2goKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3RyaW5n
UmVmZXJlbmNlKQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3RyaW5n
UmVmZXJlbmNlKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggY2U3ZDg4ZjhkYTQ4ODIwMzE3YTg3
Zjg4ZjM3ODkyNTk5OTJkN2E2Ny4uMDNkNjY5ZTU1Mjk3ZmQ5YTY0OGVjZDM1OTMyNjZjYjkyYTZi
YzZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuaApAQCAtODIsOCArODIsOCBAQCBwcml2YXRlOgogICAgIC8vIElQ
Qzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6
TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6
OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZl
cmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5h
bWUpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZvaWQgZGlkUmVj
ZWl2ZU5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IGU2M2I0YzExYzM4YjEyOGU2MjYzOTM5
MWI3MDJkYTEwOThhMDg2MmYuLmU2OWI1Y2E1ZmRlZjc1ZGE1MDNiMTIyNjIwNTMwOGJlMDc2NTAw
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vz
c1Byb3h5OjpwbHVnaW5Qcm9jZXNzQ3Jhc2hlZE9yRmFpbGVkVG9MYXVuY2goKQogICAgIG1fcGx1
Z2luUHJvY2Vzc01hbmFnZXItPnJlbW92ZVBsdWdpblByb2Nlc3NQcm94eSh0aGlzKTsKIH0KIAot
dm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiopCit2b2lk
IFBsdWdpblByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKICAgICBpZiAobV9tb2RhbFdpbmRvd0lzU2hvd2luZykKQEAgLTE3NCw3
ICsxNzQsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0
aW9uKikKICAgICBwbHVnaW5Qcm9jZXNzQ3Jhc2hlZE9yRmFpbGVkVG9MYXVuY2goKTsKIH0KIAot
dm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UpCit2
b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSkKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuaAppbmRleCA0YTgyZWNkY2NiZDEwMDA4NjhlOGQ3MjhlZWY5MjVlMGExM2U4
YmNkLi43YjYyNGE1MTY3YjQzOWM5ZmY0NDU2YWFjMGM5MjA3YjQ3OWY3YWY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
aApAQCAtMTE4LDggKzExOCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5j
b2Rlcj4mKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5l
Y3Rpb24qKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZl
ck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5j
ZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CiAKICAgICAvLyBQcm9jZXNzTGF1bmNoZXI6OkNsaWVu
dAogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vzc0xhdW5jaGVyKiwg
SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggN2RmOTY0ZTM0NzgzZThhZDQyNzhjNTdlMTU3MDA4
MTU0MTJhMDVlZi4uNjRlYTRmMDllOWNlOGI1OTU0NjljZDU4ZTJiYWI0ZWM0MTU1ZDFiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTQ0MCw3
ICs0NDAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZQogICAgIC8vIEZJWE1FOiBBZGQgdW5o
YW5kbGVkIG1lc3NhZ2UgbG9nZ2luZy4KIH0KIAotdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENs
b3NlKElQQzo6Q29ubmVjdGlvbiopCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikKIHsKICAgICAvLyBQcm90ZWN0IG91cnNlbHZlcywgYXMgdGhlIGNhbGwg
dG8gZGlzY29ubmVjdCgpIGJlbG93IG1heSBvdGhlcndpc2UgY2F1c2UgdXMKICAgICAvLyB0byBi
ZSBkZWxldGVkIGJlZm9yZSB3ZSBjYW4gZmluaXNoIG91ciB3b3JrLgpAQCAtNDU4LDcgKzQ1OCw3
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKQogCiB9
CiAKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2
ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkKK3ZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkKIHsKICAgICBXVEZMb2dBbHdheXMoIlJlY2VpdmVkIGFu
IGludmFsaWQgbWVzc2FnZSBcIiVzLiVzXCIgZnJvbSB0aGUgd2ViIHByb2Nlc3MuXG4iLCBtZXNz
YWdlUmVjZWl2ZXJOYW1lLnRvU3RyaW5nKCkuZGF0YSgpLCBtZXNzYWdlTmFtZS50b1N0cmluZygp
LmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApp
bmRleCBhYzU2OGE0YWI3YTk4ZTkwNTFiOTJhZjcyYTEwZWUzOTQ2NTIxMzk0Li4yZTE5ODc3YWU5
OGM5ZDg5MTQ4MzRmOTc3ZTM3ZjA1MjRiYThiMTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xODIsOCArMTgyLDggQEAgcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1l
c3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6
OkNvbm5lY3Rpb24qKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFs
aWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VS
ZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1Jl
ZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CiAKICAgICAvLyBSZXNwb25zaXZlbmVzc1Rp
bWVyOjpDbGllbnQKICAgICB2b2lkIGRpZEJlY29tZVVucmVzcG9uc2l2ZShSZXNwb25zaXZlbmVz
c1RpbWVyKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9u
LmNwcAppbmRleCBkOGU5NWQwZjdhZmRjNGRjYjdmMjk1Yjg0MGNiNTY1ZjIwNTYyZGY5Li5jNjA2
NDhmZjU3M2NhOWU2MjFjMTE3MTU1NDQ1MzQ3MjczZDliYWMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0
YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTYxLDEyICs2MSwxMiBAQCB2b2lkIFdlYlRv
RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uKiBjb25uZWN0aQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFdlYlRv
RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKiBjb25u
ZWN0aW9uKQordm9pZCBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS53
ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQodGhpcyk7CiB9CiAKLXZvaWQgV2Vi
VG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwg
SVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpCit2b2lkIFdlYlRvRGF0YWJhc2VQcm9j
ZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVm
ZXJlbmNlIG1lc3NhZ2VOYW1lKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNzQ29u
bmVjdGlvbi5oCmluZGV4IGZmYzk1ZTIzNjdmODE0Yjk3MzFjMWFiYjUzZmU4ZmVhYmNhYTgzZTUu
LmQzMDZjMGNiMGZiYjQwYzM0YzU3NGZlMTQ0OGRhOGU5NzBhMTIwNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNzQ29u
bmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRv
RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC01Niw4ICs1Niw4IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiopIG92ZXJyaWRl
OwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRD
bG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNl
IG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBv
dmVycmlkZTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgogICAgIHZpcnR1YWwgSVBDOjpD
b25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIG92ZXJyaWRlIHsgcmV0dXJuIG1f
Y29ubmVjdGlvbi5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAzOTA0
YjEwNTUxODViYWFlOTg5ZGJjOGRiNTdhMzFkN2QzZGIxNzAxLi44NDMyOWRkY2U0OTZlZWY0NjUz
MDEwMDgzYTI4ZjA5MzRkY2I1NTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAt
NzAsMTMgKzcwLDEzIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZl
U3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRDbG9zZShJ
UEM6OkNvbm5lY3Rpb24qKQordm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3Nl
KElQQzo6Q29ubmVjdGlvbiYpCiB7CiAgICAgLy8gVGhlIE5ldHdvcmtQcm9jZXNzIHByb2JhYmx5
IGNyYXNoZWQuCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uQ2xvc2VkKHRoaXMpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlk
UmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJl
bmNlLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSkKK3ZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdS
ZWZlcmVuY2UsIElQQzo6U3RyaW5nUmVmZXJlbmNlKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uLmgKaW5kZXggOTM2ZDY2ZWE5M2Q5NjQ4YjYxY2E0MzkwMDMyYzJmMmJkZDIzZmZhMS4uY2Ex
ZGI2MjNlNTQ4YWQ3NjA1YmQxZDQxOTQ0YTI0ZGFhMDdhYzFiMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uaApAQCAtNjYsOCArNjYsOCBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6Q29ubmVjdGlv
bjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJ
UEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVy
ZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQ
Qzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52
YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2Fn
ZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRl
OwogCiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9SRVNPVVJDRSkKICAgICAvLyBNZXNzYWdlIGhhbmRs
ZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggZWJkMzRlZTRiYzA5MTMxMDg0NDgz
MjJhNzRkZTZlMjU1Mzk2NzIwNS4uZWM1NGM1YmM0MWU0YmU4OTIyZmQyMDRlYmI3ZGQ0OTU3YmIx
NTBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xMjYsNyArMTI2LDcgQEAgdm9p
ZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiogY29ubmVjdGlvbiwKICAgICBwbHVnaW5Qcm94eS0+ZGlkUmVjZWl2ZVN5bmNQbHVn
aW5Qcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKIH0KIAot
dm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikK
K3ZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
CiB7CiAgICAgLy8gVGhlIHBsdWctaW4gcHJvY2VzcyBtdXN0IGhhdmUgY3Jhc2hlZC4KICAgICBm
b3IgKEhhc2hNYXA8dWludDY0X3QsIFBsdWdpblByb3h5Kj46OmNvbnN0X2l0ZXJhdG9yOjpWYWx1
ZXMgaXQgPSBtX3BsdWdpbnMuYmVnaW4oKS52YWx1ZXMoKSwgZW5kID0gbV9wbHVnaW5zLmVuZCgp
LnZhbHVlcygpOyBpdCAhPSBlbmQ7ICsraXQpIHsKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24qKQogICAgIH0K
IH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6OlN0cmluZ1Jl
ZmVyZW5jZSkKK3ZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlk
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggMjQ2YjRkOTg0
ZGYwYTU3MjBkNGRmMDI0YTg1OGQwNjI0ODkxMDQ3Mi4uYjEzMjg4M2VlYjc3MDQxYTAwOGZmN2Qy
MTg5ZTQ4MzE4NGM4ZWViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTY2LDggKzY2LDgg
QEAgcHJpdmF0ZToKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQ
Qzo6TWVzc2FnZUVuY29kZXI+Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENsb3Nl
KElQQzo6Q29ubmVjdGlvbiopOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2Vp
dmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VOYW1lKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBk
aWRSZWNlaXZlUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCBiMjg4MWE3YjI4Y2FhNGYxNTI0ZGZhNmM3NGJm
YWFlMjQ4YWM3YzUwLi4zNGU2NDBhNTdmMGIzYmNjMjU2ZjhiNjAzNjRkNWQ5YWVlMzA4NDg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5o
CkBAIC01Myw4ICs1Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKIAogICAgIC8v
IElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50Ci0gICAgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rp
b24qKSBvdmVycmlkZSB7IGNsb3NlKCk7IH0KLSAgICB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSwgSVBDOjpTdHJpbmdS
ZWZlcmVuY2UpIG92ZXJyaWRlIHsgY2xvc2UoKTsgfQorICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpD
b25uZWN0aW9uJikgb3ZlcnJpZGUgeyBjbG9zZSgpOyB9CisgICAgdm9pZCBkaWRSZWNlaXZlSW52
YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6
U3RyaW5nUmVmZXJlbmNlKSBvdmVycmlkZSB7IGNsb3NlKCk7IH0KIAogICAgIC8vIENhbGxlZCBi
eSBXZWJJbnNwZWN0b3IgbWVzc2FnZXMKICAgICB2b2lkIGNvbm5lY3Rpb25Fc3RhYmxpc2hlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3RvclVJLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
VUkuaAppbmRleCA2Nzc1ZjZlMjk3MGI4NWRiZGUzYzIyOWQwMDFlMTU5MTU3YzhiZWY5Li4xODIz
ZTVmNTk5ZTA3OTgxYzJmNTc4YzViMDczMGQ0MDY5MTI1YTJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaApAQCAtNDgsOCArNDgs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24q
LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rp
b246OkNsaWVudAotICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikgb3ZlcnJpZGUg
eyBjbG9zZVdpbmRvdygpOyB9Ci0gICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQQzo6U3RyaW5nUmVmZXJlbmNl
KSBvdmVycmlkZSB7IGNsb3NlV2luZG93KCk7IH0KKyAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29u
bmVjdGlvbiYpIG92ZXJyaWRlIHsgY2xvc2VXaW5kb3coKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2
ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJ
UEM6OlN0cmluZ1JlZmVyZW5jZSkgb3ZlcnJpZGUgeyBjbG9zZVdpbmRvdygpOyB9CiAKICAgICAv
LyBDYWxsZWQgYnkgV2ViSW5zcGVjdG9yVUkgbWVzc2FnZXMKICAgICB2b2lkIGVzdGFibGlzaENv
bm5lY3Rpb24oSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBp
bnNwZWN0ZWRQYWdlSWRlbnRpZmllciwgYm9vbCB1bmRlclRlc3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggOThkMzc2YmEzYTMzYzAxZjVhNjUzZTkxZDY5
ZGYxMzk4MmZmZDUyNS4uMGRjYzNkNjcwYzcwOTIzZDAyM2JkZDZkMDBlOTRlNzdkNzgzNTY3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC02MTksNyArNjE5
LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24q
IGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY28KICAgICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vz
czo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uKikKK3ZvaWQgV2ViUHJvY2Vzczo6ZGlkQ2xvc2Uo
SVBDOjpDb25uZWN0aW9uJikKIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgbV9pbkRpZENsb3NlID0g
dHJ1ZTsKQEAgLTY0MCw3ICs2NDAsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6
Q29ubmVjdGlvbiopCiAgICAgc3RvcFJ1bkxvb3AoKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpk
aWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpTdHJpbmdSZWZl
cmVuY2UsIElQQzo6U3RyaW5nUmVmZXJlbmNlKQordm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZl
SW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UsIElQ
Qzo6U3RyaW5nUmVmZXJlbmNlKQogewogICAgIC8vIFdlIHJlY2VpdmVkIGFuIGludmFsaWQgbWVz
c2FnZSwgYnV0IHNpbmNlIHRoaXMgaXMgZnJvbSB0aGUgVUkgcHJvY2VzcyAod2hpY2ggd2UgdHJ1
c3QpLAogICAgIC8vIHdlJ2xsIGxldCBpdCBzbGlkZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKaW5kZXggM2NjMjY4ODA0NjlkOGEyMzA3YjI3YTAyMjdjOTlmOGI4YmYxODA0
Yy4uZTY0MmYyNWU5YzcwY2U2MzE0ZDk3YWJiMWI4NTgxYjVlOTFkMDg5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTI4OCw4ICsyODgsOCBAQCBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBD
OjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2Uo
SVBDOjpDb25uZWN0aW9uKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJ
bnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCiAgICAgLy8gSW1wbGVtZW50ZWQg
aW4gZ2VuZXJhdGVkIFdlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYpOwo=
</data>
<flag name="review"
          id="268860"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>