<?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>102537</bug_id>
          
          <creation_ts>2012-11-16 10:54:30 -0800</creation_ts>
          <short_desc>Computed grid items&apos; positions shouldn&apos;t be using Length</short_desc>
          <delta_ts>2012-11-19 08:40:21 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769449</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-16 10:54:30 -0800</bug_when>
    <thetext>Currently we convert grid-row and grid-column (resp. grid-row-position / grid-column-position in the latest spec) to Length inside StyleGridItemData:

// FIXME: For the moment, we only support a subset of the grammar which correspond to:
// &apos;auto&apos; | &lt;length&gt;
// When we add more of the syntax, we will need a dedicated GridPosition class.
Length m_gridColumn;
Length m_gridRow;

(The comment is wrong, the grammar only allows &lt;integer&gt; not &lt;length&gt;)

Ojan pointed out in bug 102441 that it&apos;s confusing to use Length. The type was meant to be a temporary type to get the ball rolling so and it&apos;s probably time to kill this hack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769514</commentid>
    <comment_count>1</comment_count>
      <attachid>174729</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-16 11:37:33 -0800</bug_when>
    <thetext>Created attachment 174729
Proposed change: add GridPosition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769615</commentid>
    <comment_count>2</comment_count>
      <attachid>174729</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-16 13:13:52 -0800</bug_when>
    <thetext>Comment on attachment 174729
Proposed change: add GridPosition.

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770785</commentid>
    <comment_count>3</comment_count>
      <attachid>174729</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 08:40:17 -0800</bug_when>
    <thetext>Comment on attachment 174729
Proposed change: add GridPosition.

Clearing flags on attachment: 174729

Committed r135164: &lt;http://trac.webkit.org/changeset/135164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770786</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 08:40:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174729</attachid>
            <date>2012-11-16 11:37:33 -0800</date>
            <delta_ts>2012-11-19 08:40:17 -0800</delta_ts>
            <desc>Proposed change: add GridPosition.</desc>
            <filename>bug-102537-20121116113528.patch</filename>
            <type>text/plain</type>
            <size>19591</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZkZTJiODQyZGY0OWY4
ZTE4NzNlMTQ3MWExZTkzMWY5MDY1Zjc4ZC4uMmQyNjVhNmQ1MjFiYTJiYTUxMDI2YzRmNDIyNmIz
MzdiMDkyZmIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTExLTE2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIENvbXB1dGVk
IGdyaWQgaXRlbXMnIHBvc2l0aW9ucyBzaG91bGRuJ3QgYmUgdXNpbmcgTGVuZ3RoCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI1MzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5nZSByZWZh
Y3RvcnMgaG93IHdlIHN0b3JlIHRoZSBncmlkIGl0ZW1zJyBwb3NpdGlvbiB0byB1c2UKKyAgICAg
ICAgYSBuZXcgdHlwZSBHcmlkUG9zaXRpb24uIExlbmd0aCB3YXMgYSB0ZW1wb3JhcnkgdHlwZSBh
cyBpdCBzdXBwb3J0ZWQKKyAgICAgICAgJ2F1dG8nIHwgPGludGVnZXI+IGJ1dCBpdCB3YXMgc3Rh
cnRpbmcgdG8gZ2V0IG1vcmUgYW5kIG1vcmUgY29uZnVzaW5nCisgICAgICAgIGFzIHdlIHdlcmUg
aW1wbGVtZW50aW5nIHRoZSBsYXlvdXQgcm91dGluZXMuCisKKyAgICAgICAgTm8gY2hhbmdlIGlu
IGJlaGF2aW9yLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGRl
ZCB0aGUgbmV3IGZpbGUgdG8gdGhlIGJ1aWxkIHN5c3RlbXMuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgVXBkYXRlZCBhZnRlciB0aGUgdHlwZSBj
aGFuZ2UuIEFsc28gbWFkZSBzb21lIGdldHRlcnMKKyAgICAgICAgcmV0dXJuIGEgY29uc3QgcmVm
ZXJlbmNlIGluc3RlYWQgb2YgZm9yY2luZyBhIGNvcHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuaDoKKyAgICAgICAgKFN0eWxlR3JpZEl0ZW1EYXRhKToK
KyAgICAgICAgRGl0dG8sIGFsc28gcmVtb3ZlZCBhIGNvbW1lbnQgYWJvdXQgYWRkaW5nIGEgbmV3
IHR5cGUuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnZhbHVlRm9yR3JpZFBvc2l0aW9uKToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVHcmlkUG9zaXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
R3JpZDo6cmVzb2x2ZUdyaWRQb3NpdGlvbik6CisgICAgICAgIFVwZGF0ZWQgdGhlc2Ugc2l0ZXMg
YWZ0ZXIgc3dpdGNoaW5nIHRvIEdyaWRQb3NpdGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJHcmlkLmg6CisgICAgICAgIENoYW5nZWQgcmVzb2x2ZUdyaWRQb3NpdGlvbiBzaWduYXR1
cmU6IGl0IG5vdyB0YWtlcyBhIEdyaWRQb3NpdGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9HcmlkUG9zaXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkUG9zaXRp
b246OkdyaWRQb3NpdGlvbik6CisgICAgICAgIERlZmF1bHQgY29uc3RydWN0b3IsIGNyZWF0ZXMg
YW4gJ2F1dG8nIHBvc2l0aW9uLgorCisgICAgICAgIChXZWJDb3JlOjpHcmlkUG9zaXRpb246Omlz
UG9zaXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFBvc2l0aW9uOjp0eXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyaWRQb3NpdGlvbjo6aXNBdXRvKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
aWRQb3NpdGlvbjo6c2V0SW50ZWdlclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRQ
b3NpdGlvbjo6aW50ZWdlclBvc2l0aW9uKToKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9ucy4KKwor
ICAgICAgICAoV2ViQ29yZTo6R3JpZFBvc2l0aW9uOjpvcGVyYXRvcj09KToKKyAgICAgICAgUmVx
dWlyZWQgY29tcGFyaXNvbiBvcGVyYXRvciBmb3IgU3R5bGVHcmlkSXRlbURhdGEuCisKIDIwMTIt
MTEtMTYgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBB
ZGRpbmcgYSBudWxsIHBvaW50ZXIgY2hlY2sgZm9yIGN1cnJlbnRDb250ZXh0IHRvIEdyYXBoaWNz
Q29udGV4dDNEUXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBmZjY2MjA4ZjUy
NzQwMWJiODA0ZmFmNzY5M2YwZDY0ODY2M2Y3ZDRiLi40ZDFlZmZiM2JhMWZlYmEyY2ZmYmExMDYy
YTMzOWVjMjViZDYzYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ0MzMs
NiArNDQzMyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0RhdGFSZWYuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aCBcCisJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbi5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvS2V5ZnJhbWVMaXN0LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0tleWZyYW1lTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvTGluZUNsYW1wVmFsdWUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
NjdiMWQwZDM5ODk2YTY4ZWI3YzA3MzdlOWY1M2FlZjI3NzNiMzk4MC4uNTBkOTg3ZmFiZGJmMTE0
ODY3MTI5MjgzZjU3YzFkOTg2ZDEyOWQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTk4LDYgKzU5
OCw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0N1cnNvckxpc3QuaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0RhdGFSZWYuaCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL3N0eWxlL0ZpbGxMYXllci5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvR3Jp
ZFBvc2l0aW9uLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9MaW5lQ2xhbXBWYWx1
ZS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuaCcsCiAg
ICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL091dGxpbmVWYWx1ZS5oJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDQwNjAwNzI1YTJkNGEy
Mzk0MjVlMmZhODIwNWJkOTFjNDczNTY5MS4uMjg0N2M5MzZhNDEwOGRkOGM2NjJkOTVmOWYyNDVj
N2Y1NDA3YTgxMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKQEAgLTQ1NDM1LDYgKzQ1NDM1LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJ
PEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcR3JpZFBvc2l0aW9u
LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxyZW5kZXJpbmdcc3R5bGVcS2V5ZnJhbWVMaXN0LmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBkYjYxZWJlMzNlMmFiMzQyYTFhYzIyYjljODA4ODE5NWI0OGVkODFm
Li40ZDQzNzc4MDZkMGM2ZjZkMmNiZWYxNDFkY2FkMTgxNjZmOTczYWFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zODAxLDYg
KzM4MDEsNyBAQAogCQlBMTEwREI5RDE0RjVERjg3MDBBMDNCOTMgLyogU3R5bGVHcmlkSXRlbURh
dGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEx
MERCOUMxNEY1REY4NzAwQTAzQjkzIC8qIFN0eWxlR3JpZEl0ZW1EYXRhLmNwcCAqLzsgfTsKIAkJ
QTEyMEFDQTQxM0Y5OThDQTAwRkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTIwQUNBMTEzRjk5ODQ2MDBG
RTRBQzcgLyogTGF5b3V0UmVwYWludGVyLmNwcCAqLzsgfTsKIAkJQTEyNTM4RDQxM0Y5QjYwQTAw
MDI0NzU0IC8qIExheW91dFJlcGFpbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTEyMEFDQTAxM0Y5OTgzNzAwRkU0QUM3IC8qIExheW91dFJlcGFp
bnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUExMjcwNUMzMTY1NkJENjUwMEMyRTI3QyAvKiBHcmlkUG9zaXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMjcwNUMyMTY1NkJENjUwMEMyRTI3
QyAvKiBHcmlkUG9zaXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBMTM2QTAwQzExMzREQkQyMDBDQzhENTAgLyogWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTEzNkEwMEExMTM0REJEMjAwQ0M4RDUwIC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCAqLzsgfTsKIAkJQTEzNkEwMEQxMTM0REJEMjAwQ0M4
RDUwIC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTM2QTAwQjExMzREQkQyMDBDQzhE
NTAgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaCAqLzsgfTsKIAkJQTE3
QzgxMjIwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTdDODEyMDBGMkE1Q0Y3MDA1
REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsKQEAgLTExMDkxLDYgKzExMDky
LDcgQEAKIAkJQTExMERCOUMxNEY1REY4NzAwQTAzQjkzIC8qIFN0eWxlR3JpZEl0ZW1EYXRhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0eWxlR3JpZEl0ZW1EYXRh
LmNwcDsgcGF0aCA9IHN0eWxlL1N0eWxlR3JpZEl0ZW1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTEyMEFDQTAxM0Y5OTgzNzAwRkU0QUM3IC8qIExheW91dFJlcGFpbnRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRSZXBhaW50ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTEyMEFDQTExM0Y5OTg0NjAwRkU0QUM3IC8q
IExheW91dFJlcGFpbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBMYXlvdXRSZXBhaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTI3
MDVDMjE2NTZCRDY1MDBDMkUyN0MgLyogR3JpZFBvc2l0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEdyaWRQb3NpdGlvbi5oOyBwYXRoID0gc3R5bGUvR3JpZFBvc2l0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMzZBMDBBMTEzNERCRDIwMENDOEQ1
MCAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMzZBMDBCMTEzNERCRDIw
MENDOEQ1MCAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTdDODEyMDBGMkE1Q0Y3MDA1
REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhUTUxFbGVtZW50RmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMDYwNiw2ICsyMDYwOCw3IEBACiAJCQkJQkMyMjc0NkUwRTgzNjY0NTAwRTdG
OTc1IC8qIERhdGFSZWYuaCAqLywKIAkJCQlCQzVFQjY5QzBFODFEQUVCMDBCMjU5NjUgLyogRmls
bExheWVyLmNwcCAqLywKIAkJCQlCQzVFQjY5RDBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVy
LmggKi8sCisJCQkJQTEyNzA1QzIxNjU2QkQ2NTAwQzJFMjdDIC8qIEdyaWRQb3NpdGlvbi5oICov
LAogCQkJCUJDNUVCQTBFMEU4MjNFNDcwMEIyNTk2NSAvKiBLZXlmcmFtZUxpc3QuY3BwICovLAog
CQkJCUJDNUVCQTBGMEU4MjNFNDcwMEIyNTk2NSAvKiBLZXlmcmFtZUxpc3QuaCAqLywKIAkJCQlB
QjMxQzkxRDEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCAqLywKQEAgLTIzNzA3
LDYgKzIzNzEwLDcgQEAKIAkJCQkwRkEyNEQ3QTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NM
YXllclVwZGF0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQTAxNUFCMEFGNkNENTMwMDZCQ0Uw
RSAvKiBHcmFwaGljc1R5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3N0ExN0E3QjEyRjI4OTBC
MDA0RTAyRjYgLyogR3JhcGhpY3NUeXBlczNELmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTI3MDVD
MzE2NTZCRDY1MDBDMkUyN0MgLyogR3JpZFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
NTBCNTYxNzEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29scy5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCmluZGV4IGFmYjAwZDEzMmI2NGIxZjMzMDNiZTAwOGFmM2I1MGVhMTJk
NTdjZWUuLmYzMGQ5MTdlMDAzYTc3YWY3MzlhZWQ1MjNlOTI4YWNlMjkyNzA5Y2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xMDA0LDEzICsxMDA0LDEyIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZv
ckdyaWRUcmFja0xpc3QoY29uc3QgVmVjdG9yPExlbmd0aD4mIHRyYWNrTGVuCiAgICAgcmV0dXJu
IGxpc3QucmVsZWFzZSgpOwogfQogCi1zdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVG
b3JHcmlkUG9zaXRpb24oY29uc3QgTGVuZ3RoJiBwb3NpdGlvbikKK3N0YXRpYyBQYXNzUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZUZvckdyaWRQb3NpdGlvbihjb25zdCBHcmlkUG9zaXRpb24mIHBvc2l0
aW9uKQogewogICAgIGlmIChwb3NpdGlvbi5pc0F1dG8oKSkKICAgICAgICAgcmV0dXJuIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOwogCi0gICAgQVNT
RVJUKHBvc2l0aW9uLmlzRml4ZWQoKSk7Ci0gICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0
ZVZhbHVlKHBvc2l0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsK
KyAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUocG9zaXRpb24uaW50ZWdlclBv
c2l0aW9uKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIH0KIAogc3RhdGljIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IGdldERlbGF5VmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5p
bUxpc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggZmI1ZWFlZmI3YWEx
NmU2ZDdlN2U3OWM4M2YyZDBkMWMwOGE3OWFhOC4uNGNlODQ5OWI3NjBmNzZhNjRlOWZkZDI1MTQ1
NGQyYWNiODRmMzdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjcz
OCw3ICsyNzM4LDcgQEAgc3RhdGljIGJvb2wgY3JlYXRlR3JpZFRyYWNrTGlzdChDU1NWYWx1ZSog
dmFsdWUsIFZlY3RvcjxMZW5ndGg+JiBsZW5ndGhzLCBTdHlsZVIKIH0KIAogCi1zdGF0aWMgYm9v
bCBjcmVhdGVHcmlkUG9zaXRpb24oQ1NTVmFsdWUqIHZhbHVlLCBMZW5ndGgmIHBvc2l0aW9uKQor
c3RhdGljIGJvb2wgY3JlYXRlR3JpZFBvc2l0aW9uKENTU1ZhbHVlKiB2YWx1ZSwgR3JpZFBvc2l0
aW9uJiBwb3NpdGlvbikKIHsKICAgICAvLyBGb3Igbm93LCB3ZSBvbmx5IGFjY2VwdDogPGludGVn
ZXI+IHwgJ2F1dG8nCiAgICAgaWYgKCF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQpAQCAtMjc0
OSw3ICsyNzQ5LDcgQEAgc3RhdGljIGJvb2wgY3JlYXRlR3JpZFBvc2l0aW9uKENTU1ZhbHVlKiB2
YWx1ZSwgTGVuZ3RoJiBwb3NpdGlvbikKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBBU1NF
UlQocHJpbWl0aXZlVmFsdWUtPmlzTnVtYmVyKCkpOwotICAgIHBvc2l0aW9uLnNldFZhbHVlKHBy
aW1pdGl2ZVZhbHVlLT5nZXRJbnRWYWx1ZSgpKTsKKyAgICBwb3NpdGlvbi5zZXRJbnRlZ2VyUG9z
aXRpb24ocHJpbWl0aXZlVmFsdWUtPmdldEludFZhbHVlKCkpOwogICAgIHJldHVybiB0cnVlOwog
fQogCkBAIC0zNTk0LDE0ICszNTk0LDE0IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgfQogCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW46IHsKLSAgICAgICAgTGVuZ3RoIGNvbHVtbjsK
KyAgICAgICAgR3JpZFBvc2l0aW9uIGNvbHVtbjsKICAgICAgICAgaWYgKCFjcmVhdGVHcmlkUG9z
aXRpb24odmFsdWUsIGNvbHVtbikpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fc3R5
bGUtPnNldEdyaWRJdGVtQ29sdW1uKGNvbHVtbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6IHsKLSAgICAgICAgTGVuZ3RoIHJvdzsK
KyAgICAgICAgR3JpZFBvc2l0aW9uIHJvdzsKICAgICAgICAgaWYgKCFjcmVhdGVHcmlkUG9zaXRp
b24odmFsdWUsIHJvdykpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fc3R5bGUtPnNl
dEdyaWRJdGVtUm93KHJvdyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAK
aW5kZXggYzViOTAzYzMwNWRkN2UxOTA2ZGM0NmQyYTdmMzE2ZTcxNDEyYzE1NS4uZTUyMDU4MWI5
YTZkODliMTFlYmUwM2QyMWQxMTQ4ZWFmMTZhMDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmNwcApAQCAtMTc1LDM1ICsxNzUsMjEgQEAgdm9pZCBSZW5kZXJHcmlkOjps
YXlvdXRHcmlkSXRlbXMoKQogICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQo
KSArIHJvd1RyYWNrc1tpXS5tX3VzZWRCcmVhZHRoKTsKIH0KIAotc2l6ZV90IFJlbmRlckdyaWQ6
OnJlc29sdmVHcmlkUG9zaXRpb24oY29uc3QgTGVuZ3RoJiBwb3NpdGlvbikgY29uc3QKK3NpemVf
dCBSZW5kZXJHcmlkOjpyZXNvbHZlR3JpZFBvc2l0aW9uKGNvbnN0IEdyaWRQb3NpdGlvbiYgcG9z
aXRpb24pIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IEhhbmRsZSBvdGhlciB2YWx1ZXMgZm9yIGdy
aWQte3Jvdyxjb2x1bW59IGxpa2UgcmFuZ2VzIG9yIGxpbmUgbmFtZXMuCiAgICAgc3dpdGNoIChw
b3NpdGlvbi50eXBlKCkpIHsKLSAgICBjYXNlIEZpeGVkOgorICAgIGNhc2UgSW50ZWdlclBvc2l0
aW9uOgogICAgICAgICAvLyBGSVhNRTogV2hhdCBkb2VzIGEgbm9uLXBvc2l0aXZlIGludGVnZXIg
bWVhbiBmb3IgYSBjb2x1bW4vcm93PwogICAgICAgICBpZiAoIXBvc2l0aW9uLmlzUG9zaXRpdmUo
KSkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgIHJldHVybiBwb3NpdGlvbi5pbnRW
YWx1ZSgpIC0gMTsKLSAgICBjYXNlIEF1dG86CisgICAgICAgIHJldHVybiBwb3NpdGlvbi5pbnRl
Z2VyUG9zaXRpb24oKSAtIDE7CisgICAgY2FzZSBBdXRvUG9zaXRpb246CiAgICAgICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgZm9sbG93ICdncmlkLWF1dG8tZmxvdycgZm9yIHJlc29sdXRpb24uCiAg
ICAgICAgIC8vIFVudGlsIHRoZW4sIHdlIHVzZSB0aGUgJ2dyaWQtYXV0by1mbG93OiBub25lJyBi
ZWhhdmlvciAod2hpY2ggaXMgdGhlIGRlZmF1bHQpCiAgICAgICAgIC8vIGFuZCByZXNvbHZlICdh
dXRvJyBhcyB0aGUgZmlyc3Qgcm93IC8gY29sdW1uLgogICAgICAgICByZXR1cm4gMDsKLSAgICBj
YXNlIFJlbGF0aXZlOgotICAgIGNhc2UgUGVyY2VudDoKLSAgICBjYXNlIEludHJpbnNpYzoKLSAg
ICBjYXNlIE1pbkludHJpbnNpYzoKLSAgICBjYXNlIE1pbkNvbnRlbnQ6Ci0gICAgY2FzZSBNYXhD
b250ZW50OgotICAgIGNhc2UgRmlsbEF2YWlsYWJsZToKLSAgICBjYXNlIEZpdENvbnRlbnQ6Ci0g
ICAgY2FzZSBDYWxjdWxhdGVkOgotICAgIGNhc2UgVmlld3BvcnRQZXJjZW50YWdlV2lkdGg6Ci0g
ICAgY2FzZSBWaWV3cG9ydFBlcmNlbnRhZ2VIZWlnaHQ6Ci0gICAgY2FzZSBWaWV3cG9ydFBlcmNl
bnRhZ2VNaW46Ci0gICAgY2FzZSBVbmRlZmluZWQ6Ci0gICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5oCmluZGV4IGIzZjRjYTUwZjEzZTc5MTExMWM5ZGZmNTZhZTY4YTZlMDJh
NDViNzEuLjM0MGM2NDg1MTAxNDAzOGI4OTY2NjVmMjlhYWUyNWIyMTFiYWYxYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgbGF5b3V0R3JpZEl0ZW1zKCk7CiAKICAgICBMYXlvdXRQb2ludCBmaW5kQ2hpbGRM
b2dpY2FsUG9zaXRpb24oUmVuZGVyQm94KiwgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVt
blRyYWNrcywgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcyk7Ci0gICAgc2l6ZV90
IHJlc29sdmVHcmlkUG9zaXRpb24oY29uc3QgTGVuZ3RoJikgY29uc3Q7CisgICAgc2l6ZV90IHJl
c29sdmVHcmlkUG9zaXRpb24oY29uc3QgR3JpZFBvc2l0aW9uJikgY29uc3Q7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvR3JpZFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3Jp
ZFBvc2l0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y4ZmU5NzRkMzBjMGZlMWQ0ZDU1NTFhNjdlMzlhOTNj
MDdmMzkzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9HcmlkUG9zaXRpb24uaApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHcmlkUG9zaXRpb25faAor
I2RlZmluZSBHcmlkUG9zaXRpb25faAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gR3Jp
ZFBvc2l0aW9uVHlwZSB7CisgICAgQXV0b1Bvc2l0aW9uLAorICAgIEludGVnZXJQb3NpdGlvbgor
fTsKKworY2xhc3MgR3JpZFBvc2l0aW9uIHsKK3B1YmxpYzoKKyAgICBHcmlkUG9zaXRpb24oKQor
ICAgICAgICA6IG1fdHlwZShBdXRvUG9zaXRpb24pCisgICAgICAgICwgbV9pbnRlZ2VyUG9zaXRp
b24oMCkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3QgeyByZXR1
cm4gaW50ZWdlclBvc2l0aW9uKCkgPiAwOyB9CisKKyAgICBHcmlkUG9zaXRpb25UeXBlIHR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBib29sIGlzQXV0bygpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBBdXRvUG9zaXRpb247IH0KKworICAgIHZvaWQgc2V0SW50ZWdlclBvc2l0
aW9uKGludCBwb3NpdGlvbikKKyAgICB7CisgICAgICAgIG1fdHlwZSA9IEludGVnZXJQb3NpdGlv
bjsKKyAgICAgICAgbV9pbnRlZ2VyUG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICB9CisKKyAgICBp
bnQgaW50ZWdlclBvc2l0aW9uKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVCh0eXBlKCkg
PT0gSW50ZWdlclBvc2l0aW9uKTsKKyAgICAgICAgcmV0dXJuIG1faW50ZWdlclBvc2l0aW9uOwor
ICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBHcmlkUG9zaXRpb24mIG90aGVyKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdHlwZSA9PSBvdGhlci5tX3R5cGUgJiYgbV9p
bnRlZ2VyUG9zaXRpb24gPT0gb3RoZXIubV9pbnRlZ2VyUG9zaXRpb247CisgICAgfQorCitwcml2
YXRlOgorICAgIEdyaWRQb3NpdGlvblR5cGUgbV90eXBlOworICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBwcm9iYWJseSBiZSBhIHNpemVfdCBidXQgdGhlIHNwZWMgY3VycmVudGx5IGFsbG93cyBh
bnkgPGludGVnZXI+LgorICAgIGludCBtX2ludGVnZXJQb3NpdGlvbjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEdyaWRQb3NpdGlvbl9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDFkZWI2Zjc4N2U0ZDIwZGM0
NzViNDMyMzVkZWNjNGFlY2EwNTQ2YzIuLjQwYzMyZGRjY2E4M2U2OWQzZTI1OGI1ZjAzNTcwOGYy
NDMwNzNjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC04MTcsOCArODE3LDggQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxMZW5ndGg+
JiBncmlkQ29sdW1ucygpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dy
aWQtPm1fZ3JpZENvbHVtbnM7IH0KICAgICBjb25zdCBWZWN0b3I8TGVuZ3RoPiYgZ3JpZFJvd3Mo
KSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkLT5tX2dyaWRSb3dz
OyB9CiAKLSAgICBMZW5ndGggZ3JpZEl0ZW1Db2x1bW4oKSBjb25zdCB7IHJldHVybiByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+bV9ncmlkSXRlbS0+bV9ncmlkQ29sdW1uOyB9Ci0gICAgTGVuZ3RoIGdy
aWRJdGVtUm93KCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZEl0
ZW0tPm1fZ3JpZFJvdzsgfQorICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYgZ3JpZEl0ZW1Db2x1bW4o
KSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkSXRlbS0+bV9ncmlk
Q29sdW1uOyB9CisgICAgY29uc3QgR3JpZFBvc2l0aW9uJiBncmlkSXRlbVJvdygpIGNvbnN0IHsg
cmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWRJdGVtLT5tX2dyaWRSb3c7IH0KIAog
ICAgIGNvbnN0IFNoYWRvd0RhdGEqIGJveFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX2JveFNoYWRvdy5nZXQoKTsgfQogICAgIHZvaWQgZ2V0Qm94U2hhZG93
RXh0ZW50KExheW91dFVuaXQmIHRvcCwgTGF5b3V0VW5pdCYgcmlnaHQsIExheW91dFVuaXQmIGJv
dHRvbSwgTGF5b3V0VW5pdCYgbGVmdCkgY29uc3QgeyBnZXRTaGFkb3dFeHRlbnQoYm94U2hhZG93
KCksIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7IH0KQEAgLTEyOTYsOCArMTI5Niw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEp1c3RpZnlDb250ZW50KEVKdXN0aWZ5Q29udGVudCBwKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fanVzdGlmeUNvbnRlbnQsIHApOyB9CiAgICAg
dm9pZCBzZXRHcmlkQ29sdW1ucyhjb25zdCBWZWN0b3I8TGVuZ3RoPiYgbGVuZ3RocykgeyBTRVRf
VkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3JpZENvbHVtbnMs
IGxlbmd0aHMpOyB9CiAgICAgdm9pZCBzZXRHcmlkUm93cyhjb25zdCBWZWN0b3I8TGVuZ3RoPiYg
bGVuZ3RocykgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQs
IG1fZ3JpZFJvd3MsIGxlbmd0aHMpOyB9Ci0gICAgdm9pZCBzZXRHcmlkSXRlbUNvbHVtbihjb25z
dCBMZW5ndGgmIGNvbHVtblBvc2l0aW9uKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEu
YWNjZXNzKCktPm1fZ3JpZEl0ZW0sIG1fZ3JpZENvbHVtbiwgY29sdW1uUG9zaXRpb24pOyB9Ci0g
ICAgdm9pZCBzZXRHcmlkSXRlbVJvdyhjb25zdCBMZW5ndGgmIHJvd1Bvc2l0aW9uKSB7IFNFVF9W
QVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZEl0ZW0sIG1fZ3JpZFJvdywg
cm93UG9zaXRpb24pOyB9CisgICAgdm9pZCBzZXRHcmlkSXRlbUNvbHVtbihjb25zdCBHcmlkUG9z
aXRpb24mIGNvbHVtblBvc2l0aW9uKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNj
ZXNzKCktPm1fZ3JpZEl0ZW0sIG1fZ3JpZENvbHVtbiwgY29sdW1uUG9zaXRpb24pOyB9CisgICAg
dm9pZCBzZXRHcmlkSXRlbVJvdyhjb25zdCBHcmlkUG9zaXRpb24mIHJvd1Bvc2l0aW9uKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZEl0ZW0sIG1fZ3JpZFJv
dywgcm93UG9zaXRpb24pOyB9CiAKICAgICB2b2lkIHNldE1hcnF1ZWVJbmNyZW1lbnQoY29uc3Qg
TGVuZ3RoJiBmKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fbWFy
cXVlZSwgaW5jcmVtZW50LCBmKTsgfQogICAgIHZvaWQgc2V0TWFycXVlZVNwZWVkKGludCBmKSB7
IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fbWFycXVlZSwgc3BlZWQs
IGYpOyB9CkBAIC0xNzExLDggKzE3MTEsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFZlY3RvcjxM
ZW5ndGg+IGluaXRpYWxHcmlkUm93cygpIHsgcmV0dXJuIGluaXRpYWxHcmlkVHJhY2tWYWx1ZSgp
OyB9CiAKICAgICAvLyAnYXV0bycgaXMgdGhlIGRlZmF1bHQuCi0gICAgc3RhdGljIExlbmd0aCBp
bml0aWFsR3JpZEl0ZW1Db2x1bW4oKSB7IHJldHVybiBMZW5ndGgoKTsgfQotICAgIHN0YXRpYyBM
ZW5ndGggaW5pdGlhbEdyaWRJdGVtUm93KCkgeyByZXR1cm4gTGVuZ3RoKCk7IH0KKyAgICBzdGF0
aWMgR3JpZFBvc2l0aW9uIGluaXRpYWxHcmlkSXRlbUNvbHVtbigpIHsgcmV0dXJuIEdyaWRQb3Np
dGlvbigpOyB9CisgICAgc3RhdGljIEdyaWRQb3NpdGlvbiBpbml0aWFsR3JpZEl0ZW1Sb3coKSB7
IHJldHVybiBHcmlkUG9zaXRpb24oKTsgfQogCiAgICAgc3RhdGljIHVuc2lnbmVkIGluaXRpYWxU
YWJTaXplKCkgeyByZXR1cm4gODsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5oCmluZGV4IDcyMWYxODcyNjU0OWRiOTVkMzRlNmY0
YWQxNDUxNDlhZGUwZGU5NzQuLjJmNzQ4N2I4Njk4YWY3NDRiZWQ0NmFlYWE5NGU2ZGNhMjllNTE5
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJ
dGVtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJ
dGVtRGF0YS5oCkBAIC0zMiw3ICszMiw3IEBACiAjZGVmaW5lIFN0eWxlR3JpZEl0ZW1EYXRhX2gK
IAogCi0jaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSAiR3JpZFBvc2l0aW9uLmgiCiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU0LDExICs1NCw4IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEoKnRoaXMgPT0gbyk7CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEZvciB0aGUgbW9t
ZW50LCB3ZSBvbmx5IHN1cHBvcnQgYSBzdWJzZXQgb2YgdGhlIGdyYW1tYXIgd2hpY2ggY29ycmVz
cG9uZCB0bzoKLSAgICAvLyAnYXV0bycgfCA8bGVuZ3RoPgotICAgIC8vIFdoZW4gd2UgYWRkIG1v
cmUgb2YgdGhlIHN5bnRheCwgd2Ugd2lsbCBuZWVkIGEgZGVkaWNhdGVkIEdyaWRQb3NpdGlvbiBj
bGFzcy4KLSAgICBMZW5ndGggbV9ncmlkQ29sdW1uOwotICAgIExlbmd0aCBtX2dyaWRSb3c7Cisg
ICAgR3JpZFBvc2l0aW9uIG1fZ3JpZENvbHVtbjsKKyAgICBHcmlkUG9zaXRpb24gbV9ncmlkUm93
OwogCiBwcml2YXRlOgogICAgIFN0eWxlR3JpZEl0ZW1EYXRhKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>