<?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>230978</bug_id>
          
          <creation_ts>2021-09-29 12:50:33 -0700</creation_ts>
          <short_desc>Clean up PrivateClickMeasurement</short_desc>
          <delta_ts>2021-09-30 08:43:16 -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>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798506</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-29 12:50:33 -0700</bug_when>
    <thetext>Clean up PrivateClickMeasurement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798508</commentid>
    <comment_count>1</comment_count>
      <attachid>439646</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-29 12:59:39 -0700</bug_when>
    <thetext>Created attachment 439646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798528</commentid>
    <comment_count>2</comment_count>
      <attachid>439646</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-29 13:34:27 -0700</bug_when>
    <thetext>Comment on attachment 439646
Patch

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

&gt; Source/WebCore/loader/PrivateClickMeasurement.h:59
&gt; +        static constexpr uint8_t MaxEntropy = 255;

This value is probably not needed anymore because you don&apos;t need to check validity of SourceID.

&gt; Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:2653
&gt; +    return adoptNS([[UIEventAttribution alloc] initWithSourceIdentifier:measurement-&gt;sourceID().id destinationURL:destinationURL sourceDescription:nil purchaser:nil]).autorelease();

this doesn&apos;t seem correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798580</commentid>
    <comment_count>3</comment_count>
      <attachid>439663</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-29 14:49:04 -0700</bug_when>
    <thetext>Created attachment 439663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798879</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-30 08:42:38 -0700</bug_when>
    <thetext>Committed r283313 (242338@main): &lt;https://commits.webkit.org/242338@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439663.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798880</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-30 08:43:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83721099&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439646</attachid>
            <date>2021-09-29 12:59:39 -0700</date>
            <delta_ts>2021-09-29 14:49:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230978-20210929125939.patch</filename>
            <type>text/plain</type>
            <size>41364</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdkNGIwOTlkNDg4ZDFj
MjgzNmE4MjQxY2E3NDY1YWUzYmJlYjUyOS4uOWJhZTRkMDczMDE4MWQ4N2RiOTJiYzQ5OGRlNWZi
MGYwNjE2YWE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA5LTI5ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4g
dXAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDk3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIHIyNzA2NjkgSSBhZGRlZCBzb3VyY2VEZXNjcmlwdGlvbiBh
bmQgcHVyY2hhc2VyIHRvIFByaXZhdGVDbGlja01lYXN1cmVtZW50LAorICAgICAgICBidXQgdGhl
eSdyZSBhY3R1YWxseSBvbmx5IG5lZWRlZCBmb3IgdGhlIFVJRXZlbnRBdHRyaWJ1dGlvbiBnZXR0
ZXIgb24gV0tXZWJWaWV3LgorICAgICAgICBJIG1vdmVkIHRoZW0gdG8gYSBuZXcgc3RydWN0IFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QW5kTWV0YWRhdGEgd2hpY2ggc3RvcmVzIHRoaXMgYWRkaXRp
b25hbAorICAgICAgICBpbmZvcm1hdGlvbiBvbmx5IG9uIFdlYlBhZ2VQcm94eSBpbnN0ZWFkIG9m
IGFsbCB0aGUgUENNIGluZnJhc3RydWN0dXJlLgorCisgICAgICAgIEkgcmVkdWNlZCB0aGUgc2l6
ZSBvZiBTb3VyY2VJRC5pZCB0byAxIGJ5dGUuICBOb3cgYSBTb3VyY2VJRCBpcyBhbHdheXMgdmFs
aWQsIHNvIHdlIGRvbid0IG5lZWQKKyAgICAgICAgdG8gY2hlY2sgYWZ0ZXIgaXQgaGFzIGJlZW4g
Y3JlYXRlZC4gIFdlIHN0aWxsIGNoZWNrIHdoZW4gY3JlYXRpbmcgb25lIGZyb20gcGFyc2luZyB3
ZWIgY29udGVudCwKKyAgICAgICAgYnV0IGV2ZXJ5d2hlcmUgZWxzZSB3ZSBrbm93IHRoYXQgaXQg
aXMgdmFsaWQgYmVjYXVzZSBvZiBpdHMgdHlwZS4KKworICAgICAgICBJIHJlbW92ZWQgdGhlIGRl
ZmF1bHQgY29uc3RydWN0b3Igb2YgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYW5kIGRlZmF1bHQg
cGFyYW1ldGVyIHZhbHVlcy4KKyAgICAgICAgVGhlcmUgYXJlbid0IHZlcnkgbWFueSBwbGFjZXMg
d2hlcmUgd2UgY29uc3RydWN0IG9uZSBleGNlcHQgZm9yIHRoZSB0ZXN0cywgYW5kIGl0J3MgZ29v
ZCB0byBzZWUKKyAgICAgICAgd2hhdCB2YWx1ZXMgd2UgYXJlIHVzaW5nIHNvIHdlIGRvbid0IGZv
cmdldCBhbnl0aGluZy4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxB
bmNob3JFbGVtZW50OjpwYXJzZVByaXZhdGVDbGlja01lYXN1cmVtZW50IGNvbnN0KToKKyAgICAg
ICAgKiBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6cGFyc2VBdHRyaWJ1dGlvblJl
cXVlc3QpOgorICAgICAgICAqIGxvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpTb3VyY2VJ
RCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6
OlByaW9yaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6aXNFcGhlbWVy
YWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OnNl
dEVwaGVtZXJhbCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpkZWNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0
dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmRlY29kZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU+OjplbXB0eVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6
aXNWYWxpZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6c291cmNlRGVzY3JpcHRpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OnB1cmNoYXNlciBjb25zdCk6IERlbGV0
ZWQuCisKIDIwMjEtMDktMjkgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29t
PgogCiAgICAgICAgIFtXZWJJRExdIEFsaWduIHByb3BlcnR5IG9yZGVyIG9mIERPTSBjb25zdHJ1
Y3RvcnMgd2l0aCBFQ01BLTI2MiBjb3VudGVycGFydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWVkNzE2ZjEyMzlk
MmVlODM5ZGY4NjliMTk2Mjk1NWU0OGMyNGE1Yi4uZWVlMTAyZWRlNWFjYjhiNTcwZmE0NzRjNmM1
ZGUxMDI1OWZkODUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wOS0yOSAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIENsZWFu
IHVwIFByaXZhdGVDbGlja01lYXN1cmVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA5NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VVdGlsaXRpZXM6OmJ1aWxkUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRGcm9tRGF0YWJhc2UgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5z
ZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9hZGRFdmVudEF0
dHJpYnV0aW9uV2l0aFNvdXJjZUlEOmRlc3RpbmF0aW9uVVJMOnNvdXJjZURlc2NyaXB0aW9uOnB1
cmNoYXNlcjpyZXBvcnRFbmRwb2ludDpvcHRpb25hbE5vbmNlOmFwcGxpY2F0aW9uQnVuZGxlSUQ6
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX3NldFVJRXZlbnRBdHRyaWJ1dGlvbjpdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IF91aUV2ZW50QXR0cmlidXRpb25dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRF
cGhlbWVyYWxVSUV2ZW50QXR0cmlidXRpb246Zm9yQXBwbGljYXRpb25XaXRoQnVuZGxlSUQ6XSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisKIDIwMjEtMDktMjkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2UgYWxsb2NhdGlvbnMgaW4gRGF0YWJhc2VVdGls
aXRpZXM6OnNvcnRlZFRhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAppbmRleCBlZjA5ZDAzZjA3ZDU1MmZjNzVjYzZhYTU5ZTc4MDQzNDBiNDNmYzM0Li4zZWNm
NTIyOWFjOGM2ZjlmZDFkMDI1YzVhZDUwZDg5YWUyNzhjZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtNDU1LDcgKzQ1NSw3IEBAIHN0ZDo6b3B0aW9u
YWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZVByaXZh
dGVDbGlja01lYXN1CiAjZWxzZQogICAgIFN0cmluZyBidW5kbGVJRDsKICNlbmRpZgotICAgIGF1
dG8gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCB7IFNv
dXJjZUlEKGF0dHJpYnV0aW9uU291cmNlSUQudmFsdWUoKSksIFNvdXJjZVNpdGUoV1RGTW92ZShk
b2N1bWVudFJlZ2lzdHJhYmxlRG9tYWluKSksIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlKGRl
c3RpbmF0aW9uVVJMKSwgYnVuZGxlSUQgfTsKKyAgICBhdXRvIHByaXZhdGVDbGlja01lYXN1cmVt
ZW50ID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgeyBTb3VyY2VJRChhdHRyaWJ1dGlvblNvdXJj
ZUlELnZhbHVlKCkpLCBTb3VyY2VTaXRlKFdURk1vdmUoZG9jdW1lbnRSZWdpc3RyYWJsZURvbWFp
bikpLCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZShkZXN0aW5hdGlvblVSTCksIGJ1bmRsZUlE
LCBXYWxsVGltZTo6bm93KCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVw
aGVtZXJhbDo6Tm8gfTsKIAogICAgIGF1dG8gYXR0cmlidXRpb25Tb3VyY2VOb25jZUF0dHIgPSBh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF0dHJpYnV0aW9uc291cmNlbm9uY2VBdHRy
KTsKICAgICBpZiAoIWF0dHJpYnV0aW9uU291cmNlTm9uY2VBdHRyLmlzRW1wdHkoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAKaW5k
ZXggMGE3ODE0ODgzYTE0Mzk0OWIyZDliNzU1Zjk3N2M0MGM1OTg2MzBhZC4uNjdkZmZmYjQzYTFl
MTBiOTdiNzlhNjk2YjQ2Y2UzYzkyZjgxMmVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwCkBAIC01NCw3ICs1NCw2IEBAIGJvb2wg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmlzVmFsaWQoKSBjb25zdAogewogICAgIHJldHVybiBt
X2F0dHJpYnV0aW9uVHJpZ2dlckRhdGEKICAgICAgICAgJiYgbV9hdHRyaWJ1dGlvblRyaWdnZXJE
YXRhLnZhbHVlKCkuaXNWYWxpZCgpCi0gICAgICAgICYmIG1fc291cmNlSUQuaXNWYWxpZCgpCiAg
ICAgICAgICYmICFtX3NvdXJjZVNpdGUucmVnaXN0cmFibGVEb21haW4uaXNFbXB0eSgpCiAgICAg
ICAgICYmICFtX2Rlc3RpbmF0aW9uU2l0ZS5yZWdpc3RyYWJsZURvbWFpbi5pc0VtcHR5KCkKICAg
ICAgICAgJiYgKG1fdGltZXNUb1NlbmQuc291cmNlRWFybGllc3RUaW1lVG9TZW5kIHx8IG1fdGlt
ZXNUb1NlbmQuZGVzdGluYXRpb25FYXJsaWVzdFRpbWVUb1NlbmQpOwpAQCAtODgsMjAgKzg3LDE5
IEBAIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VVbmxpbmthYmxlVG9rZW4gUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVVuCiAKIFByaXZhdGVDbGlja01lYXN1cmVtZW50IFBy
aXZhdGVDbGlja01lYXN1cmVtZW50Ojppc29sYXRlZENvcHkoKSBjb25zdAogewotICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50IGNvcHk7Ci0gICAgY29weS5tX3NvdXJjZUlEID0gbV9zb3VyY2VJ
RDsKLSAgICBjb3B5Lm1fc291cmNlU2l0ZSA9IG1fc291cmNlU2l0ZS5pc29sYXRlZENvcHkoKTsK
LSAgICBjb3B5Lm1fZGVzdGluYXRpb25TaXRlID0gbV9kZXN0aW5hdGlvblNpdGUuaXNvbGF0ZWRD
b3B5KCk7Ci0gICAgY29weS5tX3NvdXJjZURlc2NyaXB0aW9uID0gbV9zb3VyY2VEZXNjcmlwdGlv
bi5pc29sYXRlZENvcHkoKTsKLSAgICBjb3B5Lm1fcHVyY2hhc2VyID0gbV9wdXJjaGFzZXIuaXNv
bGF0ZWRDb3B5KCk7Ci0gICAgY29weS5tX3RpbWVPZkFkQ2xpY2sgPSBtX3RpbWVPZkFkQ2xpY2su
aXNvbGF0ZWRDb3B5KCk7Ci0gICAgY29weS5tX2lzRXBoZW1lcmFsID0gbV9pc0VwaGVtZXJhbDsK
KyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBjb3B5IHsKKyAgICAgICAgbV9zb3VyY2VJRCwK
KyAgICAgICAgbV9zb3VyY2VTaXRlLmlzb2xhdGVkQ29weSgpLAorICAgICAgICBtX2Rlc3RpbmF0
aW9uU2l0ZS5pc29sYXRlZENvcHkoKSwKKyAgICAgICAgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlELmlzb2xhdGVkQ29weSgpLAorICAgICAgICBtX3RpbWVPZkFkQ2xpY2suaXNvbGF0ZWRDb3B5
KCksCisgICAgICAgIG1faXNFcGhlbWVyYWwsCisgICAgfTsKICAgICBjb3B5Lm1fYXR0cmlidXRp
b25UcmlnZ2VyRGF0YSA9IG1fYXR0cmlidXRpb25UcmlnZ2VyRGF0YTsKICAgICBjb3B5Lm1fdGlt
ZXNUb1NlbmQgPSBtX3RpbWVzVG9TZW5kOwogICAgIGNvcHkubV9lcGhlbWVyYWxTb3VyY2VOb25j
ZSA9IGNyb3NzVGhyZWFkQ29weShtX2VwaGVtZXJhbFNvdXJjZU5vbmNlKTsKICAgICBjb3B5Lm1f
c291cmNlVW5saW5rYWJsZVRva2VuID0gbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4uaXNvbGF0ZWRD
b3B5KCk7CiAgICAgY29weS5tX3NvdXJjZVNlY3JldFRva2VuID0gY3Jvc3NUaHJlYWRDb3B5KG1f
c291cmNlU2VjcmV0VG9rZW4pOwotICAgIGNvcHkubV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlE
ID0gbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlELmlzb2xhdGVkQ29weSgpOwogICAgIHJldHVy
biBjb3B5OwogfQogCkBAIC0xMjEsNyArMTE5LDcgQEAgRXhwZWN0ZWQ8UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIFN0cmluZz4gUHJpdmF0ZUNsaWNrTWUK
ICAgICAgICAgaWYgKCFhdHRyaWJ1dGlvblRyaWdnZXJEYXRhVUludDY0IHx8ICphdHRyaWJ1dGlv
blRyaWdnZXJEYXRhVUludDY0ID4gQXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSkK
ICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChtYWtlU3RyaW5nKCJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gQ29udmVyc2lvbiB3YXMgbm90IGFjY2VwdGVkIGJlY2F1c2UgdGhl
IGNvbnZlcnNpb24gZGF0YSBjb3VsZCBub3QgYmUgcGFyc2VkIG9yIHdhcyBoaWdoZXIgdGhhbiB0
aGUgYWxsb3dlZCBtYXhpbXVtIG9mICJfcywgQXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50
cm9weSwgIi4iX3MpKTsKIAotICAgICAgICByZXR1cm4gQXR0cmlidXRpb25UcmlnZ2VyRGF0YSB7
IHN0YXRpY19jYXN0PHVpbnQzMl90PigqYXR0cmlidXRpb25UcmlnZ2VyRGF0YVVJbnQ2NCksIFBy
aW9yaXR5IHsgMCB9IH07CisgICAgICAgIHJldHVybiBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhIHsg
c3RhdGljX2Nhc3Q8dWludDhfdD4oKmF0dHJpYnV0aW9uVHJpZ2dlckRhdGFVSW50NjQpLCBQcmlv
cml0eSB7IDAgfSB9OwogICAgIH0KICAgICAKICAgICBpZiAocGF0aC5sZW5ndGgoKSA9PSBwcmVm
aXhMZW5ndGggKyBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHJpZ2dlckRhdGFQ
YXRoU2VnbWVudFNpemUgKyAxICsgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRQcmlvcml0eVBhdGhT
ZWdtZW50U2l6ZSkgewpAQCAtMTMzLDcgKzEzMSw3IEBAIEV4cGVjdGVkPFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhLCBTdHJpbmc+IFByaXZhdGVDbGlja01l
CiAgICAgICAgIGlmICghYXR0cmlidXRpb25Qcmlvcml0eVVJbnQ2NCB8fCAqYXR0cmlidXRpb25Q
cmlvcml0eVVJbnQ2NCA+IFByaW9yaXR5OjpNYXhFbnRyb3B5KQogICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBD
b252ZXJzaW9uIHdhcyBub3QgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcHJpb3JpdHkgY291bGQgbm90
IGJlIHBhcnNlZCBvciB3YXMgaGlnaGVyIHRoYW4gdGhlIGFsbG93ZWQgbWF4aW11bSBvZiAiX3Ms
IFByaW9yaXR5OjpNYXhFbnRyb3B5LCAiLiJfcykpOwogCi0gICAgICAgIHJldHVybiBBdHRyaWJ1
dGlvblRyaWdnZXJEYXRhIHsgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCphdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhVUludDY0KSwgUHJpb3JpdHkgeyBzdGF0aWNfY2FzdDx1aW50MzJfdD4oKmF0dHJpYnV0
aW9uUHJpb3JpdHlVSW50NjQpIH0gfTsKKyAgICAgICAgcmV0dXJuIEF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEgeyBzdGF0aWNfY2FzdDx1aW50OF90PigqYXR0cmlidXRpb25UcmlnZ2VyRGF0YVVJbnQ2
NCksIFByaW9yaXR5IHsgc3RhdGljX2Nhc3Q8dWludDhfdD4oKmF0dHJpYnV0aW9uUHJpb3JpdHlV
SW50NjQpIH0gfTsKICAgICB9CiAKICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSBDb252ZXJzaW9uIHdhcyBub3QgYWNjZXB0ZWQgYmVjYXVzZSB0
aGUgVVJMIHBhdGggY29udGFpbmVkIHVucmVjb2duaXplZCBwYXJ0cy4iX3MpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaAppbmRleCAwNmJiZmY3
YzUwNDc2YTljMjgyYWM3YmJhZjJiNGUxNDM2MGIyZDRlLi5hOTM0YmQ0MWE1M2Y3YzRmMGUxYjlm
YzY2MWQzYWJlZWVlYWY5MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQuaApAQCAtNDcsMzQgKzQ3LDI1IEBAIE9CSkNfQ0xBU1MgUlNBQlNT
QVRva2VuQmxpbmRlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWwgOiBib29sIHsgTm8sIFllcyB9
OwotCiBjbGFzcyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCB7CiBwdWJsaWM6Ci0gICAgdXNpbmcg
UHJpb3JpdHlWYWx1ZSA9IHVpbnQzMl90OworICAgIHVzaW5nIFByaW9yaXR5VmFsdWUgPSB1aW50
OF90OworICAgIGVudW0gY2xhc3MgQXR0cmlidXRpb25FcGhlbWVyYWwgOiBib29sIHsgTm8sIFll
cyB9OwogCiAgICAgZW51bSBjbGFzcyBQY21EYXRhQ2FycmllZCA6IGJvb2wgeyBOb25QZXJzb25h
bGx5SWRlbnRpZmlhYmxlLCBQZXJzb25hbGx5SWRlbnRpZmlhYmxlIH07CiAgICAgZW51bSBjbGFz
cyBBdHRyaWJ1dGlvblJlcG9ydEVuZHBvaW50IDogYm9vbCB7IFNvdXJjZSwgRGVzdGluYXRpb24g
fTsKIAogICAgIHN0cnVjdCBTb3VyY2VJRCB7Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWlu
dDMyX3QgTWF4RW50cm9weSA9IDI1NTsKLQotICAgICAgICBTb3VyY2VJRCgpID0gZGVmYXVsdDsK
LSAgICAgICAgZXhwbGljaXQgU291cmNlSUQodWludDMyX3QgaWQpCisgICAgICAgIHN0YXRpYyBj
b25zdGV4cHIgdWludDhfdCBNYXhFbnRyb3B5ID0gMjU1OworICAgICAgICBleHBsaWNpdCBTb3Vy
Y2VJRCh1aW50OF90IGlkKQogICAgICAgICAgICAgOiBpZCB7IGlkIH0KICAgICAgICAgewogICAg
ICAgICB9Ci0gICAgICAgIAotICAgICAgICBib29sIGlzVmFsaWQoKSBjb25zdAotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gaWQgPD0gTWF4RW50cm9weTsKLSAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgdWludDMyX3QgaWQgeyAwIH07CisKKyAgICAgICAgdWludDhfdCBpZCB7IDAg
fTsKICAgICB9OwogCiAgICAgc3RydWN0IFNvdXJjZVNpdGUgewotICAgICAgICBTb3VyY2VTaXRl
KCkgPSBkZWZhdWx0OwogICAgICAgICBleHBsaWNpdCBTb3VyY2VTaXRlKGNvbnN0IFVSTCYgdXJs
KQogICAgICAgICAgICAgOiByZWdpc3RyYWJsZURvbWFpbiB7IHVybCB9CiAgICAgICAgIHsKQEAg
LTE2NiwyMiArMTU3LDIyIEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgc3RydWN0IFByaW9yaXR5
IHsKLSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBNYXhFbnRyb3B5ID0gNjM7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBNYXhFbnRyb3B5ID0gNjM7CiAKICAgICAg
ICAgZXhwbGljaXQgUHJpb3JpdHkoUHJpb3JpdHlWYWx1ZSB2YWx1ZSkKLSAgICAgICAgOiB2YWx1
ZSB7IHZhbHVlIH0KKyAgICAgICAgICAgIDogdmFsdWUgeyB2YWx1ZSB9CiAgICAgICAgIHsKICAg
ICAgICAgfQogICAgICAgICAKLSAgICAgICAgUHJpb3JpdHlWYWx1ZSB2YWx1ZTsKKyAgICAgICAg
UHJpb3JpdHlWYWx1ZSB2YWx1ZSB7IDAgfTsKICAgICB9OwogICAgIAogICAgIHN0cnVjdCBBdHRy
aWJ1dGlvblRyaWdnZXJEYXRhIHsKLSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBN
YXhFbnRyb3B5ID0gMTU7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBNYXhFbnRy
b3B5ID0gMTU7CiAKICAgICAgICAgZW51bSBjbGFzcyBXYXNTZW50IDogYm9vbCB7IE5vLCBZZXMg
fTsKICAgICAgICAgCi0gICAgICAgIEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEodWludDMyX3QgZGF0
YSwgUHJpb3JpdHkgcHJpb3JpdHksIFdhc1NlbnQgd2FzU2VudCA9IFdhc1NlbnQ6Ok5vKQorICAg
ICAgICBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKHVpbnQ4X3QgZGF0YSwgUHJpb3JpdHkgcHJpb3Jp
dHksIFdhc1NlbnQgd2FzU2VudCA9IFdhc1NlbnQ6Ok5vKQogICAgICAgICAgICAgOiBkYXRhIHsg
ZGF0YSB9CiAgICAgICAgICAgICAsIHByaW9yaXR5IHsgcHJpb3JpdHkudmFsdWUgfQogICAgICAg
ICAgICAgLCB3YXNTZW50IHsgd2FzU2VudCB9CkBAIC0xOTMsNyArMTg0LDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgcmV0dXJuIGRhdGEgPD0gTWF4RW50cm9weSAmJiBwcmlvcml0eSA8PSBQcmlv
cml0eTo6TWF4RW50cm9weTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgdWludDMyX3Qg
ZGF0YTsKKyAgICAgICAgdWludDhfdCBkYXRhIHsgMCB9OwogICAgICAgICBQcmlvcml0eVZhbHVl
IHByaW9yaXR5OwogICAgICAgICBXYXNTZW50IHdhc1NlbnQgPSBXYXNTZW50OjpObzsKIApAQCAt
MzExLDEzICszMDIsMTAgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfTsKIAotICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50KCkgPSBkZWZhdWx0OwotICAgIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50KFNvdXJjZUlEIHNvdXJjZUlELCBjb25zdCBTb3VyY2VTaXRlJiBzb3VyY2VTaXRlLCBjb25z
dCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSYgZGVzdGluYXRpb25TaXRlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQsIFN0cmluZyYmIHNvdXJjZURlc2NyaXB0aW9u
ID0geyB9LCBTdHJpbmcmJiBwdXJjaGFzZXIgPSB7IH0sIFdhbGxUaW1lIHRpbWVPZkFkQ2xpY2sg
PSBXYWxsVGltZTo6bm93KCksIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhl
bWVyYWwgaXNFcGhlbWVyYWwgPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBo
ZW1lcmFsOjpObykKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChTb3VyY2VJRCBzb3VyY2VJ
RCwgY29uc3QgU291cmNlU2l0ZSYgc291cmNlU2l0ZSwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5h
dGlvblNpdGUmIGRlc3RpbmF0aW9uU2l0ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlELCBXYWxsVGltZSB0aW1lT2ZBZENsaWNrLCBBdHRyaWJ1dGlvbkVwaGVtZXJhbCBp
c0VwaGVtZXJhbCkKICAgICAgICAgOiBtX3NvdXJjZUlEIHsgc291cmNlSUQgfQogICAgICAgICAs
IG1fc291cmNlU2l0ZSB7IHNvdXJjZVNpdGUgfQogICAgICAgICAsIG1fZGVzdGluYXRpb25TaXRl
IHsgZGVzdGluYXRpb25TaXRlIH0KLSAgICAgICAgLCBtX3NvdXJjZURlc2NyaXB0aW9uIHsgV1RG
TW92ZShzb3VyY2VEZXNjcmlwdGlvbikgfQotICAgICAgICAsIG1fcHVyY2hhc2VyIHsgV1RGTW92
ZShwdXJjaGFzZXIpIH0KICAgICAgICAgLCBtX3RpbWVPZkFkQ2xpY2sgeyB0aW1lT2ZBZENsaWNr
IH0KICAgICAgICAgLCBtX2lzRXBoZW1lcmFsIHsgaXNFcGhlbWVyYWwgfQogICAgICAgICAsIG1f
c291cmNlQXBwbGljYXRpb25CdW5kbGVJRCB7IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQgfQpA
QCAtMzQyLDEwICszMzAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGlvbihBdHRy
aWJ1dGlvblRyaWdnZXJEYXRhJiYgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSkgeyBtX2F0dHJpYnV0
aW9uVHJpZ2dlckRhdGEgPSBXVEZNb3ZlKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpOyB9CiAgICAg
Y29uc3QgU3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlEKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlEOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIHNvdXJj
ZURlc2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VEZXNjcmlwdGlvbjsgfQotICAg
IGNvbnN0IFN0cmluZyYgcHVyY2hhc2VyKCkgY29uc3QgeyByZXR1cm4gbV9wdXJjaGFzZXI7IH0K
LSAgICBib29sIGlzRXBoZW1lcmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc0VwaGVtZXJhbCA9PSBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXM7IH0KLSAgICB2
b2lkIHNldEVwaGVtZXJhbChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBoZW1l
cmFsIGlzRXBoZW1lcmFsKSB7IG1faXNFcGhlbWVyYWwgPSBpc0VwaGVtZXJhbDsgfQorICAgIGJv
b2wgaXNFcGhlbWVyYWwoKSBjb25zdCB7IHJldHVybiBtX2lzRXBoZW1lcmFsID09IEF0dHJpYnV0
aW9uRXBoZW1lcmFsOjpZZXM7IH0KKyAgICB2b2lkIHNldEVwaGVtZXJhbChBdHRyaWJ1dGlvbkVw
aGVtZXJhbCBpc0VwaGVtZXJhbCkgeyBtX2lzRXBoZW1lcmFsID0gaXNFcGhlbWVyYWw7IH0KIAog
ICAgIC8vIE1BUks6IC0gRnJhdWQgUHJldmVudGlvbgogICAgIFdFQkNPUkVfRVhQT1JUIFVSTCB0
b2tlblB1YmxpY0tleVVSTCgpIGNvbnN0OwpAQCAtMzk3LDEwICszODMsOCBAQCBwcml2YXRlOgog
ICAgIFNvdXJjZUlEIG1fc291cmNlSUQ7CiAgICAgU291cmNlU2l0ZSBtX3NvdXJjZVNpdGU7CiAg
ICAgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgbV9kZXN0aW5hdGlvblNpdGU7Ci0gICAgU3Ry
aW5nIG1fc291cmNlRGVzY3JpcHRpb247Ci0gICAgU3RyaW5nIG1fcHVyY2hhc2VyOwogICAgIFdh
bGxUaW1lIG1fdGltZU9mQWRDbGljazsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJp
YnV0aW9uRXBoZW1lcmFsIG1faXNFcGhlbWVyYWw7CisgICAgQXR0cmlidXRpb25FcGhlbWVyYWwg
bV9pc0VwaGVtZXJhbDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8QXR0cmlidXRpb25UcmlnZ2VyRGF0
YT4gbV9hdHRyaWJ1dGlvblRyaWdnZXJEYXRhOwogICAgIEF0dHJpYnV0aW9uVGltZVRvU2VuZERh
dGEgbV90aW1lc1RvU2VuZDsKQEAgLTQyMiwxNCArNDA2LDE4IEBAIHByaXZhdGU6CiAgICAgU3Ry
aW5nIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJRDsKIH07CiAKK3N0cnVjdCBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudEFuZE1ldGFkYXRhIHsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBw
Y207CisgICAgU3RyaW5nIHNvdXJjZURlc2NyaXB0aW9uOworICAgIFN0cmluZyBwdXJjaGFzZXI7
Cit9OworCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBt
X3NvdXJjZUlELmlkCiAgICAgICAgIDw8IG1fc291cmNlU2l0ZS5yZWdpc3RyYWJsZURvbWFpbgog
ICAgICAgICA8PCBtX2Rlc3RpbmF0aW9uU2l0ZS5yZWdpc3RyYWJsZURvbWFpbgotICAgICAgICA8
PCBtX3NvdXJjZURlc2NyaXB0aW9uCi0gICAgICAgIDw8IG1fcHVyY2hhc2VyCiAgICAgICAgIDw8
IG1fdGltZU9mQWRDbGljawogICAgICAgICA8PCBtX2VwaGVtZXJhbFNvdXJjZU5vbmNlCiAgICAg
ICAgIDw8IG1faXNFcGhlbWVyYWwKQEAgLTQ0MSw3ICs0MjksNyBAQCB2b2lkIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50PiBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgc3Rk
OjpvcHRpb25hbDx1aW50MzJfdD4gc291cmNlSUQ7CisgICAgc3RkOjpvcHRpb25hbDx1aW50OF90
PiBzb3VyY2VJRDsKICAgICBkZWNvZGVyID4+IHNvdXJjZUlEOwogICAgIGlmICghc291cmNlSUQp
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC00NTYsMTYgKzQ0NCw2IEBAIHN0ZDo6
b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpkZWNvZGUoRGVjb2RlciYKICAgICBpZiAoIWRlc3RpbmF0aW9uUmVnaXN0cmFibGVEb21haW4p
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCi0gICAgc3RkOjpvcHRpb25hbDxT
dHJpbmc+IHNvdXJjZURlc2NyaXB0aW9uOwotICAgIGRlY29kZXIgPj4gc291cmNlRGVzY3JpcHRp
b247Ci0gICAgaWYgKCFzb3VyY2VEZXNjcmlwdGlvbikKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKLSAgICAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gcHVyY2hhc2VyOwotICAgIGRl
Y29kZXIgPj4gcHVyY2hhc2VyOwotICAgIGlmICghcHVyY2hhc2VyKQotICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwotICAgIAogICAgIHN0ZDo6b3B0aW9uYWw8V2FsbFRpbWU+IHRpbWVPZkFk
Q2xpY2s7CiAgICAgZGVjb2RlciA+PiB0aW1lT2ZBZENsaWNrOwogICAgIGlmICghdGltZU9mQWRD
bGljaykKQEAgLTQ3Niw3ICs0NTQsNyBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1
cmVtZW50PiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVjb2RlKERlY29kZXImCiAgICAgaWYg
KCFlcGhlbWVyYWxTb3VyY2VOb25jZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVwaGVt
ZXJhbD4gaXNFcGhlbWVyYWw7CisgICAgc3RkOjpvcHRpb25hbDxBdHRyaWJ1dGlvbkVwaGVtZXJh
bD4gaXNFcGhlbWVyYWw7CiAgICAgZGVjb2RlciA+PiBpc0VwaGVtZXJhbDsKICAgICBpZiAoIWlz
RXBoZW1lcmFsKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNTAxLDggKzQ3OSw2
IEBAIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpkZWNvZGUoRGVjb2RlciYKICAgICAgICAgU291cmNlU2l0ZSB7IFdURk1vdmUo
KnNvdXJjZVJlZ2lzdHJhYmxlRG9tYWluKSB9LAogICAgICAgICBBdHRyaWJ1dGlvbkRlc3RpbmF0
aW9uU2l0ZSB7IFdURk1vdmUoKmRlc3RpbmF0aW9uUmVnaXN0cmFibGVEb21haW4pIH0sCiAgICAg
ICAgIFdURk1vdmUoKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQpLAotICAgICAgICBXVEZNb3Zl
KCpzb3VyY2VEZXNjcmlwdGlvbiksCi0gICAgICAgIFdURk1vdmUoKnB1cmNoYXNlciksCiAgICAg
ICAgIFdURk1vdmUoKnRpbWVPZkFkQ2xpY2spLAogICAgICAgICBXVEZNb3ZlKCppc0VwaGVtZXJh
bCkKICAgICB9OwpAQCAtNTM5LDcgKzUxNSw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjCiB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YT4gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0
dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIHN0
ZDo6b3B0aW9uYWw8dWludDMyX3Q+IGRhdGE7CisgICAgc3RkOjpvcHRpb25hbDx1aW50OF90PiBk
YXRhOwogICAgIGRlY29kZXIgPj4gZGF0YTsKICAgICBpZiAoIWRhdGEpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CkBAIC01NjQsNyArNTQwLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IERlZmF1bHRIYXNoOwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZT4gOiBXZWJDb3JlOjpQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZUhhc2ggeyB9OwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0
ZT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZT4gewotICAgIHN0YXRpYyBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6U291cmNlU2l0ZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CisgICAgc3RhdGljIFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIGVtcHR5VmFsdWUoKSB7
IHJldHVybiBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShVUkwo
KSk7IH0KICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmIHNsb3QpIHsgbmV3IChOb3ROdWxsLCAm
c2xvdC5yZWdpc3RyYWJsZURvbWFpbikgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4oV1RGOjpI
YXNoVGFibGVEZWxldGVkVmFsdWUpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUo
Y29uc3QgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUmIHNsb3Qp
IHsgcmV0dXJuIHNsb3QucmVnaXN0cmFibGVEb21haW4uaXNIYXNoVGFibGVEZWxldGVkVmFsdWUo
KTsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRGF0YWJh
c2VVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0
aWxpdGllcy5jcHAKaW5kZXggM2RkZjNhNjYzZDFmYzViMWEzYjkzODU1ODgwNzdiOGQzYjQzYTE3
Ny4uMTQ4NmQ1MjI5NmY2NzUxZjMxMGM3OTgxNjZiZjdlZGJlZDJhYjQzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAKQEAgLTE1
OCw3ICsxNTgsNyBAQCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBEYXRhYmFzZVV0
aWxpdGllczo6YnVpbGRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudAogICAgIGlmIChidW5kbGVJRC5p
c0VtcHR5KCkpCiAgICAgICAgIGJ1bmRsZUlEID0gc2FmYXJpQnVuZGxlSUQ7CiAKLSAgICBXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoc291cmNlSUQpLCBXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6dW5j
aGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWluU3RyaW5nKHNvdXJjZVNpdGVEb21haW4p
KSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRp
b25TaXRlKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tUmVn
aXN0cmFibGVEb21haW5TdHJpbmcoZGVzdGluYXRpb25TaXRlRG9tYWluKSksIGJ1bmRsZUlELCB7
IH0sIHsgfSwgV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKHRpbWVPZkFkQ2xpY2spKTsKKyAgICBX
ZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoc291cmNlSUQpLCBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6
dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWluU3RyaW5nKHNvdXJjZVNpdGVEb21h
aW4pKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGlu
YXRpb25TaXRlKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9t
UmVnaXN0cmFibGVEb21haW5TdHJpbmcoZGVzdGluYXRpb25TaXRlRG9tYWluKSksIGJ1bmRsZUlE
LCBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHModGltZU9mQWRDbGljayksIFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8pOwogCiAgICAgaWYg
KGF0dHJpYnV0aW9uVHlwZSA9PSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlw
ZTo6QXR0cmlidXRlZCkgewogICAgICAgICBhdXRvIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgPSBz
dGF0ZW1lbnQuY29sdW1uSW50KDMpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50IERhdGFiYXNlVXRpbGl0aWVzOjpidWlsZFByaXZhdGVDbGlja01l
YXN1cmVtZW50CiAgICAgICAgIGF1dG8gZGVzdGluYXRpb25FYXJsaWVzdFRpbWVUb1NlbmRWYWx1
ZSA9IHN0YXRlbWVudC5jb2x1bW5Eb3VibGUoMTApOwogCiAgICAgICAgIGlmIChhdHRyaWJ1dGlv
blRyaWdnZXJEYXRhICE9IC0xKQotICAgICAgICAgICAgYXR0cmlidXRpb24uc2V0QXR0cmlidXRp
b24oV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRh
dGEgeyBzdGF0aWNfY2FzdDx1aW50MzJfdD4oYXR0cmlidXRpb25UcmlnZ2VyRGF0YSksIFdlYkNv
cmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShwcmlvcml0eSkgfSk7CisgICAg
ICAgICAgICBhdHRyaWJ1dGlvbi5zZXRBdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSB7IHN0YXRpY19jYXN0PHVpbnQ4X3Q+
KGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6UHJpb3JpdHkocHJpb3JpdHkpIH0pOwogCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8V2FsbFRp
bWU+IHNvdXJjZUVhcmxpZXN0VGltZVRvU2VuZDsKICAgICAgICAgc3RkOjpvcHRpb25hbDxXYWxs
VGltZT4gZGVzdGluYXRpb25FYXJsaWVzdFRpbWVUb1NlbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1By
aXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAK
aW5kZXggZjQ5OTgzOThlOGMxYjNiZDIyOGVjYWU2NDI0ZTZhNTYwYjk1YThiOS4uNGU0Yzk0ZWRl
YWQzNGU0MGZkZDYzNTMyMjgwZjI3YzI3YjdmYWMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApA
QCAtMjE3LDcgKzIxNyw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpn
ZXRTaWduZWRVbmxpbmthYmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiB2b2lkIFByaXZhdGVD
bGlja01lYXN1cmVtZW50TWFuYWdlcjo6aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBtZWFzdXJlbWVudCwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblR5cGUgdHlwZSkKIHsKICAgICBpZiAobV9pc1J1bm5pbmdFcGhlbWVyYWxN
ZWFzdXJlbWVudFRlc3QpCi0gICAgICAgIG1lYXN1cmVtZW50LnNldEVwaGVtZXJhbChQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMpOworICAgICAgICBtZWFz
dXJlbWVudC5zZXRFcGhlbWVyYWwoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9u
RXBoZW1lcmFsOjpZZXMpOwogICAgIGlmIChtZWFzdXJlbWVudC5pc0VwaGVtZXJhbCgpKSB7CiAg
ICAgICAgIG1fZXBoZW1lcmFsTWVhc3VyZW1lbnQgPSBXVEZNb3ZlKG1lYXN1cmVtZW50KTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1Rlc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3VGVzdGluZy5tbQppbmRleCA2OGM0NDExNDllYTQ2YTQ0ZDEyODg4MmQ3ZmVh
MmE4ODQ5NTJlYmM0Li5kZmNiNmZhMmQ1NTI4OGFkNjdmNzVjOTg0ZTQyZGRkN2RmYjA2ZTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVz
dGluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
VGVzdGluZy5tbQpAQCAtNjIsMTMgKzYyLDEzIEBACiAgICAgICAgIFdlYkNvcmU6OlByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlKHJlcG9ydEVuZHBvaW50KSwKICAgICAgICAgV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRl
KGRlc3RpbmF0aW9uKSwKICAgICAgICAgYnVuZGxlSUQsCi0gICAgICAgIHNvdXJjZURlc2NyaXB0
aW9uLAotICAgICAgICBwdXJjaGFzZXIKKyAgICAgICAgV2FsbFRpbWU6Om5vdygpLAorICAgICAg
ICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6
Ok5vCiAgICAgKTsKICAgICBpZiAobm9uY2UpCiAgICAgICAgIG1lYXN1cmVtZW50LnNldEVwaGVt
ZXJhbFNvdXJjZU5vbmNlKHsgbm9uY2UgfSk7CiAKLSAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCkpOworICAgIF9wYWdlLT5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCh7eyBXVEZNb3ZlKG1lYXN1cmVtZW50KSwgeyB9LCB7IH19fSk7CiB9
CiAKIC0gKHZvaWQpX3NldFBhZ2VTY2FsZTooQ0dGbG9hdClzY2FsZSB3aXRoT3JpZ2luOihDR1Bv
aW50KW9yaWdpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9X
S1dlYlZpZXdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5tbQppbmRleCBkMWRhY2IwMWQ4NmIyODFiYjVkZTkyZGY4Zjk0MDg3ODA4ZmM3OWEzLi4y
MTA1OTQwOGFiMDQ1N2U1NTMxNWY4MGRiNTIzNDUxYTBjZjIzY2E4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbQpAQCAtMjYzMywxMCArMjYz
MywxMCBAQCBzdGF0aWMgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1Vz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oVUlTZQogICAgICAgICAgICAgV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUoYXR0cmlidXRpb24ucmVwb3J0RW5kcG9p
bnQpLAogICAgICAgICAgICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0aW9uRGVzdGluYXRpb25TaXRlKGF0dHJpYnV0aW9uLmRlc3RpbmF0aW9uVVJMKSwKICAgICAg
ICAgICAgIFdlYkNvcmU6OmFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpLAotICAgICAgICAg
ICAgYXR0cmlidXRpb24uc291cmNlRGVzY3JpcHRpb24sCi0gICAgICAgICAgICBhdHRyaWJ1dGlv
bi5wdXJjaGFzZXIKKyAgICAgICAgICAgIFdhbGxUaW1lOjpub3coKSwKKyAgICAgICAgICAgIFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8K
ICAgICAgICAgKTsKLSAgICAgICAgX3BhZ2UtPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdU
Rk1vdmUobWVhc3VyZW1lbnQpKTsKKyAgICAgICAgX3BhZ2UtPnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50KHt7IFdURk1vdmUobWVhc3VyZW1lbnQpLCBhdHRyaWJ1dGlvbi5zb3VyY2VEZXNjcmlw
dGlvbiwgYXR0cmlidXRpb24ucHVyY2hhc2VyIH19KTsKICAgICB9IGVsc2UKICAgICAgICAgX3Bh
Z2UtPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KHN0ZDo6bnVsbG9wdCk7CiAjZW5kaWYKQEAg
LTI2NTAsNyArMjY1MCw3IEBAIHN0YXRpYyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGly
ZWN0aW9uIHRvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihVSVNlCiAgICAgICAgIHJldHVy
biBuaWw7CiAKICAgICBhdXRvIGRlc3RpbmF0aW9uVVJMID0gVVJMKFVSTCgpLCBtYWtlU3RyaW5n
KCJodHRwczovLyIsIG1lYXN1cmVtZW50LT5kZXN0aW5hdGlvblNpdGUoKS5yZWdpc3RyYWJsZURv
bWFpbi5zdHJpbmcoKSkpOwotICAgIHJldHVybiBhZG9wdE5TKFtbVUlFdmVudEF0dHJpYnV0aW9u
IGFsbG9jXSBpbml0V2l0aFNvdXJjZUlkZW50aWZpZXI6bWVhc3VyZW1lbnQtPnNvdXJjZUlEKCku
aWQgZGVzdGluYXRpb25VUkw6ZGVzdGluYXRpb25VUkwgc291cmNlRGVzY3JpcHRpb246bWVhc3Vy
ZW1lbnQtPnNvdXJjZURlc2NyaXB0aW9uKCkgcHVyY2hhc2VyOm1lYXN1cmVtZW50LT5wdXJjaGFz
ZXIoKV0pLmF1dG9yZWxlYXNlKCk7CisgICAgcmV0dXJuIGFkb3B0TlMoW1tVSUV2ZW50QXR0cmli
dXRpb24gYWxsb2NdIGluaXRXaXRoU291cmNlSWRlbnRpZmllcjptZWFzdXJlbWVudC0+c291cmNl
SUQoKS5pZCBkZXN0aW5hdGlvblVSTDpkZXN0aW5hdGlvblVSTCBzb3VyY2VEZXNjcmlwdGlvbjpu
aWwgcHVyY2hhc2VyOm5pbF0pLmF1dG9yZWxlYXNlKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7
CiAjZW5kaWYKQEAgLTI2NzEsMTIgKzI2NzEsMTAgQEAgc3RhdGljIFdlYkNvcmU6OlVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gdG9Vc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFVJU2UK
ICAgICAgICAgICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRl
KGF0dHJpYnV0aW9uLnJlcG9ydEVuZHBvaW50KSwKICAgICAgICAgICAgIFdlYkNvcmU6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZShhdHRyaWJ1dGlv
bi5kZXN0aW5hdGlvblVSTCksCiAgICAgICAgICAgICBidW5kbGVJRCwKLSAgICAgICAgICAgIGF0
dHJpYnV0aW9uLnNvdXJjZURlc2NyaXB0aW9uLAotICAgICAgICAgICAgYXR0cmlidXRpb24ucHVy
Y2hhc2VyLAogICAgICAgICAgICAgV2FsbFRpbWU6Om5vdygpLAotICAgICAgICAgICAgV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzCisgICAg
ICAgICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhl
bWVyYWw6OlllcwogICAgICAgICApOwotICAgICAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCkpOworICAgICAgICBfcGFnZS0+c2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoe3sgV1RGTW92ZShtZWFzdXJlbWVudCksIGF0dHJpYnV0aW9uLnNv
dXJjZURlc2NyaXB0aW9uLCBhdHRyaWJ1dGlvbi5wdXJjaGFzZXIgfX0pOwogICAgIH0gZWxzZQog
ICAgICAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoc3RkOjpudWxsb3B0KTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjdl
YzJlY2U1MmM3ZTY0OThmMDk1OGM2YTJiMmNkMmJkNDdlMWRkYy4uNDQyODNhYWI0OWYxYmVlOTI1
OTQxMGUxYmJkM2JiNjg0NGUzZjYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCkBAIC00OTI3LDcgKzQ5MjcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29t
bWl0TG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJgog
ICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkgewogICAgICAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50PiBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsK
ICAgICAgICAgaWYgKG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpCi0gICAgICAgICAgICBwcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCA9IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CisgICAgICAg
ICAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQt
PnBjbTsKICAgICAgICAgZWxzZSBpZiAobmF2aWdhdGlvbiAmJiBuYXZpZ2F0aW9uLT5wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCgpKQogICAgICAgICAgICAgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQg
PSBuYXZpZ2F0aW9uLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpOwogICAgICAgICBpZiAocHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQpIHsKQEAgLTU4NDcsNyArNTg0Nyw4IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjcmVhdGVOZXdQYWdlKEZyYW1lSW5mb0RhdGEmJiBvcmlnaW5hdGluZ0ZyYW1lSW5m
b0RhdGEsIFdlYlBhCiAKICAgICAgICAgbmV3UGFnZS0+bV9zaG91bGRTdXBwcmVzc0FwcExpbmtz
SW5OZXh0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uID0gbWFpbkZyYW1lVVJMLmhvc3QoKSA9PSBy
ZXF1ZXN0LnVybCgpLmhvc3QoKTsKIAotICAgICAgICBuZXdQYWdlLT5tX3ByaXZhdGVDbGlja01l
YXN1cmVtZW50ID0gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CisgICAgICAgIGlmIChwcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCkKKyAgICAgICAgICAgIG5ld1BhZ2UtPm1fcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQgPSB7IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50QW5kTWV0YWRhdGEg
eyBXVEZNb3ZlKCpwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCksIHsgfSwgeyB9fX07CiAjaWYgSEFW
RShBUFBfU1NPKQogICAgICAgICBuZXdQYWdlLT5tX3Nob3VsZFN1cHByZXNzU09BdXRob3JpemF0
aW9uSW5OZXh0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uID0gdHJ1ZTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmMmRmYjA1MTA4NmRiZjA4YjU3Zjlj
NTk5MTM3YzZhYmIxYWUyODVhLi42NDFhMzkwYTI5ZmVlMzRlMGE2ZGRjN2Q5NDlhNTM0YjBjZWNk
YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzE2LDggKzcx
Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERlbGVnYXRlc1Njcm9sbGluZyhib29sIGRlbGVn
YXRlc1Njcm9sbGluZykgeyBtX2RlbGVnYXRlc1Njcm9sbGluZyA9IGRlbGVnYXRlc1Njcm9sbGlu
ZzsgfQogICAgIGJvb2wgZGVsZWdhdGVzU2Nyb2xsaW5nKCkgY29uc3QgeyByZXR1cm4gbV9kZWxl
Z2F0ZXNTY3JvbGxpbmc7IH0KIAotICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQo
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4mJiBtZWFzdXJl
bWVudCkgeyBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCk7
IH0KLSAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50PiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGVD
bGlja01lYXN1cmVtZW50OyB9CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50QW5kTWV0YWRhdGE+
JiYgbWVhc3VyZW1lbnQpIHsgbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFdURk1vdmUobWVh
c3VyZW1lbnQpOyB9CisgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudEFuZE1ldGFkYXRhPiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50OyB9CiAKICAgICBlbnVtIGNsYXNz
IEFjdGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGUgOiBib29sIHsgRGVmZXJyYWJsZSwgSW1t
ZWRpYXRlIH07CiAgICAgZW51bSBjbGFzcyBBY3Rpdml0eVN0YXRlQ2hhbmdlUmVwbHlNb2RlIDog
Ym9vbCB7IEFzeW5jaHJvbm91cywgU3luY2hyb25vdXMgfTsKQEAgLTMwODYsNyArMzA4Niw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzUnVubmluZ01vZGFsSmF2YVNjcmlwdERpYWxvZyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IG1fcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEFuZE1ldGFkYXRhPiBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50OwogCiAjaWYgRU5BQkxF
KFdFQlhSKSAmJiAhVVNFKE9QRU5YUikKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1YUlN5
c3RlbT4gbV94clN5c3RlbTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCBiMzE0NmRmOTdmMTU0MjFhNGU3M2QzMGFlOTA2YzBjMzEwOWNlOTk1Li41
MTQzOGVkMzQyOTBlNGFiM2M2Y2YyYjFiOGUzNjUyMTAyN2RmNTdlIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEt
MDktMjkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBDbGVhbiB1cCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSSByZW1vdmVkIHRoZSBJbnZhbGlkU291cmNl
SUQgdGVzdCBiZWNhdXNlIGl0IGlzIG5vdyBpbXBvc3NpYmxlIHRvIG1ha2UgYW4gaW52YWxpZCBz
b3VyY2UgSUQKKyAgICAgICAgYmVjYXVzZSBpdCB1c2VzIGEgdWludDhfdCBhbmQgYWxsb3dzIHRo
ZSB2YWx1ZXMgMC0yNTUuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJp
YnV0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDktMjkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFdQVCBpbXBvcnRl
ciBzaG91bGQgY3JlYXRlIHNlcnZpY2V3b3JrZXIgdGVtcGxhdGUgZm9yIHRlbXBsYXRlZCB0ZXN0
IHRoYXQgaGF2ZSB3b3JrZXIgYXMgZ2xvYmFsCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcAppbmRl
eCAwZTVhNmUyMmJiYzNhNmYxM2ZlMzU1N2U0NGVmMTVlZmI5NjlmYmJhLi43NzlkNDNlMzVmMmIy
ZGZiYWI5M2NkOGIzYzIwYjA3OWQwMjlmNDBlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAK
QEAgLTQ0LDcgKzQ0LDcgQEAgY29uc3QgVVJMIGVtcHR5VVJMIHsgfTsKIAogVEVTVChQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgV2VsbEtub3duVVJMcykKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRCht
aW42Qml0VmFsdWUpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktp
dFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlNvdXJjZUlEKG1pbjZCaXRWYWx1ZSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VT
aXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRl
c3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBX
YWxsVGltZTo6bm93KCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGlvbkVwaGVtZXJhbDo6Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJs
aWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEobWluNkJpdFZhbHVlLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkobWlu
NkJpdFZhbHVlKSkpOwogCiAgICAgYXV0byBhdHRyaWJ1dGlvblNvdXJjZVVSTCA9IGF0dHJpYnV0
aW9uLmF0dHJpYnV0aW9uUmVwb3J0U291cmNlVVJMKCk7CkBAIC01NSw3ICs1NSw3IEBAIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFdlbGxLbm93blVSTHMpCiAKIFRFU1QoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQsIFZhbGlkTWluVmFsdWVzKQogewotICAgIFByaXZhdGVDbGlja01lYXN1
cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKG1p
bjZCaXRWYWx1ZSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0
VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0
ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07CisgICAgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlSUQobWluNkJpdFZhbHVlKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNp
dGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVz
dGluYXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIsIFdh
bGxUaW1lOjpub3coKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0
aW9uRXBoZW1lcmFsOjpObyB9OwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxp
ZXN0VGltZVRvU2VuZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2Vy
RGF0YShtaW42Qml0VmFsdWUsIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShtaW42
Qml0VmFsdWUpKSk7CiAKICAgICBBU1NFUlRfRVEoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBv
cnRKU09OKCktPnRvSlNPTlN0cmluZygpLCAie1wic291cmNlX2VuZ2FnZW1lbnRfdHlwZVwiOlwi
Y2xpY2tcIixcInNvdXJjZV9zaXRlXCI6XCJ3ZWJraXQub3JnXCIsXCJzb3VyY2VfaWRcIjowLFwi
YXR0cmlidXRlZF9vbl9zaXRlXCI6XCJleGFtcGxlLmNvbVwiLFwidHJpZ2dlcl9kYXRhXCI6MCxc
InZlcnNpb25cIjoyfSIpOwpAQCAtNjMsNyArNjMsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1
cmVtZW50LCBWYWxpZE1pblZhbHVlcykKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
VmFsaWRNaWRWYWx1ZXMpCiB7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRp
b24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoKHVpbnQzMl90KTE5MiksIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwg
fSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoKHVpbnQz
Ml90KTE5MiksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJM
IH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7
IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBXYWxsVGltZTo6bm93KCks
IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6
Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoKHVpbnQzMl90
KTksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eSgodWludDMyX3QpMjIpKSk7CiAK
ICAgICBBU1NFUlRfRVEoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRKU09OKCktPnRvSlNP
TlN0cmluZygpLCAie1wic291cmNlX2VuZ2FnZW1lbnRfdHlwZVwiOlwiY2xpY2tcIixcInNvdXJj
ZV9zaXRlXCI6XCJ3ZWJraXQub3JnXCIsXCJzb3VyY2VfaWRcIjoxOTIsXCJhdHRyaWJ1dGVkX29u
X3NpdGVcIjpcImV4YW1wbGUuY29tXCIsXCJ0cmlnZ2VyX2RhdGFcIjo5LFwidmVyc2lvblwiOjJ9
Iik7CkBAIC03MSw3ICs3MSw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlk
TWlkVmFsdWVzKQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBWYWxpZE1heFZhbHVl
cykKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
SUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdl
YktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlv
blNpdGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9w
eSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1w
bGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBXYWxsVGltZTo6bm93KCksIFdlYkNv
cmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8gfTsK
ICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpQcmlvcml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6
Ok1heEVudHJvcHkpKSk7CiAKICAgICBBU1NFUlRfRVEoYXR0cmlidXRpb24uYXR0cmlidXRpb25S
ZXBvcnRKU09OKCktPnRvSlNPTlN0cmluZygpLCAie1wic291cmNlX2VuZ2FnZW1lbnRfdHlwZVwi
OlwiY2xpY2tcIixcInNvdXJjZV9zaXRlXCI6XCJ3ZWJraXQub3JnXCIsXCJzb3VyY2VfaWRcIjoy
NTUsXCJhdHRyaWJ1dGVkX29uX3NpdGVcIjpcImV4YW1wbGUuY29tXCIsXCJ0cmlnZ2VyX2RhdGFc
IjoxNSxcInZlcnNpb25cIjoyfSIpOwpAQCAtNzksNyArNzksNyBAQCBURVNUKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LCBWYWxpZE1heFZhbHVlcykKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgRWFybGllc3RUaW1lVG9TZW5kQXR0cmlidXRpb25NaW5pbXVtRGVsYXkpCiB7Ci0gICAg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRy
b3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhh
bXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKKyAgICBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJ
RChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0sICJ0
ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CiAgICAgYXV0byBu
b3cgPSBXYWxsVGltZTo6bm93KCk7CiAgICAgYXR0cmlidXRpb24uYXR0cmlidXRlQW5kR2V0RWFy
bGllc3RUaW1lVG9TZW5kKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpN
YXhFbnRyb3B5LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OlByaW9yaXR5OjpNYXhFbnRyb3B5KSkpOwogICAgIGF1dG8gZWFybGllc3RU
aW1lVG9TZW5kID0gYXR0cmlidXRpb24udGltZXNUb1NlbmQoKTsKQEAgLTEzMiwxOCArMTMyLDkg
QEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgVmFsaWRTb3VyY2VOb25jZSkKIAogLy8g
TmVnYXRpdmUgdGVzdCBjYXNlcy4KIAotVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgSW52
YWxpZFNvdXJjZUlEKQotewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9u
IHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSArIDEpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlm
aWVyIiB9OwotICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRvU2Vu
ZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQ
cmlvcml0eTo6TWF4RW50cm9weSkpKTsKLQotICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0
dHJpYnV0aW9uUmVwb3J0U291cmNlVVJMKCkuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfVFJVRShh
dHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEF0dHJpYnV0ZU9uVVJMKCkuaXNFbXB0eSgpKTsK
LX0KLQogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgSW52YWxpZFNvdXJjZUhvc3QpCiB7
Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpN
YXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyBlbXB0eVVS
TCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUg
eyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZhdGVD
bGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNv
dXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgZW1wdHlVUkwgfSwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9
LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIsIFdhbGxUaW1lOjpub3coKSwgV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OwogICAgIGF0
dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRvU2VuZChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eTo6TWF4RW50
cm9weSkpKTsKIAogICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0
U291cmNlVVJMKCkuaXNFbXB0eSgpKTsKQEAgLTE1Miw3ICsxNDMsNyBAQCBURVNUKFByaXZhdGVD
bGlja01lYXN1cmVtZW50LCBJbnZhbGlkU291cmNlSG9zdCkKIAogVEVTVChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCwgSW52YWxpZERlc3RpbmF0aW9uSG9zdCkKIHsKLSAgICBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJ
RChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkgKyAxKSwgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZW1wdHlVUkwgfSwg
InRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQg
YXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZW1wdHlVUkwgfSwgInRlc3QuYnVuZGxlLmlk
ZW50aWZpZXIiLCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1
dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJp
Z2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAKICAgICBB
U1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgpLmlzRW1w
dHkoKSk7CkBAIC0xNjEsNyArMTUyLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
SW52YWxpZERlc3RpbmF0aW9uSG9zdCkKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
QXR0cmlidXRpb25UcmlnZ2VyRGF0YSkKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBh
dHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5p
ZGVudGlmaWVyIiB9OworICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VT
aXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRl
c3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBX
YWxsVGltZTo6bm93KCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1
dGlvbkVwaGVtZXJhbDo6Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJs
aWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEoKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpN
YXhFbnRyb3B5ICsgMSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAKICAgICBBU1NFUlRf
VFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgpLmlzRW1wdHkoKSk7
CkBAIC0xNzAsNyArMTYxLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgQXR0cmli
dXRpb25UcmlnZ2VyRGF0YSkKIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgSW52YWxp
ZFByaW9yaXR5KQogewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VT
aXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRl
c3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07
CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpN
YXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRV
UkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRl
IHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIsIFdhbGxUaW1lOjpub3co
KSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFs
OjpObyB9OwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRvU2Vu
ZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQ
cmlvcml0eTo6TWF4RW50cm9weSArIDEpKSk7CiAKICAgICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlv
bi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgpLmlzRW1wdHkoKSk7CkBAIC0xNzksNyArMTcw
LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgSW52YWxpZFByaW9yaXR5KQogCiBU
RVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBJbnZhbGlkTWlzc2luZ0NvbnZlcnNpb24pCiB7
Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpN
YXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRV
UkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRl
IHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKKyAgICBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpT
b3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJM
IH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CiAKICAg
ICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgpLmlz
RW1wdHkoKSk7CiAgICAgQVNTRVJUX1RSVUUoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRB
dHRyaWJ1dGVPblVSTCgpLmlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0KaW5kZXggNDM0Zjlh
NmU5MGZkZGE5NWNhOTYzYWI1NTBkZThmMDE0N2RkMjM3ZS4uYWZmNDliZjQxOGFiMzI2ZWJlZDU5
ODM4MTk5NWVmM2VkOWZkYWMyZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQpAQCAtNDk2LDYgKzQ5Niw4
IEBAIFRFU1QoRXZlbnRBdHRyaWJ1dGlvbiwgQmFzaWNXaXRoSU9TU1BJKQogICAgIHJ1bkJhc2lj
RXZlbnRBdHRyaWJ1dGlvblRlc3QobmlsLCBbXShXS1dlYlZpZXcgKndlYlZpZXcsIGNvbnN0IEhU
VFBTZXJ2ZXImIHNlcnZlcikgewogICAgICAgICBhdXRvIGF0dHJpYnV0aW9uID0gYWRvcHROUyhb
W01vY2tFdmVudEF0dHJpYnV0aW9uIGFsbG9jXSBpbml0V2l0aFJlcG9ydEVuZHBvaW50OnNlcnZl
ci5yZXF1ZXN0KCkuVVJMIGRlc3RpbmF0aW9uVVJMOmV4YW1wbGVVUkwoKV0pOwogICAgICAgICB3
ZWJWaWV3Ll91aUV2ZW50QXR0cmlidXRpb24gPSAoVUlFdmVudEF0dHJpYnV0aW9uICopYXR0cmli
dXRpb24uZ2V0KCk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUSh3ZWJWaWV3Ll91aUV2ZW50QXR0
cmlidXRpb24uc291cmNlRGVzY3JpcHRpb24sICJ0ZXN0IHNvdXJjZSBkZXNjcmlwdGlvbiIpOwor
ICAgICAgICBFWFBFQ1RfV0tfU1RSRVEod2ViVmlldy5fdWlFdmVudEF0dHJpYnV0aW9uLnB1cmNo
YXNlciwgInRlc3QgcHVyY2hhc2VyIik7CiAgICAgfSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439663</attachid>
            <date>2021-09-29 14:49:04 -0700</date>
            <delta_ts>2021-09-30 08:42:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230978-20210929144903.patch</filename>
            <type>text/plain</type>
            <size>44023</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODcxMzkxNmMwN2Q1NTli
Mjg4ZmQxNGY0ZTY3NzQ1M2IyOTdmODI2My4uOTRlZjBkMDhlOWNmZjU4NmM3NmZlNWYwZDk3MmM2
ZTZmYzZiZjQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA5LTI5ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4g
dXAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDk3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIHIyNzA2NjkgSSBhZGRlZCBzb3VyY2VEZXNjcmlwdGlvbiBh
bmQgcHVyY2hhc2VyIHRvIFByaXZhdGVDbGlja01lYXN1cmVtZW50LAorICAgICAgICBidXQgdGhl
eSdyZSBhY3R1YWxseSBvbmx5IG5lZWRlZCBmb3IgdGhlIFVJRXZlbnRBdHRyaWJ1dGlvbiBnZXR0
ZXIgb24gV0tXZWJWaWV3LgorICAgICAgICBJIG1vdmVkIHRoZW0gdG8gYSBuZXcgc3RydWN0IFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QW5kTWV0YWRhdGEgd2hpY2ggc3RvcmVzIHRoaXMgYWRkaXRp
b25hbAorICAgICAgICBpbmZvcm1hdGlvbiBvbmx5IG9uIFdlYlBhZ2VQcm94eSBpbnN0ZWFkIG9m
IGFsbCB0aGUgUENNIGluZnJhc3RydWN0dXJlLgorCisgICAgICAgIEkgcmVkdWNlZCB0aGUgc2l6
ZSBvZiBTb3VyY2VJRC5pZCB0byAxIGJ5dGUuICBOb3cgYSBTb3VyY2VJRCBpcyBhbHdheXMgdmFs
aWQsIHNvIHdlIGRvbid0IG5lZWQKKyAgICAgICAgdG8gY2hlY2sgYWZ0ZXIgaXQgaGFzIGJlZW4g
Y3JlYXRlZC4gIFdlIHN0aWxsIGNoZWNrIHdoZW4gY3JlYXRpbmcgb25lIGZyb20gcGFyc2luZyB3
ZWIgY29udGVudCwKKyAgICAgICAgYnV0IGV2ZXJ5d2hlcmUgZWxzZSB3ZSBrbm93IHRoYXQgaXQg
aXMgdmFsaWQgYmVjYXVzZSBvZiBpdHMgdHlwZS4KKworICAgICAgICBJIHJlbW92ZWQgdGhlIGRl
ZmF1bHQgY29uc3RydWN0b3Igb2YgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYW5kIGRlZmF1bHQg
cGFyYW1ldGVyIHZhbHVlcy4KKyAgICAgICAgVGhlcmUgYXJlbid0IHZlcnkgbWFueSBwbGFjZXMg
d2hlcmUgd2UgY29uc3RydWN0IG9uZSBleGNlcHQgZm9yIHRoZSB0ZXN0cywgYW5kIGl0J3MgZ29v
ZCB0byBzZWUKKyAgICAgICAgd2hhdCB2YWx1ZXMgd2UgYXJlIHVzaW5nIHNvIHdlIGRvbid0IGZv
cmdldCBhbnl0aGluZy4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxB
bmNob3JFbGVtZW50OjpwYXJzZVByaXZhdGVDbGlja01lYXN1cmVtZW50IGNvbnN0KToKKyAgICAg
ICAgKiBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6cGFyc2VBdHRyaWJ1dGlvblJl
cXVlc3QpOgorICAgICAgICAqIGxvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpTb3VyY2VJ
RCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6
OlByaW9yaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6aXNFcGhlbWVy
YWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OnNl
dEVwaGVtZXJhbCk6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpkZWNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0
dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmRlY29kZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU+OjplbXB0eVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6
aXNWYWxpZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6c291cmNlRGVzY3JpcHRpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OnB1cmNoYXNlciBjb25zdCk6IERlbGV0
ZWQuCisKIDIwMjEtMDktMjggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1vdmUgYERyYXdHbHlwaHNSZWNvcmRlcmAgb3V0c2lkZSBvZiBgRGlzcGxheUxpc3Rg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGUxZmZmMjllYTU5ODlhYWIxOGY5ODVkNzY2Yjc4N2JiMmYzMmUzMTQuLjk0
NDY2OTgyMTRkNmMzZTFlZjBmMDEwNWJkMWFiZGI3OTM5ODg0YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMjEtMDktMjkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBDbGVhbiB1cCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwOTc4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRhdGFiYXNlVXRp
bGl0aWVzOjpidWlsZFByaXZhdGVDbGlja01lYXN1cmVtZW50RnJvbURhdGFiYXNlIGNvbnN0KToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE1hbmFnZXI6Omluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfYWRkRXZlbnRBdHRyaWJ1dGlvbldpdGhTb3VyY2VJRDpkZXN0aW5hdGlv
blVSTDpzb3VyY2VEZXNjcmlwdGlvbjpwdXJjaGFzZXI6cmVwb3J0RW5kcG9pbnQ6b3B0aW9uYWxO
b25jZTphcHBsaWNhdGlvbkJ1bmRsZUlEOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9z
L1dLV2ViVmlld0lPUy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRVSUV2ZW50QXR0cmli
dXRpb246XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfdWlFdmVudEF0dHJpYnV0aW9uXSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfc2V0RXBoZW1lcmFsVUlFdmVudEF0dHJpYnV0aW9uOmZvckFw
cGxpY2F0aW9uV2l0aEJ1bmRsZUlEOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JG
cmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV3UGFnZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDIxLTA5LTI4ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bnVzZWQgImNv
bS5hcHBsZS5zZWN1cml0eS5leGNlcHRpb24uZmlsZSoiIHJ1bGVzIGZyb20gV2ViS2l0IHNhbmRi
b3hlcyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKaW5kZXggZWYw
OWQwM2YwN2Q1NTJmYzc1Y2M2YWE1OWU3ODA0MzQwYjQzZmMzNC4uM2VjZjUyMjlhYzhjNmY5ZmQx
ZDAyNWM1YWQ1MGQ4OWFlMjc4Y2U4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAKQEAgLTQ1NSw3ICs0NTUsNyBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlj
a01lYXN1cmVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VQcml2YXRlQ2xpY2tNZWFzdQog
I2Vsc2UKICAgICBTdHJpbmcgYnVuZGxlSUQ7CiAjZW5kaWYKLSAgICBhdXRvIHByaXZhdGVDbGlj
a01lYXN1cmVtZW50ID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgeyBTb3VyY2VJRChhdHRyaWJ1
dGlvblNvdXJjZUlELnZhbHVlKCkpLCBTb3VyY2VTaXRlKFdURk1vdmUoZG9jdW1lbnRSZWdpc3Ry
YWJsZURvbWFpbikpLCBBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZShkZXN0aW5hdGlvblVSTCks
IGJ1bmRsZUlEIH07CisgICAgYXV0byBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFByaXZhdGVD
bGlja01lYXN1cmVtZW50IHsgU291cmNlSUQoYXR0cmlidXRpb25Tb3VyY2VJRC52YWx1ZSgpKSwg
U291cmNlU2l0ZShXVEZNb3ZlKGRvY3VtZW50UmVnaXN0cmFibGVEb21haW4pKSwgQXR0cmlidXRp
b25EZXN0aW5hdGlvblNpdGUoZGVzdGluYXRpb25VUkwpLCBidW5kbGVJRCwgV2FsbFRpbWU6Om5v
dygpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07
CiAKICAgICBhdXRvIGF0dHJpYnV0aW9uU291cmNlTm9uY2VBdHRyID0gYXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihhdHRyaWJ1dGlvbnNvdXJjZW5vbmNlQXR0cik7CiAgICAgaWYgKCFh
dHRyaWJ1dGlvblNvdXJjZU5vbmNlQXR0ci5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwCmluZGV4IDBhNzgxNDg4M2Ex
NDM5NDliMmQ5Yjc1NWY5NzdjNDBjNTk4NjMwYWQuLjY3ZGZmZmI0M2ExZTEwYjk3Yjc5YTY5NmI0
NmNlM2M5MmY4MTJlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50LmNwcApAQCAtNTQsNyArNTQsNiBAQCBib29sIFByaXZhdGVDbGlja01l
YXN1cmVtZW50Ojppc1ZhbGlkKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9hdHRyaWJ1dGlvblRy
aWdnZXJEYXRhCiAgICAgICAgICYmIG1fYXR0cmlidXRpb25UcmlnZ2VyRGF0YS52YWx1ZSgpLmlz
VmFsaWQoKQotICAgICAgICAmJiBtX3NvdXJjZUlELmlzVmFsaWQoKQogICAgICAgICAmJiAhbV9z
b3VyY2VTaXRlLnJlZ2lzdHJhYmxlRG9tYWluLmlzRW1wdHkoKQogICAgICAgICAmJiAhbV9kZXN0
aW5hdGlvblNpdGUucmVnaXN0cmFibGVEb21haW4uaXNFbXB0eSgpCiAgICAgICAgICYmIChtX3Rp
bWVzVG9TZW5kLnNvdXJjZUVhcmxpZXN0VGltZVRvU2VuZCB8fCBtX3RpbWVzVG9TZW5kLmRlc3Rp
bmF0aW9uRWFybGllc3RUaW1lVG9TZW5kKTsKQEAgLTg4LDIwICs4NywxOSBAQCBQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6U291cmNlVW5saW5rYWJsZVRva2VuIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VVbgogCiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCBjb3B5OwotICAgIGNvcHkubV9zb3VyY2VJRCA9IG1fc291cmNlSUQ7Ci0gICAgY29weS5t
X3NvdXJjZVNpdGUgPSBtX3NvdXJjZVNpdGUuaXNvbGF0ZWRDb3B5KCk7Ci0gICAgY29weS5tX2Rl
c3RpbmF0aW9uU2l0ZSA9IG1fZGVzdGluYXRpb25TaXRlLmlzb2xhdGVkQ29weSgpOwotICAgIGNv
cHkubV9zb3VyY2VEZXNjcmlwdGlvbiA9IG1fc291cmNlRGVzY3JpcHRpb24uaXNvbGF0ZWRDb3B5
KCk7Ci0gICAgY29weS5tX3B1cmNoYXNlciA9IG1fcHVyY2hhc2VyLmlzb2xhdGVkQ29weSgpOwot
ICAgIGNvcHkubV90aW1lT2ZBZENsaWNrID0gbV90aW1lT2ZBZENsaWNrLmlzb2xhdGVkQ29weSgp
OwotICAgIGNvcHkubV9pc0VwaGVtZXJhbCA9IG1faXNFcGhlbWVyYWw7CisgICAgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQgY29weSB7CisgICAgICAgIG1fc291cmNlSUQsCisgICAgICAgIG1fc291
cmNlU2l0ZS5pc29sYXRlZENvcHkoKSwKKyAgICAgICAgbV9kZXN0aW5hdGlvblNpdGUuaXNvbGF0
ZWRDb3B5KCksCisgICAgICAgIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJRC5pc29sYXRlZENv
cHkoKSwKKyAgICAgICAgbV90aW1lT2ZBZENsaWNrLmlzb2xhdGVkQ29weSgpLAorICAgICAgICBt
X2lzRXBoZW1lcmFsLAorICAgIH07CiAgICAgY29weS5tX2F0dHJpYnV0aW9uVHJpZ2dlckRhdGEg
PSBtX2F0dHJpYnV0aW9uVHJpZ2dlckRhdGE7CiAgICAgY29weS5tX3RpbWVzVG9TZW5kID0gbV90
aW1lc1RvU2VuZDsKICAgICBjb3B5Lm1fZXBoZW1lcmFsU291cmNlTm9uY2UgPSBjcm9zc1RocmVh
ZENvcHkobV9lcGhlbWVyYWxTb3VyY2VOb25jZSk7CiAgICAgY29weS5tX3NvdXJjZVVubGlua2Fi
bGVUb2tlbiA9IG1fc291cmNlVW5saW5rYWJsZVRva2VuLmlzb2xhdGVkQ29weSgpOwogICAgIGNv
cHkubV9zb3VyY2VTZWNyZXRUb2tlbiA9IGNyb3NzVGhyZWFkQ29weShtX3NvdXJjZVNlY3JldFRv
a2VuKTsKLSAgICBjb3B5Lm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJRCA9IG1fc291cmNlQXBw
bGljYXRpb25CdW5kbGVJRC5pc29sYXRlZENvcHkoKTsKICAgICByZXR1cm4gY29weTsKIH0KIApA
QCAtMTIxLDcgKzExOSw3IEBAIEV4cGVjdGVkPFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRy
aWJ1dGlvblRyaWdnZXJEYXRhLCBTdHJpbmc+IFByaXZhdGVDbGlja01lCiAgICAgICAgIGlmICgh
YXR0cmlidXRpb25UcmlnZ2VyRGF0YVVJbnQ2NCB8fCAqYXR0cmlidXRpb25UcmlnZ2VyRGF0YVVJ
bnQ2NCA+IEF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHkpCiAgICAgICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQobWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIENvbnZlcnNpb24gd2FzIG5vdCBhY2NlcHRlZCBiZWNhdXNlIHRoZSBjb252ZXJzaW9uIGRh
dGEgY291bGQgbm90IGJlIHBhcnNlZCBvciB3YXMgaGlnaGVyIHRoYW4gdGhlIGFsbG93ZWQgbWF4
aW11bSBvZiAiX3MsIEF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksICIuIl9zKSk7
CiAKLSAgICAgICAgcmV0dXJuIEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgeyBzdGF0aWNfY2FzdDx1
aW50MzJfdD4oKmF0dHJpYnV0aW9uVHJpZ2dlckRhdGFVSW50NjQpLCBQcmlvcml0eSB7IDAgfSB9
OworICAgICAgICByZXR1cm4gQXR0cmlidXRpb25UcmlnZ2VyRGF0YSB7IHN0YXRpY19jYXN0PHVp
bnQ4X3Q+KCphdHRyaWJ1dGlvblRyaWdnZXJEYXRhVUludDY0KSwgUHJpb3JpdHkgeyAwIH0gfTsK
ICAgICB9CiAgICAgCiAgICAgaWYgKHBhdGgubGVuZ3RoKCkgPT0gcHJlZml4TGVuZ3RoICsgcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblRyaWdnZXJEYXRhUGF0aFNlZ21lbnRTaXpl
ICsgMSArIHByaXZhdGVDbGlja01lYXN1cmVtZW50UHJpb3JpdHlQYXRoU2VnbWVudFNpemUpIHsK
QEAgLTEzMyw3ICsxMzEsNyBAQCBFeHBlY3RlZDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0
cmlidXRpb25UcmlnZ2VyRGF0YSwgU3RyaW5nPiBQcml2YXRlQ2xpY2tNZQogICAgICAgICBpZiAo
IWF0dHJpYnV0aW9uUHJpb3JpdHlVSW50NjQgfHwgKmF0dHJpYnV0aW9uUHJpb3JpdHlVSW50NjQg
PiBQcmlvcml0eTo6TWF4RW50cm9weSkKICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3Rl
ZChtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gQ29udmVyc2lvbiB3YXMg
bm90IGFjY2VwdGVkIGJlY2F1c2UgdGhlIHByaW9yaXR5IGNvdWxkIG5vdCBiZSBwYXJzZWQgb3Ig
d2FzIGhpZ2hlciB0aGFuIHRoZSBhbGxvd2VkIG1heGltdW0gb2YgIl9zLCBQcmlvcml0eTo6TWF4
RW50cm9weSwgIi4iX3MpKTsKIAotICAgICAgICByZXR1cm4gQXR0cmlidXRpb25UcmlnZ2VyRGF0
YSB7IHN0YXRpY19jYXN0PHVpbnQzMl90PigqYXR0cmlidXRpb25UcmlnZ2VyRGF0YVVJbnQ2NCks
IFByaW9yaXR5IHsgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCphdHRyaWJ1dGlvblByaW9yaXR5VUlu
dDY0KSB9IH07CisgICAgICAgIHJldHVybiBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhIHsgc3RhdGlj
X2Nhc3Q8dWludDhfdD4oKmF0dHJpYnV0aW9uVHJpZ2dlckRhdGFVSW50NjQpLCBQcmlvcml0eSB7
IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KCphdHRyaWJ1dGlvblByaW9yaXR5VUludDY0KSB9IH07CiAg
ICAgfQogCiAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJl
bWVudF0gQ29udmVyc2lvbiB3YXMgbm90IGFjY2VwdGVkIGJlY2F1c2UgdGhlIFVSTCBwYXRoIGNv
bnRhaW5lZCB1bnJlY29nbml6ZWQgcGFydHMuIl9zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmgKaW5kZXggMDZiYmZmN2M1MDQ3NmE5YzI4MmFj
N2JiYWYyYjRlMTQzNjBiMmQ0ZS4uNWI0ZWE4NTBkY2ZkNjMzY2U5YmZjNGUzN2M3MGUzMjkyY2Y0
OTFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50LmgKQEAgLTQ3LDM0ICs0NywyNSBAQCBPQkpDX0NMQVNTIFJTQUJTU0FUb2tlbkJsaW5kZXI7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uRXBoZW1lcmFsIDogYm9vbCB7IE5vLCBZZXMgfTsKLQogY2xhc3MgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQgewogcHVibGljOgotICAgIHVzaW5nIFByaW9yaXR5VmFsdWUg
PSB1aW50MzJfdDsKKyAgICB1c2luZyBQcmlvcml0eVZhbHVlID0gdWludDhfdDsKKyAgICBlbnVt
IGNsYXNzIEF0dHJpYnV0aW9uRXBoZW1lcmFsIDogYm9vbCB7IE5vLCBZZXMgfTsKIAogICAgIGVu
dW0gY2xhc3MgUGNtRGF0YUNhcnJpZWQgOiBib29sIHsgTm9uUGVyc29uYWxseUlkZW50aWZpYWJs
ZSwgUGVyc29uYWxseUlkZW50aWZpYWJsZSB9OwogICAgIGVudW0gY2xhc3MgQXR0cmlidXRpb25S
ZXBvcnRFbmRwb2ludCA6IGJvb2wgeyBTb3VyY2UsIERlc3RpbmF0aW9uIH07CiAKICAgICBzdHJ1
Y3QgU291cmNlSUQgewotICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IE1heEVudHJv
cHkgPSAyNTU7Ci0KLSAgICAgICAgU291cmNlSUQoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIGV4cGxp
Y2l0IFNvdXJjZUlEKHVpbnQzMl90IGlkKQorICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ4
X3QgTWF4RW50cm9weSA9IDI1NTsKKyAgICAgICAgZXhwbGljaXQgU291cmNlSUQodWludDhfdCBp
ZCkKICAgICAgICAgICAgIDogaWQgeyBpZCB9CiAgICAgICAgIHsKICAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QKLSAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuIGlkIDw9IE1heEVudHJvcHk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHVp
bnQzMl90IGlkIHsgMCB9OworCisgICAgICAgIHVpbnQ4X3QgaWQgeyAwIH07CiAgICAgfTsKIAog
ICAgIHN0cnVjdCBTb3VyY2VTaXRlIHsKLSAgICAgICAgU291cmNlU2l0ZSgpID0gZGVmYXVsdDsK
ICAgICAgICAgZXhwbGljaXQgU291cmNlU2l0ZShjb25zdCBVUkwmIHVybCkKICAgICAgICAgICAg
IDogcmVnaXN0cmFibGVEb21haW4geyB1cmwgfQogICAgICAgICB7CkBAIC0xNjYsMTAgKzE1Nywx
MCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHN0cnVjdCBQcmlvcml0eSB7Ci0gICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgdWludDMyX3QgTWF4RW50cm9weSA9IDYzOworICAgICAgICBzdGF0aWMg
Y29uc3RleHByIHVpbnQ4X3QgTWF4RW50cm9weSA9IDYzOwogCiAgICAgICAgIGV4cGxpY2l0IFBy
aW9yaXR5KFByaW9yaXR5VmFsdWUgdmFsdWUpCi0gICAgICAgIDogdmFsdWUgeyB2YWx1ZSB9Cisg
ICAgICAgICAgICA6IHZhbHVlIHsgdmFsdWUgfQogICAgICAgICB7CiAgICAgICAgIH0KICAgICAg
ICAgCkBAIC0xNzcsMTEgKzE2OCwxMSBAQCBwdWJsaWM6CiAgICAgfTsKICAgICAKICAgICBzdHJ1
Y3QgQXR0cmlidXRpb25UcmlnZ2VyRGF0YSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWlu
dDMyX3QgTWF4RW50cm9weSA9IDE1OworICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ4X3Qg
TWF4RW50cm9weSA9IDE1OwogCiAgICAgICAgIGVudW0gY2xhc3MgV2FzU2VudCA6IGJvb2wgeyBO
bywgWWVzIH07CiAgICAgICAgIAotICAgICAgICBBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKHVpbnQz
Ml90IGRhdGEsIFByaW9yaXR5IHByaW9yaXR5LCBXYXNTZW50IHdhc1NlbnQgPSBXYXNTZW50OjpO
bykKKyAgICAgICAgQXR0cmlidXRpb25UcmlnZ2VyRGF0YSh1aW50OF90IGRhdGEsIFByaW9yaXR5
IHByaW9yaXR5LCBXYXNTZW50IHdhc1NlbnQgPSBXYXNTZW50OjpObykKICAgICAgICAgICAgIDog
ZGF0YSB7IGRhdGEgfQogICAgICAgICAgICAgLCBwcmlvcml0eSB7IHByaW9yaXR5LnZhbHVlIH0K
ICAgICAgICAgICAgICwgd2FzU2VudCB7IHdhc1NlbnQgfQpAQCAtMTkzLDcgKzE4NCw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHJldHVybiBkYXRhIDw9IE1heEVudHJvcHkgJiYgcHJpb3JpdHkg
PD0gUHJpb3JpdHk6Ok1heEVudHJvcHk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHVp
bnQzMl90IGRhdGE7CisgICAgICAgIHVpbnQ4X3QgZGF0YSB7IDAgfTsKICAgICAgICAgUHJpb3Jp
dHlWYWx1ZSBwcmlvcml0eTsKICAgICAgICAgV2FzU2VudCB3YXNTZW50ID0gV2FzU2VudDo6Tm87
CiAKQEAgLTMxMSwxMyArMzAyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH07CiAKLSAg
ICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpID0gZGVmYXVsdDsKLSAgICBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudChTb3VyY2VJRCBzb3VyY2VJRCwgY29uc3QgU291cmNlU2l0ZSYgc291cmNlU2l0
ZSwgY29uc3QgQXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUmIGRlc3RpbmF0aW9uU2l0ZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlELCBTdHJpbmcmJiBzb3VyY2VEZXNj
cmlwdGlvbiA9IHsgfSwgU3RyaW5nJiYgcHVyY2hhc2VyID0geyB9LCBXYWxsVGltZSB0aW1lT2ZB
ZENsaWNrID0gV2FsbFRpbWU6Om5vdygpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0
aW9uRXBoZW1lcmFsIGlzRXBoZW1lcmFsID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1
dGlvbkVwaGVtZXJhbDo6Tm8pCisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoU291cmNlSUQg
c291cmNlSUQsIGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbnN0IEF0dHJpYnV0aW9u
RGVzdGluYXRpb25TaXRlJiBkZXN0aW5hdGlvblNpdGUsIGNvbnN0IFN0cmluZyYgc291cmNlQXBw
bGljYXRpb25CdW5kbGVJRCwgV2FsbFRpbWUgdGltZU9mQWRDbGljaywgQXR0cmlidXRpb25FcGhl
bWVyYWwgaXNFcGhlbWVyYWwpCiAgICAgICAgIDogbV9zb3VyY2VJRCB7IHNvdXJjZUlEIH0KICAg
ICAgICAgLCBtX3NvdXJjZVNpdGUgeyBzb3VyY2VTaXRlIH0KICAgICAgICAgLCBtX2Rlc3RpbmF0
aW9uU2l0ZSB7IGRlc3RpbmF0aW9uU2l0ZSB9Ci0gICAgICAgICwgbV9zb3VyY2VEZXNjcmlwdGlv
biB7IFdURk1vdmUoc291cmNlRGVzY3JpcHRpb24pIH0KLSAgICAgICAgLCBtX3B1cmNoYXNlciB7
IFdURk1vdmUocHVyY2hhc2VyKSB9CiAgICAgICAgICwgbV90aW1lT2ZBZENsaWNrIHsgdGltZU9m
QWRDbGljayB9CiAgICAgICAgICwgbV9pc0VwaGVtZXJhbCB7IGlzRXBoZW1lcmFsIH0KICAgICAg
ICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQgeyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlEIH0KQEAgLTM0MiwxMCArMzMwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXR0cmlidXRp
b24oQXR0cmlidXRpb25UcmlnZ2VyRGF0YSYmIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEpIHsgbV9h
dHRyaWJ1dGlvblRyaWdnZXJEYXRhID0gV1RGTW92ZShhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKTsg
fQogICAgIGNvbnN0IFN0cmluZyYgc291cmNlQXBwbGljYXRpb25CdW5kbGVJRCgpIGNvbnN0IHsg
cmV0dXJuIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJRDsgfQogCi0gICAgY29uc3QgU3RyaW5n
JiBzb3VyY2VEZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlRGVzY3JpcHRpb247
IH0KLSAgICBjb25zdCBTdHJpbmcmIHB1cmNoYXNlcigpIGNvbnN0IHsgcmV0dXJuIG1fcHVyY2hh
c2VyOyB9Ci0gICAgYm9vbCBpc0VwaGVtZXJhbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNFcGhlbWVy
YWwgPT0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzOyB9
Ci0gICAgdm9pZCBzZXRFcGhlbWVyYWwoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlv
bkVwaGVtZXJhbCBpc0VwaGVtZXJhbCkgeyBtX2lzRXBoZW1lcmFsID0gaXNFcGhlbWVyYWw7IH0K
KyAgICBib29sIGlzRXBoZW1lcmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc0VwaGVtZXJhbCA9PSBB
dHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzOyB9CisgICAgdm9pZCBzZXRFcGhlbWVyYWwoQXR0cmli
dXRpb25FcGhlbWVyYWwgaXNFcGhlbWVyYWwpIHsgbV9pc0VwaGVtZXJhbCA9IGlzRXBoZW1lcmFs
OyB9CiAKICAgICAvLyBNQVJLOiAtIEZyYXVkIFByZXZlbnRpb24KICAgICBXRUJDT1JFX0VYUE9S
VCBVUkwgdG9rZW5QdWJsaWNLZXlVUkwoKSBjb25zdDsKQEAgLTM5NywxMCArMzgzLDggQEAgcHJp
dmF0ZToKICAgICBTb3VyY2VJRCBtX3NvdXJjZUlEOwogICAgIFNvdXJjZVNpdGUgbV9zb3VyY2VT
aXRlOwogICAgIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIG1fZGVzdGluYXRpb25TaXRlOwot
ICAgIFN0cmluZyBtX3NvdXJjZURlc2NyaXB0aW9uOwotICAgIFN0cmluZyBtX3B1cmNoYXNlcjsK
ICAgICBXYWxsVGltZSBtX3RpbWVPZkFkQ2xpY2s7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvbkVwaGVtZXJhbCBtX2lzRXBoZW1lcmFsOworICAgIEF0dHJpYnV0aW9uRXBo
ZW1lcmFsIG1faXNFcGhlbWVyYWw7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEF0dHJpYnV0aW9uVHJp
Z2dlckRhdGE+IG1fYXR0cmlidXRpb25UcmlnZ2VyRGF0YTsKICAgICBBdHRyaWJ1dGlvblRpbWVU
b1NlbmREYXRhIG1fdGltZXNUb1NlbmQ7CkBAIC00MjgsOCArNDEyLDYgQEAgdm9pZCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5j
b2RlciA8PCBtX3NvdXJjZUlELmlkCiAgICAgICAgIDw8IG1fc291cmNlU2l0ZS5yZWdpc3RyYWJs
ZURvbWFpbgogICAgICAgICA8PCBtX2Rlc3RpbmF0aW9uU2l0ZS5yZWdpc3RyYWJsZURvbWFpbgot
ICAgICAgICA8PCBtX3NvdXJjZURlc2NyaXB0aW9uCi0gICAgICAgIDw8IG1fcHVyY2hhc2VyCiAg
ICAgICAgIDw8IG1fdGltZU9mQWRDbGljawogICAgICAgICA8PCBtX2VwaGVtZXJhbFNvdXJjZU5v
bmNlCiAgICAgICAgIDw8IG1faXNFcGhlbWVyYWwKQEAgLTQ0MSw3ICs0MjMsNyBAQCB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVt
ZW50PiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiB7
Ci0gICAgc3RkOjpvcHRpb25hbDx1aW50MzJfdD4gc291cmNlSUQ7CisgICAgc3RkOjpvcHRpb25h
bDx1aW50OF90PiBzb3VyY2VJRDsKICAgICBkZWNvZGVyID4+IHNvdXJjZUlEOwogICAgIGlmICgh
c291cmNlSUQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC00NTYsMTYgKzQzOCw2
IEBAIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpkZWNvZGUoRGVjb2RlciYKICAgICBpZiAoIWRlc3RpbmF0aW9uUmVnaXN0cmFi
bGVEb21haW4pCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCi0gICAgc3RkOjpv
cHRpb25hbDxTdHJpbmc+IHNvdXJjZURlc2NyaXB0aW9uOwotICAgIGRlY29kZXIgPj4gc291cmNl
RGVzY3JpcHRpb247Ci0gICAgaWYgKCFzb3VyY2VEZXNjcmlwdGlvbikKLSAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKLSAgICAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gcHVyY2hhc2Vy
OwotICAgIGRlY29kZXIgPj4gcHVyY2hhc2VyOwotICAgIGlmICghcHVyY2hhc2VyKQotICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIAogICAgIHN0ZDo6b3B0aW9uYWw8V2FsbFRpbWU+
IHRpbWVPZkFkQ2xpY2s7CiAgICAgZGVjb2RlciA+PiB0aW1lT2ZBZENsaWNrOwogICAgIGlmICgh
dGltZU9mQWRDbGljaykKQEAgLTQ3Niw3ICs0NDgsNyBAQCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVD
bGlja01lYXN1cmVtZW50PiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6ZGVjb2RlKERlY29kZXIm
CiAgICAgaWYgKCFlcGhlbWVyYWxTb3VyY2VOb25jZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIAotICAgIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1
dGlvbkVwaGVtZXJhbD4gaXNFcGhlbWVyYWw7CisgICAgc3RkOjpvcHRpb25hbDxBdHRyaWJ1dGlv
bkVwaGVtZXJhbD4gaXNFcGhlbWVyYWw7CiAgICAgZGVjb2RlciA+PiBpc0VwaGVtZXJhbDsKICAg
ICBpZiAoIWlzRXBoZW1lcmFsKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNTAx
LDggKzQ3Myw2IEBAIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ+IFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpkZWNvZGUoRGVjb2RlciYKICAgICAgICAgU291cmNlU2l0ZSB7
IFdURk1vdmUoKnNvdXJjZVJlZ2lzdHJhYmxlRG9tYWluKSB9LAogICAgICAgICBBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZSB7IFdURk1vdmUoKmRlc3RpbmF0aW9uUmVnaXN0cmFibGVEb21haW4p
IH0sCiAgICAgICAgIFdURk1vdmUoKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQpLAotICAgICAg
ICBXVEZNb3ZlKCpzb3VyY2VEZXNjcmlwdGlvbiksCi0gICAgICAgIFdURk1vdmUoKnB1cmNoYXNl
ciksCiAgICAgICAgIFdURk1vdmUoKnRpbWVPZkFkQ2xpY2spLAogICAgICAgICBXVEZNb3ZlKCpp
c0VwaGVtZXJhbCkKICAgICB9OwpAQCAtNTM5LDcgKzUwOSw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YT4gUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQog
ewotICAgIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+IGRhdGE7CisgICAgc3RkOjpvcHRpb25hbDx1
aW50OF90PiBkYXRhOwogICAgIGRlY29kZXIgPj4gZGF0YTsKICAgICBpZiAoIWRhdGEpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC01NjQsNyArNTM0LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZT4gOiBXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZUhhc2ggeyB9OwogdGVtcGxh
dGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
U291cmNlU2l0ZT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6U291cmNlU2l0ZT4gewotICAgIHN0YXRpYyBXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlU2l0ZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CisgICAg
c3RhdGljIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIGVtcHR5
VmFsdWUoKSB7IHJldHVybiBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
U2l0ZShXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbigpKTsgfQogICAgIHN0YXRpYyB2b2lkIGNv
bnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZSYgc2xvdCkgeyBuZXcgKE5vdE51bGwsICZzbG90LnJlZ2lzdHJhYmxlRG9tYWluKSBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbihXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSk7IH0K
ICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSYgc2xvdCkgeyByZXR1cm4gc2xvdC5yZWdpc3RyYWJs
ZURvbWFpbi5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAppbmRleCAyNjNkY2Mz
NjFiYmQ3MDNkMzJmYzA3MGNhM2VmZWQyNjBmMDQ3N2YzLi4xMmNjZDYzYzhjZTdiYzkwN2E4OGQw
YjI5YTBmM2RmYTU5ODhiOWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIFdlYkNvcmU6OlBy
aXZhdGVDbGlja01lYXN1cmVtZW50IERhdGFiYXNlVXRpbGl0aWVzOjpidWlsZFByaXZhdGVDbGlj
a01lYXN1cmVtZW50CiAgICAgaWYgKGJ1bmRsZUlELmlzRW1wdHkoKSkKICAgICAgICAgYnVuZGxl
SUQgPSBzYWZhcmlCdW5kbGVJRDsKIAotICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVt
ZW50IGF0dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJ
RChzb3VyY2VJRCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRl
KFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tUmVnaXN0cmFi
bGVEb21haW5TdHJpbmcoc291cmNlU2l0ZURvbWFpbikpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW46OnVuY2hlY2tlZENyZWF0ZUZyb21SZWdpc3RyYWJsZURvbWFpblN0cmluZyhkZXN0
aW5hdGlvblNpdGVEb21haW4pKSwgYnVuZGxlSUQsIHsgfSwgeyB9LCBXYWxsVGltZTo6ZnJvbVJh
d1NlY29uZHModGltZU9mQWRDbGljaykpOworICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50IGF0dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3Vy
Y2VJRChzb3VyY2VJRCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VT
aXRlKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNrZWRDcmVhdGVGcm9tUmVnaXN0
cmFibGVEb21haW5TdHJpbmcoc291cmNlU2l0ZURvbWFpbikpLCBXZWJDb3JlOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW46OnVuY2hlY2tlZENyZWF0ZUZyb21SZWdpc3RyYWJsZURvbWFpblN0cmluZyhk
ZXN0aW5hdGlvblNpdGVEb21haW4pKSwgYnVuZGxlSUQsIFdhbGxUaW1lOjpmcm9tUmF3U2Vjb25k
cyh0aW1lT2ZBZENsaWNrKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJp
YnV0aW9uRXBoZW1lcmFsOjpObyk7CiAKICAgICBpZiAoYXR0cmlidXRpb25UeXBlID09IFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpBdHRyaWJ1dGVkKSB7CiAgICAgICAg
IGF1dG8gYXR0cmlidXRpb25UcmlnZ2VyRGF0YSA9IHN0YXRlbWVudC5jb2x1bW5JbnQoMyk7CkBA
IC0xNjcsNyArMTY3LDcgQEAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgRGF0YWJh
c2VVdGlsaXRpZXM6OmJ1aWxkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQKICAgICAgICAgYXV0byBk
ZXN0aW5hdGlvbkVhcmxpZXN0VGltZVRvU2VuZFZhbHVlID0gc3RhdGVtZW50LmNvbHVtbkRvdWJs
ZSgxMCk7CiAKICAgICAgICAgaWYgKGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgIT0gLTEpCi0gICAg
ICAgICAgICBhdHRyaWJ1dGlvbi5zZXRBdHRyaWJ1dGlvbihXZWJDb3JlOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YSB7IHN0YXRpY19jYXN0PHVpbnQzMl90
PihhdHRyaWJ1dGlvblRyaWdnZXJEYXRhKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OlByaW9yaXR5KHByaW9yaXR5KSB9KTsKKyAgICAgICAgICAgIGF0dHJpYnV0aW9uLnNldEF0
dHJpYnV0aW9uKFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRy
aWdnZXJEYXRhIHsgc3RhdGljX2Nhc3Q8dWludDhfdD4oYXR0cmlidXRpb25UcmlnZ2VyRGF0YSks
IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlvcml0eShwcmlvcml0eSkgfSk7
CiAKICAgICAgICAgc3RkOjpvcHRpb25hbDxXYWxsVGltZT4gc291cmNlRWFybGllc3RUaW1lVG9T
ZW5kOwogICAgICAgICBzdGQ6Om9wdGlvbmFsPFdhbGxUaW1lPiBkZXN0aW5hdGlvbkVhcmxpZXN0
VGltZVRvU2VuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBmNDk5ODM5OGU4YzFiM2JkMjI4
ZWNhZTY0MjRlNmE1NjBiOTVhOGI5Li40ZTRjOTRlZGVhZDM0ZTQwZmRkNjM1MzIyODBmMjdjMjdi
N2ZhYzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCkBAIC0yMTcsNyArMjE3LDcgQEAgdm9pZCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQ
cml2YXRlQ2xpY2tNZWFzdXIKIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpp
bnNlcnRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIG1l
YXN1cmVtZW50LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZSB0eXBlKQog
ewogICAgIGlmIChtX2lzUnVubmluZ0VwaGVtZXJhbE1lYXN1cmVtZW50VGVzdCkKLSAgICAgICAg
bWVhc3VyZW1lbnQuc2V0RXBoZW1lcmFsKFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25FcGhlbWVyYWw6Olllcyk7CisgICAgICAgIG1lYXN1cmVtZW50LnNldEVwaGVtZXJhbChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Olllcyk7CiAgICAgaWYg
KG1lYXN1cmVtZW50LmlzRXBoZW1lcmFsKCkpIHsKICAgICAgICAgbV9lcGhlbWVyYWxNZWFzdXJl
bWVudCA9IFdURk1vdmUobWVhc3VyZW1lbnQpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tCmlu
ZGV4IDY4YzQ0MTE0OWVhNDZhNDRkMTI4ODgyZDdmZWEyYTg4NDk1MmViYzQuLmRmY2I2ZmEyZDU1
Mjg4YWQ2N2Y3NWM5ODRlNDJkZGQ3ZGZiMDZlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tCkBAIC02MiwxMyArNjIs
MTMgQEAKICAgICAgICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNp
dGUocmVwb3J0RW5kcG9pbnQpLAogICAgICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoZGVzdGluYXRpb24pLAogICAgICAgICBi
dW5kbGVJRCwKLSAgICAgICAgc291cmNlRGVzY3JpcHRpb24sCi0gICAgICAgIHB1cmNoYXNlcgor
ICAgICAgICBXYWxsVGltZTo6bm93KCksCisgICAgICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8KICAgICApOwogICAgIGlmIChub25j
ZSkKICAgICAgICAgbWVhc3VyZW1lbnQuc2V0RXBoZW1lcmFsU291cmNlTm9uY2UoeyBub25jZSB9
KTsKIAotICAgIF9wYWdlLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKG1lYXN1
cmVtZW50KSk7CisgICAgX3BhZ2UtPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KHt7IFdURk1v
dmUobWVhc3VyZW1lbnQpLCB7IH0sIHsgfX19KTsKIH0KIAogLSAodm9pZClfc2V0UGFnZVNjYWxl
OihDR0Zsb2F0KXNjYWxlIHdpdGhPcmlnaW46KENHUG9pbnQpb3JpZ2luCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IGQxZGFjYjAxZDg2
YjI4MWJiNWRlOTJkZjhmOTQwODc4MDhmYzc5YTMuLjI4NjZjNThiMmU3NWViNzBiOWQwZWY3MzNh
M2RhZmNhYWY4MWI0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9p
b3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3Mv
V0tXZWJWaWV3SU9TLm1tCkBAIC0yNjMzLDEwICsyNjMzLDEwIEBAIHN0YXRpYyBXZWJDb3JlOjpV
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHRvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bihVSVNlCiAgICAgICAgICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291
cmNlU2l0ZShhdHRyaWJ1dGlvbi5yZXBvcnRFbmRwb2ludCksCiAgICAgICAgICAgICBXZWJDb3Jl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoYXR0
cmlidXRpb24uZGVzdGluYXRpb25VUkwpLAogICAgICAgICAgICAgV2ViQ29yZTo6YXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyKCksCi0gICAgICAgICAgICBhdHRyaWJ1dGlvbi5zb3VyY2VEZXNj
cmlwdGlvbiwKLSAgICAgICAgICAgIGF0dHJpYnV0aW9uLnB1cmNoYXNlcgorICAgICAgICAgICAg
V2FsbFRpbWU6Om5vdygpLAorICAgICAgICAgICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObwogICAgICAgICApOwotICAgICAgICBfcGFn
ZS0+c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCkpOworICAg
ICAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoe3sgV1RGTW92ZShtZWFzdXJl
bWVudCksIGF0dHJpYnV0aW9uLnNvdXJjZURlc2NyaXB0aW9uLCBhdHRyaWJ1dGlvbi5wdXJjaGFz
ZXIgfX0pOwogICAgIH0gZWxzZQogICAgICAgICBfcGFnZS0+c2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoc3RkOjpudWxsb3B0KTsKICNlbmRpZgpAQCAtMjY0NiwxMSArMjY0NiwxMSBAQCBzdGF0
aWMgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1VzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24oVUlTZQogewogI2lmIEhBVkUoVUlfRVZFTlRfQVRUUklCVVRJT04pCiAg
ICAgYXV0byYgbWVhc3VyZW1lbnQgPSBfcGFnZS0+cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKTsK
LSAgICBpZiAoIW1lYXN1cmVtZW50IHx8ICFtZWFzdXJlbWVudC0+c291cmNlSUQoKS5pc1ZhbGlk
KCkpCisgICAgaWYgKCFtZWFzdXJlbWVudCkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1
dG8gZGVzdGluYXRpb25VUkwgPSBVUkwoVVJMKCksIG1ha2VTdHJpbmcoImh0dHBzOi8vIiwgbWVh
c3VyZW1lbnQtPmRlc3RpbmF0aW9uU2l0ZSgpLnJlZ2lzdHJhYmxlRG9tYWluLnN0cmluZygpKSk7
Ci0gICAgcmV0dXJuIGFkb3B0TlMoW1tVSUV2ZW50QXR0cmlidXRpb24gYWxsb2NdIGluaXRXaXRo
U291cmNlSWRlbnRpZmllcjptZWFzdXJlbWVudC0+c291cmNlSUQoKS5pZCBkZXN0aW5hdGlvblVS
TDpkZXN0aW5hdGlvblVSTCBzb3VyY2VEZXNjcmlwdGlvbjptZWFzdXJlbWVudC0+c291cmNlRGVz
Y3JpcHRpb24oKSBwdXJjaGFzZXI6bWVhc3VyZW1lbnQtPnB1cmNoYXNlcigpXSkuYXV0b3JlbGVh
c2UoKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9uVVJMID0gVVJMKFVSTCgpLCBtYWtlU3RyaW5nKCJo
dHRwczovLyIsIG1lYXN1cmVtZW50LT5wY20uZGVzdGluYXRpb25TaXRlKCkucmVnaXN0cmFibGVE
b21haW4uc3RyaW5nKCkpKTsKKyAgICByZXR1cm4gYWRvcHROUyhbW1VJRXZlbnRBdHRyaWJ1dGlv
biBhbGxvY10gaW5pdFdpdGhTb3VyY2VJZGVudGlmaWVyOm1lYXN1cmVtZW50LT5wY20uc291cmNl
SUQoKS5pZCBkZXN0aW5hdGlvblVSTDpkZXN0aW5hdGlvblVSTCBzb3VyY2VEZXNjcmlwdGlvbjpt
ZWFzdXJlbWVudC0+c291cmNlRGVzY3JpcHRpb24gcHVyY2hhc2VyOm1lYXN1cmVtZW50LT5wdXJj
aGFzZXJdKS5hdXRvcmVsZWFzZSgpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCkBA
IC0yNjcxLDEyICsyNjcxLDEwIEBAIHN0YXRpYyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uIHRvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihVSVNlCiAgICAgICAgICAg
ICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShhdHRyaWJ1dGlv
bi5yZXBvcnRFbmRwb2ludCksCiAgICAgICAgICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUoYXR0cmlidXRpb24uZGVzdGluYXRp
b25VUkwpLAogICAgICAgICAgICAgYnVuZGxlSUQsCi0gICAgICAgICAgICBhdHRyaWJ1dGlvbi5z
b3VyY2VEZXNjcmlwdGlvbiwKLSAgICAgICAgICAgIGF0dHJpYnV0aW9uLnB1cmNoYXNlciwKICAg
ICAgICAgICAgIFdhbGxUaW1lOjpub3coKSwKLSAgICAgICAgICAgIFdlYkNvcmU6OlByaXZhdGVD
bGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6OlllcworICAgICAgICAgICAgV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMK
ICAgICAgICAgKTsKLSAgICAgICAgX3BhZ2UtPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdU
Rk1vdmUobWVhc3VyZW1lbnQpKTsKKyAgICAgICAgX3BhZ2UtPnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50KHt7IFdURk1vdmUobWVhc3VyZW1lbnQpLCBhdHRyaWJ1dGlvbi5zb3VyY2VEZXNjcmlw
dGlvbiwgYXR0cmlidXRpb24ucHVyY2hhc2VyIH19KTsKICAgICB9IGVsc2UKICAgICAgICAgX3Bh
Z2UtPnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KHN0ZDo6bnVsbG9wdCk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGI3ZWMyZWNlNTJjN2U2
NDk4ZjA5NThjNmEyYjJjZDJiZDQ3ZTFkZGMuLjg1ZjMxZjc4OGQwZTU1NzEzM2NkZWUyNGVkMDIy
YzI5ZTAyZjllYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtNDkyNyw3ICs0OTI3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JG
cmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJbmZvRGF0YSYKICAgICBpZiAoZnJh
bWUtPmlzTWFpbkZyYW1lKCkpIHsKICAgICAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudD4gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CiAgICAgICAgIGlm
IChtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50KQotICAgICAgICAgICAgcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQgPSBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50OworICAgICAgICAgICAgcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQgPSBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50LT5wY207CiAgICAg
ICAgIGVsc2UgaWYgKG5hdmlnYXRpb24gJiYgbmF2aWdhdGlvbi0+cHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoKSkKICAgICAgICAgICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gbmF2aWdhdGlv
bi0+cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKTsKICAgICAgICAgaWYgKHByaXZhdGVDbGlja01l
YXN1cmVtZW50KSB7CkBAIC01ODQ3LDcgKzU4NDcsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y3Jl
YXRlTmV3UGFnZShGcmFtZUluZm9EYXRhJiYgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBXZWJQ
YQogCiAgICAgICAgIG5ld1BhZ2UtPm1fc2hvdWxkU3VwcHJlc3NBcHBMaW5rc0luTmV4dE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvbiA9IG1haW5GcmFtZVVSTC5ob3N0KCkgPT0gcmVxdWVzdC51cmwo
KS5ob3N0KCk7CiAKLSAgICAgICAgbmV3UGFnZS0+bV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9
IHByaXZhdGVDbGlja01lYXN1cmVtZW50OworICAgICAgICBpZiAocHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQpCisgICAgICAgICAgICBuZXdQYWdlLT5tX3ByaXZhdGVDbGlja01lYXN1cmVtZW50ID0g
e3sgV1RGTW92ZSgqcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpLCB7IH0sIHsgfX19OwogI2lmIEhB
VkUoQVBQX1NTTykKICAgICAgICAgbmV3UGFnZS0+bV9zaG91bGRTdXBwcmVzc1NPQXV0aG9yaXph
dGlvbkluTmV4dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiA9IHRydWU7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZjJkZmIwNTEwODZkYmYwOGI1N2Y5
YzU5OTEzN2M2YWJiMWFlMjg1YS4uOWY0ZjBlMjFiZWUzYmI2NDI3YTFlOTY5ZmE0NjFkMzZhMzc5
MGYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTcxNiw4ICs3
MTYsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVsZWdhdGVzU2Nyb2xsaW5nKGJvb2wgZGVs
ZWdhdGVzU2Nyb2xsaW5nKSB7IG1fZGVsZWdhdGVzU2Nyb2xsaW5nID0gZGVsZWdhdGVzU2Nyb2xs
aW5nOyB9CiAgICAgYm9vbCBkZWxlZ2F0ZXNTY3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBtX2Rl
bGVnYXRlc1Njcm9sbGluZzsgfQogCi0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50PiYmIG1lYXN1
cmVtZW50KSB7IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBXVEZNb3ZlKG1lYXN1cmVtZW50
KTsgfQotICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ+JiBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ7IH0KKyAgICBzdHJ1Y3QgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRB
bmRNZXRhZGF0YSB7CisgICAgICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50IHBj
bTsKKyAgICAgICAgU3RyaW5nIHNvdXJjZURlc2NyaXB0aW9uOworICAgICAgICBTdHJpbmcgcHVy
Y2hhc2VyOworICAgIH07CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChzdGQ6
Om9wdGlvbmFsPFByaXZhdGVDbGlja01lYXN1cmVtZW50QW5kTWV0YWRhdGE+JiYgbWVhc3VyZW1l
bnQpIHsgbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IFdURk1vdmUobWVhc3VyZW1lbnQpOyB9
CisgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFuZE1ldGFk
YXRhPiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGVD
bGlja01lYXN1cmVtZW50OyB9CiAKICAgICBlbnVtIGNsYXNzIEFjdGl2aXR5U3RhdGVDaGFuZ2VE
aXNwYXRjaE1vZGUgOiBib29sIHsgRGVmZXJyYWJsZSwgSW1tZWRpYXRlIH07CiAgICAgZW51bSBj
bGFzcyBBY3Rpdml0eVN0YXRlQ2hhbmdlUmVwbHlNb2RlIDogYm9vbCB7IEFzeW5jaHJvbm91cywg
U3luY2hyb25vdXMgfTsKQEAgLTMwODYsNyArMzA5MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2lzUnVubmluZ01vZGFsSmF2YVNjcmlwdERpYWxvZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
U3VzcGVuZGVkIHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CisgICAgc3RkOjpv
cHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFuZE1ldGFkYXRhPiBtX3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50OwogCiAjaWYgRU5BQkxFKFdFQlhSKSAmJiAhVVNFKE9QRU5YUikKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1YUlN5c3RlbT4gbV94clN5c3RlbTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMzQ0MTkzZmEwMGEyNDAy
ODg1NTVjMTFkNDQwYmVhNzA2ZWFkYWI3Li41OWQwNjQyNDg4NzgxZGU0MGFlMWY5ZTczZWY0ZDg0
M2VkZTAwZTY1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDktMjkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBDbGVhbiB1cCBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMwOTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SSByZW1vdmVkIHRoZSBJbnZhbGlkU291cmNlSUQgdGVzdCBiZWNhdXNlIGl0IGlzIG5vdyBpbXBv
c3NpYmxlIHRvIG1ha2UgYW4gaW52YWxpZCBzb3VyY2UgSUQKKyAgICAgICAgYmVjYXVzZSBpdCB1
c2VzIGEgdWludDhfdCBhbmQgYWxsb3dzIHRoZSB2YWx1ZXMgMC0yNTUuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisKIDIwMjEtMDktMjggIEJKIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvY29hXSBBZGQgU1BJIHRvIHNlbGVjdCBhIHRhYiBjcmVhdGVkIGJ5IF9XS0lu
c3BlY3RvckV4dGVuc2lvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAKaW5kZXggMGU1YTZlMjJi
YmMzYTZmMTNmZTM1NTdlNDRlZjE1ZWZiOTY5ZmJiYS4uYzE1MmNjNjZkNWI1ZWVhODJjNTAyYTVk
N2E2MTY4OTQ3MGQzNjdhYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwCkBAIC00NCw3ICs0
NCw3IEBAIGNvbnN0IFVSTCBlbXB0eVVSTCB7IH07CiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsIFdlbGxLbm93blVSTHMpCiB7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0
cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQobWluNkJpdFZhbHVl
KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhhbXBs
ZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRCht
aW42Qml0VmFsdWUpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktp
dFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5v
dygpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVy
YWw6Ok5vIH07CiAgICAgYXR0cmlidXRpb24uYXR0cmlidXRlQW5kR2V0RWFybGllc3RUaW1lVG9T
ZW5kKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKG1pbjZC
aXRWYWx1ZSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KG1pbjZCaXRWYWx1ZSkp
KTsKIAogICAgIGF1dG8gYXR0cmlidXRpb25Tb3VyY2VVUkwgPSBhdHRyaWJ1dGlvbi5hdHRyaWJ1
dGlvblJlcG9ydFNvdXJjZVVSTCgpOwpAQCAtNTUsNyArNTUsNyBAQCBURVNUKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LCBXZWxsS25vd25VUkxzKQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50LCBWYWxpZE1pblZhbHVlcykKIHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRy
aWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChtaW42Qml0VmFsdWUp
LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxl
VVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZhdGVDbGlja01lYXN1
cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKG1p
bjZCaXRWYWx1ZSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0
VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0
ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBXYWxsVGltZTo6bm93
KCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJh
bDo6Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1Nl
bmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEobWluNkJp
dFZhbHVlLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkobWluNkJpdFZhbHVlKSkp
OwogCiAgICAgQVNTRVJUX0VRKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0SlNPTigpLT50
b0pTT05TdHJpbmcoKSwgIntcInNvdXJjZV9lbmdhZ2VtZW50X3R5cGVcIjpcImNsaWNrXCIsXCJz
b3VyY2Vfc2l0ZVwiOlwid2Via2l0Lm9yZ1wiLFwic291cmNlX2lkXCI6MCxcImF0dHJpYnV0ZWRf
b25fc2l0ZVwiOlwiZXhhbXBsZS5jb21cIixcInRyaWdnZXJfZGF0YVwiOjAsXCJ2ZXJzaW9uXCI6
Mn0iKTsKQEAgLTYzLDcgKzYzLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgVmFs
aWRNaW5WYWx1ZXMpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkTWlkVmFs
dWVzKQogewotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKCh1aW50MzJfdCkxOTIpLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1
bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0
aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKCh1aW50MzJfdCkxOTIpLCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJM
IH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CiAgICAg
YXR0cmlidXRpb24uYXR0cmlidXRlQW5kR2V0RWFybGllc3RUaW1lVG9TZW5kKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKCh1aW50MzJfdCk5LCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkoKHVpbnQzMl90KTIyKSkpOwogCiAgICAgQVNTRVJU
X0VRKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0SlNPTigpLT50b0pTT05TdHJpbmcoKSwg
IntcInNvdXJjZV9lbmdhZ2VtZW50X3R5cGVcIjpcImNsaWNrXCIsXCJzb3VyY2Vfc2l0ZVwiOlwi
d2Via2l0Lm9yZ1wiLFwic291cmNlX2lkXCI6MTkyLFwiYXR0cmlidXRlZF9vbl9zaXRlXCI6XCJl
eGFtcGxlLmNvbVwiLFwidHJpZ2dlcl9kYXRhXCI6OSxcInZlcnNpb25cIjoyfSIpOwpAQCAtNzEs
NyArNzEsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBWYWxpZE1pZFZhbHVlcykK
IAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgVmFsaWRNYXhWYWx1ZXMpCiB7Ci0gICAg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRy
b3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhh
bXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKKyAgICBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJ
RChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktpdFVSTCB9LCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNpdGUgeyBleGFtcGxlVVJMIH0sICJ0
ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVyYWw6Ok5vIH07CiAgICAgYXR0cmli
dXRpb24uYXR0cmlidXRlQW5kR2V0RWFybGllc3RUaW1lVG9TZW5kKFByaXZhdGVDbGlja01lYXN1
cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpB
dHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpNYXhFbnRyb3B5LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6UHJpb3JpdHkoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5OjpNYXhFbnRyb3B5
KSkpOwogCiAgICAgQVNTRVJUX0VRKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0SlNPTigp
LT50b0pTT05TdHJpbmcoKSwgIntcInNvdXJjZV9lbmdhZ2VtZW50X3R5cGVcIjpcImNsaWNrXCIs
XCJzb3VyY2Vfc2l0ZVwiOlwid2Via2l0Lm9yZ1wiLFwic291cmNlX2lkXCI6MjU1LFwiYXR0cmli
dXRlZF9vbl9zaXRlXCI6XCJleGFtcGxlLmNvbVwiLFwidHJpZ2dlcl9kYXRhXCI6MTUsXCJ2ZXJz
aW9uXCI6Mn0iKTsKQEAgLTc5LDcgKzc5LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCwgVmFsaWRNYXhWYWx1ZXMpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEVhcmxp
ZXN0VGltZVRvU2VuZEF0dHJpYnV0aW9uTWluaW11bURlbGF5KQogewotICAgIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJj
ZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSwg
InRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07CisgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQg
YXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUu
aWRlbnRpZmllciIsIFdhbGxUaW1lOjpub3coKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OwogICAgIGF1dG8gbm93ID0gV2FsbFRp
bWU6Om5vdygpOwogICAgIGF0dHJpYnV0aW9uLmF0dHJpYnV0ZUFuZEdldEVhcmxpZXN0VGltZVRv
U2VuZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YShQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlByaW9yaXR5KFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpQcmlvcml0eTo6TWF4RW50cm9weSkpKTsKICAgICBhdXRvIGVhcmxpZXN0VGltZVRvU2VuZCA9
IGF0dHJpYnV0aW9uLnRpbWVzVG9TZW5kKCk7CkBAIC0xMzIsMTggKzEzMiw5IEBAIFRFU1QoUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkU291cmNlTm9uY2UpCiAKIC8vIE5lZ2F0aXZlIHRl
c3QgY2FzZXMuCiAKLVRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWRTb3VyY2VJ
RCkKLXsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVD
bGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNl
SUQ6Ok1heEVudHJvcHkgKyAxKSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUg
eyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGlu
YXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKLSAg
ICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpQcmlvcml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1h
eEVudHJvcHkpKSk7Ci0KLSAgICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJl
cG9ydFNvdXJjZVVSTCgpLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYXR0cmlidXRpb24u
YXR0cmlidXRpb25SZXBvcnRBdHRyaWJ1dGVPblVSTCgpLmlzRW1wdHkoKSk7Ci19Ci0KIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWRTb3VyY2VIb3N0KQogewotICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSks
IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgZW1wdHlVUkwgfSwgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhhbXBsZVVS
TCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIgfTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IGVtcHR5VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVVUkwgfSwgInRlc3QuYnVu
ZGxlLmlkZW50aWZpZXIiLCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8gfTsKICAgICBhdHRyaWJ1dGlvbi5h
dHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0
aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpQcmlv
cml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1heEVudHJvcHkpKSk7CiAK
ICAgICBBU1NFUlRfVFJVRShhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgp
LmlzRW1wdHkoKSk7CkBAIC0xNTIsNyArMTQzLDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgSW52YWxpZFNvdXJjZUhvc3QpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQs
IEludmFsaWREZXN0aW5hdGlvbkhvc3QpCiB7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQg
YXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5ICsgMSksIFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGVtcHR5VVJMIH0sICJ0ZXN0LmJ1bmRs
ZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9u
IHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSksIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3Vy
Y2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
bkRlc3RpbmF0aW9uU2l0ZSB7IGVtcHR5VVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwg
V2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmli
dXRpb25FcGhlbWVyYWw6Ok5vIH07CiAgICAgYXR0cmlidXRpb24uYXR0cmlidXRlQW5kR2V0RWFy
bGllc3RUaW1lVG9TZW5kKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdn
ZXJEYXRhKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhOjpN
YXhFbnRyb3B5LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OlByaW9yaXR5OjpNYXhFbnRyb3B5KSkpOwogCiAgICAgQVNTRVJUX1RSVUUo
YXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRTb3VyY2VVUkwoKS5pc0VtcHR5KCkpOwpAQCAt
MTYxLDcgKzE1Miw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWREZXN0
aW5hdGlvbkhvc3QpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEF0dHJpYnV0aW9u
VHJpZ2dlckRhdGEpCiB7Ci0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgYXR0cmlidXRpb24g
eyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJj
ZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9u
RGVzdGluYXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9LCAidGVzdC5idW5kbGUuaWRlbnRpZmllciIg
fTsKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6
Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktp
dFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiwgV2FsbFRpbWU6Om5v
dygpLCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVy
YWw6Ok5vIH07CiAgICAgYXR0cmlidXRpb24uYXR0cmlidXRlQW5kR2V0RWFybGllc3RUaW1lVG9T
ZW5kKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvblRyaWdnZXJEYXRhKChQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTo6TWF4RW50cm9weSAr
IDEpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHkoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OlByaW9yaXR5OjpNYXhFbnRyb3B5KSkpOwogCiAgICAgQVNTRVJUX1RSVUUoYXR0cmli
dXRpb24uYXR0cmlidXRpb25SZXBvcnRTb3VyY2VVUkwoKS5pc0VtcHR5KCkpOwpAQCAtMTcwLDcg
KzE2MSw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEF0dHJpYnV0aW9uVHJpZ2dl
ckRhdGEpCiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWRQcmlvcml0eSkK
IHsKLSAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBhdHRyaWJ1dGlvbiB7IFByaXZhdGVDbGlj
a01lYXN1cmVtZW50OjpTb3VyY2VJRChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQ6
Ok1heEVudHJvcHkpLCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZSB7IHdlYktp
dFVSTCB9LCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25EZXN0aW5hdGlvblNp
dGUgeyBleGFtcGxlVVJMIH0sICJ0ZXN0LmJ1bmRsZS5pZGVudGlmaWVyIiB9OworICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSks
IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVV
UkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiLCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6
OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6Tm8gfTsKICAg
ICBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGVBbmRHZXRFYXJsaWVzdFRpbWVUb1NlbmQoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGEoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uVHJpZ2dlckRhdGE6Ok1heEVudHJvcHksIFByaXZhdGVDbGlja01l
YXN1cmVtZW50OjpQcmlvcml0eShQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6UHJpb3JpdHk6Ok1h
eEVudHJvcHkgKyAxKSkpOwogCiAgICAgQVNTRVJUX1RSVUUoYXR0cmlidXRpb24uYXR0cmlidXRp
b25SZXBvcnRTb3VyY2VVUkwoKS5pc0VtcHR5KCkpOwpAQCAtMTc5LDcgKzE3MCw3IEBAIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIEludmFsaWRQcmlvcml0eSkKIAogVEVTVChQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgSW52YWxpZE1pc3NpbmdDb252ZXJzaW9uKQogewotICAgIFByaXZh
dGVDbGlja01lYXN1cmVtZW50IGF0dHJpYnV0aW9uIHsgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OlNvdXJjZUlEKFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRDo6TWF4RW50cm9weSks
IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlIHsgd2ViS2l0VVJMIH0sIFByaXZh
dGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9uU2l0ZSB7IGV4YW1wbGVV
UkwgfSwgInRlc3QuYnVuZGxlLmlkZW50aWZpZXIiIH07CisgICAgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQgYXR0cmlidXRpb24geyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlSUQoUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEOjpNYXhFbnRyb3B5KSwgUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGUgeyB3ZWJLaXRVUkwgfSwgUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZXhhbXBsZVVSTCB9LCAidGVzdC5i
dW5kbGUuaWRlbnRpZmllciIsIFdhbGxUaW1lOjpub3coKSwgV2ViQ29yZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRXBoZW1lcmFsOjpObyB9OwogCiAgICAgQVNTRVJUX1RS
VUUoYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRTb3VyY2VVUkwoKS5pc0VtcHR5KCkpOwog
ICAgIEFTU0VSVF9UUlVFKGF0dHJpYnV0aW9uLmF0dHJpYnV0aW9uUmVwb3J0QXR0cmlidXRlT25V
UkwoKS5pc0VtcHR5KCkpOwpAQCAtMzEyLDcgKzMwMywxNCBAQCBURVNUKFByaXZhdGVDbGlja01l
YXN1cmVtZW50LCBJbnZhbGlkQmxpbmRlZFNlY3JldCkKIHsKICAgICBjb25zdCBjaGFyIHNlcnZl
clB1YmxpY0tleUJhc2U2NFVSTFtdID0gIk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhB
TUlJQ0NnS0NBZ0VBemIxZFRocnRZd1ZoNDZTakluZWdLaEFxcGJKd20xWG5UQkN2eWJTSzh6azUz
UjBBbTFoRzMzQVZGNUoxbHFZZjM2d3A2NjNHYXNjbEh0cXp2eEZaSXZEQTFEVVNINGFael9mREhD
VFR4RWVKVlBPUlMzek5OMlVqV3didG53c2g0Qm1EVGktel9jRG4wTEF6Mkp1WnlLbHlGdDVHZ1ZM
QVF2TDlIM1ZMSFU5X1hITkstdWJveVhmY0hSVHRyRG5wdTNjNnd2WDVkZC1BSm9MbUlRVFpCRUpm
Vmt4Qkd6bmsxcUtIamM2bkFTQWlyS0Zfd0pDbnV3QUs4QzZCQWNqTmN3VVdDZUtwMFlFQ3pDWFUt
LUpYZDJPRVUtUWh4UEM2N2ZhaURPaDNWMHZsZnFaTHRybGJuYW5VQ0tydmh3N0dhR09HWW90SXJu
WnR1TmZ4QzE0ZF9YTlZkMUZTOG5IalJUSG5FZ3dfam5sU3NzZmdTdHowdUp0Y21rZmdvSkJ2T0U0
bUlScGk3aVNsUmZYTmtLc1dYMUotZ3djbkNWbzV1MHVKRVc2WDZOeXZFR1lKOHc1QlBmd3NRdUs5
eS00Wjdpa3Q5SU91Y0VIWTdUaERtaTlUTk5oSEJWajBHdTR3R29TanEzYTZ2TDVOMTBaU0hYb3Ex
WGdmR1BybUhoaEw5MGNqdldvbm95T1hzVXFsWEV6VGpEMlc5ODk3US1NeDlCVU5yR1FQcW1JeDhG
NU13eFdjT3J5ZThXUnA0UTg4bjJZU1VuVjdDOGF5bGQzdjFGaDdONWplU3FlVm10RFZSWVRuMnNW
Zk5xZ1hyemdkaWdKY1FSOHZGRU51Nm56RlB3c3JYUE1hQ2lMVW5aTlVtUTFaU0xRZVF5aFlYeEhx
UkpybnVDRFdYTGtDQXdFQUFRIjsKIAotICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50IHBjbTsK
KyAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCBwY20oCisgICAgICAgIFdlYkNv
cmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VJRCh7IH0pLAorICAgICAgICBXZWJD
b3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6U291cmNlU2l0ZShVUkwoKSksCisgICAgICAg
IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlvbkRlc3RpbmF0aW9u
U2l0ZShVUkwoKSksCisgICAgICAgIHsgfSwKKyAgICAgICAgV2FsbFRpbWU6Om5vdygpLAorICAg
ICAgICBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6QXR0cmlidXRpb25FcGhlbWVy
YWw6Ok5vCisgICAgKTsKICAgICBhdXRvIHNvdXJjZVVubGlua2FibGVUb2tlbiA9IHBjbS50b2tl
blNpZ25hdHVyZUpTT04oKTsKICAgICBFWFBFQ1RfRVEoc291cmNlVW5saW5rYWJsZVRva2VuLT5h
c09iamVjdCgpLT5zaXplKCksIDB1bCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50Q29jb2EubW0KaW5kZXggMzk1YjU4NmNkMjU1MGFjNjUzOTVjOTdlOTYwOWZkNTViMDkx
N2Q2Yy4uNGYyNjk4YzE1NjVhMzU1ZTlhYzI4NThiMGI4MjA5ZjA0MzdmZDNkNCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50Q29jb2EubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KQEAgLTQyLDcgKzQyLDE0IEBA
IFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkQmxpbmRlZFNlY3JldCkKICAgICBh
dXRvIGVwaGVtZXJhbE5vbmNlID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkVwaGVtZXJhbFNv
dXJjZU5vbmNlIHsgIkFCQ0RFRmFiY2RlZjAxMjM0NTY3ODkiX3MgfTsKICAgICBFWFBFQ1RfVFJV
RShlcGhlbWVyYWxOb25jZS5pc1ZhbGlkKCkpOwogCi0gICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQgcGNtOworICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50IHBjbSgKKyAgICAg
ICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZUlEKHsgfSksCisgICAg
ICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpTb3VyY2VTaXRlKFVSTCgpKSwK
KyAgICAgICAgV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVz
dGluYXRpb25TaXRlKFVSTCgpKSwKKyAgICAgICAgeyB9LAorICAgICAgICBXYWxsVGltZTo6bm93
KCksCisgICAgICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpBdHRyaWJ1dGlv
bkVwaGVtZXJhbDo6Tm8KKyAgICApOwogICAgIHBjbS5zZXRFcGhlbWVyYWxTb3VyY2VOb25jZShX
VEZNb3ZlKGVwaGVtZXJhbE5vbmNlKSk7CiAKICAgICAvLyBHZW5lcmF0ZSB0aGUgc2VydmVyIGtl
eSBwYWlyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9FdmVudEF0dHJpYnV0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCmluZGV4IDQzNGY5YTZlOTBmZGRhOTVjYTk2M2FiNTUw
ZGU4ZjAxNDdkZDIzN2UuLmFmZjQ5YmY0MThhYjMyNmViZWQ1OTgzODE5OTVlZjNlZDlmZGFjMmUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRB
dHRyaWJ1dGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0V2ZW50QXR0cmlidXRpb24ubW0KQEAgLTQ5Niw2ICs0OTYsOCBAQCBURVNUKEV2ZW50QXR0cmli
dXRpb24sIEJhc2ljV2l0aElPU1NQSSkKICAgICBydW5CYXNpY0V2ZW50QXR0cmlidXRpb25UZXN0
KG5pbCwgW10oV0tXZWJWaWV3ICp3ZWJWaWV3LCBjb25zdCBIVFRQU2VydmVyJiBzZXJ2ZXIpIHsK
ICAgICAgICAgYXV0byBhdHRyaWJ1dGlvbiA9IGFkb3B0TlMoW1tNb2NrRXZlbnRBdHRyaWJ1dGlv
biBhbGxvY10gaW5pdFdpdGhSZXBvcnRFbmRwb2ludDpzZXJ2ZXIucmVxdWVzdCgpLlVSTCBkZXN0
aW5hdGlvblVSTDpleGFtcGxlVVJMKCldKTsKICAgICAgICAgd2ViVmlldy5fdWlFdmVudEF0dHJp
YnV0aW9uID0gKFVJRXZlbnRBdHRyaWJ1dGlvbiAqKWF0dHJpYnV0aW9uLmdldCgpOworICAgICAg
ICBFWFBFQ1RfV0tfU1RSRVEod2ViVmlldy5fdWlFdmVudEF0dHJpYnV0aW9uLnNvdXJjZURlc2Ny
aXB0aW9uLCAidGVzdCBzb3VyY2UgZGVzY3JpcHRpb24iKTsKKyAgICAgICAgRVhQRUNUX1dLX1NU
UkVRKHdlYlZpZXcuX3VpRXZlbnRBdHRyaWJ1dGlvbi5wdXJjaGFzZXIsICJ0ZXN0IHB1cmNoYXNl
ciIpOwogICAgIH0pOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>