<?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>200729</bug_id>
          
          <creation_ts>2019-08-14 12:18:38 -0700</creation_ts>
          <short_desc>Web Automation: mouse buttons are not correctly printed in SimulatedInputDispatcher log spew</short_desc>
          <delta_ts>2019-08-15 09:03:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebDriver</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="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1561273</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-14 12:18:38 -0700</bug_when>
    <thetext>Oops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561278</commentid>
    <comment_count>1</comment_count>
      <attachid>376290</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-14 12:27:22 -0700</bug_when>
    <thetext>Created attachment 376290
Patch - for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561279</commentid>
    <comment_count>2</comment_count>
      <attachid>376291</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-14 12:28:41 -0700</bug_when>
    <thetext>Created attachment 376291
Patch - for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561280</commentid>
    <comment_count>3</comment_count>
      <attachid>376291</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-14 12:30:09 -0700</bug_when>
    <thetext>Comment on attachment 376291
Patch - for EWS

This patch changes the same signature as the patch in https://bugs.webkit.org/show_bug.cgi?id=200728, but I don&apos;t want to land these changes together because Reasons. I combined both of them for EWS purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561288</commentid>
    <comment_count>4</comment_count>
      <attachid>376291</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-14 12:45:44 -0700</bug_when>
    <thetext>Comment on attachment 376291
Patch - for EWS

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

r=me, nice fixes

&gt; Source/WebKit/UIProcess/Automation/WebAutomationSession.h:147
&gt; +    void simulateMouseInteraction(WebPageProxy&amp;, MouseInteraction, MouseButton, const WebCore::IntPoint&amp; locationInView, AutomationCompletionHandler&amp;&amp;) final;

Should this also be `locationInViewport` to match?

&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:125
&gt; +static WebMouseEvent::Button automationMouseButtonToPlatformMouseButton(MouseButton button)

Is this function really necessary?  The only place it&apos;s used is inside yet another switch-case, so couldn&apos;t you just have it switch on `MouseButton` there instead?

&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:132
&gt; +    case MouseButton::Left:   return WebMouseEvent::LeftButton;
&gt; +    case MouseButton::Middle: return WebMouseEvent::MiddleButton;
&gt; +    case MouseButton::Right:  return WebMouseEvent::RightButton;
&gt; +    case MouseButton::None:   return WebMouseEvent::NoButton;
&gt; +    default: ASSERT_NOT_REACHED();

Style: this doesn&apos;t look like WebKit style, so please split onto separate lines (like how `protocolMouseButtonToWebMouseEventButton` used to be).

&gt; Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:140
&gt; +    IntPoint locationInView = WebCore::IntPoint(locationInViewport.x(), locationInViewport.y() + page.topContentInset());

NIT: I usually either use `auto` as the type, or don&apos;t do an assignment constructor so that you only have to type the type once.
```
    auto locationInView = IntPoint(locationInViewport.x(), locationInViewport.y() + page.topContentInset());
```
or
```
    IntPoint locationInView(locationInViewport.x(), locationInViewport.y() + page.topContentInset());
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561392</commentid>
    <comment_count>5</comment_count>
      <attachid>376335</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-14 17:01:25 -0700</bug_when>
    <thetext>Created attachment 376335
For EWS (with GTK fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561565</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-08-15 09:02:33 -0700</bug_when>
    <thetext>Committed r248715: &lt;https://trac.webkit.org/changeset/248715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561566</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-15 09:03:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/54348165&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376290</attachid>
            <date>2019-08-14 12:27:22 -0700</date>
            <delta_ts>2019-08-14 17:01:24 -0700</delta_ts>
            <desc>Patch - for review</desc>
            <filename>bug-200729-20190814122721.patch</filename>
            <type>text/plain</type>
            <size>13921</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNmNDVjZjcwYjM3MWQ4NGQ1
NzZhZGM2Njg5ZmQxZTFlN2RiZWM1YTMuLjg5YjUzYTMyY2RlY2U2NjZiZWJkMmJjZWQ3MDJkM2E0
YzY2MmEyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDgtMTQgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IG1vdXNlIGJ1
dHRvbnMgYXJlIG5vdCBjb3JyZWN0bHkgcHJpbnRlZCBpbiBTaW11bGF0ZWRJbnB1dERpc3BhdGNo
ZXIgbG9nIHNwZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMDcyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgd2FzIHByaW50aW5nIG91dCBnaWJiZXJpc2ggYmVjYXVzZSBpdCB3YXMgdHJ5aW5n
IHRvIGRlY29kZSBhIFdlYk1vdXNlRXZlbnQgYnV0dG9uCisgICAgICAgIGFzIGFuIEF1dG9tYXRp
b24gcHJvdG9jb2wgYnV0dG9uLiBUaGUgbG9nZ2luZyB3YXMgbGVzcyB1c2VmdWwgYmVjYXVzZSBv
ZiBpdC4KKworICAgICAgICBUbyBmaXggdGhpcywgcHVzaCB1c2FnZSBvZiBBdXRvbWF0aW9uIHBy
b3RvY29sLWJhc2VkIE1vdXNlQnV0dG9uIHR5cGUgYWxpYXMgYWxsIHRoZSB3YXkKKyAgICAgICAg
dG8gdGhlIHBsYXRmb3JtLXNwZWNpZmljIG1ldGhvZHMuIFRoZSBtb3VzZSBidXR0b25zIGFyZSB0
aGUgc2FtZSBmb3IgV2ViTW91c2VFdmVudDo6QnV0dG9uCisgICAgICAgIGFuZCB0aGUgQXV0b21h
dGlvbiBwcm90b2NvbCB0eXBlLCBleGNlcHQgdGhlIGF1dG9tYXRpb24gdHlwZSBoYXMgYW4gYXV0
by1nZW5lcmF0ZWQgdG9TdHJpbmcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9T
aW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlv
bi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaW11bGF0
ZWRJbnB1dERpc3BhdGNoZXI6OnRyYW5zaXRpb25JbnB1dFNvdXJjZVRvU3RhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXI6OnJ1bik6CisgICAgICAgIEZpeCB0
eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2ltdWxhdGVN
b3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246
OnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb246OnBlcmZvcm1JbnRlcmFjdGlvblNlcXVlbmNlKToKKyAgICAgICAgKFdlYktpdDo6
cHJvdG9jb2xNb3VzZUJ1dHRvblRvV2ViTW91c2VFdmVudEJ1dHRvbik6IERlbGV0ZWQuCisgICAg
ICAgIEZpeCB0eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL21hYy9XZWJB
dXRvbWF0aW9uU2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6YXV0b21hdGlvbk1vdXNl
QnV0dG9uVG9QbGF0Zm9ybU1vdXNlQnV0dG9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAg
TW92ZSB0cmFuc2xhdGlvbiBiZXR3ZWVuIE1vdXNlQnV0dG9uIGFuZCBXZWJNb3VzZUV2ZW50OjpC
dXR0b24gdG8gaGVyZS4KKwogMjAxOS0wOC0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNDUzMjApOiBXZWIgQXV0b21hdGlvbjogUGVyZm9y
bSBBY3Rpb25zIGhhbmdzIHdoZW4gcG9pbnRlcmRvd24gaGFwcGVucyBuZWFyIHRvcCBvZiBwYWdl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRl
ZElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggN2FjYzY4YmFlZmVhYjA3M2JmNjYw
ZjZjMGJjZTVlZmI5N2I1YWU2Mi4uMzQyODFhMzE3ZDdmYTM3MGQ0MTdlZjA0MmZhZTljZWQ1MjVm
M2E0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11
bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtMjk2LDcgKzI5Niw3IEBA
IHZvaWQgU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyOjp0cmFuc2l0aW9uSW5wdXRTb3VyY2VUb1N0
YXRlKFNpbXVsYXRlZElucHV0U291cmNlCiAgICAgICAgICAgICB9IGVsc2UgaWYgKGEubG9jYXRp
b24gIT0gYi5sb2NhdGlvbikgewogICAgICAgICAgICAgICAgIExPRyhBdXRvbWF0aW9uLCAiU2lt
dWxhdGVkSW5wdXREaXNwYXRjaGVyWyVwXTogc2ltdWxhdGluZyBNb3VzZU1vdmUgZnJvbSAoJWQs
ICVkKSB0byAoJWQsICVkKSBmb3IgdHJhbnNpdGlvbiB0byAlZC4lZCIsIHRoaXMsIGEubG9jYXRp
b24udmFsdWUoKS54KCksIGEubG9jYXRpb24udmFsdWUoKS55KCksIGIubG9jYXRpb24udmFsdWUo
KS54KCksIGIubG9jYXRpb24udmFsdWUoKS55KCksIG1fa2V5ZnJhbWVJbmRleCwgbV9pbnB1dFNv
dXJjZVN0YXRlSW5kZXgpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90
IGludGVycG9sYXRlIG1vdXNlbW92ZXMgcGVyIHRoZSAicGVyZm9ybSBhIHBvaW50ZXIgbW92ZSIg
YWxnb3JpdGhtICjCpzE3LjQgRGlzcGF0Y2hpbmcgQWN0aW9ucykuCi0gICAgICAgICAgICAgICAg
bV9jbGllbnQuc2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKG1fcGFnZSwgTW91c2VJbnRlcmFjdGlv
bjo6TW92ZSwgYi5wcmVzc2VkTW91c2VCdXR0b24udmFsdWVPcihNb3VzZUJ1dHRvbjo6Tm9CdXR0
b24pLCBiLmxvY2F0aW9uLnZhbHVlKCksIFdURk1vdmUoZXZlbnREaXNwYXRjaEZpbmlzaGVkKSk7
CisgICAgICAgICAgICAgICAgbV9jbGllbnQuc2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKG1fcGFn
ZSwgTW91c2VJbnRlcmFjdGlvbjo6TW92ZSwgYi5wcmVzc2VkTW91c2VCdXR0b24udmFsdWVPcihN
b3VzZUJ1dHRvbjo6Tm9uZSksIGIubG9jYXRpb24udmFsdWUoKSwgV1RGTW92ZShldmVudERpc3Bh
dGNoRmluaXNoZWQpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGV2ZW50
RGlzcGF0Y2hGaW5pc2hlZChXVEY6Om51bGxvcHQpOwogICAgICAgICB9KTsKQEAgLTQwMSw3ICs0
MDEsNyBAQCB2b2lkIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcjo6cnVuKHVpbnQ2NF90IGZyYW1l
SUQsIFZlY3RvcjxTaW11bGF0ZWRJbnB1dEtleUZyYQogICAgIG1fa2V5ZnJhbWVzLmFwcGVuZChT
aW11bGF0ZWRJbnB1dEtleUZyYW1lOjprZXlGcmFtZUZyb21TdGF0ZU9mSW5wdXRTb3VyY2VzKG1f
aW5wdXRTb3VyY2VzKSk7CiAgICAgbV9rZXlmcmFtZXMuYXBwZW5kVmVjdG9yKFdURk1vdmUoa2V5
RnJhbWVzKSk7CiAKLSAgICBMT0coQXV0b21hdGlvbiwgIlNpbXVsYXRlZElucHV0RGlzcGF0Y2hl
clslcF06IHN0YXJ0aW5nIGlucHV0IHNpbXVsYXRpb24gdXNpbmcgJWQga2V5ZnJhbWVzIiwgdGhp
cywgbV9rZXlmcmFtZUluZGV4KTsKKyAgICBMT0coQXV0b21hdGlvbiwgIlNpbXVsYXRlZElucHV0
RGlzcGF0Y2hlclslcF06IHN0YXJ0aW5nIGlucHV0IHNpbXVsYXRpb24gdXNpbmcgJXp1IGtleWZy
YW1lcyIsIHRoaXMsIG1fa2V5ZnJhbWVzLnNpemUoKSk7CiAKICAgICB0cmFuc2l0aW9uVG9OZXh0
S2V5RnJhbWUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDdmNDE0MWNlMGEz
OWU1NjA3M2M3ZWM4YTk2NTYwY2JjMzQ4YWRmYTYuLmI4OWE5YTI4YzkyYzIxYWExNDNhYzZiYWMy
ZjMyZTA3OWE5MjgyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuaApAQCAtNDAsNiArNDAs
NyBAQAogbmFtZXNwYWNlIEluc3BlY3RvciB7IG5hbWVzcGFjZSBQcm90b2NvbCB7IG5hbWVzcGFj
ZSBBdXRvbWF0aW9uIHsKIGVudW0gY2xhc3MgRXJyb3JNZXNzYWdlOwogZW51bSBjbGFzcyBLZXli
b2FyZEludGVyYWN0aW9uVHlwZTsKK2VudW0gY2xhc3MgTW91c2VCdXR0b247CiBlbnVtIGNsYXNz
IE1vdXNlSW50ZXJhY3Rpb247CiBlbnVtIGNsYXNzIE1vdXNlTW92ZU9yaWdpbjsKIGVudW0gY2xh
c3MgVmlydHVhbEtleTsKQEAgLTU2LDcgKzU3LDcgQEAgdXNpbmcgS2V5Ym9hcmRJbnRlcmFjdGlv
biA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OktleWJvYXJkSW50ZXJhY3Rpb24K
IHVzaW5nIFZpcnR1YWxLZXkgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpWaXJ0
dWFsS2V5OwogdXNpbmcgVmlydHVhbEtleVNldCA9IEhhc2hTZXQ8VmlydHVhbEtleSwgV1RGOjpJ
bnRIYXNoPFZpcnR1YWxLZXk+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFZpcnR1YWxLZXk+
PjsKIHVzaW5nIENoYXJLZXkgPSBjaGFyOyAvLyBGb3IgV2ViRHJpdmVyLCB0aGlzIG9ubHkgbmVl
ZHMgdG8gc3VwcG9ydCBBU0NJSSBjaGFyYWN0ZXJzIG9uIDEwMi1rZXkga2V5Ym9hcmQuCi11c2lu
ZyBNb3VzZUJ1dHRvbiA9IFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbjsKK3VzaW5nIE1vdXNlQnV0dG9u
ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b247CiB1c2luZyBN
b3VzZUludGVyYWN0aW9uID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VJ
bnRlcmFjdGlvbjsKIHVzaW5nIE1vdXNlTW92ZU9yaWdpbiA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkF1dG9tYXRpb246Ok1vdXNlTW92ZU9yaWdpbjsKIApAQCAtMTI0LDcgKzEyNSw3IEBAIHB1Ymxp
YzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQogI2lmIEVOQUJM
RShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2lt
dWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1vdXNlSW50ZXJhY3Rpb24sIFdl
Yk1vdXNlRXZlbnQ6OkJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5W
aWV3LCBBdXRvbWF0aW9uQ29tcGxldGlvbkhhbmRsZXImJikgPSAwOworICAgICAgICB2aXJ0dWFs
IHZvaWQgc2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1vdXNlSW50ZXJh
Y3Rpb24sIE1vdXNlQnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZp
ZXcsIEF1dG9tYXRpb25Db21wbGV0aW9uSGFuZGxlciYmKSA9IDA7CiAjZW5kaWYKICNpZiBFTkFC
TEUoV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykKICAgICAgICAgdmlydHVhbCB2b2lkIHNp
bXVsYXRlVG91Y2hJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBUb3VjaEludGVyYWN0aW9uLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXcsIE9wdGlvbmFsPFNlY29uZHM+
IGR1cmF0aW9uLCBBdXRvbWF0aW9uQ29tcGxldGlvbkhhbmRsZXImJikgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uLmNwcAppbmRleCBlMzM1NDNiN2JkYTFkNTkzZjMwNDUzYWU0ZDY5YmYyNWRlNzQwY2Jl
Li43MGY4NzY2OWRlNTY4ZDJhZTllOWMwNmQ4ZGZiMjdkZWMwOWY0MmQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uLmNwcApAQCAtMTQ3Nyw3ICsxNDc3LDggQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6dmlld3BvcnRJblZpZXdDZW50ZXJQb2ludE9mRWxlbWVudChXZWJQYWdlUHJveHkmIHBhZ2UK
IH0KIAogI2lmIEVOQUJMRShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKQotdm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6c2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYg
cGFnZSwgTW91c2VJbnRlcmFjdGlvbiBpbnRlcmFjdGlvbiwgV2ViTW91c2VFdmVudDo6QnV0dG9u
IG1vdXNlQnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXdwb3J0
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEF1dG9tYXRpb25Db21tYW5kRXJyb3I+
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2lt
dWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwgTW91c2VJbnRlcmFjdGlv
biBpbnRlcmFjdGlvbiwgTW91c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBsb2NhdGlvbkluVmlld3BvcnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8QXV0b21hdGlvbkNvbW1hbmRFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IHBhZ2UuZ2V0V2luZG93RnJhbWVXaXRoQ2FsbGJhY2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgcGFnZSA9IG1ha2VSZWYocGFnZSksIGludGVyYWN0aW9uLCBtb3VzZUJ1dHRvbiwgbG9j
YXRpb25JblZpZXdwb3J0XShXZWJDb3JlOjpGbG9hdFJlY3Qgd2luZG93RnJhbWUpIG11dGFibGUg
ewogICAgICAgICBhdXRvIGNsaXBwZWRYID0gc3RkOjptaW4oc3RkOjptYXgoMC4wZiwgKGZsb2F0
KWxvY2F0aW9uSW5WaWV3cG9ydC54KCkpLCB3aW5kb3dGcmFtZS5zaXplKCkud2lkdGgoKSk7CkBA
IC0xNTc2LDI0ICsxNTc3LDYgQEAgc3RhdGljIFdlYkV2ZW50OjpNb2RpZmllciBwcm90b2NvbE1v
ZGlmaWVyVG9XZWJFdmVudE1vZGlmaWVyKEluc3BlY3Rvcjo6UHJvdG9jb2wKIH0KICNlbmRpZiAv
LyBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKIAotI2lmIEVOQUJMRShXRUJE
UklWRVJfQUNUSU9OU19BUEkpCi1zdGF0aWMgV2ViTW91c2VFdmVudDo6QnV0dG9uIHByb3RvY29s
TW91c2VCdXR0b25Ub1dlYk1vdXNlRXZlbnRCdXR0b24oSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0
b21hdGlvbjo6TW91c2VCdXR0b24gYnV0dG9uKQotewotICAgIHN3aXRjaCAoYnV0dG9uKSB7Ci0g
ICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUJ1dHRvbjo6Tm9u
ZToKLSAgICAgICAgcmV0dXJuIFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOwotICAgIGNhc2UgSW5z
cGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b246OkxlZnQ6Ci0gICAgICAg
IHJldHVybiBXZWJNb3VzZUV2ZW50OjpMZWZ0QnV0dG9uOwotICAgIGNhc2UgSW5zcGVjdG9yOjpQ
cm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b246Ok1pZGRsZToKLSAgICAgICAgcmV0dXJu
IFdlYk1vdXNlRXZlbnQ6Ok1pZGRsZUJ1dHRvbjsKLSAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246Ok1vdXNlQnV0dG9uOjpSaWdodDoKLSAgICAgICAgcmV0dXJuIFdlYk1v
dXNlRXZlbnQ6OlJpZ2h0QnV0dG9uOwotICAgIH0KLQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci19Ci0jZW5kaWYgLy8gRU5BQkxFKFdFQkRSSVZFUl9BQ1RJT05TX0FQSSkKLQog
dm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybU1vdXNlSW50ZXJhY3Rpb24oY29uc3Qg
U3RyaW5nJiBoYW5kbGUsIGNvbnN0IEpTT046Ok9iamVjdCYgcmVxdWVzdGVkUG9zaXRpb25PYmpl
Y3QsIGNvbnN0IFN0cmluZyYgbW91c2VCdXR0b25TdHJpbmcsIGNvbnN0IFN0cmluZyYgbW91c2VJ
bnRlcmFjdGlvblN0cmluZywgY29uc3QgSlNPTjo6QXJyYXkmIGtleU1vZGlmaWVyU3RyaW5ncywg
UmVmPFBlcmZvcm1Nb3VzZUludGVyYWN0aW9uQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAjaWYg
IUVOQUJMRShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKQpAQCAtMTY1NCw3ICsxNjM3LDcg
QEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybU1vdXNlSW50ZXJhY3Rpb24oY29u
c3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEoKICAgICAgICAgICAgIGNhbGxiYWNrSW5NYXAoQVVU
T01BVElPTl9DT01NQU5EX0VSUk9SX1dJVEhfTkFNRShUaW1lb3V0KSk7CiAgICAgICAgIGNhbGxi
YWNrSW5NYXAgPSBXVEZNb3ZlKG1vdXNlRXZlbnRzRmx1c2hlZENhbGxiYWNrKTsKIAotICAgICAg
ICBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihwYWdlLCBwYXJzZWRJbnRlcmFjdGlv
bi52YWx1ZSgpLCBwcm90b2NvbE1vdXNlQnV0dG9uVG9XZWJNb3VzZUV2ZW50QnV0dG9uKHBhcnNl
ZEJ1dHRvbi52YWx1ZSgpKSwgbG9jYXRpb25JblZpZXdwb3J0LCBrZXlNb2RpZmllcnMpOworICAg
ICAgICBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihwYWdlLCBwYXJzZWRJbnRlcmFj
dGlvbi52YWx1ZSgpLCBwYXJzZWRCdXR0b24udmFsdWUoKSwgbG9jYXRpb25JblZpZXdwb3J0LCBr
ZXlNb2RpZmllcnMpOwogCiAgICAgICAgIC8vIElmIHRoZSBldmVudCBsb2NhdGlvbiB3YXMgcHJl
dmlvdXNseSBjbGlwcGVkIGFuZCBkb2VzIG5vdCBoaXQgdGVzdCBhbnl0aGluZyBpbiB0aGUgd2lu
ZG93LCB0aGVuIGl0IHdpbGwgbm90IGJlIHByb2Nlc3NlZC4KICAgICAgICAgLy8gRm9yIGNvbXBh
dGliaWxpdHkgd2l0aCBwcmUtVzNDIGRyaXZlciBpbXBsZW1lbnRhdGlvbnMsIGRvbid0IG1ha2Ug
dGhpcyBhIGhhcmQgZXJyb3I7IGp1c3QgZG8gbm90aGluZyBzaWxlbnRseS4KQEAgLTE4OTUsNyAr
MTg3OCw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZvcm1JbnRlcmFjdGlvblNl
cXVlbmNlKGNvbnN0IFN0cmluZyYgaGFuZGxlLCBjb25zCiAgICAgICAgICAgICBTdHJpbmcgcHJl
c3NlZEJ1dHRvblN0cmluZzsKICAgICAgICAgICAgIGlmIChzdGF0ZU9iamVjdC0+Z2V0U3RyaW5n
KCJwcmVzc2VkQnV0dG9uIl9zLCBwcmVzc2VkQnV0dG9uU3RyaW5nKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8gcHJvdG9jb2xCdXR0b24gPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9u
SGVscGVyczo6cGFyc2VFbnVtVmFsdWVGcm9tU3RyaW5nPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1
dG9tYXRpb246Ok1vdXNlQnV0dG9uPihwcmVzc2VkQnV0dG9uU3RyaW5nKTsKLSAgICAgICAgICAg
ICAgICBzb3VyY2VTdGF0ZS5wcmVzc2VkTW91c2VCdXR0b24gPSBwcm90b2NvbE1vdXNlQnV0dG9u
VG9XZWJNb3VzZUV2ZW50QnV0dG9uKHByb3RvY29sQnV0dG9uLnZhbHVlT3IoSW5zcGVjdG9yOjpQ
cm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b246Ok5vbmUpKTsKKyAgICAgICAgICAgICAg
ICBzb3VyY2VTdGF0ZS5wcmVzc2VkTW91c2VCdXR0b24gPSBwcm90b2NvbEJ1dHRvbi52YWx1ZU9y
KE1vdXNlQnV0dG9uOjpOb25lKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgU3RyaW5n
IG9yaWdpblN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCA2OGEyNzdhYTllOTc2OGM5YTRm
YTIwOTY5NzhkYTljN2EzMjk1MjUxLi41NWUzY2UyYWIxNTRjODA3M2VjODE2ZWFjMjYzZGM1OGM2
MWY4MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dl
YkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgog
CiAgICAgLy8gU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyOjpDbGllbnQgQVBJCiAjaWYgRU5BQkxF
KFdFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpCi0gICAgdm9pZCBzaW11bGF0ZU1vdXNlSW50
ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiwgTW91c2VJbnRlcmFjdGlvbiwgV2ViTW91c2VFdmVudDo6
QnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXcsIEF1dG9tYXRp
b25Db21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKKyAgICB2b2lkIHNpbXVsYXRlTW91c2VJbnRl
cmFjdGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUludGVyYWN0aW9uLCBNb3VzZUJ1dHRvbiwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3LCBBdXRvbWF0aW9uQ29tcGxldGlv
bkhhbmRsZXImJikgZmluYWw7CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCRFJJVkVSX1RPVUNIX0lO
VEVSQUNUSU9OUykKICAgICB2b2lkIHNpbXVsYXRlVG91Y2hJbnRlcmFjdGlvbihXZWJQYWdlUHJv
eHkmLCBUb3VjaEludGVyYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25J
blZpZXcsIE9wdGlvbmFsPFNlY29uZHM+IGR1cmF0aW9uLCBBdXRvbWF0aW9uQ29tcGxldGlvbkhh
bmRsZXImJikgZmluYWw7CkBAIC0yNDQsNyArMjQ0LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFBs
YXRmb3JtLWRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbnMuCiAjaWYgRU5BQkxFKFdFQkRSSVZFUl9N
T1VTRV9JTlRFUkFDVElPTlMpCi0gICAgdm9pZCBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFj
dGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUludGVyYWN0aW9uLCBXZWJNb3VzZUV2ZW50OjpCdXR0
b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlld3BvcnQsIE9wdGlvblNl
dDxXZWJFdmVudDo6TW9kaWZpZXI+KTsKKyAgICB2b2lkIHBsYXRmb3JtU2ltdWxhdGVNb3VzZUlu
dGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1vdXNlSW50ZXJhY3Rpb24sIE1vdXNlQnV0dG9uLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXdwb3J0LCBPcHRpb25TZXQ8V2Vi
RXZlbnQ6Ok1vZGlmaWVyPik7CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCRFJJVkVSX1RPVUNIX0lO
VEVSQUNUSU9OUykKICAgICAvLyBTaW11bGF0ZXMgYSBzaW5nbGUgdG91Y2ggcG9pbnQgYmVpbmcg
cHJlc3NlZCwgbW92ZWQsIGFuZCByZWxlYXNlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25N
YWMubW0KaW5kZXggNDUwMDE0ZGNlN2Q0ZDQ0YWNhYTFiMjBhOWJhYjlhYmU1OTQ3MWYwNC4uZGYy
NmFjZGIxY2EyMTMwYmYwNzA0YjhiMjJjNTFhNjQxMmVjNmEwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25NYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21h
dGlvblNlc3Npb25NYWMubW0KQEAgLTEyMSw5ICsxMjEsMjIgQEAgYm9vbCBXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6d2FzRXZlbnRTeW50aGVzaXplZEZvckF1dG9tYXRpb24oTlNFdmVudCAqZXZlbnQp
CiAjcHJhZ21hIG1hcmsgUGxhdGZvcm0tZGVwZW5kZW50IEltcGxlbWVudGF0aW9ucwogCiAjaWYg
RU5BQkxFKFdFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpCi12b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBh
Z2UsIE1vdXNlSW50ZXJhY3Rpb24gaW50ZXJhY3Rpb24sIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBi
dXR0b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlld3BvcnQsIE9wdGlv
blNldDxXZWJFdmVudDo6TW9kaWZpZXI+IGtleU1vZGlmaWVycykKKworc3RhdGljIFdlYk1vdXNl
RXZlbnQ6OkJ1dHRvbiBhdXRvbWF0aW9uTW91c2VCdXR0b25Ub1BsYXRmb3JtTW91c2VCdXR0b24o
TW91c2VCdXR0b24gYnV0dG9uKQoreworICAgIHN3aXRjaCAoYnV0dG9uKSB7CisgICAgY2FzZSBN
b3VzZUJ1dHRvbjo6TGVmdDogICByZXR1cm4gV2ViTW91c2VFdmVudDo6TGVmdEJ1dHRvbjsKKyAg
ICBjYXNlIE1vdXNlQnV0dG9uOjpNaWRkbGU6IHJldHVybiBXZWJNb3VzZUV2ZW50OjpNaWRkbGVC
dXR0b247CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6UmlnaHQ6ICByZXR1cm4gV2ViTW91c2VFdmVu
dDo6UmlnaHRCdXR0b247CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6Tm9uZTogICByZXR1cm4gV2Vi
TW91c2VFdmVudDo6Tm9CdXR0b247CisgICAgZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgfQorfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRl
TW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIE1vdXNlSW50ZXJhY3Rpb24gaW50
ZXJhY3Rpb24sIE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxv
Y2F0aW9uSW5WaWV3cG9ydCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4ga2V5TW9kaWZp
ZXJzKQogewogICAgIEludFJlY3Qgd2luZG93UmVjdDsKKwogICAgIEludFBvaW50IGxvY2F0aW9u
SW5WaWV3ID0gV2ViQ29yZTo6SW50UG9pbnQobG9jYXRpb25JblZpZXdwb3J0LngoKSwgbG9jYXRp
b25JblZpZXdwb3J0LnkoKSArIHBhZ2UudG9wQ29udGVudEluc2V0KCkpOwogICAgIHBhZ2Uucm9v
dFZpZXdUb1dpbmRvdyhJbnRSZWN0KGxvY2F0aW9uSW5WaWV3LCBJbnRTaXplKCkpLCB3aW5kb3dS
ZWN0KTsKICAgICBJbnRQb2ludCBsb2NhdGlvbkluV2luZG93ID0gd2luZG93UmVjdC5sb2NhdGlv
bigpOwpAQCAtMTQ3LDcgKzE2MCw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRm
b3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwKICAgICBOU0V2
ZW50VHlwZSBkb3duRXZlbnRUeXBlID0gKE5TRXZlbnRUeXBlKTA7CiAgICAgTlNFdmVudFR5cGUg
ZHJhZ0V2ZW50VHlwZSA9IChOU0V2ZW50VHlwZSkwOwogICAgIE5TRXZlbnRUeXBlIHVwRXZlbnRU
eXBlID0gKE5TRXZlbnRUeXBlKTA7Ci0gICAgc3dpdGNoIChidXR0b24pIHsKKyAgICBzd2l0Y2gg
KGF1dG9tYXRpb25Nb3VzZUJ1dHRvblRvUGxhdGZvcm1Nb3VzZUJ1dHRvbihidXR0b24pKSB7CiAg
ICAgY2FzZSBXZWJNb3VzZUV2ZW50OjpOb0J1dHRvbjoKICAgICAgICAgZG93bkV2ZW50VHlwZSA9
IHVwRXZlbnRUeXBlID0gZHJhZ0V2ZW50VHlwZSA9IE5TRXZlbnRUeXBlTW91c2VNb3ZlZDsKICAg
ICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376291</attachid>
            <date>2019-08-14 12:28:41 -0700</date>
            <delta_ts>2019-08-14 17:01:25 -0700</delta_ts>
            <desc>Patch - for EWS</desc>
            <filename>bug-200729-20190814122840.patch</filename>
            <type>text/plain</type>
            <size>15993</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2ZTcxYWVlYjcyODFmNGVk
YTRjMjVlNjE5MDUyZjQxNzQ5ZWFkNjguLjg5YjUzYTMyY2RlY2U2NjZiZWJkMmJjZWQ3MDJkM2E0
YzY2MmEyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTktMDgtMTQgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IG1vdXNlIGJ1
dHRvbnMgYXJlIG5vdCBjb3JyZWN0bHkgcHJpbnRlZCBpbiBTaW11bGF0ZWRJbnB1dERpc3BhdGNo
ZXIgbG9nIHNwZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMDcyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgd2FzIHByaW50aW5nIG91dCBnaWJiZXJpc2ggYmVjYXVzZSBpdCB3YXMgdHJ5aW5n
IHRvIGRlY29kZSBhIFdlYk1vdXNlRXZlbnQgYnV0dG9uCisgICAgICAgIGFzIGFuIEF1dG9tYXRp
b24gcHJvdG9jb2wgYnV0dG9uLiBUaGUgbG9nZ2luZyB3YXMgbGVzcyB1c2VmdWwgYmVjYXVzZSBv
ZiBpdC4KKworICAgICAgICBUbyBmaXggdGhpcywgcHVzaCB1c2FnZSBvZiBBdXRvbWF0aW9uIHBy
b3RvY29sLWJhc2VkIE1vdXNlQnV0dG9uIHR5cGUgYWxpYXMgYWxsIHRoZSB3YXkKKyAgICAgICAg
dG8gdGhlIHBsYXRmb3JtLXNwZWNpZmljIG1ldGhvZHMuIFRoZSBtb3VzZSBidXR0b25zIGFyZSB0
aGUgc2FtZSBmb3IgV2ViTW91c2VFdmVudDo6QnV0dG9uCisgICAgICAgIGFuZCB0aGUgQXV0b21h
dGlvbiBwcm90b2NvbCB0eXBlLCBleGNlcHQgdGhlIGF1dG9tYXRpb24gdHlwZSBoYXMgYW4gYXV0
by1nZW5lcmF0ZWQgdG9TdHJpbmcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9T
aW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlv
bi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaW11bGF0
ZWRJbnB1dERpc3BhdGNoZXI6OnRyYW5zaXRpb25JbnB1dFNvdXJjZVRvU3RhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXI6OnJ1bik6CisgICAgICAgIEZpeCB0
eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2ltdWxhdGVN
b3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246
OnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb246OnBlcmZvcm1JbnRlcmFjdGlvblNlcXVlbmNlKToKKyAgICAgICAgKFdlYktpdDo6
cHJvdG9jb2xNb3VzZUJ1dHRvblRvV2ViTW91c2VFdmVudEJ1dHRvbik6IERlbGV0ZWQuCisgICAg
ICAgIEZpeCB0eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL21hYy9XZWJB
dXRvbWF0aW9uU2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6YXV0b21hdGlvbk1vdXNl
QnV0dG9uVG9QbGF0Zm9ybU1vdXNlQnV0dG9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAg
TW92ZSB0cmFuc2xhdGlvbiBiZXR3ZWVuIE1vdXNlQnV0dG9uIGFuZCBXZWJNb3VzZUV2ZW50OjpC
dXR0b24gdG8gaGVyZS4KKworMjAxOS0wOC0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNDUzMjApOiBXZWIgQXV0b21hdGlvbjogUGVyZm9y
bSBBY3Rpb25zIGhhbmdzIHdoZW4gcG9pbnRlcmRvd24gaGFwcGVucyBuZWFyIHRvcCBvZiBwYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3MjgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0MjYwNTE4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHRoZSBsYXN0IG1ham9yIHJlZmFjdG9yaW5n
IGZvciB0aGlzIGNvZGUsIGl0IHNlZW1zIHRoYXQgdGhlIGFyZ3VtZW50IHRvCisgICAgICAgIHBs
YXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uIHdhcyBub3QgdW5pZmllZCB0byB1c2Ugdmll
d3BvcnQgY29vcmRpbmF0ZXMKKyAgICAgICAgaW4gYWxsIGNvZGUgcGF0aHMuIFRoaXMgcGF0Y2gg
Zml4ZXMgYm90aCBjYWxsZXJzIHRvICpub3QqIGFkZCBpbiB0b3BDb250ZW50SW5zZXQsCisgICAg
ICAgIGFuZCBpbnN0ZWFkIHRoaXMgaXMgYWRkZWQgYmFjayBpbiB3aGVuIGRvaW5nIHBsYXRmb3Jt
LXNwZWNpZmljIGV2ZW50IHNpbXVsYXRpb24uCisKKyAgICAgICAgVGhpcyBoYXMgbm8gZWZmZWN0
IG9uIGlPUyBzaW5jZSBpdCdzIGd1YXJkZWQgYnkgRU5BQkxFKFdFQkRSSVZFUl9NT1VTRV9JTlRF
UkFDVElPTlMpLAorICAgICAgICB3aGljaCBpcyBvbmx5IGJ1aWx0IG9uIG1hY09TLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpwZXJmb3JtTW91c2VJbnRlcmFjdGlv
bik6CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNz
aW9uTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZv
cm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24pOgorCiAyMDE5LTA4LTEzICBTYWlkIEFib3UtSGFs
bGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgc2hvdWxkUmVzcGVjdElt
YWdlT3JpZW50YXRpb24gc2hvdWxkIGJlIGEgdmFsdWUgaW4gSW1hZ2VPcmllbnRhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1
dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11
bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDdhY2M2OGJhZWZlYWIwNzNiZjY2MGY2YzBi
Y2U1ZWZiOTdiNWFlNjIuLjM0MjgxYTMxN2Q3ZmEzNzBkNDE3ZWYwNDJmYWU5Y2VkNTI1ZjNhNDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVk
SW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0
aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTI5Niw3ICsyOTYsNyBAQCB2b2lk
IFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcjo6dHJhbnNpdGlvbklucHV0U291cmNlVG9TdGF0ZShT
aW11bGF0ZWRJbnB1dFNvdXJjZQogICAgICAgICAgICAgfSBlbHNlIGlmIChhLmxvY2F0aW9uICE9
IGIubG9jYXRpb24pIHsKICAgICAgICAgICAgICAgICBMT0coQXV0b21hdGlvbiwgIlNpbXVsYXRl
ZElucHV0RGlzcGF0Y2hlclslcF06IHNpbXVsYXRpbmcgTW91c2VNb3ZlIGZyb20gKCVkLCAlZCkg
dG8gKCVkLCAlZCkgZm9yIHRyYW5zaXRpb24gdG8gJWQuJWQiLCB0aGlzLCBhLmxvY2F0aW9uLnZh
bHVlKCkueCgpLCBhLmxvY2F0aW9uLnZhbHVlKCkueSgpLCBiLmxvY2F0aW9uLnZhbHVlKCkueCgp
LCBiLmxvY2F0aW9uLnZhbHVlKCkueSgpLCBtX2tleWZyYW1lSW5kZXgsIG1faW5wdXRTb3VyY2VT
dGF0ZUluZGV4KTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2VzIG5vdCBpbnRl
cnBvbGF0ZSBtb3VzZW1vdmVzIHBlciB0aGUgInBlcmZvcm0gYSBwb2ludGVyIG1vdmUiIGFsZ29y
aXRobSAowqcxNy40IERpc3BhdGNoaW5nIEFjdGlvbnMpLgotICAgICAgICAgICAgICAgIG1fY2xp
ZW50LnNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihtX3BhZ2UsIE1vdXNlSW50ZXJhY3Rpb246Ok1v
dmUsIGIucHJlc3NlZE1vdXNlQnV0dG9uLnZhbHVlT3IoTW91c2VCdXR0b246Ok5vQnV0dG9uKSwg
Yi5sb2NhdGlvbi52YWx1ZSgpLCBXVEZNb3ZlKGV2ZW50RGlzcGF0Y2hGaW5pc2hlZCkpOworICAg
ICAgICAgICAgICAgIG1fY2xpZW50LnNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihtX3BhZ2UsIE1v
dXNlSW50ZXJhY3Rpb246Ok1vdmUsIGIucHJlc3NlZE1vdXNlQnV0dG9uLnZhbHVlT3IoTW91c2VC
dXR0b246Ok5vbmUpLCBiLmxvY2F0aW9uLnZhbHVlKCksIFdURk1vdmUoZXZlbnREaXNwYXRjaEZp
bmlzaGVkKSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBldmVudERpc3Bh
dGNoRmluaXNoZWQoV1RGOjpudWxsb3B0KTsKICAgICAgICAgfSk7CkBAIC00MDEsNyArNDAxLDcg
QEAgdm9pZCBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXI6OnJ1bih1aW50NjRfdCBmcmFtZUlELCBW
ZWN0b3I8U2ltdWxhdGVkSW5wdXRLZXlGcmEKICAgICBtX2tleWZyYW1lcy5hcHBlbmQoU2ltdWxh
dGVkSW5wdXRLZXlGcmFtZTo6a2V5RnJhbWVGcm9tU3RhdGVPZklucHV0U291cmNlcyhtX2lucHV0
U291cmNlcykpOwogICAgIG1fa2V5ZnJhbWVzLmFwcGVuZFZlY3RvcihXVEZNb3ZlKGtleUZyYW1l
cykpOwogCi0gICAgTE9HKEF1dG9tYXRpb24sICJTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXJbJXBd
OiBzdGFydGluZyBpbnB1dCBzaW11bGF0aW9uIHVzaW5nICVkIGtleWZyYW1lcyIsIHRoaXMsIG1f
a2V5ZnJhbWVJbmRleCk7CisgICAgTE9HKEF1dG9tYXRpb24sICJTaW11bGF0ZWRJbnB1dERpc3Bh
dGNoZXJbJXBdOiBzdGFydGluZyBpbnB1dCBzaW11bGF0aW9uIHVzaW5nICV6dSBrZXlmcmFtZXMi
LCB0aGlzLCBtX2tleWZyYW1lcy5zaXplKCkpOwogCiAgICAgdHJhbnNpdGlvblRvTmV4dEtleUZy
YW1lKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuaAppbmRleCA3ZjQxNDFjZTBhMzllNTYw
NzNjN2VjOGE5NjU2MGNiYzM0OGFkZmE2Li5iODlhOWEyOGM5MmMyMWFhMTQzYWM2YmFjMmYzMmUw
NzlhOTI4MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgeyBuYW1lc3BhY2UgUHJvdG9jb2wgeyBuYW1lc3BhY2UgQXV0
b21hdGlvbiB7CiBlbnVtIGNsYXNzIEVycm9yTWVzc2FnZTsKIGVudW0gY2xhc3MgS2V5Ym9hcmRJ
bnRlcmFjdGlvblR5cGU7CitlbnVtIGNsYXNzIE1vdXNlQnV0dG9uOwogZW51bSBjbGFzcyBNb3Vz
ZUludGVyYWN0aW9uOwogZW51bSBjbGFzcyBNb3VzZU1vdmVPcmlnaW47CiBlbnVtIGNsYXNzIFZp
cnR1YWxLZXk7CkBAIC01Niw3ICs1Nyw3IEBAIHVzaW5nIEtleWJvYXJkSW50ZXJhY3Rpb24gPSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpLZXlib2FyZEludGVyYWN0aW9uCiB1c2lu
ZyBWaXJ0dWFsS2V5ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6VmlydHVhbEtl
eTsKIHVzaW5nIFZpcnR1YWxLZXlTZXQgPSBIYXNoU2V0PFZpcnR1YWxLZXksIFdURjo6SW50SGFz
aDxWaXJ0dWFsS2V5PiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxWaXJ0dWFsS2V5Pj47CiB1
c2luZyBDaGFyS2V5ID0gY2hhcjsgLy8gRm9yIFdlYkRyaXZlciwgdGhpcyBvbmx5IG5lZWRzIHRv
IHN1cHBvcnQgQVNDSUkgY2hhcmFjdGVycyBvbiAxMDIta2V5IGtleWJvYXJkLgotdXNpbmcgTW91
c2VCdXR0b24gPSBXZWJNb3VzZUV2ZW50OjpCdXR0b247Cit1c2luZyBNb3VzZUJ1dHRvbiA9IElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246Ok1vdXNlQnV0dG9uOwogdXNpbmcgTW91c2VJ
bnRlcmFjdGlvbiA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246Ok1vdXNlSW50ZXJh
Y3Rpb247CiB1c2luZyBNb3VzZU1vdmVPcmlnaW4gPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOjpNb3VzZU1vdmVPcmlnaW47CiAKQEAgLTEyNCw3ICsxMjUsNyBAQCBwdWJsaWM6CiAg
ICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSB7IH0KICNpZiBFTkFCTEUoV0VC
RFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKLSAgICAgICAgdmlydHVhbCB2b2lkIHNpbXVsYXRl
TW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUludGVyYWN0aW9uLCBXZWJNb3Vz
ZUV2ZW50OjpCdXR0b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlldywg
QXV0b21hdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lk
IHNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUludGVyYWN0aW9u
LCBNb3VzZUJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3LCBB
dXRvbWF0aW9uQ29tcGxldGlvbkhhbmRsZXImJikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxFKFdF
QkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzaW11bGF0
ZVRvdWNoSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiwgVG91Y2hJbnRlcmFjdGlvbiwgY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3LCBPcHRpb25hbDxTZWNvbmRzPiBkdXJh
dGlvbiwgQXV0b21hdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAKaW5kZXggY2NlNWM0ODE3YTgwNDkxN2NkYzE5OWMxYjAxNjBlMjU2ZTliZTI5Ny4uNzBm
ODc2NjlkZTU2OGQyYWU5ZTljMDZkOGRmYjI3ZGVjMDlmNDJkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAKQEAgLTE0NzcsNyArMTQ3Nyw4IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnZp
ZXdwb3J0SW5WaWV3Q2VudGVyUG9pbnRPZkVsZW1lbnQoV2ViUGFnZVByb3h5JiBwYWdlCiB9CiAK
ICNpZiBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKLXZvaWQgV2ViQXV0b21h
dGlvblNlc3Npb246OnNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2Us
IE1vdXNlSW50ZXJhY3Rpb24gaW50ZXJhY3Rpb24sIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBtb3Vz
ZUJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3cG9ydCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxBdXRvbWF0aW9uQ29tbWFuZEVycm9yPik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCisKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnNpbXVsYXRl
TW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIE1vdXNlSW50ZXJhY3Rpb24gaW50
ZXJhY3Rpb24sIE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgbG9jYXRpb25JblZpZXdwb3J0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEF1
dG9tYXRpb25Db21tYW5kRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBwYWdl
LmdldFdpbmRvd0ZyYW1lV2l0aENhbGxiYWNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciks
IHBhZ2UgPSBtYWtlUmVmKHBhZ2UpLCBpbnRlcmFjdGlvbiwgbW91c2VCdXR0b24sIGxvY2F0aW9u
SW5WaWV3cG9ydF0oV2ViQ29yZTo6RmxvYXRSZWN0IHdpbmRvd0ZyYW1lKSBtdXRhYmxlIHsKICAg
ICAgICAgYXV0byBjbGlwcGVkWCA9IHN0ZDo6bWluKHN0ZDo6bWF4KDAuMGYsIChmbG9hdClsb2Nh
dGlvbkluVmlld3BvcnQueCgpKSwgd2luZG93RnJhbWUuc2l6ZSgpLndpZHRoKCkpOwpAQCAtMTU3
NiwyNCArMTU3Nyw2IEBAIHN0YXRpYyBXZWJFdmVudDo6TW9kaWZpZXIgcHJvdG9jb2xNb2RpZmll
clRvV2ViRXZlbnRNb2RpZmllcihJbnNwZWN0b3I6OlByb3RvY29sCiB9CiAjZW5kaWYgLy8gRU5B
QkxFKFdFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpCiAKLSNpZiBFTkFCTEUoV0VCRFJJVkVS
X0FDVElPTlNfQVBJKQotc3RhdGljIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBwcm90b2NvbE1vdXNl
QnV0dG9uVG9XZWJNb3VzZUV2ZW50QnV0dG9uKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRp
b246Ok1vdXNlQnV0dG9uIGJ1dHRvbikKLXsKLSAgICBzd2l0Y2ggKGJ1dHRvbikgewotICAgIGNh
c2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b246Ok5vbmU6Ci0g
ICAgICAgIHJldHVybiBXZWJNb3VzZUV2ZW50OjpOb0J1dHRvbjsKLSAgICBjYXNlIEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkF1dG9tYXRpb246Ok1vdXNlQnV0dG9uOjpMZWZ0OgotICAgICAgICByZXR1
cm4gV2ViTW91c2VFdmVudDo6TGVmdEJ1dHRvbjsKLSAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkF1dG9tYXRpb246Ok1vdXNlQnV0dG9uOjpNaWRkbGU6Ci0gICAgICAgIHJldHVybiBXZWJN
b3VzZUV2ZW50OjpNaWRkbGVCdXR0b247Ci0gICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpB
dXRvbWF0aW9uOjpNb3VzZUJ1dHRvbjo6UmlnaHQ6Ci0gICAgICAgIHJldHVybiBXZWJNb3VzZUV2
ZW50OjpSaWdodEJ1dHRvbjsKLSAgICB9Ci0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotfQotI2VuZGlmIC8vIEVOQUJMRShXRUJEUklWRVJfQUNUSU9OU19BUEkpCi0KIHZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uKGNvbnN0IFN0cmlu
ZyYgaGFuZGxlLCBjb25zdCBKU09OOjpPYmplY3QmIHJlcXVlc3RlZFBvc2l0aW9uT2JqZWN0LCBj
b25zdCBTdHJpbmcmIG1vdXNlQnV0dG9uU3RyaW5nLCBjb25zdCBTdHJpbmcmIG1vdXNlSW50ZXJh
Y3Rpb25TdHJpbmcsIGNvbnN0IEpTT046OkFycmF5JiBrZXlNb2RpZmllclN0cmluZ3MsIFJlZjxQ
ZXJmb3JtTW91c2VJbnRlcmFjdGlvbkNhbGxiYWNrPiYmIGNhbGxiYWNrKQogewogI2lmICFFTkFC
TEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKQEAgLTE2MjYsOSArMTYwOSw5IEBAIHZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uKGNvbnN0IFN0
cmluZyYgaGFuZGxlLCBjb25zdCBKCiAgICAgcGFnZS0+Z2V0V2luZG93RnJhbWVXaXRoQ2FsbGJh
Y2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKSwgcGFnZSA9IG1ha2VSZWYoKnBhZ2UpLCB4LCB5LCBtb3VzZUludGVyYWN0
aW9uU3RyaW5nLCBtb3VzZUJ1dHRvblN0cmluZywga2V5TW9kaWZpZXJzXShXZWJDb3JlOjpGbG9h
dFJlY3Qgd2luZG93RnJhbWUpIG11dGFibGUgewogCiAgICAgICAgIHggPSBzdGQ6Om1pbihzdGQ6
Om1heCgwLjBmLCB4KSwgd2luZG93RnJhbWUuc2l6ZSgpLndpZHRoKCkpOwotICAgICAgICB5ID0g
c3RkOjptaW4oc3RkOjptYXgoMC4wZiwgeSArIHBhZ2UtPnRvcENvbnRlbnRJbnNldCgpKSwgd2lu
ZG93RnJhbWUuc2l6ZSgpLmhlaWdodCgpKTsKKyAgICAgICAgeSA9IHN0ZDo6bWluKHN0ZDo6bWF4
KDAuMGYsIHkpLCB3aW5kb3dGcmFtZS5zaXplKCkuaGVpZ2h0KCkpOwogCi0gICAgICAgIFdlYkNv
cmU6OkludFBvaW50IHBvc2l0aW9uSW5WaWV3ID0gV2ViQ29yZTo6SW50UG9pbnQoc3RhdGljX2Nh
c3Q8aW50Pih4KSwgc3RhdGljX2Nhc3Q8aW50Pih5KSk7CisgICAgICAgIFdlYkNvcmU6OkludFBv
aW50IGxvY2F0aW9uSW5WaWV3cG9ydCA9IFdlYkNvcmU6OkludFBvaW50KHN0YXRpY19jYXN0PGlu
dD4oeCksIHN0YXRpY19jYXN0PGludD4oeSkpOwogCiAgICAgICAgIGF1dG8gcGFyc2VkSW50ZXJh
Y3Rpb24gPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uSGVscGVyczo6cGFyc2VFbnVt
VmFsdWVGcm9tU3RyaW5nPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246Ok1vdXNlSW50
ZXJhY3Rpb24+KG1vdXNlSW50ZXJhY3Rpb25TdHJpbmcpOwogICAgICAgICBpZiAoIXBhcnNlZElu
dGVyYWN0aW9uKQpAQCAtMTY1NCw3ICsxNjM3LDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6cGVyZm9ybU1vdXNlSW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEoK
ICAgICAgICAgICAgIGNhbGxiYWNrSW5NYXAoQVVUT01BVElPTl9DT01NQU5EX0VSUk9SX1dJVEhf
TkFNRShUaW1lb3V0KSk7CiAgICAgICAgIGNhbGxiYWNrSW5NYXAgPSBXVEZNb3ZlKG1vdXNlRXZl
bnRzRmx1c2hlZENhbGxiYWNrKTsKIAotICAgICAgICBwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRl
cmFjdGlvbihwYWdlLCBwYXJzZWRJbnRlcmFjdGlvbi52YWx1ZSgpLCBwcm90b2NvbE1vdXNlQnV0
dG9uVG9XZWJNb3VzZUV2ZW50QnV0dG9uKHBhcnNlZEJ1dHRvbi52YWx1ZSgpKSwgcG9zaXRpb25J
blZpZXcsIGtleU1vZGlmaWVycyk7CisgICAgICAgIHBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVy
YWN0aW9uKHBhZ2UsIHBhcnNlZEludGVyYWN0aW9uLnZhbHVlKCksIHBhcnNlZEJ1dHRvbi52YWx1
ZSgpLCBsb2NhdGlvbkluVmlld3BvcnQsIGtleU1vZGlmaWVycyk7CiAKICAgICAgICAgLy8gSWYg
dGhlIGV2ZW50IGxvY2F0aW9uIHdhcyBwcmV2aW91c2x5IGNsaXBwZWQgYW5kIGRvZXMgbm90IGhp
dCB0ZXN0IGFueXRoaW5nIGluIHRoZSB3aW5kb3csIHRoZW4gaXQgd2lsbCBub3QgYmUgcHJvY2Vz
c2VkLgogICAgICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1XM0MgZHJpdmVyIGlt
cGxlbWVudGF0aW9ucywgZG9uJ3QgbWFrZSB0aGlzIGEgaGFyZCBlcnJvcjsganVzdCBkbyBub3Ro
aW5nIHNpbGVudGx5LgpAQCAtMTg5NSw3ICsxODc4LDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6cGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2UoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNv
bnMKICAgICAgICAgICAgIFN0cmluZyBwcmVzc2VkQnV0dG9uU3RyaW5nOwogICAgICAgICAgICAg
aWYgKHN0YXRlT2JqZWN0LT5nZXRTdHJpbmcoInByZXNzZWRCdXR0b24iX3MsIHByZXNzZWRCdXR0
b25TdHJpbmcpKSB7CiAgICAgICAgICAgICAgICAgYXV0byBwcm90b2NvbEJ1dHRvbiA9IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxwZXJzOjpwYXJzZUVudW1WYWx1ZUZyb21TdHJp
bmc8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b24+KHByZXNzZWRC
dXR0b25TdHJpbmcpOwotICAgICAgICAgICAgICAgIHNvdXJjZVN0YXRlLnByZXNzZWRNb3VzZUJ1
dHRvbiA9IHByb3RvY29sTW91c2VCdXR0b25Ub1dlYk1vdXNlRXZlbnRCdXR0b24ocHJvdG9jb2xC
dXR0b24udmFsdWVPcihJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUJ1dHRv
bjo6Tm9uZSkpOworICAgICAgICAgICAgICAgIHNvdXJjZVN0YXRlLnByZXNzZWRNb3VzZUJ1dHRv
biA9IHByb3RvY29sQnV0dG9uLnZhbHVlT3IoTW91c2VCdXR0b246Ok5vbmUpOwogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBTdHJpbmcgb3JpZ2luU3RyaW5nOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5o
CmluZGV4IGYzOWMwNjFiNTc4OTJhOTI0OGZkMDlkZmZjZmE3YjhjNTBhMDc1MzcuLjU1ZTNjZTJh
YjE1NGM4MDczZWM4MTZlYWMyNjNkYzU4YzYxZjgxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTaW11bGF0ZWRJbnB1dERpc3BhdGNo
ZXI6OkNsaWVudCBBUEkKICNpZiBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykK
LSAgICB2b2lkIHNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUlu
dGVyYWN0aW9uLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBsb2NhdGlvbkluVmlldywgQXV0b21hdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwor
ICAgIHZvaWQgc2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1vdXNlSW50
ZXJhY3Rpb24sIE1vdXNlQnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25J
blZpZXcsIEF1dG9tYXRpb25Db21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKICNlbmRpZgogI2lm
IEVOQUJMRShXRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKQogICAgIHZvaWQgc2ltdWxhdGVU
b3VjaEludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIFRvdWNoSW50ZXJhY3Rpb24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlldywgT3B0aW9uYWw8U2Vjb25kcz4gZHVyYXRp
b24sIEF1dG9tYXRpb25Db21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKQEAgLTI0NCw3ICsyNDQs
NyBAQCBwcml2YXRlOgogCiAgICAgLy8gUGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9u
cy4KICNpZiBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKLSAgICB2b2lkIHBs
YXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1vdXNlSW50ZXJh
Y3Rpb24sIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxv
Y2F0aW9uSW5WaWV3LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPik7CisgICAgdm9pZCBw
bGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmLCBNb3VzZUludGVy
YWN0aW9uLCBNb3VzZUJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5W
aWV3cG9ydCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4pOwogI2VuZGlmCiAjaWYgRU5B
QkxFKFdFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpCiAgICAgLy8gU2ltdWxhdGVzIGEgc2lu
Z2xlIHRvdWNoIHBvaW50IGJlaW5nIHByZXNzZWQsIG1vdmVkLCBhbmQgcmVsZWFzZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL21hYy9XZWJBdXRvbWF0
aW9uU2Vzc2lvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFj
L1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tCmluZGV4IDgyM2Q0ZmJlZmExODdkZWJlMzAxMTFj
ZDk0NWZjODRmMjY1YTcwZmYuLmRmMjZhY2RiMWNhMjEzMGJmMDcwNGI4YjIyYzUxYTY0MTJlYzZh
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dl
YkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tCkBAIC0xMjEsOSArMTIxLDIz
IEBAIGJvb2wgV2ViQXV0b21hdGlvblNlc3Npb246Ondhc0V2ZW50U3ludGhlc2l6ZWRGb3JBdXRv
bWF0aW9uKE5TRXZlbnQgKmV2ZW50KQogI3ByYWdtYSBtYXJrIFBsYXRmb3JtLWRlcGVuZGVudCBJ
bXBsZW1lbnRhdGlvbnMKIAogI2lmIEVOQUJMRShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05T
KQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJh
Y3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBNb3VzZUludGVyYWN0aW9uIGludGVyYWN0aW9uLCBX
ZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9j
YXRpb25JblZpZXcsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IGtleU1vZGlmaWVycykK
Kworc3RhdGljIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBhdXRvbWF0aW9uTW91c2VCdXR0b25Ub1Bs
YXRmb3JtTW91c2VCdXR0b24oTW91c2VCdXR0b24gYnV0dG9uKQoreworICAgIHN3aXRjaCAoYnV0
dG9uKSB7CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6TGVmdDogICByZXR1cm4gV2ViTW91c2VFdmVu
dDo6TGVmdEJ1dHRvbjsKKyAgICBjYXNlIE1vdXNlQnV0dG9uOjpNaWRkbGU6IHJldHVybiBXZWJN
b3VzZUV2ZW50OjpNaWRkbGVCdXR0b247CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6UmlnaHQ6ICBy
ZXR1cm4gV2ViTW91c2VFdmVudDo6UmlnaHRCdXR0b247CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6
Tm9uZTogICByZXR1cm4gV2ViTW91c2VFdmVudDo6Tm9CdXR0b247CisgICAgZGVmYXVsdDogQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
OjpwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIE1v
dXNlSW50ZXJhY3Rpb24gaW50ZXJhY3Rpb24sIE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3cG9ydCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpN
b2RpZmllcj4ga2V5TW9kaWZpZXJzKQogewogICAgIEludFJlY3Qgd2luZG93UmVjdDsKKworICAg
IEludFBvaW50IGxvY2F0aW9uSW5WaWV3ID0gV2ViQ29yZTo6SW50UG9pbnQobG9jYXRpb25JblZp
ZXdwb3J0LngoKSwgbG9jYXRpb25JblZpZXdwb3J0LnkoKSArIHBhZ2UudG9wQ29udGVudEluc2V0
KCkpOwogICAgIHBhZ2Uucm9vdFZpZXdUb1dpbmRvdyhJbnRSZWN0KGxvY2F0aW9uSW5WaWV3LCBJ
bnRTaXplKCkpLCB3aW5kb3dSZWN0KTsKICAgICBJbnRQb2ludCBsb2NhdGlvbkluV2luZG93ID0g
d2luZG93UmVjdC5sb2NhdGlvbigpOwogCkBAIC0xNDYsNyArMTYwLDcgQEAgdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24oV2ViUGFnZVBy
b3h5JiBwYWdlLAogICAgIE5TRXZlbnRUeXBlIGRvd25FdmVudFR5cGUgPSAoTlNFdmVudFR5cGUp
MDsKICAgICBOU0V2ZW50VHlwZSBkcmFnRXZlbnRUeXBlID0gKE5TRXZlbnRUeXBlKTA7CiAgICAg
TlNFdmVudFR5cGUgdXBFdmVudFR5cGUgPSAoTlNFdmVudFR5cGUpMDsKLSAgICBzd2l0Y2ggKGJ1
dHRvbikgeworICAgIHN3aXRjaCAoYXV0b21hdGlvbk1vdXNlQnV0dG9uVG9QbGF0Zm9ybU1vdXNl
QnV0dG9uKGJ1dHRvbikpIHsKICAgICBjYXNlIFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOgogICAg
ICAgICBkb3duRXZlbnRUeXBlID0gdXBFdmVudFR5cGUgPSBkcmFnRXZlbnRUeXBlID0gTlNFdmVu
dFR5cGVNb3VzZU1vdmVkOwogICAgICAgICBicmVhazsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376335</attachid>
            <date>2019-08-14 17:01:25 -0700</date>
            <delta_ts>2019-08-14 17:01:25 -0700</delta_ts>
            <desc>For EWS (with GTK fix)</desc>
            <filename>bug-200729-20190814170125.patch</filename>
            <type>text/plain</type>
            <size>17838</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM4NmRjNDk5MTdmYjZmM2Q1
ZTZmNDY2MGQwMGNjMDRiYmZkY2I4MTguLjI0ZmUyMmU1NDFlM2Y4MzI1M2JhY2EwY2E1YzIxYzg2
ZGVkNTA5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDgtMTQgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IG1vdXNlIGJ1
dHRvbnMgYXJlIG5vdCBjb3JyZWN0bHkgcHJpbnRlZCBpbiBTaW11bGF0ZWRJbnB1dERpc3BhdGNo
ZXIgbG9nIHNwZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMDcyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgd2FzIHByaW50aW5nIG91dCBnaWJiZXJpc2ggYmVjYXVzZSBpdCB3YXMgdHJ5aW5n
IHRvIGRlY29kZSBhIFdlYk1vdXNlRXZlbnQgYnV0dG9uCisgICAgICAgIGFzIGFuIEF1dG9tYXRp
b24gcHJvdG9jb2wgYnV0dG9uLiBUaGUgbG9nZ2luZyB3YXMgbGVzcyB1c2VmdWwgYmVjYXVzZSBv
ZiBpdC4KKworICAgICAgICBUbyBmaXggdGhpcywgcHVzaCB1c2FnZSBvZiBBdXRvbWF0aW9uIHBy
b3RvY29sLWJhc2VkIE1vdXNlQnV0dG9uIHR5cGUgYWxpYXMgYWxsIHRoZSB3YXkKKyAgICAgICAg
dG8gdGhlIHBsYXRmb3JtLXNwZWNpZmljIG1ldGhvZHMuIFRoZSBtb3VzZSBidXR0b25zIGFyZSB0
aGUgc2FtZSBmb3IgV2ViTW91c2VFdmVudDo6QnV0dG9uCisgICAgICAgIGFuZCB0aGUgQXV0b21h
dGlvbiBwcm90b2NvbCB0eXBlLCBleGNlcHQgdGhlIGF1dG9tYXRpb24gdHlwZSBoYXMgYW4gYXV0
by1nZW5lcmF0ZWQgdG9TdHJpbmcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9T
aW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlv
bi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaW11bGF0
ZWRJbnB1dERpc3BhdGNoZXI6OnRyYW5zaXRpb25JbnB1dFNvdXJjZVRvU3RhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXI6OnJ1bik6CisgICAgICAgIEZpeCB0
eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2ltdWxhdGVN
b3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246
OnBlcmZvcm1Nb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb246OnBlcmZvcm1JbnRlcmFjdGlvblNlcXVlbmNlKToKKyAgICAgICAgKFdlYktpdDo6
cHJvdG9jb2xNb3VzZUJ1dHRvblRvV2ViTW91c2VFdmVudEJ1dHRvbik6IERlbGV0ZWQuCisgICAg
ICAgIEZpeCB0eXBlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL21hYy9XZWJB
dXRvbWF0aW9uU2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6YXV0b21hdGlvbk1vdXNl
QnV0dG9uVG9QbGF0Zm9ybU1vdXNlQnV0dG9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21h
dGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXV0b21hdGlvbi9ndGsvV2ViQXV0b21hdGlvblNlc3Npb25HdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0Ojptb3VzZUJ1dHRvblRvR2RrQnV0dG9uKToKKyAgICAgICAgKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi93cGUvV2ViQXV0b21hdGlvblNlc3Np
b25XUEUuY3BwOgorICAgICAgICAoV2ViS2l0Ojptb3VzZUJ1dHRvblRvV1BFQnV0dG9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3Vz
ZUludGVyYWN0aW9uKToKKyAgICAgICAgTW92ZSB0cmFuc2xhdGlvbiBiZXR3ZWVuIE1vdXNlQnV0
dG9uIGFuZCBuYXRpdmUgYnV0dG9uIHZhbHVlcyB0byBwbGF0Zm9ybSBtZXRob2RzLgorCiAyMDE5
LTA4LTE0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI0NTMyMCk6IFdlYiBBdXRvbWF0aW9uOiBQZXJmb3JtIEFjdGlvbnMgaGFuZ3Mgd2hlbiBw
b2ludGVyZG93biBoYXBwZW5zIG5lYXIgdG9wIG9mIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRj
aGVyLmNwcAppbmRleCA3YWNjNjhiYWVmZWFiMDczYmY2NjBmNmMwYmNlNWVmYjk3YjVhZTYyLi4z
NDI4MWEzMTdkN2ZhMzcwZDQxN2VmMDQyZmFlOWNlZDUyNWYzYTQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1
dERpc3BhdGNoZXIuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBTaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXI6OnRyYW5zaXRpb25JbnB1dFNvdXJjZVRvU3RhdGUoU2ltdWxhdGVkSW5wdXRTb3Vy
Y2UKICAgICAgICAgICAgIH0gZWxzZSBpZiAoYS5sb2NhdGlvbiAhPSBiLmxvY2F0aW9uKSB7CiAg
ICAgICAgICAgICAgICAgTE9HKEF1dG9tYXRpb24sICJTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXJb
JXBdOiBzaW11bGF0aW5nIE1vdXNlTW92ZSBmcm9tICglZCwgJWQpIHRvICglZCwgJWQpIGZvciB0
cmFuc2l0aW9uIHRvICVkLiVkIiwgdGhpcywgYS5sb2NhdGlvbi52YWx1ZSgpLngoKSwgYS5sb2Nh
dGlvbi52YWx1ZSgpLnkoKSwgYi5sb2NhdGlvbi52YWx1ZSgpLngoKSwgYi5sb2NhdGlvbi52YWx1
ZSgpLnkoKSwgbV9rZXlmcmFtZUluZGV4LCBtX2lucHV0U291cmNlU3RhdGVJbmRleCk7CiAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBub3QgaW50ZXJwb2xhdGUgbW91c2Vtb3Zl
cyBwZXIgdGhlICJwZXJmb3JtIGEgcG9pbnRlciBtb3ZlIiBhbGdvcml0aG0gKMKnMTcuNCBEaXNw
YXRjaGluZyBBY3Rpb25zKS4KLSAgICAgICAgICAgICAgICBtX2NsaWVudC5zaW11bGF0ZU1vdXNl
SW50ZXJhY3Rpb24obV9wYWdlLCBNb3VzZUludGVyYWN0aW9uOjpNb3ZlLCBiLnByZXNzZWRNb3Vz
ZUJ1dHRvbi52YWx1ZU9yKE1vdXNlQnV0dG9uOjpOb0J1dHRvbiksIGIubG9jYXRpb24udmFsdWUo
KSwgV1RGTW92ZShldmVudERpc3BhdGNoRmluaXNoZWQpKTsKKyAgICAgICAgICAgICAgICBtX2Ns
aWVudC5zaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24obV9wYWdlLCBNb3VzZUludGVyYWN0aW9uOjpN
b3ZlLCBiLnByZXNzZWRNb3VzZUJ1dHRvbi52YWx1ZU9yKE1vdXNlQnV0dG9uOjpOb25lKSwgYi5s
b2NhdGlvbi52YWx1ZSgpLCBXVEZNb3ZlKGV2ZW50RGlzcGF0Y2hGaW5pc2hlZCkpOwogICAgICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgZXZlbnREaXNwYXRjaEZpbmlzaGVkKFdURjo6
bnVsbG9wdCk7CiAgICAgICAgIH0pOwpAQCAtNDAxLDcgKzQwMSw3IEBAIHZvaWQgU2ltdWxhdGVk
SW5wdXREaXNwYXRjaGVyOjpydW4odWludDY0X3QgZnJhbWVJRCwgVmVjdG9yPFNpbXVsYXRlZElu
cHV0S2V5RnJhCiAgICAgbV9rZXlmcmFtZXMuYXBwZW5kKFNpbXVsYXRlZElucHV0S2V5RnJhbWU6
OmtleUZyYW1lRnJvbVN0YXRlT2ZJbnB1dFNvdXJjZXMobV9pbnB1dFNvdXJjZXMpKTsKICAgICBt
X2tleWZyYW1lcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShrZXlGcmFtZXMpKTsKIAotICAgIExPRyhB
dXRvbWF0aW9uLCAiU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyWyVwXTogc3RhcnRpbmcgaW5wdXQg
c2ltdWxhdGlvbiB1c2luZyAlZCBrZXlmcmFtZXMiLCB0aGlzLCBtX2tleWZyYW1lSW5kZXgpOwor
ICAgIExPRyhBdXRvbWF0aW9uLCAiU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyWyVwXTogc3RhcnRp
bmcgaW5wdXQgc2ltdWxhdGlvbiB1c2luZyAlenUga2V5ZnJhbWVzIiwgdGhpcywgbV9rZXlmcmFt
ZXMuc2l6ZSgpKTsKIAogICAgIHRyYW5zaXRpb25Ub05leHRLZXlGcmFtZSgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVk
SW5wdXREaXNwYXRjaGVyLmgKaW5kZXggN2Y0MTQxY2UwYTM5ZTU2MDczYzdlYzhhOTY1NjBjYmMz
NDhhZGZhNi4uYjg5YTlhMjhjOTJjMjFhYTE0M2FjNmJhYzJmMzJlMDc5YTkyODI2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVs
YXRlZElucHV0RGlzcGF0Y2hlci5oCkBAIC00MCw2ICs0MCw3IEBACiBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsgbmFtZXNwYWNlIFByb3RvY29sIHsgbmFtZXNwYWNlIEF1dG9tYXRpb24gewogZW51bSBj
bGFzcyBFcnJvck1lc3NhZ2U7CiBlbnVtIGNsYXNzIEtleWJvYXJkSW50ZXJhY3Rpb25UeXBlOwor
ZW51bSBjbGFzcyBNb3VzZUJ1dHRvbjsKIGVudW0gY2xhc3MgTW91c2VJbnRlcmFjdGlvbjsKIGVu
dW0gY2xhc3MgTW91c2VNb3ZlT3JpZ2luOwogZW51bSBjbGFzcyBWaXJ0dWFsS2V5OwpAQCAtNTYs
NyArNTcsNyBAQCB1c2luZyBLZXlib2FyZEludGVyYWN0aW9uID0gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6QXV0b21hdGlvbjo6S2V5Ym9hcmRJbnRlcmFjdGlvbgogdXNpbmcgVmlydHVhbEtleSA9IElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OlZpcnR1YWxLZXk7CiB1c2luZyBWaXJ0dWFs
S2V5U2V0ID0gSGFzaFNldDxWaXJ0dWFsS2V5LCBXVEY6OkludEhhc2g8VmlydHVhbEtleT4sIFdU
Rjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8VmlydHVhbEtleT4+OwogdXNpbmcgQ2hhcktleSA9IGNo
YXI7IC8vIEZvciBXZWJEcml2ZXIsIHRoaXMgb25seSBuZWVkcyB0byBzdXBwb3J0IEFTQ0lJIGNo
YXJhY3RlcnMgb24gMTAyLWtleSBrZXlib2FyZC4KLXVzaW5nIE1vdXNlQnV0dG9uID0gV2ViTW91
c2VFdmVudDo6QnV0dG9uOwordXNpbmcgTW91c2VCdXR0b24gPSBJbnNwZWN0b3I6OlByb3RvY29s
OjpBdXRvbWF0aW9uOjpNb3VzZUJ1dHRvbjsKIHVzaW5nIE1vdXNlSW50ZXJhY3Rpb24gPSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUludGVyYWN0aW9uOwogdXNpbmcgTW91
c2VNb3ZlT3JpZ2luID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VNb3Zl
T3JpZ2luOwogCkBAIC0xMjQsNyArMTI1LDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+Q2xpZW50KCkgeyB9CiAjaWYgRU5BQkxFKFdFQkRSSVZFUl9NT1VTRV9JTlRF
UkFDVElPTlMpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24o
V2ViUGFnZVByb3h5JiwgTW91c2VJbnRlcmFjdGlvbiwgV2ViTW91c2VFdmVudDo6QnV0dG9uLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXcsIEF1dG9tYXRpb25Db21wbGV0
aW9uSGFuZGxlciYmKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzaW11bGF0ZU1vdXNlSW50
ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiwgTW91c2VJbnRlcmFjdGlvbiwgTW91c2VCdXR0b24sIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlldywgQXV0b21hdGlvbkNvbXBsZXRp
b25IYW5kbGVyJiYpID0gMDsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2ltdWxhdGVUb3VjaEludGVyYWN0aW9u
KFdlYlBhZ2VQcm94eSYsIFRvdWNoSW50ZXJhY3Rpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBsb2NhdGlvbkluVmlldywgT3B0aW9uYWw8U2Vjb25kcz4gZHVyYXRpb24sIEF1dG9tYXRpb25D
b21wbGV0aW9uSGFuZGxlciYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IGUzMzU0
M2I3YmRhMWQ1OTNmMzA0NTNhZTRkNjliZjI1ZGU3NDBjYmUuLjcwZjg3NjY5ZGU1NjhkMmFlOWU5
YzA2ZDhkZmIyN2RlYzA5ZjQyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCkBAIC0xNDc3LDcg
KzE0NzcsOCBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjp2aWV3cG9ydEluVmlld0NlbnRl
clBvaW50T2ZFbGVtZW50KFdlYlBhZ2VQcm94eSYgcGFnZQogfQogCiAjaWYgRU5BQkxFKFdFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzaW11
bGF0ZU1vdXNlSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBNb3VzZUludGVyYWN0aW9u
IGludGVyYWN0aW9uLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlld3BvcnQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoT3B0aW9uYWw8QXV0b21hdGlvbkNvbW1hbmRFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24o
V2ViUGFnZVByb3h5JiBwYWdlLCBNb3VzZUludGVyYWN0aW9uIGludGVyYWN0aW9uLCBNb3VzZUJ1
dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3
cG9ydCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxBdXRvbWF0aW9uQ29tbWFuZEVy
cm9yPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgcGFnZS5nZXRXaW5kb3dGcmFtZVdp
dGhDYWxsYmFjayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBwYWdlID0gbWFrZVJlZihw
YWdlKSwgaW50ZXJhY3Rpb24sIG1vdXNlQnV0dG9uLCBsb2NhdGlvbkluVmlld3BvcnRdKFdlYkNv
cmU6OkZsb2F0UmVjdCB3aW5kb3dGcmFtZSkgbXV0YWJsZSB7CiAgICAgICAgIGF1dG8gY2xpcHBl
ZFggPSBzdGQ6Om1pbihzdGQ6Om1heCgwLjBmLCAoZmxvYXQpbG9jYXRpb25JblZpZXdwb3J0Lngo
KSksIHdpbmRvd0ZyYW1lLnNpemUoKS53aWR0aCgpKTsKQEAgLTE1NzYsMjQgKzE1NzcsNiBAQCBz
dGF0aWMgV2ViRXZlbnQ6Ok1vZGlmaWVyIHByb3RvY29sTW9kaWZpZXJUb1dlYkV2ZW50TW9kaWZp
ZXIoSW5zcGVjdG9yOjpQcm90b2NvbAogfQogI2VuZGlmIC8vIEVOQUJMRShXRUJEUklWRVJfTU9V
U0VfSU5URVJBQ1RJT05TKQogCi0jaWYgRU5BQkxFKFdFQkRSSVZFUl9BQ1RJT05TX0FQSSkKLXN0
YXRpYyBXZWJNb3VzZUV2ZW50OjpCdXR0b24gcHJvdG9jb2xNb3VzZUJ1dHRvblRvV2ViTW91c2VF
dmVudEJ1dHRvbihJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpNb3VzZUJ1dHRvbiBi
dXR0b24pCi17Ci0gICAgc3dpdGNoIChidXR0b24pIHsKLSAgICBjYXNlIEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkF1dG9tYXRpb246Ok1vdXNlQnV0dG9uOjpOb25lOgotICAgICAgICByZXR1cm4gV2Vi
TW91c2VFdmVudDo6Tm9CdXR0b247Ci0gICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOjpNb3VzZUJ1dHRvbjo6TGVmdDoKLSAgICAgICAgcmV0dXJuIFdlYk1vdXNlRXZlbnQ6
OkxlZnRCdXR0b247Ci0gICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpN
b3VzZUJ1dHRvbjo6TWlkZGxlOgotICAgICAgICByZXR1cm4gV2ViTW91c2VFdmVudDo6TWlkZGxl
QnV0dG9uOwotICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VC
dXR0b246OlJpZ2h0OgotICAgICAgICByZXR1cm4gV2ViTW91c2VFdmVudDo6UmlnaHRCdXR0b247
Ci0gICAgfQotCi0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLSNlbmRpZiAv
LyBFTkFCTEUoV0VCRFJJVkVSX0FDVElPTlNfQVBJKQotCiB2b2lkIFdlYkF1dG9tYXRpb25TZXNz
aW9uOjpwZXJmb3JtTW91c2VJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3Qg
SlNPTjo6T2JqZWN0JiByZXF1ZXN0ZWRQb3NpdGlvbk9iamVjdCwgY29uc3QgU3RyaW5nJiBtb3Vz
ZUJ1dHRvblN0cmluZywgY29uc3QgU3RyaW5nJiBtb3VzZUludGVyYWN0aW9uU3RyaW5nLCBjb25z
dCBKU09OOjpBcnJheSYga2V5TW9kaWZpZXJTdHJpbmdzLCBSZWY8UGVyZm9ybU1vdXNlSW50ZXJh
Y3Rpb25DYWxsYmFjaz4mJiBjYWxsYmFjaykKIHsKICNpZiAhRU5BQkxFKFdFQkRSSVZFUl9NT1VT
RV9JTlRFUkFDVElPTlMpCkBAIC0xNjU0LDcgKzE2MzcsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uOjpwZXJmb3JtTW91c2VJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29u
c3QgSgogICAgICAgICAgICAgY2FsbGJhY2tJbk1hcChBVVRPTUFUSU9OX0NPTU1BTkRfRVJST1Jf
V0lUSF9OQU1FKFRpbWVvdXQpKTsKICAgICAgICAgY2FsbGJhY2tJbk1hcCA9IFdURk1vdmUobW91
c2VFdmVudHNGbHVzaGVkQ2FsbGJhY2spOwogCi0gICAgICAgIHBsYXRmb3JtU2ltdWxhdGVNb3Vz
ZUludGVyYWN0aW9uKHBhZ2UsIHBhcnNlZEludGVyYWN0aW9uLnZhbHVlKCksIHByb3RvY29sTW91
c2VCdXR0b25Ub1dlYk1vdXNlRXZlbnRCdXR0b24ocGFyc2VkQnV0dG9uLnZhbHVlKCkpLCBsb2Nh
dGlvbkluVmlld3BvcnQsIGtleU1vZGlmaWVycyk7CisgICAgICAgIHBsYXRmb3JtU2ltdWxhdGVN
b3VzZUludGVyYWN0aW9uKHBhZ2UsIHBhcnNlZEludGVyYWN0aW9uLnZhbHVlKCksIHBhcnNlZEJ1
dHRvbi52YWx1ZSgpLCBsb2NhdGlvbkluVmlld3BvcnQsIGtleU1vZGlmaWVycyk7CiAKICAgICAg
ICAgLy8gSWYgdGhlIGV2ZW50IGxvY2F0aW9uIHdhcyBwcmV2aW91c2x5IGNsaXBwZWQgYW5kIGRv
ZXMgbm90IGhpdCB0ZXN0IGFueXRoaW5nIGluIHRoZSB3aW5kb3csIHRoZW4gaXQgd2lsbCBub3Qg
YmUgcHJvY2Vzc2VkLgogICAgICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1XM0Mg
ZHJpdmVyIGltcGxlbWVudGF0aW9ucywgZG9uJ3QgbWFrZSB0aGlzIGEgaGFyZCBlcnJvcjsganVz
dCBkbyBub3RoaW5nIHNpbGVudGx5LgpAQCAtMTg5NSw3ICsxODc4LDcgQEAgdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6cGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2UoY29uc3QgU3RyaW5nJiBo
YW5kbGUsIGNvbnMKICAgICAgICAgICAgIFN0cmluZyBwcmVzc2VkQnV0dG9uU3RyaW5nOwogICAg
ICAgICAgICAgaWYgKHN0YXRlT2JqZWN0LT5nZXRTdHJpbmcoInByZXNzZWRCdXR0b24iX3MsIHBy
ZXNzZWRCdXR0b25TdHJpbmcpKSB7CiAgICAgICAgICAgICAgICAgYXV0byBwcm90b2NvbEJ1dHRv
biA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb25IZWxwZXJzOjpwYXJzZUVudW1WYWx1
ZUZyb21TdHJpbmc8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6TW91c2VCdXR0b24+
KHByZXNzZWRCdXR0b25TdHJpbmcpOwotICAgICAgICAgICAgICAgIHNvdXJjZVN0YXRlLnByZXNz
ZWRNb3VzZUJ1dHRvbiA9IHByb3RvY29sTW91c2VCdXR0b25Ub1dlYk1vdXNlRXZlbnRCdXR0b24o
cHJvdG9jb2xCdXR0b24udmFsdWVPcihJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpN
b3VzZUJ1dHRvbjo6Tm9uZSkpOworICAgICAgICAgICAgICAgIHNvdXJjZVN0YXRlLnByZXNzZWRN
b3VzZUJ1dHRvbiA9IHByb3RvY29sQnV0dG9uLnZhbHVlT3IoTW91c2VCdXR0b246Ok5vbmUpOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBTdHJpbmcgb3JpZ2luU3RyaW5nOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5oCmluZGV4IDY4YTI3N2FhOWU5NzY4YzlhNGZhMjA5Njk3OGRhOWM3YTMyOTUyNTEu
LjU1ZTNjZTJhYjE1NGM4MDczZWM4MTZlYWMyNjNkYzU4YzYxZjgxZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTaW11bGF0ZWRJbnB1
dERpc3BhdGNoZXI6OkNsaWVudCBBUEkKICNpZiBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykKLSAgICB2b2lkIHNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkm
LCBNb3VzZUludGVyYWN0aW9uLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBsb2NhdGlvbkluVmlldywgQXV0b21hdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYp
IGZpbmFsOworICAgIHZvaWQgc2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYs
IE1vdXNlSW50ZXJhY3Rpb24sIE1vdXNlQnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
bG9jYXRpb25JblZpZXcsIEF1dG9tYXRpb25Db21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKICNl
bmRpZgogI2lmIEVOQUJMRShXRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKQogICAgIHZvaWQg
c2ltdWxhdGVUb3VjaEludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIFRvdWNoSW50ZXJhY3Rpb24s
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlldywgT3B0aW9uYWw8U2Vjb25k
cz4gZHVyYXRpb24sIEF1dG9tYXRpb25Db21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKQEAgLTI0
NCw3ICsyNDQsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gUGxhdGZvcm0tZGVwZW5kZW50IGltcGxl
bWVudGF0aW9ucy4KICNpZiBFTkFCTEUoV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykKLSAg
ICB2b2lkIHBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYsIE1v
dXNlSW50ZXJhY3Rpb24sIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGxvY2F0aW9uSW5WaWV3cG9ydCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4p
OworICAgIHZvaWQgcGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5
JiwgTW91c2VJbnRlcmFjdGlvbiwgTW91c2VCdXR0b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBsb2NhdGlvbkluVmlld3BvcnQsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+KTsKICNl
bmRpZgogI2lmIEVOQUJMRShXRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKQogICAgIC8vIFNp
bXVsYXRlcyBhIHNpbmdsZSB0b3VjaCBwb2ludCBiZWluZyBwcmVzc2VkLCBtb3ZlZCwgYW5kIHJl
bGVhc2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9n
dGsvV2ViQXV0b21hdGlvblNlc3Npb25HdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXV0b21hdGlvbi9ndGsvV2ViQXV0b21hdGlvblNlc3Npb25HdGsuY3BwCmluZGV4IDdlYWU4YjJi
NmRmNjU3OGJjM2E2NzIxM2RkNDE4YmI2Y2Y3OTkwNjQuLmRkODFkMWQ1NWVhMWNhZTA0ZDg0ZjIz
NDkxOTZkZWQ3YTkyZjQ4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vZ3RrL1dlYkF1dG9tYXRpb25TZXNzaW9uR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2d0ay9XZWJBdXRvbWF0aW9uU2Vzc2lvbkd0ay5jcHAK
QEAgLTQ4LDE1ICs0OCwxNSBAQCBzdGF0aWMgdW5zaWduZWQgbW9kaWZpZXJzVG9FdmVudFN0YXRl
KE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycykKICAgICByZXR1cm4gc3Rh
dGU7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBtb3VzZUJ1dHRvblRvR2RrQnV0dG9uKFdlYk1vdXNl
RXZlbnQ6OkJ1dHRvbiBidXR0b24pCitzdGF0aWMgdW5zaWduZWQgbW91c2VCdXR0b25Ub0dka0J1
dHRvbihNb3VzZUJ1dHRvbiBidXR0b24pCiB7CiAgICAgc3dpdGNoIChidXR0b24pIHsKLSAgICBj
YXNlIFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOgotICAgIGNhc2UgV2ViTW91c2VFdmVudDo6TGVm
dEJ1dHRvbjoKKyAgICBjYXNlIE1vdXNlQnV0dG9uOjpOb25lOgorICAgIGNhc2UgTW91c2VCdXR0
b246OkxlZnQ6CiAgICAgICAgIHJldHVybiBHREtfQlVUVE9OX1BSSU1BUlk7Ci0gICAgY2FzZSBX
ZWJNb3VzZUV2ZW50OjpNaWRkbGVCdXR0b246CisgICAgY2FzZSBNb3VzZUJ1dHRvbjo6TWlkZGxl
OgogICAgICAgICByZXR1cm4gR0RLX0JVVFRPTl9NSURETEU7Ci0gICAgY2FzZSBXZWJNb3VzZUV2
ZW50OjpSaWdodEJ1dHRvbjoKKyAgICBjYXNlIE1vdXNlQnV0dG9uOjpSaWdodDoKICAgICAgICAg
cmV0dXJuIEdES19CVVRUT05fU0VDT05EQVJZOwogICAgIH0KICAgICByZXR1cm4gR0RLX0JVVFRP
Tl9QUklNQVJZOwpAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyB2b2lkIGRvTW90aW9uRXZlbnQo
R3RrV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbiwKICAg
ICBndGtfbWFpbl9kb19ldmVudChldmVudC5nZXQoKSk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlv
blNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVyYWN0aW9uKFdlYlBhZ2VQcm94eSYg
cGFnZSwgTW91c2VJbnRlcmFjdGlvbiBpbnRlcmFjdGlvbiwgV2ViTW91c2VFdmVudDo6QnV0dG9u
IGJ1dHRvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3LCBPcHRpb25T
ZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBrZXlNb2RpZmllcnMpCit2b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uOjpwbGF0Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBh
Z2UsIE1vdXNlSW50ZXJhY3Rpb24gaW50ZXJhY3Rpb24sIE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3LCBPcHRpb25TZXQ8V2ViRXZlbnQ6
Ok1vZGlmaWVyPiBrZXlNb2RpZmllcnMpCiB7CiAgICAgdW5zaWduZWQgZ2RrQnV0dG9uID0gbW91
c2VCdXR0b25Ub0dka0J1dHRvbihidXR0b24pOwogICAgIGF1dG8gbW9kaWZpZXIgPSBzdGF0ZU1v
ZGlmaWVyRm9yR2RrQnV0dG9uKGdka0J1dHRvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL21hYy9XZWJBdXRvbWF0aW9uU2Vzc2lvbk1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9u
TWFjLm1tCmluZGV4IDQ1MDAxNGRjZTdkNGQ0NGFjYWExYjIwYTliYWI5YWJlNTk0NzFmMDQuLmRm
MjZhY2RiMWNhMjEzMGJmMDcwNGI4YjIyYzUxYTY0MTJlYzZhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vbWFjL1dlYkF1dG9t
YXRpb25TZXNzaW9uTWFjLm1tCkBAIC0xMjEsOSArMTIxLDIyIEBAIGJvb2wgV2ViQXV0b21hdGlv
blNlc3Npb246Ondhc0V2ZW50U3ludGhlc2l6ZWRGb3JBdXRvbWF0aW9uKE5TRXZlbnQgKmV2ZW50
KQogI3ByYWdtYSBtYXJrIFBsYXRmb3JtLWRlcGVuZGVudCBJbXBsZW1lbnRhdGlvbnMKIAogI2lm
IEVOQUJMRShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKQotdm9pZCBXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiBw
YWdlLCBNb3VzZUludGVyYWN0aW9uIGludGVyYWN0aW9uLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24g
YnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXdwb3J0LCBPcHRp
b25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBrZXlNb2RpZmllcnMpCisKK3N0YXRpYyBXZWJNb3Vz
ZUV2ZW50OjpCdXR0b24gYXV0b21hdGlvbk1vdXNlQnV0dG9uVG9QbGF0Zm9ybU1vdXNlQnV0dG9u
KE1vdXNlQnV0dG9uIGJ1dHRvbikKK3sKKyAgICBzd2l0Y2ggKGJ1dHRvbikgeworICAgIGNhc2Ug
TW91c2VCdXR0b246OkxlZnQ6ICAgcmV0dXJuIFdlYk1vdXNlRXZlbnQ6OkxlZnRCdXR0b247Cisg
ICAgY2FzZSBNb3VzZUJ1dHRvbjo6TWlkZGxlOiByZXR1cm4gV2ViTW91c2VFdmVudDo6TWlkZGxl
QnV0dG9uOworICAgIGNhc2UgTW91c2VCdXR0b246OlJpZ2h0OiAgcmV0dXJuIFdlYk1vdXNlRXZl
bnQ6OlJpZ2h0QnV0dG9uOworICAgIGNhc2UgTW91c2VCdXR0b246Ok5vbmU6ICAgcmV0dXJuIFdl
Yk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOworICAgIGRlZmF1bHQ6IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIH0KK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0
ZU1vdXNlSW50ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBNb3VzZUludGVyYWN0aW9uIGlu
dGVyYWN0aW9uLCBNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBs
b2NhdGlvbkluVmlld3BvcnQsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IGtleU1vZGlm
aWVycykKIHsKICAgICBJbnRSZWN0IHdpbmRvd1JlY3Q7CisKICAgICBJbnRQb2ludCBsb2NhdGlv
bkluVmlldyA9IFdlYkNvcmU6OkludFBvaW50KGxvY2F0aW9uSW5WaWV3cG9ydC54KCksIGxvY2F0
aW9uSW5WaWV3cG9ydC55KCkgKyBwYWdlLnRvcENvbnRlbnRJbnNldCgpKTsKICAgICBwYWdlLnJv
b3RWaWV3VG9XaW5kb3coSW50UmVjdChsb2NhdGlvbkluVmlldywgSW50U2l6ZSgpKSwgd2luZG93
UmVjdCk7CiAgICAgSW50UG9pbnQgbG9jYXRpb25JbldpbmRvdyA9IHdpbmRvd1JlY3QubG9jYXRp
b24oKTsKQEAgLTE0Nyw3ICsxNjAsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0
Zm9ybVNpbXVsYXRlTW91c2VJbnRlcmFjdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsCiAgICAgTlNF
dmVudFR5cGUgZG93bkV2ZW50VHlwZSA9IChOU0V2ZW50VHlwZSkwOwogICAgIE5TRXZlbnRUeXBl
IGRyYWdFdmVudFR5cGUgPSAoTlNFdmVudFR5cGUpMDsKICAgICBOU0V2ZW50VHlwZSB1cEV2ZW50
VHlwZSA9IChOU0V2ZW50VHlwZSkwOwotICAgIHN3aXRjaCAoYnV0dG9uKSB7CisgICAgc3dpdGNo
IChhdXRvbWF0aW9uTW91c2VCdXR0b25Ub1BsYXRmb3JtTW91c2VCdXR0b24oYnV0dG9uKSkgewog
ICAgIGNhc2UgV2ViTW91c2VFdmVudDo6Tm9CdXR0b246CiAgICAgICAgIGRvd25FdmVudFR5cGUg
PSB1cEV2ZW50VHlwZSA9IGRyYWdFdmVudFR5cGUgPSBOU0V2ZW50VHlwZU1vdXNlTW92ZWQ7CiAg
ICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi93cGUvV2ViQXV0b21hdGlvblNlc3Npb25XUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi93cGUvV2ViQXV0b21hdGlvblNlc3Npb25XUEUuY3BwCmluZGV4IGQ3
ZjNiMDNhNDUyNjg0ZTQ4NjZjZWVlZDc1OWRkYzI3YmRkNTI4MTMuLmQ2MDFmMGU1N2FlMzFhN2Iy
YmJjMzY0ZTI4MDE2MGQ1OTNlMWVhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0F1dG9tYXRpb24vd3BlL1dlYkF1dG9tYXRpb25TZXNzaW9uV1BFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL3dwZS9XZWJBdXRvbWF0aW9uU2Vzc2lvbldQ
RS5jcHAKQEAgLTQ0LDE1ICs0NCwxNSBAQCBzdGF0aWMgdWludDMyX3QgbW9kaWZpZXJzVG9FdmVu
dFN0YXRlKE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycykKICAgICByZXR1
cm4gc3RhdGU7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBtb3VzZUJ1dHRvblRvV1BFQnV0dG9uKFdl
Yk1vdXNlRXZlbnQ6OkJ1dHRvbiBidXR0b24pCitzdGF0aWMgdW5zaWduZWQgbW91c2VCdXR0b25U
b1dQRUJ1dHRvbihNb3VzZUJ1dHRvbiBidXR0b24pCiB7CiAgICAgc3dpdGNoIChidXR0b24pIHsK
LSAgICBjYXNlIFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOgotICAgIGNhc2UgV2ViTW91c2VFdmVu
dDo6TGVmdEJ1dHRvbjoKKyAgICBjYXNlIE1vdXNlQnV0dG9uOjpOb25lOgorICAgIGNhc2UgTW91
c2VCdXR0b246OkxlZnQ6CiAgICAgICAgIHJldHVybiAxOwotICAgIGNhc2UgV2ViTW91c2VFdmVu
dDo6TWlkZGxlQnV0dG9uOgorICAgIGNhc2UgTW91c2VCdXR0b246Ok1pZGRsZToKICAgICAgICAg
cmV0dXJuIDM7Ci0gICAgY2FzZSBXZWJNb3VzZUV2ZW50OjpSaWdodEJ1dHRvbjoKKyAgICBjYXNl
IE1vdXNlQnV0dG9uOjpSaWdodDoKICAgICAgICAgcmV0dXJuIDI7CiAgICAgfQogICAgIHJldHVy
biAxOwpAQCAtOTEsNyArOTEsNyBAQCBzdGF0aWMgdm9pZCBkb01vdGlvbkV2ZW50KHN0cnVjdCB3
cGVfdmlld19iYWNrZW5kKiB2aWV3QmFja2VuZCwgY29uc3QgV2ViQ29yZTo6SQogICAgIHdwZV92
aWV3X2JhY2tlbmRfZGlzcGF0Y2hfcG9pbnRlcl9ldmVudCh2aWV3QmFja2VuZCwgJmV2ZW50KTsK
IH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6cGxhdGZvcm1TaW11bGF0ZU1vdXNlSW50
ZXJhY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBNb3VzZUludGVyYWN0aW9uIGludGVyYWN0aW9u
LCBXZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
bG9jYXRpb25JblZpZXcsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IGtleU1vZGlmaWVy
cykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBsYXRmb3JtU2ltdWxhdGVNb3VzZUludGVy
YWN0aW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwgTW91c2VJbnRlcmFjdGlvbiBpbnRlcmFjdGlvbiwg
TW91c2VCdXR0b24gYnV0dG9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZp
ZXcsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IGtleU1vZGlmaWVycykKIHsKICAgICB1
bnNpZ25lZCB3cGVCdXR0b24gPSBtb3VzZUJ1dHRvblRvV1BFQnV0dG9uKGJ1dHRvbik7CiAgICAg
YXV0byBtb2RpZmllciA9IHN0YXRlTW9kaWZpZXJGb3JXUEVCdXR0b24od3BlQnV0dG9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>