<?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>202966</bug_id>
          
          <creation_ts>2019-10-14 21:10:31 -0700</creation_ts>
          <short_desc>[LFC] Adjust computed width value when box sizing is border-box</short_desc>
          <delta_ts>2019-10-15 08:09:11 -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>
          
          
          <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>1579974</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-14 21:10:31 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579975</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-14 21:10:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/56277954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579978</commentid>
    <comment_count>2</comment_count>
      <attachid>380958</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-10-14 21:13:09 -0700</bug_when>
    <thetext>Created attachment 380958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580102</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-15 08:09:11 -0700</bug_when>
    <thetext>Committed r251137: &lt;https://trac.webkit.org/changeset/251137&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380958</attachid>
            <date>2019-10-14 21:13:09 -0700</date>
            <delta_ts>2019-10-15 06:42:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202966-20191014211307.patch</filename>
            <type>text/plain</type>
            <size>24846</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmVjNDhlYWJlMDE0Zjkx
YzkxYWRlM2FjMzc0NWM5ZTc1NGJiZDNhOC4uMjU1ODQ3NGMzNjJlZTFhMWQ0ZGU5OTg0Yzk5MGUz
NGI2NWU3MzJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTEwLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRqdXN0IGNvbXB1
dGVkIHdpZHRoIHZhbHVlIHdoZW4gYm94IHNpemluZyBpcyBib3JkZXItYm94CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5NjYKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU2Mjc3OTU0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1lYW5zIHRoZSB3aWR0aCB2
YWx1ZSBzZXRzIHRoZSBzaXplIG9mIHRoZSBib3JkZXIgYm94IChhbmQgbm90IHRoZSBjb250ZW50
IGJveCkuICAKKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93
SG9yaXpvbnRhbEdlb21ldHJ5KToKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQu
aDoKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcHV0
ZWRDb250ZW50V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkTWluV2lkdGggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkTWF4
V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6Om91dE9mRmxvd05vblJlcGxhY2VkSG9yaXpvbnRhbEdlb21ldHJ5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9h
dGluZ05vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJn
aW4gY29uc3QpOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93
Tm9uUmVwbGFjZWRXaWR0aEFuZE1hcmdpbiBjb25zdCk6CisKIDIwMTktMTAtMTQgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBBZGp1c3QgY29tcHV0ZWQg
aGVpZ2h0IHZhbHVlIHdoZW4gYm94IHNpemluZyBpcyBib3JkZXItYm94CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAzOWFmZWVhMTUzMjQ0N2RmNjgw
Yjg1MmRjNDVjZDQ2MjVjYTQwODNjLi4xMzUxYmNiMWQ2MDZkMmRjZjBmNTc5ZDM4NjYyYTliN2Fl
MjA0MmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAK
QEAgLTg3LDEzICs4NywxMyBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZG
bG93SG9yaXpvbnRhbEdlb21ldHJ5KGNvbnN0IEJveCYgbGF5b3V0Qm94KQogICAgIH07CiAKICAg
ICBhdXRvIGhvcml6b250YWxHZW9tZXRyeSA9IGNvbXB1dGUoeyB9KTsKLSAgICBpZiAoYXV0byBt
YXhXaWR0aCA9IGdlb21ldHJ5KCkuY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhsYXlvdXRCb3guc3R5
bGUoKS5sb2dpY2FsTWF4V2lkdGgoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpKSB7CisgICAgaWYg
KGF1dG8gbWF4V2lkdGggPSBnZW9tZXRyeSgpLmNvbXB1dGVkTWF4V2lkdGgobGF5b3V0Qm94LCBj
b250YWluaW5nQmxvY2tXaWR0aCkpIHsKICAgICAgICAgYXV0byBtYXhIb3Jpem9udGFsR2VvbWV0
cnkgPSBjb21wdXRlKG1heFdpZHRoKTsKICAgICAgICAgaWYgKGhvcml6b250YWxHZW9tZXRyeS5j
b250ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoID4gbWF4SG9yaXpvbnRhbEdlb21ldHJ5
LmNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb250ZW50V2lkdGgpCiAgICAgICAgICAgICBob3Jpem9u
dGFsR2VvbWV0cnkgPSBtYXhIb3Jpem9udGFsR2VvbWV0cnk7CiAgICAgfQogCi0gICAgaWYgKGF1
dG8gbWluV2lkdGggPSBnZW9tZXRyeSgpLmNvbXB1dGVkVmFsdWVJZk5vdEF1dG8obGF5b3V0Qm94
LnN0eWxlKCkubG9naWNhbE1pbldpZHRoKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKSkgeworICAg
IGlmIChhdXRvIG1pbldpZHRoID0gZ2VvbWV0cnkoKS5jb21wdXRlZE1pbldpZHRoKGxheW91dEJv
eCwgY29udGFpbmluZ0Jsb2NrV2lkdGgpKSB7CiAgICAgICAgIGF1dG8gbWluSG9yaXpvbnRhbEdl
b21ldHJ5ID0gY29tcHV0ZShtaW5XaWR0aCk7CiAgICAgICAgIGlmIChob3Jpem9udGFsR2VvbWV0
cnkuY29udGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCA8IG1pbkhvcml6b250YWxHZW9t
ZXRyeS5jb250ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoKQogICAgICAgICAgICAgaG9y
aXpvbnRhbEdlb21ldHJ5ID0gbWluSG9yaXpvbnRhbEdlb21ldHJ5OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBkMDJjOGMyMTQzYjkyNTAzNmNiMWMxYTVj
ZGQ0NDhmYzllMzAwMTlkLi5lYjgyNGUzYTczNzNhZmU3MGVmMDdhZTJiODcxOGJkMWE5NTNiNzVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtMTMzLDYg
KzEzMyw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0
ZWRNaW5IZWlnaHQoY29uc3QgQm94JiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29udGFpbmluZ0Js
b2NrSGVpZ2h0ID0gV1RGOjpudWxsb3B0KSBjb25zdDsKICAgICAgICAgT3B0aW9uYWw8TGF5b3V0
VW5pdD4gY29tcHV0ZWRNYXhIZWlnaHQoY29uc3QgQm94JiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4g
Y29udGFpbmluZ0Jsb2NrSGVpZ2h0ID0gV1RGOjpudWxsb3B0KSBjb25zdDsKIAorICAgICAgICBP
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlZE1pbldpZHRoKGNvbnN0IEJveCYsIExheW91dFVu
aXQgY29udGFpbmluZ0Jsb2NrV2lkdGgpIGNvbnN0OworICAgICAgICBPcHRpb25hbDxMYXlvdXRV
bml0PiBjb21wdXRlZE1heFdpZHRoKGNvbnN0IEJveCYsIExheW91dFVuaXQgY29udGFpbmluZ0Js
b2NrV2lkdGgpIGNvbnN0OworCiAgICAgICAgIEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzIGNvbnN0cmFpbkJ5TWluTWF4V2lkdGgoY29uc3QgQm94JiwgSW50cmlu
c2ljV2lkdGhDb25zdHJhaW50cykgY29uc3Q7CiAKICAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50
SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYpIGNvbnN0OwpAQCAtMTQ0
LDYgKzE0Nyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgZW51bSBjbGFzcyBIZWlnaHRUeXBlIHsg
TWluLCBNYXgsIE5vcm1hbCB9OwogICAgICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRl
ZEhlaWdodFZhbHVlKGNvbnN0IEJveCYsIEhlaWdodFR5cGUsIE9wdGlvbmFsPExheW91dFVuaXQ+
IGNvbnRhaW5pbmdCbG9ja0hlaWdodCkgY29uc3Q7CiAgICAgICAgIE9wdGlvbmFsPExheW91dFVu
aXQ+IGNvbXB1dGVkQ29udGVudEhlaWdodChjb25zdCBCb3gmLCBPcHRpb25hbDxMYXlvdXRVbml0
PiBjb250YWluaW5nQmxvY2tIZWlnaHQgPSBXVEY6Om51bGxvcHQpIGNvbnN0OworICAgICAgICBP
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlZENvbnRlbnRXaWR0aChjb25zdCBCb3gmLCBMYXlv
dXRVbml0IGNvbnRhaW5pbmdCbG9ja1dpZHRoKSBjb25zdDsKIAogICAgICAgICBjb25zdCBMYXlv
dXRTdGF0ZSYgbGF5b3V0U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0
LmxheW91dFN0YXRlKCk7IH0KICAgICAgICAgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKCkgeyBy
ZXR1cm4gbV9mb3JtYXR0aW5nQ29udGV4dC5sYXlvdXRTdGF0ZSgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggZjU3
NmQ1NjM1YTZiNTFiZWY4MWE4Yzk1YjQ4ZWVkODRmNDk5ZjAxYy4uMGQ2MWQwZDM3NmEzZThkY2Nm
MzYwNGZlMDk5M2UwMDMwMjQ1MTI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtOTYsNiArOTYsMTcgQEAgT3B0aW9u
YWw8TGF5b3V0VW5pdD4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZENvbnRl
bnRIZWlnaHQoY29uc3QgQm8KICAgICByZXR1cm4geyB9OwogfQogCitPcHRpb25hbDxMYXlvdXRV
bml0PiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkQ29udGVudFdpZHRoKGNv
bnN0IEJveCYgbGF5b3V0Qm94LCBMYXlvdXRVbml0IGNvbnRhaW5pbmdCbG9ja1dpZHRoKSBjb25z
dAoreworICAgIGlmIChhdXRvIHdpZHRoID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhsYXlvdXRC
b3guc3R5bGUoKS5sb2dpY2FsV2lkdGgoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpKSB7CisgICAg
ICAgIGlmIChsYXlvdXRCb3guc3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNvbnRl
bnRCb3gpCisgICAgICAgICAgICByZXR1cm4gd2lkdGg7CisgICAgICAgIGF1dG8mIGJveEdlb21l
dHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOworICAg
ICAgICByZXR1cm4gKndpZHRoIC0gKGJveEdlb21ldHJ5Lmhvcml6b250YWxCb3JkZXIoKSArIGJv
eEdlb21ldHJ5Lmhvcml6b250YWxQYWRkaW5nKCkudmFsdWVPcigwKSk7CisgICAgfQorICAgIHJl
dHVybiB7IH07Cit9CisKIExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpj
b250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYgbGF5b3V0Qm94
KSBjb25zdAogewogICAgIEFTU0VSVChpc0hlaWdodEF1dG8obGF5b3V0Qm94KSAmJiAobGF5b3V0
Qm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVu
dEJveCgpKSk7CkBAIC0xOTEsNiArMjAyLDE2IEBAIE9wdGlvbmFsPExheW91dFVuaXQ+IEZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcHV0ZWRNaW5IZWlnaHQoY29uc3QgQm94JiBsCiAg
ICAgcmV0dXJuIHsgTGF5b3V0VW5pdCB7IH0gfTsKIH0KIAorT3B0aW9uYWw8TGF5b3V0VW5pdD4g
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZE1pbldpZHRoKGNvbnN0IEJveCYg
bGF5b3V0Qm94LCBMYXlvdXRVbml0IGNvbnRhaW5pbmdCbG9ja1dpZHRoKSBjb25zdAoreworICAg
IHJldHVybiBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxN
aW5XaWR0aCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCk7Cit9CisKK09wdGlvbmFsPExheW91dFVu
aXQ+IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcHV0ZWRNYXhXaWR0aChjb25zdCBC
b3gmIGxheW91dEJveCwgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tXaWR0aCkgY29uc3QKK3sK
KyAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhsYXlvdXRCb3guc3R5bGUoKS5sb2dp
Y2FsTWF4V2lkdGgoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOworfQorCiBMYXlvdXRVbml0IEZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6c3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91dE9m
Rmxvd1Bvc2l0aW9uZWQoY29uc3QgQm94JiBsYXlvdXRCb3gsIFVzZWRWZXJ0aWNhbFZhbHVlcyB1
c2VkVmVydGljYWxWYWx1ZXMpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSk7CkBAIC00MzEsMTggKzQ1MiwxMyBAQCBIb3Jpem9udGFsR2VvbWV0
cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZEhvcml6
b250YWxHZQogICAgIAogICAgIGF1dG8gbGVmdCA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5
bGUubG9naWNhbExlZnQoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwogICAgIGF1dG8gcmlnaHQg
PSBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKHN0eWxlLmxvZ2ljYWxSaWdodCgpLCBjb250YWluaW5n
QmxvY2tXaWR0aCk7Ci0gICAgYXV0byB3aWR0aCA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8odXNl
ZEhvcml6b250YWxWYWx1ZXMud2lkdGggPyBMZW5ndGggeyB1c2VkSG9yaXpvbnRhbFZhbHVlcy53
aWR0aC52YWx1ZSgpLCBGaXhlZCB9IDogc3R5bGUubG9naWNhbFdpZHRoKCksIGNvbnRhaW5pbmdC
bG9ja1dpZHRoKTsKKyAgICBhdXRvIHdpZHRoID0gdXNlZEhvcml6b250YWxWYWx1ZXMud2lkdGgg
PyB1c2VkSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA6IGNvbXB1dGVkQ29udGVudFdpZHRoKGxheW91
dEJveCwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwogICAgIGF1dG8gY29tcHV0ZWRIb3Jpem9udGFs
TWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbihsYXlvdXRCb3gsIHVz
ZWRIb3Jpem9udGFsVmFsdWVzKTsKICAgICBVc2VkSG9yaXpvbnRhbE1hcmdpbiB1c2VkSG9yaXpv
bnRhbE1hcmdpbjsKICAgICBhdXRvIHBhZGRpbmdMZWZ0ID0gYm94R2VvbWV0cnkucGFkZGluZ0xl
ZnQoKS52YWx1ZU9yKDApOwogICAgIGF1dG8gcGFkZGluZ1JpZ2h0ID0gYm94R2VvbWV0cnkucGFk
ZGluZ1JpZ2h0KCkudmFsdWVPcigwKTsKICAgICBhdXRvIGJvcmRlckxlZnQgPSBib3hHZW9tZXRy
eS5ib3JkZXJMZWZ0KCk7CiAgICAgYXV0byBib3JkZXJSaWdodCA9IGJveEdlb21ldHJ5LmJvcmRl
clJpZ2h0KCk7Ci0gICAgYXV0byBjb250ZW50V2lkdGggPSBbJl0gewotICAgICAgICBBU1NFUlQo
d2lkdGgpOwotICAgICAgICByZXR1cm4gc3R5bGUuYm94U2l6aW5nKCkgPT0gQm94U2l6aW5nOjpD
b250ZW50Qm94ID8gKndpZHRoIDogKndpZHRoIC0gKGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCAr
IHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0KTsKLSAgICB9OwotCiAgICAgaWYgKCFsZWZ0ICYm
ICF3aWR0aCAmJiAhcmlnaHQpIHsKICAgICAgICAgLy8gSWYgYWxsIHRocmVlIG9mICdsZWZ0Jywg
J3dpZHRoJywgYW5kICdyaWdodCcgYXJlICdhdXRvJzogRmlyc3Qgc2V0IGFueSAnYXV0bycgdmFs
dWVzIGZvciAnbWFyZ2luLWxlZnQnIGFuZCAnbWFyZ2luLXJpZ2h0JyB0byAwLgogICAgICAgICAv
LyBUaGVuLCBpZiB0aGUgJ2RpcmVjdGlvbicgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgZXN0YWJs
aXNoaW5nIHRoZSBzdGF0aWMtcG9zaXRpb24gY29udGFpbmluZyBibG9jayBpcyAnbHRyJyBzZXQg
J2xlZnQnIHRvIHRoZSBzdGF0aWMKQEAgLTQ2MSwzMSArNDc3LDMxIEBAIEhvcml6b250YWxHZW9t
ZXRyeSBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxvd05vblJlcGxhY2VkSG9y
aXpvbnRhbEdlCiAgICAgICAgIC8vIElmIHRoZSB2YWx1ZXMgYXJlIG92ZXItY29uc3RyYWluZWQs
IGlnbm9yZSB0aGUgdmFsdWUgZm9yICdsZWZ0JyAoaW4gY2FzZSB0aGUgJ2RpcmVjdGlvbicgcHJv
cGVydHkgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sgaXMgJ3J0bCcpIG9yICdyaWdodCcKICAgICAg
ICAgLy8gKGluIGNhc2UgJ2RpcmVjdGlvbicgaXMgJ2x0cicpIGFuZCBzb2x2ZSBmb3IgdGhhdCB2
YWx1ZS4KICAgICAgICAgaWYgKCFjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgJiYgIWNv
bXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5lbmQpIHsKLSAgICAgICAgICAgIGF1dG8gbWFyZ2luU3Rh
cnRBbmRFbmQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICgqbGVmdCArIGJvcmRlckxlZnQgKyBw
YWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQg
KyAqcmlnaHQpOworICAgICAgICAgICAgYXV0byBtYXJnaW5TdGFydEFuZEVuZCA9IGNvbnRhaW5p
bmdCbG9ja1dpZHRoIC0gKCpsZWZ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0ICsgKndpZHRo
ICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQgKyAqcmlnaHQpOwogICAgICAgICAgICAgaWYg
KG1hcmdpblN0YXJ0QW5kRW5kID49IDApCiAgICAgICAgICAgICAgICAgdXNlZEhvcml6b250YWxN
YXJnaW4gPSB7IG1hcmdpblN0YXJ0QW5kRW5kIC8gMiwgbWFyZ2luU3RhcnRBbmRFbmQgLyAyIH07
CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERp
cmVjdGlvbikgewogICAgICAgICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFy
dCA9IDBfbHU7Ci0gICAgICAgICAgICAgICAgICAgIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVuZCA9
IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKCpsZWZ0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uc3Rh
cnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250ZW50V2lkdGgoKSArIHBhZGRpbmdS
aWdodCArIGJvcmRlclJpZ2h0ICsgKnJpZ2h0KTsKKyAgICAgICAgICAgICAgICAgICAgdXNlZEhv
cml6b250YWxNYXJnaW4uZW5kID0gY29udGFpbmluZ0Jsb2NrV2lkdGggLSAoKmxlZnQgKyB1c2Vk
SG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0
aCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgKnJpZ2h0KTsKICAgICAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQg
PSAwX2x1OwotICAgICAgICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCA9
IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKCpsZWZ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0
ICsgY29udGVudFdpZHRoKCkgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jp
em9udGFsTWFyZ2luLmVuZCArICpyaWdodCk7CisgICAgICAgICAgICAgICAgICAgIHVzZWRIb3Jp
em9udGFsTWFyZ2luLnN0YXJ0ID0gY29udGFpbmluZ0Jsb2NrV2lkdGggLSAoKmxlZnQgKyBib3Jk
ZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyAqd2lkdGggKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdo
dCArIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVuZCArICpyaWdodCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKCFjb21wdXRlZEhvcml6b250YWxN
YXJnaW4uc3RhcnQpIHsKICAgICAgICAgICAgIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVuZCA9ICpj
b21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kOwotICAgICAgICAgICAgdXNlZEhvcml6b250YWxN
YXJnaW4uc3RhcnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICgqbGVmdCArIGJvcmRlckxlZnQg
KyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmln
aHQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQgKyAqcmlnaHQpOworICAgICAgICAgICAgdXNl
ZEhvcml6b250YWxNYXJnaW4uc3RhcnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICgqbGVmdCAr
IGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCArIGJvcmRl
clJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kICsgKnJpZ2h0KTsKICAgICAgICAgfSBl
bHNlIGlmICghY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZCkgewogICAgICAgICAgICAgdXNl
ZEhvcml6b250YWxNYXJnaW4uc3RhcnQgPSAqY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0
OwotICAgICAgICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kID0gY29udGFpbmluZ0Jsb2Nr
V2lkdGggLSAoKmxlZnQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxlZnQg
KyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmln
aHQgKyAqcmlnaHQpOworICAgICAgICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kID0gY29u
dGFpbmluZ0Jsb2NrV2lkdGggLSAoKmxlZnQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCAr
IGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCArIGJvcmRl
clJpZ2h0ICsgKnJpZ2h0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHVzZWRIb3Jp
em9udGFsTWFyZ2luID0geyAqY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0LCAqY29tcHV0
ZWRIb3Jpem9udGFsTWFyZ2luLmVuZCB9OwogICAgICAgICAgICAgLy8gT3ZlcmNvbnN0cmFpbmVk
PyBJZ25vcmUgcmlnaHQgKGxlZnQpLgogICAgICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24pCi0gICAgICAgICAgICAgICAgcmlnaHQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1
c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArICpsZWZ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdM
ZWZ0ICsgY29udGVudFdpZHRoKCkgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRI
b3Jpem9udGFsTWFyZ2luLmVuZCk7CisgICAgICAgICAgICAgICAgcmlnaHQgPSBjb250YWluaW5n
QmxvY2tXaWR0aCAtICh1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArICpsZWZ0ICsgYm9yZGVy
TGVmdCArIHBhZGRpbmdMZWZ0ICsgKndpZHRoICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQg
KyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIGxlZnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1c2VkSG9yaXpvbnRhbE1hcmdp
bi5zdGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFk
ZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQgKyAqcmln
aHQpOworICAgICAgICAgICAgICAgIGxlZnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1c2Vk
SG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0
aCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5k
ICsgKnJpZ2h0KTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE90aGVyd2lz
ZSwgc2V0ICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJnaW4tbGVmdCcgYW5kICdtYXJnaW4tcmlnaHQn
IHRvIDAsIGFuZCBwaWNrIHRoZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzaXggcnVsZXMgdGhhdCBh
cHBsaWVzLgpAQCAtNTA0LDEwICs1MjAsMTAgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2UKICAg
ICAgICAgYXV0byBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb24gPSBzdGF0aWNIb3Jpem9udGFsUG9z
aXRpb25Gb3JPdXRPZkZsb3dQb3NpdGlvbmVkKGxheW91dEJveCwgdXNlZEhvcml6b250YWxWYWx1
ZXMpOwogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbikgewogICAgICAgICAgICAg
bGVmdCA9IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbjsKLSAgICAgICAgICAgIHJpZ2h0ID0gY29u
dGFpbmluZ0Jsb2NrV2lkdGggLSAoKmxlZnQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCAr
IGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGluZ1JpZ2h0
ICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQpOworICAgICAgICAgICAg
cmlnaHQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICgqbGVmdCArIHVzZWRIb3Jpem9udGFsTWFy
Z2luLnN0YXJ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0ICsgKndpZHRoICsgcGFkZGluZ1Jp
Z2h0ICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQpOwogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgcmlnaHQgPSBzdGF0aWNIb3Jpem9udGFsUG9zaXRpb247Ci0g
ICAgICAgICAgICBsZWZ0ID0gY29udGFpbmluZ0Jsb2NrV2lkdGggLSAodXNlZEhvcml6b250YWxN
YXJnaW4uc3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250ZW50V2lkdGgoKSAr
IHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kICsg
KnJpZ2h0KTsKKyAgICAgICAgICAgIGxlZnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1c2Vk
SG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0
aCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5k
ICsgKnJpZ2h0KTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIXdpZHRoICYmICFyaWdodCAm
JiBsZWZ0KSB7CiAgICAgICAgIC8vICMzCkBAIC01MTgsMTMgKzUzNCwxMyBAQCBIb3Jpem9udGFs
R2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNl
ZEhvcml6b250YWxHZQogICAgICAgICByaWdodCA9IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKCps
ZWZ0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xl
ZnQgKyAqd2lkdGggKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jpem9udGFs
TWFyZ2luLmVuZCk7CiAgICAgfSBlbHNlIGlmICghbGVmdCAmJiB3aWR0aCAmJiByaWdodCkgewog
ICAgICAgICAvLyAjNAotICAgICAgICBsZWZ0ID0gY29udGFpbmluZ0Jsb2NrV2lkdGggLSAodXNl
ZEhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250
ZW50V2lkdGgoKSArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxN
YXJnaW4uZW5kICsgKnJpZ2h0KTsKKyAgICAgICAgbGVmdCA9IGNvbnRhaW5pbmdCbG9ja1dpZHRo
IC0gKHVzZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0ICsgYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0
ICsgKndpZHRoICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpvbnRhbE1h
cmdpbi5lbmQgKyAqcmlnaHQpOwogICAgIH0gZWxzZSBpZiAoIXdpZHRoICYmIGxlZnQgJiYgcmln
aHQpIHsKICAgICAgICAgLy8gIzUKICAgICAgICAgd2lkdGggPSBjb250YWluaW5nQmxvY2tXaWR0
aCAtICgqbGVmdCArIHVzZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0ICsgYm9yZGVyTGVmdCArIHBh
ZGRpbmdMZWZ0ICsgcGFkZGluZ1JpZ2h0ICsgYm9yZGVyUmlnaHQgKyB1c2VkSG9yaXpvbnRhbE1h
cmdpbi5lbmQgKyAqcmlnaHQpOwogICAgIH0gZWxzZSBpZiAoIXJpZ2h0ICYmIGxlZnQgJiYgd2lk
dGgpIHsKICAgICAgICAgLy8gIzYKLSAgICAgICAgcmlnaHQgPSBjb250YWluaW5nQmxvY2tXaWR0
aCAtICgqbGVmdCArIHVzZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0ICsgYm9yZGVyTGVmdCArIHBh
ZGRpbmdMZWZ0ICsgY29udGVudFdpZHRoKCkgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCAr
IHVzZWRIb3Jpem9udGFsTWFyZ2luLmVuZCk7CisgICAgICAgIHJpZ2h0ID0gY29udGFpbmluZ0Js
b2NrV2lkdGggLSAoKmxlZnQgKyB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJvcmRlckxl
ZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsg
dXNlZEhvcml6b250YWxNYXJnaW4uZW5kKTsKICAgICB9CiAKICAgICBBU1NFUlQobGVmdCk7CkBA
IC01MzgsNyArNTU0LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6b3V0T2ZGbG93Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2UKICAgICAqcmlnaHQgKz0g
Y29udGFpbmluZ0Jsb2NrUGFkZGluZ1ZlcnRpY2FsRWRnZTsKIAogICAgIExPR19XSVRIX1NUUkVB
TShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbUG9zaXRpb25dW1dpZHRoXVtN
YXJnaW5dIC0+IG91dC1vZi1mbG93IG5vbi1yZXBsYWNlZCAtPiBsZWZ0KCIgPDwgKmxlZnQgPDwg
InB4KSByaWdodCgiICA8PCAqcmlnaHQgPDwgInB4KSB3aWR0aCgiIDw8ICp3aWR0aCA8PCAicHgp
IG1hcmdpbigiIDw8IHVzZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0IDw8ICJweCwgIiAgPDwgdXNl
ZEhvcml6b250YWxNYXJnaW4uZW5kIDw8ICJweCkgbGF5b3V0Qm94KCIgPDwgJmxheW91dEJveCA8
PCAiKSIpOwotICAgIHJldHVybiB7ICpsZWZ0LCAqcmlnaHQsIHsgY29udGVudFdpZHRoKCksIHVz
ZWRIb3Jpem9udGFsTWFyZ2luLCBjb21wdXRlZEhvcml6b250YWxNYXJnaW4gfSB9OworICAgIHJl
dHVybiB7ICpsZWZ0LCAqcmlnaHQsIHsgKndpZHRoLCB1c2VkSG9yaXpvbnRhbE1hcmdpbiwgY29t
cHV0ZWRIb3Jpem9udGFsTWFyZ2luIH0gfTsKIH0KIAogVmVydGljYWxHZW9tZXRyeSBGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9tZXRyeShj
b25zdCBCb3gmIGxheW91dEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgdXNlZEhvcml6b250YWxW
YWx1ZXMsIFVzZWRWZXJ0aWNhbFZhbHVlcyB1c2VkVmVydGljYWxWYWx1ZXMpIGNvbnN0CkBAIC03
NzIsNyArNzg4LDcgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6ZmxvYXRpbmdOb25SZXBsYWNlZFdpZHRoQW5kTWEKICAgICAvLyAjMQogICAgIGF1
dG8gdXNlZEhvcml6b250YWxsTWFyZ2luID0gVXNlZEhvcml6b250YWxNYXJnaW4geyBjb21wdXRl
ZEhvcml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVPcigwKSwgY29tcHV0ZWRIb3Jpem9udGFsTWFy
Z2luLmVuZC52YWx1ZU9yKDApIH07CiAgICAgLy8gIzIKLSAgICBhdXRvIHdpZHRoID0gY29tcHV0
ZWRWYWx1ZUlmTm90QXV0byh1c2VkSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA/IExlbmd0aCB7IHVz
ZWRIb3Jpem9udGFsVmFsdWVzLndpZHRoLnZhbHVlKCksIEZpeGVkIH0gOiBsYXlvdXRCb3guc3R5
bGUoKS5sb2dpY2FsV2lkdGgoKSwgdXNlZEhvcml6b250YWxWYWx1ZXMuY29uc3RyYWludHMud2lk
dGgpOworICAgIGF1dG8gd2lkdGggPSB1c2VkSG9yaXpvbnRhbFZhbHVlcy53aWR0aCA/IHVzZWRI
b3Jpem9udGFsVmFsdWVzLndpZHRoIDogY29tcHV0ZWRDb250ZW50V2lkdGgobGF5b3V0Qm94LCB1
c2VkSG9yaXpvbnRhbFZhbHVlcy5jb25zdHJhaW50cy53aWR0aCk7CiAgICAgaWYgKCF3aWR0aCkK
ICAgICAgICAgd2lkdGggPSBzaHJpbmtUb0ZpdFdpZHRoKGxheW91dEJveCwgdXNlZEhvcml6b250
YWxWYWx1ZXMuY29uc3RyYWludHMud2lkdGgpOwogCkBAIC05MTAsOCArOTI2LDYgQEAgQ29udGVu
dFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFj
ZWRXaWR0aEFuZE1hcmdpbigKICAgICAvLyA1LiBPdGhlcndpc2UsIGlmICd3aWR0aCcgaGFzIGEg
Y29tcHV0ZWQgdmFsdWUgb2YgJ2F1dG8nLCBidXQgbm9uZSBvZiB0aGUgY29uZGl0aW9ucyBhYm92
ZSBhcmUgbWV0LCB0aGVuIHRoZSB1c2VkIHZhbHVlIG9mICd3aWR0aCcgYmVjb21lcyAzMDBweC4K
ICAgICAvLyAgICBJZiAzMDBweCBpcyB0b28gd2lkZSB0byBmaXQgdGhlIGRldmljZSwgVUFzIHNo
b3VsZCB1c2UgdGhlIHdpZHRoIG9mIHRoZSBsYXJnZXN0IHJlY3RhbmdsZSB0aGF0IGhhcyBhIDI6
MSByYXRpbyBhbmQgZml0cyB0aGUgZGV2aWNlIGluc3RlYWQuCiAKLSAgICBhdXRvJiBzdHlsZSA9
IGxheW91dEJveC5zdHlsZSgpOwotICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrV2lkdGggPSB1c2Vk
SG9yaXpvbnRhbFZhbHVlcy5jb25zdHJhaW50cy53aWR0aDsKICAgICBhdXRvIGNvbXB1dGVkSG9y
aXpvbnRhbE1hcmdpbiA9IEdlb21ldHJ5Ojpjb21wdXRlZEhvcml6b250YWxNYXJnaW4obGF5b3V0
Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAKICAgICBhdXRvIHVzZWRNYXJnaW5TdGFydCA9
IFsmXSB7CkBAIC05MjksNyArOTQzLDcgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRXaWR0aEFuZE1hcmdpbigKICAgICBh
dXRvIHJlcGxhY2VkID0gbGF5b3V0Qm94LnJlcGxhY2VkKCk7CiAgICAgQVNTRVJUKHJlcGxhY2Vk
KTsKIAotICAgIGF1dG8gd2lkdGggPSBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKHVzZWRIb3Jpem9u
dGFsVmFsdWVzLndpZHRoID8gTGVuZ3RoIHsgdXNlZEhvcml6b250YWxWYWx1ZXMud2lkdGgudmFs
dWUoKSwgRml4ZWQgfSA6IHN0eWxlLmxvZ2ljYWxXaWR0aCgpLCBjb250YWluaW5nQmxvY2tXaWR0
aCk7CisgICAgYXV0byB3aWR0aCA9IHVzZWRIb3Jpem9udGFsVmFsdWVzLndpZHRoID8gdXNlZEhv
cml6b250YWxWYWx1ZXMud2lkdGggOiBjb21wdXRlZENvbnRlbnRXaWR0aChsYXlvdXRCb3gsIHVz
ZWRIb3Jpem9udGFsVmFsdWVzLmNvbnN0cmFpbnRzLndpZHRoKTsKICAgICBhdXRvIGhlaWdodElz
QXV0byA9IGlzSGVpZ2h0QXV0byhsYXlvdXRCb3gpOwogICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0
ZWRDb250ZW50SGVpZ2h0KGxheW91dEJveCwgdXNlZFZlcnRpY2FsVmFsdWVzID8gdXNlZFZlcnRp
Y2FsVmFsdWVzLT5jb25zdHJhaW50cy5oZWlnaHQgOiBXVEY6Om51bGxvcHQpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA3ZjExZDE4YmFiNmI5OGVkY2U3NWJmNjAyMWI5
NzZjM2VmZTMwZTdkLi5iNjUzYTE3ZjZhZTYwMjRmOThlMWM3MTY2ZmZhYTU3ZDA4NWQ3NGFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTM3NCwxMyArMzc0LDEzIEBAIHZv
aWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBPcHRpb25hCiAKICAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9
IGNvbXB1dGUoeyB9KTsKIAotICAgIGlmIChhdXRvIG1heFdpZHRoID0gZ2VvbWV0cnkoKS5jb21w
dXRlZFZhbHVlSWZOb3RBdXRvKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLCBh
dmFpbGFibGVXaWR0aCkpIHsKKyAgICBpZiAoYXV0byBtYXhXaWR0aCA9IGdlb21ldHJ5KCkuY29t
cHV0ZWRNYXhXaWR0aChsYXlvdXRCb3gsIGF2YWlsYWJsZVdpZHRoKSkgewogICAgICAgICBhdXRv
IG1heFdpZHRoQW5kTWFyZ2luID0gY29tcHV0ZShtYXhXaWR0aCk7CiAgICAgICAgIGlmIChjb250
ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoID4gbWF4V2lkdGhBbmRNYXJnaW4uY29udGVu
dFdpZHRoKQogICAgICAgICAgICAgY29udGVudFdpZHRoQW5kTWFyZ2luID0gbWF4V2lkdGhBbmRN
YXJnaW47CiAgICAgfQogCi0gICAgYXV0byBtaW5XaWR0aCA9IGdlb21ldHJ5KCkuY29tcHV0ZWRW
YWx1ZUlmTm90QXV0byhsYXlvdXRCb3guc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSwgYXZhaWxh
YmxlV2lkdGgpLnZhbHVlT3IoMCk7CisgICAgYXV0byBtaW5XaWR0aCA9IGdlb21ldHJ5KCkuY29t
cHV0ZWRNaW5XaWR0aChsYXlvdXRCb3gsIGF2YWlsYWJsZVdpZHRoKS52YWx1ZU9yKDApOwogICAg
IGF1dG8gbWluV2lkdGhBbmRNYXJnaW4gPSBjb21wdXRlKG1pbldpZHRoKTsKICAgICBpZiAoY29u
dGVudFdpZHRoQW5kTWFyZ2luLmNvbnRlbnRXaWR0aCA8IG1pbldpZHRoQW5kTWFyZ2luLmNvbnRl
bnRXaWR0aCkKICAgICAgICAgY29udGVudFdpZHRoQW5kTWFyZ2luID0gbWluV2lkdGhBbmRNYXJn
aW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXgg
ZjI3NTEwOWVmYzk5N2M4MmFlOWM1NWZjYmYxM2I3YmU5YmRlZjIxNC4uZWQ4YTM4NjExNjdlODUz
NmNkNTE5YmQ4M2QyOWU5ZmUyYTM3NGMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTMyLDI1ICsxMzIsMjAgQEAgQ29udGVudFdpZHRoQW5k
TWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNl
ZFdpZHRoQW4KICAgICAgICAgLy8gNS4gSWYgYm90aCAnbWFyZ2luLWxlZnQnIGFuZCAnbWFyZ2lu
LXJpZ2h0JyBhcmUgJ2F1dG8nLCB0aGVpciB1c2VkIHZhbHVlcyBhcmUgZXF1YWwuIFRoaXMgaG9y
aXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgd2l0aCByZXNwZWN0IHRvIHRoZQogICAgICAg
ICAvLyAgICBlZGdlcyBvZiB0aGUgY29udGFpbmluZyBibG9jay4KIAotICAgICAgICBhdXRvJiBz
dHlsZSA9IGxheW91dEJveC5zdHlsZSgpOwogICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dp
ZHRoID0gdXNlZEhvcml6b250YWxWYWx1ZXMuY29uc3RyYWludHMud2lkdGg7CiAgICAgICAgIGF1
dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlv
dXRCb3gpOwogCi0gICAgICAgIGF1dG8gd2lkdGggPSBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKHVz
ZWRIb3Jpem9udGFsVmFsdWVzLndpZHRoID8gTGVuZ3RoIHsgdXNlZEhvcml6b250YWxWYWx1ZXMu
d2lkdGgudmFsdWUoKSwgRml4ZWQgfSA6IHN0eWxlLmxvZ2ljYWxXaWR0aCgpLCBjb250YWluaW5n
QmxvY2tXaWR0aCk7CisgICAgICAgIGF1dG8gd2lkdGggPSB1c2VkSG9yaXpvbnRhbFZhbHVlcy53
aWR0aCA/IHVzZWRIb3Jpem9udGFsVmFsdWVzLndpZHRoIDogY29tcHV0ZWRDb250ZW50V2lkdGgo
bGF5b3V0Qm94LCBjb250YWluaW5nQmxvY2tXaWR0aCk7CiAgICAgICAgIGF1dG8gY29tcHV0ZWRI
b3Jpem9udGFsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbihsYXlv
dXRCb3gsIHVzZWRIb3Jpem9udGFsVmFsdWVzKTsKICAgICAgICAgVXNlZEhvcml6b250YWxNYXJn
aW4gdXNlZEhvcml6b250YWxNYXJnaW47CiAgICAgICAgIGF1dG8gYm9yZGVyTGVmdCA9IGJveEdl
b21ldHJ5LmJvcmRlckxlZnQoKTsKICAgICAgICAgYXV0byBib3JkZXJSaWdodCA9IGJveEdlb21l
dHJ5LmJvcmRlclJpZ2h0KCk7CiAgICAgICAgIGF1dG8gcGFkZGluZ0xlZnQgPSBib3hHZW9tZXRy
eS5wYWRkaW5nTGVmdCgpLnZhbHVlT3IoMCk7CiAgICAgICAgIGF1dG8gcGFkZGluZ1JpZ2h0ID0g
Ym94R2VvbWV0cnkucGFkZGluZ1JpZ2h0KCkudmFsdWVPcigwKTsKLSAgICAgICAgYXV0byBjb250
ZW50V2lkdGggPSBbJl0gewotICAgICAgICAgICAgQVNTRVJUKHdpZHRoKTsKLSAgICAgICAgICAg
IHJldHVybiBzdHlsZS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNvbnRlbnRCb3ggPyAqd2lk
dGggOiAqd2lkdGggLSAoYm9yZGVyTGVmdCArIHBhZGRpbmdMZWZ0ICsgcGFkZGluZ1JpZ2h0ICsg
Ym9yZGVyUmlnaHQpOwotICAgICAgICB9OwogCiAgICAgICAgIC8vICMxCiAgICAgICAgIGlmICh3
aWR0aCkgewotICAgICAgICAgICAgYXV0byBob3Jpem9udGFsU3BhY2VGb3JNYXJnaW4gPSBjb250
YWluaW5nQmxvY2tXaWR0aCAtIChjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVP
cigwKSArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGlu
Z1JpZ2h0ICsgYm9yZGVyUmlnaHQgKyBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kLnZhbHVl
T3IoMCkpOworICAgICAgICAgICAgYXV0byBob3Jpem9udGFsU3BhY2VGb3JNYXJnaW4gPSBjb250
YWluaW5nQmxvY2tXaWR0aCAtIChjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVP
cigwKSArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCAr
IGJvcmRlclJpZ2h0ICsgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZC52YWx1ZU9yKDApKTsK
ICAgICAgICAgICAgIGlmIChob3Jpem9udGFsU3BhY2VGb3JNYXJnaW4gPCAwKQogICAgICAgICAg
ICAgICAgIHVzZWRIb3Jpem9udGFsTWFyZ2luID0geyBjb21wdXRlZEhvcml6b250YWxNYXJnaW4u
c3RhcnQudmFsdWVPcigwKSwgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZC52YWx1ZU9yKDAp
IH07CiAgICAgICAgIH0KQEAgLTE1OSwyMyArMTU0LDIzIEBAIENvbnRlbnRXaWR0aEFuZE1hcmdp
biBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRXaWR0
aEFuCiAgICAgICAgIGlmICh3aWR0aCAmJiBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQg
JiYgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZCkgewogICAgICAgICAgICAgaWYgKGxheW91
dEJveC5jb250YWluaW5nQmxvY2soKS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
IHsKICAgICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCA9ICpjb21wdXRl
ZEhvcml6b250YWxNYXJnaW4uc3RhcnQ7Ci0gICAgICAgICAgICAgICAgdXNlZEhvcml6b250YWxN
YXJnaW4uZW5kID0gY29udGFpbmluZ0Jsb2NrV2lkdGggLSAodXNlZEhvcml6b250YWxNYXJnaW4u
c3RhcnQgKyBib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250ZW50V2lkdGgoKSArIHBhZGRp
bmdSaWdodCArIGJvcmRlclJpZ2h0KTsKKyAgICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1h
cmdpbi5lbmQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1c2VkSG9yaXpvbnRhbE1hcmdpbi5z
dGFydCArIGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdodCAr
IGJvcmRlclJpZ2h0KTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgdXNl
ZEhvcml6b250YWxNYXJnaW4uZW5kID0gKmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5lbmQ7Ci0g
ICAgICAgICAgICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgPSBjb250YWluaW5nQmxv
Y2tXaWR0aCAtIChib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgKyBjb250ZW50V2lkdGgoKSArIHBh
ZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kKTsKKyAg
ICAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCA9IGNvbnRhaW5pbmdCbG9j
a1dpZHRoIC0gKGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCArICp3aWR0aCArIHBhZGRpbmdSaWdo
dCArIGJvcmRlclJpZ2h0ICsgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCiAgICAgICAgIC8vICMzCiAgICAgICAgIGlmICghY29tcHV0ZWRIb3Jp
em9udGFsTWFyZ2luLnN0YXJ0ICYmIHdpZHRoICYmIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5l
bmQpIHsKICAgICAgICAgICAgIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVuZCA9ICpjb21wdXRlZEhv
cml6b250YWxNYXJnaW4uZW5kOwotICAgICAgICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4uc3Rh
cnQgPSBjb250YWluaW5nQmxvY2tXaWR0aCAtIChib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgICsg
Y29udGVudFdpZHRoKCkgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jpem9u
dGFsTWFyZ2luLmVuZCk7CisgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCA9
IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKGJvcmRlckxlZnQgKyBwYWRkaW5nTGVmdCAgKyAqd2lk
dGggKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jpem9udGFsTWFyZ2luLmVu
ZCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0ICYm
ICF3aWR0aCAmJiBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kKSB7CiAgICAgICAgICAgICB1
c2VkSG9yaXpvbnRhbE1hcmdpbiA9IHsgKmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCwg
KmNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5lbmQgfTsKICAgICAgICAgICAgIHdpZHRoID0gY29u
dGFpbmluZ0Jsb2NrV2lkdGggLSAodXNlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJM
ZWZ0ICsgcGFkZGluZ0xlZnQgKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCArIHVzZWRIb3Jp
em9udGFsTWFyZ2luLmVuZCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY29tcHV0ZWRIb3Jpem9udGFs
TWFyZ2luLnN0YXJ0ICYmIHdpZHRoICYmICFjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5kKSB7
CiAgICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCA9ICpjb21wdXRlZEhvcml6
b250YWxNYXJnaW4uc3RhcnQ7Ci0gICAgICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbi5lbmQg
PSBjb250YWluaW5nQmxvY2tXaWR0aCAtICh1c2VkSG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGJv
cmRlckxlZnQgKyBwYWRkaW5nTGVmdCArIGNvbnRlbnRXaWR0aCgpICsgcGFkZGluZ1JpZ2h0ICsg
Ym9yZGVyUmlnaHQpOworICAgICAgICAgICAgdXNlZEhvcml6b250YWxNYXJnaW4uZW5kID0gY29u
dGFpbmluZ0Jsb2NrV2lkdGggLSAodXNlZEhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBib3JkZXJM
ZWZ0ICsgcGFkZGluZ0xlZnQgKyAqd2lkdGggKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCk7
CiAgICAgICAgIH0KIAogICAgICAgICAvLyAjNApAQCAtMTg2LDEzICsxODEsMTMgQEAgQ29udGVu
dFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dO
b25SZXBsYWNlZFdpZHRoQW4KIAogICAgICAgICAvLyAjNQogICAgICAgICBpZiAoIWNvbXB1dGVk
SG9yaXpvbnRhbE1hcmdpbi5zdGFydCAmJiAhY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLmVuZCkg
ewotICAgICAgICAgICAgYXV0byBob3Jpem9udGFsU3BhY2VGb3JNYXJnaW4gPSBjb250YWluaW5n
QmxvY2tXaWR0aCAtIChib3JkZXJMZWZ0ICsgcGFkZGluZ0xlZnQgICsgY29udGVudFdpZHRoKCkg
KyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCk7CisgICAgICAgICAgICBhdXRvIGhvcml6b250
YWxTcGFjZUZvck1hcmdpbiA9IGNvbnRhaW5pbmdCbG9ja1dpZHRoIC0gKGJvcmRlckxlZnQgKyBw
YWRkaW5nTGVmdCAgKyAqd2lkdGggKyBwYWRkaW5nUmlnaHQgKyBib3JkZXJSaWdodCk7CiAgICAg
ICAgICAgICB1c2VkSG9yaXpvbnRhbE1hcmdpbiA9IHsgaG9yaXpvbnRhbFNwYWNlRm9yTWFyZ2lu
IC8gMiwgaG9yaXpvbnRhbFNwYWNlRm9yTWFyZ2luIC8gMiB9OwogICAgICAgICB9CiAKICAgICAg
ICAgQVNTRVJUKHdpZHRoKTsKIAotICAgICAgICByZXR1cm4gQ29udGVudFdpZHRoQW5kTWFyZ2lu
IHsgY29udGVudFdpZHRoKCksIHVzZWRIb3Jpem9udGFsTWFyZ2luLCBjb21wdXRlZEhvcml6b250
YWxNYXJnaW4gfTsKKyAgICAgICAgcmV0dXJuIENvbnRlbnRXaWR0aEFuZE1hcmdpbiB7ICp3aWR0
aCwgdXNlZEhvcml6b250YWxNYXJnaW4sIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbiB9OwogICAg
IH07CiAKICAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IGNvbXB1dGUoKTsK
</data>
<flag name="review"
          id="396707"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>