<?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>189377</bug_id>
          
          <creation_ts>2018-09-06 15:13:07 -0700</creation_ts>
          <short_desc>[LFC][BFC] Add support for min(max)-height</short_desc>
          <delta_ts>2018-09-07 09:29:29 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457284</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-06 15:13:07 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457287</commentid>
    <comment_count>1</comment_count>
      <attachid>349082</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-09-06 15:16:32 -0700</bug_when>
    <thetext>Created attachment 349082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457303</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-06 15:40:02 -0700</bug_when>
    <thetext>Committed r235763: &lt;https://trac.webkit.org/changeset/235763&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457484</commentid>
    <comment_count>3</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2018-09-07 08:40:27 -0700</bug_when>
    <thetext>Looks like fast/block/block-only/absolute-position-min-max-height.html is a constant failure on iOS

Test History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=fast%2Fblock%2Fblock-only%2Fabsolute-position-min-max-height.html

Diff:
--- /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-results/fast/block/block-only/absolute-position-min-max-height-expected.txt
+++ /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-results/fast/block/block-only/absolute-position-min-max-height-actual.txt
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x602
-  RenderView at (0,0) size 785x600
-layer at (0,0) size 785x8
-  RenderBlock {HTML} at (0,0) size 785x8
-    RenderBody {BODY} at (8,8) size 769x0
+layer at (0,0) size 800x602
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x8
+  RenderBlock {HTML} at (0,0) size 800x8
+    RenderBody {BODY} at (8,8) size 784x0
 layer at (8,8) size 102x54
   RenderBlock (positioned) {DIV} at (8,8) size 102x54 [border: (1px solid #008000)]
     RenderBlock {DIV} at (1,1) size 102x52 [border: (1px solid #FF0000)]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457485</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-07 08:40:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/44225408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457510</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-07 09:29:29 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #3)
&gt; Looks like fast/block/block-only/absolute-position-min-max-height.html is a
&gt; constant failure on iOS
&gt; 
&gt; Test History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=fast%2Fblock%2Fblock-only%2Fabsolute-position-
&gt; min-max-height.html
&gt; 
&gt; Diff:
&gt; ---
&gt; /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-
&gt; results/fast/block/block-only/absolute-position-min-max-height-expected.txt
&gt; +++
&gt; /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-
&gt; results/fast/block/block-only/absolute-position-min-max-height-actual.txt
&gt; @@ -1,8 +1,8 @@
&gt; -layer at (0,0) size 785x602
&gt; -  RenderView at (0,0) size 785x600
&gt; -layer at (0,0) size 785x8
&gt; -  RenderBlock {HTML} at (0,0) size 785x8
&gt; -    RenderBody {BODY} at (8,8) size 769x0
&gt; +layer at (0,0) size 800x602
&gt; +  RenderView at (0,0) size 800x600
&gt; +layer at (0,0) size 800x8
&gt; +  RenderBlock {HTML} at (0,0) size 800x8
&gt; +    RenderBody {BODY} at (8,8) size 784x0
&gt;  layer at (8,8) size 102x54
&gt;    RenderBlock (positioned) {DIV} at (8,8) size 102x54 [border: (1px solid
&gt; #008000)]
&gt;      RenderBlock {DIV} at (1,1) size 102x52 [border: (1px solid #FF0000)]

https://trac.webkit.org/changeset/235783/webkit should take care of it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349082</attachid>
            <date>2018-09-06 15:16:32 -0700</date>
            <delta_ts>2018-09-06 15:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189377-20180906151629.patch</filename>
            <type>text/plain</type>
            <size>34308</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRhYWI0NmYwYTk5OWM1
ZDE3M2VhZTBhNmIyZjAwMzBhM2FkOTU5Ni4uYzQwYWI2Mjg3ZmY1NGMxNzdlMWVhOTdhYjI5MTA0
M2FiZWQyNjExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTA5LTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXSBBZGQgc3Vw
cG9ydCBmb3IgbWluKG1heCktaGVpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODkzNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIyL3Zpc3VkZXQu
aHRtbCNtaW4tbWF4LWhlaWdodHMgZm9yIGRldGFpbHMuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
YmxvY2svYmxvY2stb25seS9hYnNvbHV0ZS1wb3NpdGlvbi1taW4tbWF4LWhlaWdodC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvZmxvYXQtbWluLW1heC1oZWlnaHQu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9ibG9jay9ibG9jay1vbmx5L2luZmxvdy1taW4tbWF4
LWhlaWdodC5odG1sCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9m
Rmxvd1ZlcnRpY2FsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6Om91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nSGVpZ2h0QW5kTWFy
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjppbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcGxpY2F0ZWRDYXNlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0
T2ZGbG93UmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZFZlcnRp
Y2FsR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6OmZsb2F0aW5nUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAq
IGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNl
ZFZlcnRpY2FsR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9tZXRyeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29t
cGxpY2F0ZWRDYXNlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNlZEhlaWdodEFuZE1hcmdpbik6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93
VmVydGljYWxHZW9tZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2Vk
SGVpZ2h0QW5kTWFyZ2luKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0QW5kTWFyZ2luIGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Omlu
Rmxvd0hlaWdodEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdp
bik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4pOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRy
eTo6aW5GbG93SGVpZ2h0QW5kTWFyZ2luKToKKwogMjAxOC0wOS0wNiAgWmFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gQWRkIHN1cHBvcnQgZm9yIG1p
bihtYXgpLXdpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGlu
Z0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNw
cAppbmRleCBiN2E3OGUyMjkzMTJkMTg2MGNlYzRkZmMzMGU1ZjI2MGRkZThjNTFkLi44ZWFhZjNj
MjNkZTdlMzI2NWEzOGIwNTkxOGFlNzAwZWQ3ZDE5OTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTgxLDcgKzgxLDIzIEBAIHZvaWQgRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkoTGF5b3V0Q29u
dGV4dCYgbGF5b3V0CiAKIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dW
ZXJ0aWNhbEdlb21ldHJ5KGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0
IEJveCYgbGF5b3V0Qm94KSBjb25zdAogewotICAgIGF1dG8gdmVydGljYWxHZW9tZXRyeSA9IEdl
b21ldHJ5OjpvdXRPZkZsb3dWZXJ0aWNhbEdlb21ldHJ5KGxheW91dENvbnRleHQsIGxheW91dEJv
eCk7CisgICAgYXV0byBjb21wdXRlID0gWyZdKHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJl
Y29tcHV0ZWRIZWlnaHQpIHsKKyAgICAgICAgcmV0dXJuIEdlb21ldHJ5OjpvdXRPZkZsb3dWZXJ0
aWNhbEdlb21ldHJ5KGxheW91dENvbnRleHQsIGxheW91dEJveCwgcHJlY29tcHV0ZWRIZWlnaHQp
OworICAgIH07CisKKyAgICBhdXRvIHZlcnRpY2FsR2VvbWV0cnkgPSBjb21wdXRlKHsgfSk7Cisg
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBwZXJjZW50YWdlIHZhbHVlcyB3aGVyZSB0aGUg
Y29udGFpbmluZyBibG9jaydzIGhlaWdodCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZC4KKyAgICBp
ZiAoYXV0byBtYXhIZWlnaHQgPSBHZW9tZXRyeTo6Zml4ZWRWYWx1ZShsYXlvdXRCb3guc3R5bGUo
KS5sb2dpY2FsTWF4SGVpZ2h0KCkpKSB7CisgICAgICAgIGF1dG8gbWF4VmVydGljYWxHZW9tZXRy
eSA9IGNvbXB1dGUobWF4SGVpZ2h0KTsKKyAgICAgICAgaWYgKHZlcnRpY2FsR2VvbWV0cnkuaGVp
Z2h0QW5kTWFyZ2luLmhlaWdodCA+IG1heFZlcnRpY2FsR2VvbWV0cnkuaGVpZ2h0QW5kTWFyZ2lu
LmhlaWdodCkKKyAgICAgICAgICAgIHZlcnRpY2FsR2VvbWV0cnkgPSBtYXhWZXJ0aWNhbEdlb21l
dHJ5OworICAgIH0KKworICAgIGlmIChhdXRvIG1pbkhlaWdodCA9IEdlb21ldHJ5OjpmaXhlZFZh
bHVlKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKSkpIHsKKyAgICAgICAgYXV0
byBtaW5WZXJ0aWNhbEdlb21ldHJ5ID0gY29tcHV0ZShtaW5IZWlnaHQpOworICAgICAgICBpZiAo
dmVydGljYWxHZW9tZXRyeS5oZWlnaHRBbmRNYXJnaW4uaGVpZ2h0IDwgbWluVmVydGljYWxHZW9t
ZXRyeS5oZWlnaHRBbmRNYXJnaW4uaGVpZ2h0KQorICAgICAgICAgICAgdmVydGljYWxHZW9tZXRy
eSA9IG1pblZlcnRpY2FsR2VvbWV0cnk7CisgICAgfQogCiAgICAgYXV0byYgZGlzcGxheUJveCA9
IGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogICAgIGRp
c3BsYXlCb3guc2V0VG9wKHZlcnRpY2FsR2VvbWV0cnkudG9wICsgdmVydGljYWxHZW9tZXRyeS5o
ZWlnaHRBbmRNYXJnaW4ubWFyZ2luLnRvcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5oCmluZGV4IDNiY2ZlZTgyNGZmZTAyYjQzNjgzMWRkMzMzNDc5ZTRiMzRjNDMy
MWUuLjNkN2I5OGM1YTM5OWY4OTMyMjEyNmYwMmRlMWM1NzM3Mzk3NTdiMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC04MiwxNyArODIsMTcgQEAgcHJv
dGVjdGVkOgogICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBnZW5lcmljIHBvc2l0aW9uaW5n
IGFuZCBzaXppbmcuCiAgICAgY2xhc3MgR2VvbWV0cnkgewogICAgIHB1YmxpYzoKLSAgICAgICAg
c3RhdGljIFZlcnRpY2FsR2VvbWV0cnkgb3V0T2ZGbG93VmVydGljYWxHZW9tZXRyeShjb25zdCBM
YXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBWZXJ0aWNhbEdlb21l
dHJ5IG91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0
IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRIZWlnaHQgPSB7IH0p
OwogICAgICAgICBzdGF0aWMgSG9yaXpvbnRhbEdlb21ldHJ5IG91dE9mRmxvd0hvcml6b250YWxH
ZW9tZXRyeShMYXlvdXRDb250ZXh0JiwgY29uc3QgRm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBC
b3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkV2lkdGggPSB7IH0pOwog
Ci0gICAgICAgIHN0YXRpYyBIZWlnaHRBbmRNYXJnaW4gZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4o
Y29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAgICBzdGF0aWMgSGVpZ2h0
QW5kTWFyZ2luIGZsb2F0aW5nSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0ID0g
eyB9KTsKICAgICAgICAgc3RhdGljIFdpZHRoQW5kTWFyZ2luIGZsb2F0aW5nV2lkdGhBbmRNYXJn
aW4oTGF5b3V0Q29udGV4dCYsIGNvbnN0IEZvcm1hdHRpbmdDb250ZXh0JiwgY29uc3QgQm94Jiwg
c3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZFdpZHRoID0geyB9KTsKIAotICAg
ICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2luIGlubGluZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2lu
KGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIEhlaWdo
dEFuZE1hcmdpbiBpbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250
ZXh0JiwgY29uc3QgQm94Jiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZEhl
aWdodCA9IHsgfSk7CiAgICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBpbmxpbmVSZXBsYWNl
ZFdpZHRoQW5kTWFyZ2luKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6Om9w
dGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkV2lkdGggPSB7IH0sIAogICAgICAgICAgICAg
c3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZE1hcmdpbkxlZnQgPSB7IH0sIHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRNYXJnaW5SaWdodCA9IHsgfSk7CiAK
LSAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBjb21wbGljYXRlZENhc2VzKGNvbnN0IExh
eW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdp
biBjb21wbGljYXRlZENhc2VzKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0ID0geyB9KTsKIAogICAgICAg
ICBzdGF0aWMgRWRnZXMgY29tcHV0ZWRCb3JkZXIoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0
IEJveCYpOwogICAgICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxFZGdlcz4gY29tcHV0ZWRQYWRk
aW5nKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKQEAgLTEwNCwxMyArMTA0LDEz
IEBAIHByb3RlY3RlZDoKICAgICAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4g
Zml4ZWRWYWx1ZShjb25zdCBMZW5ndGgmIGdlb21ldHJ5UHJvcGVydHkpOwogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgc3RhdGljIFZlcnRpY2FsR2VvbWV0cnkgb3V0T2ZGbG93UmVwbGFjZWRWZXJ0
aWNhbEdlb21ldHJ5KGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAg
c3RhdGljIFZlcnRpY2FsR2VvbWV0cnkgb3V0T2ZGbG93UmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5
KGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IHByZWNvbXB1dGVkSGVpZ2h0ID0geyB9KTsKICAgICAgICAgc3RhdGljIEhvcml6b250YWxH
ZW9tZXRyeSBvdXRPZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZXRyeShjb25zdCBMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94Jiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRl
ZFdpZHRoID0geyB9KTsKIAotICAgICAgICBzdGF0aWMgVmVydGljYWxHZW9tZXRyeSBvdXRPZkZs
b3dOb25SZXBsYWNlZFZlcnRpY2FsR2VvbWV0cnkoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0
IEJveCYpOworICAgICAgICBzdGF0aWMgVmVydGljYWxHZW9tZXRyeSBvdXRPZkZsb3dOb25SZXBs
YWNlZFZlcnRpY2FsR2VvbWV0cnkoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRIZWlnaHQgPSB7IH0pOwogICAgICAg
ICBzdGF0aWMgSG9yaXpvbnRhbEdlb21ldHJ5IG91dE9mRmxvd05vblJlcGxhY2VkSG9yaXpvbnRh
bEdlb21ldHJ5KExheW91dENvbnRleHQmLCBjb25zdCBGb3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0
IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRXaWR0aCA9IHsgfSk7
CiAKLSAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ1JlcGxhY2VkSGVpZ2h0
QW5kTWFyZ2luKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3Rh
dGljIEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ1JlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGNvbnN0
IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHBy
ZWNvbXB1dGVkSGVpZ2h0ID0geyB9KTsKICAgICAgICAgc3RhdGljIFdpZHRoQW5kTWFyZ2luIGZs
b2F0aW5nUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3Qg
Qm94Jiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZFdpZHRoID0geyB9KTsK
IAogICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gZmxvYXRpbmdOb25SZXBsYWNlZFdpZHRo
QW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBGb3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0
IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRXaWR0aCA9IHsgfSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRy
eS5jcHAKaW5kZXggNDVmZDVhZDE0YWVmNDQxOWZmZjA3NTcwZmMwZmMwMWQ5MWFmNzFmYS4uMDJl
NjQ0ZDJiYzc5ZTc2MDM4ZTkxYWQwYjk3OGZlODZkMjczZDQzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTYxLDcg
KzE2MSw3IEBAIExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzaHJpbmtU
b0ZpdFdpZHRoKExheW91dENvbnRleHQmIGxheW91dENvCiAgICAgcmV0dXJuIHN0ZDo6bWluKHN0
ZDo6bWF4KGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzLm1pbmltdW0sIGF2YWlsYWJsZVdpZHRo
KSwgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMubWF4aW11bSk7CiB9CiAKLVZlcnRpY2FsR2Vv
bWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZFZl
cnRpY2FsR2VvbWV0cnkoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3Qg
Qm94JiBsYXlvdXRCb3gpCitWZXJ0aWNhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5KGNvbnN0IExheW91dENv
bnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBzdGQ6Om9wdGlvbmFs
PExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0KQogewogICAgIEFTU0VSVChsYXlvdXRCb3gu
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgIWxheW91dEJveC5yZXBsYWNlZCgpKTsKIApAQCAt
MTk3LDcgKzE5Nyw3IEBAIFZlcnRpY2FsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZFZlcnRpY2FsR2VvbWV0CiAKICAgICBhdXRvIHRvcCA9
IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubG9naWNhbFRvcCgpLCBjb250YWluaW5nQmxv
Y2tXaWR0aCk7CiAgICAgYXV0byBib3R0b20gPSBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKHN0eWxl
LmxvZ2ljYWxCb3R0b20oKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwotICAgIGF1dG8gaGVpZ2h0
ID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5sb2dpY2FsSGVpZ2h0KCksIGNvbnRhaW5p
bmdCbG9ja0hlaWdodCk7CisgICAgYXV0byBoZWlnaHQgPSBjb21wdXRlZFZhbHVlSWZOb3RBdXRv
KHByZWNvbXB1dGVkSGVpZ2h0ID8gTGVuZ3RoIHsgcHJlY29tcHV0ZWRIZWlnaHQudmFsdWUoKSwg
Rml4ZWQgfSA6IHN0eWxlLmxvZ2ljYWxIZWlnaHQoKSwgY29udGFpbmluZ0Jsb2NrSGVpZ2h0KTsK
ICAgICBhdXRvIG1hcmdpblRvcCA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubWFyZ2lu
VG9wKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKICAgICBhdXRvIG1hcmdpbkJvdHRvbSA9IGNv
bXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubWFyZ2luQm90dG9tKCksIGNvbnRhaW5pbmdCbG9j
a1dpZHRoKTsKICAgICBhdXRvIHBhZGRpbmdUb3AgPSBkaXNwbGF5Qm94LnBhZGRpbmdUb3AoKS52
YWx1ZV9vcigwKTsKQEAgLTQyMyw3ICs0MjMsNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZEhvcml6b250YWxHZQog
ICAgIHJldHVybiB7ICpsZWZ0LCAqcmlnaHQsIHsgKndpZHRoLCB7ICptYXJnaW5MZWZ0LCAqbWFy
Z2luUmlnaHQgfSwgeyBub25Db21wdXRlZE1hcmdpbkxlZnQsIG5vbkNvbXB1dGVkTWFyZ2luUmln
aHQgfSB9IH07CiB9CiAKLVZlcnRpY2FsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpvdXRPZkZsb3dSZXBsYWNlZFZlcnRpY2FsR2VvbWV0cnkoY29uc3QgTGF5b3V0Q29udGV4
dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitWZXJ0aWNhbEdlb21ldHJ5
IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93UmVwbGFjZWRWZXJ0aWNhbEdl
b21ldHJ5KGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5
b3V0Qm94LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0KQogewog
ICAgIEFTU0VSVChsYXlvdXRCb3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgbGF5b3V0Qm94
LnJlcGxhY2VkKCkpOwogCkBAIC00NDUsNyArNDQ1LDcgQEAgVmVydGljYWxHZW9tZXRyeSBGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9tZXRy
eSgKIAogICAgIGF1dG8gdG9wID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5sb2dpY2Fs
VG9wKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKICAgICBhdXRvIGJvdHRvbSA9IGNvbXB1dGVk
VmFsdWVJZk5vdEF1dG8oc3R5bGUubG9naWNhbEJvdHRvbSgpLCBjb250YWluaW5nQmxvY2tXaWR0
aCk7Ci0gICAgYXV0byBoZWlnaHQgPSBpbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihsYXlv
dXRDb250ZXh0LCBsYXlvdXRCb3gpLmhlaWdodDsKKyAgICBhdXRvIGhlaWdodCA9IGlubGluZVJl
cGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCwgcHJlY29tcHV0
ZWRIZWlnaHQpLmhlaWdodDsKICAgICBhdXRvIG1hcmdpblRvcCA9IGNvbXB1dGVkVmFsdWVJZk5v
dEF1dG8oc3R5bGUubWFyZ2luVG9wKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKICAgICBhdXRv
IG1hcmdpbkJvdHRvbSA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubWFyZ2luQm90dG9t
KCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKICAgICBhdXRvIHBhZGRpbmdUb3AgPSBkaXNwbGF5
Qm94LnBhZGRpbmdUb3AoKS52YWx1ZV9vcigwKTsKQEAgLTU5MCw3ICs1OTAsNyBAQCBIb3Jpem9u
dGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dSZXBsYWNl
ZEhvcml6b250YWxHZW9tZQogICAgIHJldHVybiB7ICpsZWZ0LCAqcmlnaHQsIHsgd2lkdGgsIHsg
Km1hcmdpbkxlZnQsICptYXJnaW5SaWdodCB9LCB7IG5vbkNvbXB1dGVkTWFyZ2luTGVmdCwgbm9u
Q29tcHV0ZWRNYXJnaW5SaWdodCB9IH0gfTsKIH0KIAotSGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcGxpY2F0ZWRDYXNlcyhjb25zdCBMYXlvdXRDb250ZXh0
JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0hlaWdodEFuZE1hcmdpbiBG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXBsaWNhdGVkQ2FzZXMoY29uc3QgTGF5b3V0
Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIHN0ZDo6b3B0aW9u
YWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRIZWlnaHQpCiB7CiAgICAgQVNTRVJUKCFsYXlvdXRC
b3gucmVwbGFjZWQoKSk7CiAgICAgLy8gVE9ETzogVXNlIGNvbXBsaWNhdGVkLWNhc2UgZm9yIGRv
Y3VtZW50IHJlbmRlcmVyIGZvciBub3cgKHNlZSBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6aW5GbG93SGVpZ2h0QW5kTWFyZ2luKS4KQEAgLTYxMCw3ICs2MTAsNyBAQCBIZWlnaHRB
bmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wbGljYXRlZENhc2VzKGNv
bnN0IExheW91dENvbnRleAogICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9ja0Rpc3BsYXlCb3ggPSBs
YXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29udGFpbmluZ0Jsb2NrKTsKICAg
ICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dpZHRoID0gY29udGFpbmluZ0Jsb2NrRGlzcGxheUJveC5j
b250ZW50Qm94V2lkdGgoKTsKIAotICAgIGF1dG8gaGVpZ2h0ID0gZml4ZWRWYWx1ZShzdHlsZS5s
b2dpY2FsSGVpZ2h0KCkpOworICAgIGF1dG8gaGVpZ2h0ID0gZml4ZWRWYWx1ZShwcmVjb21wdXRl
ZEhlaWdodCA/IExlbmd0aCB7IHByZWNvbXB1dGVkSGVpZ2h0LnZhbHVlKCksIEZpeGVkIH0gOiBz
dHlsZS5sb2dpY2FsSGVpZ2h0KCkpOwogICAgIGF1dG8gbWFyZ2luVG9wID0gY29tcHV0ZWRWYWx1
ZUlmTm90QXV0byhzdHlsZS5tYXJnaW5Ub3AoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwogICAg
IGF1dG8gbWFyZ2luQm90dG9tID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5tYXJnaW5C
b3R0b20oKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwogCkBAIC02NTYsMTQgKzY1NiwxNCBAQCBX
aWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nTm9uUmVw
bGFjZWRXaWR0aEFuZE1hcmdpbihMYQogICAgIHJldHVybiBXaWR0aEFuZE1hcmdpbiB7ICp3aWR0
aCwgbWFyZ2luLCBtYXJnaW4gfTsKIH0KIAotSGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlv
dXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0hlaWdodEFu
ZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nUmVwbGFjZWRIZWln
aHRBbmRNYXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94
JiBsYXlvdXRCb3gsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRIZWlnaHQp
CiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpICYmIGxheW91
dEJveC5yZXBsYWNlZCgpKTsKIAogICAgIC8vIDEwLjYuMiBJbmxpbmUgcmVwbGFjZWQgZWxlbWVu
dHMsIGJsb2NrLWxldmVsIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93LCAnaW5saW5l
LWJsb2NrJwogICAgIC8vIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93IGFuZCBmbG9h
dGluZyByZXBsYWNlZCBlbGVtZW50cwogICAgIExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29u
dGV4dExheW91dCwgc3RyZWFtIDw8ICJbSGVpZ2h0XVtNYXJnaW5dIC0+IGZsb2F0aW5nIHJlcGxh
Y2VkIC0+IHJlZGlyZWN0ZWQgdG8gaW5saW5lIHJlcGxhY2VkIik7Ci0gICAgcmV0dXJuIGlubGlu
ZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisgICAg
cmV0dXJuIGlubGluZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91
dEJveCwgcHJlY29tcHV0ZWRIZWlnaHQpOwogfQogCiBXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihjb25zdCBM
YXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZFdpZHRoKQpAQCAtNjgwLDEzICs2ODAsMTMg
QEAgV2lkdGhBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ1Jl
cGxhY2VkV2lkdGhBbmRNYXJnaW4oY29uc3QKICAgICByZXR1cm4gaW5saW5lUmVwbGFjZWRXaWR0
aEFuZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIHByZWNvbXB1dGVkV2lkdGgsIG1h
cmdpbi5sZWZ0LCBtYXJnaW4ucmlnaHQpOwogfQogCi1WZXJ0aWNhbEdlb21ldHJ5IEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93VmVydGljYWxHZW9tZXRyeShjb25zdCBMYXlv
dXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK1ZlcnRpY2Fs
R2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dWZXJ0aWNhbEdl
b21ldHJ5KGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5
b3V0Qm94LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0KQogewog
ICAgIEFTU0VSVChsYXlvdXRCb3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpOwogCiAgICAgaWYg
KCFsYXlvdXRCb3gucmVwbGFjZWQoKSkKLSAgICAgICAgcmV0dXJuIG91dE9mRmxvd05vblJlcGxh
Y2VkVmVydGljYWxHZW9tZXRyeShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOwotICAgIHJldHVy
biBvdXRPZkZsb3dSZXBsYWNlZFZlcnRpY2FsR2VvbWV0cnkobGF5b3V0Q29udGV4dCwgbGF5b3V0
Qm94KTsKKyAgICAgICAgcmV0dXJuIG91dE9mRmxvd05vblJlcGxhY2VkVmVydGljYWxHZW9tZXRy
eShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIHByZWNvbXB1dGVkSGVpZ2h0KTsKKyAgICByZXR1
cm4gb3V0T2ZGbG93UmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5KGxheW91dENvbnRleHQsIGxheW91
dEJveCwgcHJlY29tcHV0ZWRIZWlnaHQpOwogfQogCiBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkoTGF5b3V0
Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRp
bmdDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0
PiBwcmVjb21wdXRlZFdpZHRoKQpAQCAtNjk4LDEzICs2OTgsMTMgQEAgSG9yaXpvbnRhbEdlb21l
dHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93SG9yaXpvbnRhbEdlb21l
dHJ5KExheW8KICAgICByZXR1cm4gb3V0T2ZGbG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWV0cnko
bGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBwcmVjb21wdXRlZFdpZHRoKTsKIH0KIAotSGVpZ2h0
QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdIZWlnaHRBbmRN
YXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlv
dXRCb3gpCitIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9h
dGluZ0hlaWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBj
b25zdCBCb3gmIGxheW91dEJveCwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRl
ZEhlaWdodCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkp
OwogCiAgICAgaWYgKCFsYXlvdXRCb3gucmVwbGFjZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBs
aWNhdGVkQ2FzZXMobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKLSAgICByZXR1cm4gZmxvYXRp
bmdSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOworICAg
ICAgICByZXR1cm4gY29tcGxpY2F0ZWRDYXNlcyhsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIHBy
ZWNvbXB1dGVkSGVpZ2h0KTsKKyAgICByZXR1cm4gZmxvYXRpbmdSZXBsYWNlZEhlaWdodEFuZE1h
cmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIHByZWNvbXB1dGVkSGVpZ2h0KTsKIH0KIAog
V2lkdGhBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ1dpZHRo
QW5kTWFyZ2luKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEZvcm1hdHRpbmdD
b250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRXaWR0aCkKQEAgLTcxNiw3ICs3MTYsNyBAQCBX
aWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nV2lkdGhB
bmRNYXJnaW4oTGF5b3V0Q29udGV4dAogICAgIHJldHVybiBmbG9hdGluZ1JlcGxhY2VkV2lkdGhB
bmRNYXJnaW4obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBwcmVjb21wdXRlZFdpZHRoKTsKIH0K
IAotSGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVw
bGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwg
Y29uc3QgQm94JiBsYXlvdXRCb3gpCitIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250
ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgc3RkOjpvcHRpb25hbDxM
YXlvdXRVbml0PiBwcmVjb21wdXRlZEhlaWdodCkKIHsKICAgICBBU1NFUlQoKGxheW91dEJveC5p
c091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQo
KSB8fCBsYXlvdXRCb3guaXNJbkZsb3coKSkgJiYgbGF5b3V0Qm94LnJlcGxhY2VkKCkpOwogCkBA
IC03MzgsNyArNzM4LDcgQEAgSGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6aW5saW5lUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QKICAgICBhdXRvJiBjb250
YWluaW5nQmxvY2tEaXNwbGF5Qm94ID0gbGF5b3V0Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0
Qm94KCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpOwogICAgIGF1dG8gY29udGFpbmluZ0Js
b2NrV2lkdGggPSBjb250YWluaW5nQmxvY2tEaXNwbGF5Qm94LndpZHRoKCk7CiAKLSAgICBhdXRv
IGhlaWdodCA9IGZpeGVkVmFsdWUoc3R5bGUubG9naWNhbEhlaWdodCgpKTsKKyAgICBhdXRvIGhl
aWdodCA9IGZpeGVkVmFsdWUocHJlY29tcHV0ZWRIZWlnaHQgPyBMZW5ndGggeyBwcmVjb21wdXRl
ZEhlaWdodC52YWx1ZSgpLCBGaXhlZCB9IDogc3R5bGUubG9naWNhbEhlaWdodCgpKTsKICAgICBh
dXRvIGhlaWdodElzQXV0byA9IHN0eWxlLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKTsKICAgICBh
dXRvIHdpZHRoID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5sb2dpY2FsV2lkdGgoKSwg
Y29udGFpbmluZ0Jsb2NrV2lkdGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApp
bmRleCAxNzljNTc2N2ZiOWE4MTRjOGI1YTVkNWE2ZDJjNTI5ODA4Nzg4ZTk5Li5hZGE1YjQ2NWMz
YWRlYzM3MWYzMGY3ZWUyYmNlZTk3YWJiODE3NGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dC5jcHAKQEAgLTI3OCwyOSArMjc4LDQwIEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsCiAK
IHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihjb25z
dCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkgY29u
c3QKIHsKLSAgICBIZWlnaHRBbmRNYXJnaW4gaGVpZ2h0QW5kTWFyZ2luOwotICAgIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0VW5pdD4gbWFyZ2luVG9wT2Zmc2V0OwotICAgIGF1dG8mIGRpc3BsYXlCb3gg
PSBsYXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKKyAgICBh
dXRvIGNvbXB1dGUgPSBbJl0oc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZEhl
aWdodCkgLT4gSGVpZ2h0QW5kTWFyZ2luIHsKIAotICAgIGlmIChsYXlvdXRCb3guaXNJbkZsb3co
KSkgewotICAgICAgICBoZWlnaHRBbmRNYXJnaW4gPSBHZW9tZXRyeTo6aW5GbG93SGVpZ2h0QW5k
TWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisgICAgICAgIGlmIChsYXlvdXRCb3gu
aXNJbkZsb3coKSkKKyAgICAgICAgICAgIHJldHVybiBHZW9tZXRyeTo6aW5GbG93SGVpZ2h0QW5k
TWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCwgcHJlY29tcHV0ZWRIZWlnaHQpOwogCi0g
ICAgICAgIC8vIElmIHRoaXMgYm94IGhhcyBhbHJlYWR5IGJlZW4gbW92ZWQgYnkgdGhlIGVzdGlt
YXRlZCB2ZXJ0aWNhbCBtYXJnaW4sIG5vIG5lZWQgdG8gbW92ZSBpdCBhZ2Fpbi4KLSAgICAgICAg
aWYgKCFkaXNwbGF5Qm94LmVzdGltYXRlZE1hcmdpblRvcCgpKQotICAgICAgICAgICAgbWFyZ2lu
VG9wT2Zmc2V0ID0gaGVpZ2h0QW5kTWFyZ2luLmNvbGxhcHNlZE1hcmdpbi52YWx1ZV9vcihoZWln
aHRBbmRNYXJnaW4ubWFyZ2luKS50b3A7Ci0gICAgfSBlbHNlIGlmIChsYXlvdXRCb3guaXNGbG9h
dGluZ1Bvc2l0aW9uZWQoKSkgewotICAgICAgICBoZWlnaHRBbmRNYXJnaW4gPSBHZW9tZXRyeTo6
ZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKLSAgICAg
ICAgQVNTRVJUKCFoZWlnaHRBbmRNYXJnaW4uY29sbGFwc2VkTWFyZ2luKTsKKyAgICAgICAgaWYg
KGxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgcmV0dXJuIEdl
b21ldHJ5OjpmbG9hdGluZ0hlaWdodEFuZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gs
IHByZWNvbXB1dGVkSGVpZ2h0KTsKIAotICAgICAgICBtYXJnaW5Ub3BPZmZzZXQgPSBoZWlnaHRB
bmRNYXJnaW4ubWFyZ2luLnRvcDsKLSAgICB9IGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKIAorICAgIGF1dG8gaGVpZ2h0QW5k
TWFyZ2luID0gY29tcHV0ZSh7IH0pOworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgcGVy
Y2VudGFnZSB2YWx1ZXMgd2hlcmUgdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBoZWlnaHQgaXMgZXhw
bGljaXRseSBzcGVjaWZpZWQuCisgICAgaWYgKGF1dG8gbWF4SGVpZ2h0ID0gR2VvbWV0cnk6OmZp
eGVkVmFsdWUobGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbE1heEhlaWdodCgpKSkgeworICAgICAg
ICBhdXRvIG1heEhlaWdodEFuZE1hcmdpbiA9IGNvbXB1dGUobWF4SGVpZ2h0KTsKKyAgICAgICAg
aWYgKGhlaWdodEFuZE1hcmdpbi5oZWlnaHQgPiBtYXhIZWlnaHRBbmRNYXJnaW4uaGVpZ2h0KQor
ICAgICAgICAgICAgaGVpZ2h0QW5kTWFyZ2luID0gbWF4SGVpZ2h0QW5kTWFyZ2luOworICAgIH0K
KworICAgIGlmIChhdXRvIG1pbkhlaWdodCA9IEdlb21ldHJ5OjpmaXhlZFZhbHVlKGxheW91dEJv
eC5zdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKSkpIHsKKyAgICAgICAgYXV0byBtaW5IZWlnaHRB
bmRNYXJnaW4gPSBjb21wdXRlKG1pbkhlaWdodCk7CisgICAgICAgIGlmIChoZWlnaHRBbmRNYXJn
aW4uaGVpZ2h0IDwgbWluSGVpZ2h0QW5kTWFyZ2luLmhlaWdodCkKKyAgICAgICAgICAgIGhlaWdo
dEFuZE1hcmdpbiA9IG1pbkhlaWdodEFuZE1hcmdpbjsKKyAgICB9CisKKyAgICBhdXRvJiBkaXNw
bGF5Qm94ID0gbGF5b3V0Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7
CiAgICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94SGVpZ2h0KGhlaWdodEFuZE1hcmdpbi5oZWln
aHQpOwogICAgIGRpc3BsYXlCb3guc2V0VmVydGljYWxOb25Db2xsYXBzZWRNYXJnaW4oaGVpZ2h0
QW5kTWFyZ2luLm1hcmdpbik7CiAgICAgZGlzcGxheUJveC5zZXRWZXJ0aWNhbE1hcmdpbihoZWln
aHRBbmRNYXJnaW4uY29sbGFwc2VkTWFyZ2luLnZhbHVlX29yKGhlaWdodEFuZE1hcmdpbi5tYXJn
aW4pKTsKLSAgICBpZiAobWFyZ2luVG9wT2Zmc2V0KQotICAgICAgICBkaXNwbGF5Qm94Lm1vdmVW
ZXJ0aWNhbGx5KCptYXJnaW5Ub3BPZmZzZXQpOworCisgICAgLy8gSWYgdGhpcyBib3ggaGFzIGFs
cmVhZHkgYmVlbiBtb3ZlZCBieSB0aGUgZXN0aW1hdGVkIHZlcnRpY2FsIG1hcmdpbiwgbm8gbmVl
ZCB0byBtb3ZlIGl0IGFnYWluLgorICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9u
ZWQoKSB8fCAhZGlzcGxheUJveC5lc3RpbWF0ZWRNYXJnaW5Ub3AoKSkKKyAgICAgICAgZGlzcGxh
eUJveC5tb3ZlVmVydGljYWxseShoZWlnaHRBbmRNYXJnaW4uY29sbGFwc2VkTWFyZ2luLnZhbHVl
X29yKGhlaWdodEFuZE1hcmdpbi5tYXJnaW4pLnRvcCk7CiB9CiAKIEZvcm1hdHRpbmdDb250ZXh0
OjpJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjppbnN0
cmluc2ljV2lkdGhDb25zdHJhaW50cyhMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25z
dCBCb3gmIGxheW91dEJveCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXgg
OWYzYjYwMDIyNTFmMmYxYzg3ZDA0ZDFkNzNkOTI2Yjg0NWEzNGM2MC4uNzRhMmVkYTZmMzIyYzIy
ZGE5NWNjZjIwODQyNmM3Yzk1NDYyYjliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgK
QEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMg
cG9zaXRpb25pbmcgYW5kIHNpemluZyBmb3IgYm94ZXMgcGFydGljaXBhdGluZyBpbiBhIGJsb2Nr
IGZvcm1hdHRpbmcgY29udGV4dC4KICAgICBjbGFzcyBHZW9tZXRyeSA6IHB1YmxpYyBGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnkgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIEhlaWdo
dEFuZE1hcmdpbiBpbkZsb3dIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYpOworICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2luIGluRmxvd0hlaWdodEFu
ZE1hcmdpbihjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jiwgc3RkOjpvcHRpb25hbDxM
YXlvdXRVbml0PiBwcmVjb21wdXRlZEhlaWdodCA9IHsgfSk7CiAgICAgICAgIHN0YXRpYyBXaWR0
aEFuZE1hcmdpbiBpbkZsb3dXaWR0aEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94Jiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwcmVjb21wdXRlZFdpZHRoID0geyB9
KTsKIAogICAgICAgICBzdGF0aWMgUG9zaXRpb24gc3RhdGljUG9zaXRpb24oY29uc3QgTGF5b3V0
Q29udGV4dCYsIGNvbnN0IEJveCYpOwpAQCAtMTAxLDcgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRNYXJnaW5Ub3AoY29uc3QgTGF5
b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOwogICAgICAgICB9OwogCi0gICAgICAgIHN0YXRpYyBI
ZWlnaHRBbmRNYXJnaW4gaW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGF5
b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2lu
IGluRmxvd05vblJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkSGVpZ2h0ID0g
eyB9KTsKICAgICAgICAgc3RhdGljIFdpZHRoQW5kTWFyZ2luIGluRmxvd05vblJlcGxhY2VkV2lk
dGhBbmRNYXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIHN0ZDo6b3B0aW9u
YWw8TGF5b3V0VW5pdD4gcHJlY29tcHV0ZWRXaWR0aCA9IHsgfSk7CiAgICAgICAgIHN0YXRpYyBX
aWR0aEFuZE1hcmdpbiBpbkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IExheW91dENv
bnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVk
V2lkdGggPSB7IH0pOwogICAgICAgICBzdGF0aWMgUG9zaXRpb24gc3RhdGljUG9zaXRpb25Gb3JP
dXRPZkZsb3dQb3NpdGlvbmVkKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCAwNzJlNTkw
NjQ5Y2ZiMWM4ZDVjM2E0MjM2YjZjMzM0NWY3YzU3Mjk2Li5hMDgxZmRhMGQ4ODM0NWFiZjJjMjdh
MmFjNzBkZjQ1ZjQ3OGQzYTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
R2VvbWV0cnkuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBzdHJl
dGNoV2lkdGhUb0luaXRpYWxDb250YWluaW5nQmxvY2soV2lkdGhBbmRNYXJnaW4gd2lkdGhBCiAg
ICAgcmV0dXJuIHdpZHRoQW5kTWFyZ2luOwogfQogCi1IZWlnaHRBbmRNYXJnaW4gQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2lu
KGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94
KQorSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZs
b3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRD
b250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBw
cmVjb21wdXRlZEhlaWdodCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzSW5GbG93KCkgJiYg
IWxheW91dEJveC5yZXBsYWNlZCgpKTsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzT3ZlcmZsb3dW
aXNpYmxlKCkpOwpAQCAtMTA2LDEwICsxMDYsMTAgQEAgSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmcK
ICAgICAgICAgVmVydGljYWxFZGdlcyBjb2xsYXBzZWRNYXJnaW4gPSB7IE1hcmdpbkNvbGxhcHNl
OjptYXJnaW5Ub3AobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KSwgTWFyZ2luQ29sbGFwc2U6Om1h
cmdpbkJvdHRvbShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpIH07CiAgICAgICAgIGF1dG8gYm9y
ZGVyQW5kUGFkZGluZ1RvcCA9IGRpc3BsYXlCb3guYm9yZGVyVG9wKCkgKyBkaXNwbGF5Qm94LnBh
ZGRpbmdUb3AoKS52YWx1ZV9vcigwKTsKICAgICAgICAgCi0gICAgICAgIGF1dG8gaGVpZ2h0ID0g
c3R5bGUubG9naWNhbEhlaWdodCgpOworICAgICAgICBhdXRvIGhlaWdodCA9IHByZWNvbXB1dGVk
SGVpZ2h0ID8gTGVuZ3RoIHsgcHJlY29tcHV0ZWRIZWlnaHQudmFsdWUoKSwgRml4ZWQgfSA6IHN0
eWxlLmxvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYgKCFoZWlnaHQuaXNBdXRvKCkpIHsKICAg
ICAgICAgICAgIGlmIChoZWlnaHQuaXNGaXhlZCgpKQotICAgICAgICAgICAgICAgIHJldHVybiB7
IHN0eWxlLmxvZ2ljYWxIZWlnaHQoKS52YWx1ZSgpLCBub25Db2xsYXBzZWRNYXJnaW4sIGNvbGxh
cHNlZE1hcmdpbiB9OworICAgICAgICAgICAgICAgIHJldHVybiB7IGhlaWdodC52YWx1ZSgpLCBu
b25Db2xsYXBzZWRNYXJnaW4sIGNvbGxhcHNlZE1hcmdpbiB9OwogCiAgICAgICAgICAgICAvLyBN
b3N0IG5vdGFibHkgaGVpZ2h0IHBlcmNlbnRhZ2UuCiAgICAgICAgICAgICBBU1NFUlRfTk9UX0lN
UExFTUVOVEVEX1lFVCgpOwpAQCAtMzY3LDIzICszNjcsMjMgQEAgUG9zaXRpb24gQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbihjb25zdCBM
YXlvdXQKICAgICByZXR1cm4geyBuZXdMZWZ0UG9zaXRpb24sIG5ld1RvcFBvc2l0aW9uIH07CiB9
CiAKLUhlaWdodEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5G
bG93SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNv
bnN0IEJveCYgbGF5b3V0Qm94KQorSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGF5b3V0Q29udGV4dCYg
bGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0
VW5pdD4gcHJlY29tcHV0ZWRIZWlnaHQpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0luRmxv
dygpKTsKIAogICAgIC8vIDEwLjYuMiBJbmxpbmUgcmVwbGFjZWQgZWxlbWVudHMsIGJsb2NrLWxl
dmVsIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93LCAnaW5saW5lLWJsb2NrJwogICAg
IC8vIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93IGFuZCBmbG9hdGluZyByZXBsYWNl
ZCBlbGVtZW50cwogICAgIGlmIChsYXlvdXRCb3gucmVwbGFjZWQoKSkKLSAgICAgICAgcmV0dXJu
IGlubGluZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCk7
CisgICAgICAgIHJldHVybiBpbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihsYXlvdXRDb250
ZXh0LCBsYXlvdXRCb3gsIHByZWNvbXB1dGVkSGVpZ2h0KTsKIAogICAgIEhlaWdodEFuZE1hcmdp
biBoZWlnaHRBbmRNYXJnaW47CiAgICAgLy8gVE9ETzogRmlndXJlIG91dCB0aGUgY2FzZSBmb3Ig
dGhlIGRvY3VtZW50IGVsZW1lbnQuIExldCdzIGp1c3QgY29tcGxpY2F0ZWQtY2FzZSBpdCBmb3Ig
bm93LgogICAgIGlmIChsYXlvdXRCb3guaXNPdmVyZmxvd1Zpc2libGUoKSAmJiAhbGF5b3V0Qm94
LmlzRG9jdW1lbnRCb3goKSkKLSAgICAgICAgaGVpZ2h0QW5kTWFyZ2luID0gaW5GbG93Tm9uUmVw
bGFjZWRIZWlnaHRBbmRNYXJnaW4obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKKyAgICAgICAg
aGVpZ2h0QW5kTWFyZ2luID0gaW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4obGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBwcmVjb21wdXRlZEhlaWdodCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIC8vIDEwLjYuNiBDb21wbGljYXRlZCBjYXNlcwogICAgICAgICAvLyBCbG9jay1sZXZlbCwg
bm9uLXJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93IHdoZW4gJ292ZXJmbG93JyBkb2Vz
IG5vdCBjb21wdXRlIHRvICd2aXNpYmxlJyAoZXhjZXB0IGlmIHRoZSAnb3ZlcmZsb3cnIHByb3Bl
cnR5J3MgdmFsdWUgaGFzIGJlZW4gcHJvcGFnYXRlZCB0byB0aGUgdmlld3BvcnQpLgotICAgICAg
ICBoZWlnaHRBbmRNYXJnaW4gPSBjb21wbGljYXRlZENhc2VzKGxheW91dENvbnRleHQsIGxheW91
dEJveCk7CisgICAgICAgIGhlaWdodEFuZE1hcmdpbiA9IGNvbXBsaWNhdGVkQ2FzZXMobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBwcmVjb21wdXRlZEhlaWdodCk7CiAgICAgfQogCiAgICAgaWYg
KCFpc1N0cmV0Y2hlZFRvSW5pdGlhbENvbnRhaW5pbmdCbG9jayhsYXlvdXRDb250ZXh0LCBsYXlv
dXRCb3gpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDQ1MWE1ZjI4NWRkMjBhYjI5MGFlMjUzODI3NzRiYzBhNzRkNDk3MjMuLmRkYmRmYjcwNDdi
MGM1Yzc4MDIxNDU4MWI5OTY5YThjZWFiMWQ4ZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0wOS0wNiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW0JGQ10gQWRkIHN1
cHBvcnQgZm9yIG1pbihtYXgpLWhlaWdodAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg5Mzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3Rz
LnR4dDoKKwogMjAxOC0wOS0wNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0JGQ10gQWRkIHN1cHBvcnQgZm9yIG1pbihtYXgpLXdpZHRoCmRpZmYgLS1n
aXQgYS9Ub29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3RzLnR4dCBiL1Rv
b2xzL0xheW91dFJlbG9hZGVkL21pc2MvTEZDLXBhc3NpbmctdGVzdHMudHh0CmluZGV4IGZmMGU2
M2NlY2FjYzIxMjE2ZDk1OTY5YTlmZmY3Mjk3MDI5OWQ4NDAuLjNiZmFlNmMwYWFmOGVhMjAxN2Q5
MzdlOGNiNDRkMTIxZGI5ZDI3NmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0xheW91dFJlbG9hZGVkL21p
c2MvTEZDLXBhc3NpbmctdGVzdHMudHh0CisrKyBiL1Rvb2xzL0xheW91dFJlbG9hZGVkL21pc2Mv
TEZDLXBhc3NpbmctdGVzdHMudHh0CkBAIC01OCwzICs1OCw2IEBAIGZhc3QvYmxvY2svYmxvY2st
b25seS9mbG9hdC1hdm9pZGVyLXdpdGgtbWFyZ2lucy5odG1sCiBmYXN0L2Jsb2NrL2Jsb2NrLW9u
bHkvaW5mbG93LW1pbi1tYXgtd2lkdGguaHRtbAogZmFzdC9ibG9jay9ibG9jay1vbmx5L2Fic29s
dXRlLXBvc2l0aW9uLW1pbi1tYXgtd2lkdGguaHRtbAogZmFzdC9ibG9jay9ibG9jay1vbmx5L2Zs
b2F0LW1pbi1tYXgtd2lkdGguaHRtbAorZmFzdC9ibG9jay9ibG9jay1vbmx5L2luZmxvdy1taW4t
bWF4LWhlaWdodC5odG1sCitmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvYWJzb2x1dGUtcG9zaXRpb24t
bWluLW1heC1oZWlnaHQuaHRtbAorZmFzdC9ibG9jay9ibG9jay1vbmx5L2Zsb2F0LW1pbi1tYXgt
aGVpZ2h0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5YmM5ZDA4NGNjNmVlMjMwODczMDVhNDM3MDI3NjYxMGNmMWYx
M2M1Li5kMTM2ZjU4M2ZiYzY4NWE1NjZmOWM1MGE2Yzc3NWNmOGIxYjNmNmViIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTgtMDktMDYgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBbTEZDXVtCRkNdIEFkZCBzdXBwb3J0IGZvciBtaW4obWF4KS1oZWlnaHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTM3NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ibG9j
ay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0aW9uLW1pbi1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0
aW9uLW1pbi1tYXgtaGVpZ2h0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svYmxv
Y2stb25seS9mbG9hdC1taW4tbWF4LWhlaWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvYmxvY2svYmxvY2stb25seS9mbG9hdC1taW4tbWF4LWhlaWdodC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvaW5mbG93LW1pbi1tYXgtaGVpZ2h0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9ibG9jay1vbmx5L2lu
Zmxvdy1taW4tbWF4LWhlaWdodC5odG1sOiBBZGRlZC4KKwogMjAxOC0wOS0wNiAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gQWRkIHN1cHBvcnQg
Zm9yIG1pbihtYXgpLXdpZHRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Js
b2NrLW9ubHkvYWJzb2x1dGUtcG9zaXRpb24tbWluLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0aW9uLW1pbi1t
YXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTJmNjA3YzUzZGYzZDE4ZDcwNTlh
NDcxNDM5MmY0YTY1Y2E0MTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9i
bG9jay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0aW9uLW1pbi1tYXgtaGVpZ2h0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE0IEBACitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDIKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDgK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDgKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMng1NAor
ICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSAxMDJ4NTQgW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwx
KSBzaXplIDEwMng1MiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorbGF5ZXIgYXQgKDgs
MTAwKSBzaXplIDEwMngxMDIKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4
LDEwMCkgc2l6ZSAxMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDEsMSkgc2l6ZSAxMDJ4MTUyIFtib3JkZXI6ICgxcHggc29saWQg
I0ZGMDAwMCldCitsYXllciBhdCAoOCwzMDApIHNpemUgMTAyeDMwMgorICBSZW5kZXJCbG9jayAo
cG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMzAwKSBzaXplIDEwMngzMDIgW2JvcmRlcjogKDFweCBz
b2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXplIDEwMng1
MiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ibG9jay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0aW9uLW1pbi1tYXgtaGVpZ2h0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvYWJzb2x1dGUtcG9zaXRpb24t
bWluLW1heC1oZWlnaHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGIwNWI4MDk3NzRkZjY2OTc1MDQ0Yzk5
MWNlNTU1MjE3MDk3YzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9j
ay9ibG9jay1vbmx5L2Fic29sdXRlLXBvc2l0aW9uLW1pbi1tYXgtaGVpZ2h0Lmh0bWwKQEAgLTAs
MCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2
IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKK30KKworZGl2ID4gZGl2IHsKKyAgICBi
b3JkZXI6IDFweCBzb2xpZCByZWQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsiPgorICAgIDxkaXYgc3R5
bGU9ImhlaWdodDogNTBweDsgd2lkdGg6IDEwMHB4OyI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyB3aWR0aDogMTAwcHg7IG1heC1o
ZWlnaHQ6IDEwMHB4OyI+CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxNTBweDsgd2lkdGg6IDEw
MHB4OyI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0
b3A6IDMwMHB4OyB3aWR0aDogMTAwcHg7IG1pbi1oZWlnaHQ6IDMwMHB4Ij4KKyAgICA8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDUwcHg7IHdpZHRoOiAxMDBweDsiPjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Jsb2NrLW9ubHkv
ZmxvYXQtbWluLW1heC1oZWlnaHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9j
ay9ibG9jay1vbmx5L2Zsb2F0LW1pbi1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMjA0ZjRhNTdkOTNkMDRmMTM0ZmQ0MTE2N2Q2NDQ1MzdkZGY1YThjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2Zsb2F0LW1pbi1tYXgtaGVp
Z2h0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDQxMgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDEy
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVy
QmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDIwMng1NCBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXpl
IDIwMng1MiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sg
KGZsb2F0aW5nKSB7RElWfSBhdCAoMzAyLDApIHNpemUgMjAyeDEwMiBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXplIDIw
MngxNTIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIChm
bG9hdGluZykge0RJVn0gYXQgKDAsMTAyKSBzaXplIDIwMngzMDIgW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsMSkgc2l6ZSAyMDJ4
NTIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvYmxvY2svYmxvY2stb25seS9mbG9hdC1taW4tbWF4LWhlaWdodC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2Zsb2F0LW1pbi1tYXgtaGVpZ2h0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzZlOWEwZGNmMzNmMDBiNGNhYjc4ZTRlYWI4N2QxZmViNGU1OGJlNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9mbG9hdC1taW4t
bWF4LWhlaWdodC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KK2RpdiB7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Cit9
CisKK2RpdiA+IGRpdiB7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMDBweDsi
PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNTBweDsgd2lkdGg6IDIwMHB4OyI+PC9kaXY+Cis8
L2Rpdj4KKworPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IG1hcmdpbi1sZWZ0OiAxMDBweDsgbWFy
Z2luLXJpZ2h0OiAyMDBweDsgd2lkdGg6IDIwMHB4OyBtYXgtaGVpZ2h0OiAxMDBweDsiPgorICAg
IDxkaXYgc3R5bGU9ImhlaWdodDogMTUwcHg7IHdpZHRoOiAyMDBweDsiPjwvZGl2PgorPC9kaXY+
CisKKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMjAwcHg7IG1pbi1oZWlnaHQ6IDMw
MHB4Ij4KKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHg7IHdpZHRoOiAyMDBweDsiPjwvZGl2
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Jsb2NrL2Jsb2NrLW9ubHkvaW5mbG93LW1pbi1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9pbmZsb3ctbWluLW1heC1oZWlnaHQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkY2VkODUxMjViNmE2ZWJiYTNkZjg5MTY2OGFiNWZiZmVj
ZWQwZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2Jsb2NrLW9u
bHkvaW5mbG93LW1pbi1tYXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQyNAorICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4NDI0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4NDA4CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIwMng1NCBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMSwxKSBzaXplIDIwMng1MiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTQpIHNpemUgMjAyeDUyIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwODAwMCldCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgMjAy
eDIwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMTA2KSBzaXplIDIwMngzMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0K
KyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsMSkgc2l6ZSAyMDJ4NTIgW2JvcmRlcjog
KDFweCBzb2xpZCAjRkYwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2sv
YmxvY2stb25seS9pbmZsb3ctbWluLW1heC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
YmxvY2svYmxvY2stb25seS9pbmZsb3ctbWluLW1heC1oZWlnaHQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YmZhZWU4YzVlNGY5YWI3MGM3MTI3MzViNGE5NzQyZWExNDcwYjUyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2luZmxvdy1taW4tbWF4LWhlaWdo
dC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KK2RpdiB7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Cit9CisKK2RpdiA+
IGRpdiB7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyI+CisgICAgPGRpdiBzdHlsZT0id2lk
dGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9Indp
ZHRoOiAyMDBweDsgbWF4LWhlaWdodDogNTBweDsiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDog
MjAwcHg7IHdpZHRoOiAyMDBweDsiPjwvZGl2PgorPC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRo
OiAyMDBweDsgbWluLWhlaWdodDogMzAwcHgiPgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNTBw
eDsgd2lkdGg6IDIwMHB4OyI+PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="366680"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>