<?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>160301</bug_id>
          
          <creation_ts>2016-07-28 10:36:33 -0700</creation_ts>
          <short_desc>Move parsing of operator length attributes to MathMLOperatorElement</short_desc>
          <delta_ts>2016-08-02 12:55:22 -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>MathML</component>
          <version>WebKit 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>
          <dependson>160190</dependson>
          <blocked>156537</blocked>
    
    <blocked>160336</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rego</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215256</commentid>
    <comment_count>0</comment_count>
      <attachid>284787</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-28 10:36:33 -0700</bug_when>
    <thetext>Created attachment 284787
Patch (WIP)

Yet another step toward bug 156537. This covers:

- lspace
- rspace
- minsize
- maxsize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215525</commentid>
    <comment_count>1</comment_count>
      <attachid>284854</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-29 01:42:21 -0700</bug_when>
    <thetext>Created attachment 284854
Patch (applies after bugs 160241, 160245, 160239 and 160190)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216011</commentid>
    <comment_count>2</comment_count>
      <attachid>284854</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-31 21:42:59 -0700</bug_when>
    <thetext>Comment on attachment 284854
Patch (applies after bugs 160241, 160245, 160239 and 160190)

This pattern of having a &quot;dirty&quot; flag in various values is not a good one. Because it means we have an incorrect value that we could read and we have to be careful not to write code that looks at it without looking at the dirty flag first. A much better pattern is to use Optional and set to null when the value needs to be recomputed. This ties together the dirty flag with the value it guards in a more explicit way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216105</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-01 08:10:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This pattern of having a &quot;dirty&quot; flag in various values is not a good one.
&gt; Because it means we have an incorrect value that we could read and we have
&gt; to be careful not to write code that looks at it without looking at the
&gt; dirty flag first. A much better pattern is to use Optional and set to null
&gt; when the value needs to be recomputed. This ties together the dirty flag
&gt; with the value it guards in a more explicit way.

OK, I&apos;ve opened bug 160400 and also updated the first patch in the series (bug 160239) to use Optional&lt;T&gt;. So let&apos;s consider these patches first and I&apos;ll rebase all the patches afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216470</commentid>
    <comment_count>4</comment_count>
      <attachid>285104</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-02 06:26:48 -0700</bug_when>
    <thetext>Created attachment 285104
Patch (applies after bug 160190)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216543</commentid>
    <comment_count>5</comment_count>
      <attachid>285122</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-02 11:56:44 -0700</bug_when>
    <thetext>Created attachment 285122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216569</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-02 12:55:22 -0700</bug_when>
    <thetext>Committed r204037: &lt;http://trac.webkit.org/changeset/204037&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284787</attachid>
            <date>2016-07-28 10:36:33 -0700</date>
            <delta_ts>2016-07-29 01:42:21 -0700</delta_ts>
            <desc>Patch (WIP)</desc>
            <filename>op-length-attr-wip.patch</filename>
            <type>text/plain</type>
            <size>7053</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCmluZGV4IDk1ZGQ4NDkuLmFmZmMwM2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaApAQCAtNTksNyArNTksNyBAQCBw
dWJsaWM6CiAgICAgLy8gTWF0aE1MIGxlbmd0aHMgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9NYXRo
TUwzL2NoYXB0ZXIyLmh0bWwjZnVuZC51bml0cykKICAgICAvLyBUZVgncyBNYXRoIFVuaXQgaXMg
dXNlZCBpbnRlcm5hbGx5IGZvciBuYW1lZCBzcGFjZXMgKDEgbXUgPSAxLzE4IGVtKS4KICAgICAv
LyBVbml0bGVzcyB2YWx1ZXMgYXJlIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUgb2YgYSByZWZl
cmVuY2UgdmFsdWUuCi0gICAgZW51bSBjbGFzcyBMZW5ndGhUeXBlIHsgQ20sIEVtLCBFeCwgSW4s
IE1hdGhVbml0LCBNbSwgUGFyc2luZ0ZhaWxlZCwgUGMsIFBlcmNlbnRhZ2UsIFB0LCBQeCwgVW5p
dExlc3MgfTsKKyAgICBlbnVtIGNsYXNzIExlbmd0aFR5cGUgeyBDbSwgRW0sIEV4LCBJbiwgTWF0
aFVuaXQsIE1tLCBQYXJzaW5nRmFpbGVkLCBQYywgUGVyY2VudGFnZSwgUHQsIFB4LCBVbml0TGVz
cywgSW5maW5pdHkgfTsKICAgICBzdHJ1Y3QgTGVuZ3RoIHsKICAgICAgICAgTGVuZ3RoVHlwZSB0
eXBlIHsgTGVuZ3RoVHlwZTo6UGFyc2luZ0ZhaWxlZCB9OwogICAgICAgICBmbG9hdCB2YWx1ZSB7
IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5j
cHAKaW5kZXggMDQ2MThiMS4uYmMwNjE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTE2OSw2ICsxNjksMzYgQEAgTWF0aE1MRWxl
bWVudDo6TGVuZ3RoIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6ZGVmYXVsdFRyYWlsaW5nU3BhY2Uo
KQogICAgIHJldHVybiBzcGFjZTsKIH0KIAorY29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBN
YXRoTUxPcGVyYXRvckVsZW1lbnQ6OmxlYWRpbmdTcGFjZSgpCit7CisgICAgcmV0dXJuIGNhY2hl
ZE1hdGhNTExlbmd0aChNYXRoTUxOYW1lczo6bHNwYWNlQXR0ciwgbV9sZWFkaW5nU3BhY2UpOwor
fQorCitjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5ndGgmIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6
dHJhaWxpbmdTcGFjZSgpCit7CisgICAgcmV0dXJuIGNhY2hlZE1hdGhNTExlbmd0aChNYXRoTUxO
YW1lczo6cnNwYWNlQXR0ciwgbV90cmFpbGluZ1NwYWNlKTsKK30KKworY29uc3QgTWF0aE1MRWxl
bWVudDo6TGVuZ3RoJiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6Om1pblNpemUoKQoreworICAgIHJl
dHVybiBjYWNoZWRNYXRoTUxMZW5ndGgoTWF0aE1MTmFtZXM6Om1pbnNpemVBdHRyLCBtX21pblNp
emUpOworfQorCitjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5ndGgmIE1hdGhNTE9wZXJhdG9yRWxl
bWVudDo6bWF4U2l6ZSgpCit7CisgICAgaWYgKCFtX21heFNpemUuZGlydHkpCisgICAgICAgIHJl
dHVybiBtX21heFNpemU7CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6bWF4c2l6ZUF0dHIpOworICAg
IGlmICh2YWx1ZSA9PSAiaW5maW5pdHkiKQorICAgICAgICBtX21heFNpemUudHlwZSA9IExlbmd0
aFR5cGU6OkluZmluaXR5OworICAgIGVsc2UKKyAgICAgICAgbV9tYXhTaXplID0gcGFyc2VNYXRo
TUxMZW5ndGgodmFsdWUpOworCisgICAgbV9tYXhTaXplLmRpcnR5ID0gZmFsc2U7CisgICAgcmV0
dXJuIG1fbWF4U2l6ZTsKK30KKwogdm9pZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewogICAgIG1fb3BlcmF0b3JUZXh0
LmRpcnR5ID0gdHJ1ZTsKQEAgLTE5Niw2ICsyMjYsMTQgQEAgdm9pZCBNYXRoTUxPcGVyYXRvckVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b20KICAgICAgICAgbV9wcm9wZXJ0aWVzLmRpcnR5RmxhZ3MgfD0gU3RyZXRjaHk7CiAgICAgZWxz
ZSBpZiAobmFtZSA9PSBzeW1tZXRyaWNBdHRyKQogICAgICAgICBtX3Byb3BlcnRpZXMuZGlydHlG
bGFncyB8PSBTeW1tZXRyaWM7CisgICAgZWxzZSBpZiAobmFtZSA9PSBsc3BhY2VBdHRyKQorICAg
ICAgICBtX2xlYWRpbmdTcGFjZS5kaXJ0eSA9IHRydWU7CisgICAgZWxzZSBpZiAobmFtZSA9PSBy
c3BhY2VBdHRyKQorICAgICAgICBtX3RyYWlsaW5nU3BhY2UuZGlydHkgPSB0cnVlOworICAgIGVs
c2UgaWYgKG5hbWUgPT0gbWluc2l6ZUF0dHIpCisgICAgICAgIG1fbWluU2l6ZS5kaXJ0eSA9IHRy
dWU7CisgICAgZWxzZSBpZiAobmFtZSA9PSBtYXhzaXplQXR0cikKKyAgICAgICAgbV9tYXhTaXpl
LmRpcnR5ID0gdHJ1ZTsKIAogICAgIGlmICgobmFtZSA9PSBzdHJldGNoeUF0dHIgfHwgbmFtZSA9
PSBsc3BhY2VBdHRyIHx8IG5hbWUgPT0gcnNwYWNlQXR0ciB8fCBuYW1lID09IG1vdmFibGVsaW1p
dHNBdHRyKSAmJiByZW5kZXJlcigpKSB7CiAgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTE9w
ZXJhdG9yPigqcmVuZGVyZXIoKSkudXBkYXRlRnJvbUVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaAppbmRleCBjZTE2NDFhLi42MmI1MWFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCkBA
IC00MSw2ICs0MSwxMCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MoKTsKICAg
ICBMZW5ndGggZGVmYXVsdExlYWRpbmdTcGFjZSgpOwogICAgIExlbmd0aCBkZWZhdWx0VHJhaWxp
bmdTcGFjZSgpOworICAgIGNvbnN0IExlbmd0aCYgbGVhZGluZ1NwYWNlKCk7CisgICAgY29uc3Qg
TGVuZ3RoJiB0cmFpbGluZ1NwYWNlKCk7CisgICAgY29uc3QgTGVuZ3RoJiBtaW5TaXplKCk7Cisg
ICAgY29uc3QgTGVuZ3RoJiBtYXhTaXplKCk7CiAKIHByaXZhdGU6CiAgICAgTWF0aE1MT3BlcmF0
b3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CkBAIC03
MCw2ICs3NCwxMSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgT3BlcmF0b3JQcm9wZXJ0aWVzIG1f
cHJvcGVydGllczsKICAgICB2b2lkIHNldE9wZXJhdG9yRmxhZ0Zyb21BdHRyaWJ1dGUoTWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpGbGFnLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CisKKyAgICBM
ZW5ndGggbV9sZWFkaW5nU3BhY2U7CisgICAgTGVuZ3RoIG1fdHJhaWxpbmdTcGFjZTsKKyAgICBM
ZW5ndGggbV9taW5TaXplOworICAgIExlbmd0aCBtX21heFNpemU7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3Bw
CmluZGV4IGIwMGM4NGIuLjNiNWIxNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCkBAIC0xNjUsNiArMTY1LDggQEAg
TGF5b3V0VW5pdCB0b1VzZXJVbml0cyhjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5ndGgmIGxlbmd0
aCwgY29uc3QgUmVuZGVyU3R5bGUmIHMKICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZVZhbHVlICog
bGVuZ3RoLnZhbHVlOwogICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6UGFyc2lu
Z0ZhaWxlZDoKICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZVZhbHVlOworICAgIGNhc2UgTWF0aE1M
RWxlbWVudDo6TGVuZ3RoVHlwZTo6SW5maW5pdHk6CisgICAgICAgIHJldHVybiBpbnRNYXhGb3JM
YXlvdXRVbml0OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm4gcmVmZXJlbmNlVmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwCmluZGV4IDc0YWIy
NDg2Li5lN2E1Y2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcApAQCAtNzQsMjMgKzc0LDI1IEBAIHZvaWQg
UmVuZGVyTWF0aE1MT3BlcmF0b3I6OnNldE9wZXJhdG9yUHJvcGVydGllcygpCiAgICAgLy8gV2Ug
ZGV0ZXJtaW5lIHRoZSBzdHJldGNoIGRpcmVjdGlvbiAoZGVmYXVsdCBpcyB2ZXJ0aWNhbCkuCiAg
ICAgbV9pc1ZlcnRpY2FsID0gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKHRl
eHRDb250ZW50KCkpOwogCi0gICAgLy8gSW5pdGlhbGl6ZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVl
cy4KICAgICBtX29wZXJhdG9yRmxhZ3MgPSBlbGVtZW50KCkuZmxhZ3MoKTsKKworICAgIC8vIEZJ
WE1FOiBOZWdhdGl2ZSBsZWFkaW5nIHNwYWNlcyBtdXN0IGJlIGltcGxlbWVudGVkIChodHRwczov
L3dlYmtpdC5vcmcvYi8xMjQ4MzApLgogICAgIG1fbGVhZGluZ1NwYWNlID0gdG9Vc2VyVW5pdHMo
ZWxlbWVudCgpLmRlZmF1bHRMZWFkaW5nU3BhY2UoKSwgc3R5bGUoKSwgMCk7CisgICAgbV9sZWFk
aW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkubGVhZGluZ1NwYWNlKCksIHN0eWxlKCks
IG1fbGVhZGluZ1NwYWNlKTsKKyAgICBpZiAobV9sZWFkaW5nU3BhY2UgPCAwKQorICAgICAgICBt
X2xlYWRpbmdTcGFjZSA9IDA7CisKKyAgICAvLyBGSVhNRTogTmVnYXRpdmUgdHJhaWxpbmcgc3Bh
Y2VzIG11c3QgYmUgaW1wbGVtZW50ZWQgKGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNDgzMCkuCiAg
ICAgbV90cmFpbGluZ1NwYWNlID0gdG9Vc2VyVW5pdHMoZWxlbWVudCgpLmRlZmF1bHRUcmFpbGlu
Z1NwYWNlKCksIHN0eWxlKCksIDApOwotICAgIG1fbWluU2l6ZSA9IHN0eWxlKCkuZm9udENhc2Nh
ZGUoKS5zaXplKCk7IC8vIFRoaXMgc2V0cyBtaW5zaXplIHRvICIxZW0iLgotICAgIG1fbWF4U2l6
ZSA9IGludE1heEZvckxheW91dFVuaXQ7IC8vIFRoaXMgc2V0cyBtYXhzaXplIHRvICJpbmZpbml0
eSIuCi0KLSAgICBpZiAoIWlzQW5vbnltb3VzKCkpIHsKLSAgICAgICAgLy8gRmluYWxseSwgd2Ug
bWFrZSB0aGUgYXR0cmlidXRlIHZhbHVlcyBvdmVycmlkZSB0aGUgZGVmYXVsdC4KLSAgICAgICAg
cGFyc2VNYXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oTWF0aE1MTmFtZXM6OmxzcGFjZUF0dHIpLCBtX2xlYWRpbmdTcGFjZSwgJnN0eWxlKCksIGZh
bHNlKTsgLy8gRklYTUU6IE5lZ2F0aXZlIGxlYWRpbmcgc3BhY2UgbXVzdCBiZSBpbXBsZW1lbnRl
ZCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDgzMCkuCi0gICAg
ICAgIHBhcnNlTWF0aE1MTGVuZ3RoKGVsZW1lbnQoKS5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKE1hdGhNTE5hbWVzOjpyc3BhY2VBdHRyKSwgbV90cmFpbGluZ1NwYWNlLCAmc3R5bGUo
KSwgZmFsc2UpOyAvLyBGSVhNRTogTmVnYXRpdmUgdHJhaWxpbmcgc3BhY2UgbXVzdCBiZSBpbXBs
ZW1lbnRlZCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDgzMCku
Ci0KLSAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oTWF0aE1MTmFtZXM6Om1pbnNpemVBdHRyKSwgbV9taW5TaXplLCAmc3R5
bGUoKSwgZmFsc2UpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1heHNpemUgPSBlbGVt
ZW50KCkuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6bWF4c2l6
ZUF0dHIpOwotICAgICAgICBpZiAobWF4c2l6ZSAhPSAiaW5maW5pdHkiKQotICAgICAgICAgICAg
cGFyc2VNYXRoTUxMZW5ndGgobWF4c2l6ZSwgbV9tYXhTaXplLCAmc3R5bGUoKSwgZmFsc2UpOwot
ICAgIH0KKyAgICBtX3RyYWlsaW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkudHJhaWxp
bmdTcGFjZSgpLCBzdHlsZSgpLCBtX3RyYWlsaW5nU3BhY2UpOworICAgIGlmIChtX3RyYWlsaW5n
U3BhY2UgPCAwKQorICAgICAgICBtX3RyYWlsaW5nU3BhY2UgPSAwOworCisgICAgbV9taW5TaXpl
ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpLnNpemUoKTsgLy8gRGVmYXVsdCBtaW5zaXplIGlzICIx
ZW0iLgorICAgIG1fbWluU2l6ZSA9IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5taW5TaXplKCksIHN0
eWxlKCksIG1fbWluU2l6ZSk7CisKKyAgICBtX21heFNpemUgPSBpbnRNYXhGb3JMYXlvdXRVbml0
OyAvLyBEZWZhdWx0IG1heHNpemUgaXMgImluZmluaXR5Ii4KKyAgICBtX21heFNpemUgPSB0b1Vz
ZXJVbml0cyhlbGVtZW50KCkubWF4U2l6ZSgpLCBzdHlsZSgpLCBtX21heFNpemUpOwogfQogCiB2
b2lkIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8oTGF5b3V0VW5pdCBoZWlnaHRBYm92
ZUJhc2VsaW5lLCBMYXlvdXRVbml0IGRlcHRoQmVsb3dCYXNlbGluZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284854</attachid>
            <date>2016-07-29 01:42:21 -0700</date>
            <delta_ts>2016-08-02 06:26:48 -0700</delta_ts>
            <desc>Patch (applies after bugs 160241, 160245, 160239 and 160190)</desc>
            <filename>0004-Bug-160301-Move-parsing-of-operator-length-attribute.patch</filename>
            <type>text/plain</type>
            <size>12758</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA3ZTg3MTdlNjliN2IyMzkzNzY2ODhjYjhhNDBjZWFmZGY4YzQ5OWJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogRnJpLCAyOSBKdWwgMjAxNiAxMDozODoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC80XSBC
dWcgMTYwMzAxIC0gTW92ZSBwYXJzaW5nIG9mIG9wZXJhdG9yIGxlbmd0aCBhdHRyaWJ1dGVzCiB0
byBNYXRoTUxPcGVyYXRvckVsZW1lbnQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrCiAuLi4vc3RyZXRjaHktbWluc2l6
ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWwgICAgICAgICB8ICA0ICstLQogLi4uL3ByZXNlbnRhdGlv
bi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbCAgICAgfCAgMiArLQogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysrKysr
KysrKysrKwogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaCAgICAgICAgICAg
ICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5j
cHAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmggICAgICB8ICA5ICsrKysrCiAuLi4vV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcCB8ICAyICsrCiAuLi4vcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAgICAgICB8IDM0ICsrKysrKysrKysrLS0t
LS0tLS0KIDkgZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxMDdhMDhhLi5kMmRlZGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYt
MDctMjkgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1vdmUg
cGFyc2luZyBvZiBvcGVyYXRvciBsZW5ndGggYXR0cmlidXRlcyB0byBNYXRoTUxPcGVyYXRvckVs
ZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MDMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUtZXhwZWN0ZWQuaHRt
bDogVXBkYXRlIHRoZSB0ZXN0IGZvciBuZWdhdGl2ZQorICAgICAgICBtaW5zaXplIGFuZCBtYXhz
aXplIHRvIGFsaWduIG9uIHRoZSBiZWhhdmlvciBzdWdnZXN0ZWQgaW4gdGhlIE1hdGhNTCByZWNv
bW1lbmRhdGlvbi4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LW1pbnNp
emUtbWF4c2l6ZS5odG1sOiBEaXR0by4KKwogMjAxNi0wNy0yOCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubmZAZ21haWwuY29tPgogCiAgICAgICAgIEJpbmRpbmcgZ2VuZXJhdG9yIHNob3VsZCBleHBv
c2UgdGhlIHZpc2libGUgaW50ZXJmYWNlIG5hbWUgaW4gZXJyb3IgbWVzc2FnZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhz
aXplLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N0cmV0
Y2h5LW1pbnNpemUtbWF4c2l6ZS1leHBlY3RlZC5odG1sCmluZGV4IGM5OWYyZjguLjhlOWRhMDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktbWlu
c2l6ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUtZXhwZWN0ZWQuaHRtbApAQCAtNDMsMTMg
KzQzLDEzIEBACiAKICAgICAgIDxtYXRoPgogICAgICAgICA8bXJvdz4KLSAgICAgICAgICA8bW8g
c3ltbWV0cmljPSJmYWxzZSI+fDwvbW8+CisgICAgICAgICAgPG1vIHN5bW1ldHJpYz0iZmFsc2Ui
IG1pbnNpemU9IjBlbSI+fDwvbW8+CiAgICAgICAgICAgPG1zcGFjZSBoZWlnaHQ9IjRlbSIgZGVw
dGg9IjRlbSIvPgogICAgICAgICA8L21yb3c+CiAgICAgICA8L21hdGg+CiAgICAgICA8bWF0aD4K
ICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgPG1vIHN5bW1ldHJpYz0iZmFsc2UiPnw8L21vPgor
ICAgICAgICAgIDxtbyBzeW1tZXRyaWM9ImZhbHNlIiBtYXhzaXplPSIwZW0iPnw8L21vPgogICAg
ICAgICAgIDxtc3BhY2UgaGVpZ2h0PSI0ZW0iIGRlcHRoPSI0ZW0iLz4KICAgICAgICAgPC9tcm93
PgogICAgICAgPC9tYXRoPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRh
dGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9w
cmVzZW50YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLmh0bWwKaW5kZXggMDQ2YWNmMC4u
NDg4ZGZkOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3Ry
ZXRjaHktbWluc2l6ZS1tYXhzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbApAQCAtNDUsNyArNDUsNyBAQAog
ICAgICAgICA8L21yb3c+CiAgICAgICA8L21hdGg+CiAKLSAgICAgIDwhLS0gV2UgdmVyaWZ5IHRo
YXQgbmVnYXRpdmUgdmFsdWVzIGFyZSBpZ25vcmVkLiAtLT4KKyAgICAgIDwhLS0gV2UgdmVyaWZ5
IHRoYXQgbmVnYXRpdmUgdmFsdWVzIGFyZSB0cmVhdGVkIGFzIDAuIC0tPgogICAgICAgPG1hdGg+
CiAgICAgICAgIDxtcm93PgogICAgICAgICAgIDxtbyBzeW1tZXRyaWM9ImZhbHNlIiBtaW5zaXpl
PSItNWVtIj58PC9tbz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzYTVjNWMxLi5iMmZhYTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDctMjkgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIE1vdmUgcGFyc2luZyBvZiBvcGVyYXRvciBsZW5ndGggYXR0cmli
dXRlcyB0byBNYXRoTUxPcGVyYXRvckVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlIG1vdmUgcGFyc2luZyBvZiBvcGVyYXRvciBhdHRyaWJ1
dGVzIGxzcGFjZSwgcnNwYWNlIG1pbnNpemUsIG1heHNpemUgaW50byB0aGUgY2xhc3MKKyAgICAg
ICAgTWF0aE1MT3BlcmF0b3JFbGVtZW50LiBXZSByZWx5IG9uIHRoZSBleGlzdGluZyBNYXRoTUxF
bGVtZW50OjpMZW5ndGggc3RydWN0dXJlIGFuZCBleHBhbmQKKyAgICAgICAgaXQgdG8gaGFuZGxl
IHRoZSAiaW5maW5pdHkiIGNhc2Ugb2YgbWF4c2l6ZSB0aGF0IHdlIGFsd2F5cyByZXNvbHZlIGFz
IGludE1heEZvckxheW91dFVuaXQuCisgICAgICAgIFdlIGFsc28gaW1wcm92ZSB0aGUgcmVzb2x1
dGlvbiBvZiBhIG5lZ2F0aXZlIHZhbHVlIGZvciBtaW5zaXplIGFuZCBtYXhzaXplIHNpbmNlIHRo
ZSBNYXRoTUwKKyAgICAgICAgcmVjb21tZW5kYXRpb24gc2F5cyBpdCBzaG91bGQgYmUgcm91bmRl
ZCB1cCB0byB0aGUgbmVhcmVzdCB2YWxpZCB2YWx1ZSAod2hpY2ggaXMgemVybykKKyAgICAgICAg
aW5zdGVhZCBvZiBpZ25vcmluZyB0aGUgYXR0cmlidXRlIGFuZCB1c2luZyB0aGUgZGVmYXVsdCB2
YWx1ZS4gVGhpcyBpcyBzaW1pbGFyIHRvIHIyMDMyODUKKyAgICAgICAgZm9yIG1mcmFjQGxpbmV0
aGlja25lc3MuIFdlIGFsc28gdXBkYXRlIHRoZSBleGlzdGluZyB0ZXN0IGZvciBtaW5zaXplL21h
eHNpemUgdG8gdGFrZSBpbnRvCisgICAgICAgIGFjY291bnQgdGhhdCBjaGFuZ2UuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBhbHJlYWR5IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5oOiBBZGQgYW4gIkluZmluaXR5IiB0eXBlIGZv
ciBNYXRoTUwgTGVuZ3RoLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpsZWFkaW5nU3Bh
Y2UpOiBIZWxwZXIgZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIGNhY2hlZCB2YWx1ZQorICAgICAg
ICBmb3IgdGhlIGxzcGFjZSBhdHRyaWJ1dGUsIHBhcnNlIGl0IGlmIG5lY2Vzc2FyeS4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJhdG9yRWxlbWVudDo6dHJhaWxpbmdTcGFjZSk6IERpdHRv
IGZvciByc3BhY2UuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6Om1p
blNpemUpOiBEaXR0byBmb3IgbWluc2l6ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJh
dG9yRWxlbWVudDo6bWF4U2l6ZSk6IERpdHRvIGZvciBtYXhzaXplLiBUaGlzIGF0dHJpYnV0ZSBh
bHNvIGFjY2VwdHMgdGhlCisgICAgICAgICJpbmZpbml0eSIgdmFsdWUuCisgICAgICAgIChXZWJD
b3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogTWFyayBhdHRyaWJ1
dGVzIGRpcnR5LgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaDogRGVj
bGFyZSBMZW5ndGggbWVtYmVycyBhbmQgYWNjZXNzb3JzLgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9Vc2VyVW5p
dHMpOiBSZXNvbHZlIEluZmluaXR5IGFzIGludE1heEZvckxheW91dFVuaXQuCisgICAgICAgICog
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXRoTUxPcGVyYXRvcjo6c2V0T3BlcmF0b3JQcm9wZXJ0aWVzKTogV2UgdXNl
IHRvVXNlclVuaXRzIHRvIHJlc29sdmUgdGhlCisgICAgICAgIGxlbmd0aHMuIE5lZ2F0aXZlIG1h
eHNpemUgYW5kIG1pbnNpemUgdmFsdWVzIG5vdyBmYWxsYmFjayB0byAwIGluc3RlYWQgb2YgdGhl
aXIgZGVmYXVsdAorICAgICAgICB2YWx1ZXMuIFdlIGFsc28gcmVtb3ZlIHRoZSAhaXNBbm9ueW1v
dXMoKSBjaGVjayBzaW5jZSBzZXRPcGVyYXRvclByb3BlcnRpZXMgaXMgb3ZlcnJpZGVuCisgICAg
ICAgIGluIHRoZSBSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvciBjbGFzcy4KKwogMjAxNi0wNy0y
OCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgTW92ZSBwYXJz
aW5nIG9mIGJvb2xlYW4gb3BlcmF0b3IgcHJvcGVydGllcyBpbnRvIE1hdGhNTE9wZXJhdG9yRWxl
bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmgKaW5kZXggOTVkZDg0OS4uYWZm
YzAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCkBAIC01OSw3ICs1OSw3
IEBAIHB1YmxpYzoKICAgICAvLyBNYXRoTUwgbGVuZ3RocyAoaHR0cHM6Ly93d3cudzMub3JnL1RS
L01hdGhNTDMvY2hhcHRlcjIuaHRtbCNmdW5kLnVuaXRzKQogICAgIC8vIFRlWCdzIE1hdGggVW5p
dCBpcyB1c2VkIGludGVybmFsbHkgZm9yIG5hbWVkIHNwYWNlcyAoMSBtdSA9IDEvMTggZW0pLgog
ICAgIC8vIFVuaXRsZXNzIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZSBvZiBh
IHJlZmVyZW5jZSB2YWx1ZS4KLSAgICBlbnVtIGNsYXNzIExlbmd0aFR5cGUgeyBDbSwgRW0sIEV4
LCBJbiwgTWF0aFVuaXQsIE1tLCBQYXJzaW5nRmFpbGVkLCBQYywgUGVyY2VudGFnZSwgUHQsIFB4
LCBVbml0TGVzcyB9OworICAgIGVudW0gY2xhc3MgTGVuZ3RoVHlwZSB7IENtLCBFbSwgRXgsIElu
LCBNYXRoVW5pdCwgTW0sIFBhcnNpbmdGYWlsZWQsIFBjLCBQZXJjZW50YWdlLCBQdCwgUHgsIFVu
aXRMZXNzLCBJbmZpbml0eSB9OwogICAgIHN0cnVjdCBMZW5ndGggewogICAgICAgICBMZW5ndGhU
eXBlIHR5cGUgeyBMZW5ndGhUeXBlOjpQYXJzaW5nRmFpbGVkIH07CiAgICAgICAgIGZsb2F0IHZh
bHVlIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJh
dG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmNwcAppbmRleCBkNGQ0NTc2Li42NzBhMzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcApAQCAtMTY5LDYgKzE2OSwzNiBAQCBNYXRo
TUxFbGVtZW50OjpMZW5ndGggTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpkZWZhdWx0VHJhaWxpbmdT
cGFjZSgpCiAgICAgcmV0dXJuIHNwYWNlOwogfQogCitjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5n
dGgmIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6bGVhZGluZ1NwYWNlKCkKK3sKKyAgICByZXR1cm4g
Y2FjaGVkTWF0aE1MTGVuZ3RoKE1hdGhNTE5hbWVzOjpsc3BhY2VBdHRyLCBtX2xlYWRpbmdTcGFj
ZSk7Cit9CisKK2NvbnN0IE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCYgTWF0aE1MT3BlcmF0b3JFbGVt
ZW50Ojp0cmFpbGluZ1NwYWNlKCkKK3sKKyAgICByZXR1cm4gY2FjaGVkTWF0aE1MTGVuZ3RoKE1h
dGhNTE5hbWVzOjpyc3BhY2VBdHRyLCBtX3RyYWlsaW5nU3BhY2UpOworfQorCitjb25zdCBNYXRo
TUxFbGVtZW50OjpMZW5ndGgmIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6bWluU2l6ZSgpCit7Cisg
ICAgcmV0dXJuIGNhY2hlZE1hdGhNTExlbmd0aChNYXRoTUxOYW1lczo6bWluc2l6ZUF0dHIsIG1f
bWluU2l6ZSk7Cit9CisKK2NvbnN0IE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCYgTWF0aE1MT3BlcmF0
b3JFbGVtZW50OjptYXhTaXplKCkKK3sKKyAgICBpZiAoIW1fbWF4U2l6ZS5kaXJ0eSkKKyAgICAg
ICAgcmV0dXJuIG1fbWF4U2l6ZTsKKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjptYXhzaXplQXR0cik7
CisgICAgaWYgKHZhbHVlID09ICJpbmZpbml0eSIpCisgICAgICAgIG1fbWF4U2l6ZS50eXBlID0g
TGVuZ3RoVHlwZTo6SW5maW5pdHk7CisgICAgZWxzZQorICAgICAgICBtX21heFNpemUgPSBwYXJz
ZU1hdGhNTExlbmd0aCh2YWx1ZSk7CisKKyAgICBtX21heFNpemUuZGlydHkgPSBmYWxzZTsKKyAg
ICByZXR1cm4gbV9tYXhTaXplOworfQorCiB2b2lkIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7CiAgICAgbV9vcGVyYXRv
clRleHQgPSBPcHRpb25hbDxVQ2hhcj4oKTsKQEAgLTE5Niw2ICsyMjYsMTQgQEAgdm9pZCBNYXRo
TUxPcGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUsIGNvbnN0IEF0b20KICAgICAgICAgbV9wcm9wZXJ0aWVzLmRpcnR5RmxhZ3MgfD0gU3RyZXRj
aHk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBzeW1tZXRyaWNBdHRyKQogICAgICAgICBtX3Byb3Bl
cnRpZXMuZGlydHlGbGFncyB8PSBTeW1tZXRyaWM7CisgICAgZWxzZSBpZiAobmFtZSA9PSBsc3Bh
Y2VBdHRyKQorICAgICAgICBtX2xlYWRpbmdTcGFjZS5kaXJ0eSA9IHRydWU7CisgICAgZWxzZSBp
ZiAobmFtZSA9PSByc3BhY2VBdHRyKQorICAgICAgICBtX3RyYWlsaW5nU3BhY2UuZGlydHkgPSB0
cnVlOworICAgIGVsc2UgaWYgKG5hbWUgPT0gbWluc2l6ZUF0dHIpCisgICAgICAgIG1fbWluU2l6
ZS5kaXJ0eSA9IHRydWU7CisgICAgZWxzZSBpZiAobmFtZSA9PSBtYXhzaXplQXR0cikKKyAgICAg
ICAgbV9tYXhTaXplLmRpcnR5ID0gdHJ1ZTsKIAogICAgIGlmICgobmFtZSA9PSBzdHJldGNoeUF0
dHIgfHwgbmFtZSA9PSBsc3BhY2VBdHRyIHx8IG5hbWUgPT0gcnNwYWNlQXR0ciB8fCBuYW1lID09
IG1vdmFibGVsaW1pdHNBdHRyKSAmJiByZW5kZXJlcigpKSB7CiAgICAgICAgIGRvd25jYXN0PFJl
bmRlck1hdGhNTE9wZXJhdG9yPigqcmVuZGVyZXIoKSkudXBkYXRlRnJvbUVsZW1lbnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaAppbmRleCBlOWZj
YjYyLi4wOTFhMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5oCkBAIC00MSw2ICs0MSwxMCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgc2hvcnQg
ZmxhZ3MoKTsKICAgICBMZW5ndGggZGVmYXVsdExlYWRpbmdTcGFjZSgpOwogICAgIExlbmd0aCBk
ZWZhdWx0VHJhaWxpbmdTcGFjZSgpOworICAgIGNvbnN0IExlbmd0aCYgbGVhZGluZ1NwYWNlKCk7
CisgICAgY29uc3QgTGVuZ3RoJiB0cmFpbGluZ1NwYWNlKCk7CisgICAgY29uc3QgTGVuZ3RoJiBt
aW5TaXplKCk7CisgICAgY29uc3QgTGVuZ3RoJiBtYXhTaXplKCk7CiAKIHByaXZhdGU6CiAgICAg
TWF0aE1MT3BlcmF0b3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Jik7CkBAIC02Niw2ICs3MCwxMSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgT3BlcmF0b3JQ
cm9wZXJ0aWVzIG1fcHJvcGVydGllczsKICAgICB2b2lkIHNldE9wZXJhdG9yRmxhZ0Zyb21BdHRy
aWJ1dGUoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGbGFnLCBjb25zdCBRdWFsaWZpZWROYW1l
Jik7CisKKyAgICBMZW5ndGggbV9sZWFkaW5nU3BhY2U7CisgICAgTGVuZ3RoIG1fdHJhaWxpbmdT
cGFjZTsKKyAgICBMZW5ndGggbV9taW5TaXplOworICAgIExlbmd0aCBtX21heFNpemU7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTEJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MQmxvY2suY3BwCmluZGV4IGIwMGM4NGIuLjNiNWIxNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCkBAIC0xNjUs
NiArMTY1LDggQEAgTGF5b3V0VW5pdCB0b1VzZXJVbml0cyhjb25zdCBNYXRoTUxFbGVtZW50OjpM
ZW5ndGgmIGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHMKICAgICAgICAgcmV0dXJuIHJlZmVy
ZW5jZVZhbHVlICogbGVuZ3RoLnZhbHVlOwogICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3Ro
VHlwZTo6UGFyc2luZ0ZhaWxlZDoKICAgICAgICAgcmV0dXJuIHJlZmVyZW5jZVZhbHVlOworICAg
IGNhc2UgTWF0aE1MRWxlbWVudDo6TGVuZ3RoVHlwZTo6SW5maW5pdHk6CisgICAgICAgIHJldHVy
biBpbnRNYXhGb3JMYXlvdXRVbml0OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gcmVmZXJlbmNlVmFsdWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3Bw
CmluZGV4IDc0YWIyNDg2Li43N2M2YTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcApAQCAtNzQsMjMgKzc0
LDI5IEBAIHZvaWQgUmVuZGVyTWF0aE1MT3BlcmF0b3I6OnNldE9wZXJhdG9yUHJvcGVydGllcygp
CiAgICAgLy8gV2UgZGV0ZXJtaW5lIHRoZSBzdHJldGNoIGRpcmVjdGlvbiAoZGVmYXVsdCBpcyB2
ZXJ0aWNhbCkuCiAgICAgbV9pc1ZlcnRpY2FsID0gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojpp
c1ZlcnRpY2FsKHRleHRDb250ZW50KCkpOwogCi0gICAgLy8gSW5pdGlhbGl6ZSB3aXRoIHRoZSBk
ZWZhdWx0IHZhbHVlcy4KICAgICBtX29wZXJhdG9yRmxhZ3MgPSBlbGVtZW50KCkuZmxhZ3MoKTsK
KworICAgIC8vIEZJWE1FOiBOZWdhdGl2ZSBsZWFkaW5nIHNwYWNlcyBtdXN0IGJlIGltcGxlbWVu
dGVkIChodHRwczovL3dlYmtpdC5vcmcvYi8xMjQ4MzApLgogICAgIG1fbGVhZGluZ1NwYWNlID0g
dG9Vc2VyVW5pdHMoZWxlbWVudCgpLmRlZmF1bHRMZWFkaW5nU3BhY2UoKSwgc3R5bGUoKSwgMCk7
CisgICAgbV9sZWFkaW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkubGVhZGluZ1NwYWNl
KCksIHN0eWxlKCksIG1fbGVhZGluZ1NwYWNlKTsKKyAgICBpZiAobV9sZWFkaW5nU3BhY2UgPCAw
KQorICAgICAgICBtX2xlYWRpbmdTcGFjZSA9IDA7CisKKyAgICAvLyBGSVhNRTogTmVnYXRpdmUg
dHJhaWxpbmcgc3BhY2VzIG11c3QgYmUgaW1wbGVtZW50ZWQgKGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzEyNDgzMCkuCiAgICAgbV90cmFpbGluZ1NwYWNlID0gdG9Vc2VyVW5pdHMoZWxlbWVudCgpLmRl
ZmF1bHRUcmFpbGluZ1NwYWNlKCksIHN0eWxlKCksIDApOwotICAgIG1fbWluU2l6ZSA9IHN0eWxl
KCkuZm9udENhc2NhZGUoKS5zaXplKCk7IC8vIFRoaXMgc2V0cyBtaW5zaXplIHRvICIxZW0iLgot
ICAgIG1fbWF4U2l6ZSA9IGludE1heEZvckxheW91dFVuaXQ7IC8vIFRoaXMgc2V0cyBtYXhzaXpl
IHRvICJpbmZpbml0eSIuCi0KLSAgICBpZiAoIWlzQW5vbnltb3VzKCkpIHsKLSAgICAgICAgLy8g
RmluYWxseSwgd2UgbWFrZSB0aGUgYXR0cmlidXRlIHZhbHVlcyBvdmVycmlkZSB0aGUgZGVmYXVs
dC4KLSAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oTWF0aE1MTmFtZXM6OmxzcGFjZUF0dHIpLCBtX2xlYWRpbmdTcGFjZSwg
JnN0eWxlKCksIGZhbHNlKTsgLy8gRklYTUU6IE5lZ2F0aXZlIGxlYWRpbmcgc3BhY2UgbXVzdCBi
ZSBpbXBsZW1lbnRlZCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NDgzMCkuCi0gICAgICAgIHBhcnNlTWF0aE1MTGVuZ3RoKGVsZW1lbnQoKS5hdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjpyc3BhY2VBdHRyKSwgbV90cmFpbGluZ1Nw
YWNlLCAmc3R5bGUoKSwgZmFsc2UpOyAvLyBGSVhNRTogTmVnYXRpdmUgdHJhaWxpbmcgc3BhY2Ug
bXVzdCBiZSBpbXBsZW1lbnRlZCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNDgzMCkuCi0KLSAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oTWF0aE1MTmFtZXM6Om1pbnNpemVBdHRyKSwgbV9t
aW5TaXplLCAmc3R5bGUoKSwgZmFsc2UpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1h
eHNpemUgPSBlbGVtZW50KCkuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxO
YW1lczo6bWF4c2l6ZUF0dHIpOwotICAgICAgICBpZiAobWF4c2l6ZSAhPSAiaW5maW5pdHkiKQot
ICAgICAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgobWF4c2l6ZSwgbV9tYXhTaXplLCAmc3R5bGUo
KSwgZmFsc2UpOwotICAgIH0KKyAgICBtX3RyYWlsaW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVt
ZW50KCkudHJhaWxpbmdTcGFjZSgpLCBzdHlsZSgpLCBtX3RyYWlsaW5nU3BhY2UpOworICAgIGlm
IChtX3RyYWlsaW5nU3BhY2UgPCAwKQorICAgICAgICBtX3RyYWlsaW5nU3BhY2UgPSAwOworCisg
ICAgbV9taW5TaXplID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpLnNpemUoKTsgLy8gRGVmYXVsdCBt
aW5zaXplIGlzICIxZW0iLgorICAgIG1fbWluU2l6ZSA9IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5t
aW5TaXplKCksIHN0eWxlKCksIG1fbWluU2l6ZSk7CisgICAgaWYgKG1fbWluU2l6ZSA8IDApCisg
ICAgICAgIG1fbWluU2l6ZSA9IDA7CisKKyAgICBtX21heFNpemUgPSBpbnRNYXhGb3JMYXlvdXRV
bml0OyAvLyBEZWZhdWx0IG1heHNpemUgaXMgImluZmluaXR5Ii4KKyAgICBtX21heFNpemUgPSB0
b1VzZXJVbml0cyhlbGVtZW50KCkubWF4U2l6ZSgpLCBzdHlsZSgpLCBtX21heFNpemUpOworICAg
IGlmIChtX21heFNpemUgPCAwKQorICAgICAgICBtX21heFNpemUgPSAwOwogfQogCiB2b2lkIFJl
bmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8oTGF5b3V0VW5pdCBoZWlnaHRBYm92ZUJhc2Vs
aW5lLCBMYXlvdXRVbml0IGRlcHRoQmVsb3dCYXNlbGluZSkKLS0gCjIuOC4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285104</attachid>
            <date>2016-08-02 06:26:48 -0700</date>
            <delta_ts>2016-08-02 09:12:04 -0700</delta_ts>
            <desc>Patch (applies after bug 160190)</desc>
            <filename>0002-Bug-160301-Move-parsing-of-operator-length-attribute.patch</filename>
            <type>text/plain</type>
            <size>12739</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA5OTg1YTY3YTBmMWNjMmZlZTRiZmYzMTg4YTUxNDU0ZDY2M2QzMGIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogVHVlLCAyIEF1ZyAyMDE2IDE1OjIyOjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIEJ1
ZyAxNjAzMDEgLSBNb3ZlIHBhcnNpbmcgb2Ygb3BlcmF0b3IgbGVuZ3RoIGF0dHJpYnV0ZXMKIHRv
IE1hdGhNTE9wZXJhdG9yRWxlbWVudAoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDExICsrKysrKwogLi4uL3N0cmV0Y2h5LW1pbnNpemUt
bWF4c2l6ZS1leHBlY3RlZC5odG1sICAgICAgICAgfCAgNCArLS0KIC4uLi9wcmVzZW50YXRpb24v
c3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLmh0bWwgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzYgKysrKysrKysrKysrKysr
KysrKysKIFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmggICAgICAgICAgICAg
IHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3Bw
ICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTE9wZXJhdG9yRWxlbWVudC5oICAgICAgfCAgOSArKysrKwogLi4uL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAgfCAgMiArKwogLi4uL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwICAgICAgfCAyNSArKysrKystLS0tLS0tLQog
OSBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDY3ODBkZTUuLjQyMjY3ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNy0yOSAg
RnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgTW92ZSBwYXJzaW5n
IG9mIG9wZXJhdG9yIGxlbmd0aCBhdHRyaWJ1dGVzIHRvIE1hdGhNTE9wZXJhdG9yRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3N0cmV0Y2h5LW1pbnNpemUtbWF4c2l6ZS1leHBlY3RlZC5odG1sOiBVcGRh
dGUgdGhlIHRlc3QgZm9yIG5lZ2F0aXZlCisgICAgICAgIG1pbnNpemUgYW5kIG1heHNpemUgdG8g
YWxpZ24gb24gdGhlIGJlaGF2aW9yIHN1Z2dlc3RlZCBpbiB0aGUgTWF0aE1MIHJlY29tbWVuZGF0
aW9uLgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhz
aXplLmh0bWw6IERpdHRvLgorCiAyMDE2LTA4LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBbRmV0Y2ggQVBJXSBGZXRjaCBwcm9taXNlcyBzaG91bGQgbm90
IHJlamVjdCBvciByZXNvbHZlIHdoZW4gQWN0aXZlRE9NT2JqZWN0cyBhcmUgYmVpbmcgc3RvcHBl
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1t
aW5zaXplLW1heHNpemUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWwKaW5kZXggYzk5ZjJm
OC4uOGU5ZGEwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9z
dHJldGNoeS1taW5zaXplLW1heHNpemUtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LW1pbnNpemUtbWF4c2l6ZS1leHBlY3RlZC5odG1s
CkBAIC00MywxMyArNDMsMTMgQEAKIAogICAgICAgPG1hdGg+CiAgICAgICAgIDxtcm93PgotICAg
ICAgICAgIDxtbyBzeW1tZXRyaWM9ImZhbHNlIj58PC9tbz4KKyAgICAgICAgICA8bW8gc3ltbWV0
cmljPSJmYWxzZSIgbWluc2l6ZT0iMGVtIj58PC9tbz4KICAgICAgICAgICA8bXNwYWNlIGhlaWdo
dD0iNGVtIiBkZXB0aD0iNGVtIi8+CiAgICAgICAgIDwvbXJvdz4KICAgICAgIDwvbWF0aD4KICAg
ICAgIDxtYXRoPgogICAgICAgICA8bXJvdz4KLSAgICAgICAgICA8bW8gc3ltbWV0cmljPSJmYWxz
ZSI+fDwvbW8+CisgICAgICAgICAgPG1vIHN5bW1ldHJpYz0iZmFsc2UiIG1heHNpemU9IjBlbSI+
fDwvbW8+CiAgICAgICAgICAgPG1zcGFjZSBoZWlnaHQ9IjRlbSIgZGVwdGg9IjRlbSIvPgogICAg
ICAgICA8L21yb3c+CiAgICAgICA8L21hdGg+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRo
bWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LW1pbnNpemUtbWF4c2l6ZS5odG1sIGIvTGF5b3V0VGVz
dHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbAppbmRl
eCAwNDZhY2YwLi40ODhkZmQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL3N0cmV0Y2h5LW1pbnNpemUtbWF4c2l6ZS5odG1sCkBAIC00NSw3
ICs0NSw3IEBACiAgICAgICAgIDwvbXJvdz4KICAgICAgIDwvbWF0aD4KIAotICAgICAgPCEtLSBX
ZSB2ZXJpZnkgdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGlnbm9yZWQuIC0tPgorICAgICAgPCEt
LSBXZSB2ZXJpZnkgdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIHRyZWF0ZWQgYXMgMC4gLS0+CiAg
ICAgICA8bWF0aD4KICAgICAgICAgPG1yb3c+CiAgICAgICAgICAgPG1vIHN5bW1ldHJpYz0iZmFs
c2UiIG1pbnNpemU9Ii01ZW0iPnw8L21vPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkxYzgxY2IuLmRmZTAwNjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxNi0wNy0yOSAgRnJlZGVyaWMgV2FuZyAg
PGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgTW92ZSBwYXJzaW5nIG9mIG9wZXJhdG9yIGxl
bmd0aCBhdHRyaWJ1dGVzIHRvIE1hdGhNTE9wZXJhdG9yRWxlbWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMzAxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbW92ZSBwYXJzaW5nIG9mIG9wZXJh
dG9yIGF0dHJpYnV0ZXMgbHNwYWNlLCByc3BhY2UgbWluc2l6ZSwgbWF4c2l6ZSBpbnRvIHRoZSBj
bGFzcworICAgICAgICBNYXRoTUxPcGVyYXRvckVsZW1lbnQuIFdlIHJlbHkgb24gdGhlIGV4aXN0
aW5nIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCBzdHJ1Y3R1cmUgYW5kIGV4cGFuZAorICAgICAgICBp
dCB0byBoYW5kbGUgdGhlICJpbmZpbml0eSIgY2FzZSBvZiBtYXhzaXplIHRoYXQgd2UgYWx3YXlz
IHJlc29sdmUgYXMgaW50TWF4Rm9yTGF5b3V0VW5pdC4KKyAgICAgICAgV2UgYWxzbyBpbXByb3Zl
IHRoZSByZXNvbHV0aW9uIG9mIGEgbmVnYXRpdmUgdmFsdWUgZm9yIG1pbnNpemUgYW5kIG1heHNp
emUgc2luY2UgdGhlIE1hdGhNTAorICAgICAgICByZWNvbW1lbmRhdGlvbiBzYXlzIGl0IHNob3Vs
ZCBiZSByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IHZhbGlkIHZhbHVlICh3aGljaCBpcyB6ZXJv
KQorICAgICAgICBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZSBhdHRyaWJ1dGUgYW5kIHVzaW5nIHRo
ZSBkZWZhdWx0IHZhbHVlLiBUaGlzIGlzIHNpbWlsYXIgdG8gcjIwMzI4NQorICAgICAgICBmb3Ig
bWZyYWNAbGluZXRoaWNrbmVzcy4gV2UgYWxzbyB1cGRhdGUgdGhlIGV4aXN0aW5nIHRlc3QgZm9y
IG1pbnNpemUvbWF4c2l6ZSB0byB0YWtlIGludG8KKyAgICAgICAgYWNjb3VudCB0aGF0IGNoYW5n
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkgY292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIG1hdGhtbC9NYXRoTUxFbGVtZW50Lmg6IEFkZCBhbiAiSW5maW5p
dHkiIHR5cGUgZm9yIE1hdGhNTCBMZW5ndGguCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJh
dG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6
OmxlYWRpbmdTcGFjZSk6IEhlbHBlciBmdW5jdGlvbiB0byByZXRyaWV2ZSB0aGUgY2FjaGVkIHZh
bHVlCisgICAgICAgIGZvciB0aGUgbHNwYWNlIGF0dHJpYnV0ZSwgcGFyc2UgaXQgaWYgbmVjZXNz
YXJ5LgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50Ojp0cmFpbGluZ1Nw
YWNlKTogRGl0dG8gZm9yIHJzcGFjZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJhdG9y
RWxlbWVudDo6bWluU2l6ZSk6IERpdHRvIGZvciBtaW5zaXplLgorICAgICAgICAoV2ViQ29yZTo6
TWF0aE1MT3BlcmF0b3JFbGVtZW50OjptYXhTaXplKTogRGl0dG8gZm9yIG1heHNpemUuIFRoaXMg
YXR0cmlidXRlIGFsc28gYWNjZXB0cyB0aGUKKyAgICAgICAgImluZmluaXR5IiB2YWx1ZS4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJhdG9yRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBN
YXJrIGF0dHJpYnV0ZXMgZGlydHkuCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxl
bWVudC5oOiBEZWNsYXJlIExlbmd0aCBtZW1iZXJzIGFuZCBhY2Nlc3NvcnMuCisgICAgICAgICog
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1VzZXJVbml0cyk6IFJlc29sdmUgSW5maW5pdHkgYXMgaW50TWF4Rm9yTGF5b3V0VW5pdC4K
KyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTE9wZXJhdG9yOjpzZXRPcGVyYXRvclByb3BlcnRp
ZXMpOiBXZSB1c2UgdG9Vc2VyVW5pdHMgdG8gcmVzb2x2ZSB0aGUKKyAgICAgICAgbGVuZ3Rocy4g
TmVnYXRpdmUgbWF4c2l6ZSBhbmQgbWluc2l6ZSB2YWx1ZXMgbm93IGZhbGxiYWNrIHRvIDAgaW5z
dGVhZCBvZiB0aGVpciBkZWZhdWx0CisgICAgICAgIHZhbHVlcy4gV2UgYWxzbyByZW1vdmUgdGhl
ICFpc0Fub255bW91cygpIGNoZWNrIHNpbmNlIHNldE9wZXJhdG9yUHJvcGVydGllcyBpcyBvdmVy
cmlkZW4KKyAgICAgICAgaW4gdGhlIFJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yIGNsYXNzLgor
CiAyMDE2LTA4LTAyICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBNb3ZlIHBhcnNpbmcgb2YgYm9vbGVhbiBvcGVyYXRvciBwcm9wZXJ0aWVzIGludG8gTWF0aE1M
T3BlcmF0b3JFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAppbmRleCA1
ZGUxZGQ4Li40Y2FiNzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmgKQEAg
LTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIE1hdGhNTCBsZW5ndGhzIChodHRwczovL3d3
dy53My5vcmcvVFIvTWF0aE1MMy9jaGFwdGVyMi5odG1sI2Z1bmQudW5pdHMpCiAgICAgLy8gVGVY
J3MgTWF0aCBVbml0IGlzIHVzZWQgaW50ZXJuYWxseSBmb3IgbmFtZWQgc3BhY2VzICgxIG11ID0g
MS8xOCBlbSkuCiAgICAgLy8gVW5pdGxlc3MgdmFsdWVzIGFyZSBpbnRlcnByZXRlZCBhcyBhIG11
bHRpcGxlIG9mIGEgcmVmZXJlbmNlIHZhbHVlLgotICAgIGVudW0gY2xhc3MgTGVuZ3RoVHlwZSB7
IENtLCBFbSwgRXgsIEluLCBNYXRoVW5pdCwgTW0sIFBhcnNpbmdGYWlsZWQsIFBjLCBQZXJjZW50
YWdlLCBQdCwgUHgsIFVuaXRMZXNzIH07CisgICAgZW51bSBjbGFzcyBMZW5ndGhUeXBlIHsgQ20s
IEVtLCBFeCwgSW4sIE1hdGhVbml0LCBNbSwgUGFyc2luZ0ZhaWxlZCwgUGMsIFBlcmNlbnRhZ2Us
IFB0LCBQeCwgVW5pdExlc3MsIEluZmluaXR5IH07CiAgICAgc3RydWN0IExlbmd0aCB7CiAgICAg
ICAgIExlbmd0aFR5cGUgdHlwZSB7IExlbmd0aFR5cGU6OlBhcnNpbmdGYWlsZWQgfTsKICAgICAg
ICAgZmxvYXQgdmFsdWUgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxP
cGVyYXRvckVsZW1lbnQuY3BwCmluZGV4IGZlMGViZGIuLjI1NjA4MjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwCkBAIC0xODMsNiArMTgz
LDM3IEBAIE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmRlZmF1
bHRUcmFpbGluZ1NwYWNlKCkKICAgICByZXR1cm4gc3BhY2U7CiB9CiAKK2NvbnN0IE1hdGhNTEVs
ZW1lbnQ6Okxlbmd0aCYgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpsZWFkaW5nU3BhY2UoKQorewor
ICAgIHJldHVybiBjYWNoZWRNYXRoTUxMZW5ndGgoTWF0aE1MTmFtZXM6OmxzcGFjZUF0dHIsIG1f
bGVhZGluZ1NwYWNlKTsKK30KKworY29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OnRyYWlsaW5nU3BhY2UoKQoreworICAgIHJldHVybiBjYWNoZWRNYXRo
TUxMZW5ndGgoTWF0aE1MTmFtZXM6OnJzcGFjZUF0dHIsIG1fdHJhaWxpbmdTcGFjZSk7Cit9CisK
K2NvbnN0IE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCYgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjptaW5T
aXplKCkKK3sKKyAgICByZXR1cm4gY2FjaGVkTWF0aE1MTGVuZ3RoKE1hdGhNTE5hbWVzOjptaW5z
aXplQXR0ciwgbV9taW5TaXplKTsKK30KKworY29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBN
YXRoTUxPcGVyYXRvckVsZW1lbnQ6Om1heFNpemUoKQoreworICAgIGlmIChtX21heFNpemUpCisg
ICAgICAgIHJldHVybiBtX21heFNpemUudmFsdWUoKTsKKworICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjpt
YXhzaXplQXR0cik7CisgICAgaWYgKHZhbHVlID09ICJpbmZpbml0eSIpIHsKKyAgICAgICAgTGVu
Z3RoIG1heHNpemU7CisgICAgICAgIG1heHNpemUudHlwZSA9IExlbmd0aFR5cGU6OkluZmluaXR5
OworICAgICAgICBtX21heFNpemUgPSBtYXhzaXplOworICAgIH0gZWxzZQorICAgICAgICBtX21h
eFNpemUgPSBwYXJzZU1hdGhNTExlbmd0aCh2YWx1ZSk7CisKKyAgICByZXR1cm4gbV9tYXhTaXpl
LnZhbHVlKCk7Cit9CisKIHZvaWQgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKICAgICBtX29wZXJhdG9yVGV4dCA9IE51
bGxvcHQ7CkBAIC0yMTAsNiArMjQxLDE0IEBAIHZvaWQgTWF0aE1MT3BlcmF0b3JFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tCiAgICAg
ICAgIG1fcHJvcGVydGllcy5kaXJ0eUZsYWdzIHw9IFN0cmV0Y2h5OwogICAgIGVsc2UgaWYgKG5h
bWUgPT0gc3ltbWV0cmljQXR0cikKICAgICAgICAgbV9wcm9wZXJ0aWVzLmRpcnR5RmxhZ3MgfD0g
U3ltbWV0cmljOworICAgIGVsc2UgaWYgKG5hbWUgPT0gbHNwYWNlQXR0cikKKyAgICAgICAgbV9s
ZWFkaW5nU3BhY2UgPSBOdWxsb3B0OworICAgIGVsc2UgaWYgKG5hbWUgPT0gcnNwYWNlQXR0cikK
KyAgICAgICAgbV90cmFpbGluZ1NwYWNlID0gTnVsbG9wdDsKKyAgICBlbHNlIGlmIChuYW1lID09
IG1pbnNpemVBdHRyKQorICAgICAgICBtX21pblNpemUgPSBOdWxsb3B0OworICAgIGVsc2UgaWYg
KG5hbWUgPT0gbWF4c2l6ZUF0dHIpCisgICAgICAgIG1fbWF4U2l6ZSA9IE51bGxvcHQ7CiAKICAg
ICBpZiAoKG5hbWUgPT0gc3RyZXRjaHlBdHRyIHx8IG5hbWUgPT0gbHNwYWNlQXR0ciB8fCBuYW1l
ID09IHJzcGFjZUF0dHIgfHwgbmFtZSA9PSBtb3ZhYmxlbGltaXRzQXR0cikgJiYgcmVuZGVyZXIo
KSkgewogICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKnJlbmRlcmVyKCkp
LnVwZGF0ZUZyb21FbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmgKaW5kZXggYmVlZDYwZS4uNWNjMmY3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaApAQCAtNDEsNiArNDEsMTAgQEAgcHVi
bGljOgogICAgIGJvb2wgaGFzUHJvcGVydHkoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGbGFn
KTsKICAgICBMZW5ndGggZGVmYXVsdExlYWRpbmdTcGFjZSgpOwogICAgIExlbmd0aCBkZWZhdWx0
VHJhaWxpbmdTcGFjZSgpOworICAgIGNvbnN0IExlbmd0aCYgbGVhZGluZ1NwYWNlKCk7CisgICAg
Y29uc3QgTGVuZ3RoJiB0cmFpbGluZ1NwYWNlKCk7CisgICAgY29uc3QgTGVuZ3RoJiBtaW5TaXpl
KCk7CisgICAgY29uc3QgTGVuZ3RoJiBtYXhTaXplKCk7CiAKIHByaXZhdGU6CiAgICAgTWF0aE1M
T3BlcmF0b3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7
CkBAIC02OSw2ICs3MywxMSBAQCBwcml2YXRlOgogICAgIE9wZXJhdG9yUHJvcGVydGllcyBtX3By
b3BlcnRpZXM7CiAgICAgdm9pZCBzZXRPcGVyYXRvckZsYWdGcm9tQXR0cmlidXRlKE1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeTo6RmxhZywgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZvaWQg
cGFyc2VQcm9wZXJ0eShNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcpOworCisgICAgT3B0
aW9uYWw8TGVuZ3RoPiBtX2xlYWRpbmdTcGFjZTsKKyAgICBPcHRpb25hbDxMZW5ndGg+IG1fdHJh
aWxpbmdTcGFjZTsKKyAgICBPcHRpb25hbDxMZW5ndGg+IG1fbWluU2l6ZTsKKyAgICBPcHRpb25h
bDxMZW5ndGg+IG1fbWF4U2l6ZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKaW5kZXggYjAwYzg0Yi4uM2I1
YjE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxCbG9jay5jcHAKQEAgLTE2NSw2ICsxNjUsOCBAQCBMYXlvdXRVbml0IHRvVXNlclVu
aXRzKGNvbnN0IE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHls
ZSYgcwogICAgICAgICByZXR1cm4gcmVmZXJlbmNlVmFsdWUgKiBsZW5ndGgudmFsdWU7CiAgICAg
Y2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBlOjpQYXJzaW5nRmFpbGVkOgogICAgICAgICBy
ZXR1cm4gcmVmZXJlbmNlVmFsdWU7CisgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBl
OjpJbmZpbml0eToKKyAgICAgICAgcmV0dXJuIGludE1heEZvckxheW91dFVuaXQ7CiAgICAgZGVm
YXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiByZWZl
cmVuY2VWYWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKaW5kZXggMGY3YTVlZS4uMzU5MDMyMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxP
cGVyYXRvci5jcHAKQEAgLTc5LDIyICs3OSwxOSBAQCB2b2lkIFJlbmRlck1hdGhNTE9wZXJhdG9y
OjpzZXRPcGVyYXRvclByb3BlcnRpZXMoKQogICAgIC8vIFdlIGRldGVybWluZSB0aGUgc3RyZXRj
aCBkaXJlY3Rpb24gKGRlZmF1bHQgaXMgdmVydGljYWwpLgogICAgIG1faXNWZXJ0aWNhbCA9IE1h
dGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6aXNWZXJ0aWNhbCh0ZXh0Q29udGVudCgpKTsKIAotICAg
IC8vIEluaXRpYWxpemUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMuCisgICAgLy8gRklYTUU6IE5l
Z2F0aXZlIGxlYWRpbmcgc3BhY2VzIG11c3QgYmUgaW1wbGVtZW50ZWQgKGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzEyNDgzMCkuCiAgICAgbV9sZWFkaW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50
KCkuZGVmYXVsdExlYWRpbmdTcGFjZSgpLCBzdHlsZSgpLCAwKTsKKyAgICBtX2xlYWRpbmdTcGFj
ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHRvVXNlclVuaXRzKGVsZW1lbnQoKS5sZWFkaW5n
U3BhY2UoKSwgc3R5bGUoKSwgbV9sZWFkaW5nU3BhY2UpKTsKKworICAgIC8vIEZJWE1FOiBOZWdh
dGl2ZSB0cmFpbGluZyBzcGFjZXMgbXVzdCBiZSBpbXBsZW1lbnRlZCAoaHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTI0ODMwKS4KICAgICBtX3RyYWlsaW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50
KCkuZGVmYXVsdFRyYWlsaW5nU3BhY2UoKSwgc3R5bGUoKSwgMCk7Ci0gICAgbV9taW5TaXplID0g
c3R5bGUoKS5mb250Q2FzY2FkZSgpLnNpemUoKTsgLy8gVGhpcyBzZXRzIG1pbnNpemUgdG8gIjFl
bSIuCi0gICAgbV9tYXhTaXplID0gaW50TWF4Rm9yTGF5b3V0VW5pdDsgLy8gVGhpcyBzZXRzIG1h
eHNpemUgdG8gImluZmluaXR5Ii4KLQotICAgIGlmICghaXNBbm9ueW1vdXMoKSkgewotICAgICAg
ICAvLyBGaW5hbGx5LCB3ZSBtYWtlIHRoZSBhdHRyaWJ1dGUgdmFsdWVzIG92ZXJyaWRlIHRoZSBk
ZWZhdWx0LgotICAgICAgICBwYXJzZU1hdGhNTExlbmd0aChlbGVtZW50KCkuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6bHNwYWNlQXR0ciksIG1fbGVhZGluZ1Nw
YWNlLCAmc3R5bGUoKSwgZmFsc2UpOyAvLyBGSVhNRTogTmVnYXRpdmUgbGVhZGluZyBzcGFjZSBt
dXN0IGJlIGltcGxlbWVudGVkIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI0ODMwKS4KLSAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oTWF0aE1MTmFtZXM6OnJzcGFjZUF0dHIpLCBtX3RyYWls
aW5nU3BhY2UsICZzdHlsZSgpLCBmYWxzZSk7IC8vIEZJWE1FOiBOZWdhdGl2ZSB0cmFpbGluZyBz
cGFjZSBtdXN0IGJlIGltcGxlbWVudGVkIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI0ODMwKS4KLQotICAgICAgICBwYXJzZU1hdGhNTExlbmd0aChlbGVtZW50KCku
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6bWluc2l6ZUF0dHIp
LCBtX21pblNpemUsICZzdHlsZSgpLCBmYWxzZSk7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbWF4c2l6ZSA9IGVsZW1lbnQoKS5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1h
dGhNTE5hbWVzOjptYXhzaXplQXR0cik7Ci0gICAgICAgIGlmIChtYXhzaXplICE9ICJpbmZpbml0
eSIpCi0gICAgICAgICAgICBwYXJzZU1hdGhNTExlbmd0aChtYXhzaXplLCBtX21heFNpemUsICZz
dHlsZSgpLCBmYWxzZSk7Ci0gICAgfQorICAgIG1fdHJhaWxpbmdTcGFjZSA9IHN0ZDo6bWF4PExh
eW91dFVuaXQ+KDAsIHRvVXNlclVuaXRzKGVsZW1lbnQoKS50cmFpbGluZ1NwYWNlKCksIHN0eWxl
KCksIG1fdHJhaWxpbmdTcGFjZSkpOworCisgICAgbV9taW5TaXplID0gc3R5bGUoKS5mb250Q2Fz
Y2FkZSgpLnNpemUoKTsgLy8gRGVmYXVsdCBtaW5zaXplIGlzICIxZW0iLgorICAgIG1fbWluU2l6
ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHRvVXNlclVuaXRzKGVsZW1lbnQoKS5taW5TaXpl
KCksIHN0eWxlKCksIG1fbWluU2l6ZSkpOworCisgICAgbV9tYXhTaXplID0gaW50TWF4Rm9yTGF5
b3V0VW5pdDsgLy8gRGVmYXVsdCBtYXhzaXplIGlzICJpbmZpbml0eSIuCisgICAgbV9tYXhTaXpl
ID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgdG9Vc2VyVW5pdHMoZWxlbWVudCgpLm1heFNpemUo
KSwgc3R5bGUoKSwgbV9tYXhTaXplKSk7CiB9CiAKIHZvaWQgUmVuZGVyTWF0aE1MT3BlcmF0b3I6
OnN0cmV0Y2hUbyhMYXlvdXRVbml0IGhlaWdodEFib3ZlQmFzZWxpbmUsIExheW91dFVuaXQgZGVw
dGhCZWxvd0Jhc2VsaW5lKQotLSAKMi44LjEKCg==
</data>
<flag name="review"
          id="308744"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285122</attachid>
            <date>2016-08-02 11:56:44 -0700</date>
            <delta_ts>2016-08-02 11:56:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-160301-Move-parsing-of-operator-length-attribute.patch</filename>
            <type>text/plain</type>
            <size>12712</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSAxOGUzMGZjYmIwODRlOTAxYTRjOWUwOWQ0MDk5MThjNjVjMDMyZDk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogVHVlLCAyIEF1ZyAyMDE2IDIwOjUzOjM2ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gQnVnIDE2
MDMwMSAtIE1vdmUgcGFyc2luZyBvZiBvcGVyYXRvciBsZW5ndGggYXR0cmlidXRlcyB0bwogTWF0
aE1MT3BlcmF0b3JFbGVtZW50CgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrCiAuLi4vc3RyZXRjaHktbWluc2l6ZS1tYXhz
aXplLWV4cGVjdGVkLmh0bWwgICAgICAgICB8ICA0ICstLQogLi4uL3ByZXNlbnRhdGlvbi9zdHJl
dGNoeS1taW5zaXplLW1heHNpemUuaHRtbCAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysr
KwogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaCAgICAgICAgICAgICAgfCAg
MiArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgICAg
fCAzOSArKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
T3BlcmF0b3JFbGVtZW50LmggICAgICB8ICA5ICsrKysrCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcCB8ICAyICsrCiAuLi4vcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAgICAgICB8IDI1ICsrKysrKy0tLS0tLS0tCiA5IGZp
bGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZjgwZDVmMC4uOTZjMDUxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA4LTAyICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIHBhcnNpbmcgb2Yg
b3BlcmF0b3IgbGVuZ3RoIGF0dHJpYnV0ZXMgdG8gTWF0aE1MT3BlcmF0b3JFbGVtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIG1hdGhtbC9wcmVzZW50
YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWw6IFVwZGF0ZSB0aGUg
dGVzdCBmb3IgbmVnYXRpdmUKKyAgICAgICAgbWluc2l6ZSBhbmQgbWF4c2l6ZSB0byBhbGlnbiBv
biB0aGUgYmVoYXZpb3Igc3VnZ2VzdGVkIGluIHRoZSBNYXRoTUwgcmVjb21tZW5kYXRpb24uCisg
ICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRt
bDogRGl0dG8uCisKIDIwMTYtMDgtMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViSURMXSBJbXBsZW1lbnQgb3ZlcmxvYWQgcmVzb2x1dGlvbiBhbGdvcml0
aG0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHkt
bWluc2l6ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2Vu
dGF0aW9uL3N0cmV0Y2h5LW1pbnNpemUtbWF4c2l6ZS1leHBlY3RlZC5odG1sCmluZGV4IGM5OWYy
ZjguLjhlOWRhMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24v
c3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUtZXhwZWN0ZWQuaHRt
bApAQCAtNDMsMTMgKzQzLDEzIEBACiAKICAgICAgIDxtYXRoPgogICAgICAgICA8bXJvdz4KLSAg
ICAgICAgICA8bW8gc3ltbWV0cmljPSJmYWxzZSI+fDwvbW8+CisgICAgICAgICAgPG1vIHN5bW1l
dHJpYz0iZmFsc2UiIG1pbnNpemU9IjBlbSI+fDwvbW8+CiAgICAgICAgICAgPG1zcGFjZSBoZWln
aHQ9IjRlbSIgZGVwdGg9IjRlbSIvPgogICAgICAgICA8L21yb3c+CiAgICAgICA8L21hdGg+CiAg
ICAgICA8bWF0aD4KICAgICAgICAgPG1yb3c+Ci0gICAgICAgICAgPG1vIHN5bW1ldHJpYz0iZmFs
c2UiPnw8L21vPgorICAgICAgICAgIDxtbyBzeW1tZXRyaWM9ImZhbHNlIiBtYXhzaXplPSIwZW0i
Pnw8L21vPgogICAgICAgICAgIDxtc3BhY2UgaGVpZ2h0PSI0ZW0iIGRlcHRoPSI0ZW0iLz4KICAg
ICAgICAgPC9tcm93PgogICAgICAgPC9tYXRoPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbCBiL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLmh0bWwKaW5k
ZXggMDQ2YWNmMC4uNDg4ZGZkOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24vc3RyZXRjaHktbWluc2l6ZS1tYXhzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdHJldGNoeS1taW5zaXplLW1heHNpemUuaHRtbApAQCAtNDUs
NyArNDUsNyBAQAogICAgICAgICA8L21yb3c+CiAgICAgICA8L21hdGg+CiAKLSAgICAgIDwhLS0g
V2UgdmVyaWZ5IHRoYXQgbmVnYXRpdmUgdmFsdWVzIGFyZSBpZ25vcmVkLiAtLT4KKyAgICAgIDwh
LS0gV2UgdmVyaWZ5IHRoYXQgbmVnYXRpdmUgdmFsdWVzIGFyZSB0cmVhdGVkIGFzIDAuIC0tPgog
ICAgICAgPG1hdGg+CiAgICAgICAgIDxtcm93PgogICAgICAgICAgIDxtbyBzeW1tZXRyaWM9ImZh
bHNlIiBtaW5zaXplPSItNWVtIj58PC9tbz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNzlhYzAxLi44MDQwNmZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEgQEAKIDIwMTYtMDgtMDIgIEZyZWRlcmljIFdhbmcg
IDxmd2FuZ0BpZ2FsaWEuY29tPgogCisgICAgICAgIE1vdmUgcGFyc2luZyBvZiBvcGVyYXRvciBs
ZW5ndGggYXR0cmlidXRlcyB0byBNYXRoTUxPcGVyYXRvckVsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDMwMQorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIG1vdmUgcGFyc2luZyBvZiBvcGVyYXRv
ciBhdHRyaWJ1dGVzIGxzcGFjZSwgcnNwYWNlIG1pbnNpemUsIG1heHNpemUgaW50byB0aGUgY2xh
c3MKKyAgICAgICAgTWF0aE1MT3BlcmF0b3JFbGVtZW50LiBXZSByZWx5IG9uIHRoZSBleGlzdGlu
ZyBNYXRoTUxFbGVtZW50OjpMZW5ndGggc3RydWN0dXJlIGFuZCBleHBhbmQKKyAgICAgICAgaXQg
dG8gaGFuZGxlIHRoZSAiaW5maW5pdHkiIGNhc2Ugb2YgbWF4c2l6ZSB0aGF0IHdlIGFsd2F5cyBy
ZXNvbHZlIGFzIGludE1heEZvckxheW91dFVuaXQuCisgICAgICAgIFdlIGFsc28gaW1wcm92ZSB0
aGUgcmVzb2x1dGlvbiBvZiBhIG5lZ2F0aXZlIHZhbHVlIGZvciBtaW5zaXplIGFuZCBtYXhzaXpl
IHNpbmNlIHRoZSBNYXRoTUwKKyAgICAgICAgcmVjb21tZW5kYXRpb24gc2F5cyBpdCBzaG91bGQg
YmUgcm91bmRlZCB1cCB0byB0aGUgbmVhcmVzdCB2YWxpZCB2YWx1ZSAod2hpY2ggaXMgemVybykK
KyAgICAgICAgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGUgYXR0cmlidXRlIGFuZCB1c2luZyB0aGUg
ZGVmYXVsdCB2YWx1ZS4gVGhpcyBpcyBzaW1pbGFyIHRvIHIyMDMyODUKKyAgICAgICAgZm9yIG1m
cmFjQGxpbmV0aGlja25lc3MuIFdlIGFsc28gdXBkYXRlIHRoZSBleGlzdGluZyB0ZXN0IGZvciBt
aW5zaXplL21heHNpemUgdG8gdGFrZSBpbnRvCisgICAgICAgIGFjY291bnQgdGhhdCBjaGFuZ2Uu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBhbHJlYWR5IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVz
dHMuCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5oOiBBZGQgYW4gIkluZmluaXR5
IiB0eXBlIGZvciBNYXRoTUwgTGVuZ3RoLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRv
ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50Ojps
ZWFkaW5nU3BhY2UpOiBIZWxwZXIgZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIGNhY2hlZCB2YWx1
ZQorICAgICAgICBmb3IgdGhlIGxzcGFjZSBhdHRyaWJ1dGUsIHBhcnNlIGl0IGlmIG5lY2Vzc2Fy
eS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJhdG9yRWxlbWVudDo6dHJhaWxpbmdTcGFj
ZSk6IERpdHRvIGZvciByc3BhY2UuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVs
ZW1lbnQ6Om1pblNpemUpOiBEaXR0byBmb3IgbWluc2l6ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1h
dGhNTE9wZXJhdG9yRWxlbWVudDo6bWF4U2l6ZSk6IERpdHRvIGZvciBtYXhzaXplLiBUaGlzIGF0
dHJpYnV0ZSBhbHNvIGFjY2VwdHMgdGhlCisgICAgICAgICJpbmZpbml0eSIgdmFsdWUuCisgICAg
ICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogTWFy
ayBhdHRyaWJ1dGVzIGRpcnR5LgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1l
bnQuaDogRGVjbGFyZSBMZW5ndGggbWVtYmVycyBhbmQgYWNjZXNzb3JzLgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9Vc2VyVW5pdHMpOiBSZXNvbHZlIEluZmluaXR5IGFzIGludE1heEZvckxheW91dFVuaXQuCisg
ICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxPcGVyYXRvcjo6c2V0T3BlcmF0b3JQcm9wZXJ0aWVz
KTogV2UgdXNlIHRvVXNlclVuaXRzIHRvIHJlc29sdmUgdGhlCisgICAgICAgIGxlbmd0aHMuIE5l
Z2F0aXZlIG1heHNpemUgYW5kIG1pbnNpemUgdmFsdWVzIG5vdyBmYWxsYmFjayB0byAwIGluc3Rl
YWQgb2YgdGhlaXIgZGVmYXVsdAorICAgICAgICB2YWx1ZXMuIFdlIGFsc28gcmVtb3ZlIHRoZSAh
aXNBbm9ueW1vdXMoKSBjaGVjayBzaW5jZSBzZXRPcGVyYXRvclByb3BlcnRpZXMgaXMgb3ZlcnJp
ZGVuCisgICAgICAgIGluIHRoZSBSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvciBjbGFzcy4KKwor
MjAxNi0wOC0wMiAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKICAgICAgICAg
TW92ZSBwYXJzaW5nIG9mIGJvb2xlYW4gb3BlcmF0b3IgcHJvcGVydGllcyBpbnRvIE1hdGhNTE9w
ZXJhdG9yRWxlbWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYwMTkwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCmluZGV4IDVk
ZTFkZDguLjRjYWI3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaApAQCAt
NTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gTWF0aE1MIGxlbmd0aHMgKGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9NYXRoTUwzL2NoYXB0ZXIyLmh0bWwjZnVuZC51bml0cykKICAgICAvLyBUZVgn
cyBNYXRoIFVuaXQgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBuYW1lZCBzcGFjZXMgKDEgbXUgPSAx
LzE4IGVtKS4KICAgICAvLyBVbml0bGVzcyB2YWx1ZXMgYXJlIGludGVycHJldGVkIGFzIGEgbXVs
dGlwbGUgb2YgYSByZWZlcmVuY2UgdmFsdWUuCi0gICAgZW51bSBjbGFzcyBMZW5ndGhUeXBlIHsg
Q20sIEVtLCBFeCwgSW4sIE1hdGhVbml0LCBNbSwgUGFyc2luZ0ZhaWxlZCwgUGMsIFBlcmNlbnRh
Z2UsIFB0LCBQeCwgVW5pdExlc3MgfTsKKyAgICBlbnVtIGNsYXNzIExlbmd0aFR5cGUgeyBDbSwg
RW0sIEV4LCBJbiwgTWF0aFVuaXQsIE1tLCBQYXJzaW5nRmFpbGVkLCBQYywgUGVyY2VudGFnZSwg
UHQsIFB4LCBVbml0TGVzcywgSW5maW5pdHkgfTsKICAgICBzdHJ1Y3QgTGVuZ3RoIHsKICAgICAg
ICAgTGVuZ3RoVHlwZSB0eXBlIHsgTGVuZ3RoVHlwZTo6UGFyc2luZ0ZhaWxlZCB9OwogICAgICAg
ICBmbG9hdCB2YWx1ZSB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9N
YXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9w
ZXJhdG9yRWxlbWVudC5jcHAKaW5kZXggMmEwNTlkYy4uYmRhYTZjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTE3OCw2ICsxNzgs
MzcgQEAgTWF0aE1MRWxlbWVudDo6TGVuZ3RoIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6ZGVmYXVs
dFRyYWlsaW5nU3BhY2UoKQogICAgIHJldHVybiBzcGFjZTsKIH0KIAorY29uc3QgTWF0aE1MRWxl
bWVudDo6TGVuZ3RoJiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmxlYWRpbmdTcGFjZSgpCit7Cisg
ICAgcmV0dXJuIGNhY2hlZE1hdGhNTExlbmd0aChNYXRoTUxOYW1lczo6bHNwYWNlQXR0ciwgbV9s
ZWFkaW5nU3BhY2UpOworfQorCitjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5ndGgmIE1hdGhNTE9w
ZXJhdG9yRWxlbWVudDo6dHJhaWxpbmdTcGFjZSgpCit7CisgICAgcmV0dXJuIGNhY2hlZE1hdGhN
TExlbmd0aChNYXRoTUxOYW1lczo6cnNwYWNlQXR0ciwgbV90cmFpbGluZ1NwYWNlKTsKK30KKwor
Y29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6Om1pblNp
emUoKQoreworICAgIHJldHVybiBjYWNoZWRNYXRoTUxMZW5ndGgoTWF0aE1MTmFtZXM6Om1pbnNp
emVBdHRyLCBtX21pblNpemUpOworfQorCitjb25zdCBNYXRoTUxFbGVtZW50OjpMZW5ndGgmIE1h
dGhNTE9wZXJhdG9yRWxlbWVudDo6bWF4U2l6ZSgpCit7CisgICAgaWYgKG1fbWF4U2l6ZSkKKyAg
ICAgICAgcmV0dXJuIG1fbWF4U2l6ZS52YWx1ZSgpOworCisgICAgY29uc3QgQXRvbWljU3RyaW5n
JiB2YWx1ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oTWF0aE1MTmFtZXM6Om1h
eHNpemVBdHRyKTsKKyAgICBpZiAodmFsdWUgPT0gImluZmluaXR5IikgeworICAgICAgICBMZW5n
dGggbWF4c2l6ZTsKKyAgICAgICAgbWF4c2l6ZS50eXBlID0gTGVuZ3RoVHlwZTo6SW5maW5pdHk7
CisgICAgICAgIG1fbWF4U2l6ZSA9IG1heHNpemU7CisgICAgfSBlbHNlCisgICAgICAgIG1fbWF4
U2l6ZSA9IHBhcnNlTWF0aE1MTGVuZ3RoKHZhbHVlKTsKKworICAgIHJldHVybiBtX21heFNpemUu
dmFsdWUoKTsKK30KKwogdm9pZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdl
ZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewogICAgIG1fb3BlcmF0b3JUZXh0ID0gTnVs
bG9wdDsKQEAgLTIxMiw2ICsyNDMsMTQgQEAgdm9pZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b20KICAgICAg
ICAgbV9wcm9wZXJ0aWVzLmRpcnR5RmxhZ3MgPSBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OmFs
bEZsYWdzOwogICAgIH0gZWxzZSBpZiAoYXV0byBmbGFnID0gYXR0cmlidXRlTmFtZVRvUHJvcGVy
dHlGbGFnKG5hbWUpKQogICAgICAgICBtX3Byb3BlcnRpZXMuZGlydHlGbGFncyB8PSBmbGFnLnZh
bHVlKCk7CisgICAgZWxzZSBpZiAobmFtZSA9PSBsc3BhY2VBdHRyKQorICAgICAgICBtX2xlYWRp
bmdTcGFjZSA9IE51bGxvcHQ7CisgICAgZWxzZSBpZiAobmFtZSA9PSByc3BhY2VBdHRyKQorICAg
ICAgICBtX3RyYWlsaW5nU3BhY2UgPSBOdWxsb3B0OworICAgIGVsc2UgaWYgKG5hbWUgPT0gbWlu
c2l6ZUF0dHIpCisgICAgICAgIG1fbWluU2l6ZSA9IE51bGxvcHQ7CisgICAgZWxzZSBpZiAobmFt
ZSA9PSBtYXhzaXplQXR0cikKKyAgICAgICAgbV9tYXhTaXplID0gTnVsbG9wdDsKIAogICAgIGlm
ICgobmFtZSA9PSBzdHJldGNoeUF0dHIgfHwgbmFtZSA9PSBsc3BhY2VBdHRyIHx8IG5hbWUgPT0g
cnNwYWNlQXR0ciB8fCBuYW1lID09IG1vdmFibGVsaW1pdHNBdHRyKSAmJiByZW5kZXJlcigpKSB7
CiAgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTE9wZXJhdG9yPigqcmVuZGVyZXIoKSkudXBk
YXRlRnJvbUVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxPcGVyYXRvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRv
ckVsZW1lbnQuaAppbmRleCAzZTI1MGQ3Li4xYTM2Y2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCkBAIC00MSw2ICs0MSwxMCBAQCBwdWJsaWM6
CiAgICAgYm9vbCBoYXNQcm9wZXJ0eShNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZsYWcpOwog
ICAgIExlbmd0aCBkZWZhdWx0TGVhZGluZ1NwYWNlKCk7CiAgICAgTGVuZ3RoIGRlZmF1bHRUcmFp
bGluZ1NwYWNlKCk7CisgICAgY29uc3QgTGVuZ3RoJiBsZWFkaW5nU3BhY2UoKTsKKyAgICBjb25z
dCBMZW5ndGgmIHRyYWlsaW5nU3BhY2UoKTsKKyAgICBjb25zdCBMZW5ndGgmIG1pblNpemUoKTsK
KyAgICBjb25zdCBMZW5ndGgmIG1heFNpemUoKTsKIAogcHJpdmF0ZToKICAgICBNYXRoTUxPcGVy
YXRvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKQEAg
LTY4LDYgKzcyLDExIEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBPcGVyYXRvclByb3BlcnRpZXMg
bV9wcm9wZXJ0aWVzOwogICAgIHZvaWQgY29tcHV0ZU9wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRv
ckRpY3Rpb25hcnk6OkZsYWcpOworCisgICAgT3B0aW9uYWw8TGVuZ3RoPiBtX2xlYWRpbmdTcGFj
ZTsKKyAgICBPcHRpb25hbDxMZW5ndGg+IG1fdHJhaWxpbmdTcGFjZTsKKyAgICBPcHRpb25hbDxM
ZW5ndGg+IG1fbWluU2l6ZTsKKyAgICBPcHRpb25hbDxMZW5ndGg+IG1fbWF4U2l6ZTsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxCbG9jay5jcHAKaW5kZXggYjAwYzg0Yi4uM2I1YjE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKQEAgLTE2NSw2
ICsxNjUsOCBAQCBMYXlvdXRVbml0IHRvVXNlclVuaXRzKGNvbnN0IE1hdGhNTEVsZW1lbnQ6Okxl
bmd0aCYgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgcwogICAgICAgICByZXR1cm4gcmVmZXJl
bmNlVmFsdWUgKiBsZW5ndGgudmFsdWU7CiAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhU
eXBlOjpQYXJzaW5nRmFpbGVkOgogICAgICAgICByZXR1cm4gcmVmZXJlbmNlVmFsdWU7CisgICAg
Y2FzZSBNYXRoTUxFbGVtZW50OjpMZW5ndGhUeXBlOjpJbmZpbml0eToKKyAgICAgICAgcmV0dXJu
IGludE1heEZvckxheW91dFVuaXQ7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIHJldHVybiByZWZlcmVuY2VWYWx1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAK
aW5kZXggMGY3YTVlZS4uMzU5MDMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKQEAgLTc5LDIyICs3OSwx
OSBAQCB2b2lkIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzZXRPcGVyYXRvclByb3BlcnRpZXMoKQog
ICAgIC8vIFdlIGRldGVybWluZSB0aGUgc3RyZXRjaCBkaXJlY3Rpb24gKGRlZmF1bHQgaXMgdmVy
dGljYWwpLgogICAgIG1faXNWZXJ0aWNhbCA9IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6aXNW
ZXJ0aWNhbCh0ZXh0Q29udGVudCgpKTsKIAotICAgIC8vIEluaXRpYWxpemUgd2l0aCB0aGUgZGVm
YXVsdCB2YWx1ZXMuCisgICAgLy8gRklYTUU6IE5lZ2F0aXZlIGxlYWRpbmcgc3BhY2VzIG11c3Qg
YmUgaW1wbGVtZW50ZWQgKGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNDgzMCkuCiAgICAgbV9sZWFk
aW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkuZGVmYXVsdExlYWRpbmdTcGFjZSgpLCBz
dHlsZSgpLCAwKTsKKyAgICBtX2xlYWRpbmdTcGFjZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KDAs
IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5sZWFkaW5nU3BhY2UoKSwgc3R5bGUoKSwgbV9sZWFkaW5n
U3BhY2UpKTsKKworICAgIC8vIEZJWE1FOiBOZWdhdGl2ZSB0cmFpbGluZyBzcGFjZXMgbXVzdCBi
ZSBpbXBsZW1lbnRlZCAoaHR0cHM6Ly93ZWJraXQub3JnL2IvMTI0ODMwKS4KICAgICBtX3RyYWls
aW5nU3BhY2UgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkuZGVmYXVsdFRyYWlsaW5nU3BhY2UoKSwg
c3R5bGUoKSwgMCk7Ci0gICAgbV9taW5TaXplID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpLnNpemUo
KTsgLy8gVGhpcyBzZXRzIG1pbnNpemUgdG8gIjFlbSIuCi0gICAgbV9tYXhTaXplID0gaW50TWF4
Rm9yTGF5b3V0VW5pdDsgLy8gVGhpcyBzZXRzIG1heHNpemUgdG8gImluZmluaXR5Ii4KLQotICAg
IGlmICghaXNBbm9ueW1vdXMoKSkgewotICAgICAgICAvLyBGaW5hbGx5LCB3ZSBtYWtlIHRoZSBh
dHRyaWJ1dGUgdmFsdWVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0LgotICAgICAgICBwYXJzZU1hdGhN
TExlbmd0aChlbGVtZW50KCkuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxO
YW1lczo6bHNwYWNlQXR0ciksIG1fbGVhZGluZ1NwYWNlLCAmc3R5bGUoKSwgZmFsc2UpOyAvLyBG
SVhNRTogTmVnYXRpdmUgbGVhZGluZyBzcGFjZSBtdXN0IGJlIGltcGxlbWVudGVkIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0ODMwKS4KLSAgICAgICAgcGFyc2VN
YXRoTUxMZW5ndGgoZWxlbWVudCgpLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oTWF0
aE1MTmFtZXM6OnJzcGFjZUF0dHIpLCBtX3RyYWlsaW5nU3BhY2UsICZzdHlsZSgpLCBmYWxzZSk7
IC8vIEZJWE1FOiBOZWdhdGl2ZSB0cmFpbGluZyBzcGFjZSBtdXN0IGJlIGltcGxlbWVudGVkICho
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0ODMwKS4KLQotICAgICAg
ICBwYXJzZU1hdGhNTExlbmd0aChlbGVtZW50KCkuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbihNYXRoTUxOYW1lczo6bWluc2l6ZUF0dHIpLCBtX21pblNpemUsICZzdHlsZSgpLCBmYWxz
ZSk7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbWF4c2l6ZSA9IGVsZW1lbnQoKS5hdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjptYXhzaXplQXR0cik7Ci0g
ICAgICAgIGlmIChtYXhzaXplICE9ICJpbmZpbml0eSIpCi0gICAgICAgICAgICBwYXJzZU1hdGhN
TExlbmd0aChtYXhzaXplLCBtX21heFNpemUsICZzdHlsZSgpLCBmYWxzZSk7Ci0gICAgfQorICAg
IG1fdHJhaWxpbmdTcGFjZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHRvVXNlclVuaXRzKGVs
ZW1lbnQoKS50cmFpbGluZ1NwYWNlKCksIHN0eWxlKCksIG1fdHJhaWxpbmdTcGFjZSkpOworCisg
ICAgbV9taW5TaXplID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpLnNpemUoKTsgLy8gRGVmYXVsdCBt
aW5zaXplIGlzICIxZW0iLgorICAgIG1fbWluU2l6ZSA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KDAs
IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5taW5TaXplKCksIHN0eWxlKCksIG1fbWluU2l6ZSkpOwor
CisgICAgbV9tYXhTaXplID0gaW50TWF4Rm9yTGF5b3V0VW5pdDsgLy8gRGVmYXVsdCBtYXhzaXpl
IGlzICJpbmZpbml0eSIuCisgICAgbV9tYXhTaXplID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwg
dG9Vc2VyVW5pdHMoZWxlbWVudCgpLm1heFNpemUoKSwgc3R5bGUoKSwgbV9tYXhTaXplKSk7CiB9
CiAKIHZvaWQgUmVuZGVyTWF0aE1MT3BlcmF0b3I6OnN0cmV0Y2hUbyhMYXlvdXRVbml0IGhlaWdo
dEFib3ZlQmFzZWxpbmUsIExheW91dFVuaXQgZGVwdGhCZWxvd0Jhc2VsaW5lKQotLSAKMi44LjEK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>