<?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>207681</bug_id>
          
          <creation_ts>2020-02-12 21:38:30 -0800</creation_ts>
          <short_desc>[LFC][IFC] LineCandidateContent can have only one float item</short_desc>
          <delta_ts>2020-02-13 08:22:17 -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>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>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1618387</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-12 21:38:30 -0800</bug_when>
    <thetext>There&apos;s always a soft wrap opportunity between float and text and float and float etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618388</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-12 21:38:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/59413044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618389</commentid>
    <comment_count>2</comment_count>
      <attachid>390614</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-12 21:43:04 -0800</bug_when>
    <thetext>Created attachment 390614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618459</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-13 06:39:22 -0800</bug_when>
    <thetext>I should probably use Variant here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618468</commentid>
    <comment_count>4</comment_count>
      <attachid>390640</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-13 07:22:39 -0800</bug_when>
    <thetext>Created attachment 390640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618493</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 08:21:38 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 390640:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618494</commentid>
    <comment_count>6</comment_count>
      <attachid>390640</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 08:22:15 -0800</bug_when>
    <thetext>Comment on attachment 390640
Patch

Clearing flags on attachment: 390640

Committed r256507: &lt;https://trac.webkit.org/changeset/256507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618495</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 08:22:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390614</attachid>
            <date>2020-02-12 21:43:04 -0800</date>
            <delta_ts>2020-02-13 07:22:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207681-20200212214303.patch</filename>
            <type>text/plain</type>
            <size>19674</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIzYjJmNmVlOWJmMDg5
YmI3NzgyMWRmYzZhMjk1OTQ2M2FlMzdiMS4uNzIzMjlhMTBmNGQ1Yzc4YTQ1ZTY2OWQ1YTI0MTQ1
OWY1MTQ0MmRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBMaW5lQ2Fu
ZGlkYXRlQ29udGVudCBjYW4gaGF2ZSBvbmx5IG9uZSBmbG9hdCBpdGVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc2ODEKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU5NDEzMDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZsb2F0cyBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYXMgaW5saW5lIGNv
bnRlbnQuIFRoZXkgc2hyaW5rIHRoZSBhdmFpbGFibGUgc3BhY2UgYnV0IHdlIG5ldmVyCisgICAg
ICAgIGFkZCB0aGVtIHRvIHRoZSBsaW5lLiBUaGlzIHBhdGNoIGRlY291cGxlcyBJbmxpbmVDb250
ZW50IGFuZCBjYW5kaWRhdGUgZmxvYXRzLiBBbHNvIHRoZXJlIGNhbiBvbmx5IGJlCisgICAgICAg
IG9uZSBmbG9hdCBib3ggcGVyIGNhbmRpZGF0ZSBjb250ZW50IChzaW5jZSB0aGVyZSdzIGFsd2F5
cyBhIHNvZnQgd3JhcCBvcHBvcnR1bml0eSBiZWZvcmUvYWZ0ZXIgdGhlIGZsb2F0IGJveCkuIAor
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpJbmxpbmVDb250ZW50
OjpydW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZTo6
SW5saW5lQ29udGVudDo6bG9naWNhbFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUNhbmRpZGF0ZTo6SW5saW5lQ29udGVudDo6dHJhaWxpbmdMaW5lQnJlYWsgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpJbmxpbmVDb250
ZW50OjphcHBlbmRMaW5lQnJlYWspOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2Fu
ZGlkYXRlOjpJbmxpbmVDb250ZW50OjpzZXRUcmFpbGluZ0xpbmVCcmVhayk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGlu
ZUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpyZXNldCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6
OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6Omxh
eW91dExpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4dDo6
bmV4dENvbnRlbnRGb3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91
dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxpbmVJdGVtcyk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGVDb250ZW50OjphcHBlbmRMaW5lQnJlYWspOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6YXBw
ZW5kRmxvYXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlk
YXRlQ29udGVudDo6aGFzSW50cnVzaXZlRmxvYXRzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZUNvbnRlbnQ6OmlubGluZVJ1bnMgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVu
dDo6aW5saW5lQ29udGVudExvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGVDb250ZW50OjpmbG9hdHMgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6dHJh
aWxpbmdMaW5lQnJlYWsgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6c2V0VHJhaWxpbmdMaW5lQnJlYWspOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6YXBwZW5kSW5s
aW5lQ29udGVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5k
aWRhdGVDb250ZW50OjpyZXNldCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW1zKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oOgorCiAyMDIw
LTAyLTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBSZW1vdmUgTGluZUxheW91dENvbnRleHQ6Om1fcGFydGlhbFRyYWlsaW5nVGV4dEl0ZW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVM
YXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRleCA5YTVjZTNmMzYyNWRiZjU1MWNlYTY4ZmFjZGIx
MjFkYjI0ZGU5OGY1Li5hZTdiMDZhMThiOTZlY2VhYTRmYjRjYWE1MmRjYjQ1OGM5MzI3NDFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5
b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvTGluZUxheW91dENvbnRleHQuY3BwCkBAIC0xNzEsNDAgKzE3MSw0NSBAQCBzdGF0aWMgaW5s
aW5lIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVuaXR5KGNvbnN0IElubGluZUl0ZW1zJiBpbmxpbmVD
b250ZW50LCBzaXplXwogICAgIHJldHVybiBsYXlvdXRSYW5nZS5lbmQ7CiB9CiAKLXN0cnVjdCBM
aW5lQ2FuZGlkYXRlQ29udGVudCB7Ci0gICAgdm9pZCBhcHBlbmRJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW0mLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7Ci0gICAgdm9pZCBh
cHBlbmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkgeyBzZXRUcmFpbGlu
Z0xpbmVCcmVhayhpbmxpbmVJdGVtKTsgfQotICAgIHZvaWQgYXBwZW5kRmxvYXQoY29uc3QgSW5s
aW5lSXRlbSYgaW5saW5lSXRlbSkgeyBtX2Zsb2F0cy5hcHBlbmQoJmlubGluZUl0ZW0pOyB9Ci0K
LSAgICBib29sIGhhc0ludHJ1c2l2ZUZsb2F0cygpIGNvbnN0IHsgcmV0dXJuICFtX2Zsb2F0cy5p
c0VtcHR5KCk7IH0KLSAgICBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYgaW5saW5lUnVucygp
IGNvbnN0IHsgcmV0dXJuIG1faW5saW5lUnVuczsgfQotICAgIElubGluZUxheW91dFVuaXQgaW5s
aW5lQ29udGVudExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudExv
Z2ljYWxXaWR0aDsgfQotICAgIGNvbnN0IExpbmVMYXlvdXRDb250ZXh0OjpGbG9hdExpc3QmIGZs
b2F0cygpIGNvbnN0IHsgcmV0dXJuIG1fZmxvYXRzOyB9CitzdHJ1Y3QgTGluZUNhbmRpZGF0ZSB7
CisgICAgdm9pZCByZXNldCgpOwogCi0gICAgY29uc3QgSW5saW5lSXRlbSogdHJhaWxpbmdMaW5l
QnJlYWsoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nTGluZUJyZWFrOyB9CisgICAgc3RydWN0
IElubGluZUNvbnRlbnQgeworICAgICAgICBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYgcnVu
cygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lUnVuczsgfQorICAgICAgICBJbmxpbmVMYXlvdXRV
bml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fTG9naWNhbFdpZHRoOyB9CisgICAg
ICAgIGNvbnN0IElubGluZUl0ZW0qIHRyYWlsaW5nTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4g
bV90cmFpbGluZ0xpbmVCcmVhazsgfQogCi0gICAgdm9pZCByZXNldCgpOworICAgICAgICB2b2lk
IGFwcGVuZElubGluZUl0ZW0oY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgdm9pZCBhcHBlbmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRl
bSYgaW5saW5lSXRlbSkgeyBzZXRUcmFpbGluZ0xpbmVCcmVhayhpbmxpbmVJdGVtKTsgfQorICAg
ICAgICB2b2lkIHJlc2V0KCk7CiAKLXByaXZhdGU6Ci0gICAgdm9pZCBzZXRUcmFpbGluZ0xpbmVC
cmVhayhjb25zdCBJbmxpbmVJdGVtJiBsaW5lQnJlYWtJdGVtKSB7IG1fdHJhaWxpbmdMaW5lQnJl
YWsgPSAmbGluZUJyZWFrSXRlbTsgfQorICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgc2V0VHJh
aWxpbmdMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgbGluZUJyZWFrSXRlbSkgeyBtX3RyYWls
aW5nTGluZUJyZWFrID0gJmxpbmVCcmVha0l0ZW07IH0KIAotICAgIElubGluZUxheW91dFVuaXQg
bV9pbmxpbmVDb250ZW50TG9naWNhbFdpZHRoIHsgMCB9OwotICAgIExpbmVCcmVha2VyOjpSdW5M
aXN0IG1faW5saW5lUnVuczsKLSAgICBMaW5lTGF5b3V0Q29udGV4dDo6RmxvYXRMaXN0IG1fZmxv
YXRzOwotICAgIGNvbnN0IElubGluZUl0ZW0qIG1fdHJhaWxpbmdMaW5lQnJlYWsgeyBudWxscHRy
IH07CisgICAgICAgIElubGluZUxheW91dFVuaXQgbV9Mb2dpY2FsV2lkdGggeyAwIH07CisgICAg
ICAgIExpbmVCcmVha2VyOjpSdW5MaXN0IG1faW5saW5lUnVuczsKKyAgICAgICAgY29uc3QgSW5s
aW5lSXRlbSogbV90cmFpbGluZ0xpbmVCcmVhayB7IG51bGxwdHIgfTsKKyAgICB9OworICAgIElu
bGluZUNvbnRlbnQgaW5saW5lQ29udGVudDsKKyAgICBjb25zdCBJbmxpbmVJdGVtKiBmbG9hdEl0
ZW0geyBudWxscHRyIH07CiB9OwogCi1pbmxpbmUgdm9pZCBMaW5lQ2FuZGlkYXRlQ29udGVudDo6
YXBwZW5kSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKK2lubGluZSB2b2lkIExpbmVDYW5kaWRhdGU6OklubGlu
ZUNvbnRlbnQ6OmFwcGVuZElubGluZUl0ZW0oY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwg
SW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB7Ci0gICAgbV9pbmxpbmVDb250ZW50TG9n
aWNhbFdpZHRoICs9IGxvZ2ljYWxXaWR0aDsKKyAgICBtX0xvZ2ljYWxXaWR0aCArPSBsb2dpY2Fs
V2lkdGg7CiAgICAgbV9pbmxpbmVSdW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIGxvZ2ljYWxXaWR0
aCB9KTsKIH0KIAotaW5saW5lIHZvaWQgTGluZUNhbmRpZGF0ZUNvbnRlbnQ6OnJlc2V0KCkKK2lu
bGluZSB2b2lkIExpbmVDYW5kaWRhdGU6OnJlc2V0KCkKIHsKLSAgICBtX2lubGluZUNvbnRlbnRM
b2dpY2FsV2lkdGggPSAwOworICAgIGZsb2F0SXRlbSA9IHsgfTsKKyAgICBpbmxpbmVDb250ZW50
LnJlc2V0KCk7Cit9CisKK2lubGluZSB2b2lkIExpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6
OnJlc2V0KCkKK3sKKyAgICBtX0xvZ2ljYWxXaWR0aCA9IDA7CiAgICAgbV9pbmxpbmVSdW5zLmNs
ZWFyKCk7Ci0gICAgbV9mbG9hdHMuY2xlYXIoKTsKICAgICBtX3RyYWlsaW5nTGluZUJyZWFrID0g
bnVsbHB0cjsKIH0KIApAQCAtMjU5LDM5ICsyNjQsNDIgQEAgTGluZUxheW91dENvbnRleHQ6Okxp
bmVDb250ZW50IExpbmVMYXlvdXRDb250ZXh0OjpsYXlvdXRMaW5lKExpbmVCdWlsZGVyJiBsaW5l
LAogICAgIGF1dG8gbGluZUJyZWFrZXIgPSBMaW5lQnJlYWtlciB7IH07CiAgICAgYXV0byBjdXJy
ZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uuc3RhcnQ7CiAgICAgdW5zaWduZWQgY29tbWl0dGVk
SW5saW5lSXRlbUNvdW50ID0gMDsKLSAgICBhdXRvIGNhbmRpZGF0ZUNvbnRlbnQgPSBMaW5lQ2Fu
ZGlkYXRlQ29udGVudCB7IH07CisgICAgYXV0byBsaW5lQ2FuZGlkYXRlID0gTGluZUNhbmRpZGF0
ZSB7IH07CiAgICAgd2hpbGUgKGN1cnJlbnRJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQpIHsK
ICAgICAgICAgLy8gMS4gQ29sbGVjdCB0aGUgc2V0IG9mIHJ1bnMgdGhhdCB3ZSBjYW4gY29tbWl0
IHRvIHRoZSBsaW5lIGFzIG9uZSBlbnRpdHkgZS5nLiA8c3Bhbj50ZXh0X2FuZF9zcGFuX3N0YXJ0
X3NwYW5fZW5kPC9zcGFuPi4KICAgICAgICAgLy8gMi4gQXBwbHkgZmxvYXRzIGFuZCBzaHJpbmsg
dGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGUuZy4gPHNwYW4+aW50cnVfPGRpdiBzdHls
ZT0iZmxvYXQ6IGxlZnQiPjwvZGl2PnNpdmVfZmxvYXQ8L3NwYW4+LgogICAgICAgICAvLyAzLiBD
aGVjayBpZiB0aGUgY29udGVudCBmaXRzIHRoZSBsaW5lIGFuZCBjb21taXQgdGhlIGNvbnRlbnQg
YWNjb3JkaW5nbHkgKGZ1bGwsIHBhcnRpYWwgb3Igbm90IGNvbW1pdCBhdCBhbGwpLgogICAgICAg
ICAvLyA0LiBSZXR1cm4gaWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUgZWl0aGVyIGJ5
IG5vdCBiZWluZyBhYmxlIHRvIGZpdCBtb3JlIGNvbnRlbnQgb3IgYmVjYXVzZSBvZiBhbiBleHBs
aWNpdCBsaW5lIGJyZWFrLgotICAgICAgICBuZXh0Q29udGVudEZvckxpbmUoY2FuZGlkYXRlQ29u
dGVudCwgY3VycmVudEl0ZW1JbmRleCwgbGF5b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVu
dExlbmd0aCwgbGluZS5saW5lQm94KCkubG9naWNhbFdpZHRoKCkpOwotICAgICAgICBpZiAoY2Fu
ZGlkYXRlQ29udGVudC5oYXNJbnRydXNpdmVGbG9hdHMoKSkgewotICAgICAgICAgICAgLy8gQWRk
IGZsb2F0cyBmaXJzdCBiZWNhdXNlIHRoZXkgc2hyaW5rIHRoZSBhdmFpbGFibGUgaG9yaXpvbnRh
bCBzcGFjZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQuCi0gICAgICAgICAgICBhdXRvIHJl
c3VsdCA9IHRyeUFkZGluZ0Zsb2F0SXRlbXMobGluZSwgY2FuZGlkYXRlQ29udGVudC5mbG9hdHMo
KSk7CisgICAgICAgIG5leHRDb250ZW50Rm9yTGluZShsaW5lQ2FuZGlkYXRlLCBjdXJyZW50SXRl
bUluZGV4LCBsYXlvdXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBsaW5lLmxp
bmVCb3goKS5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0
SXRlbSkgeworICAgICAgICAgICAgLy8gRmxvYXRzIHNocmluayB0aGUgYXZhaWxhYmxlIGhvcml6
b250YWwgc3BhY2UgZm9yIHRoZSByZXN0IG9mIHRoZSBjb250ZW50LCBidXQgdGhleSBhcmUgbm90
IGFkZGVkIG9uIHRoZSBsaW5lLgorICAgICAgICAgICAgYXV0byByZXN1bHQgPSB0cnlBZGRpbmdG
bG9hdEl0ZW0obGluZSwgKmxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKICAgICAgICAgICAgIGNv
bW1pdHRlZElubGluZUl0ZW1Db3VudCArPSByZXN1bHQuY29tbWl0dGVkQ291bnQ7CiAgICAgICAg
ICAgICBpZiAocmVzdWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6
WWVzKSB7Ci0gICAgICAgICAgICAgICAgLy8gRmxvYXRzIHRha2UgdXAgYWxsIHRoZSBob3Jpem9u
dGFsIHNwYWNlLgorICAgICAgICAgICAgICAgIC8vIFRoaXMgZmxvYXQgdGFrZXMgdXAgYWxsIHRo
ZSBob3Jpem9udGFsIHNwYWNlLgogICAgICAgICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBs
YXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCB7IH0pOwogICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIGlmICghY2FuZGlkYXRlQ29udGVudC5pbmxpbmVSdW5zKCku
aXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlz
IGNvbnRlbnQgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0g
dHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGNhbmRpZGF0ZUNvbnRlbnQp
OwotICAgICAgICAgICAgaWYgKHJlc3VsdC5yZXZlcnRUbykgewotICAgICAgICAgICAgICAgIEFT
U0VSVCghcmVzdWx0LmNvbW1pdHRlZENvdW50KTsKLSAgICAgICAgICAgICAgICBBU1NFUlQocmVz
dWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzKTsKLSAgICAg
ICAgICAgICAgICAvLyBBbiBlYXJsaWVyIGxpbmUgd3JhcHBpbmcgb3Bwb3J0dW5pdHkgdHVybmVk
IG91dCB0byBiZSB0aGUgZmluYWwgYnJlYWtpbmcgcG9zaXRpb24uCi0gICAgICAgICAgICAgICAg
cmVidWlsZExpbmVGb3JSZXZlcnQobGluZSwgKnJlc3VsdC5yZXZlcnRUbywgbGF5b3V0UmFuZ2Up
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICs9
IHJlc3VsdC5jb21taXR0ZWRDb3VudDsKLSAgICAgICAgICAgIGlmIChyZXN1bHQuaXNFbmRPZkxp
bmUgPT0gTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMpIHsKLSAgICAgICAgICAgICAgICAv
LyBXZSBjYW4ndCBwbGFjZSBhbnkgbW9yZSBpdGVtcyBvbiB0aGUgY3VycmVudCBsaW5lLgotICAg
ICAgICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5s
aW5lSXRlbUNvdW50LCByZXN1bHQucGFydGlhbENvbnRlbnQpOworICAgICAgICAgICAgQVNTRVJU
KGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5ydW5zKCkuaXNFbXB0eSgpKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRl
LmlubGluZUNvbnRlbnQ7CisgICAgICAgICAgICBpZiAoIWlubGluZUNvbnRlbnQucnVucygpLmlz
RW1wdHkoKSkgeworICAgICAgICAgICAgICAgIC8vIE5vdyBjaGVjayBpZiB3ZSBjYW4gcHV0IHRo
aXMgY29udGVudCBvbiB0aGUgY3VycmVudCBsaW5lLgorICAgICAgICAgICAgICAgIGF1dG8gcmVz
dWx0ID0gdHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGxpbmVDYW5kaWRh
dGUpOworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQucmV2ZXJ0VG8pIHsKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFyZXN1bHQuY29tbWl0dGVkQ291bnQpOworICAgICAgICAgICAgICAg
ICAgICBBU1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGlu
ZTo6WWVzKTsKKyAgICAgICAgICAgICAgICAgICAgLy8gQW4gZWFybGllciBsaW5lIHdyYXBwaW5n
IG9wcG9ydHVuaXR5IHR1cm5lZCBvdXQgdG8gYmUgdGhlIGZpbmFsIGJyZWFraW5nIHBvc2l0aW9u
LgorICAgICAgICAgICAgICAgICAgICByZWJ1aWxkTGluZUZvclJldmVydChsaW5lLCAqcmVzdWx0
LnJldmVydFRvLCBsYXlvdXRSYW5nZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCArPSByZXN1bHQuY29tbWl0dGVkQ291bnQ7Cisg
ICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNF
bmRPZkxpbmU6OlllcykgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBwbGFjZSBh
bnkgbW9yZSBpdGVtcyBvbiB0aGUgY3VycmVudCBsaW5lLgorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gY2xvc2UobGluZSwgbGF5b3V0UmFuZ2UsIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwg
cmVzdWx0LnBhcnRpYWxDb250ZW50KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
IGVsc2UgaWYgKGF1dG8qIHRyYWlsaW5nTGluZUJyZWFrID0gaW5saW5lQ29udGVudC50cmFpbGlu
Z0xpbmVCcmVhaygpKSB7CisgICAgICAgICAgICAgICAgbGluZS5hcHBlbmQoKnRyYWlsaW5nTGlu
ZUJyZWFrLCAwKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xvc2UobGluZSwgbGF5b3V0UmFu
Z2UsICsrY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCB7IH0pOwogICAgICAgICAgICAgfQotICAg
ICAgICB9IGVsc2UgaWYgKGF1dG8qIHRyYWlsaW5nTGluZUJyZWFrID0gY2FuZGlkYXRlQ29udGVu
dC50cmFpbGluZ0xpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICBsaW5lLmFwcGVuZCgqdHJhaWxp
bmdMaW5lQnJlYWssIDApOwotICAgICAgICAgICAgcmV0dXJuIGNsb3NlKGxpbmUsIGxheW91dFJh
bmdlLCArK2NvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgeyB9KTsKICAgICAgICAgfQogICAgICAg
ICBjdXJyZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uuc3RhcnQgKyBjb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQ7CiAgICAgICAgIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCA9IHsgfTsKQEAg
LTMzMCwxMCArMzM4LDEwIEBAIExpbmVMYXlvdXRDb250ZXh0OjpMaW5lQ29udGVudCBMaW5lTGF5
b3V0Q29udGV4dDo6Y2xvc2UoTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0CiAgICAgcmV0dXJuIExp
bmVDb250ZW50IHsgdHJhaWxpbmdJbmxpbmVJdGVtSW5kZXgsIHBhcnRpYWxDb250ZW50LCBXVEZN
b3ZlKG1fZmxvYXRzKSwgbGluZS5jbG9zZShpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpLCBs
aW5lLmxpbmVCb3goKSB9OwogfQogCi12b2lkIExpbmVMYXlvdXRDb250ZXh0OjpuZXh0Q29udGVu
dEZvckxpbmUoTGluZUNhbmRpZGF0ZUNvbnRlbnQmIGNhbmRpZGF0ZUNvbnRlbnQsIHVuc2lnbmVk
IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5n
ZSwgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5l
TGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQordm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6
bmV4dENvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHVuc2lnbmVk
IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5n
ZSwgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5l
TGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQogewogICAgIEFTU0VSVChjdXJyZW50SW5s
aW5lSXRlbUluZGV4IDwgbGF5b3V0UmFuZ2UuZW5kKTsKLSAgICBjYW5kaWRhdGVDb250ZW50LnJl
c2V0KCk7CisgICAgbGluZUNhbmRpZGF0ZS5yZXNldCgpOwogICAgIC8vIDEuIFNpbXBseSBhZGQg
YW55IG92ZXJmbG93IGNvbnRlbnQgZnJvbSB0aGUgcHJldmlvdXMgbGluZSB0byB0aGUgY2FuZGlk
YXRlIGNvbnRlbnQuIEl0J3MgYWx3YXlzIGEgdGV4dCBjb250ZW50LgogICAgIC8vIDIuIEZpbmQg
dGhlIG5leHQgc29mdCB3cmFwIHBvc2l0aW9uIG9yIGV4cGxpY2l0IGxpbmUgYnJlYWsuCiAgICAg
Ly8gMy4gQ29sbGVjdCBmbG9hdHMgYmV0d2VlbiB0aGUgaW5saW5lIGNvbnRlbnQuCkBAIC0zNDYs
NyArMzU0LDcgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6bmV4dENvbnRlbnRGb3JMaW5lKExp
bmVDYW5kaWRhdGVDb250ZW50JiBjYW5kaWRhdGVDb250ZW4KICAgICAgICAgLy8gQ29uc3RydWN0
IGEgcGFydGlhbCBsZWFkaW5nIGlubGluZSBpdGVtLgogICAgICAgICBtX3BhcnRpYWxMZWFkaW5n
VGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50
SW5saW5lSXRlbUluZGV4XSkucmlnaHQoKnBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CiAg
ICAgICAgIGF1dG8gaXRlbVdpZHRoID0gaW5saW5lSXRlbVdpZHRoKCptX3BhcnRpYWxMZWFkaW5n
VGV4dEl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOwotICAgICAgICBjYW5kaWRhdGVDb250ZW50
LmFwcGVuZElubGluZUNvbnRlbnQoKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgaXRlbVdpZHRo
KTsKKyAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFwcGVuZElubGluZUl0ZW0o
Km1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgaXRlbVdpZHRoKTsKICAgICAgICAgY3VycmVudExv
Z2ljYWxSaWdodCArPSBpdGVtV2lkdGg7CiAgICAgICAgICsrY3VycmVudElubGluZUl0ZW1JbmRl
eDsKICAgICB9CkBAIC0zNTQsNDkgKzM2Miw0OCBAQCB2b2lkIExpbmVMYXlvdXRDb250ZXh0Ojpu
ZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZUNvbnRlbnQmIGNhbmRpZGF0ZUNvbnRlbgog
ICAgIGZvciAoYXV0byBpbmRleCA9IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXg7IGluZGV4IDwgc29m
dFdyYXBPcHBvcnR1bml0eUluZGV4OyArK2luZGV4KSB7CiAgICAgICAgIGF1dG8mIGlubGluZUl0
ZW0gPSBtX2lubGluZUl0ZW1zW2luZGV4XTsKICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0
KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRh
aW5lckVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoIWxpbmVDYW5kaWRhdGUuZmxvYXRJdGVt
KTsKICAgICAgICAgICAgIGF1dG8gaW5saW5lSXRlbm1XaWR0aCA9IGlubGluZUl0ZW1XaWR0aChp
bmxpbmVJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNhbmRpZGF0ZUNv
bnRlbnQuYXBwZW5kSW5saW5lQ29udGVudChpbmxpbmVJdGVtLCBpbmxpbmVJdGVubVdpZHRoKTsK
KyAgICAgICAgICAgIGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBlbmRJbmxpbmVJdGVt
KGlubGluZUl0ZW0sIGlubGluZUl0ZW5tV2lkdGgpOwogICAgICAgICAgICAgY3VycmVudExvZ2lj
YWxSaWdodCArPSBpbmxpbmVJdGVubVdpZHRoOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNGbG9hdCgpKSB7CiAgICAgICAgICAgICAv
LyBGbG9hdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBsaW5lIGNvbnRleHQuCiAgICAgICAgICAgICAv
LyBGSVhNRTogQ2hlY2sgaWYgdGhlaXIgd2lkdGggc2hvdWxkIGJlIGFkZGVkIHRvIGN1cnJlbnRM
b2dpY2FsUmlnaHQuCi0gICAgICAgICAgICBjYW5kaWRhdGVDb250ZW50LmFwcGVuZEZsb2F0KGlu
bGluZUl0ZW0pOworICAgICAgICAgICAgQVNTRVJUKCFsaW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSk7
CisgICAgICAgICAgICBBU1NFUlQobGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LnJ1bnMoKS5p
c0VtcHR5KCkpOworICAgICAgICAgICAgbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0gPSAmaW5saW5l
SXRlbTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmIChpbmxp
bmVJdGVtLmlzTGluZUJyZWFrKCkpIHsKLSAgICAgICAgICAgIGNhbmRpZGF0ZUNvbnRlbnQuYXBw
ZW5kTGluZUJyZWFrKGlubGluZUl0ZW0pOworICAgICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxp
bmVDb250ZW50LmFwcGVuZExpbmVCcmVhayhpbmxpbmVJdGVtKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIH0K
IAotTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5n
RmxvYXRJdGVtcyhMaW5lQnVpbGRlciYgbGluZSwgY29uc3QgRmxvYXRMaXN0JiBmbG9hdHMpCitM
aW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdGbG9h
dEl0ZW0oTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSkKIHsK
LSAgICBzaXplX3QgY29tbWl0dGVkRmxvYXRJdGVtQ291bnQgPSAwOwotICAgIGZvciAoYXV0byYg
ZmxvYXRJdGVtIDogZmxvYXRzKSB7Ci0gICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gaW5saW5l
SXRlbVdpZHRoKCpmbG9hdEl0ZW0sIHsgfSk7Ci0KLSAgICAgICAgYXV0byBsaW5lSXNDb25zaWRl
cmVkRW1wdHkgPSBsaW5lLmlzVmlzdWFsbHlFbXB0eSgpICYmICFsaW5lLmhhc0ludHJ1c2l2ZUZs
b2F0KCk7Ci0gICAgICAgIGlmIChMaW5lQnJlYWtlcigpLnNob3VsZFdyYXBGbG9hdEJveChsb2dp
Y2FsV2lkdGgsIGxpbmUuYXZhaWxhYmxlV2lkdGgoKSArIGxpbmUudHJpbW1hYmxlVHJhaWxpbmdX
aWR0aCgpLCBsaW5lSXNDb25zaWRlcmVkRW1wdHkpKQotICAgICAgICAgICAgcmV0dXJuIHsgTGlu
ZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMsIGNvbW1pdHRlZEZsb2F0SXRlbUNvdW50IH07Ci0g
ICAgICAgIC8vIFRoaXMgZmxvYXQgY2FuIHNpdCBvbiB0aGUgY3VycmVudCBsaW5lLgotICAgICAg
ICArK2NvbW1pdHRlZEZsb2F0SXRlbUNvdW50OwotICAgICAgICBhdXRvJiBmbG9hdEJveCA9IGZs
b2F0SXRlbS0+bGF5b3V0Qm94KCk7Ci0gICAgICAgIC8vIFNocmluayBhdmFpbGFibGUgc3BhY2Ug
Zm9yIGN1cnJlbnQgbGluZSBhbmQgbW92ZSBleGlzdGluZyBpbmxpbmUgcnVucy4KLSAgICAgICAg
bGluZS5zZXRIYXNJbnRydXNpdmVGbG9hdCgpOwotICAgICAgICBpZiAoZmxvYXRCb3guaXNMZWZ0
RmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICBsaW5lLm1vdmVMb2dpY2FsTGVmdChs
b2dpY2FsV2lkdGgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsaW5lLm1vdmVMb2dpY2Fs
UmlnaHQobG9naWNhbFdpZHRoKTsKLSAgICAgICAgbV9mbG9hdHMuYXBwZW5kKGZsb2F0SXRlbSk7
Ci0gICAgfQotICAgIHJldHVybiB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6Tm8sIGNvbW1p
dHRlZEZsb2F0SXRlbUNvdW50IH07CisgICAgYXV0byBsb2dpY2FsV2lkdGggPSBpbmxpbmVJdGVt
V2lkdGgoZmxvYXRJdGVtLCB7IH0pOworCisgICAgYXV0byBsaW5lSXNDb25zaWRlcmVkRW1wdHkg
PSBsaW5lLmlzVmlzdWFsbHlFbXB0eSgpICYmICFsaW5lLmhhc0ludHJ1c2l2ZUZsb2F0KCk7Cisg
ICAgaWYgKExpbmVCcmVha2VyKCkuc2hvdWxkV3JhcEZsb2F0Qm94KGxvZ2ljYWxXaWR0aCwgbGlu
ZS5hdmFpbGFibGVXaWR0aCgpICsgbGluZS50cmltbWFibGVUcmFpbGluZ1dpZHRoKCksIGxpbmVJ
c0NvbnNpZGVyZWRFbXB0eSkpCisgICAgICAgIHJldHVybiB7IExpbmVCcmVha2VyOjpJc0VuZE9m
TGluZTo6WWVzIH07CisgICAgLy8gVGhpcyBmbG9hdCBjYW4gc2l0IG9uIHRoZSBjdXJyZW50IGxp
bmUuCisgICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0ZW0ubGF5b3V0Qm94KCk7CisgICAgLy8g
U2hyaW5rIGF2YWlsYWJsZSBzcGFjZSBmb3IgY3VycmVudCBsaW5lIGFuZCBtb3ZlIGV4aXN0aW5n
IGlubGluZSBydW5zLgorICAgIGxpbmUuc2V0SGFzSW50cnVzaXZlRmxvYXQoKTsKKyAgICBpZiAo
ZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkpCisgICAgICAgIGxpbmUubW92ZUxv
Z2ljYWxMZWZ0KGxvZ2ljYWxXaWR0aCk7CisgICAgZWxzZQorICAgICAgICBsaW5lLm1vdmVMb2dp
Y2FsUmlnaHQobG9naWNhbFdpZHRoKTsKKyAgICBtX2Zsb2F0cy5hcHBlbmQoJmZsb2F0SXRlbSk7
CisgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpObywgMSB9OwogfQogCi1M
aW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxp
bmVJdGVtcyhMaW5lQnJlYWtlciYgbGluZUJyZWFrZXIsIExpbmVCdWlsZGVyJiBsaW5lLCBjb25z
dCBMaW5lQ2FuZGlkYXRlQ29udGVudCYgY2FuZGlkYXRlQ29udGVudCkKK0xpbmVMYXlvdXRDb250
ZXh0OjpSZXN1bHQgTGluZUxheW91dENvbnRleHQ6OnRyeUFkZGluZ0lubGluZUl0ZW1zKExpbmVC
cmVha2VyJiBsaW5lQnJlYWtlciwgTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IExpbmVDYW5kaWRh
dGUmIGxpbmVDYW5kaWRhdGUpCiB7CiAgICAgYXV0byBzaG91bGREaXNhYmxlSHlwaGVuYXRpb24g
PSBbJl0gewogICAgICAgICBhdXRvJiBzdHlsZSA9IHJvb3QoKS5zdHlsZSgpOwpAQCAtNDA5LDE0
ICs0MTYsMTUgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6
dHJ5QWRkaW5nSW5saW5lSXRlbXMoTGluZUJyZWFrZXImIGwKICAgICBpZiAoc2hvdWxkRGlzYWJs
ZUh5cGhlbmF0aW9uKCkpCiAgICAgICAgIGxpbmVCcmVha2VyLnNldEh5cGhlbmF0aW9uRGlzYWJs
ZWQoKTsKIAotICAgIGF1dG8mIGNhbmRpZGF0ZVJ1bnMgPSBjYW5kaWRhdGVDb250ZW50LmlubGlu
ZVJ1bnMoKTsKLSAgICBhdXRvIHJlc3VsdCA9IGxpbmVCcmVha2VyLnNob3VsZFdyYXBJbmxpbmVD
b250ZW50KGNhbmRpZGF0ZVJ1bnMsIGNhbmRpZGF0ZUNvbnRlbnQuaW5saW5lQ29udGVudExvZ2lj
YWxXaWR0aCgpLCBsaW5lU3RhdHVzKTsKKyAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNh
bmRpZGF0ZS5pbmxpbmVDb250ZW50OworICAgIGF1dG8mIGNhbmRpZGF0ZVJ1bnMgPSBpbmxpbmVD
b250ZW50LnJ1bnMoKTsKKyAgICBhdXRvIHJlc3VsdCA9IGxpbmVCcmVha2VyLnNob3VsZFdyYXBJ
bmxpbmVDb250ZW50KGNhbmRpZGF0ZVJ1bnMsIGlubGluZUNvbnRlbnQubG9naWNhbFdpZHRoKCks
IGxpbmVTdGF0dXMpOwogICAgIGlmIChyZXN1bHQuYWN0aW9uID09IExpbmVCcmVha2VyOjpSZXN1
bHQ6OkFjdGlvbjo6S2VlcCkgewogICAgICAgICAvLyBUaGlzIGNvbnRpbnVvdXMgY29udGVudCBj
YW4gYmUgZnVsbHkgcGxhY2VkIG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgIGZvciAoYXV0
byYgcnVuIDogY2FuZGlkYXRlUnVucykKICAgICAgICAgICAgIGxpbmUuYXBwZW5kKHJ1bi5pbmxp
bmVJdGVtLCBydW4ubG9naWNhbFdpZHRoKTsKICAgICAgICAgLy8gQ29uc3VtZSB0cmFpbGluZyBs
aW5lIGJyZWFrIGFzIHdlbGwuCi0gICAgICAgIGlmIChhdXRvKiBsaW5lQnJlYWtJdGVtID0gY2Fu
ZGlkYXRlQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpKSB7CisgICAgICAgIGlmIChhdXRvKiBs
aW5lQnJlYWtJdGVtID0gaW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpKSB7CiAgICAg
ICAgICAgICBsaW5lLmFwcGVuZCgqbGluZUJyZWFrSXRlbSwgMCk7CiAgICAgICAgICAgICByZXR1
cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcywgY2FuZGlkYXRlUnVucy5zaXplKCkg
KyAxIH07CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCmluZGV4IGY4ZjE0Y2I5ZTcxYzJh
NThjOGE0NzQxZjUwZDUyM2JhN2EyODRmMjguLjg3MzZmODNiYTE5YTIyOWE2NzA3Yzc4YTVmYWQz
ZTg2YTBiMWZiNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuaApAQCAtMzMsNyArMzMsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLXN0cnVjdCBMaW5lQ2FuZGlk
YXRlQ29udGVudDsKK3N0cnVjdCBMaW5lQ2FuZGlkYXRlOwogCiBjbGFzcyBMaW5lTGF5b3V0Q29u
dGV4dCB7CiBwdWJsaWM6CkBAIC01NiwxOCArNTYsMTcgQEAgcHVibGljOgogICAgICAgICBzaXpl
X3QgZW5kIHsgMCB9OwogICAgIH07CiAgICAgTGluZUNvbnRlbnQgbGF5b3V0TGluZShMaW5lQnVp
bGRlciYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSwgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxM
ZWFkaW5nQ29udGVudExlbmd0aCk7Ci0gICAgdXNpbmcgRmxvYXRMaXN0ID0gVmVjdG9yPGNvbnN0
IElubGluZUl0ZW0qPjsKIAogcHJpdmF0ZToKLSAgICB2b2lkIG5leHRDb250ZW50Rm9yTGluZShM
aW5lQ2FuZGlkYXRlQ29udGVudCYsIHVuc2lnbmVkIGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5s
aW5lSXRlbVJhbmdlIGxheW91dFJhbmdlLCBPcHRpb25hbDx1bnNpZ25lZD4gb3ZlcmZsb3dMZW5n
dGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgdm9pZCBuZXh0
Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHVuc2lnbmVkIGlubGluZUl0ZW1JbmRleCwg
Y29uc3QgSW5saW5lSXRlbVJhbmdlIGxheW91dFJhbmdlLCBPcHRpb25hbDx1bnNpZ25lZD4gb3Zl
cmZsb3dMZW5ndGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCk7CiAgICAg
c3RydWN0IFJlc3VsdCB7CiAgICAgICAgIExpbmVCcmVha2VyOjpJc0VuZE9mTGluZSBpc0VuZE9m
TGluZSB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6Tm8gfTsKICAgICAgICAgc2l6ZV90IGNv
bW1pdHRlZENvdW50IHsgMCB9OwogICAgICAgICBPcHRpb25hbCA8TGluZUNvbnRlbnQ6OlBhcnRp
YWxDb250ZW50PiBwYXJ0aWFsQ29udGVudCB7IH07CiAgICAgICAgIGNvbnN0IElubGluZUl0ZW0q
IHJldmVydFRvIHsgbnVsbHB0ciB9OwogICAgIH07Ci0gICAgUmVzdWx0IHRyeUFkZGluZ0Zsb2F0
SXRlbXMoTGluZUJ1aWxkZXImLCBjb25zdCBGbG9hdExpc3QmKTsKLSAgICBSZXN1bHQgdHJ5QWRk
aW5nSW5saW5lSXRlbXMoTGluZUJyZWFrZXImLCBMaW5lQnVpbGRlciYsIGNvbnN0IExpbmVDYW5k
aWRhdGVDb250ZW50Jik7CisgICAgUmVzdWx0IHRyeUFkZGluZ0Zsb2F0SXRlbShMaW5lQnVpbGRl
ciYsIGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSk7CisgICAgUmVzdWx0IHRyeUFkZGluZ0lu
bGluZUl0ZW1zKExpbmVCcmVha2VyJiwgTGluZUJ1aWxkZXImLCBjb25zdCBMaW5lQ2FuZGlkYXRl
Jik7CiAgICAgdm9pZCByZWJ1aWxkTGluZUZvclJldmVydChMaW5lQnVpbGRlciYsIGNvbnN0IElu
bGluZUl0ZW0mIHJldmVydFRvLCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UgbGF5b3V0UmFuZ2UpOwog
ICAgIHZvaWQgY29tbWl0UGFydGlhbENvbnRlbnQoTGluZUJ1aWxkZXImLCBjb25zdCBMaW5lQnJl
YWtlcjo6UnVuTGlzdCYsIGNvbnN0IExpbmVCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGlu
Z0NvbnRlbnQmKTsKICAgICBMaW5lQ29udGVudCBjbG9zZShMaW5lQnVpbGRlciYsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5nZSwgdW5zaWduZWQgY29tbWl0dGVkSW5saW5lSXRlbUNv
dW50LCBPcHRpb25hbDxMaW5lQ29udGVudDo6UGFydGlhbENvbnRlbnQ+KTsKQEAgLTgwLDYgKzc5
LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDsKICAgICBjb25zdCBDb250YWluZXJCb3gmIG1fZm9ybWF0dGlu
Z0NvbnRleHRSb290OwogICAgIGNvbnN0IElubGluZUl0ZW1zJiBtX2lubGluZUl0ZW1zOworICAg
IHVzaW5nIEZsb2F0TGlzdCA9IFZlY3Rvcjxjb25zdCBJbmxpbmVJdGVtKj47CiAgICAgRmxvYXRM
aXN0IG1fZmxvYXRzOwogICAgIE9wdGlvbmFsPElubGluZVRleHRJdGVtPiBtX3BhcnRpYWxMZWFk
aW5nVGV4dEl0ZW07CiAgICAgdW5zaWduZWQgbV9zdWNjZXNzaXZlSHlwaGVuYXRlZExpbmVDb3Vu
dCB7IDAgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390640</attachid>
            <date>2020-02-13 07:22:39 -0800</date>
            <delta_ts>2020-02-13 08:22:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207681-20200213072238.patch</filename>
            <type>text/plain</type>
            <size>19755</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIzYjJmNmVlOWJmMDg5
YmI3NzgyMWRmYzZhMjk1OTQ2M2FlMzdiMS4uODJiZDA2YTk3OWRkZjQ1OTY3NGQ4YzIyNGE1MzUy
MDA0MzlhZTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBMaW5lQ2Fu
ZGlkYXRlQ29udGVudCBjYW4gaGF2ZSBvbmx5IG9uZSBmbG9hdCBpdGVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc2ODEKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU5NDEzMDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3Rv
LgorCisgICAgICAgIEZsb2F0cyBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYXMgaW5saW5lIGNv
bnRlbnQuIFRoZXkgc2hyaW5rIHRoZSBhdmFpbGFibGUgc3BhY2UgYnV0IHdlIG5ldmVyCisgICAg
ICAgIGFkZCB0aGVtIHRvIHRoZSBsaW5lLiBUaGlzIHBhdGNoIGRlY291cGxlcyBJbmxpbmVDb250
ZW50IGFuZCBjYW5kaWRhdGUgZmxvYXRzLiBBbHNvIHRoZXJlIGNhbiBvbmx5IGJlCisgICAgICAg
IG9uZSBmbG9hdCBib3ggcGVyIGNhbmRpZGF0ZSBjb250ZW50IChzaW5jZSB0aGVyZSdzIGFsd2F5
cyBhIHNvZnQgd3JhcCBvcHBvcnR1bml0eSBiZWZvcmUvYWZ0ZXIgdGhlIGZsb2F0IGJveCkuIAor
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpJbmxpbmVDb250ZW50
OjpydW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZTo6
SW5saW5lQ29udGVudDo6bG9naWNhbFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUNhbmRpZGF0ZTo6SW5saW5lQ29udGVudDo6dHJhaWxpbmdMaW5lQnJlYWsgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpJbmxpbmVDb250
ZW50OjphcHBlbmRMaW5lQnJlYWspOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2Fu
ZGlkYXRlOjpJbmxpbmVDb250ZW50OjpzZXRUcmFpbGluZ0xpbmVCcmVhayk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGlu
ZUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpyZXNldCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6
OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6Omxh
eW91dExpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4dDo6
bmV4dENvbnRlbnRGb3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91
dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxpbmVJdGVtcyk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGVDb250ZW50OjphcHBlbmRMaW5lQnJlYWspOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6YXBw
ZW5kRmxvYXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlk
YXRlQ29udGVudDo6aGFzSW50cnVzaXZlRmxvYXRzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZUNvbnRlbnQ6OmlubGluZVJ1bnMgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVu
dDo6aW5saW5lQ29udGVudExvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5kaWRhdGVDb250ZW50OjpmbG9hdHMgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6dHJh
aWxpbmdMaW5lQnJlYWsgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6c2V0VHJhaWxpbmdMaW5lQnJlYWspOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlQ29udGVudDo6YXBwZW5kSW5s
aW5lQ29udGVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVDYW5k
aWRhdGVDb250ZW50OjpyZXNldCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW1zKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oOgorCiAyMDIw
LTAyLTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBSZW1vdmUgTGluZUxheW91dENvbnRleHQ6Om1fcGFydGlhbFRyYWlsaW5nVGV4dEl0ZW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVM
YXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRleCA5YTVjZTNmMzYyNWRiZjU1MWNlYTY4ZmFjZGIx
MjFkYjI0ZGU5OGY1Li41ODJkMjJiMTNlOTBiMDk1ZTE2MWY1YTA5OTAwODA5MjM0OWYxNWQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5
b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvTGluZUxheW91dENvbnRleHQuY3BwCkBAIC0xNzEsNDAgKzE3MSw0NiBAQCBzdGF0aWMgaW5s
aW5lIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVuaXR5KGNvbnN0IElubGluZUl0ZW1zJiBpbmxpbmVD
b250ZW50LCBzaXplXwogICAgIHJldHVybiBsYXlvdXRSYW5nZS5lbmQ7CiB9CiAKLXN0cnVjdCBM
aW5lQ2FuZGlkYXRlQ29udGVudCB7Ci0gICAgdm9pZCBhcHBlbmRJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW0mLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7Ci0gICAgdm9pZCBh
cHBlbmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkgeyBzZXRUcmFpbGlu
Z0xpbmVCcmVhayhpbmxpbmVJdGVtKTsgfQotICAgIHZvaWQgYXBwZW5kRmxvYXQoY29uc3QgSW5s
aW5lSXRlbSYgaW5saW5lSXRlbSkgeyBtX2Zsb2F0cy5hcHBlbmQoJmlubGluZUl0ZW0pOyB9Ci0K
LSAgICBib29sIGhhc0ludHJ1c2l2ZUZsb2F0cygpIGNvbnN0IHsgcmV0dXJuICFtX2Zsb2F0cy5p
c0VtcHR5KCk7IH0KLSAgICBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYgaW5saW5lUnVucygp
IGNvbnN0IHsgcmV0dXJuIG1faW5saW5lUnVuczsgfQotICAgIElubGluZUxheW91dFVuaXQgaW5s
aW5lQ29udGVudExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudExv
Z2ljYWxXaWR0aDsgfQotICAgIGNvbnN0IExpbmVMYXlvdXRDb250ZXh0OjpGbG9hdExpc3QmIGZs
b2F0cygpIGNvbnN0IHsgcmV0dXJuIG1fZmxvYXRzOyB9CitzdHJ1Y3QgTGluZUNhbmRpZGF0ZSB7
CisgICAgdm9pZCByZXNldCgpOwogCi0gICAgY29uc3QgSW5saW5lSXRlbSogdHJhaWxpbmdMaW5l
QnJlYWsoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nTGluZUJyZWFrOyB9CisgICAgc3RydWN0
IElubGluZUNvbnRlbnQgeworICAgICAgICBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYgcnVu
cygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lUnVuczsgfQorICAgICAgICBJbmxpbmVMYXlvdXRV
bml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fTG9naWNhbFdpZHRoOyB9CisgICAg
ICAgIGNvbnN0IElubGluZUl0ZW0qIHRyYWlsaW5nTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4g
bV90cmFpbGluZ0xpbmVCcmVhazsgfQogCi0gICAgdm9pZCByZXNldCgpOworICAgICAgICB2b2lk
IGFwcGVuZElubGluZUl0ZW0oY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgdm9pZCBhcHBlbmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRl
bSYgaW5saW5lSXRlbSkgeyBzZXRUcmFpbGluZ0xpbmVCcmVhayhpbmxpbmVJdGVtKTsgfQorICAg
ICAgICB2b2lkIHJlc2V0KCk7CiAKLXByaXZhdGU6Ci0gICAgdm9pZCBzZXRUcmFpbGluZ0xpbmVC
cmVhayhjb25zdCBJbmxpbmVJdGVtJiBsaW5lQnJlYWtJdGVtKSB7IG1fdHJhaWxpbmdMaW5lQnJl
YWsgPSAmbGluZUJyZWFrSXRlbTsgfQorICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgc2V0VHJh
aWxpbmdMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgbGluZUJyZWFrSXRlbSkgeyBtX3RyYWls
aW5nTGluZUJyZWFrID0gJmxpbmVCcmVha0l0ZW07IH0KIAotICAgIElubGluZUxheW91dFVuaXQg
bV9pbmxpbmVDb250ZW50TG9naWNhbFdpZHRoIHsgMCB9OwotICAgIExpbmVCcmVha2VyOjpSdW5M
aXN0IG1faW5saW5lUnVuczsKLSAgICBMaW5lTGF5b3V0Q29udGV4dDo6RmxvYXRMaXN0IG1fZmxv
YXRzOwotICAgIGNvbnN0IElubGluZUl0ZW0qIG1fdHJhaWxpbmdMaW5lQnJlYWsgeyBudWxscHRy
IH07CisgICAgICAgIElubGluZUxheW91dFVuaXQgbV9Mb2dpY2FsV2lkdGggeyAwIH07CisgICAg
ICAgIExpbmVCcmVha2VyOjpSdW5MaXN0IG1faW5saW5lUnVuczsKKyAgICAgICAgY29uc3QgSW5s
aW5lSXRlbSogbV90cmFpbGluZ0xpbmVCcmVhayB7IG51bGxwdHIgfTsKKyAgICB9OworICAgIC8v
IENhbmRpZGF0ZSBjb250ZW50IGlzIGVpdGhlciBhIGNvbGxlY3Rpb24gb2YgaW5saW5lIGl0ZW1z
IG9yIGEgZmxvYXQgYm94LgorICAgIElubGluZUNvbnRlbnQgaW5saW5lQ29udGVudDsKKyAgICBj
b25zdCBJbmxpbmVJdGVtKiBmbG9hdEl0ZW0geyBudWxscHRyIH07CiB9OwogCi1pbmxpbmUgdm9p
ZCBMaW5lQ2FuZGlkYXRlQ29udGVudDo6YXBwZW5kSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKK2lubGluZSB2
b2lkIExpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGluZUl0ZW0oY29uc3Qg
SW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB7
Ci0gICAgbV9pbmxpbmVDb250ZW50TG9naWNhbFdpZHRoICs9IGxvZ2ljYWxXaWR0aDsKKyAgICBt
X0xvZ2ljYWxXaWR0aCArPSBsb2dpY2FsV2lkdGg7CiAgICAgbV9pbmxpbmVSdW5zLmFwcGVuZCh7
IGlubGluZUl0ZW0sIGxvZ2ljYWxXaWR0aCB9KTsKIH0KIAotaW5saW5lIHZvaWQgTGluZUNhbmRp
ZGF0ZUNvbnRlbnQ6OnJlc2V0KCkKK2lubGluZSB2b2lkIExpbmVDYW5kaWRhdGU6OnJlc2V0KCkK
IHsKLSAgICBtX2lubGluZUNvbnRlbnRMb2dpY2FsV2lkdGggPSAwOworICAgIGZsb2F0SXRlbSA9
IHsgfTsKKyAgICBpbmxpbmVDb250ZW50LnJlc2V0KCk7Cit9CisKK2lubGluZSB2b2lkIExpbmVD
YW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OnJlc2V0KCkKK3sKKyAgICBtX0xvZ2ljYWxXaWR0aCA9
IDA7CiAgICAgbV9pbmxpbmVSdW5zLmNsZWFyKCk7Ci0gICAgbV9mbG9hdHMuY2xlYXIoKTsKICAg
ICBtX3RyYWlsaW5nTGluZUJyZWFrID0gbnVsbHB0cjsKIH0KIApAQCAtMjU5LDM5ICsyNjUsNDIg
QEAgTGluZUxheW91dENvbnRleHQ6OkxpbmVDb250ZW50IExpbmVMYXlvdXRDb250ZXh0OjpsYXlv
dXRMaW5lKExpbmVCdWlsZGVyJiBsaW5lLAogICAgIGF1dG8gbGluZUJyZWFrZXIgPSBMaW5lQnJl
YWtlciB7IH07CiAgICAgYXV0byBjdXJyZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uuc3RhcnQ7
CiAgICAgdW5zaWduZWQgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ID0gMDsKLSAgICBhdXRvIGNh
bmRpZGF0ZUNvbnRlbnQgPSBMaW5lQ2FuZGlkYXRlQ29udGVudCB7IH07CisgICAgYXV0byBsaW5l
Q2FuZGlkYXRlID0gTGluZUNhbmRpZGF0ZSB7IH07CiAgICAgd2hpbGUgKGN1cnJlbnRJdGVtSW5k
ZXggPCBsYXlvdXRSYW5nZS5lbmQpIHsKICAgICAgICAgLy8gMS4gQ29sbGVjdCB0aGUgc2V0IG9m
IHJ1bnMgdGhhdCB3ZSBjYW4gY29tbWl0IHRvIHRoZSBsaW5lIGFzIG9uZSBlbnRpdHkgZS5nLiA8
c3Bhbj50ZXh0X2FuZF9zcGFuX3N0YXJ0X3NwYW5fZW5kPC9zcGFuPi4KICAgICAgICAgLy8gMi4g
QXBwbHkgZmxvYXRzIGFuZCBzaHJpbmsgdGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGUu
Zy4gPHNwYW4+aW50cnVfPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiPjwvZGl2PnNpdmVfZmxvYXQ8
L3NwYW4+LgogICAgICAgICAvLyAzLiBDaGVjayBpZiB0aGUgY29udGVudCBmaXRzIHRoZSBsaW5l
IGFuZCBjb21taXQgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkgKGZ1bGwsIHBhcnRpYWwgb3Igbm90
IGNvbW1pdCBhdCBhbGwpLgogICAgICAgICAvLyA0LiBSZXR1cm4gaWYgd2UgYXJlIGF0IHRoZSBl
bmQgb2YgdGhlIGxpbmUgZWl0aGVyIGJ5IG5vdCBiZWluZyBhYmxlIHRvIGZpdCBtb3JlIGNvbnRl
bnQgb3IgYmVjYXVzZSBvZiBhbiBleHBsaWNpdCBsaW5lIGJyZWFrLgotICAgICAgICBuZXh0Q29u
dGVudEZvckxpbmUoY2FuZGlkYXRlQ29udGVudCwgY3VycmVudEl0ZW1JbmRleCwgbGF5b3V0UmFu
Z2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgbGluZS5saW5lQm94KCkubG9naWNhbFdp
ZHRoKCkpOwotICAgICAgICBpZiAoY2FuZGlkYXRlQ29udGVudC5oYXNJbnRydXNpdmVGbG9hdHMo
KSkgewotICAgICAgICAgICAgLy8gQWRkIGZsb2F0cyBmaXJzdCBiZWNhdXNlIHRoZXkgc2hyaW5r
IHRoZSBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRl
bnQuCi0gICAgICAgICAgICBhdXRvIHJlc3VsdCA9IHRyeUFkZGluZ0Zsb2F0SXRlbXMobGluZSwg
Y2FuZGlkYXRlQ29udGVudC5mbG9hdHMoKSk7CisgICAgICAgIG5leHRDb250ZW50Rm9yTGluZShs
aW5lQ2FuZGlkYXRlLCBjdXJyZW50SXRlbUluZGV4LCBsYXlvdXRSYW5nZSwgcGFydGlhbExlYWRp
bmdDb250ZW50TGVuZ3RoLCBsaW5lLmxpbmVCb3goKS5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAg
IGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSkgeworICAgICAgICAgICAgLy8gRmxvYXRzIHNo
cmluayB0aGUgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgZm9yIHRoZSByZXN0IG9mIHRoZSBj
b250ZW50LCBidXQgdGhleSBhcmUgbm90IGFkZGVkIG9uIHRoZSBsaW5lLgorICAgICAgICAgICAg
YXV0byByZXN1bHQgPSB0cnlBZGRpbmdGbG9hdEl0ZW0obGluZSwgKmxpbmVDYW5kaWRhdGUuZmxv
YXRJdGVtKTsKICAgICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCArPSByZXN1bHQu
Y29tbWl0dGVkQ291bnQ7CiAgICAgICAgICAgICBpZiAocmVzdWx0LmlzRW5kT2ZMaW5lID09IExp
bmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzKSB7Ci0gICAgICAgICAgICAgICAgLy8gRmxvYXRz
IHRha2UgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgorICAgICAgICAgICAgICAgIC8vIFRo
aXMgZmxvYXQgdGFrZXMgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgogICAgICAgICAgICAg
ICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRlbUNv
dW50LCB7IH0pOwogICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmICghY2FuZGlk
YXRlQ29udGVudC5pbmxpbmVSdW5zKCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAvLyBOb3cg
Y2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAg
ICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIs
IGxpbmUsIGNhbmRpZGF0ZUNvbnRlbnQpOwotICAgICAgICAgICAgaWYgKHJlc3VsdC5yZXZlcnRU
bykgewotICAgICAgICAgICAgICAgIEFTU0VSVCghcmVzdWx0LmNvbW1pdHRlZENvdW50KTsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJ
c0VuZE9mTGluZTo6WWVzKTsKLSAgICAgICAgICAgICAgICAvLyBBbiBlYXJsaWVyIGxpbmUgd3Jh
cHBpbmcgb3Bwb3J0dW5pdHkgdHVybmVkIG91dCB0byBiZSB0aGUgZmluYWwgYnJlYWtpbmcgcG9z
aXRpb24uCi0gICAgICAgICAgICAgICAgcmVidWlsZExpbmVGb3JSZXZlcnQobGluZSwgKnJlc3Vs
dC5yZXZlcnRUbywgbGF5b3V0UmFuZ2UpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29t
bWl0dGVkSW5saW5lSXRlbUNvdW50ICs9IHJlc3VsdC5jb21taXR0ZWRDb3VudDsKLSAgICAgICAg
ICAgIGlmIChyZXN1bHQuaXNFbmRPZkxpbmUgPT0gTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZ
ZXMpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBwbGFjZSBhbnkgbW9yZSBpdGVtcyBv
biB0aGUgY3VycmVudCBsaW5lLgotICAgICAgICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBs
YXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCByZXN1bHQucGFydGlhbENvbnRl
bnQpOworICAgICAgICAgICAgQVNTRVJUKGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5ydW5z
KCkuaXNFbXB0eSgpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8mIGlubGlu
ZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQ7CisgICAgICAgICAgICBpZiAo
IWlubGluZUNvbnRlbnQucnVucygpLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIC8vIE5v
dyBjaGVjayBpZiB3ZSBjYW4gcHV0IHRoaXMgY29udGVudCBvbiB0aGUgY3VycmVudCBsaW5lLgor
ICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJy
ZWFrZXIsIGxpbmUsIGxpbmVDYW5kaWRhdGUpOworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
cmV2ZXJ0VG8pIHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFyZXN1bHQuY29tbWl0dGVk
Q291bnQpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09
IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzKTsKKyAgICAgICAgICAgICAgICAgICAgLy8g
QW4gZWFybGllciBsaW5lIHdyYXBwaW5nIG9wcG9ydHVuaXR5IHR1cm5lZCBvdXQgdG8gYmUgdGhl
IGZpbmFsIGJyZWFraW5nIHBvc2l0aW9uLgorICAgICAgICAgICAgICAgICAgICByZWJ1aWxkTGlu
ZUZvclJldmVydChsaW5lLCAqcmVzdWx0LnJldmVydFRvLCBsYXlvdXRSYW5nZSk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCArPSBy
ZXN1bHQuY29tbWl0dGVkQ291bnQ7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VuZE9m
TGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcykgeworICAgICAgICAgICAgICAg
ICAgICAvLyBXZSBjYW4ndCBwbGFjZSBhbnkgbW9yZSBpdGVtcyBvbiB0aGUgY3VycmVudCBsaW5l
LgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xvc2UobGluZSwgbGF5b3V0UmFuZ2UsIGNv
bW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxDb250ZW50KTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKGF1dG8qIHRyYWlsaW5nTGluZUJyZWFr
ID0gaW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpKSB7CisgICAgICAgICAgICAgICAg
bGluZS5hcHBlbmQoKnRyYWlsaW5nTGluZUJyZWFrLCAwKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gY2xvc2UobGluZSwgbGF5b3V0UmFuZ2UsICsrY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCB7
IH0pOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGF1dG8qIHRyYWlsaW5nTGlu
ZUJyZWFrID0gY2FuZGlkYXRlQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpKSB7Ci0gICAgICAg
ICAgICBsaW5lLmFwcGVuZCgqdHJhaWxpbmdMaW5lQnJlYWssIDApOwotICAgICAgICAgICAgcmV0
dXJuIGNsb3NlKGxpbmUsIGxheW91dFJhbmdlLCArK2NvbW1pdHRlZElubGluZUl0ZW1Db3VudCwg
eyB9KTsKICAgICAgICAgfQogICAgICAgICBjdXJyZW50SXRlbUluZGV4ID0gbGF5b3V0UmFuZ2Uu
c3RhcnQgKyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQ7CiAgICAgICAgIHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCA9IHsgfTsKQEAgLTMzMCwxMCArMzM5LDEwIEBAIExpbmVMYXlvdXRDb250
ZXh0OjpMaW5lQ29udGVudCBMaW5lTGF5b3V0Q29udGV4dDo6Y2xvc2UoTGluZUJ1aWxkZXImIGxp
bmUsIGNvbnN0CiAgICAgcmV0dXJuIExpbmVDb250ZW50IHsgdHJhaWxpbmdJbmxpbmVJdGVtSW5k
ZXgsIHBhcnRpYWxDb250ZW50LCBXVEZNb3ZlKG1fZmxvYXRzKSwgbGluZS5jbG9zZShpc0xhc3RM
aW5lV2l0aElubGluZUNvbnRlbnQpLCBsaW5lLmxpbmVCb3goKSB9OwogfQogCi12b2lkIExpbmVM
YXlvdXRDb250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZUNvbnRlbnQmIGNh
bmRpZGF0ZUNvbnRlbnQsIHVuc2lnbmVkIGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5nZSwgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQor
dm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6bmV4dENvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUm
IGxpbmVDYW5kaWRhdGUsIHVuc2lnbmVkIGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5nZSwgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQog
ewogICAgIEFTU0VSVChjdXJyZW50SW5saW5lSXRlbUluZGV4IDwgbGF5b3V0UmFuZ2UuZW5kKTsK
LSAgICBjYW5kaWRhdGVDb250ZW50LnJlc2V0KCk7CisgICAgbGluZUNhbmRpZGF0ZS5yZXNldCgp
OwogICAgIC8vIDEuIFNpbXBseSBhZGQgYW55IG92ZXJmbG93IGNvbnRlbnQgZnJvbSB0aGUgcHJl
dmlvdXMgbGluZSB0byB0aGUgY2FuZGlkYXRlIGNvbnRlbnQuIEl0J3MgYWx3YXlzIGEgdGV4dCBj
b250ZW50LgogICAgIC8vIDIuIEZpbmQgdGhlIG5leHQgc29mdCB3cmFwIHBvc2l0aW9uIG9yIGV4
cGxpY2l0IGxpbmUgYnJlYWsuCiAgICAgLy8gMy4gQ29sbGVjdCBmbG9hdHMgYmV0d2VlbiB0aGUg
aW5saW5lIGNvbnRlbnQuCkBAIC0zNDYsNyArMzU1LDcgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4
dDo6bmV4dENvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGVDb250ZW50JiBjYW5kaWRhdGVDb250
ZW4KICAgICAgICAgLy8gQ29uc3RydWN0IGEgcGFydGlhbCBsZWFkaW5nIGlubGluZSBpdGVtLgog
ICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRl
bT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5saW5lSXRlbUluZGV4XSkucmlnaHQoKnBhcnRpYWxM
ZWFkaW5nQ29udGVudExlbmd0aCk7CiAgICAgICAgIGF1dG8gaXRlbVdpZHRoID0gaW5saW5lSXRl
bVdpZHRoKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOwot
ICAgICAgICBjYW5kaWRhdGVDb250ZW50LmFwcGVuZElubGluZUNvbnRlbnQoKm1fcGFydGlhbExl
YWRpbmdUZXh0SXRlbSwgaXRlbVdpZHRoKTsKKyAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVD
b250ZW50LmFwcGVuZElubGluZUl0ZW0oKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgaXRlbVdp
ZHRoKTsKICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdodCArPSBpdGVtV2lkdGg7CiAgICAgICAg
ICsrY3VycmVudElubGluZUl0ZW1JbmRleDsKICAgICB9CkBAIC0zNTQsNDkgKzM2Myw0OCBAQCB2
b2lkIExpbmVMYXlvdXRDb250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZUNv
bnRlbnQmIGNhbmRpZGF0ZUNvbnRlbgogICAgIGZvciAoYXV0byBpbmRleCA9IGN1cnJlbnRJbmxp
bmVJdGVtSW5kZXg7IGluZGV4IDwgc29mdFdyYXBPcHBvcnR1bml0eUluZGV4OyArK2luZGV4KSB7
CiAgICAgICAgIGF1dG8mIGlubGluZUl0ZW0gPSBtX2lubGluZUl0ZW1zW2luZGV4XTsKICAgICAg
ICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lclN0YXJ0
KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
IWxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKICAgICAgICAgICAgIGF1dG8gaW5saW5lSXRlbm1X
aWR0aCA9IGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsK
LSAgICAgICAgICAgIGNhbmRpZGF0ZUNvbnRlbnQuYXBwZW5kSW5saW5lQ29udGVudChpbmxpbmVJ
dGVtLCBpbmxpbmVJdGVubVdpZHRoKTsKKyAgICAgICAgICAgIGxpbmVDYW5kaWRhdGUuaW5saW5l
Q29udGVudC5hcHBlbmRJbmxpbmVJdGVtKGlubGluZUl0ZW0sIGlubGluZUl0ZW5tV2lkdGgpOwog
ICAgICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdodCArPSBpbmxpbmVJdGVubVdpZHRoOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNG
bG9hdCgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBsaW5l
IGNvbnRleHQuCiAgICAgICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaWYgdGhlaXIgd2lkdGggc2hv
dWxkIGJlIGFkZGVkIHRvIGN1cnJlbnRMb2dpY2FsUmlnaHQuCi0gICAgICAgICAgICBjYW5kaWRh
dGVDb250ZW50LmFwcGVuZEZsb2F0KGlubGluZUl0ZW0pOworICAgICAgICAgICAgQVNTRVJUKCFs
aW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSk7CisgICAgICAgICAgICBBU1NFUlQobGluZUNhbmRpZGF0
ZS5pbmxpbmVDb250ZW50LnJ1bnMoKS5pc0VtcHR5KCkpOworICAgICAgICAgICAgbGluZUNhbmRp
ZGF0ZS5mbG9hdEl0ZW0gPSAmaW5saW5lSXRlbTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CiAgICAgICAgIGlmIChpbmxpbmVJdGVtLmlzTGluZUJyZWFrKCkpIHsKLSAgICAgICAg
ICAgIGNhbmRpZGF0ZUNvbnRlbnQuYXBwZW5kTGluZUJyZWFrKGlubGluZUl0ZW0pOworICAgICAg
ICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFwcGVuZExpbmVCcmVhayhpbmxpbmVJ
dGVtKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIH0KIH0KIAotTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5l
TGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRJdGVtcyhMaW5lQnVpbGRlciYgbGluZSwgY29u
c3QgRmxvYXRMaXN0JiBmbG9hdHMpCitMaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlv
dXRDb250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW0oTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IElu
bGluZUl0ZW0mIGZsb2F0SXRlbSkKIHsKLSAgICBzaXplX3QgY29tbWl0dGVkRmxvYXRJdGVtQ291
bnQgPSAwOwotICAgIGZvciAoYXV0byYgZmxvYXRJdGVtIDogZmxvYXRzKSB7Ci0gICAgICAgIGF1
dG8gbG9naWNhbFdpZHRoID0gaW5saW5lSXRlbVdpZHRoKCpmbG9hdEl0ZW0sIHsgfSk7Ci0KLSAg
ICAgICAgYXV0byBsaW5lSXNDb25zaWRlcmVkRW1wdHkgPSBsaW5lLmlzVmlzdWFsbHlFbXB0eSgp
ICYmICFsaW5lLmhhc0ludHJ1c2l2ZUZsb2F0KCk7Ci0gICAgICAgIGlmIChMaW5lQnJlYWtlcigp
LnNob3VsZFdyYXBGbG9hdEJveChsb2dpY2FsV2lkdGgsIGxpbmUuYXZhaWxhYmxlV2lkdGgoKSAr
IGxpbmUudHJpbW1hYmxlVHJhaWxpbmdXaWR0aCgpLCBsaW5lSXNDb25zaWRlcmVkRW1wdHkpKQot
ICAgICAgICAgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMsIGNvbW1p
dHRlZEZsb2F0SXRlbUNvdW50IH07Ci0gICAgICAgIC8vIFRoaXMgZmxvYXQgY2FuIHNpdCBvbiB0
aGUgY3VycmVudCBsaW5lLgotICAgICAgICArK2NvbW1pdHRlZEZsb2F0SXRlbUNvdW50OwotICAg
ICAgICBhdXRvJiBmbG9hdEJveCA9IGZsb2F0SXRlbS0+bGF5b3V0Qm94KCk7Ci0gICAgICAgIC8v
IFNocmluayBhdmFpbGFibGUgc3BhY2UgZm9yIGN1cnJlbnQgbGluZSBhbmQgbW92ZSBleGlzdGlu
ZyBpbmxpbmUgcnVucy4KLSAgICAgICAgbGluZS5zZXRIYXNJbnRydXNpdmVGbG9hdCgpOwotICAg
ICAgICBpZiAoZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgICAg
ICBsaW5lLm1vdmVMb2dpY2FsTGVmdChsb2dpY2FsV2lkdGgpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBsaW5lLm1vdmVMb2dpY2FsUmlnaHQobG9naWNhbFdpZHRoKTsKLSAgICAgICAgbV9m
bG9hdHMuYXBwZW5kKGZsb2F0SXRlbSk7Ci0gICAgfQotICAgIHJldHVybiB7IExpbmVCcmVha2Vy
OjpJc0VuZE9mTGluZTo6Tm8sIGNvbW1pdHRlZEZsb2F0SXRlbUNvdW50IH07CisgICAgYXV0byBs
b2dpY2FsV2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoZmxvYXRJdGVtLCB7IH0pOworCisgICAgYXV0
byBsaW5lSXNDb25zaWRlcmVkRW1wdHkgPSBsaW5lLmlzVmlzdWFsbHlFbXB0eSgpICYmICFsaW5l
Lmhhc0ludHJ1c2l2ZUZsb2F0KCk7CisgICAgaWYgKExpbmVCcmVha2VyKCkuc2hvdWxkV3JhcEZs
b2F0Qm94KGxvZ2ljYWxXaWR0aCwgbGluZS5hdmFpbGFibGVXaWR0aCgpICsgbGluZS50cmltbWFi
bGVUcmFpbGluZ1dpZHRoKCksIGxpbmVJc0NvbnNpZGVyZWRFbXB0eSkpCisgICAgICAgIHJldHVy
biB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIH07CisgICAgLy8gVGhpcyBmbG9hdCBj
YW4gc2l0IG9uIHRoZSBjdXJyZW50IGxpbmUuCisgICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0
ZW0ubGF5b3V0Qm94KCk7CisgICAgLy8gU2hyaW5rIGF2YWlsYWJsZSBzcGFjZSBmb3IgY3VycmVu
dCBsaW5lIGFuZCBtb3ZlIGV4aXN0aW5nIGlubGluZSBydW5zLgorICAgIGxpbmUuc2V0SGFzSW50
cnVzaXZlRmxvYXQoKTsKKyAgICBpZiAoZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVk
KCkpCisgICAgICAgIGxpbmUubW92ZUxvZ2ljYWxMZWZ0KGxvZ2ljYWxXaWR0aCk7CisgICAgZWxz
ZQorICAgICAgICBsaW5lLm1vdmVMb2dpY2FsUmlnaHQobG9naWNhbFdpZHRoKTsKKyAgICBtX2Zs
b2F0cy5hcHBlbmQoJmZsb2F0SXRlbSk7CisgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5k
T2ZMaW5lOjpObywgMSB9OwogfQogCi1MaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlv
dXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxpbmVJdGVtcyhMaW5lQnJlYWtlciYgbGluZUJyZWFrZXIs
IExpbmVCdWlsZGVyJiBsaW5lLCBjb25zdCBMaW5lQ2FuZGlkYXRlQ29udGVudCYgY2FuZGlkYXRl
Q29udGVudCkKK0xpbmVMYXlvdXRDb250ZXh0OjpSZXN1bHQgTGluZUxheW91dENvbnRleHQ6OnRy
eUFkZGluZ0lubGluZUl0ZW1zKExpbmVCcmVha2VyJiBsaW5lQnJlYWtlciwgTGluZUJ1aWxkZXIm
IGxpbmUsIGNvbnN0IExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUpCiB7CiAgICAgYXV0byBz
aG91bGREaXNhYmxlSHlwaGVuYXRpb24gPSBbJl0gewogICAgICAgICBhdXRvJiBzdHlsZSA9IHJv
b3QoKS5zdHlsZSgpOwpAQCAtNDA5LDE0ICs0MTcsMTUgQEAgTGluZUxheW91dENvbnRleHQ6OlJl
c3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nSW5saW5lSXRlbXMoTGluZUJyZWFrZXIm
IGwKICAgICBpZiAoc2hvdWxkRGlzYWJsZUh5cGhlbmF0aW9uKCkpCiAgICAgICAgIGxpbmVCcmVh
a2VyLnNldEh5cGhlbmF0aW9uRGlzYWJsZWQoKTsKIAotICAgIGF1dG8mIGNhbmRpZGF0ZVJ1bnMg
PSBjYW5kaWRhdGVDb250ZW50LmlubGluZVJ1bnMoKTsKLSAgICBhdXRvIHJlc3VsdCA9IGxpbmVC
cmVha2VyLnNob3VsZFdyYXBJbmxpbmVDb250ZW50KGNhbmRpZGF0ZVJ1bnMsIGNhbmRpZGF0ZUNv
bnRlbnQuaW5saW5lQ29udGVudExvZ2ljYWxXaWR0aCgpLCBsaW5lU3RhdHVzKTsKKyAgICBhdXRv
JiBpbmxpbmVDb250ZW50ID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50OworICAgIGF1dG8m
IGNhbmRpZGF0ZVJ1bnMgPSBpbmxpbmVDb250ZW50LnJ1bnMoKTsKKyAgICBhdXRvIHJlc3VsdCA9
IGxpbmVCcmVha2VyLnNob3VsZFdyYXBJbmxpbmVDb250ZW50KGNhbmRpZGF0ZVJ1bnMsIGlubGlu
ZUNvbnRlbnQubG9naWNhbFdpZHRoKCksIGxpbmVTdGF0dXMpOwogICAgIGlmIChyZXN1bHQuYWN0
aW9uID09IExpbmVCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6S2VlcCkgewogICAgICAgICAvLyBU
aGlzIGNvbnRpbnVvdXMgY29udGVudCBjYW4gYmUgZnVsbHkgcGxhY2VkIG9uIHRoZSBjdXJyZW50
IGxpbmUuCiAgICAgICAgIGZvciAoYXV0byYgcnVuIDogY2FuZGlkYXRlUnVucykKICAgICAgICAg
ICAgIGxpbmUuYXBwZW5kKHJ1bi5pbmxpbmVJdGVtLCBydW4ubG9naWNhbFdpZHRoKTsKICAgICAg
ICAgLy8gQ29uc3VtZSB0cmFpbGluZyBsaW5lIGJyZWFrIGFzIHdlbGwuCi0gICAgICAgIGlmIChh
dXRvKiBsaW5lQnJlYWtJdGVtID0gY2FuZGlkYXRlQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygp
KSB7CisgICAgICAgIGlmIChhdXRvKiBsaW5lQnJlYWtJdGVtID0gaW5saW5lQ29udGVudC50cmFp
bGluZ0xpbmVCcmVhaygpKSB7CiAgICAgICAgICAgICBsaW5lLmFwcGVuZCgqbGluZUJyZWFrSXRl
bSwgMCk7CiAgICAgICAgICAgICByZXR1cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6Olll
cywgY2FuZGlkYXRlUnVucy5zaXplKCkgKyAxIH07CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4
dC5oCmluZGV4IGY4ZjE0Y2I5ZTcxYzJhNThjOGE0NzQxZjUwZDUyM2JhN2EyODRmMjguLjg3MzZm
ODNiYTE5YTIyOWE2NzA3Yzc4YTVmYWQzZTg2YTBiMWZiNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQu
aApAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91
dCB7CiAKLXN0cnVjdCBMaW5lQ2FuZGlkYXRlQ29udGVudDsKK3N0cnVjdCBMaW5lQ2FuZGlkYXRl
OwogCiBjbGFzcyBMaW5lTGF5b3V0Q29udGV4dCB7CiBwdWJsaWM6CkBAIC01NiwxOCArNTYsMTcg
QEAgcHVibGljOgogICAgICAgICBzaXplX3QgZW5kIHsgMCB9OwogICAgIH07CiAgICAgTGluZUNv
bnRlbnQgbGF5b3V0TGluZShMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSwgT3B0
aW9uYWw8dW5zaWduZWQ+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7Ci0gICAgdXNpbmcg
RmxvYXRMaXN0ID0gVmVjdG9yPGNvbnN0IElubGluZUl0ZW0qPjsKIAogcHJpdmF0ZToKLSAgICB2
b2lkIG5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlQ29udGVudCYsIHVuc2lnbmVkIGlu
bGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlIGxheW91dFJhbmdlLCBPcHRpb25h
bDx1bnNpZ25lZD4gb3ZlcmZsb3dMZW5ndGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2lj
YWxSaWdodCk7CisgICAgdm9pZCBuZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHVu
c2lnbmVkIGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlIGxheW91dFJhbmdl
LCBPcHRpb25hbDx1bnNpZ25lZD4gb3ZlcmZsb3dMZW5ndGgsIElubGluZUxheW91dFVuaXQgY3Vy
cmVudExvZ2ljYWxSaWdodCk7CiAgICAgc3RydWN0IFJlc3VsdCB7CiAgICAgICAgIExpbmVCcmVh
a2VyOjpJc0VuZE9mTGluZSBpc0VuZE9mTGluZSB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6
Tm8gfTsKICAgICAgICAgc2l6ZV90IGNvbW1pdHRlZENvdW50IHsgMCB9OwogICAgICAgICBPcHRp
b25hbCA8TGluZUNvbnRlbnQ6OlBhcnRpYWxDb250ZW50PiBwYXJ0aWFsQ29udGVudCB7IH07CiAg
ICAgICAgIGNvbnN0IElubGluZUl0ZW0qIHJldmVydFRvIHsgbnVsbHB0ciB9OwogICAgIH07Ci0g
ICAgUmVzdWx0IHRyeUFkZGluZ0Zsb2F0SXRlbXMoTGluZUJ1aWxkZXImLCBjb25zdCBGbG9hdExp
c3QmKTsKLSAgICBSZXN1bHQgdHJ5QWRkaW5nSW5saW5lSXRlbXMoTGluZUJyZWFrZXImLCBMaW5l
QnVpbGRlciYsIGNvbnN0IExpbmVDYW5kaWRhdGVDb250ZW50Jik7CisgICAgUmVzdWx0IHRyeUFk
ZGluZ0Zsb2F0SXRlbShMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSk7
CisgICAgUmVzdWx0IHRyeUFkZGluZ0lubGluZUl0ZW1zKExpbmVCcmVha2VyJiwgTGluZUJ1aWxk
ZXImLCBjb25zdCBMaW5lQ2FuZGlkYXRlJik7CiAgICAgdm9pZCByZWJ1aWxkTGluZUZvclJldmVy
dChMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW0mIHJldmVydFRvLCBjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UgbGF5b3V0UmFuZ2UpOwogICAgIHZvaWQgY29tbWl0UGFydGlhbENvbnRlbnQoTGlu
ZUJ1aWxkZXImLCBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYsIGNvbnN0IExpbmVCcmVha2Vy
OjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRlbnQmKTsKICAgICBMaW5lQ29udGVudCBjbG9z
ZShMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5nZSwgdW5zaWdu
ZWQgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCBPcHRpb25hbDxMaW5lQ29udGVudDo6UGFydGlh
bENvbnRlbnQ+KTsKQEAgLTgwLDYgKzc5LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKICAgICBjb25zdCBD
b250YWluZXJCb3gmIG1fZm9ybWF0dGluZ0NvbnRleHRSb290OwogICAgIGNvbnN0IElubGluZUl0
ZW1zJiBtX2lubGluZUl0ZW1zOworICAgIHVzaW5nIEZsb2F0TGlzdCA9IFZlY3Rvcjxjb25zdCBJ
bmxpbmVJdGVtKj47CiAgICAgRmxvYXRMaXN0IG1fZmxvYXRzOwogICAgIE9wdGlvbmFsPElubGlu
ZVRleHRJdGVtPiBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW07CiAgICAgdW5zaWduZWQgbV9zdWNj
ZXNzaXZlSHlwaGVuYXRlZExpbmVDb3VudCB7IDAgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>