<?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>207805</bug_id>
          
          <creation_ts>2020-02-14 21:05:48 -0800</creation_ts>
          <short_desc>[LFC] Introduce OutOfFlowHorizontalConstraints</short_desc>
          <delta_ts>2020-02-15 07:17: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>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>1619356</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-14 21:05:48 -0800</bug_when>
    <thetext>Borders and paddings are resolved against the containing block&apos;s content box as if the box was an in-flow box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619357</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-14 21:06:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/59482286&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619358</commentid>
    <comment_count>2</comment_count>
      <attachid>390853</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-14 21:13:54 -0800</bug_when>
    <thetext>Created attachment 390853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619405</commentid>
    <comment_count>3</comment_count>
      <attachid>390863</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-15 05:02:39 -0800</bug_when>
    <thetext>Created attachment 390863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619413</commentid>
    <comment_count>4</comment_count>
      <attachid>390866</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-15 06:30:58 -0800</bug_when>
    <thetext>Created attachment 390866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619415</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-15 07:17:42 -0800</bug_when>
    <thetext>Committed r256702: &lt;https://trac.webkit.org/changeset/256702&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390853</attachid>
            <date>2020-02-14 21:13:54 -0800</date>
            <delta_ts>2020-02-15 05:02:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207805-20200214211353.patch</filename>
            <type>text/plain</type>
            <size>20181</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTMwYTZmYWIyMWY1Yjc3
YTkxOWZiODJhZmI1ZTBmNzA5ZmM5ZDQyOC4uYzZmMmY5MzhjOTA4ODMyMDdjNTQzNWI1OTQ4ZWVi
ZDFjZDdkYTQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW50cm9kdWNlIE91
dE9mRmxvd0hvcml6b250YWxDb25zdHJhaW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3ODA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQ4
MjI4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBC
b3JkZXJzIGFuZCBwYWRkaW5ncyBhcmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgY29udGFpbmluZyBi
bG9jaydzIGNvbnRlbnQgYm94IGFzIGlmIHRoZSBib3ggd2FzIGFuIGluLWZsb3cgYm94LgorCisg
ICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0NvbnRlbnQpOgorICAg
ICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3cpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGF5b3V0Q29udGV4dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRTdWJ0cmVl
KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0VW5pdHMuaDoKKyAgICAgICAgKiBsYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KToK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsYXlvdXRJbkZsb3dDb250ZW50KToKKwogMjAyMC0wMi0xNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQW5vbnltb3VzIGlubGluZSBib3hl
cy9saW5lIGJyZWFrIGJveGVzIGRvIG5vdCBnZW5lcmF0ZSBEaXNwbGF5OjpCb3hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMTEyOGVhMWFkODg3
N2ZlNWVhY2U5YjNjMWEzODZmMTY5OThmOGFiYi4uOTIxMTRjMWI2MzIzMmM4ZDE4MDNjOTllMjQ0
Mjg0YTM1M2QyMWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0xMzIsMTMgKzEzMiwxMyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlQm9yZGVyQW5kUGFkZGluZyhjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaQogICAg
IGRpc3BsYXlCb3guc2V0UGFkZGluZyhnZW9tZXRyeSgpLmNvbXB1dGVkUGFkZGluZyhsYXlvdXRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50KSk7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0
YXRlLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIHJvb3RIb3Jpem9udGFsQ29uc3RyYWlu
dHMsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmIHJvb3RWZXJ0aWNhbENvbnN0cmFpbnRzKQor
dm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRp
b25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IE91dE9mRmxvd0hvcml6b250YWxDb25z
dHJhaW50cyYgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgVmVydGljYWxDb25zdHJh
aW50cyYgcm9vdFZlcnRpY2FsQ29uc3RyYWludHMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZv
cm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIlN0YXJ0OiBsYXlvdXQgb3V0LW9mLWZs
b3cgY29udGVudCAtPiBjb250ZXh0OiAiIDw8ICZsYXlvdXRTdGF0ZSgpIDw8ICIgcm9vdDogIiA8
PCAmcm9vdCgpKTsKIAogICAgIGNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKCk7
CiAKLSAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCA9IFsmXSAo
Y29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CisgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWlu
dHNGb3JMYXlvdXRCb3ggPSBbJl0gKGNvbnN0IGF1dG8mIG91dE9mRmxvd0JveCkgewogICAgICAg
ICBhdXRvKiBjb250YWluaW5nQmxvY2sgPSBvdXRPZkZsb3dCb3guY29udGFpbmluZ0Jsb2NrKCk7
CiAgICAgICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwogICAgICAgICBpZiAoY29udGFpbmlu
Z0Jsb2NrID09ICZyb290KCkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0
aW9uU3QKICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JP
dXRPZkZsb3coZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9jaykpOwogICAgIH07CiAKLSAg
ICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dCb3ggPSBbJl0gKGNvbnN0IGF1
dG8mIG91dE9mRmxvd0JveCkgeworICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0ZvckxheW91
dEJveCA9IFsmXSAoY29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CiAgICAgICAgIGF1dG8qIGNv
bnRhaW5pbmdCbG9jayA9IG91dE9mRmxvd0JveC5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAg
QVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CiAgICAgICAgIGlmIChjb250YWluaW5nQmxvY2sgPT0g
JnJvb3QoKSkKQEAgLTE1OSwyMyArMTU5LDMwIEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0CiAg
ICAgICAgIGlmICghaW52YWxpZGF0aW9uU3RhdGUubmVlZHNMYXlvdXQoKm91dE9mRmxvd0JveCkp
CiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJh
aW50cyA9IGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzID0gdmVydGljYWxDb25zdHJhaW50
c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94KTsKLSAgICAgICAgLy8gQm9yZGVycyBhbmQg
cGFkZGluZ3MgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb250
ZW50IGJveCBsaWtlIGlmIHRoaXMgYm94IHdhcyBhbiBpbi1mbG93IGJveC4KLSAgICAgICAgYXV0
byYgb3V0T2ZGbG93Um9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoKm91dE9mRmxvd0JveCwgR2VvbWV0
cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJv
eCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KCpvdXRPZkZs
b3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7Ci0gICAgICAgIGlmICghaXM8Q29udGFpbmVy
Qm94Pigqb3V0T2ZGbG93Qm94KSB8fCAhZG93bmNhc3Q8Q29udGFpbmVyQm94Pigqb3V0T2ZGbG93
Qm94KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93VmVydGljYWxH
ZW9tZXRyeSgqb3V0T2ZGbG93Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZlcnRpY2FsQ29u
c3RyYWludHMpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0
byBvdXRPZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgPSBob3Jpem9udGFsQ29uc3RyYWludHNG
b3JMYXlvdXRCb3goKm91dE9mRmxvd0JveCk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0
cmFpbnRzRm9yQm9yZGVyQW5kUGFkZGluZyA9IEhvcml6b250YWxDb25zdHJhaW50cyB7IG91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cy52YWx1ZS5sb2dpY2FsTGVmdCwgb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLmJvcmRlckFuZFBhZGRpbmdTcGVjaWZpY1dpZHRoIH07CisgICAg
ICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckJvcmRlckFuZFBhZGRpbmcpOwogCi0gICAgICAgIGF1dG8mIG91dE9mRmxvd1Jv
b3RDb250YWluZXIgPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpOwotICAg
ICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0
dGluZ0NvbnRleHQob3V0T2ZGbG93Um9vdENvbnRhaW5lciwgbGF5b3V0U3RhdGUoKSk7Ci0gICAg
ICAgIGlmIChvdXRPZkZsb3dSb290Q29udGFpbmVyLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgp
KQotICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52
YWxpZGF0aW9uU3RhdGUsIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZsb3co
b3V0T2ZGbG93Um9vdERpc3BsYXlCb3gpLCBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zv
ckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZG
bG93VmVydGljYWxHZW9tZXRyeShvdXRPZkZsb3dSb290Q29udGFpbmVyLCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgICAgICBmb3JtYXR0aW5nQ29udGV4
dC0+bGF5b3V0T3V0T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgR2VvbWV0cnk6Omhv
cml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCksIEdl
b21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93KG91dE9mRmxvd1Jvb3REaXNwbGF5
Qm94KSk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLnZhbHVlOworICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpv
bnRhbEdlb21ldHJ5KCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAg
ICAgIGlmIChpczxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpKSB7CisgICAgICAgICAgICBh
dXRvJiBjb250YWluZXJCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gp
OworICAgICAgICAgICAgYXV0byYgY29udGFpbmVyRGlzcGxheUJveCA9IGdlb21ldHJ5Rm9yQm94
KGNvbnRhaW5lckJveCk7CisKKyAgICAgICAgICAgIGF1dG8gZm9ybWF0dGluZ0NvbnRleHQgPSBM
YXlvdXRDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChjb250YWluZXJCb3gsIGxheW91
dFN0YXRlKCkpOworICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC5oYXNJbkZsb3dPckZsb2F0
aW5nQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRz
Rm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZs
b3coY29udGFpbmVyRGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENv
bnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRz
Rm9ySW5GbG93KGNvbnRhaW5lckRpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdDb250ZXh0LT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9u
dGFsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5G
bG93Q29udGVudCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93
VmVydGljYWxHZW9tZXRyeShjb250YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVy
dGljYWxDb25zdHJhaW50c0ZvckxheW91dEJveChjb250YWluZXJCb3gpKTsKKyAgICAgICAgICAg
IGlmIChjb250YWluZXJCb3guaGFzQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93Q29udGVudCA9ICBHZW9tZXRyeTo6aG9yaXpv
bnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KGNvbnRhaW5lckRpc3BsYXlCb3gpOworICAgICAg
ICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQgPSBH
ZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb250YWluZXJEaXNwbGF5
Qm94KTsKKyAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0T3V0T2ZGbG93
Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZG
bG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQpOworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGNvbXB1dGVPdXRPZkZsb3dW
ZXJ0aWNhbEdlb21ldHJ5KCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVy
dGljYWxDb25zdHJhaW50c0ZvckxheW91dEJveCgqb3V0T2ZGbG93Qm94KSk7CiAgICAgfQogICAg
IExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJFbmQ6
IGxheW91dCBvdXQtb2YtZmxvdyBjb250ZW50IC0+IGNvbnRleHQ6ICIgPDwgJmxheW91dFN0YXRl
KCkgPDwgIiByb290OiAiIDw8ICZyb290KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuaAppbmRleCA4MjU5ZjQ5OWZlYWM5ZjU1ZmMyNTYyM2ViYzg0NzZmOWE4
ZDYwY2FlLi5jM2Y0NDc3YjFiZmI1N2M1N2Y2M2FiY2JhM2JiZjhmNzY5ZWQ0YzAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB+Rm9ybWF0dGluZ0NvbnRleHQoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiwgY29uc3QgSG9yaXpv
bnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpID0gMDsKLSAgICB2
b2lkIGxheW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmLCBjb25zdCBIb3Jp
em9udGFsQ29uc3RyYWludHMmLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRzJik7CisgICAgdm9p
ZCBsYXlvdXRPdXRPZkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiwgY29uc3QgT3V0T2ZG
bG93SG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpOwog
CiAgICAgc3RydWN0IEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgewogICAgICAgICB2b2lkIGV4
cGFuZChMYXlvdXRVbml0IGhvcml6b250YWxWYWx1ZSk7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJv
dGVjdGVkOgogCiAgICAgICAgIExheW91dFVuaXQgY29udGVudEhlaWdodEZvckZvcm1hdHRpbmdD
b250ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKIAotICAgICAgICBzdGF0aWMgSG9yaXpvbnRh
bENvbnN0cmFpbnRzIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb25zdCBEaXNw
bGF5OjpCb3gmIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KTsKKyAgICAgICAgc3RhdGljIE91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cyBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSk7CiAgICAgICAg
IHN0YXRpYyBWZXJ0aWNhbENvbnN0cmFpbnRzIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSk7CiAgICAgICAg
IHN0YXRpYyBIb3Jpem9udGFsQ29uc3RyYWludHMgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9ySW5G
bG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwogICAgICAg
ICBzdGF0aWMgVmVydGljYWxDb25zdHJhaW50cyB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93
KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4
IDY4YTJjY2NmM2EzMjg4ODE3YzI1MzU0MGJmMmVjZDEyOTQzYTZhMTEuLjkxZDgzNmM0NDI2Y2Ew
NWFlNjY2NTc5MjJhZjJiYWQ3ZDM2YjQ0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTExMDEsOSArMTEwMSwxMSBA
QCBGb3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmNvbnN0cgogICAgIHJldHVybiBpbnRyaW5zaWNXaWR0aDsKIH0K
IAotSG9yaXpvbnRhbENvbnN0cmFpbnRzIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFp
bmluZ0Jsb2NrR2VvbWV0cnkpCitPdXRPZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3co
Y29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSkKIHsKLSAgICByZXR1
cm4gSG9yaXpvbnRhbENvbnN0cmFpbnRzIHsgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGlu
Z0JveExlZnQoKSwgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveFdpZHRoKCkgfTsK
KyAgICByZXR1cm4gT3V0T2ZGbG93SG9yaXpvbnRhbENvbnN0cmFpbnRzIHsKKyAgICAgICAgSG9y
aXpvbnRhbENvbnN0cmFpbnRzIHsgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveExl
ZnQoKSwgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveFdpZHRoKCkgfSwKKyAgICAg
ICAgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29udGVudEJveFdpZHRoKCkgfTsKIH0KIAogVmVy
dGljYWxDb25zdHJhaW50cyBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnZlcnRpY2FsQ29u
c3RyYWludHNGb3JPdXRPZkZsb3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tH
ZW9tZXRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCA2M2Jh
OTNiYjZkMzc5YmVhNWMxZWRiZTcyYzdhZDQwMDE0ODBjMzM4Li5hNjA0OTMwYzNmY2I1NDM0YzZk
ZTM1MmMwNDU2MWJmZTQ5YmJlMzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRl
eHQuY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBMYXlvdXRDb250ZXh0OjpsYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dFN1YnRyZWUoY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW4KICAgICAv
LyBJdCBjb25zdHJ1Y3RzIGFuIEZDIGZvciBkZXNjZW5kYW50IGJveGVzIGFuZCBydW5zIGxheW91
dCBvbiB0aGVtLiBUaGUgZm9ybWF0dGluZ0NvbnRleHRSb290IGlzIGxhaWQgb3V0IGluIHRoZSBG
QyBpbiB3aGljaCBpdCBsaXZlcyAocGFyZW50IGZvcm1hdHRpbmcgY29udGV4dCkuCiAgICAgLy8g
SXQgYWxzbyBtZWFucyB0aGF0IHRoZSBmb3JtYXR0aW5nQ29udGV4dFJvb3QgaGFzIHRvIGhhdmUg
YSB2YWxpZC9jbGVhbiBnZW9tZXRyeSBhdCB0aGlzIHBvaW50LgogICAgIHsKLSAgICAgICAgYXV0
byBob3Jpem9udGFsQ29uc3RyYWludHMgPSBIb3Jpem9udGFsQ29uc3RyYWludHMgeyBkaXNwbGF5
Qm94LnBhZGRpbmdCb3hMZWZ0KCksIGRpc3BsYXlCb3gucGFkZGluZ0JveFdpZHRoKCkgfTsKKyAg
ICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHMgPSBPdXRPZkZsb3dIb3Jpem9udGFsQ29u
c3RyYWludHMgeyBIb3Jpem9udGFsQ29uc3RyYWludHMgeyBkaXNwbGF5Qm94LnBhZGRpbmdCb3hM
ZWZ0KCksIGRpc3BsYXlCb3gucGFkZGluZ0JveFdpZHRoKCkgfSwgZGlzcGxheUJveC5jb250ZW50
Qm94V2lkdGgoKSB9OwogICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHMgPSBWZXJ0aWNh
bENvbnN0cmFpbnRzIHsgZGlzcGxheUJveC5wYWRkaW5nQm94VG9wKCksIGRpc3BsYXlCb3gucGFk
ZGluZ0JveEhlaWdodCgpIH07CiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXRPdXRP
ZkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZl
cnRpY2FsQ29uc3RyYWludHMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9MYXlvdXRVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFVuaXRzLmgK
aW5kZXggNGU2NzkxMmFlZTlkNjViYWRmNThkODJmMDhhMTA5MDZiOGU5YTg0NC4uYmJkMjcwMjY4
ODcwNDcxZmNhZDk3ZjIwMWI3NjBiYjQzNDgwYjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFVuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91
dFVuaXRzLmgKQEAgLTE1Nyw2ICsxNTcsMTIgQEAgc3RydWN0IEhvcml6b250YWxDb25zdHJhaW50
cyB7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGg7CiB9OwogCitzdHJ1Y3QgT3V0T2ZGbG93
SG9yaXpvbnRhbENvbnN0cmFpbnRzIHsKKyAgICBIb3Jpem9udGFsQ29uc3RyYWludHMgdmFsdWU7
CisgICAgLy8gQm9yZGVycyBhbmQgcGFkZGluZ3MgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGNv
bnRhaW5pbmcgYmxvY2sncyBjb250ZW50IGJveCBhcyBpZiB0aGUgYm94IHdhcyBhbiBpbi1mbG93
IGJveC4KKyAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdTcGVjaWZpY1dpZHRoOworfTsK
Kwogc3RydWN0IFZlcnRpY2FsQ29uc3RyYWludHMgewogICAgIExheW91dFVuaXQgbG9naWNhbFRv
cDsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBsb2dpY2FsSGVpZ2h0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggNGM1NjQ0ZGVmMmFjOGQwNjc1ZGYzZTYyM2VjMGMyM2U5
ODRkMGM0NS4uOGJiN2I2Mzk1ZDE3Y2IwYzY3OTMzYmQyMjI4MDhiMjY3MTgwZGIwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMjYsMTIgKzEyNiwxMyBAQCB2b2lkIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3Rh
dGUmIGludmFsaWRhdGlvbgogCiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlzaGVz
Rm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAgICAgIGlmIChpczxDb250YWluZXJC
b3g+KGxheW91dEJveCkgJiYgZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLmhhc0lu
Rmxvd09yRmxvYXRpbmdDaGlsZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRh
aW5lckJveCA9IGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KTsKICAgICAgICAgICAg
ICAgICAgICAgLy8gTGF5b3V0IHRoZSBpbmZsb3cgZGVzY2VuZGFudHMgb2YgdGhpcyBmb3JtYXR0
aW5nIGNvbnRleHQgcm9vdC4KLSAgICAgICAgICAgICAgICAgICAgcHJlY29tcHV0ZVZlcnRpY2Fs
UG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChmbG9hdGluZ0NvbnRleHQsIGxheW91dEJveCwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKTsKLSAgICAgICAgICAgICAg
ICAgICAgYXV0byYgcm9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwot
ICAgICAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0ZvckZvcm1hdHRp
bmdDb250ZXh0ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhyb290
RGlzcGxheUJveCk7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50
c0ZvckZvcm1hdHRpbmdDb250ZXh0ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3RyYWludHNGb3JJ
bkZsb3cocm9vdERpc3BsYXlCb3gpOwotICAgICAgICAgICAgICAgICAgICBMYXlvdXRDb250ZXh0
OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJv
eCksIGxheW91dFN0YXRlKCkpLT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRl
LCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JGb3JtYXR0aW5nQ29udGV4dCwgdmVydGljYWxDb25z
dHJhaW50c0ZvckZvcm1hdHRpbmdDb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgcHJlY29t
cHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChmbG9hdGluZ0NvbnRleHQsIGNv
bnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byYgcm9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJv
eChjb250YWluZXJCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRz
Rm9ySW5GbG93KHJvb3REaXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byB2ZXJ0
aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0
cmFpbnRzRm9ySW5GbG93KHJvb3REaXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgTGF5
b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRT
dGF0ZSgpKS0+bGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0ZvckluRmxv
d0NvbnRlbnQpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE1MSwxMCArMTUyLDExIEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0SW5GbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9u
CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQo
KSkgewogICAgICAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGNvbXB1dGVkIHRoZSByb290J3Mg
aGVpZ2h0LCB3ZSBjYW4gbGF5b3V0IHRoZSBvdXQtb2YtZmxvdyBkZXNjZW5kYW50cy4KICAgICAg
ICAgICAgICAgICBpZiAoaXM8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpICYmIGRvd25jYXN0PENv
bnRhaW5lckJveD4obGF5b3V0Qm94KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAg
ICAgICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cgPSAg
R2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlzcGxheUJv
eCk7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9m
RmxvdyA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNw
bGF5Qm94KTsKLSAgICAgICAgICAgICAgICAgICAgTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0
dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLCBsYXlvdXRTdGF0
ZSgpKS0+bGF5b3V0T3V0T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8Q29u
dGFpbmVyQm94PihsYXlvdXRCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvJiByb290RGlz
cGxheUJveCA9IGdlb21ldHJ5Rm9yQm94KGNvbnRhaW5lckJveCk7CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93Q29udGVudCA9ICBHZW9t
ZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNwbGF5Qm94KTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3RE
aXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9y
bWF0dGluZ0NvbnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRTdGF0ZSgpKS0+bGF5b3V0T3V0T2ZG
bG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0
T2ZGbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQpOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8vIFJlc29sdmUg
ZmluYWwgcG9zaXRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4
IGZjZDNiM2JjYWI1ZDBiM2E5NjAzNzcxYzkzZjdlOWY4NzJmZDc4YjkuLmRlM2ZmNzExYjY2NDI2
MTVjZjAyZWQzMTU1ZWEyNmFkYzViMTRkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHAKQEAgLTg5LDIxICs4OSwzMSBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpbwogCiAg
ICAgICAgIGlmIChsYXlvdXRCb3gtPmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgewogICAgICAg
ICAgICAgLy8gSW5saW5lLWJsb2NrcywgaW5saW5lLXRhYmxlcyBhbmQgcmVwbGFjZWQgZWxlbWVu
dHMgKGltZywgdmlkZW8pIGNhbiBiZSBzaXplZCBidXQgbm90IHlldCBwb3NpdGlvbmVkLgotICAg
ICAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoKmxheW91dEJveCwgaG9yaXpvbnRhbENv
bnN0cmFpbnRzKTsKLSAgICAgICAgICAgIGNvbXB1dGVXaWR0aEFuZE1hcmdpbigqbGF5b3V0Qm94
LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwotICAgICAgICAgICAgYXV0byBjcmVhdGVzRm9ybWF0
dGluZ0NvbnRleHQgPSBsYXlvdXRCb3gtPmlzSW5saW5lQmxvY2tCb3goKSB8fCBsYXlvdXRCb3gt
PmlzSW5saW5lVGFibGVCb3goKTsKLSAgICAgICAgICAgIGF1dG8gaGFzSW5GbG93T3JGbG9hdGlu
Z0NoaWxkID0gaXM8Q29udGFpbmVyQm94PigqbGF5b3V0Qm94KSAmJiBkb3duY2FzdDxDb250YWlu
ZXJCb3g+KCpsYXlvdXRCb3gpLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgpOwotICAgICAgICAg
ICAgaWYgKGNyZWF0ZXNGb3JtYXR0aW5nQ29udGV4dCAmJiBoYXNJbkZsb3dPckZsb2F0aW5nQ2hp
bGQpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29u
dGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PigqbGF5
b3V0Qm94KSwgbGF5b3V0U3RhdGUoKSk7Ci0gICAgICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRl
eHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250YWxDb25z
dHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjb21wdXRlSGVpZ2h0QW5kTWFyZ2luKCpsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50
cyk7Ci0gICAgICAgICAgICBpZiAoY3JlYXRlc0Zvcm1hdHRpbmdDb250ZXh0ICYmIGlzPENvbnRh
aW5lckJveD4oKmxheW91dEJveCkgJiYgZG93bmNhc3Q8Q29udGFpbmVyQm94PigqbGF5b3V0Qm94
KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGdlb21l
dHJ5Rm9yQm94KCpsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENv
bnN0cmFpbnRzRm9yT3V0T2ZGbG93ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zv
ck91dE9mRmxvdyhkaXNwbGF5Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29u
c3RyYWludHNGb3JPdXRPZkZsb3cgPSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91
dE9mRmxvdyhkaXNwbGF5Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250
ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29u
dGFpbmVyQm94PigqbGF5b3V0Qm94KSwgbGF5b3V0U3RhdGUoKSk7Ci0gICAgICAgICAgICAgICAg
Zm9ybWF0dGluZ0NvbnRleHQtPmxheW91dE91dE9mRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3Rh
dGUsIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdywgdmVydGljYWxDb25zdHJhaW50
c0Zvck91dE9mRmxvdyk7CisgICAgICAgICAgICBpZiAobGF5b3V0Qm94LT5lc3RhYmxpc2hlc0Zv
cm1hdHRpbmdDb250ZXh0KCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaXM8Q29udGFpbmVy
Qm94PigoKmxheW91dEJveCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRCb3gtPmlz
SW5saW5lQmxvY2tCb3goKSB8fCBsYXlvdXRCb3gtPmlzSW5saW5lVGFibGVCb3goKSk7CisgICAg
ICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8Q29udGFpbmVyQm94Pigq
bGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICBjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhjb250
YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY29tcHV0
ZVdpZHRoQW5kTWFyZ2luKGNvbnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKKwor
ICAgICAgICAgICAgICAgIGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JCb3goY29u
dGFpbmVyQm94KTsKKyAgICAgICAgICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5
b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRT
dGF0ZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyQm94Lmhhc0luRmxvd09yRmxv
YXRpbmdDaGlsZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0
cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNG
b3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvIHZlcnRp
Y2FsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3Ry
YWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgICAgICBmb3Jt
YXR0aW5nQ29udGV4dC0+bGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zv
ckluRmxvd0NvbnRlbnQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb21w
dXRlSGVpZ2h0QW5kTWFyZ2luKGNvbnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsK
KyAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyQm94Lmhhc0NoaWxkKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cgPSBHZW9t
ZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNwbGF5Qm94KTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cocm9vdERpc3BsYXlC
b3gpOworICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0T3V0T2ZG
bG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0
T2ZGbG93LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGFu
ZCBvdGhlciB0eXBlIG9mIGxlYWYgYXRvbWljIGlubGluZSBib3hlcy4KKyAgICAgICAgICAgICAg
ICBjb21wdXRlQm9yZGVyQW5kUGFkZGluZygqbGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHMpOworICAgICAgICAgICAgICAgIGNvbXB1dGVXaWR0aEFuZE1hcmdpbigqbGF5b3V0Qm94LCBo
b3Jpem9udGFsQ29uc3RyYWludHMpOworICAgICAgICAgICAgICAgIGNvbXB1dGVIZWlnaHRBbmRN
YXJnaW4oKmxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIGlmIChsYXlvdXRCb3gtPmlzSW5saW5lQm94KCkpIHsKICAgICAgICAg
ICAgIC8vIFRleHQgd3JhcHBlciBib3hlcyAoYW5vbnltb3VzIGlubGluZSBsZXZlbCBib3hlcykg
YW5kIDxicj5zIGRvbid0IGdlbmVyYXRlIGRpc3BsYXkgYm94ZXMgKG9ubHkgZGlzcGxheSBydW5z
KS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390863</attachid>
            <date>2020-02-15 05:02:39 -0800</date>
            <delta_ts>2020-02-15 06:30:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207805-20200215050239.patch</filename>
            <type>text/plain</type>
            <size>20180</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRkOGIzY2U2ZTBmYmRl
N2MyODI3ODY0NmQ2ZDExYTRjZWVmNDc2Ny4uNjk4MzI3YjY1YTA0YjFhOGM5ZGNhYTVhYWRlZjgy
OGI0NDgxNTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW50cm9kdWNlIE91
dE9mRmxvd0hvcml6b250YWxDb25zdHJhaW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3ODA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQ4
MjI4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBC
b3JkZXJzIGFuZCBwYWRkaW5ncyBhcmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgY29udGFpbmluZyBi
bG9jaydzIGNvbnRlbnQgYm94IGFzIGlmIHRoZSBib3ggd2FzIGFuIGluLWZsb3cgYm94LgorCisg
ICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0NvbnRlbnQpOgorICAg
ICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3cpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGF5b3V0Q29udGV4dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRTdWJ0cmVl
KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0VW5pdHMuaDoKKyAgICAgICAgKiBsYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KToK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsYXlvdXRJbkZsb3dDb250ZW50KToKKwogMjAyMC0wMi0xNSAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQW5vbnltb3VzIGlubGluZSBib3hl
cy9saW5lIGJyZWFrIGJveGVzIGRvIG5vdCBnZW5lcmF0ZSBEaXNwbGF5OjpCb3hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMTEyOGVhMWFkODg3
N2ZlNWVhY2U5YjNjMWEzODZmMTY5OThmOGFiYi4uOTIxMTRjMWI2MzIzMmM4ZDE4MDNjOTllMjQ0
Mjg0YTM1M2QyMWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0xMzIsMTMgKzEzMiwxMyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlQm9yZGVyQW5kUGFkZGluZyhjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaQogICAg
IGRpc3BsYXlCb3guc2V0UGFkZGluZyhnZW9tZXRyeSgpLmNvbXB1dGVkUGFkZGluZyhsYXlvdXRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50KSk7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0
YXRlLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIHJvb3RIb3Jpem9udGFsQ29uc3RyYWlu
dHMsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmIHJvb3RWZXJ0aWNhbENvbnN0cmFpbnRzKQor
dm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRp
b25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IE91dE9mRmxvd0hvcml6b250YWxDb25z
dHJhaW50cyYgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgVmVydGljYWxDb25zdHJh
aW50cyYgcm9vdFZlcnRpY2FsQ29uc3RyYWludHMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZv
cm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIlN0YXJ0OiBsYXlvdXQgb3V0LW9mLWZs
b3cgY29udGVudCAtPiBjb250ZXh0OiAiIDw8ICZsYXlvdXRTdGF0ZSgpIDw8ICIgcm9vdDogIiA8
PCAmcm9vdCgpKTsKIAogICAgIGNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKCk7
CiAKLSAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCA9IFsmXSAo
Y29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CisgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWlu
dHNGb3JMYXlvdXRCb3ggPSBbJl0gKGNvbnN0IGF1dG8mIG91dE9mRmxvd0JveCkgewogICAgICAg
ICBhdXRvKiBjb250YWluaW5nQmxvY2sgPSBvdXRPZkZsb3dCb3guY29udGFpbmluZ0Jsb2NrKCk7
CiAgICAgICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwogICAgICAgICBpZiAoY29udGFpbmlu
Z0Jsb2NrID09ICZyb290KCkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0
aW9uU3QKICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JP
dXRPZkZsb3coZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9jaykpOwogICAgIH07CiAKLSAg
ICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dCb3ggPSBbJl0gKGNvbnN0IGF1
dG8mIG91dE9mRmxvd0JveCkgeworICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0ZvckxheW91
dEJveCA9IFsmXSAoY29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CiAgICAgICAgIGF1dG8qIGNv
bnRhaW5pbmdCbG9jayA9IG91dE9mRmxvd0JveC5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAg
QVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CiAgICAgICAgIGlmIChjb250YWluaW5nQmxvY2sgPT0g
JnJvb3QoKSkKQEAgLTE1OSwyMyArMTU5LDMwIEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0CiAg
ICAgICAgIGlmICghaW52YWxpZGF0aW9uU3RhdGUubmVlZHNMYXlvdXQoKm91dE9mRmxvd0JveCkp
CiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJh
aW50cyA9IGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzID0gdmVydGljYWxDb25zdHJhaW50
c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94KTsKLSAgICAgICAgLy8gQm9yZGVycyBhbmQg
cGFkZGluZ3MgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb250
ZW50IGJveCBsaWtlIGlmIHRoaXMgYm94IHdhcyBhbiBpbi1mbG93IGJveC4KLSAgICAgICAgYXV0
byYgb3V0T2ZGbG93Um9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoKm91dE9mRmxvd0JveCwgR2VvbWV0
cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJv
eCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KCpvdXRPZkZs
b3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7Ci0gICAgICAgIGlmICghaXM8Q29udGFpbmVy
Qm94Pigqb3V0T2ZGbG93Qm94KSB8fCAhZG93bmNhc3Q8Q29udGFpbmVyQm94Pigqb3V0T2ZGbG93
Qm94KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93VmVydGljYWxH
ZW9tZXRyeSgqb3V0T2ZGbG93Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZlcnRpY2FsQ29u
c3RyYWludHMpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0
byBvdXRPZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgPSBob3Jpem9udGFsQ29uc3RyYWludHNG
b3JMYXlvdXRCb3goKm91dE9mRmxvd0JveCk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0
cmFpbnRzRm9yQm9yZGVyQW5kUGFkZGluZyA9IEhvcml6b250YWxDb25zdHJhaW50cyB7IG91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cy52YWx1ZS5sb2dpY2FsTGVmdCwgb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLmJvcmRlckFuZFBhZGRpbmdTcGVjaWZpY1dpZHRoIH07CisgICAg
ICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckJvcmRlckFuZFBhZGRpbmcpOwogCi0gICAgICAgIGF1dG8mIG91dE9mRmxvd1Jv
b3RDb250YWluZXIgPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpOwotICAg
ICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0
dGluZ0NvbnRleHQob3V0T2ZGbG93Um9vdENvbnRhaW5lciwgbGF5b3V0U3RhdGUoKSk7Ci0gICAg
ICAgIGlmIChvdXRPZkZsb3dSb290Q29udGFpbmVyLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgp
KQotICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52
YWxpZGF0aW9uU3RhdGUsIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZsb3co
b3V0T2ZGbG93Um9vdERpc3BsYXlCb3gpLCBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zv
ckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZG
bG93VmVydGljYWxHZW9tZXRyeShvdXRPZkZsb3dSb290Q29udGFpbmVyLCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgICAgICBmb3JtYXR0aW5nQ29udGV4
dC0+bGF5b3V0T3V0T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgR2VvbWV0cnk6Omhv
cml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCksIEdl
b21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93KG91dE9mRmxvd1Jvb3REaXNwbGF5
Qm94KSk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLnZhbHVlOworICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpv
bnRhbEdlb21ldHJ5KCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAg
ICAgIGlmIChpczxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpKSB7CisgICAgICAgICAgICBh
dXRvJiBjb250YWluZXJCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gp
OworICAgICAgICAgICAgYXV0byYgY29udGFpbmVyRGlzcGxheUJveCA9IGdlb21ldHJ5Rm9yQm94
KGNvbnRhaW5lckJveCk7CisKKyAgICAgICAgICAgIGF1dG8gZm9ybWF0dGluZ0NvbnRleHQgPSBM
YXlvdXRDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChjb250YWluZXJCb3gsIGxheW91
dFN0YXRlKCkpOworICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC5oYXNJbkZsb3dPckZsb2F0
aW5nQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRz
Rm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZs
b3coY29udGFpbmVyRGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENv
bnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRz
Rm9ySW5GbG93KGNvbnRhaW5lckRpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgIGZvcm1hdHRp
bmdDb250ZXh0LT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9u
dGFsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5G
bG93Q29udGVudCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93
VmVydGljYWxHZW9tZXRyeShjb250YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVy
dGljYWxDb25zdHJhaW50c0ZvckxheW91dEJveChjb250YWluZXJCb3gpKTsKKyAgICAgICAgICAg
IGlmIChjb250YWluZXJCb3guaGFzQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93Q29udGVudCA9ICBHZW9tZXRyeTo6aG9yaXpv
bnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KGNvbnRhaW5lckRpc3BsYXlCb3gpOworICAgICAg
ICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQgPSBH
ZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb250YWluZXJEaXNwbGF5
Qm94KTsKKyAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0T3V0T2ZGbG93
Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZG
bG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQpOworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGNvbXB1dGVPdXRPZkZsb3dW
ZXJ0aWNhbEdlb21ldHJ5KCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVy
dGljYWxDb25zdHJhaW50c0ZvckxheW91dEJveCgqb3V0T2ZGbG93Qm94KSk7CiAgICAgfQogICAg
IExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJFbmQ6
IGxheW91dCBvdXQtb2YtZmxvdyBjb250ZW50IC0+IGNvbnRleHQ6ICIgPDwgJmxheW91dFN0YXRl
KCkgPDwgIiByb290OiAiIDw8ICZyb290KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuaAppbmRleCA4MjU5ZjQ5OWZlYWM5ZjU1ZmMyNTYyM2ViYzg0NzZmOWE4
ZDYwY2FlLi5jM2Y0NDc3YjFiZmI1N2M1N2Y2M2FiY2JhM2JiZjhmNzY5ZWQ0YzAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB+Rm9ybWF0dGluZ0NvbnRleHQoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiwgY29uc3QgSG9yaXpv
bnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpID0gMDsKLSAgICB2
b2lkIGxheW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmLCBjb25zdCBIb3Jp
em9udGFsQ29uc3RyYWludHMmLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRzJik7CisgICAgdm9p
ZCBsYXlvdXRPdXRPZkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiwgY29uc3QgT3V0T2ZG
bG93SG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpOwog
CiAgICAgc3RydWN0IEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgewogICAgICAgICB2b2lkIGV4
cGFuZChMYXlvdXRVbml0IGhvcml6b250YWxWYWx1ZSk7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJv
dGVjdGVkOgogCiAgICAgICAgIExheW91dFVuaXQgY29udGVudEhlaWdodEZvckZvcm1hdHRpbmdD
b250ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKIAotICAgICAgICBzdGF0aWMgSG9yaXpvbnRh
bENvbnN0cmFpbnRzIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb25zdCBEaXNw
bGF5OjpCb3gmIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KTsKKyAgICAgICAgc3RhdGljIE91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cyBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSk7CiAgICAgICAg
IHN0YXRpYyBWZXJ0aWNhbENvbnN0cmFpbnRzIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSk7CiAgICAgICAg
IHN0YXRpYyBIb3Jpem9udGFsQ29uc3RyYWludHMgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9ySW5G
bG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwogICAgICAg
ICBzdGF0aWMgVmVydGljYWxDb25zdHJhaW50cyB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93
KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4
IDY4YTJjY2NmM2EzMjg4ODE3YzI1MzU0MGJmMmVjZDEyOTQzYTZhMTEuLjkxZDgzNmM0NDI2Y2Ew
NWFlNjY2NTc5MjJhZjJiYWQ3ZDM2YjQ0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTExMDEsOSArMTEwMSwxMSBA
QCBGb3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmNvbnN0cgogICAgIHJldHVybiBpbnRyaW5zaWNXaWR0aDsKIH0K
IAotSG9yaXpvbnRhbENvbnN0cmFpbnRzIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFp
bmluZ0Jsb2NrR2VvbWV0cnkpCitPdXRPZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3co
Y29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSkKIHsKLSAgICByZXR1
cm4gSG9yaXpvbnRhbENvbnN0cmFpbnRzIHsgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGlu
Z0JveExlZnQoKSwgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveFdpZHRoKCkgfTsK
KyAgICByZXR1cm4gT3V0T2ZGbG93SG9yaXpvbnRhbENvbnN0cmFpbnRzIHsKKyAgICAgICAgSG9y
aXpvbnRhbENvbnN0cmFpbnRzIHsgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveExl
ZnQoKSwgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkucGFkZGluZ0JveFdpZHRoKCkgfSwKKyAgICAg
ICAgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29udGVudEJveFdpZHRoKCkgfTsKIH0KIAogVmVy
dGljYWxDb25zdHJhaW50cyBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnZlcnRpY2FsQ29u
c3RyYWludHNGb3JPdXRPZkZsb3coY29uc3QgRGlzcGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tH
ZW9tZXRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCA2M2Jh
OTNiYjZkMzc5YmVhNWMxZWRiZTcyYzdhZDQwMDE0ODBjMzM4Li5hNjA0OTMwYzNmY2I1NDM0YzZk
ZTM1MmMwNDU2MWJmZTQ5YmJlMzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRl
eHQuY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBMYXlvdXRDb250ZXh0OjpsYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dFN1YnRyZWUoY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW4KICAgICAv
LyBJdCBjb25zdHJ1Y3RzIGFuIEZDIGZvciBkZXNjZW5kYW50IGJveGVzIGFuZCBydW5zIGxheW91
dCBvbiB0aGVtLiBUaGUgZm9ybWF0dGluZ0NvbnRleHRSb290IGlzIGxhaWQgb3V0IGluIHRoZSBG
QyBpbiB3aGljaCBpdCBsaXZlcyAocGFyZW50IGZvcm1hdHRpbmcgY29udGV4dCkuCiAgICAgLy8g
SXQgYWxzbyBtZWFucyB0aGF0IHRoZSBmb3JtYXR0aW5nQ29udGV4dFJvb3QgaGFzIHRvIGhhdmUg
YSB2YWxpZC9jbGVhbiBnZW9tZXRyeSBhdCB0aGlzIHBvaW50LgogICAgIHsKLSAgICAgICAgYXV0
byBob3Jpem9udGFsQ29uc3RyYWludHMgPSBIb3Jpem9udGFsQ29uc3RyYWludHMgeyBkaXNwbGF5
Qm94LnBhZGRpbmdCb3hMZWZ0KCksIGRpc3BsYXlCb3gucGFkZGluZ0JveFdpZHRoKCkgfTsKKyAg
ICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHMgPSBPdXRPZkZsb3dIb3Jpem9udGFsQ29u
c3RyYWludHMgeyBIb3Jpem9udGFsQ29uc3RyYWludHMgeyBkaXNwbGF5Qm94LnBhZGRpbmdCb3hM
ZWZ0KCksIGRpc3BsYXlCb3gucGFkZGluZ0JveFdpZHRoKCkgfSwgZGlzcGxheUJveC5jb250ZW50
Qm94V2lkdGgoKSB9OwogICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHMgPSBWZXJ0aWNh
bENvbnN0cmFpbnRzIHsgZGlzcGxheUJveC5wYWRkaW5nQm94VG9wKCksIGRpc3BsYXlCb3gucGFk
ZGluZ0JveEhlaWdodCgpIH07CiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXRPdXRP
ZkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZl
cnRpY2FsQ29uc3RyYWludHMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9MYXlvdXRVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFVuaXRzLmgK
aW5kZXggNGU2NzkxMmFlZTlkNjViYWRmNThkODJmMDhhMTA5MDZiOGU5YTg0NC4uYmJkMjcwMjY4
ODcwNDcxZmNhZDk3ZjIwMWI3NjBiYjQzNDgwYjlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFVuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91
dFVuaXRzLmgKQEAgLTE1Nyw2ICsxNTcsMTIgQEAgc3RydWN0IEhvcml6b250YWxDb25zdHJhaW50
cyB7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGg7CiB9OwogCitzdHJ1Y3QgT3V0T2ZGbG93
SG9yaXpvbnRhbENvbnN0cmFpbnRzIHsKKyAgICBIb3Jpem9udGFsQ29uc3RyYWludHMgdmFsdWU7
CisgICAgLy8gQm9yZGVycyBhbmQgcGFkZGluZ3MgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGNv
bnRhaW5pbmcgYmxvY2sncyBjb250ZW50IGJveCBhcyBpZiB0aGUgYm94IHdhcyBhbiBpbi1mbG93
IGJveC4KKyAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdTcGVjaWZpY1dpZHRoOworfTsK
Kwogc3RydWN0IFZlcnRpY2FsQ29uc3RyYWludHMgewogICAgIExheW91dFVuaXQgbG9naWNhbFRv
cDsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBsb2dpY2FsSGVpZ2h0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggNGM1NjQ0ZGVmMmFjOGQwNjc1ZGYzZTYyM2VjMGMyM2U5
ODRkMGM0NS4uOGJiN2I2Mzk1ZDE3Y2IwYzY3OTMzYmQyMjI4MDhiMjY3MTgwZGIwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMjYsMTIgKzEyNiwxMyBAQCB2b2lkIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3Rh
dGUmIGludmFsaWRhdGlvbgogCiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlzaGVz
Rm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAgICAgIGlmIChpczxDb250YWluZXJC
b3g+KGxheW91dEJveCkgJiYgZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLmhhc0lu
Rmxvd09yRmxvYXRpbmdDaGlsZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRh
aW5lckJveCA9IGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KTsKICAgICAgICAgICAg
ICAgICAgICAgLy8gTGF5b3V0IHRoZSBpbmZsb3cgZGVzY2VuZGFudHMgb2YgdGhpcyBmb3JtYXR0
aW5nIGNvbnRleHQgcm9vdC4KLSAgICAgICAgICAgICAgICAgICAgcHJlY29tcHV0ZVZlcnRpY2Fs
UG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChmbG9hdGluZ0NvbnRleHQsIGxheW91dEJveCwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKTsKLSAgICAgICAgICAgICAg
ICAgICAgYXV0byYgcm9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwot
ICAgICAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0ZvckZvcm1hdHRp
bmdDb250ZXh0ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhyb290
RGlzcGxheUJveCk7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50
c0ZvckZvcm1hdHRpbmdDb250ZXh0ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3RyYWludHNGb3JJ
bkZsb3cocm9vdERpc3BsYXlCb3gpOwotICAgICAgICAgICAgICAgICAgICBMYXlvdXRDb250ZXh0
OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJv
eCksIGxheW91dFN0YXRlKCkpLT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRl
LCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JGb3JtYXR0aW5nQ29udGV4dCwgdmVydGljYWxDb25z
dHJhaW50c0ZvckZvcm1hdHRpbmdDb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgcHJlY29t
cHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChmbG9hdGluZ0NvbnRleHQsIGNv
bnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byYgcm9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJv
eChjb250YWluZXJCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRz
Rm9ySW5GbG93KHJvb3REaXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byB2ZXJ0
aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0
cmFpbnRzRm9ySW5GbG93KHJvb3REaXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgTGF5
b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRT
dGF0ZSgpKS0+bGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0ZvckluRmxv
d0NvbnRlbnQpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE1MSwxMCArMTUyLDExIEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0SW5GbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9u
CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQo
KSkgewogICAgICAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGNvbXB1dGVkIHRoZSByb290J3Mg
aGVpZ2h0LCB3ZSBjYW4gbGF5b3V0IHRoZSBvdXQtb2YtZmxvdyBkZXNjZW5kYW50cy4KICAgICAg
ICAgICAgICAgICBpZiAoaXM8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpICYmIGRvd25jYXN0PENv
bnRhaW5lckJveD4obGF5b3V0Qm94KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAg
ICAgICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cgPSAg
R2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlzcGxheUJv
eCk7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9m
RmxvdyA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNw
bGF5Qm94KTsKLSAgICAgICAgICAgICAgICAgICAgTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0
dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLCBsYXlvdXRTdGF0
ZSgpKS0+bGF5b3V0T3V0T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8Q29u
dGFpbmVyQm94PihsYXlvdXRCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvJiByb290RGlz
cGxheUJveCA9IGdlb21ldHJ5Rm9yQm94KGNvbnRhaW5lckJveCk7CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93Q29udGVudCA9ICBHZW9t
ZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNwbGF5Qm94KTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
Q29udGVudCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3RE
aXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9y
bWF0dGluZ0NvbnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRTdGF0ZSgpKS0+bGF5b3V0T3V0T2ZG
bG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0
T2ZGbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQpOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8vIFJlc29sdmUg
ZmluYWwgcG9zaXRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4
IGZjZDNiM2JjYWI1ZDBiM2E5NjAzNzcxYzkzZjdlOWY4NzJmZDc4YjkuLmEyY2JhZGUyMTgxYTdm
YWVhZDlkNjM5ZWY4ZDU5MWZiNmQxY2M4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5jcHAKQEAgLTg5LDIxICs4OSwzMSBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpbwogCiAg
ICAgICAgIGlmIChsYXlvdXRCb3gtPmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgewogICAgICAg
ICAgICAgLy8gSW5saW5lLWJsb2NrcywgaW5saW5lLXRhYmxlcyBhbmQgcmVwbGFjZWQgZWxlbWVu
dHMgKGltZywgdmlkZW8pIGNhbiBiZSBzaXplZCBidXQgbm90IHlldCBwb3NpdGlvbmVkLgotICAg
ICAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoKmxheW91dEJveCwgaG9yaXpvbnRhbENv
bnN0cmFpbnRzKTsKLSAgICAgICAgICAgIGNvbXB1dGVXaWR0aEFuZE1hcmdpbigqbGF5b3V0Qm94
LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwotICAgICAgICAgICAgYXV0byBjcmVhdGVzRm9ybWF0
dGluZ0NvbnRleHQgPSBsYXlvdXRCb3gtPmlzSW5saW5lQmxvY2tCb3goKSB8fCBsYXlvdXRCb3gt
PmlzSW5saW5lVGFibGVCb3goKTsKLSAgICAgICAgICAgIGF1dG8gaGFzSW5GbG93T3JGbG9hdGlu
Z0NoaWxkID0gaXM8Q29udGFpbmVyQm94PigqbGF5b3V0Qm94KSAmJiBkb3duY2FzdDxDb250YWlu
ZXJCb3g+KCpsYXlvdXRCb3gpLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgpOwotICAgICAgICAg
ICAgaWYgKGNyZWF0ZXNGb3JtYXR0aW5nQ29udGV4dCAmJiBoYXNJbkZsb3dPckZsb2F0aW5nQ2hp
bGQpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29u
dGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PigqbGF5
b3V0Qm94KSwgbGF5b3V0U3RhdGUoKSk7Ci0gICAgICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRl
eHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250YWxDb25z
dHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjb21wdXRlSGVpZ2h0QW5kTWFyZ2luKCpsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50
cyk7Ci0gICAgICAgICAgICBpZiAoY3JlYXRlc0Zvcm1hdHRpbmdDb250ZXh0ICYmIGlzPENvbnRh
aW5lckJveD4oKmxheW91dEJveCkgJiYgZG93bmNhc3Q8Q29udGFpbmVyQm94PigqbGF5b3V0Qm94
KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGdlb21l
dHJ5Rm9yQm94KCpsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENv
bnN0cmFpbnRzRm9yT3V0T2ZGbG93ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zv
ck91dE9mRmxvdyhkaXNwbGF5Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29u
c3RyYWludHNGb3JPdXRPZkZsb3cgPSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91
dE9mRmxvdyhkaXNwbGF5Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250
ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29u
dGFpbmVyQm94PigqbGF5b3V0Qm94KSwgbGF5b3V0U3RhdGUoKSk7Ci0gICAgICAgICAgICAgICAg
Zm9ybWF0dGluZ0NvbnRleHQtPmxheW91dE91dE9mRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3Rh
dGUsIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdywgdmVydGljYWxDb25zdHJhaW50
c0Zvck91dE9mRmxvdyk7CisgICAgICAgICAgICBpZiAobGF5b3V0Qm94LT5lc3RhYmxpc2hlc0Zv
cm1hdHRpbmdDb250ZXh0KCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaXM8Q29udGFpbmVy
Qm94PigqbGF5b3V0Qm94KSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKGxheW91dEJveC0+aXNJ
bmxpbmVCbG9ja0JveCgpIHx8IGxheW91dEJveC0+aXNJbmxpbmVUYWJsZUJveCgpKTsKKyAgICAg
ICAgICAgICAgICBhdXRvJiBjb250YWluZXJCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCps
YXlvdXRCb3gpOworICAgICAgICAgICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKGNvbnRh
aW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKKyAgICAgICAgICAgICAgICBjb21wdXRl
V2lkdGhBbmRNYXJnaW4oY29udGFpbmVyQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOworCisg
ICAgICAgICAgICAgICAgYXV0byYgcm9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveChjb250
YWluZXJCb3gpOworICAgICAgICAgICAgICAgIGF1dG8gZm9ybWF0dGluZ0NvbnRleHQgPSBMYXlv
dXRDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nQ29udGV4dChjb250YWluZXJCb3gsIGxheW91dFN0
YXRlKCkpOworICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJCb3guaGFzSW5GbG93T3JGbG9h
dGluZ0NoaWxkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29uc3Ry
YWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zv
ckluRmxvdyhyb290RGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGlj
YWxDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJh
aW50c0ZvckluRmxvdyhyb290RGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgICAgIGZvcm1h
dHRpbmdDb250ZXh0LT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jp
em9udGFsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9y
SW5GbG93Q29udGVudCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNvbXB1
dGVIZWlnaHRBbmRNYXJnaW4oY29udGFpbmVyQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwor
ICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJCb3guaGFzQ2hpbGQoKSkgeworICAgICAgICAg
ICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyA9IEdlb21l
dHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cocm9vdERpc3BsYXlCb3gpOwor
ICAgICAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cg
PSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlzcGxheUJv
eCk7CisgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXRPdXRPZkZs
b3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRP
ZkZsb3csIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gUmVwbGFjZWQgYW5k
IG90aGVyIHR5cGUgb2YgbGVhZiBhdG9taWMgaW5saW5lIGJveGVzLgorICAgICAgICAgICAgICAg
IGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50
cyk7CisgICAgICAgICAgICAgICAgY29tcHV0ZVdpZHRoQW5kTWFyZ2luKCpsYXlvdXRCb3gsIGhv
cml6b250YWxDb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY29tcHV0ZUhlaWdodEFuZE1h
cmdpbigqbGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKGxheW91dEJveC0+aXNJbmxpbmVCb3goKSkgewogICAgICAgICAg
ICAgLy8gVGV4dCB3cmFwcGVyIGJveGVzIChhbm9ueW1vdXMgaW5saW5lIGxldmVsIGJveGVzKSBh
bmQgPGJyPnMgZG9uJ3QgZ2VuZXJhdGUgZGlzcGxheSBib3hlcyAob25seSBkaXNwbGF5IHJ1bnMp
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390866</attachid>
            <date>2020-02-15 06:30:58 -0800</date>
            <delta_ts>2020-02-15 06:30:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207805-20200215063057.patch</filename>
            <type>text/plain</type>
            <size>20414</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRkOGIzY2U2ZTBmYmRl
N2MyODI3ODY0NmQ2ZDExYTRjZWVmNDc2Ny4uNjk4MzI3YjY1YTA0YjFhOGM5ZGNhYTVhYWRlZjgy
OGI0NDgxNTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW50cm9kdWNlIE91
dE9mRmxvd0hvcml6b250YWxDb25zdHJhaW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3ODA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQ4
MjI4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBC
b3JkZXJzIGFuZCBwYWRkaW5ncyBhcmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgY29udGFpbmluZyBi
bG9jaydzIGNvbnRlbnQgYm94IGFzIGlmIHRoZSBib3ggd2FzIGFuIGluLWZsb3cgYm94LgorCisg
ICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0NvbnRlbnQpOgorICAg
ICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZs
b3cpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGF5b3V0Q29udGV4dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRTdWJ0cmVl
KToKKyAgICAgICAgKiBsYXlvdXQvTGF5b3V0VW5pdHMuaDoKKyAgICAgICAgKiBsYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KToK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsYXlvdXRJbkZsb3dDb250ZW50KToKKwogMjAyMC0wMi0xNSAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQW5vbnltb3VzIGlubGluZSBib3hl
cy9saW5lIGJyZWFrIGJveGVzIGRvIG5vdCBnZW5lcmF0ZSBEaXNwbGF5OjpCb3hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMTEyOGVhMWFkODg3
N2ZlNWVhY2U5YjNjMWEzODZmMTY5OThmOGFiYi4uMDcxYzdjMTRhZTEyYTc0YjQ4NTRkZDMyZWY5
OWNjNmMwYzEzYzgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0xMzIsMTMgKzEzMiwxMyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlQm9yZGVyQW5kUGFkZGluZyhjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaQogICAg
IGRpc3BsYXlCb3guc2V0UGFkZGluZyhnZW9tZXRyeSgpLmNvbXB1dGVkUGFkZGluZyhsYXlvdXRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50KSk7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0
YXRlLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIHJvb3RIb3Jpem9udGFsQ29uc3RyYWlu
dHMsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmIHJvb3RWZXJ0aWNhbENvbnN0cmFpbnRzKQor
dm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRp
b25TdGF0ZSYgaW52YWxpZGF0aW9uU3RhdGUsIGNvbnN0IE91dE9mRmxvd0hvcml6b250YWxDb25z
dHJhaW50cyYgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgVmVydGljYWxDb25zdHJh
aW50cyYgcm9vdFZlcnRpY2FsQ29uc3RyYWludHMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZv
cm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIlN0YXJ0OiBsYXlvdXQgb3V0LW9mLWZs
b3cgY29udGVudCAtPiBjb250ZXh0OiAiIDw8ICZsYXlvdXRTdGF0ZSgpIDw8ICIgcm9vdDogIiA8
PCAmcm9vdCgpKTsKIAogICAgIGNvbGxlY3RPdXRPZkZsb3dEZXNjZW5kYW50c0lmTmVlZGVkKCk7
CiAKLSAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCA9IFsmXSAo
Y29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CisgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWlu
dHNGb3JMYXlvdXRCb3ggPSBbJl0gKGNvbnN0IGF1dG8mIG91dE9mRmxvd0JveCkgewogICAgICAg
ICBhdXRvKiBjb250YWluaW5nQmxvY2sgPSBvdXRPZkZsb3dCb3guY29udGFpbmluZ0Jsb2NrKCk7
CiAgICAgICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwogICAgICAgICBpZiAoY29udGFpbmlu
Z0Jsb2NrID09ICZyb290KCkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0
aW9uU3QKICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JP
dXRPZkZsb3coZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9jaykpOwogICAgIH07CiAKLSAg
ICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dCb3ggPSBbJl0gKGNvbnN0IGF1
dG8mIG91dE9mRmxvd0JveCkgeworICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0ZvckxheW91
dEJveCA9IFsmXSAoY29uc3QgYXV0byYgb3V0T2ZGbG93Qm94KSB7CiAgICAgICAgIGF1dG8qIGNv
bnRhaW5pbmdCbG9jayA9IG91dE9mRmxvd0JveC5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAg
QVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CiAgICAgICAgIGlmIChjb250YWluaW5nQmxvY2sgPT0g
JnJvb3QoKSkKQEAgLTE1OSwyMyArMTU5LDMxIEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dE91dE9mRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlvblN0CiAg
ICAgICAgIGlmICghaW52YWxpZGF0aW9uU3RhdGUubmVlZHNMYXlvdXQoKm91dE9mRmxvd0JveCkp
CiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJh
aW50cyA9IGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzID0gdmVydGljYWxDb25zdHJhaW50
c0Zvck91dE9mRmxvd0JveCgqb3V0T2ZGbG93Qm94KTsKLSAgICAgICAgLy8gQm9yZGVycyBhbmQg
cGFkZGluZ3MgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb250
ZW50IGJveCBsaWtlIGlmIHRoaXMgYm94IHdhcyBhbiBpbi1mbG93IGJveC4KLSAgICAgICAgYXV0
byYgb3V0T2ZGbG93Um9vdERpc3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveCgqb3V0T2ZGbG93Qm94
KTsKLSAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoKm91dE9mRmxvd0JveCwgR2VvbWV0
cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJv
eCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KCpvdXRPZkZs
b3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7Ci0gICAgICAgIGlmICghaXM8Q29udGFpbmVy
Qm94Pigqb3V0T2ZGbG93Qm94KSB8fCAhZG93bmNhc3Q8Q29udGFpbmVyQm94Pigqb3V0T2ZGbG93
Qm94KS5oYXNDaGlsZCgpKSB7Ci0gICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93VmVydGljYWxH
ZW9tZXRyeSgqb3V0T2ZGbG93Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZlcnRpY2FsQ29u
c3RyYWludHMpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0
byBvdXRPZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgPSBob3Jpem9udGFsQ29uc3RyYWludHNG
b3JMYXlvdXRCb3goKm91dE9mRmxvd0JveCk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0
cmFpbnRzRm9yQm9yZGVyQW5kUGFkZGluZyA9IEhvcml6b250YWxDb25zdHJhaW50cyB7IG91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cy52YWx1ZS5sb2dpY2FsTGVmdCwgb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLmJvcmRlckFuZFBhZGRpbmdTcGVjaWZpY1dpZHRoIH07CisgICAg
ICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckJvcmRlckFuZFBhZGRpbmcpOwogCi0gICAgICAgIGF1dG8mIG91dE9mRmxvd1Jv
b3RDb250YWluZXIgPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpOwotICAg
ICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0
dGluZ0NvbnRleHQob3V0T2ZGbG93Um9vdENvbnRhaW5lciwgbGF5b3V0U3RhdGUoKSk7Ci0gICAg
ICAgIGlmIChvdXRPZkZsb3dSb290Q29udGFpbmVyLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgp
KQotICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52
YWxpZGF0aW9uU3RhdGUsIEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZsb3co
b3V0T2ZGbG93Um9vdERpc3BsYXlCb3gpLCBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zv
ckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCkpOwotICAgICAgICBjb21wdXRlT3V0T2ZG
bG93VmVydGljYWxHZW9tZXRyeShvdXRPZkZsb3dSb290Q29udGFpbmVyLCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgICAgICBmb3JtYXR0aW5nQ29udGV4
dC0+bGF5b3V0T3V0T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgR2VvbWV0cnk6Omhv
cml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhvdXRPZkZsb3dSb290RGlzcGxheUJveCksIEdl
b21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93KG91dE9mRmxvd1Jvb3REaXNwbGF5
Qm94KSk7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gb3V0T2ZGbG93SG9y
aXpvbnRhbENvbnN0cmFpbnRzLnZhbHVlOworICAgICAgICBjb21wdXRlT3V0T2ZGbG93SG9yaXpv
bnRhbEdlb21ldHJ5KCpvdXRPZkZsb3dCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAg
ICAgIGlmIChpczxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gpKSB7CisgICAgICAgICAgICBh
dXRvJiBjb250YWluZXJCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KCpvdXRPZkZsb3dCb3gp
OworICAgICAgICAgICAgYXV0byYgY29udGFpbmVyRGlzcGxheUJveCA9IGdlb21ldHJ5Rm9yQm94
KGNvbnRhaW5lckJveCk7CisKKyAgICAgICAgICAgIGlmIChjb250YWluZXJCb3guaGFzSW5GbG93
T3JGbG9hdGluZ0NoaWxkKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxDb25z
dHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRz
Rm9ySW5GbG93KGNvbnRhaW5lckRpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgIGF1dG8gdmVy
dGljYWxDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6dmVydGljYWxDb25z
dHJhaW50c0ZvckluRmxvdyhjb250YWluZXJEaXNwbGF5Qm94KTsKKyAgICAgICAgICAgICAgICBh
dXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0Nv
bnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRTdGF0ZSgpKTsKKyAgICAgICAgICAgICAgICBmb3Jt
YXR0aW5nQ29udGV4dC0+bGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCwgdmVydGljYWxDb25zdHJhaW50c0Zv
ckluRmxvd0NvbnRlbnQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29tcHV0ZU91dE9m
Rmxvd1ZlcnRpY2FsR2VvbWV0cnkoY29udGFpbmVyQm94LCBob3Jpem9udGFsQ29uc3RyYWludHMs
IHZlcnRpY2FsQ29uc3RyYWludHNGb3JMYXlvdXRCb3goY29udGFpbmVyQm94KSk7CisgICAgICAg
ICAgICBpZiAoY29udGFpbmVyQm94Lmhhc0NoaWxkKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRv
IGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQgPSAgR2VvbWV0cnk6Omhv
cml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb250YWluZXJEaXNwbGF5Qm94KTsKKyAg
ICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dDb250ZW50
ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3coY29udGFpbmVyRGlz
cGxheUJveCk7CisgICAgICAgICAgICAgICAgYXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IExheW91
dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNvbnRhaW5lckJveCwgbGF5b3V0U3Rh
dGUoKSk7CisgICAgICAgICAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxheW91dE91dE9mRmxv
d0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9m
Rmxvd0NvbnRlbnQsIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dDb250ZW50KTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjb21wdXRlT3V0T2ZGbG93
VmVydGljYWxHZW9tZXRyeSgqb3V0T2ZGbG93Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZl
cnRpY2FsQ29uc3RyYWludHNGb3JMYXlvdXRCb3goKm91dE9mRmxvd0JveCkpOwogICAgIH0KICAg
ICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiRW5k
OiBsYXlvdXQgb3V0LW9mLWZsb3cgY29udGVudCAtPiBjb250ZXh0OiAiIDw8ICZsYXlvdXRTdGF0
ZSgpIDw8ICIgcm9vdDogIiA8PCAmcm9vdCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zv
cm1hdHRpbmdDb250ZXh0LmgKaW5kZXggODI1OWY0OTlmZWFjOWY1NWZjMjU2MjNlYmM4NDc2Zjlh
OGQ2MGNhZS4uYzNmNDQ3N2IxYmZiNTdjNTdmNjNhYmNiYTNiYmY4Zjc2OWVkNGMwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTY2LDcgKzY2LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfkZvcm1hdHRpbmdDb250ZXh0KCk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgbGF5b3V0SW5GbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYsIGNvbnN0IEhvcml6
b250YWxDb25zdHJhaW50cyYsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmKSA9IDA7Ci0gICAg
dm9pZCBsYXlvdXRPdXRPZkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiwgY29uc3QgSG9y
aXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpOworICAgIHZv
aWQgbGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYsIGNvbnN0IE91dE9m
Rmxvd0hvcml6b250YWxDb25zdHJhaW50cyYsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmKTsK
IAogICAgIHN0cnVjdCBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIHsKICAgICAgICAgdm9pZCBl
eHBhbmQoTGF5b3V0VW5pdCBob3Jpem9udGFsVmFsdWUpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHBy
b3RlY3RlZDoKIAogICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5n
Q29udGV4dFJvb3QoY29uc3QgQm94JikgY29uc3Q7CiAKLSAgICAgICAgc3RhdGljIEhvcml6b250
YWxDb25zdHJhaW50cyBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3coY29uc3QgRGlz
cGxheTo6Qm94JiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSk7CisgICAgICAgIHN0YXRpYyBPdXRP
ZkZsb3dIb3Jpem9udGFsQ29uc3RyYWludHMgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZG
bG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwogICAgICAg
ICBzdGF0aWMgVmVydGljYWxDb25zdHJhaW50cyB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZG
bG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpOwogICAgICAg
ICBzdGF0aWMgSG9yaXpvbnRhbENvbnN0cmFpbnRzIGhvcml6b250YWxDb25zdHJhaW50c0Zvcklu
Rmxvdyhjb25zdCBEaXNwbGF5OjpCb3gmIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KTsKICAgICAg
ICAgc3RhdGljIFZlcnRpY2FsQ29uc3RyYWludHMgdmVydGljYWxDb25zdHJhaW50c0ZvckluRmxv
dyhjb25zdCBEaXNwbGF5OjpCb3gmIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRl
eCA2OGEyY2NjZjNhMzI4ODgxN2MyNTM1NDBiZjJlY2QxMjk0M2E2YTExLi45MWQ4MzZjNDQyNmNh
MDVhZTY2NjU3OTIyYWYyYmFkN2QzNmI0NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0xMTAxLDkgKzExMDEsMTEg
QEAgRm9ybWF0dGluZ0NvbnRleHQ6OkludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5Ojpjb25zdHIKICAgICByZXR1cm4gaW50cmluc2ljV2lkdGg7CiB9
CiAKLUhvcml6b250YWxDb25zdHJhaW50cyBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Omhv
cml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhjb25zdCBEaXNwbGF5OjpCb3gmIGNvbnRh
aW5pbmdCbG9ja0dlb21ldHJ5KQorT3V0T2ZGbG93SG9yaXpvbnRhbENvbnN0cmFpbnRzIEZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93
KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpCiB7Ci0gICAgcmV0
dXJuIEhvcml6b250YWxDb25zdHJhaW50cyB7IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRp
bmdCb3hMZWZ0KCksIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hXaWR0aCgpIH07
CisgICAgcmV0dXJuIE91dE9mRmxvd0hvcml6b250YWxDb25zdHJhaW50cyB7CisgICAgICAgIEhv
cml6b250YWxDb25zdHJhaW50cyB7IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hM
ZWZ0KCksIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LnBhZGRpbmdCb3hXaWR0aCgpIH0sCisgICAg
ICAgIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hXaWR0aCgpIH07CiB9CiAKIFZl
cnRpY2FsQ29uc3RyYWludHMgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojp2ZXJ0aWNhbENv
bnN0cmFpbnRzRm9yT3V0T2ZGbG93KGNvbnN0IERpc3BsYXk6OkJveCYgY29udGFpbmluZ0Jsb2Nr
R2VvbWV0cnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5jcHAKaW5kZXggNjNi
YTkzYmI2ZDM3OWJlYTVjMWVkYmU3MmM3YWQ0MDAxNDgwYzMzOC4uYTYwNDkzMGMzZmNiNTQzNGM2
ZGUzNTJjMDQ1NjFiZmU0OWJiZTM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250
ZXh0LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHZvaWQgTGF5b3V0Q29udGV4dDo6bGF5b3V0Rm9y
bWF0dGluZ0NvbnRleHRTdWJ0cmVlKGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluCiAgICAg
Ly8gSXQgY29uc3RydWN0cyBhbiBGQyBmb3IgZGVzY2VuZGFudCBib3hlcyBhbmQgcnVucyBsYXlv
dXQgb24gdGhlbS4gVGhlIGZvcm1hdHRpbmdDb250ZXh0Um9vdCBpcyBsYWlkIG91dCBpbiB0aGUg
RkMgaW4gd2hpY2ggaXQgbGl2ZXMgKHBhcmVudCBmb3JtYXR0aW5nIGNvbnRleHQpLgogICAgIC8v
IEl0IGFsc28gbWVhbnMgdGhhdCB0aGUgZm9ybWF0dGluZ0NvbnRleHRSb290IGhhcyB0byBoYXZl
IGEgdmFsaWQvY2xlYW4gZ2VvbWV0cnkgYXQgdGhpcyBwb2ludC4KICAgICB7Ci0gICAgICAgIGF1
dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gSG9yaXpvbnRhbENvbnN0cmFpbnRzIHsgZGlzcGxh
eUJveC5wYWRkaW5nQm94TGVmdCgpLCBkaXNwbGF5Qm94LnBhZGRpbmdCb3hXaWR0aCgpIH07Cisg
ICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzID0gT3V0T2ZGbG93SG9yaXpvbnRhbENv
bnN0cmFpbnRzIHsgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHsgZGlzcGxheUJveC5wYWRkaW5nQm94
TGVmdCgpLCBkaXNwbGF5Qm94LnBhZGRpbmdCb3hXaWR0aCgpIH0sIGRpc3BsYXlCb3guY29udGVu
dEJveFdpZHRoKCkgfTsKICAgICAgICAgYXV0byB2ZXJ0aWNhbENvbnN0cmFpbnRzID0gVmVydGlj
YWxDb25zdHJhaW50cyB7IGRpc3BsYXlCb3gucGFkZGluZ0JveFRvcCgpLCBkaXNwbGF5Qm94LnBh
ZGRpbmdCb3hIZWlnaHQoKSB9OwogICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0T3V0
T2ZGbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB2
ZXJ0aWNhbENvbnN0cmFpbnRzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5o
CmluZGV4IDRlNjc5MTJhZWU5ZDY1YmFkZjU4ZDgyZjA4YTEwOTA2YjhlOWE4NDQuLmJiZDI3MDI2
ODg3MDQ3MWZjYWQ5N2YyMDFiNzYwYmI0MzQ4MGI5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlv
dXRVbml0cy5oCkBAIC0xNTcsNiArMTU3LDEyIEBAIHN0cnVjdCBIb3Jpem9udGFsQ29uc3RyYWlu
dHMgewogICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoOwogfTsKIAorc3RydWN0IE91dE9mRmxv
d0hvcml6b250YWxDb25zdHJhaW50cyB7CisgICAgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHZhbHVl
OworICAgIC8vIEJvcmRlcnMgYW5kIHBhZGRpbmdzIGFyZSByZXNvbHZlZCBhZ2FpbnN0IHRoZSBj
b250YWluaW5nIGJsb2NrJ3MgY29udGVudCBib3ggYXMgaWYgdGhlIGJveCB3YXMgYW4gaW4tZmxv
dyBib3guCisgICAgTGF5b3V0VW5pdCBib3JkZXJBbmRQYWRkaW5nU3BlY2lmaWNXaWR0aDsKK307
CisKIHN0cnVjdCBWZXJ0aWNhbENvbnN0cmFpbnRzIHsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxU
b3A7CiAgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gbG9naWNhbEhlaWdodDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDRjNTY0NGRlZjJhYzhkMDY3NWRmM2U2MjNlYzBjMjNl
OTg0ZDBjNDUuLjhiYjdiNjM5NWQxN2NiMGM2NzkzM2JkMjIyODA4YjI2NzE4MGRiMDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTI2LDEyICsxMjYsMTMgQEAgdm9pZCBC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0
YXRlJiBpbnZhbGlkYXRpb24KIAogICAgICAgICAgICAgaWYgKGxheW91dEJveC5lc3RhYmxpc2hl
c0Zvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoaXM8Q29udGFpbmVy
Qm94PihsYXlvdXRCb3gpICYmIGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KS5oYXNJ
bkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvJiBjb250
YWluZXJCb3ggPSBkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCk7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIExheW91dCB0aGUgaW5mbG93IGRlc2NlbmRhbnRzIG9mIHRoaXMgZm9ybWF0
dGluZyBjb250ZXh0IHJvb3QuCi0gICAgICAgICAgICAgICAgICAgIHByZWNvbXB1dGVWZXJ0aWNh
bFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jvb3QoZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRCb3gsIGhv
cml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7Ci0gICAgICAgICAgICAg
ICAgICAgIGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsK
LSAgICAgICAgICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29uc3RyYWludHNGb3JGb3JtYXR0
aW5nQ29udGV4dCA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JJbkZsb3cocm9v
dERpc3BsYXlCb3gpOwotICAgICAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWlu
dHNGb3JGb3JtYXR0aW5nQ29udGV4dCA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9y
SW5GbG93KHJvb3REaXNwbGF5Qm94KTsKLSAgICAgICAgICAgICAgICAgICAgTGF5b3V0Q29udGV4
dDo6Y3JlYXRlRm9ybWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRC
b3gpLCBsYXlvdXRTdGF0ZSgpKS0+bGF5b3V0SW5GbG93Q29udGVudChpbnZhbGlkYXRpb25TdGF0
ZSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yRm9ybWF0dGluZ0NvbnRleHQsIHZlcnRpY2FsQ29u
c3RyYWludHNGb3JGb3JtYXR0aW5nQ29udGV4dCk7CisgICAgICAgICAgICAgICAgICAgIHByZWNv
bXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jvb3QoZmxvYXRpbmdDb250ZXh0LCBj
b250YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7
CisgICAgICAgICAgICAgICAgICAgIGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JC
b3goY29udGFpbmVyQm94KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBob3Jpem9udGFsQ29u
c3RyYWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50
c0ZvckluRmxvdyhyb290RGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdmVy
dGljYWxDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQgPSBHZW9tZXRyeTo6dmVydGljYWxDb25z
dHJhaW50c0ZvckluRmxvdyhyb290RGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgICAgIExh
eW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNvbnRhaW5lckJveCwgbGF5b3V0
U3RhdGUoKSktPmxheW91dEluRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250
YWxDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQsIHZlcnRpY2FsQ29uc3RyYWludHNGb3JJbkZs
b3dDb250ZW50KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CkBAIC0xNTEsMTAgKzE1MiwxMSBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQoSW52YWxpZGF0aW9uU3RhdGUmIGludmFsaWRhdGlv
bgogICAgICAgICAgICAgaWYgKGxheW91dEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0
KCkpIHsKICAgICAgICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBjb21wdXRlZCB0aGUgcm9vdCdz
IGhlaWdodCwgd2UgY2FuIGxheW91dCB0aGUgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMuCiAgICAg
ICAgICAgICAgICAgaWYgKGlzPENvbnRhaW5lckJveD4obGF5b3V0Qm94KSAmJiBkb3duY2FzdDxD
b250YWluZXJCb3g+KGxheW91dEJveCkuaGFzQ2hpbGQoKSkgewotICAgICAgICAgICAgICAgICAg
ICBhdXRvJiByb290RGlzcGxheUJveCA9IGdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93ID0g
IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cocm9vdERpc3BsYXlC
b3gpOwotICAgICAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRP
ZkZsb3cgPSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlz
cGxheUJveCk7Ci0gICAgICAgICAgICAgICAgICAgIExheW91dENvbnRleHQ6OmNyZWF0ZUZvcm1h
dHRpbmdDb250ZXh0KGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KSwgbGF5b3V0U3Rh
dGUoKSktPmxheW91dE91dE9mRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250
YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdywgdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxv
dyk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRhaW5lckJveCA9IGRvd25jYXN0PENv
bnRhaW5lckJveD4obGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgcm9vdERp
c3BsYXlCb3ggPSBnZW9tZXRyeUZvckJveChjb250YWluZXJCb3gpOworICAgICAgICAgICAgICAg
ICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvd0NvbnRlbnQgPSAgR2Vv
bWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlzcGxheUJveCk7
CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxv
d0NvbnRlbnQgPSBHZW9tZXRyeTo6dmVydGljYWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290
RGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAgICAgIExheW91dENvbnRleHQ6OmNyZWF0ZUZv
cm1hdHRpbmdDb250ZXh0KGNvbnRhaW5lckJveCwgbGF5b3V0U3RhdGUoKSktPmxheW91dE91dE9m
Rmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUsIGhvcml6b250YWxDb25zdHJhaW50c0Zvck91
dE9mRmxvd0NvbnRlbnQsIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3dDb250ZW50KTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBSZXNvbHZl
IGZpbmFsIHBvc2l0aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRl
eCBmY2QzYjNiY2FiNWQwYjNhOTYwMzc3MWM5M2Y3ZTlmODcyZmQ3OGI5Li40MTBlOGUzMWE5YWM3
YjgxMzA2ZmRhNGZiN2ZmMTgyNDQ2ZGUxMTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCkBAIC04OSwyMSArODksMzIgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6bGF5b3V0SW5GbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW8KIAog
ICAgICAgICBpZiAobGF5b3V0Qm94LT5pc0F0b21pY0lubGluZUxldmVsQm94KCkpIHsKICAgICAg
ICAgICAgIC8vIElubGluZS1ibG9ja3MsIGlubGluZS10YWJsZXMgYW5kIHJlcGxhY2VkIGVsZW1l
bnRzIChpbWcsIHZpZGVvKSBjYW4gYmUgc2l6ZWQgYnV0IG5vdCB5ZXQgcG9zaXRpb25lZC4KLSAg
ICAgICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpsYXlvdXRCb3gsIGhvcml6b250YWxD
b25zdHJhaW50cyk7Ci0gICAgICAgICAgICBjb21wdXRlV2lkdGhBbmRNYXJnaW4oKmxheW91dEJv
eCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKLSAgICAgICAgICAgIGF1dG8gY3JlYXRlc0Zvcm1h
dHRpbmdDb250ZXh0ID0gbGF5b3V0Qm94LT5pc0lubGluZUJsb2NrQm94KCkgfHwgbGF5b3V0Qm94
LT5pc0lubGluZVRhYmxlQm94KCk7Ci0gICAgICAgICAgICBhdXRvIGhhc0luRmxvd09yRmxvYXRp
bmdDaGlsZCA9IGlzPENvbnRhaW5lckJveD4oKmxheW91dEJveCkgJiYgZG93bmNhc3Q8Q29udGFp
bmVyQm94PigqbGF5b3V0Qm94KS5oYXNJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKTsKLSAgICAgICAg
ICAgIGlmIChjcmVhdGVzRm9ybWF0dGluZ0NvbnRleHQgJiYgaGFzSW5GbG93T3JGbG9hdGluZ0No
aWxkKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IExheW91dENv
bnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGRvd25jYXN0PENvbnRhaW5lckJveD4oKmxh
eW91dEJveCksIGxheW91dFN0YXRlKCkpOwotICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdDb250
ZXh0LT5sYXlvdXRJbkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY29tcHV0ZUhlaWdodEFuZE1hcmdpbigqbGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHMpOwotICAgICAgICAgICAgaWYgKGNyZWF0ZXNGb3JtYXR0aW5nQ29udGV4dCAmJiBpczxDb250
YWluZXJCb3g+KCpsYXlvdXRCb3gpICYmIGRvd25jYXN0PENvbnRhaW5lckJveD4oKmxheW91dEJv
eCkuaGFzQ2hpbGQoKSkgewotICAgICAgICAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBnZW9t
ZXRyeUZvckJveCgqbGF5b3V0Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIGhvcml6b250YWxD
b25zdHJhaW50c0Zvck91dE9mRmxvdyA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWludHNG
b3JPdXRPZkZsb3coZGlzcGxheUJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbENv
bnN0cmFpbnRzRm9yT3V0T2ZGbG93ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29uc3RyYWludHNGb3JP
dXRPZkZsb3coZGlzcGxheUJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byBmb3JtYXR0aW5nQ29u
dGV4dCA9IExheW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGRvd25jYXN0PENv
bnRhaW5lckJveD4oKmxheW91dEJveCksIGxheW91dFN0YXRlKCkpOwotICAgICAgICAgICAgICAg
IGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXRPdXRPZkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0
YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JPdXRPZkZsb3csIHZlcnRpY2FsQ29uc3RyYWlu
dHNGb3JPdXRPZkZsb3cpOworICAgICAgICAgICAgaWYgKGxheW91dEJveC0+ZXN0YWJsaXNoZXNG
b3JtYXR0aW5nQ29udGV4dCgpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGlzPENvbnRhaW5l
ckJveD4oKmxheW91dEJveCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRCb3gtPmlz
SW5saW5lQmxvY2tCb3goKSB8fCBsYXlvdXRCb3gtPmlzSW5saW5lVGFibGVCb3goKSk7CisgICAg
ICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8Q29udGFpbmVyQm94Pigq
bGF5b3V0Qm94KTsKKyAgICAgICAgICAgICAgICBjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhjb250
YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY29tcHV0
ZVdpZHRoQW5kTWFyZ2luKGNvbnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKKwor
ICAgICAgICAgICAgICAgIGF1dG8mIHJvb3REaXNwbGF5Qm94ID0gZ2VvbWV0cnlGb3JCb3goY29u
dGFpbmVyQm94KTsKKyAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyQm94Lmhhc0luRmxvd09y
RmxvYXRpbmdDaGlsZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENv
bnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFsQ29uc3RyYWlu
dHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgICAgICBhdXRvIHZl
cnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6OnZlcnRpY2FsQ29u
c3RyYWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAgICAgICAgICBh
dXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gTGF5b3V0Q29udGV4dDo6Y3JlYXRlRm9ybWF0dGluZ0Nv
bnRleHQoY29udGFpbmVyQm94LCBsYXlvdXRTdGF0ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
Zm9ybWF0dGluZ0NvbnRleHQtPmxheW91dEluRmxvd0NvbnRlbnQoaW52YWxpZGF0aW9uU3RhdGUs
IGhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQsIHZlcnRpY2FsQ29uc3RyYWlu
dHNGb3JJbkZsb3dDb250ZW50KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihjb250YWluZXJCb3gsIGhvcml6b250YWxDb25zdHJhaW50
cyk7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC5oYXNDaGlsZCgpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGF1dG8gaG9yaXpvbnRhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93ID0g
R2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zvck91dE9mRmxvdyhyb290RGlzcGxheUJv
eCk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdmVydGljYWxDb25zdHJhaW50c0Zvck91dE9m
RmxvdyA9IEdlb21ldHJ5Ojp2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yT3V0T2ZGbG93KHJvb3REaXNw
bGF5Qm94KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IExh
eW91dENvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNvbnRhaW5lckJveCwgbGF5b3V0
U3RhdGUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXRP
dXRPZkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHNG
b3JPdXRPZkZsb3csIHZlcnRpY2FsQ29uc3RyYWludHNGb3JPdXRPZkZsb3cpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gUmVwbGFj
ZWQgYW5kIG90aGVyIHR5cGUgb2YgbGVhZiBhdG9taWMgaW5saW5lIGJveGVzLgorICAgICAgICAg
ICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKCpsYXlvdXRCb3gsIGhvcml6b250YWxDb25z
dHJhaW50cyk7CisgICAgICAgICAgICAgICAgY29tcHV0ZVdpZHRoQW5kTWFyZ2luKCpsYXlvdXRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY29tcHV0ZUhlaWdo
dEFuZE1hcmdpbigqbGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9IGVsc2UgaWYgKGxheW91dEJveC0+aXNJbmxpbmVCb3goKSkgewogICAg
ICAgICAgICAgLy8gVGV4dCB3cmFwcGVyIGJveGVzIChhbm9ueW1vdXMgaW5saW5lIGxldmVsIGJv
eGVzKSBhbmQgPGJyPnMgZG9uJ3QgZ2VuZXJhdGUgZGlzcGxheSBib3hlcyAob25seSBkaXNwbGF5
IHJ1bnMpLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>