<?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>147040</bug_id>
          
          <creation_ts>2015-07-17 09:29:40 -0700</creation_ts>
          <short_desc>The external URL policy is not reported correctly in navigation actions that create new windows</short_desc>
          <delta_ts>2015-07-17 14:17:35 -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>WebKit API</component>
          <version>528+ (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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1110144</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-07-17 09:29:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/21803781&gt;

When a navigation targets a new window, the WKNavigationAction passed to -webView:decidePolicyForNavigationAction:decisionHandler: doesn’t have the correct values for -_shouldOpenExternalSchemes and -_shouldOpenAppLinks.

When window.open is called, the WKNavigationAction passed to -webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures: doesn’t have the correct values for  -_shouldOpenExternalSchemes and -_shouldOpenAppLinks, and so does the WKNavigationAction passed to the new view’s -webView:decidePolicyForNavigationAction:decisionHandler:.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110181</commentid>
    <comment_count>1</comment_count>
      <attachid>256980</attachid>
    <who name="">mitz</who>
    <bug_when>2015-07-17 12:55:42 -0700</bug_when>
    <thetext>Created attachment 256980
Report the correct policy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110183</commentid>
    <comment_count>2</comment_count>
      <attachid>256980</attachid>
    <who name="">mitz</who>
    <bug_when>2015-07-17 12:58:47 -0700</bug_when>
    <thetext>Comment on attachment 256980
Report the correct policy

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

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm:2
&gt; + * Copyright (C) 2014 Apple Inc. All rights reserved.

2014?

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm:69
&gt; +TEST(WebKit2, ShouldOpenExternalURLsInWindowOpen)

I should split this up to multiple tests, at least a separate one for targeted links.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110210</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-07-17 14:17:35 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r186964&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256980</attachid>
            <date>2015-07-17 12:55:42 -0700</date>
            <delta_ts>2015-07-17 13:59:44 -0700</delta_ts>
            <desc>Report the correct policy</desc>
            <filename>bug-147040-20150717125432.patch</filename>
            <type>text/plain</type>
            <size>28345</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Njk2MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA3LTE3ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIDxyZGFy
Oi8vcHJvYmxlbS8yMTgwMzc4MT4gVGhlIGV4dGVybmFsIFVSTCBwb2xpY3kgaXMgbm90IHJlcG9y
dGVkIGNvcnJlY3RseSBpbiBuYXZpZ2F0aW9uIGFjdGlvbnMgdGhhdCBjcmVhdGUgbmV3IHdpbmRv
d3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzA0
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNJ
bk5ld1dpbmRvd0FjdGlvbnMubW0KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9BcHBseSk6
IFB1bGxlZCB0aGUgbG9naWMgb3V0IG9mCisgICAgICAgIGFwcGx5U2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeVRvTmV3RG9jdW1lbnRMb2FkZXIgaW50byB0aGlzIG5ldyBoZWxwZXIuCisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTCk6IFdoZW4gdGFyZ2V0aW5nIGEgbmV3
IGZyYW1lLCBhcHBseSB0aGUgZXh0ZXJuYWwgVVJMcyBwb2xpY3kKKyAgICAgICAgdG8gdGhlIGFj
dGlvbiBwYXNzZWQgdG8gY2hlY2tOZXdXaW5kb3dQb2xpY3kuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6YXBwbHlTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVu
dExvYWRlcik6IENhbGwgdGhlIG5ldworICAgICAgICBoZWxwZXIgZnVuY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVXaW5kb3cpOiBJbmNsdWRlIHRoZSBleHRlcm5hbCBVUkwgcG9saWN5
IGluIHRoZSBhY3Rpb24gcGFzc2VkIHRvCisgICAgICAgIGNyZWF0ZVdpbmRvdy4KKwogMjAxNS0w
Ny0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFNj
cm9sbFZpZXcuaCBzaG91bGQgYmUgc2VsZi1jb250YWluZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gMTg2OTU0KQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4Nyw2ICsxMTg3LDE1
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QoY29uc3QKICAgICB9CiB9CiAK
K3N0YXRpYyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3lUb0FwcGx5KEZyYW1lJiBzb3VyY2VGcmFtZSwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSBwcm9wYWdhdGVkUG9saWN5KQoreworICAgIGlmICghc291cmNlRnJhbWUuaXNNYWlu
RnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNo
b3VsZE5vdEFsbG93OworICAgIGlmIChTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdl
c3R1cmUoKSkKKyAgICAgICAgcmV0dXJuIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNo
b3VsZEFsbG93OworICAgIHJldHVybiBwcm9wYWdhdGVkUG9saWN5OworfQorCiB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkVVJMKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3Qs
IGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIEZyYW1lTG9hZFR5cGUgbmV3TG9hZFR5cGUsIEV2ZW50
KiBldmVudCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IHBycEZvcm1TdGF0ZSkKIHsKICAgICBpZiAo
bV9pblN0b3BBbGxMb2FkZXJzKQpAQCAtMTIzMyw2ICsxMjQyLDcgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFVSTChjb25zdCBGcmFtZUxvYQogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uKHJl
cXVlc3QsIG5ld0xvYWRUeXBlLCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwgZnJhbWVMb2FkUmVx
dWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCkpOwogCiAgICAgaWYgKCF0YXJnZXRG
cmFtZSAmJiAhZnJhbWVOYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBhY3Rpb24gPSBhY3Rpb24u
Y29weVdpdGhTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3lUb0FwcGx5KG1fZnJhbWUsIGZyYW1lTG9hZFJlcXVlc3Quc2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSgpKSk7CiAgICAgICAgIHBvbGljeUNoZWNrZXIoKS5jaGVja05ld1dpbmRv
d1BvbGljeShhY3Rpb24sIHJlcXVlc3QsIGZvcm1TdGF0ZS5yZWxlYXNlKCksIGZyYW1lTmFtZSwg
W3RoaXMsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgb3BlbmVyUG9saWN5XShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUs
IGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rpb24s
IGJvb2wgc2hvdWxkQ29udGludWUpIHsKICAgICAgICAgICAgIGNvbnRpbnVlTG9hZEFmdGVyTmV3
V2luZG93UG9saWN5KHJlcXVlc3QsIGZvcm1TdGF0ZSwgZnJhbWVOYW1lLCBhY3Rpb24sIHNob3Vs
ZENvbnRpbnVlLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIG9wZW5lclBvbGljeSk7CiAg
ICAgICAgIH0pOwpAQCAtMzQ1NywxMiArMzQ2Nyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNsZWFy
VGVzdGluZ092ZXJyaWRlcygKIAogdm9pZCBGcmFtZUxvYWRlcjo6YXBwbHlTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciYgZG9jdW1l
bnRMb2FkZXIsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgcHJvcGFnYXRlZFBvbGljeSkK
IHsKLSAgICBpZiAoIW1fZnJhbWUuaXNNYWluRnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnRMb2Fk
ZXIuc2V0U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeShTaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5OjpTaG91bGROb3RBbGxvdyk7Ci0gICAgZWxzZSBpZiAoU2NyaXB0Q29udHJvbGxlcjo6
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIGRvY3VtZW50TG9hZGVyLnNldFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hv
dWxkQWxsb3cpOwotICAgIGVsc2UKLSAgICAgICAgZG9jdW1lbnRMb2FkZXIuc2V0U2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeShwcm9wYWdhdGVkUG9saWN5KTsKKyAgICBkb2N1bWVudExvYWRl
ci5zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3lUb0FwcGx5KG1fZnJhbWUsIHByb3BhZ2F0ZWRQb2xpY3kpKTsKIH0KIAogYm9vbCBGcmFt
ZUxvYWRlckNsaWVudDo6aGFzSFRNTFZpZXcoKSBjb25zdApAQCAtMzUwNCw3ICszNTA5LDggQEAg
UmVmUHRyPEZyYW1lPiBjcmVhdGVXaW5kb3coRnJhbWUmIG9wZW5lcgogICAgIGlmICghb2xkUGFn
ZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBQYWdlKiBwYWdlID0gb2xkUGFnZS0+
Y2hyb21lKCkuY3JlYXRlV2luZG93KCZvcGVuZXJGcmFtZSwgcmVxdWVzdFdpdGhSZWZlcnJlciwg
ZmVhdHVyZXMsIE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdFdpdGhSZWZlcnJlci5yZXNvdXJjZVJl
cXVlc3QoKSkpOworICAgIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSA9IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb0FwcGx5KG9w
ZW5lckZyYW1lLCByZXF1ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSk7CisgICAg
UGFnZSogcGFnZSA9IG9sZFBhZ2UtPmNocm9tZSgpLmNyZWF0ZVdpbmRvdygmb3BlbmVyRnJhbWUs
IHJlcXVlc3RXaXRoUmVmZXJyZXIsIGZlYXR1cmVzLCBOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3RX
aXRoUmVmZXJyZXIucmVzb3VyY2VSZXF1ZXN0KCksIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3kpKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODY5NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxNS0wNy0xNyAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdDIgcGFydCBvZiA8cmRhcjovL3Byb2Js
ZW0vMjE4MDM3ODE+IFRoZSBleHRlcm5hbCBVUkwgcG9saWN5IGlzIG5vdCByZXBvcnRlZCBjb3Jy
ZWN0bHkgaW4gbmF2aWdhdGlvbiBhY3Rpb25zIHRoYXQgY3JlYXRlIG5ldyB3aW5kb3dzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcwNDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVu
dDo6Y3JlYXRlTmV3UGFnZSk6IERpc2FsbG93IEFwcCBMaW5rcyBpZiB0aGUgbmV3IHBhZ2UgaXMg
Zm9yIHRoZQorICAgICAgICBzYW1lIHByb3RvY29sLCBob3N0IGFuZCBwb3J0IGFzIHRoZSBtYWlu
IGZyYW1lIG9mIHRoaXMgcGFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24pOiBEaXNhbGxvdyBBcHAgTGlua3MgaWYKKyAgICAgICAgbV9zaG91bGRTdXBw
cmVzc0FwcExpbmtzSW5OZXh0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uIGlzIHNldCwgYW5kIHJl
c2V0IGl0LiBTZWUgYmVsb3cgZm9yCisgICAgICAgIHdoZW4gd2Ugc2V0IGl0LgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbik6IERp
c2FsbG93IEFwcCBMaW5rcyBpZiB0aGUgbmV3IHdpbmRvdworICAgICAgICBpcyBmb3IgdGhlIHNh
bWUgcHJvdG9jb2wsIGhvc3QgYW5kIHBvcnQgYXMgdGhlIG1haW4gZnJhbWUgb2YgdGhpcyBwYWdl
LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2UpOiBNYWtlIHRo
ZSBuZXcgcGFnZSBkaXNhbGxvdyBBcHAgTGlua3MgaW4gdGhlIGZpcnN0CisgICAgICAgIHBvbGlj
eSBkZWNpc2lvbiBpZiBpdCBpcyBmb3IgdGhlIHNhbWUgcHJvdG9jb2wsIGhvc3QgYW5kIHBvcnQg
YXMgdGhlIG1haW4gZnJhbWUgb2YgdGhpcworICAgICAgICBwYWdlLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDogQWRkZWQgbV9zaG91bGRTdXBwcmVzc0FwcExpbmtzSW5OZXh0
TmF2aWdhdGlvblBvbGljeURlY2lzaW9uCisgICAgICAgIG1lbWJlciB2YXJpYWJsZS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiBQYXNzIHRoZSBz
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bik6IERpdHRvLgorCiAyMDE1LTA3LTE3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIGlPUyBUZXh0SW5kaWNhdG9ycyBpbmNsdWRlIHRleHQgdGhhdCBp
cyBub3Qgc3VwcG9zZWQgdG8gYmUgaW5kaWNhdGVkCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTg2OTU0KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzMzMsNyAr
MzMzMyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EKICAgICAg
ICAgZWxzZSBpZiAob3JpZ2luYXRpbmdGcmFtZSkKICAgICAgICAgICAgIHNvdXJjZUZyYW1lSW5m
byA9IEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUoKm9yaWdpbmF0aW5nRnJhbWUsIG9yaWdpbmF0aW5n
RnJhbWVTZWN1cml0eU9yaWdpbi5zZWN1cml0eU9yaWdpbigpKTsKIAotICAgICAgICBib29sIHNo
b3VsZE9wZW5BcHBMaW5rcyA9ICghZGVzdGluYXRpb25GcmFtZUluZm8gfHwgZGVzdGluYXRpb25G
cmFtZUluZm8tPmlzTWFpbkZyYW1lKCkpICYmICFwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwo
VVJMKFBhcnNlZFVSTFN0cmluZywgbV9tYWluRnJhbWUtPnVybCgpKSwgcmVxdWVzdC51cmwoKSk7
CisgICAgICAgIGJvb2wgc2hvdWxkT3BlbkFwcExpbmtzID0gIW1fc2hvdWxkU3VwcHJlc3NBcHBM
aW5rc0luTmV4dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiAmJiAoIWRlc3RpbmF0aW9uRnJhbWVJ
bmZvIHx8IGRlc3RpbmF0aW9uRnJhbWVJbmZvLT5pc01haW5GcmFtZSgpKSAmJiAhcHJvdG9jb2xI
b3N0QW5kUG9ydEFyZUVxdWFsKFVSTChQYXJzZWRVUkxTdHJpbmcsIG1fbWFpbkZyYW1lLT51cmwo
KSksIHJlcXVlc3QudXJsKCkpOwogCiAgICAgICAgIGF1dG8gbmF2aWdhdGlvbkFjdGlvbiA9IEFQ
STo6TmF2aWdhdGlvbkFjdGlvbjo6Y3JlYXRlKG5hdmlnYXRpb25BY3Rpb25EYXRhLCBzb3VyY2VG
cmFtZUluZm8uZ2V0KCksIGRlc3RpbmF0aW9uRnJhbWVJbmZvLmdldCgpLCByZXF1ZXN0LCBvcmln
aW5hbFJlcXVlc3QudXJsKCksIHNob3VsZE9wZW5BcHBMaW5rcyk7CiAKQEAgLTMzNDEsNiArMzM0
MSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EKICAgICB9IGVs
c2UKICAgICAgICAgbV9wb2xpY3lDbGllbnQtPmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24oKnRoaXMsIGZyYW1lLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgb3JpZ2luYXRpbmdGcmFtZSwg
b3JpZ2luYWxSZXF1ZXN0LCByZXF1ZXN0LCBXVEY6Om1vdmUobGlzdGVuZXIpLCBtX3Byb2Nlc3Mt
PnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKIAor
ICAgIG1fc2hvdWxkU3VwcHJlc3NBcHBMaW5rc0luTmV4dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lv
biA9IGZhbHNlOwogICAgIG1faW5EZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gZmFs
c2U7CiAKICAgICAvLyBDaGVjayBpZiB3ZSByZWNlaXZlZCBhIHBvbGljeSBkZWNpc2lvbiBhbHJl
YWR5LiBJZiB3ZSBkaWQsIHdlIGNhbiBqdXN0IHBhc3MgaXQgYmFjay4KQEAgLTMzNjYsNyArMzM2
Nyw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW4KICAgICAgICAg
aWYgKGZyYW1lKQogICAgICAgICAgICAgc291cmNlRnJhbWVJbmZvID0gQVBJOjpGcmFtZUluZm86
OmNyZWF0ZSgqZnJhbWUsIGZyYW1lU2VjdXJpdHlPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSk7CiAK
LSAgICAgICAgYXV0byBuYXZpZ2F0aW9uQWN0aW9uID0gQVBJOjpOYXZpZ2F0aW9uQWN0aW9uOjpj
cmVhdGUobmF2aWdhdGlvbkFjdGlvbkRhdGEsIHNvdXJjZUZyYW1lSW5mby5nZXQoKSwgbnVsbHB0
ciwgcmVxdWVzdCwgcmVxdWVzdC51cmwoKSwgdHJ1ZSk7CisgICAgICAgIGJvb2wgc2hvdWxkT3Bl
bkFwcExpbmtzID0gIXByb3RvY29sSG9zdEFuZFBvcnRBcmVFcXVhbChVUkwoUGFyc2VkVVJMU3Ry
aW5nLCBtX21haW5GcmFtZS0+dXJsKCkpLCByZXF1ZXN0LnVybCgpKTsKKyAgICAgICAgYXV0byBu
YXZpZ2F0aW9uQWN0aW9uID0gQVBJOjpOYXZpZ2F0aW9uQWN0aW9uOjpjcmVhdGUobmF2aWdhdGlv
bkFjdGlvbkRhdGEsIHNvdXJjZUZyYW1lSW5mby5nZXQoKSwgbnVsbHB0ciwgcmVxdWVzdCwgcmVx
dWVzdC51cmwoKSwgc2hvdWxkT3BlbkFwcExpbmtzKTsKIAogICAgICAgICBtX25hdmlnYXRpb25D
bGllbnQtPmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oKnRoaXMsIG5hdmlnYXRpb25B
Y3Rpb24uZ2V0KCksIFdURjo6bW92ZShsaXN0ZW5lciksIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCkBAIC0zNTM0LDYgKzM1
MzYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV3UGFnZSh1aW50NjRfCiAgICAgbmV3
UGFnZVBhcmFtZXRlcnMgPSBuZXdQYWdlLT5jcmVhdGlvblBhcmFtZXRlcnMoKTsKIAogICAgIFdl
YnNpdGVEYXRhU3RvcmU6OmNsb25lU2Vzc2lvbkRhdGEoKnRoaXMsICpuZXdQYWdlKTsKKyAgICBu
ZXdQYWdlLT5tX3Nob3VsZFN1cHByZXNzQXBwTGlua3NJbk5leHROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24gPSBwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwoVVJMKFBhcnNlZFVSTFN0cmluZywg
bV9tYWluRnJhbWUtPnVybCgpKSwgcmVxdWVzdC51cmwoKSk7CiB9CiAgICAgCiB2b2lkIFdlYlBh
Z2VQcm94eTo6c2hvd1BhZ2UoKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAkocmV2aXNpb24gMTg2OTU0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQwLDYgKzE2NDAsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbklzVmFsaWQ7CiAg
ICAgV2ViQ29yZTo6UG9saWN5QWN0aW9uIG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBY3Rp
b247CiAgICAgdWludDY0X3QgbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeURvd25sb2FkSUQ7
CisgICAgYm9vbCBtX3Nob3VsZFN1cHByZXNzQXBwTGlua3NJbk5leHROYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb24geyBmYWxzZSB9OwogCiAgICAgRGVxdWU8TmF0aXZlV2ViS2V5Ym9hcmRFdmVudD4g
bV9rZXlFdmVudFF1ZXVlOwogICAgIERlcXVlPE5hdGl2ZVdlYldoZWVsRXZlbnQ+IG1fd2hlZWxF
dmVudFF1ZXVlOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0JKHJldmlzaW9uIDE4Njk1NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW1w
b3J0ICJXS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLVUlEZWxlZ2F0ZVBy
aXZhdGUuaCIKICNpbXBvcnQgIl9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCIKKyNpbXBvcnQgPFdl
YkNvcmUvVVJMLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xMDgsNyArMTA5LDkgQEAg
UGFzc1JlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gVUlEZWxlZwogICAgIFtjb25maWd1cmF0
aW9uIF9zZXRSZWxhdGVkV2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKIAogICAgIGF1
dG8gc291cmNlRnJhbWVJbmZvID0gQVBJOjpGcmFtZUluZm86OmNyZWF0ZSgqaW5pdGlhdGluZ0Zy
YW1lLCBzZWN1cml0eU9yaWdpbkRhdGEuc2VjdXJpdHlPcmlnaW4oKSk7Ci0gICAgYXV0byBuYXZp
Z2F0aW9uQWN0aW9uID0gQVBJOjpOYXZpZ2F0aW9uQWN0aW9uOjpjcmVhdGUobmF2aWdhdGlvbkFj
dGlvbkRhdGEsIHNvdXJjZUZyYW1lSW5mby5wdHIoKSwgbnVsbHB0ciwgcmVxdWVzdCwgV2ViQ29y
ZTo6VVJMKCksIHRydWUpOworCisgICAgYm9vbCBzaG91bGRPcGVuQXBwTGlua3MgPSAhcHJvdG9j
b2xIb3N0QW5kUG9ydEFyZUVxdWFsKFdlYkNvcmU6OlVSTChXZWJDb3JlOjpQYXJzZWRVUkxTdHJp
bmcsIGluaXRpYXRpbmdGcmFtZS0+dXJsKCkpLCByZXF1ZXN0LnVybCgpKTsKKyAgICBhdXRvIG5h
dmlnYXRpb25BY3Rpb24gPSBBUEk6Ok5hdmlnYXRpb25BY3Rpb246OmNyZWF0ZShuYXZpZ2F0aW9u
QWN0aW9uRGF0YSwgc291cmNlRnJhbWVJbmZvLnB0cigpLCBudWxscHRyLCByZXF1ZXN0LCBXZWJD
b3JlOjpVUkwoKSwgc2hvdWxkT3BlbkFwcExpbmtzKTsKIAogICAgIFJldGFpblB0cjxXS1dlYlZp
ZXc+IHdlYlZpZXcgPSBbZGVsZWdhdGUuZ2V0KCkgd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJW
aWV3IGNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGZv
ck5hdmlnYXRpb25BY3Rpb246d3JhcHBlcihuYXZpZ2F0aW9uQWN0aW9uKSB3aW5kb3dGZWF0dXJl
czphZG9wdE5TKFtbV0tXaW5kb3dGZWF0dXJlcyBhbGxvY10gX2luaXRXaXRoV2luZG93RmVhdHVy
ZXM6d2luZG93RmVhdHVyZXNdKS5nZXQoKV07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAJKHJldmlzaW9uIDE4Njk1NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE4LDYgKzIx
OCw3IEBAIFBhZ2UqIFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlV2luZG93KEZyYW0KICAgICBuYXZp
Z2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiA9IEluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFj
dGlvbjo6bW91c2VCdXR0b25Gb3JOYXZpZ2F0aW9uQWN0aW9uKG5hdmlnYXRpb25BY3Rpb24pOwog
ICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlID0gbmF2aWdh
dGlvbkFjdGlvbi5wcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9u
RGF0YS5jYW5IYW5kbGVSZXF1ZXN0ID0gbV9wYWdlLT5jYW5IYW5kbGVSZXF1ZXN0KHJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLnNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3kgPSBuYXZpZ2F0aW9uQWN0aW9uLnNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3koKTsKIAogICAgIHVpbnQ2NF90IG5ld1BhZ2VJRCA9IDA7CiAgICAgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAJKHJldmlzaW9uIDE4Njk1NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03MzgsNiArNzM4LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
ZWNpZAogICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uID0gYWN0aW9uLT5tb3Vz
ZUJ1dHRvbigpOwogICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLmlzUHJvY2Vzc2luZ1VzZXJHZXN0
dXJlID0gbmF2aWdhdGlvbkFjdGlvbi5wcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKICAgICBuYXZp
Z2F0aW9uQWN0aW9uRGF0YS5jYW5IYW5kbGVSZXF1ZXN0ID0gd2ViUGFnZS0+Y2FuSGFuZGxlUmVx
dWVzdChyZXF1ZXN0KTsKKyAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5zaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5ID0gbmF2aWdhdGlvbkFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KCk7CiAKICAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lk
ZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihtX2ZyYW1lLT5mcmFtZUlEKCksIFNlY3VyaXR5T3Jp
Z2luRGF0YTo6ZnJvbUZyYW1lKG1fZnJhbWUpLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgcmVxdWVz
dCwgZnJhbWVOYW1lLCBsaXN0ZW5lcklELCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0K
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4Njk2MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE1LTA3LTE3ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisK
KyAgICAgICAgVGVzdHMgZm9yIDxyZGFyOi8vcHJvYmxlbS8yMTgwMzc4MT4gVGhlIGV4dGVybmFs
IFVSTCBwb2xpY3kgaXMgbm90IHJlcG9ydGVkIGNvcnJlY3RseSBpbiBuYXZpZ2F0aW9uIGFjdGlv
bnMgdGhhdCBjcmVhdGUgbmV3IHdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NzA0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9ucy5tbTogQWRkZWQu
CisgICAgICAgICgtW1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnNDb250
cm9sbGVyIHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhh
bmRsZXI6XSk6CisgICAgICAgICgtW1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0Fj
dGlvbnNDb250cm9sbGVyIHdlYlZpZXc6ZGlkRmluaXNoTmF2aWdhdGlvbjpdKToKKyAgICAgICAg
KC1bU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9uc0NvbnRyb2xsZXIgd2Vi
VmlldzpjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246Zm9yTmF2aWdhdGlvbkFjdGlvbjp3
aW5kb3dGZWF0dXJlczpdKToKKyAgICAgICAgKFRFU1QpOgorCiAyMDE1LTA3LTE2ICBEZWFuIEpv
aG5zb24gIDxkZWFuX2pvaG5zb25AYXBwbGUuY29tPgogCiAgICAgICAgIHdlYmtpdC1wYXRjaCB1
c2VzIGluY29ycmVjdCBjcmVkZW50aWFscyBmcm9tIGtleWNoYWluIHRvIGxvZ2luIHVudGlsIGFj
Y291bnQgbG9ja291dApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE4Njk1
NCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAJCTM3OEU2NDc3MTYz
MjY1NUUwMEI2QzY3NiAvKiBJbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdF9CdW5kbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc4RTY0NzUxNjMy
NjU1RDAwQjZDNjc2IC8qIEluamVjdGVkQnVuZGxlRnJhbWVIaXRUZXN0X0J1bmRsZS5jcHAgKi87
IH07CiAJCTM3OEU2NDc5MTYzMjcwNzQwMEI2QzY3NiAvKiBsaW5rLXdpdGgtdGl0bGUuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzhF
NjQ3ODE2MzI2RkRGMDBCNkM2NzYgLyogbGluay13aXRoLXRpdGxlLmh0bWwgKi87IH07CiAJCTM3
OTAyOEI5MTRGQUMyNEMwMDdFNkI0MyAvKiBhY2NlcHRzRmlyc3RNb3VzZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OTAyOEI4MTRG
QUJFNDkwMDdFNkI0MyAvKiBhY2NlcHRzRmlyc3RNb3VzZS5odG1sICovOyB9OworCQkzN0JDQTYx
QzFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0
aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
QkNBNjFCMUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5k
b3dBY3Rpb25zLm1tICovOyB9OwogCQkzN0QzNkVENzFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFs
dGVybmF0ZUhUTUxTdHJpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzN0QzNkVENjFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0ZUhUTUxT
dHJpbmcubW0gKi87IH07CiAJCTM3RDM2RjMyMUIwMDRERDQwMEJBRjVEOSAvKiBQcm92aXNpb25h
bFVSTENoYW5nZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3RDM2RjMxMUIwMDRERDQwMEJBRjVEOSAvKiBQcm92aXNpb25hbFVSTENoYW5nZS5tbSAq
LzsgfTsKIAkJMzdEQzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0RDNjc4RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sICovOyB9OwpA
QCAtNDk4LDYgKzQ5OSw3IEBACiAJCTM3OTAyOEI4MTRGQUJFNDkwMDdFNkI0MyAvKiBhY2NlcHRz
Rmlyc3RNb3VzZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gYWNjZXB0c0ZpcnN0
TW91c2UuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzc5OUFEMzkxNDEyMEE0
MzAwNUVCMEM2IC8qIFN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5nLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdEZyb21TdHJpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3
QTY4OTVEMTQ4QTlCNTAwMDUxMDBGQSAvKiBTdWJyZXNvdXJjZUVycm9yQ3Jhc2gubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdWJyZXNvdXJjZUVycm9yQ3Jhc2gu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3QkNBNjFCMUI1OTZCQTkwMDIwMTJD
QSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2hvdWxkT3BlbkV4dGVybmFsVVJMc0lu
TmV3V2luZG93QWN0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdDNzg0
REUxOTdDOEYyRTAwMTBBNDk2IC8qIFJlbmRlcmVkSW1hZ2VGcm9tRE9NTm9kZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbmRlcmVkSW1hZ2VGcm9tRE9NTm9k
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzdEMzZFRDYxQUY0MkVDRDAwQkFG
NUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTM3RDM2RjMxMUIwMDRERDQwMEJBRjVEOSAvKiBQcm92aXNpb25h
bFVSTENoYW5nZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBy
b3Zpc2lvbmFsVVJMQ2hhbmdlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODU4
LDYgKzg2MCw3IEBACiAJCQkJQ0VBNkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9z
ZVdpbmRvdy5tbSAqLywKIAkJCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5j
ZXMubW0gKi8sCiAJCQkJMzdEMzZGMzExQjAwNERENDAwQkFGNUQ5IC8qIFByb3Zpc2lvbmFsVVJM
Q2hhbmdlLm1tICovLAorCQkJCTM3QkNBNjFCMUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tICovLAogCQkJCTJEOUE1M0FFMUIzMUZB
OEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSAqLywKIAkJCQk3Q0MzRTFGQTE5N0UyMzQxMDBC
RTYyNTIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLm1tICovLAogCQkJCTBGM0I5NEE1MUE3NzI2
NkMwMERFMzI3MiAvKiBXS1dlYlZpZXdFdmFsdWF0ZUphdmFTY3JpcHQubW0gKi8sCkBAIC0xNDcy
LDYgKzE0NzUsNyBAQAogCQkJCTdDQ0U3RjIzMUE0MTFBRjYwMDQ0N0M0QyAvKiBEb3dubG9hZC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUVFMUE0MTFBRTYwMDQ0N0M0QyAvKiBEb3dubG9h
ZERlY2lkZURlc3RpbmF0aW9uQ3Jhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkUx
QTQxMUE3RTAwNDQ3QzRDIC8qIER5bmFtaWNEZXZpY2VTY2FsZUZhY3Rvci5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTM3QkNBNjFDMUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFRkE5NjYxQUMw
QjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0VFMDFBNDExQTlBMDA0NDdDNEMgLyogRWRpdG9yQ29tbWFuZHMubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCRjFBNDExQTdFMDA0NDdDNEMgLyogRWxlbWVudEF0
UG9pbnRJbldlYkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9TaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dB
Y3Rpb25zLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMubW0JKHJldmlz
aW9uIDApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9TaG91bGRP
cGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW1wb3J0
ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLTmF2aWdhdGlvbkFjdGlv
blByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFdLX0FQSV9FTkFC
TEVECisKK3N0YXRpYyBib29sIGNyZWF0ZWRXZWJWaWV3Oworc3RhdGljIGJvb2wgZGVjaWRlZFBv
bGljeTsKK3N0YXRpYyBib29sIGZpbmlzaGVkTmF2aWdhdGlvbjsKK3N0YXRpYyBSZXRhaW5QdHI8
V0tOYXZpZ2F0aW9uQWN0aW9uPiBhY3Rpb247CitzdGF0aWMgUmV0YWluUHRyPFdLV2ViVmlldz4g
bmV3V2ViVmlldzsKKworQGludGVyZmFjZSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5k
b3dBY3Rpb25zQ29udHJvbGxlciA6IE5TT2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tV
SURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gU2hvdWxkT3BlbkV4dGVybmFsVVJM
c0luTmV3V2luZG93QWN0aW9uc0NvbnRyb2xsZXIKKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlv
bkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3kpKWRlY2lzaW9uSGFuZGxlcgoreworICAgIGRlY2lzaW9uSGFu
ZGxlcih3ZWJWaWV3ID09IG5ld1dlYlZpZXcuZ2V0KCkgPyBXS05hdmlnYXRpb25BY3Rpb25Qb2xp
Y3lDYW5jZWwgOiBXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisKKyAgICBhY3Rpb24g
PSBuYXZpZ2F0aW9uQWN0aW9uOworICAgIGRlY2lkZWRQb2xpY3kgPSB0cnVlOworfQorCistICh2
b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmluaXNoTmF2aWdhdGlvbjooV0tO
YXZpZ2F0aW9uICopbmF2aWdhdGlvbgoreworICAgIGZpbmlzaGVkTmF2aWdhdGlvbiA9IHRydWU7
Cit9CisKKy0gKFdLV2ViVmlldyAqKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY3JlYXRl
V2ViVmlld1dpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmln
dXJhdGlvbiBmb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0
aW9uQWN0aW9uIHdpbmRvd0ZlYXR1cmVzOihXS1dpbmRvd0ZlYXR1cmVzICopd2luZG93RmVhdHVy
ZXMKK3sKKyAgICBhY3Rpb24gPSBuYXZpZ2F0aW9uQWN0aW9uOworICAgIG5ld1dlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworCisgICAgY3JlYXRlZFdl
YlZpZXcgPSB0cnVlOworICAgIHJldHVybiBuZXdXZWJWaWV3LmdldCgpOworfQorCitAZW5kCisK
K1RFU1QoV2ViS2l0MiwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luV2luZG93T3BlbikKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAgICBhdXRvIHdpbmRvdyA9IGFkb3B0
TlMoW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpbd2ViVmlldyBmcmFtZV0g
c3R5bGVNYXNrOk5TQm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1
ZmZlcmVkIGRlZmVyOllFU10pOworICAgIFtbd2luZG93IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3
OndlYlZpZXcuZ2V0KCldOworCisgICAgYXV0byBjb250cm9sbGVyID0gYWRvcHROUyhbW1Nob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnNDb250cm9sbGVyIGFsbG9jXSBpbml0
XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmNvbnRyb2xsZXIuZ2V0KCld
OworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6Y29udHJvbGxlci5nZXQoKV07CisKKyAgICBb
d2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjxib2R5IG9uY2xpY2s9XCJ3aW5kb3cub3BlbignaHR0
cDovL3dlYmtpdC5vcmcvZGVzdGluYXRpb24nKVwiPiIgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAImh0dHA6Ly93ZWJraXQub3JnIl1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZmluaXNoZWROYXZpZ2F0aW9uKTsKKyAgICBmaW5pc2hlZE5hdmlnYXRpb24gPSBmYWxzZTsK
KworICAgIE5TUG9pbnQgY2xpY2tQb2ludCA9IE5TTWFrZVBvaW50KDEwMCwgMTAwKTsKKworICAg
IFtbd2ViVmlldyBoaXRUZXN0OmNsaWNrUG9pbnRdIG1vdXNlRG93bjpbTlNFdmVudCBtb3VzZUV2
ZW50V2l0aFR5cGU6TlNMZWZ0TW91c2VEb3duIGxvY2F0aW9uOmNsaWNrUG9pbnQgbW9kaWZpZXJG
bGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjpbd2luZG93IHdpbmRvd051bWJlcl0gY29u
dGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6MV1dOworICAgIFtb
d2ViVmlldyBoaXRUZXN0OmNsaWNrUG9pbnRdIG1vdXNlVXA6W05TRXZlbnQgbW91c2VFdmVudFdp
dGhUeXBlOk5TTGVmdE1vdXNlVXAgbG9jYXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAg
dGltZXN0YW1wOjAgd2luZG93TnVtYmVyOlt3aW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5p
bCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZjcmVhdGVkV2ViVmlldyk7CisgICAgY3JlYXRlZFdlYlZpZXcgPSBm
YWxzZTsKKworICAgIC8vIFVzZXItaW5pdGlhdGVkIHdpbmRvdy5vcGVuIHRvIHRoZSBzYW1lIHNj
aGVtZSwgaG9zdCBhbmQgcG9ydCBzaG91bGQgYWxsb3cgZXh0ZXJuYWwgc2NoZW1lcyBidXQgbm90
IEFwcCBMaW5rcy4KKyAgICBBU1NFUlRfVFJVRShbYWN0aW9uIF9zaG91bGRPcGVuRXh0ZXJuYWxT
Y2hlbWVzXSk7CisgICAgQVNTRVJUX0ZBTFNFKFthY3Rpb24gX3Nob3VsZE9wZW5BcHBMaW5rc10p
OworCisgICAgZGVjaWRlZFBvbGljeSA9IGZhbHNlOworICAgIFtuZXdXZWJWaWV3IHNldE5hdmln
YXRpb25EZWxlZ2F0ZTpjb250cm9sbGVyLmdldCgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRlY2lkZWRQb2xpY3kpOworICAgIGRlY2lkZWRQb2xpY3kgPSBmYWxzZTsKKworICAg
IC8vIFVzZXItaW5pdGlhdGVkIHdpbmRvdy5vcGVuIHRvIHRoZSBzYW1lIHNjaGVtZSwgaG9zdCBh
bmQgcG9ydCBzaG91bGQgYWxsb3cgZXh0ZXJuYWwgc2NoZW1lcyBidXQgbm90IEFwcCBMaW5rcy4K
KyAgICBBU1NFUlRfVFJVRShbYWN0aW9uIF9zaG91bGRPcGVuRXh0ZXJuYWxTY2hlbWVzXSk7Cisg
ICAgQVNTRVJUX0ZBTFNFKFthY3Rpb24gX3Nob3VsZE9wZW5BcHBMaW5rc10pOworCisgICAgW3dl
YlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8Ym9keSBvbmNsaWNrPVwid2luZG93Lm9wZW4oJ2h0dHBz
Oi8vd2Via2l0Lm9yZy9kZXN0aW5hdGlvbicpXCI+IiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAiaHR0cDovL3dlYmtpdC5vcmciXV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZmaW5pc2hlZE5hdmlnYXRpb24pOworICAgIGZpbmlzaGVkTmF2aWdhdGlvbiA9IGZhbHNlOwor
CisgICAgW1t3ZWJWaWV3IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VEb3duOltOU0V2ZW50IG1v
dXNlRXZlbnRXaXRoVHlwZTpOU0xlZnRNb3VzZURvd24gbG9jYXRpb246Y2xpY2tQb2ludCBtb2Rp
ZmllckZsYWdzOjAgdGltZXN0YW1wOjAgd2luZG93TnVtYmVyOlt3aW5kb3cgd2luZG93TnVtYmVy
XSBjb250ZXh0Om5pbCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07Cisg
ICAgW1t3ZWJWaWV3IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VVcDpbTlNFdmVudCBtb3VzZUV2
ZW50V2l0aFR5cGU6TlNMZWZ0TW91c2VVcCBsb2NhdGlvbjpjbGlja1BvaW50IG1vZGlmaWVyRmxh
Z3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6W3dpbmRvdyB3aW5kb3dOdW1iZXJdIGNvbnRl
eHQ6bmlsIGV2ZW50TnVtYmVyOjAgY2xpY2tDb3VudDoxIHByZXNzdXJlOjFdXTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNyZWF0ZWRXZWJWaWV3KTsKKyAgICBjcmVhdGVkV2ViVmll
dyA9IGZhbHNlOworCisgICAgLy8gVXNlci1pbml0aWF0ZWQgd2luZG93Lm9wZW4gdG8gZGlmZmVy
ZW50IHNjaGVtZSwgaG9zdCBvciBwb3J0IHNob3VsZCBhbGxvdyBleHRlcm5hbCBzY2hlbWVzIGFu
ZCBBcHAgTGlua3MuCisgICAgQVNTRVJUX1RSVUUoW2FjdGlvbiBfc2hvdWxkT3BlbkV4dGVybmFs
U2NoZW1lc10pOworICAgIEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3VsZE9wZW5BcHBMaW5rc10p
OworCisgICAgZGVjaWRlZFBvbGljeSA9IGZhbHNlOworICAgIFtuZXdXZWJWaWV3IHNldE5hdmln
YXRpb25EZWxlZ2F0ZTpjb250cm9sbGVyLmdldCgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRlY2lkZWRQb2xpY3kpOworICAgIGRlY2lkZWRQb2xpY3kgPSBmYWxzZTsKKworICAg
IC8vIFVzZXItaW5pdGlhdGVkIHdpbmRvdy5vcGVuIHRvIGRpZmZlcmVudCBzY2hlbWUsIGhvc3Qg
b3IgcG9ydCBzaG91bGQgYWxsb3cgZXh0ZXJuYWwgc2NoZW1lcyBhbmQgQXBwIExpbmtzLgorICAg
IEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3VsZE9wZW5FeHRlcm5hbFNjaGVtZXNdKTsKKyAgICBB
U1NFUlRfVFJVRShbYWN0aW9uIF9zaG91bGRPcGVuQXBwTGlua3NdKTsKKworICAgIFt3ZWJWaWV3
IGxvYWRIVE1MU3RyaW5nOkAiPGEgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAl
XCIgaHJlZj1cImRlc3RpbmF0aW9uLmh0bWxcIiB0YXJnZXQ9XCJfYmxhbmtcIj4iIGJhc2VVUkw6
W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vd2Via2l0Lm9yZyJdXTsKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkTmF2aWdhdGlvbik7CisgICAgZmluaXNoZWROYXZp
Z2F0aW9uID0gZmFsc2U7CisKKyAgICBkZWNpZGVkUG9saWN5ID0gZmFsc2U7CisgICAgW1t3ZWJW
aWV3IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VEb3duOltOU0V2ZW50IG1vdXNlRXZlbnRXaXRo
VHlwZTpOU0xlZnRNb3VzZURvd24gbG9jYXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAg
dGltZXN0YW1wOjAgd2luZG93TnVtYmVyOlt3aW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5p
bCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgW1t3ZWJWaWV3
IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VVcDpbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6
TlNMZWZ0TW91c2VVcCBsb2NhdGlvbjpjbGlja1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3Rh
bXA6MCB3aW5kb3dOdW1iZXI6W3dpbmRvdyB3aW5kb3dOdW1iZXJdIGNvbnRleHQ6bmlsIGV2ZW50
TnVtYmVyOjAgY2xpY2tDb3VudDoxIHByZXNzdXJlOjFdXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRlY2lkZWRQb2xpY3kpOworICAgIGRlY2lkZWRQb2xpY3kgPSBmYWxzZTsKKwor
ICAgIC8vIFVzZXItaW5pdGlhdGVkIHRhcmdldGVkIG5hdmlnYXRpb24gdG8gdGhlIHNhbWUgc2No
ZW1lLCBob3N0IGFuZCBwb3J0IHNob3VsZCBhbGxvdyBleHRlcm5hbCBzY2hlbWVzIGJ1dCBub3Qg
QXBwIExpbmtzLgorICAgIEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3VsZE9wZW5FeHRlcm5hbFNj
aGVtZXNdKTsKKyAgICBBU1NFUlRfRkFMU0UoW2FjdGlvbiBfc2hvdWxkT3BlbkFwcExpbmtzXSk7
CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNyZWF0ZWRXZWJWaWV3KTsKKyAgICBj
cmVhdGVkV2ViVmlldyA9IGZhbHNlOworCisgICAgLy8gVXNlci1pbml0aWF0ZWQgdGFyZ2V0ZWQg
bmF2aWdhdGlvbiB0byB0aGUgc2FtZSBzY2hlbWUsIGhvc3QgYW5kIHBvcnQgc2hvdWxkIGFsbG93
IGV4dGVybmFsIHNjaGVtZXMgYnV0IG5vdCBBcHAgTGlua3MuCisgICAgQVNTRVJUX1RSVUUoW2Fj
dGlvbiBfc2hvdWxkT3BlbkV4dGVybmFsU2NoZW1lc10pOworICAgIEFTU0VSVF9GQUxTRShbYWN0
aW9uIF9zaG91bGRPcGVuQXBwTGlua3NdKTsKKworICAgIGRlY2lkZWRQb2xpY3kgPSBmYWxzZTsK
KyAgICBbbmV3V2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6Y29udHJvbGxlci5nZXQoKV07
CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkZWNpZGVkUG9saWN5KTsKKyAgICBkZWNp
ZGVkUG9saWN5ID0gZmFsc2U7CisKKyAgICAvLyBVc2VyLWluaXRpYXRlZCB0YXJnZXRlZCBuYXZp
Z2F0aW9uIHRvIHRoZSBzYW1lIHNjaGVtZSwgaG9zdCBhbmQgcG9ydCBzaG91bGQgYWxsb3cgZXh0
ZXJuYWwgc2NoZW1lcyBidXQgbm90IEFwcCBMaW5rcy4KKyAgICBBU1NFUlRfVFJVRShbYWN0aW9u
IF9zaG91bGRPcGVuRXh0ZXJuYWxTY2hlbWVzXSk7CisgICAgQVNTRVJUX0ZBTFNFKFthY3Rpb24g
X3Nob3VsZE9wZW5BcHBMaW5rc10pOworCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8
YSBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMCVcIiBocmVmPVwiaHR0cHM6Ly93
ZWJraXQub3JnL2Rlc3RpbmF0aW9uLmh0bWxcIiB0YXJnZXQ9XCJfYmxhbmtcIj4iIGJhc2VVUkw6
W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vd2Via2l0Lm9yZyJdXTsKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkTmF2aWdhdGlvbik7CisgICAgZmluaXNoZWROYXZp
Z2F0aW9uID0gZmFsc2U7CisKKyAgICBkZWNpZGVkUG9saWN5ID0gZmFsc2U7CisgICAgW1t3ZWJW
aWV3IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VEb3duOltOU0V2ZW50IG1vdXNlRXZlbnRXaXRo
VHlwZTpOU0xlZnRNb3VzZURvd24gbG9jYXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAg
dGltZXN0YW1wOjAgd2luZG93TnVtYmVyOlt3aW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5p
bCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgW1t3ZWJWaWV3
IGhpdFRlc3Q6Y2xpY2tQb2ludF0gbW91c2VVcDpbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6
TlNMZWZ0TW91c2VVcCBsb2NhdGlvbjpjbGlja1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3Rh
bXA6MCB3aW5kb3dOdW1iZXI6W3dpbmRvdyB3aW5kb3dOdW1iZXJdIGNvbnRleHQ6bmlsIGV2ZW50
TnVtYmVyOjAgY2xpY2tDb3VudDoxIHByZXNzdXJlOjFdXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRlY2lkZWRQb2xpY3kpOworICAgIGRlY2lkZWRQb2xpY3kgPSBmYWxzZTsKKwor
ICAgIC8vIFVzZXItaW5pdGlhdGVkIHRhcmdldGVkIG5hdmlnYXRpb24gdG8gZGlmZmVyZW50IHNj
aGVtZSwgaG9zdCBvciBwb3J0IHNob3VsZCBhbGxvdyBleHRlcm5hbCBzY2hlbWVzIGFuZCBBcHAg
TGlua3MuCisgICAgQVNTRVJUX1RSVUUoW2FjdGlvbiBfc2hvdWxkT3BlbkV4dGVybmFsU2NoZW1l
c10pOworICAgIEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3VsZE9wZW5BcHBMaW5rc10pOworCisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjcmVhdGVkV2ViVmlldyk7CisgICAgY3JlYXRl
ZFdlYlZpZXcgPSBmYWxzZTsKKworICAgIC8vIFVzZXItaW5pdGlhdGVkIHRhcmdldGVkIG5hdmln
YXRpb24gdG8gZGlmZmVyZW50IHNjaGVtZSwgaG9zdCBvciBwb3J0IHNob3VsZCBhbGxvdyBleHRl
cm5hbCBzY2hlbWVzIGFuZCBBcHAgTGlua3MuCisgICAgQVNTRVJUX1RSVUUoW2FjdGlvbiBfc2hv
dWxkT3BlbkV4dGVybmFsU2NoZW1lc10pOworICAgIEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3Vs
ZE9wZW5BcHBMaW5rc10pOworCisgICAgZGVjaWRlZFBvbGljeSA9IGZhbHNlOworICAgIFtuZXdX
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpjb250cm9sbGVyLmdldCgpXTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRlY2lkZWRQb2xpY3kpOworICAgIGRlY2lkZWRQb2xpY3kg
PSBmYWxzZTsKKworICAgIC8vIFVzZXItaW5pdGlhdGVkIHRhcmdldGVkIG5hdmlnYXRpb24gdG8g
ZGlmZmVyZW50IHNjaGVtZSwgaG9zdCBvciBwb3J0IHNob3VsZCBhbGxvdyBleHRlcm5hbCBzY2hl
bWVzIGFuZCBBcHAgTGlua3MuCisgICAgQVNTRVJUX1RSVUUoW2FjdGlvbiBfc2hvdWxkT3BlbkV4
dGVybmFsU2NoZW1lc10pOworICAgIEFTU0VSVF9UUlVFKFthY3Rpb24gX3Nob3VsZE9wZW5BcHBM
aW5rc10pOworCisgICAgbmV3V2ViVmlldyA9IG51bGxwdHI7CisgICAgYWN0aW9uID0gbnVsbHB0
cjsKK30KKworI2VuZGlmCg==
</data>
<flag name="review"
          id="282090"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>