<?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>222149</bug_id>
          
          <creation_ts>2021-02-18 17:49:23 -0800</creation_ts>
          <short_desc>Create SQLite skeleton implementation for PCM fraud prevention</short_desc>
          <delta_ts>2021-02-19 13:15:02 -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>WebKit Misc.</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>
          
          <blocked>221291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1731126</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-18 17:49:23 -0800</bug_when>
    <thetext>Tracking the work to add support for PCM fraud prevention to a SQLite database.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731127</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-18 17:50:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/74502655&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731143</commentid>
    <comment_count>2</comment_count>
      <attachid>420895</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-18 18:15:34 -0800</bug_when>
    <thetext>Created attachment 420895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731146</commentid>
    <comment_count>3</comment_count>
      <attachid>420895</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-18 18:23:14 -0800</bug_when>
    <thetext>Comment on attachment 420895
Patch

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

LGTM, r=me. Thanks for making this patch.

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:2966
&gt; +    // FIXME: Store these in the attribution object once PCM fraud prevention is in place.

You can refer to this radar: &lt;rdar://problem/73582032&gt;.

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:3017
&gt; +    // FIXME: Use real values from the attribution object once PCM fraud prevention is in place.

You can refer to this radar: &lt;rdar://problem/73582032&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731152</commentid>
    <comment_count>4</comment_count>
      <attachid>420898</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-18 18:36:22 -0800</bug_when>
    <thetext>Created attachment 420898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731153</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-18 18:37:25 -0800</bug_when>
    <thetext>(In reply to Jiewen Tan from comment #3)
&gt; Comment on attachment 420895 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420895&amp;action=review
&gt; 
&gt; LGTM, r=me. Thanks for making this patch.
&gt; 

Thanks -- waiting on EWS before landing.

&gt; &gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:2966
&gt; &gt; +    // FIXME: Store these in the attribution object once PCM fraud prevention is in place.
&gt; 
&gt; You can refer to this radar: &lt;rdar://problem/73582032&gt;.
&gt; 

Fixed!

&gt; &gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:3017
&gt; &gt; +    // FIXME: Use real values from the attribution object once PCM fraud prevention is in place.
&gt; 
&gt; You can refer to this radar: &lt;rdar://problem/73582032&gt;.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731268</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-19 01:30:45 -0800</bug_when>
    <thetext>Committed r273134: &lt;https://commits.webkit.org/r273134&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420898.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731554</commentid>
    <comment_count>7</comment_count>
      <attachid>420898</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-19 13:15:02 -0800</bug_when>
    <thetext>Comment on attachment 420898
Patch

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

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:274
&gt; +static const String unattributedPrivateClickMeasurementSchemaV1()

The const on the return value here is not valuable. We should change these &quot;static const String&quot; to &quot;static String&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420895</attachid>
            <date>2021-02-18 18:15:34 -0800</date>
            <delta_ts>2021-02-18 18:39:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222149-20210218181533.patch</filename>
            <type>text/plain</type>
            <size>16843</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc0MzBkYzdlYzA1MGQwZDdl
MDNlMTcxMjE0ZTYwNjZlZWIwOWM2OTguLmQzYmRkNjFiMTM4ZTk1MTQxMzZlYjU4MzNmMDkzZjAz
YjJkYTU5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEtMDItMTggIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIFNRTGl0
ZSBza2VsZXRvbiBpbXBsZW1lbnRhdGlvbiBmb3IgUENNIGZyYXVkIHByZXZlbnRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjE0OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzQ1MDI2NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBQQ00gc3FsaXRlIHRh
YmxlcyB0byBob2xkIDMgZXh0cmEgdmFsdWVzOgorICAgICAgICB0b2tlbiBjb250ZW50LCBhIHNp
Z25hdHVyZSwgYW5kIGEga2V5SUQuIFNpbmNlIHdlIGFyZSB1cGRhdGluZyB0aGUKKyAgICAgICAg
c2NoZW1hIG9mIGFuIGV4aXN0aW5nIHRhYmxlLCB3ZSBuZWVkIHRvIG1pZ3JhdGUgZXhpc3Rpbmcg
UENNIGRhdGEgdG8KKyAgICAgICAgdGhlIG5ldyB0YWJsZXMuIFRoZXNlIHdpbGwgaGF2ZSAibnVs
bCIgdmFsdWVzIGluIHRoZSBuZXcgZmllbGRzLgorCisgICAgICAgIEV4dGVuc2l2ZSBsb2NhbCB0
ZXN0aW5nLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnVuYXR0cmli
dXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50U2NoZW1hVjEpOgorICAgICAgICAoV2ViS2l0Ojp1
bmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNjaGVtYVYxQWx0ZXJuYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6b3V0ZGF0ZWRVbmF0dHJpYnV0ZWRDb2x1bW5zKToKKyAgICAgICAgKFdl
YktpdDo6b3V0ZGF0ZWRBdHRyaWJ1dGVkQ29sdW1ucyk6CisgICAgICAgIFN0cmluZ3MgdGhhdCB3
aWxsIGhlbHAgdXMgZGV0ZXJtaW5lIGlmIHRoZSBzY2hlbWEgbmVlZHMgdG8gYmUgdXBkYXRlZAor
ICAgICAgICBhbmQgaG9sZCB0aGUgZXhpc3RpbmcgY29sdW1ucyBzbyB3ZSBjYW4gcG9wdWxhdGUg
dGhlIG5ldyB0YWJsZXMgd2l0aAorICAgICAgICB0aGlzIGRhdGEuCisKKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Om5lZWRzVXBkYXRlZFByaXZh
dGVDbGlja01lYXN1cmVtZW50U2NoZW1hKToKKyAgICAgICAgQ29tcGFyZSB0aGUgZXhpc3Rpbmcg
c2NoZW1hIHdpdGggdGhlIG5ldyBvbmUuIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzCisgICAgICAg
IGZvciBvbmUgUENNIHRhYmxlIGJlY2F1c2UgdGhleSBhcmUgYmVpbmcgY2hhbmdlZCBpbiB0aGUg
c2FtZSBwYXRjaC4KKworICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6bWlzc2luZ1JlZmVyZW5jZVRvT2JzZXJ2ZWREb21haW5zKToKKyAgICAgICAg
TmFtZSB1cGRhdGUgbm93IHRoYXQgdGhlcmUgYXJlIHZhcmlvdXMgcmVhc29ucyB0byBtaWdyYXRl
IGRhdGEuCisKKyAgICAgICAgKFdlYktpdDo6Y29sdW1uc1RvQ29weSk6CisgICAgICAgIEkgY2hv
c2UgdG8gbWlncmF0ZSBhbGwgdGFibGVzIGV2ZW4gaWYgb25seSBQQ00gdGFibGVzIG5lZWQgdXBk
YXRpbmcgCisgICAgICAgIGJlY2F1c2UgaXQgd2FzIHNpbXBsZXIgd2l0aCBleGlzdGluZyBjb2Rl
LCBhbmQgaXQgZ2l2ZXMgdXMgbW9yZQorICAgICAgICBmbGV4aWJpbGl0eSBpZiB3ZSBuZWVkIHRv
IGNoYW5nZSBtb3JlIHNjaGVtYXMgaW4gdGhlIGZ1dHVyZS4gU2luY2UKKyAgICAgICAgdGhlIG1p
Z3JhdGlvbiBoYXBwZW5zIG9ubHkgb25jZSBlYWNoIHRpbWUgd2UgdXBkYXRlIHRoZSBzY2hlbWEs
IHRoaXMKKyAgICAgICAgaXMgcHJvYmFibHkgbG93IGNvc3QuIFRoZSBjb2x1bW5zVG9Db3B5KCkg
ZnVuY3Rpb24gZ2l2ZXMgdXMgdGhlIG9wdGlvbgorICAgICAgICB0byBzcGVjaWZ5IGRhdGEgd2Ug
bmVlZCBmcm9tIGV4aXN0aW5nIHRhYmxlcyB3aGVuIHdlIG1pZ3JhdGUuCisKKyAgICAgICAgKFdl
YktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Om1pZ3JhdGVEYXRhVG9O
ZXdUYWJsZXNJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZVN0b3JlOjpidWlsZFByaXZhdGVDbGlja01lYXN1cmVtZW50RnJvbURhdGFi
YXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3Rv
cmU6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAgICAgICAgRm9yIG5vdywgdGhl
c2UgYXJlIGVtcHR5IHZhbHVlcyB0aGF0IHdlIHdpbGwgaW1wbGVtZW50IHdoZW4gUENNIGZyYXVk
CisgICAgICAgIHByZXZlbnRpb24gcGllY2VzIGFyZSBpbiBwbGFjZS4KKworICAgICAgICAoV2Vi
S2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aXNNaWdyYXRpb25OZWNl
c3NhcnkpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaDoKKwogMjAyMS0wMi0xNyAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBQbHVtYiBhbiBPcHRp
b25hbDxQYWdlSWRlbnRpZmllcj4gdGhyb3VnaCBQYXN0ZWJvYXJkLXJlbGF0ZWQgY29kZXBhdGhz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3Jl
LmNwcAppbmRleCAwYWQ0YWE2NTNkZTI3Y2NkNmZkMTRlYmY3YTY2NWJlNjlhZjAwZDFlLi41MzY3
YmY4OWEwNTVjOGFkMjFmMTkzN2Y5NjdlNjFiYmRkNjA5NjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAKQEAgLTgyLDkgKzgy
LDkgQEAgY29uc3RleHByIGF1dG8gdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tUXVlcnkgPSAi
SU5TRVJUIE9SIElHTk9SRSBJTlRPIFRvcEZyYW0KIGNvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTG9h
ZGVkVGhpcmRQYXJ0eVNjcmlwdHNRdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIGludG8gVG9wRnJh
bWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyAodG9wRnJhbWVEb21haW5JRCwgc3VicmVzb3VyY2VE
b21haW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIHdoZXJlIHJl
Z2lzdHJhYmxlRG9tYWluIGluICggIl9zOwogY29uc3RleHByIGF1dG8gc3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNGcm9tUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9SRSBJTlRPIFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzRnJvbSAoc3VicmVzb3VyY2VEb21haW5JRCwgZnJvbURvbWFpbklEKSBT
RUxFQ1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUgcmVnaXN0cmFibGVE
b21haW4gaW4gKCAiX3M7CiBjb25zdGV4cHIgYXV0byBpbnNlcnRVbmF0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudFF1ZXJ5ID0gIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gVW5hdHRyaWJ1
dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKHNvdXJjZVNpdGVEb21haW5JRCwgYXR0cmlidXRl
T25TaXRlRG9tYWluSUQsICIKLSAgICAic291cmNlSUQsIHRpbWVPZkFkQ2xpY2spIFZBTFVFUyAo
PywgPywgPywgPykiX3M7CisgICAgInNvdXJjZUlELCB0aW1lT2ZBZENsaWNrLCB0b2tlbiwgc2ln
bmF0dXJlLCBrZXlJRCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/KSJfczsKIGNvbnN0ZXhw
ciBhdXRvIGluc2VydEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFF1ZXJ5ID0gIklO
U0VSVCBPUiBSRVBMQUNFIElOVE8gQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50IChz
b3VyY2VTaXRlRG9tYWluSUQsIGF0dHJpYnV0ZU9uU2l0ZURvbWFpbklELCAiCi0gICAgInNvdXJj
ZUlELCBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhLCBwcmlvcml0eSwgdGltZU9mQWRDbGljaywgZWFy
bGllc3RUaW1lVG9TZW5kKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8pIl9zOworICAgICJz
b3VyY2VJRCwgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgcHJpb3JpdHksIHRpbWVPZkFkQ2xpY2ss
IGVhcmxpZXN0VGltZVRvU2VuZCwgdG9rZW4sIHNpZ25hdHVyZSwga2V5SUQpIFZBTFVFUyAoPywg
PywgPywgPywgPywgPywgPywgPywgPywgPykiX3M7CiAKIC8vIElOU0VSVCBPUiBSRVBMQUNFIFF1
ZXJpZXMKIGNvbnN0ZXhwciBhdXRvIHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnNRdWVyeSA9
ICJJTlNFUlQgT1IgUkVQTEFDRSBpbnRvIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMgKHN1
YkZyYW1lRG9tYWluSUQsIGxhc3RVcGRhdGVkLCB0b3BGcmFtZURvbWFpbklEKSBTRUxFQ1QgPywg
PywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgd2hlcmUgcmVnaXN0cmFibGVEb21haW4g
aW4gKCAiX3M7CkBAIC0yMzUsMTQgKzIzNSwxNiBAQCBjb25zdGV4cHIgYXV0byBjcmVhdGVPcGVy
YXRpbmdEYXRlcyA9ICJDUkVBVEUgVEFCTEUgT3BlcmF0aW5nRGF0ZXMgKCIKIAogY29uc3RleHBy
IGF1dG8gY3JlYXRlVW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSAiQ1JFQVRF
IFRBQkxFIFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50ICgiCiAgICAgInNvdXJj
ZVNpdGVEb21haW5JRCBJTlRFR0VSIE5PVCBOVUxMLCBhdHRyaWJ1dGVPblNpdGVEb21haW5JRCBJ
TlRFR0VSIE5PVCBOVUxMLCBzb3VyY2VJRCBJTlRFR0VSIE5PVCBOVUxMLCAiCi0gICAgInRpbWVP
ZkFkQ2xpY2sgUkVBTCBOT1QgTlVMTCwgRk9SRUlHTiBLRVkoc291cmNlU2l0ZURvbWFpbklEKSBS
RUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIK
LSAgICAiRk9SRUlHTiBLRVkoYXR0cmlidXRlT25TaXRlRG9tYWluSUQpIFJFRkVSRU5DRVMgT2Jz
ZXJ2ZWREb21haW5zKGRvbWFpbklEKSBPTiBERUxFVEUgQ0FTQ0FERSk7Il9zOworICAgICJ0aW1l
T2ZBZENsaWNrIFJFQUwgTk9UIE5VTEwsIHRva2VuIFRFWFQsIHNpZ25hdHVyZSBURVhULCBrZXlJ
RCBURVhULCBGT1JFSUdOIEtFWShzb3VyY2VTaXRlRG9tYWluSUQpICIKKyAgICAiUkVGRVJFTkNF
UyBPYnNlcnZlZERvbWFpbnMoZG9tYWluSUQpIE9OIERFTEVURSBDQVNDQURFLCBGT1JFSUdOIEtF
WShhdHRyaWJ1dGVPblNpdGVEb21haW5JRCkgUkVGRVJFTkNFUyAiCisgICAgIk9ic2VydmVkRG9t
YWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUpIl9zOwogCiBjb25zdGV4cHIgYXV0byBj
cmVhdGVBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSAiQ1JFQVRFIFRBQkxFIEF0
dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCAoIgogICAgICJzb3VyY2VTaXRlRG9tYWlu
SUQgSU5URUdFUiBOT1QgTlVMTCwgYXR0cmlidXRlT25TaXRlRG9tYWluSUQgSU5URUdFUiBOT1Qg
TlVMTCwgc291cmNlSUQgSU5URUdFUiBOT1QgTlVMTCwgIgotICAgICJhdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhIElOVEVHRVIgTk9UIE5VTEwsIHByaW9yaXR5IElOVEVHRVIgTk9UIE5VTEwsIHRpbWVP
ZkFkQ2xpY2sgUkVBTCBOT1QgTlVMTCwgZWFybGllc3RUaW1lVG9TZW5kIFJFQUwgTk9UIE5VTEws
ICIKLSAgICAiRk9SRUlHTiBLRVkoc291cmNlU2l0ZURvbWFpbklEKSBSRUZFUkVOQ0VTIE9ic2Vy
dmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIKLSAgICAiRk9SRUlHTiBL
RVkoYXR0cmlidXRlT25TaXRlRG9tYWluSUQpIFJFRkVSRU5DRVMgT2JzZXJ2ZWREb21haW5zKGRv
bWFpbklEKSBPTiBERUxFVEUgQ0FTQ0FERSk7Il9zOworICAgICJhdHRyaWJ1dGlvblRyaWdnZXJE
YXRhIElOVEVHRVIgTk9UIE5VTEwsIHByaW9yaXR5IElOVEVHRVIgTk9UIE5VTEwsIHRpbWVPZkFk
Q2xpY2sgUkVBTCBOT1QgTlVMTCwgIgorICAgICJlYXJsaWVzdFRpbWVUb1NlbmQgUkVBTCBOT1Qg
TlVMTCwgdG9rZW4gVEVYVCwgc2lnbmF0dXJlIFRFWFQsIGtleUlEIFRFWFQsIEZPUkVJR04gS0VZ
KHNvdXJjZVNpdGVEb21haW5JRCkgIgorICAgICJSRUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhk
b21haW5JRCkgT04gREVMRVRFIENBU0NBREUsIEZPUkVJR04gS0VZKGF0dHJpYnV0ZU9uU2l0ZURv
bWFpbklEKSBSRUZFUkVOQ0VTICIKKyAgICAiT2JzZXJ2ZWREb21haW5zKGRvbWFpbklEKSBPTiBE
RUxFVEUgQ0FTQ0FERSk7Il9zOwogCiAvLyBDUkVBVEUgVU5JUVVFIElOREVYIFF1ZXJpZXMuCiBj
b25zdGV4cHIgYXV0byBjcmVhdGVVbmlxdWVJbmRleFN0b3JhZ2VBY2Nlc3NVbmRlclRvcEZyYW1l
RG9tYWlucyA9ICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgU3RvcmFnZUFjY2Vz
c1VuZGVyVG9wRnJhbWVEb21haW5zX2RvbWFpbklEX3RvcExldmVsRG9tYWluSUQgb24gU3RvcmFn
ZUFjY2Vzc1VuZGVyVG9wRnJhbWVEb21haW5zICggZG9tYWluSUQsIHRvcExldmVsRG9tYWluSUQg
KTsiX3M7CkBAIC0yNjksNiArMjcxLDI2IEBAIHN0YXRpYyBjb25zdCBTdHJpbmcgT2JzZXJ2ZWRE
b21haW5zVGFibGVTY2hlbWFWMUFsdGVybmF0ZSgpCiAgICAgcmV0dXJuICJDUkVBVEUgVEFCTEUg
XCJPYnNlcnZlZERvbWFpbnNcIiAoZG9tYWluSUQgSU5URUdFUiBQUklNQVJZIEtFWSwgcmVnaXN0
cmFibGVEb21haW4gVEVYVCBOT1QgTlVMTCBVTklRVUUgT04gQ09ORkxJQ1QgRkFJTCwgbGFzdFNl
ZW4gUkVBTCBOT1QgTlVMTCwgaGFkVXNlckludGVyYWN0aW9uIElOVEVHRVIgTk9UIE5VTEwsIG1v
c3RSZWNlbnRVc2VySW50ZXJhY3Rpb25UaW1lIFJFQUwgTk9UIE5VTEwsIGdyYW5kZmF0aGVyZWQg
SU5URUdFUiBOT1QgTlVMTCwgaXNQcmV2YWxlbnQgSU5URUdFUiBOT1QgTlVMTCwgaXNWZXJ5UHJl
dmFsZW50IElOVEVHRVIgTk9UIE5VTEwsIGRhdGFSZWNvcmRzUmVtb3ZlZCBJTlRFR0VSIE5PVCBO
VUxMLHRpbWVzQWNjZXNzZWRBc0ZpcnN0UGFydHlEdWVUb1VzZXJJbnRlcmFjdGlvbiBJTlRFR0VS
IE5PVCBOVUxMLCB0aW1lc0FjY2Vzc2VkQXNGaXJzdFBhcnR5RHVlVG9TdG9yYWdlQWNjZXNzQVBJ
IElOVEVHRVIgTk9UIE5VTEwsaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCBJ
TlRFR0VSIE5PVCBOVUxMKSI7CiB9CiAKK3N0YXRpYyBjb25zdCBTdHJpbmcgdW5hdHRyaWJ1dGVk
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTY2hlbWFWMSgpCit7CisgICAgcmV0dXJuIGNyZWF0ZVVu
YXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50OworfQorCitzdGF0aWMgY29uc3QgU3Ry
aW5nIHVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50U2NoZW1hVjFBbHRlcm5hdGUo
KQoreworICAgIHJldHVybiAiQ1JFQVRFIFRBQkxFIFwiVW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRcIiAoc291cmNlU2l0ZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIGF0dHJp
YnV0ZU9uU2l0ZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIHNvdXJjZUlEIElOVEVHRVIgTk9U
IE5VTEwsIHRpbWVPZkFkQ2xpY2sgUkVBTCBOT1QgTlVMTCwgdG9rZW4gVEVYVCwgc2lnbmF0dXJl
IFRFWFQsIGtleUlEIFRFWFQsIEZPUkVJR04gS0VZKHNvdXJjZVNpdGVEb21haW5JRCkgUkVGRVJF
TkNFUyBPYnNlcnZlZERvbWFpbnMoZG9tYWluSUQpIE9OIERFTEVURSBDQVNDQURFLCBGT1JFSUdO
IEtFWShhdHRyaWJ1dGVPblNpdGVEb21haW5JRCkgUkVGRVJFTkNFUyBPYnNlcnZlZERvbWFpbnMo
ZG9tYWluSUQpIE9OIERFTEVURSBDQVNDQURFKSI7Cit9CisKK3N0YXRpYyBjb25zdCBTdHJpbmcg
b3V0ZGF0ZWRVbmF0dHJpYnV0ZWRDb2x1bW5zKCkKK3sKKyAgICByZXR1cm4gInNvdXJjZVNpdGVE
b21haW5JRCwgYXR0cmlidXRlT25TaXRlRG9tYWluSUQsIHNvdXJjZUlELCB0aW1lT2ZBZENsaWNr
Il9zOworfQorCitzdGF0aWMgY29uc3QgU3RyaW5nIG91dGRhdGVkQXR0cmlidXRlZENvbHVtbnMo
KQoreworICAgIHJldHVybiAic291cmNlU2l0ZURvbWFpbklELCBhdHRyaWJ1dGVPblNpdGVEb21h
aW5JRCwgc291cmNlSUQsIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIHByaW9yaXR5LCB0aW1lT2ZB
ZENsaWNrLCBlYXJsaWVzdFRpbWVUb1NlbmQiX3M7Cit9CisKIHN0YXRpYyBib29sIG5lZWRzTmV3
Q3JlYXRlVGFibGVTY2hlbWEoY29uc3QgU3RyaW5nJiBzY2hlbWEpCiB7CiAgICAgcmV0dXJuIHNj
aGVtYS5jb250YWlucygiUkVGRVJFTkNFUyBUb3BMZXZlbERvbWFpbnMiKTsKQEAgLTQwNiw3ICs0
MjgsMzEgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6ZW5hYmxl
Rm9yZWlnbktleXMoKQogICAgIH0KIH0KIAotYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6aXNNaWdyYXRpb25OZWNlc3NhcnkoKQorYm9vbCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZTo6bmVlZHNVcGRhdGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRT
Y2hlbWEoKQoreworICAgIFN0cmluZyBjdXJyZW50U2NoZW1hOworCisgICAgLy8gRmV0Y2ggdGhl
IHNjaGVtYSBmb3IgdGhlIGV4aXN0aW5nIFVuYXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVt
ZW50IHRhYmxlLgorICAgIFNRTGl0ZVN0YXRlbWVudCBzdGF0ZW1lbnQobV9kYXRhYmFzZSwgIlNF
TEVDVCB0eXBlLCBzcWwgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHRibF9uYW1lPSdVbmF0dHJp
YnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCcgQU5EIHR5cGUgPSAndGFibGUnIik7CisgICAg
aWYgKHN0YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LKSB7CisgICAgICAgIExPR19FUlJP
UigiVW5hYmxlIHRvIHByZXBhcmUgc3RhdGVtZW50IHRvIGZldGNoIHNjaGVtYSBmb3IgdGhlIFVu
YXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50IHRhYmxlLiIpOworICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlm
IChzdGF0ZW1lbnQuc3RlcCgpID09IFNRTElURV9ST1cpCisgICAgICAgIGN1cnJlbnRTY2hlbWEg
PSBzdGF0ZW1lbnQuZ2V0Q29sdW1uVGV4dCgxKTsKKworICAgIGlmICghY3VycmVudFNjaGVtYS5p
c0VtcHR5KCkKKyAgICAgICAgJiYgY3VycmVudFNjaGVtYSAhPSB1bmF0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudFNjaGVtYVYxKCkKKyAgICAgICAgJiYgY3VycmVudFNjaGVtYSAhPSB1
bmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNjaGVtYVYxQWx0ZXJuYXRlKCkpIHsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjptaXNzaW5nUmVmZXJlbmNl
VG9PYnNlcnZlZERvbWFpbnMoKQogewogICAgIC8vIENoZWNrIGEgdGFibGUgZm9yIGEgcmVmZXJl
bmNlIHRvIFRvcExldmVsRG9tYWlucywgYSBzaWduIG9mIHRoZSBvbGQgc2NoZW1hLgogICAgIFNR
TGl0ZVN0YXRlbWVudCBzdGF0ZW1lbnQobV9kYXRhYmFzZSwgIlNFTEVDVCB0eXBlLCBzcWwgRlJP
TSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCB0YmxfbmFtZT0nVG9wRnJh
bWVVbmlxdWVSZWRpcmVjdHNUbyciKTsKQEAgLTQyOSw5ICs0NzUsMjMgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aXNNaWdyYXRpb25OZWNlc3NhcnkoKQogICAg
IHJldHVybiBuZWVkc05ld0NyZWF0ZVRhYmxlU2NoZW1hKG9sZFNjaGVtYSk7CiB9CiAKK3N0YXRp
YyBTdHJpbmcgY29sdW1uc1RvQ29weShjb25zdCBTdHJpbmcmIHRhYmxlTmFtZSwgYm9vbCBuZWVk
UENNU2NoZW1hVXBkYXRlKQoreworICAgIGlmICghbmVlZFBDTVNjaGVtYVVwZGF0ZSkKKyAgICAg
ICAgcmV0dXJuICIqIl9zOworCisgICAgaWYgKHRhYmxlTmFtZSA9PSAiVW5hdHRyaWJ1dGVkUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQiX3MpCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKG91dGRh
dGVkVW5hdHRyaWJ1dGVkQ29sdW1ucygpLCAiLCBudWxsLCBudWxsLCBudWxsIik7CisgICAgaWYg
KHRhYmxlTmFtZSA9PSAiQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50Il9zKQorICAg
ICAgICByZXR1cm4gbWFrZVN0cmluZyhvdXRkYXRlZEF0dHJpYnV0ZWRDb2x1bW5zKCksICIsIG51
bGwsIG51bGwsIG51bGwiKTsKKworICAgIHJldHVybiAiKiJfczsKK30KKwogdm9pZCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lmTmVj
ZXNzYXJ5KCkKIHsKLSAgICBpZiAoIWlzTWlncmF0aW9uTmVjZXNzYXJ5KCkpCisgICAgYm9vbCBu
ZWVkc1BDTVNjaGVtYVVwZGF0ZSA9IG5lZWRzVXBkYXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50
U2NoZW1hKCk7CisgICAgaWYgKCFtaXNzaW5nUmVmZXJlbmNlVG9PYnNlcnZlZERvbWFpbnMoKSAm
JiAhbmVlZHNQQ01TY2hlbWFVcGRhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIFNRTGl0ZVRy
YW5zYWN0aW9uIHRyYW5zYWN0aW9uKG1fZGF0YWJhc2UpOwpAQCAtNDU0LDcgKzUxNCw4IEBAIHZv
aWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Om1pZ3JhdGVEYXRhVG9OZXdU
YWJsZXNJZk5lY2Vzc2FyeSgpCiAgICAgfQogCiAgICAgZm9yIChhdXRvJiB0YWJsZSA6IGNyZWF0
ZVRhYmxlUXVlcmllcygpLmtleXMoKSkgewotICAgICAgICBhdXRvIHF1ZXJ5ID0gbWFrZVN0cmlu
ZygiSU5TRVJUIElOVE8gIiwgdGFibGUsICIgU0VMRUNUICogRlJPTSBfIiwgdGFibGUpOworICAg
ICAgICBhdXRvIGNvbHVtbnMgPSBjb2x1bW5zVG9Db3B5KHRhYmxlLCBuZWVkUENNU2NoZW1hVXBk
YXRlKTsKKyAgICAgICAgYXV0byBxdWVyeSA9IG1ha2VTdHJpbmcoIklOU0VSVCBJTlRPICIsIHRh
YmxlLCAiIFNFTEVDVCAiLCBjb2x1bW5zLCAiIEZST00gXyIsIHRhYmxlKTsKICAgICAgICAgU1FM
aXRlU3RhdGVtZW50IG1pZ3JhdGVUYWJsZURhdGEobV9kYXRhYmFzZSwgcXVlcnkpOwogICAgICAg
ICBpZiAobWlncmF0ZVRhYmxlRGF0YS5wcmVwYXJlKCkgIT0gU1FMSVRFX09LIHx8IG1pZ3JhdGVU
YWJsZURhdGEuc3RlcCgpICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihOZXR3b3JrLCAiJXAgLSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZTo6bWlncmF0ZURhdGFUb05ld1RhYmxlc1dpdGhDYXNjYWRpbmdEZWxldGlvbiBmYWlsZWQgdG8g
bWlncmF0ZSBzY2hlbWEsIGVycm9yIG1lc3NhZ2U6ICV7cHJpdmF0ZX1zIiwgdGhpcywgbV9kYXRh
YmFzZS5sYXN0RXJyb3JNc2coKSk7CkBAIC0yODg1LDYgKzI5NDYsOSBAQCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6YnVpbGRQcml2
YXRlQ2xpY2tNZQogICAgIGF1dG8gYXR0cmlidXRlT25TaXRlRG9tYWluID0gZ2V0RG9tYWluU3Ry
aW5nRnJvbURvbWFpbklEKHN0YXRlbWVudC0+Z2V0Q29sdW1uSW50KDEpKTsKICAgICBhdXRvIHNv
dXJjZUlEID0gc3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMik7CiAgICAgYXV0byB0aW1lT2ZBZENs
aWNrID0gYXR0cmlidXRpb25UeXBlID09IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25UeXBlOjpBdHRyaWJ1dGVkID8gc3RhdGVtZW50LT5nZXRDb2x1bW5Eb3VibGUoNSkgOiBzdGF0
ZW1lbnQtPmdldENvbHVtbkRvdWJsZSgzKTsKKyAgICBhdXRvIHRva2VuID0gYXR0cmlidXRpb25U
eXBlID09IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpBdHRyaWJ1dGVk
ID8gc3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDcpIDogc3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0
KDQpOworICAgIGF1dG8gc2lnbmF0dXJlID0gYXR0cmlidXRpb25UeXBlID09IFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpBdHRyaWJ1dGVkID8gc3RhdGVtZW50LT5nZXRD
b2x1bW5UZXh0KDgpIDogc3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDUpOworICAgIGF1dG8ga2V5
SUQgPSBhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlv
blR5cGU6OkF0dHJpYnV0ZWQgPyBzdGF0ZW1lbnQtPmdldENvbHVtblRleHQoOSkgOiBzdGF0ZW1l
bnQtPmdldENvbHVtblRleHQoNik7CiAKICAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRy
aWJ1dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoc291cmNl
SUQpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShSZWdpc3Ry
YWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWluU3RyaW5nKHNv
dXJjZVNpdGVEb21haW4pKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0ZU9uU2l0ZShSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJh
YmxlRG9tYWluU3RyaW5nKGF0dHJpYnV0ZU9uU2l0ZURvbWFpbikpLCB7IH0sIHsgfSwgV2FsbFRp
bWU6OmZyb21SYXdTZWNvbmRzKHRpbWVPZkFkQ2xpY2spKTsKICAgICAKQEAgLTI4OTksNiArMjk2
MywxMSBAQCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6YnVpbGRQcml2YXRlQ2xpY2tNZQogICAgICAgICBhdHRyaWJ1dGlvbi5zZXRF
YXJsaWVzdFRpbWVUb1NlbmQoV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGVhcmxpZXN0VGltZVRv
U2VuZCkpOwogICAgIH0KIAorICAgIC8vIEZJWE1FOiBTdG9yZSB0aGVzZSBpbiB0aGUgYXR0cmli
dXRpb24gb2JqZWN0IG9uY2UgUENNIGZyYXVkIHByZXZlbnRpb24gaXMgaW4gcGxhY2UuCisgICAg
VU5VU0VEX1BBUkFNKHRva2VuKTsKKyAgICBVTlVTRURfUEFSQU0oc2lnbmF0dXJlKTsKKyAgICBV
TlVTRURfUEFSQU0oa2V5SUQpOworCiAgICAgcmV0dXJuIGF0dHJpYnV0aW9uOwogfQogCkBAIC0y
OTQ1LDYgKzMwMTQsMTEgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZTo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoUHJpdmF0ZUMKICAgICBpZiAoIXNvdXJj
ZURhdGEuc2Vjb25kIHx8ICFhdHRyaWJ1dGVPbkRhdGEuc2Vjb25kKQogICAgICAgICByZXR1cm47
CiAKKyAgICAvLyBGSVhNRTogVXNlIHJlYWwgdmFsdWVzIGZyb20gdGhlIGF0dHJpYnV0aW9uIG9i
amVjdCBvbmNlIFBDTSBmcmF1ZCBwcmV2ZW50aW9uIGlzIGluIHBsYWNlLgorICAgIFN0cmluZyB0
b2tlbjsKKyAgICBTdHJpbmcgc2lnbmF0dXJlOworICAgIFN0cmluZyBrZXlJRDsKKwogICAgIGlm
IChhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5
cGU6OkF0dHJpYnV0ZWQpIHsKICAgICAgICAgYXV0byBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhID0g
YXR0cmlidXRpb24uYXR0cmlidXRpb25UcmlnZ2VyRGF0YSgpID8gYXR0cmlidXRpb24uYXR0cmli
dXRpb25UcmlnZ2VyRGF0YSgpLnZhbHVlKCkuZGF0YSA6IC0xOwogICAgICAgICBhdXRvIHByaW9y
aXR5ID0gYXR0cmlidXRpb24uYXR0cmlidXRpb25UcmlnZ2VyRGF0YSgpID8gYXR0cmlidXRpb24u
YXR0cmlidXRpb25UcmlnZ2VyRGF0YSgpLnZhbHVlKCkucHJpb3JpdHkgOiAtMTsKQEAgLTI5NTks
NiArMzAzMyw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Omlu
c2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDCiAgICAgICAgICAgICB8fCBzdGF0
ZW1lbnQuYmluZEludCg1LCBwcmlvcml0eSkgIT0gU1FMSVRFX09LCiAgICAgICAgICAgICB8fCBz
dGF0ZW1lbnQuYmluZERvdWJsZSg2LCBhdHRyaWJ1dGlvbi50aW1lT2ZBZENsaWNrKCkuc2Vjb25k
c1NpbmNlRXBvY2goKS52YWx1ZSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IHN0YXRl
bWVudC5iaW5kRG91YmxlKDcsIGVhcmxpZXN0VGltZVRvU2VuZCkgIT0gU1FMSVRFX09LCisgICAg
ICAgICAgICB8fCBzdGF0ZW1lbnQuYmluZFRleHQoOCwgdG9rZW4pICE9IFNRTElURV9PSworICAg
ICAgICAgICAgfHwgc3RhdGVtZW50LmJpbmRUZXh0KDksIHNpZ25hdHVyZSkgIT0gU1FMSVRFX09L
CisgICAgICAgICAgICB8fCBzdGF0ZW1lbnQuYmluZFRleHQoMTAsIGtleUlEKSAhPSBTUUxJVEVf
T0sKICAgICAgICAgICAgIHx8IHN0YXRlbWVudC5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQobV9zZXNzaW9uSUQsICIlcCAt
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppbnNlcnRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCBpbnNlcnRBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRRdWVyeSwg
ZXJyb3IgbWVzc2FnZTogJXtwcml2YXRlfXMiLCB0aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1z
ZygpKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjk3Miw2ICszMDQ5
LDkgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQoUHJpdmF0ZUMKICAgICAgICAgfHwgc3RhdGVtZW50LmJpbmRJ
bnQoMiwgKmF0dHJpYnV0ZU9uRGF0YS5zZWNvbmQpICE9IFNRTElURV9PSwogICAgICAgICB8fCBz
dGF0ZW1lbnQuYmluZEludCgzLCBhdHRyaWJ1dGlvbi5zb3VyY2VJRCgpLmlkKSAhPSBTUUxJVEVf
T0sKICAgICAgICAgfHwgc3RhdGVtZW50LmJpbmREb3VibGUoNCwgYXR0cmlidXRpb24udGltZU9m
QWRDbGljaygpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkgIT0gU1FMSVRFX09LCisgICAg
ICAgIHx8IHN0YXRlbWVudC5iaW5kVGV4dCg1LCB0b2tlbikgIT0gU1FMSVRFX09LCisgICAgICAg
IHx8IHN0YXRlbWVudC5iaW5kVGV4dCg2LCBzaWduYXR1cmUpICE9IFNRTElURV9PSworICAgICAg
ICB8fCBzdGF0ZW1lbnQuYmluZFRleHQoNywga2V5SUQpICE9IFNRTElURV9PSwogICAgICAgICB8
fCBzdGF0ZW1lbnQuc3RlcCgpICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SX0lGX0FMTE9XRUQobV9zZXNzaW9uSUQsICIlcCAtIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlOjppbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBpbnNlcnRVbmF0
dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFF1ZXJ5LCBlcnJvciBtZXNzYWdlOiAle3By
aXZhdGV9cyIsIHRoaXMsIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOwogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlLmgKaW5kZXggNDBiNmQ0YTA3MTk5YmVhMDM2NDFiNWViYzQ0YTQyNTBl
NTdkOGZmYS4uNGNhOTQ3MDk0ZDk1NGNiM2MxODQ4N2VjNmM2NzYyZmNhYjk0OGI5NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAg
LTE1MCw4ICsxNTAsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBvcGVuSVRQRGF0YWJhc2UoKTsK
ICAgICB2b2lkIGFkZE1pc3NpbmdUYWJsZXNJZk5lY2Vzc2FyeSgpOworICAgIGJvb2wgbmVlZHNV
cGRhdGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTY2hlbWEoKTsKICAgICB2b2lkIGVuYWJsZUZv
cmVpZ25LZXlzKCk7Ci0gICAgYm9vbCBpc01pZ3JhdGlvbk5lY2Vzc2FyeSgpOworICAgIGJvb2wg
bWlzc2luZ1JlZmVyZW5jZVRvT2JzZXJ2ZWREb21haW5zKCk7CiAgICAgdm9pZCBtaWdyYXRlRGF0
YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKTsKICAgICB2b2lkIGRlc3Ryb3lTdGF0ZW1lbnRzKCk7
CiAgICAgV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50QXV0b1Jlc2V0U2NvcGUgc2NvcGVkU3RhdGVt
ZW50KHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQ+JiwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJikgY29uc3Q7Cg==
</data>
<flag name="commit-queue"
          id="439582"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420898</attachid>
            <date>2021-02-18 18:36:22 -0800</date>
            <delta_ts>2021-02-19 01:30:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222149-20210218183621.patch</filename>
            <type>text/plain</type>
            <size>16896</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc0MzBkYzdlYzA1MGQwZDdl
MDNlMTcxMjE0ZTYwNjZlZWIwOWM2OTguLjYzNThhNjY5ZGNjNGFjMTdjZWUxZWY2Y2RmODIxMTdm
NGM1ODMwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEtMDItMTggIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIFNRTGl0
ZSBza2VsZXRvbiBpbXBsZW1lbnRhdGlvbiBmb3IgUENNIGZyYXVkIHByZXZlbnRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjE0OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzQ1MDI2NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmlld2Vu
IFRhbi4KKworICAgICAgICBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIFBDTSBzcWxpdGUgdGFibGVz
IHRvIGhvbGQgMyBleHRyYSB2YWx1ZXM6CisgICAgICAgIHRva2VuIGNvbnRlbnQsIGEgc2lnbmF0
dXJlLCBhbmQgYSBrZXlJRC4gU2luY2Ugd2UgYXJlIHVwZGF0aW5nIHRoZQorICAgICAgICBzY2hl
bWEgb2YgYW4gZXhpc3RpbmcgdGFibGUsIHdlIG5lZWQgdG8gbWlncmF0ZSBleGlzdGluZyBQQ00g
ZGF0YSB0bworICAgICAgICB0aGUgbmV3IHRhYmxlcy4gVGhlc2Ugd2lsbCBoYXZlICJudWxsIiB2
YWx1ZXMgaW4gdGhlIG5ldyBmaWVsZHMuCisKKyAgICAgICAgRXh0ZW5zaXZlIGxvY2FsIHRlc3Rp
bmcuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6dW5hdHRyaWJ1dGVk
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTY2hlbWFWMSk6CisgICAgICAgIChXZWJLaXQ6OnVuYXR0
cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50U2NoZW1hVjFBbHRlcm5hdGUpOgorICAgICAg
ICAoV2ViS2l0OjpvdXRkYXRlZFVuYXR0cmlidXRlZENvbHVtbnMpOgorICAgICAgICAoV2ViS2l0
OjpvdXRkYXRlZEF0dHJpYnV0ZWRDb2x1bW5zKToKKyAgICAgICAgU3RyaW5ncyB0aGF0IHdpbGwg
aGVscCB1cyBkZXRlcm1pbmUgaWYgdGhlIHNjaGVtYSBuZWVkcyB0byBiZSB1cGRhdGVkCisgICAg
ICAgIGFuZCBob2xkIHRoZSBleGlzdGluZyBjb2x1bW5zIHNvIHdlIGNhbiBwb3B1bGF0ZSB0aGUg
bmV3IHRhYmxlcyB3aXRoCisgICAgICAgIHRoaXMgZGF0YS4KKworICAgICAgICAoV2ViS2l0OjpS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6bmVlZHNVcGRhdGVkUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRTY2hlbWEpOgorICAgICAgICBDb21wYXJlIHRoZSBleGlzdGluZyBzY2hl
bWEgd2l0aCB0aGUgbmV3IG9uZS4gV2Ugb25seSBuZWVkIHRvIGRvIHRoaXMKKyAgICAgICAgZm9y
IG9uZSBQQ00gdGFibGUgYmVjYXVzZSB0aGV5IGFyZSBiZWluZyBjaGFuZ2VkIGluIHRoZSBzYW1l
IHBhdGNoLgorCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlOjptaXNzaW5nUmVmZXJlbmNlVG9PYnNlcnZlZERvbWFpbnMpOgorICAgICAgICBOYW1l
IHVwZGF0ZSBub3cgdGhhdCB0aGVyZSBhcmUgdmFyaW91cyByZWFzb25zIHRvIG1pZ3JhdGUgZGF0
YS4KKworICAgICAgICAoV2ViS2l0Ojpjb2x1bW5zVG9Db3B5KToKKyAgICAgICAgSSBjaG9zZSB0
byBtaWdyYXRlIGFsbCB0YWJsZXMgZXZlbiBpZiBvbmx5IFBDTSB0YWJsZXMgbmVlZCB1cGRhdGlu
ZyAKKyAgICAgICAgYmVjYXVzZSBpdCB3YXMgc2ltcGxlciB3aXRoIGV4aXN0aW5nIGNvZGUsIGFu
ZCBpdCBnaXZlcyB1cyBtb3JlCisgICAgICAgIGZsZXhpYmlsaXR5IGlmIHdlIG5lZWQgdG8gY2hh
bmdlIG1vcmUgc2NoZW1hcyBpbiB0aGUgZnV0dXJlLiBTaW5jZQorICAgICAgICB0aGUgbWlncmF0
aW9uIGhhcHBlbnMgb25seSBvbmNlIGVhY2ggdGltZSB3ZSB1cGRhdGUgdGhlIHNjaGVtYSwgdGhp
cworICAgICAgICBpcyBwcm9iYWJseSBsb3cgY29zdC4gVGhlIGNvbHVtbnNUb0NvcHkoKSBmdW5j
dGlvbiBnaXZlcyB1cyB0aGUgb3B0aW9uCisgICAgICAgIHRvIHNwZWNpZnkgZGF0YSB3ZSBuZWVk
IGZyb20gZXhpc3RpbmcgdGFibGVzIHdoZW4gd2UgbWlncmF0ZS4KKworICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6bWlncmF0ZURhdGFUb05ld1Rh
Ymxlc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RhdGFiYXNlU3RvcmU6OmJ1aWxkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGcm9tRGF0YWJhc2Up
OgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6
aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICBGb3Igbm93LCB0aGVzZSBh
cmUgZW1wdHkgdmFsdWVzIHRoYXQgd2Ugd2lsbCBpbXBsZW1lbnQgd2hlbiBQQ00gZnJhdWQKKyAg
ICAgICAgcHJldmVudGlvbiBwaWVjZXMgYXJlIGluIHBsYWNlLgorCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppc01pZ3JhdGlvbk5lY2Vzc2Fy
eSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oOgorCiAyMDIxLTAyLTE3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFBsdW1iIGFuIE9wdGlvbmFs
PFBhZ2VJZGVudGlmaWVyPiB0aHJvdWdoIFBhc3RlYm9hcmQtcmVsYXRlZCBjb2RlcGF0aHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3Bw
CmluZGV4IDBhZDRhYTY1M2RlMjdjY2Q2ZmQxNGViZjdhNjY1YmU2OWFmMDBkMWUuLjJlMTVjN2Jj
MjdiOTk3NzYxODg2YzVlNTRkZDUxYjU2ZDc1ZmRhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcApAQCAtODIsOSArODIsOSBA
QCBjb25zdGV4cHIgYXV0byB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb21RdWVyeSA9ICJJTlNF
UlQgT1IgSUdOT1JFIElOVE8gVG9wRnJhbQogY29uc3RleHByIGF1dG8gdG9wRnJhbWVMb2FkZWRU
aGlyZFBhcnR5U2NyaXB0c1F1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgaW50byBUb3BGcmFtZUxv
YWRlZFRoaXJkUGFydHlTY3JpcHRzICh0b3BGcmFtZURvbWFpbklELCBzdWJyZXNvdXJjZURvbWFp
bklEKSBTRUxFQ1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgd2hlcmUgcmVnaXN0
cmFibGVEb21haW4gaW4gKCAiX3M7CiBjb25zdGV4cHIgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0c0Zyb21RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIElOVE8gU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNGcm9tIChzdWJyZXNvdXJjZURvbWFpbklELCBmcm9tRG9tYWluSUQpIFNFTEVD
VCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFp
biBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIGluc2VydFVuYXR0cmlidXRlZFByaXZhdGVDbGlj
a01lYXN1cmVtZW50UXVlcnkgPSAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBVbmF0dHJpYnV0ZWRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCAoc291cmNlU2l0ZURvbWFpbklELCBhdHRyaWJ1dGVPblNp
dGVEb21haW5JRCwgIgotICAgICJzb3VyY2VJRCwgdGltZU9mQWRDbGljaykgVkFMVUVTICg/LCA/
LCA/LCA/KSJfczsKKyAgICAic291cmNlSUQsIHRpbWVPZkFkQ2xpY2ssIHRva2VuLCBzaWduYXR1
cmUsIGtleUlEKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8pIl9zOwogY29uc3RleHByIGF1
dG8gaW5zZXJ0QXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50UXVlcnkgPSAiSU5TRVJU
IE9SIFJFUExBQ0UgSU5UTyBBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKHNvdXJj
ZVNpdGVEb21haW5JRCwgYXR0cmlidXRlT25TaXRlRG9tYWluSUQsICIKLSAgICAic291cmNlSUQs
IGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIHByaW9yaXR5LCB0aW1lT2ZBZENsaWNrLCBlYXJsaWVz
dFRpbWVUb1NlbmQpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPykiX3M7CisgICAgInNvdXJj
ZUlELCBhdHRyaWJ1dGlvblRyaWdnZXJEYXRhLCBwcmlvcml0eSwgdGltZU9mQWRDbGljaywgZWFy
bGllc3RUaW1lVG9TZW5kLCB0b2tlbiwgc2lnbmF0dXJlLCBrZXlJRCkgVkFMVUVTICg/LCA/LCA/
LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSJfczsKIAogLy8gSU5TRVJUIE9SIFJFUExBQ0UgUXVlcmll
cwogY29uc3RleHByIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc1F1ZXJ5ID0gIklO
U0VSVCBPUiBSRVBMQUNFIGludG8gU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyAoc3ViRnJh
bWVEb21haW5JRCwgbGFzdFVwZGF0ZWQsIHRvcEZyYW1lRG9tYWluSUQpIFNFTEVDVCA/LCA/LCBk
b21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlucyB3aGVyZSByZWdpc3RyYWJsZURvbWFpbiBpbiAo
ICJfczsKQEAgLTIzNSwxNCArMjM1LDE2IEBAIGNvbnN0ZXhwciBhdXRvIGNyZWF0ZU9wZXJhdGlu
Z0RhdGVzID0gIkNSRUFURSBUQUJMRSBPcGVyYXRpbmdEYXRlcyAoIgogCiBjb25zdGV4cHIgYXV0
byBjcmVhdGVVbmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9ICJDUkVBVEUgVEFC
TEUgVW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKCIKICAgICAic291cmNlU2l0
ZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIGF0dHJpYnV0ZU9uU2l0ZURvbWFpbklEIElOVEVH
RVIgTk9UIE5VTEwsIHNvdXJjZUlEIElOVEVHRVIgTk9UIE5VTEwsICIKLSAgICAidGltZU9mQWRD
bGljayBSRUFMIE5PVCBOVUxMLCBGT1JFSUdOIEtFWShzb3VyY2VTaXRlRG9tYWluSUQpIFJFRkVS
RU5DRVMgT2JzZXJ2ZWREb21haW5zKGRvbWFpbklEKSBPTiBERUxFVEUgQ0FTQ0FERSwgIgotICAg
ICJGT1JFSUdOIEtFWShhdHRyaWJ1dGVPblNpdGVEb21haW5JRCkgUkVGRVJFTkNFUyBPYnNlcnZl
ZERvbWFpbnMoZG9tYWluSUQpIE9OIERFTEVURSBDQVNDQURFKTsiX3M7CisgICAgInRpbWVPZkFk
Q2xpY2sgUkVBTCBOT1QgTlVMTCwgdG9rZW4gVEVYVCwgc2lnbmF0dXJlIFRFWFQsIGtleUlEIFRF
WFQsIEZPUkVJR04gS0VZKHNvdXJjZVNpdGVEb21haW5JRCkgIgorICAgICJSRUZFUkVOQ0VTIE9i
c2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsIEZPUkVJR04gS0VZKGF0
dHJpYnV0ZU9uU2l0ZURvbWFpbklEKSBSRUZFUkVOQ0VTICIKKyAgICAiT2JzZXJ2ZWREb21haW5z
KGRvbWFpbklEKSBPTiBERUxFVEUgQ0FTQ0FERSkiX3M7CiAKIGNvbnN0ZXhwciBhdXRvIGNyZWF0
ZUF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9ICJDUkVBVEUgVEFCTEUgQXR0cmli
dXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50ICgiCiAgICAgInNvdXJjZVNpdGVEb21haW5JRCBJ
TlRFR0VSIE5PVCBOVUxMLCBhdHRyaWJ1dGVPblNpdGVEb21haW5JRCBJTlRFR0VSIE5PVCBOVUxM
LCBzb3VyY2VJRCBJTlRFR0VSIE5PVCBOVUxMLCAiCi0gICAgImF0dHJpYnV0aW9uVHJpZ2dlckRh
dGEgSU5URUdFUiBOT1QgTlVMTCwgcHJpb3JpdHkgSU5URUdFUiBOT1QgTlVMTCwgdGltZU9mQWRD
bGljayBSRUFMIE5PVCBOVUxMLCBlYXJsaWVzdFRpbWVUb1NlbmQgUkVBTCBOT1QgTlVMTCwgIgot
ICAgICJGT1JFSUdOIEtFWShzb3VyY2VTaXRlRG9tYWluSUQpIFJFRkVSRU5DRVMgT2JzZXJ2ZWRE
b21haW5zKGRvbWFpbklEKSBPTiBERUxFVEUgQ0FTQ0FERSwgIgotICAgICJGT1JFSUdOIEtFWShh
dHRyaWJ1dGVPblNpdGVEb21haW5JRCkgUkVGRVJFTkNFUyBPYnNlcnZlZERvbWFpbnMoZG9tYWlu
SUQpIE9OIERFTEVURSBDQVNDQURFKTsiX3M7CisgICAgImF0dHJpYnV0aW9uVHJpZ2dlckRhdGEg
SU5URUdFUiBOT1QgTlVMTCwgcHJpb3JpdHkgSU5URUdFUiBOT1QgTlVMTCwgdGltZU9mQWRDbGlj
ayBSRUFMIE5PVCBOVUxMLCAiCisgICAgImVhcmxpZXN0VGltZVRvU2VuZCBSRUFMIE5PVCBOVUxM
LCB0b2tlbiBURVhULCBzaWduYXR1cmUgVEVYVCwga2V5SUQgVEVYVCwgRk9SRUlHTiBLRVkoc291
cmNlU2l0ZURvbWFpbklEKSAiCisgICAgIlJFRkVSRU5DRVMgT2JzZXJ2ZWREb21haW5zKGRvbWFp
bklEKSBPTiBERUxFVEUgQ0FTQ0FERSwgRk9SRUlHTiBLRVkoYXR0cmlidXRlT25TaXRlRG9tYWlu
SUQpIFJFRkVSRU5DRVMgIgorICAgICJPYnNlcnZlZERvbWFpbnMoZG9tYWluSUQpIE9OIERFTEVU
RSBDQVNDQURFKTsiX3M7CiAKIC8vIENSRUFURSBVTklRVUUgSU5ERVggUXVlcmllcy4KIGNvbnN0
ZXhwciBhdXRvIGNyZWF0ZVVuaXF1ZUluZGV4U3RvcmFnZUFjY2Vzc1VuZGVyVG9wRnJhbWVEb21h
aW5zID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBTdG9yYWdlQWNjZXNzVW5k
ZXJUb3BGcmFtZURvbWFpbnNfZG9tYWluSURfdG9wTGV2ZWxEb21haW5JRCBvbiBTdG9yYWdlQWNj
ZXNzVW5kZXJUb3BGcmFtZURvbWFpbnMgKCBkb21haW5JRCwgdG9wTGV2ZWxEb21haW5JRCApOyJf
czsKQEAgLTI2OSw2ICsyNzEsMjYgQEAgc3RhdGljIGNvbnN0IFN0cmluZyBPYnNlcnZlZERvbWFp
bnNUYWJsZVNjaGVtYVYxQWx0ZXJuYXRlKCkKICAgICByZXR1cm4gIkNSRUFURSBUQUJMRSBcIk9i
c2VydmVkRG9tYWluc1wiIChkb21haW5JRCBJTlRFR0VSIFBSSU1BUlkgS0VZLCByZWdpc3RyYWJs
ZURvbWFpbiBURVhUIE5PVCBOVUxMIFVOSVFVRSBPTiBDT05GTElDVCBGQUlMLCBsYXN0U2VlbiBS
RUFMIE5PVCBOVUxMLCBoYWRVc2VySW50ZXJhY3Rpb24gSU5URUdFUiBOT1QgTlVMTCwgbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvblRpbWUgUkVBTCBOT1QgTlVMTCwgZ3JhbmRmYXRoZXJlZCBJTlRF
R0VSIE5PVCBOVUxMLCBpc1ByZXZhbGVudCBJTlRFR0VSIE5PVCBOVUxMLCBpc1ZlcnlQcmV2YWxl
bnQgSU5URUdFUiBOT1QgTlVMTCwgZGF0YVJlY29yZHNSZW1vdmVkIElOVEVHRVIgTk9UIE5VTEws
dGltZXNBY2Nlc3NlZEFzRmlyc3RQYXJ0eUR1ZVRvVXNlckludGVyYWN0aW9uIElOVEVHRVIgTk9U
IE5VTEwsIHRpbWVzQWNjZXNzZWRBc0ZpcnN0UGFydHlEdWVUb1N0b3JhZ2VBY2Nlc3NBUEkgSU5U
RUdFUiBOT1QgTlVMTCxpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsIElOVEVH
RVIgTk9UIE5VTEwpIjsKIH0KIAorc3RhdGljIGNvbnN0IFN0cmluZyB1bmF0dHJpYnV0ZWRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudFNjaGVtYVYxKCkKK3sKKyAgICByZXR1cm4gY3JlYXRlVW5hdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7Cit9CisKK3N0YXRpYyBjb25zdCBTdHJpbmcg
dW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTY2hlbWFWMUFsdGVybmF0ZSgpCit7
CisgICAgcmV0dXJuICJDUkVBVEUgVEFCTEUgXCJVbmF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFwiIChzb3VyY2VTaXRlRG9tYWluSUQgSU5URUdFUiBOT1QgTlVMTCwgYXR0cmlidXRl
T25TaXRlRG9tYWluSUQgSU5URUdFUiBOT1QgTlVMTCwgc291cmNlSUQgSU5URUdFUiBOT1QgTlVM
TCwgdGltZU9mQWRDbGljayBSRUFMIE5PVCBOVUxMLCB0b2tlbiBURVhULCBzaWduYXR1cmUgVEVY
VCwga2V5SUQgVEVYVCwgRk9SRUlHTiBLRVkoc291cmNlU2l0ZURvbWFpbklEKSBSRUZFUkVOQ0VT
IE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsIEZPUkVJR04gS0VZ
KGF0dHJpYnV0ZU9uU2l0ZURvbWFpbklEKSBSRUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21h
aW5JRCkgT04gREVMRVRFIENBU0NBREUpIjsKK30KKworc3RhdGljIGNvbnN0IFN0cmluZyBvdXRk
YXRlZFVuYXR0cmlidXRlZENvbHVtbnMoKQoreworICAgIHJldHVybiAic291cmNlU2l0ZURvbWFp
bklELCBhdHRyaWJ1dGVPblNpdGVEb21haW5JRCwgc291cmNlSUQsIHRpbWVPZkFkQ2xpY2siX3M7
Cit9CisKK3N0YXRpYyBjb25zdCBTdHJpbmcgb3V0ZGF0ZWRBdHRyaWJ1dGVkQ29sdW1ucygpCit7
CisgICAgcmV0dXJuICJzb3VyY2VTaXRlRG9tYWluSUQsIGF0dHJpYnV0ZU9uU2l0ZURvbWFpbklE
LCBzb3VyY2VJRCwgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgcHJpb3JpdHksIHRpbWVPZkFkQ2xp
Y2ssIGVhcmxpZXN0VGltZVRvU2VuZCJfczsKK30KKwogc3RhdGljIGJvb2wgbmVlZHNOZXdDcmVh
dGVUYWJsZVNjaGVtYShjb25zdCBTdHJpbmcmIHNjaGVtYSkKIHsKICAgICByZXR1cm4gc2NoZW1h
LmNvbnRhaW5zKCJSRUZFUkVOQ0VTIFRvcExldmVsRG9tYWlucyIpOwpAQCAtNDA2LDcgKzQyOCwz
MSBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjplbmFibGVGb3Jl
aWduS2V5cygpCiAgICAgfQogfQogCi1ib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlOjppc01pZ3JhdGlvbk5lY2Vzc2FyeSgpCitib29sIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlOjpuZWVkc1VwZGF0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNjaGVt
YSgpCit7CisgICAgU3RyaW5nIGN1cnJlbnRTY2hlbWE7CisKKyAgICAvLyBGZXRjaCB0aGUgc2No
ZW1hIGZvciB0aGUgZXhpc3RpbmcgVW5hdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQg
dGFibGUuCisgICAgU1FMaXRlU3RhdGVtZW50IHN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNU
IHR5cGUsIHNxbCBGUk9NIHNxbGl0ZV9tYXN0ZXIgV0hFUkUgdGJsX25hbWU9J1VuYXR0cmlidXRl
ZFByaXZhdGVDbGlja01lYXN1cmVtZW50JyBBTkQgdHlwZSA9ICd0YWJsZSciKTsKKyAgICBpZiAo
c3RhdGVtZW50LnByZXBhcmUoKSAhPSBTUUxJVEVfT0spIHsKKyAgICAgICAgTE9HX0VSUk9SKCJV
bmFibGUgdG8gcHJlcGFyZSBzdGF0ZW1lbnQgdG8gZmV0Y2ggc2NoZW1hIGZvciB0aGUgVW5hdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgdGFibGUuIik7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHN0
YXRlbWVudC5zdGVwKCkgPT0gU1FMSVRFX1JPVykKKyAgICAgICAgY3VycmVudFNjaGVtYSA9IHN0
YXRlbWVudC5nZXRDb2x1bW5UZXh0KDEpOworCisgICAgaWYgKCFjdXJyZW50U2NoZW1hLmlzRW1w
dHkoKQorICAgICAgICAmJiBjdXJyZW50U2NoZW1hICE9IHVuYXR0cmlidXRlZFByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2NoZW1hVjEoKQorICAgICAgICAmJiBjdXJyZW50U2NoZW1hICE9IHVuYXR0
cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50U2NoZW1hVjFBbHRlcm5hdGUoKSkgeworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Om1pc3NpbmdSZWZlcmVuY2VUb09i
c2VydmVkRG9tYWlucygpCiB7CiAgICAgLy8gQ2hlY2sgYSB0YWJsZSBmb3IgYSByZWZlcmVuY2Ug
dG8gVG9wTGV2ZWxEb21haW5zLCBhIHNpZ24gb2YgdGhlIG9sZCBzY2hlbWEuCiAgICAgU1FMaXRl
U3RhdGVtZW50IHN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHR5cGUsIHNxbCBGUk9NIHNx
bGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSA9ICd0YWJsZScgQU5EIHRibF9uYW1lPSdUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0c1RvJyIpOwpAQCAtNDI5LDkgKzQ3NSwyMyBAQCBib29sIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppc01pZ3JhdGlvbk5lY2Vzc2FyeSgpCiAgICAgcmV0
dXJuIG5lZWRzTmV3Q3JlYXRlVGFibGVTY2hlbWEob2xkU2NoZW1hKTsKIH0KIAorc3RhdGljIFN0
cmluZyBjb2x1bW5zVG9Db3B5KGNvbnN0IFN0cmluZyYgdGFibGVOYW1lLCBib29sIG5lZWRzUENN
U2NoZW1hVXBkYXRlKQoreworICAgIGlmICghbmVlZHNQQ01TY2hlbWFVcGRhdGUpCisgICAgICAg
IHJldHVybiAiKiJfczsKKworICAgIGlmICh0YWJsZU5hbWUgPT0gIlVuYXR0cmlidXRlZFByaXZh
dGVDbGlja01lYXN1cmVtZW50Il9zKQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhvdXRkYXRl
ZFVuYXR0cmlidXRlZENvbHVtbnMoKSwgIiwgbnVsbCwgbnVsbCwgbnVsbCIpOworICAgIGlmICh0
YWJsZU5hbWUgPT0gIkF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCJfcykKKyAgICAg
ICAgcmV0dXJuIG1ha2VTdHJpbmcob3V0ZGF0ZWRBdHRyaWJ1dGVkQ29sdW1ucygpLCAiLCBudWxs
LCBudWxsLCBudWxsIik7CisKKyAgICByZXR1cm4gIioiX3M7Cit9CisKIHZvaWQgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vz
c2FyeSgpCiB7Ci0gICAgaWYgKCFpc01pZ3JhdGlvbk5lY2Vzc2FyeSgpKQorICAgIGJvb2wgbmVl
ZHNQQ01TY2hlbWFVcGRhdGUgPSBuZWVkc1VwZGF0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNj
aGVtYSgpOworICAgIGlmICghbWlzc2luZ1JlZmVyZW5jZVRvT2JzZXJ2ZWREb21haW5zKCkgJiYg
IW5lZWRzUENNU2NoZW1hVXBkYXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBTUUxpdGVUcmFu
c2FjdGlvbiB0cmFuc2FjdGlvbihtX2RhdGFiYXNlKTsKQEAgLTQ1NCw3ICs1MTQsOCBAQCB2b2lk
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjptaWdyYXRlRGF0YVRvTmV3VGFi
bGVzSWZOZWNlc3NhcnkoKQogICAgIH0KIAogICAgIGZvciAoYXV0byYgdGFibGUgOiBjcmVhdGVU
YWJsZVF1ZXJpZXMoKS5rZXlzKCkpIHsKLSAgICAgICAgYXV0byBxdWVyeSA9IG1ha2VTdHJpbmco
IklOU0VSVCBJTlRPICIsIHRhYmxlLCAiIFNFTEVDVCAqIEZST00gXyIsIHRhYmxlKTsKKyAgICAg
ICAgYXV0byBjb2x1bW5zID0gY29sdW1uc1RvQ29weSh0YWJsZSwgbmVlZHNQQ01TY2hlbWFVcGRh
dGUpOworICAgICAgICBhdXRvIHF1ZXJ5ID0gbWFrZVN0cmluZygiSU5TRVJUIElOVE8gIiwgdGFi
bGUsICIgU0VMRUNUICIsIGNvbHVtbnMsICIgRlJPTSBfIiwgdGFibGUpOwogICAgICAgICBTUUxp
dGVTdGF0ZW1lbnQgbWlncmF0ZVRhYmxlRGF0YShtX2RhdGFiYXNlLCBxdWVyeSk7CiAgICAgICAg
IGlmIChtaWdyYXRlVGFibGVEYXRhLnByZXBhcmUoKSAhPSBTUUxJVEVfT0sgfHwgbWlncmF0ZVRh
YmxlRGF0YS5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKE5ldHdvcmssICIlcCAtIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3Jl
OjptaWdyYXRlRGF0YVRvTmV3VGFibGVzV2l0aENhc2NhZGluZ0RlbGV0aW9uIGZhaWxlZCB0byBt
aWdyYXRlIHNjaGVtYSwgZXJyb3IgbWVzc2FnZTogJXtwcml2YXRlfXMiLCB0aGlzLCBtX2RhdGFi
YXNlLmxhc3RFcnJvck1zZygpKTsKQEAgLTI4ODUsNiArMjk0Niw5IEBAIFByaXZhdGVDbGlja01l
YXN1cmVtZW50IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpidWlsZFByaXZh
dGVDbGlja01lCiAgICAgYXV0byBhdHRyaWJ1dGVPblNpdGVEb21haW4gPSBnZXREb21haW5TdHJp
bmdGcm9tRG9tYWluSUQoc3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMSkpOwogICAgIGF1dG8gc291
cmNlSUQgPSBzdGF0ZW1lbnQtPmdldENvbHVtbkludCgyKTsKICAgICBhdXRvIHRpbWVPZkFkQ2xp
Y2sgPSBhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlv
blR5cGU6OkF0dHJpYnV0ZWQgPyBzdGF0ZW1lbnQtPmdldENvbHVtbkRvdWJsZSg1KSA6IHN0YXRl
bWVudC0+Z2V0Q29sdW1uRG91YmxlKDMpOworICAgIGF1dG8gdG9rZW4gPSBhdHRyaWJ1dGlvblR5
cGUgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGU6OkF0dHJpYnV0ZWQg
PyBzdGF0ZW1lbnQtPmdldENvbHVtblRleHQoNykgOiBzdGF0ZW1lbnQtPmdldENvbHVtblRleHQo
NCk7CisgICAgYXV0byBzaWduYXR1cmUgPSBhdHRyaWJ1dGlvblR5cGUgPT0gUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGU6OkF0dHJpYnV0ZWQgPyBzdGF0ZW1lbnQtPmdldENv
bHVtblRleHQoOCkgOiBzdGF0ZW1lbnQtPmdldENvbHVtblRleHQoNSk7CisgICAgYXV0byBrZXlJ
RCA9IGF0dHJpYnV0aW9uVHlwZSA9PSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
VHlwZTo6QXR0cmlidXRlZCA/IHN0YXRlbWVudC0+Z2V0Q29sdW1uVGV4dCg5KSA6IHN0YXRlbWVu
dC0+Z2V0Q29sdW1uVGV4dCg2KTsKIAogICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJp
YnV0aW9uKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChzb3VyY2VJ
RCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlKFJlZ2lzdHJh
YmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tUmVnaXN0cmFibGVEb21haW5TdHJpbmcoc291
cmNlU2l0ZURvbWFpbikpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRlT25TaXRlKFJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tUmVnaXN0cmFi
bGVEb21haW5TdHJpbmcoYXR0cmlidXRlT25TaXRlRG9tYWluKSksIHsgfSwgeyB9LCBXYWxsVGlt
ZTo6ZnJvbVJhd1NlY29uZHModGltZU9mQWRDbGljaykpOwogICAgIApAQCAtMjg5OSw2ICsyOTYz
LDExIEBAIFByaXZhdGVDbGlja01lYXN1cmVtZW50IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlOjpidWlsZFByaXZhdGVDbGlja01lCiAgICAgICAgIGF0dHJpYnV0aW9uLnNldEVh
cmxpZXN0VGltZVRvU2VuZChXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMoZWFybGllc3RUaW1lVG9T
ZW5kKSk7CiAgICAgfQogCisgICAgLy8gRklYTUUoPHJkYXI6Ly9wcm9ibGVtLzczNTgyMDMyPik6
IFN0b3JlIHRoZXNlIGluIHRoZSBhdHRyaWJ1dGlvbiBvYmplY3Qgb25jZSBQQ00gZnJhdWQgcHJl
dmVudGlvbiBpcyBpbiBwbGFjZS4KKyAgICBVTlVTRURfUEFSQU0odG9rZW4pOworICAgIFVOVVNF
RF9QQVJBTShzaWduYXR1cmUpOworICAgIFVOVVNFRF9QQVJBTShrZXlJRCk7CisKICAgICByZXR1
cm4gYXR0cmlidXRpb247CiB9CiAKQEAgLTI5NDUsNiArMzAxNCwxMSBAQCB2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppbnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dChQcml2YXRlQwogICAgIGlmICghc291cmNlRGF0YS5zZWNvbmQgfHwgIWF0dHJpYnV0ZU9uRGF0
YS5zZWNvbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIEZJWE1FKDxyZGFyOi8vcHJvYmxl
bS83MzU4MjAzMj4pOiBVc2UgcmVhbCB2YWx1ZXMgZnJvbSB0aGUgYXR0cmlidXRpb24gb2JqZWN0
IG9uY2UgUENNIGZyYXVkIHByZXZlbnRpb24gaXMgaW4gcGxhY2UuCisgICAgU3RyaW5nIHRva2Vu
OworICAgIFN0cmluZyBzaWduYXR1cmU7CisgICAgU3RyaW5nIGtleUlEOworCiAgICAgaWYgKGF0
dHJpYnV0aW9uVHlwZSA9PSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6
QXR0cmlidXRlZCkgewogICAgICAgICBhdXRvIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgPSBhdHRy
aWJ1dGlvbi5hdHRyaWJ1dGlvblRyaWdnZXJEYXRhKCkgPyBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlv
blRyaWdnZXJEYXRhKCkudmFsdWUoKS5kYXRhIDogLTE7CiAgICAgICAgIGF1dG8gcHJpb3JpdHkg
PSBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblRyaWdnZXJEYXRhKCkgPyBhdHRyaWJ1dGlvbi5hdHRy
aWJ1dGlvblRyaWdnZXJEYXRhKCkudmFsdWUoKS5wcmlvcml0eSA6IC0xOwpAQCAtMjk1OSw2ICsz
MDMzLDkgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoUHJpdmF0ZUMKICAgICAgICAgICAgIHx8IHN0YXRlbWVu
dC5iaW5kSW50KDUsIHByaW9yaXR5KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IHN0YXRl
bWVudC5iaW5kRG91YmxlKDYsIGF0dHJpYnV0aW9uLnRpbWVPZkFkQ2xpY2soKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpICE9IFNRTElURV9PSwogICAgICAgICAgICAgfHwgc3RhdGVtZW50
LmJpbmREb3VibGUoNywgZWFybGllc3RUaW1lVG9TZW5kKSAhPSBTUUxJVEVfT0sKKyAgICAgICAg
ICAgIHx8IHN0YXRlbWVudC5iaW5kVGV4dCg4LCB0b2tlbikgIT0gU1FMSVRFX09LCisgICAgICAg
ICAgICB8fCBzdGF0ZW1lbnQuYmluZFRleHQoOSwgc2lnbmF0dXJlKSAhPSBTUUxJVEVfT0sKKyAg
ICAgICAgICAgIHx8IHN0YXRlbWVudC5iaW5kVGV4dCgxMCwga2V5SUQpICE9IFNRTElURV9PSwog
ICAgICAgICAgICAgfHwgc3RhdGVtZW50LnN0ZXAoKSAhPSBTUUxJVEVfRE9ORSkgewogICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChtX3Nlc3Npb25JRCwgIiVwIC0gUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Omluc2VydFByaXZhdGVDbGlja01lYXN1
cmVtZW50IGluc2VydEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFF1ZXJ5LCBlcnJv
ciBtZXNzYWdlOiAle3ByaXZhdGV9cyIsIHRoaXMsIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkp
OwogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yOTcyLDYgKzMwNDksOSBA
QCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppbnNlcnRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudChQcml2YXRlQwogICAgICAgICB8fCBzdGF0ZW1lbnQuYmluZEludCgy
LCAqYXR0cmlidXRlT25EYXRhLnNlY29uZCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IHN0YXRl
bWVudC5iaW5kSW50KDMsIGF0dHJpYnV0aW9uLnNvdXJjZUlEKCkuaWQpICE9IFNRTElURV9PSwog
ICAgICAgICB8fCBzdGF0ZW1lbnQuYmluZERvdWJsZSg0LCBhdHRyaWJ1dGlvbi50aW1lT2ZBZENs
aWNrKCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAg
fHwgc3RhdGVtZW50LmJpbmRUZXh0KDUsIHRva2VuKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgfHwg
c3RhdGVtZW50LmJpbmRUZXh0KDYsIHNpZ25hdHVyZSkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8
IHN0YXRlbWVudC5iaW5kVGV4dCg3LCBrZXlJRCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IHN0
YXRlbWVudC5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRChtX3Nlc3Npb25JRCwgIiVwIC0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmU6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50IGluc2VydFVuYXR0cmli
dXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50UXVlcnksIGVycm9yIG1lc3NhZ2U6ICV7cHJpdmF0
ZX1zIiwgdGhpcywgbV9kYXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFiYXNlU3RvcmUuaAppbmRleCA0MGI2ZDRhMDcxOTliZWEwMzY0MWI1ZWJjNDRhNDI1MGU1N2Q4
ZmZhLi40Y2E5NDcwOTRkOTU0Y2IzYzE4NDg3ZWM2YzY3NjJmY2FiOTQ4Yjk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RhdGFiYXNlU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaApAQCAtMTUw
LDggKzE1MCw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG9wZW5JVFBEYXRhYmFzZSgpOwogICAg
IHZvaWQgYWRkTWlzc2luZ1RhYmxlc0lmTmVjZXNzYXJ5KCk7CisgICAgYm9vbCBuZWVkc1VwZGF0
ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNjaGVtYSgpOwogICAgIHZvaWQgZW5hYmxlRm9yZWln
bktleXMoKTsKLSAgICBib29sIGlzTWlncmF0aW9uTmVjZXNzYXJ5KCk7CisgICAgYm9vbCBtaXNz
aW5nUmVmZXJlbmNlVG9PYnNlcnZlZERvbWFpbnMoKTsKICAgICB2b2lkIG1pZ3JhdGVEYXRhVG9O
ZXdUYWJsZXNJZk5lY2Vzc2FyeSgpOwogICAgIHZvaWQgZGVzdHJveVN0YXRlbWVudHMoKTsKICAg
ICBXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZSBzY29wZWRTdGF0ZW1lbnQo
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudD4mLCBjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>