<?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>201923</bug_id>
          
          <creation_ts>2019-09-18 11:23:33 -0700</creation_ts>
          <short_desc>[LFC] Add contentbox left constraint to UsedHorizontalValues::Constraints</short_desc>
          <delta_ts>2019-09-18 14:12:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>201795</blocked>
          <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>1571963</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-09-18 11:23:33 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571965</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-18 11:24:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/55485796&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571966</commentid>
    <comment_count>2</comment_count>
      <attachid>379051</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-18 11:30:27 -0700</bug_when>
    <thetext>Created attachment 379051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572049</commentid>
    <comment_count>3</comment_count>
      <attachid>379066</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-18 13:25:35 -0700</bug_when>
    <thetext>Created attachment 379066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572070</commentid>
    <comment_count>4</comment_count>
      <attachid>379066</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-18 14:12:12 -0700</bug_when>
    <thetext>Comment on attachment 379066
Patch

Clearing flags on attachment: 379066

Committed r250051: &lt;https://trac.webkit.org/changeset/250051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572071</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-18 14:12:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379051</attachid>
            <date>2019-09-18 11:30:27 -0700</date>
            <delta_ts>2019-09-18 13:25:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201923-20190918113026.patch</filename>
            <type>text/plain</type>
            <size>20413</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg0MWJmODM5MThhZWM1
NWU5MGNhYjAzOWNhNDZmOGMxMTBiZDYwOC4uMjcxM2QxZjY5YTZkMWU4ZGRmNWJkZTU1NmZjMGMy
MmUwZGMwZWY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA5LTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIGNvbnRlbnRi
b3ggbGVmdCBjb25zdHJhaW50IHRvIFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTIzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQ4NTc5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIGluIHRoZSBjb250ZW50Ym94IGxlZnQgY29u
c3RyYWludCB2YWx1ZSB0byB0aGUgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGUqKCkgZnVuY3Rp
b25zIHNvIHRoYXQgdGhleSBkb24ndCBuZWVkIHRvIHJlYWQgdGhlIGNvbnRhaW5nIGJsb2NrJ3Mg
Z2VvbWV0cnkuIAorICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciB1c2luZyBjb25z
dHJhaW50IHZhbHVlcyBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIHRoZSBkaXNwbGF5IHRyZWUgZm9yIGNv
bnRhaW5pbmcgYmxvY2sgZ2VvbWV0cnkgaW5mb3JtYXRpb24uCisgICAgICAgIFNlZSB3ZWJraXQu
b3JnL2IvMjAxNzk1CisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpvdXRPZkZsb3dDb25zdHJhaW50cyk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SG9y
aXpvbnRhbEdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0Nv
bnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dWZXJ0aWNhbEdlb21ldHJ5KToKKyAgICAgICAgKiBsYXlv
dXQvRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6c3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRp
b25lZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2VvbWV0cnkpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9m
Rmxvd1JlcGxhY2VkSG9yaXpvbnRhbEdlb21ldHJ5IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQv
TGF5b3V0VW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpVc2VkSG9yaXpvbnRh
bFZhbHVlczo6Q29uc3RyYWludHM6OkNvbnN0cmFpbnRzKToKKyAgICAgICAgKiBsYXlvdXQvTGF5
b3V0VW5pdHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VXNlZEhvcml6b250YWxWYWx1
ZXM6OkNvbnN0cmFpbnRzOjpDb25zdHJhaW50cyk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY0hvcml6b250YWxQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVXaWR0aEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6c3RhdGljSG9yaXpv
bnRhbFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uIGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJpbnNpY1dpZHRoRm9yRm9ybWF0dGlu
Z1Jvb3QpOgorICAgICAgICAqIGxheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5n
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQ6OmNvbXB1dGVQcmVmZXJyZWRXaWR0aEZvckNvbHVtbnMpOgorCiAyMDE5LTA5LTE4ICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gSW50cm9kdWNl
IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggZTA3YjU5NWRmMTZlOWJjYzg1YmY4YmIwNzc2
NWM0MWViOTQ2YjE2ZS4uMGI1Yjc4NDE1NzkxMDU3ZDc5MTdiZmNkZjBiZjg1YTY3YWJkMWNmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC00Myw2
ICs0MywxMSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKEZvcm1hdHRpbmdDb250ZXh0KTsKIAorc3RhdGljIFVzZWRIb3Jpem9udGFsVmFsdWVzOjpD
b25zdHJhaW50cyBvdXRPZkZsb3dDb25zdHJhaW50cyhjb25zdCBEaXNwbGF5OjpCb3gmIGNvbnRh
aW5pbmdCbG9ja0dlb21ldHJ5KQoreworICAgIHJldHVybiBVc2VkSG9yaXpvbnRhbFZhbHVlczo6
Q29uc3RyYWludHMgeyBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nQm94TGVmdCgpLCBj
b250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nQm94V2lkdGgoKSB9OworfQorCiBGb3JtYXR0
aW5nQ29udGV4dDo6Rm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQ29udGFpbmVyJiBmb3JtYXR0aW5n
Q29udGV4dFJvb3QsIEZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0YXRlKQogICAgIDogbV9y
b290KG1ha2VXZWFrUHRyKGZvcm1hdHRpbmdDb250ZXh0Um9vdCkpCiAgICAgLCBtX2Zvcm1hdHRp
bmdTdGF0ZShmb3JtYXR0aW5nU3RhdGUpCkBAIC02NiwxMSArNzEsMTIgQEAgTGF5b3V0U3RhdGUm
IEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRTdGF0ZSgpIGNvbnN0CiAKIHZvaWQgRm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkoY29uc3QgQm94JiBs
YXlvdXRCb3gpCiB7Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGdlb21ldHJ5Rm9y
Qm94KCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpLnBhZGRpbmdCb3hXaWR0aCgpOwotICAg
IGF1dG8gY29udGFpbmluZ0Jsb2NrSGVpZ2h0ID0gZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5j
b250YWluaW5nQmxvY2soKSkucGFkZGluZ0JveEhlaWdodCgpOworICAgIGF1dG8mIGNvbnRhaW5p
bmdCbG9ja0dlb21ldHJ5ID0gZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxv
Y2soKSk7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGNvbnRhaW5pbmdCbG9ja0dl
b21ldHJ5LnBhZGRpbmdCb3hXaWR0aCgpOworICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrSGVpZ2h0
ID0gY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveEhlaWdodCgpOwogCiAgICAgYXV0
byBjb21wdXRlID0gWyZdKE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRXaWR0aCkgewotICAgICAg
ICBhdXRvIHVzZWRIb3Jpem9udGFsVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBVc2Vk
SG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyBjb250YWluaW5nQmxvY2tXaWR0aCB9LCB1
c2VkV2lkdGgsIHsgfSB9OworICAgICAgICBhdXRvIHVzZWRIb3Jpem9udGFsVmFsdWVzID0gVXNl
ZEhvcml6b250YWxWYWx1ZXMgeyBvdXRPZkZsb3dDb25zdHJhaW50cyhjb250YWluaW5nQmxvY2tH
ZW9tZXRyeSksIHVzZWRXaWR0aCwgeyB9IH07CiAgICAgICAgIGF1dG8gdXNlZFZlcnRpY2FsVmFs
dWVzID0gVXNlZFZlcnRpY2FsVmFsdWVzIHsgY29udGFpbmluZ0Jsb2NrSGVpZ2h0LCB7IH0gfTsK
ICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkub3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KGxh
eW91dEJveCwgdXNlZEhvcml6b250YWxWYWx1ZXMsIHVzZWRWZXJ0aWNhbFZhbHVlcyk7CiAgICAg
fTsKQEAgLTEwMiwxMCArMTA4LDkgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91
dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkoY29uc3QgQm94JiBsYXlvdXRCb3gpCiAgICAgfTsKICAg
ICBhdXRvJiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSA9IGdlb21ldHJ5Rm9yQm94KCpsYXlvdXRC
b3guY29udGFpbmluZ0Jsb2NrKCkpOwogICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrSGVpZ2h0ID0g
Y29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveEhlaWdodCgpOwotICAgIGF1dG8gY29u
dGFpbmluZ0Jsb2NrV2lkdGggPSBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nQm94SGVp
Z2h0KCk7CiAKICAgICBhdXRvIHVzZWRWZXJ0aWNhbFZhbHVlc0ZvckhlaWdodCA9IFVzZWRWZXJ0
aWNhbFZhbHVlcyB7IGNvbnRhaW5pbmdCbG9ja0hlaWdodCwgeyB9IH07Ci0gICAgYXV0byB1c2Vk
SG9yaXpvbnRhbFZhbHVlcyA9IFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgVXNlZEhvcml6b250YWxW
YWx1ZXM6OkNvbnN0cmFpbnRzIHsgY29udGFpbmluZ0Jsb2NrV2lkdGggfSB9OworICAgIGF1dG8g
dXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IG91dE9mRmxvd0Nv
bnN0cmFpbnRzKGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KSB9OwogCiAgICAgYXV0byB2ZXJ0aWNh
bEdlb21ldHJ5ID0gY29tcHV0ZSh1c2VkSG9yaXpvbnRhbFZhbHVlcywgdXNlZFZlcnRpY2FsVmFs
dWVzRm9ySGVpZ2h0KTsKICAgICBpZiAoYXV0byBtYXhIZWlnaHQgPSBnZW9tZXRyeSgpLmNvbXB1
dGVkTWF4SGVpZ2h0KGxheW91dEJveCwgY29udGFpbmluZ0Jsb2NrSGVpZ2h0KSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBkN2RkMDI4MjBmMzg1ZWVi
MWI1Mzc4MWU5YWIyZTVkMDFhYmQ0MGMzLi4wNmU0NmY2NTQ5ZmNkMTAyNDE5NDhhZTUxOTBlNDZj
OThmZTcyMTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApA
QCAtMTQ3LDcgKzE0Nyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgV2lkdGhBbmRNYXJnaW4gZmxv
YXRpbmdOb25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFs
VmFsdWVzKTsKIAogICAgICAgICBMYXlvdXRVbml0IHN0YXRpY1ZlcnRpY2FsUG9zaXRpb25Gb3JP
dXRPZkZsb3dQb3NpdGlvbmVkKGNvbnN0IEJveCYpIGNvbnN0OwotICAgICAgICBMYXlvdXRVbml0
IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQoY29uc3QgQm94
JikgY29uc3Q7CisgICAgICAgIExheW91dFVuaXQgc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9y
T3V0T2ZGbG93UG9zaXRpb25lZChjb25zdCBCb3gmLCBVc2VkSG9yaXpvbnRhbFZhbHVlcykgY29u
c3Q7CiAKICAgICAgICAgY29uc3QgRm9ybWF0dGluZ0NvbnRleHQmIG1fZm9ybWF0dGluZ0NvbnRl
eHQ7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcAppbmRleCA1YzdhOTQ5NjNiYzlkNTdjMjliMDViYmJkOGVlNjNmYzRi
NTM3NDNjLi5iNGMzYjgxYTFhYjk4OWQwMTYxZmFkNGM0ZWM3YTBlMmZjYjc4MGNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CkBAIC0yMTgsNyArMjE4LDcgQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OnN0YXRpY1ZlcnRpY2FsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGkKICAgICByZXR1cm4g
dG9wIC0gcGFkZGluZ0JveFRvcDsKIH0KIAotTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6OnN0YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQo
Y29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CitMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6c3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25l
ZChjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgdXNlZEhvcml6b250
YWxWYWx1ZXMpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc091dE9mRmxvd1Bvc2l0
aW9uZWQoKSk7CiAgICAgLy8gU2VlIHN0YXRpY1ZlcnRpY2FsUG9zaXRpb25Gb3JPdXRPZkZsb3dQ
b3NpdGlvbmVkIGZvciB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgc3RhdGljIHBvc2l0aW9uLgpAQCAt
MjM4LDggKzIzOCw3IEBAIExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpz
dGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpCiAgICAgICAgIEFTU0VSVCgh
Y29udGFpbmVyLT5pc1Bvc2l0aW9uZWQoKSB8fCBsYXlvdXRCb3guaXNGaXhlZFBvc2l0aW9uZWQo
KSk7CiAgICAgfQogICAgIC8vIE1vdmUgdGhlIHN0YXRpYyBwb3NpdGlvbiByZWxhdGl2ZSB0byB0
aGUgcGFkZGluZyBib3guIFRoaXMgaXMgdmVyeSBzcGVjaWZpYyB0byBhYm9sdXRlbHkgcG9zaXRp
b25lZCBib3hlcy4KLSAgICBhdXRvIHBhZGRpbmdCb3hMZWZ0ID0gZm9ybWF0dGluZ0NvbnRleHQu
Z2VvbWV0cnlGb3JCb3goY29udGFpbmluZ0Jsb2NrLCBGb3JtYXR0aW5nQ29udGV4dDo6RXNjYXBl
VHlwZTo6QWNjZXNzQ2hpbGRGb3JtYXR0aW5nQ29udGV4dCkucGFkZGluZ0JveExlZnQoKTsKLSAg
ICByZXR1cm4gbGVmdCAtIHBhZGRpbmdCb3hMZWZ0OworICAgIHJldHVybiBsZWZ0IC0gdXNlZEhv
cml6b250YWxWYWx1ZXMuY29uc3RyYWludHMuY29udGVudEJveExlZnQ7CiB9CiAKIExheW91dFVu
aXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzaHJpbmtUb0ZpdFdpZHRoKGNvbnN0IEJv
eCYgZm9ybWF0dGluZ1Jvb3QsIExheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpCkBAIC00NDYsNyAr
NDQ1LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
b3V0T2ZGbG93Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2UKICAgICAgICAgLy8gcG9zaXRpb24gYW5k
IGFwcGx5IHJ1bGUgbnVtYmVyIHRocmVlIGJlbG93OyBvdGhlcndpc2UsIHNldCAncmlnaHQnIHRv
IHRoZSBzdGF0aWMgcG9zaXRpb24gYW5kIGFwcGx5IHJ1bGUgbnVtYmVyIG9uZSBiZWxvdy4KICAg
ICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4gPSB7IGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5z
dGFydC52YWx1ZU9yKDApLCBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kLnZhbHVlT3IoMCkg
fTsKIAotICAgICAgICBhdXRvIHN0YXRpY0hvcml6b250YWxQb3NpdGlvbiA9IHN0YXRpY0hvcml6
b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQobGF5b3V0Qm94KTsKKyAgICAgICAg
YXV0byBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb24gPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25G
b3JPdXRPZkZsb3dQb3NpdGlvbmVkKGxheW91dEJveCwgdXNlZEhvcml6b250YWxWYWx1ZXMpOwog
ICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbikKICAgICAgICAgICAgIGxlZnQgPSBz
dGF0aWNIb3Jpem9udGFsUG9zaXRpb247CiAgICAgICAgIGVsc2UKQEAgLTQ5OCw3ICs0OTcsNyBA
QCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZs
b3dOb25SZXBsYWNlZEhvcml6b250YWxHZQogICAgICAgICBsZWZ0ID0gY29udGFpbmluZ0Jsb2Nr
V2lkdGggLSAodXNlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGlu
Z0xlZnQgKyAqd2lkdGggKyBwYWRkaW5nUmlnaHQgICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpv
bnRhbE1hcmdpbi5lbmQgKyAqcmlnaHQpOwogICAgIH0gZWxzZSBpZiAoIWxlZnQgJiYgIXJpZ2h0
ICYmIHdpZHRoKSB7CiAgICAgICAgIC8vICMyCi0gICAgICAgIGF1dG8gc3RhdGljSG9yaXpvbnRh
bFBvc2l0aW9uID0gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25l
ZChsYXlvdXRCb3gpOworICAgICAgICBhdXRvIHN0YXRpY0hvcml6b250YWxQb3NpdGlvbiA9IHN0
YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQobGF5b3V0Qm94LCB1
c2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KSB7CiAgICAgICAgICAgICBsZWZ0ID0gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uOwogICAgICAg
ICAgICAgcmlnaHQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICgqbGVmdCArIHVzZWRIb3Jpem9u
dGFsTWFyZ2luLnN0YXJ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0ICsgY29udGVudFdpZHRo
KCkgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVu
ZCk7CkBAIC01MzAsNyArNTI5LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2UKIAogICAgIC8v
IEZvciBvdXQtb2YtZmxvdyBlbGVtZW50cyB0aGUgY29udGFpbmluZyBibG9jayBpcyBmb3JtZWQg
YnkgdGhlIHBhZGRpbmcgZWRnZSBvZiB0aGUgYW5jZXN0b3IuCiAgICAgLy8gQXQgdGhpcyBwb2lu
dCB0aGUgcG9zaXRpb25lZCB2YWx1ZSBpcyBpbiB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgdGhl
IHBhZGRpbmcgYm94LiBMZXQncyBjb252ZXJ0IGl0IHRvIGJvcmRlciBib3ggY29vcmRpbmF0ZSBz
eXN0ZW0uCi0gICAgYXV0byBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlID0gZm9y
bWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2so
KSkucGFkZGluZ0JveExlZnQoKTsKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0
aWNhbEVkZ2UgPSB1c2VkSG9yaXpvbnRhbFZhbHVlcy5jb25zdHJhaW50cy5jb250ZW50Qm94TGVm
dDsKICAgICAqbGVmdCArPSBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlOwogICAg
ICpyaWdodCArPSBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlOwogCkBAIC02NTcs
NyArNjU2LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRy
eTo6b3V0T2ZGbG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWUKIAogICAgIGlmICghbGVmdCAmJiAh
cmlnaHQpIHsKICAgICAgICAgLy8gIzEKLSAgICAgICAgYXV0byBzdGF0aWNIb3Jpem9udGFsUG9z
aXRpb24gPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlvbmVkKGxh
eW91dEJveCk7CisgICAgICAgIGF1dG8gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uID0gc3RhdGlj
SG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChsYXlvdXRCb3gsIHVzZWRI
b3Jpem9udGFsVmFsdWVzKTsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24pCiAg
ICAgICAgICAgICBsZWZ0ID0gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uOwogICAgICAgICBlbHNl
CkBAIC03MTYsNyArNzE1LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6b3V0T2ZGbG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWUKIAogICAgIC8vIEZv
ciBvdXQtb2YtZmxvdyBlbGVtZW50cyB0aGUgY29udGFpbmluZyBibG9jayBpcyBmb3JtZWQgYnkg
dGhlIHBhZGRpbmcgZWRnZSBvZiB0aGUgYW5jZXN0b3IuCiAgICAgLy8gQXQgdGhpcyBwb2ludCB0
aGUgcG9zaXRpb25lZCB2YWx1ZSBpcyBpbiB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgdGhlIHBh
ZGRpbmcgYm94LiBMZXQncyBjb252ZXJ0IGl0IHRvIGJvcmRlciBib3ggY29vcmRpbmF0ZSBzeXN0
ZW0uCi0gICAgYXV0byBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlID0gZm9ybWF0
dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSku
cGFkZGluZ0JveExlZnQoKTsKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNh
bEVkZ2UgPSB1c2VkSG9yaXpvbnRhbFZhbHVlcy5jb25zdHJhaW50cy5jb250ZW50Qm94TGVmdDsK
ICAgICAqbGVmdCArPSBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlOwogICAgICpy
aWdodCArPSBjb250YWluaW5nQmxvY2tQYWRkaW5nVmVydGljYWxFZGdlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0xheW91dFVuaXRzLmNwcAppbmRleCA1MDRjMzM4OTI1NWYzM2Q0MDQyNTAwYThkZmVl
MWQ2MTcxM2M2MGQ4Li42OWEzZjMzOGQ5NTU1ZWVlNDRhNGZkZDE3YTE1ZWY4ZmNiZTNiMWZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5jcHAKQEAgLTM0LDcgKzM0LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKIFVzZWRIb3Jpem9udGFsVmFs
dWVzOjpDb25zdHJhaW50czo6Q29uc3RyYWludHMoY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWlu
aW5nQmxvY2tHZW9tZXRyeSkKLSAgICA6IHdpZHRoKGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNv
bnRlbnRCb3hXaWR0aCgpKQorICAgIDogY29udGVudEJveExlZnQoY29udGFpbmluZ0Jsb2NrR2Vv
bWV0cnkuY29udGVudEJveExlZnQoKSkKKyAgICAsIHdpZHRoKGNvbnRhaW5pbmdCbG9ja0dlb21l
dHJ5LmNvbnRlbnRCb3hXaWR0aCgpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0
cy5oCmluZGV4IDI5MjM3YWM4ODQ1ZjFhMWU2Y2NjNDEzMjU4YTRlY2JmNjhkMWRiOTEuLjA5Yzdj
N2M2YzlhOGNkYjA4Mzg2NTAwYTZjODBhOTllYTEwZjYxY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRVbml0cy5oCkBAIC0xNDUsMTEgKzE0NSwxMyBAQCBzdHJ1Y3QgVmVydGljYWxHZW9tZXRy
eSB7CiBzdHJ1Y3QgVXNlZEhvcml6b250YWxWYWx1ZXMgewogICAgIHN0cnVjdCBDb25zdHJhaW50
cyB7CiAgICAgICAgIGV4cGxpY2l0IENvbnN0cmFpbnRzKGNvbnN0IERpc3BsYXk6OkJveCYgY29u
dGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwotICAgICAgICBleHBsaWNpdCBDb25zdHJhaW50cyhMYXlv
dXRVbml0IGhvcml6b250YWxDb25zdHJhaW50KQotICAgICAgICAgICAgOiB3aWR0aChob3Jpem9u
dGFsQ29uc3RyYWludCkKKyAgICAgICAgZXhwbGljaXQgQ29uc3RyYWludHMoTGF5b3V0VW5pdCBj
b250ZW50Qm94TGVmdCwgTGF5b3V0VW5pdCBob3Jpem9udGFsQ29uc3RyYWludCkKKyAgICAgICAg
ICAgIDogY29udGVudEJveExlZnQoY29udGVudEJveExlZnQpCisgICAgICAgICAgICAsIHdpZHRo
KGhvcml6b250YWxDb25zdHJhaW50KQogICAgICAgICB7CiAgICAgICAgIH0KIAorICAgICAgICBM
YXlvdXRVbml0IGNvbnRlbnRCb3hMZWZ0OwogICAgICAgICBMYXlvdXRVbml0IHdpZHRoOwogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGZhYzBmYmNjYzVmYzJi
MWZhNTBmM2ZmMjYxY2JkMjE5ODg0NTY5ODMuLmQzZmVlYzcyNmU4MzY3OTRhYmNkMjQ3ODk4ZTVh
YmViZTQxOWU2MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMjIxLDcg
KzIyMSw4IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1ZlcnRp
Y2FsUG9zaXRpb24oY29uc3QgRmxvYXRpbmdDb250ZXh0CiAKIHZvaWQgQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZVN0YXRpY0hvcml6b250YWxQb3NpdGlvbihjb25zdCBCb3gmIGxheW91
dEJveCkKIHsKLSAgICBmb3JtYXR0aW5nU3RhdGUoKS5kaXNwbGF5Qm94KGxheW91dEJveCkuc2V0
TGVmdChnZW9tZXRyeSgpLnN0YXRpY0hvcml6b250YWxQb3NpdGlvbihsYXlvdXRCb3gpKTsKKyAg
ICBhdXRvIHVzZWRIb3Jpem9udGFsVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBVc2Vk
SG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyBnZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94
LmNvbnRhaW5pbmdCbG9jaygpKSB9IH07CisgICAgZm9ybWF0dGluZ1N0YXRlKCkuZGlzcGxheUJv
eChsYXlvdXRCb3gpLnNldExlZnQoZ2VvbWV0cnkoKS5zdGF0aWNIb3Jpem9udGFsUG9zaXRpb24o
bGF5b3V0Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVlcykpOwogfQogCiB2b2lkIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25zdCBGbG9hdGluZ0NvbnRleHQm
IGZsb2F0aW5nQ29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCkBAIC0zNTEsMTMgKzM1Miwx
NSBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVQb3NpdGlvblRvQXZvaWRG
bG9hdHMoY29uc3QgRmxvYXRpbmdDb250ZXh0Jgogdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIE9wdGlvbmFsPExh
eW91dFVuaXQ+IHVzZWRBdmFpbGFibGVXaWR0aCkKIHsKICAgICBMYXlvdXRVbml0IGF2YWlsYWJs
ZVdpZHRoOworICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkgPSBnZW9tZXRyeUZvckJv
eCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKTsKICAgICBpZiAodXNlZEF2YWlsYWJsZVdp
ZHRoKQogICAgICAgICBhdmFpbGFibGVXaWR0aCA9ICp1c2VkQXZhaWxhYmxlV2lkdGg7CiAgICAg
ZWxzZQotICAgICAgICBhdmFpbGFibGVXaWR0aCA9IGdlb21ldHJ5Rm9yQm94KCpsYXlvdXRCb3gu
Y29udGFpbmluZ0Jsb2NrKCkpLmNvbnRlbnRCb3hXaWR0aCgpOworICAgICAgICBhdmFpbGFibGVX
aWR0aCA9IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hXaWR0aCgpOworICAgIGF1
dG8gY29uc3RyYWludHMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyBjb250
YWluaW5nQmxvY2tHZW9tZXRyeS5jb250ZW50Qm94TGVmdCgpLCBhdmFpbGFibGVXaWR0aCB9Owog
CiAgICAgYXV0byBjb21wdXRlID0gWyZdKE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRXaWR0aCkg
LT4gV2lkdGhBbmRNYXJnaW4gewotICAgICAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpv
bnRhbFZhbHVlcyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IGF2YWlsYWJs
ZVdpZHRoIH0sIHVzZWRXaWR0aCwgeyB9IH07CisgICAgICAgIGF1dG8gdXNlZFZhbHVlcyA9IFVz
ZWRIb3Jpem9udGFsVmFsdWVzIHsgY29uc3RyYWludHMsIHVzZWRXaWR0aCwgeyB9IH07CiAgICAg
ICAgIGlmIChsYXlvdXRCb3guaXNJbkZsb3coKSkKICAgICAgICAgICAgIHJldHVybiBnZW9tZXRy
eSgpLmluRmxvd1dpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgdXNlZFZhbHVlcyk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggMjk0ZTI2ZTU4MWI0NjA0NTkyOWI5ZDkzYTMwNzMy
MmRhNTE3MjMwZS4uNTU1ZmE4ZTU0ZjkyOTg1ZDAxMDJhOTNhNGMwMzcxYTUwMjg2Yjc4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1h
dHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTc4LDkgKzc4LDkgQEAgcHJpdmF0ZToKICAg
ICAgICAgSGVpZ2h0QW5kTWFyZ2luIGluRmxvd0hlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmLCBV
c2VkSG9yaXpvbnRhbFZhbHVlcywgVXNlZFZlcnRpY2FsVmFsdWVzKTsKICAgICAgICAgV2lkdGhB
bmRNYXJnaW4gaW5GbG93V2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgVXNlZEhvcml6b250YWxW
YWx1ZXMpOwogCi0gICAgICAgIFBvaW50IHN0YXRpY1Bvc2l0aW9uKGNvbnN0IEJveCYpIGNvbnN0
OworICAgICAgICBQb2ludCBzdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmLCBVc2VkSG9yaXpvbnRh
bFZhbHVlcykgY29uc3Q7CiAgICAgICAgIExheW91dFVuaXQgc3RhdGljVmVydGljYWxQb3NpdGlv
bihjb25zdCBCb3gmKSBjb25zdDsKLSAgICAgICAgTGF5b3V0VW5pdCBzdGF0aWNIb3Jpem9udGFs
UG9zaXRpb24oY29uc3QgQm94JikgY29uc3Q7CisgICAgICAgIExheW91dFVuaXQgc3RhdGljSG9y
aXpvbnRhbFBvc2l0aW9uKGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFsVmFsdWVzKSBjb25zdDsK
IAogICAgICAgICBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGludHJpbnNpY1dpZHRoQ29uc3Ry
YWludHMoY29uc3QgQm94Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcAppbmRleCBlOGJmNmY5Mjc2OGEwYzk1MjBiOTczYWQwY2E4MGExZGMzYmM0ZWUy
Li5mNjEzMTQwNmVkNThkYzQ2MzRmYjY4ZTM0YTMwMTFjZTkyOTVkNDBkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yMzQsMTYgKzIzNCwxNiBA
QCBMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzdGF0aWNWZXJ0
aWNhbFBvc2l0aW9uKGNvbnN0IEJveCYgbAogICAgIHJldHVybiBmb3JtYXR0aW5nQ29udGV4dCgp
Lmdlb21ldHJ5Rm9yQm94KCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpLmNvbnRlbnRCb3hU
b3AoKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
c3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAorTGF5
b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6c3RhdGljSG9yaXpvbnRh
bFBvc2l0aW9uKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB1c2Vk
SG9yaXpvbnRhbFZhbHVlcykgY29uc3QKIHsKICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIv
Q1NTMjIvdmlzdXJlbi5odG1sI2Jsb2NrLWZvcm1hdHRpbmcKICAgICAvLyBJbiBhIGJsb2NrIGZv
cm1hdHRpbmcgY29udGV4dCwgZWFjaCBib3gncyBsZWZ0IG91dGVyIGVkZ2UgdG91Y2hlcyB0aGUg
bGVmdCBlZGdlIG9mIHRoZSBjb250YWluaW5nIGJsb2NrIChmb3IgcmlnaHQtdG8tbGVmdCBmb3Jt
YXR0aW5nLCByaWdodCBlZGdlcyB0b3VjaCkuCi0gICAgcmV0dXJuIGZvcm1hdHRpbmdDb250ZXh0
KCkuZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSkuY29udGVudEJv
eExlZnQoKSArIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5t
YXJnaW5TdGFydCgpOworICAgIHJldHVybiB1c2VkSG9yaXpvbnRhbFZhbHVlcy5jb25zdHJhaW50
cy5jb250ZW50Qm94TGVmdCArIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5
b3V0Qm94KS5tYXJnaW5TdGFydCgpOwogfQogCi1Qb2ludCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6c3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CitQ
b2ludCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6c3RhdGljUG9zaXRpb24oY29u
c3QgQm94JiBsYXlvdXRCb3gsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHVzZWRIb3Jpem9udGFsVmFs
dWVzKSBjb25zdAogewotICAgIHJldHVybiB7IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbihsYXlv
dXRCb3gpLCBzdGF0aWNWZXJ0aWNhbFBvc2l0aW9uKGxheW91dEJveCkgfTsKKyAgICByZXR1cm4g
eyBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb24obGF5b3V0Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVl
cyksIHN0YXRpY1ZlcnRpY2FsUG9zaXRpb24obGF5b3V0Qm94KSB9OwogfQogCiBIZWlnaHRBbmRN
YXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd0hlaWdodEFuZE1h
cmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgdXNlZEhvcml6
b250YWxWYWx1ZXMsIFVzZWRWZXJ0aWNhbFZhbHVlcyB1c2VkVmVydGljYWxWYWx1ZXMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggN2MxY2UwOWNkNTNiODk0MDY5YzI3
NDFjOTA0YTEzNWU0YTg2MmNlNy4uNTQ5NzRmYTc1ZDJkMjllODU3ZWE2YzRjZTIzYTI5MDIwZTlh
ZDkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTA2LDcgKzEw
Niw3IEBAIEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZEluCiAgICAgfQogCiAgICAgVmVjdG9yPGNvbnN0
IEJveCo+IGZvcm1hdHRpbmdDb250ZXh0Um9vdExpc3Q7Ci0gICAgYXV0byB1c2VkVmFsdWVzID0g
VXNlZEhvcml6b250YWxWYWx1ZXMgeyBVc2VkSG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMg
eyBMYXlvdXRVbml0IHsgfSB9IH07CisgICAgYXV0byB1c2VkVmFsdWVzID0gVXNlZEhvcml6b250
YWxWYWx1ZXMgeyBVc2VkSG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyB7IH0sIHsgfSB9
IH07CiAgICAgYXV0byogbGF5b3V0Qm94ID0gcm9vdCgpLmZpcnN0SW5GbG93T3JGbG9hdGluZ0No
aWxkKCk7CiAgICAgd2hpbGUgKGxheW91dEJveCkgewogICAgICAgICBpZiAobGF5b3V0Qm94LT5l
c3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpIHsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lk
IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW50cmluc2ljV2lkdGhGb3JGb3JtYXR0
aW5nUm9vdChjb25zdCBCb3gmCiB7CiAgICAgQVNTRVJUKGZvcm1hdHRpbmdSb290LmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSk7CiAKLSAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9y
aXpvbnRhbFZhbHVlcyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IExheW91
dFVuaXQgeyB9IH0gfTsKKyAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVl
cyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IHsgfSwgeyB9IH0gfTsKICAg
ICBjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhmb3JtYXR0aW5nUm9vdCwgdXNlZFZhbHVlcyk7CiAg
ICAgY29tcHV0ZUhvcml6b250YWxNYXJnaW4oZm9ybWF0dGluZ1Jvb3QsIHVzZWRWYWx1ZXMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxl
Rm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0
dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCBkOTEzODE2NmJmYjA2MjYwMDcy
ODBlNGZlNTE0YTFlZThlMmY5OWNkLi4yZmFlZjkyZjYzNzM1ODcwYjYyYWE3NTk4OGVhOGRjYjY0
ZWQ4ZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5n
L1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90
YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTE5OSw3ICsxOTks
NyBAQCB2b2lkIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVQcmVmZXJyZWRXaWR0aEZv
ckNvbHVtbnMoKQogICAgICAgICAgICAgICAgIGludHJpbnNpY1dpZHRoID0gbGF5b3V0U3RhdGUo
KS5jcmVhdGVGb3JtYXR0aW5nQ29udGV4dChkb3duY2FzdDxDb250YWluZXI+KHRhYmxlQ2VsbEJv
eCkpLT5jb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKTsKICAgICAgICAgICAgIGlu
dHJpbnNpY1dpZHRoID0gZ2VvbWV0cnkoKS5jb25zdHJhaW5CeU1pbk1heFdpZHRoKHRhYmxlQ2Vs
bEJveCwgKmludHJpbnNpY1dpZHRoKTsKICAgICAgICAgICAgIGF1dG8gYm9yZGVyID0gZ2VvbWV0
cnkoKS5jb21wdXRlZEJvcmRlcih0YWJsZUNlbGxCb3gpOwotICAgICAgICAgICAgYXV0byBwYWRk
aW5nID0gKmdlb21ldHJ5KCkuY29tcHV0ZWRQYWRkaW5nKHRhYmxlQ2VsbEJveCwgVXNlZEhvcml6
b250YWxWYWx1ZXMgeyBVc2VkSG9yaXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyBMYXlvdXRV
bml0IHsgfSB9IH0pOworICAgICAgICAgICAgYXV0byBwYWRkaW5nID0gKmdlb21ldHJ5KCkuY29t
cHV0ZWRQYWRkaW5nKHRhYmxlQ2VsbEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgeyBVc2VkSG9y
aXpvbnRhbFZhbHVlczo6Q29uc3RyYWludHMgeyB7IH0sIHsgfSB9IH0pOwogCiAgICAgICAgICAg
ICBpbnRyaW5zaWNXaWR0aC0+ZXhwYW5kKGJvcmRlci5ob3Jpem9udGFsLndpZHRoKCkgKyBwYWRk
aW5nLmhvcml6b250YWwud2lkdGgoKSk7CiAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuc2V0
SW50cmluc2ljV2lkdGhDb25zdHJhaW50c0ZvckJveCh0YWJsZUNlbGxCb3gsICppbnRyaW5zaWNX
aWR0aCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379066</attachid>
            <date>2019-09-18 13:25:35 -0700</date>
            <delta_ts>2019-09-18 14:12:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201923-20190918132535.patch</filename>
            <type>text/plain</type>
            <size>20412</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg0ODBlZDYwYWZhODA2
ODQwOTMwZjliNDcyYTY1MzdiZjc5NzRjZi4uODUzMWFkOGFjMjM3ZDVhNGFjNGMyODlhNzI1M2Mw
MzJhZGI1MmE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA5LTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIGNvbnRlbnRi
b3ggbGVmdCBjb25zdHJhaW50IHRvIFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTIzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTQ4NTc5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KKworICAgICAgICBQYXNzIGluIHRoZSBjb250ZW50Ym94IGxlZnQgY29u
c3RyYWludCB2YWx1ZSB0byB0aGUgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGUqKCkgZnVuY3Rp
b25zIHNvIHRoYXQgdGhleSBkb24ndCBuZWVkIHRvIHJlYWQgdGhlIGNvbnRhaW5nIGJsb2NrJ3Mg
Z2VvbWV0cnkuCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHVzaW5nIGNvbnN0
cmFpbnQgdmFsdWVzIGluc3RlYWQgb2YgcXVlcnlpbmcgdGhlIGRpc3BsYXkgdHJlZSBmb3IgY29u
dGFpbmluZyBibG9jayBnZW9tZXRyeSBpbmZvcm1hdGlvbi4KKyAgICAgICAgU2VlIHdlYmtpdC5v
cmcvYi8yMDE3OTUKKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om91dE9mRmxvd0NvbnN0cmFpbnRzKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dIb3Jp
em9udGFsR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZU91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkpOgorICAgICAgICAqIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjpzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlv
bmVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZEhvcml6b250YWxHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZG
bG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAqIGxheW91dC9M
YXlvdXRVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlVzZWRIb3Jpem9udGFs
VmFsdWVzOjpDb25zdHJhaW50czo6Q29uc3RyYWludHMpOgorICAgICAgICAqIGxheW91dC9MYXlv
dXRVbml0cy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpVc2VkSG9yaXpvbnRhbFZhbHVl
czo6Q29uc3RyYWludHM6OkNvbnN0cmFpbnRzKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljSG9yaXpvbnRhbFBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzdGF0aWNIb3Jpem9u
dGFsUG9zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6c3RhdGljUG9zaXRpb24gY29uc3QpOgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVk
SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW50cmluc2ljV2lkdGhGb3JGb3JtYXR0aW5n
Um9vdCk6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZVByZWZlcnJlZFdpZHRoRm9yQ29sdW1ucyk6CisKIDIwMTktMDktMTggIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBJbnRyb2R1Y2Ug
VXNlZEhvcml6b250YWxWYWx1ZXM6OkNvbnN0cmFpbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCBlMDdiNTk1ZGYxNmU5YmNjODViZjhiYjA3NzY1
YzQxZWI5NDZiMTZlLi4wYjViNzg0MTU3OTEwNTdkNzkxN2JmY2RmMGJmODVhNjdhYmQxY2Y1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQzLDYg
KzQzLDExIEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoRm9ybWF0dGluZ0NvbnRleHQpOwogCitzdGF0aWMgVXNlZEhvcml6b250YWxWYWx1ZXM6OkNv
bnN0cmFpbnRzIG91dE9mRmxvd0NvbnN0cmFpbnRzKGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFp
bmluZ0Jsb2NrR2VvbWV0cnkpCit7CisgICAgcmV0dXJuIFVzZWRIb3Jpem9udGFsVmFsdWVzOjpD
b25zdHJhaW50cyB7IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hMZWZ0KCksIGNv
bnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hXaWR0aCgpIH07Cit9CisKIEZvcm1hdHRp
bmdDb250ZXh0OjpGb3JtYXR0aW5nQ29udGV4dChjb25zdCBDb250YWluZXImIGZvcm1hdHRpbmdD
b250ZXh0Um9vdCwgRm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUpCiAgICAgOiBtX3Jv
b3QobWFrZVdlYWtQdHIoZm9ybWF0dGluZ0NvbnRleHRSb290KSkKICAgICAsIG1fZm9ybWF0dGlu
Z1N0YXRlKGZvcm1hdHRpbmdTdGF0ZSkKQEAgLTY2LDExICs3MSwxMiBAQCBMYXlvdXRTdGF0ZSYg
Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dFN0YXRlKCkgY29uc3QKIAogdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hvcml6b250YWxHZW9tZXRyeShjb25zdCBCb3gmIGxh
eW91dEJveCkKIHsKLSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dpZHRoID0gZ2VvbWV0cnlGb3JC
b3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSkucGFkZGluZ0JveFdpZHRoKCk7Ci0gICAg
YXV0byBjb250YWluaW5nQmxvY2tIZWlnaHQgPSBnZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmNv
bnRhaW5pbmdCbG9jaygpKS5wYWRkaW5nQm94SGVpZ2h0KCk7CisgICAgYXV0byYgY29udGFpbmlu
Z0Jsb2NrR2VvbWV0cnkgPSBnZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9j
aygpKTsKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dpZHRoID0gY29udGFpbmluZ0Jsb2NrR2Vv
bWV0cnkucGFkZGluZ0JveFdpZHRoKCk7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tIZWlnaHQg
PSBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nQm94SGVpZ2h0KCk7CiAKICAgICBhdXRv
IGNvbXB1dGUgPSBbJl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoKSB7Ci0gICAgICAg
IGF1dG8gdXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IFVzZWRI
b3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IGNvbnRhaW5pbmdCbG9ja1dpZHRoIH0sIHVz
ZWRXaWR0aCwgeyB9IH07CisgICAgICAgIGF1dG8gdXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2Vk
SG9yaXpvbnRhbFZhbHVlcyB7IG91dE9mRmxvd0NvbnN0cmFpbnRzKGNvbnRhaW5pbmdCbG9ja0dl
b21ldHJ5KSwgdXNlZFdpZHRoLCB7IH0gfTsKICAgICAgICAgYXV0byB1c2VkVmVydGljYWxWYWx1
ZXMgPSBVc2VkVmVydGljYWxWYWx1ZXMgeyBjb250YWluaW5nQmxvY2tIZWlnaHQsIHsgfSB9Owog
ICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5vdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkobGF5
b3V0Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVlcywgdXNlZFZlcnRpY2FsVmFsdWVzKTsKICAgICB9
OwpAQCAtMTAyLDEwICsxMDgsOSBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0
T2ZGbG93VmVydGljYWxHZW9tZXRyeShjb25zdCBCb3gmIGxheW91dEJveCkKICAgICB9OwogICAg
IGF1dG8mIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5ID0gZ2VvbWV0cnlGb3JCb3goKmxheW91dEJv
eC5jb250YWluaW5nQmxvY2soKSk7CiAgICAgYXV0byBjb250YWluaW5nQmxvY2tIZWlnaHQgPSBj
b250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nQm94SGVpZ2h0KCk7Ci0gICAgYXV0byBjb250
YWluaW5nQmxvY2tXaWR0aCA9IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hIZWln
aHQoKTsKIAogICAgIGF1dG8gdXNlZFZlcnRpY2FsVmFsdWVzRm9ySGVpZ2h0ID0gVXNlZFZlcnRp
Y2FsVmFsdWVzIHsgY29udGFpbmluZ0Jsb2NrSGVpZ2h0LCB7IH0gfTsKLSAgICBhdXRvIHVzZWRI
b3Jpem9udGFsVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBVc2VkSG9yaXpvbnRhbFZh
bHVlczo6Q29uc3RyYWludHMgeyBjb250YWluaW5nQmxvY2tXaWR0aCB9IH07CisgICAgYXV0byB1
c2VkSG9yaXpvbnRhbFZhbHVlcyA9IFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgb3V0T2ZGbG93Q29u
c3RyYWludHMoY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpIH07CiAKICAgICBhdXRvIHZlcnRpY2Fs
R2VvbWV0cnkgPSBjb21wdXRlKHVzZWRIb3Jpem9udGFsVmFsdWVzLCB1c2VkVmVydGljYWxWYWx1
ZXNGb3JIZWlnaHQpOwogICAgIGlmIChhdXRvIG1heEhlaWdodCA9IGdlb21ldHJ5KCkuY29tcHV0
ZWRNYXhIZWlnaHQobGF5b3V0Qm94LCBjb250YWluaW5nQmxvY2tIZWlnaHQpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGQ3ZGQwMjgyMGYzODVlZWIx
YjUzNzgxZTlhYjJlNWQwMWFiZDQwYzMuLjA2ZTQ2ZjY1NDlmY2QxMDI0MTk0OGFlNTE5MGU0NmM5
OGZlNzIxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBA
IC0xNDcsNyArMTQ3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBXaWR0aEFuZE1hcmdpbiBmbG9h
dGluZ05vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgVXNlZEhvcml6b250YWxW
YWx1ZXMpOwogCiAgICAgICAgIExheW91dFVuaXQgc3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91
dE9mRmxvd1Bvc2l0aW9uZWQoY29uc3QgQm94JikgY29uc3Q7Ci0gICAgICAgIExheW91dFVuaXQg
c3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChjb25zdCBCb3gm
KSBjb25zdDsKKyAgICAgICAgTGF5b3V0VW5pdCBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JP
dXRPZkZsb3dQb3NpdGlvbmVkKGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFsVmFsdWVzKSBjb25z
dDsKIAogICAgICAgICBjb25zdCBGb3JtYXR0aW5nQ29udGV4dCYgbV9mb3JtYXR0aW5nQ29udGV4
dDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDVjN2E5NDk2M2JjOWQ1N2MyOWIwNWJiYmQ4ZWU2M2ZjNGI1
Mzc0M2MuLmI0YzNiODFhMWFiOTg5ZDAxNjFmYWQ0YzRlYzdhMGUyZmNiNzgwY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAK
QEAgLTIxOCw3ICsyMTgsNyBAQCBMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRy
eTo6c3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aQogICAgIHJldHVybiB0
b3AgLSBwYWRkaW5nQm94VG9wOwogfQogCi1MYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6c3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChj
b25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK0xheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlvbmVk
KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB1c2VkSG9yaXpvbnRh
bFZhbHVlcykgY29uc3QKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRp
b25lZCgpKTsKICAgICAvLyBTZWUgc3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91dE9mRmxvd1Bv
c2l0aW9uZWQgZm9yIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBzdGF0aWMgcG9zaXRpb24uCkBAIC0y
MzgsOCArMjM4LDcgQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnN0
YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2kKICAgICAgICAgQVNTRVJUKCFj
b250YWluZXItPmlzUG9zaXRpb25lZCgpIHx8IGxheW91dEJveC5pc0ZpeGVkUG9zaXRpb25lZCgp
KTsKICAgICB9CiAgICAgLy8gTW92ZSB0aGUgc3RhdGljIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRo
ZSBwYWRkaW5nIGJveC4gVGhpcyBpcyB2ZXJ5IHNwZWNpZmljIHRvIGFib2x1dGVseSBwb3NpdGlv
bmVkIGJveGVzLgotICAgIGF1dG8gcGFkZGluZ0JveExlZnQgPSBmb3JtYXR0aW5nQ29udGV4dC5n
ZW9tZXRyeUZvckJveChjb250YWluaW5nQmxvY2ssIEZvcm1hdHRpbmdDb250ZXh0OjpFc2NhcGVU
eXBlOjpBY2Nlc3NDaGlsZEZvcm1hdHRpbmdDb250ZXh0KS5wYWRkaW5nQm94TGVmdCgpOwotICAg
IHJldHVybiBsZWZ0IC0gcGFkZGluZ0JveExlZnQ7CisgICAgcmV0dXJuIGxlZnQgLSB1c2VkSG9y
aXpvbnRhbFZhbHVlcy5jb25zdHJhaW50cy5jb250ZW50Qm94TGVmdDsKIH0KIAogTGF5b3V0VW5p
dCBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnNocmlua1RvRml0V2lkdGgoY29uc3QgQm94
JiBmb3JtYXR0aW5nUm9vdCwgTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkKQEAgLTQ0Niw3ICs0
NDUsNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpv
dXRPZkZsb3dOb25SZXBsYWNlZEhvcml6b250YWxHZQogICAgICAgICAvLyBwb3NpdGlvbiBhbmQg
YXBwbHkgcnVsZSBudW1iZXIgdGhyZWUgYmVsb3c7IG90aGVyd2lzZSwgc2V0ICdyaWdodCcgdG8g
dGhlIHN0YXRpYyBwb3NpdGlvbiBhbmQgYXBwbHkgcnVsZSBudW1iZXIgb25lIGJlbG93LgogICAg
ICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbiA9IHsgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0
YXJ0LnZhbHVlT3IoMCksIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5lbmQudmFsdWVPcigwKSB9
OwogCi0gICAgICAgIGF1dG8gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uID0gc3RhdGljSG9yaXpv
bnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChsYXlvdXRCb3gpOworICAgICAgICBh
dXRvIHN0YXRpY0hvcml6b250YWxQb3NpdGlvbiA9IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbkZv
ck91dE9mRmxvd1Bvc2l0aW9uZWQobGF5b3V0Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAg
ICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKQogICAgICAgICAgICAgbGVmdCA9IHN0
YXRpY0hvcml6b250YWxQb3NpdGlvbjsKICAgICAgICAgZWxzZQpAQCAtNDk4LDcgKzQ5Nyw3IEBA
IEhvcml6b250YWxHZW9tZXRyeSBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxv
d05vblJlcGxhY2VkSG9yaXpvbnRhbEdlCiAgICAgICAgIGxlZnQgPSBjb250YWluaW5nQmxvY2tX
aWR0aCAtICh1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5n
TGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCAgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jpem9u
dGFsTWFyZ2luLmVuZCArICpyaWdodCk7CiAgICAgfSBlbHNlIGlmICghbGVmdCAmJiAhcmlnaHQg
JiYgd2lkdGgpIHsKICAgICAgICAgLy8gIzIKLSAgICAgICAgYXV0byBzdGF0aWNIb3Jpem9udGFs
UG9zaXRpb24gPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlvbmVk
KGxheW91dEJveCk7CisgICAgICAgIGF1dG8gc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uID0gc3Rh
dGljSG9yaXpvbnRhbFBvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChsYXlvdXRCb3gsIHVz
ZWRIb3Jpem9udGFsVmFsdWVzKTsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24p
IHsKICAgICAgICAgICAgIGxlZnQgPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb247CiAgICAgICAg
ICAgICByaWdodCA9IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKCpsZWZ0ICsgdXNlZEhvcml6b250
YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250ZW50V2lkdGgo
KSArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5k
KTsKQEAgLTUzMCw3ICs1MjksNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZEhvcml6b250YWxHZQogCiAgICAgLy8g
Rm9yIG91dC1vZi1mbG93IGVsZW1lbnRzIHRoZSBjb250YWluaW5nIGJsb2NrIGlzIGZvcm1lZCBi
eSB0aGUgcGFkZGluZyBlZGdlIG9mIHRoZSBhbmNlc3Rvci4KICAgICAvLyBBdCB0aGlzIHBvaW50
IHRoZSBwb3NpdGlvbmVkIHZhbHVlIGlzIGluIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUg
cGFkZGluZyBib3guIExldCdzIGNvbnZlcnQgaXQgdG8gYm9yZGVyIGJveCBjb29yZGluYXRlIHN5
c3RlbS4KLSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2UgPSBmb3Jt
YXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygp
KS5wYWRkaW5nQm94TGVmdCgpOworICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrUGFkZGluZ1ZlcnRp
Y2FsRWRnZSA9IHVzZWRIb3Jpem9udGFsVmFsdWVzLmNvbnN0cmFpbnRzLmNvbnRlbnRCb3hMZWZ0
OwogICAgICpsZWZ0ICs9IGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2U7CiAgICAg
KnJpZ2h0ICs9IGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2U7CiAKQEAgLTY1Nyw3
ICs2NTYsNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpvdXRPZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZQogCiAgICAgaWYgKCFsZWZ0ICYmICFy
aWdodCkgewogICAgICAgICAvLyAjMQotICAgICAgICBhdXRvIHN0YXRpY0hvcml6b250YWxQb3Np
dGlvbiA9IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQobGF5
b3V0Qm94KTsKKyAgICAgICAgYXV0byBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb24gPSBzdGF0aWNI
b3Jpem9udGFsUG9zaXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlvbmVkKGxheW91dEJveCwgdXNlZEhv
cml6b250YWxWYWx1ZXMpOwogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbikKICAg
ICAgICAgICAgIGxlZnQgPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb247CiAgICAgICAgIGVsc2UK
QEAgLTcxNiw3ICs3MTUsNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpvdXRPZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZQogCiAgICAgLy8gRm9y
IG91dC1vZi1mbG93IGVsZW1lbnRzIHRoZSBjb250YWluaW5nIGJsb2NrIGlzIGZvcm1lZCBieSB0
aGUgcGFkZGluZyBlZGdlIG9mIHRoZSBhbmNlc3Rvci4KICAgICAvLyBBdCB0aGlzIHBvaW50IHRo
ZSBwb3NpdGlvbmVkIHZhbHVlIGlzIGluIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgcGFk
ZGluZyBib3guIExldCdzIGNvbnZlcnQgaXQgdG8gYm9yZGVyIGJveCBjb29yZGluYXRlIHN5c3Rl
bS4KLSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2UgPSBmb3JtYXR0
aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS5w
YWRkaW5nQm94TGVmdCgpOworICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrUGFkZGluZ1ZlcnRpY2Fs
RWRnZSA9IHVzZWRIb3Jpem9udGFsVmFsdWVzLmNvbnN0cmFpbnRzLmNvbnRlbnRCb3hMZWZ0Owog
ICAgICpsZWZ0ICs9IGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2U7CiAgICAgKnJp
Z2h0ICs9IGNvbnRhaW5pbmdCbG9ja1BhZGRpbmdWZXJ0aWNhbEVkZ2U7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0VW5pdHMuY3BwCmluZGV4IDUwNGMzMzg5MjU1ZjMzZDQwNDI1MDBhOGRmZWUx
ZDYxNzEzYzYwZDguLjY5YTNmMzM4ZDk1NTVlZWU0NGE0ZmRkMTdhMTVlZjhmY2JlM2IxZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFVuaXRzLmNwcApAQCAtMzQsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAogVXNlZEhvcml6b250YWxWYWx1
ZXM6OkNvbnN0cmFpbnRzOjpDb25zdHJhaW50cyhjb25zdCBEaXNwbGF5OjpCb3gmIGNvbnRhaW5p
bmdCbG9ja0dlb21ldHJ5KQotICAgIDogd2lkdGgoY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29u
dGVudEJveFdpZHRoKCkpCisgICAgOiBjb250ZW50Qm94TGVmdChjb250YWluaW5nQmxvY2tHZW9t
ZXRyeS5jb250ZW50Qm94TGVmdCgpKQorICAgICwgd2lkdGgoY29udGFpbmluZ0Jsb2NrR2VvbWV0
cnkuY29udGVudEJveFdpZHRoKCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFVuaXRz
LmgKaW5kZXggMjkyMzdhYzg4NDVmMWExZTZjY2M0MTMyNThhNGVjYmY2OGQxZGI5MS4uMDljN2M3
YzZjOWE4Y2RiMDgzODY1MDBhNmM4MGE5OWVhMTBmNjFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0xheW91dFVuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dFVuaXRzLmgKQEAgLTE0NSwxMSArMTQ1LDEzIEBAIHN0cnVjdCBWZXJ0aWNhbEdlb21ldHJ5
IHsKIHN0cnVjdCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7CiAgICAgc3RydWN0IENvbnN0cmFpbnRz
IHsKICAgICAgICAgZXhwbGljaXQgQ29uc3RyYWludHMoY29uc3QgRGlzcGxheTo6Qm94JiBjb250
YWluaW5nQmxvY2tHZW9tZXRyeSk7Ci0gICAgICAgIGV4cGxpY2l0IENvbnN0cmFpbnRzKExheW91
dFVuaXQgaG9yaXpvbnRhbENvbnN0cmFpbnQpCi0gICAgICAgICAgICA6IHdpZHRoKGhvcml6b250
YWxDb25zdHJhaW50KQorICAgICAgICBleHBsaWNpdCBDb25zdHJhaW50cyhMYXlvdXRVbml0IGNv
bnRlbnRCb3hMZWZ0LCBMYXlvdXRVbml0IGhvcml6b250YWxDb25zdHJhaW50KQorICAgICAgICAg
ICAgOiBjb250ZW50Qm94TGVmdChjb250ZW50Qm94TGVmdCkKKyAgICAgICAgICAgICwgd2lkdGgo
aG9yaXpvbnRhbENvbnN0cmFpbnQpCiAgICAgICAgIHsKICAgICAgICAgfQogCisgICAgICAgIExh
eW91dFVuaXQgY29udGVudEJveExlZnQ7CiAgICAgICAgIExheW91dFVuaXQgd2lkdGg7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggZmFjMGZiY2NjNWZjMmIx
ZmE1MGYzZmYyNjFjYmQyMTk4ODQ1Njk4My4uZDNmZWVjNzI2ZTgzNjc5NGFiY2QyNDc4OThlNWFi
ZWJlNDE5ZTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yMjEsNyAr
MjIxLDggQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljVmVydGlj
YWxQb3NpdGlvbihjb25zdCBGbG9hdGluZ0NvbnRleHQKIAogdm9pZCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlU3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGNvbnN0IEJveCYgbGF5b3V0
Qm94KQogewotICAgIGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KS5zZXRM
ZWZ0KGdlb21ldHJ5KCkuc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGxheW91dEJveCkpOworICAg
IGF1dG8gdXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IFVzZWRI
b3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IGdlb21ldHJ5Rm9yQm94KCpsYXlvdXRCb3gu
Y29udGFpbmluZ0Jsb2NrKCkpIH0gfTsKKyAgICBmb3JtYXR0aW5nU3RhdGUoKS5kaXNwbGF5Qm94
KGxheW91dEJveCkuc2V0TGVmdChnZW9tZXRyeSgpLnN0YXRpY0hvcml6b250YWxQb3NpdGlvbihs
YXlvdXRCb3gsIHVzZWRIb3Jpem9udGFsVmFsdWVzKSk7CiB9CiAKIHZvaWQgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGNvbnN0IEZsb2F0aW5nQ29udGV4dCYg
ZmxvYXRpbmdDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKQEAgLTM1MSwxMyArMzUyLDE1
IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVBvc2l0aW9uVG9Bdm9pZEZs
b2F0cyhjb25zdCBGbG9hdGluZ0NvbnRleHQmCiB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aW9uYWw8TGF5
b3V0VW5pdD4gdXNlZEF2YWlsYWJsZVdpZHRoKQogewogICAgIExheW91dFVuaXQgYXZhaWxhYmxl
V2lkdGg7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tHZW9tZXRyeSA9IGdlb21ldHJ5Rm9yQm94
KCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpOwogICAgIGlmICh1c2VkQXZhaWxhYmxlV2lk
dGgpCiAgICAgICAgIGF2YWlsYWJsZVdpZHRoID0gKnVzZWRBdmFpbGFibGVXaWR0aDsKICAgICBl
bHNlCi0gICAgICAgIGF2YWlsYWJsZVdpZHRoID0gZ2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5j
b250YWluaW5nQmxvY2soKSkuY29udGVudEJveFdpZHRoKCk7CisgICAgICAgIGF2YWlsYWJsZVdp
ZHRoID0gY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29udGVudEJveFdpZHRoKCk7CisgICAgYXV0
byBjb25zdHJhaW50cyA9IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IGNvbnRh
aW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hMZWZ0KCksIGF2YWlsYWJsZVdpZHRoIH07CiAK
ICAgICBhdXRvIGNvbXB1dGUgPSBbJl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoKSAt
PiBXaWR0aEFuZE1hcmdpbiB7Ci0gICAgICAgIGF1dG8gdXNlZFZhbHVlcyA9IFVzZWRIb3Jpem9u
dGFsVmFsdWVzIHsgVXNlZEhvcml6b250YWxWYWx1ZXM6OkNvbnN0cmFpbnRzIHsgYXZhaWxhYmxl
V2lkdGggfSwgdXNlZFdpZHRoLCB7IH0gfTsKKyAgICAgICAgYXV0byB1c2VkVmFsdWVzID0gVXNl
ZEhvcml6b250YWxWYWx1ZXMgeyBjb25zdHJhaW50cywgdXNlZFdpZHRoLCB7IH0gfTsKICAgICAg
ICAgaWYgKGxheW91dEJveC5pc0luRmxvdygpKQogICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5
KCkuaW5GbG93V2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCB1c2VkVmFsdWVzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCAyOTRlMjZlNTgxYjQ2MDQ1OTI5YjlkOTNhMzA3MzIy
ZGE1MTcyMzBlLi41NTVmYThlNTRmOTI5ODVkMDEwMmE5M2E0YzAzNzFhNTAyODZiNzhlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNzgsOSArNzgsOSBAQCBwcml2YXRlOgogICAg
ICAgICBIZWlnaHRBbmRNYXJnaW4gaW5GbG93SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IEJveCYsIFVz
ZWRIb3Jpem9udGFsVmFsdWVzLCBVc2VkVmVydGljYWxWYWx1ZXMpOwogICAgICAgICBXaWR0aEFu
ZE1hcmdpbiBpbkZsb3dXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBVc2VkSG9yaXpvbnRhbFZh
bHVlcyk7CiAKLSAgICAgICAgUG9pbnQgc3RhdGljUG9zaXRpb24oY29uc3QgQm94JikgY29uc3Q7
CisgICAgICAgIFBvaW50IHN0YXRpY1Bvc2l0aW9uKGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFs
VmFsdWVzKSBjb25zdDsKICAgICAgICAgTGF5b3V0VW5pdCBzdGF0aWNWZXJ0aWNhbFBvc2l0aW9u
KGNvbnN0IEJveCYpIGNvbnN0OwotICAgICAgICBMYXlvdXRVbml0IHN0YXRpY0hvcml6b250YWxQ
b3NpdGlvbihjb25zdCBCb3gmKSBjb25zdDsKKyAgICAgICAgTGF5b3V0VW5pdCBzdGF0aWNIb3Jp
em9udGFsUG9zaXRpb24oY29uc3QgQm94JiwgVXNlZEhvcml6b250YWxWYWx1ZXMpIGNvbnN0Owog
CiAgICAgICAgIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgaW50cmluc2ljV2lkdGhDb25zdHJh
aW50cyhjb25zdCBCb3gmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2Vv
bWV0cnkuY3BwCmluZGV4IGU4YmY2ZjkyNzY4YTBjOTUyMGI5NzNhZDBjYTgwYTFkYzNiYzRlZTIu
LmY2MTMxNDA2ZWQ1OGRjNDYzNGZiNjhlMzRhMzAxMWNlOTI5NWQ0MGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTIzNCwxNiArMjM0LDE2IEBA
IExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnN0YXRpY1ZlcnRp
Y2FsUG9zaXRpb24oY29uc3QgQm94JiBsCiAgICAgcmV0dXJuIGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSkuY29udGVudEJveFRv
cCgpOwogfQogCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpz
dGF0aWNIb3Jpem9udGFsUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CitMYXlv
dXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzdGF0aWNIb3Jpem9udGFs
UG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHVzZWRI
b3Jpem9udGFsVmFsdWVzKSBjb25zdAogewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9D
U1MyMi92aXN1cmVuLmh0bWwjYmxvY2stZm9ybWF0dGluZwogICAgIC8vIEluIGEgYmxvY2sgZm9y
bWF0dGluZyBjb250ZXh0LCBlYWNoIGJveCdzIGxlZnQgb3V0ZXIgZWRnZSB0b3VjaGVzIHRoZSBs
ZWZ0IGVkZ2Ugb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sgKGZvciByaWdodC10by1sZWZ0IGZvcm1h
dHRpbmcsIHJpZ2h0IGVkZ2VzIHRvdWNoKS4KLSAgICByZXR1cm4gZm9ybWF0dGluZ0NvbnRleHQo
KS5nZW9tZXRyeUZvckJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS5jb250ZW50Qm94
TGVmdCgpICsgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpLm1h
cmdpblN0YXJ0KCk7CisgICAgcmV0dXJuIHVzZWRIb3Jpem9udGFsVmFsdWVzLmNvbnN0cmFpbnRz
LmNvbnRlbnRCb3hMZWZ0ICsgZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlv
dXRCb3gpLm1hcmdpblN0YXJ0KCk7CiB9CiAKLVBvaW50IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK1Bv
aW50IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbihjb25z
dCBCb3gmIGxheW91dEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgdXNlZEhvcml6b250YWxWYWx1
ZXMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHsgc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGxheW91
dEJveCksIHN0YXRpY1ZlcnRpY2FsUG9zaXRpb24obGF5b3V0Qm94KSB9OworICAgIHJldHVybiB7
IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbihsYXlvdXRCb3gsIHVzZWRIb3Jpem9udGFsVmFsdWVz
KSwgc3RhdGljVmVydGljYWxQb3NpdGlvbihsYXlvdXRCb3gpIH07CiB9CiAKIEhlaWdodEFuZE1h
cmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93SGVpZ2h0QW5kTWFy
Z2luKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB1c2VkSG9yaXpv
bnRhbFZhbHVlcywgVXNlZFZlcnRpY2FsVmFsdWVzIHVzZWRWZXJ0aWNhbFZhbHVlcykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA3YzFjZTA5Y2Q1M2I4OTQwNjljMjc0
MWM5MDRhMTM1ZTRhODYyY2U3Li41NDk3NGZhNzVkMmQyOWU4NTdlYTZjNGNlMjNhMjkwMjBlOWFk
OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMDYsNyArMTA2
LDcgQEAgRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkSW4KICAgICB9CiAKICAgICBWZWN0b3I8Y29uc3Qg
Qm94Kj4gZm9ybWF0dGluZ0NvbnRleHRSb290TGlzdDsKLSAgICBhdXRvIHVzZWRWYWx1ZXMgPSBV
c2VkSG9yaXpvbnRhbFZhbHVlcyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7
IExheW91dFVuaXQgeyB9IH0gfTsKKyAgICBhdXRvIHVzZWRWYWx1ZXMgPSBVc2VkSG9yaXpvbnRh
bFZhbHVlcyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IHsgfSwgeyB9IH0g
fTsKICAgICBhdXRvKiBsYXlvdXRCb3ggPSByb290KCkuZmlyc3RJbkZsb3dPckZsb2F0aW5nQ2hp
bGQoKTsKICAgICB3aGlsZSAobGF5b3V0Qm94KSB7CiAgICAgICAgIGlmIChsYXlvdXRCb3gtPmVz
dGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSkgewpAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVJbnRyaW5zaWNXaWR0aEZvckZvcm1hdHRp
bmdSb290KGNvbnN0IEJveCYKIHsKICAgICBBU1NFUlQoZm9ybWF0dGluZ1Jvb3QuZXN0YWJsaXNo
ZXNGb3JtYXR0aW5nQ29udGV4dCgpKTsKIAotICAgIGF1dG8gdXNlZFZhbHVlcyA9IFVzZWRIb3Jp
em9udGFsVmFsdWVzIHsgVXNlZEhvcml6b250YWxWYWx1ZXM6OkNvbnN0cmFpbnRzIHsgTGF5b3V0
VW5pdCB7IH0gfSB9OworICAgIGF1dG8gdXNlZFZhbHVlcyA9IFVzZWRIb3Jpem9udGFsVmFsdWVz
IHsgVXNlZEhvcml6b250YWxWYWx1ZXM6OkNvbnN0cmFpbnRzIHsgeyB9LCB7IH0gfSB9OwogICAg
IGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKGZvcm1hdHRpbmdSb290LCB1c2VkVmFsdWVzKTsKICAg
ICBjb21wdXRlSG9yaXpvbnRhbE1hcmdpbihmb3JtYXR0aW5nUm9vdCwgdXNlZFZhbHVlcyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVG
b3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0
aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGQ5MTM4MTY2YmZiMDYyNjAwNzI4
MGU0ZmU1MTRhMWVlOGUyZjk5Y2QuLjJmYWVmOTJmNjM3MzU4NzBiNjJhYTc1OTg4ZWE4ZGNiNjRl
ZDhmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcv
VGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3Rh
YmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTk5LDcgKzE5OSw3
IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVByZWZlcnJlZFdpZHRoRm9y
Q29sdW1ucygpCiAgICAgICAgICAgICAgICAgaW50cmluc2ljV2lkdGggPSBsYXlvdXRTdGF0ZSgp
LmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGRvd25jYXN0PENvbnRhaW5lcj4odGFibGVDZWxsQm94
KSktPmNvbXB1dGVkSW50cmluc2ljV2lkdGhDb25zdHJhaW50cygpOwogICAgICAgICAgICAgaW50
cmluc2ljV2lkdGggPSBnZW9tZXRyeSgpLmNvbnN0cmFpbkJ5TWluTWF4V2lkdGgodGFibGVDZWxs
Qm94LCAqaW50cmluc2ljV2lkdGgpOwogICAgICAgICAgICAgYXV0byBib3JkZXIgPSBnZW9tZXRy
eSgpLmNvbXB1dGVkQm9yZGVyKHRhYmxlQ2VsbEJveCk7Ci0gICAgICAgICAgICBhdXRvIHBhZGRp
bmcgPSAqZ2VvbWV0cnkoKS5jb21wdXRlZFBhZGRpbmcodGFibGVDZWxsQm94LCBVc2VkSG9yaXpv
bnRhbFZhbHVlcyB7IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IExheW91dFVu
aXQgeyB9IH0gfSk7CisgICAgICAgICAgICBhdXRvIHBhZGRpbmcgPSAqZ2VvbWV0cnkoKS5jb21w
dXRlZFBhZGRpbmcodGFibGVDZWxsQm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IFVzZWRIb3Jp
em9udGFsVmFsdWVzOjpDb25zdHJhaW50cyB7IHsgfSwgeyB9IH0gfSk7CiAKICAgICAgICAgICAg
IGludHJpbnNpY1dpZHRoLT5leHBhbmQoYm9yZGVyLmhvcml6b250YWwud2lkdGgoKSArIHBhZGRp
bmcuaG9yaXpvbnRhbC53aWR0aCgpKTsKICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5zZXRJ
bnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzRm9yQm94KHRhYmxlQ2VsbEJveCwgKmludHJpbnNpY1dp
ZHRoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>