<?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>207611</bug_id>
          
          <creation_ts>2020-02-11 20:03:24 -0800</creation_ts>
          <short_desc>[LFC][IFC] Rename Display::Run::TextContext to TextContent</short_desc>
          <delta_ts>2020-02-12 07:53:42 -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>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1617841</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-11 20:03:24 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617842</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-11 20:03:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/59374523&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617843</commentid>
    <comment_count>2</comment_count>
      <attachid>390487</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-11 20:04:47 -0800</bug_when>
    <thetext>Created attachment 390487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617968</commentid>
    <comment_count>3</comment_count>
      <attachid>390514</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-12 07:22:00 -0800</bug_when>
    <thetext>Created attachment 390514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618008</commentid>
    <comment_count>4</comment_count>
      <attachid>390514</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-12 07:53:40 -0800</bug_when>
    <thetext>Comment on attachment 390514
Patch

Clearing flags on attachment: 390514

Committed r256437: &lt;https://trac.webkit.org/changeset/256437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618009</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-12 07:53:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390487</attachid>
            <date>2020-02-11 20:04:47 -0800</date>
            <delta_ts>2020-02-12 07:21:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207611-20200211200446.patch</filename>
            <type>text/plain</type>
            <size>22795</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQyZjMwMjk5YzQ4MWVl
YzEyNmNmYTBiOWFkOTViNDNlODc4OTY4YS4uMWZjZjRjZTVkODA3OGFhNjNkNTlmMzM5NTU4YjNj
Y2ZmYmJiZGMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW5hbWUg
RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dCB0byBUZXh0Q29udGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3NjExCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81OTM3NDUyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGxheW91dC9WZXJpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpvdXRwdXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdDb21wbGV4TGluZUluZm9y
bWF0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFp
bnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpwYWludElubGluZUNvbnRlbnQp
OgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmg6CisgICAgICAgIChX
ZWJDb3JlOjpEaXNwbGF5OjpSdW46OnNldFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXk6OlJ1bjo6dGV4dENvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheTo6UnVuOjp0ZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46
OmlzTGluZUJyZWFrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6UnVu
KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRlbnQ6OlRleHRDb250
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ6OnN0YXJ0
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENv
bnRleHQ6OmVuZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpS
dW46OlRleHRDb250ZXh0OjpsZW5ndGggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dDo6Y29udGVudCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0OjpuZWVkc0h5cGhlbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRleHRDb250
ZXh0OjpzZXROZWVkc0h5cGhlbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
OjpSdW46OlRleHRDb250ZXh0OjpleHBhbmQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
RGlzcGxheTo6UnVuOjpzZXRUZXh0Q29udGV4dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5OjpSdW46OnRleHRDb250ZXh0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXk6OlJ1bjo6dGV4dENvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dDo6VGV4dENvbnRleHQpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OnNldERpc3BsYXlCb3hlc0ZvckxpbmUpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6bV90
ZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46
OmV4cGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46OnJl
bW92ZVRyYWlsaW5nV2hpdGVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1fdGV4
dENvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjpSdW46OnRleHRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJ1aWxkZXI6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnBhaW50KToKKyAgICAg
ICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6Om91dHB1dElubGluZVJ1bnMpOgorICAgICAgICAqIHJlbmRlcmluZy9s
aW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGluZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6Omhhc0h5cGhlbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNwbGF5UnVuUGF0aDo6
dGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNw
bGF5UnVuUGF0aDo6bG9jYWxTdGFydE9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
aW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNwbGF5UnVuUGF0aDo6bG9jYWxFbmRPZmZzZXQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6
Omxlbmd0aCBjb25zdCk6CisKIDIwMjAtMDItMTEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1vdmUgZXhwYW5zaW9uIHN0cnVjdCBvdXQgb2Yg
RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dCB0byBEaXNwbGF5OjpSdW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L1ZlcmlmaWNhdGlvbi5jcHAKaW5kZXggYWFhZThhN2Q0OTI3MjcyNjdjODkzNGQ2MWM1OGNi
YzNjYjI4NjdiMy4uOTAyNTU3OWI0NzlhOWU4N2Y1ZWFkNzMxODkxZDM2Y2ZlNWIyOTkxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKQEAgLTk2LDE5ICs5NiwxOSBAQCBz
dGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVk
KFRleHRTdHJlYW0mIHN0cmVhbSwgYwogICAgICAgICBhdXRvJiBkaXNwbGF5UnVuID0gZGlzcGxh
eVJ1bnNbaV07CiAKICAgICAgICAgYXV0byBtYXRjaGluZ1J1bnMgPSBhcmVFc3NlbnRpYWxseUVx
dWFsKHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCwgZGlzcGxheVJ1bi5sZWZ0KCkpICYmIGFyZUVzc2Vu
dGlhbGx5RXF1YWwoc2ltcGxlUnVuLmxvZ2ljYWxSaWdodCwgZGlzcGxheVJ1bi5yaWdodCgpKTsK
LSAgICAgICAgaWYgKG1hdGNoaW5nUnVucyAmJiBkaXNwbGF5UnVuLnRleHRDb250ZXh0KCkpIHsK
LSAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IHNpbXBsZVJ1bi5zdGFydCA9PSBkaXNwbGF5UnVu
LnRleHRDb250ZXh0KCktPnN0YXJ0KCkgJiYgc2ltcGxlUnVuLmVuZCA9PSBkaXNwbGF5UnVuLnRl
eHRDb250ZXh0KCktPmVuZCgpOworICAgICAgICBpZiAobWF0Y2hpbmdSdW5zICYmIGRpc3BsYXlS
dW4udGV4dENvbnRlbnQoKSkgeworICAgICAgICAgICAgbWF0Y2hpbmdSdW5zID0gc2ltcGxlUnVu
LnN0YXJ0ID09IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+c3RhcnQoKSAmJiBzaW1wbGVSdW4u
ZW5kID09IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+ZW5kKCk7CiAgICAgICAgICAgICAvLyBT
TEwgaGFuZGxlcyBzdHJpbmdzIGluIGEgbW9yZSBjb25jYXRlbmF0ZWQgZm9ybWF0IDxkaXY+Zm9v
PGJyPmJhcjwvZGl2PiAtPiBmb28gLT4gMCwzIGJhciAtPiAzLDYgdnMuIDAsMyBhbmQgMCwzCiAg
ICAgICAgICAgICBpZiAoIW1hdGNoaW5nUnVucykKLSAgICAgICAgICAgICAgICBtYXRjaGluZ1J1
bnMgPSAoc2ltcGxlUnVuLmVuZCAtIHNpbXBsZVJ1bi5zdGFydCkgPT0gKGRpc3BsYXlSdW4udGV4
dENvbnRleHQoKS0+ZW5kKCkgLSBkaXNwbGF5UnVuLnRleHRDb250ZXh0KCktPnN0YXJ0KCkpOwor
ICAgICAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IChzaW1wbGVSdW4uZW5kIC0gc2ltcGxlUnVu
LnN0YXJ0KSA9PSAoZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpLT5lbmQoKSAtIGRpc3BsYXlSdW4u
dGV4dENvbnRlbnQoKS0+c3RhcnQoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKG1hdGNoaW5n
UnVucykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0cmVhbSA8PCAiTWlzbWF0
Y2hpbmc6IHNpbXBsZSBydW4oIiA8PCBzaW1wbGVSdW4uc3RhcnQgPDwgIiwgIiA8PCBzaW1wbGVS
dW4uZW5kIDw8ICIpICgiIDw8IHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCA8PCAiLCAiIDw8IHNpbXBs
ZVJ1bi5sb2dpY2FsUmlnaHQgPDwgIikiOwogICAgICAgICBzdHJlYW0gPDwgIiBpbmxpbmUgcnVu
IjsKLSAgICAgICAgaWYgKGRpc3BsYXlSdW4udGV4dENvbnRleHQoKSkKLSAgICAgICAgICAgIHN0
cmVhbSA8PCAiICgiIDw8IGRpc3BsYXlSdW4udGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAi
IDw8IGRpc3BsYXlSdW4udGV4dENvbnRleHQoKS0+ZW5kKCkgPDwgIikiOworICAgICAgICBpZiAo
ZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpKQorICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIgPDwg
ZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpLT5zdGFydCgpIDw8ICIsICIgPDwgZGlzcGxheVJ1bi50
ZXh0Q29udGVudCgpLT5lbmQoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGRp
c3BsYXlSdW4ubGVmdCgpIDw8ICIsICIgPDwgZGlzcGxheVJ1bi50b3AoKSA8PCAiKSAoIiA8PCBk
aXNwbGF5UnVuLndpZHRoKCkgPDwgIngiIDw8IGRpc3BsYXlSdW4uaGVpZ2h0KCkgPDwgIikiOwog
ICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICAgICAgbWlzbWF0Y2hlZCA9IHRydWU7CkBA
IC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIGJvb2wgY2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKGNv
bnN0IERpc3BsYXk6OlJ1biYgaW5saW5lUnVuLCBjb25zdCBXZWJDb3IKICAgICAgICAgJiYgYXJl
RXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0Qm94LnJpZ2h0KCksIGlubGluZVJ1bi5yaWdodCgp
KQogICAgICAgICAmJiBhcmVFc3NlbnRpYWxseUVxdWFsKGlubGluZVRleHRCb3gudG9wKCksIGlu
bGluZVJ1bi50b3AoKSkKICAgICAgICAgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0
Qm94LmJvdHRvbSgpLCBpbmxpbmVSdW4uYm90dG9tKCkpCi0gICAgICAgICYmIChpbmxpbmVUZXh0
Qm94LmlzTGluZUJyZWFrKCkgfHwgKGlubGluZVRleHRCb3guc3RhcnQoKSA9PSBpbmxpbmVSdW4u
dGV4dENvbnRleHQoKS0+c3RhcnQoKSAmJiBpbmxpbmVUZXh0Qm94LmVuZCgpID09IGlubGluZVJ1
bi50ZXh0Q29udGV4dCgpLT5lbmQoKSkpOworICAgICAgICAmJiAoaW5saW5lVGV4dEJveC5pc0xp
bmVCcmVhaygpIHx8IChpbmxpbmVUZXh0Qm94LnN0YXJ0KCkgPT0gaW5saW5lUnVuLnRleHRDb250
ZW50KCktPnN0YXJ0KCkgJiYgaW5saW5lVGV4dEJveC5lbmQoKSA9PSBpbmxpbmVSdW4udGV4dENv
bnRlbnQoKS0+ZW5kKCkpKTsKIH0KIAogc3RhdGljIHZvaWQgY29sbGVjdEZsb3dCb3hTdWJ0cmVl
KGNvbnN0IElubGluZUZsb3dCb3gmIGZsb3dib3gsIFZlY3RvcjxXZWJDb3JlOjpJbmxpbmVCb3gq
PiYgaW5saW5lQm94ZXMpCkBAIC0yMDQsOCArMjA0LDggQEAgc3RhdGljIGJvb2wgb3V0cHV0TWlz
bWF0Y2hpbmdDb21wbGV4TGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFt
LAogICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIgPDwgaW5saW5lQm94LT5sb2dpY2FsTGVmdCgp
IDw8ICIsICIgPDwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkgPDwgIikgKCIgPDwgaW5saW5lQm94
LT5sb2dpY2FsV2lkdGgoKSA8PCAieCIgPDwgaW5saW5lQm94LT5sb2dpY2FsSGVpZ2h0KCkgPDwg
IikiOwogCiAgICAgICAgICAgICBzdHJlYW0gPDwgIiBpbmxpbmUgcnVuIjsKLSAgICAgICAgICAg
IGlmIChkaXNwbGF5UnVuLnRleHRDb250ZXh0KCkpCi0gICAgICAgICAgICAgICAgc3RyZWFtIDw8
ICIgKCIgPDwgZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgZGlz
cGxheVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CisgICAgICAgICAgICBpZiAoZGlz
cGxheVJ1bi50ZXh0Q29udGVudCgpKQorICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8
IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+c3RhcnQoKSA8PCAiLCAiIDw8IGRpc3BsYXlSdW4u
dGV4dENvbnRlbnQoKS0+ZW5kKCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIg
PDwgZGlzcGxheVJ1bi5sZWZ0KCkgPDwgIiwgIiA8PCBkaXNwbGF5UnVuLnRvcCgpIDw8ICIpICgi
IDw8IGRpc3BsYXlSdW4ud2lkdGgoKSA8PCAieCIgPDwgZGlzcGxheVJ1bi5oZWlnaHQoKSA8PCAi
KSI7CiAgICAgICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICAgICAgICAgIG1pc21hdGNo
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVl
L0Rpc3BsYXlQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9E
aXNwbGF5UGFpbnRlci5jcHAKaW5kZXggZGQ2NzgyNTgzMTM2N2JjN2Q2YTdhN2E3YWMyZjQyMTJi
ZDU5YzQ2MS4uMzI4ZTUxOGQ0ZTNjNDU5NGNiZWM1YjRhNzZmMDlmNTEwNjcwZWMwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIu
Y3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVDb250ZW50KEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgTGF5b3V0UG9pbnQgYWJzb2x1dGVPZmYKICAgICAgICAg
cmV0dXJuOwogCiAgICAgZm9yIChhdXRvJiBydW4gOiBkaXNwbGF5UnVucykgewotICAgICAgICBp
ZiAoYXV0byYgdGV4dENvbnRleHQgPSBydW4udGV4dENvbnRleHQoKSkgeworICAgICAgICBpZiAo
YXV0byYgdGV4dENvbnRlbnQgPSBydW4udGV4dENvbnRlbnQoKSkgewogICAgICAgICAgICAgYXV0
byYgc3R5bGUgPSBydW4uc3R5bGUoKTsKICAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlQ29s
b3Ioc3R5bGUuY29sb3IoKSk7CiAgICAgICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihzdHls
ZS5jb2xvcigpKTsKQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBwYWludElubGluZUNv
bnRlbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBMYXlvdXRQb2ludCBhYnNvbHV0ZU9mZgog
ICAgICAgICAgICAgYXV0byYgbGluZUJveCA9IGRpc3BsYXlJbmxpbmVDb250ZW50LT5saW5lQm94
Rm9yUnVuKHJ1bik7CiAgICAgICAgICAgICBhdXRvIGJhc2VsaW5lT2Zmc2V0ID0gYWJzb2x1dGVP
ZmZzZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFzZWxpbmVPZmZzZXQoKTsKICAg
ICAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gcnVuLmV4cGFuc2lvbigpOwotICAgICAgICAgICAg
YXV0byB0ZXh0UnVuID0gVGV4dFJ1biB7IHRleHRDb250ZXh0LT5jb250ZW50KCksIHJ1bi5sZWZ0
KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhwYW5zaW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFu
c2lvbi5iZWhhdmlvciB9OworICAgICAgICAgICAgYXV0byB0ZXh0UnVuID0gVGV4dFJ1biB7IHRl
eHRDb250ZW50LT5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhwYW5z
aW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFuc2lvbi5iZWhhdmlvciB9OwogICAgICAgICAg
ICAgdGV4dFJ1bi5zZXRUYWJTaXplKCFzdHlsZS5jb2xsYXBzZVdoaXRlU3BhY2UoKSwgc3R5bGUu
dGFiU2l6ZSgpKTsKICAgICAgICAgICAgIGNvbnRleHQuZHJhd1RleHQoc3R5bGUuZm9udENhc2Nh
ZGUoKSwgdGV4dFJ1biwgeyBhYnNvbHV0ZUxlZnQsIGJhc2VsaW5lT2Zmc2V0IH0pOwogICAgICAg
ICB9IGVsc2UgaWYgKGF1dG8qIGNhY2hlZEltYWdlID0gcnVuLmltYWdlKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVJ1bi5oCmluZGV4IGY3YTMwMDMz
NjdkY2VlOGRlODgzMmZlNGM3NjI1ODZlZWMxYjE2MjguLjI3ZTJmODBkOTdiNjU2NzQyM2MxY2Qw
MjY1MTdlNTcwMDhiNTEyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5UnVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0
cmVlL0Rpc3BsYXlSdW4uaApAQCAtNDAsMTEgKzQwLDEwIEBAIG5hbWVzcGFjZSBEaXNwbGF5IHsK
IAogc3RydWN0IFJ1biB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwotICAg
IHN0cnVjdCBUZXh0Q29udGV4dCB7CisgICAgc3RydWN0IFRleHRDb250ZW50IHsKICAgICAgICAg
V1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAgICAgICAgc3Ry
dWN0IEV4cGFuc2lvbkNvbnRleHQ7Ci0gICAgICAgIFRleHRDb250ZXh0KHVuc2lnbmVkIHBvc2l0
aW9uLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYpOworICAgICAgICBUZXh0Q29udGVu
dCh1bnNpZ25lZCBwb3NpdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmKTsKIAog
ICAgICAgICB1bnNpZ25lZCBzdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnQ7IH0KICAgICAg
ICAgdW5zaWduZWQgZW5kKCkgY29uc3QgeyByZXR1cm4gc3RhcnQoKSArIGxlbmd0aCgpOyB9CkBA
IC02Myw3ICs2Miw3IEBAIHN0cnVjdCBSdW4gewogICAgICAgICBTdHJpbmcgbV9jb250ZW50U3Ry
aW5nOwogICAgIH07CiAKLSAgICBSdW4oc2l6ZV90IGxpbmVJbmRleCwgY29uc3QgTGF5b3V0OjpC
b3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIE9w
dGlvbmFsPFRleHRDb250ZXh0PiA9IFdURjo6bnVsbG9wdCk7CisgICAgUnVuKHNpemVfdCBsaW5l
SW5kZXgsIGNvbnN0IExheW91dDo6Qm94JiwgY29uc3QgSW5saW5lUmVjdCYsIGNvbnN0IElubGlu
ZVJlY3QmIGlua092ZXJmbG93LCBPcHRpb25hbDxUZXh0Q29udGVudD4gPSBXVEY6Om51bGxvcHQp
OwogCiAgICAgc2l6ZV90IGxpbmVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUluZGV4OyB9
CiAKQEAgLTg3LDkgKzg2LDkgQEAgc3RydWN0IFJ1biB7CiAgICAgdm9pZCBleHBhbmRWZXJ0aWNh
bGx5KElubGluZUxheW91dFVuaXQgZGVsdGEpIHsgbV9yZWN0LmV4cGFuZFZlcnRpY2FsbHkoZGVs
dGEpOyB9CiAgICAgdm9pZCBleHBhbmRIb3Jpem9udGFsbHkoSW5saW5lTGF5b3V0VW5pdCBkZWx0
YSkgeyBtX3JlY3QuZXhwYW5kSG9yaXpvbnRhbGx5KGRlbHRhKTsgfQogCi0gICAgdm9pZCBzZXRU
ZXh0Q29udGV4dChjb25zdCBUZXh0Q29udGV4dCYmIHRleHRDb250ZXh0KSB7IG1fdGV4dENvbnRl
eHQuZW1wbGFjZSh0ZXh0Q29udGV4dCk7IH0KLSAgICBjb25zdCBPcHRpb25hbDxUZXh0Q29udGV4
dD4mIHRleHRDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Q29udGV4dDsgfQotICAgIE9w
dGlvbmFsPFRleHRDb250ZXh0PiYgdGV4dENvbnRleHQoKSB7IHJldHVybiBtX3RleHRDb250ZXh0
OyB9CisgICAgdm9pZCBzZXRUZXh0Q29udGVudChjb25zdCBUZXh0Q29udGVudCYmIHRleHRDb250
ZW50KSB7IG1fdGV4dENvbnRlbnQuZW1wbGFjZSh0ZXh0Q29udGVudCk7IH0KKyAgICBjb25zdCBP
cHRpb25hbDxUZXh0Q29udGVudD4mIHRleHRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0
Q29udGVudDsgfQorICAgIE9wdGlvbmFsPFRleHRDb250ZW50PiYgdGV4dENvbnRlbnQoKSB7IHJl
dHVybiBtX3RleHRDb250ZW50OyB9CiAKICAgICBzdHJ1Y3QgRXhwYW5zaW9uIHsKICAgICAgICAg
RXhwYW5zaW9uQmVoYXZpb3IgYmVoYXZpb3IgeyBEZWZhdWx0RXhwYW5zaW9uIH07CkBAIC0xMDEs
NyArMTAwLDggQEAgc3RydWN0IFJ1biB7CiAgICAgdm9pZCBzZXRJbWFnZShDYWNoZWRJbWFnZSYg
aW1hZ2UpIHsgbV9jYWNoZWRJbWFnZSA9ICZpbWFnZTsgfQogICAgIENhY2hlZEltYWdlKiBpbWFn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkSW1hZ2U7IH0KIAotICAgIGJvb2wgaXNMaW5lQnJl
YWsoKSBjb25zdCB7IHJldHVybiBsYXlvdXRCb3goKS5pc0xpbmVCcmVha0JveCgpIHx8ICh0ZXh0
Q29udGV4dCgpICYmIHRleHRDb250ZXh0KCktPmNvbnRlbnQoKSA9PSAiXG4iICYmIHN0eWxlKCku
cHJlc2VydmVOZXdsaW5lKCkpOyB9CisgICAgLy8gRklYTUU6IFRoaXMgaW5mb3JtYXRpb24gc2hv
dWxkIGJlIHByZXNlcnZlZCBhdCBSdW4gY29uc3RydWN0aW9uIHRpbWUuCisgICAgYm9vbCBpc0xp
bmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIGxheW91dEJveCgpLmlzTGluZUJyZWFrQm94KCkgfHwg
KHRleHRDb250ZW50KCkgJiYgdGV4dENvbnRlbnQoKS0+Y29udGVudCgpID09ICJcbiIgJiYgc3R5
bGUoKS5wcmVzZXJ2ZU5ld2xpbmUoKSk7IH0KIAogICAgIGNvbnN0IExheW91dDo6Qm94JiBsYXlv
dXRCb3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3g7IH0KICAgICBjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEJveC0+c3R5bGUoKTsgfQpAQCAt
MTEzLDIwICsxMTMsMjAgQEAgcHJpdmF0ZToKICAgICBDYWNoZWRJbWFnZSogbV9jYWNoZWRJbWFn
ZSB7IG51bGxwdHIgfTsKICAgICBJbmxpbmVSZWN0IG1fcmVjdDsKICAgICBJbmxpbmVSZWN0IG1f
aW5rT3ZlcmZsb3c7Ci0gICAgT3B0aW9uYWw8VGV4dENvbnRleHQ+IG1fdGV4dENvbnRleHQ7Cisg
ICAgT3B0aW9uYWw8VGV4dENvbnRlbnQ+IG1fdGV4dENvbnRlbnQ7CiAgICAgRXhwYW5zaW9uIG1f
ZXhwYW5zaW9uOwogfTsKIAotaW5saW5lIFJ1bjo6UnVuKHNpemVfdCBsaW5lSW5kZXgsIGNvbnN0
IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIGNvbnN0IElubGluZVJlY3QmIHJlY3QsIGNvbnN0IElu
bGluZVJlY3QmIGlua092ZXJmbG93LCBPcHRpb25hbDxUZXh0Q29udGV4dD4gdGV4dENvbnRleHQp
CitpbmxpbmUgUnVuOjpSdW4oc2l6ZV90IGxpbmVJbmRleCwgY29uc3QgTGF5b3V0OjpCb3gmIGxh
eW91dEJveCwgY29uc3QgSW5saW5lUmVjdCYgcmVjdCwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3Zl
cmZsb3csIE9wdGlvbmFsPFRleHRDb250ZW50PiB0ZXh0Q29udGVudCkKICAgICA6IG1fbGluZUlu
ZGV4KGxpbmVJbmRleCkKICAgICAsIG1fbGF5b3V0Qm94KG1ha2VXZWFrUHRyKGxheW91dEJveCkp
CiAgICAgLCBtX3JlY3QocmVjdCkKICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCi0g
ICAgLCBtX3RleHRDb250ZXh0KHRleHRDb250ZXh0KQorICAgICwgbV90ZXh0Q29udGVudCh0ZXh0
Q29udGVudCkKIHsKIH0KIAotaW5saW5lIFJ1bjo6VGV4dENvbnRleHQ6OlRleHRDb250ZXh0KHVu
c2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgY29udGVudFN0cmlu
ZykKK2lubGluZSBSdW46OlRleHRDb250ZW50OjpUZXh0Q29udGVudCh1bnNpZ25lZCBzdGFydCwg
dW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTdHJpbmcpCiAgICAgOiBtX3N0
YXJ0KHN0YXJ0KQogICAgICwgbV9sZW5ndGgobGVuZ3RoKQogICAgICwgbV9jb250ZW50U3RyaW5n
KGNvbnRlbnRTdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXgg
ZTUzM2ZmYTQ2N2NlOWJkMTQ2YzE0MzQ2MjA4MDVkYWQ4ZTMxZGQ5MC4uMmFmZjVmN2YwY2ZjNzZi
ZGJjMzE5OGM1MTM3ZDBjZjlkMDEzMWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmNwcApAQCAtNDg1LDcgKzQ4NSw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OnNldERpc3BsYXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxheW91dENvbnRleHQ6OkxpCiAgICAg
ICAgICAgICB9OwogICAgICAgICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IGNvbXB1dGVkSW5rT3Zl
cmZsb3coKTsKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvdy5leHBhbmRUb0NvbnRhaW4oaW5r
T3ZlcmZsb3cpOwotICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJ
bmRleCwgbGluZVJ1bi5sYXlvdXRCb3goKSwgbG9naWNhbFJlY3QsIGlua092ZXJmbG93LCBsaW5l
UnVuLnRleHRDb250ZXh0KCkgfSk7CisgICAgICAgICAgICBpbmxpbmVDb250ZW50LnJ1bnMuYXBw
ZW5kKHsgbGluZUluZGV4LCBsaW5lUnVuLmxheW91dEJveCgpLCBsb2dpY2FsUmVjdCwgaW5rT3Zl
cmZsb3csIGxpbmVSdW4udGV4dENvbnRlbnQoKSB9KTsKICAgICAgICAgfQogCiAgICAgICAgIGlm
IChsaW5lUnVuLmlzTGluZUJyZWFrKCkpIHsKQEAgLTU0Myw3ICs1NDMsNyBAQCB2b2lkIElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0OjpzZXREaXNwbGF5Qm94ZXNGb3JMaW5lKGNvbnN0IExpbmVMYXlv
dXRDb250ZXh0OjpMaQogICAgIH0KICAgICAvLyBNYWtlIHN1cmUgdGhlIHRyYWlsaW5nIHRleHQg
cnVuIGdldHMgYSBoeXBoZW4gd2hlbiBpdCBuZWVkcyBvbmUuCiAgICAgaWYgKGxpbmVDb250ZW50
LnBhcnRpYWxDb250ZW50ICYmIGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50LT50cmFpbGluZ0Nv
bnRlbnROZWVkc0h5cGhlbikKLSAgICAgICAgaW5saW5lQ29udGVudC5ydW5zWypsYXN0VGV4dEl0
ZW1JbmRleF0udGV4dENvbnRleHQoKS0+c2V0TmVlZHNIeXBoZW4oKTsKKyAgICAgICAgaW5saW5l
Q29udGVudC5ydW5zWypsYXN0VGV4dEl0ZW1JbmRleF0udGV4dENvbnRlbnQoKS0+c2V0TmVlZHNI
eXBoZW4oKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyB3aGVyZSB0aGUgbG9naWNhbCB0byBwaHlz
aWNhbCB0cmFuc2xhdGUgc2hvdWxkIGhhcHBlbi4KICAgICBhdXRvJiBiYXNlbGluZSA9IGxpbmVC
b3guYmFzZWxpbmUoKTsKICAgICBpbmxpbmVDb250ZW50LmxpbmVCb3hlcy5hcHBlbmQoeyBsaW5l
Qm94LmxvZ2ljYWxSZWN0KCksIGxpbmVCb3guc2Nyb2xsYWJsZU92ZXJmbG93KCksIGxpbmVJbmtP
dmVyZmxvdywgeyBiYXNlbGluZS5hc2NlbnQoKSwgYmFzZWxpbmUuZGVzY2VudCgpIH0sIGxpbmVC
b3guYmFzZWxpbmVPZmZzZXQoKSwgbGluZUJveC5pc0NvbnNpZGVyZWRFbXB0eSgpIH0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IGM2YTY0N2VhYTkxMzJjM2NmNjU4ZDBlYjZjYWM2MWFh
Yjc5Zjk1MWYuLjJhM2IzNTIxMjJmNzk1YTlmMmJmYjJlN2M0OWI1MjJiZDgxMGI0NjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnVpbGRlci5jcHAKQEAgLTc1MCw3ICs3NTAsNyBAQCBMaW5lQnVpbGRlcjo6UnVu
OjpSdW4oY29uc3QgSW5saW5lU29mdExpbmVCcmVha0l0ZW0mIHNvZnRMaW5lQnJlYWtJdGVtLCBJ
bmxpbmVMYQogICAgIDogbV90eXBlKHNvZnRMaW5lQnJlYWtJdGVtLnR5cGUoKSkKICAgICAsIG1f
bGF5b3V0Qm94KCZzb2Z0TGluZUJyZWFrSXRlbS5sYXlvdXRCb3goKSkKICAgICAsIG1fbG9naWNh
bFJlY3QoeyAwLCBsb2dpY2FsTGVmdCwgMCwgMCB9KQotICAgICwgbV90ZXh0Q29udGV4dCh7IHNv
ZnRMaW5lQnJlYWtJdGVtLnBvc2l0aW9uKCksIDEsIHNvZnRMaW5lQnJlYWtJdGVtLmlubGluZVRl
eHRCb3goKS5jb250ZW50KCkgfSkKKyAgICAsIG1fdGV4dENvbnRlbnQoeyBzb2Z0TGluZUJyZWFr
SXRlbS5wb3NpdGlvbigpLCAxLCBzb2Z0TGluZUJyZWFrSXRlbS5pbmxpbmVUZXh0Qm94KCkuY29u
dGVudCgpIH0pCiB7CiB9CiAKQEAgLTc1OSw3ICs3NTksNyBAQCBMaW5lQnVpbGRlcjo6UnVuOjpS
dW4oY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJdGVtLCBJbmxpbmVMYXlvdXRVbml0
IGxvZwogICAgICwgbV9sYXlvdXRCb3goJmlubGluZVRleHRJdGVtLmxheW91dEJveCgpKQogICAg
ICwgbV9sb2dpY2FsUmVjdCh7IDAsIGxvZ2ljYWxMZWZ0LCBsb2dpY2FsV2lkdGgsIDAgfSkKICAg
ICAsIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSh0cmFpbGluZ1doaXRlc3BhY2VUeXBlKGlubGlu
ZVRleHRJdGVtKSkKLSAgICAsIG1fdGV4dENvbnRleHQoeyBpbmxpbmVUZXh0SXRlbS5zdGFydCgp
LCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUgPT0gVHJhaWxpbmdXaGl0ZXNwYWNlOjpDb2xsYXBz
ZWQgPyAxIDogaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCksIGlubGluZVRleHRJdGVtLmlubGluZVRl
eHRCb3goKS5jb250ZW50KCkgfSkKKyAgICAsIG1fdGV4dENvbnRlbnQoeyBpbmxpbmVUZXh0SXRl
bS5zdGFydCgpLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUgPT0gVHJhaWxpbmdXaGl0ZXNwYWNl
OjpDb2xsYXBzZWQgPyAxIDogaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCksIGlubGluZVRleHRJdGVt
LmlubGluZVRleHRCb3goKS5jb250ZW50KCkgfSkKIHsKICAgICBpZiAobV90cmFpbGluZ1doaXRl
c3BhY2VUeXBlICE9IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZSkgewogICAgICAgICBtX3RyYWls
aW5nV2hpdGVzcGFjZVdpZHRoID0gbG9naWNhbFdpZHRoOwpAQCAtNzgxLDE0ICs3ODEsMTQgQEAg
dm9pZCBMaW5lQnVpbGRlcjo6UnVuOjpleHBhbmQoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGlu
ZVRleHRJdGVtLCBJbmxpbmVMYXlvdXQKICAgICBpZiAobV90cmFpbGluZ1doaXRlc3BhY2VUeXBl
ID09IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZSkgewogICAgICAgICBtX3RyYWlsaW5nV2hpdGVz
cGFjZVdpZHRoID0geyB9OwogICAgICAgICBzZXRFeHBhbnNpb25CZWhhdmlvcihBbGxvd0xlYWRp
bmdFeHBhbnNpb24gfCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uKTsKLSAgICAgICAgbV90ZXh0Q29u
dGV4dC0+ZXhwYW5kKGlubGluZVRleHRJdGVtLmxlbmd0aCgpKTsKKyAgICAgICAgbV90ZXh0Q29u
dGVudC0+ZXhwYW5kKGlubGluZVRleHRJdGVtLmxlbmd0aCgpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoICs9IGxvZ2ljYWxXaWR0aDsKICAg
ICBpZiAoIWlzV2hpdGVzcGFjZVByZXNlcnZlZChpbmxpbmVUZXh0SXRlbS5zdHlsZSgpKSkKICAg
ICAgICAgKyttX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CiAgICAgc2V0RXhwYW5zaW9uQmVo
YXZpb3IoRGVmYXVsdEV4cGFuc2lvbik7Ci0gICAgbV90ZXh0Q29udGV4dC0+ZXhwYW5kKG1fdHJh
aWxpbmdXaGl0ZXNwYWNlVHlwZSA9PSBUcmFpbGluZ1doaXRlc3BhY2U6OkNvbGxhcHNlZCA/IDEg
OiBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CisgICAgbV90ZXh0Q29udGVudC0+ZXhwYW5kKG1f
dHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSA9PSBUcmFpbGluZ1doaXRlc3BhY2U6OkNvbGxhcHNlZCA/
IDEgOiBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CiB9CiAKIGJvb2wgTGluZUJ1aWxkZXI6OlJ1
bjo6aGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkgY29uc3QKQEAgLTgxNyw4ICs4MTcsOCBAQCB2
b2lkIExpbmVCdWlsZGVyOjpSdW46OnJlbW92ZVRyYWlsaW5nV2hpdGVzcGFjZSgpCiB7CiAgICAg
Ly8gQWNjb3JkaW5nIHRvIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdGV4dC0zLyN3aGl0ZS1z
cGFjZS1wcm9wZXJ0eSBtYXRyaXgKICAgICAvLyBUcmltbWFibGUgd2hpdGVzcGFjZSBpcyBhbHdh
eXMgY29sbGFwc2FibGUgc28gdGhlIGxlbmd0aCBvZiB0aGUgdHJhaWxpbmcgdHJpbW1hYmxlIHdo
aXRlc3BhY2UgaXMgYWx3YXlzIDEgKG9yIG5vbi1leGlzdGVudCkuCi0gICAgQVNTRVJUKG1fdGV4
dENvbnRleHQtPmxlbmd0aCgpKTsKLSAgICBtX3RleHRDb250ZXh0LT5leHBhbmQoLTEpOworICAg
IEFTU0VSVChtX3RleHRDb250ZW50LT5sZW5ndGgoKSk7CisgICAgbV90ZXh0Q29udGVudC0+ZXhw
YW5kKC0xKTsKICAgICB2aXN1YWxseUNvbGxhcHNlVHJhaWxpbmdXaGl0ZXNwYWNlKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDVjMzM1NjVhOWU5YmY1ODA3ZDczMmQ0NmQ2ZDBiZWJl
N2FlOTQ1MDcuLmNmNzliZmFjYzJhYTVjMDVkODc0NzQ5YjJhMmY0ZjZkMjc2ZThiY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVC
dWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJ1aWxkZXIuaApAQCAtODQsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0
IEJveCYgbGF5b3V0Qm94KCkgY29uc3QgeyByZXR1cm4gKm1fbGF5b3V0Qm94OyB9CiAgICAgICAg
IGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94LT5z
dHlsZSgpOyB9CiAgICAgICAgIGNvbnN0IERpc3BsYXk6OklubGluZVJlY3QmIGxvZ2ljYWxSZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQotICAgICAgICBjb25zdCBPcHRpb25h
bDxEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0PiYgdGV4dENvbnRleHQoKSBjb25zdCB7IHJldHVy
biBtX3RleHRDb250ZXh0OyB9CisgICAgICAgIGNvbnN0IE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6
VGV4dENvbnRlbnQ+JiB0ZXh0Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dENvbnRlbnQ7
IH0KIAogICAgICAgICBSdW4oUnVuJiYpID0gZGVmYXVsdDsKICAgICAgICAgUnVuJiBvcGVyYXRv
cj0oUnVuJiYgb3RoZXIpID0gZGVmYXVsdDsKQEAgLTEzNiw3ICsxMzYsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIERpc3BsYXk6OklubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICAgICAgVHJhaWxp
bmdXaGl0ZXNwYWNlIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSB7IFRyYWlsaW5nV2hpdGVzcGFj
ZTo6Tm9uZSB9OwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fdHJhaWxpbmdXaGl0ZXNwYWNl
V2lkdGggeyAwIH07Ci0gICAgICAgIE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ+
IG1fdGV4dENvbnRleHQ7CisgICAgICAgIE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRl
bnQ+IG1fdGV4dENvbnRlbnQ7CiAgICAgICAgIERpc3BsYXk6OlJ1bjo6RXhwYW5zaW9uIG1fZXhw
YW5zaW9uOwogICAgICAgICB1bnNpZ25lZCBtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgeyAw
IH07CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggNTI3ODkx
ZTAzZTQ4NmI3ZTU1ZDgyYTNjOTZmZWEzOTE1N2ZiMjVlOS4uMTkwZmMwNjM0YjJjMWE1NDE0YjFh
NjkwYmI2NzM2NGNmMWQxZWE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAK
QEAgLTI2NywxMSArMjY3LDExIEBAIHZvaWQgTGluZUxheW91dDo6cGFpbnQoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKICAgICBwYWludFJlY3Qu
bW92ZUJ5KC1wYWludE9mZnNldCk7CiAKICAgICBmb3IgKGF1dG8mIHJ1biA6IGlubGluZUNvbnRl
bnQucnVuc0ZvclJlY3QocGFpbnRSZWN0KSkgewotICAgICAgICBpZiAoIXJ1bi50ZXh0Q29udGV4
dCgpKQorICAgICAgICBpZiAoIXJ1bi50ZXh0Q29udGVudCgpKQogICAgICAgICAgICAgY29udGlu
dWU7CiAKLSAgICAgICAgYXV0byYgdGV4dENvbnRleHQgPSAqcnVuLnRleHRDb250ZXh0KCk7Ci0g
ICAgICAgIGlmICghdGV4dENvbnRleHQubGVuZ3RoKCkpCisgICAgICAgIGF1dG8mIHRleHRDb250
ZW50ID0gKnJ1bi50ZXh0Q29udGVudCgpOworICAgICAgICBpZiAoIXRleHRDb250ZW50Lmxlbmd0
aCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgYXV0byYgc3R5bGUgPSBydW4u
c3R5bGUoKTsKQEAgLTI5NCw5ICsyOTQsOSBAQCB2b2lkIExpbmVMYXlvdXQ6OnBhaW50KFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAg
IGF1dG8gZXhwYW5zaW9uID0gcnVuLmV4cGFuc2lvbigpOwogCiAgICAgICAgIFN0cmluZyB0ZXh0
V2l0aEh5cGhlbjsKLSAgICAgICAgaWYgKHRleHRDb250ZXh0Lm5lZWRzSHlwaGVuKCkpCi0gICAg
ICAgICAgICB0ZXh0V2l0aEh5cGhlbiA9IG1ha2VTdHJpbmcodGV4dENvbnRleHQuY29udGVudCgp
LCBzdHlsZS5oeXBoZW5TdHJpbmcoKSk7Ci0gICAgICAgIFRleHRSdW4gdGV4dFJ1biB7ICF0ZXh0
V2l0aEh5cGhlbi5pc0VtcHR5KCkgPyB0ZXh0V2l0aEh5cGhlbiA6IHRleHRDb250ZXh0LmNvbnRl
bnQoKSwgcnVuLmxlZnQoKSAtIGxpbmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4
cGFuc2lvbiwgZXhwYW5zaW9uLmJlaGF2aW9yIH07CisgICAgICAgIGlmICh0ZXh0Q29udGVudC5u
ZWVkc0h5cGhlbigpKQorICAgICAgICAgICAgdGV4dFdpdGhIeXBoZW4gPSBtYWtlU3RyaW5nKHRl
eHRDb250ZW50LmNvbnRlbnQoKSwgc3R5bGUuaHlwaGVuU3RyaW5nKCkpOworICAgICAgICBUZXh0
UnVuIHRleHRSdW4geyAhdGV4dFdpdGhIeXBoZW4uaXNFbXB0eSgpID8gdGV4dFdpdGhIeXBoZW4g
OiB0ZXh0Q29udGVudC5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhw
YW5zaW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFuc2lvbi5iZWhhdmlvciB9OwogICAgICAg
ICB0ZXh0UnVuLnNldFRhYlNpemUoIXN0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50
YWJTaXplKCkpOwogICAgICAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4geyByZWN0LngoKSArIHBh
aW50T2Zmc2V0LngoKSwgcm91bmRUb0RldmljZVBpeGVsKGJhc2VsaW5lT2Zmc2V0LCBkZXZpY2VT
Y2FsZUZhY3RvcikgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCmluZGV4IDIyZjc2ZDcxNGRlZjY0YTJmOWI3YTRi
ZTVhYTdiYzc3M2U1OTM5ZWYuLmQ1ZWZlNzEwZmJiNjVkY2ZlOGM3YTE1MTMxZTA2ZDk2MzYxYjRk
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRy
ZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRUcmVlQnVpbGRlci5jcHAKQEAgLTM0MSwxMyArMzQxLDEzIEBAIHN0YXRpYyB2b2lkIG91dHB1
dElubGluZVJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdGUsCiAgICAgICAgIHdoaWxlICgrK3ByaW50ZWRDaGFyYWN0ZXJzIDw9IGRlcHRoICogMikK
ICAgICAgICAgICAgIHN0cmVhbSA8PCAiICI7CiAgICAgICAgIHN0cmVhbSA8PCAiICAiOwotICAg
ICAgICBpZiAoZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpKQorICAgICAgICBpZiAoZGlzcGxheVJ1
bi50ZXh0Q29udGVudCgpKQogICAgICAgICAgICAgc3RyZWFtIDw8ICJpbmxpbmUgdGV4dCBib3gi
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdHJlYW0gPDwgImlubGluZSBib3giOwogICAg
ICAgICBzdHJlYW0gPDwgIiBhdCAoIiA8PCBkaXNwbGF5UnVuLmxlZnQoKSA8PCAiLCIgPDwgZGlz
cGxheVJ1bi50b3AoKSA8PCAiKSBzaXplICIgPDwgZGlzcGxheVJ1bi53aWR0aCgpIDw8ICJ4IiA8
PCBkaXNwbGF5UnVuLmhlaWdodCgpOwotICAgICAgICBpZiAoZGlzcGxheVJ1bi50ZXh0Q29udGV4
dCgpKQotICAgICAgICAgICAgc3RyZWFtIDw8ICIgcnVuKCIgPDwgZGlzcGxheVJ1bi50ZXh0Q29u
dGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQo
KSA8PCAiKSI7CisgICAgICAgIGlmIChkaXNwbGF5UnVuLnRleHRDb250ZW50KCkpCisgICAgICAg
ICAgICBzdHJlYW0gPDwgIiBydW4oIiA8PCBkaXNwbGF5UnVuLnRleHRDb250ZW50KCktPnN0YXJ0
KCkgPDwgIiwgIiA8PCBkaXNwbGF5UnVuLnRleHRDb250ZW50KCktPmVuZCgpIDw8ICIpIjsKICAg
ICAgICAgc3RyZWFtLm5leHRMaW5lKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxh
eVJ1blBhdGguaAppbmRleCAwMzBhNjg3NGFiYmUxYTcyZGFlNDQ0MGE5ZDZiMDlhNjk1MzhlOWJm
Li4wYzg0OWJmYWI3MTM0YTRkMzgzYTIyZTNmNDY2MzQ1M2ViY2M4MWEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1
blBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJh
dmVyc2FsRGlzcGxheVJ1blBhdGguaApAQCAtNjcsMTEgKzY3LDExIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIHByZXZpb3VzLmxpbmVJbmRleCgpID09IHJ1bigpLmxpbmVJbmRleCgpOwogICAg
IH0KIAotICAgIGJvb2wgaGFzSHlwaGVuKCkgY29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRl
eHQoKS0+bmVlZHNIeXBoZW4oKTsgfQotICAgIFN0cmluZ1ZpZXcgdGV4dCgpIGNvbnN0IHsgcmV0
dXJuIHJ1bigpLnRleHRDb250ZXh0KCktPmNvbnRlbnQoKTsgfQotICAgIHVuc2lnbmVkIGxvY2Fs
U3RhcnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBydW4oKS50ZXh0Q29udGV4dCgpLT5zdGFydCgp
OyB9Ci0gICAgdW5zaWduZWQgbG9jYWxFbmRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBydW4oKS50
ZXh0Q29udGV4dCgpLT5lbmQoKTsgfQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIHJ1bigpLnRleHRDb250ZXh0KCktPmxlbmd0aCgpOyB9CisgICAgYm9vbCBoYXNIeXBoZW4o
KSBjb25zdCB7IHJldHVybiBydW4oKS50ZXh0Q29udGVudCgpLT5uZWVkc0h5cGhlbigpOyB9Cisg
ICAgU3RyaW5nVmlldyB0ZXh0KCkgY29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRlbnQoKS0+
Y29udGVudCgpOyB9CisgICAgdW5zaWduZWQgbG9jYWxTdGFydE9mZnNldCgpIGNvbnN0IHsgcmV0
dXJuIHJ1bigpLnRleHRDb250ZW50KCktPnN0YXJ0KCk7IH0KKyAgICB1bnNpZ25lZCBsb2NhbEVu
ZE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHJ1bigpLnRleHRDb250ZW50KCktPmVuZCgpOyB9Cisg
ICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRlbnQoKS0+
bGVuZ3RoKCk7IH0KIAogICAgIGJvb2wgaXNMYXN0T25MaW5lKCkgY29uc3QKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390514</attachid>
            <date>2020-02-12 07:22:00 -0800</date>
            <delta_ts>2020-02-12 07:53:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207611-20200212072159.patch</filename>
            <type>text/plain</type>
            <size>22888</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGJmZDk4YTJkNTBiMGEx
ODJkYTM5NTM2OWUyMTVkZThlODg4NjI1OC4uMGQ1NDY5YTlkODRmMjIzNjU2OWE2ZmY2NzNhMTMy
ODhhOWNlODRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW5hbWUg
RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dCB0byBUZXh0Q29udGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3NjExCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81OTM3NDUyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4K
KworICAgICAgICAqIGxheW91dC9WZXJpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpvdXRwdXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdDb21wbGV4TGluZUluZm9y
bWF0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFp
bnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpwYWludElubGluZUNvbnRlbnQp
OgorICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmg6CisgICAgICAgIChX
ZWJDb3JlOjpEaXNwbGF5OjpSdW46OnNldFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXk6OlJ1bjo6dGV4dENvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheTo6UnVuOjp0ZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46
OmlzTGluZUJyZWFrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6UnVu
KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRlbnQ6OlRleHRDb250
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ6OnN0YXJ0
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENv
bnRleHQ6OmVuZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpS
dW46OlRleHRDb250ZXh0OjpsZW5ndGggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dDo6Y29udGVudCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0OjpuZWVkc0h5cGhlbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRleHRDb250
ZXh0OjpzZXROZWVkc0h5cGhlbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
OjpSdW46OlRleHRDb250ZXh0OjpleHBhbmQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
RGlzcGxheTo6UnVuOjpzZXRUZXh0Q29udGV4dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5OjpSdW46OnRleHRDb250ZXh0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXk6OlJ1bjo6dGV4dENvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dDo6VGV4dENvbnRleHQpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OnNldERpc3BsYXlCb3hlc0ZvckxpbmUpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6bV90
ZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46
OmV4cGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46OnJl
bW92ZVRyYWlsaW5nV2hpdGVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om1fdGV4
dENvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjpSdW46OnRleHRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJ1aWxkZXI6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnBhaW50KToKKyAgICAg
ICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6Om91dHB1dElubGluZVJ1bnMpOgorICAgICAgICAqIHJlbmRlcmluZy9s
aW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGluZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6Omhhc0h5cGhlbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNwbGF5UnVuUGF0aDo6
dGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNw
bGF5UnVuUGF0aDo6bG9jYWxTdGFydE9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
aW5lTGF5b3V0VHJhdmVyc2FsOjpEaXNwbGF5UnVuUGF0aDo6bG9jYWxFbmRPZmZzZXQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6
Omxlbmd0aCBjb25zdCk6CisKIDIwMjAtMDItMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1vdmUgZXhwYW5zaW9uIHN0cnVjdCBvdXQgb2Yg
RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dCB0byBEaXNwbGF5OjpSdW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L1ZlcmlmaWNhdGlvbi5jcHAKaW5kZXggYWFhZThhN2Q0OTI3MjcyNjdjODkzNGQ2MWM1OGNi
YzNjYjI4NjdiMy4uOTAyNTU3OWI0NzlhOWU4N2Y1ZWFkNzMxODkxZDM2Y2ZlNWIyOTkxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKQEAgLTk2LDE5ICs5NiwxOSBAQCBz
dGF0aWMgYm9vbCBvdXRwdXRNaXNtYXRjaGluZ1NpbXBsZUxpbmVJbmZvcm1hdGlvbklmTmVlZGVk
KFRleHRTdHJlYW0mIHN0cmVhbSwgYwogICAgICAgICBhdXRvJiBkaXNwbGF5UnVuID0gZGlzcGxh
eVJ1bnNbaV07CiAKICAgICAgICAgYXV0byBtYXRjaGluZ1J1bnMgPSBhcmVFc3NlbnRpYWxseUVx
dWFsKHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCwgZGlzcGxheVJ1bi5sZWZ0KCkpICYmIGFyZUVzc2Vu
dGlhbGx5RXF1YWwoc2ltcGxlUnVuLmxvZ2ljYWxSaWdodCwgZGlzcGxheVJ1bi5yaWdodCgpKTsK
LSAgICAgICAgaWYgKG1hdGNoaW5nUnVucyAmJiBkaXNwbGF5UnVuLnRleHRDb250ZXh0KCkpIHsK
LSAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IHNpbXBsZVJ1bi5zdGFydCA9PSBkaXNwbGF5UnVu
LnRleHRDb250ZXh0KCktPnN0YXJ0KCkgJiYgc2ltcGxlUnVuLmVuZCA9PSBkaXNwbGF5UnVuLnRl
eHRDb250ZXh0KCktPmVuZCgpOworICAgICAgICBpZiAobWF0Y2hpbmdSdW5zICYmIGRpc3BsYXlS
dW4udGV4dENvbnRlbnQoKSkgeworICAgICAgICAgICAgbWF0Y2hpbmdSdW5zID0gc2ltcGxlUnVu
LnN0YXJ0ID09IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+c3RhcnQoKSAmJiBzaW1wbGVSdW4u
ZW5kID09IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+ZW5kKCk7CiAgICAgICAgICAgICAvLyBT
TEwgaGFuZGxlcyBzdHJpbmdzIGluIGEgbW9yZSBjb25jYXRlbmF0ZWQgZm9ybWF0IDxkaXY+Zm9v
PGJyPmJhcjwvZGl2PiAtPiBmb28gLT4gMCwzIGJhciAtPiAzLDYgdnMuIDAsMyBhbmQgMCwzCiAg
ICAgICAgICAgICBpZiAoIW1hdGNoaW5nUnVucykKLSAgICAgICAgICAgICAgICBtYXRjaGluZ1J1
bnMgPSAoc2ltcGxlUnVuLmVuZCAtIHNpbXBsZVJ1bi5zdGFydCkgPT0gKGRpc3BsYXlSdW4udGV4
dENvbnRleHQoKS0+ZW5kKCkgLSBkaXNwbGF5UnVuLnRleHRDb250ZXh0KCktPnN0YXJ0KCkpOwor
ICAgICAgICAgICAgICAgIG1hdGNoaW5nUnVucyA9IChzaW1wbGVSdW4uZW5kIC0gc2ltcGxlUnVu
LnN0YXJ0KSA9PSAoZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpLT5lbmQoKSAtIGRpc3BsYXlSdW4u
dGV4dENvbnRlbnQoKS0+c3RhcnQoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKG1hdGNoaW5n
UnVucykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0cmVhbSA8PCAiTWlzbWF0
Y2hpbmc6IHNpbXBsZSBydW4oIiA8PCBzaW1wbGVSdW4uc3RhcnQgPDwgIiwgIiA8PCBzaW1wbGVS
dW4uZW5kIDw8ICIpICgiIDw8IHNpbXBsZVJ1bi5sb2dpY2FsTGVmdCA8PCAiLCAiIDw8IHNpbXBs
ZVJ1bi5sb2dpY2FsUmlnaHQgPDwgIikiOwogICAgICAgICBzdHJlYW0gPDwgIiBpbmxpbmUgcnVu
IjsKLSAgICAgICAgaWYgKGRpc3BsYXlSdW4udGV4dENvbnRleHQoKSkKLSAgICAgICAgICAgIHN0
cmVhbSA8PCAiICgiIDw8IGRpc3BsYXlSdW4udGV4dENvbnRleHQoKS0+c3RhcnQoKSA8PCAiLCAi
IDw8IGRpc3BsYXlSdW4udGV4dENvbnRleHQoKS0+ZW5kKCkgPDwgIikiOworICAgICAgICBpZiAo
ZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpKQorICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIgPDwg
ZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpLT5zdGFydCgpIDw8ICIsICIgPDwgZGlzcGxheVJ1bi50
ZXh0Q29udGVudCgpLT5lbmQoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8IGRp
c3BsYXlSdW4ubGVmdCgpIDw8ICIsICIgPDwgZGlzcGxheVJ1bi50b3AoKSA8PCAiKSAoIiA8PCBk
aXNwbGF5UnVuLndpZHRoKCkgPDwgIngiIDw8IGRpc3BsYXlSdW4uaGVpZ2h0KCkgPDwgIikiOwog
ICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICAgICAgbWlzbWF0Y2hlZCA9IHRydWU7CkBA
IC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIGJvb2wgY2hlY2tGb3JNYXRjaGluZ1RleHRSdW5zKGNv
bnN0IERpc3BsYXk6OlJ1biYgaW5saW5lUnVuLCBjb25zdCBXZWJDb3IKICAgICAgICAgJiYgYXJl
RXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0Qm94LnJpZ2h0KCksIGlubGluZVJ1bi5yaWdodCgp
KQogICAgICAgICAmJiBhcmVFc3NlbnRpYWxseUVxdWFsKGlubGluZVRleHRCb3gudG9wKCksIGlu
bGluZVJ1bi50b3AoKSkKICAgICAgICAgJiYgYXJlRXNzZW50aWFsbHlFcXVhbChpbmxpbmVUZXh0
Qm94LmJvdHRvbSgpLCBpbmxpbmVSdW4uYm90dG9tKCkpCi0gICAgICAgICYmIChpbmxpbmVUZXh0
Qm94LmlzTGluZUJyZWFrKCkgfHwgKGlubGluZVRleHRCb3guc3RhcnQoKSA9PSBpbmxpbmVSdW4u
dGV4dENvbnRleHQoKS0+c3RhcnQoKSAmJiBpbmxpbmVUZXh0Qm94LmVuZCgpID09IGlubGluZVJ1
bi50ZXh0Q29udGV4dCgpLT5lbmQoKSkpOworICAgICAgICAmJiAoaW5saW5lVGV4dEJveC5pc0xp
bmVCcmVhaygpIHx8IChpbmxpbmVUZXh0Qm94LnN0YXJ0KCkgPT0gaW5saW5lUnVuLnRleHRDb250
ZW50KCktPnN0YXJ0KCkgJiYgaW5saW5lVGV4dEJveC5lbmQoKSA9PSBpbmxpbmVSdW4udGV4dENv
bnRlbnQoKS0+ZW5kKCkpKTsKIH0KIAogc3RhdGljIHZvaWQgY29sbGVjdEZsb3dCb3hTdWJ0cmVl
KGNvbnN0IElubGluZUZsb3dCb3gmIGZsb3dib3gsIFZlY3RvcjxXZWJDb3JlOjpJbmxpbmVCb3gq
PiYgaW5saW5lQm94ZXMpCkBAIC0yMDQsOCArMjA0LDggQEAgc3RhdGljIGJvb2wgb3V0cHV0TWlz
bWF0Y2hpbmdDb21wbGV4TGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFt
LAogICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIgPDwgaW5saW5lQm94LT5sb2dpY2FsTGVmdCgp
IDw8ICIsICIgPDwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkgPDwgIikgKCIgPDwgaW5saW5lQm94
LT5sb2dpY2FsV2lkdGgoKSA8PCAieCIgPDwgaW5saW5lQm94LT5sb2dpY2FsSGVpZ2h0KCkgPDwg
IikiOwogCiAgICAgICAgICAgICBzdHJlYW0gPDwgIiBpbmxpbmUgcnVuIjsKLSAgICAgICAgICAg
IGlmIChkaXNwbGF5UnVuLnRleHRDb250ZXh0KCkpCi0gICAgICAgICAgICAgICAgc3RyZWFtIDw8
ICIgKCIgPDwgZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgZGlz
cGxheVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CisgICAgICAgICAgICBpZiAoZGlz
cGxheVJ1bi50ZXh0Q29udGVudCgpKQorICAgICAgICAgICAgICAgIHN0cmVhbSA8PCAiICgiIDw8
IGRpc3BsYXlSdW4udGV4dENvbnRlbnQoKS0+c3RhcnQoKSA8PCAiLCAiIDw8IGRpc3BsYXlSdW4u
dGV4dENvbnRlbnQoKS0+ZW5kKCkgPDwgIikiOwogICAgICAgICAgICAgc3RyZWFtIDw8ICIgKCIg
PDwgZGlzcGxheVJ1bi5sZWZ0KCkgPDwgIiwgIiA8PCBkaXNwbGF5UnVuLnRvcCgpIDw8ICIpICgi
IDw8IGRpc3BsYXlSdW4ud2lkdGgoKSA8PCAieCIgPDwgZGlzcGxheVJ1bi5oZWlnaHQoKSA8PCAi
KSI7CiAgICAgICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKICAgICAgICAgICAgIG1pc21hdGNo
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVl
L0Rpc3BsYXlQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9E
aXNwbGF5UGFpbnRlci5jcHAKaW5kZXggZGQ2NzgyNTgzMTM2N2JjN2Q2YTdhN2E3YWMyZjQyMTJi
ZDU5YzQ2MS4uMzI4ZTUxOGQ0ZTNjNDU5NGNiZWM1YjRhNzZmMDlmNTEwNjcwZWMwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIu
Y3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVDb250ZW50KEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgTGF5b3V0UG9pbnQgYWJzb2x1dGVPZmYKICAgICAgICAg
cmV0dXJuOwogCiAgICAgZm9yIChhdXRvJiBydW4gOiBkaXNwbGF5UnVucykgewotICAgICAgICBp
ZiAoYXV0byYgdGV4dENvbnRleHQgPSBydW4udGV4dENvbnRleHQoKSkgeworICAgICAgICBpZiAo
YXV0byYgdGV4dENvbnRlbnQgPSBydW4udGV4dENvbnRlbnQoKSkgewogICAgICAgICAgICAgYXV0
byYgc3R5bGUgPSBydW4uc3R5bGUoKTsKICAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlQ29s
b3Ioc3R5bGUuY29sb3IoKSk7CiAgICAgICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihzdHls
ZS5jb2xvcigpKTsKQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBwYWludElubGluZUNv
bnRlbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBMYXlvdXRQb2ludCBhYnNvbHV0ZU9mZgog
ICAgICAgICAgICAgYXV0byYgbGluZUJveCA9IGRpc3BsYXlJbmxpbmVDb250ZW50LT5saW5lQm94
Rm9yUnVuKHJ1bik7CiAgICAgICAgICAgICBhdXRvIGJhc2VsaW5lT2Zmc2V0ID0gYWJzb2x1dGVP
ZmZzZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFzZWxpbmVPZmZzZXQoKTsKICAg
ICAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gcnVuLmV4cGFuc2lvbigpOwotICAgICAgICAgICAg
YXV0byB0ZXh0UnVuID0gVGV4dFJ1biB7IHRleHRDb250ZXh0LT5jb250ZW50KCksIHJ1bi5sZWZ0
KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhwYW5zaW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFu
c2lvbi5iZWhhdmlvciB9OworICAgICAgICAgICAgYXV0byB0ZXh0UnVuID0gVGV4dFJ1biB7IHRl
eHRDb250ZW50LT5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhwYW5z
aW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFuc2lvbi5iZWhhdmlvciB9OwogICAgICAgICAg
ICAgdGV4dFJ1bi5zZXRUYWJTaXplKCFzdHlsZS5jb2xsYXBzZVdoaXRlU3BhY2UoKSwgc3R5bGUu
dGFiU2l6ZSgpKTsKICAgICAgICAgICAgIGNvbnRleHQuZHJhd1RleHQoc3R5bGUuZm9udENhc2Nh
ZGUoKSwgdGV4dFJ1biwgeyBhYnNvbHV0ZUxlZnQsIGJhc2VsaW5lT2Zmc2V0IH0pOwogICAgICAg
ICB9IGVsc2UgaWYgKGF1dG8qIGNhY2hlZEltYWdlID0gcnVuLmltYWdlKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVJ1bi5oCmluZGV4IDI2ZWQ0ZDEx
OTg3ZTAyMDFhMGEyZDU3MDk4ZDJkMTQzMzIxMTMyY2IuLmM4YTI5ZGY0ODY0MGM4ZWI3MzkyYWRj
MGUwNzNmZjAxMzU5ZGY5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5UnVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0
cmVlL0Rpc3BsYXlSdW4uaApAQCAtNDAsMTEgKzQwLDEwIEBAIG5hbWVzcGFjZSBEaXNwbGF5IHsK
IAogc3RydWN0IFJ1biB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwotICAg
IHN0cnVjdCBUZXh0Q29udGV4dCB7CisgICAgc3RydWN0IFRleHRDb250ZW50IHsKICAgICAgICAg
V1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAgICAgICAgc3Ry
dWN0IEV4cGFuc2lvbkNvbnRleHQ7Ci0gICAgICAgIFRleHRDb250ZXh0KHVuc2lnbmVkIHBvc2l0
aW9uLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYpOworICAgICAgICBUZXh0Q29udGVu
dCh1bnNpZ25lZCBwb3NpdGlvbiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmKTsKIAog
ICAgICAgICB1bnNpZ25lZCBzdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnQ7IH0KICAgICAg
ICAgdW5zaWduZWQgZW5kKCkgY29uc3QgeyByZXR1cm4gc3RhcnQoKSArIGxlbmd0aCgpOyB9CkBA
IC02NCw3ICs2Myw3IEBAIHN0cnVjdCBSdW4gewogICAgIH07CiAKICAgICBzdHJ1Y3QgRXhwYW5z
aW9uOwotICAgIFJ1bihzaXplX3QgbGluZUluZGV4LCBjb25zdCBMYXlvdXQ6OkJveCYsIGNvbnN0
IElubGluZVJlY3QmLCBjb25zdCBJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBP
cHRpb25hbDxUZXh0Q29udGV4dD4gPSBXVEY6Om51bGxvcHQpOworICAgIFJ1bihzaXplX3QgbGlu
ZUluZGV4LCBjb25zdCBMYXlvdXQ6OkJveCYsIGNvbnN0IElubGluZVJlY3QmLCBjb25zdCBJbmxp
bmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBPcHRpb25hbDxUZXh0Q29udGVudD4gPSBX
VEY6Om51bGxvcHQpOwogCiAgICAgc2l6ZV90IGxpbmVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZUluZGV4OyB9CiAKQEAgLTg4LDkgKzg3LDkgQEAgc3RydWN0IFJ1biB7CiAgICAgdm9pZCBl
eHBhbmRWZXJ0aWNhbGx5KElubGluZUxheW91dFVuaXQgZGVsdGEpIHsgbV9yZWN0LmV4cGFuZFZl
cnRpY2FsbHkoZGVsdGEpOyB9CiAgICAgdm9pZCBleHBhbmRIb3Jpem9udGFsbHkoSW5saW5lTGF5
b3V0VW5pdCBkZWx0YSkgeyBtX3JlY3QuZXhwYW5kSG9yaXpvbnRhbGx5KGRlbHRhKTsgfQogCi0g
ICAgdm9pZCBzZXRUZXh0Q29udGV4dChjb25zdCBUZXh0Q29udGV4dCYmIHRleHRDb250ZXh0KSB7
IG1fdGV4dENvbnRleHQuZW1wbGFjZSh0ZXh0Q29udGV4dCk7IH0KLSAgICBjb25zdCBPcHRpb25h
bDxUZXh0Q29udGV4dD4mIHRleHRDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Q29udGV4
dDsgfQotICAgIE9wdGlvbmFsPFRleHRDb250ZXh0PiYgdGV4dENvbnRleHQoKSB7IHJldHVybiBt
X3RleHRDb250ZXh0OyB9CisgICAgdm9pZCBzZXRUZXh0Q29udGVudChjb25zdCBUZXh0Q29udGVu
dCYmIHRleHRDb250ZW50KSB7IG1fdGV4dENvbnRlbnQuZW1wbGFjZSh0ZXh0Q29udGVudCk7IH0K
KyAgICBjb25zdCBPcHRpb25hbDxUZXh0Q29udGVudD4mIHRleHRDb250ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV90ZXh0Q29udGVudDsgfQorICAgIE9wdGlvbmFsPFRleHRDb250ZW50PiYgdGV4dENv
bnRlbnQoKSB7IHJldHVybiBtX3RleHRDb250ZW50OyB9CiAKICAgICBzdHJ1Y3QgRXhwYW5zaW9u
IHsKICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgYmVoYXZpb3IgeyBEZWZhdWx0RXhwYW5zaW9u
IH07CkBAIC0xMDIsNyArMTAxLDggQEAgc3RydWN0IFJ1biB7CiAgICAgdm9pZCBzZXRJbWFnZShD
YWNoZWRJbWFnZSYgaW1hZ2UpIHsgbV9jYWNoZWRJbWFnZSA9ICZpbWFnZTsgfQogICAgIENhY2hl
ZEltYWdlKiBpbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkSW1hZ2U7IH0KIAotICAgIGJv
b2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBsYXlvdXRCb3goKS5pc0xpbmVCcmVha0Jv
eCgpIHx8ICh0ZXh0Q29udGV4dCgpICYmIHRleHRDb250ZXh0KCktPmNvbnRlbnQoKSA9PSAiXG4i
ICYmIHN0eWxlKCkucHJlc2VydmVOZXdsaW5lKCkpOyB9CisgICAgLy8gRklYTUU6IFRoaXMgaW5m
b3JtYXRpb24gc2hvdWxkIGJlIHByZXNlcnZlZCBhdCBSdW4gY29uc3RydWN0aW9uIHRpbWUuCisg
ICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIGxheW91dEJveCgpLmlzTGluZUJy
ZWFrQm94KCkgfHwgKHRleHRDb250ZW50KCkgJiYgdGV4dENvbnRlbnQoKS0+Y29udGVudCgpID09
ICJcbiIgJiYgc3R5bGUoKS5wcmVzZXJ2ZU5ld2xpbmUoKSk7IH0KIAogICAgIGNvbnN0IExheW91
dDo6Qm94JiBsYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3g7IH0KICAgICBj
b25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEJveC0+c3R5
bGUoKTsgfQpAQCAtMTE1LDIwICsxMTUsMjAgQEAgcHJpdmF0ZToKICAgICBJbmxpbmVSZWN0IG1f
cmVjdDsKICAgICBJbmxpbmVSZWN0IG1faW5rT3ZlcmZsb3c7CiAgICAgRXhwYW5zaW9uIG1fZXhw
YW5zaW9uOwotICAgIE9wdGlvbmFsPFRleHRDb250ZXh0PiBtX3RleHRDb250ZXh0OworICAgIE9w
dGlvbmFsPFRleHRDb250ZW50PiBtX3RleHRDb250ZW50OwogfTsKIAotaW5saW5lIFJ1bjo6UnVu
KHNpemVfdCBsaW5lSW5kZXgsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIGNvbnN0IElu
bGluZVJlY3QmIHJlY3QsIGNvbnN0IElubGluZVJlY3QmIGlua092ZXJmbG93LCBFeHBhbnNpb24g
ZXhwYW5zaW9uLCBPcHRpb25hbDxUZXh0Q29udGV4dD4gdGV4dENvbnRleHQpCitpbmxpbmUgUnVu
OjpSdW4oc2l6ZV90IGxpbmVJbmRleCwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgY29u
c3QgSW5saW5lUmVjdCYgcmVjdCwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFu
c2lvbiBleHBhbnNpb24sIE9wdGlvbmFsPFRleHRDb250ZW50PiB0ZXh0Q29udGVudCkKICAgICA6
IG1fbGluZUluZGV4KGxpbmVJbmRleCkKICAgICAsIG1fbGF5b3V0Qm94KG1ha2VXZWFrUHRyKGxh
eW91dEJveCkpCiAgICAgLCBtX3JlY3QocmVjdCkKICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3Zl
cmZsb3cpCiAgICAgLCBtX2V4cGFuc2lvbihleHBhbnNpb24pCi0gICAgLCBtX3RleHRDb250ZXh0
KHRleHRDb250ZXh0KQorICAgICwgbV90ZXh0Q29udGVudCh0ZXh0Q29udGVudCkKIHsKIH0KIAot
aW5saW5lIFJ1bjo6VGV4dENvbnRleHQ6OlRleHRDb250ZXh0KHVuc2lnbmVkIHN0YXJ0LCB1bnNp
Z25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgY29udGVudFN0cmluZykKK2lubGluZSBSdW46OlRl
eHRDb250ZW50OjpUZXh0Q29udGVudCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRTdHJpbmcpCiAgICAgOiBtX3N0YXJ0KHN0YXJ0KQogICAgICwg
bV9sZW5ndGgobGVuZ3RoKQogICAgICwgbV9jb250ZW50U3RyaW5nKGNvbnRlbnRTdHJpbmcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMmVjNTc2YzcyNDQzNTgwMTli
NDA5MmFhZDFmMTViMTZkZGU5Zjk1MS4uNmVhMzEzMDJkNjAyOTA3NTM0YjNjOGVjNThhZjljYTZh
MjEwMDBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNDg1LDcg
KzQ4NSw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OnNldERpc3BsYXlCb3hlc0Zv
ckxpbmUoY29uc3QgTGluZUxheW91dENvbnRleHQ6OkxpCiAgICAgICAgICAgICB9OwogICAgICAg
ICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IGNvbXB1dGVkSW5rT3ZlcmZsb3coKTsKICAgICAgICAg
ICAgIGxpbmVJbmtPdmVyZmxvdy5leHBhbmRUb0NvbnRhaW4oaW5rT3ZlcmZsb3cpOwotICAgICAg
ICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwgbGluZVJ1bi5sYXlv
dXRCb3goKSwgbG9naWNhbFJlY3QsIGlua092ZXJmbG93LCBsaW5lUnVuLmV4cGFuc2lvbigpLCBs
aW5lUnVuLnRleHRDb250ZXh0KCkgfSk7CisgICAgICAgICAgICBpbmxpbmVDb250ZW50LnJ1bnMu
YXBwZW5kKHsgbGluZUluZGV4LCBsaW5lUnVuLmxheW91dEJveCgpLCBsb2dpY2FsUmVjdCwgaW5r
T3ZlcmZsb3csIGxpbmVSdW4uZXhwYW5zaW9uKCksIGxpbmVSdW4udGV4dENvbnRlbnQoKSB9KTsK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChsaW5lUnVuLmlzTGluZUJyZWFrKCkpIHsKQEAgLTU0
Myw3ICs1NDMsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpzZXREaXNwbGF5Qm94
ZXNGb3JMaW5lKGNvbnN0IExpbmVMYXlvdXRDb250ZXh0OjpMaQogICAgIH0KICAgICAvLyBNYWtl
IHN1cmUgdGhlIHRyYWlsaW5nIHRleHQgcnVuIGdldHMgYSBoeXBoZW4gd2hlbiBpdCBuZWVkcyBv
bmUuCiAgICAgaWYgKGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50ICYmIGxpbmVDb250ZW50LnBh
cnRpYWxDb250ZW50LT50cmFpbGluZ0NvbnRlbnROZWVkc0h5cGhlbikKLSAgICAgICAgaW5saW5l
Q29udGVudC5ydW5zWypsYXN0VGV4dEl0ZW1JbmRleF0udGV4dENvbnRleHQoKS0+c2V0TmVlZHNI
eXBoZW4oKTsKKyAgICAgICAgaW5saW5lQ29udGVudC5ydW5zWypsYXN0VGV4dEl0ZW1JbmRleF0u
dGV4dENvbnRlbnQoKS0+c2V0TmVlZHNIeXBoZW4oKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyB3
aGVyZSB0aGUgbG9naWNhbCB0byBwaHlzaWNhbCB0cmFuc2xhdGUgc2hvdWxkIGhhcHBlbi4KICAg
ICBhdXRvJiBiYXNlbGluZSA9IGxpbmVCb3guYmFzZWxpbmUoKTsKICAgICBpbmxpbmVDb250ZW50
LmxpbmVCb3hlcy5hcHBlbmQoeyBsaW5lQm94LmxvZ2ljYWxSZWN0KCksIGxpbmVCb3guc2Nyb2xs
YWJsZU92ZXJmbG93KCksIGxpbmVJbmtPdmVyZmxvdywgeyBiYXNlbGluZS5hc2NlbnQoKSwgYmFz
ZWxpbmUuZGVzY2VudCgpIH0sIGxpbmVCb3guYmFzZWxpbmVPZmZzZXQoKSwgbGluZUJveC5pc0Nv
bnNpZGVyZWRFbXB0eSgpIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IGM2YTY0N2Vh
YTkxMzJjM2NmNjU4ZDBlYjZjYWM2MWFhYjc5Zjk1MWYuLjJhM2IzNTIxMjJmNzk1YTlmMmJmYjJl
N2M0OWI1MjJiZDgxMGI0NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKQEAgLTc1MCw3ICs3
NTAsNyBAQCBMaW5lQnVpbGRlcjo6UnVuOjpSdW4oY29uc3QgSW5saW5lU29mdExpbmVCcmVha0l0
ZW0mIHNvZnRMaW5lQnJlYWtJdGVtLCBJbmxpbmVMYQogICAgIDogbV90eXBlKHNvZnRMaW5lQnJl
YWtJdGVtLnR5cGUoKSkKICAgICAsIG1fbGF5b3V0Qm94KCZzb2Z0TGluZUJyZWFrSXRlbS5sYXlv
dXRCb3goKSkKICAgICAsIG1fbG9naWNhbFJlY3QoeyAwLCBsb2dpY2FsTGVmdCwgMCwgMCB9KQot
ICAgICwgbV90ZXh0Q29udGV4dCh7IHNvZnRMaW5lQnJlYWtJdGVtLnBvc2l0aW9uKCksIDEsIHNv
ZnRMaW5lQnJlYWtJdGVtLmlubGluZVRleHRCb3goKS5jb250ZW50KCkgfSkKKyAgICAsIG1fdGV4
dENvbnRlbnQoeyBzb2Z0TGluZUJyZWFrSXRlbS5wb3NpdGlvbigpLCAxLCBzb2Z0TGluZUJyZWFr
SXRlbS5pbmxpbmVUZXh0Qm94KCkuY29udGVudCgpIH0pCiB7CiB9CiAKQEAgLTc1OSw3ICs3NTks
NyBAQCBMaW5lQnVpbGRlcjo6UnVuOjpSdW4oY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRl
eHRJdGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZwogICAgICwgbV9sYXlvdXRCb3goJmlubGluZVRl
eHRJdGVtLmxheW91dEJveCgpKQogICAgICwgbV9sb2dpY2FsUmVjdCh7IDAsIGxvZ2ljYWxMZWZ0
LCBsb2dpY2FsV2lkdGgsIDAgfSkKICAgICAsIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSh0cmFp
bGluZ1doaXRlc3BhY2VUeXBlKGlubGluZVRleHRJdGVtKSkKLSAgICAsIG1fdGV4dENvbnRleHQo
eyBpbmxpbmVUZXh0SXRlbS5zdGFydCgpLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUgPT0gVHJh
aWxpbmdXaGl0ZXNwYWNlOjpDb2xsYXBzZWQgPyAxIDogaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCks
IGlubGluZVRleHRJdGVtLmlubGluZVRleHRCb3goKS5jb250ZW50KCkgfSkKKyAgICAsIG1fdGV4
dENvbnRlbnQoeyBpbmxpbmVUZXh0SXRlbS5zdGFydCgpLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5
cGUgPT0gVHJhaWxpbmdXaGl0ZXNwYWNlOjpDb2xsYXBzZWQgPyAxIDogaW5saW5lVGV4dEl0ZW0u
bGVuZ3RoKCksIGlubGluZVRleHRJdGVtLmlubGluZVRleHRCb3goKS5jb250ZW50KCkgfSkKIHsK
ICAgICBpZiAobV90cmFpbGluZ1doaXRlc3BhY2VUeXBlICE9IFRyYWlsaW5nV2hpdGVzcGFjZTo6
Tm9uZSkgewogICAgICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoID0gbG9naWNhbFdpZHRo
OwpAQCAtNzgxLDE0ICs3ODEsMTQgQEAgdm9pZCBMaW5lQnVpbGRlcjo6UnVuOjpleHBhbmQoY29u
c3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJdGVtLCBJbmxpbmVMYXlvdXQKICAgICBpZiAo
bV90cmFpbGluZ1doaXRlc3BhY2VUeXBlID09IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZSkgewog
ICAgICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoID0geyB9OwogICAgICAgICBzZXRFeHBh
bnNpb25CZWhhdmlvcihBbGxvd0xlYWRpbmdFeHBhbnNpb24gfCBBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uKTsKLSAgICAgICAgbV90ZXh0Q29udGV4dC0+ZXhwYW5kKGlubGluZVRleHRJdGVtLmxlbmd0
aCgpKTsKKyAgICAgICAgbV90ZXh0Q29udGVudC0+ZXhwYW5kKGlubGluZVRleHRJdGVtLmxlbmd0
aCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdp
ZHRoICs9IGxvZ2ljYWxXaWR0aDsKICAgICBpZiAoIWlzV2hpdGVzcGFjZVByZXNlcnZlZChpbmxp
bmVUZXh0SXRlbS5zdHlsZSgpKSkKICAgICAgICAgKyttX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnQ7CiAgICAgc2V0RXhwYW5zaW9uQmVoYXZpb3IoRGVmYXVsdEV4cGFuc2lvbik7Ci0gICAgbV90
ZXh0Q29udGV4dC0+ZXhwYW5kKG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSA9PSBUcmFpbGluZ1do
aXRlc3BhY2U6OkNvbGxhcHNlZCA/IDEgOiBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CisgICAg
bV90ZXh0Q29udGVudC0+ZXhwYW5kKG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSA9PSBUcmFpbGlu
Z1doaXRlc3BhY2U6OkNvbGxhcHNlZCA/IDEgOiBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CiB9
CiAKIGJvb2wgTGluZUJ1aWxkZXI6OlJ1bjo6aGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkgY29u
c3QKQEAgLTgxNyw4ICs4MTcsOCBAQCB2b2lkIExpbmVCdWlsZGVyOjpSdW46OnJlbW92ZVRyYWls
aW5nV2hpdGVzcGFjZSgpCiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtdGV4dC0zLyN3aGl0ZS1zcGFjZS1wcm9wZXJ0eSBtYXRyaXgKICAgICAvLyBUcmlt
bWFibGUgd2hpdGVzcGFjZSBpcyBhbHdheXMgY29sbGFwc2FibGUgc28gdGhlIGxlbmd0aCBvZiB0
aGUgdHJhaWxpbmcgdHJpbW1hYmxlIHdoaXRlc3BhY2UgaXMgYWx3YXlzIDEgKG9yIG5vbi1leGlz
dGVudCkuCi0gICAgQVNTRVJUKG1fdGV4dENvbnRleHQtPmxlbmd0aCgpKTsKLSAgICBtX3RleHRD
b250ZXh0LT5leHBhbmQoLTEpOworICAgIEFTU0VSVChtX3RleHRDb250ZW50LT5sZW5ndGgoKSk7
CisgICAgbV90ZXh0Q29udGVudC0+ZXhwYW5kKC0xKTsKICAgICB2aXN1YWxseUNvbGxhcHNlVHJh
aWxpbmdXaGl0ZXNwYWNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDdmODQ2MThl
ZWVlNDEzZWJjMmU4YjYxNzY3NDM0MTMzMzA0YzE1ZDQuLmFmODI2MDE2NzUyOWMxNTUwYzY4ZTIy
NjE2YzEyOTQ0YTNlMDc2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtODUsNyArODUsNyBA
QCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGF5b3V0Qm94LT5zdHlsZSgpOyB9CiAgICAgICAgIGNvbnN0IERpc3BsYXk6OklubGlu
ZVJlY3QmIGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQogICAg
ICAgICBEaXNwbGF5OjpSdW46OkV4cGFuc2lvbiBleHBhbnNpb24oKSBjb25zdCB7IHJldHVybiBt
X2V4cGFuc2lvbjsgfQotICAgICAgICBjb25zdCBPcHRpb25hbDxEaXNwbGF5OjpSdW46OlRleHRD
b250ZXh0PiYgdGV4dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZXh0OyB9Cisg
ICAgICAgIGNvbnN0IE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRlbnQ+JiB0ZXh0Q29u
dGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dENvbnRlbnQ7IH0KIAogICAgICAgICBSdW4oUnVu
JiYpID0gZGVmYXVsdDsKICAgICAgICAgUnVuJiBvcGVyYXRvcj0oUnVuJiYgb3RoZXIpID0gZGVm
YXVsdDsKQEAgLTEzNyw3ICsxMzcsNyBAQCBwdWJsaWM6CiAgICAgICAgIERpc3BsYXk6OklubGlu
ZVJlY3QgbV9sb2dpY2FsUmVjdDsKICAgICAgICAgVHJhaWxpbmdXaGl0ZXNwYWNlIG1fdHJhaWxp
bmdXaGl0ZXNwYWNlVHlwZSB7IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZSB9OwogICAgICAgICBJ
bmxpbmVMYXlvdXRVbml0IG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGggeyAwIH07Ci0gICAgICAg
IE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ+IG1fdGV4dENvbnRleHQ7CisgICAg
ICAgIE9wdGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRlbnQ+IG1fdGV4dENvbnRlbnQ7CiAg
ICAgICAgIERpc3BsYXk6OlJ1bjo6RXhwYW5zaW9uIG1fZXhwYW5zaW9uOwogICAgICAgICB1bnNp
Z25lZCBtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgeyAwIH07CiAgICAgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggNTI3ODkxZTAzZTQ4NmI3ZTU1ZDgyYTNjOTZm
ZWEzOTE1N2ZiMjVlOS4uMTkwZmMwNjM0YjJjMWE1NDE0YjFhNjkwYmI2NzM2NGNmMWQxZWE2OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTI2NywxMSArMjY3LDExIEBA
IHZvaWQgTGluZUxheW91dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNldCkKICAgICBwYWludFJlY3QubW92ZUJ5KC1wYWludE9mZnNldCk7
CiAKICAgICBmb3IgKGF1dG8mIHJ1biA6IGlubGluZUNvbnRlbnQucnVuc0ZvclJlY3QocGFpbnRS
ZWN0KSkgewotICAgICAgICBpZiAoIXJ1bi50ZXh0Q29udGV4dCgpKQorICAgICAgICBpZiAoIXJ1
bi50ZXh0Q29udGVudCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgYXV0byYg
dGV4dENvbnRleHQgPSAqcnVuLnRleHRDb250ZXh0KCk7Ci0gICAgICAgIGlmICghdGV4dENvbnRl
eHQubGVuZ3RoKCkpCisgICAgICAgIGF1dG8mIHRleHRDb250ZW50ID0gKnJ1bi50ZXh0Q29udGVu
dCgpOworICAgICAgICBpZiAoIXRleHRDb250ZW50Lmxlbmd0aCgpKQogICAgICAgICAgICAgY29u
dGludWU7CiAKICAgICAgICAgYXV0byYgc3R5bGUgPSBydW4uc3R5bGUoKTsKQEAgLTI5NCw5ICsy
OTQsOSBAQCB2b2lkIExpbmVMYXlvdXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gcnVu
LmV4cGFuc2lvbigpOwogCiAgICAgICAgIFN0cmluZyB0ZXh0V2l0aEh5cGhlbjsKLSAgICAgICAg
aWYgKHRleHRDb250ZXh0Lm5lZWRzSHlwaGVuKCkpCi0gICAgICAgICAgICB0ZXh0V2l0aEh5cGhl
biA9IG1ha2VTdHJpbmcodGV4dENvbnRleHQuY29udGVudCgpLCBzdHlsZS5oeXBoZW5TdHJpbmco
KSk7Ci0gICAgICAgIFRleHRSdW4gdGV4dFJ1biB7ICF0ZXh0V2l0aEh5cGhlbi5pc0VtcHR5KCkg
PyB0ZXh0V2l0aEh5cGhlbiA6IHRleHRDb250ZXh0LmNvbnRlbnQoKSwgcnVuLmxlZnQoKSAtIGxp
bmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4cGFuc2lvbiwgZXhwYW5zaW9uLmJl
aGF2aW9yIH07CisgICAgICAgIGlmICh0ZXh0Q29udGVudC5uZWVkc0h5cGhlbigpKQorICAgICAg
ICAgICAgdGV4dFdpdGhIeXBoZW4gPSBtYWtlU3RyaW5nKHRleHRDb250ZW50LmNvbnRlbnQoKSwg
c3R5bGUuaHlwaGVuU3RyaW5nKCkpOworICAgICAgICBUZXh0UnVuIHRleHRSdW4geyAhdGV4dFdp
dGhIeXBoZW4uaXNFbXB0eSgpID8gdGV4dFdpdGhIeXBoZW4gOiB0ZXh0Q29udGVudC5jb250ZW50
KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhwYW5zaW9uLmhvcml6b250YWxFeHBh
bnNpb24sIGV4cGFuc2lvbi5iZWhhdmlvciB9OwogICAgICAgICB0ZXh0UnVuLnNldFRhYlNpemUo
IXN0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwogICAgICAgICBG
bG9hdFBvaW50IHRleHRPcmlnaW4geyByZWN0LngoKSArIHBhaW50T2Zmc2V0LngoKSwgcm91bmRU
b0RldmljZVBpeGVsKGJhc2VsaW5lT2Zmc2V0LCBkZXZpY2VTY2FsZUZhY3RvcikgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxk
ZXIuY3BwCmluZGV4IDIyZjc2ZDcxNGRlZjY0YTJmOWI3YTRiZTVhYTdiYzc3M2U1OTM5ZWYuLmQ1
ZWZlNzEwZmJiNjVkY2ZlOGM3YTE1MTMxZTA2ZDk2MzYxYjRkYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKQEAg
LTM0MSwxMyArMzQxLDEzIEBAIHN0YXRpYyB2b2lkIG91dHB1dElubGluZVJ1bnMoVGV4dFN0cmVh
bSYgc3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsCiAgICAgICAgIHdoaWxl
ICgrK3ByaW50ZWRDaGFyYWN0ZXJzIDw9IGRlcHRoICogMikKICAgICAgICAgICAgIHN0cmVhbSA8
PCAiICI7CiAgICAgICAgIHN0cmVhbSA8PCAiICAiOwotICAgICAgICBpZiAoZGlzcGxheVJ1bi50
ZXh0Q29udGV4dCgpKQorICAgICAgICBpZiAoZGlzcGxheVJ1bi50ZXh0Q29udGVudCgpKQogICAg
ICAgICAgICAgc3RyZWFtIDw8ICJpbmxpbmUgdGV4dCBib3giOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBzdHJlYW0gPDwgImlubGluZSBib3giOwogICAgICAgICBzdHJlYW0gPDwgIiBhdCAo
IiA8PCBkaXNwbGF5UnVuLmxlZnQoKSA8PCAiLCIgPDwgZGlzcGxheVJ1bi50b3AoKSA8PCAiKSBz
aXplICIgPDwgZGlzcGxheVJ1bi53aWR0aCgpIDw8ICJ4IiA8PCBkaXNwbGF5UnVuLmhlaWdodCgp
OwotICAgICAgICBpZiAoZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpKQotICAgICAgICAgICAgc3Ry
ZWFtIDw8ICIgcnVuKCIgPDwgZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIs
ICIgPDwgZGlzcGxheVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CisgICAgICAgIGlm
IChkaXNwbGF5UnVuLnRleHRDb250ZW50KCkpCisgICAgICAgICAgICBzdHJlYW0gPDwgIiBydW4o
IiA8PCBkaXNwbGF5UnVuLnRleHRDb250ZW50KCktPnN0YXJ0KCkgPDwgIiwgIiA8PCBkaXNwbGF5
UnVuLnRleHRDb250ZW50KCktPmVuZCgpIDw8ICIpIjsKICAgICAgICAgc3RyZWFtLm5leHRMaW5l
KCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaAppbmRleCAwMzBh
Njg3NGFiYmUxYTcyZGFlNDQ0MGE5ZDZiMDlhNjk1MzhlOWJmLi4wYzg0OWJmYWI3MTM0YTRkMzgz
YTIyZTNmNDY2MzQ1M2ViY2M4MWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGgu
aApAQCAtNjcsMTEgKzY3LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHByZXZpb3VzLmxp
bmVJbmRleCgpID09IHJ1bigpLmxpbmVJbmRleCgpOwogICAgIH0KIAotICAgIGJvb2wgaGFzSHlw
aGVuKCkgY29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRleHQoKS0+bmVlZHNIeXBoZW4oKTsg
fQotICAgIFN0cmluZ1ZpZXcgdGV4dCgpIGNvbnN0IHsgcmV0dXJuIHJ1bigpLnRleHRDb250ZXh0
KCktPmNvbnRlbnQoKTsgfQotICAgIHVuc2lnbmVkIGxvY2FsU3RhcnRPZmZzZXQoKSBjb25zdCB7
IHJldHVybiBydW4oKS50ZXh0Q29udGV4dCgpLT5zdGFydCgpOyB9Ci0gICAgdW5zaWduZWQgbG9j
YWxFbmRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBydW4oKS50ZXh0Q29udGV4dCgpLT5lbmQoKTsg
fQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIHJ1bigpLnRleHRDb250ZXh0
KCktPmxlbmd0aCgpOyB9CisgICAgYm9vbCBoYXNIeXBoZW4oKSBjb25zdCB7IHJldHVybiBydW4o
KS50ZXh0Q29udGVudCgpLT5uZWVkc0h5cGhlbigpOyB9CisgICAgU3RyaW5nVmlldyB0ZXh0KCkg
Y29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRlbnQoKS0+Y29udGVudCgpOyB9CisgICAgdW5z
aWduZWQgbG9jYWxTdGFydE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHJ1bigpLnRleHRDb250ZW50
KCktPnN0YXJ0KCk7IH0KKyAgICB1bnNpZ25lZCBsb2NhbEVuZE9mZnNldCgpIGNvbnN0IHsgcmV0
dXJuIHJ1bigpLnRleHRDb250ZW50KCktPmVuZCgpOyB9CisgICAgdW5zaWduZWQgbGVuZ3RoKCkg
Y29uc3QgeyByZXR1cm4gcnVuKCkudGV4dENvbnRlbnQoKS0+bGVuZ3RoKCk7IH0KIAogICAgIGJv
b2wgaXNMYXN0T25MaW5lKCkgY29uc3QKICAgICB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>