<?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>232641</bug_id>
          
          <creation_ts>2021-11-02 14:44:05 -0700</creation_ts>
          <short_desc>Make scroll granularity an enum class</short_desc>
          <delta_ts>2021-11-11 10:31:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Nikos Mouchtaris">nmouchtaris</reporter>
          <assigned_to name="Nikos Mouchtaris">nmouchtaris</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>heycam</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1811272</commentid>
    <comment_count>0</comment_count>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-02 14:44:05 -0700</bug_when>
    <thetext>Make scroll granularity an enum class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811274</commentid>
    <comment_count>1</comment_count>
      <attachid>443137</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-02 14:45:52 -0700</bug_when>
    <thetext>Created attachment 443137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811966</commentid>
    <comment_count>2</comment_count>
      <attachid>443340</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-04 14:32:14 -0700</bug_when>
    <thetext>Created attachment 443340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812024</commentid>
    <comment_count>3</comment_count>
      <attachid>443360</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-04 17:22:06 -0700</bug_when>
    <thetext>Created attachment 443360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812701</commentid>
    <comment_count>4</comment_count>
      <attachid>443573</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-08 10:52:21 -0800</bug_when>
    <thetext>Created attachment 443573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812763</commentid>
    <comment_count>5</comment_count>
      <attachid>443589</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-08 12:33:23 -0800</bug_when>
    <thetext>Created attachment 443589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812969</commentid>
    <comment_count>6</comment_count>
      <attachid>443589</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-08 19:52:41 -0800</bug_when>
    <thetext>Comment on attachment 443589
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:3272
&gt; +    send(Messages::WebPage::ScrollBy(direction, static_cast&lt;uint32_t&gt;(granularity)));

Can you make the IPC message take the enum directly? You should be able to change WebPage.messages.in to use `enum:uint8_t WebCore::ScrollGranularity` or so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812971</commentid>
    <comment_count>7</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-08 19:56:51 -0800</bug_when>
    <thetext>(In reply to Cameron McCormack (:heycam) from comment #6)
&gt; Can you make the IPC message take the enum directly? You should be able to
&gt; change WebPage.messages.in to use `enum:uint8_t WebCore::ScrollGranularity`
&gt; or so.

And that might need doing some EnumTraits stuff to get that to work.

The rest of the patch looked fine, but I&apos;ll wait to see another version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813303</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-09 13:45:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/85219827&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813439</commentid>
    <comment_count>9</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-09 17:38:51 -0800</bug_when>
    <thetext>*** Bug 232575 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813831</commentid>
    <comment_count>10</comment_count>
      <attachid>443875</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-10 16:03:27 -0800</bug_when>
    <thetext>Created attachment 443875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813854</commentid>
    <comment_count>11</comment_count>
      <attachid>443879</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-10 17:22:59 -0800</bug_when>
    <thetext>Created attachment 443879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813862</commentid>
    <comment_count>12</comment_count>
      <attachid>443884</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-10 17:38:51 -0800</bug_when>
    <thetext>Created attachment 443884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813866</commentid>
    <comment_count>13</comment_count>
      <attachid>443884</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-10 17:49:15 -0800</bug_when>
    <thetext>Comment on attachment 443884
Patch

Looks good, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813921</commentid>
    <comment_count>14</comment_count>
      <attachid>443913</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-10 23:00:34 -0800</bug_when>
    <thetext>Created attachment 443913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814107</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-11 10:31:39 -0800</bug_when>
    <thetext>Committed r285640 (244141@main): &lt;https://commits.webkit.org/244141@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443913.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443137</attachid>
            <date>2021-11-02 14:45:52 -0700</date>
            <delta_ts>2021-11-04 14:32:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211102144551.patch</filename>
            <type>text/plain</type>
            <size>31083</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uYTU0NDhjZDBhZDcyMzY4YTJiYmFkNDE5YzA4NGU5
NmNjYTRlMTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxvZ2ljYWxTY3JvbGwpOgorCiAyMDIxLTEwLTI4
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBJc29s
YXRlZCB0cmVlIG1vZGU6IERpc3BhdGNoIGFsbCBjYWxscyB0byBbV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlXSBpbiBXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQgdG8gdGhlIEFYIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTAxNGRhNzYzNWM3
NTI2YmEyZjAwODcwODdiYTc3YzE1MWJjYTNiNS4uNmEyMmIwOTZhMDAxZTVlNzQxZjRkYWFlY2Zj
NGM0NzhkOWEzZDQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0wMiAgTmlr
b2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IHNjcm9sbCBncmFudWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbEJ5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBrZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvcjpkaXN0YW5jZUZvckluY3JlbWVudDpp
bkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxp
bmdBbmltYXRvci5tbToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtl
eWJvYXJkU2Nyb2xsRm9yRXZlbnQ6XSk6CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvciBiZWdpbldpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbFZp
ZXdBbmltYXRvciBkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5nQmVoYXZpb3JGb3JTZWxlY3Rvcik6CisKIDIwMjEt
MTAtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFdlYlBhZ2VQcm94eSBpZGVudGlmaWVycyB0byBgVmlld0dlc3R1cmVzYCBjYXRlZ29yeSBs
b2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMDVkZTM3NGQ2ZjkwNzY1MTlk
ZTc4NThhMTE5ZmU3ODJhZTE0ZjJmNi4uMjVjYzMxMmY3M2YwNjgwNjIyZjMwM2JhYzgyOTk2MGFm
ZjQ3ZWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDIxLTExLTAyICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFt
ZVZpZXcubW06CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9CZWdpbm5pbmdPZkRv
Y3VtZW50XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9FbmRPZkRvY3VtZW50
XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfcGFnZVZlcnRpY2FsbHk6XSk6CisgICAgICAg
ICgtW1dlYkZyYW1lVmlldyBfcGFnZUhvcml6b250YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJh
bWVWaWV3IF9zY3JvbGxMaW5lVmVydGljYWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3
IF9zY3JvbGxMaW5lSG9yaXpvbnRhbGx5Ol0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlhLWNhcGFi
aWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKaW5kZXggOTc4MWVkMWYyMTE0ZDEwNmE2NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBj
NGJlOGRhNTE2ZWFmOGFjMmU2MTllNzgwY2VhNzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtMTA5NiwxMiArMTA5NiwxMiBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50
IHVuaXRzLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50Ojpz
Y3JvbGxCeUxpbmVzKGludCBsaW5lcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3Jv
bGxCeUxpbmUpOworICAgIHNjcm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAg
ICBzY3JvbGxCeVVuaXRzKHBhZ2VzLCBTY3JvbGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMo
cGFnZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2Nh
bFpvb21Gb3JSZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgz
OTYwOTdiMDYwOGM1ODNjNmM2YWIuLmYxODc1OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDky
ZTM0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5
LDMyICs5ODksMzIgQEAgc3RhdGljIGJvb2wgZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJh
bWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhl
Y3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFu
ZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVy
KCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQs
IFNjcm9sbEJ5UGFnZSk7CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxT
Y3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2Fy
ZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5n
JikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vy
c2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICBy
ZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9s
bEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBz
dGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsTGluZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0
b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVu
dEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAg
ICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAs
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9s
bExpbmVEb3duKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25z
dCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1
cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVu
dEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0
eTo6TGluZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9j
dW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0
cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50
KTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2
ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJh
bWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7
Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVs
eShTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJl
dHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xs
QmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQog
CiBzdGF0aWMgYm9vbCBleGVjdXRlU2VsZWN0QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0
b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IDU3YjMzNTdhMTU0NjI5MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5
Y2YwYTg2OGE5MDg2MDEyOTc3OWNhOTVkMDY0MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTI5OCwxMyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Ny
b2xsR3JhbnVsYXJpdHkgd2hlZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWdu
ZWQgZGVsCiB7CiAgICAgc3dpdGNoIChkZWx0YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6
OkRPTV9ERUxUQV9QQUdFOgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01f
REVMVEFfTElORToKLSAgICAgICAgcmV0dXJuIFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJu
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRB
X1BJWEVMOgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNj
cm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Ny
b2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAg
ICB9CiB9CiAKQEAgLTEyODcsNyArMTI4Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2Fs
U2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAg
ICAgYm9vbCBzY3JvbGxlZCA9IGZhbHNlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1h
YyBhbHNvIHJlc2V0cyB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9u
LgotICAgIGlmIChncmFudWxhcml0eSA9PSBTY3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmll
dy0+bG9naWNhbFNjcm9sbChTY3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlE
b2N1bWVudCkpCisgICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCAmJiB2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9u
QmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVk
ID0gdHJ1ZTsKICNlbmRpZgogICAgIGlmICh2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGly
ZWN0aW9uLCBncmFudWxhcml0eSkpCkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFu
ZGxlcjo6ZGVmYXVsdFNwYWNlRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAg
ICAgICByZXR1cm47CiAKICAgICBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2
ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxv
Y2tEaXJlY3Rpb25Gb3J3YXJkOwotICAgIGlmIChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0
aW9uLCBTY3JvbGxCeVBhZ2UpKSB7CisgICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJl
Y3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZh
dWx0SGFuZGxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2
ZW50JiBldmVudCkKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wg
ZGVmYXVsdEhhbmRsZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21v
b3RoS2V5Ym9hcmRTY3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2
ZW50KSA6IHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAg
IGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJp
dmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xs
aW5nKGV2ZW50KSA6IHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxh
cml0eTo6UGFnZSk7CiAgICAgaWYgKGRlZmF1bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwogfQpAQCAtNDMwOCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhh
bmRsZXI6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5CiAgICAgfSgpOwogCiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51
bGFyaXR5OjpMaW5lOgogICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAg
IGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdy
YW51bGFyaXR5OjpQYWdlOgogICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwot
ICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRv
dGFsU2l6ZSgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6Cisg
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxi
YXItPnBpeGVsU3RlcCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IDU3OGVjZGI2OTNkZmE1MzEwYTcxNjA2ZjAzNmJmZjZkMmZhYzYyNDYuLmRjMGJkZWJiNWJmMzBm
MmQwYTM2N2YyMzJmYzI2NDc0YjI2ZDU1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTM4MTcsNyArMzgxNyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0
aEFuaW1hdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZy
YW1lVmlldzo6YWRqdXN0U2Nyb2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3Jv
bGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHkpCiB7Ci0gICAgaWYgKGdyYW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlv
biA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxH
cmFudWxhcml0eTo6UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQog
ICAgICAgICByZXR1cm4gc3RlcDsKIAogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBw
b3NpdGlvbmVkT2JqZWN0cyA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwCmluZGV4IGZiZGVhZmZkMmJjNGEy
ZjhkMTcyMjAzZTE5MDlmY2U5N2QxOTg0ZjMuLmU1YWQyZmRjMTRkNGE2NWNlZGVjNjk0ODM5ZDMy
MjA4ZDY5NjVkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWJv
YXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwCkBAIC0xNTUsMTMgKzE1NSwxMyBAQCBmbG9hdCBLZXli
b2FyZFNjcm9sbGluZ0FuaW1hdG9yOjpzY3JvbGxEaXN0YW5jZShTY3JvbGxEaXJlY3Rpb24gZGly
ZWN0aW9uLCBTY3JvbAogCiAgICAgaWYgKHNjcm9sbGJhcikgewogICAgICAgICBzd2l0Y2ggKGdy
YW51bGFyaXR5KSB7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGlu
ZToKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgICAgIHJl
dHVybiBzY3JvbGxiYXItPmxpbmVTdGVwKCk7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5UGFnZToKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToK
ICAgICAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBhZ2VTdGVwKCk7Ci0gICAgICAgIGNhc2Ug
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+dG90
YWxTaXplKCk7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6
CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICAgICAgcmV0
dXJuIHNjcm9sbGJhci0+cGl4ZWxTdGVwKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0yMDIsMTgg
KzIwMiwxOCBAQCBzdGQ6Om9wdGlvbmFsPEtleWJvYXJkU2Nyb2xsPiBLZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yOjprZXlib2FyZFNjcm9sbEZvcktleWJvYQogICAgICAgICBzd2l0Y2ggKGtleS52
YWx1ZSgpKSB7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OkxlZnRBcnJvdzoK
ICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6UmlnaHRBcnJvdzoKLSAgICAgICAg
ICAgIHJldHVybiBldmVudC5hbHRLZXkoKSA/IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBh
Z2UgOiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgcmV0dXJu
IGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UgOiBTY3JvbGxHcmFudWxh
cml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6VXBBcnJvdzoK
ICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6RG93bkFycm93OgogICAgICAgICAg
ICAgaWYgKGV2ZW50Lm1ldGFLZXkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsK
LSAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAg
ICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKKyAgICAgICAgICAg
IHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXlib2FyZFNj
cm9sbGluZ0tleTo6U3BhY2U6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlBh
Z2VVcDoKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6UGFnZURvd246Ci0gICAg
ICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAg
ICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgfTsKICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9KCk7CkBAIC0yNjcsNyArMjY3LDcg
QEAgYm9vbCBLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yOjpiZWdpbktleWJvYXJkU2Nyb2xsR2Vz
dHVyZShjb25zdCBQbGF0Zm9ybUtleWJvYXIKICAgICBpZiAobV9zY3JvbGxUcmlnZ2VyaW5nS2V5
SXNQcmVzc2VkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobV9jdXJyZW50S2V5
Ym9hcmRTY3JvbGwtPmdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURv
Y3VtZW50KSB7CisgICAgaWYgKG1fY3VycmVudEtleWJvYXJkU2Nyb2xsLT5ncmFudWxhcml0eSA9
PSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpIHsKICAgICAgICAgbV92ZWxvY2l0eSA9IHsg
fTsKICAgICAgICAgc3RvcEtleWJvYXJkU2Nyb2xsQW5pbWF0aW9uKCk7CiAgICAgICAgIGF1dG8g
bmV3UG9zaXRpb24gPSBJbnRQb2ludChtX3Njcm9sbEFuaW1hdG9yLmN1cnJlbnRQb3NpdGlvbigp
ICsgbV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPm9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggYWIxOGI4Mjc5YWZmOGVlODlhODljMjBlNWEw
Mzg4NWU1MzRkM2NkNC4uOWJhNzg2ZGVkY2EwOWQyZjU4NDlhMGI4MzJhNzdkNTE0ZDcxMWU4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjE4LDcg
KzIxOCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSkKICAgICAg
ICAgICAgICAgICAgICAgZGVsdGFZID0gLWRlbHRhWTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHNjcm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgU2Nyb2xsQnlQaXhlbCwgdmVydGljYWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CisgICAgICAgICAgICBzY3Jv
bGwoVmVydGljYWxTY3JvbGxiYXIsIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgdmVydGljYWxT
Y3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoZGVsdGFYKSB7CkBAIC0yMjgsNyArMjI4LDcgQEAgYm9vbCBTY3JvbGxBbmlt
YXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAg
ICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAt
ZGVsdGFYOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3Jv
bGxiYXIsIFNjcm9sbEJ5UGl4ZWwsIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAt
ZGVsdGFYLCBiZWhhdmlvcik7CisgICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJh
ciwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0
ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBo
YW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggZWJhYTE3ZTkw
MDJkOGRiMzk4ZDc4YjZjYmQzN2I2NjIxNGNmYWU1Zi4uNDU2NWFjODE3NmI5ZGVkODNlZTQ1MDYx
YmQ0MmQ2ODg0M2E1ODM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBA
IC0xMzAsMTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNp
Y2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJuIFNj
cm9sbFVwOwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAgU2Ny
b2xsQnlMaW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAotICAg
IFNjcm9sbEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90IHsK
KyAgICBMaW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAKIGVu
dW0gU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDMyZGRhY2EwYWFiZWExYzkzN2VlYTZhZmZkMTc1N2Iw
OTcwMTI1YTAuLjUzZDM0Yjc5MTcyYzVjMmExMzU5OTc1NTk1NjYyNmUyYzJiYThmYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTExMywxNiArMTEz
LDE2IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVwID0gMDsKICAg
ICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6CisgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+bGlu
ZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6CisgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+cGFn
ZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3VtZW50OgorICAg
IGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICBzdGVwID0gc2Nyb2xs
YmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBpeGVs
OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBzdGVwID0gc2Ny
b2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggYzk3ZGYwMGU1NzA5NmM4NTY2YmNjNDlkNWQwNTll
M2VhMTQzOGU3ZC4uMGViNjQyZDZjZWQyZjE5YzBhYjgyZGY0MzdiOGY0OWU1NzYzNDc3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0LDggQEAgU2Ny
b2xsRGlyZWN0aW9uIFNjcm9sbGJhcjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKQogU2Ny
b2xsR3JhbnVsYXJpdHkgU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCkK
IHsKICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0IHx8IG1fcHJl
c3NlZFBhcnQgPT0gQmFja0J1dHRvbkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQgPT0gRm9yd2Fy
ZEJ1dHRvblN0YXJ0UGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0b25FbmRQYXJ0
KQotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOwotICAgIHJldHVybiBTY3JvbGxCeVBhZ2U7
CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKKyAgICByZXR1cm4gU2Ny
b2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3ZlVGh1bWIoaW50
IHBvcywgYm9vbCBkcmFnZ2luZ0RvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2EzM2Q1OGUzOGNh
ZmEyZTgxMzRhNWVlYTdkYzkuLjMyMTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2YzcwNzdmMThkNzQ2
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRv
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJ
T1MubW0KQEAgLTEzOSwxMyArMTM5LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJT1M6OmhhbmRs
ZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50KQogICAgIC8v
IEhvcml6b250YWwKICAgICBpZiAobV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBBeGlzTGF0Y2hW
ZXJ0aWNhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRoKCk7Ci0gICAg
ICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNjcm9sbChk
ZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4ZWwsIGFicyhk
ZWx0YSkpOworICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JUb3VjaFNlcXVl
bmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0LCBTY3JvbGxH
cmFudWxhcml0eTo6UGl4ZWwsIGFicyhkZWx0YSkpOwogICAgIH0KICAgICAKICAgICAvLyBWZXJ0
aWNhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRjaEhvcml6b250
YWwpIHsKICAgICAgICAgaW50IGRlbHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsKLSAgICAgICAg
aGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRh
IDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJzKGRlbHRhKSk7
CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNj
cm9sbChkZWx0YSA8IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5
OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFJldHVybiBmYWxzZSB1
bnRpbCB3ZSBtYW5hZ2UgdG8gc2Nyb2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCByZXR1cm5pbmcg
dHJ1ZSB1bnRpbCB0aGUgZ2VzdHVyZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBiMDU3Mzg0M2FjYTY1NTVlNTU5NGJjMjViNzE3Mzc3NzZjODIzMWU0Li4w
YTA3MWY1NDVlMzQ2YzFjNjE5YTc3YTU0MzcxZjg2MzA2OTU2YjliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtOTI1LDggKzkyNSw4IEBAIGJvb2wgUmVuZGVyQm94
Ojpsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxH
cmFudWxhcml0CiAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXIoKSA/IGxheWVy
KCktPnNjcm9sbGFibGVBcmVhKCkgOiBudWxscHRyKSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgICAgIC8vIE9uIE1hYyBvbmx5IHdlIHJlc2V0IHRoZSBpbmxpbmUgZGlyZWN0aW9uIHBvc2l0
aW9uIHdoZW4gZG9pbmcgYSBkb2N1bWVudCBzY3JvbGwgKGUuZy4sIGhpdHRpbmcgSG9tZS9FbmQp
LgotICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsQnlEb2N1bWVudCkKLSAgICAgICAg
ICAgIHNjcm9sbGVkID0gc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbChsb2dpY2FsVG9QaHlzaWNhbChT
Y3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwg
c3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKSwgU2Nyb2xsQnlEb2N1bWVudCwg
bXVsdGlwbGllcik7CisgICAgICAgIGlmIChncmFudWxhcml0eSA9PSBTY3JvbGxHcmFudWxhcml0
eTo6RG9jdW1lbnQpCisgICAgICAgICAgICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3Jv
bGwobG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUo
KSksIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCwgbXVsdGlwbGllcik7CiAjZW5kaWYKICAg
ICAgICAgaWYgKHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoZGlyZWN0
aW9uLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dy
aXRpbmdNb2RlKCkpLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikpCiAgICAgICAgICAgICBzY3Jv
bGxlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAyMTBiMmY0ZGEyZDIxYWNkMDEwNzdlODIwOGZkYTRhMzQ4NzQzZjQxLi5jZTdjMWE2OGQyOWY1
MzI2YzdmNDQ2ODFiZDMyOTU1ZWY1N2U3NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTMzNDMsNyArMzM0Myw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpz
Y3JvbGxCeShTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFu
dWxhCiAgICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTY3JvbGxCeShkaXJlY3Rpb24sIGdyYW51bGFyaXR5
KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsQnkoZGlyZWN0aW9uLCBzdGF0
aWNfY2FzdDx1aW50MzJfdD4oZ3JhbnVsYXJpdHkpKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5
OjpjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGJhNzhm
MDllN2Y0ZmZiNDRmZjZjOGY2MjlhZDRjNmY0ODk4OGIwOTIuLjBlMWM3ZjhmNzAyOWQ1YTQyNTJh
NjM3MTMyYzMyYWFmYzg0NDFlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTkxOSwxNyArNTkxOSwx
NyBAQCBzdGF0aWMgTlNTdHJpbmcgKmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZSBmaWVsZE5hbWUpCiAgICAgQk9PTCBkaXJlY3Rpb25Jc0hvcml6b250
YWwgPSBkaXJlY3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxMZWZ0IHx8
IGRpcmVjdGlvbiA9PSBXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb246OlNjcm9sbFJpZ2h0OwogCiAg
ICAgc3dpdGNoIChpbmNyZW1lbnQpIHsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeURvY3VtZW50OiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxh
cml0eTo6RG9jdW1lbnQ6IHsKICAgICAgICAgQ0dTaXplIGRvY3VtZW50U2l6ZSA9IFtzZWxmIGNv
bnZlcnRSZWN0OnNlbGYuYm91bmRzIHRvVmlldzpzZWxmLndlYlZpZXddLnNpemU7CiAgICAgICAg
IHJldHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBkb2N1bWVudFNpemUud2lkdGggOiBkb2N1
bWVudFNpemUuaGVpZ2h0OwogICAgIH0KLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeVBhZ2U6IHsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlOiB7CiAgICAgICAgIENHU2l6ZSBwYWdlU2l6ZSA9IFtzZWxmIGNvbnZlcnRTaXplOkNH
U2l6ZU1ha2UoMCwgV2ViQ29yZTo6U2Nyb2xsYmFyOjpwYWdlU3RlcChfcGFnZS0+dW5vYnNjdXJl
ZENvbnRlbnRSZWN0KCkuaGVpZ2h0KCksIHNlbGYuYm91bmRzLnNpemUuaGVpZ2h0KSkgdG9WaWV3
OnNlbGYud2ViVmlld107CiAgICAgICAgIHJldHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBw
YWdlU2l6ZS53aWR0aCA6IHBhZ2VTaXplLmhlaWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOgorICAgIGNhc2UgV2ViQ29yZTo6U2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgIHJldHVybiBbc2VsZiBjb252ZXJ0U2l6ZTpD
R1NpemVNYWtlKDAsIFdlYkNvcmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkgdG9W
aWV3OnNlbGYud2ViVmlld10uaGVpZ2h0OwotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVs
YXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXli
b2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1tCmluZGV4IGMzMTIzODM0ZTdmYTkzYzI5N2Q3OTdiZTZh
OWQ3ZGVjNWIzOWY3NzguLjZiM2VkYzc2YjM5NjA0ZTU1NTc1NTAzMGFmNTIxZGJkOTZlNDA3ZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xs
aW5nQW5pbWF0b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvci5tbQpAQCAtMjE5LDIyICsyMTksMjIgQEAgc3RhdGljIFdlYkNv
cmU6OkJveFNpZGUgYm94U2lkZShXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQog
ICAgICAgICBjYXNlIEtleTo6TGVmdEFycm93OgogICAgICAgICBjYXNlIEtleTo6UmlnaHRBcnJv
dzoKICAgICAgICAgICAgIGlmIChhbHRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOwotICAgICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAgICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNl
IEtleTo6VXBBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAg
IGlmIChhbHRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgICAgIGlmIChjbWRQcmVzc2VkKQot
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlEb2N1bWVudDsKLSAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5OjpQYWdlVXA6CiAgICAgICAgIGNh
c2UgS2V5OjpQYWdlRG93bjoKICAgICAgICAgY2FzZSBLZXk6OlNwYWNlOgotICAgICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgIGNh
c2UgS2V5OjpPdGhlcjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7Cisg
ICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAg
ICAgIH07CiAgICAgfSgpOwogCkBAIC0yOTMsNyArMjkzLDcgQEAgc3RhdGljIFdlYkNvcmU6OkJv
eFNpZGUgYm94U2lkZShXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIF9z
Y3JvbGxUcmlnZ2VyaW5nS2V5SXNQcmVzc2VkID0gWUVTOwogICAgIF9jdXJyZW50U2Nyb2xsID0g
c2Nyb2xsOwogCi0gICAgaWYgKHNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQpIHsKKyAgICBpZiAoc2Nyb2xsLT5ncmFudWxh
cml0eSA9PSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpIHsKICAgICAgICAg
X3ZlbG9jaXR5ID0geyB9OwogICAgICAgICBbc2VsZiBzdG9wQW5pbWF0ZWRTY3JvbGxdOwogICAg
ICAgICBbc2VsZiBzdG9wRGlzcGxheUxpbmtdOwpAQCAtNTQ1LDEzICs1NDUsMTMgQEAgc3RhdGlj
IFdlYkNvcmU6OkZsb2F0UG9pbnQgZmFydGhlc3RQb2ludEluRGlyZWN0aW9uKFdlYkNvcmU6OkZs
b2F0UG9pbnQgYSwgV2ViQ28KIAogICAgIGlmICghX2RlbGVnYXRlUmVzcG9uZHNUb0Rpc3RhbmNl
Rm9ySW5jcmVtZW50KSB7CiAgICAgICAgIHN3aXRjaCAoaW5jcmVtZW50KSB7Ci0gICAgICAgIGNh
c2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICAgICAg
cmV0dXJuIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lk
dGggOiBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLmhlaWdodDsKLSAgICAgICAgY2FzZSBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgogICAgICAgICAgICAgcmV0dXJuIChkaXJlY3Rpb25J
c0hvcml6b250YWwgPyBzY3JvbGxWaWV3LmZyYW1lLnNpemUud2lkdGggOiBzY3JvbGxWaWV3LmZy
YW1lLnNpemUuaGVpZ2h0KSAqIGRlZmF1bHRQYWdlU2Nyb2xsRnJhY3Rpb247Ci0gICAgICAgIGNh
c2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgICAgIHJldHVybiBk
ZWZhdWx0TGluZVNjcm9sbEhlaWdodCAqIHNjcm9sbFZpZXcuem9vbVNjYWxlOwotICAgICAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCAx
ZTIzYWZmZWRlY2FmZGJjZGEzMTAzOGM5MWJmODA4ZGFhODgzZWMxLi5jMGE5OGFjNzhmODJlOWY0
MzkyZTQxYmNhMzU5NTBmYzA4ZDllNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtNDY3LDI3ICs0NjcsMjcgQEAgYm9v
bCBXZWJQYWdlOjpwZXJmb3JtTm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IoY29uc3QgU3Ry
aW5nJiBzZWxlY3RvciwgS2V5Ym8KICAgICAKICAgICBpZiAoIWZyYW1lLT5zZXR0aW5ncygpLmV2
ZW50SGFuZGxlckRyaXZlblNtb290aEtleWJvYXJkU2Nyb2xsaW5nRW5hYmxlZCgpKSB7CiAgICAg
ICAgIGlmIChzZWxlY3RvciA9PSAibW92ZVVwOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFj
dGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsK
LSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsTGVmdCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0g
ZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVEb3duOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3Jt
QWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsK
KyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVj
dG9yID09ICJtb3ZlVG9FbmRPZlBhcmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFj
dGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7Cisg
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
RG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3Rv
ciA9PSAibW92ZVRvRW5kT2ZEb2N1bWVudDoiKSB7Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7
Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbExlZnQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlv
biA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpE
b2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAg
IH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJm
b3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5l
KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNl
bGVjdG9yID09ICJtb3ZlV29yZExlZnQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24g
PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeVBhZ2UpOworICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVSaWdodDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVy
Zm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZFJp
Z2h0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlKTsKICAgICB9CiAKICAgICBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0xlZnRFbmRPZkxp
bmU6IikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJh
bWVWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcu
bW0KaW5kZXggZDVlZGFlNGVjNjUxYzZlZWIzM2YyZjQ0ZGVjZTNkMTlmNzMzNTgzNS4uNzNlZjg2
Y2JlZGM2NmNiNTUyOGJhNTY5N2FlZjM1NjQ1YmQ0ZDQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KQEAgLTYzMyw3ICs2MzMsNyBAQCBl
bnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsVG9CZWdpbm5pbmdPZkRvY3VtZW50CiB7Ci0gICAgaWYg
KFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbFVwIGdyYW51
bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5RG9jdW1lbnRdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xs
T3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0eTpXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnRdKQogICAgICAgICByZXR1cm4gWUVTOwogICAg
IGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTY0NSw3
ICs2NDUsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsVG9FbmRPZkRvY3VtZW50CiB7Ci0g
ICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbERv
d24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlEb2N1bWVudF0pCisgICAgaWYgKFtzZWxm
IF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbERvd24gZ3JhbnVsYXJp
dHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50XSkKICAgICAgICAgcmV0dXJu
IFlFUzsKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQogICAgICAgICByZXR1cm4gTk87
CkBAIC03NDIsNyArNzQyLDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3BhZ2VWZXJ0aWNhbGx5OihC
T09MKXVwCiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8g
V2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNv
cmU6OlNjcm9sbEJ5UGFnZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0
aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFy
aXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlXSkKICAgICAgICAgcmV0dXJuIFlF
UzsKICAgICAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzU0LDcgKzc1NCw3
IEBAIGVudW0gewogCiAtIChCT09MKV9wYWdlSG9yaXpvbnRhbGx5OihCT09MKWxlZnQKIHsKLSAg
ICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNj
cm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3Jv
bGxCeVBhZ2VdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0
ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5
OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlXSkKICAgICAgICAgcmV0dXJuIFlFUzsK
IAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCkBAIC03NzYsNyArNzc2LDcgQEAgZW51
bSB7CiAKIC0gKEJPT0wpX3Njcm9sbExpbmVWZXJ0aWNhbGx5OihCT09MKXVwCiB7Ci0gICAgaWYg
KFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAg
OiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5TGluZV0p
CisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6
U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lXSkKICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICghW3Nl
bGYgX2lzU2Nyb2xsYWJsZV0pCkBAIC03ODgsNyArNzg4LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wp
X3Njcm9sbExpbmVIb3Jpem9udGFsbHk6KEJPT0wpbGVmdAogewotICAgIGlmIChbc2VsZiBfc2Ny
b2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNv
cmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5TGluZV0pCisgICAg
aWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3Jv
bGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OkxpbmVdKQogICAgICAgICByZXR1cm4gWUVTOwogCiAgICAgaWYgKCFbc2Vs
ZiBfaXNTY3JvbGxhYmxlXSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443340</attachid>
            <date>2021-11-04 14:32:14 -0700</date>
            <delta_ts>2021-11-04 17:22:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211104143211.patch</filename>
            <type>text/plain</type>
            <size>33805</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uYTU0NDhjZDBhZDcyMzY4YTJiYmFkNDE5YzA4NGU5
NmNjYTRlMTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxvZ2ljYWxTY3JvbGwpOgorCiAyMDIxLTEwLTI4
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBJc29s
YXRlZCB0cmVlIG1vZGU6IERpc3BhdGNoIGFsbCBjYWxscyB0byBbV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlXSBpbiBXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQgdG8gdGhlIEFYIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTAxNGRhNzYzNWM3
NTI2YmEyZjAwODcwODdiYTc3YzE1MWJjYTNiNS4uNmEyMmIwOTZhMDAxZTVlNzQxZjRkYWFlY2Zj
NGM0NzhkOWEzZDQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0wMiAgTmlr
b2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IHNjcm9sbCBncmFudWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbEJ5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBrZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvcjpkaXN0YW5jZUZvckluY3JlbWVudDpp
bkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxp
bmdBbmltYXRvci5tbToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtl
eWJvYXJkU2Nyb2xsRm9yRXZlbnQ6XSk6CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvciBiZWdpbldpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbFZp
ZXdBbmltYXRvciBkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5nQmVoYXZpb3JGb3JTZWxlY3Rvcik6CisKIDIwMjEt
MTAtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFdlYlBhZ2VQcm94eSBpZGVudGlmaWVycyB0byBgVmlld0dlc3R1cmVzYCBjYXRlZ29yeSBs
b2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMDVkZTM3NGQ2ZjkwNzY1MTlk
ZTc4NThhMTE5ZmU3ODJhZTE0ZjJmNi4uMjVjYzMxMmY3M2YwNjgwNjIyZjMwM2JhYzgyOTk2MGFm
ZjQ3ZWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDIxLTExLTAyICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFt
ZVZpZXcubW06CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9CZWdpbm5pbmdPZkRv
Y3VtZW50XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9FbmRPZkRvY3VtZW50
XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfcGFnZVZlcnRpY2FsbHk6XSk6CisgICAgICAg
ICgtW1dlYkZyYW1lVmlldyBfcGFnZUhvcml6b250YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJh
bWVWaWV3IF9zY3JvbGxMaW5lVmVydGljYWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3
IF9zY3JvbGxMaW5lSG9yaXpvbnRhbGx5Ol0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlhLWNhcGFi
aWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKaW5kZXggOTc4MWVkMWYyMTE0ZDEwNmE2NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBj
NGJlOGRhNTE2ZWFmOGFjMmU2MTllNzgwY2VhNzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtMTA5NiwxMiArMTA5NiwxMiBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50
IHVuaXRzLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50Ojpz
Y3JvbGxCeUxpbmVzKGludCBsaW5lcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3Jv
bGxCeUxpbmUpOworICAgIHNjcm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAg
ICBzY3JvbGxCeVVuaXRzKHBhZ2VzLCBTY3JvbGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMo
cGFnZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2Nh
bFpvb21Gb3JSZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgz
OTYwOTdiMDYwOGM1ODNjNmM2YWIuLmYxODc1OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDky
ZTM0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5
LDMyICs5ODksMzIgQEAgc3RhdGljIGJvb2wgZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJh
bWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhl
Y3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFu
ZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVy
KCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQs
IFNjcm9sbEJ5UGFnZSk7CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxT
Y3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2Fy
ZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5n
JikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vy
c2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICBy
ZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9s
bEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBz
dGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsTGluZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0
b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVu
dEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAg
ICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAs
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9s
bExpbmVEb3duKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25z
dCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1
cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVu
dEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0
eTo6TGluZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9j
dW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0
cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50
KTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2
ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJh
bWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7
Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVs
eShTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJl
dHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xs
QmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQog
CiBzdGF0aWMgYm9vbCBleGVjdXRlU2VsZWN0QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0
b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IDU3YjMzNTdhMTU0NjI5MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5
Y2YwYTg2OGE5MDg2MDEyOTc3OWNhOTVkMDY0MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTI5OCwxMyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Ny
b2xsR3JhbnVsYXJpdHkgd2hlZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWdu
ZWQgZGVsCiB7CiAgICAgc3dpdGNoIChkZWx0YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6
OkRPTV9ERUxUQV9QQUdFOgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01f
REVMVEFfTElORToKLSAgICAgICAgcmV0dXJuIFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJu
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRB
X1BJWEVMOgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNj
cm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Ny
b2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAg
ICB9CiB9CiAKQEAgLTEyODcsNyArMTI4Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2Fs
U2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAg
ICAgYm9vbCBzY3JvbGxlZCA9IGZhbHNlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1h
YyBhbHNvIHJlc2V0cyB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9u
LgotICAgIGlmIChncmFudWxhcml0eSA9PSBTY3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmll
dy0+bG9naWNhbFNjcm9sbChTY3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlE
b2N1bWVudCkpCisgICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCAmJiB2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9u
QmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVk
ID0gdHJ1ZTsKICNlbmRpZgogICAgIGlmICh2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGly
ZWN0aW9uLCBncmFudWxhcml0eSkpCkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFu
ZGxlcjo6ZGVmYXVsdFNwYWNlRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAg
ICAgICByZXR1cm47CiAKICAgICBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2
ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxv
Y2tEaXJlY3Rpb25Gb3J3YXJkOwotICAgIGlmIChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0
aW9uLCBTY3JvbGxCeVBhZ2UpKSB7CisgICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJl
Y3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZh
dWx0SGFuZGxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2
ZW50JiBldmVudCkKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wg
ZGVmYXVsdEhhbmRsZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21v
b3RoS2V5Ym9hcmRTY3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2
ZW50KSA6IHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAg
IGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJp
dmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xs
aW5nKGV2ZW50KSA6IHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxh
cml0eTo6UGFnZSk7CiAgICAgaWYgKGRlZmF1bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwogfQpAQCAtNDMwOCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhh
bmRsZXI6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdy
YW51bGFyaXR5CiAgICAgfSgpOwogCiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51
bGFyaXR5OjpMaW5lOgogICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAg
IGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdy
YW51bGFyaXR5OjpQYWdlOgogICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwot
ICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRv
dGFsU2l6ZSgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6Cisg
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxi
YXItPnBpeGVsU3RlcCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IDU3OGVjZGI2OTNkZmE1MzEwYTcxNjA2ZjAzNmJmZjZkMmZhYzYyNDYuLmRjMGJkZWJiNWJmMzBm
MmQwYTM2N2YyMzJmYzI2NDc0YjI2ZDU1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTM4MTcsNyArMzgxNyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0
aEFuaW1hdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZy
YW1lVmlldzo6YWRqdXN0U2Nyb2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3Jv
bGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHkpCiB7Ci0gICAgaWYgKGdyYW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlv
biA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxH
cmFudWxhcml0eTo6UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQog
ICAgICAgICByZXR1cm4gc3RlcDsKIAogICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBw
b3NpdGlvbmVkT2JqZWN0cyA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwCmluZGV4IGZiZGVhZmZkMmJjNGEy
ZjhkMTcyMjAzZTE5MDlmY2U5N2QxOTg0ZjMuLmU1YWQyZmRjMTRkNGE2NWNlZGVjNjk0ODM5ZDMy
MjA4ZDY5NjVkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWJv
YXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwCkBAIC0xNTUsMTMgKzE1NSwxMyBAQCBmbG9hdCBLZXli
b2FyZFNjcm9sbGluZ0FuaW1hdG9yOjpzY3JvbGxEaXN0YW5jZShTY3JvbGxEaXJlY3Rpb24gZGly
ZWN0aW9uLCBTY3JvbAogCiAgICAgaWYgKHNjcm9sbGJhcikgewogICAgICAgICBzd2l0Y2ggKGdy
YW51bGFyaXR5KSB7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGlu
ZToKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgICAgIHJl
dHVybiBzY3JvbGxiYXItPmxpbmVTdGVwKCk7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5UGFnZToKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToK
ICAgICAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBhZ2VTdGVwKCk7Ci0gICAgICAgIGNhc2Ug
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+dG90
YWxTaXplKCk7Ci0gICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6
CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICAgICAgcmV0
dXJuIHNjcm9sbGJhci0+cGl4ZWxTdGVwKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0yMDIsMTgg
KzIwMiwxOCBAQCBzdGQ6Om9wdGlvbmFsPEtleWJvYXJkU2Nyb2xsPiBLZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yOjprZXlib2FyZFNjcm9sbEZvcktleWJvYQogICAgICAgICBzd2l0Y2ggKGtleS52
YWx1ZSgpKSB7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OkxlZnRBcnJvdzoK
ICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6UmlnaHRBcnJvdzoKLSAgICAgICAg
ICAgIHJldHVybiBldmVudC5hbHRLZXkoKSA/IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBh
Z2UgOiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgcmV0dXJu
IGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UgOiBTY3JvbGxHcmFudWxh
cml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6VXBBcnJvdzoK
ICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6RG93bkFycm93OgogICAgICAgICAg
ICAgaWYgKGV2ZW50Lm1ldGFLZXkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsK
LSAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAg
ICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKKyAgICAgICAgICAg
IHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXlib2FyZFNj
cm9sbGluZ0tleTo6U3BhY2U6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlBh
Z2VVcDoKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6UGFnZURvd246Ci0gICAg
ICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAg
ICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgfTsKICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9KCk7CkBAIC0yNjcsNyArMjY3LDcg
QEAgYm9vbCBLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yOjpiZWdpbktleWJvYXJkU2Nyb2xsR2Vz
dHVyZShjb25zdCBQbGF0Zm9ybUtleWJvYXIKICAgICBpZiAobV9zY3JvbGxUcmlnZ2VyaW5nS2V5
SXNQcmVzc2VkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobV9jdXJyZW50S2V5
Ym9hcmRTY3JvbGwtPmdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURv
Y3VtZW50KSB7CisgICAgaWYgKG1fY3VycmVudEtleWJvYXJkU2Nyb2xsLT5ncmFudWxhcml0eSA9
PSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpIHsKICAgICAgICAgbV92ZWxvY2l0eSA9IHsg
fTsKICAgICAgICAgc3RvcEtleWJvYXJkU2Nyb2xsQW5pbWF0aW9uKCk7CiAgICAgICAgIGF1dG8g
bmV3UG9zaXRpb24gPSBJbnRQb2ludChtX3Njcm9sbEFuaW1hdG9yLmN1cnJlbnRQb3NpdGlvbigp
ICsgbV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPm9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggYWIxOGI4Mjc5YWZmOGVlODlhODljMjBlNWEw
Mzg4NWU1MzRkM2NkNC4uOWJhNzg2ZGVkY2EwOWQyZjU4NDlhMGI4MzJhNzdkNTE0ZDcxMWU4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjE4LDcg
KzIxOCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSkKICAgICAg
ICAgICAgICAgICAgICAgZGVsdGFZID0gLWRlbHRhWTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHNjcm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgU2Nyb2xsQnlQaXhlbCwgdmVydGljYWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CisgICAgICAgICAgICBzY3Jv
bGwoVmVydGljYWxTY3JvbGxiYXIsIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgdmVydGljYWxT
Y3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoZGVsdGFYKSB7CkBAIC0yMjgsNyArMjI4LDcgQEAgYm9vbCBTY3JvbGxBbmlt
YXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAg
ICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAt
ZGVsdGFYOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3Jv
bGxiYXIsIFNjcm9sbEJ5UGl4ZWwsIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAt
ZGVsdGFYLCBiZWhhdmlvcik7CisgICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJh
ciwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0
ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBo
YW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggZWJhYTE3ZTkw
MDJkOGRiMzk4ZDc4YjZjYmQzN2I2NjIxNGNmYWU1Zi4uNDU2NWFjODE3NmI5ZGVkODNlZTQ1MDYx
YmQ0MmQ2ODg0M2E1ODM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBA
IC0xMzAsMTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNp
Y2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJuIFNj
cm9sbFVwOwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAgU2Ny
b2xsQnlMaW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAotICAg
IFNjcm9sbEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90IHsK
KyAgICBMaW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAKIGVu
dW0gU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDMyZGRhY2EwYWFiZWExYzkzN2VlYTZhZmZkMTc1N2Iw
OTcwMTI1YTAuLjUzZDM0Yjc5MTcyYzVjMmExMzU5OTc1NTk1NjYyNmUyYzJiYThmYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTExMywxNiArMTEz
LDE2IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVwID0gMDsKICAg
ICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6CisgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+bGlu
ZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6CisgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+cGFn
ZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3VtZW50OgorICAg
IGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICBzdGVwID0gc2Nyb2xs
YmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBpeGVs
OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBzdGVwID0gc2Ny
b2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggYzk3ZGYwMGU1NzA5NmM4NTY2YmNjNDlkNWQwNTll
M2VhMTQzOGU3ZC4uMGViNjQyZDZjZWQyZjE5YzBhYjgyZGY0MzdiOGY0OWU1NzYzNDc3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0LDggQEAgU2Ny
b2xsRGlyZWN0aW9uIFNjcm9sbGJhcjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKQogU2Ny
b2xsR3JhbnVsYXJpdHkgU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCkK
IHsKICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0IHx8IG1fcHJl
c3NlZFBhcnQgPT0gQmFja0J1dHRvbkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQgPT0gRm9yd2Fy
ZEJ1dHRvblN0YXJ0UGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0b25FbmRQYXJ0
KQotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOwotICAgIHJldHVybiBTY3JvbGxCeVBhZ2U7
CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKKyAgICByZXR1cm4gU2Ny
b2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3ZlVGh1bWIoaW50
IHBvcywgYm9vbCBkcmFnZ2luZ0RvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2EzM2Q1OGUzOGNh
ZmEyZTgxMzRhNWVlYTdkYzkuLjMyMTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2YzcwNzdmMThkNzQ2
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRv
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJ
T1MubW0KQEAgLTEzOSwxMyArMTM5LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJT1M6OmhhbmRs
ZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50KQogICAgIC8v
IEhvcml6b250YWwKICAgICBpZiAobV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBBeGlzTGF0Y2hW
ZXJ0aWNhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRoKCk7Ci0gICAg
ICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNjcm9sbChk
ZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4ZWwsIGFicyhk
ZWx0YSkpOworICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JUb3VjaFNlcXVl
bmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0LCBTY3JvbGxH
cmFudWxhcml0eTo6UGl4ZWwsIGFicyhkZWx0YSkpOwogICAgIH0KICAgICAKICAgICAvLyBWZXJ0
aWNhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRjaEhvcml6b250
YWwpIHsKICAgICAgICAgaW50IGRlbHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsKLSAgICAgICAg
aGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRh
IDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJzKGRlbHRhKSk7
CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNj
cm9sbChkZWx0YSA8IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5
OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFJldHVybiBmYWxzZSB1
bnRpbCB3ZSBtYW5hZ2UgdG8gc2Nyb2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCByZXR1cm5pbmcg
dHJ1ZSB1bnRpbCB0aGUgZ2VzdHVyZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCAyNDhlM2RjMWUzODIxMjgzYWUwM2RiMmUzMjJjZjE1
ZjZjZmJhYjNlLi5lYTEyZTliZjNjZmM1NTU5NWMwNzYxOGVmMGUzZGNlODhmODhkN2Q2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApAQCAtMTA2MCw3
ICsxMDYwLDcgQEAgTFJFU1VMVCBQb3B1cE1lbnVXaW46OnduZFByb2MoSFdORCBoV25kLCBVSU5U
IG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGEKICAgICAgICAgICAgICAgICAgICAg
LS1pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xs
KGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFicyhpKSk7Cisg
ICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3Jv
bGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5k
ZXggYjA1NzM4NDNhY2E2NTU1ZTU1OTRiYzI1YjcxNzM3Nzc2YzgyMzFlNC4uMGEwNzFmNTQ1ZTM0
NmMxYzYxOWE3N2E1NDM3MWY4NjMwNjk1NmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKQEAgLTkyNSw4ICs5MjUsOCBAQCBib29sIFJlbmRlckJveDo6bG9naWNhbFNj
cm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdAog
ICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IGxheWVyKCkgPyBsYXllcigpLT5zY3JvbGxh
YmxlQXJlYSgpIDogbnVsbHB0cikgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICAvLyBP
biBNYWMgb25seSB3ZSByZXNldCB0aGUgaW5saW5lIGRpcmVjdGlvbiBwb3NpdGlvbiB3aGVuIGRv
aW5nIGEgZG9jdW1lbnQgc2Nyb2xsIChlLmcuLCBoaXR0aW5nIEhvbWUvRW5kKS4KLSAgICAgICAg
aWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5RG9jdW1lbnQpCi0gICAgICAgICAgICBzY3JvbGxl
ZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsSW5saW5l
RGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCkuaXNG
bGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEJ5RG9jdW1lbnQsIG11bHRpcGxpZXIp
OworICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50
KQorICAgICAgICAgICAgc2Nyb2xsZWQgPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxU
b1BoeXNpY2FsKFNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkLCBpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpLCBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQsIG11bHRpcGxpZXIpOwogI2VuZGlmCiAgICAgICAgIGlmIChz
Y3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxUb1BoeXNpY2FsKGRpcmVjdGlvbiwgaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgp
KSwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKQogICAgICAgICAgICAgc2Nyb2xsZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMjEwYjJmNGRh
MmQyMWFjZDAxMDc3ZTgyMDhmZGE0YTM0ODc0M2Y0MS4uY2U3YzFhNjhkMjlmNTMyNmM3ZjQ0Njgx
YmQzMjk1NWVmNTdlNzVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0zMzQzLDcgKzMzNDMsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsQnkoU2Ny
b2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYQogICAgIGlm
ICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2Nyb2xsQnkoZGlyZWN0aW9uLCBncmFudWxhcml0eSkpOworICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNjcm9sbEJ5KGRpcmVjdGlvbiwgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KGdyYW51bGFyaXR5KSkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y2VudGVyU2Vs
ZWN0aW9uSW5WaXNpYmxlQXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiYTc4ZjA5ZTdmNGZmYjQ0
ZmY2YzhmNjI5YWQ0YzZmNDg5ODhiMDkyLi4wZTFjN2Y4ZjcwMjlkNWE0MjUyYTYzNzEzMmMzMmFh
ZmM4NDQxZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU5MTksMTcgKzU5MTksMTcgQEAgc3RhdGlj
IE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWUgZmllbGROYW1lKQogICAgIEJPT0wgZGlyZWN0aW9uSXNIb3Jpem9udGFsID0gZGlyZWN0
aW9uID09IFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbjo6U2Nyb2xsTGVmdCB8fCBkaXJlY3Rpb24g
PT0gV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxSaWdodDsKIAogICAgIHN3aXRjaCAo
aW5jcmVtZW50KSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlEb2N1bWVudDogeworICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3Vt
ZW50OiB7CiAgICAgICAgIENHU2l6ZSBkb2N1bWVudFNpemUgPSBbc2VsZiBjb252ZXJ0UmVjdDpz
ZWxmLmJvdW5kcyB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5zaXplOwogICAgICAgICByZXR1cm4gZGly
ZWN0aW9uSXNIb3Jpem9udGFsID8gZG9jdW1lbnRTaXplLndpZHRoIDogZG9jdW1lbnRTaXplLmhl
aWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQYWdlOiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTogewog
ICAgICAgICBDR1NpemUgcGFnZVNpemUgPSBbc2VsZiBjb252ZXJ0U2l6ZTpDR1NpemVNYWtlKDAs
IFdlYkNvcmU6OlNjcm9sbGJhcjo6cGFnZVN0ZXAoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVj
dCgpLmhlaWdodCgpLCBzZWxmLmJvdW5kcy5zaXplLmhlaWdodCkpIHRvVmlldzpzZWxmLndlYlZp
ZXddOwogICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gcGFnZVNpemUud2lk
dGggOiBwYWdlU2l6ZS5oZWlnaHQ7CiAgICAgfQotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpMaW5lOgogICAgICAgICByZXR1cm4gW3NlbGYgY29udmVydFNpemU6Q0dTaXplTWFrZSgw
LCBXZWJDb3JlOjpTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCkpIHRvVmlldzpzZWxmLndl
YlZpZXddLmhlaWdodDsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3Jv
bGxCeVBpeGVsOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0Fu
aW1hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxp
bmdBbmltYXRvci5tbQppbmRleCBjMzEyMzgzNGU3ZmE5M2MyOTdkNzk3YmU2YTlkN2RlYzViMzlm
Nzc4Li42YjNlZGM3NmIzOTYwNGU1NTU3NTUwMzBhZjUyMWRiZDk2ZTQwN2VkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9y
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5n
QW5pbWF0b3IubW0KQEAgLTIxOSwyMiArMjE5LDIyIEBAIHN0YXRpYyBXZWJDb3JlOjpCb3hTaWRl
IGJveFNpZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgY2Fz
ZSBLZXk6OkxlZnRBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OlJpZ2h0QXJyb3c6CiAgICAgICAg
ICAgICBpZiAoYWx0UHJlc3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Ny
b2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKLSAgICAgICAgICAgIHJldHVybiBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKKyAgICAgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXk6OlVwQXJy
b3c6CiAgICAgICAgIGNhc2UgS2V5OjpEb3duQXJyb3c6CiAgICAgICAgICAgICBpZiAoYWx0UHJl
c3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBpZiAoY21kUHJlc3NlZCkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ7
Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5
TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50OworICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgICAgICBjYXNlIEtleTo6UGFnZVVwOgogICAgICAgICBjYXNlIEtleTo6UGFn
ZURvd246CiAgICAgICAgIGNhc2UgS2V5OjpTcGFjZToKLSAgICAgICAgICAgIHJldHVybiBXZWJD
b3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICBjYXNlIEtleTo6T3Ro
ZXI6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICB9OwogICAg
IH0oKTsKIApAQCAtMjkzLDcgKzI5Myw3IEBAIHN0YXRpYyBXZWJDb3JlOjpCb3hTaWRlIGJveFNp
ZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBfc2Nyb2xsVHJpZ2dl
cmluZ0tleUlzUHJlc3NlZCA9IFlFUzsKICAgICBfY3VycmVudFNjcm9sbCA9IHNjcm9sbDsKIAot
ICAgIGlmIChzY3JvbGwtPmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpTY3JvbGxCeURvY3VtZW50KSB7CisgICAgaWYgKHNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gV2Vi
Q29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KSB7CiAgICAgICAgIF92ZWxvY2l0eSA9
IHsgfTsKICAgICAgICAgW3NlbGYgc3RvcEFuaW1hdGVkU2Nyb2xsXTsKICAgICAgICAgW3NlbGYg
c3RvcERpc3BsYXlMaW5rXTsKQEAgLTU0NSwxMyArNTQ1LDEzIEBAIHN0YXRpYyBXZWJDb3JlOjpG
bG9hdFBvaW50IGZhcnRoZXN0UG9pbnRJbkRpcmVjdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50IGEs
IFdlYkNvCiAKICAgICBpZiAoIV9kZWxlZ2F0ZVJlc3BvbmRzVG9EaXN0YW5jZUZvckluY3JlbWVu
dCkgewogICAgICAgICBzd2l0Y2ggKGluY3JlbWVudCkgewotICAgICAgICBjYXNlIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAgICAgICAgIHJldHVybiBkaXJl
Y3Rpb25Jc0hvcml6b250YWwgPyBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoIDogc2Nyb2xs
Vmlldy5jb250ZW50U2l6ZS5oZWlnaHQ7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZToKICAgICAgICAgICAgIHJldHVybiAoZGlyZWN0aW9uSXNIb3Jpem9udGFs
ID8gc2Nyb2xsVmlldy5mcmFtZS5zaXplLndpZHRoIDogc2Nyb2xsVmlldy5mcmFtZS5zaXplLmhl
aWdodCkgKiBkZWZhdWx0UGFnZVNjcm9sbEZyYWN0aW9uOwotICAgICAgICBjYXNlIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdExpbmVT
Y3JvbGxIZWlnaHQgKiBzY3JvbGxWaWV3Lnpvb21TY2FsZTsKLSAgICAgICAgY2FzZSBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAg
ICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBlMzUwNjZmMzUz
ODVjZGFmYmM4NmVjNzA0M2QxM2Q3NmY3OTY0YTA4Li4wNTMzNWJlMjQ2NDNkNmUzNjFjZDhiYzAy
NmYyMDRhN2I0ZjY0ZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCkBAIC0xMDQsMzEgKzEwNCwzMSBAQCBib29sIFdlYlBh
Z2U6OnBlcmZvcm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2
ZW50JiBrZXlib2FyZAogCiAgICAgc3dpdGNoIChrZXlib2FyZEV2ZW50LndpbmRvd3NWaXJ0dWFs
S2V5Q29kZSgpKSB7CiAgICAgY2FzZSBWS19TUEFDRToKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwga2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBT
Y3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBrZXlib2FyZEV2ZW50
LnNoaWZ0S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19MRUZUOgotICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgVktfUklHSFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdl
dCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFZLX1VQOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19E
T1dOOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeUxp
bmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfSE9NRToKLSAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAg
ICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRv
Y3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19FTkQ6Ci0gICAgICAgIHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1l
bnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX1BSSU9SOgotICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBWS19ORVhUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggMWUyM2FmZmVkZWNhZmRi
Y2RhMzEwMzhjOTFiZjgwOGRhYTg4M2VjMS4uYzBhOThhYzc4ZjgyZTlmNDM5MmU0MWJjYTM1OTUw
ZmMwOGQ5ZTZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dlYlBhZ2VNYWMubW0KQEAgLTQ2NywyNyArNDY3LDI3IEBAIGJvb2wgV2ViUGFnZTo6cGVy
Zm9ybU5vbkVkaXRpbmdCZWhhdmlvckZvclNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3Is
IEtleWJvCiAgICAgCiAgICAgaWYgKCFmcmFtZS0+c2V0dGluZ3MoKS5ldmVudEhhbmRsZXJEcml2
ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQoKSkgewogICAgICAgICBpZiAoc2VsZWN0
b3IgPT0gIm1vdmVVcDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVy
Zm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxh
cml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9CZWdpbm5p
bmdPZlBhcmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVy
Zm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxh
cml0eTo6UGFnZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9CZWdpbm5p
bmdPZkRvY3VtZW50OiIpIHsKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgICAgICAgICBk
aWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9s
bEJ5RG9jdW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOworICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0
LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICB9IGVsc2UgaWYgKHNlbGVj
dG9yID09ICJtb3ZlRG93bjoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAgICBk
aWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xs
R3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRv
RW5kT2ZQYXJhZ3JhcGg6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlk
UGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdy
YW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0Vu
ZE9mRG9jdW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOwotICAgICAgICAgICAg
ZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3Jv
bGxCeURvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9w
YWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOworICAg
ICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxM
ZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICB9IGVsc2UgaWYgKHNl
bGVjdG9yID09ICJtb3ZlTGVmdDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92
ZVdvcmRMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBlcmZv
cm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFudWxh
cml0eTo6UGFnZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlUmlnaHQ6IikK
LSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxSaWdodCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUp
OwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVdvcmRSaWdodDoiKQotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0
LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAg
fQogCiAgICAgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9MZWZ0RW5kT2ZMaW5lOiIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCmluZGV4IGQ1ZWRh
ZTRlYzY1MWM2ZWViMzNmMmY0NGRlY2UzZDE5ZjczMzU4MzUuLjczZWY4NmNiZWRjNjZjYjU1Mjhi
YTU2OTdhZWYzNTY0NWJkNGQ0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViRnJhbWVWaWV3Lm1tCkBAIC02MzMsNyArNjMzLDcgQEAgZW51bSB7CiAKIC0gKEJP
T0wpX3Njcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xs
T3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0eTpXZWJDb3Jl
OjpTY3JvbGxCeURvY3VtZW50XSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJl
Y3Rpb246V2ViQ29yZTo6U2Nyb2xsVXAgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVs
YXJpdHk6OkRvY3VtZW50XSkKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICBpZiAoIVtzZWxmIF9p
c1Njcm9sbGFibGVdKQogICAgICAgICByZXR1cm4gTk87CkBAIC02NDUsNyArNjQ1LDcgQEAgZW51
bSB7CiAKIC0gKEJPT0wpX3Njcm9sbFRvRW5kT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBf
c2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5
OldlYkNvcmU6OlNjcm9sbEJ5RG9jdW1lbnRdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZs
b3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudF0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgaWYg
KCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKICAgICAgICAgcmV0dXJuIE5POwpAQCAtNzQyLDcgKzc0
Miw3IEBAIGVudW0gewogCiAtIChCT09MKV9wYWdlVmVydGljYWxseTooQk9PTCl1cAogewotICAg
IGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9s
bFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeVBh
Z2VdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNv
cmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgCiAgICAg
aWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKQEAgLTc1NCw3ICs3NTQsNyBAQCBlbnVtIHsKIAog
LSAoQk9PTClfcGFnZUhvcml6b250YWxseTooQk9PTClsZWZ0CiB7Ci0gICAgaWYgKFtzZWxmIF9z
Y3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2Vi
Q29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlQYWdlXSkKKyAg
ICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNj
cm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3Jv
bGxHcmFudWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtz
ZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzc2LDcgKzc3Niw3IEBAIGVudW0gewogCiAtIChCT09M
KV9zY3JvbGxMaW5lVmVydGljYWxseTooQk9PTCl1cAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xs
T3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Ny
b2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2Vs
ZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2Vi
Q29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
TGluZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFi
bGVdKQpAQCAtNzg4LDcgKzc4OCw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxMaW5lSG9y
aXpvbnRhbGx5OihCT09MKWxlZnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5E
aXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdo
dCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2VsZiBfc2Ny
b2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNv
cmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lXSkKICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJs
ZV0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443360</attachid>
            <date>2021-11-04 17:22:06 -0700</date>
            <delta_ts>2021-11-08 10:52:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211104172205.patch</filename>
            <type>text/plain</type>
            <size>37389</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ2NDM4MmY1NDAzOTA2
NjEwODk1ZGNkYWMwNTk4NjA0NjAxZTVhNy4uNzg1ZGY3ODA1NjQxNTkzZTVlNTc3NzNmMzhkMjdj
Mzk5MmVhZTgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTA0ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEZyYXNlci4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNjcm9sbEJ5TGluZXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
c2Nyb2xsQnlQYWdlcyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVTY3JvbGxQYWdlQmFja3dhcmQpOgorICAgICAgICAoV2Vi
Q29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VGb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1
dGVTY3JvbGxMaW5lVXApOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbExpbmVEb3du
KToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvRW5kT2ZEb2N1bWVudCk6CisgICAg
ICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2hlZWxHcmFu
dWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpkZWZhdWx0U3BhY2VFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpzY3JvbGxEaXN0YW5jZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRD
b250ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OnNjcm9sbERp
c3RhbmNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0
b3I6OmtleWJvYXJkU2Nyb2xsRm9yS2V5Ym9hcmRFdmVudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yOjpiZWdpbktleWJvYXJkU2Nyb2xsR2VzdHVy
ZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6cHJl
c3NlZFBhcnRTY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Njcm9s
bEFuaW1hdG9ySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JJT1M6Omhh
bmRsZVRvdWNoRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51V2luOjp3bmRQcm9jKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9n
aWNhbFNjcm9sbCk6CisKIDIwMjEtMTEtMDQgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzY3JvbGxiYXIgb3JpZW50YXRpb24gYW4g
ZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCAwNDM5YWM0MzM1ODg4MGRmMWRjZWRmNWVjNDBlMDQ4ODc2
Yzc1ZGM4Li44OWZkNzBhOTkwMmQwY2Q2NTExZTQzZTUxNjgyYmNhOWNhNDdkZGE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTExLTA0ICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1v
dWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFu
IGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnNjcm9sbEJ5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBrZXlib2FyZFNjcm9sbFZp
ZXdBbmltYXRvcjpkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbToKKyAgICAgICAg
KC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtleWJvYXJkU2Nyb2xsRm9yRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBiZWdpbldpdGhFdmVudDpd
KToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBkaXN0YW5jZUZvcklu
Y3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3Rr
L1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRGVmYXVs
dEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGVyZm9ybU5vbkVkaXRp
bmdCZWhhdmlvckZvclNlbGVjdG9yKToKKwogMjAyMS0xMS0wNCAgTmlrb2xhb3MgTW91Y2h0YXJp
cyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbGJhciBvcmll
bnRhdGlvbiBhbiBlbnVtIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNGY4
YzY5MWE4NThkY2NjM2JhOGY1OTMyNGExNmU2MjI5MzQ1YjMxOS4uMGJlOTFkMmRiM2I2NGYzNmQ1
NzFhOTc4ZmY2M2JmOThmYzFiZDZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIxLTExLTA0ICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFy
aXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0g
Y2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIFdl
YlZpZXcvV2ViRnJhbWVWaWV3Lm1tOgorICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbFRv
QmVnaW5uaW5nT2ZEb2N1bWVudF0pOgorICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbFRv
RW5kT2ZEb2N1bWVudF0pOgorICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3BhZ2VWZXJ0aWNhbGx5
Ol0pOgorICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3BhZ2VIb3Jpem9udGFsbHk6XSk6CisgICAg
ICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsTGluZVZlcnRpY2FsbHk6XSk6CisgICAgICAgICgt
W1dlYkZyYW1lVmlldyBfc2Nyb2xsTGluZUhvcml6b250YWxseTpdKToKKwogMjAyMS0xMS0wMyAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgaU9T
IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA5NzgxZWQxZjIxMTRkMTA2YTY0
N2E4NjBkOWY4OGM5ZGIzODhmY2RlLi4zYzc3MGM0YmU4ZGE1MTZlYWY4YWMyZTYxOWU3ODBjZWE3
NWE1NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMDk2LDEyICsxMDk2LDEyIEBAIHZv
aWQgRWxlbWVudDo6c2Nyb2xsQnlVbml0cyhpbnQgdW5pdHMsIFNjcm9sbEdyYW51bGFyaXR5IGdy
YW51bGFyaXR5KQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5TGluZXMoaW50IGxpbmVzKQogewot
ICAgIHNjcm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEJ5TGluZSk7CisgICAgc2Nyb2xsQnlVbml0
cyhsaW5lcywgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNj
cm9sbEJ5UGFnZXMoaW50IHBhZ2VzKQogewotICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9s
bEJ5UGFnZSk7CisgICAgc2Nyb2xsQnlVbml0cyhwYWdlcywgU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2UpOwogfQogCiBzdGF0aWMgZG91YmxlIGxvY2FsWm9vbUZvclJlbmRlcmVyKGNvbnN0IFJlbmRl
ckVsZW1lbnQmIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3JDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKaW5kZXggMjY1OWQyNDBiNzdlMjAxY2M4ODM5NjA5N2IwNjA4YzU4M2M2YzZhYi4uZjE4NzU5
ZDA2MmRmNTk2Zjk0NTdkOTE5MGE1NzBhNzE0OTJlMzRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC05ODksMzIgKzk4OSwzMiBAQCBzdGF0aWMgYm9vbCBl
eGVjdXRlUmVtb3ZlRm9ybWF0KEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291
cmNlLCBjb25zdAogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsUGFnZUJhY2t3YXJkKEZyYW1l
JiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewot
ICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHko
U2Nyb2xsQmxvY2tEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4g
ZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2Nr
RGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGlj
IGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VGb3J3YXJkKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0
b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVu
dEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25G
b3J3YXJkLCBTY3JvbGxCeVBhZ2UpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5s
b2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3Jv
bGxHcmFudWxhcml0eTo6UGFnZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxMaW5l
VXAoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmlu
ZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5
KFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIo
KS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwog
fQogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsTGluZURvd24oRnJhbWUmIGZyYW1lLCBFdmVu
dCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZy
YW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbERvd24sIFNjcm9sbEJ5
TGluZSk7CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5
KFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wg
ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudChGcmFtZSYgZnJhbWUsIEV2ZW50Kiwg
RWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUu
ZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0
aW9uQmFja3dhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25CYWNr
d2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKIH0KIAogc3RhdGljIGJvb2wgZXhl
Y3V0ZVNjcm9sbFRvRW5kT2ZEb2N1bWVudChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29t
bWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5k
bGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2Fy
ZCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxv
Z2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQsIFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RB
bGwoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmlu
ZyYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNTdiMzM1N2ExNTQ2Mjky
NGMwMTE4ZWYyNzZlNDk5YzAxMjQ1NDIxMS4uMTljZjBhODY4YTkwODYwMTI5Nzc5Y2E5NWQwNjQz
OTA3YjUxNWMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjk4LDEz
ICsyOTgsMTMgQEAgc3RhdGljIGlubGluZSBTY3JvbGxHcmFudWxhcml0eSB3aGVlbEdyYW51bGFy
aXR5VG9TY3JvbGxHcmFudWxhcml0eSh1bnNpZ25lZCBkZWwKIHsKICAgICBzd2l0Y2ggKGRlbHRh
TW9kZSkgewogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BBR0U6Ci0gICAgICAgIHJl
dHVybiBTY3JvbGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFn
ZTsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9MSU5FOgotICAgICAgICByZXR1cm4g
U2Nyb2xsQnlMaW5lOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAg
ICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVMVEFfUElYRUw6Ci0gICAgICAgIHJldHVybiBTY3Jv
bGxCeVBpeGVsOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOwogICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBTY3JvbGxCeVBpeGVsOworICAgICAgICByZXR1cm4g
U2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOwogICAgIH0KIH0KIApAQCAtMTI4Nyw3ICsxMjg3LDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxMb2dp
Y2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2MKICAgICBib29sIHNjcm9sbGVkID0gZmFsc2U7CiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gTWFjIGFsc28gcmVzZXRzIHRoZSBzY3JvbGwgcG9z
aXRpb24gaW4gdGhlIGlubGluZSBkaXJlY3Rpb24uCi0gICAgaWYgKGdyYW51bGFyaXR5ID09IFNj
cm9sbEJ5RG9jdW1lbnQgJiYgdmlldyAmJiB2aWV3LT5sb2dpY2FsU2Nyb2xsKFNjcm9sbElubGlu
ZURpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KSkKKyAgICBpZiAoZ3JhbnVsYXJp
dHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNh
bFNjcm9sbChTY3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KSkKICAgICAgICAgc2Nyb2xsZWQgPSB0cnVlOwogI2VuZGlmCiAgICAgaWYgKHZp
ZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChkaXJlY3Rpb24sIGdyYW51bGFyaXR5KSkKQEAgLTQy
NTcsNyArNDI1Nyw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpkZWZhdWx0U3BhY2VFdmVudEhhbmRs
ZXIoS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIFNjcm9sbExv
Z2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uID0gZXZlbnQuc2hpZnRLZXkoKSA/IFNjcm9sbEJsb2Nr
RGlyZWN0aW9uQmFja3dhcmQgOiBTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQ7Ci0gICAgaWYg
KGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEJ5UGFnZSkpIHsKKyAgICBp
ZiAobG9naWNhbFNjcm9sbE92ZXJmbG93KGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2UpKSB7CiAgICAgICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC00MjY2LDcgKzQyNjYsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVs
dFNwYWNlRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgIGlmICghdmlldykK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYm9vbCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJhbWUuc2V0
dGluZ3MoKS5ldmVudEhhbmRsZXJEcml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQo
KSA/IHN0YXJ0S2V5Ym9hcmRTY3JvbGxpbmcoZXZlbnQpIDogdmlldy0+bG9naWNhbFNjcm9sbChk
aXJlY3Rpb24sIFNjcm9sbEJ5UGFnZSk7CisgICAgYm9vbCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJh
bWUuc2V0dGluZ3MoKS5ldmVudEhhbmRsZXJEcml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0Vu
YWJsZWQoKSA/IHN0YXJ0S2V5Ym9hcmRTY3JvbGxpbmcoZXZlbnQpIDogdmlldy0+bG9naWNhbFNj
cm9sbChkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICBpZiAoZGVmYXVs
dEhhbmRsZWQpCiAgICAgICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CkBAIC00MzA4
LDEzICs0MzA4LDEzIEBAIGZsb2F0IEV2ZW50SGFuZGxlcjo6c2Nyb2xsRGlzdGFuY2UoU2Nyb2xs
RGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkKICAgICB9KCk7CiAKICAgICBz
d2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlMaW5lOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgIHJldHVy
biBzY3JvbGxiYXItPmxpbmVTdGVwKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Ny
b2xsQnlQYWdlOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAgIHJl
dHVybiBzY3JvbGxiYXItPnBhZ2VTdGVwKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
U2Nyb2xsQnlEb2N1bWVudDoKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoK
ICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+dG90YWxTaXplKCk7Ci0gICAgY2FzZSBTY3JvbGxH
cmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQ
aXhlbDoKICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGl4ZWxTdGVwKCk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMWNhYzFjMzBlYzdhZjQyN2M5ZDEyYmM3MDIz
Yzc0NmRjNDBiZDc4Ni4uOTBjNjc1MTlkNjRhMTNmMWFmYzlmZjM0NzRkZmEzOGMxNTlhZmM3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzgxNyw3ICszODE3LDcgQEAgdm9pZCBG
cmFtZVZpZXc6OnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbiwgU2MKIAogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9y
Rml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9u
LCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKLSAgICBpZiAoZ3JhbnVsYXJpdHkg
IT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IFNjcm9sbGJhck9yaWVudGF0aW9uOjpI
b3Jpem9udGFsKQorICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxHcmFudWxhcml0eTo6UGFn
ZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCkKICAg
ICAgICAgcmV0dXJuIHN0ZXA7CiAKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9z
aXRpb25lZE9iamVjdHMgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcAppbmRleCBmYmRlYWZmZDJiYzRhMmY4
ZDE3MjIwM2UxOTA5ZmNlOTdkMTk4NGYzLi5lNWFkMmZkYzE0ZDRhNjVjZWRlYzY5NDgzOWQzMjIw
OGQ2OTY1ZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2Fy
ZFNjcm9sbGluZ0FuaW1hdG9yLmNwcApAQCAtMTU1LDEzICsxNTUsMTMgQEAgZmxvYXQgS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xsRGlzdGFuY2UoU2Nyb2xsRGlyZWN0aW9uIGRpcmVj
dGlvbiwgU2Nyb2wKIAogICAgIGlmIChzY3JvbGxiYXIpIHsKICAgICAgICAgc3dpdGNoIChncmFu
dWxhcml0eSkgewotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6
CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1
cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5
OjpTY3JvbGxCeVBhZ2U6CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAg
ICAgICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgICAgICBjYXNlIFNj
cm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OgorICAgICAgICBjYXNlIFNjcm9sbEdy
YW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFs
U2l6ZSgpOwotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgor
ICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVy
biBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjAyLDE4ICsy
MDIsMTggQEAgc3RkOjpvcHRpb25hbDxLZXlib2FyZFNjcm9sbD4gS2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2EKICAgICAgICAgc3dpdGNoIChrZXkudmFs
dWUoKSkgewogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpMZWZ0QXJyb3c6CiAg
ICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlJpZ2h0QXJyb3c6Ci0gICAgICAgICAg
ICByZXR1cm4gZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdl
IDogU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIHJldHVybiBl
dmVudC5hbHRLZXkoKSA/IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlIDogU2Nyb2xsR3JhbnVsYXJp
dHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlVwQXJyb3c6CiAg
ICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAg
IGlmIChldmVudC5tZXRhS2V5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51
bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OworICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBpZiAoZXZlbnQuYWx0S2V5KCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7Ci0g
ICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CisgICAgICAgICAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3Jv
bGxpbmdLZXk6OlNwYWNlOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdl
VXA6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlBhZ2VEb3duOgotICAgICAg
ICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAg
ICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgIH07CiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfSgpOwpAQCAtMjY3LDcgKzI2Nyw3IEBA
IGJvb2wgS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6YmVnaW5LZXlib2FyZFNjcm9sbEdlc3R1
cmUoY29uc3QgUGxhdGZvcm1LZXlib2FyCiAgICAgaWYgKG1fc2Nyb2xsVHJpZ2dlcmluZ0tleUlz
UHJlc3NlZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG1fY3VycmVudEtleWJv
YXJkU2Nyb2xsLT5ncmFudWxhcml0eSA9PSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1
bWVudCkgeworICAgIGlmIChtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0g
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KSB7CiAgICAgICAgIG1fdmVsb2NpdHkgPSB7IH07
CiAgICAgICAgIHN0b3BLZXlib2FyZFNjcm9sbEFuaW1hdGlvbigpOwogICAgICAgICBhdXRvIG5l
d1Bvc2l0aW9uID0gSW50UG9pbnQobV9zY3JvbGxBbmltYXRvci5jdXJyZW50UG9zaXRpb24oKSAr
IG1fY3VycmVudEtleWJvYXJkU2Nyb2xsLT5vZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGJiZDk0ZGI0ZWQ1NGQxODA2OWM5OTkzNGNhNGUz
YmQzMjQ2YTkxYjMuLjA1MGM2NmY4Y2I4NTdlMDdlZDZkZDZlYzZkYTZmYWU1YjU2MmQ2NjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTIxNyw3ICsy
MTcsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAg
ICAgICAgICAgICAgIGRlbHRhWSA9IC1kZWx0YVk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBTY3JvbGxCeVBpeGVsLCB2
ZXJ0aWNhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVksIGJlaGF2aW9yKTsKKyAgICAg
ICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6VmVydGljYWwsIFNjcm9sbEdyYW51
bGFyaXR5OjpQaXhlbCwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBi
ZWhhdmlvcik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZGVsdGFYKSB7CkBAIC0yMjcsNyAr
MjI3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAg
ICAgICAgICAgICAgICBkZWx0YVggPSAtZGVsdGFYOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCBTY3JvbGxCeVBpeGVs
LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwor
ICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCBTY3Jv
bGxHcmFudWxhcml0eTo6UGl4ZWwsIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAt
ZGVsdGFYLCBiZWhhdmlvcik7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCBkYzg4OGMwOGNkNzFiMWFm
NjNkOWMzNDE5N2ViMjhkMDVlNzY3ODQ4Li40NTRjYTQ1NGU0YjZhNmZkMGI5ZGUzNTBmYzk2ZWE0
NmIwMzJiZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTEzMCwx
MSArMTMwLDExIEBAIGlubGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Ny
b2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wKICAgICByZXR1cm4gU2Nyb2xsVXA7
CiB9CiAKLWVudW0gU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90IHsKLSAgICBTY3JvbGxCeUxp
bmUsCi0gICAgU2Nyb2xsQnlQYWdlLAotICAgIFNjcm9sbEJ5RG9jdW1lbnQsCi0gICAgU2Nyb2xs
QnlQaXhlbAorZW51bSBjbGFzcyBTY3JvbGxHcmFudWxhcml0eSA6IHVpbnQ4X3QgeworICAgIExp
bmUsCisgICAgUGFnZSwKKyAgICBEb2N1bWVudCwKKyAgICBQaXhlbAogfTsKIAogZW51bSBTY3Jv
bGxFbGFzdGljaXR5IDogdWludDhfdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKaW5kZXggYjU1MmQ0ZDgxMzFlZWVhNzAwOWRkZTMwZjRjYzBkNmRlNzE0MTFh
MS4uOGYyMGNlYzg1NDEzYmVhZGNiNDdiN2UyMTgwMzlkN2UyNDY4OGU4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMTEzLDE2ICsxMTMsMTYgQEAg
Ym9vbCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNj
cm9sbEdyYW51bGFyaXR5IGdyYW51bGEKIAogICAgIGZsb2F0IHN0ZXAgPSAwOwogICAgIHN3aXRj
aCAoZ3JhbnVsYXJpdHkpIHsKLSAgICBjYXNlIFNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5saW5lU3RlcCgp
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9s
bEdyYW51bGFyaXR5OjpQYWdlOgogICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5wYWdlU3RlcCgp
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnRv
dGFsU2l6ZSgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5UGl4ZWw6CisgICAg
Y2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXIt
PnBpeGVsU3RlcCgpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyLmNwcAppbmRleCA2YTRhNTc0NWEwMGZiNzEwZWFlZTMzYjNkY2NiMDM4MDZjMTRh
YTM3Li42MjhkYzFjZTJkMGE4YzdhMzAyODEzZTQ1MDYzNjQwODAxN2Y5N2RkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTIzNCw4ICsyMzQsOCBAQCBTY3JvbGxEaXJl
Y3Rpb24gU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigpCiBTY3JvbGxHcmFu
dWxhcml0eSBTY3JvbGxiYXI6OnByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKQogewogICAg
IGlmIChtX3ByZXNzZWRQYXJ0ID09IEJhY2tCdXR0b25TdGFydFBhcnQgfHwgbV9wcmVzc2VkUGFy
dCA9PSBCYWNrQnV0dG9uRW5kUGFydCB8fCAgbV9wcmVzc2VkUGFydCA9PSBGb3J3YXJkQnV0dG9u
U3RhcnRQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gRm9yd2FyZEJ1dHRvbkVuZFBhcnQpCi0gICAg
ICAgIHJldHVybiBTY3JvbGxCeUxpbmU7Ci0gICAgcmV0dXJuIFNjcm9sbEJ5UGFnZTsKKyAgICAg
ICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOworICAgIHJldHVybiBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZTsKIH0KIAogdm9pZCBTY3JvbGxiYXI6Om1vdmVUaHVtYihpbnQgcG9zLCBi
b29sIGRyYWdnaW5nRG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsQW5pbWF0b3JJT1MubW0KaW5kZXggMTYyZDYzOWZmMzFjYTMzZDU4ZTM4Y2FmYTJlODEz
NGE1ZWVhN2RjOS4uMzIxNTFiMGM2OGE3MjZiYjEwOGI1MGMxNTZjNzA3N2YxOGQ3NDZiNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQpA
QCAtMTM5LDEzICsxMzksMTMgQEAgYm9vbCBTY3JvbGxBbmltYXRvcklPUzo6aGFuZGxlVG91Y2hF
dmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIHRvdWNoRXZlbnQpCiAgICAgLy8gSG9yaXpv
bnRhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRjaFZlcnRpY2Fs
KSB7CiAgICAgICAgIGludCBkZWx0YSA9IHRvdWNoRGVsdGEud2lkdGgoKTsKLSAgICAgICAgaGFu
ZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRhIDwg
MCA/IFNjcm9sbExlZnQgOiBTY3JvbGxSaWdodCwgU2Nyb2xsQnlQaXhlbCwgYWJzKGRlbHRhKSk7
CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNj
cm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFy
aXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFZlcnRpY2FsCiAg
ICAgaWYgKG1fdG91Y2hTY3JvbGxBeGlzTGF0Y2ggIT0gQXhpc0xhdGNoSG9yaXpvbnRhbCkgewog
ICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLmhlaWdodCgpOwotICAgICAgICBoYW5kbGVk
IHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JUb3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAwID8g
U2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeVBpeGVsLCBhYnMoZGVsdGEpKTsKKyAgICAg
ICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRl
bHRhIDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVs
LCBhYnMoZGVsdGEpKTsKICAgICB9CiAgICAgCiAgICAgLy8gUmV0dXJuIGZhbHNlIHVudGlsIHdl
IG1hbmFnZSB0byBzY3JvbGwgYXQgYWxsLCBhbmQgdGhlbiBrZWVwIHJldHVybmluZyB0cnVlIHVu
dGlsIHRoZSBnZXN0dXJlIGVuZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vUG9wdXBNZW51V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1
cE1lbnVXaW4uY3BwCmluZGV4IGIxNDNiZmEyZjdmODU1MDFiM2QwODkyMjZjOGU2MDhjMTRmZTli
NDIuLmUyYzEzOGU5MTcxOTg4Y2VjODgyNWE5NzRlYmY0MTc4ZmViNTI4ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCkBAIC0xMDYwLDcgKzEwNjAs
NyBAQCBMUkVTVUxUIFBvcHVwTWVudVdpbjo6d25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2Fn
ZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYQogICAgICAgICAgICAgICAgICAgICAtLWk7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAg
PyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSwgYWJzKGkpKTsKKyAgICAgICAg
ICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24s
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lLCBhYnMoaSkpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBiMTIw
MjEyMDc1OTRiODQ3ZjJiYzJlMTYyZGIxN2NiYjBjYjg2ZWQ5Li4xNjA3NWIxZjVkNmY4YmQ0ZDg1
NjQ3ZmZhODZlYWI3ZGQyY2VmZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcApAQCAtOTI1LDggKzkyNSw4IEBAIGJvb2wgUmVuZGVyQm94Ojpsb2dpY2FsU2Nyb2xsKFNj
cm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0CiAgICAgaWYg
KGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXIoKSA/IGxheWVyKCktPnNjcm9sbGFibGVBcmVh
KCkgOiBudWxscHRyKSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIC8vIE9uIE1hYyBv
bmx5IHdlIHJlc2V0IHRoZSBpbmxpbmUgZGlyZWN0aW9uIHBvc2l0aW9uIHdoZW4gZG9pbmcgYSBk
b2N1bWVudCBzY3JvbGwgKGUuZy4sIGhpdHRpbmcgSG9tZS9FbmQpLgotICAgICAgICBpZiAoZ3Jh
bnVsYXJpdHkgPT0gU2Nyb2xsQnlEb2N1bWVudCkKLSAgICAgICAgICAgIHNjcm9sbGVkID0gc2Ny
b2xsYWJsZUFyZWEtPnNjcm9sbChsb2dpY2FsVG9QaHlzaWNhbChTY3JvbGxJbmxpbmVEaXJlY3Rp
b25CYWNrd2FyZCwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKSwgU2Nyb2xsQnlEb2N1bWVudCwgbXVsdGlwbGllcik7CisgICAg
ICAgIGlmIChncmFudWxhcml0eSA9PSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpCisgICAg
ICAgICAgICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2lj
YWwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCksIHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEdyYW51bGFy
aXR5OjpEb2N1bWVudCwgbXVsdGlwbGllcik7CiAjZW5kaWYKICAgICAgICAgaWYgKHNjcm9sbGFi
bGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoZGlyZWN0aW9uLCBpc0hvcml6b250YWxX
cml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpLCBncmFu
dWxhcml0eSwgbXVsdGlwbGllcikpCiAgICAgICAgICAgICBzY3JvbGxlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkOWE4Mjk4MjQyOWU0YWM2
ZTNlNjcwNjdhNzcyNjJkOGVhZjNlNWZjLi4wOTlhN2RlOWRhOWZlN2FjNTJmNTAwMzI1NDNiZjA1
NjBhYmMxYWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTMyNjksNyArMzI2OSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzY3JvbGxCeShTY3JvbGxEaXJl
Y3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAgICAgaWYgKCFoYXNS
dW5uaW5nUHJvY2VzcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTY3JvbGxCeShkaXJlY3Rpb24sIGdyYW51bGFyaXR5KSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2Nyb2xsQnkoZGlyZWN0aW9uLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
Z3JhbnVsYXJpdHkpKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpjZW50ZXJTZWxlY3Rpb25J
blZpc2libGVBcmVhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGJhNzhmMDllN2Y0ZmZiNDRmZjZjOGY2
MjlhZDRjNmY0ODk4OGIwOTIuLjBlMWM3ZjhmNzAyOWQ1YTQyNTJhNjM3MTMyYzMyYWFmYzg0NDFl
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTkxOSwxNyArNTkxOSwxNyBAQCBzdGF0aWMgTlNTdHJp
bmcgKmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBm
aWVsZE5hbWUpCiAgICAgQk9PTCBkaXJlY3Rpb25Jc0hvcml6b250YWwgPSBkaXJlY3Rpb24gPT0g
V2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxMZWZ0IHx8IGRpcmVjdGlvbiA9PSBXZWJD
b3JlOjpTY3JvbGxEaXJlY3Rpb246OlNjcm9sbFJpZ2h0OwogCiAgICAgc3dpdGNoIChpbmNyZW1l
bnQpIHsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3Vt
ZW50OiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6IHsK
ICAgICAgICAgQ0dTaXplIGRvY3VtZW50U2l6ZSA9IFtzZWxmIGNvbnZlcnRSZWN0OnNlbGYuYm91
bmRzIHRvVmlldzpzZWxmLndlYlZpZXddLnNpemU7CiAgICAgICAgIHJldHVybiBkaXJlY3Rpb25J
c0hvcml6b250YWwgPyBkb2N1bWVudFNpemUud2lkdGggOiBkb2N1bWVudFNpemUuaGVpZ2h0Owog
ICAgIH0KLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U6
IHsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOiB7CiAgICAgICAg
IENHU2l6ZSBwYWdlU2l6ZSA9IFtzZWxmIGNvbnZlcnRTaXplOkNHU2l6ZU1ha2UoMCwgV2ViQ29y
ZTo6U2Nyb2xsYmFyOjpwYWdlU3RlcChfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkuaGVp
Z2h0KCksIHNlbGYuYm91bmRzLnNpemUuaGVpZ2h0KSkgdG9WaWV3OnNlbGYud2ViVmlld107CiAg
ICAgICAgIHJldHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBwYWdlU2l6ZS53aWR0aCA6IHBh
Z2VTaXplLmhlaWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlMaW5lOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmU6CiAgICAgICAgIHJldHVybiBbc2VsZiBjb252ZXJ0U2l6ZTpDR1NpemVNYWtlKDAsIFdlYkNv
cmU6OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkgdG9WaWV3OnNlbGYud2ViVmlld10u
aGVpZ2h0OwotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4
ZWw6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1h
dG9yLm1tCmluZGV4IGMzMTIzODM0ZTdmYTkzYzI5N2Q3OTdiZTZhOWQ3ZGVjNWIzOWY3NzguLjZi
M2VkYzc2YjM5NjA0ZTU1NTc1NTAzMGFmNTIxZGJkOTZlNDA3ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
ci5tbQpAQCAtMjE5LDIyICsyMTksMjIgQEAgc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lk
ZShXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgICAgICBjYXNlIEtleTo6
TGVmdEFycm93OgogICAgICAgICBjYXNlIEtleTo6UmlnaHRBcnJvdzoKICAgICAgICAgICAgIGlm
IChhbHRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6U2Nyb2xsQnlQYWdlOwotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleTo6VXBBcnJvdzoKICAg
ICAgICAgY2FzZSBLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAgIGlmIChhbHRQcmVzc2VkKQot
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQYWdlOworICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6UGFnZTsKICAgICAgICAgICAgIGlmIChjbWRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKLSAgICAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOwor
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1l
bnQ7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7
CiAgICAgICAgIGNhc2UgS2V5OjpQYWdlVXA6CiAgICAgICAgIGNhc2UgS2V5OjpQYWdlRG93bjoK
ICAgICAgICAgY2FzZSBLZXk6OlNwYWNlOgotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgIGNhc2UgS2V5OjpPdGhlcjoKICAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIH07CiAgICAgfSgpOwog
CkBAIC0yOTMsNyArMjkzLDcgQEAgc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lkZShXZWJD
b3JlOjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIF9zY3JvbGxUcmlnZ2VyaW5nS2V5
SXNQcmVzc2VkID0gWUVTOwogICAgIF9jdXJyZW50U2Nyb2xsID0gc2Nyb2xsOwogCi0gICAgaWYg
KHNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9s
bEJ5RG9jdW1lbnQpIHsKKyAgICBpZiAoc2Nyb2xsLT5ncmFudWxhcml0eSA9PSBXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpIHsKICAgICAgICAgX3ZlbG9jaXR5ID0geyB9Owog
ICAgICAgICBbc2VsZiBzdG9wQW5pbWF0ZWRTY3JvbGxdOwogICAgICAgICBbc2VsZiBzdG9wRGlz
cGxheUxpbmtdOwpAQCAtNTQ1LDEzICs1NDUsMTMgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9p
bnQgZmFydGhlc3RQb2ludEluRGlyZWN0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgYSwgV2ViQ28K
IAogICAgIGlmICghX2RlbGVnYXRlUmVzcG9uZHNUb0Rpc3RhbmNlRm9ySW5jcmVtZW50KSB7CiAg
ICAgICAgIHN3aXRjaCAoaW5jcmVtZW50KSB7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Ny
b2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklz
SG9yaXpvbnRhbCA/IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGggOiBzY3JvbGxWaWV3LmNv
bnRlbnRTaXplLmhlaWdodDsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlOgogICAgICAgICAgICAgcmV0dXJuIChkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBzY3Jv
bGxWaWV3LmZyYW1lLnNpemUud2lkdGggOiBzY3JvbGxWaWV3LmZyYW1lLnNpemUuaGVpZ2h0KSAq
IGRlZmF1bHRQYWdlU2Nyb2xsRnJhY3Rpb247Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6TGluZToKICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0TGluZVNjcm9sbEhl
aWdodCAqIHNjcm9sbFZpZXcuem9vbVNjYWxlOwotICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmluZGV4IGUzNTA2NmYzNTM4NWNkYWZi
Yzg2ZWM3MDQzZDEzZDc2Zjc5NjRhMDguLjA1MzM1YmUyNDY0M2Q2ZTM2MWNkOGJjMDI2ZjIwNGE3
YjRmNjRmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvV2ViUGFnZUd0ay5jcHAKQEAgLTEwNCwzMSArMTA0LDMxIEBAIGJvb2wgV2ViUGFnZTo6cGVy
Zm9ybURlZmF1bHRCZWhhdmlvckZvcktleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGtl
eWJvYXJkCiAKICAgICBzd2l0Y2ggKGtleWJvYXJkRXZlbnQud2luZG93c1ZpcnR1YWxLZXlDb2Rl
KCkpIHsKICAgICBjYXNlIFZLX1NQQUNFOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBr
ZXlib2FyZEV2ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5
UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIGtleWJvYXJkRXZlbnQuc2hpZnRL
ZXkoKSA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsUmlnaHQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgVktfVVA6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3Jv
bGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xs
R3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0RPV046Ci0g
ICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7Cisg
ICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19IT01FOgotICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAgc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgIHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdl
dCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERv
d24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERv
d24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCAxZTIzYWZmZWRlY2FmZGJjZGEzMTAz
OGM5MWJmODA4ZGFhODgzZWMxLi5jMGE5OGFjNzhmODJlOWY0MzkyZTQxYmNhMzU5NTBmYzA4ZDll
NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2Vi
UGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2Vi
UGFnZU1hYy5tbQpAQCAtNDY3LDI3ICs0NjcsMjcgQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtTm9u
RWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgS2V5Ym8K
ICAgICAKICAgICBpZiAoIWZyYW1lLT5zZXR0aW5ncygpLmV2ZW50SGFuZGxlckRyaXZlblNtb290
aEtleWJvYXJkU2Nyb2xsaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChzZWxlY3RvciA9PSAi
bW92ZVVwOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09mUGFy
YWdyYXBoOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09mRG9j
dW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKLSAgICAgICAgICAgIGRpZFBlcmZv
cm1BY3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlEb2N1
bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAgICAgICBk
aWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVEb3duOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZv
cm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxh
cml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9FbmRPZlBh
cmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3Jt
QWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJp
dHk6OlBhZ2UpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvRW5kT2ZEb2N1
bWVudDoiKSB7Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgICAgICAgICBkaWRQZXJm
b3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5RG9j
dW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3Ig
PT0gIm1vdmVMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBl
cmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZExl
ZnQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxMZWZ0LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlv
biA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVSaWdodDoiKQotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0
LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAg
ICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZFJpZ2h0OiIpCi0gICAgICAgICAgICBk
aWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9s
bEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICB9CiAKICAg
ICBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0xlZnRFbmRPZkxpbmU6IikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KaW5kZXggZDVlZGFlNGVjNjUx
YzZlZWIzM2YyZjQ0ZGVjZTNkMTlmNzMzNTgzNS4uNzNlZjg2Y2JlZGM2NmNiNTUyOGJhNTY5N2Fl
ZjM1NjQ1YmQ0ZDQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJGcmFtZVZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJGcmFtZVZpZXcubW0KQEAgLTYzMyw3ICs2MzMsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Ny
b2xsVG9CZWdpbm5pbmdPZkRvY3VtZW50CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxv
d0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbFVwIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9s
bEJ5RG9jdW1lbnRdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpX
ZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
RG9jdW1lbnRdKQogICAgICAgICByZXR1cm4gWUVTOwogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xs
YWJsZV0pCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTY0NSw3ICs2NDUsNyBAQCBlbnVtIHsKIAog
LSAoQk9PTClfc2Nyb2xsVG9FbmRPZkRvY3VtZW50CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxP
dmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29y
ZTo6U2Nyb2xsQnlEb2N1bWVudF0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGly
ZWN0aW9uOldlYkNvcmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50XSkKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICBpZiAoIVtzZWxm
IF9pc1Njcm9sbGFibGVdKQogICAgICAgICByZXR1cm4gTk87CkBAIC03NDIsNyArNzQyLDcgQEAg
ZW51bSB7CiAKIC0gKEJPT0wpX3BhZ2VWZXJ0aWNhbGx5OihCT09MKXVwCiB7Ci0gICAgaWYgKFtz
ZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBX
ZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5UGFnZV0pCisg
ICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Ny
b2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpQYWdlXSkKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICAKICAgICBpZiAoIVtz
ZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzU0LDcgKzc1NCw3IEBAIGVudW0gewogCiAtIChCT09M
KV9wYWdlSG9yaXpvbnRhbGx5OihCT09MKWxlZnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92
ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpT
Y3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeVBhZ2VdKQorICAgIGlmIChb
c2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVm
dCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlXSkKICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lz
U2Nyb2xsYWJsZV0pCkBAIC03NzYsNyArNzc2LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9s
bExpbmVWZXJ0aWNhbGx5OihCT09MKXVwCiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxv
d0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3du
IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5TGluZV0pCisgICAgaWYgKFtzZWxmIF9zY3Jv
bGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpT
Y3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lXSkK
ICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCkBA
IC03ODgsNyArNzg4LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9sbExpbmVIb3Jpem9udGFs
bHk6KEJPT0wpbGVmdAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlv
bjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdyYW51
bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5TGluZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVy
Zmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Ny
b2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmVdKQog
ICAgICAgICByZXR1cm4gWUVTOwogCiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggNjU2OTk3ODEyODUwMGY3YjBhM2FiMGUx
NjMzMGYwNTU3OWIzOWNmZi4uYWIzZDBhYjA2Mjg2ZjU0NzY1ZDg4MDEzODE1Mzk0Mjk5YjI4MWNj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTIwODQsMTkgKzIwODQsMTkg
QEAgYm9vbCBXZWJWaWV3Ojp2ZXJ0aWNhbFNjcm9sbChXUEFSQU0gd1BhcmFtLCBMUEFSQU0gLyps
UGFyYW0qLykKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2gg
KExPV09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FRE9XTjoKLSAgICAgICAgZ3JhbnVs
YXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVs
YXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgU0JfTElORVVQOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0Jf
UEFHRURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRp
cmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFHRVVQ
OgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51
bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24g
PSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTIxMTQsMTkgKzIx
MTQsMTkgQEAgYm9vbCBXZWJWaWV3Ojpob3Jpem9udGFsU2Nyb2xsKFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSAvKmxQYXJhbSovKQogICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAg
IHN3aXRjaCAoTE9XT1JEKHdQYXJhbSkpIHsKICAgICBjYXNlIFNCX0xJTkVMRUZUOgotICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9MSU5FUklHSFQ6Ci0gICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBTQl9QQUdFTEVGVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURv
Y3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVu
dDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBTQl9QQUdFUklHSFQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVu
dDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAg
ICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgpAQCAtMjM1OSwzNSArMjM1OSwzNSBAQCBib29sIFdlYlZpZXc6OmtleURvd24oV1BBUkFN
IHZpcnR1YWxLZXlDb2RlLCBMUEFSQU0ga2V5RGF0YSwgYm9vbCBzeXN0ZW1LZXlEb3duKQogICAg
IFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5IHsgfTsKICAgICBzd2l0Y2ggKHZpcnR1YWxL
ZXlDb2RlKSB7CiAgICAgICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxh
cml0eTo6TGluZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAgICAgIGdyYW51bGFy
aXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfVVA6Ci0gICAgICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX0RPV046Ci0gICAgICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfSE9NRToKLSAgICAgICAgICAgIGdyYW51
bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Ny
b2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xs
VXA7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19FTkQ6Ci0gICAgICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9
IFNjcm9sbERvd247CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19QUklPUjoK
LSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgZ3Jh
bnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgICAgIGRpcmVjdGlv
biA9IFNjcm9sbFVwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfTkVYVDoK
LSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgZ3Jh
bnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgICAgIGRpcmVjdGlv
biA9IFNjcm9sbERvd247CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443573</attachid>
            <date>2021-11-08 10:52:21 -0800</date>
            <delta_ts>2021-11-08 12:33:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211108105220.patch</filename>
            <type>text/plain</type>
            <size>40967</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlYzAwYzBiNjc3YWNl
NmE4MDIyMzg5ZGIyMmZkYzJjY2VlYjhmZS4uNjgwNjQ2OGJhNDg5MDkxNjM4NDZiNmI5NTJiMTIx
ZWFkYWViYjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojps
b2dpY2FsU2Nyb2xsKToKKwogMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3Vj
aHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBlbnVt
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGNjYzk0NTdmOTAwMTBlNTQ5NWMwOGUzYWNmZTk5MDEyMWJjYzg3
NjkuLjQ1N2U1ZjYwOGIxYjM2NzM0YmY1Zjg2YTU0NTJiMGQzYWZjZDcxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzY3JvbGxCeSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcga2V5Ym9hcmRTY3JvbGxWaWV3
QW5pbWF0b3I6ZGlzdGFuY2VGb3JJbmNyZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW06CisgICAgICAgICgt
W1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBrZXlib2FyZFNjcm9sbEZvckV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgZGlzdGFuY2VGb3JJbmNy
ZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpv
bk1vdXNlV2hlZWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uSG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6Om9uVmVydGljYWxTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3Jt
Tm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IpOgorCiAyMDIxLTExLTA1ICBOaWtvbGFvcyBN
b3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xs
IGJhciBtb2RlIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBl
NjZjNDIzNmZmY2VmNzA4ZWJlOTUxYWY2OWY0NzIyOTNmNDZhMjRiLi4yYWEzNWYzOWEzYTFlZmQz
Mjg4OTg3M2JhYTEyOTFhNDJiMjYwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0JlZ2lubmluZ09mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0VuZE9mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlVmVydGlj
YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlSG9yaXpvbnRhbGx5Ol0pOgor
ICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVWZXJ0aWNhbGx5Ol0pOgorICAgICAg
ICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVIb3Jpem9udGFsbHk6XSk6CisKIDIwMjEtMTEt
MDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCmluZGV4IDBkMDVmOTZiMzcwZGViZGRjZjhhNzQwMDg1ODRiOWViZjg1YmMxMjguLjU3
ZjU1MGFmODg3NGVhZGU1ZmUzZDk5ZmYzOTgwMzA5ZGMzMzAzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBncmFu
dWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6dmVydGljYWxT
Y3JvbGwpOgorICAgICAgICAoV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChX
ZWJWaWV3OjprZXlEb3duKToKKwogMjAyMS0xMS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IHJlbmFtZSBhY3Rpb25WZXJiKCkgYXMg
bG9jYWxpemVkQWN0aW9uVmVyYigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOTc4MWVkMWYy
MTE0ZDEwNmE2NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBjNGJlOGRhNTE2ZWFmOGFjMmU2
MTllNzgwY2VhNzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTA5NiwxMiArMTA5
NiwxMiBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50IHVuaXRzLCBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeUxpbmVzKGludCBs
aW5lcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3JvbGxCeUxpbmUpOworICAgIHNj
cm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogdm9pZCBF
bGVtZW50OjpzY3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKHBh
Z2VzLCBTY3JvbGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2NhbFpvb21Gb3JSZW5kZXJlcihj
b25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ckNvbW1hbmQuY3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgzOTYwOTdiMDYwOGM1ODNjNmM2
YWIuLmYxODc1OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDkyZTM0ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5LDMyICs5ODksMzIgQEAgc3Rh
dGljIGJvb2wgZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VCYWNr
d2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3Ry
aW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJl
Y3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEJ5UGFnZSk7Cisg
ICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiB9
CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2FyZChGcmFtZSYgZnJhbWUsIEV2
ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4g
ZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2Nr
RGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRI
YW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9y
d2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRl
U2Nyb2xsTGluZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICByZXR1cm4gZnJhbWUuZXZl
bnRIYW5kbGVyKCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbExpbmVEb3duKEZyYW1lJiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAg
IHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3du
LCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiB9CiAKIHN0
YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9jdW1lbnQoRnJhbWUmIGZyYW1l
LCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0
dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxC
bG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICByZXR1cm4gZnJh
bWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGly
ZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRp
YyBib29sIGV4ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCos
IEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1l
LmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVj
dGlvbkZvcndhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3
YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVj
dXRlU2VsZWN0QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDU3YjMz
NTdhMTU0NjI5MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5Y2YwYTg2OGE5MDg2MDEyOTc3
OWNhOTVkMDY0MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTI5OCwxMyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Nyb2xsR3JhbnVsYXJpdHkgd2hl
ZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWduZWQgZGVsCiB7CiAgICAgc3dp
dGNoIChkZWx0YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9QQUdFOgot
ICAgICAgICByZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVMVEFfTElORToKLSAgICAg
ICAgcmV0dXJuIFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BJWEVMOgotICAgICAgICBy
ZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQ
aXhlbDsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAg
ICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICB9CiB9CiAKQEAgLTEyODcs
NyArMTI4Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHko
U2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAgICAgYm9vbCBzY3JvbGxlZCA9
IGZhbHNlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1hYyBhbHNvIHJlc2V0cyB0aGUg
c2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9uLgotICAgIGlmIChncmFudWxh
cml0eSA9PSBTY3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChT
Y3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlEb2N1bWVudCkpCisgICAgaWYg
KGdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCAmJiB2aWV3ICYmIHZp
ZXctPmxvZ2ljYWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdy
YW51bGFyaXR5OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVkID0gdHJ1ZTsKICNlbmRpZgog
ICAgIGlmICh2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0
eSkpCkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNl
RXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAg
ICBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2ZW50LnNoaWZ0S2V5KCkgPyBT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJk
OwotICAgIGlmIChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2Up
KSB7CisgICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkKICAgICBp
ZiAoIXZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBt
X2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxp
bmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXctPmxvZ2lj
YWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAgIGJvb2wgZGVmYXVsdEhhbmRs
ZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRT
Y3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXct
PmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAg
aWYgKGRlZmF1bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwog
fQpAQCAtNDMwOCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhhbmRsZXI6OnNjcm9sbERpc3Rh
bmNlKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAgfSgp
OwogCiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVs
YXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgog
ICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
RG9jdW1lbnQ6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFu
dWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDMyOTVlODA4NDI4MWYzNDhk
YTVjYjk2NTRlMmUwODQwYzczMmE4YjYuLmZmZTM0ZTRmYzU3OGY1YzkyZDZkYmQ5MmU1ZWQ3OTQ4
OWVhMjhhOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM4MTcsNyArMzgxNyw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Ny
b2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7Ci0gICAgaWYgKGdy
YW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmll
bnRhdGlvbjo6SG9yaXpvbnRhbCkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UgfHwgb3JpZW50YXRpb24gPT0gU2Nyb2xsYmFyT3JpZW50YXRpb246Okhvcml6
b250YWwpCiAgICAgICAgIHJldHVybiBzdGVwOwogCiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhh
c2hTZXQqIHBvc2l0aW9uZWRPYmplY3RzID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKaW5kZXggZmJkZWFm
ZmQyYmM0YTJmOGQxNzIyMDNlMTkwOWZjZTk3ZDE5ODRmMy4uZTVhZDJmZGMxNGQ0YTY1Y2VkZWM2
OTQ4MzlkMzIyMDhkNjk2NWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKQEAgLTE1NSwxMyArMTU1LDEzIEBAIGZs
b2F0IEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVj
dGlvbiBkaXJlY3Rpb24sIFNjcm9sCiAKICAgICBpZiAoc2Nyb2xsYmFyKSB7CiAgICAgICAgIHN3
aXRjaCAoZ3JhbnVsYXJpdHkpIHsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Ny
b2xsQnlMaW5lOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAg
ICAgICAgcmV0dXJuIHNjcm9sbGJhci0+bGluZVN0ZXAoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxH
cmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlOgogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGFnZVN0ZXAoKTsKLSAgICAg
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xs
YmFyLT50b3RhbFNpemUoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQaXhlbDoKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgfQogICAgIH0KQEAg
LTIwMiwxOCArMjAyLDE4IEBAIHN0ZDo6b3B0aW9uYWw8S2V5Ym9hcmRTY3JvbGw+IEtleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3I6OmtleWJvYXJkU2Nyb2xsRm9yS2V5Ym9hCiAgICAgICAgIHN3aXRj
aCAoa2V5LnZhbHVlKCkpIHsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6TGVm
dEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpSaWdodEFycm93Ogot
ICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5UGFnZSA6IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICByZXR1cm4gZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSA6IFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpV
cEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpEb3duQXJyb3c6CiAg
ICAgICAgICAgICBpZiAoZXZlbnQubWV0YUtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1
cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgaWYgKGV2ZW50LmFs
dEtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQYWdlOwotICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxp
bmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAg
ICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtl
eWJvYXJkU2Nyb2xsaW5nS2V5OjpTcGFjZToKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGlu
Z0tleTo6UGFnZVVwOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlRG93
bjoKLSAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOwor
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICB9Owog
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0oKTsKQEAgLTI2Nyw3
ICsyNjcsNyBAQCBib29sIEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRT
Y3JvbGxHZXN0dXJlKGNvbnN0IFBsYXRmb3JtS2V5Ym9hcgogICAgIGlmIChtX3Njcm9sbFRyaWdn
ZXJpbmdLZXlJc1ByZXNzZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2N1
cnJlbnRLZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5RG9jdW1lbnQpIHsKKyAgICBpZiAobV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPmdyYW51
bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBtX3ZlbG9j
aXR5ID0geyB9OwogICAgICAgICBzdG9wS2V5Ym9hcmRTY3JvbGxBbmltYXRpb24oKTsKICAgICAg
ICAgYXV0byBuZXdQb3NpdGlvbiA9IEludFBvaW50KG1fc2Nyb2xsQW5pbWF0b3IuY3VycmVudFBv
c2l0aW9uKCkgKyBtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+b2Zmc2V0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCBiYmQ5NGRiNGVkNTRkMTgwNjlj
OTk5MzRjYTRlM2JkMzI0NmE5MWIzLi4wNTBjNjZmOGNiODU3ZTA3ZWQ2ZGQ2ZWM2ZGE2ZmFlNWI1
NjJkNjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBA
IC0yMTcsNyArMjE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZl
KQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpWZXJ0aWNhbCwgU2Nyb2xs
QnlQaXhlbCwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlv
cik7CisgICAgICAgICAgICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBT
Y3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwg
LWRlbHRhWSwgYmVoYXZpb3IpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRlbHRhWCkgewpA
QCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2
ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgU2Ny
b2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgsIGJl
aGF2aW9yKTsKKyAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpv
bnRhbCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhl
bFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVy
biBoYW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGFkMmUy
N2E4N2UxMGJkNTc2N2Y0OTNiMDFhMDE5MjYwMDk5YWQ5Ny4uODNmNGEyZjczYTcwMjc1ZWVkYjVm
MjkwZjJiYzZhZjRkMDQ2OGMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5o
CkBAIC0xMzAsMTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1Bo
eXNpY2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJu
IFNjcm9sbFVwOwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAg
U2Nyb2xsQnlMaW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAot
ICAgIFNjcm9sbEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90
IHsKKyAgICBMaW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAK
IGVudW0gY2xhc3MgU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGI1NTJkNGQ4MTMxZWVlYTcwMDlkZGUz
MGY0Y2MwZDZkZTcxNDExYTEuLjhmMjBjZWM4NTQxM2JlYWRjYjQ3YjdlMjE4MDM5ZDdlMjQ2ODhl
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTEx
MywxNiArMTEzLDE2IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rp
b24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVw
ID0gMDsKICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+bGluZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+cGFnZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3Vt
ZW50OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICBzdGVw
ID0gc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3Jv
bGxCeVBpeGVsOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBz
dGVwID0gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggNmE0YTU3NDVhMDBmYjcxMGVhZWUz
M2IzZGNjYjAzODA2YzE0YWEzNy4uNjI4ZGMxY2UyZDBhOGM3YTMwMjgxM2U0NTA2MzY0MDgwMTdm
OTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0
LDggQEAgU2Nyb2xsRGlyZWN0aW9uIFNjcm9sbGJhcjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rp
b24oKQogU2Nyb2xsR3JhbnVsYXJpdHkgU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51
bGFyaXR5KCkKIHsKICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0
IHx8IG1fcHJlc3NlZFBhcnQgPT0gQmFja0J1dHRvbkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQg
PT0gRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0
b25FbmRQYXJ0KQotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOwotICAgIHJldHVybiBTY3Jv
bGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKKyAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3Zl
VGh1bWIoaW50IHBvcywgYm9vbCBkcmFnZ2luZ0RvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2Ez
M2Q1OGUzOGNhZmEyZTgxMzRhNWVlYTdkYzkuLjMyMTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2Yzcw
NzdmMThkNzQ2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxBbmltYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
QW5pbWF0b3JJT1MubW0KQEAgLTEzOSwxMyArMTM5LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJ
T1M6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50
KQogICAgIC8vIEhvcml6b250YWwKICAgICBpZiAobV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBB
eGlzTGF0Y2hWZXJ0aWNhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRo
KCk7Ci0gICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2Ut
PnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4
ZWwsIGFicyhkZWx0YSkpOworICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JU
b3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0
LCBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIGFicyhkZWx0YSkpOwogICAgIH0KICAgICAKICAg
ICAvLyBWZXJ0aWNhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRj
aEhvcml6b250YWwpIHsKICAgICAgICAgaW50IGRlbHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsK
LSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Ny
b2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJz
KGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2Vx
dWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdy
YW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFJldHVy
biBmYWxzZSB1bnRpbCB3ZSBtYW5hZ2UgdG8gc2Nyb2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCBy
ZXR1cm5pbmcgdHJ1ZSB1bnRpbCB0aGUgZ2VzdHVyZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCBiMTQzYmZhMmY3Zjg1NTAxYjNkMDg5
MjI2YzhlNjA4YzE0ZmU5YjQyLi5lMmMxMzhlOTE3MTk4OGNlYzg4MjVhOTc0ZWJmNDE3OGZlYjUy
OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApA
QCAtMTA2MCw3ICsxMDYwLDcgQEAgTFJFU1VMVCBQb3B1cE1lbnVXaW46OnduZFByb2MoSFdORCBo
V25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGEKICAgICAgICAgICAg
ICAgICAgICAgLS1pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFi
cyhpKSk7CisgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xs
VXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggYjEyMDIxMjA3NTk0Yjg0N2YyYmMyZTE2MmRiMTdjYmIwY2I4NmVkOS4uMTYw
NzViMWY1ZDZmOGJkNGQ4NTY0N2ZmYTg2ZWFiN2RkMmNlZmRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTkyNSw4ICs5MjUsOCBAQCBib29sIFJlbmRlckJveDo6
bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdAogICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IGxheWVyKCkgPyBsYXllcigp
LT5zY3JvbGxhYmxlQXJlYSgpIDogbnVsbHB0cikgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICAgICAvLyBPbiBNYWMgb25seSB3ZSByZXNldCB0aGUgaW5saW5lIGRpcmVjdGlvbiBwb3NpdGlv
biB3aGVuIGRvaW5nIGEgZG9jdW1lbnQgc2Nyb2xsIChlLmcuLCBoaXR0aW5nIEhvbWUvRW5kKS4K
LSAgICAgICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5RG9jdW1lbnQpCi0gICAgICAgICAg
ICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Ny
b2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0
eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEJ5RG9jdW1lbnQsIG11
bHRpcGxpZXIpOworICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KQorICAgICAgICAgICAgc2Nyb2xsZWQgPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
KGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkLCBpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkp
LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQsIG11bHRpcGxpZXIpOwogI2VuZGlmCiAgICAg
ICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxUb1BoeXNpY2FsKGRpcmVjdGlv
biwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0
aW5nTW9kZSgpKSwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKQogICAgICAgICAgICAgc2Nyb2xs
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
N2Y5YWIxNGEwNzRkZGM5NDUzYTkwMjk2N2QwZTAzOGI3ZjJhODA0Zi4uODEzNGJkNjY0ZTRlMDJi
M2RjNmI2ZWFjY2VlMzdlYThiZjcxMjlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0zMjY5LDcgKzMyNjksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Ny
b2xsQnkoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVs
YQogICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsQnkoZGlyZWN0aW9uLCBncmFudWxhcml0eSkp
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNjcm9sbEJ5KGRpcmVjdGlvbiwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KGdyYW51bGFyaXR5KSkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiYTc4ZjA5
ZTdmNGZmYjQ0ZmY2YzhmNjI5YWQ0YzZmNDg5ODhiMDkyLi4wZTFjN2Y4ZjcwMjlkNWE0MjUyYTYz
NzEzMmMzMmFhZmM4NDQxZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU5MTksMTcgKzU5MTksMTcg
QEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgIEJPT0wgZGlyZWN0aW9uSXNIb3Jpem9udGFs
ID0gZGlyZWN0aW9uID09IFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbjo6U2Nyb2xsTGVmdCB8fCBk
aXJlY3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxSaWdodDsKIAogICAg
IHN3aXRjaCAoaW5jcmVtZW50KSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlEb2N1bWVudDogeworICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50OiB7CiAgICAgICAgIENHU2l6ZSBkb2N1bWVudFNpemUgPSBbc2VsZiBjb252
ZXJ0UmVjdDpzZWxmLmJvdW5kcyB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5zaXplOwogICAgICAgICBy
ZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gZG9jdW1lbnRTaXplLndpZHRoIDogZG9jdW1l
bnRTaXplLmhlaWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlQYWdlOiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
UGFnZTogewogICAgICAgICBDR1NpemUgcGFnZVNpemUgPSBbc2VsZiBjb252ZXJ0U2l6ZTpDR1Np
emVNYWtlKDAsIFdlYkNvcmU6OlNjcm9sbGJhcjo6cGFnZVN0ZXAoX3BhZ2UtPnVub2JzY3VyZWRD
b250ZW50UmVjdCgpLmhlaWdodCgpLCBzZWxmLmJvdW5kcy5zaXplLmhlaWdodCkpIHRvVmlldzpz
ZWxmLndlYlZpZXddOwogICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gcGFn
ZVNpemUud2lkdGggOiBwYWdlU2l6ZS5oZWlnaHQ7CiAgICAgfQotICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICByZXR1cm4gW3NlbGYgY29udmVydFNpemU6Q0dT
aXplTWFrZSgwLCBXZWJDb3JlOjpTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCkpIHRvVmll
dzpzZWxmLndlYlZpZXddLmhlaWdodDsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeVBpeGVsOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OlBpeGVsOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvci5tbQppbmRleCBjMzEyMzgzNGU3ZmE5M2MyOTdkNzk3YmU2YTlk
N2RlYzViMzlmNzc4Li42YjNlZGM3NmIzOTYwNGU1NTU3NTUwMzBhZjUyMWRiZDk2ZTQwN2VkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IubW0KQEAgLTIxOSwyMiArMjE5LDIyIEBAIHN0YXRpYyBXZWJDb3Jl
OjpCb3hTaWRlIGJveFNpZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgY2FzZSBLZXk6OkxlZnRBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OlJpZ2h0QXJyb3c6
CiAgICAgICAgICAgICBpZiAoYWx0UHJlc3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKLSAgICAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKKyAgICAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBL
ZXk6OlVwQXJyb3c6CiAgICAgICAgIGNhc2UgS2V5OjpEb3duQXJyb3c6CiAgICAgICAgICAgICBp
ZiAoYWx0UHJlc3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBpZiAoY21kUHJlc3NlZCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5
RG9jdW1lbnQ7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50OworICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleTo6UGFnZVVwOgogICAgICAgICBjYXNl
IEtleTo6UGFnZURvd246CiAgICAgICAgIGNhc2UgS2V5OjpTcGFjZToKLSAgICAgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOworICAgICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICBjYXNl
IEtleTo6T3RoZXI6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAg
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAg
ICB9OwogICAgIH0oKTsKIApAQCAtMjkzLDcgKzI5Myw3IEBAIHN0YXRpYyBXZWJDb3JlOjpCb3hT
aWRlIGJveFNpZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBfc2Ny
b2xsVHJpZ2dlcmluZ0tleUlzUHJlc3NlZCA9IFlFUzsKICAgICBfY3VycmVudFNjcm9sbCA9IHNj
cm9sbDsKIAotICAgIGlmIChzY3JvbGwtPmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50KSB7CisgICAgaWYgKHNjcm9sbC0+Z3JhbnVsYXJp
dHkgPT0gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KSB7CiAgICAgICAgIF92
ZWxvY2l0eSA9IHsgfTsKICAgICAgICAgW3NlbGYgc3RvcEFuaW1hdGVkU2Nyb2xsXTsKICAgICAg
ICAgW3NlbGYgc3RvcERpc3BsYXlMaW5rXTsKQEAgLTU0NSwxMyArNTQ1LDEzIEBAIHN0YXRpYyBX
ZWJDb3JlOjpGbG9hdFBvaW50IGZhcnRoZXN0UG9pbnRJbkRpcmVjdGlvbihXZWJDb3JlOjpGbG9h
dFBvaW50IGEsIFdlYkNvCiAKICAgICBpZiAoIV9kZWxlZ2F0ZVJlc3BvbmRzVG9EaXN0YW5jZUZv
ckluY3JlbWVudCkgewogICAgICAgICBzd2l0Y2ggKGluY3JlbWVudCkgewotICAgICAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAgICAgICAgIHJl
dHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRo
IDogc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQ7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgICAgIHJldHVybiAoZGlyZWN0aW9uSXNI
b3Jpem9udGFsID8gc2Nyb2xsVmlldy5mcmFtZS5zaXplLndpZHRoIDogc2Nyb2xsVmlldy5mcmFt
ZS5zaXplLmhlaWdodCkgKiBkZWZhdWx0UGFnZVNjcm9sbEZyYWN0aW9uOwotICAgICAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1cm4gZGVm
YXVsdExpbmVTY3JvbGxIZWlnaHQgKiBzY3JvbGxWaWV3Lnpvb21TY2FsZTsKLSAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgICAgICByZXR1cm4g
MDsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCmluZGV4
IDg4ZWU1N2JlYjAyMjQwMDcxZmM2YmQwZjZmYzI4ODQxNmQzZDRmYTUuLjljNDVjNDNiYjMzNTM4
OTJiNDk4NTU3NDg5NGM2OGU5NDc4NTQwZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtNzYzLDcgKzc2Myw3IEBA
IExSRVNVTFQgV2ViUG9wdXBNZW51UHJveHlXaW46Om9uTW91c2VXaGVlbChIV05EIGhXbmQsIFVJ
TlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhCiAgICAgICAgICAgICAtLWk7CiAgICAgfQogCi0gICAg
U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChpID4gMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Ny
b2xsQnlMaW5lLCBhYnMoaSkpOworICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBT
Y3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lLCBhYnMoaSkpOwog
ICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAK
aW5kZXggMGM3ZjQwY2I0OWZmMTA3MWMxOGEzODBkNjM0NjhlNmM4OGZkNTQ5OC4uODIxNjNhMGIz
ZjAyOTJiNGYzYmZkMjUwMzc5MmE3OWI4MmJlMGQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3dpbi9XZWJWaWV3LmNwcApAQCAtNDAxLDE5ICs0MDEsMTkgQEAgTFJFU1VMVCBXZWJWaWV3Ojpv
bkhvcml6b250YWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQVIKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2ggKExP
V09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FTEVGVDoKLSAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJp
dHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU0JfTElORVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U0JfUEFHRUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAg
IGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFH
RVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTQz
MywxOSArNDMzLDE5IEBAIExSRVNVTFQgV2ViVmlldzo6b25WZXJ0aWNhbFNjcm9sbChIV05EIGhX
bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNCiAgICAgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNh
c2UgU0JfTElORURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAg
ICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVVUDoK
LSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVw
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VET1dOOgotICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VVUDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvV2ViUGFnZUd0ay5jcHAKaW5kZXggZTM1MDY2ZjM1Mzg1Y2RhZmJjODZlYzcwNDNkMTNk
NzZmNzk2NGEwOC4uMDUzMzViZTI0NjQzZDZlMzYxY2Q4YmMwMjZmMjA0YTdiNGY2NGZmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3Rr
LmNwcApAQCAtMTA0LDMxICsxMDQsMzEgQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJl
aGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYga2V5Ym9hcmQKIAogICAg
IHN3aXRjaCAoa2V5Ym9hcmRFdmVudC53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewogICAgIGNh
c2UgVktfU1BBQ0U6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIGtleWJvYXJkRXZlbnQu
c2hpZnRLZXkoKSA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwga2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xs
VXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
TGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
TGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFZLX1JJR0hUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Ny
b2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNj
cm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19VUDoK
LSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7Cisg
ICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6
TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgVktfRU5EOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxEb3duLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBWS19QUklPUjoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVw
LCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktf
TkVYVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlQ
YWdlKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XZWJQYWdlTWFjLm1tCmluZGV4IDFlMjNhZmZlZGVjYWZkYmNkYTMxMDM4YzkxYmY4MDhkYWE4
ODNlYzEuLmMwYTk4YWM3OGY4MmU5ZjQzOTJlNDFiY2EzNTk1MGZjMDhkOWU2Y2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCkBA
IC00NjcsMjcgKzQ2NywyNyBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5nQmVoYXZp
b3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBLZXlibwogICAgIAogICAgIGlm
ICghZnJhbWUtPnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3Jv
bGxpbmdFbmFibGVkKCkpIHsKICAgICAgICAgaWYgKHNlbGVjdG9yID09ICJtb3ZlVXA6IikKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvQmVnaW5uaW5nT2ZQYXJhZ3JhcGg6IikKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudDoiKSB7Ci0g
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEJ5RG9jdW1lbnQpOwotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAg
ICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rp
b24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KTsKICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZURvd246IikK
LSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsK
ICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0VuZE9mUGFyYWdyYXBoOiIpCi0g
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
RG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAg
ICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9FbmRPZkRvY3VtZW50OiIpIHsKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxE
b3duLCBTY3JvbGxCeURvY3VtZW50KTsKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93
biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1B
Y3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50KTsKICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZUxlZnQ6
IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxMZWZ0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
KTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVXb3JkTGVmdDoiKQotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVJpZ2h0OiIpCi0gICAgICAgICAgICBkaWRQZXJm
b3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGlu
ZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgZWxzZSBpZiAo
c2VsZWN0b3IgPT0gIm1vdmVXb3JkUmlnaHQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rp
b24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsQnlQYWdlKTsKKyAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxS
aWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgIH0KIAogICAgIGlmIChzZWxlY3Rv
ciA9PSAibW92ZVRvTGVmdEVuZE9mTGluZToiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQppbmRleCBkNWVkYWU0ZWM2NTFjNmVlYjMzZjJmNDRk
ZWNlM2QxOWY3MzM1ODM1Li43M2VmODZjYmVkYzY2Y2I1NTI4YmE1Njk3YWVmMzU2NDViZDRkNDQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5t
bQpAQCAtNjMzLDcgKzYzMyw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxUb0JlZ2lubmlu
Z09mRG9jdW1lbnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246
V2ViQ29yZTo6U2Nyb2xsVXAgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlEb2N1bWVudF0p
CisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9s
bFVwIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudF0pCiAg
ICAgICAgIHJldHVybiBZRVM7CiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKICAgICAg
ICAgcmV0dXJuIE5POwpAQCAtNjQ1LDcgKzY0NSw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3Jv
bGxUb0VuZE9mRG9jdW1lbnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJl
Y3Rpb246V2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeURv
Y3VtZW50XSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246V2ViQ29y
ZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9j
dW1lbnRdKQogICAgICAgICByZXR1cm4gWUVTOwogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJs
ZV0pCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTc0Miw3ICs3NDIsNyBAQCBlbnVtIHsKIAogLSAo
Qk9PTClfcGFnZVZlcnRpY2FsbHk6KEJPT0wpdXAKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92
ZXJmbG93SW5EaXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNvcmU6OlNjcm9s
bERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlQYWdlXSkKKyAgICBpZiAoW3NlbGYg
X3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNv
cmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2VdKQogICAgICAgICByZXR1cm4gWUVTOwogICAgIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xs
YWJsZV0pCkBAIC03NTQsNyArNzU0LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3BhZ2VIb3Jpem9u
dGFsbHk6KEJPT0wpbGVmdAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVj
dGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdy
YW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5UGFnZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxP
dmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6
U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2Vd
KQogICAgICAgICByZXR1cm4gWUVTOwogCiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkK
QEAgLTc3Niw3ICs3NzYsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsTGluZVZlcnRpY2Fs
bHk6KEJPT0wpdXAKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246
dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNvcmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6
V2ViQ29yZTo6U2Nyb2xsQnlMaW5lXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5E
aXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNvcmU6OlNjcm9sbERvd24gZ3Jh
bnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmVdKQogICAgICAgICByZXR1
cm4gWUVTOwogCiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKQEAgLTc4OCw3ICs3ODgs
NyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsTGluZUhvcml6b250YWxseTooQk9PTClsZWZ0
CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJD
b3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29y
ZTo6U2Nyb2xsQnlMaW5lXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rp
b246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFu
dWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZV0pCiAgICAgICAgIHJldHVy
biBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAppbmRleCA2NTY5OTc4MTI4NTAwZjdiMGEzYWIwZTE2MzMwZjA1NTc5YjM5
Y2ZmLi5hYjNkMGFiMDYyODZmNTQ3NjVkODgwMTM4MTUzOTQyOTliMjgxY2NkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtMjA4NCwxOSArMjA4NCwxOSBAQCBib29sIFdlYlZp
ZXc6OnZlcnRpY2FsU2Nyb2xsKFdQQVJBTSB3UGFyYW0sIExQQVJBTSAvKmxQYXJhbSovKQogICAg
IFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3aXRjaCAoTE9XT1JEKHdQYXJh
bSkpIHsKICAgICBjYXNlIFNCX0xJTkVET1dOOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsK
ICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBTQl9MSU5FVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rp
b24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFRE9XTjoKLSAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Ny
b2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFVVA6Ci0gICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwog
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMjExNCwxOSArMjExNCwxOSBAQCBib29s
IFdlYlZpZXc6Omhvcml6b250YWxTY3JvbGwoV1BBUkFNIHdQYXJhbSwgTFBBUkFNIC8qbFBhcmFt
Ki8pCiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dP
UkQod1BhcmFtKSkgewogICAgIGNhc2UgU0JfTElORUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFNCX0xJTkVSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxp
bmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAg
ICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNC
X1BBR0VMRUZUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAg
ICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBk
aXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VS
SUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0
aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0yMzU5
LDM1ICsyMzU5LDM1IEBAIGJvb2wgV2ViVmlldzo6a2V5RG93bihXUEFSQU0gdmlydHVhbEtleUNv
ZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24pCiAgICAgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHkgeyB9OwogICAgIHN3aXRjaCAodmlydHVhbEtleUNvZGUpIHsKICAg
ICAgICAgY2FzZSBWS19MRUZUOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxp
bmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwog
ICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFZLX1JJR0hUOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxC
eUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
OwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBWS19VUDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xs
QnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGlu
ZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xs
QnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGlu
ZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBWS19IT01FOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxCeURvY3VtZW50OworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX1BSSU9SOgotICAgICAgICAgICAg
Z3JhbnVsYXJpdHkgPSBTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19ORVhUOgotICAgICAgICAgICAg
Z3JhbnVsYXJpdHkgPSBTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93
bjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0Ogo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443589</attachid>
            <date>2021-11-08 12:33:23 -0800</date>
            <delta_ts>2021-11-10 16:03:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211108123322.patch</filename>
            <type>text/plain</type>
            <size>42777</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlYzAwYzBiNjc3YWNl
NmE4MDIyMzg5ZGIyMmZkYzJjY2VlYjhmZS4uNjgwNjQ2OGJhNDg5MDkxNjM4NDZiNmI5NTJiMTIx
ZWFkYWViYjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojps
b2dpY2FsU2Nyb2xsKToKKwogMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3Vj
aHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBlbnVt
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGNjYzk0NTdmOTAwMTBlNTQ5NWMwOGUzYWNmZTk5MDEyMWJjYzg3
NjkuLjQ1N2U1ZjYwOGIxYjM2NzM0YmY1Zjg2YTU0NTJiMGQzYWZjZDcxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzY3JvbGxCeSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcga2V5Ym9hcmRTY3JvbGxWaWV3
QW5pbWF0b3I6ZGlzdGFuY2VGb3JJbmNyZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW06CisgICAgICAgICgt
W1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBrZXlib2FyZFNjcm9sbEZvckV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgZGlzdGFuY2VGb3JJbmNy
ZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpv
bk1vdXNlV2hlZWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uSG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6Om9uVmVydGljYWxTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3Jt
Tm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IpOgorCiAyMDIxLTExLTA1ICBOaWtvbGFvcyBN
b3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xs
IGJhciBtb2RlIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBl
NjZjNDIzNmZmY2VmNzA4ZWJlOTUxYWY2OWY0NzIyOTNmNDZhMjRiLi4yYWEzNWYzOWEzYTFlZmQz
Mjg4OTg3M2JhYTEyOTFhNDJiMjYwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0JlZ2lubmluZ09mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0VuZE9mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlVmVydGlj
YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlSG9yaXpvbnRhbGx5Ol0pOgor
ICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVWZXJ0aWNhbGx5Ol0pOgorICAgICAg
ICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVIb3Jpem9udGFsbHk6XSk6CisKIDIwMjEtMTEt
MDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCmluZGV4IDBkMDVmOTZiMzcwZGViZGRjZjhhNzQwMDg1ODRiOWViZjg1YmMxMjguLjU3
ZjU1MGFmODg3NGVhZGU1ZmUzZDk5ZmYzOTgwMzA5ZGMzMzAzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBncmFu
dWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6dmVydGljYWxT
Y3JvbGwpOgorICAgICAgICAoV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChX
ZWJWaWV3OjprZXlEb3duKToKKwogMjAyMS0xMS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IHJlbmFtZSBhY3Rpb25WZXJiKCkgYXMg
bG9jYWxpemVkQWN0aW9uVmVyYigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOTc4MWVkMWYy
MTE0ZDEwNmE2NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBjNGJlOGRhNTE2ZWFmOGFjMmU2
MTllNzgwY2VhNzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTA5NiwxMiArMTA5
NiwxMiBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50IHVuaXRzLCBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeUxpbmVzKGludCBs
aW5lcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3JvbGxCeUxpbmUpOworICAgIHNj
cm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogdm9pZCBF
bGVtZW50OjpzY3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKHBh
Z2VzLCBTY3JvbGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2NhbFpvb21Gb3JSZW5kZXJlcihj
b25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ckNvbW1hbmQuY3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgzOTYwOTdiMDYwOGM1ODNjNmM2
YWIuLmYxODc1OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDkyZTM0ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5LDMyICs5ODksMzIgQEAgc3Rh
dGljIGJvb2wgZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VCYWNr
d2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3Ry
aW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJl
Y3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEJ5UGFnZSk7Cisg
ICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiB9
CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2FyZChGcmFtZSYgZnJhbWUsIEV2
ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4g
ZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2Nr
RGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRI
YW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9y
d2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRl
U2Nyb2xsTGluZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICByZXR1cm4gZnJhbWUuZXZl
bnRIYW5kbGVyKCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbExpbmVEb3duKEZyYW1lJiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAg
IHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3du
LCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiB9CiAKIHN0
YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9jdW1lbnQoRnJhbWUmIGZyYW1l
LCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0
dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxC
bG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICByZXR1cm4gZnJh
bWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGly
ZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRp
YyBib29sIGV4ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCos
IEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1l
LmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVj
dGlvbkZvcndhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3
YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVj
dXRlU2VsZWN0QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDU3YjMz
NTdhMTU0NjI5MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5Y2YwYTg2OGE5MDg2MDEyOTc3
OWNhOTVkMDY0MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTI5OCwxMyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Nyb2xsR3JhbnVsYXJpdHkgd2hl
ZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWduZWQgZGVsCiB7CiAgICAgc3dp
dGNoIChkZWx0YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9QQUdFOgot
ICAgICAgICByZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVMVEFfTElORToKLSAgICAg
ICAgcmV0dXJuIFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BJWEVMOgotICAgICAgICBy
ZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQ
aXhlbDsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAg
ICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICB9CiB9CiAKQEAgLTEyODcs
NyArMTI4Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHko
U2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAgICAgYm9vbCBzY3JvbGxlZCA9
IGZhbHNlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1hYyBhbHNvIHJlc2V0cyB0aGUg
c2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9uLgotICAgIGlmIChncmFudWxh
cml0eSA9PSBTY3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChT
Y3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlEb2N1bWVudCkpCisgICAgaWYg
KGdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCAmJiB2aWV3ICYmIHZp
ZXctPmxvZ2ljYWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdy
YW51bGFyaXR5OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVkID0gdHJ1ZTsKICNlbmRpZgog
ICAgIGlmICh2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0
eSkpCkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNl
RXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAg
ICBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2ZW50LnNoaWZ0S2V5KCkgPyBT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJk
OwotICAgIGlmIChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2Up
KSB7CisgICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkKICAgICBp
ZiAoIXZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBt
X2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxp
bmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXctPmxvZ2lj
YWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAgIGJvb2wgZGVmYXVsdEhhbmRs
ZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRT
Y3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXct
PmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAg
aWYgKGRlZmF1bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwog
fQpAQCAtNDMwOCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhhbmRsZXI6OnNjcm9sbERpc3Rh
bmNlKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAgfSgp
OwogCiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVs
YXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgog
ICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
RG9jdW1lbnQ6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFu
dWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDMyOTVlODA4NDI4MWYzNDhk
YTVjYjk2NTRlMmUwODQwYzczMmE4YjYuLmZmZTM0ZTRmYzU3OGY1YzkyZDZkYmQ5MmU1ZWQ3OTQ4
OWVhMjhhOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM4MTcsNyArMzgxNyw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Ny
b2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7Ci0gICAgaWYgKGdy
YW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmll
bnRhdGlvbjo6SG9yaXpvbnRhbCkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UgfHwgb3JpZW50YXRpb24gPT0gU2Nyb2xsYmFyT3JpZW50YXRpb246Okhvcml6
b250YWwpCiAgICAgICAgIHJldHVybiBzdGVwOwogCiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhh
c2hTZXQqIHBvc2l0aW9uZWRPYmplY3RzID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKaW5kZXggZmJkZWFm
ZmQyYmM0YTJmOGQxNzIyMDNlMTkwOWZjZTk3ZDE5ODRmMy4uZTVhZDJmZGMxNGQ0YTY1Y2VkZWM2
OTQ4MzlkMzIyMDhkNjk2NWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKQEAgLTE1NSwxMyArMTU1LDEzIEBAIGZs
b2F0IEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVj
dGlvbiBkaXJlY3Rpb24sIFNjcm9sCiAKICAgICBpZiAoc2Nyb2xsYmFyKSB7CiAgICAgICAgIHN3
aXRjaCAoZ3JhbnVsYXJpdHkpIHsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Ny
b2xsQnlMaW5lOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAg
ICAgICAgcmV0dXJuIHNjcm9sbGJhci0+bGluZVN0ZXAoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxH
cmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlOgogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGFnZVN0ZXAoKTsKLSAgICAg
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xs
YmFyLT50b3RhbFNpemUoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQaXhlbDoKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgfQogICAgIH0KQEAg
LTIwMiwxOCArMjAyLDE4IEBAIHN0ZDo6b3B0aW9uYWw8S2V5Ym9hcmRTY3JvbGw+IEtleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3I6OmtleWJvYXJkU2Nyb2xsRm9yS2V5Ym9hCiAgICAgICAgIHN3aXRj
aCAoa2V5LnZhbHVlKCkpIHsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6TGVm
dEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpSaWdodEFycm93Ogot
ICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5UGFnZSA6IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICByZXR1cm4gZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSA6IFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpV
cEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpEb3duQXJyb3c6CiAg
ICAgICAgICAgICBpZiAoZXZlbnQubWV0YUtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1
cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgaWYgKGV2ZW50LmFs
dEtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQYWdlOwotICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxp
bmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAg
ICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtl
eWJvYXJkU2Nyb2xsaW5nS2V5OjpTcGFjZToKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGlu
Z0tleTo6UGFnZVVwOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlRG93
bjoKLSAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOwor
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICB9Owog
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0oKTsKQEAgLTI2Nyw3
ICsyNjcsNyBAQCBib29sIEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRT
Y3JvbGxHZXN0dXJlKGNvbnN0IFBsYXRmb3JtS2V5Ym9hcgogICAgIGlmIChtX3Njcm9sbFRyaWdn
ZXJpbmdLZXlJc1ByZXNzZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2N1
cnJlbnRLZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5RG9jdW1lbnQpIHsKKyAgICBpZiAobV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPmdyYW51
bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBtX3ZlbG9j
aXR5ID0geyB9OwogICAgICAgICBzdG9wS2V5Ym9hcmRTY3JvbGxBbmltYXRpb24oKTsKICAgICAg
ICAgYXV0byBuZXdQb3NpdGlvbiA9IEludFBvaW50KG1fc2Nyb2xsQW5pbWF0b3IuY3VycmVudFBv
c2l0aW9uKCkgKyBtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+b2Zmc2V0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCBiYmQ5NGRiNGVkNTRkMTgwNjlj
OTk5MzRjYTRlM2JkMzI0NmE5MWIzLi4wNTBjNjZmOGNiODU3ZTA3ZWQ2ZGQ2ZWM2ZGE2ZmFlNWI1
NjJkNjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBA
IC0yMTcsNyArMjE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZl
KQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpWZXJ0aWNhbCwgU2Nyb2xs
QnlQaXhlbCwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlv
cik7CisgICAgICAgICAgICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBT
Y3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwg
LWRlbHRhWSwgYmVoYXZpb3IpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRlbHRhWCkgewpA
QCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2
ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgU2Ny
b2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgsIGJl
aGF2aW9yKTsKKyAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpv
bnRhbCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhl
bFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVy
biBoYW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGFkMmUy
N2E4N2UxMGJkNTc2N2Y0OTNiMDFhMDE5MjYwMDk5YWQ5Ny4uODNmNGEyZjczYTcwMjc1ZWVkYjVm
MjkwZjJiYzZhZjRkMDQ2OGMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5o
CkBAIC0xMzAsMTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1Bo
eXNpY2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJu
IFNjcm9sbFVwOwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAg
U2Nyb2xsQnlMaW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAot
ICAgIFNjcm9sbEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90
IHsKKyAgICBMaW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAK
IGVudW0gY2xhc3MgU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGI1NTJkNGQ4MTMxZWVlYTcwMDlkZGUz
MGY0Y2MwZDZkZTcxNDExYTEuLjhmMjBjZWM4NTQxM2JlYWRjYjQ3YjdlMjE4MDM5ZDdlMjQ2ODhl
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTEx
MywxNiArMTEzLDE2IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rp
b24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVw
ID0gMDsKICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+bGluZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+cGFnZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3Vt
ZW50OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICBzdGVw
ID0gc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3Jv
bGxCeVBpeGVsOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBz
dGVwID0gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggNmE0YTU3NDVhMDBmYjcxMGVhZWUz
M2IzZGNjYjAzODA2YzE0YWEzNy4uNjI4ZGMxY2UyZDBhOGM3YTMwMjgxM2U0NTA2MzY0MDgwMTdm
OTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0
LDggQEAgU2Nyb2xsRGlyZWN0aW9uIFNjcm9sbGJhcjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rp
b24oKQogU2Nyb2xsR3JhbnVsYXJpdHkgU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51
bGFyaXR5KCkKIHsKICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0
IHx8IG1fcHJlc3NlZFBhcnQgPT0gQmFja0J1dHRvbkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQg
PT0gRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0
b25FbmRQYXJ0KQotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOwotICAgIHJldHVybiBTY3Jv
bGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKKyAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3Zl
VGh1bWIoaW50IHBvcywgYm9vbCBkcmFnZ2luZ0RvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2Ez
M2Q1OGUzOGNhZmEyZTgxMzRhNWVlYTdkYzkuLjMyMTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2Yzcw
NzdmMThkNzQ2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxBbmltYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
QW5pbWF0b3JJT1MubW0KQEAgLTEzOSwxMyArMTM5LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJ
T1M6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50
KQogICAgIC8vIEhvcml6b250YWwKICAgICBpZiAobV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBB
eGlzTGF0Y2hWZXJ0aWNhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRo
KCk7Ci0gICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2Ut
PnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4
ZWwsIGFicyhkZWx0YSkpOworICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JU
b3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0
LCBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIGFicyhkZWx0YSkpOwogICAgIH0KICAgICAKICAg
ICAvLyBWZXJ0aWNhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRj
aEhvcml6b250YWwpIHsKICAgICAgICAgaW50IGRlbHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsK
LSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Ny
b2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJz
KGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2Vx
dWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdy
YW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFJldHVy
biBmYWxzZSB1bnRpbCB3ZSBtYW5hZ2UgdG8gc2Nyb2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCBy
ZXR1cm5pbmcgdHJ1ZSB1bnRpbCB0aGUgZ2VzdHVyZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCBiMTQzYmZhMmY3Zjg1NTAxYjNkMDg5
MjI2YzhlNjA4YzE0ZmU5YjQyLi5lMmMxMzhlOTE3MTk4OGNlYzg4MjVhOTc0ZWJmNDE3OGZlYjUy
OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApA
QCAtMTA2MCw3ICsxMDYwLDcgQEAgTFJFU1VMVCBQb3B1cE1lbnVXaW46OnduZFByb2MoSFdORCBo
V25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGEKICAgICAgICAgICAg
ICAgICAgICAgLS1pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFi
cyhpKSk7CisgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xs
VXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggYjEyMDIxMjA3NTk0Yjg0N2YyYmMyZTE2MmRiMTdjYmIwY2I4NmVkOS4uMTYw
NzViMWY1ZDZmOGJkNGQ4NTY0N2ZmYTg2ZWFiN2RkMmNlZmRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTkyNSw4ICs5MjUsOCBAQCBib29sIFJlbmRlckJveDo6
bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdAogICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IGxheWVyKCkgPyBsYXllcigp
LT5zY3JvbGxhYmxlQXJlYSgpIDogbnVsbHB0cikgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICAgICAvLyBPbiBNYWMgb25seSB3ZSByZXNldCB0aGUgaW5saW5lIGRpcmVjdGlvbiBwb3NpdGlv
biB3aGVuIGRvaW5nIGEgZG9jdW1lbnQgc2Nyb2xsIChlLmcuLCBoaXR0aW5nIEhvbWUvRW5kKS4K
LSAgICAgICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5RG9jdW1lbnQpCi0gICAgICAgICAg
ICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Ny
b2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0
eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEJ5RG9jdW1lbnQsIG11
bHRpcGxpZXIpOworICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KQorICAgICAgICAgICAgc2Nyb2xsZWQgPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
KGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkLCBpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkp
LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQsIG11bHRpcGxpZXIpOwogI2VuZGlmCiAgICAg
ICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxUb1BoeXNpY2FsKGRpcmVjdGlv
biwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0
aW5nTW9kZSgpKSwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKQogICAgICAgICAgICAgc2Nyb2xs
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
N2Y5YWIxNGEwNzRkZGM5NDUzYTkwMjk2N2QwZTAzOGI3ZjJhODA0Zi4uODEzNGJkNjY0ZTRlMDJi
M2RjNmI2ZWFjY2VlMzdlYThiZjcxMjlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0zMjY5LDcgKzMyNjksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Ny
b2xsQnkoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVs
YQogICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsQnkoZGlyZWN0aW9uLCBncmFudWxhcml0eSkp
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNjcm9sbEJ5KGRpcmVjdGlvbiwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KGdyYW51bGFyaXR5KSkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiYTc4ZjA5
ZTdmNGZmYjQ0ZmY2YzhmNjI5YWQ0YzZmNDg5ODhiMDkyLi4wZTFjN2Y4ZjcwMjlkNWE0MjUyYTYz
NzEzMmMzMmFhZmM4NDQxZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTU5MTksMTcgKzU5MTksMTcg
QEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgIEJPT0wgZGlyZWN0aW9uSXNIb3Jpem9udGFs
ID0gZGlyZWN0aW9uID09IFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbjo6U2Nyb2xsTGVmdCB8fCBk
aXJlY3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxSaWdodDsKIAogICAg
IHN3aXRjaCAoaW5jcmVtZW50KSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlEb2N1bWVudDogeworICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50OiB7CiAgICAgICAgIENHU2l6ZSBkb2N1bWVudFNpemUgPSBbc2VsZiBjb252
ZXJ0UmVjdDpzZWxmLmJvdW5kcyB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5zaXplOwogICAgICAgICBy
ZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gZG9jdW1lbnRTaXplLndpZHRoIDogZG9jdW1l
bnRTaXplLmhlaWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlQYWdlOiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
UGFnZTogewogICAgICAgICBDR1NpemUgcGFnZVNpemUgPSBbc2VsZiBjb252ZXJ0U2l6ZTpDR1Np
emVNYWtlKDAsIFdlYkNvcmU6OlNjcm9sbGJhcjo6cGFnZVN0ZXAoX3BhZ2UtPnVub2JzY3VyZWRD
b250ZW50UmVjdCgpLmhlaWdodCgpLCBzZWxmLmJvdW5kcy5zaXplLmhlaWdodCkpIHRvVmlldzpz
ZWxmLndlYlZpZXddOwogICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gcGFn
ZVNpemUud2lkdGggOiBwYWdlU2l6ZS5oZWlnaHQ7CiAgICAgfQotICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICByZXR1cm4gW3NlbGYgY29udmVydFNpemU6Q0dT
aXplTWFrZSgwLCBXZWJDb3JlOjpTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCkpIHRvVmll
dzpzZWxmLndlYlZpZXddLmhlaWdodDsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeVBpeGVsOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OlBpeGVsOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvci5tbQppbmRleCBjMzEyMzgzNGU3ZmE5M2MyOTdkNzk3YmU2YTlk
N2RlYzViMzlmNzc4Li42YjNlZGM3NmIzOTYwNGU1NTU3NTUwMzBhZjUyMWRiZDk2ZTQwN2VkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IubW0KQEAgLTIxOSwyMiArMjE5LDIyIEBAIHN0YXRpYyBXZWJDb3Jl
OjpCb3hTaWRlIGJveFNpZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgY2FzZSBLZXk6OkxlZnRBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OlJpZ2h0QXJyb3c6
CiAgICAgICAgICAgICBpZiAoYWx0UHJlc3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKLSAgICAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKKyAgICAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBL
ZXk6OlVwQXJyb3c6CiAgICAgICAgIGNhc2UgS2V5OjpEb3duQXJyb3c6CiAgICAgICAgICAgICBp
ZiAoYWx0UHJlc3NlZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBpZiAoY21kUHJlc3NlZCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5
RG9jdW1lbnQ7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50OworICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleTo6UGFnZVVwOgogICAgICAgICBjYXNl
IEtleTo6UGFnZURvd246CiAgICAgICAgIGNhc2UgS2V5OjpTcGFjZToKLSAgICAgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOworICAgICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICBjYXNl
IEtleTo6T3RoZXI6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAg
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAg
ICB9OwogICAgIH0oKTsKIApAQCAtMjkzLDcgKzI5Myw3IEBAIHN0YXRpYyBXZWJDb3JlOjpCb3hT
aWRlIGJveFNpZGUoV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBfc2Ny
b2xsVHJpZ2dlcmluZ0tleUlzUHJlc3NlZCA9IFlFUzsKICAgICBfY3VycmVudFNjcm9sbCA9IHNj
cm9sbDsKIAotICAgIGlmIChzY3JvbGwtPmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50KSB7CisgICAgaWYgKHNjcm9sbC0+Z3JhbnVsYXJp
dHkgPT0gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KSB7CiAgICAgICAgIF92
ZWxvY2l0eSA9IHsgfTsKICAgICAgICAgW3NlbGYgc3RvcEFuaW1hdGVkU2Nyb2xsXTsKICAgICAg
ICAgW3NlbGYgc3RvcERpc3BsYXlMaW5rXTsKQEAgLTU0NSwxMyArNTQ1LDEzIEBAIHN0YXRpYyBX
ZWJDb3JlOjpGbG9hdFBvaW50IGZhcnRoZXN0UG9pbnRJbkRpcmVjdGlvbihXZWJDb3JlOjpGbG9h
dFBvaW50IGEsIFdlYkNvCiAKICAgICBpZiAoIV9kZWxlZ2F0ZVJlc3BvbmRzVG9EaXN0YW5jZUZv
ckluY3JlbWVudCkgewogICAgICAgICBzd2l0Y2ggKGluY3JlbWVudCkgewotICAgICAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAgICAgICAgIHJl
dHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRo
IDogc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWlnaHQ7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgICAgIHJldHVybiAoZGlyZWN0aW9uSXNI
b3Jpem9udGFsID8gc2Nyb2xsVmlldy5mcmFtZS5zaXplLndpZHRoIDogc2Nyb2xsVmlldy5mcmFt
ZS5zaXplLmhlaWdodCkgKiBkZWZhdWx0UGFnZVNjcm9sbEZyYWN0aW9uOwotICAgICAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1cm4gZGVm
YXVsdExpbmVTY3JvbGxIZWlnaHQgKiBzY3JvbGxWaWV3Lnpvb21TY2FsZTsKLSAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgICAgICByZXR1cm4g
MDsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCmluZGV4
IDg4ZWU1N2JlYjAyMjQwMDcxZmM2YmQwZjZmYzI4ODQxNmQzZDRmYTUuLjljNDVjNDNiYjMzNTM4
OTJiNDk4NTU3NDg5NGM2OGU5NDc4NTQwZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtNzYzLDcgKzc2Myw3IEBA
IExSRVNVTFQgV2ViUG9wdXBNZW51UHJveHlXaW46Om9uTW91c2VXaGVlbChIV05EIGhXbmQsIFVJ
TlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhCiAgICAgICAgICAgICAtLWk7CiAgICAgfQogCi0gICAg
U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChpID4gMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Ny
b2xsQnlMaW5lLCBhYnMoaSkpOworICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBT
Y3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lLCBhYnMoaSkpOwog
ICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAK
aW5kZXggMGM3ZjQwY2I0OWZmMTA3MWMxOGEzODBkNjM0NjhlNmM4OGZkNTQ5OC4uODIxNjNhMGIz
ZjAyOTJiNGYzYmZkMjUwMzc5MmE3OWI4MmJlMGQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3dpbi9XZWJWaWV3LmNwcApAQCAtNDAxLDE5ICs0MDEsMTkgQEAgTFJFU1VMVCBXZWJWaWV3Ojpv
bkhvcml6b250YWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQVIKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2ggKExP
V09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FTEVGVDoKLSAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJp
dHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU0JfTElORVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U0JfUEFHRUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAg
IGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFH
RVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTQz
MywxOSArNDMzLDE5IEBAIExSRVNVTFQgV2ViVmlldzo6b25WZXJ0aWNhbFNjcm9sbChIV05EIGhX
bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNCiAgICAgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNh
c2UgU0JfTElORURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAg
ICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVVUDoK
LSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVw
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VET1dOOgotICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VVUDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvV2ViUGFnZUd0ay5jcHAKaW5kZXggZTM1MDY2ZjM1Mzg1Y2RhZmJjODZlYzcwNDNkMTNk
NzZmNzk2NGEwOC4uMDUzMzViZTI0NjQzZDZlMzYxY2Q4YmMwMjZmMjA0YTdiNGY2NGZmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3Rr
LmNwcApAQCAtMTA0LDMxICsxMDQsMzEgQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJl
aGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYga2V5Ym9hcmQKIAogICAg
IHN3aXRjaCAoa2V5Ym9hcmRFdmVudC53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewogICAgIGNh
c2UgVktfU1BBQ0U6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIGtleWJvYXJkRXZlbnQu
c2hpZnRLZXkoKSA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwga2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xs
VXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
TGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
TGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFZLX1JJR0hUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Ny
b2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNj
cm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19VUDoK
LSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7Cisg
ICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6
TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgVktfRU5EOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxEb3duLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBWS19QUklPUjoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVw
LCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktf
TkVYVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlQ
YWdlKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9XZWJQYWdlTWFjLm1tCmluZGV4IDFlMjNhZmZlZGVjYWZkYmNkYTMxMDM4YzkxYmY4MDhkYWE4
ODNlYzEuLmMwYTk4YWM3OGY4MmU5ZjQzOTJlNDFiY2EzNTk1MGZjMDhkOWU2Y2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCkBA
IC00NjcsMjcgKzQ2NywyNyBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1Ob25FZGl0aW5nQmVoYXZp
b3JGb3JTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBLZXlibwogICAgIAogICAgIGlm
ICghZnJhbWUtPnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3Jv
bGxpbmdFbmFibGVkKCkpIHsKICAgICAgICAgaWYgKHNlbGVjdG9yID09ICJtb3ZlVXA6IikKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvQmVnaW5uaW5nT2ZQYXJhZ3JhcGg6IikKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudDoiKSB7Ci0g
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEJ5RG9jdW1lbnQpOwotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAg
ICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rp
b24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KTsKICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZURvd246IikK
LSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsK
ICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0VuZE9mUGFyYWdyYXBoOiIpCi0g
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
RG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAg
ICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9FbmRPZkRvY3VtZW50OiIpIHsKLSAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxE
b3duLCBTY3JvbGxCeURvY3VtZW50KTsKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93
biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1B
Y3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50KTsKICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZUxlZnQ6
IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxMZWZ0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
KTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVXb3JkTGVmdDoiKQotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVJpZ2h0OiIpCi0gICAgICAgICAgICBkaWRQZXJm
b3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGlu
ZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgZWxzZSBpZiAo
c2VsZWN0b3IgPT0gIm1vdmVXb3JkUmlnaHQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rp
b24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsQnlQYWdlKTsKKyAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxS
aWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgIH0KIAogICAgIGlmIChzZWxlY3Rv
ciA9PSAibW92ZVRvTGVmdEVuZE9mTGluZToiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCmluZGV4IDBjZjQ3MDdkNDRmYjIwYTJj
YjEyNWFhZjk0NjVkMTI4MmJmODQ2NTEuLmFmYWQ0ZjliMTNhYjE2YjA5MjUyNWE4NGJhYWVkMzQ5
MzNjOGU1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dp
bi9XZWJQYWdlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS93
aW4vV2ViUGFnZVdpbi5jcHAKQEAgLTc1LDI4ICs3NSwyOCBAQCBib29sIFdlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBrZXli
b2FyZAogCiAgICAgc3dpdGNoIChrZXlib2FyZEV2ZW50LndpbmRvd3NWaXJ0dWFsS2V5Q29kZSgp
KSB7CiAgICAgY2FzZSBWS19MRUZUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxMZWZ0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgVktfUklHSFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBT
Y3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX1VQ
OgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsK
KyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19ET1dOOgotICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfSE9NRToKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICBzY3JvbGwobV9wYWdl
LmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBWS19FTkQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFZLX1BSSU9SOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxVcCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBW
S19ORVhUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxC
eVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxH
cmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViRnJhbWVWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJG
cmFtZVZpZXcubW0KaW5kZXggZDVlZGFlNGVjNjUxYzZlZWIzM2YyZjQ0ZGVjZTNkMTlmNzMzNTgz
NS4uNzNlZjg2Y2JlZGM2NmNiNTUyOGJhNTY5N2FlZjM1NjQ1YmQ0ZDQ0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KQEAgLTYzMyw3ICs2
MzMsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsVG9CZWdpbm5pbmdPZkRvY3VtZW50CiB7
Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9s
bFVwIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5RG9jdW1lbnRdKQorICAgIGlmIChbc2Vs
ZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0
eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnRdKQogICAgICAgICByZXR1cm4g
WUVTOwogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCiAgICAgICAgIHJldHVybiBOTzsK
QEAgLTY0NSw3ICs2NDUsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsVG9FbmRPZkRvY3Vt
ZW50CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6
OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlEb2N1bWVudF0pCisgICAg
aWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNvcmU6OlNjcm9sbERvd24g
Z3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50XSkKICAgICAg
ICAgcmV0dXJuIFlFUzsKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQogICAgICAgICBy
ZXR1cm4gTk87CkBAIC03NDIsNyArNzQyLDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3BhZ2VWZXJ0
aWNhbGx5OihCT09MKXVwCiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0
aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFy
aXR5OldlYkNvcmU6OlNjcm9sbEJ5UGFnZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxv
d0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3du
IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlXSkKICAgICAgICAg
cmV0dXJuIFlFUzsKICAgICAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzU0
LDcgKzc1NCw3IEBAIGVudW0gewogCiAtIChCT09MKV9wYWdlSG9yaXpvbnRhbGx5OihCT09MKWxl
ZnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdl
YkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJD
b3JlOjpTY3JvbGxCeVBhZ2VdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVj
dGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdy
YW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlXSkKICAgICAgICAgcmV0
dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCkBAIC03NzYsNyArNzc2
LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9sbExpbmVWZXJ0aWNhbGx5OihCT09MKXVwCiB7
Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8gV2ViQ29yZTo6
U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9s
bEJ5TGluZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOnVwID8g
V2ViQ29yZTo6U2Nyb2xsVXAgOiBXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lXSkKICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAg
IGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCkBAIC03ODgsNyArNzg4LDcgQEAgZW51bSB7CiAK
IC0gKEJPT0wpX3Njcm9sbExpbmVIb3Jpem9udGFsbHk6KEJPT0wpbGVmdAogewotICAgIGlmIChb
c2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVm
dCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5TGlu
ZV0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJD
b3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29y
ZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmVdKQogICAgICAgICByZXR1cm4gWUVTOwogCiAgICAg
aWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAK
aW5kZXggNjU2OTk3ODEyODUwMGY3YjBhM2FiMGUxNjMzMGYwNTU3OWIzOWNmZi4uYWIzZDBhYjA2
Mjg2ZjU0NzY1ZDg4MDEzODE1Mzk0Mjk5YjI4MWNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAKQEAgLTIwODQsMTkgKzIwODQsMTkgQEAgYm9vbCBXZWJWaWV3Ojp2ZXJ0aWNhbFNj
cm9sbChXUEFSQU0gd1BhcmFtLCBMUEFSQU0gLypsUGFyYW0qLykKICAgICBTY3JvbGxHcmFudWxh
cml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKSB7CiAgICAgY2Fz
ZSBTQl9MSU5FRE9XTjoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAg
ICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVj
dGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfTElORVVQOgot
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkg
PSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFHRURPV046Ci0gICAgICAgIGdyYW51bGFy
aXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFu
dWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFHRVVQOgotICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7
CiAgICAgZGVmYXVsdDoKQEAgLTIxMTQsMTkgKzIxMTQsMTkgQEAgYm9vbCBXZWJWaWV3Ojpob3Jp
em9udGFsU2Nyb2xsKFdQQVJBTSB3UGFyYW0sIExQQVJBTSAvKmxQYXJhbSovKQogICAgIFNjcm9s
bEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3aXRjaCAoTE9XT1JEKHdQYXJhbSkpIHsK
ICAgICBjYXNlIFNCX0xJTkVMRUZUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGlu
ZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAg
ICAgZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9M
SU5FUklHSFQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24g
PSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFTEVGVDoKLSAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Ny
b2xsTGVmdDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFUklHSFQ6Ci0gICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJp
Z2h0OwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMjM1OSwzNSArMjM1OSwzNSBA
QCBib29sIFdlYlZpZXc6OmtleURvd24oV1BBUkFNIHZpcnR1YWxLZXlDb2RlLCBMUEFSQU0ga2V5
RGF0YSwgYm9vbCBzeXN0ZW1LZXlEb3duKQogICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5IHsgfTsKICAgICBzd2l0Y2ggKHZpcnR1YWxLZXlDb2RlKSB7CiAgICAgICAgIGNhc2UgVktf
TEVGVDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgICAgIGRp
cmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBW
S19SSUdIVDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgICAg
IGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgVktfVVA6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAg
ICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAg
ICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFZLX0RPV046Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAg
ICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAg
ICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgVktfSE9NRToKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsK
KyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50Owog
ICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBWS19FTkQ6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9j
dW1lbnQ7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudDsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBWS19QUklPUjoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6UGFnZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgVktfTkVYVDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsQnlQYWdlOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6UGFnZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgZGVmYXVsdDoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443875</attachid>
            <date>2021-11-10 16:03:27 -0800</date>
            <delta_ts>2021-11-10 17:26:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211110160326.patch</filename>
            <type>text/plain</type>
            <size>43147</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlYzAwYzBiNjc3YWNl
NmE4MDIyMzg5ZGIyMmZkYzJjY2VlYjhmZS4uNjgwNjQ2OGJhNDg5MDkxNjM4NDZiNmI5NTJiMTIx
ZWFkYWViYjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojps
b2dpY2FsU2Nyb2xsKToKKwogMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3Vj
aHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBlbnVt
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGNjYzk0NTdmOTAwMTBlNTQ5NWMwOGUzYWNmZTk5MDEyMWJjYzg3
NjkuLjQ1N2U1ZjYwOGIxYjM2NzM0YmY1Zjg2YTU0NTJiMGQzYWZjZDcxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzY3JvbGxCeSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcga2V5Ym9hcmRTY3JvbGxWaWV3
QW5pbWF0b3I6ZGlzdGFuY2VGb3JJbmNyZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW06CisgICAgICAgICgt
W1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBrZXlib2FyZFNjcm9sbEZvckV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgZGlzdGFuY2VGb3JJbmNy
ZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpv
bk1vdXNlV2hlZWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uSG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6Om9uVmVydGljYWxTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3Jt
Tm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IpOgorCiAyMDIxLTExLTA1ICBOaWtvbGFvcyBN
b3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xs
IGJhciBtb2RlIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBl
NjZjNDIzNmZmY2VmNzA4ZWJlOTUxYWY2OWY0NzIyOTNmNDZhMjRiLi4yYWEzNWYzOWEzYTFlZmQz
Mjg4OTg3M2JhYTEyOTFhNDJiMjYwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0JlZ2lubmluZ09mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0VuZE9mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlVmVydGlj
YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlSG9yaXpvbnRhbGx5Ol0pOgor
ICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVWZXJ0aWNhbGx5Ol0pOgorICAgICAg
ICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVIb3Jpem9udGFsbHk6XSk6CisKIDIwMjEtMTEt
MDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCmluZGV4IDBkMDVmOTZiMzcwZGViZGRjZjhhNzQwMDg1ODRiOWViZjg1YmMxMjguLjU3
ZjU1MGFmODg3NGVhZGU1ZmUzZDk5ZmYzOTgwMzA5ZGMzMzAzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBncmFu
dWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6dmVydGljYWxT
Y3JvbGwpOgorICAgICAgICAoV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChX
ZWJWaWV3OjprZXlEb3duKToKKwogMjAyMS0xMS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IHJlbmFtZSBhY3Rpb25WZXJiKCkgYXMg
bG9jYWxpemVkQWN0aW9uVmVyYigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOTc4MWVkMWYy
MTE0ZDEwNmE2NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBjNGJlOGRhNTE2ZWFmOGFjMmU2
MTllNzgwY2VhNzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTA5NiwxMiArMTA5
NiwxMiBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50IHVuaXRzLCBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeUxpbmVzKGludCBs
aW5lcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3JvbGxCeUxpbmUpOworICAgIHNj
cm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogdm9pZCBF
bGVtZW50OjpzY3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKHBh
Z2VzLCBTY3JvbGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2NhbFpvb21Gb3JSZW5kZXJlcihj
b25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ckNvbW1hbmQuY3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgzOTYwOTdiMDYwOGM1ODNjNmM2
YWIuLmYxODc1OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDkyZTM0ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5LDMyICs5ODksMzIgQEAgc3Rh
dGljIGJvb2wgZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VCYWNr
d2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3Ry
aW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJl
Y3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEJ5UGFnZSk7Cisg
ICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiB9
CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2FyZChGcmFtZSYgZnJhbWUsIEV2
ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4g
ZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2Nr
RGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRI
YW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9y
d2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRl
U2Nyb2xsTGluZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICByZXR1cm4gZnJhbWUuZXZl
bnRIYW5kbGVyKCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbExpbmVEb3duKEZyYW1lJiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAg
IHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3du
LCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxS
ZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiB9CiAKIHN0
YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9jdW1lbnQoRnJhbWUmIGZyYW1l
LCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0
dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxC
bG9ja0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICByZXR1cm4gZnJh
bWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGly
ZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRp
YyBib29sIGV4ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCos
IEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1l
LmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVj
dGlvbkZvcndhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3
YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVj
dXRlU2VsZWN0QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDU3YjMz
NTdhMTU0NjI5MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5Y2YwYTg2OGE5MDg2MDEyOTc3
OWNhOTVkMDY0MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
QEAgLTI5OCwxMyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Nyb2xsR3JhbnVsYXJpdHkgd2hl
ZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWduZWQgZGVsCiB7CiAgICAgc3dp
dGNoIChkZWx0YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9QQUdFOgot
ICAgICAgICByZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVMVEFfTElORToKLSAgICAg
ICAgcmV0dXJuIFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BJWEVMOgotICAgICAgICBy
ZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQ
aXhlbDsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAg
ICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICB9CiB9CiAKQEAgLTEyODcs
NyArMTI4Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHko
U2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAgICAgYm9vbCBzY3JvbGxlZCA9
IGZhbHNlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1hYyBhbHNvIHJlc2V0cyB0aGUg
c2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9uLgotICAgIGlmIChncmFudWxh
cml0eSA9PSBTY3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChT
Y3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlEb2N1bWVudCkpCisgICAgaWYg
KGdyYW51bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCAmJiB2aWV3ICYmIHZp
ZXctPmxvZ2ljYWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdy
YW51bGFyaXR5OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVkID0gdHJ1ZTsKICNlbmRpZgog
ICAgIGlmICh2aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0
eSkpCkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNl
RXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAg
ICBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2ZW50LnNoaWZ0S2V5KCkgPyBT
Y3JvbGxCbG9ja0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJk
OwotICAgIGlmIChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2Up
KSB7CisgICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkKICAgICBp
ZiAoIXZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBt
X2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxp
bmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXctPmxvZ2lj
YWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAgIGJvb2wgZGVmYXVsdEhhbmRs
ZWQgPSBtX2ZyYW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRT
Y3JvbGxpbmdFbmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXct
PmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAg
aWYgKGRlZmF1bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwog
fQpAQCAtNDMwOCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhhbmRsZXI6OnNjcm9sbERpc3Rh
bmNlKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAgfSgp
OwogCiAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVs
YXJpdHk6OlNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgog
ICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
RG9jdW1lbnQ6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFu
dWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDMyOTVlODA4NDI4MWYzNDhk
YTVjYjk2NTRlMmUwODQwYzczMmE4YjYuLmZmZTM0ZTRmYzU3OGY1YzkyZDZkYmQ5MmU1ZWQ3OTQ4
OWVhMjhhOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM4MTcsNyArMzgxNyw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Ny
b2xsU3RlcEZvckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7Ci0gICAgaWYgKGdy
YW51bGFyaXR5ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmll
bnRhdGlvbjo6SG9yaXpvbnRhbCkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UgfHwgb3JpZW50YXRpb24gPT0gU2Nyb2xsYmFyT3JpZW50YXRpb246Okhvcml6
b250YWwpCiAgICAgICAgIHJldHVybiBzdGVwOwogCiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhh
c2hTZXQqIHBvc2l0aW9uZWRPYmplY3RzID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKaW5kZXggZmJkZWFm
ZmQyYmM0YTJmOGQxNzIyMDNlMTkwOWZjZTk3ZDE5ODRmMy4uZTVhZDJmZGMxNGQ0YTY1Y2VkZWM2
OTQ4MzlkMzIyMDhkNjk2NWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKQEAgLTE1NSwxMyArMTU1LDEzIEBAIGZs
b2F0IEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVj
dGlvbiBkaXJlY3Rpb24sIFNjcm9sCiAKICAgICBpZiAoc2Nyb2xsYmFyKSB7CiAgICAgICAgIHN3
aXRjaCAoZ3JhbnVsYXJpdHkpIHsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Ny
b2xsQnlMaW5lOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAg
ICAgICAgcmV0dXJuIHNjcm9sbGJhci0+bGluZVN0ZXAoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxH
cmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlOgogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGFnZVN0ZXAoKTsKLSAgICAg
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2Fz
ZSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xs
YmFyLT50b3RhbFNpemUoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQaXhlbDoKKyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgfQogICAgIH0KQEAg
LTIwMiwxOCArMjAyLDE4IEBAIHN0ZDo6b3B0aW9uYWw8S2V5Ym9hcmRTY3JvbGw+IEtleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3I6OmtleWJvYXJkU2Nyb2xsRm9yS2V5Ym9hCiAgICAgICAgIHN3aXRj
aCAoa2V5LnZhbHVlKCkpIHsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6TGVm
dEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpSaWdodEFycm93Ogot
ICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5UGFnZSA6IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICByZXR1cm4gZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSA6IFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpV
cEFycm93OgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpEb3duQXJyb3c6CiAg
ICAgICAgICAgICBpZiAoZXZlbnQubWV0YUtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1
cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgaWYgKGV2ZW50LmFs
dEtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlQYWdlOwotICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxp
bmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAg
ICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtl
eWJvYXJkU2Nyb2xsaW5nS2V5OjpTcGFjZToKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGlu
Z0tleTo6UGFnZVVwOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlRG93
bjoKLSAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOwor
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICB9Owog
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0oKTsKQEAgLTI2Nyw3
ICsyNjcsNyBAQCBib29sIEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRT
Y3JvbGxHZXN0dXJlKGNvbnN0IFBsYXRmb3JtS2V5Ym9hcgogICAgIGlmIChtX3Njcm9sbFRyaWdn
ZXJpbmdLZXlJc1ByZXNzZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2N1
cnJlbnRLZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5RG9jdW1lbnQpIHsKKyAgICBpZiAobV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPmdyYW51
bGFyaXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBtX3ZlbG9j
aXR5ID0geyB9OwogICAgICAgICBzdG9wS2V5Ym9hcmRTY3JvbGxBbmltYXRpb24oKTsKICAgICAg
ICAgYXV0byBuZXdQb3NpdGlvbiA9IEludFBvaW50KG1fc2Nyb2xsQW5pbWF0b3IuY3VycmVudFBv
c2l0aW9uKCkgKyBtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+b2Zmc2V0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCBiYmQ5NGRiNGVkNTRkMTgwNjlj
OTk5MzRjYTRlM2JkMzI0NmE5MWIzLi4wNTBjNjZmOGNiODU3ZTA3ZWQ2ZGQ2ZWM2ZGE2ZmFlNWI1
NjJkNjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBA
IC0yMTcsNyArMjE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZl
KQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpWZXJ0aWNhbCwgU2Nyb2xs
QnlQaXhlbCwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlv
cik7CisgICAgICAgICAgICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBT
Y3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwg
LWRlbHRhWSwgYmVoYXZpb3IpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRlbHRhWCkgewpA
QCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2
ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgU2Ny
b2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgsIGJl
aGF2aW9yKTsKKyAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpv
bnRhbCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhl
bFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVy
biBoYW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGFkMmUy
N2E4N2UxMGJkNTc2N2Y0OTNiMDFhMDE5MjYwMDk5YWQ5Ny4uODNmNGEyZjczYTcwMjc1ZWVkYjVm
MjkwZjJiYzZhZjRkMDQ2OGMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5o
CkBAIC0xMzAsMTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1Bo
eXNpY2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJu
IFNjcm9sbFVwOwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAg
U2Nyb2xsQnlMaW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAot
ICAgIFNjcm9sbEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90
IHsKKyAgICBMaW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAK
IGVudW0gY2xhc3MgU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGI1NTJkNGQ4MTMxZWVlYTcwMDlkZGUz
MGY0Y2MwZDZkZTcxNDExYTEuLjhmMjBjZWM4NTQxM2JlYWRjYjQ3YjdlMjE4MDM5ZDdlMjQ2ODhl
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTEx
MywxNiArMTEzLDE2IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rp
b24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVw
ID0gMDsKICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+bGluZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6
CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9s
bGJhci0+cGFnZVN0ZXAoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3Vt
ZW50OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICBzdGVw
ID0gc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3Jv
bGxCeVBpeGVsOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBz
dGVwID0gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggNmE0YTU3NDVhMDBmYjcxMGVhZWUz
M2IzZGNjYjAzODA2YzE0YWEzNy4uNjI4ZGMxY2UyZDBhOGM3YTMwMjgxM2U0NTA2MzY0MDgwMTdm
OTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0
LDggQEAgU2Nyb2xsRGlyZWN0aW9uIFNjcm9sbGJhcjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rp
b24oKQogU2Nyb2xsR3JhbnVsYXJpdHkgU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51
bGFyaXR5KCkKIHsKICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0
IHx8IG1fcHJlc3NlZFBhcnQgPT0gQmFja0J1dHRvbkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQg
PT0gRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0
b25FbmRQYXJ0KQotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOwotICAgIHJldHVybiBTY3Jv
bGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKKyAgICBy
ZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3Zl
VGh1bWIoaW50IHBvcywgYm9vbCBkcmFnZ2luZ0RvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2Ez
M2Q1OGUzOGNhZmEyZTgxMzRhNWVlYTdkYzkuLjMyMTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2Yzcw
NzdmMThkNzQ2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxBbmltYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
QW5pbWF0b3JJT1MubW0KQEAgLTEzOSwxMyArMTM5LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJ
T1M6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50
KQogICAgIC8vIEhvcml6b250YWwKICAgICBpZiAobV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBB
eGlzTGF0Y2hWZXJ0aWNhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRo
KCk7Ci0gICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2Ut
PnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4
ZWwsIGFicyhkZWx0YSkpOworICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JU
b3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0
LCBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIGFicyhkZWx0YSkpOwogICAgIH0KICAgICAKICAg
ICAvLyBWZXJ0aWNhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRj
aEhvcml6b250YWwpIHsKICAgICAgICAgaW50IGRlbHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsK
LSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Ny
b2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJz
KGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2Vx
dWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdy
YW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAgIC8vIFJldHVy
biBmYWxzZSB1bnRpbCB3ZSBtYW5hZ2UgdG8gc2Nyb2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCBy
ZXR1cm5pbmcgdHJ1ZSB1bnRpbCB0aGUgZ2VzdHVyZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCBiMTQzYmZhMmY3Zjg1NTAxYjNkMDg5
MjI2YzhlNjA4YzE0ZmU5YjQyLi5lMmMxMzhlOTE3MTk4OGNlYzg4MjVhOTc0ZWJmNDE3OGZlYjUy
OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApA
QCAtMTA2MCw3ICsxMDYwLDcgQEAgTFJFU1VMVCBQb3B1cE1lbnVXaW46OnduZFByb2MoSFdORCBo
V25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGEKICAgICAgICAgICAg
ICAgICAgICAgLS1pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFi
cyhpKSk7CisgICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xs
VXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggYjEyMDIxMjA3NTk0Yjg0N2YyYmMyZTE2MmRiMTdjYmIwY2I4NmVkOS4uMTYw
NzViMWY1ZDZmOGJkNGQ4NTY0N2ZmYTg2ZWFiN2RkMmNlZmRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTkyNSw4ICs5MjUsOCBAQCBib29sIFJlbmRlckJveDo6
bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdAogICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IGxheWVyKCkgPyBsYXllcigp
LT5zY3JvbGxhYmxlQXJlYSgpIDogbnVsbHB0cikgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICAgICAvLyBPbiBNYWMgb25seSB3ZSByZXNldCB0aGUgaW5saW5lIGRpcmVjdGlvbiBwb3NpdGlv
biB3aGVuIGRvaW5nIGEgZG9jdW1lbnQgc2Nyb2xsIChlLmcuLCBoaXR0aW5nIEhvbWUvRW5kKS4K
LSAgICAgICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5RG9jdW1lbnQpCi0gICAgICAgICAg
ICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Ny
b2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0
eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEJ5RG9jdW1lbnQsIG11
bHRpcGxpZXIpOworICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KQorICAgICAgICAgICAgc2Nyb2xsZWQgPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
KGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkLCBpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkp
LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQsIG11bHRpcGxpZXIpOwogI2VuZGlmCiAgICAg
ICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxUb1BoeXNpY2FsKGRpcmVjdGlv
biwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0
aW5nTW9kZSgpKSwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIpKQogICAgICAgICAgICAgc2Nyb2xs
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggYmE3OGYwOWU3ZjRmZmI0NGZmNmM4ZjYyOWFk
NGM2ZjQ4OTg4YjA5Mi4uMGUxYzdmOGY3MDI5ZDVhNDI1MmE2MzcxMzJjMzJhYWZjODQ0MWU0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCkBAIC01OTE5LDE3ICs1OTE5LDE3IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y29udGVudFR5cGVGcm9tRmllbGROYW1lKFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lIGZpZWxk
TmFtZSkKICAgICBCT09MIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA9IGRpcmVjdGlvbiA9PSBXZWJD
b3JlOjpTY3JvbGxEaXJlY3Rpb246OlNjcm9sbExlZnQgfHwgZGlyZWN0aW9uID09IFdlYkNvcmU6
OlNjcm9sbERpcmVjdGlvbjo6U2Nyb2xsUmlnaHQ7CiAKICAgICBzd2l0Y2ggKGluY3JlbWVudCkg
ewotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6
IHsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDogewogICAg
ICAgICBDR1NpemUgZG9jdW1lbnRTaXplID0gW3NlbGYgY29udmVydFJlY3Q6c2VsZi5ib3VuZHMg
dG9WaWV3OnNlbGYud2ViVmlld10uc2l6ZTsKICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklzSG9y
aXpvbnRhbCA/IGRvY3VtZW50U2l6ZS53aWR0aCA6IGRvY3VtZW50U2l6ZS5oZWlnaHQ7CiAgICAg
fQotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTogewor
ICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6IHsKICAgICAgICAgQ0dT
aXplIHBhZ2VTaXplID0gW3NlbGYgY29udmVydFNpemU6Q0dTaXplTWFrZSgwLCBXZWJDb3JlOjpT
Y3JvbGxiYXI6OnBhZ2VTdGVwKF9wYWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKS5oZWlnaHQo
KSwgc2VsZi5ib3VuZHMuc2l6ZS5oZWlnaHQpKSB0b1ZpZXc6c2VsZi53ZWJWaWV3XTsKICAgICAg
ICAgcmV0dXJuIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IHBhZ2VTaXplLndpZHRoIDogcGFnZVNp
emUuaGVpZ2h0OwogICAgIH0KLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpT
Y3JvbGxCeUxpbmU6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZToK
ICAgICAgICAgcmV0dXJuIFtzZWxmIGNvbnZlcnRTaXplOkNHU2l6ZU1ha2UoMCwgV2ViQ29yZTo6
U2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpKSB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5oZWln
aHQ7Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoK
KyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
bW0KaW5kZXggYzMxMjM4MzRlN2ZhOTNjMjk3ZDc5N2JlNmE5ZDdkZWM1YjM5Zjc3OC4uNmIzZWRj
NzZiMzk2MDRlNTU1NzU1MDMwYWY1MjFkYmQ5NmU0MDdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1t
CkBAIC0yMTksMjIgKzIxOSwyMiBAQCBzdGF0aWMgV2ViQ29yZTo6Qm94U2lkZSBib3hTaWRlKFdl
YkNvcmU6OlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIGNhc2UgS2V5OjpMZWZ0
QXJyb3c6CiAgICAgICAgIGNhc2UgS2V5OjpSaWdodEFycm93OgogICAgICAgICAgICAgaWYgKGFs
dFByZXNzZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeVBhZ2U7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5OjpVcEFycm93OgogICAgICAg
ICBjYXNlIEtleTo6RG93bkFycm93OgogICAgICAgICAgICAgaWYgKGFsdFByZXNzZWQpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBh
Z2U7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlOwogICAgICAgICAgICAgaWYgKGNtZFByZXNzZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OwotICAgICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsK
KyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgY2FzZSBLZXk6OlBhZ2VVcDoKICAgICAgICAgY2FzZSBLZXk6OlBhZ2VEb3duOgogICAg
ICAgICBjYXNlIEtleTo6U3BhY2U6Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgY2FzZSBLZXk6Ok90aGVyOgogICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIHJldHVybiBXZWJD
b3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgfTsKICAgICB9KCk7CiAKQEAg
LTI5Myw3ICsyOTMsNyBAQCBzdGF0aWMgV2ViQ29yZTo6Qm94U2lkZSBib3hTaWRlKFdlYkNvcmU6
OlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgX3Njcm9sbFRyaWdnZXJpbmdLZXlJc1By
ZXNzZWQgPSBZRVM7CiAgICAgX2N1cnJlbnRTY3JvbGwgPSBzY3JvbGw7CiAKLSAgICBpZiAoc2Ny
b2xsLT5ncmFudWxhcml0eSA9PSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlE
b2N1bWVudCkgeworICAgIGlmIChzY3JvbGwtPmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBfdmVsb2NpdHkgPSB7IH07CiAgICAg
ICAgIFtzZWxmIHN0b3BBbmltYXRlZFNjcm9sbF07CiAgICAgICAgIFtzZWxmIHN0b3BEaXNwbGF5
TGlua107CkBAIC01NDUsMTMgKzU0NSwxMyBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBm
YXJ0aGVzdFBvaW50SW5EaXJlY3Rpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBhLCBXZWJDbwogCiAg
ICAgaWYgKCFfZGVsZWdhdGVSZXNwb25kc1RvRGlzdGFuY2VGb3JJbmNyZW1lbnQpIHsKICAgICAg
ICAgc3dpdGNoIChpbmNyZW1lbnQpIHsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jp
em9udGFsID8gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuY29udGVu
dFNpemUuaGVpZ2h0OwotICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpT
Y3JvbGxCeVBhZ2U6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2U6CiAgICAgICAgICAgICByZXR1cm4gKGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IHNjcm9sbFZp
ZXcuZnJhbWUuc2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuZnJhbWUuc2l6ZS5oZWlnaHQpICogZGVm
YXVsdFBhZ2VTY3JvbGxGcmFjdGlvbjsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6U2Nyb2xsQnlMaW5lOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51
bGFyaXR5OjpMaW5lOgogICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRMaW5lU2Nyb2xsSGVpZ2h0
ICogc2Nyb2xsVmlldy56b29tU2NhbGU7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlBpeGVsOgogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRleCA4OGVlNTdiZWIwMjI0MDA3MWZj
NmJkMGY2ZmMyODg0MTZkM2Q0ZmE1Li45YzQ1YzQzYmIzMzUzODkyYjQ5ODU1NzQ4OTRjNjhlOTQ3
ODU0MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBN
ZW51UHJveHlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1
cE1lbnVQcm94eVdpbi5jcHAKQEAgLTc2Myw3ICs3NjMsNyBAQCBMUkVTVUxUIFdlYlBvcHVwTWVu
dVByb3h5V2luOjpvbk1vdXNlV2hlZWwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3
UGFyYQogICAgICAgICAgICAgLS1pOwogICAgIH0KIAotICAgIFNjcm9sbGFibGVBcmVhOjpzY3Jv
bGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSwgYWJzKGkpKTsK
KyAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3du
LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICByZXR1cm4gMDsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4IDBjN2Y0MGNiNDlmZjEw
NzFjMThhMzgwZDYzNDY4ZTZjODhmZDU0OTguLjgyMTYzYTBiM2YwMjkyYjRmM2JmZDI1MDM3OTJh
NzliODJiZTBkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKQEAg
LTQwMSwxOSArNDAxLDE5IEBAIExSRVNVTFQgV2ViVmlldzo6b25Ib3Jpem9udGFsU2Nyb2xsKEhX
TkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSCiAgICAgU2Nyb2xsR3Jh
bnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAg
IGNhc2UgU0JfTElORUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOwor
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBk
aXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVS
SUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51
bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNj
cm9sbFJpZ2h0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VMRUZUOgotICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxM
ZWZ0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VSSUdIVDoKLSAgICAgICAgZ3Jh
bnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC00MzMsMTkgKzQzMywxOSBAQCBMUkVT
VUxUIFdlYlZpZXc6Om9uVmVydGljYWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQ
QVJBTSB3UGFyYW0sIExQQVJBTQogICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5Owog
ICAgIHN3aXRjaCAoTE9XT1JEKHdQYXJhbSkpIHsKICAgICBjYXNlIFNCX0xJTkVET1dOOgotICAg
ICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9MSU5FVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBTQl9QQUdFRE9XTjoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3Vt
ZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsK
ICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBTQl9QQUdFVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAg
IGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KaW5kZXggOTZlNWM3NjdmMGJjYTJlNzhmZjcxNjkzNTMzMWE4MDQ2NDI0ODgwMi4uMWZhNjkz
YTMyZmE3ZWM5Y2M5ZjliYTA2ZDQ4NTZlNzJlYzdhYjIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNjgsNyAr
MTY4LDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2Vi
S2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEaWRFbmREYXRlVGltZVBpY2tl
cigpOwogI2VuZGlmCiAKLSAgICBTY3JvbGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rpb24sIHVp
bnQzMl90IHNjcm9sbEdyYW51bGFyaXR5KQorICAgIFNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERp
cmVjdGlvbiwgZW51bTp1aW50OF90IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5IHNjcm9sbEdy
YW51bGFyaXR5KQogICAgIENlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKQogCiAgICAgR29U
b0JhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIHN0cnVjdCBXZWJDb3JlOjpC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyIGJhY2tGb3J3YXJkSXRlbUlELCBlbnVtOnVpbnQ4X3Qg
V2ViQ29yZTo6RnJhbWVMb2FkVHlwZSBiYWNrRm9yd2FyZFR5cGUsIGVudW06dWludDhfdCBXZWJD
b3JlOjpTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdM
b2FkLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4gd2Vic2l0ZVBv
bGljaWVzLCBib29sIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmluZGV4IGUz
NTA2NmYzNTM4NWNkYWZiYzg2ZWM3MDQzZDEzZDc2Zjc5NjRhMDguLjA1MzM1YmUyNDY0M2Q2ZTM2
MWNkOGJjMDI2ZjIwNGE3YjRmNjRmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTEwNCwzMSArMTA0LDMxIEBAIGJv
b2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlvckZvcktleUV2ZW50KGNvbnN0IFdlYktl
eWJvYXJkRXZlbnQmIGtleWJvYXJkCiAKICAgICBzd2l0Y2ggKGtleWJvYXJkRXZlbnQud2luZG93
c1ZpcnR1YWxLZXlDb2RlKCkpIHsKICAgICBjYXNlIFZLX1NQQUNFOgotICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBrZXlib2FyZEV2ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9s
bERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIGtleWJv
YXJkRXZlbnQuc2hpZnRLZXkoKSA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgVktfVVA6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFZLX0RPV046Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNj
cm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNj
cm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19IT01F
OgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVu
dCk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxh
cml0eTo6RG9jdW1lbnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0VORDoKLSAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7Cisg
ICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5
OjpEb2N1bWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCAxZTIzYWZm
ZWRlY2FmZGJjZGEzMTAzOGM5MWJmODA4ZGFhODgzZWMxLi5jMGE5OGFjNzhmODJlOWY0MzkyZTQx
YmNhMzU5NTBmYzA4ZDllNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtNDY3LDI3ICs0NjcsMjcgQEAgYm9vbCBXZWJQ
YWdlOjpwZXJmb3JtTm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBz
ZWxlY3RvciwgS2V5Ym8KICAgICAKICAgICBpZiAoIWZyYW1lLT5zZXR0aW5ncygpLmV2ZW50SGFu
ZGxlckRyaXZlblNtb290aEtleWJvYXJkU2Nyb2xsaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIGlm
IChzZWxlY3RvciA9PSAibW92ZVVwOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVU
b0JlZ2lubmluZ09mUGFyYWdyYXBoOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9s
bEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVU
b0JlZ2lubmluZ09mRG9jdW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKLSAgICAg
ICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVm
dCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Ny
b2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7
CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBp
ZiAoc2VsZWN0b3IgPT0gIm1vdmVEb3duOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAg
ICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3du
LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09
ICJtb3ZlVG9FbmRPZlBhcmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwg
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAi
bW92ZVRvRW5kT2ZEb2N1bWVudDoiKSB7Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExl
ZnQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVu
dCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxz
ZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAg
ICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxM
ZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9y
ID09ICJtb3ZlV29yZExlZnQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAg
ZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9s
bEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVS
aWdodDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFj
dGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0
eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZFJpZ2h0OiIp
Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsUmlnaHQsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdl
KTsKICAgICB9CiAKICAgICBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0xlZnRFbmRPZkxpbmU6IikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdl
V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2lu
LmNwcAppbmRleCAwY2Y0NzA3ZDQ0ZmIyMGEyY2IxMjVhYWY5NDY1ZDEyODJiZjg0NjUxLi5hZmFk
NGY5YjEzYWIxNmIwOTI1MjVhODRiYWFlZDM0OTMzYzhlNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCkBAIC03NSwyOCAr
NzUsMjggQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQo
Y29uc3QgV2ViS2V5Ym9hcmRFdmVudCYga2V5Ym9hcmQKIAogICAgIHN3aXRjaCAoa2V5Ym9hcmRF
dmVudC53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewogICAgIGNhc2UgVktfTEVGVDoKLSAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX1JJR0hUOgotICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19VUDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgVktfRE9XTjoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwg
U2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0hP
TUU6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3Vt
ZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51
bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRU5EOgotICAg
ICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeURvY3VtZW50KTsK
KyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19QUklPUjoKLSAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfTkVYVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCmluZGV4IGQ1ZWRhZTRlYzY1
MWM2ZWViMzNmMmY0NGRlY2UzZDE5ZjczMzU4MzUuLjczZWY4NmNiZWRjNjZjYjU1MjhiYTU2OTdh
ZWYzNTY0NWJkNGQ0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViRnJhbWVWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViRnJhbWVWaWV3Lm1tCkBAIC02MzMsNyArNjMzLDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Nj
cm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZs
b3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3Jv
bGxCeURvY3VtZW50XSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246
V2ViQ29yZTo6U2Nyb2xsVXAgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50XSkKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9s
bGFibGVdKQogICAgICAgICByZXR1cm4gTk87CkBAIC02NDUsNyArNjQ1LDcgQEAgZW51bSB7CiAK
IC0gKEJPT0wpX3Njcm9sbFRvRW5kT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xs
T3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNv
cmU6OlNjcm9sbEJ5RG9jdW1lbnRdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRp
cmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpEb2N1bWVudF0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgaWYgKCFbc2Vs
ZiBfaXNTY3JvbGxhYmxlXSkKICAgICAgICAgcmV0dXJuIE5POwpAQCAtNzQyLDcgKzc0Miw3IEBA
IGVudW0gewogCiAtIChCT09MKV9wYWdlVmVydGljYWxseTooQk9PTCl1cAogewotICAgIGlmIChb
c2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDog
V2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeVBhZ2VdKQor
ICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNj
cm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgCiAgICAgaWYgKCFb
c2VsZiBfaXNTY3JvbGxhYmxlXSkKQEAgLTc1NCw3ICs3NTQsNyBAQCBlbnVtIHsKIAogLSAoQk9P
TClfcGFnZUhvcml6b250YWxseTooQk9PTClsZWZ0CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxP
dmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6
U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlQYWdlXSkKKyAgICBpZiAo
W3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExl
ZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9p
c1Njcm9sbGFibGVdKQpAQCAtNzc2LDcgKzc3Niw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3Jv
bGxMaW5lVmVydGljYWxseTooQk9PTCl1cAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZs
b3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93
biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2VsZiBfc2Ny
b2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6
U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZV0p
CiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpA
QCAtNzg4LDcgKzc4OCw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxMaW5lSG9yaXpvbnRh
bGx5OihCT09MKWxlZnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rp
b246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFu
dWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3Zl
cmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNj
cm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lXSkK
ICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDY1Njk5NzgxMjg1MDBmN2IwYTNhYjBl
MTYzMzBmMDU1NzliMzljZmYuLmFiM2QwYWIwNjI4NmY1NDc2NWQ4ODAxMzgxNTM5NDI5OWIyODFj
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0yMDg0LDE5ICsyMDg0LDE5
IEBAIGJvb2wgV2ViVmlldzo6dmVydGljYWxTY3JvbGwoV1BBUkFNIHdQYXJhbSwgTFBBUkFNIC8q
bFBhcmFtKi8pCiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNo
IChMT1dPUkQod1BhcmFtKSkgewogICAgIGNhc2UgU0JfTElORURPV046Ci0gICAgICAgIGdyYW51
bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51
bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFNCX0xJTkVVUDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxC
eUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAg
ICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNC
X1BBR0VET1dOOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAg
ICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBk
aXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VV
UDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFu
dWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9u
ID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0yMTE0LDE5ICsy
MTE0LDE5IEBAIGJvb2wgV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbChXUEFSQU0gd1BhcmFtLCBM
UEFSQU0gLypsUGFyYW0qLykKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsKICAg
ICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FTEVGVDoKLSAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfTElORVJJR0hUOgotICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU0JfUEFHRUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlE
b2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1l
bnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgU0JfUEFHRVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1l
bnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50Owog
ICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVm
YXVsdDoKQEAgLTIzNTksMzUgKzIzNTksMzUgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJB
TSB2aXJ0dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAg
ICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSB7IH07CiAgICAgc3dpdGNoICh2aXJ0dWFs
S2V5Q29kZSkgewogICAgICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVs
YXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfUklHSFQ6Ci0gICAgICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3Jh
bnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxSaWdodDsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX1VQOgotICAgICAgICAgICAgZ3JhbnVs
YXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19ET1dOOgotICAgICAgICAgICAgZ3JhbnVs
YXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAgICAgICBncmFu
dWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9s
bFVwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfRU5EOgotICAgICAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBkaXJlY3Rpb24g
PSBTY3JvbGxEb3duOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfUFJJT1I6
Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBkaXJlY3Rp
b24gPSBTY3JvbGxVcDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX05FWFQ6
Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBkaXJlY3Rp
b24gPSBTY3JvbGxEb3duOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6Cg==
</data>
<flag name="commit-queue"
          id="468711"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443879</attachid>
            <date>2021-11-10 17:22:59 -0800</date>
            <delta_ts>2021-11-10 17:38:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211110172258.patch</filename>
            <type>text/plain</type>
            <size>48842</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlYzAwYzBiNjc3YWNl
NmE4MDIyMzg5ZGIyMmZkYzJjY2VlYjhmZS4uNjgwNjQ2OGJhNDg5MDkxNjM4NDZiNmI5NTJiMTIx
ZWFkYWViYjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChX
ZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhl
Y3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURv
d24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdy
YW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhl
ZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpw
cmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Ny
b2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojps
b2dpY2FsU2Nyb2xsKToKKwogMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3Vj
aHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBlbnVt
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGNjYzk0NTdmOTAwMTBlNTQ5NWMwOGUzYWNmZTk5MDEyMWJjYzg3
NjkuLjQ1N2U1ZjYwOGIxYjM2NzM0YmY1Zjg2YTU0NTJiMGQzYWZjZDcxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzY3JvbGxCeSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcga2V5Ym9hcmRTY3JvbGxWaWV3
QW5pbWF0b3I6ZGlzdGFuY2VGb3JJbmNyZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW06CisgICAgICAgICgt
W1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBrZXlib2FyZFNjcm9sbEZvckV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxWaWV3QW5pbWF0b3IgZGlzdGFuY2VGb3JJbmNy
ZW1lbnQ6aW5EaXJlY3Rpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpv
bk1vdXNlV2hlZWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uSG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6Om9uVmVydGljYWxTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvV2ViUGFnZUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3Jt
Tm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IpOgorCiAyMDIxLTExLTA1ICBOaWtvbGFvcyBN
b3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xs
IGJhciBtb2RlIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBl
NjZjNDIzNmZmY2VmNzA4ZWJlOTUxYWY2OWY0NzIyOTNmNDZhMjRiLi4yYWEzNWYzOWEzYTFlZmQz
Mjg4OTg3M2JhYTEyOTFhNDJiMjYwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0
YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgZ3JhbnVsYXJpdHkgYW4gZW51
bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0JlZ2lubmluZ09mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3Jv
bGxUb0VuZE9mRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlVmVydGlj
YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9wYWdlSG9yaXpvbnRhbGx5Ol0pOgor
ICAgICAgICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVWZXJ0aWNhbGx5Ol0pOgorICAgICAg
ICAoLVtXZWJGcmFtZVZpZXcgX3Njcm9sbExpbmVIb3Jpem9udGFsbHk6XSk6CisKIDIwMjEtMTEt
MDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCmluZGV4IDBkMDVmOTZiMzcwZGViZGRjZjhhNzQwMDg1ODRiOWViZjg1YmMxMjguLjU3
ZjU1MGFmODg3NGVhZGU1ZmUzZDk5ZmYzOTgwMzA5ZGMzMzAzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBncmFu
dWxhcml0eSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6dmVydGljYWxT
Y3JvbGwpOgorICAgICAgICAoV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbCk6CisgICAgICAgIChX
ZWJWaWV3OjprZXlEb3duKToKKwogMjAyMS0xMS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IHJlbmFtZSBhY3Rpb25WZXJiKCkgYXMg
bG9jYWxpemVkQWN0aW9uVmVyYigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGFmYzVkOGM2ODdmZDE1MGIxZTU1MjI0NmU1ZGU4
NzQ0ZmQxYTM1MS4uZWNhYjQ5ODU3Yzk3ZDAxZWVkNzM0ZWVlZTNkYjU0YTFlZDVkYWYyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNjgyMCw2ICs2ODIwLDggQEAKIAkJMUE4RjZCQjkwREI1NUNEQzAwMURCNzk0IC8qIERPTUFw
cGxpY2F0aW9uQ2FjaGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQThGNkJCQTBEQjU1Q0RD
MDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZU1hbmlmZXN0UGFyc2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVNYW5pZmVzdFBhcnNl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOEY2QkJCMERCNTVDREMwMDFE
Qjc5NCAvKiBBcHBsaWNhdGlvbkNhY2hlTWFuaWZlc3RQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZU1hbmlmZXN0UGFyc2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBOTk4MzAxMjczQzlCMjgwMDZEMTE4RSAvKiBTY3Jv
bGxHcmFudWxhcml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxHcmFudWxhcml0eS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTk5ODMwMzI3M0M5RTU4MDA2RDExOEUgLyogU2Ny
b2xsR3JhbnVsYXJpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsR3JhbnVsYXJpdHkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBQUREQTExNERCNDA5RjAwQUY2NEIzIC8qIFNj
cm9sbGluZ1RyZWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
b2xsaW5nVHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQUFEREEyMTRE
QjQwOUYwMEFGNjRCMyAvKiBTY3JvbGxpbmdUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcm9sbGluZ1RyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFBQURERTExNERDOEM4RjAwQUY2NEIzIC8qIFNjcm9sbGluZ1RyZWVOb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVOb2RlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NjE2LDExICsxODYxOCwxMSBAQAogCQkxQTU2
OUNDNDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICov
LAogCQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjICovLAogCQkJCTU5OUU3NThG
MTEwNTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLywKIAkJCQkxQTcxRDU3OTBGMzM4MTkwMDBG
OUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8sCiAJCQkJMUE3MUQ1N0EwRjMzODE5MDAwRjlD
RTRFIC8qIElkZW50aWZpZXJSZXAuaCAqLywKLQkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTgg
LyoganNjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5
LmNwcCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5o
ICovLAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAg
Ki8sCkBAIC0yODM5Nyw2ICsyODM5OSw4IEBACiAJCQkJQkMxNDAyODgwRTgzNjgwODAwMzE5NzE3
IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcCAqLywKIAkJCQlCQzE0MDI4OTBFODM2ODA4
MDAzMTk3MTcgLyogU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCAqLywKIAkJCQlDRDFGOUI0QzI3
MEQwM0E5MDA2MTdFQjYgLyogU2Nyb2xsRXh0ZW50cy5oICovLAorCQkJCTFBOTk4MzAxMjczQzlC
MjgwMDZEMTE4RSAvKiBTY3JvbGxHcmFudWxhcml0eS5oICovLAorCQkJCTFBOTk4MzAzMjczQzlF
NTgwMDZEMTE4RSAvKiBTY3JvbGxHcmFudWxhcml0eS5oICovLAogCQkJCTVCNDY2NTVFMjVEMTRD
MDkwMDBDRkUxNCAvKiBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJNUI0
NjY1NUYyNUQxNEMwOTAwMENGRTE0IC8qIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmggKi8s
CiAJCQkJMEY5OTA1OTgyNkY2QkU3RjAwNTRGQkUwIC8qIFNjcm9sbGluZ01vbWVudHVtQ2FsY3Vs
YXRvci5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOTc4MWVkMWYyMTE0ZDEwNmE2
NDdhODYwZDlmODhjOWRiMzg4ZmNkZS4uM2M3NzBjNGJlOGRhNTE2ZWFmOGFjMmU2MTllNzgwY2Vh
NzVhNTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTA5NiwxMiArMTA5NiwxMiBAQCB2
b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5VW5pdHMoaW50IHVuaXRzLCBTY3JvbGxHcmFudWxhcml0eSBn
cmFudWxhcml0eSkKIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeUxpbmVzKGludCBsaW5lcykKIHsK
LSAgICBzY3JvbGxCeVVuaXRzKGxpbmVzLCBTY3JvbGxCeUxpbmUpOworICAgIHNjcm9sbEJ5VW5p
dHMobGluZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogdm9pZCBFbGVtZW50Ojpz
Y3JvbGxCeVBhZ2VzKGludCBwYWdlcykKIHsKLSAgICBzY3JvbGxCeVVuaXRzKHBhZ2VzLCBTY3Jv
bGxCeVBhZ2UpOworICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsb2NhbFpvb21Gb3JSZW5kZXJlcihjb25zdCBSZW5k
ZXJFbGVtZW50JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQu
Y3BwCmluZGV4IDI2NTlkMjQwYjc3ZTIwMWNjODgzOTYwOTdiMDYwOGM1ODNjNmM2YWIuLmYxODc1
OWQwNjJkZjU5NmY5NDU3ZDkxOTBhNTcwYTcxNDkyZTM0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtOTg5LDMyICs5ODksMzIgQEAgc3RhdGljIGJvb2wg
ZXhlY3V0ZVJlbW92ZUZvcm1hdChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNv
dXJjZSwgY29uc3QKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZChGcmFt
ZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsK
LSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5
KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEJ5UGFnZSk7CisgICAgcmV0dXJu
IGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9j
a0RpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiB9CiAKIHN0YXRp
YyBib29sIGV4ZWN1dGVTY3JvbGxQYWdlRm9yd2FyZChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRp
dG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZl
bnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9u
Rm9yd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCku
bG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Ny
b2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsTGlu
ZVVwKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJp
bmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVs
eShTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVy
KCkuc2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsK
IH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbExpbmVEb3duKEZyYW1lJiBmcmFtZSwgRXZl
bnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBm
cmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxEb3duLCBTY3JvbGxC
eUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVs
eShTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiB9CiAKIHN0YXRpYyBib29s
IGV4ZWN1dGVTY3JvbGxUb0JlZ2lubmluZ09mRG9jdW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCos
IEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1l
LmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVj
dGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRI
YW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFj
a3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRpYyBib29sIGV4
ZWN1dGVTY3JvbGxUb0VuZE9mRG9jdW1lbnQoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNv
bW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFu
ZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndh
cmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5s
b2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3Jv
bGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2VsZWN0
QWxsKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJp
bmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDU3YjMzNTdhMTU0NjI5
MjRjMDExOGVmMjc2ZTQ5OWMwMTI0NTQyMTEuLjE5Y2YwYTg2OGE5MDg2MDEyOTc3OWNhOTVkMDY0
MzkwN2I1MTVjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI5OCwx
MyArMjk4LDEzIEBAIHN0YXRpYyBpbmxpbmUgU2Nyb2xsR3JhbnVsYXJpdHkgd2hlZWxHcmFudWxh
cml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWduZWQgZGVsCiB7CiAgICAgc3dpdGNoIChkZWx0
YU1vZGUpIHsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9QQUdFOgotICAgICAgICBy
ZXR1cm4gU2Nyb2xsQnlQYWdlOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2U7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVMVEFfTElORToKLSAgICAgICAgcmV0dXJu
IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwog
ICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BJWEVMOgotICAgICAgICByZXR1cm4gU2Ny
b2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAg
ICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlQaXhlbDsKKyAgICAgICAgcmV0dXJu
IFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDsKICAgICB9CiB9CiAKQEAgLTEyODcsNyArMTI4Nyw3
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsTG9n
aWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjCiAgICAgYm9vbCBzY3JvbGxlZCA9IGZhbHNlOwog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIE1hYyBhbHNvIHJlc2V0cyB0aGUgc2Nyb2xsIHBv
c2l0aW9uIGluIHRoZSBpbmxpbmUgZGlyZWN0aW9uLgotICAgIGlmIChncmFudWxhcml0eSA9PSBT
Y3JvbGxCeURvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChTY3JvbGxJbmxp
bmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlEb2N1bWVudCkpCisgICAgaWYgKGdyYW51bGFy
aXR5ID09IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCAmJiB2aWV3ICYmIHZpZXctPmxvZ2lj
YWxTY3JvbGwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5
OjpEb2N1bWVudCkpCiAgICAgICAgIHNjcm9sbGVkID0gdHJ1ZTsKICNlbmRpZgogICAgIGlmICh2
aWV3ICYmIHZpZXctPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0eSkpCkBAIC00
MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNlRXZlbnRIYW5k
bGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAgICBTY3JvbGxM
b2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiA9IGV2ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxCbG9j
a0RpcmVjdGlvbkJhY2t3YXJkIDogU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkOwotICAgIGlm
IChsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpKSB7CisgICAg
aWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlKSkgewogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtNDI2Niw3ICs0MjY2LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1
bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkKICAgICBpZiAoIXZpZXcp
CiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBtX2ZyYW1lLnNl
dHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxpbmdFbmFibGVk
KCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXctPmxvZ2ljYWxTY3JvbGwo
ZGlyZWN0aW9uLCBTY3JvbGxCeVBhZ2UpOworICAgIGJvb2wgZGVmYXVsdEhhbmRsZWQgPSBtX2Zy
YW1lLnNldHRpbmdzKCkuZXZlbnRIYW5kbGVyRHJpdmVuU21vb3RoS2V5Ym9hcmRTY3JvbGxpbmdF
bmFibGVkKCkgPyBzdGFydEtleWJvYXJkU2Nyb2xsaW5nKGV2ZW50KSA6IHZpZXctPmxvZ2ljYWxT
Y3JvbGwoZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgaWYgKGRlZmF1
bHRIYW5kbGVkKQogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogfQpAQCAtNDMw
OCwxMyArNDMwOCwxMyBAQCBmbG9hdCBFdmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKFNjcm9s
bERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAgfSgpOwogCiAgICAg
c3dpdGNoIChncmFudWxhcml0eSkgewotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9s
bEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICByZXR1
cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlNj
cm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgogICAgICAgICBy
ZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6
OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6
CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgIGNhc2UgU2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
UGl4ZWw6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDMyOTVlODA4NDI4MWYzNDhkYTVjYjk2NTRl
MmUwODQwYzczMmE4YjYuLmZmZTM0ZTRmYzU3OGY1YzkyZDZkYmQ5MmU1ZWQ3OTQ4OWVhMjhhOWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM4MTcsNyArMzgxNyw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxQb3Np
dGlvbiYgcG9zaXRpb24sIFNjCiAKIGZsb2F0IEZyYW1lVmlldzo6YWRqdXN0U2Nyb2xsU3RlcEZv
ckZpeGVkQ29udGVudChmbG9hdCBzdGVwLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlv
biwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7Ci0gICAgaWYgKGdyYW51bGFyaXR5
ICE9IFNjcm9sbEJ5UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmllbnRhdGlvbjo6
SG9yaXpvbnRhbCkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2UgfHwgb3JpZW50YXRpb24gPT0gU2Nyb2xsYmFyT3JpZW50YXRpb246Okhvcml6b250YWwpCiAg
ICAgICAgIHJldHVybiBzdGVwOwogCiAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBv
c2l0aW9uZWRPYmplY3RzID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAKaW5kZXggZmJkZWFmZmQyYmM0YTJm
OGQxNzIyMDNlMTkwOWZjZTk3ZDE5ODRmMy4uZTVhZDJmZGMxNGQ0YTY1Y2VkZWM2OTQ4MzlkMzIy
MDhkNjk2NWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRT
Y3JvbGxpbmdBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvci5jcHAKQEAgLTE1NSwxMyArMTU1LDEzIEBAIGZsb2F0IEtleWJv
YXJkU2Nyb2xsaW5nQW5pbWF0b3I6OnNjcm9sbERpc3RhbmNlKFNjcm9sbERpcmVjdGlvbiBkaXJl
Y3Rpb24sIFNjcm9sCiAKICAgICBpZiAoc2Nyb2xsYmFyKSB7CiAgICAgICAgIHN3aXRjaCAoZ3Jh
bnVsYXJpdHkpIHsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5l
OgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICAgICAgcmV0
dXJuIHNjcm9sbGJhci0+bGluZVN0ZXAoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgog
ICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGFnZVN0ZXAoKTsKLSAgICAgICAgY2FzZSBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2FzZSBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT50b3Rh
bFNpemUoKTsKLSAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoK
KyAgICAgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgICAgICByZXR1
cm4gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTIwMiwxOCAr
MjAyLDE4IEBAIHN0ZDo6b3B0aW9uYWw8S2V5Ym9hcmRTY3JvbGw+IEtleWJvYXJkU2Nyb2xsaW5n
QW5pbWF0b3I6OmtleWJvYXJkU2Nyb2xsRm9yS2V5Ym9hCiAgICAgICAgIHN3aXRjaCAoa2V5LnZh
bHVlKCkpIHsKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6TGVmdEFycm93Ogog
ICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpSaWdodEFycm93OgotICAgICAgICAg
ICAgcmV0dXJuIGV2ZW50LmFsdEtleSgpID8gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFn
ZSA6IFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICByZXR1cm4g
ZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSA6IFNjcm9sbEdyYW51bGFy
aXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpVcEFycm93Ogog
ICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpEb3duQXJyb3c6CiAgICAgICAgICAg
ICBpZiAoZXZlbnQubWV0YUtleSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFu
dWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgaWYgKGV2ZW50LmFsdEtleSgpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOwot
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAgICAgICAgICAg
cmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleWJvYXJkU2Ny
b2xsaW5nS2V5OjpTcGFjZToKICAgICAgICAgY2FzZSBLZXlib2FyZFNjcm9sbGluZ0tleTo6UGFn
ZVVwOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlRG93bjoKLSAgICAg
ICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOworICAgICAgICAg
ICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICB9OwogICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0oKTsKQEAgLTI2Nyw3ICsyNjcsNyBA
QCBib29sIEtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0
dXJlKGNvbnN0IFBsYXRmb3JtS2V5Ym9hcgogICAgIGlmIChtX3Njcm9sbFRyaWdnZXJpbmdLZXlJ
c1ByZXNzZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2N1cnJlbnRLZXli
b2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9j
dW1lbnQpIHsKKyAgICBpZiAobV9jdXJyZW50S2V5Ym9hcmRTY3JvbGwtPmdyYW51bGFyaXR5ID09
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBtX3ZlbG9jaXR5ID0geyB9
OwogICAgICAgICBzdG9wS2V5Ym9hcmRTY3JvbGxBbmltYXRpb24oKTsKICAgICAgICAgYXV0byBu
ZXdQb3NpdGlvbiA9IEludFBvaW50KG1fc2Nyb2xsQW5pbWF0b3IuY3VycmVudFBvc2l0aW9uKCkg
KyBtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+b2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCBiYmQ5NGRiNGVkNTRkMTgwNjljOTk5MzRjYTRl
M2JkMzI0NmE5MWIzLi4wNTBjNjZmOGNiODU3ZTA3ZWQ2ZGQ2ZWM2ZGE2ZmFlNWI1NjJkNjYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBAIC0yMTcsNyAr
MjE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAg
ICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpWZXJ0aWNhbCwgU2Nyb2xsQnlQaXhlbCwg
dmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CisgICAg
ICAgICAgICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGl4ZWwsIHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWSwg
YmVoYXZpb3IpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRlbHRhWCkgewpAQCAtMjI3LDcg
KzIyNyw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSkKICAgICAg
ICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgU2Nyb2xsQnlQaXhl
bCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgsIGJlaGF2aW9yKTsK
KyAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgU2Ny
b2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwg
LWRlbHRhWCwgYmVoYXZpb3IpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBoYW5kbGVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGFkMmUyN2E4N2UxMGJk
NTc2N2Y0OTNiMDFhMDE5MjYwMDk5YWQ5Ny4uZjhmMzkyYmUwZGQyMTYyZmE1NWFmNTY3MmQxN2Iz
ODg4YjE5NjY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0xMzAs
MTEgKzEzMCwxMSBAQCBpbmxpbmUgU2Nyb2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNpY2FsKFNj
cm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBib29sCiAgICAgcmV0dXJuIFNjcm9sbFVw
OwogfQogCi1lbnVtIFNjcm9sbEdyYW51bGFyaXR5IDogdWludDhfdCB7Ci0gICAgU2Nyb2xsQnlM
aW5lLAotICAgIFNjcm9sbEJ5UGFnZSwKLSAgICBTY3JvbGxCeURvY3VtZW50LAotICAgIFNjcm9s
bEJ5UGl4ZWwKK2VudW0gY2xhc3MgU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90IHsKKyAgICBM
aW5lLAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQsCisgICAgUGl4ZWwKIH07CiAKIGVudW0gY2xh
c3MgU2Nyb2xsRWxhc3RpY2l0eSA6IHVpbnQ4X3QgewpAQCAtMzMwLDQgKzMzMCwxMyBAQCB0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbFBpbm5pbmdCZWhhdmlvcj4g
ewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAg
ICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHksCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lLAorICAgICAgICBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFn
ZSwKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50LAorICAgICAg
ICBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwKKyAgICA+OworfTsKIH0gLy8gbmFt
ZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmlu
ZGV4IGI1NTJkNGQ4MTMxZWVlYTcwMDlkZGUzMGY0Y2MwZDZkZTcxNDExYTEuLjhmMjBjZWM4NTQx
M2JlYWRjYjQ3YjdlMjE4MDM5ZDdlMjQ2ODhlODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTExMywxNiArMTEzLDE2IEBAIGJvb2wgU2Nyb2xsYWJs
ZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0
eSBncmFudWxhCiAKICAgICBmbG9hdCBzdGVwID0gMDsKICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5
KSB7Ci0gICAgY2FzZSBTY3JvbGxCeUxpbmU6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
TGluZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+bGluZVN0ZXAoKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBhZ2U6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6
UGFnZToKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+cGFnZVN0ZXAoKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBTY3JvbGxCeURvY3VtZW50OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50OgogICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTY3JvbGxCeVBpeGVsOgorICAgIGNhc2UgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlBpeGVsOgogICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5waXhlbFN0ZXAoKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAK
aW5kZXggNmE0YTU3NDVhMDBmYjcxMGVhZWUzM2IzZGNjYjAzODA2YzE0YWEzNy4uNjI4ZGMxY2Uy
ZDBhOGM3YTMwMjgxM2U0NTA2MzY0MDgwMTdmOTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuY3BwCkBAIC0yMzQsOCArMjM0LDggQEAgU2Nyb2xsRGlyZWN0aW9uIFNjcm9sbGJh
cjo6cHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKQogU2Nyb2xsR3JhbnVsYXJpdHkgU2Nyb2xs
YmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCkKIHsKICAgICBpZiAobV9wcmVzc2Vk
UGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gQmFja0J1dHRv
bkVuZFBhcnQgfHwgIG1fcHJlc3NlZFBhcnQgPT0gRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCB8fCBt
X3ByZXNzZWRQYXJ0ID09IEZvcndhcmRCdXR0b25FbmRQYXJ0KQotICAgICAgICByZXR1cm4gU2Ny
b2xsQnlMaW5lOwotICAgIHJldHVybiBTY3JvbGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3Jv
bGxHcmFudWxhcml0eTo6TGluZTsKKyAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7
CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjptb3ZlVGh1bWIoaW50IHBvcywgYm9vbCBkcmFnZ2luZ0Rv
Y3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFu
aW1hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9y
SU9TLm1tCmluZGV4IDE2MmQ2MzlmZjMxY2EzM2Q1OGUzOGNhZmEyZTgxMzRhNWVlYTdkYzkuLjMy
MTUxYjBjNjhhNzI2YmIxMDhiNTBjMTU2YzcwNzdmMThkNzQ2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KQEAgLTEzOSwxMyArMTM5
LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JJT1M6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxh
dGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50KQogICAgIC8vIEhvcml6b250YWwKICAgICBpZiAo
bV90b3VjaFNjcm9sbEF4aXNMYXRjaCAhPSBBeGlzTGF0Y2hWZXJ0aWNhbCkgewogICAgICAgICBp
bnQgZGVsdGEgPSB0b3VjaERlbHRhLndpZHRoKCk7Ci0gICAgICAgIGhhbmRsZWQgfD0gbV9zY3Jv
bGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0
IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGl4ZWwsIGFicyhkZWx0YSkpOworICAgICAgICBoYW5k
bGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JUb3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAw
ID8gU2Nyb2xsTGVmdCA6IFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIGFi
cyhkZWx0YSkpOwogICAgIH0KICAgICAKICAgICAvLyBWZXJ0aWNhbAogICAgIGlmIChtX3RvdWNo
U2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRjaEhvcml6b250YWwpIHsKICAgICAgICAgaW50IGRl
bHRhID0gdG91Y2hEZWx0YS5oZWlnaHQoKTsKLSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFi
bGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDogU2Ny
b2xsRG93biwgU2Nyb2xsQnlQaXhlbCwgYWJzKGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0g
bV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3Jv
bGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7
CiAgICAgfQogICAgIAogICAgIC8vIFJldHVybiBmYWxzZSB1bnRpbCB3ZSBtYW5hZ2UgdG8gc2Ny
b2xsIGF0IGFsbCwgYW5kIHRoZW4ga2VlcCByZXR1cm5pbmcgdHJ1ZSB1bnRpbCB0aGUgZ2VzdHVy
ZSBlbmRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVu
dVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApp
bmRleCBiMTQzYmZhMmY3Zjg1NTAxYjNkMDg5MjI2YzhlNjA4YzE0ZmU5YjQyLi5lMmMxMzhlOTE3
MTk4OGNlYzg4MjVhOTc0ZWJmNDE3OGZlYjUyOGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcApAQCAtMTA2MCw3ICsxMDYwLDcgQEAgTFJFU1VMVCBQ
b3B1cE1lbnVXaW46OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFy
YW0sIExQQVJBTSBsUGEKICAgICAgICAgICAgICAgICAgICAgLS1pOwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBT
Y3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFicyhpKSk7CisgICAgICAgICAgICBTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxh
cml0eTo6TGluZSwgYWJzKGkpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYjEyMDIxMjA3NTk0Yjg0N2Yy
YmMyZTE2MmRiMTdjYmIwY2I4NmVkOS4uMTYwNzViMWY1ZDZmOGJkNGQ4NTY0N2ZmYTg2ZWFiN2Rk
MmNlZmRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTkyNSw4
ICs5MjUsOCBAQCBib29sIFJlbmRlckJveDo6bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdAogICAgIGlmIChhdXRvKiBzY3JvbGxh
YmxlQXJlYSA9IGxheWVyKCkgPyBsYXllcigpLT5zY3JvbGxhYmxlQXJlYSgpIDogbnVsbHB0cikg
ewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICAvLyBPbiBNYWMgb25seSB3ZSByZXNldCB0
aGUgaW5saW5lIGRpcmVjdGlvbiBwb3NpdGlvbiB3aGVuIGRvaW5nIGEgZG9jdW1lbnQgc2Nyb2xs
IChlLmcuLCBoaXR0aW5nIEhvbWUvRW5kKS4KLSAgICAgICAgaWYgKGdyYW51bGFyaXR5ID09IFNj
cm9sbEJ5RG9jdW1lbnQpCi0gICAgICAgICAgICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5z
Y3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSksIFNjcm9sbEJ5RG9jdW1lbnQsIG11bHRpcGxpZXIpOworICAgICAgICBpZiAoZ3JhbnVs
YXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KQorICAgICAgICAgICAgc2Nyb2xs
ZWQgPSBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsKGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbElubGlu
ZURpcmVjdGlvbkJhY2t3YXJkLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlz
RmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQs
IG11bHRpcGxpZXIpOwogI2VuZGlmCiAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
KGxvZ2ljYWxUb1BoeXNpY2FsKGRpcmVjdGlvbiwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwg
c3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKSwgZ3JhbnVsYXJpdHksIG11bHRp
cGxpZXIpKQogICAgICAgICAgICAgc2Nyb2xsZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMzc1NGFlNDQ3NDVmN2U0MDg5ZmNhZWVmMzIwMzAy
MTYzMzBhMTBjYS4uOGJkMGRiMjk3YmZiNDA3NGY2ODkwMDQyZmNkYTQ3ODQ1MGRmMDU2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC03NjMsNiArNzYzLDcg
QEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpSb3V0ZVNo
YXJpbmdQb2xpY3knOiBbJzxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPiddLAogICAgICAgICAnV2Vi
Q29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2VydmljZVdv
cmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTYW1lU2l0ZVN0cmljdEVuZm9yY2Vt
ZW50RW5hYmxlZCc6IFsnPFdlYkNvcmUvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmg+J10sCisgICAg
ICAgICdXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eSc6IFsnPFdlYkNvcmUvU2Nyb2xsVHlwZXMu
aD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0
JzogWyc8V2ViQ29yZS9TZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50Lmg+J10sCiAgICAgICAg
ICdXZWJDb3JlOjpTZWxlY3Rpb25EaXJlY3Rpb24nOiBbJzxXZWJDb3JlL1Zpc2libGVTZWxlY3Rp
b24uaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNlbGVjdGlvbkdlb21ldHJ5JzogWyciRWRpdG9y
U3RhdGUuaCInXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGJhNzhmMDllN2Y0ZmZiNDRmZjZjOGY2Mjlh
ZDRjNmY0ODk4OGIwOTIuLjBlMWM3ZjhmNzAyOWQ1YTQyNTJhNjM3MTMyYzMyYWFmYzg0NDFlNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTkxOSwxNyArNTkxOSwxNyBAQCBzdGF0aWMgTlNTdHJpbmcg
KmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBmaWVs
ZE5hbWUpCiAgICAgQk9PTCBkaXJlY3Rpb25Jc0hvcml6b250YWwgPSBkaXJlY3Rpb24gPT0gV2Vi
Q29yZTo6U2Nyb2xsRGlyZWN0aW9uOjpTY3JvbGxMZWZ0IHx8IGRpcmVjdGlvbiA9PSBXZWJDb3Jl
OjpTY3JvbGxEaXJlY3Rpb246OlNjcm9sbFJpZ2h0OwogCiAgICAgc3dpdGNoIChpbmNyZW1lbnQp
IHsKLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50
OiB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6IHsKICAg
ICAgICAgQ0dTaXplIGRvY3VtZW50U2l6ZSA9IFtzZWxmIGNvbnZlcnRSZWN0OnNlbGYuYm91bmRz
IHRvVmlldzpzZWxmLndlYlZpZXddLnNpemU7CiAgICAgICAgIHJldHVybiBkaXJlY3Rpb25Jc0hv
cml6b250YWwgPyBkb2N1bWVudFNpemUud2lkdGggOiBkb2N1bWVudFNpemUuaGVpZ2h0OwogICAg
IH0KLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U6IHsK
KyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOiB7CiAgICAgICAgIENH
U2l6ZSBwYWdlU2l6ZSA9IFtzZWxmIGNvbnZlcnRTaXplOkNHU2l6ZU1ha2UoMCwgV2ViQ29yZTo6
U2Nyb2xsYmFyOjpwYWdlU3RlcChfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkuaGVpZ2h0
KCksIHNlbGYuYm91bmRzLnNpemUuaGVpZ2h0KSkgdG9WaWV3OnNlbGYud2ViVmlld107CiAgICAg
ICAgIHJldHVybiBkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBwYWdlU2l6ZS53aWR0aCA6IHBhZ2VT
aXplLmhlaWdodDsKICAgICB9Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
U2Nyb2xsQnlMaW5lOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6
CiAgICAgICAgIHJldHVybiBbc2VsZiBjb252ZXJ0U2l6ZTpDR1NpemVNYWtlKDAsIFdlYkNvcmU6
OlNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSkgdG9WaWV3OnNlbGYud2ViVmlld10uaGVp
Z2h0OwotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6
CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9y
Lm1tCmluZGV4IGMzMTIzODM0ZTdmYTkzYzI5N2Q3OTdiZTZhOWQ3ZGVjNWIzOWY3NzguLjZiM2Vk
Yzc2YjM5NjA0ZTU1NTc1NTAzMGFmNTIxZGJkOTZlNDA3ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5t
bQpAQCAtMjE5LDIyICsyMTksMjIgQEAgc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lkZShX
ZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgICAgICBjYXNlIEtleTo6TGVm
dEFycm93OgogICAgICAgICBjYXNlIEtleTo6UmlnaHRBcnJvdzoKICAgICAgICAgICAgIGlmIChh
bHRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxh
cml0eTo6U2Nyb2xsQnlQYWdlOwotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOworICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBjYXNlIEtleTo6VXBBcnJvdzoKICAgICAg
ICAgY2FzZSBLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAgIGlmIChhbHRQcmVzc2VkKQotICAg
ICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQ
YWdlOworICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
UGFnZTsKICAgICAgICAgICAgIGlmIChjbWRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDsKLSAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOworICAg
ICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7
CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAg
ICAgICAgIGNhc2UgS2V5OjpQYWdlVXA6CiAgICAgICAgIGNhc2UgS2V5OjpQYWdlRG93bjoKICAg
ICAgICAgY2FzZSBLZXk6OlNwYWNlOgotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgIGNhc2UgS2V5OjpPdGhlcjoKICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIH07CiAgICAgfSgpOwogCkBA
IC0yOTMsNyArMjkzLDcgQEAgc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lkZShXZWJDb3Jl
OjpTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIF9zY3JvbGxUcmlnZ2VyaW5nS2V5SXNQ
cmVzc2VkID0gWUVTOwogICAgIF9jdXJyZW50U2Nyb2xsID0gc2Nyb2xsOwogCi0gICAgaWYgKHNj
cm9sbC0+Z3JhbnVsYXJpdHkgPT0gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5
RG9jdW1lbnQpIHsKKyAgICBpZiAoc2Nyb2xsLT5ncmFudWxhcml0eSA9PSBXZWJDb3JlOjpTY3Jv
bGxHcmFudWxhcml0eTo6RG9jdW1lbnQpIHsKICAgICAgICAgX3ZlbG9jaXR5ID0geyB9OwogICAg
ICAgICBbc2VsZiBzdG9wQW5pbWF0ZWRTY3JvbGxdOwogICAgICAgICBbc2VsZiBzdG9wRGlzcGxh
eUxpbmtdOwpAQCAtNTQ1LDEzICs1NDUsMTMgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQg
ZmFydGhlc3RQb2ludEluRGlyZWN0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgYSwgV2ViQ28KIAog
ICAgIGlmICghX2RlbGVnYXRlUmVzcG9uZHNUb0Rpc3RhbmNlRm9ySW5jcmVtZW50KSB7CiAgICAg
ICAgIHN3aXRjaCAoaW5jcmVtZW50KSB7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OgogICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklzSG9y
aXpvbnRhbCA/IHNjcm9sbFZpZXcuY29udGVudFNpemUud2lkdGggOiBzY3JvbGxWaWV3LmNvbnRl
bnRTaXplLmhlaWdodDsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
U2Nyb2xsQnlQYWdlOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQ
YWdlOgogICAgICAgICAgICAgcmV0dXJuIChkaXJlY3Rpb25Jc0hvcml6b250YWwgPyBzY3JvbGxW
aWV3LmZyYW1lLnNpemUud2lkdGggOiBzY3JvbGxWaWV3LmZyYW1lLnNpemUuaGVpZ2h0KSAqIGRl
ZmF1bHRQYWdlU2Nyb2xsRnJhY3Rpb247Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5TGluZToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFu
dWxhcml0eTo6TGluZToKICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0TGluZVNjcm9sbEhlaWdo
dCAqIHNjcm9sbFZpZXcuem9vbVNjYWxlOwotICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKaW5kZXggODhlZTU3YmViMDIyNDAwNzFm
YzZiZDBmNmZjMjg4NDE2ZDNkNGZhNS4uOWM0NWM0M2JiMzM1Mzg5MmI0OTg1NTc0ODk0YzY4ZTk0
Nzg1NDBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVw
TWVudVByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9w
dXBNZW51UHJveHlXaW4uY3BwCkBAIC03NjMsNyArNzYzLDcgQEAgTFJFU1VMVCBXZWJQb3B1cE1l
bnVQcm94eVdpbjo6b25Nb3VzZVdoZWVsKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0g
d1BhcmEKICAgICAgICAgICAgIC0taTsKICAgICB9CiAKLSAgICBTY3JvbGxhYmxlQXJlYTo6c2Ny
b2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUsIGFicyhpKSk7
CisgICAgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChpID4gMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93
biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUsIGFicyhpKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAppbmRleCAwYzdmNDBjYjQ5ZmYx
MDcxYzE4YTM4MGQ2MzQ2OGU2Yzg4ZmQ1NDk4Li44MjE2M2EwYjNmMDI5MmI0ZjNiZmQyNTAzNzky
YTc5YjgyYmUwZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBA
IC00MDEsMTkgKzQwMSwxOSBAQCBMUkVTVUxUIFdlYlZpZXc6Om9uSG9yaXpvbnRhbFNjcm9sbChI
V05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUgogICAgIFNjcm9sbEdy
YW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3aXRjaCAoTE9XT1JEKHdQYXJhbSkpIHsKICAg
ICBjYXNlIFNCX0xJTkVMRUZUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsK
KyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAg
ZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9MSU5F
UklHSFQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFu
dWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBT
Y3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFTEVGVDoKLSAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xs
TGVmdDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFUklHSFQ6Ci0gICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0
OwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtNDMzLDE5ICs0MzMsMTkgQEAgTFJF
U1VMVCBXZWJWaWV3OjpvblZlcnRpY2FsU2Nyb2xsKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBX
UEFSQU0gd1BhcmFtLCBMUEFSQU0KICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsK
ICAgICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FRE9XTjoKLSAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfTElORVVQOgotICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU0JfUEFHRURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1
bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7
CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgU0JfUEFHRVVQOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7Cisg
ICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAg
ICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2NmYTBk
ZDU1NGQ2NGVjODA5MmY5MWRjZWFiYzdhNWQwNDdhNWU1ZC4uYTI0MGFlYTMxODEyMGYyYjVmNDAy
NDhmYmRmN2RkZGY5MTdjNGY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTMzMDMsNyArMzMwMyw3IEBAIGJvb2wgV2ViUGFnZTo6bG9naWNh
bFNjcm9sbChQYWdlKiBwYWdlLCBTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Ny
b2xsCiAgICAgcmV0dXJuIHBhZ2UtPnVzZXJJbnB1dEJyaWRnZSgpLmxvZ2ljYWxTY3JvbGxSZWN1
cnNpdmVseShkaXJlY3Rpb24sIGdyYW51bGFyaXR5KTsKIH0KIAotYm9vbCBXZWJQYWdlOjpzY3Jv
bGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rpb24sIHVpbnQzMl90IHNjcm9sbEdyYW51bGFyaXR5
KQorYm9vbCBXZWJQYWdlOjpzY3JvbGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rpb24sIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5IHNjcm9sbEdyYW51bGFyaXR5KQogewogICAgIHJldHVybiBz
Y3JvbGwobV9wYWdlLmdldCgpLCBzdGF0aWNfY2FzdDxTY3JvbGxEaXJlY3Rpb24+KHNjcm9sbERp
cmVjdGlvbiksIHN0YXRpY19jYXN0PFNjcm9sbEdyYW51bGFyaXR5PihzY3JvbGxHcmFudWxhcml0
eSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDg2ZDRhMTJmNzI1NGYyNjQyODE1YTlkM2U4OTlhZTViYTM1MjM0OTYuLmZlNGYxNTZjOGNjNTJi
ZDU2NDY5OTMxNTY3MTlmYjQwZTdjNGMyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTM4Nyw3ICszODcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHNjcm9sbE1haW5GcmFtZUlmTm90QXRNYXhTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiBzY3JvbGxPZmZzZXQpOwogCi0gICAgYm9vbCBzY3JvbGxCeSh1aW50MzJfdCBzY3Jv
bGxEaXJlY3Rpb24sIHVpbnQzMl90IHNjcm9sbEdyYW51bGFyaXR5KTsKKyAgICBib29sIHNjcm9s
bEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHkp
OwogCiAgICAgdm9pZCBjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IDk2ZTVjNzY3ZjBiY2EyZTc4ZmY3MTY5MzUzMzFhODA0NjQyNDg4MDIuLjFmYTY5M2EzMmZh
N2VjOWNjOWY5YmEwNmQ0ODU2ZTcyZWM3YWIyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMTY4LDcgKzE2OCw3
IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6
U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgRGlkRW5kRGF0ZVRpbWVQaWNrZXIoKTsK
ICNlbmRpZgogCi0gICAgU2Nyb2xsQnkodWludDMyX3Qgc2Nyb2xsRGlyZWN0aW9uLCB1aW50MzJf
dCBzY3JvbGxHcmFudWxhcml0eSkKKyAgICBTY3JvbGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rp
b24sIGVudW06dWludDhfdCBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eSBzY3JvbGxHcmFudWxh
cml0eSkKICAgICBDZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCkKIAogICAgIEdvVG9CYWNr
Rm9yd2FyZEl0ZW0odWludDY0X3QgbmF2aWdhdGlvbklELCBzdHJ1Y3QgV2ViQ29yZTo6QmFja0Zv
cndhcmRJdGVtSWRlbnRpZmllciBiYWNrRm9yd2FyZEl0ZW1JRCwgZW51bTp1aW50OF90IFdlYkNv
cmU6OkZyYW1lTG9hZFR5cGUgYmFja0ZvcndhcmRUeXBlLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6
U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCwg
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNpdGVQb2xpY2ll
cywgYm9vbCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBlMzUwNjZm
MzUzODVjZGFmYmM4NmVjNzA0M2QxM2Q3NmY3OTY0YTA4Li4wNTMzNWJlMjQ2NDNkNmUzNjFjZDhi
YzAyNmYyMDRhN2I0ZjY0ZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCkBAIC0xMDQsMzEgKzEwNCwzMSBAQCBib29sIFdl
YlBhZ2U6OnBlcmZvcm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudChjb25zdCBXZWJLZXlib2Fy
ZEV2ZW50JiBrZXlib2FyZAogCiAgICAgc3dpdGNoIChrZXlib2FyZEV2ZW50LndpbmRvd3NWaXJ0
dWFsS2V5Q29kZSgpKSB7CiAgICAgY2FzZSBWS19TUEFDRToKLSAgICAgICAgc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwga2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3du
LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBrZXlib2FyZEV2
ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19MRUZUOgotICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfUklHSFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdl
LmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFZLX1VQOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
VXAsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBW
S19ET1dOOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxC
eUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxH
cmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfSE9NRToKLSAg
ICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5RG9jdW1lbnQpOwor
ICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6
OkRvY3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19FTkQ6Ci0gICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAg
ICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6RG9j
dW1lbnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX1BSSU9SOgotICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBWS19ORVhUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggMWUyM2FmZmVkZWNh
ZmRiY2RhMzEwMzhjOTFiZjgwOGRhYTg4M2VjMS4uYzBhOThhYzc4ZjgyZTlmNDM5MmU0MWJjYTM1
OTUwZmMwOGQ5ZTZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTQ2NywyNyArNDY3LDI3IEBAIGJvb2wgV2ViUGFnZTo6
cGVyZm9ybU5vbkVkaXRpbmdCZWhhdmlvckZvclNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0
b3IsIEtleWJvCiAgICAgCiAgICAgaWYgKCFmcmFtZS0+c2V0dGluZ3MoKS5ldmVudEhhbmRsZXJE
cml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQoKSkgewogICAgICAgICBpZiAoc2Vs
ZWN0b3IgPT0gIm1vdmVVcDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlk
UGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9CZWdp
bm5pbmdPZlBhcmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlk
UGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9CZWdp
bm5pbmdPZkRvY3VtZW50OiIpIHsKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNj
cm9sbEJ5RG9jdW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOworICAg
ICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxM
ZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICB9IGVsc2UgaWYgKHNl
bGVjdG9yID09ICJtb3ZlRG93bjoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92
ZVRvRW5kT2ZQYXJhZ3JhcGg6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAg
ZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9s
bEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVU
b0VuZE9mRG9jdW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOwotICAgICAgICAg
ICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBT
Y3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwor
ICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICB9IGVsc2UgaWYg
KHNlbGVjdG9yID09ICJtb3ZlTGVmdDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAi
bW92ZVdvcmRMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgICAgIGRpZFBl
cmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlUmlnaHQ6
IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxSaWdodCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24g
PSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmUpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVdvcmRSaWdodDoiKQotICAg
ICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJp
Z2h0LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAg
ICAgfQogCiAgICAgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9MZWZ0RW5kT2ZMaW5lOiIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAK
aW5kZXggMGNmNDcwN2Q0NGZiMjBhMmNiMTI1YWFmOTQ2NWQxMjgyYmY4NDY1MS4uYWZhZDRmOWIx
M2FiMTZiMDkyNTI1YTg0YmFhZWQzNDkzM2M4ZTUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcApAQCAtNzUsMjggKzc1LDI4
IEBAIGJvb2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlvckZvcktleUV2ZW50KGNvbnN0
IFdlYktleWJvYXJkRXZlbnQmIGtleWJvYXJkCiAKICAgICBzd2l0Y2ggKGtleWJvYXJkRXZlbnQu
d2luZG93c1ZpcnR1YWxLZXlDb2RlKCkpIHsKICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgVktfVVA6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3Jv
bGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFZLX0RPV046Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9s
bEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19IT01FOgot
ICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7
CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0
eTo6RG9jdW1lbnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAg
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAg
ICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpE
b2N1bWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQppbmRleCBkNWVkYWU0ZWM2NTFjNmVl
YjMzZjJmNDRkZWNlM2QxOWY3MzM1ODM1Li43M2VmODZjYmVkYzY2Y2I1NTI4YmE1Njk3YWVmMzU2
NDViZDRkNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkZyYW1lVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZy
YW1lVmlldy5tbQpAQCAtNjMzLDcgKzYzMyw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxU
b0JlZ2lubmluZ09mRG9jdW1lbnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5E
aXJlY3Rpb246V2ViQ29yZTo6U2Nyb2xsVXAgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlE
b2N1bWVudF0pCisgICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOldlYkNv
cmU6OlNjcm9sbFVwIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudF0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxl
XSkKICAgICAgICAgcmV0dXJuIE5POwpAQCAtNjQ1LDcgKzY0NSw3IEBAIGVudW0gewogCiAtIChC
T09MKV9zY3JvbGxUb0VuZE9mRG9jdW1lbnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJm
bG93SW5EaXJlY3Rpb246V2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpT
Y3JvbGxCeURvY3VtZW50XSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rp
b246V2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxh
cml0eTo6RG9jdW1lbnRdKQogICAgICAgICByZXR1cm4gWUVTOwogICAgIGlmICghW3NlbGYgX2lz
U2Nyb2xsYWJsZV0pCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTc0Miw3ICs3NDIsNyBAQCBlbnVt
IHsKIAogLSAoQk9PTClfcGFnZVZlcnRpY2FsbHk6KEJPT0wpdXAKIHsKLSAgICBpZiAoW3NlbGYg
X3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNv
cmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlQYWdlXSkKKyAgICBp
ZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxV
cCA6IFdlYkNvcmU6OlNjcm9sbERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2VdKQogICAgICAgICByZXR1cm4gWUVTOwogICAgIAogICAgIGlmICghW3NlbGYg
X2lzU2Nyb2xsYWJsZV0pCkBAIC03NTQsNyArNzU0LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Bh
Z2VIb3Jpem9udGFsbHk6KEJPT0wpbGVmdAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZs
b3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9s
bFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5UGFnZV0pCisgICAgaWYgKFtzZWxm
IF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDog
V2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OlBhZ2VdKQogICAgICAgICByZXR1cm4gWUVTOwogCiAgICAgaWYgKCFbc2VsZiBfaXNTY3Jv
bGxhYmxlXSkKQEAgLTc3Niw3ICs3NzYsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsTGlu
ZVZlcnRpY2FsbHk6KEJPT0wpdXAKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5E
aXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNvcmU6OlNjcm9sbERvd24gZ3Jh
bnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlMaW5lXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92
ZXJmbG93SW5EaXJlY3Rpb246dXAgPyBXZWJDb3JlOjpTY3JvbGxVcCA6IFdlYkNvcmU6OlNjcm9s
bERvd24gZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmVdKQogICAg
ICAgICByZXR1cm4gWUVTOwogCiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKQEAgLTc4
OCw3ICs3ODgsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfc2Nyb2xsTGluZUhvcml6b250YWxseToo
Qk9PTClsZWZ0CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxl
ZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJp
dHk6V2ViQ29yZTo6U2Nyb2xsQnlMaW5lXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93
SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxS
aWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZV0pCiAgICAg
ICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCA2NTY5OTc4MTI4NTAwZjdiMGEzYWIwZTE2MzMw
ZjA1NTc5YjM5Y2ZmLi5hYjNkMGFiMDYyODZmNTQ3NjVkODgwMTM4MTUzOTQyOTliMjgxY2NkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtMjA4NCwxOSArMjA4NCwxOSBAQCBi
b29sIFdlYlZpZXc6OnZlcnRpY2FsU2Nyb2xsKFdQQVJBTSB3UGFyYW0sIExQQVJBTSAvKmxQYXJh
bSovKQogICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3aXRjaCAoTE9X
T1JEKHdQYXJhbSkpIHsKICAgICBjYXNlIFNCX0xJTkVET1dOOgotICAgICAgICBncmFudWxhcml0
eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0
eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBTQl9MSU5FVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5l
OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAg
ICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdF
RE9XTjoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0
aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFVVA6Ci0g
ICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNj
cm9sbFVwOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMjExNCwxOSArMjExNCwx
OSBAQCBib29sIFdlYlZpZXc6Omhvcml6b250YWxTY3JvbGwoV1BBUkFNIHdQYXJhbSwgTFBBUkFN
IC8qbFBhcmFtKi8pCiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dp
dGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNhc2UgU0JfTElORUxFRlQ6Ci0gICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdy
YW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNCX1BBR0VMRUZUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1l
bnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50Owog
ICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFNCX1BBR0VSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50Owor
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAg
ICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6
CkBAIC0yMzU5LDM1ICsyMzU5LDM1IEBAIGJvb2wgV2ViVmlldzo6a2V5RG93bihXUEFSQU0gdmly
dHVhbEtleUNvZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24pCiAgICAgU2Ny
b2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkgeyB9OwogICAgIHN3aXRjaCAodmlydHVhbEtleUNv
ZGUpIHsKICAgICAgICAgY2FzZSBWS19MRUZUOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsTGVmdDsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIFZLX1JJR0hUOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkg
PSBTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFy
aXR5OjpMaW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19VUDoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxh
cml0eTo6TGluZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxh
cml0eTo6TGluZTsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbERvd247CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19IT01FOgotICAgICAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Ny
b2xsRG93bjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX1BSSU9SOgotICAg
ICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICAgICAgZGlyZWN0aW9uID0g
U2Nyb2xsVXA7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19ORVhUOgotICAg
ICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICBncmFudWxh
cml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICAgICAgZGlyZWN0aW9uID0g
U2Nyb2xsRG93bjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0Ogo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443884</attachid>
            <date>2021-11-10 17:38:51 -0800</date>
            <delta_ts>2021-11-10 19:43:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211110173850.patch</filename>
            <type>text/plain</type>
            <size>46270</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY3NmY1ZDQyNjg5MGZi
OWE2NGY3NTY1ZGIyZWE5NTJmMDhlODMxNy4uZGRhZjEzYjliZTc2MDdjMDczNTVmMjdjNmQzZThh
MDQyMDM3YjlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTExLTEwICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsQnlM
aW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0
ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFn
ZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbExpbmVVcCk6CisgICAg
ICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGluZURvd24pOgorICAgICAgICAoV2ViQ29yZTo6
ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpl
eGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVlbEdyYW51bGFyaXR5VG9TY3JvbGxHcmFudWxh
cml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1
cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2
ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNjcm9sbERpc3Rh
bmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JGaXhlZENvbnRlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xsRGlzdGFuY2UgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JL
ZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkU2Nyb2xsaW5n
QW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxHZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6
aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFy
aXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW06CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklPUzo6aGFuZGxlVG91Y2hFdmVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
b3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpsb2dpY2FsU2Nyb2xsKToKKwogMjAyMS0x
MS0xMCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBub24t
c3RhbmRhcmQgLXdlYmtpdC1ib3JkZXItZml0IENTUyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjYmFh
ODMzZTE3MDA2MGJiNTFjNTcyNGZhOTkzYmZmODc2ZjNlMmI2Li5hMjYxMWI5ZTUyNjdkOWNmMmI5
YjNkM2FjYjg0YThkMjVkMjgxMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTEx
LTEwICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAg
ICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHk6CisgICAgICAgIChoZWFkZXJzX2Zvcl90eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBrZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvcjpkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVj
dGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvci5tbToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtleWJvYXJk
U2Nyb2xsRm9yRXZlbnQ6XSk6CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
ciBiZWdpbldpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tLZXlib2FyZFNjcm9sbFZpZXdBbmlt
YXRvciBkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51UHJveHlXaW46Om9uTW91c2VXaGVlbCk6CisgICAgICAgICogVUlQcm9jZXNzL3dp
bi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25Ib3Jpem9udGFsU2Ny
b2xsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25WZXJ0aWNhbFNjcm9sbCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzY3JvbGxCeSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6cGVyZm9ybU5vbkVkaXRpbmdCZWhhdmlvckZvclNlbGVjdG9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorCiAy
MDIxLTExLTEwICBQZXIgQXJuZSBWb2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IEJsb2NrIHNhbmRib3ggYWNjZXNzIHRvIGNvbnN1bWUgbWFjaCBleHRlbnNpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYmI4MDg2NDljZTQ2MmU1MTA4YzFlYTRhZWZkYmFiZWE5
NmMwODk5YS4uOTFhMzNjNDc3MzliODBjN2RiZGMwMzc5NjcyNjU4MGJhODJkMjAzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTExLTEwICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZVZpZXcubW06CisgICAg
ICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9CZWdpbm5pbmdPZkRvY3VtZW50XSk6CisgICAg
ICAgICgtW1dlYkZyYW1lVmlldyBfc2Nyb2xsVG9FbmRPZkRvY3VtZW50XSk6CisgICAgICAgICgt
W1dlYkZyYW1lVmlldyBfcGFnZVZlcnRpY2FsbHk6XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmll
dyBfcGFnZUhvcml6b250YWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3JvbGxM
aW5lVmVydGljYWxseTpdKToKKyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3JvbGxMaW5lSG9y
aXpvbnRhbGx5Ol0pOgorCiAyMDIxLTExLTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ0ZdIFJlZHVjZSBkdXBsaWNhdGlvbiBhbmQgdW5uZWVkZWQgYnVmZmVy
IGFsbG9jYXRpb25zIGFuZCBjb3B5aW5nIGluIFVSTCBjb2RlLCBhbHNvIHJlbW92ZSB1bnVzZWQg
bWV0aG9kcyBhbmQgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggMGQw
NWY5NmIzNzBkZWJkZGNmOGE3NDAwODU4NGI5ZWJmODViYzEyOC4uZDEyZTZiNzk0NDYyNTdjMjE0
Yzk0YzQwZWU2MGE5MjYyNDRmZmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTExLTEwICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFy
aXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0g
Y2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojp2ZXJ0aWNhbFNjcm9sbCk6CisgICAgICAg
IChXZWJWaWV3Ojpob3Jpem9udGFsU2Nyb2xsKToKKyAgICAgICAgKFdlYlZpZXc6OmtleURvd24p
OgorCiAyMDIxLTExLTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBBWDogcmVuYW1lIGFjdGlvblZlcmIoKSBhcyBsb2NhbGl6ZWRBY3Rpb25W
ZXJiKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBiZjlhNzNkNTExZDJkYjBkOTgzNzNhMzZi
NDUwMWUxNThkMDU0NGY5Li4yYWJhZTliZWVlMDU0NzI2ZjkxZjk0MWY4MjEyOWUxMmY4MTkwYTkx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMTI4LDEyICsxMTI4LDEyIEBAIHZvaWQgRWxl
bWVudDo6c2Nyb2xsQnlVbml0cyhpbnQgdW5pdHMsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5KQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5TGluZXMoaW50IGxpbmVzKQogewotICAgIHNj
cm9sbEJ5VW5pdHMobGluZXMsIFNjcm9sbEJ5TGluZSk7CisgICAgc2Nyb2xsQnlVbml0cyhsaW5l
cywgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5
UGFnZXMoaW50IHBhZ2VzKQogewotICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEJ5UGFn
ZSk7CisgICAgc2Nyb2xsQnlVbml0cyhwYWdlcywgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwog
fQogCiBzdGF0aWMgZG91YmxlIGxvY2FsWm9vbUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKaW5k
ZXggMjY1OWQyNDBiNzdlMjAxY2M4ODM5NjA5N2IwNjA4YzU4M2M2YzZhYi4uZjE4NzU5ZDA2MmRm
NTk2Zjk0NTdkOTE5MGE1NzBhNzE0OTJlMzRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvckNvbW1hbmQuY3BwCkBAIC05ODksMzIgKzk4OSwzMiBAQCBzdGF0aWMgYm9vbCBleGVjdXRl
UmVtb3ZlRm9ybWF0KEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBj
b25zdAogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsUGFnZUJhY2t3YXJkKEZyYW1lJiBmcmFt
ZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJl
dHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xs
QmxvY2tEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUu
ZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0
aW9uQmFja3dhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGJvb2wg
ZXhlY3V0ZVNjcm9sbFBhZ2VGb3J3YXJkKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21t
YW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRs
ZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJk
LCBTY3JvbGxCeVBhZ2UpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2Fs
U2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGFnZSk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxMaW5lVXAoRnJh
bWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7
Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9s
bFVwLCBTY3JvbGxCeUxpbmUpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3Jv
bGxSZWN1cnNpdmVseShTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogfQogCiBz
dGF0aWMgYm9vbCBleGVjdXRlU2Nyb2xsTGluZURvd24oRnJhbWUmIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2
ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7
CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9s
bERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0
ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRI
YW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFj
a3dhcmQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIo
KS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25CYWNrd2FyZCwg
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNj
cm9sbFRvRW5kT2ZEb2N1bWVudChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNv
dXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCku
bG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Ny
b2xsQnlEb2N1bWVudCk7CisgICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxT
Y3JvbGxSZWN1cnNpdmVseShTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQsIFNjcm9sbEdyYW51
bGFyaXR5OjpEb2N1bWVudCk7CiB9CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RBbGwoRnJh
bWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNmViYmM0N2E0NmNkMTJlNzg4ODg4
ZWZlNDc3YWRkNjNjYjZkMWRiNy4uYjJmYTY5ZjhlZTJlOWUwZmIzMTBiZGFhM2JlOWZkODI5ZGVi
MWJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjk4LDEzICsyOTgs
MTMgQEAgc3RhdGljIGlubGluZSBTY3JvbGxHcmFudWxhcml0eSB3aGVlbEdyYW51bGFyaXR5VG9T
Y3JvbGxHcmFudWxhcml0eSh1bnNpZ25lZCBkZWwKIHsKICAgICBzd2l0Y2ggKGRlbHRhTW9kZSkg
ewogICAgIGNhc2UgV2hlZWxFdmVudDo6RE9NX0RFTFRBX1BBR0U6Ci0gICAgICAgIHJldHVybiBT
Y3JvbGxCeVBhZ2U7CisgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAg
ICBjYXNlIFdoZWVsRXZlbnQ6OkRPTV9ERUxUQV9MSU5FOgotICAgICAgICByZXR1cm4gU2Nyb2xs
QnlMaW5lOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgY2Fz
ZSBXaGVlbEV2ZW50OjpET01fREVMVEFfUElYRUw6Ci0gICAgICAgIHJldHVybiBTY3JvbGxCeVBp
eGVsOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOwogICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiBTY3JvbGxCeVBpeGVsOworICAgICAgICByZXR1cm4gU2Nyb2xs
R3JhbnVsYXJpdHk6OlBpeGVsOwogICAgIH0KIH0KIApAQCAtMTI4Nyw3ICsxMjg3LDcgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uIGRpcmVjdGlvbiwgU2MKICAgICBib29sIHNjcm9sbGVkID0gZmFsc2U7CiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgLy8gTWFjIGFsc28gcmVzZXRzIHRoZSBzY3JvbGwgcG9zaXRpb24g
aW4gdGhlIGlubGluZSBkaXJlY3Rpb24uCi0gICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5
RG9jdW1lbnQgJiYgdmlldyAmJiB2aWV3LT5sb2dpY2FsU2Nyb2xsKFNjcm9sbElubGluZURpcmVj
dGlvbkJhY2t3YXJkLCBTY3JvbGxCeURvY3VtZW50KSkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgPT0g
U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9s
bChTY3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3Vt
ZW50KSkKICAgICAgICAgc2Nyb2xsZWQgPSB0cnVlOwogI2VuZGlmCiAgICAgaWYgKHZpZXcgJiYg
dmlldy0+bG9naWNhbFNjcm9sbChkaXJlY3Rpb24sIGdyYW51bGFyaXR5KSkKQEAgLTQyNDgsNyAr
NDI0OCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpkZWZhdWx0U3BhY2VFdmVudEhhbmRsZXIoS2V5
Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIFNjcm9sbExvZ2ljYWxE
aXJlY3Rpb24gZGlyZWN0aW9uID0gZXZlbnQuc2hpZnRLZXkoKSA/IFNjcm9sbEJsb2NrRGlyZWN0
aW9uQmFja3dhcmQgOiBTY3JvbGxCbG9ja0RpcmVjdGlvbkZvcndhcmQ7Ci0gICAgaWYgKGxvZ2lj
YWxTY3JvbGxPdmVyZmxvdyhkaXJlY3Rpb24sIFNjcm9sbEJ5UGFnZSkpIHsKKyAgICBpZiAobG9n
aWNhbFNjcm9sbE92ZXJmbG93KGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpKSB7
CiAgICAgICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC00MjU3LDcgKzQyNTcsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNl
RXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGV2ZW50KQogICAgIGlmICghdmlldykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgYm9vbCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJhbWUuc2V0dGluZ3Mo
KS5ldmVudEhhbmRsZXJEcml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQoKSA/IHN0
YXJ0S2V5Ym9hcmRTY3JvbGxpbmcoZXZlbnQpIDogdmlldy0+bG9naWNhbFNjcm9sbChkaXJlY3Rp
b24sIFNjcm9sbEJ5UGFnZSk7CisgICAgYm9vbCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJhbWUuc2V0
dGluZ3MoKS5ldmVudEhhbmRsZXJEcml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQo
KSA/IHN0YXJ0S2V5Ym9hcmRTY3JvbGxpbmcoZXZlbnQpIDogdmlldy0+bG9naWNhbFNjcm9sbChk
aXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICBpZiAoZGVmYXVsdEhhbmRs
ZWQpCiAgICAgICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CkBAIC00Mjk5LDEzICs0
Mjk5LDEzIEBAIGZsb2F0IEV2ZW50SGFuZGxlcjo6c2Nyb2xsRGlzdGFuY2UoU2Nyb2xsRGlyZWN0
aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkKICAgICB9KCk7CiAKICAgICBzd2l0Y2gg
KGdyYW51bGFyaXR5KSB7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5l
OgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgIHJldHVybiBzY3Jv
bGxiYXItPmxpbmVTdGVwKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQ
YWdlOgorICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAgIHJldHVybiBz
Y3JvbGxiYXItPnBhZ2VTdGVwKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xs
QnlEb2N1bWVudDoKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAg
ICAgcmV0dXJuIHNjcm9sbGJhci0+dG90YWxTaXplKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxh
cml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoK
ICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+cGl4ZWxTdGVwKCk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMmM3ZDgxOWI5OTVlMWQzNmFlOGM3MWJiYThmMTc0ODNl
ZTY4Mzg5OS4uOGY2ODU5NzYyOGMzNmEzZDk2Nzc1Y2JhZGViYjE2ZDJkNWQzMGE3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzgzNiw3ICszODM2LDcgQEAgdm9pZCBGcmFtZVZp
ZXc6OnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBw
b3NpdGlvbiwgU2MKIAogZmxvYXQgRnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRD
b250ZW50KGZsb2F0IHN0ZXAsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3Jv
bGxHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKLSAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Ny
b2xsQnlQYWdlIHx8IG9yaWVudGF0aW9uID09IFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9u
dGFsKQorICAgIGlmIChncmFudWxhcml0eSAhPSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSB8fCBv
cmllbnRhdGlvbiA9PSBTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCkKICAgICAgICAg
cmV0dXJuIHN0ZXA7CiAKICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25l
ZE9iamVjdHMgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
ZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcAppbmRleCBmYmRlYWZmZDJiYzRhMmY4ZDE3MjIw
M2UxOTA5ZmNlOTdkMTk4NGYzLi5lNWFkMmZkYzE0ZDRhNjVjZWRlYzY5NDgzOWQzMjIwOGQ2OTY1
ZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNjcm9s
bGluZ0FuaW1hdG9yLmNwcApAQCAtMTU1LDEzICsxNTUsMTMgQEAgZmxvYXQgS2V5Ym9hcmRTY3Jv
bGxpbmdBbmltYXRvcjo6c2Nyb2xsRGlzdGFuY2UoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwg
U2Nyb2wKIAogICAgIGlmIChzY3JvbGxiYXIpIHsKICAgICAgICAgc3dpdGNoIChncmFudWxhcml0
eSkgewotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAg
ICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1cm4gc2Ny
b2xsYmFyLT5saW5lU3RlcCgpOwotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3Jv
bGxCeVBhZ2U6CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAg
ICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwotICAgICAgICBjYXNlIFNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFy
aXR5OjpEb2N1bWVudDoKICAgICAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgp
OwotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgorICAgICAg
ICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVybiBzY3Jv
bGxiYXItPnBpeGVsU3RlcCgpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjAyLDE4ICsyMDIsMTgg
QEAgc3RkOjpvcHRpb25hbDxLZXlib2FyZFNjcm9sbD4gS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
cjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2EKICAgICAgICAgc3dpdGNoIChrZXkudmFsdWUoKSkg
ewogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpMZWZ0QXJyb3c6CiAgICAgICAg
IGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlJpZ2h0QXJyb3c6Ci0gICAgICAgICAgICByZXR1
cm4gZXZlbnQuYWx0S2V5KCkgPyBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlIDogU2Ny
b2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIHJldHVybiBldmVudC5h
bHRLZXkoKSA/IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlIDogU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmU7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlVwQXJyb3c6CiAgICAgICAg
IGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAgIGlmIChl
dmVudC5tZXRhS2V5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5
OjpTY3JvbGxCeURvY3VtZW50OworICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxh
cml0eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBpZiAoZXZlbnQuYWx0S2V5KCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7Ci0gICAgICAg
ICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CisgICAgICAgICAgICByZXR1cm4g
U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdL
ZXk6OlNwYWNlOgogICAgICAgICBjYXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlVXA6CiAg
ICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlBhZ2VEb3duOgotICAgICAgICAgICAg
cmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICByZXR1
cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgIH07CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfSgpOwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGJvb2wg
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6YmVnaW5LZXlib2FyZFNjcm9sbEdlc3R1cmUoY29u
c3QgUGxhdGZvcm1LZXlib2FyCiAgICAgaWYgKG1fc2Nyb2xsVHJpZ2dlcmluZ0tleUlzUHJlc3Nl
ZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG1fY3VycmVudEtleWJvYXJkU2Ny
b2xsLT5ncmFudWxhcml0eSA9PSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudCkg
eworICAgIGlmIChtX2N1cnJlbnRLZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50KSB7CiAgICAgICAgIG1fdmVsb2NpdHkgPSB7IH07CiAgICAg
ICAgIHN0b3BLZXlib2FyZFNjcm9sbEFuaW1hdGlvbigpOwogICAgICAgICBhdXRvIG5ld1Bvc2l0
aW9uID0gSW50UG9pbnQobV9zY3JvbGxBbmltYXRvci5jdXJyZW50UG9zaXRpb24oKSArIG1fY3Vy
cmVudEtleWJvYXJkU2Nyb2xsLT5vZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuY3BwCmluZGV4IGJiZDk0ZGI0ZWQ1NGQxODA2OWM5OTkzNGNhNGUzYmQzMjQ2
YTkxYjMuLjA1MGM2NmY4Y2I4NTdlMDdlZDZkZDZlYzZkYTZmYWU1YjU2MmQ2NjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTIxNyw3ICsyMTcsNyBA
QCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZSkKICAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAg
ICAgICAgIGRlbHRhWSA9IC1kZWx0YVk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3Jv
bGwoU2Nyb2xsYmFyT3JpZW50YXRpb246OlZlcnRpY2FsLCBTY3JvbGxCeVBpeGVsLCB2ZXJ0aWNh
bFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVksIGJlaGF2aW9yKTsKKyAgICAgICAgICAg
IHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbjo6VmVydGljYWwsIFNjcm9sbEdyYW51bGFyaXR5
OjpQaXhlbCwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlv
cik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZGVsdGFYKSB7CkBAIC0yMjcsNyArMjI3LDcg
QEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAg
ICAgICAgICBkZWx0YVggPSAtZGVsdGFYOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Ny
b2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCBTY3JvbGxCeVBpeGVsLCBob3Jp
em9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOworICAgICAg
ICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCBTY3JvbGxHcmFu
dWxhcml0eTo6UGl4ZWwsIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFY
LCBiZWhhdmlvcik7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCAwYWQyZTI3YTg3ZTEwYmQ1NzY3ZjQ5
M2IwMWEwMTkyNjAwOTlhZDk3Li5mOGYzOTJiZTBkZDIxNjJmYTU1YWY1NjcyZDE3YjM4ODhiMTk2
NjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTEzMCwxMSArMTMw
LDExIEBAIGlubGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9n
aWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wKICAgICByZXR1cm4gU2Nyb2xsVXA7CiB9CiAK
LWVudW0gU2Nyb2xsR3JhbnVsYXJpdHkgOiB1aW50OF90IHsKLSAgICBTY3JvbGxCeUxpbmUsCi0g
ICAgU2Nyb2xsQnlQYWdlLAotICAgIFNjcm9sbEJ5RG9jdW1lbnQsCi0gICAgU2Nyb2xsQnlQaXhl
bAorZW51bSBjbGFzcyBTY3JvbGxHcmFudWxhcml0eSA6IHVpbnQ4X3QgeworICAgIExpbmUsCisg
ICAgUGFnZSwKKyAgICBEb2N1bWVudCwKKyAgICBQaXhlbAogfTsKIAogZW51bSBjbGFzcyBTY3Jv
bGxFbGFzdGljaXR5IDogdWludDhfdCB7CkBAIC0zMzAsNCArMzMwLDEzIEBAIHRlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsUGlubmluZ0JlaGF2aW9yPiB7CiAgICAg
PjsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJD
b3JlOjpTY3JvbGxHcmFudWxhcml0eSwKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OkxpbmUsCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlLAorICAg
ICAgICBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQsCisgICAgICAgIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbAorICAgID47Cit9OwogfSAvLyBuYW1lc3BhY2Ug
V1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggYjU1
MmQ0ZDgxMzFlZWVhNzAwOWRkZTMwZjRjYzBkNmRlNzE0MTFhMS4uOGYyMGNlYzg1NDEzYmVhZGNi
NDdiN2UyMTgwMzlkN2UyNDY4OGU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmNwcApAQCAtMTEzLDE2ICsxMTMsMTYgQEAgYm9vbCBTY3JvbGxhYmxlQXJlYTo6
c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51
bGEKIAogICAgIGZsb2F0IHN0ZXAgPSAwOwogICAgIHN3aXRjaCAoZ3JhbnVsYXJpdHkpIHsKLSAg
ICBjYXNlIFNjcm9sbEJ5TGluZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgog
ICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFNjcm9sbEJ5UGFnZToKKyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgog
ICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5wYWdlU3RlcCgpOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFNjcm9sbEJ5RG9jdW1lbnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6RG9j
dW1lbnQ6CiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0
eTo6UGl4ZWw6CiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwogICAgICAg
ICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA2
YTRhNTc0NWEwMGZiNzEwZWFlZTMzYjNkY2NiMDM4MDZjMTRhYTM3Li42MjhkYzFjZTJkMGE4Yzdh
MzAyODEzZTQ1MDYzNjQwODAxN2Y5N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
ci5jcHAKQEAgLTIzNCw4ICsyMzQsOCBAQCBTY3JvbGxEaXJlY3Rpb24gU2Nyb2xsYmFyOjpwcmVz
c2VkUGFydFNjcm9sbERpcmVjdGlvbigpCiBTY3JvbGxHcmFudWxhcml0eSBTY3JvbGxiYXI6OnBy
ZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKQogewogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09
IEJhY2tCdXR0b25TdGFydFBhcnQgfHwgbV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uRW5kUGFy
dCB8fCAgbV9wcmVzc2VkUGFydCA9PSBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gRm9yd2FyZEJ1dHRvbkVuZFBhcnQpCi0gICAgICAgIHJldHVybiBTY3JvbGxCeUxp
bmU7Ci0gICAgcmV0dXJuIFNjcm9sbEJ5UGFnZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51
bGFyaXR5OjpMaW5lOworICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKIH0KIAog
dm9pZCBTY3JvbGxiYXI6Om1vdmVUaHVtYihpbnQgcG9zLCBib29sIGRyYWdnaW5nRG9jdW1lbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJ
T1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0K
aW5kZXggMTYyZDYzOWZmMzFjYTMzZDU4ZTM4Y2FmYTJlODEzNGE1ZWVhN2RjOS4uMzIxNTFiMGM2
OGE3MjZiYjEwOGI1MGMxNTZjNzA3N2YxOGQ3NDZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbEFuaW1hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9TY3JvbGxBbmltYXRvcklPUy5tbQpAQCAtMTM5LDEzICsxMzksMTMgQEAg
Ym9vbCBTY3JvbGxBbmltYXRvcklPUzo6aGFuZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRv
dWNoRXZlbnQmIHRvdWNoRXZlbnQpCiAgICAgLy8gSG9yaXpvbnRhbAogICAgIGlmIChtX3RvdWNo
U2Nyb2xsQXhpc0xhdGNoICE9IEF4aXNMYXRjaFZlcnRpY2FsKSB7CiAgICAgICAgIGludCBkZWx0
YSA9IHRvdWNoRGVsdGEud2lkdGgoKTsKLSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVB
cmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRhIDwgMCA/IFNjcm9sbExlZnQgOiBTY3Jv
bGxSaWdodCwgU2Nyb2xsQnlQaXhlbCwgYWJzKGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0g
bV9zY3JvbGxhYmxlQXJlYUZvclRvdWNoU2VxdWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3Jv
bGxMZWZ0IDogU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRh
KSk7CiAgICAgfQogICAgIAogICAgIC8vIFZlcnRpY2FsCiAgICAgaWYgKG1fdG91Y2hTY3JvbGxB
eGlzTGF0Y2ggIT0gQXhpc0xhdGNoSG9yaXpvbnRhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0
b3VjaERlbHRhLmhlaWdodCgpOwotICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFG
b3JUb3VjaFNlcXVlbmNlLT5zY3JvbGwoZGVsdGEgPCAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3du
LCBTY3JvbGxCeVBpeGVsLCBhYnMoZGVsdGEpKTsKKyAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9s
bGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+c2Nyb2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDog
U2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsLCBhYnMoZGVsdGEpKTsKICAgICB9
CiAgICAgCiAgICAgLy8gUmV0dXJuIGZhbHNlIHVudGlsIHdlIG1hbmFnZSB0byBzY3JvbGwgYXQg
YWxsLCBhbmQgdGhlbiBrZWVwIHJldHVybmluZyB0cnVlIHVudGlsIHRoZSBnZXN0dXJlIGVuZHMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCmluZGV4IGIx
NDNiZmEyZjdmODU1MDFiM2QwODkyMjZjOGU2MDhjMTRmZTliNDIuLmUyYzEzOGU5MTcxOTg4Y2Vj
ODgyNWE5NzRlYmY0MTc4ZmViNTI4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9Qb3B1cE1lbnVXaW4uY3BwCkBAIC0xMDYwLDcgKzEwNjAsNyBAQCBMUkVTVUxUIFBvcHVwTWVu
dVdpbjo6d25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBB
UkFNIGxQYQogICAgICAgICAgICAgICAgICAgICAtLWk7CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERv
d24sIFNjcm9sbEJ5TGluZSwgYWJzKGkpKTsKKyAgICAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpz
Y3JvbGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lLCBhYnMoaSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAzZDIwNWJjNWUwNDkyNmRjNWNmMDQxYmFj
OTVhZGJjNDA4ZjVmNWI5Li5lYmE4NTllYWRiZDdmN2M3NDBjYWYzYTAwMjE2NjgwMjY5MDU4MzQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtOTI1LDggKzkyNSw4
IEBAIGJvb2wgUmVuZGVyQm94Ojpsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0CiAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVh
ID0gbGF5ZXIoKSA/IGxheWVyKCktPnNjcm9sbGFibGVBcmVhKCkgOiBudWxscHRyKSB7CiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgICAgIC8vIE9uIE1hYyBvbmx5IHdlIHJlc2V0IHRoZSBpbmxp
bmUgZGlyZWN0aW9uIHBvc2l0aW9uIHdoZW4gZG9pbmcgYSBkb2N1bWVudCBzY3JvbGwgKGUuZy4s
IGhpdHRpbmcgSG9tZS9FbmQpLgotICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsQnlE
b2N1bWVudCkKLSAgICAgICAgICAgIHNjcm9sbGVkID0gc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbChs
b2dpY2FsVG9QaHlzaWNhbChTY3JvbGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSwgc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKSwg
U2Nyb2xsQnlEb2N1bWVudCwgbXVsdGlwbGllcik7CisgICAgICAgIGlmIChncmFudWxhcml0eSA9
PSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpCisgICAgICAgICAgICBzY3JvbGxlZCA9IHNj
cm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsSW5saW5lRGlyZWN0
aW9uQmFja3dhcmQsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSksIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCwgbXVsdGlw
bGllcik7CiAjZW5kaWYKICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNh
bFRvUGh5c2ljYWwoZGlyZWN0aW9uLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikp
CiAgICAgICAgICAgICBzY3JvbGxlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weQppbmRleCAzNzU0YWU0NDc0NWY3ZTQwODlmY2FlZWYzMjAzMDIxNjMzMGEx
MGNhLi44YmQwZGIyOTdiZmI0MDc0ZjY4OTAwNDJmY2RhNDc4NDUwZGYwNTY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTc2Myw2ICs3NjMsNyBAQCBkZWYg
aGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlJvdXRlU2hhcmluZ1Bv
bGljeSc6IFsnPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpT
V1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlw
ZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNhbWVTaXRlU3RyaWN0RW5mb3JjZW1lbnRFbmFi
bGVkJzogWyc8V2ViQ29yZS9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaD4nXSwKKyAgICAgICAgJ1dl
YkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5JzogWyc8V2ViQ29yZS9TY3JvbGxUeXBlcy5oPiddLAog
ICAgICAgICAnV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQnOiBbJzxX
ZWJDb3JlL1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaD4nXSwKICAgICAgICAgJ1dlYkNv
cmU6OlNlbGVjdGlvbkRpcmVjdGlvbic6IFsnPFdlYkNvcmUvVmlzaWJsZVNlbGVjdGlvbi5oPidd
LAogICAgICAgICAnV2ViQ29yZTo6U2VsZWN0aW9uR2VvbWV0cnknOiBbJyJFZGl0b3JTdGF0ZS5o
IiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggMzk0MzhiZjFkNzU1MzE5NDU2NjA0MDIwNTUwMGJiNzQ4
ZTEyYzM5MS4uMTdlZDMyYjVhNDM3NmVmZjYwOTA2NDBkMjA2Y2FmZmUzMGRlYjU0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCkBAIC01OTMyLDE3ICs1OTMyLDE3IEBAIHN0YXRpYyBOU1N0cmluZyAqY29udGVu
dFR5cGVGcm9tRmllbGROYW1lKFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lIGZpZWxkTmFtZSkK
ICAgICBCT09MIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA9IGRpcmVjdGlvbiA9PSBXZWJDb3JlOjpT
Y3JvbGxEaXJlY3Rpb246OlNjcm9sbExlZnQgfHwgZGlyZWN0aW9uID09IFdlYkNvcmU6OlNjcm9s
bERpcmVjdGlvbjo6U2Nyb2xsUmlnaHQ7CiAKICAgICBzd2l0Y2ggKGluY3JlbWVudCkgewotICAg
IGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6IHsKKyAg
ICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDogewogICAgICAgICBD
R1NpemUgZG9jdW1lbnRTaXplID0gW3NlbGYgY29udmVydFJlY3Q6c2VsZi5ib3VuZHMgdG9WaWV3
OnNlbGYud2ViVmlld10uc2l6ZTsKICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklzSG9yaXpvbnRh
bCA/IGRvY3VtZW50U2l6ZS53aWR0aCA6IGRvY3VtZW50U2l6ZS5oZWlnaHQ7CiAgICAgfQotICAg
IGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTogeworICAgIGNh
c2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6IHsKICAgICAgICAgQ0dTaXplIHBh
Z2VTaXplID0gW3NlbGYgY29udmVydFNpemU6Q0dTaXplTWFrZSgwLCBXZWJDb3JlOjpTY3JvbGxi
YXI6OnBhZ2VTdGVwKF9wYWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKS5oZWlnaHQoKSwgc2Vs
Zi5ib3VuZHMuc2l6ZS5oZWlnaHQpKSB0b1ZpZXc6c2VsZi53ZWJWaWV3XTsKICAgICAgICAgcmV0
dXJuIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IHBhZ2VTaXplLndpZHRoIDogcGFnZVNpemUuaGVp
Z2h0OwogICAgIH0KLSAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxC
eUxpbmU6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAg
ICAgcmV0dXJuIFtzZWxmIGNvbnZlcnRTaXplOkNHU2l6ZU1ha2UoMCwgV2ViQ29yZTo6U2Nyb2xs
YmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpKSB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5oZWlnaHQ7Ci0g
ICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KaW5k
ZXggYzMxMjM4MzRlN2ZhOTNjMjk3ZDc5N2JlNmE5ZDdkZWM1YjM5Zjc3OC4uNmIzZWRjNzZiMzk2
MDRlNTU1NzU1MDMwYWY1MjFkYmQ5NmU0MDdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1tCkBAIC0y
MTksMjIgKzIxOSwyMiBAQCBzdGF0aWMgV2ViQ29yZTo6Qm94U2lkZSBib3hTaWRlKFdlYkNvcmU6
OlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIGNhc2UgS2V5OjpMZWZ0QXJyb3c6
CiAgICAgICAgIGNhc2UgS2V5OjpSaWdodEFycm93OgogICAgICAgICAgICAgaWYgKGFsdFByZXNz
ZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpT
Y3JvbGxCeVBhZ2U7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlBhZ2U7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5OjpVcEFycm93OgogICAgICAgICBjYXNl
IEtleTo6RG93bkFycm93OgogICAgICAgICAgICAgaWYgKGFsdFByZXNzZWQpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwog
ICAgICAgICAgICAgaWYgKGNtZFByZXNzZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50OwotICAgICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKKyAgICAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAg
Y2FzZSBLZXk6OlBhZ2VVcDoKICAgICAgICAgY2FzZSBLZXk6OlBhZ2VEb3duOgogICAgICAgICBj
YXNlIEtleTo6U3BhY2U6Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVs
YXJpdHk6OlNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6UGFnZTsKICAgICAgICAgY2FzZSBLZXk6Ok90aGVyOgogICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgfTsKICAgICB9KCk7CiAKQEAgLTI5Myw3
ICsyOTMsNyBAQCBzdGF0aWMgV2ViQ29yZTo6Qm94U2lkZSBib3hTaWRlKFdlYkNvcmU6OlNjcm9s
bERpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgX3Njcm9sbFRyaWdnZXJpbmdLZXlJc1ByZXNzZWQg
PSBZRVM7CiAgICAgX2N1cnJlbnRTY3JvbGwgPSBzY3JvbGw7CiAKLSAgICBpZiAoc2Nyb2xsLT5n
cmFudWxhcml0eSA9PSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVu
dCkgeworICAgIGlmIChzY3JvbGwtPmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9sbEdyYW51
bGFyaXR5OjpEb2N1bWVudCkgewogICAgICAgICBfdmVsb2NpdHkgPSB7IH07CiAgICAgICAgIFtz
ZWxmIHN0b3BBbmltYXRlZFNjcm9sbF07CiAgICAgICAgIFtzZWxmIHN0b3BEaXNwbGF5TGlua107
CkBAIC01NDUsMTMgKzU0NSwxMyBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBmYXJ0aGVz
dFBvaW50SW5EaXJlY3Rpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBhLCBXZWJDbwogCiAgICAgaWYg
KCFfZGVsZWdhdGVSZXNwb25kc1RvRGlzdGFuY2VGb3JJbmNyZW1lbnQpIHsKICAgICAgICAgc3dp
dGNoIChpbmNyZW1lbnQpIHsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxh
cml0eTo6RG9jdW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFs
ID8gc2Nyb2xsVmlldy5jb250ZW50U2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuY29udGVudFNpemUu
aGVpZ2h0OwotICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxC
eVBhZ2U6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAg
ICAgICAgICAgICByZXR1cm4gKGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IHNjcm9sbFZpZXcuZnJh
bWUuc2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuZnJhbWUuc2l6ZS5oZWlnaHQpICogZGVmYXVsdFBh
Z2VTY3JvbGxGcmFjdGlvbjsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eTo6U2Nyb2xsQnlMaW5lOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lOgogICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRMaW5lU2Nyb2xsSGVpZ2h0ICogc2Ny
b2xsVmlldy56b29tU2NhbGU7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OlNjcm9sbEJ5UGl4ZWw6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHk6OlBpeGVsOgogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRleCA4OGVlNTdiZWIwMjI0MDA3MWZjNmJkMGY2
ZmMyODg0MTZkM2Q0ZmE1Li45YzQ1YzQzYmIzMzUzODkyYjQ5ODU1NzQ4OTRjNjhlOTQ3ODU0MGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJv
eHlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHAKQEAgLTc2Myw3ICs3NjMsNyBAQCBMUkVTVUxUIFdlYlBvcHVwTWVudVByb3h5
V2luOjpvbk1vdXNlV2hlZWwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYQog
ICAgICAgICAgICAgLS1pOwogICAgIH0KIAotICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+
IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSwgYWJzKGkpKTsKKyAgICBT
Y3JvbGxhYmxlQXJlYTo6c2Nyb2xsKGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3Jv
bGxHcmFudWxhcml0eTo6TGluZSwgYWJzKGkpKTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4IDBjN2Y0MGNiNDlmZjEwNzFjMThh
MzgwZDYzNDY4ZTZjODhmZDU0OTguLjgyMTYzYTBiM2YwMjkyYjRmM2JmZDI1MDM3OTJhNzliODJi
ZTBkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKQEAgLTQwMSwx
OSArNDAxLDE5IEBAIExSRVNVTFQgV2ViVmlldzo6b25Ib3Jpem9udGFsU2Nyb2xsKEhXTkQgaFdu
ZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSCiAgICAgU2Nyb2xsR3JhbnVsYXJp
dHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNhc2Ug
U0JfTElORUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rp
b24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVSSUdIVDoK
LSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5
ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJp
Z2h0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VMRUZUOgotICAgICAgICBncmFu
dWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0Owog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51
bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAg
ICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC00MzMsMTkgKzQzMywxOSBAQCBMUkVTVUxUIFdl
YlZpZXc6Om9uVmVydGljYWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3
UGFyYW0sIExQQVJBTQogICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3
aXRjaCAoTE9XT1JEKHdQYXJhbSkpIHsKICAgICBjYXNlIFNCX0xJTkVET1dOOgotICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxH
cmFudWxhcml0eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBTQl9MSU5FVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Ny
b2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBTQl9QQUdFRE9XTjoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50Owor
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAg
ICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9Q
QUdFVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAg
Z3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVj
dGlvbiA9IFNjcm9sbFVwOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkNTQwOWJlZGNlNTYx
N2E0YTA3ZjcyMTJhODdmZmQ2MmQ2ZjAwMGY3Li5lNDZjNTRkMDcyMTczY2IyMTkwZWI4OWNkYTE1
NjgwN2I4M2M3ZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMzMwNyw3ICszMzA3LDcgQEAgYm9vbCBXZWJQYWdlOjpsb2dpY2FsU2Nyb2xs
KFBhZ2UqIHBhZ2UsIFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGwKICAg
ICByZXR1cm4gcGFnZS0+dXNlcklucHV0QnJpZGdlKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5
KGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHkpOwogfQogCi1ib29sIFdlYlBhZ2U6OnNjcm9sbEJ5KHVp
bnQzMl90IHNjcm9sbERpcmVjdGlvbiwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJpdHkpCitib29s
IFdlYlBhZ2U6OnNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgV2ViQ29yZTo6U2Ny
b2xsR3JhbnVsYXJpdHkgc2Nyb2xsR3JhbnVsYXJpdHkpCiB7CiAgICAgcmV0dXJuIHNjcm9sbCht
X3BhZ2UuZ2V0KCksIHN0YXRpY19jYXN0PFNjcm9sbERpcmVjdGlvbj4oc2Nyb2xsRGlyZWN0aW9u
KSwgc3RhdGljX2Nhc3Q8U2Nyb2xsR3JhbnVsYXJpdHk+KHNjcm9sbEdyYW51bGFyaXR5KSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNGRkNTg3
Y2JiZTMxYWUxMGMyMDk5NGI2ZTUxMjIzOWNhNDc5ZDE0Mi4uZWVhYTYwMWQ3NmE3N2MyZjNkM2Y0
NjZmMzY5YmU5OWExZjczNWMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaApAQCAtMzg3LDcgKzM4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xs
TWFpbkZyYW1lSWZOb3RBdE1heFNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHNjcm9sbE9mZnNldCk7CiAKLSAgICBib29sIHNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVj
dGlvbiwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJpdHkpOworICAgIGJvb2wgc2Nyb2xsQnkodWlu
dDMyX3Qgc2Nyb2xsRGlyZWN0aW9uLCBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eSk7CiAKICAg
ICB2b2lkIGNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMTg1
YmU1NDdjM2FjMWE4ZTlmMzIyYTk5NzlmNjgyMTc3ZmVhNzdlNC4uNDE2YjI2MzliOTViOWM0MjBj
NGU4Njg1NTFmM2FlOWI5Y2M4NDcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNjgsNyArMTY4LDcgQEAgR2Vu
ZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEaWRFbmREYXRlVGltZVBpY2tlcigpOwogI2VuZGlm
CiAKLSAgICBTY3JvbGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rpb24sIHVpbnQzMl90IHNjcm9s
bEdyYW51bGFyaXR5KQorICAgIFNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgZW51
bTp1aW50OF90IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5IHNjcm9sbEdyYW51bGFyaXR5KQog
ICAgIENlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKQogCiAgICAgR29Ub0JhY2tGb3J3YXJk
SXRlbSh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIHN0cnVjdCBXZWJDb3JlOjpCYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyIGJhY2tGb3J3YXJkSXRlbUlELCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6RnJh
bWVMb2FkVHlwZSBiYWNrRm9yd2FyZFR5cGUsIGVudW06dWludDhfdCBXZWJDb3JlOjpTaG91bGRU
cmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBzdGQ6Om9w
dGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4gd2Vic2l0ZVBvbGljaWVzLCBib29s
IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmluZGV4IGUzNTA2NmYzNTM4NWNk
YWZiYzg2ZWM3MDQzZDEzZDc2Zjc5NjRhMDguLjA1MzM1YmUyNDY0M2Q2ZTM2MWNkOGJjMDI2ZjIw
NGE3YjRmNjRmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTEwNCwzMSArMTA0LDMxIEBAIGJvb2wgV2ViUGFnZTo6
cGVyZm9ybURlZmF1bHRCZWhhdmlvckZvcktleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQm
IGtleWJvYXJkCiAKICAgICBzd2l0Y2ggKGtleWJvYXJkRXZlbnQud2luZG93c1ZpcnR1YWxLZXlD
b2RlKCkpIHsKICAgICBjYXNlIFZLX1NQQUNFOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBrZXlib2FyZEV2ZW50LnNoaWZ0S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9s
bEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIGtleWJvYXJkRXZlbnQuc2hp
ZnRLZXkoKSA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2Up
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgVktfVVA6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBT
Y3JvbGxCeUxpbmUpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0RPV046
Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7
CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFy
aXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19IT01FOgotICAgICAgICBz
Y3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1l
bnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgIHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdl
LmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9s
bERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9s
bERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVm
YXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCAxZTIzYWZmZWRlY2FmZGJjZGEz
MTAzOGM5MWJmODA4ZGFhODgzZWMxLi5jMGE5OGFjNzhmODJlOWY0MzkyZTQxYmNhMzU5NTBmYzA4
ZDllNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViUGFnZU1hYy5tbQpAQCAtNDY3LDI3ICs0NjcsMjcgQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3Jt
Tm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgS2V5
Ym8KICAgICAKICAgICBpZiAoIWZyYW1lLT5zZXR0aW5ncygpLmV2ZW50SGFuZGxlckRyaXZlblNt
b290aEtleWJvYXJkU2Nyb2xsaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChzZWxlY3RvciA9
PSAibW92ZVVwOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgICAgICBkaWRQZXJmb3Jt
QWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpMaW5lKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09m
UGFyYWdyYXBoOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3Jt
QWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09m
RG9jdW1lbnQ6IikgewotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKLSAgICAgICAgICAgIGRpZFBl
cmZvcm1BY3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlE
b2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5n
ZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3Ig
PT0gIm1vdmVEb3duOiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBl
cmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFu
dWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9FbmRP
ZlBhcmFncmFwaDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJm
b3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UpOwogICAgICAgICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvRW5kT2ZE
b2N1bWVudDoiKSB7Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgICAgICAgICBkaWRQ
ZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5
RG9jdW1lbnQpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0
b3IgPT0gIm1vdmVMZWZ0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRp
ZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxH
cmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29y
ZExlZnQ6IikKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdl
dCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFj
dGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5
OjpQYWdlKTsKICAgICAgICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVSaWdodDoiKQotICAg
ICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJp
Z2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAg
ICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZFJpZ2h0OiIpCi0gICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNj
cm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICB9CiAK
ICAgICBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0xlZnRFbmRPZkxpbmU6IikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAppbmRleCAw
Y2Y0NzA3ZDQ0ZmIyMGEyY2IxMjVhYWY5NDY1ZDEyODJiZjg0NjUxLi5hZmFkNGY5YjEzYWIxNmIw
OTI1MjVhODRiYWFlZDM0OTMzYzhlNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCkBAIC03NSwyOCArNzUsMjggQEAgYm9v
bCBXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5
Ym9hcmRFdmVudCYga2V5Ym9hcmQKIAogICAgIHN3aXRjaCAoa2V5Ym9hcmRFdmVudC53aW5kb3dz
VmlydHVhbEtleUNvZGUoKSkgewogICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFZLX1JJR0hUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxSaWdodCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBWS19VUDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBT
Y3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRE9X
TjoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5l
KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVs
YXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAg
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAg
ICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRU5EOgotICAgICAgICBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Ny
b2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19QUklPUjoKLSAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgVktfTkVYVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsRG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCmluZGV4IGQ1ZWRhZTRlYzY1MWM2ZWViMzNmMmY0
NGRlY2UzZDE5ZjczMzU4MzUuLjczZWY4NmNiZWRjNjZjYjU1MjhiYTU2OTdhZWYzNTY0NWJkNGQ0
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3
Lm1tCkBAIC02MzMsNyArNjMzLDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9sbFRvQmVnaW5u
aW5nT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlv
bjpXZWJDb3JlOjpTY3JvbGxVcCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeURvY3VtZW50
XSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246V2ViQ29yZTo6U2Ny
b2xsVXAgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50XSkK
ICAgICAgICAgcmV0dXJuIFlFUzsKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQogICAg
ICAgICByZXR1cm4gTk87CkBAIC02NDUsNyArNjQ1LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Nj
cm9sbFRvRW5kT2ZEb2N1bWVudAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRp
cmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5
RG9jdW1lbnRdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJD
b3JlOjpTY3JvbGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpE
b2N1bWVudF0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxh
YmxlXSkKICAgICAgICAgcmV0dXJuIE5POwpAQCAtNzQyLDcgKzc0Miw3IEBAIGVudW0gewogCiAt
IChCT09MKV9wYWdlVmVydGljYWxseTooQk9PTCl1cAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xs
T3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Ny
b2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeVBhZ2VdKQorICAgIGlmIChbc2Vs
ZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2Vi
Q29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6
UGFnZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgCiAgICAgaWYgKCFbc2VsZiBfaXNTY3Jv
bGxhYmxlXSkKQEAgLTc1NCw3ICs3NTQsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfcGFnZUhvcml6
b250YWxseTooQk9PTClsZWZ0CiB7Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGly
ZWN0aW9uOmxlZnQgPyBXZWJDb3JlOjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQg
Z3JhbnVsYXJpdHk6V2ViQ29yZTo6U2Nyb2xsQnlQYWdlXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9s
bE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3Jl
OjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFn
ZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVd
KQpAQCAtNzc2LDcgKzc3Niw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxMaW5lVmVydGlj
YWxseTooQk9PTCl1cAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlv
bjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0
eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJ
bkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBn
cmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZV0pCiAgICAgICAgIHJl
dHVybiBZRVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzg4LDcgKzc4
OCw3IEBAIGVudW0gewogCiAtIChCT09MKV9zY3JvbGxMaW5lSG9yaXpvbnRhbGx5OihCT09MKWxl
ZnQKIHsKLSAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdl
YkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJD
b3JlOjpTY3JvbGxCeUxpbmVdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVj
dGlvbjpsZWZ0ID8gV2ViQ29yZTo6U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdy
YW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lXSkKICAgICAgICAgcmV0
dXJuIFlFUzsKIAogICAgIGlmICghW3NlbGYgX2lzU2Nyb2xsYWJsZV0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCmluZGV4IDY1Njk5NzgxMjg1MDBmN2IwYTNhYjBlMTYzMzBmMDU1Nzli
MzljZmYuLmFiM2QwYWIwNjI4NmY1NDc2NWQ4ODAxMzgxNTM5NDI5OWIyODFjY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0yMDg0LDE5ICsyMDg0LDE5IEBAIGJvb2wgV2Vi
Vmlldzo6dmVydGljYWxTY3JvbGwoV1BBUkFNIHdQYXJhbSwgTFBBUkFNIC8qbFBhcmFtKi8pCiAg
ICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1Bh
cmFtKSkgewogICAgIGNhc2UgU0JfTElORURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Ny
b2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5l
OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNCX0xJTkVVUDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAg
ICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVj
dGlvbiA9IFNjcm9sbFVwOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VET1dOOgot
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFy
aXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBT
Y3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VVUDoKLSAgICAgICAg
Z3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0yMTE0LDE5ICsyMTE0LDE5IEBAIGJv
b2wgV2ViVmlldzo6aG9yaXpvbnRhbFNjcm9sbChXUEFSQU0gd1BhcmFtLCBMUEFSQU0gLypsUGFy
YW0qLykKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2ggKExP
V09SRCh3UGFyYW0pKSB7CiAgICAgY2FzZSBTQl9MSU5FTEVGVDoKLSAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJp
dHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU0JfTElORVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U0JfUEFHRUxFRlQ6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAg
ICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAg
IGRpcmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFH
RVJJR0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTIz
NTksMzUgKzIzNTksMzUgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5
Q29kZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAgICBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eSB7IH07CiAgICAgc3dpdGNoICh2aXJ0dWFsS2V5Q29kZSkgewog
ICAgICAgICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7
CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgVktfUklHSFQ6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEJ5TGluZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmU7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFZLX1VQOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBWS19ET1dOOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3Jv
bGxCeUxpbmU7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpM
aW5lOwogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNj
cm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFy
aXR5OjpEb2N1bWVudDsKICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfRU5EOgotICAgICAgICAgICAgZ3JhbnVsYXJp
dHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3du
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxV
cDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEJ5UGFnZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0g
U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxE
b3duOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6Cg==
</data>
<flag name="review"
          id="468714"
          type_id="1"
          status="+"
          setter="heycam"
    />
    <flag name="commit-queue"
          id="468730"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443913</attachid>
            <date>2021-11-10 23:00:34 -0800</date>
            <delta_ts>2021-11-11 10:31:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232641-20211110230033.patch</filename>
            <type>text/plain</type>
            <size>46249</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY3NmY1ZDQyNjg5MGZi
OWE2NGY3NTY1ZGIyZWE5NTJmMDhlODMxNy4uOWU5NmRmZTM3MzdhYTY0NDc4MDJjNTZmMjdiZTBh
YjAzYjIwZDA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTEwICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENh
bWVyb24gTWNDb3JtYWNrLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsQnlMaW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjpzY3JvbGxCeVBhZ2VzKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFBhZ2VCYWNrd2FyZCk6CisgICAgICAg
IChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsUGFnZUZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6
ZXhlY3V0ZVNjcm9sbExpbmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsTGlu
ZURvd24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZEb2N1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlU2Nyb2xsVG9FbmRPZkRvY3VtZW50KToK
KyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3aGVl
bEdyYW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dEhhbmRsZXI6OmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OnNjcm9sbERpc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFNjcm9sbFN0ZXBGb3JG
aXhlZENvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Ny
b2xsRGlzdGFuY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JLZXlib2FyZEV2ZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OktleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3I6OmJlZ2luS2V5Ym9hcmRTY3JvbGxH
ZXN0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFy
OjpwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
U2Nyb2xsQW5pbWF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcklP
Uzo6aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1BvcHVwTWVudVdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OnduZFByb2MpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
Ojpsb2dpY2FsU2Nyb2xsKToKKwogMjAyMS0xMS0xMCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSBub24tc3RhbmRhcmQgLXdlYmtpdC1ib3JkZXItZml0IENT
UyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBjYmFhODMzZTE3MDA2MGJiNTFjNTcyNGZhOTkzYmZmODc2
ZjNlMmI2Li40YjFiYTc3MGQ1NDVjZDFiNjM3MTZkNjRiZGM5YjAzOTk5YTIyNzRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTExLTEwICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1v
dWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFu
IGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENhbWVyb24gTWNDb3JtYWNrLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChoZWFkZXJzX2Zv
cl90eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBrZXlib2FyZFNjcm9sbFZpZXdBbmltYXRv
cjpkaXN0YW5jZUZvckluY3JlbWVudDppbkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbToKKyAgICAgICAgKC1bV0tLZXli
b2FyZFNjcm9sbGluZ0FuaW1hdG9yIGtleWJvYXJkU2Nyb2xsRm9yRXZlbnQ6XSk6CisgICAgICAg
ICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBiZWdpbldpdGhFdmVudDpdKToKKyAgICAg
ICAgKC1bV0tLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvciBkaXN0YW5jZUZvckluY3JlbWVudDpp
bkRpcmVjdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5
V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46Om9uTW91c2VX
aGVlbCk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlldzo6b25Ib3Jpem9udGFsU2Nyb2xsKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6b25WZXJ0aWNhbFNjcm9sbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzY3JvbGxCeSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRGVm
YXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGVyZm9ybU5vbkVk
aXRpbmdCZWhhdmlvckZvclNlbGVjdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
d2luL1dlYlBhZ2VXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRGVm
YXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorCiAyMDIxLTExLTEwICBQZXIgQXJuZSBWb2xsYW4g
PHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJsb2NrIHNhbmRib3ggYWNjZXNzIHRvIGNv
bnN1bWUgbWFjaCBleHRlbnNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYmI4
MDg2NDljZTQ2MmU1MTA4YzFlYTRhZWZkYmFiZWE5NmMwODk5YS4uYzMyNGE3MTZmNzZmYzE3ZmZh
ODYyZDNkYzhiOTkzNjIxNmQzMGM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIxLTExLTEwICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFy
aXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0g
Y2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENhbWVyb24gTWNDb3JtYWNrLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJGcmFtZVZpZXcubW06CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Ny
b2xsVG9CZWdpbm5pbmdPZkRvY3VtZW50XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2Ny
b2xsVG9FbmRPZkRvY3VtZW50XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfcGFnZVZlcnRp
Y2FsbHk6XSk6CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfcGFnZUhvcml6b250YWxseTpdKToK
KyAgICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zY3JvbGxMaW5lVmVydGljYWxseTpdKToKKyAgICAg
ICAgKC1bV2ViRnJhbWVWaWV3IF9zY3JvbGxMaW5lSG9yaXpvbnRhbGx5Ol0pOgorCiAyMDIxLTEx
LTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ0ZdIFJlZHVj
ZSBkdXBsaWNhdGlvbiBhbmQgdW5uZWVkZWQgYnVmZmVyIGFsbG9jYXRpb25zIGFuZCBjb3B5aW5n
IGluIFVSTCBjb2RlLCBhbHNvIHJlbW92ZSB1bnVzZWQgbWV0aG9kcyBhbmQgZnVuY3Rpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggMGQwNWY5NmIzNzBkZWJkZGNmOGE3NDAwODU4
NGI5ZWJmODViYzEyOC4uZTY4YzI2MDA4MGE0MzM5YmFiZmRiNzVhNzQ0ZTY0OTVjMTJhMzNlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTEw
ICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAg
IE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IENhbWVyb24gTWNDb3JtYWNrLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJWaWV3Ojp2ZXJ0aWNhbFNjcm9sbCk6CisgICAgICAgIChXZWJWaWV3Ojpob3Jpem9udGFs
U2Nyb2xsKToKKyAgICAgICAgKFdlYlZpZXc6OmtleURvd24pOgorCiAyMDIxLTExLTA1ICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogcmVu
YW1lIGFjdGlvblZlcmIoKSBhcyBsb2NhbGl6ZWRBY3Rpb25WZXJiKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAppbmRleCBiZjlhNzNkNTExZDJkYjBkOTgzNzNhMzZiNDUwMWUxNThkMDU0NGY5Li4yYWJh
ZTliZWVlMDU0NzI2ZjkxZjk0MWY4MjEyOWUxMmY4MTkwYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0xMTI4LDEyICsxMTI4LDEyIEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsQnlVbml0cyhp
bnQgdW5pdHMsIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogCiB2b2lkIEVsZW1lbnQ6
OnNjcm9sbEJ5TGluZXMoaW50IGxpbmVzKQogewotICAgIHNjcm9sbEJ5VW5pdHMobGluZXMsIFNj
cm9sbEJ5TGluZSk7CisgICAgc2Nyb2xsQnlVbml0cyhsaW5lcywgU2Nyb2xsR3JhbnVsYXJpdHk6
OkxpbmUpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5UGFnZXMoaW50IHBhZ2VzKQogewot
ICAgIHNjcm9sbEJ5VW5pdHMocGFnZXMsIFNjcm9sbEJ5UGFnZSk7CisgICAgc2Nyb2xsQnlVbml0
cyhwYWdlcywgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogfQogCiBzdGF0aWMgZG91YmxlIGxv
Y2FsWm9vbUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKaW5kZXggMjY1OWQyNDBiNzdlMjAxY2M4
ODM5NjA5N2IwNjA4YzU4M2M2YzZhYi4uZjE4NzU5ZDA2MmRmNTk2Zjk0NTdkOTE5MGE1NzBhNzE0
OTJlMzRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5k
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC05
ODksMzIgKzk4OSwzMiBAQCBzdGF0aWMgYm9vbCBleGVjdXRlUmVtb3ZlRm9ybWF0KEZyYW1lJiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdAogCiBzdGF0aWMgYm9vbCBl
eGVjdXRlU2Nyb2xsUGFnZUJhY2t3YXJkKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21t
YW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRs
ZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25CYWNrd2Fy
ZCwgU2Nyb2xsQnlQYWdlKTsKKyAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNh
bFNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEdy
YW51bGFyaXR5OjpQYWdlKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFBhZ2VGb3J3
YXJkKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJp
bmcmKQogewotICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVj
dXJzaXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3JvbGxCeVBhZ2UpOworICAg
IHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoU2Ny
b2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkLCBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiB9CiAK
IHN0YXRpYyBib29sIGV4ZWN1dGVTY3JvbGxMaW5lVXAoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2
ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOwor
ICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShTY3JvbGxV
cCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRlU2Ny
b2xsTGluZURvd24oRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNv
bnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJl
Y3Vyc2l2ZWx5KFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7CisgICAgcmV0dXJuIGZyYW1lLmV2
ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFy
aXR5OjpMaW5lKTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFRvQmVnaW5uaW5nT2ZE
b2N1bWVudChGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3Qg
U3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9s
bFJlY3Vyc2l2ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQsIFNjcm9sbEJ5RG9jdW1l
bnQpOworICAgIHJldHVybiBmcmFtZS5ldmVudEhhbmRsZXIoKS5sb2dpY2FsU2Nyb2xsUmVjdXJz
aXZlbHkoU2Nyb2xsQmxvY2tEaXJlY3Rpb25CYWNrd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRv
Y3VtZW50KTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNjcm9sbFRvRW5kT2ZEb2N1bWVudChG
cmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikK
IHsKLSAgICByZXR1cm4gZnJhbWUuZXZlbnRIYW5kbGVyKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2
ZWx5KFNjcm9sbEJsb2NrRGlyZWN0aW9uRm9yd2FyZCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAg
cmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShTY3Jv
bGxCbG9ja0RpcmVjdGlvbkZvcndhcmQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiB9
CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTZWxlY3RBbGwoRnJhbWUmIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKaW5kZXggNmViYmM0N2E0NmNkMTJlNzg4ODg4ZWZlNDc3YWRkNjNjYjZkMWRiNy4u
YjJmYTY5ZjhlZTJlOWUwZmIzMTBiZGFhM2JlOWZkODI5ZGViMWJiNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjk4LDEzICsyOTgsMTMgQEAgc3RhdGljIGlubGluZSBT
Y3JvbGxHcmFudWxhcml0eSB3aGVlbEdyYW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSh1bnNp
Z25lZCBkZWwKIHsKICAgICBzd2l0Y2ggKGRlbHRhTW9kZSkgewogICAgIGNhc2UgV2hlZWxFdmVu
dDo6RE9NX0RFTFRBX1BBR0U6Ci0gICAgICAgIHJldHVybiBTY3JvbGxCeVBhZ2U7CisgICAgICAg
IHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAgICBjYXNlIFdoZWVsRXZlbnQ6OkRP
TV9ERUxUQV9MSU5FOgotICAgICAgICByZXR1cm4gU2Nyb2xsQnlMaW5lOworICAgICAgICByZXR1
cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgY2FzZSBXaGVlbEV2ZW50OjpET01fREVM
VEFfUElYRUw6Ci0gICAgICAgIHJldHVybiBTY3JvbGxCeVBpeGVsOworICAgICAgICByZXR1cm4g
U2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBT
Y3JvbGxCeVBpeGVsOworICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOwog
ICAgIH0KIH0KIApAQCAtMTI4Nyw3ICsxMjg3LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmxvZ2lj
YWxTY3JvbGxSZWN1cnNpdmVseShTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2MK
ICAgICBib29sIHNjcm9sbGVkID0gZmFsc2U7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8g
TWFjIGFsc28gcmVzZXRzIHRoZSBzY3JvbGwgcG9zaXRpb24gaW4gdGhlIGlubGluZSBkaXJlY3Rp
b24uCi0gICAgaWYgKGdyYW51bGFyaXR5ID09IFNjcm9sbEJ5RG9jdW1lbnQgJiYgdmlldyAmJiB2
aWV3LT5sb2dpY2FsU2Nyb2xsKFNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkLCBTY3JvbGxC
eURvY3VtZW50KSkKKyAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRv
Y3VtZW50ICYmIHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChTY3JvbGxJbmxpbmVEaXJlY3Rp
b25CYWNrd2FyZCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KSkKICAgICAgICAgc2Nyb2xs
ZWQgPSB0cnVlOwogI2VuZGlmCiAgICAgaWYgKHZpZXcgJiYgdmlldy0+bG9naWNhbFNjcm9sbChk
aXJlY3Rpb24sIGdyYW51bGFyaXR5KSkKQEAgLTQyNDgsNyArNDI0OCw3IEBAIHZvaWQgRXZlbnRI
YW5kbGVyOjpkZWZhdWx0U3BhY2VFdmVudEhhbmRsZXIoS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uID0g
ZXZlbnQuc2hpZnRLZXkoKSA/IFNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQgOiBTY3JvbGxC
bG9ja0RpcmVjdGlvbkZvcndhcmQ7Ci0gICAgaWYgKGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhkaXJl
Y3Rpb24sIFNjcm9sbEJ5UGFnZSkpIHsKKyAgICBpZiAobG9naWNhbFNjcm9sbE92ZXJmbG93KGRp
cmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpKSB7CiAgICAgICAgIGV2ZW50LnNldERl
ZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00MjU3LDcgKzQyNTcs
NyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFNwYWNlRXZlbnRIYW5kbGVyKEtleWJvYXJk
RXZlbnQmIGV2ZW50KQogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAgYm9v
bCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJhbWUuc2V0dGluZ3MoKS5ldmVudEhhbmRsZXJEcml2ZW5T
bW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQoKSA/IHN0YXJ0S2V5Ym9hcmRTY3JvbGxpbmco
ZXZlbnQpIDogdmlldy0+bG9naWNhbFNjcm9sbChkaXJlY3Rpb24sIFNjcm9sbEJ5UGFnZSk7Cisg
ICAgYm9vbCBkZWZhdWx0SGFuZGxlZCA9IG1fZnJhbWUuc2V0dGluZ3MoKS5ldmVudEhhbmRsZXJE
cml2ZW5TbW9vdGhLZXlib2FyZFNjcm9sbGluZ0VuYWJsZWQoKSA/IHN0YXJ0S2V5Ym9hcmRTY3Jv
bGxpbmcoZXZlbnQpIDogdmlldy0+bG9naWNhbFNjcm9sbChkaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlKTsKICAgICBpZiAoZGVmYXVsdEhhbmRsZWQpCiAgICAgICAgIGV2ZW50LnNl
dERlZmF1bHRIYW5kbGVkKCk7CiB9CkBAIC00Mjk5LDEzICs0Mjk5LDEzIEBAIGZsb2F0IEV2ZW50
SGFuZGxlcjo6c2Nyb2xsRGlzdGFuY2UoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xs
R3JhbnVsYXJpdHkKICAgICB9KCk7CiAKICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7Ci0gICAg
Y2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOgorICAgIGNhc2UgU2Nyb2xsR3Jh
bnVsYXJpdHk6OkxpbmU6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPmxpbmVTdGVwKCk7Ci0g
ICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlOgorICAgIGNhc2UgU2Nyb2xs
R3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBhZ2VTdGVwKCk7
Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoKKyAgICBjYXNl
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAgICAgcmV0dXJuIHNjcm9sbGJhci0+
dG90YWxTaXplKCk7Ci0gICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoK
KyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgcmV0dXJuIHNjcm9s
bGJhci0+cGl4ZWxTdGVwKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5k
ZXggMmM3ZDgxOWI5OTVlMWQzNmFlOGM3MWJiYThmMTc0ODNlZTY4Mzg5OS4uOGY2ODU5NzYyOGMz
NmEzZDk2Nzc1Y2JhZGViYjE2ZDJkNWQzMGE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cApAQCAtMzgzNiw3ICszODM2LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFRvUG9zaXRpb25X
aXRoQW5pbWF0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2MKIAogZmxvYXQg
RnJhbWVWaWV3OjphZGp1c3RTY3JvbGxTdGVwRm9yRml4ZWRDb250ZW50KGZsb2F0IHN0ZXAsIFNj
cm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxh
cml0eSkKIHsKLSAgICBpZiAoZ3JhbnVsYXJpdHkgIT0gU2Nyb2xsQnlQYWdlIHx8IG9yaWVudGF0
aW9uID09IFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsKQorICAgIGlmIChncmFudWxh
cml0eSAhPSBTY3JvbGxHcmFudWxhcml0eTo6UGFnZSB8fCBvcmllbnRhdGlvbiA9PSBTY3JvbGxi
YXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCkKICAgICAgICAgcmV0dXJuIHN0ZXA7CiAKICAgICBU
cmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZE9iamVjdHMgPSBudWxscHRyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1h
dG9yLmNwcAppbmRleCBmYmRlYWZmZDJiYzRhMmY4ZDE3MjIwM2UxOTA5ZmNlOTdkMTk4NGYzLi5l
NWFkMmZkYzE0ZDRhNjVjZWRlYzY5NDgzOWQzMjIwOGQ2OTY1ZDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmNwcApAQCAt
MTU1LDEzICsxNTUsMTMgQEAgZmxvYXQgS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6c2Nyb2xs
RGlzdGFuY2UoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2wKIAogICAgIGlmIChzY3Jv
bGxiYXIpIHsKICAgICAgICAgc3dpdGNoIChncmFudWxhcml0eSkgewotICAgICAgICBjYXNlIFNj
cm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAgICAgIGNhc2UgU2Nyb2xsR3JhbnVs
YXJpdHk6OkxpbmU6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5saW5lU3RlcCgpOwot
ICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U6CisgICAgICAgIGNh
c2UgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsYmFy
LT5wYWdlU3RlcCgpOwotICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURv
Y3VtZW50OgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDoKICAgICAg
ICAgICAgIHJldHVybiBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgICAgICBjYXNlIFNjcm9s
bEdyYW51bGFyaXR5OjpTY3JvbGxCeVBpeGVsOgorICAgICAgICBjYXNlIFNjcm9sbEdyYW51bGFy
aXR5OjpQaXhlbDoKICAgICAgICAgICAgIHJldHVybiBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMjAyLDE4ICsyMDIsMTggQEAgc3RkOjpvcHRpb25hbDxLZXli
b2FyZFNjcm9sbD4gS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvcjo6a2V5Ym9hcmRTY3JvbGxGb3JL
ZXlib2EKICAgICAgICAgc3dpdGNoIChrZXkudmFsdWUoKSkgewogICAgICAgICBjYXNlIEtleWJv
YXJkU2Nyb2xsaW5nS2V5OjpMZWZ0QXJyb3c6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxp
bmdLZXk6OlJpZ2h0QXJyb3c6Ci0gICAgICAgICAgICByZXR1cm4gZXZlbnQuYWx0S2V5KCkgPyBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQYWdlIDogU2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9s
bEJ5TGluZTsKKyAgICAgICAgICAgIHJldHVybiBldmVudC5hbHRLZXkoKSA/IFNjcm9sbEdyYW51
bGFyaXR5OjpQYWdlIDogU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5
Ym9hcmRTY3JvbGxpbmdLZXk6OlVwQXJyb3c6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxp
bmdLZXk6OkRvd25BcnJvdzoKICAgICAgICAgICAgIGlmIChldmVudC5tZXRhS2V5KCkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeURvY3VtZW50Owor
ICAgICAgICAgICAgICAgIHJldHVybiBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAg
ICAgICAgICBpZiAoZXZlbnQuYWx0S2V5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFNjcm9s
bEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7Ci0gICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3Jh
bnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3Jh
bnVsYXJpdHk6OlBhZ2U7CisgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6Okxp
bmU7CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRTY3JvbGxpbmdLZXk6OlNwYWNlOgogICAgICAgICBj
YXNlIEtleWJvYXJkU2Nyb2xsaW5nS2V5OjpQYWdlVXA6CiAgICAgICAgIGNhc2UgS2V5Ym9hcmRT
Y3JvbGxpbmdLZXk6OlBhZ2VEb3duOgotICAgICAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFy
aXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICByZXR1cm4gU2Nyb2xsR3JhbnVsYXJpdHk6
OlBhZ2U7CiAgICAgICAgIH07CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfSgpOwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGJvb2wgS2V5Ym9hcmRTY3JvbGxpbmdBbmlt
YXRvcjo6YmVnaW5LZXlib2FyZFNjcm9sbEdlc3R1cmUoY29uc3QgUGxhdGZvcm1LZXlib2FyCiAg
ICAgaWYgKG1fc2Nyb2xsVHJpZ2dlcmluZ0tleUlzUHJlc3NlZCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgaWYgKG1fY3VycmVudEtleWJvYXJkU2Nyb2xsLT5ncmFudWxhcml0eSA9PSBT
Y3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudCkgeworICAgIGlmIChtX2N1cnJlbnRL
ZXlib2FyZFNjcm9sbC0+Z3JhbnVsYXJpdHkgPT0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50
KSB7CiAgICAgICAgIG1fdmVsb2NpdHkgPSB7IH07CiAgICAgICAgIHN0b3BLZXlib2FyZFNjcm9s
bEFuaW1hdGlvbigpOwogICAgICAgICBhdXRvIG5ld1Bvc2l0aW9uID0gSW50UG9pbnQobV9zY3Jv
bGxBbmltYXRvci5jdXJyZW50UG9zaXRpb24oKSArIG1fY3VycmVudEtleWJvYXJkU2Nyb2xsLT5v
ZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4
IGJiZDk0ZGI0ZWQ1NGQxODA2OWM5OTkzNGNhNGUzYmQzMjQ2YTkxYjMuLjA1MGM2NmY4Y2I4NTdl
MDdlZDZkZDZlYzZkYTZmYWU1YjU2MmQ2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAKQEAgLTIxNyw3ICsyMTcsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9y
OjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAg
ICAgICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IC1kZWx0
YVk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRp
b246OlZlcnRpY2FsLCBTY3JvbGxCeVBpeGVsLCB2ZXJ0aWNhbFNjcm9sbGJhci0+cGl4ZWxTdGVw
KCksIC1kZWx0YVksIGJlaGF2aW9yKTsKKyAgICAgICAgICAgIHNjcm9sbChTY3JvbGxiYXJPcmll
bnRhdGlvbjo6VmVydGljYWwsIFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgdmVydGljYWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZLCBiZWhhdmlvcik7CiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAoZGVsdGFYKSB7CkBAIC0yMjcsNyArMjI3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRv
cjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAg
ICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAtZGVs
dGFYOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0
aW9uOjpIb3Jpem9udGFsLCBTY3JvbGxCeVBpeGVsLCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhl
bFN0ZXAoKSwgLWRlbHRhWCwgYmVoYXZpb3IpOworICAgICAgICAgICAgc2Nyb2xsKFNjcm9sbGJh
ck9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWwsIGhvcml6
b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFYLCBiZWhhdmlvcik7CiAgICAgICAg
IH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
VHlwZXMuaAppbmRleCAwYWQyZTI3YTg3ZTEwYmQ1NzY3ZjQ5M2IwMWEwMTkyNjAwOTlhZDk3Li5m
OGYzOTJiZTBkZDIxNjJmYTU1YWY1NjcyZDE3YjM4ODhiMTk2NjcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTEzMCwxMSArMTMwLDExIEBAIGlubGluZSBTY3JvbGxE
aXJlY3Rpb24gbG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rp
b24sIGJvb2wKICAgICByZXR1cm4gU2Nyb2xsVXA7CiB9CiAKLWVudW0gU2Nyb2xsR3JhbnVsYXJp
dHkgOiB1aW50OF90IHsKLSAgICBTY3JvbGxCeUxpbmUsCi0gICAgU2Nyb2xsQnlQYWdlLAotICAg
IFNjcm9sbEJ5RG9jdW1lbnQsCi0gICAgU2Nyb2xsQnlQaXhlbAorZW51bSBjbGFzcyBTY3JvbGxH
cmFudWxhcml0eSA6IHVpbnQ4X3QgeworICAgIExpbmUsCisgICAgUGFnZSwKKyAgICBEb2N1bWVu
dCwKKyAgICBQaXhlbAogfTsKIAogZW51bSBjbGFzcyBTY3JvbGxFbGFzdGljaXR5IDogdWludDhf
dCB7CkBAIC0zMzAsNCArMzMwLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6U2Nyb2xsUGlubmluZ0JlaGF2aW9yPiB7CiAgICAgPjsKIH07CiAKK3RlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk+IHsKKyAgICB1c2lu
ZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0
eSwKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUsCisgICAgICAgIFdl
YkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlLAorICAgICAgICBXZWJDb3JlOjpTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQsCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpQaXhlbAorICAgID47Cit9OwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggYjU1MmQ0ZDgxMzFlZWVhNzAwOWRkZTMw
ZjRjYzBkNmRlNzE0MTFhMS4uOGYyMGNlYzg1NDEzYmVhZGNiNDdiN2UyMTgwMzlkN2UyNDY4OGU4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMTEz
LDE2ICsxMTMsMTYgQEAgYm9vbCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsKFNjcm9sbERpcmVjdGlv
biBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGEKIAogICAgIGZsb2F0IHN0ZXAg
PSAwOwogICAgIHN3aXRjaCAoZ3JhbnVsYXJpdHkpIHsKLSAgICBjYXNlIFNjcm9sbEJ5TGluZToK
KyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICBzdGVwID0gc2Nyb2xs
YmFyLT5saW5lU3RlcCgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5UGFnZToK
KyAgICBjYXNlIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOgogICAgICAgICBzdGVwID0gc2Nyb2xs
YmFyLT5wYWdlU3RlcCgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9sbEJ5RG9jdW1l
bnQ6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAgICAgIHN0ZXAg
PSBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNjcm9s
bEJ5UGl4ZWw6CisgICAgY2FzZSBTY3JvbGxHcmFudWxhcml0eTo6UGl4ZWw6CiAgICAgICAgIHN0
ZXAgPSBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA2YTRhNTc0NWEwMGZiNzEwZWFlZTMz
YjNkY2NiMDM4MDZjMTRhYTM3Li42MjhkYzFjZTJkMGE4YzdhMzAyODEzZTQ1MDYzNjQwODAxN2Y5
N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTIzNCw4ICsyMzQs
OCBAQCBTY3JvbGxEaXJlY3Rpb24gU2Nyb2xsYmFyOjpwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlv
bigpCiBTY3JvbGxHcmFudWxhcml0eSBTY3JvbGxiYXI6OnByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVs
YXJpdHkoKQogewogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IEJhY2tCdXR0b25TdGFydFBhcnQg
fHwgbV9wcmVzc2VkUGFydCA9PSBCYWNrQnV0dG9uRW5kUGFydCB8fCAgbV9wcmVzc2VkUGFydCA9
PSBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gRm9yd2FyZEJ1dHRv
bkVuZFBhcnQpCi0gICAgICAgIHJldHVybiBTY3JvbGxCeUxpbmU7Ci0gICAgcmV0dXJuIFNjcm9s
bEJ5UGFnZTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOworICAgIHJl
dHVybiBTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKIH0KIAogdm9pZCBTY3JvbGxiYXI6Om1vdmVU
aHVtYihpbnQgcG9zLCBib29sIGRyYWdnaW5nRG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsQW5pbWF0b3JJT1MubW0KaW5kZXggMTYyZDYzOWZmMzFjYTMz
ZDU4ZTM4Y2FmYTJlODEzNGE1ZWVhN2RjOS4uMzIxNTFiMGM2OGE3MjZiYjEwOGI1MGMxNTZjNzA3
N2YxOGQ3NDZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9s
bEFuaW1hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxB
bmltYXRvcklPUy5tbQpAQCAtMTM5LDEzICsxMzksMTMgQEAgYm9vbCBTY3JvbGxBbmltYXRvcklP
Uzo6aGFuZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIHRvdWNoRXZlbnQp
CiAgICAgLy8gSG9yaXpvbnRhbAogICAgIGlmIChtX3RvdWNoU2Nyb2xsQXhpc0xhdGNoICE9IEF4
aXNMYXRjaFZlcnRpY2FsKSB7CiAgICAgICAgIGludCBkZWx0YSA9IHRvdWNoRGVsdGEud2lkdGgo
KTsKLSAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1ZW5jZS0+
c2Nyb2xsKGRlbHRhIDwgMCA/IFNjcm9sbExlZnQgOiBTY3JvbGxSaWdodCwgU2Nyb2xsQnlQaXhl
bCwgYWJzKGRlbHRhKSk7CisgICAgICAgIGhhbmRsZWQgfD0gbV9zY3JvbGxhYmxlQXJlYUZvclRv
dWNoU2VxdWVuY2UtPnNjcm9sbChkZWx0YSA8IDAgPyBTY3JvbGxMZWZ0IDogU2Nyb2xsUmlnaHQs
IFNjcm9sbEdyYW51bGFyaXR5OjpQaXhlbCwgYWJzKGRlbHRhKSk7CiAgICAgfQogICAgIAogICAg
IC8vIFZlcnRpY2FsCiAgICAgaWYgKG1fdG91Y2hTY3JvbGxBeGlzTGF0Y2ggIT0gQXhpc0xhdGNo
SG9yaXpvbnRhbCkgewogICAgICAgICBpbnQgZGVsdGEgPSB0b3VjaERlbHRhLmhlaWdodCgpOwot
ICAgICAgICBoYW5kbGVkIHw9IG1fc2Nyb2xsYWJsZUFyZWFGb3JUb3VjaFNlcXVlbmNlLT5zY3Jv
bGwoZGVsdGEgPCAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeVBpeGVsLCBhYnMo
ZGVsdGEpKTsKKyAgICAgICAgaGFuZGxlZCB8PSBtX3Njcm9sbGFibGVBcmVhRm9yVG91Y2hTZXF1
ZW5jZS0+c2Nyb2xsKGRlbHRhIDwgMCA/IFNjcm9sbFVwIDogU2Nyb2xsRG93biwgU2Nyb2xsR3Jh
bnVsYXJpdHk6OlBpeGVsLCBhYnMoZGVsdGEpKTsKICAgICB9CiAgICAgCiAgICAgLy8gUmV0dXJu
IGZhbHNlIHVudGlsIHdlIG1hbmFnZSB0byBzY3JvbGwgYXQgYWxsLCBhbmQgdGhlbiBrZWVwIHJl
dHVybmluZyB0cnVlIHVudGlsIHRoZSBnZXN0dXJlIGVuZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCmluZGV4IGIxNDNiZmEyZjdmODU1MDFiM2QwODky
MjZjOGU2MDhjMTRmZTliNDIuLmUyYzEzOGU5MTcxOTg4Y2VjODgyNWE5NzRlYmY0MTc4ZmViNTI4
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCkBA
IC0xMDYwLDcgKzEwNjAsNyBAQCBMUkVTVUxUIFBvcHVwTWVudVdpbjo6d25kUHJvYyhIV05EIGhX
bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYQogICAgICAgICAgICAg
ICAgICAgICAtLWk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFNjcm9sbGFibGVBcmVh
OjpzY3JvbGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSwgYWJz
KGkpKTsKKyAgICAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBTY3JvbGxV
cCA6IFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lLCBhYnMoaSkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAppbmRleCAzZDIwNWJjNWUwNDkyNmRjNWNmMDQxYmFjOTVhZGJjNDA4ZjVmNWI5Li5lYmE4
NTllYWRiZDdmN2M3NDBjYWYzYTAwMjE2NjgwMjY5MDU4MzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtOTI1LDggKzkyNSw4IEBAIGJvb2wgUmVuZGVyQm94Ojps
b2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFu
dWxhcml0CiAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXIoKSA/IGxheWVyKCkt
PnNjcm9sbGFibGVBcmVhKCkgOiBudWxscHRyKSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
ICAgIC8vIE9uIE1hYyBvbmx5IHdlIHJlc2V0IHRoZSBpbmxpbmUgZGlyZWN0aW9uIHBvc2l0aW9u
IHdoZW4gZG9pbmcgYSBkb2N1bWVudCBzY3JvbGwgKGUuZy4sIGhpdHRpbmcgSG9tZS9FbmQpLgot
ICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gU2Nyb2xsQnlEb2N1bWVudCkKLSAgICAgICAgICAg
IHNjcm9sbGVkID0gc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbChsb2dpY2FsVG9QaHlzaWNhbChTY3Jv
bGxJbmxpbmVEaXJlY3Rpb25CYWNrd2FyZCwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSwgc3R5
bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKSwgU2Nyb2xsQnlEb2N1bWVudCwgbXVs
dGlwbGllcik7CisgICAgICAgIGlmIChncmFudWxhcml0eSA9PSBTY3JvbGxHcmFudWxhcml0eTo6
RG9jdW1lbnQpCisgICAgICAgICAgICBzY3JvbGxlZCA9IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwo
bG9naWNhbFRvUGh5c2ljYWwoU2Nyb2xsSW5saW5lRGlyZWN0aW9uQmFja3dhcmQsIGlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSks
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCwgbXVsdGlwbGllcik7CiAjZW5kaWYKICAgICAg
ICAgaWYgKHNjcm9sbGFibGVBcmVhLT5zY3JvbGwobG9naWNhbFRvUGh5c2ljYWwoZGlyZWN0aW9u
LCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRp
bmdNb2RlKCkpLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikpCiAgICAgICAgICAgICBzY3JvbGxl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCAz
NzU0YWU0NDc0NWY3ZTQwODlmY2FlZWYzMjAzMDIxNjMzMGExMGNhLi44YmQwZGIyOTdiZmI0MDc0
ZjY4OTAwNDJmY2RhNDc4NDUwZGYwNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkKQEAgLTc2Myw2ICs3NjMsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBl
KToKICAgICAgICAgJ1dlYkNvcmU6OlJvdXRlU2hhcmluZ1BvbGljeSc6IFsnPFdlYkNvcmUvQXVk
aW9TZXNzaW9uLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVu
dGlmaWVyJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dl
YkNvcmU6OlNhbWVTaXRlU3RyaWN0RW5mb3JjZW1lbnRFbmFibGVkJzogWyc8V2ViQ29yZS9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlNjcm9sbEdyYW51bGFy
aXR5JzogWyc8V2ViQ29yZS9TY3JvbGxUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6U2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQnOiBbJzxXZWJDb3JlL1NlY3VyaXR5UG9saWN5
VmlvbGF0aW9uRXZlbnQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNlbGVjdGlvbkRpcmVjdGlv
bic6IFsnPFdlYkNvcmUvVmlzaWJsZVNlbGVjdGlvbi5oPiddLAogICAgICAgICAnV2ViQ29yZTo6
U2VsZWN0aW9uR2VvbWV0cnknOiBbJyJFZGl0b3JTdGF0ZS5oIiddLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5k
ZXggMzk0MzhiZjFkNzU1MzE5NDU2NjA0MDIwNTUwMGJiNzQ4ZTEyYzM5MS4uMTdlZDMyYjVhNDM3
NmVmZjYwOTA2NDBkMjA2Y2FmZmUzMGRlYjU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC01OTMyLDE3
ICs1OTMyLDE3IEBAIHN0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGVGcm9tRmllbGROYW1lKFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lIGZpZWxkTmFtZSkKICAgICBCT09MIGRpcmVjdGlvbklz
SG9yaXpvbnRhbCA9IGRpcmVjdGlvbiA9PSBXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb246OlNjcm9s
bExlZnQgfHwgZGlyZWN0aW9uID09IFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbjo6U2Nyb2xsUmln
aHQ7CiAKICAgICBzd2l0Y2ggKGluY3JlbWVudCkgewotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5RG9jdW1lbnQ6IHsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudDogewogICAgICAgICBDR1NpemUgZG9jdW1lbnRTaXplID0g
W3NlbGYgY29udmVydFJlY3Q6c2VsZi5ib3VuZHMgdG9WaWV3OnNlbGYud2ViVmlld10uc2l6ZTsK
ICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA/IGRvY3VtZW50U2l6ZS53aWR0
aCA6IGRvY3VtZW50U2l6ZS5oZWlnaHQ7CiAgICAgfQotICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
R3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTogeworICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3Jh
bnVsYXJpdHk6OlBhZ2U6IHsKICAgICAgICAgQ0dTaXplIHBhZ2VTaXplID0gW3NlbGYgY29udmVy
dFNpemU6Q0dTaXplTWFrZSgwLCBXZWJDb3JlOjpTY3JvbGxiYXI6OnBhZ2VTdGVwKF9wYWdlLT51
bm9ic2N1cmVkQ29udGVudFJlY3QoKS5oZWlnaHQoKSwgc2VsZi5ib3VuZHMuc2l6ZS5oZWlnaHQp
KSB0b1ZpZXc6c2VsZi53ZWJWaWV3XTsKICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbklzSG9yaXpv
bnRhbCA/IHBhZ2VTaXplLndpZHRoIDogcGFnZVNpemUuaGVpZ2h0OwogICAgIH0KLSAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeUxpbmU6CisgICAgY2FzZSBXZWJD
b3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGluZToKICAgICAgICAgcmV0dXJuIFtzZWxmIGNvbnZl
cnRTaXplOkNHU2l6ZU1ha2UoMCwgV2ViQ29yZTo6U2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3Rl
cCgpKSB0b1ZpZXc6c2VsZi53ZWJWaWV3XS5oZWlnaHQ7Ci0gICAgY2FzZSBXZWJDb3JlOjpTY3Jv
bGxHcmFudWxhcml0eTo6U2Nyb2xsQnlQaXhlbDoKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpQaXhlbDoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
S2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KaW5kZXggYzMxMjM4MzRlN2ZhOTNjMjk3
ZDc5N2JlNmE5ZDdkZWM1YjM5Zjc3OC4uNmIzZWRjNzZiMzk2MDRlNTU1NzU1MDMwYWY1MjFkYmQ5
NmU0MDdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9h
cmRTY3JvbGxpbmdBbmltYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLm1tCkBAIC0yMTksMjIgKzIxOSwyMiBAQCBzdGF0
aWMgV2ViQ29yZTo6Qm94U2lkZSBib3hTaWRlKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbiBkaXJl
Y3Rpb24pCiAgICAgICAgIGNhc2UgS2V5OjpMZWZ0QXJyb3c6CiAgICAgICAgIGNhc2UgS2V5OjpS
aWdodEFycm93OgogICAgICAgICAgICAgaWYgKGFsdFByZXNzZWQpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7Ci0gICAgICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5TGluZTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U7Cisg
ICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAg
ICAgIGNhc2UgS2V5OjpVcEFycm93OgogICAgICAgICBjYXNlIEtleTo6RG93bkFycm93OgogICAg
ICAgICAgICAgaWYgKGFsdFByZXNzZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U7CisgICAgICAgICAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpQYWdlOwogICAgICAgICAgICAgaWYgKGNtZFBy
ZXNzZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5
OjpTY3JvbGxCeURvY3VtZW50OwotICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbEdy
YW51bGFyaXR5OjpTY3JvbGxCeUxpbmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgY2FzZSBLZXk6OlBhZ2VVcDoKICAg
ICAgICAgY2FzZSBLZXk6OlBhZ2VEb3duOgogICAgICAgICBjYXNlIEtleTo6U3BhY2U6Ci0gICAg
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGFnZTsK
KyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZTsKICAg
ICAgICAgY2FzZSBLZXk6Ok90aGVyOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5
TGluZTsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6TGlu
ZTsKICAgICAgICAgfTsKICAgICB9KCk7CiAKQEAgLTI5Myw3ICsyOTMsNyBAQCBzdGF0aWMgV2Vi
Q29yZTo6Qm94U2lkZSBib3hTaWRlKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24p
CiAgICAgX3Njcm9sbFRyaWdnZXJpbmdLZXlJc1ByZXNzZWQgPSBZRVM7CiAgICAgX2N1cnJlbnRT
Y3JvbGwgPSBzY3JvbGw7CiAKLSAgICBpZiAoc2Nyb2xsLT5ncmFudWxhcml0eSA9PSBXZWJDb3Jl
OjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudCkgeworICAgIGlmIChzY3JvbGwt
PmdyYW51bGFyaXR5ID09IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCkgewog
ICAgICAgICBfdmVsb2NpdHkgPSB7IH07CiAgICAgICAgIFtzZWxmIHN0b3BBbmltYXRlZFNjcm9s
bF07CiAgICAgICAgIFtzZWxmIHN0b3BEaXNwbGF5TGlua107CkBAIC01NDUsMTMgKzU0NSwxMyBA
QCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBmYXJ0aGVzdFBvaW50SW5EaXJlY3Rpb24oV2Vi
Q29yZTo6RmxvYXRQb2ludCBhLCBXZWJDbwogCiAgICAgaWYgKCFfZGVsZWdhdGVSZXNwb25kc1Rv
RGlzdGFuY2VGb3JJbmNyZW1lbnQpIHsKICAgICAgICAgc3dpdGNoIChpbmNyZW1lbnQpIHsKLSAg
ICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlEb2N1bWVudDoK
KyAgICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ6CiAgICAg
ICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gc2Nyb2xsVmlldy5jb250ZW50
U2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0OwotICAgICAgICBjYXNl
IFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpTY3JvbGxCeVBhZ2U6CisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2U6CiAgICAgICAgICAgICByZXR1cm4gKGRp
cmVjdGlvbklzSG9yaXpvbnRhbCA/IHNjcm9sbFZpZXcuZnJhbWUuc2l6ZS53aWR0aCA6IHNjcm9s
bFZpZXcuZnJhbWUuc2l6ZS5oZWlnaHQpICogZGVmYXVsdFBhZ2VTY3JvbGxGcmFjdGlvbjsKLSAg
ICAgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6U2Nyb2xsQnlMaW5lOgorICAg
ICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOgogICAgICAgICAgICAg
cmV0dXJuIGRlZmF1bHRMaW5lU2Nyb2xsSGVpZ2h0ICogc2Nyb2xsVmlldy56b29tU2NhbGU7Ci0g
ICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlNjcm9sbEJ5UGl4ZWw6Cisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OlBpeGVsOgogICAgICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlX
aW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2lu
LmNwcAppbmRleCA4OGVlNTdiZWIwMjI0MDA3MWZjNmJkMGY2ZmMyODg0MTZkM2Q0ZmE1Li45YzQ1
YzQzYmIzMzUzODkyYjQ5ODU1NzQ4OTRjNjhlOTQ3ODU0MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKQEAgLTc2Myw3
ICs3NjMsNyBAQCBMUkVTVUxUIFdlYlBvcHVwTWVudVByb3h5V2luOjpvbk1vdXNlV2hlZWwoSFdO
RCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYQogICAgICAgICAgICAgLS1pOwogICAg
IH0KIAotICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoaSA+IDAgPyBTY3JvbGxVcCA6IFNjcm9s
bERvd24sIFNjcm9sbEJ5TGluZSwgYWJzKGkpKTsKKyAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xs
KGkgPiAwID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSwg
YWJzKGkpKTsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dl
YlZpZXcuY3BwCmluZGV4IDBjN2Y0MGNiNDlmZjEwNzFjMThhMzgwZDYzNDY4ZTZjODhmZDU0OTgu
LjgyMTYzYTBiM2YwMjkyYjRmM2JmZDI1MDM3OTJhNzliODJiZTBkNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKQEAgLTQwMSwxOSArNDAxLDE5IEBAIExSRVNVTFQg
V2ViVmlldzo6b25Ib3Jpem9udGFsU2Nyb2xsKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFS
QU0gd1BhcmFtLCBMUEFSCiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAg
c3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNhc2UgU0JfTElORUxFRlQ6Ci0gICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkg
PSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6
OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFJpZ2h0OwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFNCX1BBR0VMRUZUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9j
dW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50
OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxMZWZ0OwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNCX1BBR0VSSUdIVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50
OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CkBAIC00MzMsMTkgKzQzMywxOSBAQCBMUkVTVUxUIFdlYlZpZXc6Om9uVmVydGljYWxTY3Jv
bGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTQogICAgIFNj
cm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5OwogICAgIHN3aXRjaCAoTE9XT1JEKHdQYXJhbSkp
IHsKICAgICBjYXNlIFNCX0xJTkVET1dOOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5
TGluZTsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAg
ICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBT
Ql9MSU5FVVA6Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24g
PSBTY3JvbGxVcDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFRE9XTjoKLSAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9
IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xs
RG93bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTQl9QQUdFVVA6Ci0gICAgICAgIGdyYW51
bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxH
cmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCBkNTQwOWJlZGNlNTYxN2E0YTA3ZjcyMTJhODdmZmQ2MmQ2
ZjAwMGY3Li5lNDZjNTRkMDcyMTczY2IyMTkwZWI4OWNkYTE1NjgwN2I4M2M3ZmYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzMwNyw3ICsz
MzA3LDcgQEAgYm9vbCBXZWJQYWdlOjpsb2dpY2FsU2Nyb2xsKFBhZ2UqIHBhZ2UsIFNjcm9sbExv
Z2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGwKICAgICByZXR1cm4gcGFnZS0+dXNlcklu
cHV0QnJpZGdlKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbiwgZ3JhbnVsYXJp
dHkpOwogfQogCi1ib29sIFdlYlBhZ2U6OnNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlv
biwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJpdHkpCitib29sIFdlYlBhZ2U6OnNjcm9sbEJ5KHVp
bnQzMl90IHNjcm9sbERpcmVjdGlvbiwgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJpdHkgc2Nyb2xs
R3JhbnVsYXJpdHkpCiB7CiAgICAgcmV0dXJuIHNjcm9sbChtX3BhZ2UuZ2V0KCksIHN0YXRpY19j
YXN0PFNjcm9sbERpcmVjdGlvbj4oc2Nyb2xsRGlyZWN0aW9uKSwgc3RhdGljX2Nhc3Q8U2Nyb2xs
R3JhbnVsYXJpdHk+KHNjcm9sbEdyYW51bGFyaXR5KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNGRkNTg3Y2JiZTMxYWUxMGMyMDk5NGI2ZTUx
MjIzOWNhNDc5ZDE0Mi4uZWVhYTYwMWQ3NmE3N2MyZjNkM2Y0NjZmMzY5YmU5OWExZjczNWMwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzg3LDcg
KzM4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lSWZOb3RBdE1heFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCk7CiAKLSAg
ICBib29sIHNjcm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgdWludDMyX3Qgc2Nyb2xs
R3JhbnVsYXJpdHkpOworICAgIGJvb2wgc2Nyb2xsQnkodWludDMyX3Qgc2Nyb2xsRGlyZWN0aW9u
LCBXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eSk7CiAKICAgICB2b2lkIGNlbnRlclNlbGVjdGlv
bkluVmlzaWJsZUFyZWEoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMTg1YmU1NDdjM2FjMWE4ZTlmMzIyYTk5
NzlmNjgyMTc3ZmVhNzdlNC4uNDE2YjI2MzliOTViOWM0MjBjNGU4Njg1NTFmM2FlOWI5Y2M4NDcw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCkBAIC0xNjgsNyArMTY4LDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUK
ICAgICBEaWRFbmREYXRlVGltZVBpY2tlcigpOwogI2VuZGlmCiAKLSAgICBTY3JvbGxCeSh1aW50
MzJfdCBzY3JvbGxEaXJlY3Rpb24sIHVpbnQzMl90IHNjcm9sbEdyYW51bGFyaXR5KQorICAgIFNj
cm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgZW51bTp1aW50OF90IFdlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5IHNjcm9sbEdyYW51bGFyaXR5KQogICAgIENlbnRlclNlbGVjdGlvbklu
VmlzaWJsZUFyZWEoKQogCiAgICAgR29Ub0JhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBuYXZpZ2F0
aW9uSUQsIHN0cnVjdCBXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyIGJhY2tGb3J3
YXJkSXRlbUlELCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6RnJhbWVMb2FkVHlwZSBiYWNrRm9yd2Fy
ZFR5cGUsIGVudW06dWludDhfdCBXZWJDb3JlOjpTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQg
c2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0
ZVBvbGljaWVzRGF0YT4gd2Vic2l0ZVBvbGljaWVzLCBib29sIGxhc3ROYXZpZ2F0aW9uV2FzQXBw
SW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3Rr
L1dlYlBhZ2VHdGsuY3BwCmluZGV4IGUzNTA2NmYzNTM4NWNkYWZiYzg2ZWM3MDQzZDEzZDc2Zjc5
NjRhMDguLjA1MzM1YmUyNDY0M2Q2ZTM2MWNkOGJjMDI2ZjIwNGE3YjRmNjRmZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAK
QEAgLTEwNCwzMSArMTA0LDMxIEBAIGJvb2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlv
ckZvcktleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGtleWJvYXJkCiAKICAgICBzd2l0
Y2ggKGtleWJvYXJkRXZlbnQud2luZG93c1ZpcnR1YWxLZXlDb2RlKCkpIHsKICAgICBjYXNlIFZL
X1NQQUNFOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBrZXlib2FyZEV2ZW50LnNoaWZ0
S2V5KCkgPyBTY3JvbGxVcCA6IFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNj
cm9sbChtX3BhZ2UuZ2V0KCksIGtleWJvYXJkRXZlbnQuc2hpZnRLZXkoKSA/IFNjcm9sbFVwIDog
U2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFZLX0xFRlQ6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQs
IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19S
SUdIVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5
TGluZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxH
cmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfVVA6Ci0gICAg
ICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUpOworICAgICAg
ICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX0RPV046Ci0gICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBWS19IT01FOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFZLX0VORDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93
biwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9s
bERvd24sIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgVktfUFJJT1I6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBT
Y3JvbGxCeVBhZ2UpOworICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Ny
b2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZLX05FWFQ6
Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5UGFnZSk7
CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEdyYW51bGFy
aXR5OjpQYWdlKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2Vi
UGFnZU1hYy5tbQppbmRleCAxZTIzYWZmZWRlY2FmZGJjZGEzMTAzOGM5MWJmODA4ZGFhODgzZWMx
Li5jMGE5OGFjNzhmODJlOWY0MzkyZTQxYmNhMzU5NTBmYzA4ZDllNmNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtNDY3
LDI3ICs0NjcsMjcgQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtTm9uRWRpdGluZ0JlaGF2aW9yRm9y
U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgS2V5Ym8KICAgICAKICAgICBpZiAoIWZy
YW1lLT5zZXR0aW5ncygpLmV2ZW50SGFuZGxlckRyaXZlblNtb290aEtleWJvYXJkU2Nyb2xsaW5n
RW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChzZWxlY3RvciA9PSAibW92ZVVwOiIpCi0gICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNj
cm9sbEJ5TGluZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgZWxz
ZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoOiIpCi0gICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNj
cm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFn
ZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxz
ZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQ6IikgewotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBT
Y3JvbGxCeURvY3VtZW50KTsKLSAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0gc2Nyb2xs
KG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlEb2N1bWVudCk7CisgICAgICAgICAg
ICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9s
bEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9
IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVEb3duOiIpCi0gICAg
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93
biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAg
ICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9FbmRPZlBhcmFncmFwaDoiKQotICAgICAg
ICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24s
IFNjcm9sbEJ5UGFnZSk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OlBhZ2UpOwogICAgICAg
ICBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvRW5kT2ZEb2N1bWVudDoiKSB7Ci0gICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwg
U2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICAg
ICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNj
cm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CisgICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9u
IHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpE
b2N1bWVudCk7CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVMZWZ0OiIpCi0g
ICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xs
TGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3Jv
bGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAg
ICAgICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29yZExlZnQ6IikKLSAgICAgICAgICAg
IGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3Jv
bGxCeVBhZ2UpOworICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2Uu
Z2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICAgICAgZWxz
ZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVSaWdodDoiKQotICAgICAgICAgICAgZGlkUGVyZm9ybUFj
dGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOwor
ICAgICAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9s
bFJpZ2h0LCBTY3JvbGxHcmFudWxhcml0eTo6TGluZSk7CiAgICAgICAgIGVsc2UgaWYgKHNlbGVj
dG9yID09ICJtb3ZlV29yZFJpZ2h0OiIpCi0gICAgICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0g
c2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5UGFnZSk7CisgICAgICAg
ICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQs
IFNjcm9sbEdyYW51bGFyaXR5OjpQYWdlKTsKICAgICB9CiAKICAgICBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVUb0xlZnRFbmRPZkxpbmU6IikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAppbmRleCAwY2Y0NzA3ZDQ0ZmIyMGEyY2IxMjVh
YWY5NDY1ZDEyODJiZjg0NjUxLi5hZmFkNGY5YjEzYWIxNmIwOTI1MjVhODRiYWFlZDM0OTMzYzhl
NTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2Vi
UGFnZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dl
YlBhZ2VXaW4uY3BwCkBAIC03NSwyOCArNzUsMjggQEAgYm9vbCBXZWJQYWdlOjpwZXJmb3JtRGVm
YXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYga2V5Ym9hcmQK
IAogICAgIHN3aXRjaCAoa2V5Ym9hcmRFdmVudC53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewog
ICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVm
dCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVm
dCwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZL
X1JJR0hUOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxSaWdodCwgU2Nyb2xs
QnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsUmlnaHQsIFNjcm9s
bEdyYW51bGFyaXR5OjpMaW5lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWS19VUDoKLSAg
ICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5TGluZSk7CisgICAg
ICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxHcmFudWxhcml0eTo6TGlu
ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgc2Nyb2xsKG1f
cGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmUpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFZLX0hPTUU6Ci0gICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCks
IFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsVXAsIFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgVktfRU5EOgotICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxE
b3duLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Ny
b2xsRG93biwgU2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBWS19QUklPUjoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEJ5UGFnZSk7CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBT
Y3JvbGxHcmFudWxhcml0eTo6UGFnZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVktfTkVY
VDoKLSAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlQYWdl
KTsKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsR3JhbnVs
YXJpdHk6OlBhZ2UpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkZyYW1lVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVW
aWV3Lm1tCmluZGV4IGQ1ZWRhZTRlYzY1MWM2ZWViMzNmMmY0NGRlY2UzZDE5ZjczMzU4MzUuLjcz
ZWY4NmNiZWRjNjZjYjU1MjhiYTU2OTdhZWYzNTY0NWJkNGQ0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCkBAIC02MzMsNyArNjMzLDcg
QEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9sbFRvQmVnaW5uaW5nT2ZEb2N1bWVudAogewotICAg
IGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxVcCBn
cmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeURvY3VtZW50XSkKKyAgICBpZiAoW3NlbGYgX3Nj
cm9sbE92ZXJmbG93SW5EaXJlY3Rpb246V2ViQ29yZTo6U2Nyb2xsVXAgZ3JhbnVsYXJpdHk6V2Vi
Q29yZTo6U2Nyb2xsR3JhbnVsYXJpdHk6OkRvY3VtZW50XSkKICAgICAgICAgcmV0dXJuIFlFUzsK
ICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQogICAgICAgICByZXR1cm4gTk87CkBAIC02
NDUsNyArNjQ1LDcgQEAgZW51bSB7CiAKIC0gKEJPT0wpX3Njcm9sbFRvRW5kT2ZEb2N1bWVudAog
ewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3Jv
bGxEb3duIGdyYW51bGFyaXR5OldlYkNvcmU6OlNjcm9sbEJ5RG9jdW1lbnRdKQorICAgIGlmIChb
c2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpXZWJDb3JlOjpTY3JvbGxEb3duIGdyYW51
bGFyaXR5OldlYkNvcmU6OlNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudF0pCiAgICAgICAgIHJl
dHVybiBZRVM7CiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKICAgICAgICAgcmV0dXJu
IE5POwpAQCAtNzQyLDcgKzc0Miw3IEBAIGVudW0gewogCiAtIChCT09MKV9wYWdlVmVydGljYWxs
eTooQk9PTCl1cAogewotICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1
cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpX
ZWJDb3JlOjpTY3JvbGxCeVBhZ2VdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRp
cmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFu
dWxhcml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVy
biBZRVM7CiAgICAgCiAgICAgaWYgKCFbc2VsZiBfaXNTY3JvbGxhYmxlXSkKQEAgLTc1NCw3ICs3
NTQsNyBAQCBlbnVtIHsKIAogLSAoQk9PTClfcGFnZUhvcml6b250YWxseTooQk9PTClsZWZ0CiB7
Ci0gICAgaWYgKFtzZWxmIF9zY3JvbGxPdmVyZmxvd0luRGlyZWN0aW9uOmxlZnQgPyBXZWJDb3Jl
OjpTY3JvbGxMZWZ0IDogV2ViQ29yZTo6U2Nyb2xsUmlnaHQgZ3JhbnVsYXJpdHk6V2ViQ29yZTo6
U2Nyb2xsQnlQYWdlXSkKKyAgICBpZiAoW3NlbGYgX3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246
bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBXZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxh
cml0eTpXZWJDb3JlOjpTY3JvbGxHcmFudWxhcml0eTo6UGFnZV0pCiAgICAgICAgIHJldHVybiBZ
RVM7CiAKICAgICBpZiAoIVtzZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzc2LDcgKzc3Niw3IEBA
IGVudW0gewogCiAtIChCT09MKV9zY3JvbGxMaW5lVmVydGljYWxseTooQk9PTCl1cAogewotICAg
IGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNvcmU6OlNjcm9s
bFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxp
bmVdKQorICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjp1cCA/IFdlYkNv
cmU6OlNjcm9sbFVwIDogV2ViQ29yZTo6U2Nyb2xsRG93biBncmFudWxhcml0eTpXZWJDb3JlOjpT
Y3JvbGxHcmFudWxhcml0eTo6TGluZV0pCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAo
IVtzZWxmIF9pc1Njcm9sbGFibGVdKQpAQCAtNzg4LDcgKzc4OCw3IEBAIGVudW0gewogCiAtIChC
T09MKV9zY3JvbGxMaW5lSG9yaXpvbnRhbGx5OihCT09MKWxlZnQKIHsKLSAgICBpZiAoW3NlbGYg
X3Njcm9sbE92ZXJmbG93SW5EaXJlY3Rpb246bGVmdCA/IFdlYkNvcmU6OlNjcm9sbExlZnQgOiBX
ZWJDb3JlOjpTY3JvbGxSaWdodCBncmFudWxhcml0eTpXZWJDb3JlOjpTY3JvbGxCeUxpbmVdKQor
ICAgIGlmIChbc2VsZiBfc2Nyb2xsT3ZlcmZsb3dJbkRpcmVjdGlvbjpsZWZ0ID8gV2ViQ29yZTo6
U2Nyb2xsTGVmdCA6IFdlYkNvcmU6OlNjcm9sbFJpZ2h0IGdyYW51bGFyaXR5OldlYkNvcmU6OlNj
cm9sbEdyYW51bGFyaXR5OjpMaW5lXSkKICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgIGlmICgh
W3NlbGYgX2lzU2Nyb2xsYWJsZV0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4
IDY1Njk5NzgxMjg1MDBmN2IwYTNhYjBlMTYzMzBmMDU1NzliMzljZmYuLmFiM2QwYWIwNjI4NmY1
NDc2NWQ4ODAxMzgxNTM5NDI5OWIyODFjY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCkBAIC0yMDg0LDE5ICsyMDg0LDE5IEBAIGJvb2wgV2ViVmlldzo6dmVydGljYWxTY3JvbGwo
V1BBUkFNIHdQYXJhbSwgTFBBUkFNIC8qbFBhcmFtKi8pCiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkg
Z3JhbnVsYXJpdHk7CiAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgewogICAgIGNhc2UgU0Jf
TElORURPV046Ci0gICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlMaW5lOworICAgICAgICBn
cmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICBkaXJlY3Rpb24g
PSBTY3JvbGxEb3duOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNCX0xJTkVVUDoKLSAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Ny
b2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNCX1BBR0VET1dOOgotICAgICAgICBncmFudWxhcml0eSA9
IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJp
dHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFNCX1BBR0VVUDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxC
eURvY3VtZW50OworICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1
bWVudDsKICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CkBAIC0yMTE0LDE5ICsyMTE0LDE5IEBAIGJvb2wgV2ViVmlldzo6aG9yaXpvbnRh
bFNjcm9sbChXUEFSQU0gd1BhcmFtLCBMUEFSQU0gLypsUGFyYW0qLykKICAgICBTY3JvbGxHcmFu
dWxhcml0eSBncmFudWxhcml0eTsKICAgICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKSB7CiAgICAg
Y2FzZSBTQl9MSU5FTEVGVDoKLSAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7Cisg
ICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgIGRp
cmVjdGlvbiA9IFNjcm9sbExlZnQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfTElORVJJ
R0hUOgotICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgZ3JhbnVs
YXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6TGluZTsKICAgICAgICAgZGlyZWN0aW9uID0gU2Ny
b2xsUmlnaHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFHRUxFRlQ6Ci0gICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlEb2N1bWVudDsKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBT
Y3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7CiAgICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbExl
ZnQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0JfUEFHRVJJR0hUOgotICAgICAgICBncmFu
dWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xs
R3JhbnVsYXJpdHk6OkRvY3VtZW50OwogICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxSaWdodDsK
ICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTIzNTksMzUgKzIzNTksMzUgQEAgYm9v
bCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEs
IGJvb2wgc3lzdGVtS2V5RG93bikKICAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSB7
IH07CiAgICAgc3dpdGNoICh2aXJ0dWFsS2V5Q29kZSkgewogICAgICAgICBjYXNlIFZLX0xFRlQ6
Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAgIGdy
YW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJlY3Rp
b24gPSBTY3JvbGxMZWZ0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVktfUklH
SFQ6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKKyAgICAgICAgICAg
IGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OkxpbmU7CiAgICAgICAgICAgICBkaXJl
Y3Rpb24gPSBTY3JvbGxSaWdodDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZL
X1VQOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICAgICAgZGly
ZWN0aW9uID0gU2Nyb2xsVXA7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWS19E
T1dOOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmU7CisgICAgICAgICAg
ICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpMaW5lOwogICAgICAgICAgICAgZGly
ZWN0aW9uID0gU2Nyb2xsRG93bjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZL
X0hPTUU6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5RG9jdW1lbnQ7CisgICAg
ICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEdyYW51bGFyaXR5OjpEb2N1bWVudDsKICAgICAg
ICAgICAgIGRpcmVjdGlvbiA9IFNjcm9sbFVwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgVktfRU5EOgotICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeURvY3VtZW50
OworICAgICAgICAgICAgZ3JhbnVsYXJpdHkgPSBTY3JvbGxHcmFudWxhcml0eTo6RG9jdW1lbnQ7
CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgVktfUFJJT1I6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEJ5UGFnZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2U7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxVcDsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIFZLX05FWFQ6Ci0gICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9s
bEJ5UGFnZTsKKyAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gU2Nyb2xsR3JhbnVsYXJpdHk6OlBh
Z2U7CiAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTY3JvbGxEb3duOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGRlZmF1bHQ6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>