<?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>229887</bug_id>
          
          <creation_ts>2021-09-03 12:42:12 -0700</creation_ts>
          <short_desc>Simplify PCM::Client interface</short_desc>
          <delta_ts>2021-09-03 16:15:32 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1790296</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-03 12:42:12 -0700</bug_when>
    <thetext>Simplify PCM::Client interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790312</commentid>
    <comment_count>1</comment_count>
      <attachid>437303</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-03 12:57:45 -0700</bug_when>
    <thetext>Created attachment 437303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790402</commentid>
    <comment_count>2</comment_count>
      <attachid>437303</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 15:13:34 -0700</bug_when>
    <thetext>Comment on attachment 437303
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.cpp:50
&gt; +        request.setHTTPBody(WebCore::FormData::create(jsonPayload-&gt;toJSONString().utf8()));

You dropped a .data() here, was that intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790403</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-03 15:14:02 -0700</bug_when>
    <thetext>Yes, I think that removed an unnecessary CString copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790406</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-03 15:28:01 -0700</bug_when>
    <thetext>Committed r282031 (241335@main): &lt;https://commits.webkit.org/241335@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437303.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790409</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-03 15:29:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/82741931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790411</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-09-03 15:38:06 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=437303&amp;action=review

LGTM. See comment.

&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementNetworkLoader.cpp:41
&gt; +static NetworkLoadParameters generateNetworkLoadParameters(URL&amp;&amp; url, RefPtr&lt;JSON::Object&gt;&amp;&amp; jsonPayload, PrivateClickMeasurement::PcmDataCarried pcmDataCarried)

This function does the exact same thing as the three deleted ones above, right? Except we lost the UNLIKELY(isDebugModeEnabled) which I don&apos;t know how much it gave us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790426</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-03 16:15:32 -0700</bug_when>
    <thetext>Right.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437303</attachid>
            <date>2021-09-03 12:57:45 -0700</date>
            <delta_ts>2021-09-03 15:28:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229887-20210903125744.patch</filename>
            <type>text/plain</type>
            <size>16211</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU0MWY3NTIyYzRkNmZhODIz
ZjEyZDczNmUwODg0OGQxMTE4Y2E4MzkuLjg4NWQ2YzI0ZjhhZmMxZmEwOTU4YzZmZDlkMjYzZTgz
NjcyMzhlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjEtMDktMDMgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBTaW1wbGlmeSBQ
Q006OkNsaWVudCBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyOTg4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5ldHdvcmtMb2FkUGFyYW1ldGVycyBpcyBhIGhlYXZ5IG9iamVjdCB0byBo
YXZlIG9uIGFuIGludGVyZmFjZSBsaWtlIHRoaXMuCisgICAgICAgIFdlIHJlYWxseSBvbmx5IG5l
ZWQgYSBVUkwsIGEgUmVmUHRyPEpTT046Ok9iamVjdD4gZnJvbSB3aGljaCB0aGUgSFRUUCBtZXRo
b2QgY2FuIGJlIGluZmVycmVkCisgICAgICAgIGZyb20gd2hldGhlciBpdCdzIG51bGwgb3Igbm90
LCBhbmQgUGNtRGF0YUNhcnJpZWQgdG8gZ2l2ZSB0byBwcm9jZXNzUENNUmVxdWVzdC4KKworICAg
ICAgICBUaGUgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRpb24gaXMgb25seSBuZWVkZWQg
aW4gYSBuZXR3b3JraW5nIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBOZXR3b3JrU2Vzc2lvbiwK
KyAgICAgICAgc28gSSBtb3ZlZCBpdCB0byBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtM
b2FkZXI6OnN0YXJ0LgorCisgICAgICAgIEkgbW92ZWQgdGhlIGRlYnVnTW9kZUVuYWJsZWQgY2Fs
bHMgdG8gdGhlIGNhbGxlcnMgb2YgbG9hZEZyb21OZXR3b3JrIHRvIHNpbXBsaWZ5IHRoZSBpbnRl
cmZhY2UgYW5kIHRvCisgICAgICAgIGtlZXAgdGhlIHJlc3BvbnNpYmlsaXR5IGZvciB0aGF0IGlu
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlciBpbnN0ZWFkIG9mIHRoZSBsb2FkRnJvbU5l
dHdvcmsgZnVuY3Rpb24sCisgICAgICAgIHdoaWNoIHNob3VsZCBiZSBzaW1wbGUgYW5kIGp1c3Qg
dGFrZSB3aGF0IGl0IGdldHMgYW5kIGdpdmUgaXQgdG8gdGhlIG5ldHdvcmsuCisKKyAgICAgICAg
Tm8gY2hhbmdlIGluIGJlaGF2aW9yLiAgSnVzdCBtb3ZpbmcgdGhpbmdzIGFyb3VuZC4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Q2xpZW50Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UENNOjpDbGllbnRJbXBsOjpsb2FkRnJvbU5ldHdvcmspOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01l
YXN1cmVtZW50Q2xpZW50SW1wbC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0VG9rZW5QdWJs
aWNLZXkpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFNpZ25lZFVubGlua2FibGVUb2tlbik6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZUNvbnZlcnNpb25SZXF1ZXN0SW1wbCk6CisgICAgICAg
IChXZWJLaXQ6OmdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6Z2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9y
SHR0cEdldCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnROZXR3b3JrTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Z2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnMpOgorICAgICAgICAo
V2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXI6OnN0YXJ0KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXIuaDoKKwogMjAyMS0wOS0wMyAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENsZWFuIHVwIFByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlciBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnQuaAppbmRleCBj
NjU2MzQyODUyZmE5NDZjODU0YmQ5ODNmNjgzOTg2ZTExNWUyZTQ3Li45MjA5ZDk3MTdmYWJiOGI1
NTNjZjllZDc1OWRlZTgyNDkyMjY5YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oCkBAIC00Niw3ICs0Niw3
IEBAIGNsYXNzIENsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q2xpZW50KCkgeyB9CiAg
ICAgdXNpbmcgTmV0d29ya0xvYWRDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmLCBjb25zdCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYpPjsKLSAgICB2aXJ0dWFsIHZvaWQgbG9h
ZEZyb21OZXR3b3JrKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYmLCBOZXR3b3JrTG9hZENhbGxiYWNr
JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZEZyb21OZXR3b3JrKFVSTCYmLCBSZWZQdHI8
SlNPTjo6T2JqZWN0PiYmLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0
YUNhcnJpZWQsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBi
cm9hZGNhc3RDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJikg
PSAwOwogICAgIHZpcnR1YWwgYm9vbCBmZWF0dXJlRW5hYmxlZCgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgZGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGll
bnRJbXBsLmNwcAppbmRleCBiNzdmNzZkNGEzODBjYzZmZjBmYzAzNzM3NzY1ZWQ1NDBhNmE4MWE1
Li4xYTU0MGNiMDFlMmRlY2Q1MGNlYzU1MDdlZDBkYzY3ZTA4NDgyMTg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dENsaWVudEltcGwuY3BwCkBAIC0zNywxMiArMzcsMTIgQEAgQ2xpZW50SW1wbDo6Q2xpZW50SW1w
bChOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNz
KQogICAgIDogbV9uZXR3b3JrU2Vzc2lvbihtYWtlV2Vha1B0cihzZXNzaW9uKSkKICAgICAsIG1f
bmV0d29ya1Byb2Nlc3MobmV0d29ya1Byb2Nlc3MpIHsgfQogCi12b2lkIENsaWVudEltcGw6Omxv
YWRGcm9tTmV0d29yayhOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiBsb2FkUGFyYW1ldGVycywgTmV0
d29ya0xvYWRDYWxsYmFjayYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBDbGllbnRJbXBsOjps
b2FkRnJvbU5ldHdvcmsoVVJMJiYgdXJsLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIGpzb25QYXls
b2FkLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQgcGNt
RGF0YUNhcnJpZWQsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
ICAgICBpZiAoIWZlYXR1cmVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihSZXNvdXJjZUVycm9yKFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiksIHsg
fSwgeyB9KTsKIAotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0d29ya0xvYWRlcjo6c3Rh
cnQoKm1fbmV0d29ya1Nlc3Npb24sIFdURk1vdmUobG9hZFBhcmFtZXRlcnMpLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnROZXR3b3JrTG9h
ZGVyOjpzdGFydCgqbV9uZXR3b3JrU2Vzc2lvbiwgV1RGTW92ZSh1cmwpLCBXVEZNb3ZlKGpzb25Q
YXlsb2FkKSwgcGNtRGF0YUNhcnJpZWQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0K
IAogdm9pZCBDbGllbnRJbXBsOjpicm9hZGNhc3RDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VM
ZXZlbCBtZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50
SW1wbC5oCmluZGV4IGYxNjYwOGEzNTRlOTNjOWJlYzM3OWQ2OWUzMmYyOTIyMDJkMTNmNDcuLjAw
NWJlNzk5YjMyNWM1YWJmNjhlYzQ0YThiNzc2NmZhZDBlMzM3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVu
dEltcGwuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgQ2xpZW50SW1wbChOZXR3b3Jr
U2Vzc2lvbiYsIE5ldHdvcmtQcm9jZXNzJik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBsb2FkRnJv
bU5ldHdvcmsoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJikg
ZmluYWw7CisgICAgdm9pZCBsb2FkRnJvbU5ldHdvcmsoVVJMJiYsIFJlZlB0cjxKU09OOjpPYmpl
Y3Q+JiYsIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZCwg
TmV0d29ya0xvYWRDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGJyb2FkY2FzdENvbnNvbGVN
ZXNzYWdlKEpTQzo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29s
IGZlYXR1cmVFbmFibGVkKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBkZWJ1Z01vZGVFbmFibGVk
KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKaW5kZXggMzliYTBmYjE0MWI5OTZm
NDE4NTZjNmJkNTEwNDA2MTRiNDQ2YWIwNC4uNGVkZjYyNTc2NjI3MjkzYmJhYzVkN2Q5MWJkYzlm
ZTc2ZWQ2MmMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RmV0Y2hPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb3JtRGF0YS5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvSFRUUEhlYWRlclZhbHVlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VF
cnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC0xMDksMzYgKzEwOCw2IEBAIHZvaWQgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCYmCiAgICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92
ZShtZWFzdXJlbWVudCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpV
bmF0dHJpYnV0ZWQpOwogfQogCi1zdGF0aWMgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRl
TmV0d29ya0xvYWRQYXJhbWV0ZXJzKFVSTCYmIHVybCwgY29uc3QgU3RyaW5nJiBodHRwTWV0aG9k
LCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIGpzb25QYXlsb2FkLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6UGNtRGF0YUNhcnJpZWQgZGF0YVR5cGVDYXJyaWVkLCBib29sIGlzRGVidWdNb2RlRW5h
YmxlZCkKLXsKLSAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCB7IFdURk1vdmUodXJsKSB9Owot
ICAgIHJlcXVlc3Quc2V0SFRUUE1ldGhvZChodHRwTWV0aG9kKTsKLSAgICByZXF1ZXN0LnNldEhU
VFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q2FjaGVDb250cm9sLCBXZWJDb3JlOjpIVFRQ
SGVhZGVyVmFsdWVzOjptYXhBZ2UwKCkpOwotICAgIGlmIChqc29uUGF5bG9hZCkgewotICAgICAg
ICByZXF1ZXN0LnNldEhUVFBDb250ZW50VHlwZShXZWJDb3JlOjpIVFRQSGVhZGVyVmFsdWVzOjph
cHBsaWNhdGlvbkpTT05Db250ZW50VHlwZSgpKTsKLSAgICAgICAgcmVxdWVzdC5zZXRIVFRQQm9k
eShXZWJDb3JlOjpGb3JtRGF0YTo6Y3JlYXRlKGpzb25QYXlsb2FkLT50b0pTT05TdHJpbmcoKS51
dGY4KCkuZGF0YSgpKSk7Ci0gICAgfQotCi0gICAgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIGxvYWRQ
YXJhbWV0ZXJzOwotICAgIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QgPSByZXF1ZXN0OwotICAgIGxv
YWRQYXJhbWV0ZXJzLnBhcmVudFBJRCA9IHByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpOwotICAg
IGxvYWRQYXJhbWV0ZXJzLnN0b3JlZENyZWRlbnRpYWxzUG9saWN5ID0gU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3k6OkVwaGVtZXJhbFN0YXRlbGVzczsKLSAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRD
bGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0ID0gdHJ1ZTsKLSAgICBsb2FkUGFyYW1l
dGVycy5wY21EYXRhQ2FycmllZCA9IFVOTElLRUxZKGlzRGVidWdNb2RlRW5hYmxlZCkgPyBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQ6OlBlcnNvbmFsbHlJZGVudGlmaWFi
bGUgOiBkYXRhVHlwZUNhcnJpZWQ7Ci0KLSAgICByZXR1cm4gbG9hZFBhcmFtZXRlcnM7Ci19Ci0K
LXN0YXRpYyBOZXR3b3JrTG9hZFBhcmFtZXRlcnMgZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRl
cnNGb3JIdHRwUG9zdChVUkwmJiB1cmwsIFJlZjxKU09OOjpPYmplY3Q+JiYganNvblBheWxvYWQs
IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZCBkYXRhVHlwZUNhcnJpZWQs
IGJvb2wgaXNEZWJ1Z01vZGVFbmFibGVkKQotewotICAgIHJldHVybiBnZW5lcmF0ZU5ldHdvcmtM
b2FkUGFyYW1ldGVycyhXVEZNb3ZlKHVybCksICJQT1NUIl9zLCBXVEZNb3ZlKGpzb25QYXlsb2Fk
KSwgZGF0YVR5cGVDYXJyaWVkLCBpc0RlYnVnTW9kZUVuYWJsZWQpOwotfQotCi1zdGF0aWMgTmV0
d29ya0xvYWRQYXJhbWV0ZXJzIGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0ZXJzRm9ySHR0cEdl
dChVUkwmJiB1cmwsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZCBkYXRh
VHlwZUNhcnJpZWQsIGJvb2wgaXNEZWJ1Z01vZGVFbmFibGVkKQotewotICAgIHJldHVybiBnZW5l
cmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVycyhXVEZNb3ZlKHVybCksICJHRVQiX3MsIG51bGxwdHIs
IGRhdGFUeXBlQ2FycmllZCwgaXNEZWJ1Z01vZGVFbmFibGVkKTsKLX0KLQogdm9pZCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01l
YXN1cmVtZW50JiYgYXR0cmlidXRpb24sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGlvblJlcG9ydEVuZHBvaW50IGF0dHJpYnV0aW9uUmVwb3J0RW5kcG9pbnQsIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpQY21EYXRhQ2FycmllZCBwY21EYXRhQ2FycmllZCwgRnVuY3Rpb248dm9p
ZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIGF0dHJpYnV0aW9uLCBjb25zdCBTdHJpbmcmIHB1
YmxpY0tleUJhc2U2NFVSTCk+JiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFmZWF0dXJlRW5hYmxl
ZCgpKQpAQCAtMTU2LDEyICsxMjUsMTMgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6OmdldFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYKICAgICBp
ZiAodG9rZW5QdWJsaWNLZXlVUkwuaXNFbXB0eSgpIHx8ICF0b2tlblB1YmxpY0tleVVSTC5pc1Zh
bGlkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gbG9hZFBhcmFtZXRlcnMgPSBnZW5l
cmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVyc0Zvckh0dHBHZXQoV1RGTW92ZSh0b2tlblB1YmxpY0tl
eVVSTCksIHBjbURhdGFDYXJyaWVkLCBkZWJ1Z01vZGVFbmFibGVkKCkpOworICAgIGlmIChkZWJ1
Z01vZGVFbmFibGVkKCkpCisgICAgICAgIHBjbURhdGFDYXJyaWVkID0gUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25hbGx5SWRlbnRpZmlhYmxlOwogCiAgICAg
UkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIkFib3V0IHRvIGZpcmUg
YSB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIik7CiAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIEFib3V0IHRvIGZpcmUgYSB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKTsKIAotICAg
IG1fY2xpZW50LT5sb2FkRnJvbU5ldHdvcmsoV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFt3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpcywgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0
dHJpYnV0aW9uKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8mIGVycm9yLCBh
dXRvJiByZXNwb25zZSwgYXV0byYganNvbk9iamVjdCkgbXV0YWJsZSB7CisgICAgbV9jbGllbnQt
PmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKHRva2VuUHVibGljS2V5VVJMKSwgbnVsbHB0ciwgcGNt
RGF0YUNhcnJpZWQsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpcywgYXR0cmli
dXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9uKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0gKGF1dG8mIGVycm9yLCBhdXRvJiByZXNwb25zZSwgYXV0byYganNvbk9iamVjdCkgbXV0YWJs
ZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE5
OSwxMiArMTY5LDEzIEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRT
aWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiAgICAgaWYgKHRva2VuU2ln
bmF0dXJlVVJMLmlzRW1wdHkoKSB8fCAhdG9rZW5TaWduYXR1cmVVUkwuaXNWYWxpZCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3Jr
TG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKHRva2VuU2lnbmF0dXJlVVJMKSwgbWVh
c3VyZW1lbnQudG9rZW5TaWduYXR1cmVKU09OKCksIHBjbURhdGFDYXJyaWVkLCBkZWJ1Z01vZGVF
bmFibGVkKCkpOworICAgIGlmIChkZWJ1Z01vZGVFbmFibGVkKCkpCisgICAgICAgIHBjbURhdGFD
YXJyaWVkID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpQZXJzb25h
bGx5SWRlbnRpZmlhYmxlOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCwgIkFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxlIHRva2VuIHNpZ25pbmcgcmVxdWVz
dC4iKTsKICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVs
OjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gQWJvdXQgdG8gZmlyZSBhIHVubGlu
a2FibGUgdG9rZW4gc2lnbmluZyByZXF1ZXN0LiJfcyk7CiAKLSAgICBtX2NsaWVudC0+bG9hZEZy
b21OZXR3b3JrKFdURk1vdmUobG9hZFBhcmFtZXRlcnMpLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyksIHRoaXMsIG1lYXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCldIChhdXRv
JiBlcnJvciwgYXV0byYgcmVzcG9uc2UsIGF1dG8mIGpzb25PYmplY3QpIG11dGFibGUgeworICAg
IG1fY2xpZW50LT5sb2FkRnJvbU5ldHdvcmsoV1RGTW92ZSh0b2tlblNpZ25hdHVyZVVSTCksIG1l
YXN1cmVtZW50LnRva2VuU2lnbmF0dXJlSlNPTigpLCBwY21EYXRhQ2FycmllZCwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBtZWFzdXJlbWVudCA9IFdURk1vdmUobWVhc3Vy
ZW1lbnQpXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2JqZWN0KSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKIApA
QCAtMzg0LDEyICszNTUsMTIgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmZpcmVDb252ZXJzaW9uUmVxdWVzdEltcGwoY29uc3QgUHJpdmF0ZUNsaWMKICAgICBpZiAoYXR0
cmlidXRpb25VUkwuaXNFbXB0eSgpIHx8ICFhdHRyaWJ1dGlvblVSTC5pc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGF1dG8gbG9hZFBhcmFtZXRlcnMgPSBnZW5lcmF0ZU5ldHdvcmtM
b2FkUGFyYW1ldGVyc0Zvckh0dHBQb3N0KFdURk1vdmUoYXR0cmlidXRpb25VUkwpLCBhdHRyaWJ1
dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEpTT04oKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBj
bURhdGFDYXJyaWVkOjpOb25QZXJzb25hbGx5SWRlbnRpZmlhYmxlLCBkZWJ1Z01vZGVFbmFibGVk
KCkpOworICAgIGF1dG8gcGNtRGF0YUNhcnJpZWQgPSBkZWJ1Z01vZGVFbmFibGVkKCkgPyBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQ6OlBlcnNvbmFsbHlJZGVudGlmaWFi
bGUgOiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UGNtRGF0YUNhcnJpZWQ6Ok5vblBlcnNvbmFs
bHlJZGVudGlmaWFibGU7CiAKICAgICBSRUxFQVNFX0xPR19JTkZPKFByaXZhdGVDbGlja01lYXN1
cmVtZW50LCAiQWJvdXQgdG8gZmlyZSBhbiBhdHRyaWJ1dGlvbiByZXF1ZXN0LiIpOwogICAgIG1f
Y2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2
YXRlIENsaWNrIE1lYXN1cmVtZW50XSBBYm91dCB0byBmaXJlIGFuIGF0dHJpYnV0aW9uIHJlcXVl
c3QuIl9zKTsKIAotICAgIG1fY2xpZW50LT5sb2FkRnJvbU5ldHdvcmsoV1RGTW92ZShsb2FkUGFy
YW1ldGVycyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10oYXV0byYgZXJy
b3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJikgeworICAgIG1fY2xpZW50LT5sb2FkRnJvbU5ldHdv
cmsoV1RGTW92ZShhdHRyaWJ1dGlvblVSTCksIGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0
SlNPTigpLCBwY21EYXRhQ2FycmllZCwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0
aGlzXShhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9uc2UsIGF1dG8mKSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnROZXR3b3JrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnROZXR3b3JrTG9h
ZGVyLmNwcAppbmRleCBlY2JiNGUyZDA4ODc0NTZjNGQxOWU0MjMwM2FkYmY3NTZiYWI1ZTY2Li5l
ZTJkZDZkZWY3MjA2MzIwNWZkODQxNTlmNzA1OTJlZTU5MWVkMGNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVD
bGlja01lYXN1cmVtZW50TmV0d29ya0xvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE5ldHdvcmtMb2FkZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJOZXR3b3Jr
TG9hZC5oIgogI2luY2x1ZGUgIk5ldHdvcmtTZXNzaW9uLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9I
VFRQSGVhZGVyVmFsdWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CiAKQEAgLTM3LDggKzM4
LDMxIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAot
dm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXI6OnN0YXJ0KE5ldHdvcmtT
ZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBDYWxs
YmFjayYmIGNvbXBsZXRpb25IYW5kbGVyKQorc3RhdGljIE5ldHdvcmtMb2FkUGFyYW1ldGVycyBn
ZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVycyhVUkwmJiB1cmwsIFJlZlB0cjxKU09OOjpPYmpl
Y3Q+JiYganNvblBheWxvYWQsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQY21EYXRhQ2Fycmll
ZCBwY21EYXRhQ2FycmllZCkKIHsKKyAgICBTdHJpbmcgaHR0cE1ldGhvZCA9IGpzb25QYXlsb2Fk
ID8gIlBPU1QiX3MgOiAiR0VUIl9zOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgeyBX
VEZNb3ZlKHVybCkgfTsKKyAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoaHR0cE1ldGhvZCk7Cisg
ICAgcmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNhY2hlQ29udHJv
bCwgV2ViQ29yZTo6SFRUUEhlYWRlclZhbHVlczo6bWF4QWdlMCgpKTsKKyAgICBpZiAoanNvblBh
eWxvYWQpIHsKKyAgICAgICAgcmVxdWVzdC5zZXRIVFRQQ29udGVudFR5cGUoV2ViQ29yZTo6SFRU
UEhlYWRlclZhbHVlczo6YXBwbGljYXRpb25KU09OQ29udGVudFR5cGUoKSk7CisgICAgICAgIHJl
cXVlc3Quc2V0SFRUUEJvZHkoV2ViQ29yZTo6Rm9ybURhdGE6OmNyZWF0ZShqc29uUGF5bG9hZC0+
dG9KU09OU3RyaW5nKCkudXRmOCgpKSk7CisgICAgfQorCisgICAgTmV0d29ya0xvYWRQYXJhbWV0
ZXJzIGxvYWRQYXJhbWV0ZXJzOworICAgIGxvYWRQYXJhbWV0ZXJzLnJlcXVlc3QgPSByZXF1ZXN0
OworICAgIGxvYWRQYXJhbWV0ZXJzLnBhcmVudFBJRCA9IHByZXNlbnRpbmdBcHBsaWNhdGlvblBJ
RCgpOworICAgIGxvYWRQYXJhbWV0ZXJzLnN0b3JlZENyZWRlbnRpYWxzUG9saWN5ID0gU3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k6OkVwaGVtZXJhbFN0YXRlbGVzczsKKyAgICBsb2FkUGFyYW1ldGVy
cy5zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0ID0gdHJ1ZTsKKyAgICBs
b2FkUGFyYW1ldGVycy5wY21EYXRhQ2FycmllZCA9IHBjbURhdGFDYXJyaWVkOworCisgICAgcmV0
dXJuIGxvYWRQYXJhbWV0ZXJzOworfQorCit2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0
d29ya0xvYWRlcjo6c3RhcnQoTmV0d29ya1Nlc3Npb24mIHNlc3Npb24sIFVSTCYmIHVybCwgUmVm
UHRyPEpTT046Ok9iamVjdD4mJiBqc29uUGF5bG9hZCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlBjbURhdGFDYXJyaWVkIHBjbURhdGFDYXJyaWVkLCBDYWxsYmFjayYmIGNvbXBsZXRpb25IYW5k
bGVyKQoreworICAgIGF1dG8gcGFyYW1ldGVycyA9IGdlbmVyYXRlTmV0d29ya0xvYWRQYXJhbWV0
ZXJzKFdURk1vdmUodXJsKSwgV1RGTW92ZShqc29uUGF5bG9hZCksIHBjbURhdGFDYXJyaWVkKTsK
ICAgICBhdXRvIGxvYWRlciA9IHN0ZDo6dW5pcXVlX3B0cjxQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE5ldHdvcmtMb2FkZXI+KG5ldyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXIo
c2Vzc2lvbiwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
KTsKICAgICBzZXNzaW9uLmFkZFByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0d29ya0xvYWRlcihX
VEZNb3ZlKGxvYWRlcikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdv
cmtMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnROZXR3b3JrTG9hZGVyLmgKaW5kZXggYzlm
ZTkwYWJhMmM2NDA2NmY5ZTc3YTNiODM5NDQ5N2U4NTZjOTdhMS4uMWUzOWVlNTJmNTMxM2YzZjE2
YmZhMWYyYTFlMmQxNTc3MDYxZjhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5l
dHdvcmtMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0d29ya0xvYWRlci5oCkBA
IC00MCw3ICs0MCw3IEBAIGNsYXNzIFByaXZhdGVDbGlja01lYXN1cmVtZW50TmV0d29ya0xvYWRl
ciBmaW5hbCA6IHB1YmxpYyBOZXR3b3JrTG9hZENsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdXNpbmcgQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiwgY29uc3QgUmVmUHRyPEpTT046Ok9iamVjdD4mKT47Ci0gICAgc3RhdGlj
IHZvaWQgc3RhcnQoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiwgQ2Fs
bGJhY2smJik7CisgICAgc3RhdGljIHZvaWQgc3RhcnQoTmV0d29ya1Nlc3Npb24mLCBVUkwmJiwg
UmVmUHRyPEpTT046Ok9iamVjdD4mJiwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlBjbURhdGFDYXJyaWVkLCBDYWxsYmFjayYmKTsKIAogICAgIH5Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE5ldHdvcmtMb2FkZXIoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>