<?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>192254</bug_id>
          
          <creation_ts>2018-11-30 14:16:37 -0800</creation_ts>
          <short_desc>[WebGPU] WebGPUQueue::submit and WebGPURenderingContext::present() implementation</short_desc>
          <delta_ts>2018-11-30 16:12:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGPU</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="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1483730</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-11-30 14:16:37 -0800</bug_when>
    <thetext>[WebGPU] WebGPUQueue::submit and WebGPURenderingContext::present() implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483740</commentid>
    <comment_count>1</comment_count>
      <attachid>356238</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-11-30 14:26:19 -0800</bug_when>
    <thetext>Created attachment 356238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483741</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-30 14:27:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/46384207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483771</commentid>
    <comment_count>3</comment_count>
      <attachid>356238</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-11-30 14:52:47 -0800</bug_when>
    <thetext>Comment on attachment 356238
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        (WebCore::GPUSwapChain::metalLayer const): Renamed from platformLayer. 

As we discussed, we don&apos;t need this function.

&gt; Source/WebCore/platform/graphics/gpu/GPUSwapChain.h:57
&gt; +    CALayer *platformLayer() const;

We decided to:

using PlatformLayer = CALayer;

which will later be wrapped in platform #ifs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483788</commentid>
    <comment_count>4</comment_count>
      <attachid>356248</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-11-30 15:33:13 -0800</bug_when>
    <thetext>Created attachment 356248
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483808</commentid>
    <comment_count>5</comment_count>
      <attachid>356248</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 16:11:58 -0800</bug_when>
    <thetext>Comment on attachment 356248
Patch for landing

Clearing flags on attachment: 356248

Committed r238760: &lt;https://trac.webkit.org/changeset/238760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483809</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 16:12:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356238</attachid>
            <date>2018-11-30 14:26:19 -0800</date>
            <delta_ts>2018-11-30 15:33:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192254-20181130142618.patch</filename>
            <type>text/plain</type>
            <size>14266</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQwZTY2ZTRjZTQ1N2Qz
NThkNzkxNTM0Y2NmNmVkYTYzZGViYTIzOS4uYTU4NDg2ZTlhNTE0ODMwMGQ4YWM0N2M5Yzc0NjBh
ZTk2OWM5ZTgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTExLTMwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
UXVldWU6OnN1Ym1pdCBhbmQgV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6cHJlc2VudCgpIGltcGxl
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTIyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaW5hbCBwbHVtYmluZyB0byByZW5kZXIgb250byBhbiBIVE1MQ2FudmFzRWxlbWVudCB3aXRo
IFdlYkdQVS4gQWxzbyBhZGRlZCByZWYtdGVzdCB0aGF0IGRyYXdzIAorICAgICAgICBhIGdyZWVu
IHNxdWFyZSBvbnRvIGEgY2FudmFzIHVzaW5nIFdlYkdQVTsgcmVmZXJlbmNlIHVzZXMgMkQgY2Fu
dmFzLgorCisgICAgICAgIFRlc3Q6IHdlYmdwdS9zaW1wbGUtdHJpYW5nbGUtc3RyaXAuaHRtbAor
CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbi5oOiBOZWVkcyB0byBvdmVycmlkZSBw
bGF0Zm9ybUxheWVyKCkgZm9yIENhbnZhc0Jhc2VkUmVuZGVyaW5nQ29udGV4dC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUXVldWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVTd2FwQ2hh
aW46Om1ldGFsTGF5ZXIgY29uc3QpOiBSZW5hbWVkIGZyb20gcGxhdGZvcm1MYXllci4gCisgICAg
ICAgIChXZWJDb3JlOjpHUFVTd2FwQ2hhaW46OnBsYXRmb3JtTGF5ZXIgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVRdWV1ZU1ldGFsLm1t
OgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OnN1Ym1pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVU3dhcENoYWluOjpnZXROZXh0VGV4dHVyZSk6IFJldHVybnMgdGhlIHRleHR1cmUg
b2YgdGhlIHN3YXAgbGF5ZXIncyBuZXh0IGRyYXdhYmxlLiAKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVN3YXBDaGFpbjo6cHJlc2VudCk6IFByZXNlbnRzIHRoZSBsYXN0LXJldHVybmVkIGRyYXdhYmxl
IGZyb20gZ2V0TmV4dFRleHR1cmUsIGFuZCBmcmVlcyBpdC4KKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVN3YXBDaGFpbjo6cGxhdGZvcm1MYXllciBjb25zdCk6CisKIDIwMTgtMTEtMjkgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIENFUmVhY3Rpb25zPU5vdE5l
ZWRlZCBvbiBhbGwgdGhlIHJlbGV2YW50IElETCBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oCmluZGV4IDQ4ZDYzZWVhZjBj
NmYyYzhkZGIxZmQyNjc3MmVlNTIxZDBmNDZkYzQuLjZkMjZhZWFlZTIzMDYzZWZkODdjYzU0ZGZh
YzFiMTBhYWZlZjQ4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVUNvbW1hbmRCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVDb21tYW5kQnVmZmVyLmgKQEAgLTI3LDEzICsyNywxNCBAQAogCiAjaWYgRU5BQkxF
KFdFQkdQVSkKIAorI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKKwogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBHUFVDb21tYW5kQnVmZmVyOwog
Y2xhc3MgV2ViR1BVUmVuZGVyUGFzc0VuY29kZXI7CiAKIHN0cnVjdCBXZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcjsKQEAgLTQzLDYgKzQ0LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8
V2ViR1BVQ29tbWFuZEJ1ZmZlcj4gY3JlYXRlKFJlZlB0cjxHUFVDb21tYW5kQnVmZmVyPiYmKTsK
IAogICAgIGNvbnN0IEdQVUNvbW1hbmRCdWZmZXImIGNvbW1hbmRCdWZmZXIoKSBjb25zdCB7IHJl
dHVybiBtX2NvbW1hbmRCdWZmZXIuZ2V0KCk7IH0KKwogICAgIFJlZlB0cjxXZWJHUFVSZW5kZXJQ
YXNzRW5jb2Rlcj4gYmVnaW5SZW5kZXJQYXNzKFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yJiYp
OwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVU3dhcENoYWluLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVT
d2FwQ2hhaW4uaAppbmRleCBiNDcyNGE0YjE2ZTg5NzdiODI1YWY3OTEwMDNlY2M3MjdkMGU0MDI3
Li5jY2FlNzVlNTVkY2E4NDg4ZmJiZTJjYTc1MDk2MTVlZTg4ZTllMTY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hhaW4uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hhaW4uaApAQCAtNjEsNiArNjEs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJXZWJHUFVTd2FwQ2hhaW4iOyB9CisgICAg
UGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc3dh
cENoYWluLT5wbGF0Zm9ybUxheWVyKCk7IH07CiAKIHByaXZhdGU6CiAgICAgLy8gR1BVQmFzZWRS
ZW5kZXJpbmdDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVRdWV1ZS5oCmluZGV4IGNhZmNmYzdhOTYzMzRjMDM3YmQ0N2ZkZDFjNGUyN2M2NTUyZjRl
MGEuLmEzMTRiMGFmMWMyNDQzN2MwZGFmZGQ0NGUyMWU0OTQ1MjE2NDM3Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVRdWV1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVRdWV1ZS5oCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogT0JKQ19QUk9UT0NPTChNVExDb21tYW5kUXVldWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmgKaW5kZXggYzQ4YzEwMTQ0
MjU5NjgwODYwMmNjOTJhZGUyMTZiNmJjMWZkNDY2Mi4uYWQxODkzZDE2OTBlOTBiNzRiOWE4ODgx
ZTY2NzZkZDE1ZDlkMDFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW4uaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogT0JKQ19DTEFTUyBDQU1ldGFsTGF5ZXI7CitPQkpDX1BST1RPQ09M
KENBTWV0YWxEcmF3YWJsZSk7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArNDAs
NyBAQCBjbGFzcyBHUFVUZXh0dXJlOwogCiBlbnVtIGNsYXNzIEdQVVRleHR1cmVGb3JtYXRFbnVt
OwogCi11c2luZyBQbGF0Zm9ybVN3YXBMYXllciA9IENBTWV0YWxMYXllcjsKK3VzaW5nIFBsYXRm
b3JtRHJhd2FibGVTbWFydFB0ciA9IFJldGFpblB0cjxDQU1ldGFsRHJhd2FibGU+OwogdXNpbmcg
UGxhdGZvcm1Td2FwTGF5ZXJTbWFydFB0ciA9IFJldGFpblB0cjxDQU1ldGFsTGF5ZXI+OwogCiBj
bGFzcyBHUFVTd2FwQ2hhaW4gOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVTd2FwQ2hhaW4+IHsKQEAg
LTUyLDEyICs1MywxNCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEdQVVRleHR1cmU+IGdldE5leHRU
ZXh0dXJlKCk7CiAgICAgdm9pZCBwcmVzZW50KCk7CiAKLSAgICBQbGF0Zm9ybVN3YXBMYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1Td2FwTGF5ZXIuZ2V0KCk7
IH0KKyAgICBDQU1ldGFsTGF5ZXIgKm1ldGFsTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtU3dhcExheWVyLmdldCgpOyB9CisgICAgQ0FMYXllciAqcGxhdGZvcm1MYXllcigpIGNvbnN0
OwogCiBwcml2YXRlOgogICAgIEdQVVN3YXBDaGFpbihQbGF0Zm9ybVN3YXBMYXllclNtYXJ0UHRy
JiYpOwogCiAgICAgUGxhdGZvcm1Td2FwTGF5ZXJTbWFydFB0ciBtX3BsYXRmb3JtU3dhcExheWVy
OworICAgIFBsYXRmb3JtRHJhd2FibGVTbWFydFB0ciBtX2N1cnJlbnREcmF3YWJsZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVRdWV1ZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KaW5kZXggYTc1YTY3
NzM5MTA1NDgwYWUzODRmMzAxYWNiZjc1NWJiNTQ5NGM4NS4uZDAzMGEzNGQ3NDM2NDM4M2VjM2Fm
MGY0ZWZlMmE0MDBmZGFmYTMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbXBvcnQgIkdQVUNvbW1hbmRCdWZmZXIu
aCIKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogCkBAIC02OSw5
ICs3MCwxMCBAQCBHUFVRdWV1ZTo6R1BVUXVldWUoUGxhdGZvcm1RdWV1ZVNtYXJ0UHRyJiYgcXVl
dWUpCiB7CiB9CiAKLXZvaWQgR1BVUXVldWU6OnN1Ym1pdChWZWN0b3I8UmVmPGNvbnN0IEdQVUNv
bW1hbmRCdWZmZXI+PiYmKQordm9pZCBHUFVRdWV1ZTo6c3VibWl0KFZlY3RvcjxSZWY8Y29uc3Qg
R1BVQ29tbWFuZEJ1ZmZlcj4+JiYgYnVmZmVycykKIHsKLSAgICAvLyBGSVhNRTogTWlzc2luZyBp
bXBsZW1lbnRhdGlvbi4KKyAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpCisgICAgICAg
IFtidWZmZXItPnBsYXRmb3JtQ29tbWFuZEJ1ZmZlcigpIGNvbW1pdF07CiB9CiAKIFN0cmluZyBH
UFVRdWV1ZTo6bGFiZWwoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1tCmluZGV4
IDliYmMwYzdhY2VkNDcwNTRlYTQzMmY5ZmU3Mzk2MGEyNGE0ODAxNTQuLmY4Y2IwZDkzNGNmODY1
ZDIxMjZlZDhjN2FhNDAwOTc2YmZmMDdhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVTd2FwQ2hhaW5NZXRhbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dhcENoYWluTWV0YWwu
bW0KQEAgLTEyNCw4ICsxMjQsMTIgQEAgUmVmUHRyPEdQVVRleHR1cmU+IEdQVVN3YXBDaGFpbjo6
Z2V0TmV4dFRleHR1cmUoKQogewogICAgIFJldGFpblB0cjxNVExUZXh0dXJlPiBtdGxUZXh0dXJl
OwogCi0gICAgaWYgKGF1dG8gZHJhd2FibGUgPSByZXRhaW5QdHIoW21fcGxhdGZvcm1Td2FwTGF5
ZXIgbmV4dERyYXdhYmxlXSkpCi0gICAgICAgIG10bFRleHR1cmUgPSByZXRhaW5QdHIoW2RyYXdh
YmxlIHRleHR1cmVdKTsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisKKyAgICBt
X2N1cnJlbnREcmF3YWJsZSA9IHJldGFpblB0cihbbV9wbGF0Zm9ybVN3YXBMYXllciBuZXh0RHJh
d2FibGVdKTsKKyAgICBtdGxUZXh0dXJlID0gcmV0YWluUHRyKFttX2N1cnJlbnREcmF3YWJsZSB0
ZXh0dXJlXSk7CisKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogCiAgICAgaWYgKCFt
dGxUZXh0dXJlKSB7CiAgICAgICAgIExPRyhXZWJHUFUsICJHUFVTd2FwQ2hhaW46OmdldE5leHRU
ZXh0dXJlKCk6IFVuYWJsZSB0byBnZXQgbmV4dCBNVExUZXh0dXJlISIpOwpAQCAtMTM3LDcgKzE0
MSwxMyBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVU3dhcENoYWluOjpnZXROZXh0VGV4dHVyZSgp
CiAKIHZvaWQgR1BVU3dhcENoYWluOjpwcmVzZW50KCkKIHsKLSAgICAvLyBGSVhNRTogVW5pbXBs
ZW1lbnRlZCBzdHViLgorICAgIFttX2N1cnJlbnREcmF3YWJsZSBwcmVzZW50XTsKKyAgICBtX2N1
cnJlbnREcmF3YWJsZSA9IG51bGxwdHI7Cit9CisKK0NBTGF5ZXIgKkdQVVN3YXBDaGFpbjo6cGxh
dGZvcm1MYXllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGxhdGZvcm1Td2FwTGF5ZXIuZ2V0
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YmQzY2ZjOWU0NGU2MzZh
ZDU1NGRlYjRiNjY4MGJjOTdjMTM0YWVmLi40OGUzMzRkMzMxYmZlOWUxNjZhZGNkMjdmOGI2YWFj
Y2Q2ZGY1YmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMTEtMzAgIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBXZWJHUFVRdWV1ZTo6
c3VibWl0IGFuZCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpwcmVzZW50KCkgaW1wbGVtZW50YXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjI1
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSB3ZWJncHUtYmFzaWNzIHRvIHJlbmRlciBhbiBpbWFnZSBpbnRvIGNhbnZhcy4gQWxzbyBhZGRl
ZCByZWYtdGVzdCB0aGF0IGRyYXdzIAorICAgICAgICBhIGdyZWVuIHNxdWFyZSBvbnRvIGEgY2Fu
dmFzIHVzaW5nIFdlYkdQVTsgcmVmZXJlbmNlIHVzZXMgMkQgY2FudmFzLgorCisgICAgICAgICog
d2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanM6CisgICAgICAgIChyZW5kZXIpOgor
ICAgICAgICAqIHdlYmdwdS9zaW1wbGUtdHJpYW5nbGUtc3RyaXAtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ3B1L3NpbXBsZS10cmlhbmdsZS1zdHJpcC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJncHUvd2ViZ3B1LWJhc2ljcy5odG1sOgorCiAyMDE4LTExLTMwICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBy
ZXBsYWNlIGFsbCB1bmljb2RlIGNoYXJhY3RlcnMgd2l0aCB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIg
Y29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5j
dGlvbnMuanMgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5q
cwppbmRleCBhOTk2MjEyZDMwNmUyNTBjNDNkMTRmMjJjNTY4NThhNjYxNTgwYWNiLi5iM2NiYmMy
MWJkNDljMjgxZTJhMGE5ZjBmMTFkNWEzYTIwNDcwMTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93
ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcwpAQCAtMTQwLDcgKzE0MCw3IEBAIGZ1
bmN0aW9uIHJlbmRlcigpIHsKICAgICAvLyBGSVhNRTogRGVmYXVsdCBhIGxvYWRPcCwgYW5kIHN0
b3JlT3AgaW4gdGhlIGltcGxlbWVudGF0aW9uIGZvciBub3cuCiAgICAgY29uc3QgY29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvciA9IHsKICAgICAgICAgYXR0YWNobWVudCA6IHRleHR1cmVWaWV3LAot
ICAgICAgICBjbGVhckNvbG9yIDogeyByOjAuMzUsIGc6MC42NSwgYjowLjg1LCBhOjEuMCB9Cisg
ICAgICAgIGNsZWFyQ29sb3IgOiB7IHI6IDAuMzUsIGc6IDAuNjUsIGI6IDAuODUsIGE6IDEuMCB9
CiAgICAgfQogCiAgICAgbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0gewpAQCAtMTYzLDUgKzE2
MywxMiBAQCBmdW5jdGlvbiByZW5kZXIoKSB7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICAvLyBGSVhNRTogUmVzdCBvZiByZW5kZXJpbmcgY29tbWFuZHMgdG8gZm9sbG93LgorICAgIGNv
bnN0IHF1ZXVlID0gZGVmYXVsdERldmljZS5nZXRRdWV1ZSgpOworICAgIGlmICghcXVldWUpIHsK
KyAgICAgICAgdGVzdEZhaWxlZCgiVW5hYmxlIHRvIGNyZWF0ZSBkZWZhdWx0IFdlYkdQVVF1ZXVl
ISIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHF1ZXVlLnN1Ym1pdChbY29tbWFuZEJ1
ZmZlckVuZF0pOworCisgICAgY29udGV4dC5wcmVzZW50KCk7CiB9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3NpbXBsZS10cmlhbmds
ZS1zdHJpcC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3NpbXBsZS10cmlhbmds
ZS1zdHJpcC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NmYxM2U4MTIwMzk3YTVjYzYzMzZj
OWUyYTQ4NWU3NzhiYTk5MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUv
c2ltcGxlLXRyaWFuZ2xlLXN0cmlwLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBSZWZlcmVu
Y2UgRmlsZTwvdGl0bGU+Cis8cD5QYXNzIGlmIHNxdWFyZSBjYW52YXMgYmVsb3cgaXMgY29tcGxl
dGVseSBncmVlbi48L3A+Cis8Y2FudmFzIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZh
cz4KKzxzY3JpcHQ+Citjb25zdCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52
YXMiKTsKK2NvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKworY29udGV4
dC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCknOworY29udGV4dC5maWxsUmVjdCgwLCAwLCBj
YW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3NpbXBsZS10cmlhbmds
ZS1zdHJpcC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3NpbXBsZS10cmlhbmdsZS1zdHJpcC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ3NmZmZGRkOWE1NGY1NzJmMDI1MGVjNzRkMGY2MTczYjVjNTdkNmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvc2ltcGxlLXRyaWFuZ2xlLXN0
cmlwLmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdQVSBIZWxsbyBUcmlhbmdsZXM8L3RpdGxlPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJXZWJHUFUgY29ycmVjdGx5IHJlbmRlcnMgYSBncmVlbiBj
YW52YXMuIj4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InNpbXBsZS10cmlhbmdsZS1zdHJpcC1l
eHBlY3RlZC5odG1sIj4KKzxwPlBhc3MgaWYgc3F1YXJlIGNhbnZhcyBiZWxvdyBpcyBjb21wbGV0
ZWx5IGdyZWVuLjwvcD4KKzxjYW52YXMgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFz
PgorPHNjcmlwdD4KK2NvbnN0IHNoYWRlckNvZGUgPSBgCisjaW5jbHVkZSA8bWV0YWxfc3RkbGli
PgorICAgIAordXNpbmcgbmFtZXNwYWNlIG1ldGFsOworCitzdHJ1Y3QgVmVydGV4Cit7CisgICAg
ZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25dXTsKK307CisKK3ZlcnRleCBWZXJ0ZXggdmVydGV4
X21haW4odWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKK3sKKyAgICBWZXJ0ZXggdjsKKyAgICBzd2l0
Y2ggKHZpZCkgeworICAgIGNhc2UgMDoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgtMSwg
MSwgMCwgMSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMToKKyAgICAgICAgdi5wb3NpdGlv
biA9IGZsb2F0NCgtMSwgLTEsIDAsIDEpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDI6Cisg
ICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMSwgMSwgMCwgMSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMSwgLTEsIDAsIDEpOwor
ICAgIH0KKyAgICByZXR1cm4gdjsKK30KKworZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50X21haW4o
VmVydGV4IHZlcnRleEluIFtbc3RhZ2VfaW5dXSkKK3sKKyAgICByZXR1cm4gZmxvYXQ0KDAuMCwg
MS4wLCAwLjAsIDEuMCk7Cit9CitgCisKK2FzeW5jIGZ1bmN0aW9uIGdldEJhc2ljRGV2aWNlKCkg
eworICAgIC8vIEZJWE1FOiByZXF1ZXN0QWRhcHRlciBzaG91bGQgdGFrZSBhIFdlYkdQVUFkYXB0
ZXJEZXNjcmlwdG9yLgorICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCB3aW5kb3cud2ViZ3B1LnJl
cXVlc3RBZGFwdGVyKHt9KTsKKyAgICBjb25zdCBkZXZpY2UgPSBhZGFwdGVyLmNyZWF0ZURldmlj
ZSgpOworICAgIHJldHVybiBkZXZpY2U7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZUJhc2ljQ29udGV4
dChjYW52YXMsIGRldmljZSkgeworICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4
dCgid2ViZ3B1Iik7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBhbmQgc3BlY2lmeSBhIFdlYkdQ
VVRleHR1cmVVc2FnZUVudW0uCisgICAgY29udGV4dC5jb25maWd1cmUoeyBkZXZpY2U6IGRldmlj
ZSwgZm9ybWF0OiJCOEc4UjhBOFVub3JtIiwgd2lkdGg6IGNhbnZhcy53aWR0aCwgaGVpZ2h0OiBj
YW52YXMuaGVpZ2h0IH0pOworICAgIHJldHVybiBjb250ZXh0OworfQorCitmdW5jdGlvbiBjcmVh
dGVCYXNpY1BpcGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlKSB7CisgICAgdmVydGV4U3RhZ2VE
ZXNjcmlwdG9yID0geworICAgICAgICBtb2R1bGU6IHNoYWRlck1vZHVsZSwgCisgICAgICAgIHN0
YWdlOiBXZWJHUFVTaGFkZXJTdGFnZS5WRVJURVgsIAorICAgICAgICBlbnRyeVBvaW50OiAidmVy
dGV4X21haW4iIAorICAgIH07CisKKyAgICBmcmFnbWVudFN0YWdlRGVzY3JpcHRvciA9IHsKKyAg
ICAgICAgbW9kdWxlOiBzaGFkZXJNb2R1bGUsCisgICAgICAgIHN0YWdlOiBXZWJHUFVTaGFkZXJT
dGFnZS5GUkFHTUVOVCwKKyAgICAgICAgZW50cnlQb2ludDogImZyYWdtZW50X21haW4iCisgICAg
fTsKKworICAgIHBpcGVsaW5lRGVzY3JpcHRvciA9IHsKKyAgICAgICAgc3RhZ2VzOiBbdmVydGV4
U3RhZ2VEZXNjcmlwdG9yLCBmcmFnbWVudFN0YWdlRGVzY3JpcHRvcl0sCisgICAgICAgIHByaW1p
dGl2ZVRvcG9sb2d5OiAidHJpYW5nbGVTdHJpcCIKKyAgICB9OworCisgICAgcmV0dXJuIGRldmlj
ZS5jcmVhdGVSZW5kZXJQaXBlbGluZShwaXBlbGluZURlc2NyaXB0b3IpOworfQorCitmdW5jdGlv
biBiZWdpbkJhc2ljUmVuZGVyUGFzcyhjb250ZXh0LCBjb21tYW5kQnVmZmVyKSB7CisgICAgY29u
c3QgYmFzaWNBdHRhY2htZW50ID0geworICAgICAgICBhdHRhY2htZW50OiBjb250ZXh0LmdldE5l
eHRUZXh0dXJlKCkuY3JlYXRlRGVmYXVsdFRleHR1cmVWaWV3KCksCisgICAgICAgIGNsZWFyQ29s
b3I6IHsgcjogMS4wLCBnOiAwLCBiOiAwLCBhOiAxLjAgfQorICAgIH0KKworICAgIC8vIEZJWE1F
OiBGbGVzaCBvdXQgdGhlIHJlc3Qgb2YgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuIAorICAg
IHJldHVybiBjb21tYW5kQnVmZmVyLmJlZ2luUmVuZGVyUGFzcyh7IGNvbG9yQXR0YWNobWVudHMg
OiBbYmFzaWNBdHRhY2htZW50XSB9KTsKK30KKworZnVuY3Rpb24gZW5jb2RlQmFzaWNDb21tYW5k
cyhyZW5kZXJQYXNzRW5jb2RlciwgcmVuZGVyUGlwZWxpbmUpIHsKKyAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7CisgICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKKyAgICByZXR1cm4gcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygp
OworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0
IGdldEJhc2ljRGV2aWNlKCk7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNyZWF0ZUJhc2ljQ29udGV4dChj
YW52YXMsIGRldmljZSk7CisgICAgLy8gRklYTUU6IFJlcGxhY2Ugd2l0aCBub24tTVNMIHNoYWRl
cnMuCisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
IGNvZGU6IHNoYWRlckNvZGUgfSk7CisgICAgY29uc3QgcGlwZWxpbmUgPSBjcmVhdGVCYXNpY1Bp
cGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlKTsKKyAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKyAgICBjb25zdCBwYXNzRW5jb2RlciA9IGJl
Z2luQmFzaWNSZW5kZXJQYXNzKGNvbnRleHQsIGNvbW1hbmRCdWZmZXIpOworICAgIGNvbnN0IGVu
ZENvbW1hbmRCdWZmZXIgPSBlbmNvZGVCYXNpY0NvbW1hbmRzKHBhc3NFbmNvZGVyLCBwaXBlbGlu
ZSk7CisgICAgY29uc3QgcXVldWUgPSBkZXZpY2UuZ2V0UXVldWUoKTsKKworICAgIHF1ZXVlLnN1
Ym1pdChbZW5kQ29tbWFuZEJ1ZmZlcl0pOworICAgIGNvbnRleHQucHJlc2VudCgpOworfQorCit0
ZXN0KCk7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJncHUvd2ViZ3B1LWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dlYmdwdS1iYXNpY3MuaHRtbAppbmRleCBkNTQ3YzgyOWM2MzExNDMwNmNmMmQzN2M4NThm
OTcyZTEyMDEyYTI3Li5jMWY2NjZiN2FiOTg0Zjg1ZWMyYzU0YWE1ZGEwYjUxZjM1YTYyOGIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUvd2ViZ3B1LWJhc2ljcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdwdS93ZWJncHUtYmFzaWNzLmh0bWwKQEAgLTEsMTQgKzEsMTggQEAKIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+Cis8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9ImpzL2Jhc2ljLXdlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8Y2FudmFzIHdpZHRoPSI0MjAiIGhlaWdo
dD0iNDIwIj48L2NhbnZhcz4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
d2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi1ydW5XZWJHUFVUZXN0cyhbc2V0VXBQ
aXBlbGluZSwgcmVuZGVyXSk7CitydW5XZWJHUFVUZXN0c09uQ2FudmFzKGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImNhbnZhcyIpLCBbc2V0VXBQaXBlbGluZSwgcmVuZGVyXSk7CiAKIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356248</attachid>
            <date>2018-11-30 15:33:13 -0800</date>
            <delta_ts>2018-11-30 16:11:58 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192254-20181130153312.patch</filename>
            <type>text/plain</type>
            <size>14276</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQwZTY2ZTRjZTQ1N2Qz
NThkNzkxNTM0Y2NmNmVkYTYzZGViYTIzOS4uNDJjN2FmMTRhYjdlOGQ3MTUwOTJkZmE0OTQ5OGU5
MmRhNzZkOGI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTExLTMwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
UXVldWU6OnN1Ym1pdCBhbmQgV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6cHJlc2VudCgpIGltcGxl
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTIyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAg
RmluYWwgcGx1bWJpbmcgdG8gcmVuZGVyIG9udG8gYW4gSFRNTENhbnZhc0VsZW1lbnQgd2l0aCBX
ZWJHUFUuIEFsc28gYWRkZWQgcmVmLXRlc3QgdGhhdCBkcmF3cyAKKyAgICAgICAgYSBncmVlbiBz
cXVhcmUgb250byBhIGNhbnZhcyB1c2luZyBXZWJHUFU7IHJlZmVyZW5jZSB1c2VzIDJEIGNhbnZh
cy4KKworICAgICAgICBUZXN0OiB3ZWJncHUvc2ltcGxlLXRyaWFuZ2xlLXN0cmlwLmh0bWwKKwor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRCdWZmZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hhaW4uaDogTmVlZHMgdG8gb3ZlcnJpZGUgcGxh
dGZvcm1MYXllcigpIGZvciBDYW52YXNCYXNlZFJlbmRlcmluZ0NvbnRleHQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVF1ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVU3dhcENoYWlu
OjptZXRhbExheWVyIGNvbnN0KTogUmVuYW1lZCBmcm9tIHBsYXRmb3JtTGF5ZXIuIAorICAgICAg
ICAoV2ViQ29yZTo6R1BVU3dhcENoYWluOjpwbGF0Zm9ybUxheWVyIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUXVldWVNZXRhbC5tbToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXVlOjpzdWJtaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVTd2FwQ2hhaW5NZXRhbC5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVN3YXBDaGFpbjo6Z2V0TmV4dFRleHR1cmUpOiBSZXR1cm5zIHRoZSB0ZXh0dXJlIG9m
IHRoZSBzd2FwIGxheWVyJ3MgbmV4dCBkcmF3YWJsZS4gCisgICAgICAgIChXZWJDb3JlOjpHUFVT
d2FwQ2hhaW46OnByZXNlbnQpOiBQcmVzZW50cyB0aGUgbGFzdC1yZXR1cm5lZCBkcmF3YWJsZSBm
cm9tIGdldE5leHRUZXh0dXJlLCBhbmQgZnJlZXMgaXQuCisgICAgICAgIChXZWJDb3JlOjpHUFVT
d2FwQ2hhaW46OnBsYXRmb3JtTGF5ZXIgY29uc3QpOgorCiAyMDE4LTExLTI5ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBDRVJlYWN0aW9ucz1Ob3ROZWVk
ZWQgb24gYWxsIHRoZSByZWxldmFudCBJREwgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRCdWZmZXIuaAppbmRleCA0OGQ2M2VlYWYwYzZm
MmM4ZGRiMWZkMjY3NzJlZTUyMWQwZjQ2ZGM0Li42ZDI2YWVhZWUyMzA2M2VmZDg3Y2M1NGRmYWMx
YjEwYWFmZWY0ODE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVDb21tYW5kQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQ29tbWFuZEJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTQgQEAKIAogI2lmIEVOQUJMRShX
RUJHUFUpCiAKKyNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCisKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgR1BVQ29tbWFuZEJ1ZmZlcjsKIGNs
YXNzIFdlYkdQVVJlbmRlclBhc3NFbmNvZGVyOwogCiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3I7CkBAIC00Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPFdl
YkdQVUNvbW1hbmRCdWZmZXI+IGNyZWF0ZShSZWZQdHI8R1BVQ29tbWFuZEJ1ZmZlcj4mJik7CiAK
ICAgICBjb25zdCBHUFVDb21tYW5kQnVmZmVyJiBjb21tYW5kQnVmZmVyKCkgY29uc3QgeyByZXR1
cm4gbV9jb21tYW5kQnVmZmVyLmdldCgpOyB9CisKICAgICBSZWZQdHI8V2ViR1BVUmVuZGVyUGFz
c0VuY29kZXI+IGJlZ2luUmVuZGVyUGFzcyhXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciYmKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVN3YXBDaGFpbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dh
cENoYWluLmgKaW5kZXggYjQ3MjRhNGIxNmU4OTc3YjgyNWFmNzkxMDAzZWNjNzI3ZDBlNDAyNy4u
Y2NhZTc1ZTU1ZGNhODQ4OGZiYmUyY2E3NTA5NjE1ZWU4OGU5ZTE2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dhcENoYWluLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dhcENoYWluLmgKQEAgLTYxLDYgKzYxLDcg
QEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiV2ViR1BVU3dhcENoYWluIjsgfQorICAgIFBs
YXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N3YXBD
aGFpbi0+cGxhdGZvcm1MYXllcigpOyB9OwogCiBwcml2YXRlOgogICAgIC8vIEdQVUJhc2VkUmVu
ZGVyaW5nQ29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVUXVldWUuaAppbmRleCBjYWZjZmM3YTk2MzM0YzAzN2JkNDdmZGQxYzRlMjdjNjU1MmY0ZTBh
Li5hMzE0YjBhZjFjMjQ0MzdjMGRhZmRkNDRlMjFlNDk0NTIxNjQzN2NlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUXVldWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUXVldWUuaApAQCAtMzAsNiArMzAs
NyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IE9CSkNfUFJPVE9DT0woTVRMQ29tbWFuZFF1ZXVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5oCmluZGV4IGM0OGMxMDE0NDI1
OTY4MDg2MDJjYzkyYWRlMjE2YjZiYzFmZDQ2NjIuLjBkMWQzNmQ3ZGZiNDlhNDI1NzhlZWRhNDFl
NzJjMzMxYjc2NmNmMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVTd2FwQ2hhaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVU3dhcENoYWluLmgKQEAgLTMwLDcgKzMwLDkgQEAKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCitPQkpDX0NMQVNTIENBTGF5
ZXI7CiBPQkpDX0NMQVNTIENBTWV0YWxMYXllcjsKK09CSkNfUFJPVE9DT0woQ0FNZXRhbERyYXdh
YmxlKTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICs0MSw4IEBAIGNsYXNzIEdQ
VVRleHR1cmU7CiAKIGVudW0gY2xhc3MgR1BVVGV4dHVyZUZvcm1hdEVudW07CiAKLXVzaW5nIFBs
YXRmb3JtU3dhcExheWVyID0gQ0FNZXRhbExheWVyOwordXNpbmcgUGxhdGZvcm1EcmF3YWJsZVNt
YXJ0UHRyID0gUmV0YWluUHRyPENBTWV0YWxEcmF3YWJsZT47Cit1c2luZyBQbGF0Zm9ybUxheWVy
ID0gQ0FMYXllcjsKIHVzaW5nIFBsYXRmb3JtU3dhcExheWVyU21hcnRQdHIgPSBSZXRhaW5QdHI8
Q0FNZXRhbExheWVyPjsKIAogY2xhc3MgR1BVU3dhcENoYWluIDogcHVibGljIFJlZkNvdW50ZWQ8
R1BVU3dhcENoYWluPiB7CkBAIC01MiwxMiArNTUsMTMgQEAgcHVibGljOgogICAgIFJlZlB0cjxH
UFVUZXh0dXJlPiBnZXROZXh0VGV4dHVyZSgpOwogICAgIHZvaWQgcHJlc2VudCgpOwogCi0gICAg
UGxhdGZvcm1Td2FwTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtU3dhcExheWVyLmdldCgpOyB9CisgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIEdQVVN3YXBDaGFpbihQbGF0Zm9ybVN3YXBMYXllclNt
YXJ0UHRyJiYpOwogCiAgICAgUGxhdGZvcm1Td2FwTGF5ZXJTbWFydFB0ciBtX3BsYXRmb3JtU3dh
cExheWVyOworICAgIFBsYXRmb3JtRHJhd2FibGVTbWFydFB0ciBtX2N1cnJlbnREcmF3YWJsZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVRdWV1ZU1ldGFsLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KaW5kZXgg
YTc1YTY3NzM5MTA1NDgwYWUzODRmMzAxYWNiZjc1NWJiNTQ5NGM4NS4uZDAzMGEzNGQ3NDM2NDM4
M2VjM2FmMGY0ZWZlMmE0MDBmZGFmYTMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1ZXVlTWV0YWwubW0KQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbXBvcnQgIkdQVUNvbW1hbmRC
dWZmZXIuaCIKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogCkBA
IC02OSw5ICs3MCwxMCBAQCBHUFVRdWV1ZTo6R1BVUXVldWUoUGxhdGZvcm1RdWV1ZVNtYXJ0UHRy
JiYgcXVldWUpCiB7CiB9CiAKLXZvaWQgR1BVUXVldWU6OnN1Ym1pdChWZWN0b3I8UmVmPGNvbnN0
IEdQVUNvbW1hbmRCdWZmZXI+PiYmKQordm9pZCBHUFVRdWV1ZTo6c3VibWl0KFZlY3RvcjxSZWY8
Y29uc3QgR1BVQ29tbWFuZEJ1ZmZlcj4+JiYgYnVmZmVycykKIHsKLSAgICAvLyBGSVhNRTogTWlz
c2luZyBpbXBsZW1lbnRhdGlvbi4KKyAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGJ1ZmZlcnMpCisg
ICAgICAgIFtidWZmZXItPnBsYXRmb3JtQ29tbWFuZEJ1ZmZlcigpIGNvbW1pdF07CiB9CiAKIFN0
cmluZyBHUFVRdWV1ZTo6bGFiZWwoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1t
CmluZGV4IDliYmMwYzdhY2VkNDcwNTRlYTQzMmY5ZmU3Mzk2MGEyNGE0ODAxNTQuLjZkNDgyZTZm
MTY4NmFiNDE1ZWZiNTBiMjZiYjcwZTEzZGRjNjdmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVTd2FwQ2hhaW5NZXRhbC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dhcENoYWlu
TWV0YWwubW0KQEAgLTEyNCw4ICsxMjQsMTIgQEAgUmVmUHRyPEdQVVRleHR1cmU+IEdQVVN3YXBD
aGFpbjo6Z2V0TmV4dFRleHR1cmUoKQogewogICAgIFJldGFpblB0cjxNVExUZXh0dXJlPiBtdGxU
ZXh0dXJlOwogCi0gICAgaWYgKGF1dG8gZHJhd2FibGUgPSByZXRhaW5QdHIoW21fcGxhdGZvcm1T
d2FwTGF5ZXIgbmV4dERyYXdhYmxlXSkpCi0gICAgICAgIG10bFRleHR1cmUgPSByZXRhaW5QdHIo
W2RyYXdhYmxlIHRleHR1cmVdKTsKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisK
KyAgICBtX2N1cnJlbnREcmF3YWJsZSA9IHJldGFpblB0cihbbV9wbGF0Zm9ybVN3YXBMYXllciBu
ZXh0RHJhd2FibGVdKTsKKyAgICBtdGxUZXh0dXJlID0gcmV0YWluUHRyKFttX2N1cnJlbnREcmF3
YWJsZSB0ZXh0dXJlXSk7CisKKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogCiAgICAg
aWYgKCFtdGxUZXh0dXJlKSB7CiAgICAgICAgIExPRyhXZWJHUFUsICJHUFVTd2FwQ2hhaW46Omdl
dE5leHRUZXh0dXJlKCk6IFVuYWJsZSB0byBnZXQgbmV4dCBNVExUZXh0dXJlISIpOwpAQCAtMTM3
LDcgKzE0MSwxMyBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVU3dhcENoYWluOjpnZXROZXh0VGV4
dHVyZSgpCiAKIHZvaWQgR1BVU3dhcENoYWluOjpwcmVzZW50KCkKIHsKLSAgICAvLyBGSVhNRTog
VW5pbXBsZW1lbnRlZCBzdHViLgorICAgIFttX2N1cnJlbnREcmF3YWJsZSBwcmVzZW50XTsKKyAg
ICBtX2N1cnJlbnREcmF3YWJsZSA9IG51bGxwdHI7Cit9CisKK1BsYXRmb3JtTGF5ZXIqIEdQVVN3
YXBDaGFpbjo6cGxhdGZvcm1MYXllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGxhdGZvcm1T
d2FwTGF5ZXIuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YmQz
Y2ZjOWU0NGU2MzZhZDU1NGRlYjRiNjY4MGJjOTdjMTM0YWVmLi45NGE2M2MwYjNjZTFlN2VjMGQ0
ZDhlYjYyMjljMTY3NmFiMmRiY2YzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMTEtMzAg
IEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBX
ZWJHUFVRdWV1ZTo6c3VibWl0IGFuZCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpwcmVzZW50KCkg
aW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MjI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAg
ICAgICBVcGRhdGUgd2ViZ3B1LWJhc2ljcyB0byByZW5kZXIgYW4gaW1hZ2UgaW50byBjYW52YXMu
IEFsc28gYWRkZWQgcmVmLXRlc3QgdGhhdCBkcmF3cyAKKyAgICAgICAgYSBncmVlbiBzcXVhcmUg
b250byBhIGNhbnZhcyB1c2luZyBXZWJHUFU7IHJlZmVyZW5jZSB1c2VzIDJEIGNhbnZhcy4KKwor
ICAgICAgICAqIHdlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVuY3Rpb25zLmpzOgorICAgICAgICAo
cmVuZGVyKToKKyAgICAgICAgKiB3ZWJncHUvc2ltcGxlLXRyaWFuZ2xlLXN0cmlwLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS9zaW1wbGUtdHJpYW5nbGUtc3RyaXAuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dlYmdwdS1iYXNpY3MuaHRtbDoKKwogMjAxOC0x
MS0zMCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogcmVwbGFjZSBhbGwgdW5pY29kZSBjaGFyYWN0ZXJzIHdpdGggdGhlIGVzY2FwZWQg
Y2hhcmFjdGVyIGNvZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9qcy9iYXNpYy13
ZWJncHUtZnVuY3Rpb25zLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1m
dW5jdGlvbnMuanMKaW5kZXggYTk5NjIxMmQzMDZlMjUwYzQzZDE0ZjIyYzU2ODU4YTY2MTU4MGFj
Yi4uYjNjYmJjMjFiZDQ5YzI4MWUyYTBhOWYwZjExZDVhM2EyMDQ3MDE0MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMKQEAgLTE0MCw3ICsx
NDAsNyBAQCBmdW5jdGlvbiByZW5kZXIoKSB7CiAgICAgLy8gRklYTUU6IERlZmF1bHQgYSBsb2Fk
T3AsIGFuZCBzdG9yZU9wIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3Igbm93LgogICAgIGNvbnN0
IGNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgPSB7CiAgICAgICAgIGF0dGFjaG1lbnQgOiB0ZXh0
dXJlVmlldywKLSAgICAgICAgY2xlYXJDb2xvciA6IHsgcjowLjM1LCBnOjAuNjUsIGI6MC44NSwg
YToxLjAgfQorICAgICAgICBjbGVhckNvbG9yIDogeyByOiAwLjM1LCBnOiAwLjY1LCBiOiAwLjg1
LCBhOiAxLjAgfQogICAgIH0KIAogICAgIGxldCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHsKQEAg
LTE2Myw1ICsxNjMsMTIgQEAgZnVuY3Rpb24gcmVuZGVyKCkgewogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgLy8gRklYTUU6IFJlc3Qgb2YgcmVuZGVyaW5nIGNvbW1hbmRzIHRvIGZvbGxv
dy4KKyAgICBjb25zdCBxdWV1ZSA9IGRlZmF1bHREZXZpY2UuZ2V0UXVldWUoKTsKKyAgICBpZiAo
IXF1ZXVlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlVuYWJsZSB0byBjcmVhdGUgZGVmYXVsdCBX
ZWJHUFVRdWV1ZSEiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBxdWV1ZS5zdWJtaXQo
W2NvbW1hbmRCdWZmZXJFbmRdKTsKKworICAgIGNvbnRleHQucHJlc2VudCgpOwogfQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9zaW1w
bGUtdHJpYW5nbGUtc3RyaXAtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9zaW1w
bGUtdHJpYW5nbGUtc3RyaXAtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODZmMTNlODEyMDM5
N2E1Y2M2MzM2YzllMmE0ODVlNzc4YmE5OTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ3B1L3NpbXBsZS10cmlhbmdsZS1zdHJpcC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhU
TUwgUmVmZXJlbmNlIEZpbGU8L3RpdGxlPgorPHA+UGFzcyBpZiBzcXVhcmUgY2FudmFzIGJlbG93
IGlzIGNvbXBsZXRlbHkgZ3JlZW4uPC9wPgorPGNhbnZhcyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiY2FudmFzIik7Citjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7
CisKK2NvbnRleHQuZmlsbFN0eWxlID0gJ3JnYigwLCAyNTUsIDApJzsKK2NvbnRleHQuZmlsbFJl
Y3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTsKKzwvc2NyaXB0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9zaW1w
bGUtdHJpYW5nbGUtc3RyaXAuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9zaW1wbGUtdHJpYW5n
bGUtc3RyaXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzZmZmRkZDlhNTRmNTcyZjAyNTBlYzc0ZDBmNjE3
M2I1YzU3ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3NpbXBsZS10
cmlhbmdsZS1zdHJpcC5odG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHUFUgSGVsbG8gVHJpYW5nbGVzPC90aXRs
ZT4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iV2ViR1BVIGNvcnJlY3RseSByZW5kZXJz
IGEgZ3JlZW4gY2FudmFzLiI+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJzaW1wbGUtdHJpYW5n
bGUtc3RyaXAtZXhwZWN0ZWQuaHRtbCI+Cis8cD5QYXNzIGlmIHNxdWFyZSBjYW52YXMgYmVsb3cg
aXMgY29tcGxldGVseSBncmVlbi48L3A+Cis8Y2FudmFzIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KKzxzY3JpcHQ+Citjb25zdCBzaGFkZXJDb2RlID0gYAorI2luY2x1ZGUgPG1l
dGFsX3N0ZGxpYj4KKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBtZXRhbDsKKworc3RydWN0IFZlcnRl
eAoreworICAgIGZsb2F0NCBwb3NpdGlvbiBbW3Bvc2l0aW9uXV07Cit9OworCit2ZXJ0ZXggVmVy
dGV4IHZlcnRleF9tYWluKHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCit7CisgICAgVmVydGV4IHY7
CisgICAgc3dpdGNoICh2aWQpIHsKKyAgICBjYXNlIDA6CisgICAgICAgIHYucG9zaXRpb24gPSBm
bG9hdDQoLTEsIDEsIDAsIDEpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDE6CisgICAgICAg
IHYucG9zaXRpb24gPSBmbG9hdDQoLTEsIC0xLCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSAyOgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KDEsIDEsIDAsIDEpOworICAgICAg
ICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KDEsIC0x
LCAwLCAxKTsKKyAgICB9CisgICAgcmV0dXJuIHY7Cit9CisKK2ZyYWdtZW50IGZsb2F0NCBmcmFn
bWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0YWdlX2luXV0pCit7CisgICAgcmV0dXJuIGZs
b2F0NCgwLjAsIDEuMCwgMC4wLCAxLjApOworfQorYAorCithc3luYyBmdW5jdGlvbiBnZXRCYXNp
Y0RldmljZSgpIHsKKyAgICAvLyBGSVhNRTogcmVxdWVzdEFkYXB0ZXIgc2hvdWxkIHRha2UgYSBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvci4KKyAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgd2luZG93
LndlYmdwdS5yZXF1ZXN0QWRhcHRlcih7fSk7CisgICAgY29uc3QgZGV2aWNlID0gYWRhcHRlci5j
cmVhdGVEZXZpY2UoKTsKKyAgICByZXR1cm4gZGV2aWNlOworfQorCitmdW5jdGlvbiBjcmVhdGVC
YXNpY0NvbnRleHQoY2FudmFzLCBkZXZpY2UpIHsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFz
LmdldENvbnRleHQoIndlYmdwdSIpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYW5kIHNwZWNp
ZnkgYSBXZWJHUFVUZXh0dXJlVXNhZ2VFbnVtLgorICAgIGNvbnRleHQuY29uZmlndXJlKHsgZGV2
aWNlOiBkZXZpY2UsIGZvcm1hdDoiQjhHOFI4QThVbm9ybSIsIHdpZHRoOiBjYW52YXMud2lkdGgs
IGhlaWdodDogY2FudmFzLmhlaWdodCB9KTsKKyAgICByZXR1cm4gY29udGV4dDsKK30KKworZnVu
Y3Rpb24gY3JlYXRlQmFzaWNQaXBlbGluZShzaGFkZXJNb2R1bGUsIGRldmljZSkgeworICAgIHZl
cnRleFN0YWdlRGVzY3JpcHRvciA9IHsKKyAgICAgICAgbW9kdWxlOiBzaGFkZXJNb2R1bGUsIAor
ICAgICAgICBzdGFnZTogV2ViR1BVU2hhZGVyU3RhZ2UuVkVSVEVYLCAKKyAgICAgICAgZW50cnlQ
b2ludDogInZlcnRleF9tYWluIiAKKyAgICB9OworCisgICAgZnJhZ21lbnRTdGFnZURlc2NyaXB0
b3IgPSB7CisgICAgICAgIG1vZHVsZTogc2hhZGVyTW9kdWxlLAorICAgICAgICBzdGFnZTogV2Vi
R1BVU2hhZGVyU3RhZ2UuRlJBR01FTlQsCisgICAgICAgIGVudHJ5UG9pbnQ6ICJmcmFnbWVudF9t
YWluIgorICAgIH07CisKKyAgICBwaXBlbGluZURlc2NyaXB0b3IgPSB7CisgICAgICAgIHN0YWdl
czogW3ZlcnRleFN0YWdlRGVzY3JpcHRvciwgZnJhZ21lbnRTdGFnZURlc2NyaXB0b3JdLAorICAg
ICAgICBwcmltaXRpdmVUb3BvbG9neTogInRyaWFuZ2xlU3RyaXAiCisgICAgfTsKKworICAgIHJl
dHVybiBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocGlwZWxpbmVEZXNjcmlwdG9yKTsKK30K
KworZnVuY3Rpb24gYmVnaW5CYXNpY1JlbmRlclBhc3MoY29udGV4dCwgY29tbWFuZEJ1ZmZlcikg
eworICAgIGNvbnN0IGJhc2ljQXR0YWNobWVudCA9IHsKKyAgICAgICAgYXR0YWNobWVudDogY29u
dGV4dC5nZXROZXh0VGV4dHVyZSgpLmNyZWF0ZURlZmF1bHRUZXh0dXJlVmlldygpLAorICAgICAg
ICBjbGVhckNvbG9yOiB7IHI6IDEuMCwgZzogMCwgYjogMCwgYTogMS4wIH0KKyAgICB9CisKKyAg
ICAvLyBGSVhNRTogRmxlc2ggb3V0IHRoZSByZXN0IG9mIFdlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLiAKKyAgICByZXR1cm4gY29tbWFuZEJ1ZmZlci5iZWdpblJlbmRlclBhc3MoeyBjb2xvckF0
dGFjaG1lbnRzIDogW2Jhc2ljQXR0YWNobWVudF0gfSk7Cit9CisKK2Z1bmN0aW9uIGVuY29kZUJh
c2ljQ29tbWFuZHMocmVuZGVyUGFzc0VuY29kZXIsIHJlbmRlclBpcGVsaW5lKSB7CisgICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOworICAgIHJlbmRlclBh
c3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7CisgICAgcmV0dXJuIHJlbmRlclBhc3NFbmNvZGVy
LmVuZFBhc3MoKTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBjb25zdCBkZXZp
Y2UgPSBhd2FpdCBnZXRCYXNpY0RldmljZSgpOworICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOworICAgIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVCYXNp
Y0NvbnRleHQoY2FudmFzLCBkZXZpY2UpOworICAgIC8vIEZJWE1FOiBSZXBsYWNlIHdpdGggbm9u
LU1TTCBzaGFkZXJzLgorICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFk
ZXJNb2R1bGUoeyBjb2RlOiBzaGFkZXJDb2RlIH0pOworICAgIGNvbnN0IHBpcGVsaW5lID0gY3Jl
YXRlQmFzaWNQaXBlbGluZShzaGFkZXJNb2R1bGUsIGRldmljZSk7CisgICAgY29uc3QgY29tbWFu
ZEJ1ZmZlciA9IGRldmljZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7CisgICAgY29uc3QgcGFzc0Vu
Y29kZXIgPSBiZWdpbkJhc2ljUmVuZGVyUGFzcyhjb250ZXh0LCBjb21tYW5kQnVmZmVyKTsKKyAg
ICBjb25zdCBlbmRDb21tYW5kQnVmZmVyID0gZW5jb2RlQmFzaWNDb21tYW5kcyhwYXNzRW5jb2Rl
ciwgcGlwZWxpbmUpOworICAgIGNvbnN0IHF1ZXVlID0gZGV2aWNlLmdldFF1ZXVlKCk7CisKKyAg
ICBxdWV1ZS5zdWJtaXQoW2VuZENvbW1hbmRCdWZmZXJdKTsKKyAgICBjb250ZXh0LnByZXNlbnQo
KTsKK30KKwordGVzdCgpOworPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dlYmdwdS1iYXNpY3MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdwdS93ZWJncHUtYmFzaWNzLmh0bWwKaW5kZXggZDU0N2M4MjljNjMxMTQzMDZj
ZjJkMzdjODU4Zjk3MmUxMjAxMmEyNy4uYzFmNjY2YjdhYjk4NGY4NWVjMmM1NGFhNWRhMGI1MWYz
NWE2MjhiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dlYmdwdS1iYXNpY3MuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvd2ViZ3B1LWJhc2ljcy5odG1sCkBAIC0xLDE0ICsx
LDE4IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgorPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJqcy9iYXNp
Yy13ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGNhbnZhcyB3aWR0aD0i
NDIwIiBoZWlnaHQ9IjQyMCI+PC9jYW52YXM+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotcnVuV2ViR1BVVGVz
dHMoW3NldFVwUGlwZWxpbmUsIHJlbmRlcl0pOworcnVuV2ViR1BVVGVzdHNPbkNhbnZhcyhkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKSwgW3NldFVwUGlwZWxpbmUsIHJlbmRlcl0pOwog
CiBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CiA8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>