<?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>151017</bug_id>
          
          <creation_ts>2015-11-09 04:18:09 -0800</creation_ts>
          <short_desc>[css-grid] Refactor cachedGridCoordinate() to cachedGridSpan()</short_desc>
          <delta_ts>2015-11-09 06:46:51 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60731</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Manuel Rego Casasnovas">rego</reporter>
          <assigned_to name="Manuel Rego Casasnovas">rego</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140329</commentid>
    <comment_count>0</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2015-11-09 04:18:09 -0800</bug_when>
    <thetext>[css-grid] Refactor cachedGridCoordinate() to cachedGridSpan()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140330</commentid>
    <comment_count>1</comment_count>
      <attachid>265041</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2015-11-09 04:18:56 -0800</bug_when>
    <thetext>Created attachment 265041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140332</commentid>
    <comment_count>2</comment_count>
      <attachid>265041</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-11-09 04:27:30 -0800</bug_when>
    <thetext>Comment on attachment 265041
Patch

Very. Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140337</commentid>
    <comment_count>3</comment_count>
      <attachid>265042</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2015-11-09 05:17:52 -0800</bug_when>
    <thetext>Created attachment 265042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140346</commentid>
    <comment_count>4</comment_count>
      <attachid>265042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 06:46:48 -0800</bug_when>
    <thetext>Comment on attachment 265042
Patch

Clearing flags on attachment: 265042

Committed r192156: &lt;http://trac.webkit.org/changeset/192156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140347</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 06:46:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265041</attachid>
            <date>2015-11-09 04:18:56 -0800</date>
            <delta_ts>2015-11-09 05:17:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151017-20151109131852.patch</filename>
            <type>text/plain</type>
            <size>14569</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDRjZTg0NGRlNTRhYmEw
ZjhhNmEzYTAzMGQ5ZmY2ZTQxM2JkZTYwOC4uZjdkNjRiOGNjNWNjOTc0NzliYzg1ZDQyZmVlZjNl
NmRiZDMxYzY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTExLTA5ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gUmVmYWN0b3IgY2FjaGVkR3JpZENvb3JkaW5hdGUoKSB0byBjYWNoZWRHcmlkU3BhbigpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEwMTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSB3ZXJlIHVz
aW5nIGNhY2hlZEdyaWRDb29yZGluYXRlKCkgaW4gbG90cyBvZiBwbGFjZXMgYW5kIGNoZWNraW5n
IHRoZQorICAgICAgICBkaXJlY3Rpb24ganVzdCBpbiB0aGUgbmV4dCBsaW5lLiBDcmVhdGluZyBh
IGdlbmVyaWMgZnVuY3Rpb24gdG8gZG8gdGhpcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRy
YWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkSXRlbVdpdGhTcGFuOjpHcmlkSXRlbVdpdGhT
cGFuKToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRJdGVtV2l0aFNwYW46OnNwYW4pOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZEl0ZW1XaXRoU3Bhbjo6b3BlcmF0b3I8KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckdyaWQ6OnNwYW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNpemVkVHJhY2tzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1Np
emluZ0Z1bmN0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpyZXNvbHZlQ29u
dGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnNGb3JOb25TcGFubmluZ0l0ZW1zKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1
bmN0aW9uc0Zvckl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNhY2hlZEdy
aWRTcGFuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmdyaWRBcmVhQnJlYWR0aEZv
ckNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmdyaWRBcmVhQnJlYWR0aEZv
ckNoaWxkSW5jbHVkaW5nQWxpZ25tZW50T2Zmc2V0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJHcmlkOjpjb2x1bW5BeGlzT2Zmc2V0Rm9yQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6cm93QXhpc09mZnNldEZvckNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRJ
dGVtV2l0aFNwYW46OmdyaWRJdGVtKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckdyaWQ6OnBvcHVsYXRlR3JpZFBvc2l0aW9ucyk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckdyaWQuaDoKKwogMjAxNS0xMS0wOCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcu
a2ltQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gQWRkIFVzZXJBZ2VudEVGbC5jcHB8aApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDg2YWM2ZGE4YTZhZDA1
NTY2ZDhhNTVlMzZjZThjMjg5MzdjN2JhNDcuLmZkMGU4OTY0ZDc1NzJlYzIwN2FjYjRiNTcyYzcy
YTBmM2JkZGRhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAg
LTQ2MCw4ICs0NjAsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3Jp
ZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aQogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZmxleGlibGVTaXplZFRyYWNrc0luZGV4LnNpemUoKTsgKytpKSB7
CiAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IobV9ncmlkLCBkaXJlY3Rpb24sIGZs
ZXhpYmxlU2l6ZWRUcmFja3NJbmRleFtpXSk7CiAgICAgICAgICAgICB3aGlsZSAoUmVuZGVyQm94
KiBncmlkSXRlbSA9IGl0ZXJhdG9yLm5leHRHcmlkSXRlbSgpKSB7Ci0gICAgICAgICAgICAgICAg
Y29uc3QgR3JpZENvb3JkaW5hdGUgY29vcmRpbmF0ZSA9IGNhY2hlZEdyaWRDb29yZGluYXRlKCpn
cmlkSXRlbSk7Ci0gICAgICAgICAgICAgICAgY29uc3QgR3JpZFNwYW4gc3BhbiA9IChkaXJlY3Rp
b24gPT0gRm9yQ29sdW1ucykgPyBjb29yZGluYXRlLmNvbHVtbnMgOiBjb29yZGluYXRlLnJvd3M7
CisgICAgICAgICAgICAgICAgY29uc3QgR3JpZFNwYW4gc3BhbiA9IGNhY2hlZEdyaWRTcGFuKCpn
cmlkSXRlbSwgZGlyZWN0aW9uKTsKIAogICAgICAgICAgICAgICAgIC8vIERvIG5vdCBpbmNsdWRl
IGFscmVhZHkgcHJvY2Vzc2VkIGl0ZW1zLgogICAgICAgICAgICAgICAgIGlmIChpID4gMCAmJiBz
cGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCkgPD0gZmxleGlibGVTaXplZFRyYWNr
c0luZGV4W2kgLSAxXSkKQEAgLTY3MiwzNCArNjcxLDI3IEBAIExheW91dFVuaXQgUmVuZGVyR3Jp
ZDo6bWF4Q29udGVudEZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQsIEdyaWRUcmFja1NpemluZ0Rp
cmVjCiAKIGNsYXNzIEdyaWRJdGVtV2l0aFNwYW4gewogcHVibGljOgotICAgIEdyaWRJdGVtV2l0
aFNwYW4oUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZENvb3JkaW5hdGUgY29vcmRpbmF0ZSwgR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikKKyAgICBHcmlkSXRlbVdpdGhTcGFuKFJl
bmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRTcGFuIHNwYW4pCiAgICAgICAgIDogbV9ncmlkSXRlbShn
cmlkSXRlbSkKLSAgICAgICAgLCBtX2Nvb3JkaW5hdGUoY29vcmRpbmF0ZSkKKyAgICAgICAgLCBt
X3NwYW4oc3BhbikKICAgICB7Ci0gICAgICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFuID0gKGRpcmVj
dGlvbiA9PSBGb3JSb3dzKSA/IGNvb3JkaW5hdGUucm93cyA6IGNvb3JkaW5hdGUuY29sdW1uczsK
LSAgICAgICAgbV9zcGFuID0gc3Bhbi5yZXNvbHZlZEZpbmFsUG9zaXRpb24udG9JbnQoKSAtIHNw
YW4ucmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQoKSArIDE7CiAgICAgfQogCiAgICAgUmVu
ZGVyQm94JiBncmlkSXRlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JpZEl0ZW07IH0KLSAgICBHcmlk
Q29vcmRpbmF0ZSBjb29yZGluYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlOyB9Ci0j
aWYgIUFTU0VSVF9ESVNBQkxFRAotICAgIHNpemVfdCBzcGFuKCkgY29uc3QgeyByZXR1cm4gbV9z
cGFuOyB9Ci0jZW5kaWYKKyAgICBHcmlkU3BhbiBzcGFuKCkgY29uc3QgeyByZXR1cm4gbV9zcGFu
OyB9CiAKICAgICBib29sIG9wZXJhdG9yPChjb25zdCBHcmlkSXRlbVdpdGhTcGFuIG90aGVyKSBj
b25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3BhbiA8IG90aGVyLm1fc3BhbjsKKyAgICAg
ICAgcmV0dXJuIG1fc3Bhbi5pbnRlZ2VyU3BhbigpIDwgb3RoZXIubV9zcGFuLmludGVnZXJTcGFu
KCk7CiAgICAgfQogCiBwcml2YXRlOgogICAgIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVy
Qm94PiBtX2dyaWRJdGVtOwotICAgIEdyaWRDb29yZGluYXRlIG1fY29vcmRpbmF0ZTsKLSAgICB1
bnNpZ25lZCBtX3NwYW47CisgICAgR3JpZFNwYW4gbV9zcGFuOwogfTsKIAotYm9vbCBSZW5kZXJH
cmlkOjpzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGlibGVTaXplZFRyYWNrcyhjb25zdCBHcmlkQ29v
cmRpbmF0ZSYgY29vcmRpbmF0ZSwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikg
Y29uc3QKK2Jvb2wgUmVuZGVyR3JpZDo6c3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRU
cmFja3MoY29uc3QgR3JpZFNwYW4mIGl0ZW1TcGFuLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uKSBjb25zdAogewotICAgIGNvbnN0IEdyaWRTcGFuIGl0ZW1TcGFuID0gKGRpcmVj
dGlvbiA9PSBGb3JDb2x1bW5zKSA/IGNvb3JkaW5hdGUuY29sdW1ucyA6IGNvb3JkaW5hdGUucm93
czsKICAgICBmb3IgKGF1dG8gdHJhY2tQb3NpdGlvbiA6IGl0ZW1TcGFuKSB7CiAgICAgICAgIGNv
bnN0IEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0
cmFja1Bvc2l0aW9uLnRvSW50KCkpOwogICAgICAgICBpZiAodHJhY2tTaXplLm1pblRyYWNrQnJl
YWR0aCgpLmlzRmxleCgpIHx8IHRyYWNrU2l6ZS5tYXhUcmFja0JyZWFkdGgoKS5pc0ZsZXgoKSkK
QEAgLTcwOSwxMSArNzAxLDYgQEAgYm9vbCBSZW5kZXJHcmlkOjpzcGFubmluZ0l0ZW1Dcm9zc2Vz
RmxleGlibGVTaXplZFRyYWNrcyhjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY28KICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50ZWdlclNwYW5Gb3JEaXJlY3Rp
b24oY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUsIEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbiBkaXJlY3Rpb24pCi17Ci0gICAgcmV0dXJuIChkaXJlY3Rpb24gPT0gRm9yUm93cykgPyBj
b29yZGluYXRlLnJvd3MuaW50ZWdlclNwYW4oKSA6IGNvb3JkaW5hdGUuY29sdW1ucy5pbnRlZ2Vy
U3BhbigpOwotfQotCiBzdHJ1Y3QgR3JpZEl0ZW1zU3Bhbkdyb3VwUmFuZ2UgewogICAgIFZlY3Rv
cjxHcmlkSXRlbVdpdGhTcGFuPjo6aXRlcmF0b3IgcmFuZ2VTdGFydDsKICAgICBWZWN0b3I8R3Jp
ZEl0ZW1XaXRoU3Bhbj46Oml0ZXJhdG9yIHJhbmdlRW5kOwpAQCAtNzI5LDExICs3MTYsMTEgQEAg
dm9pZCBSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnMo
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW8KIAogICAgICAgICB3aGlsZSAoUmVuZGVyQm94KiBncmlk
SXRlbSA9IGl0ZXJhdG9yLm5leHRHcmlkSXRlbSgpKSB7CiAgICAgICAgICAgICBpZiAoaXRlbXNT
ZXQuYWRkKGdyaWRJdGVtKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgR3Jp
ZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBjYWNoZWRHcmlkQ29vcmRpbmF0ZSgqZ3JpZEl0ZW0p
OwotICAgICAgICAgICAgICAgIGlmIChpbnRlZ2VyU3BhbkZvckRpcmVjdGlvbihjb29yZGluYXRl
LCBkaXJlY3Rpb24pID09IDEpCi0gICAgICAgICAgICAgICAgICAgIHJlc29sdmVDb250ZW50QmFz
ZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvck5vblNwYW5uaW5nSXRlbXMoZGlyZWN0aW9uLCBjb29y
ZGluYXRlLCAqZ3JpZEl0ZW0sIHRyYWNrLCBzaXppbmdEYXRhLmNvbHVtblRyYWNrcyk7Ci0gICAg
ICAgICAgICAgICAgZWxzZSBpZiAoIXNwYW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNpemVkVHJh
Y2tzKGNvb3JkaW5hdGUsIGRpcmVjdGlvbikpCi0gICAgICAgICAgICAgICAgICAgIHNpemluZ0Rh
dGEuaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmFwcGVuZChHcmlkSXRlbVdpdGhTcGFuKCpn
cmlkSXRlbSwgY29vcmRpbmF0ZSwgZGlyZWN0aW9uKSk7CisgICAgICAgICAgICAgICAgY29uc3Qg
R3JpZFNwYW4mIHNwYW4gPSBjYWNoZWRHcmlkU3BhbigqZ3JpZEl0ZW0sIGRpcmVjdGlvbik7Cisg
ICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNwYW4oKSA9PSAxKQorICAgICAgICAgICAg
ICAgICAgICByZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnNGb3JOb25TcGFu
bmluZ0l0ZW1zKGRpcmVjdGlvbiwgc3BhbiwgKmdyaWRJdGVtLCB0cmFjaywgc2l6aW5nRGF0YS5j
b2x1bW5UcmFja3MpOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmluZ0l0ZW1Dcm9z
c2VzRmxleGlibGVTaXplZFRyYWNrcyhzcGFuLCBkaXJlY3Rpb24pKQorICAgICAgICAgICAgICAg
ICAgICBzaXppbmdEYXRhLml0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQoR3JpZEl0
ZW1XaXRoU3BhbigqZ3JpZEl0ZW0sIHNwYW4pKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KQEAgLTc1OCw5ICs3NDUsOSBAQCB2b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50
QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9ucyhHcmlkVHJhY2tTaXppbmdEaXJlY3RpbwogICAgIH0K
IH0KIAotdm9pZCBSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5j
dGlvbnNGb3JOb25TcGFubmluZ0l0ZW1zKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24sIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlLCBSZW5kZXJCb3gmIGdyaWRJdGVt
LCBHcmlkVHJhY2smIHRyYWNrLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzKQordm9p
ZCBSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnNGb3JO
b25TcGFubmluZ0l0ZW1zKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIGNvbnN0
IEdyaWRTcGFuJiBzcGFuLCBSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlkVHJhY2smIHRyYWNrLCBW
ZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzKQogewotICAgIGNvbnN0IEdyaWRSZXNvbHZl
ZFBvc2l0aW9uIHRyYWNrUG9zaXRpb24gPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gY29v
cmRpbmF0ZS5jb2x1bW5zLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uIDogY29vcmRpbmF0ZS5yb3dz
LnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uOworICAgIGNvbnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9u
IHRyYWNrUG9zaXRpb24gPSBzcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uOwogICAgIEdyaWRU
cmFja1NpemUgdHJhY2tTaXplID0gZ3JpZFRyYWNrU2l6ZShkaXJlY3Rpb24sIHRyYWNrUG9zaXRp
b24udG9JbnQoKSk7CiAKICAgICBpZiAodHJhY2tTaXplLmhhc01pbkNvbnRlbnRNaW5UcmFja0Jy
ZWFkdGgoKSkKQEAgLTkxMCw4ICs4OTcsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVDb250
ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvckl0ZW1zKEdyaWRUcmFja1NpemluZwogICAg
IGZvciAoYXV0byBpdCA9IGdyaWRJdGVtc1dpdGhTcGFuLnJhbmdlU3RhcnQ7IGl0ICE9IGdyaWRJ
dGVtc1dpdGhTcGFuLnJhbmdlRW5kOyArK2l0KSB7CiAgICAgICAgIEdyaWRJdGVtV2l0aFNwYW4m
IGdyaWRJdGVtV2l0aFNwYW4gPSAqaXQ7CiAgICAgICAgIEFTU0VSVChncmlkSXRlbVdpdGhTcGFu
LnNwYW4oKSA+IDEpOwotICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9
IGdyaWRJdGVtV2l0aFNwYW4uY29vcmRpbmF0ZSgpOwotICAgICAgICBjb25zdCBHcmlkU3BhbiYg
aXRlbVNwYW4gPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gY29vcmRpbmF0ZS5jb2x1bW5z
IDogY29vcmRpbmF0ZS5yb3dzOworICAgICAgICBjb25zdCBHcmlkU3BhbiYgaXRlbVNwYW4gPSBn
cmlkSXRlbVdpdGhTcGFuLnNwYW4oKTsKIAogICAgICAgICBzaXppbmdEYXRhLmZpbHRlcmVkVHJh
Y2tzLnNocmluaygwKTsKICAgICAgICAgc2l6aW5nRGF0YS5ncm93QmV5b25kR3Jvd3RoTGltaXRz
VHJhY2tzLnNocmluaygwKTsKQEAgLTE0NDEsMTYgKzE0MjcsMTYgQEAgdm9pZCBSZW5kZXJHcmlk
OjpvZmZzZXRBbmRCcmVhZHRoRm9yUG9zaXRpb25lZENoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hp
bGQsIEdyaWQKICAgICB9CiB9CiAKLUdyaWRDb29yZGluYXRlIFJlbmRlckdyaWQ6OmNhY2hlZEdy
aWRDb29yZGluYXRlKGNvbnN0IFJlbmRlckJveCYgZ3JpZEl0ZW0pIGNvbnN0CitHcmlkU3BhbiBS
ZW5kZXJHcmlkOjpjYWNoZWRHcmlkU3Bhbihjb25zdCBSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlk
VHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogewogICAgIEFTU0VSVChtX2dy
aWRJdGVtQ29vcmRpbmF0ZS5jb250YWlucygmZ3JpZEl0ZW0pKTsKLSAgICByZXR1cm4gbV9ncmlk
SXRlbUNvb3JkaW5hdGUuZ2V0KCZncmlkSXRlbSk7CisgICAgR3JpZENvb3JkaW5hdGUgY29vcmRp
bmF0ZSA9IG1fZ3JpZEl0ZW1Db29yZGluYXRlLmdldCgmZ3JpZEl0ZW0pOworICAgIHJldHVybiBk
aXJlY3Rpb24gPT0gRm9yQ29sdW1ucyA/IGNvb3JkaW5hdGUuY29sdW1ucyA6IGNvb3JkaW5hdGUu
cm93czsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpncmlkQXJlYUJyZWFkdGhGb3JDaGls
ZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0
aW9uLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgdHJhY2tzKSBjb25zdAogewotICAgIGNvbnN0
IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5hdGUoY2hpbGQp
OwotICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFuID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/
IGNvb3JkaW5hdGUuY29sdW1ucyA6IGNvb3JkaW5hdGUucm93czsKKyAgICBjb25zdCBHcmlkU3Bh
biYgc3BhbiA9IGNhY2hlZEdyaWRTcGFuKGNoaWxkLCBkaXJlY3Rpb24pOwogICAgIExheW91dFVu
aXQgZ3JpZEFyZWFCcmVhZHRoID0gMDsKICAgICBmb3IgKGF1dG8mIHRyYWNrUG9zaXRpb24gOiBz
cGFuKQogICAgICAgICBncmlkQXJlYUJyZWFkdGggKz0gdHJhY2tzW3RyYWNrUG9zaXRpb24udG9J
bnQoKV0uYmFzZVNpemUoKTsKQEAgLTE0NjUsOCArMTQ1MSw3IEBAIExheW91dFVuaXQgUmVuZGVy
R3JpZDo6Z3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGRJbmNsdWRpbmdBbGlnbm1lbnRPZmZzZXRzKGNv
bnN0IFJlCiAgICAgLy8gV2UgbmVlZCB0aGUgY2FjaGVkIHZhbHVlIHdoZW4gYXZhaWxhYmxlIGJl
Y2F1c2UgQ29udGVudCBEaXN0cmlidXRpb24gYWxpZ25tZW50IHByb3BlcnRpZXMKICAgICAvLyBt
YXkgaGF2ZSBzb21lIGluZmx1ZW5jZSBpbiB0aGUgZmluYWwgZ3JpZCBhcmVhIGJyZWFkdGguCiAg
ICAgY29uc3QgYXV0byYgdHJhY2tzID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IHNpemlu
Z0RhdGEuY29sdW1uVHJhY2tzIDogc2l6aW5nRGF0YS5yb3dUcmFja3M7Ci0gICAgY29uc3QgYXV0
byYgY29vcmRpbmF0ZSA9IGNhY2hlZEdyaWRDb29yZGluYXRlKGNoaWxkKTsKLSAgICBjb25zdCBh
dXRvJiBzcGFuID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IGNvb3JkaW5hdGUuY29sdW1u
cyA6IGNvb3JkaW5hdGUucm93czsKKyAgICBjb25zdCBhdXRvJiBzcGFuID0gY2FjaGVkR3JpZFNw
YW4oY2hpbGQsIGRpcmVjdGlvbik7CiAgICAgY29uc3QgYXV0byYgbGluZVBvc2l0aW9ucyA9IChk
aXJlY3Rpb24gPT0gRm9yQ29sdW1ucykgPyBtX2NvbHVtblBvc2l0aW9ucyA6IG1fcm93UG9zaXRp
b25zOwogCiAgICAgTGF5b3V0VW5pdCBpbml0aWFsVHJhY2tQb3NpdGlvbiA9IGxpbmVQb3NpdGlv
bnNbc3Bhbi5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgpXTsKQEAgLTE3NjgsOCArMTc1
Myw4IEBAIHN0YXRpYyBpbmxpbmUgTGF5b3V0VW5pdCBvZmZzZXRCZXR3ZWVuVHJhY2tzKENvbnRl
bnREaXN0cmlidXRpb25UeXBlIGRpc3RyaWJ1dGlvCiAKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6
Y29sdW1uQXhpc09mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7
Ci0gICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBjYWNoZWRHcmlkQ29vcmRp
bmF0ZShjaGlsZCk7Ci0gICAgdW5zaWduZWQgY2hpbGRTdGFydExpbmUgPSBjb29yZGluYXRlLnJv
d3MucmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQoKTsKKyAgICBjb25zdCBHcmlkU3BhbiYg
cm93c1NwYW4gPSBjYWNoZWRHcmlkU3BhbihjaGlsZCwgRm9yUm93cyk7CisgICAgdW5zaWduZWQg
Y2hpbGRTdGFydExpbmUgPSByb3dzU3Bhbi5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgp
OwogICAgIExheW91dFVuaXQgc3RhcnRPZlJvdyA9IG1fcm93UG9zaXRpb25zW2NoaWxkU3RhcnRM
aW5lXTsKICAgICBMYXlvdXRVbml0IHN0YXJ0UG9zaXRpb24gPSBzdGFydE9mUm93ICsgbWFyZ2lu
QmVmb3JlRm9yQ2hpbGQoY2hpbGQpOwogICAgIGlmIChoYXNBdXRvTWFyZ2luc0luQ29sdW1uQXhp
cyhjaGlsZCkpCkBAIC0xNzgwLDcgKzE3NjUsNyBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNv
bHVtbkF4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogICAg
ICAgICByZXR1cm4gc3RhcnRQb3NpdGlvbjsKICAgICBjYXNlIEdyaWRBeGlzRW5kOgogICAgIGNh
c2UgR3JpZEF4aXNDZW50ZXI6IHsKLSAgICAgICAgdW5zaWduZWQgY2hpbGRFbmRMaW5lID0gY29v
cmRpbmF0ZS5yb3dzLnJlc29sdmVkRmluYWxQb3NpdGlvbi5uZXh0KCkudG9JbnQoKTsKKyAgICAg
ICAgdW5zaWduZWQgY2hpbGRFbmRMaW5lID0gcm93c1NwYW4ucmVzb2x2ZWRGaW5hbFBvc2l0aW9u
Lm5leHQoKS50b0ludCgpOwogICAgICAgICBMYXlvdXRVbml0IGVuZE9mUm93ID0gbV9yb3dQb3Np
dGlvbnNbY2hpbGRFbmRMaW5lXTsKICAgICAgICAgLy8gbV9yb3dQb3NpdGlvbnMgaW5jbHVkZSBn
dXR0ZXJzIHNvIHdlIG5lZWQgdG8gc3Vic3RyYWN0IHRoZW0gdG8gZ2V0IHRoZSBhY3R1YWwgZW5k
IHBvc2l0aW9uIGZvciBhIGdpdmVuCiAgICAgICAgIC8vIHJvdyAodGhpcyBkb2VzIG5vdCBoYXZl
IHRvIGJlIGRvbmUgZm9yIHRoZSBsYXN0IHRyYWNrIGFzIHRoZXJlIGFyZSBubyBtb3JlIG1fcm93
UG9zaXRpb25zIGFmdGVyIGl0KQpAQCAtMTgwMiw4ICsxNzg3LDggQEAgTGF5b3V0VW5pdCBSZW5k
ZXJHcmlkOjpjb2x1bW5BeGlzT2Zmc2V0Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkg
Y29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpyb3dBeGlzT2Zmc2V0Rm9yQ2hpbGQoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKLSAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYg
Y29vcmRpbmF0ZSA9IGNhY2hlZEdyaWRDb29yZGluYXRlKGNoaWxkKTsKLSAgICB1bnNpZ25lZCBj
aGlsZFN0YXJ0TGluZSA9IGNvb3JkaW5hdGUuY29sdW1ucy5yZXNvbHZlZEluaXRpYWxQb3NpdGlv
bi50b0ludCgpOworICAgIGNvbnN0IEdyaWRTcGFuJiBjb2x1bW5zU3BhbiA9IGNhY2hlZEdyaWRT
cGFuKGNoaWxkLCBGb3JDb2x1bW5zKTsKKyAgICB1bnNpZ25lZCBjaGlsZFN0YXJ0TGluZSA9IGNv
bHVtbnNTcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCk7CiAgICAgTGF5b3V0VW5p
dCBzdGFydE9mQ29sdW1uID0gbV9jb2x1bW5Qb3NpdGlvbnNbY2hpbGRTdGFydExpbmVdOwogICAg
IExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9IHN0YXJ0T2ZDb2x1bW4gKyBtYXJnaW5TdGFydEZv
ckNoaWxkKGNoaWxkKTsKICAgICBpZiAoaGFzQXV0b01hcmdpbnNJblJvd0F4aXMoY2hpbGQpKQpA
QCAtMTgxNCw3ICsxNzk5LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpyb3dBeGlzT2Zmc2V0
Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKICAgICAgICAgcmV0dXJuIHN0
YXJ0UG9zaXRpb247CiAgICAgY2FzZSBHcmlkQXhpc0VuZDoKICAgICBjYXNlIEdyaWRBeGlzQ2Vu
dGVyOiB7Ci0gICAgICAgIHVuc2lnbmVkIGNoaWxkRW5kTGluZSA9IGNvb3JkaW5hdGUuY29sdW1u
cy5yZXNvbHZlZEZpbmFsUG9zaXRpb24ubmV4dCgpLnRvSW50KCk7CisgICAgICAgIHVuc2lnbmVk
IGNoaWxkRW5kTGluZSA9IGNvbHVtbnNTcGFuLnJlc29sdmVkRmluYWxQb3NpdGlvbi5uZXh0KCku
dG9JbnQoKTsKICAgICAgICAgTGF5b3V0VW5pdCBlbmRPZkNvbHVtbiA9IG1fY29sdW1uUG9zaXRp
b25zW2NoaWxkRW5kTGluZV07CiAgICAgICAgIC8vIG1fY29sdW1uUG9zaXRpb25zIGluY2x1ZGUg
Z3V0dGVycyBzbyB3ZSBuZWVkIHRvIHN1YnN0cmFjdCB0aGVtIHRvIGdldCB0aGUgYWN0dWFsIGVu
ZCBwb3NpdGlvbiBmb3IgYSBnaXZlbgogICAgICAgICAvLyBjb2x1bW4gKHRoaXMgZG9lcyBub3Qg
aGF2ZSB0byBiZSBkb25lIGZvciB0aGUgbGFzdCB0cmFjayBhcyB0aGVyZSBhcmUgbm8gbW9yZSBt
X2NvbHVtblBvc2l0aW9ucyBhZnRlciBpdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5oCmluZGV4IDgxODVmNTZhOTEzMThkYjJmNmMyOTE0YTQ0MzU4NzFlM2VhY2E4NjkuLjAwZWNm
MDZjY2ExYTQwYzgzOGYzZmZlOTkwODIwZWUwYzQ5ZThiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuaApAQCAtMTE0LDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0
VW5pdCBjdXJyZW50SXRlbVNpemVGb3JUcmFja1NpemVDb21wdXRhdGlvblBoYXNlKFRyYWNrU2l6
ZUNvbXB1dGF0aW9uUGhhc2UsIFJlbmRlckJveCYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwg
VmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcyk7CiAKICAgICB0eXBlZGVmIHN0cnVjdCBH
cmlkSXRlbXNTcGFuR3JvdXBSYW5nZSBHcmlkSXRlbXNTcGFuR3JvdXBSYW5nZTsKLSAgICB2b2lk
IHJlc29sdmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvck5vblNwYW5uaW5nSXRl
bXMoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBHcmlkQ29vcmRpbmF0ZSYsIFJlbmRl
ckJveCYgZ3JpZEl0ZW0sIEdyaWRUcmFjayYsIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFj
a3MpOworICAgIHZvaWQgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9y
Tm9uU3Bhbm5pbmdJdGVtcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IEdyaWRTcGFu
JiwgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrJiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNv
bHVtblRyYWNrcyk7CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZv
aWQgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYsIGNvbnN0IEdyaWRJdGVtc1NwYW5H
cm91cFJhbmdlJik7CiAgICAgdGVtcGxhdGUgPFRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhhc2U+IHZv
aWQgZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiwgY29uc3QgVmVj
dG9yPEdyaWRUcmFjayo+KiBncm93QmV5b25kR3Jvd3RoTGltaXRzVHJhY2tzLCBMYXlvdXRVbml0
JiBhdmFpbGFibGVMb2dpY2FsU3BhY2UpOwogCkBAIC0xMzQsNyArMTM0LDcgQEAgcHJpdmF0ZToK
ICAgICBMYXlvdXRVbml0IHJvd0F4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmKSBj
b25zdDsKICAgICBDb250ZW50QWxpZ25tZW50RGF0YSBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5k
RGlzdHJpYnV0aW9uT2Zmc2V0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgTGF5b3V0
VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCB1bnNpZ25lZCBudW1iZXJPZkdyaWRUcmFja3MpIGNv
bnN0OwogICAgIExheW91dFBvaW50IGZpbmRDaGlsZExvZ2ljYWxQb3NpdGlvbihjb25zdCBSZW5k
ZXJCb3gmKSBjb25zdDsKLSAgICBHcmlkQ29vcmRpbmF0ZSBjYWNoZWRHcmlkQ29vcmRpbmF0ZShj
b25zdCBSZW5kZXJCb3gmKSBjb25zdDsKKyAgICBHcmlkU3BhbiBjYWNoZWRHcmlkU3Bhbihjb25z
dCBSZW5kZXJCb3gmLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCiAKICAgICBM
YXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQs
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mKSBjb25z
dDsKQEAgLTE2MCw3ICsxNjAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBncmlkV2FzUG9wdWxh
dGVkKCkgY29uc3QgeyByZXR1cm4gIW1fZ3JpZC5pc0VtcHR5KCkgJiYgIW1fZ3JpZFswXS5pc0Vt
cHR5KCk7IH0KIAotICAgIGJvb2wgc3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFj
a3MoY29uc3QgR3JpZENvb3JkaW5hdGUmLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0
OworICAgIGJvb2wgc3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3MoY29uc3Qg
R3JpZFNwYW4mLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCiAgICAgdW5zaWdu
ZWQgZ3JpZENvbHVtbkNvdW50KCkgY29uc3QKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265042</attachid>
            <date>2015-11-09 05:17:52 -0800</date>
            <delta_ts>2015-11-09 06:46:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151017-20151109141748.patch</filename>
            <type>text/plain</type>
            <size>14694</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI2MmRkMTkzN2MwN2Vk
ZjY1MTc3OTNhNjM0OGMyYmFmMzZhMzYwOS4uOTlhN2RkM2ViZWQwYjJmY2M4YTBjNzEzM2E1NTUx
YTA5NDc2MDU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTExLTA5ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gUmVmYWN0b3IgY2FjaGVkR3JpZENvb3JkaW5hdGUoKSB0byBjYWNoZWRHcmlkU3BhbigpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEwMTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTZXJnaW8gVmlsbGFyIFNlbmluLgorCisgICAgICAgIFdlIHdl
cmUgdXNpbmcgY2FjaGVkR3JpZENvb3JkaW5hdGUoKSBpbiBsb3RzIG9mIHBsYWNlcyBhbmQgY2hl
Y2tpbmcgdGhlCisgICAgICAgIGRpcmVjdGlvbiBqdXN0IGluIHRoZSBuZXh0IGxpbmUuIENyZWF0
aW5nIGEgZ2VuZXJpYyBmdW5jdGlvbiB0byBkbyB0aGlzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZH
cmlkVHJhY2tzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRJdGVtV2l0aFNwYW46OkdyaWRJdGVt
V2l0aFNwYW4pOgorICAgICAgICAoV2ViQ29yZTo6R3JpZEl0ZW1XaXRoU3Bhbjo6c3Bhbik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmlkSXRlbVdpdGhTcGFuOjpvcGVyYXRvcjwpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyR3JpZDo6c3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRy
YWNrU2l6aW5nRnVuY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlc29s
dmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvck5vblNwYW5uaW5nSXRlbXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6
aW5nRnVuY3Rpb25zRm9ySXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y2Fj
aGVkR3JpZFNwYW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Z3JpZEFyZWFCcmVh
ZHRoRm9yQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Z3JpZEFyZWFCcmVh
ZHRoRm9yQ2hpbGRJbmNsdWRpbmdBbGlnbm1lbnRPZmZzZXRzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckdyaWQ6OmNvbHVtbkF4aXNPZmZzZXRGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjpyb3dBeGlzT2Zmc2V0Rm9yQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6
R3JpZEl0ZW1XaXRoU3Bhbjo6Z3JpZEl0ZW0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyR3JpZDo6cG9wdWxhdGVHcmlkUG9zaXRpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTExLTAyICBTZXJnaW8gVmlsbGFyIFNlbmlu
ICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gSW1wcm92ZSBncmlk
IGNvbnRhaW5lciBzaXppbmcgd2l0aCBzaXplIGNvbnN0cmFpbnRzIGFuZCBpbnRyaW5zaWMgc2l6
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBjZjc5ZmJiYjZl
NDg4NWE4MjFlYTFhN2ZmNmI5YmJiZDhmMjViODc2Li4yMDI0YTVlNDI3YTBmNmE0N2Y5YWY5YTM0
YWM2ZDNlMjcxMDYyNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
CkBAIC01NjIsOCArNTYyLDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhP
ZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGkKICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleC5zaXplKCk7ICsr
aSkgewogICAgICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgZGlyZWN0aW9u
LCBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXhbaV0pOwogICAgICAgICAgICAgd2hpbGUgKFJlbmRl
ckJveCogZ3JpZEl0ZW0gPSBpdGVyYXRvci5uZXh0R3JpZEl0ZW0oKSkgewotICAgICAgICAgICAg
ICAgIGNvbnN0IEdyaWRDb29yZGluYXRlIGNvb3JkaW5hdGUgPSBjYWNoZWRHcmlkQ29vcmRpbmF0
ZSgqZ3JpZEl0ZW0pOwotICAgICAgICAgICAgICAgIGNvbnN0IEdyaWRTcGFuIHNwYW4gPSAoZGly
ZWN0aW9uID09IEZvckNvbHVtbnMpID8gY29vcmRpbmF0ZS5jb2x1bW5zIDogY29vcmRpbmF0ZS5y
b3dzOworICAgICAgICAgICAgICAgIGNvbnN0IEdyaWRTcGFuIHNwYW4gPSBjYWNoZWRHcmlkU3Bh
bigqZ3JpZEl0ZW0sIGRpcmVjdGlvbik7CiAKICAgICAgICAgICAgICAgICAvLyBEbyBub3QgaW5j
bHVkZSBhbHJlYWR5IHByb2Nlc3NlZCBpdGVtcy4KICAgICAgICAgICAgICAgICBpZiAoaSA+IDAg
JiYgc3Bhbi5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgpIDw9IGZsZXhpYmxlU2l6ZWRU
cmFja3NJbmRleFtpIC0gMV0pCkBAIC03NzgsMzQgKzc3NywyNyBAQCBMYXlvdXRVbml0IFJlbmRl
ckdyaWQ6Om1heENvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXpp
bmdEaXJlYwogCiBjbGFzcyBHcmlkSXRlbVdpdGhTcGFuIHsKIHB1YmxpYzoKLSAgICBHcmlkSXRl
bVdpdGhTcGFuKFJlbmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRDb29yZGluYXRlIGNvb3JkaW5hdGUs
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pCisgICAgR3JpZEl0ZW1XaXRoU3Bh
bihSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlkU3BhbiBzcGFuKQogICAgICAgICA6IG1fZ3JpZEl0
ZW0oZ3JpZEl0ZW0pCi0gICAgICAgICwgbV9jb29yZGluYXRlKGNvb3JkaW5hdGUpCisgICAgICAg
ICwgbV9zcGFuKHNwYW4pCiAgICAgewotICAgICAgICBjb25zdCBHcmlkU3BhbiYgc3BhbiA9IChk
aXJlY3Rpb24gPT0gRm9yUm93cykgPyBjb29yZGluYXRlLnJvd3MgOiBjb29yZGluYXRlLmNvbHVt
bnM7Ci0gICAgICAgIG1fc3BhbiA9IHNwYW4ucmVzb2x2ZWRGaW5hbFBvc2l0aW9uLnRvSW50KCkg
LSBzcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCkgKyAxOwogICAgIH0KIAogICAg
IFJlbmRlckJveCYgZ3JpZEl0ZW0oKSBjb25zdCB7IHJldHVybiBtX2dyaWRJdGVtOyB9Ci0gICAg
R3JpZENvb3JkaW5hdGUgY29vcmRpbmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29vcmRpbmF0ZTsg
fQotI2lmICFBU1NFUlRfRElTQUJMRUQKLSAgICBzaXplX3Qgc3BhbigpIGNvbnN0IHsgcmV0dXJu
IG1fc3BhbjsgfQotI2VuZGlmCisgICAgR3JpZFNwYW4gc3BhbigpIGNvbnN0IHsgcmV0dXJuIG1f
c3BhbjsgfQogCiAgICAgYm9vbCBvcGVyYXRvcjwoY29uc3QgR3JpZEl0ZW1XaXRoU3BhbiBvdGhl
cikgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3NwYW4gPCBvdGhlci5tX3NwYW47Cisg
ICAgICAgIHJldHVybiBtX3NwYW4uaW50ZWdlclNwYW4oKSA8IG90aGVyLm1fc3Bhbi5pbnRlZ2Vy
U3BhbigpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJl
bmRlckJveD4gbV9ncmlkSXRlbTsKLSAgICBHcmlkQ29vcmRpbmF0ZSBtX2Nvb3JkaW5hdGU7Ci0g
ICAgdW5zaWduZWQgbV9zcGFuOworICAgIEdyaWRTcGFuIG1fc3BhbjsKIH07CiAKLWJvb2wgUmVu
ZGVyR3JpZDo6c3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3MoY29uc3QgR3Jp
ZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24pIGNvbnN0Citib29sIFJlbmRlckdyaWQ6OnNwYW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNp
emVkVHJhY2tzKGNvbnN0IEdyaWRTcGFuJiBpdGVtU3BhbiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0
aW9uIGRpcmVjdGlvbikgY29uc3QKIHsKLSAgICBjb25zdCBHcmlkU3BhbiBpdGVtU3BhbiA9IChk
aXJlY3Rpb24gPT0gRm9yQ29sdW1ucykgPyBjb29yZGluYXRlLmNvbHVtbnMgOiBjb29yZGluYXRl
LnJvd3M7CiAgICAgZm9yIChhdXRvIHRyYWNrUG9zaXRpb24gOiBpdGVtU3BhbikgewogICAgICAg
ICBjb25zdCBHcmlkVHJhY2tTaXplJiB0cmFja1NpemUgPSBncmlkVHJhY2tTaXplKGRpcmVjdGlv
biwgdHJhY2tQb3NpdGlvbi50b0ludCgpKTsKICAgICAgICAgaWYgKHRyYWNrU2l6ZS5taW5UcmFj
a0JyZWFkdGgoKS5pc0ZsZXgoKSB8fCB0cmFja1NpemUubWF4VHJhY2tCcmVhZHRoKCkuaXNGbGV4
KCkpCkBAIC04MTUsMTEgKzgwNyw2IEBAIGJvb2wgUmVuZGVyR3JpZDo6c3Bhbm5pbmdJdGVtQ3Jv
c3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3MoY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludGVnZXJTcGFuRm9yRGly
ZWN0aW9uKGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlLCBHcmlkVHJhY2tTaXppbmdE
aXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIHJldHVybiAoZGlyZWN0aW9uID09IEZvclJvd3Mp
ID8gY29vcmRpbmF0ZS5yb3dzLmludGVnZXJTcGFuKCkgOiBjb29yZGluYXRlLmNvbHVtbnMuaW50
ZWdlclNwYW4oKTsKLX0KLQogc3RydWN0IEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlIHsKICAgICBW
ZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj46Oml0ZXJhdG9yIHJhbmdlU3RhcnQ7CiAgICAgVmVjdG9y
PEdyaWRJdGVtV2l0aFNwYW4+OjppdGVyYXRvciByYW5nZUVuZDsKQEAgLTgzNSwxMSArODIyLDEx
IEBAIHZvaWQgUmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rp
b25zKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvCiAKICAgICAgICAgd2hpbGUgKFJlbmRlckJveCog
Z3JpZEl0ZW0gPSBpdGVyYXRvci5uZXh0R3JpZEl0ZW0oKSkgewogICAgICAgICAgICAgaWYgKGl0
ZW1zU2V0LmFkZChncmlkSXRlbSkuaXNOZXdFbnRyeSkgewotICAgICAgICAgICAgICAgIGNvbnN0
IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5hdGUoKmdyaWRJ
dGVtKTsKLSAgICAgICAgICAgICAgICBpZiAoaW50ZWdlclNwYW5Gb3JEaXJlY3Rpb24oY29vcmRp
bmF0ZSwgZGlyZWN0aW9uKSA9PSAxKQotICAgICAgICAgICAgICAgICAgICByZXNvbHZlQ29udGVu
dEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnNGb3JOb25TcGFubmluZ0l0ZW1zKGRpcmVjdGlvbiwg
Y29vcmRpbmF0ZSwgKmdyaWRJdGVtLCB0cmFjaywgc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MpOwot
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGlibGVTaXpl
ZFRyYWNrcyhjb29yZGluYXRlLCBkaXJlY3Rpb24pKQotICAgICAgICAgICAgICAgICAgICBzaXpp
bmdEYXRhLml0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQoR3JpZEl0ZW1XaXRoU3Bh
bigqZ3JpZEl0ZW0sIGNvb3JkaW5hdGUsIGRpcmVjdGlvbikpOworICAgICAgICAgICAgICAgIGNv
bnN0IEdyaWRTcGFuJiBzcGFuID0gY2FjaGVkR3JpZFNwYW4oKmdyaWRJdGVtLCBkaXJlY3Rpb24p
OworICAgICAgICAgICAgICAgIGlmIChzcGFuLmludGVnZXJTcGFuKCkgPT0gMSkKKyAgICAgICAg
ICAgICAgICAgICAgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9yTm9u
U3Bhbm5pbmdJdGVtcyhkaXJlY3Rpb24sIHNwYW4sICpncmlkSXRlbSwgdHJhY2ssIHNpemluZ0Rh
dGEuY29sdW1uVHJhY2tzKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmICghc3Bhbm5pbmdJdGVt
Q3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3Moc3BhbiwgZGlyZWN0aW9uKSkKKyAgICAgICAgICAg
ICAgICAgICAgc2l6aW5nRGF0YS5pdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYXBwZW5kKEdy
aWRJdGVtV2l0aFNwYW4oKmdyaWRJdGVtLCBzcGFuKSk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICB9CkBAIC04NjQsOSArODUxLDkgQEAgdm9pZCBSZW5kZXJHcmlkOjpyZXNvbHZlQ29u
dGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnMoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW8KICAg
ICB9CiB9CiAKLXZvaWQgUmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5n
RnVuY3Rpb25zRm9yTm9uU3Bhbm5pbmdJdGVtcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGly
ZWN0aW9uLCBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSwgUmVuZGVyQm94JiBncmlk
SXRlbSwgR3JpZFRyYWNrJiB0cmFjaywgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcykK
K3ZvaWQgUmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25z
Rm9yTm9uU3Bhbm5pbmdJdGVtcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBj
b25zdCBHcmlkU3BhbiYgc3BhbiwgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrJiB0cmFj
aywgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcykKIHsKLSAgICBjb25zdCBHcmlkUmVz
b2x2ZWRQb3NpdGlvbiB0cmFja1Bvc2l0aW9uID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/
IGNvb3JkaW5hdGUuY29sdW1ucy5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbiA6IGNvb3JkaW5hdGUu
cm93cy5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbjsKKyAgICBjb25zdCBHcmlkUmVzb2x2ZWRQb3Np
dGlvbiB0cmFja1Bvc2l0aW9uID0gc3Bhbi5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbjsKICAgICBH
cmlkVHJhY2tTaXplIHRyYWNrU2l6ZSA9IGdyaWRUcmFja1NpemUoZGlyZWN0aW9uLCB0cmFja1Bv
c2l0aW9uLnRvSW50KCkpOwogCiAgICAgaWYgKHRyYWNrU2l6ZS5oYXNNaW5Db250ZW50TWluVHJh
Y2tCcmVhZHRoKCkpCkBAIC0xMDE1LDkgKzEwMDIsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnJlc29s
dmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvckl0ZW1zKEdyaWRUcmFja1Npemlu
ZwogCiAgICAgZm9yIChhdXRvIGl0ID0gZ3JpZEl0ZW1zV2l0aFNwYW4ucmFuZ2VTdGFydDsgaXQg
IT0gZ3JpZEl0ZW1zV2l0aFNwYW4ucmFuZ2VFbmQ7ICsraXQpIHsKICAgICAgICAgR3JpZEl0ZW1X
aXRoU3BhbiYgZ3JpZEl0ZW1XaXRoU3BhbiA9ICppdDsKLSAgICAgICAgQVNTRVJUKGdyaWRJdGVt
V2l0aFNwYW4uc3BhbigpID4gMSk7Ci0gICAgICAgIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29y
ZGluYXRlID0gZ3JpZEl0ZW1XaXRoU3Bhbi5jb29yZGluYXRlKCk7Ci0gICAgICAgIGNvbnN0IEdy
aWRTcGFuJiBpdGVtU3BhbiA9IChkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucykgPyBjb29yZGluYXRl
LmNvbHVtbnMgOiBjb29yZGluYXRlLnJvd3M7CisgICAgICAgIEFTU0VSVChncmlkSXRlbVdpdGhT
cGFuLnNwYW4oKS5pbnRlZ2VyU3BhbigpID4gMSk7CisgICAgICAgIGNvbnN0IEdyaWRTcGFuJiBp
dGVtU3BhbiA9IGdyaWRJdGVtV2l0aFNwYW4uc3BhbigpOwogCiAgICAgICAgIHNpemluZ0RhdGEu
ZmlsdGVyZWRUcmFja3Muc2hyaW5rKDApOwogICAgICAgICBzaXppbmdEYXRhLmdyb3dCZXlvbmRH
cm93dGhMaW1pdHNUcmFja3Muc2hyaW5rKDApOwpAQCAtMTUxNywxNiArMTUwMywxNiBAQCB2b2lk
IFJlbmRlckdyaWQ6Om9mZnNldEFuZEJyZWFkdGhGb3JQb3NpdGlvbmVkQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgR3JpZAogICAgIH0KIH0KIAotR3JpZENvb3JkaW5hdGUgUmVuZGVyR3Jp
ZDo6Y2FjaGVkR3JpZENvb3JkaW5hdGUoY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSkgY29uc3QK
K0dyaWRTcGFuIFJlbmRlckdyaWQ6OmNhY2hlZEdyaWRTcGFuKGNvbnN0IFJlbmRlckJveCYgZ3Jp
ZEl0ZW0sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0CiB7CiAgICAg
QVNTRVJUKG1fZ3JpZEl0ZW1Db29yZGluYXRlLmNvbnRhaW5zKCZncmlkSXRlbSkpOwotICAgIHJl
dHVybiBtX2dyaWRJdGVtQ29vcmRpbmF0ZS5nZXQoJmdyaWRJdGVtKTsKKyAgICBHcmlkQ29vcmRp
bmF0ZSBjb29yZGluYXRlID0gbV9ncmlkSXRlbUNvb3JkaW5hdGUuZ2V0KCZncmlkSXRlbSk7Cisg
ICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gY29vcmRpbmF0ZS5jb2x1bW5zIDog
Y29vcmRpbmF0ZS5yb3dzOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmdyaWRBcmVhQnJl
YWR0aEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbiBkaXJlY3Rpb24sIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MpIGNvbnN0CiB7
Ci0gICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBjYWNoZWRHcmlkQ29vcmRp
bmF0ZShjaGlsZCk7Ci0gICAgY29uc3QgR3JpZFNwYW4mIHNwYW4gPSAoZGlyZWN0aW9uID09IEZv
ckNvbHVtbnMpID8gY29vcmRpbmF0ZS5jb2x1bW5zIDogY29vcmRpbmF0ZS5yb3dzOworICAgIGNv
bnN0IEdyaWRTcGFuJiBzcGFuID0gY2FjaGVkR3JpZFNwYW4oY2hpbGQsIGRpcmVjdGlvbik7CiAg
ICAgTGF5b3V0VW5pdCBncmlkQXJlYUJyZWFkdGggPSAwOwogICAgIGZvciAoYXV0byYgdHJhY2tQ
b3NpdGlvbiA6IHNwYW4pCiAgICAgICAgIGdyaWRBcmVhQnJlYWR0aCArPSB0cmFja3NbdHJhY2tQ
b3NpdGlvbi50b0ludCgpXS5iYXNlU2l6ZSgpOwpAQCAtMTU0MSw4ICsxNTI3LDcgQEAgTGF5b3V0
VW5pdCBSZW5kZXJHcmlkOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZEluY2x1ZGluZ0FsaWdubWVu
dE9mZnNldHMoY29uc3QgUmUKICAgICAvLyBXZSBuZWVkIHRoZSBjYWNoZWQgdmFsdWUgd2hlbiBh
dmFpbGFibGUgYmVjYXVzZSBDb250ZW50IERpc3RyaWJ1dGlvbiBhbGlnbm1lbnQgcHJvcGVydGll
cwogICAgIC8vIG1heSBoYXZlIHNvbWUgaW5mbHVlbmNlIGluIHRoZSBmaW5hbCBncmlkIGFyZWEg
YnJlYWR0aC4KICAgICBjb25zdCBhdXRvJiB0cmFja3MgPSAoZGlyZWN0aW9uID09IEZvckNvbHVt
bnMpID8gc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MgOiBzaXppbmdEYXRhLnJvd1RyYWNrczsKLSAg
ICBjb25zdCBhdXRvJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5hdGUoY2hpbGQpOwot
ICAgIGNvbnN0IGF1dG8mIHNwYW4gPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gY29vcmRp
bmF0ZS5jb2x1bW5zIDogY29vcmRpbmF0ZS5yb3dzOworICAgIGNvbnN0IGF1dG8mIHNwYW4gPSBj
YWNoZWRHcmlkU3BhbihjaGlsZCwgZGlyZWN0aW9uKTsKICAgICBjb25zdCBhdXRvJiBsaW5lUG9z
aXRpb25zID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IG1fY29sdW1uUG9zaXRpb25zIDog
bV9yb3dQb3NpdGlvbnM7CiAKICAgICBMYXlvdXRVbml0IGluaXRpYWxUcmFja1Bvc2l0aW9uID0g
bGluZVBvc2l0aW9uc1tzcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCldOwpAQCAt
MTg0NCw4ICsxODI5LDggQEAgc3RhdGljIGlubGluZSBMYXlvdXRVbml0IG9mZnNldEJldHdlZW5U
cmFja3MoQ29udGVudERpc3RyaWJ1dGlvblR5cGUgZGlzdHJpYnV0aW8KIAogTGF5b3V0VW5pdCBS
ZW5kZXJHcmlkOjpjb2x1bW5BeGlzT2Zmc2V0Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCkgY29uc3QKIHsKLSAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGNhY2hl
ZEdyaWRDb29yZGluYXRlKGNoaWxkKTsKLSAgICB1bnNpZ25lZCBjaGlsZFN0YXJ0TGluZSA9IGNv
b3JkaW5hdGUucm93cy5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgpOworICAgIGNvbnN0
IEdyaWRTcGFuJiByb3dzU3BhbiA9IGNhY2hlZEdyaWRTcGFuKGNoaWxkLCBGb3JSb3dzKTsKKyAg
ICB1bnNpZ25lZCBjaGlsZFN0YXJ0TGluZSA9IHJvd3NTcGFuLnJlc29sdmVkSW5pdGlhbFBvc2l0
aW9uLnRvSW50KCk7CiAgICAgTGF5b3V0VW5pdCBzdGFydE9mUm93ID0gbV9yb3dQb3NpdGlvbnNb
Y2hpbGRTdGFydExpbmVdOwogICAgIExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9IHN0YXJ0T2ZS
b3cgKyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZCk7CiAgICAgaWYgKGhhc0F1dG9NYXJnaW5z
SW5Db2x1bW5BeGlzKGNoaWxkKSkKQEAgLTE4NTYsNyArMTg0MSw3IEBAIExheW91dFVuaXQgUmVu
ZGVyR3JpZDo6Y29sdW1uQXhpc09mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQp
IGNvbnN0CiAgICAgICAgIHJldHVybiBzdGFydFBvc2l0aW9uOwogICAgIGNhc2UgR3JpZEF4aXNF
bmQ6CiAgICAgY2FzZSBHcmlkQXhpc0NlbnRlcjogewotICAgICAgICB1bnNpZ25lZCBjaGlsZEVu
ZExpbmUgPSBjb29yZGluYXRlLnJvd3MucmVzb2x2ZWRGaW5hbFBvc2l0aW9uLm5leHQoKS50b0lu
dCgpOworICAgICAgICB1bnNpZ25lZCBjaGlsZEVuZExpbmUgPSByb3dzU3Bhbi5yZXNvbHZlZEZp
bmFsUG9zaXRpb24ubmV4dCgpLnRvSW50KCk7CiAgICAgICAgIExheW91dFVuaXQgZW5kT2ZSb3cg
PSBtX3Jvd1Bvc2l0aW9uc1tjaGlsZEVuZExpbmVdOwogICAgICAgICAvLyBtX3Jvd1Bvc2l0aW9u
cyBpbmNsdWRlIGd1dHRlcnMgc28gd2UgbmVlZCB0byBzdWJzdHJhY3QgdGhlbSB0byBnZXQgdGhl
IGFjdHVhbCBlbmQgcG9zaXRpb24gZm9yIGEgZ2l2ZW4KICAgICAgICAgLy8gcm93ICh0aGlzIGRv
ZXMgbm90IGhhdmUgdG8gYmUgZG9uZSBmb3IgdGhlIGxhc3QgdHJhY2sgYXMgdGhlcmUgYXJlIG5v
IG1vcmUgbV9yb3dQb3NpdGlvbnMgYWZ0ZXIgaXQpCkBAIC0xODc4LDggKzE4NjMsOCBAQCBMYXlv
dXRVbml0IFJlbmRlckdyaWQ6OmNvbHVtbkF4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJC
b3gmIGNoaWxkKSBjb25zdAogCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OnJvd0F4aXNPZmZzZXRG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewotICAgIGNvbnN0IEdyaWRD
b29yZGluYXRlJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5hdGUoY2hpbGQpOwotICAg
IHVuc2lnbmVkIGNoaWxkU3RhcnRMaW5lID0gY29vcmRpbmF0ZS5jb2x1bW5zLnJlc29sdmVkSW5p
dGlhbFBvc2l0aW9uLnRvSW50KCk7CisgICAgY29uc3QgR3JpZFNwYW4mIGNvbHVtbnNTcGFuID0g
Y2FjaGVkR3JpZFNwYW4oY2hpbGQsIEZvckNvbHVtbnMpOworICAgIHVuc2lnbmVkIGNoaWxkU3Rh
cnRMaW5lID0gY29sdW1uc1NwYW4ucmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQoKTsKICAg
ICBMYXlvdXRVbml0IHN0YXJ0T2ZDb2x1bW4gPSBtX2NvbHVtblBvc2l0aW9uc1tjaGlsZFN0YXJ0
TGluZV07CiAgICAgTGF5b3V0VW5pdCBzdGFydFBvc2l0aW9uID0gc3RhcnRPZkNvbHVtbiArIG1h
cmdpblN0YXJ0Rm9yQ2hpbGQoY2hpbGQpOwogICAgIGlmIChoYXNBdXRvTWFyZ2luc0luUm93QXhp
cyhjaGlsZCkpCkBAIC0xODkwLDcgKzE4NzUsNyBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OnJv
d0F4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogICAgICAg
ICByZXR1cm4gc3RhcnRQb3NpdGlvbjsKICAgICBjYXNlIEdyaWRBeGlzRW5kOgogICAgIGNhc2Ug
R3JpZEF4aXNDZW50ZXI6IHsKLSAgICAgICAgdW5zaWduZWQgY2hpbGRFbmRMaW5lID0gY29vcmRp
bmF0ZS5jb2x1bW5zLnJlc29sdmVkRmluYWxQb3NpdGlvbi5uZXh0KCkudG9JbnQoKTsKKyAgICAg
ICAgdW5zaWduZWQgY2hpbGRFbmRMaW5lID0gY29sdW1uc1NwYW4ucmVzb2x2ZWRGaW5hbFBvc2l0
aW9uLm5leHQoKS50b0ludCgpOwogICAgICAgICBMYXlvdXRVbml0IGVuZE9mQ29sdW1uID0gbV9j
b2x1bW5Qb3NpdGlvbnNbY2hpbGRFbmRMaW5lXTsKICAgICAgICAgLy8gbV9jb2x1bW5Qb3NpdGlv
bnMgaW5jbHVkZSBndXR0ZXJzIHNvIHdlIG5lZWQgdG8gc3Vic3RyYWN0IHRoZW0gdG8gZ2V0IHRo
ZSBhY3R1YWwgZW5kIHBvc2l0aW9uIGZvciBhIGdpdmVuCiAgICAgICAgIC8vIGNvbHVtbiAodGhp
cyBkb2VzIG5vdCBoYXZlIHRvIGJlIGRvbmUgZm9yIHRoZSBsYXN0IHRyYWNrIGFzIHRoZXJlIGFy
ZSBubyBtb3JlIG1fY29sdW1uUG9zaXRpb25zIGFmdGVyIGl0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKaW5kZXggM2ZmZWYwNWEzY2YwYTY2NjZlYmExYjI5ZTYyNDk3NTg4MjMy
YTdjNS4uNDFmZGQ3ZWRjM2ZhMGZmYjc2NzM5NGI5Nzc3YmI1MjBmYjE0NTc1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xMjAsNyArMTIwLDcgQEAgcHJpdmF0ZToK
ICAgICBMYXlvdXRVbml0IGN1cnJlbnRJdGVtU2l6ZUZvclRyYWNrU2l6ZUNvbXB1dGF0aW9uUGhh
c2UoVHJhY2tTaXplQ29tcHV0YXRpb25QaGFzZSwgUmVuZGVyQm94JiwgR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzKTsKIAogICAgIHR5cGVk
ZWYgc3RydWN0IEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlIEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdl
OwotICAgIHZvaWQgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9yTm9u
U3Bhbm5pbmdJdGVtcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IEdyaWRDb29yZGlu
YXRlJiwgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrJiwgVmVjdG9yPEdyaWRUcmFjaz4m
IGNvbHVtblRyYWNrcyk7CisgICAgdm9pZCByZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdG
dW5jdGlvbnNGb3JOb25TcGFubmluZ0l0ZW1zKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29u
c3QgR3JpZFNwYW4mLCBSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlkVHJhY2smLCBWZWN0b3I8R3Jp
ZFRyYWNrPiYgY29sdW1uVHJhY2tzKTsKICAgICB0ZW1wbGF0ZSA8VHJhY2tTaXplQ29tcHV0YXRp
b25QaGFzZT4gdm9pZCByZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnNGb3JJ
dGVtcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIEdyaWRTaXppbmdEYXRhJiwgY29uc3QgR3Jp
ZEl0ZW1zU3Bhbkdyb3VwUmFuZ2UmKTsKICAgICB0ZW1wbGF0ZSA8VHJhY2tTaXplQ29tcHV0YXRp
b25QaGFzZT4gdm9pZCBkaXN0cmlidXRlU3BhY2VUb1RyYWNrcyhWZWN0b3I8R3JpZFRyYWNrKj4m
LCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrKj4qIGdyb3dCZXlvbmRHcm93dGhMaW1pdHNUcmFja3Ms
IExheW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSk7CiAKQEAgLTE0MCw3ICsxNDAsNyBA
QCBwcml2YXRlOgogICAgIExheW91dFVuaXQgcm93QXhpc09mZnNldEZvckNoaWxkKGNvbnN0IFJl
bmRlckJveCYpIGNvbnN0OwogICAgIENvbnRlbnRBbGlnbm1lbnREYXRhIGNvbXB1dGVDb250ZW50
UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBj
b25zdCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVkIG51bWJlck9mR3Jp
ZFRyYWNrcykgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQgZmluZENoaWxkTG9naWNhbFBvc2l0aW9u
KGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwotICAgIEdyaWRDb29yZGluYXRlIGNhY2hlZEdyaWRD
b29yZGluYXRlKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OworICAgIEdyaWRTcGFuIGNhY2hlZEdy
aWRTcGFuKGNvbnN0IFJlbmRlckJveCYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7
CiAKIAogICAgIExheW91dFVuaXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQoY29uc3QgUmVuZGVy
Qm94JiBjaGlsZCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8R3JpZFRy
YWNrPiYpIGNvbnN0OwpAQCAtMTY2LDcgKzE2Niw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGdy
aWRXYXNQb3B1bGF0ZWQoKSBjb25zdCB7IHJldHVybiAhbV9ncmlkLmlzRW1wdHkoKSAmJiAhbV9n
cmlkWzBdLmlzRW1wdHkoKTsgfQogCi0gICAgYm9vbCBzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGli
bGVTaXplZFRyYWNrcyhjb25zdCBHcmlkQ29vcmRpbmF0ZSYsIEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbikgY29uc3Q7CisgICAgYm9vbCBzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGlibGVTaXplZFRy
YWNrcyhjb25zdCBHcmlkU3BhbiYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAK
ICAgICB1bnNpZ25lZCBncmlkQ29sdW1uQ291bnQoKSBjb25zdAogICAgIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>