<?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>202280</bug_id>
          
          <creation_ts>2019-09-26 13:15:48 -0700</creation_ts>
          <short_desc>[LFC][IFC] Move Line::Content::m_lineBox to Line.</short_desc>
          <delta_ts>2019-09-26 16:03:10 -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>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574597</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-09-26 13:15:48 -0700</bug_when>
    <thetext>This is in preparation for Line producing Display::Runs instead of custom Line::Runs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574598</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-26 13:16:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/55755798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574600</commentid>
    <comment_count>2</comment_count>
      <attachid>379671</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-26 13:19:29 -0700</bug_when>
    <thetext>Created attachment 379671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574670</commentid>
    <comment_count>3</comment_count>
      <attachid>379671</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 16:03:09 -0700</bug_when>
    <thetext>Comment on attachment 379671
Patch

Clearing flags on attachment: 379671

Committed r250404: &lt;https://trac.webkit.org/changeset/250404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574671</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 16:03:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379671</attachid>
            <date>2019-09-26 13:19:29 -0700</date>
            <delta_ts>2019-09-26 16:03:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202280-20190926131928.patch</filename>
            <type>text/plain</type>
            <size>18931</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAxOWZlOTA4NzRmMDhh
NDBlMTNjMWJlMzgyNzAxZDljM2ZmMTk2Zi4uMWY0MTVmMjM2YjgxNjA4ODMxNGQ2ZmEzZDQzNGZk
M2Y0MzQ1OGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE5LTA5LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIExp
bmU6OkNvbnRlbnQ6Om1fbGluZUJveCB0byBMaW5lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjgwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NTc1NTc5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBMaW5lIHByb2R1Y2luZyBEaXNwbGF5OjpSdW5z
IGluc3RlYWQgb2YgTGluZTo6UnVucy4KKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUxheW91dDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpMaW5lTGF5b3V0OjpwbGFjZUlubGluZUl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpsYXlvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5l
TGF5b3V0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUxheW91dDo6Y3JlYXRlRGlz
cGxheVJ1bnMpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lOjpyZW1vdmVUcmFpbGluZ1RyaW1tYWJsZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpMaW5lOjptb3ZlTG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjphcHBlbmROb25CcmVha2FibGVTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmU6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZTo6YXBwZW5kTm9uUmVwbGFjZWRJbmxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lOjphZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQpOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZTo6Q29udGVudDo6cnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmU6OmF2YWlsYWJsZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZTo6bGluZUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6Omxv
Z2ljYWxUb3AgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpsb2dpY2Fs
Qm90dG9tIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6bG9naWNhbExl
ZnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpsb2dpY2FsSGVpZ2h0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Y29udGVudExvZ2ljYWxX
aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmNvbnRlbnRMb2dp
Y2FsUmlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpiYXNlbGlu
ZU9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6
OmxpbmVCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
OjpDb250ZW50OjpsaW5lQm94KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZTo6Q29udGVudDo6c2V0TGluZUJveCk6IERlbGV0ZWQuCisKIDIwMTktMDktMjYgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIERlY291cGxl
IERpc3BsYXk6OlJ1biBhbmQgRGlzcGxheTo6Qm94IGluaXRpYWxpemF0aW9ucy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGY5NDY1ZTNjYzkzZDcyMmI3M2NmOGUyY2M2M2Qx
NDdmN2QzZjEzODcuLjIwYTA4OTI4ZjhkZjI3ZDFmMzg4NjNkMDA5MDhmMmI2ZThmMDVhZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjcsNyArNjcsNyBAQCBwcml2YXRl
OgogICAgICAgICBMYXlvdXRVbml0IHdpZHRoQ29uc3RyYWludCgpIGNvbnN0IHsgcmV0dXJuIG1f
dXNlZEhvcml6b250YWxWYWx1ZXMuY29uc3RyYWludHMud2lkdGg7IH0KIAogICAgICAgICBMaW5l
Q29udGVudCBwbGFjZUlubGluZUl0ZW1zKGNvbnN0IExpbmVJbnB1dCYpIGNvbnN0OwotICAgICAg
ICB2b2lkIGNyZWF0ZURpc3BsYXlSdW5zKGNvbnN0IExpbmU6OkNvbnRlbnQmLCBjb25zdCBWZWN0
b3I8V2Vha1B0cjxJbmxpbmVJdGVtPj4mIGZsb2F0cyk7CisgICAgICAgIHZvaWQgY3JlYXRlRGlz
cGxheVJ1bnMoY29uc3QgTGluZUNvbnRlbnQmKTsKICAgICAgICAgdm9pZCBhbGlnblJ1bnMoVGV4
dEFsaWduTW9kZSwgSW5saW5lUnVucyYsIHVuc2lnbmVkIGZpcnN0UnVuSW5kZXgsIExheW91dFVu
aXQgYXZhaWxhYmxlV2lkdGgpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0TGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwCmluZGV4IGEzZjE3OTY3Y2Q2
MTkwNjdhOTllYmQxNzEyMzhjNDYzNTFjOTM1MTcuLjY3MTg4MGVmZTcyN2Q1NTU2ZGMyZjQ2NTg1
MDQ5OGFlNjJhYjdmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHRMaW5lTGF5b3V0LmNwcApAQCAtOTQsNyArOTQsOCBAQCBzdHJ1Y3QgTGluZUlucHV0IHsKIHN0
cnVjdCBMaW5lQ29udGVudCB7CiAgICAgT3B0aW9uYWw8SW5kZXhBbmRSYW5nZT4gbGFzdENvbW1p
dHRlZDsKICAgICBWZWN0b3I8V2Vha1B0cjxJbmxpbmVJdGVtPj4gZmxvYXRzOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxMaW5lOjpDb250ZW50PiBydW5zOworICAgIHN0ZDo6dW5pcXVlX3B0cjxjb25z
dCBMaW5lOjpDb250ZW50PiBydW5zOworICAgIGNvbnN0IExpbmVCb3ggbGluZUJveDsKIH07CiAK
IGNsYXNzIExpbmVMYXlvdXQgewpAQCAtMTc0LDcgKzE3NSw3IEBAIExpbmVDb250ZW50IExpbmVM
YXlvdXQ6OmNsb3NlKCkKIHsKICAgICBBU1NFUlQobV9jb21taXR0ZWRJbmxpbmVJdGVtQ291bnQg
fHwgbV9saW5lSGFzSW50cnVzaXZlRmxvYXQpOwogICAgIGlmICghbV9jb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQpCi0gICAgICAgIHJldHVybiBMaW5lQ29udGVudCB7IFdURjo6bnVsbG9wdCwgV1RG
TW92ZShtX2Zsb2F0cyksIG1fbGluZS5jbG9zZSgpIH07CisgICAgICAgIHJldHVybiBMaW5lQ29u
dGVudCB7IFdURjo6bnVsbG9wdCwgV1RGTW92ZShtX2Zsb2F0cyksIG1fbGluZS5jbG9zZSgpLCBt
X2xpbmUubGluZUJveCgpIH07CiAKICAgICBhdXRvIGxhc3RJbmxpbmVJdGVtSW5kZXggPSBtX2xp
bmVJbnB1dC5maXJzdElubGluZUl0ZW0uaW5kZXggKyBtX2NvbW1pdHRlZElubGluZUl0ZW1Db3Vu
dCAtIDE7CiAgICAgT3B0aW9uYWw8SW5kZXhBbmRSYW5nZTo6UmFuZ2U+IHBhcnRpYWxDb250ZXh0
OwpAQCAtMTgyLDEzICsxODMsMTMgQEAgTGluZUNvbnRlbnQgTGluZUxheW91dDo6Y2xvc2UoKQog
ICAgICAgICBwYXJ0aWFsQ29udGV4dCA9IEluZGV4QW5kUmFuZ2U6OlJhbmdlIHsgbV90cmFpbGlu
Z1BhcnRpYWxJbmxpbmVUZXh0SXRlbS0+c3RhcnQoKSwgbV90cmFpbGluZ1BhcnRpYWxJbmxpbmVU
ZXh0SXRlbS0+bGVuZ3RoKCkgfTsKIAogICAgIGF1dG8gbGFzdENvbW1pdGVkSXRlbSA9IEluZGV4
QW5kUmFuZ2UgeyBsYXN0SW5saW5lSXRlbUluZGV4LCBwYXJ0aWFsQ29udGV4dCB9OwotICAgIHJl
dHVybiBMaW5lQ29udGVudCB7IGxhc3RDb21taXRlZEl0ZW0sIFdURk1vdmUobV9mbG9hdHMpLCBt
X2xpbmUuY2xvc2UoKSB9OworICAgIHJldHVybiBMaW5lQ29udGVudCB7IGxhc3RDb21taXRlZEl0
ZW0sIFdURk1vdmUobV9mbG9hdHMpLCBtX2xpbmUuY2xvc2UoKSwgbV9saW5lLmxpbmVCb3goKSB9
OwogfQogCiBMaW5lTGF5b3V0OjpJc0VuZE9mTGluZSBMaW5lTGF5b3V0OjpwbGFjZUlubGluZUl0
ZW0oY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkKIHsKICAgICBhdXRvIGF2YWlsYWJsZVdp
ZHRoID0gbV9saW5lLmF2YWlsYWJsZVdpZHRoKCkgLSBtX3VuY29tbWl0dGVkQ29udGVudC53aWR0
aCgpOwotICAgIGF1dG8gY3VycmVudExvZ2ljYWxSaWdodCA9IG1fbGluZS5jb250ZW50TG9naWNh
bFJpZ2h0KCkgKyBtX3VuY29tbWl0dGVkQ29udGVudC53aWR0aCgpOworICAgIGF1dG8gY3VycmVu
dExvZ2ljYWxSaWdodCA9IG1fbGluZS5saW5lQm94KCkubG9naWNhbFJpZ2h0KCkgKyBtX3VuY29t
bWl0dGVkQ29udGVudC53aWR0aCgpOwogICAgIGF1dG8gaXRlbUxvZ2ljYWxXaWR0aCA9IGlubGlu
ZUl0ZW1XaWR0aChmb3JtYXR0aW5nQ29udGV4dCgpLCBpbmxpbmVJdGVtLCBjdXJyZW50TG9naWNh
bFJpZ2h0KTsKIAogICAgIC8vIEZJWE1FOiBFbnN1cmUgTGluZUNvbnRleHQ6OnRyaW1tYWJsZVdp
ZHRoIGluY2x1ZGVzIHVuY29tbWl0dGVkIGNvbnRlbnQgaWYgbmVlZGVkLgpAQCAtMjg0LDExICsy
ODUsMTEgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpsYXlv
dXQoY29uc3QgSW5saW5lSXRlbXMmIGlubGluZUl0ZW0KICAgICAgICAgYXV0byBsaW5lTGF5b3V0
ID0gTGluZUxheW91dCB7IGZvcm1hdHRpbmdDb250ZXh0KCksIGxpbmVJbnB1dCB9OwogCiAgICAg
ICAgIGF1dG8gbGluZUNvbnRlbnQgPSBsaW5lTGF5b3V0LmxheW91dCgpOwotICAgICAgICBjcmVh
dGVEaXNwbGF5UnVucygqbGluZUNvbnRlbnQucnVucywgbGluZUNvbnRlbnQuZmxvYXRzKTsKKyAg
ICAgICAgY3JlYXRlRGlzcGxheVJ1bnMobGluZUNvbnRlbnQpOwogCiAgICAgICAgIGlmIChsaW5l
Q29udGVudC5sYXN0Q29tbWl0dGVkKSB7CiAgICAgICAgICAgICBjdXJyZW50SW5saW5lSXRlbSA9
IHsgbGluZUNvbnRlbnQubGFzdENvbW1pdHRlZC0+aW5kZXggKyAxLCBXVEY6Om51bGxvcHQgfTsK
LSAgICAgICAgICAgIGxpbmVMb2dpY2FsVG9wID0gbGluZUNvbnRlbnQucnVucy0+bGluZUJveCgp
LmxvZ2ljYWxCb3R0b20oKTsKKyAgICAgICAgICAgIGxpbmVMb2dpY2FsVG9wID0gbGluZUNvbnRl
bnQubGluZUJveC5sb2dpY2FsQm90dG9tKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAvLyBGbG9hdHMgcHJldmVudGVkIHVzIHBsYWNpbmcgYW55IGNvbnRlbnQgb24gdGhlIGxpbmUu
CiAgICAgICAgICAgICBBU1NFUlQobGluZUlucHV0LmluaXRpYWxDb25zdHJhaW50cy5saW5lSXND
b25zdHJhaW5lZEJ5RmxvYXQpOwpAQCAtMzUyLDIzICszNTMsMjMgQEAgTGF5b3V0VW5pdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRo
KGNvbnN0IEkKICAgICAgICAgTGF5b3V0VW5pdCBmbG9hdHNXaWR0aDsKICAgICAgICAgZm9yIChh
dXRvJiBmbG9hdEl0ZW0gOiBsaW5lQ29udGVudC5mbG9hdHMpCiAgICAgICAgICAgICBmbG9hdHNX
aWR0aCArPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChmbG9hdEl0ZW0tPmxheW91
dEJveCgpKS5tYXJnaW5Cb3hXaWR0aCgpOwotICAgICAgICBtYXhpbXVtTGluZVdpZHRoID0gc3Rk
OjptYXgobWF4aW11bUxpbmVXaWR0aCwgZmxvYXRzV2lkdGggKyBsaW5lQ29udGVudC5ydW5zLT5s
aW5lQm94KCkubG9naWNhbFdpZHRoKCkpOworICAgICAgICBtYXhpbXVtTGluZVdpZHRoID0gc3Rk
OjptYXgobWF4aW11bUxpbmVXaWR0aCwgZmxvYXRzV2lkdGggKyBsaW5lQ29udGVudC5saW5lQm94
LmxvZ2ljYWxXaWR0aCgpKTsKICAgICB9CiAgICAgcmV0dXJuIG1heGltdW1MaW5lV2lkdGg7CiB9
CiAKLXZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUxheW91dDo6Y3JlYXRlRGlz
cGxheVJ1bnMoY29uc3QgTGluZTo6Q29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IFZlY3RvcjxX
ZWFrUHRyPElubGluZUl0ZW0+PiYgZmxvYXRzKQordm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyhjb25zdCBMaW5lQ29udGVudCYgbGlu
ZUNvbnRlbnQpCiB7CiAgICAgYXV0byYgZm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3JtYXR0
aW5nQ29udGV4dCgpOwogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IHRoaXMtPmZvcm1hdHRp
bmdTdGF0ZSgpOwogICAgIGF1dG8gZmxvYXRpbmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsg
Zm9ybWF0dGluZ1Jvb3QoKSwgZm9ybWF0dGluZ0NvbnRleHQsIGZvcm1hdHRpbmdTdGF0ZS5mbG9h
dGluZ1N0YXRlKCkgfTsKIAogICAgIC8vIE1vdmUgZmxvYXRzIHRvIHRoZWlyIGZpbmFsIHBvc2l0
aW9uLgotICAgIGZvciAoY29uc3QgYXV0byYgZmxvYXRJdGVtIDogZmxvYXRzKSB7CisgICAgZm9y
IChjb25zdCBhdXRvJiBmbG9hdEl0ZW0gOiBsaW5lQ29udGVudC5mbG9hdHMpIHsKICAgICAgICAg
YXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0ZW0tPmxheW91dEJveCgpOwogICAgICAgICBhdXRvJiBk
aXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRlLmRpc3BsYXlCb3goZmxvYXRCb3gpOwogICAgICAg
ICAvLyBTZXQgc3RhdGljIHBvc2l0aW9uIGZpcnN0LgotICAgICAgICBhdXRvJiBsaW5lQm94ID0g
bGluZUNvbnRlbnQubGluZUJveCgpOworICAgICAgICBhdXRvJiBsaW5lQm94ID0gbGluZUNvbnRl
bnQubGluZUJveDsKICAgICAgICAgZGlzcGxheUJveC5zZXRUb3BMZWZ0KHsgbGluZUJveC5sb2dp
Y2FsTGVmdCgpLCBsaW5lQm94LmxvZ2ljYWxUb3AoKSB9KTsKICAgICAgICAgLy8gRmxvYXQgaXQu
CiAgICAgICAgIGRpc3BsYXlCb3guc2V0VG9wTGVmdChmbG9hdGluZ0NvbnRleHQucG9zaXRpb25G
b3JGbG9hdChmbG9hdEJveCkpOwpAQCAtMzgxLDcgKzM4Miw3IEBAIHZvaWQgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6OklubGluZUxheW91dDo6Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZTo6
Q29udGVuCiAgICAgLy8gQSBsaW5lIGJveCBpcyBhbHdheXMgdGFsbCBlbm91Z2ggZm9yIGFsbCBv
ZiB0aGUgYm94ZXMgaXQgY29udGFpbnMuCiAKICAgICAvLyBDcmVhdGUgZmluYWwgZGlzcGxheSBy
dW5zLgotICAgIGF1dG8mIGxpbmVSdW5zID0gbGluZUNvbnRlbnQucnVucygpOworICAgIGF1dG8m
IGxpbmVSdW5zID0gbGluZUNvbnRlbnQucnVucy0+cnVucygpOwogICAgIGZvciAodW5zaWduZWQg
aW5kZXggPSAwOyBpbmRleCA8IGxpbmVSdW5zLnNpemUoKTsgKytpbmRleCkgewogICAgICAgICBh
dXRvJiBydW4gPSBsaW5lUnVucy5hdChpbmRleCk7CiAgICAgICAgIC8vIElubGluZSBsZXZlbCBj
b250YWluZXJzICg8c3Bhbj4pIGRvbid0IGdlbmVyYXRlIGlubGluZSBydW5zLgpAQCAtNDc4LDgg
KzQ3OSw4IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUxheW91dDo6Y3Jl
YXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZTo6Q29udGVuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH0KICAgICAvLyBGSVhNRSBsaW5lYm94IG5lZWRzIHRvIGJlIGFqdXN0ZWQg
YWZ0ZXIgY29udGVudCBhbGlnbm1lbnQuCi0gICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3go
bGluZUNvbnRlbnQubGluZUJveCgpKTsKLSAgICBhbGlnblJ1bnMoZm9ybWF0dGluZ1Jvb3QoKS5z
dHlsZSgpLnRleHRBbGlnbigpLCBpbmxpbmVEaXNwbGF5UnVucywgcHJldmlvdXNMaW5lTGFzdFJ1
bkluZGV4LnZhbHVlT3IoLTEpICsgMSwgd2lkdGhDb25zdHJhaW50KCkgLSBsaW5lQ29udGVudC5s
aW5lQm94KCkubG9naWNhbFdpZHRoKCkpOworICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94
KGxpbmVDb250ZW50LmxpbmVCb3gpOworICAgIGFsaWduUnVucyhmb3JtYXR0aW5nUm9vdCgpLnN0
eWxlKCkudGV4dEFsaWduKCksIGlubGluZURpc3BsYXlSdW5zLCBwcmV2aW91c0xpbmVMYXN0UnVu
SW5kZXgudmFsdWVPcigtMSkgKyAxLCB3aWR0aENvbnN0cmFpbnQoKSAtIGxpbmVDb250ZW50Lmxp
bmVCb3gubG9naWNhbFdpZHRoKCkpOwogfQogCiBzdGF0aWMgT3B0aW9uYWw8TGF5b3V0VW5pdD4g
aG9yaXpvbnRhbEFkanVzdG1lbnRGb3JBbGlnbm1lbnQoVGV4dEFsaWduTW9kZSBhbGlnbiwgTGF5
b3V0VW5pdCByZW1haW5pbmdXaWR0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAKaW5kZXggMjkyMjAzY2M1ZGU1YjhmYzFm
NTY1MzZiNWVjOTNlODE3MmViYmQ3Yy4uODNlNWNhMzlhYTA3NzhmYTkxNTYyYTFkMzRlNDJkMTIx
ZGE0YjgxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZS5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgTGluZTo6TGluZShjb25zdCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGNvbnN0IElu
aXRpYWwKIHsKICAgICBhdXRvIGxpbmVSZWN0ID0gRGlzcGxheTo6UmVjdCB7IGluaXRpYWxDb25z
dHJhaW50cy5sb2dpY2FsVG9wTGVmdCwgeyB9LCBpbml0aWFsQ29uc3RyYWludHMuaGVpZ2h0QW5k
QmFzZWxpbmUuaGVpZ2h0IH07CiAgICAgYXV0byBiYXNlbGluZSA9IExpbmVCb3g6OkJhc2VsaW5l
IHsgaW5pdGlhbENvbnN0cmFpbnRzLmhlaWdodEFuZEJhc2VsaW5lLmJhc2VsaW5lT2Zmc2V0LCBp
bml0aWFsQ29uc3RyYWludHMuaGVpZ2h0QW5kQmFzZWxpbmUuaGVpZ2h0IC0gaW5pdGlhbENvbnN0
cmFpbnRzLmhlaWdodEFuZEJhc2VsaW5lLmJhc2VsaW5lT2Zmc2V0IH07Ci0gICAgbV9jb250ZW50
LT5zZXRMaW5lQm94KExpbmVCb3ggeyBsaW5lUmVjdCwgYmFzZWxpbmUsIHsgfSB9KTsKKyAgICBt
X2xpbmVCb3ggPSBMaW5lQm94IHsgbGluZVJlY3QsIGJhc2VsaW5lLCB7IH0gfTsKIH0KIAogc3Rh
dGljIGJvb2wgaXNJbmxpbmVDb250YWluZXJDb25zaWRlcmVkRW1wdHkoY29uc3QgRm9ybWF0dGlu
Z0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKQEAgLTEw
MiwxOCArMTAyLDE3IEBAIGJvb2wgTGluZTo6aXNWaXN1YWxseUVtcHR5KCkgY29uc3QKIHN0ZDo6
dW5pcXVlX3B0cjxMaW5lOjpDb250ZW50PiBMaW5lOjpjbG9zZSgpCiB7CiAgICAgcmVtb3ZlVHJh
aWxpbmdUcmltbWFibGVDb250ZW50KCk7Ci0gICAgYXV0byYgbGluZUJveCA9IG1fY29udGVudC0+
bGluZUJveCgpOwogICAgIGlmICghbV9za2lwVmVydGljYWxBbGlnbWVudCkgewogICAgICAgICBp
ZiAoaXNWaXN1YWxseUVtcHR5KCkpIHsKLSAgICAgICAgICAgIGxpbmVCb3guYmFzZWxpbmUoKS5y
ZXNldCgpOwotICAgICAgICAgICAgbGluZUJveC5zZXRCYXNlbGluZU9mZnNldCh7IH0pOwotICAg
ICAgICAgICAgbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0KHsgfSk7CisgICAgICAgICAgICBtX2xp
bmVCb3guYmFzZWxpbmUoKS5yZXNldCgpOworICAgICAgICAgICAgbV9saW5lQm94LnNldEJhc2Vs
aW5lT2Zmc2V0KHsgfSk7CisgICAgICAgICAgICBtX2xpbmVCb3guc2V0TG9naWNhbEhlaWdodCh7
IH0pOwogICAgICAgICB9CiAKICAgICAgICAgLy8gUmVtb3ZlIGRlc2NlbnQgd2hlbiBhbGwgY29u
dGVudCBpcyBiYXNlbGluZSBhbGlnbmVkIGJ1dCBub25lIG9mIHRoZW0gaGF2ZSBkZXNjZW50Lgog
ICAgICAgICBpZiAoZm9ybWF0dGluZ0NvbnRleHQoKS5xdWlya3MoKS5saW5lRGVzY2VudE5lZWRz
Q29sbGFwc2luZygqbV9jb250ZW50KSkgewotICAgICAgICAgICAgbGluZUJveC5zaHJpbmtWZXJ0
aWNhbGx5KGxpbmVCb3guYmFzZWxpbmUoKS5kZXNjZW50KCkpOwotICAgICAgICAgICAgbGluZUJv
eC5iYXNlbGluZSgpLnNldERlc2NlbnQoeyB9KTsKKyAgICAgICAgICAgIG1fbGluZUJveC5zaHJp
bmtWZXJ0aWNhbGx5KG1fbGluZUJveC5iYXNlbGluZSgpLmRlc2NlbnQoKSk7CisgICAgICAgICAg
ICBtX2xpbmVCb3guYmFzZWxpbmUoKS5zZXREZXNjZW50KHsgfSk7CiAgICAgICAgIH0KIAogICAg
ICAgICBhdXRvJiBsYXlvdXRTdGF0ZSA9IHRoaXMtPmxheW91dFN0YXRlKCk7CkBAIC0xNjgsNyAr
MTY3LDcgQEAgdm9pZCBMaW5lOjpyZW1vdmVUcmFpbGluZ1RyaW1tYWJsZUNvbnRlbnQoKQogICAg
ICAgICB0cmltbWFibGVSdW4tPnNldFRleHRJc0NvbGxhcHNlZCgpOwogICAgICAgICB0cmltbWFi
bGVXaWR0aCArPSB0cmltbWFibGVSdW4tPmxvZ2ljYWxSZWN0KCkud2lkdGgoKTsKICAgICB9Ci0g
ICAgbV9jb250ZW50LT5saW5lQm94KCkuc2hyaW5rSG9yaXpvbnRhbGx5KHRyaW1tYWJsZVdpZHRo
KTsKKyAgICBtX2xpbmVCb3guc2hyaW5rSG9yaXpvbnRhbGx5KHRyaW1tYWJsZVdpZHRoKTsKIH0K
IAogdm9pZCBMaW5lOjptb3ZlTG9naWNhbExlZnQoTGF5b3V0VW5pdCBkZWx0YSkKQEAgLTE3Niw3
ICsxNzUsNyBAQCB2b2lkIExpbmU6Om1vdmVMb2dpY2FsTGVmdChMYXlvdXRVbml0IGRlbHRhKQog
ICAgIGlmICghZGVsdGEpCiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQoZGVsdGEgPiAwKTsK
LSAgICBtX2NvbnRlbnQtPmxpbmVCb3goKS5tb3ZlSG9yaXpvbnRhbGx5KGRlbHRhKTsKKyAgICBt
X2xpbmVCb3gubW92ZUhvcml6b250YWxseShkZWx0YSk7CiAgICAgbV9saW5lTG9naWNhbFdpZHRo
IC09IGRlbHRhOwogfQogCkBAIC0yMTQsNyArMjEzLDcgQEAgdm9pZCBMaW5lOjphcHBlbmQoY29u
c3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB2b2lk
IExpbmU6OmFwcGVuZE5vbkJyZWFrYWJsZVNwYWNlKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0
ZW0sIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogewogICAgIG1fY29udGVudC0+
cnVucygpLmFwcGVuZChtYWtlVW5pcXVlPENvbnRlbnQ6OlJ1bj4oaW5saW5lSXRlbSwgbG9naWNh
bFJlY3QpKTsKLSAgICBtX2NvbnRlbnQtPmxpbmVCb3goKS5leHBhbmRIb3Jpem9udGFsbHkobG9n
aWNhbFJlY3Qud2lkdGgoKSk7CisgICAgbV9saW5lQm94LmV4cGFuZEhvcml6b250YWxseShsb2dp
Y2FsUmVjdC53aWR0aCgpKTsKIH0KIAogdm9pZCBMaW5lOjphcHBlbmRJbmxpbmVDb250YWluZXJT
dGFydChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0
aCkKQEAgLTI4OCw3ICsyODcsNyBAQCB2b2lkIExpbmU6OmFwcGVuZFRleHRDb250ZW50KGNvbnN0
IElubGluZVRleHRJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxvZ2ljYQogCiAgICAgbV9j
b250ZW50LT5ydW5zKCkuYXBwZW5kKFdURk1vdmUobGluZUl0ZW0pKTsKICAgICBpZiAoIWlzQ29t
cGxldGVseUNvbGxhcHNlZCkKLSAgICAgICAgbV9jb250ZW50LT5saW5lQm94KCkuZXhwYW5kSG9y
aXpvbnRhbGx5KGxvZ2ljYWxXaWR0aCk7CisgICAgICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9u
dGFsbHkobG9naWNhbFdpZHRoKTsKIH0KIAogdm9pZCBMaW5lOjphcHBlbmROb25SZXBsYWNlZElu
bGluZUJveChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0IGxvZ2ljYWxX
aWR0aCkKQEAgLTMwNSw3ICszMDQsNyBAQCB2b2lkIExpbmU6OmFwcGVuZE5vblJlcGxhY2VkSW5s
aW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbAogICAgIH0K
IAogICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZChtYWtlVW5pcXVlPENvbnRlbnQ6OlJ1bj4o
aW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsKLSAgICBtX2NvbnRlbnQtPmxpbmVCb3goKS5leHBh
bmRIb3Jpem9udGFsbHkobG9naWNhbFdpZHRoICsgaG9yaXpvbnRhbE1hcmdpbi5zdGFydCArIGhv
cml6b250YWxNYXJnaW4uZW5kKTsKKyAgICBtX2xpbmVCb3guZXhwYW5kSG9yaXpvbnRhbGx5KGxv
Z2ljYWxXaWR0aCArIGhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBob3Jpem9udGFsTWFyZ2luLmVu
ZCk7CiAgICAgbV90cmltbWFibGVDb250ZW50LmNsZWFyKCk7CiB9CiAKQEAgLTMzMiw4ICszMzEs
NyBAQCB2b2lkIExpbmU6OmFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChjb25zdCBJbmxpbmVJ
dGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0CiAgICAgQVNTRVJUKCFpbmxpbmVJdGVtLmlzQ29u
dGFpbmVyRW5kKCkpOwogICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUl0ZW0ubGF5b3V0Qm94
KCk7CiAgICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKLSAgICBhdXRvJiBsaW5l
Qm94ID0gbV9jb250ZW50LT5saW5lQm94KCk7Ci0gICAgYXV0byYgYmFzZWxpbmUgPSBsaW5lQm94
LmJhc2VsaW5lKCk7CisgICAgYXV0byYgYmFzZWxpbmUgPSBtX2xpbmVCb3guYmFzZWxpbmUoKTsK
IAogICAgIGlmIChpbmxpbmVJdGVtLmlzQ29udGFpbmVyU3RhcnQoKSkgewogICAgICAgICAvLyBJ
bmxpbmUgY29udGFpbmVycyBzdHJldGNoIHRoZSBsaW5lIGJ5IHRoZWlyIGZvbnQgc2l6ZS4KQEAg
LTM1MCw3ICszNDgsNyBAQCB2b2lkIExpbmU6OmFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChj
b25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBMYXlvdXRVbml0CiAgICAgICAgICAgICBjb250
ZW50SGVpZ2h0ID0gYmFzZWxpbmUuaGVpZ2h0KCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAg
ICAgY29udGVudEhlaWdodCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwotICAgICAgICBsaW5lQm94
LnNldExvZ2ljYWxIZWlnaHRJZkdyZWF0ZXIoY29udGVudEhlaWdodCwgTGluZUJveDo6QWRqdXN0
QmFzZWxpbmU6Olllcyk7CisgICAgICAgIG1fbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0SWZHcmVh
dGVyKGNvbnRlbnRIZWlnaHQsIExpbmVCb3g6OkFkanVzdEJhc2VsaW5lOjpZZXMpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0zNjEsNyArMzU5LDcgQEAgdm9pZCBMaW5lOjphZGp1c3RC
YXNlbGluZUFuZExpbmVIZWlnaHQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0
VW5pdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBiYXNlbGluZS5zZXRBc2NlbnRJZkdy
ZWF0ZXIobV9pbml0aWFsU3RydXQtPmFzY2VudCgpKTsKICAgICAgICAgYmFzZWxpbmUuc2V0RGVz
Y2VudElmR3JlYXRlcihtX2luaXRpYWxTdHJ1dC0+ZGVzY2VudCgpKTsKLSAgICAgICAgbGluZUJv
eC5zZXRMb2dpY2FsSGVpZ2h0SWZHcmVhdGVyKGJhc2VsaW5lLmhlaWdodCgpLCBMaW5lQm94OjpB
ZGp1c3RCYXNlbGluZTo6WWVzKTsKKyAgICAgICAgbV9saW5lQm94LnNldExvZ2ljYWxIZWlnaHRJ
ZkdyZWF0ZXIoYmFzZWxpbmUuaGVpZ2h0KCksIExpbmVCb3g6OkFkanVzdEJhc2VsaW5lOjpZZXMp
OwogICAgICAgICBtX2luaXRpYWxTdHJ1dCA9IHsgfTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
QEAgLTM3OSwxNiArMzc3LDE2IEBAIHZvaWQgTGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVp
Z2h0KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGJhc2VsaW5lLnNldEFzY2VudElmR3JlYXRlcihuZXdCYXNlbGluZUNh
bmRpZGF0ZS5hc2NlbnQoKSk7CiAgICAgICAgICAgICBiYXNlbGluZS5zZXREZXNjZW50SWZHcmVh
dGVyKG5ld0Jhc2VsaW5lQ2FuZGlkYXRlLmRlc2NlbnQoKSk7Ci0gICAgICAgICAgICBsaW5lQm94
LnNldExvZ2ljYWxIZWlnaHRJZkdyZWF0ZXIoc3RkOjptYXgocnVuSGVpZ2h0LCBiYXNlbGluZS5o
ZWlnaHQoKSksIExpbmVCb3g6OkFkanVzdEJhc2VsaW5lOjpZZXMpOworICAgICAgICAgICAgbV9s
aW5lQm94LnNldExvZ2ljYWxIZWlnaHRJZkdyZWF0ZXIoc3RkOjptYXgocnVuSGVpZ2h0LCBiYXNl
bGluZS5oZWlnaHQoKSksIExpbmVCb3g6OkFkanVzdEJhc2VsaW5lOjpZZXMpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpUb3A6CiAg
ICAgICAgICAgICAvLyBUb3AgYWxpZ24gY29udGVudCBuZXZlciBjaGFuZ2VzIHRoZSBiYXNlbGlu
ZSBvZmZzZXQsIGl0IG9ubHkgcHVzaGVzIHRoZSBib3R0b20gb2YgdGhlIGxpbmUgZnVydGhlciBk
b3duLgotICAgICAgICAgICAgbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0SWZHcmVhdGVyKHJ1bkhl
aWdodCwgTGluZUJveDo6QWRqdXN0QmFzZWxpbmU6Ok5vKTsKKyAgICAgICAgICAgIG1fbGluZUJv
eC5zZXRMb2dpY2FsSGVpZ2h0SWZHcmVhdGVyKHJ1bkhlaWdodCwgTGluZUJveDo6QWRqdXN0QmFz
ZWxpbmU6Ok5vKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZlcnRpY2FsQWxp
Z246OkJvdHRvbToKICAgICAgICAgICAgIC8vIEJvdHRvbSBhbGlnbmVkLCB0YWxsIGNvbnRlbnQg
cHVzaGVzIHRoZSBiYXNlbGluZSBmdXJ0aGVyIGRvd24gZnJvbSB0aGUgbGluZSB0b3AuCi0gICAg
ICAgICAgICBsaW5lQm94LnNldExvZ2ljYWxIZWlnaHRJZkdyZWF0ZXIocnVuSGVpZ2h0LCBMaW5l
Qm94OjpBZGp1c3RCYXNlbGluZTo6WWVzKTsKKyAgICAgICAgICAgIG1fbGluZUJveC5zZXRMb2dp
Y2FsSGVpZ2h0SWZHcmVhdGVyKHJ1bkhlaWdodCwgTGluZUJveDo6QWRqdXN0QmFzZWxpbmU6Olll
cyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmgKaW5kZXggYjVkYTczOWZjMzU2MWY3NTkw
ZjI0ZWViMzRiZWYwYjkxN2ZjYzA1ZC4uM2YwNWU4MDIwYjliMWZkZDE5OTBiZmZjOGQzYmEyOTI5
Y2U3NmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmUuaApAQCAtOTQsNDQgKzk0LDQwIEBAIHB1YmxpYzoKICAgICAgICAgfTsK
ICAgICAgICAgdXNpbmcgUnVucyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8UnVuPj47CiAgICAg
ICAgIGNvbnN0IFJ1bnMmIHJ1bnMoKSBjb25zdCB7IHJldHVybiBtX3J1bnM7IH0KLSAgICAgICAg
Y29uc3QgTGluZUJveCYgbGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveDsgfQotICAg
ICAgICBMaW5lQm94JiBsaW5lQm94KCkgeyByZXR1cm4gbV9saW5lQm94OyB9CiAKICAgICBwcml2
YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgTGluZTsKLQotICAgICAgICB2b2lkIHNldExpbmVC
b3goY29uc3QgTGluZUJveCYgbGluZUJveCkgeyBtX2xpbmVCb3ggPSBsaW5lQm94OyB9CiAgICAg
ICAgIFJ1bnMmIHJ1bnMoKSB7IHJldHVybiBtX3J1bnM7IH0KIAotICAgICAgICBMaW5lQm94IG1f
bGluZUJveDsKICAgICAgICAgUnVucyBtX3J1bnM7CiAgICAgfTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8Q29udGVudD4gY2xvc2UoKTsKIAogICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0ZW0m
LCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3Qg
eyByZXR1cm4gIWlzVmlzdWFsbHlFbXB0eSgpOyB9CisgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpIC0gY29udGVudExvZ2ljYWxXaWR0
aCgpOyB9CiAKICAgICBMYXlvdXRVbml0IHRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdDsK
IAorICAgIGNvbnN0IExpbmVCb3gmIGxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3g7
IH0KICAgICB2b2lkIG1vdmVMb2dpY2FsTGVmdChMYXlvdXRVbml0KTsKICAgICB2b2lkIG1vdmVM
b2dpY2FsUmlnaHQoTGF5b3V0VW5pdCk7CiAKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFdpZHRoKCkgLSBjb250ZW50TG9naWNhbFdpZHRoKCk7
IH0KLSAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBt
X2NvbnRlbnQtPmxpbmVCb3goKS5sb2dpY2FsUmlnaHQoKTsgfQotICAgIExheW91dFVuaXQgbG9n
aWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudC0+bGluZUJveCgpLmxvZ2ljYWxUb3Ao
KTsgfQotICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dGVudC0+bGluZUJveCgpLmxvZ2ljYWxCb3R0b20oKTsgfQotCiAgICAgc3RhdGljIExpbmVCb3g6
OkJhc2VsaW5lIGhhbGZMZWFkaW5nTWV0cmljcyhjb25zdCBGb250TWV0cmljcyYsIExheW91dFVu
aXQgbGluZUxvZ2ljYWxIZWlnaHQpOwogCiBwcml2YXRlOgotICAgIExheW91dFVuaXQgbG9naWNh
bExlZnQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnQtPmxpbmVCb3goKS5sb2dpY2FsTGVmdCgp
OyB9CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94
LmxvZ2ljYWxUb3AoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZUJveC5sb2dpY2FsQm90dG9tKCk7IH0KKworICAgIExheW91dFVuaXQgbG9n
aWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3gubG9naWNhbExlZnQoKTsgfQogICAg
IExheW91dFVuaXQgbG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSAr
IGxvZ2ljYWxXaWR0aCgpOyB9CiAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUxvZ2ljYWxXaWR0aDsgfQotICAgIExheW91dFVuaXQgbG9naWNhbEhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudC0+bGluZUJveCgpLmxvZ2ljYWxIZWlnaHQo
KTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZUJveC5sb2dpY2FsSGVpZ2h0KCk7IH0KIAotICAgIExheW91dFVuaXQgY29udGVudExvZ2ljYWxX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudC0+bGluZUJveCgpLmxvZ2ljYWxXaWR0aCgp
OyB9Ci0gICAgTGF5b3V0VW5pdCBiYXNlbGluZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dGVudC0+bGluZUJveCgpLmJhc2VsaW5lT2Zmc2V0KCk7IH0KKyAgICBMYXlvdXRVbml0IGNvbnRl
bnRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3gubG9naWNhbFdpZHRoKCk7
IH0KKyAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVCb3gubG9naWNhbFJpZ2h0KCk7IH0KKyAgICBMYXlvdXRVbml0IGJhc2VsaW5lT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94LmJhc2VsaW5lT2Zmc2V0KCk7IH0KIAogICAgIHZv
aWQgYXBwZW5kTm9uQnJlYWthYmxlU3BhY2UoY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IERpc3Bs
YXk6OlJlY3QmIGxvZ2ljYWxSZWN0KTsKICAgICB2b2lkIGFwcGVuZFRleHRDb250ZW50KGNvbnN0
IElubGluZVRleHRJdGVtJiwgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpOwpAQCAtMTU3LDYgKzE1
Myw3IEBAIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8TGluZUJveDo6QmFzZWxpbmU+IG1faW5pdGlh
bFN0cnV0OwogICAgIExheW91dFVuaXQgbV9saW5lTG9naWNhbFdpZHRoOwogICAgIGJvb2wgbV9z
a2lwVmVydGljYWxBbGlnbWVudCB7IGZhbHNlIH07CisgICAgTGluZUJveCBtX2xpbmVCb3g7CiB9
OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>