<?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>137036</bug_id>
          
          <creation_ts>2014-09-23 12:34:55 -0700</creation_ts>
          <short_desc>Have CSS classes&apos; methods return more references</short_desc>
          <delta_ts>2014-09-23 18:45:51 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036790</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-23 12:34:55 -0700</bug_when>
    <thetext>Have CSS classes&apos; methods return more references instead of pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036792</commentid>
    <comment_count>1</comment_count>
      <attachid>238558</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-23 12:37:31 -0700</bug_when>
    <thetext>Created attachment 238558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036849</commentid>
    <comment_count>2</comment_count>
      <attachid>238573</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-23 14:48:25 -0700</bug_when>
    <thetext>Created attachment 238573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036881</commentid>
    <comment_count>3</comment_count>
      <attachid>238573</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-09-23 18:04:17 -0700</bug_when>
    <thetext>Comment on attachment 238573
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=238573&amp;action=review

&gt; Source/WebCore/inspector/InspectorStyleSheet.cpp:849
&gt; -    RefPtr&lt;CSSRuleSourceData&gt; sourceData = ruleSourceDataFor(rule-&gt;style());
&gt; +    RefPtr&lt;CSSRuleSourceData&gt; sourceData = ruleSourceDataFor(&amp;rule-&gt;style());

Can&apos;t we use Ref instead?

&gt; Source/WebCore/inspector/InspectorStyleSheet.cpp:932
&gt; -    RefPtr&lt;CSSRuleSourceData&gt; sourceData = ruleSourceDataFor(rule-&gt;style());
&gt; +    RefPtr&lt;CSSRuleSourceData&gt; sourceData = ruleSourceDataFor(&amp;rule-&gt;style());

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036883</commentid>
    <comment_count>4</comment_count>
      <attachid>238573</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 18:45:46 -0700</bug_when>
    <thetext>Comment on attachment 238573
Patch

Clearing flags on attachment: 238573

Committed r173905: &lt;http://trac.webkit.org/changeset/173905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036884</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 18:45:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238558</attachid>
            <date>2014-09-23 12:37:31 -0700</date>
            <delta_ts>2014-09-23 14:48:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137036-20140923123730.patch</filename>
            <type>text/plain</type>
            <size>10915</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmMzMTExYzFkMGQwNTg1
ZTVjZjMyZjEzOWM2YzUzY2JhYzE1ZmZiOS4uMWYwZDNmODE5M2U2M2UzMzhkYThmOGRlMGYzYWU2
NTZhMDRjZDljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDE0LTA5LTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSGF2ZSBDU1MgY2xhc3Nlcycg
bWV0aG9kcyByZXR1cm4gbW9yZSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwMzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIENTUyBjbGFzc2VzJyBtZXRob2RzIHJldHVybiBt
b3JlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycworICAgICAgICB3aGVuIHBvc3NpYmxl
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAg
ICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZVJ1bGU6OnN0eWxlKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6CisgICAgICAg
ICogY3NzL0NTU0ltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVs
ZTo6bWVkaWEpOgorICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmg6CisgICAgICAgICogY3Nz
L0NTU1BhZ2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpzdHlsZSk6
CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnN0eWxlKToKKyAgICAgICAg
KiBjc3MvQ1NTU3R5bGVSdWxlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnN0eWxlKToK
KyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmg6CisgICAgICAgICogY3NzL1dl
YktpdENTU0tleWZyYW1lc1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZTo6Y3NzUnVsZXMpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnN0eWxlKToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg6CisKKzIwMTQtMDktMjMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBIYXZlIERvY3VtZW50OjphY2Nlc3NTVkdFeHRlbnNp
b25zKCkgcmV0dXJuIGEgcmVmZXJlbmNlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzcwMzAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmNwcAppbmRleCBlNWMyYTU1NTZjNTk4Zjk4Mzg1NWU1NWYxZGUwYWQ3ZmE0NjBkYzY3Li4yYmI5
NDVhNjVjYjVkOTEyODkxZjFiZjUyYjZjNWJhMmY3YzZiZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmNwcApAQCAtNDEsMTEgKzQxLDExIEBAIENTU0ZvbnRGYWNlUnVsZTo6
fkNTU0ZvbnRGYWNlUnVsZSgpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci0+Y2xl
YXJQYXJlbnRSdWxlKCk7CiB9CiAKLUNTU1N0eWxlRGVjbGFyYXRpb24qIENTU0ZvbnRGYWNlUnVs
ZTo6c3R5bGUoKQorQ1NTU3R5bGVEZWNsYXJhdGlvbiYgQ1NTRm9udEZhY2VSdWxlOjpzdHlsZSgp
CiB7CiAgICAgaWYgKCFtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpCiAgICAgICAgIG1fcHJvcGVy
dGllc0NTU09NV3JhcHBlciA9IFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb246OmNyZWF0ZSht
X2ZvbnRGYWNlUnVsZS0+bXV0YWJsZVByb3BlcnRpZXMoKSwgKnRoaXMpOwotICAgIHJldHVybiBt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIuZ2V0KCk7CisgICAgcmV0dXJuICptX3Byb3BlcnRpZXND
U1NPTVdyYXBwZXI7CiB9CiAKIFN0cmluZyBDU1NGb250RmFjZVJ1bGU6OmNzc1RleHQoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCmluZGV4IGY5NjE2NDU2NTM1N2RhOWVm
NWU3YWRmZDZhMTIxMGJiNWYwNTE3NTEuLjM2MzFiZTdhZDA2NThkMzJmZWVmOTRiNWUzOGJlNmRj
ZmQwZTY0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmgKQEAgLTQwLDcgKzQw
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIG92ZXJyaWRlOwog
Ci0gICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKTsKKyAgICBDU1NTdHlsZURlY2xhcmF0
aW9uJiBzdHlsZSgpOwogCiBwcml2YXRlOgogICAgIENTU0ZvbnRGYWNlUnVsZShTdHlsZVJ1bGVG
b250RmFjZSosIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5jcHAKaW5kZXggNWU2OGNjNzJmMGFjNzRmNGMzZTZkOGRhOTg1NWZkYzFjMDQyMGViNC4u
NTE3NTc1NjA2NjhiZGE5MGMzYzViMDI3NTY4NjFjMjIwMDQ1ZDM5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmNwcApAQCAtNTMsMTEgKzUzLDExIEBAIFN0cmluZyBDU1NJbXBvcnRS
dWxlOjpocmVmKCkgY29uc3QKICAgICByZXR1cm4gbV9pbXBvcnRSdWxlLT5ocmVmKCk7CiB9CiAK
LU1lZGlhTGlzdCogQ1NTSW1wb3J0UnVsZTo6bWVkaWEoKSBjb25zdAorTWVkaWFMaXN0JiBDU1NJ
bXBvcnRSdWxlOjptZWRpYSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX21lZGlhQ1NTT01XcmFwcGVy
KQogICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUobV9pbXBv
cnRSdWxlLT5tZWRpYVF1ZXJpZXMoKSwgY29uc3RfY2FzdDxDU1NJbXBvcnRSdWxlKj4odGhpcykp
OwotICAgIHJldHVybiBtX21lZGlhQ1NTT01XcmFwcGVyLmdldCgpOworICAgIHJldHVybiAqbV9t
ZWRpYUNTU09NV3JhcHBlcjsKIH0KIAogU3RyaW5nIENTU0ltcG9ydFJ1bGU6OmNzc1RleHQoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggZmJmMjYxYThiYjI2NWFiZTEx
NjA1NzhkNWYyZTcwZDQ1ZGI4MjI5NC4uMThiZWRhY2E4ZWY1MmQ2ODUwOWYzNmY2OWNlMTk2OGM3
Y2ZiNmMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCkBAIC00Miw3ICs0Miw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIG92ZXJy
aWRlOwogCiAgICAgU3RyaW5nIGhyZWYoKSBjb25zdDsKLSAgICBNZWRpYUxpc3QqIG1lZGlhKCkg
Y29uc3Q7CisgICAgTWVkaWFMaXN0JiBtZWRpYSgpIGNvbnN0OwogICAgIENTU1N0eWxlU2hlZXQq
IHN0eWxlU2hlZXQoKSBjb25zdDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUu
Y3BwCmluZGV4IDQ4OTVlOGIyMDdlNWI4NTY0MDZkMDVhZDRhYTg1NjlkYzE1MDk3NzEuLjNlNDgz
NmI3NDgzYTE5M2M2MDdmYTIyZGI2ODBkMzQ1ZWI5NzBmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
Z2VSdWxlLmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIENTU1BhZ2VSdWxlOjp+Q1NTUGFnZVJ1bGUo
KQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOwog
fQogCi1DU1NTdHlsZURlY2xhcmF0aW9uKiBDU1NQYWdlUnVsZTo6c3R5bGUoKQorQ1NTU3R5bGVE
ZWNsYXJhdGlvbiYgQ1NTUGFnZVJ1bGU6OnN0eWxlKCkKIHsKICAgICBpZiAoIW1fcHJvcGVydGll
c0NTU09NV3JhcHBlcikKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyID0gU3R5bGVS
dWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fcGFnZVJ1bGUtPm11dGFibGVQcm9wZXJ0
aWVzKCksICp0aGlzKTsKLSAgICByZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgp
OworICAgIHJldHVybiAqbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyOwogfQogCiBTdHJpbmcgQ1NT
UGFnZVJ1bGU6OnNlbGVjdG9yVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFnZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oCmlu
ZGV4IGE0NDM5YjY0NjU5NzhlYTQ5NzE5N2Y1NzcwNTZmYzhlNjc3NzlhYzkuLjgyZTkxYWEzZjFi
MDM2MDgyZjI4ZTQ3NDMxN2M2YWI3ZjZiMmRjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYWdlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5o
CkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2Uq
KSBvdmVycmlkZTsKIAotICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCk7CisgICAgQ1NT
U3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKIAogICAgIFN0cmluZyBzZWxlY3RvclRleHQoKSBj
b25zdDsKICAgICB2b2lkIHNldFNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlUnVsZS5jcHAKaW5kZXggODAwYzYzYmQ0NzFlOTg5OWM4N2VjZGI3MTYwZTFl
ZjM5ZTNkNzRmMy4uODU2MzliNWRhZTgwZTYxYTQ0YWY1OWRkMTc4MDEyNjkxZTRjOTY3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKQEAgLTU5LDEyICs1OSwxMSBAQCBDU1NTdHls
ZVJ1bGU6On5DU1NTdHlsZVJ1bGUoKQogICAgIH0KIH0KIAotQ1NTU3R5bGVEZWNsYXJhdGlvbiog
Q1NTU3R5bGVSdWxlOjpzdHlsZSgpCitDU1NTdHlsZURlY2xhcmF0aW9uJiBDU1NTdHlsZVJ1bGU6
OnN0eWxlKCkKIHsKLSAgICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBlcikgeworICAgIGlm
ICghbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdy
YXBwZXIgPSBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUobV9zdHlsZVJ1bGUt
Pm11dGFibGVQcm9wZXJ0aWVzKCksICp0aGlzKTsKLSAgICB9Ci0gICAgcmV0dXJuIG1fcHJvcGVy
dGllc0NTU09NV3JhcHBlci5nZXQoKTsKKyAgICByZXR1cm4gKm1fcHJvcGVydGllc0NTU09NV3Jh
cHBlcjsKIH0KIAogU3RyaW5nIENTU1N0eWxlUnVsZTo6Z2VuZXJhdGVTZWxlY3RvclRleHQoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCmluZGV4IDY0OWJiMDY2Yzc3ODI2M2Y3ZGEw
NGQyOTQyYjQ5YzQwZTZhYjE2MzIuLjUyYzk1NDY1YTAxMzVhNTI3ZjIxMDg1Y2NlY2Q0NTM0OTQ5
MzZmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogICAgIFN0cmluZyBzZWxlY3RvclRleHQoKSBjb25zdDsKICAgICB2b2lkIHNldFNlbGVj
dG9yVGV4dChjb25zdCBTdHJpbmcmKTsKIAotICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxl
KCk7CisgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKIAogICAgIC8vIEZJWE1FOiBO
b3QgQ1NTT00uIFJlbW92ZS4KICAgICBTdHlsZVJ1bGUqIHN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3R5bGVSdWxlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuY3BwCmluZGV4IDA4NzEwN2Y2MzlkMzdhNjJmMzhkZGQxMzcwYjY2YjA0MTM0
YjcwNDAuLjNlNTYzOThkNjk5OGNjYjNlYTg2MDJiMmZlOThjMTYyMTA3MGYxZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCkBAIC0xMDUsMTEgKzEw
NSwxMSBAQCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6On5XZWJLaXRDU1NLZXlmcmFtZVJ1bGUoKQog
ICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOwogfQog
Ci1DU1NTdHlsZURlY2xhcmF0aW9uKiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnN0eWxlKCkKK0NT
U1N0eWxlRGVjbGFyYXRpb24mIFdlYktpdENTU0tleWZyYW1lUnVsZTo6c3R5bGUoKQogewogICAg
IGlmICghbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NP
TVdyYXBwZXIgPSBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUobV9rZXlmcmFt
ZS0+bXV0YWJsZVByb3BlcnRpZXMoKSwgKnRoaXMpOwotICAgIHJldHVybiBtX3Byb3BlcnRpZXND
U1NPTVdyYXBwZXIuZ2V0KCk7CisgICAgcmV0dXJuICptX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXI7
CiB9CiAKIHZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNl
KikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaAppbmRleCAzMDQ2
OWY1YWNlNTJjYmFjYzg4Nzg3MDliMjFkYmE3ZTRlYWRlNjUyLi43YWE1YTJjNWE4NTFiNTdlZGY3
NmUzNzNjZTkzNGZmNDI5NmUwYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tl
eWZyYW1lUnVsZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcga2V5VGV4
dCgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5ZnJhbWUtPmtleVRleHQoKTsgfQogICAgIHZvaWQgc2V0
S2V5VGV4dChjb25zdCBTdHJpbmcmIHMpIHsgbV9rZXlmcmFtZS0+c2V0S2V5VGV4dChzKTsgfQog
Ci0gICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKTsKKyAgICBDU1NTdHlsZURlY2xhcmF0
aW9uJiBzdHlsZSgpOwogCiBwcml2YXRlOgogICAgIFdlYktpdENTU0tleWZyYW1lUnVsZShTdHls
ZUtleWZyYW1lKiwgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSogcGFyZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAppbmRleCBhOTJjY2Q1N2E4MWUz
Zjg0ZTYxNzU2MGRkNjZiNDI1YTlkNzI4MzU4Li5lNTMyYmNlYzczNTAxOTg1YjIwYjA5MGIxMmU4
YWFiNzg2NGY2ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1l
c1J1bGUuY3BwCkBAIC0xODUsMTEgKzE4NSwxMSBAQCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqIFdl
YktpdENTU0tleWZyYW1lc1J1bGU6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0CiAgICAgcmV0
dXJuIHJ1bGUuZ2V0KCk7IAogfQogCi1DU1NSdWxlTGlzdCogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZTo6Y3NzUnVsZXMoKQorQ1NTUnVsZUxpc3QmIFdlYktpdENTU0tleWZyYW1lc1J1bGU6OmNzc1J1
bGVzKCkKIHsKICAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCiAgICAgICAgIG1fcnVs
ZUxpc3RDU1NPTVdyYXBwZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPExpdmVDU1NSdWxlTGlzdDxXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlPj4odGhpcyk7Ci0gICAgcmV0dXJuIG1fcnVsZUxpc3RDU1NPTVdy
YXBwZXIuZ2V0KCk7CisgICAgcmV0dXJuICptX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwogfQogCiB2
b2lkIFdlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaAppbmRleCBmMjU5
ZGI0ODU1YjZmYjE2ZDJhYzkyNjQ5YzE2M2I4NzQ1NjFlNjVjLi4wYTY3MzRmYTBmMDI2MTU0OTE2
M2NjOTM3YWVmMmYzZjVlZTdhNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBuYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9rZXlmcmFtZXNSdWxlLT5uYW1lKCk7IH0KICAgICB2b2lkIHNl
dE5hbWUoY29uc3QgU3RyaW5nJik7CiAKLSAgICBDU1NSdWxlTGlzdCogY3NzUnVsZXMoKTsKKyAg
ICBDU1NSdWxlTGlzdCYgY3NzUnVsZXMoKTsKIAogICAgIHZvaWQgaW5zZXJ0UnVsZShjb25zdCBT
dHJpbmcmIHJ1bGUpOwogICAgIHZvaWQgZGVsZXRlUnVsZShjb25zdCBTdHJpbmcmIGtleSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCmluZGV4IGIxZGU5
M2MyNDc4NzhhZGJkMjRkNWNjMDEwNWJhNzE2NWM5NTkzNjUuLmMwNTk2MGIwNDkxODc5NDcyNTky
ZGVkMjFiYmFlYmM0NGNiZDIzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NW
aWV3cG9ydFJ1bGUuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgV2ViS2l0Q1NTVmlld3BvcnRSdWxl
Ojp+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCkKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFw
cGVyLT5jbGVhclBhcmVudFJ1bGUoKTsKIH0KIAotQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjpzdHlsZSgpCitDU1NTdHlsZURlY2xhcmF0aW9uJiBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGU6OnN0eWxlKCkKIHsKICAgICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBl
cikKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5bGVE
ZWNsYXJhdGlvbjo6Y3JlYXRlKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpLCAq
dGhpcyk7CiAKLSAgICByZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgpOworICAg
IHJldHVybiAqbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyOwogfQogCiBTdHJpbmcgV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuaAppbmRleCA2NjE0YzgwMDE1MDJlYTc3ZWFmYWJiNTBkNDQwZWYwOTk1
MTM0YjA3Li5iMWM5MjRmODI0NTI1ZDFjOTc3OGJlZTdiMTY5NTFkN2JkYTcxYjcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCkBAIC01Myw3ICs1Myw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBvdmVycmlkZTsKIAotICAg
IENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCk7CisgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYg
c3R5bGUoKTsKIAogcHJpdmF0ZToKICAgICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxl
Vmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238573</attachid>
            <date>2014-09-23 14:48:25 -0700</date>
            <delta_ts>2014-09-23 18:45:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137036-20140923144824.patch</filename>
            <type>text/plain</type>
            <size>17821</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxZmM0ZGJhYTcxOTYz
NDMzMTVhYmU4OWU2OTY5NzExMTZhYjYzOC4uM2JhZmI5YTU4MGJmOWU5YTE2OWMwZDMxMzJjYWE2
ZTA2ZmE2ZWNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUzIEBACiAyMDE0LTA5LTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSGF2ZSBDU1MgY2xhc3Nlcycg
bWV0aG9kcyByZXR1cm4gbW9yZSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwMzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIENTUyBjbGFzc2VzJyBtZXRob2RzIHJldHVybiBt
b3JlIHJlZmVyZW5jZXMgaW5zdGVhZCBvZiBwb2ludGVycworICAgICAgICB3aGVuIHBvc3NpYmxl
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAg
ICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZVJ1bGU6OnN0eWxlKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6CisgICAgICAg
ICogY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcm91cGlu
Z1J1bGU6OmNzc1J1bGVzKToKKyAgICAgICAgKiBjc3MvQ1NTR3JvdXBpbmdSdWxlLmg6CisgICAg
ICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0
UnVsZTo6bWVkaWEpOgorICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmg6CisgICAgICAgICog
Y3NzL0NTU1BhZ2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpzdHls
ZSk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgICogY3NzL0NTU1N0eWxl
UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnN0eWxlKToKKyAgICAg
ICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1l
UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnN0eWxl
KToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmg6CisgICAgICAgICogY3Nz
L1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NT
S2V5ZnJhbWVzUnVsZTo6Y3NzUnVsZXMpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnN0eWxlKToKKyAgICAgICAgKiBj
c3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXNDU1NSdWxlTGlzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpmaWxsTWVkaWFMaXN0Q2hhaW4pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yU3R5bGVTaGVldDo6c2V0UnVsZVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclN0eWxlU2hlZXQ6OmRlbGV0ZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yU3R5bGVTaGVldDo6YnVpbGRPYmplY3RGb3JTZWxlY3Rvckxpc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yU3R5bGVTaGVldDo6YnVpbGRPYmplY3RGb3JSdWxlKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclN0eWxlU2hlZXQ6OnN0eWxlRm9ySWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yU3R5bGVTaGVldDo6cnVsZUluZGV4QnlTdHlsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjpydWxlSWQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yU3R5bGVTaGVldDo6cmV2YWxpZGF0ZVN0eWxlKToKKworMjAxNC0wOS0yMyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIEhhdmUgRE9NSW1wbGVtZW50
YXRpb246OmRvY3VtZW50KCkgYW5kIEVsZW1lbnQ6OmF0dHJpYnV0ZXMoKSByZXR1cm4gcmVmZXJl
bmNlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
MDM1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKaW5kZXggZTVjMmE1NTU2
YzU5OGY5ODM4NTVlNTVmMWRlMGFkN2ZhNDYwZGM2Ny4uMmJiOTQ1YTY1Y2I1ZDkxMjg5MWYxYmY1
MmI2YzViYTJmN2M2YmRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAK
QEAgLTQxLDExICs0MSwxMSBAQCBDU1NGb250RmFjZVJ1bGU6On5DU1NGb250RmFjZVJ1bGUoKQog
ICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOwogfQog
Ci1DU1NTdHlsZURlY2xhcmF0aW9uKiBDU1NGb250RmFjZVJ1bGU6OnN0eWxlKCkKK0NTU1N0eWxl
RGVjbGFyYXRpb24mIENTU0ZvbnRGYWNlUnVsZTo6c3R5bGUoKQogewogICAgIGlmICghbV9wcm9w
ZXJ0aWVzQ1NTT01XcmFwcGVyKQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIgPSBT
dHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUobV9mb250RmFjZVJ1bGUtPm11dGFi
bGVQcm9wZXJ0aWVzKCksICp0aGlzKTsKLSAgICByZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFw
cGVyLmdldCgpOworICAgIHJldHVybiAqbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyOwogfQogCiBT
dHJpbmcgQ1NTRm9udEZhY2VSdWxlOjpjc3NUZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZVJ1bGUuaAppbmRleCBmOTYxNjQ1NjUzNTdkYTllZjVlN2FkZmQ2YTEyMTBiYjVmMDUx
NzUxLi4zNjMxYmU3YWQwNjU4ZDMyZmVlZjk0YjVlMzhiZTZkY2ZkMGU2NDlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBvdmVycmlkZTsKIAotICAgIENTU1N0eWxlRGVjbGFy
YXRpb24qIHN0eWxlKCk7CisgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKIAogcHJp
dmF0ZToKICAgICBDU1NGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UqLCBDU1NTdHlsZVNo
ZWV0KiBwYXJlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5n
UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAppbmRleCA2
NjRjOWI5YTE3YjU1MTU2NzcwZGVjM2MyYTJiN2I4MGIyMWQ3MTE5Li42NDhmYzIyOGQ3MmRmNzQ2
YWJiNjlmYzZlYzg2NTA2MWQ0ZjI5MDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JvdXBpbmdSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdS
dWxlLmNwcApAQCAtMTQxLDExICsxNDEsMTEgQEAgQ1NTUnVsZSogQ1NTR3JvdXBpbmdSdWxlOjpp
dGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAogICAgIHJldHVybiBydWxlLmdldCgpOwogfQogCi1D
U1NSdWxlTGlzdCogQ1NTR3JvdXBpbmdSdWxlOjpjc3NSdWxlcygpIGNvbnN0CitDU1NSdWxlTGlz
dCYgQ1NTR3JvdXBpbmdSdWxlOjpjc3NSdWxlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3J1bGVM
aXN0Q1NTT01XcmFwcGVyKQogICAgICAgICBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxMaXZlQ1NTUnVsZUxpc3Q8Q1NTR3JvdXBpbmdSdWxlPj4oY29uc3RfY2FzdDxD
U1NHcm91cGluZ1J1bGUqPih0aGlzKSk7Ci0gICAgcmV0dXJuIG1fcnVsZUxpc3RDU1NPTVdyYXBw
ZXIuZ2V0KCk7CisgICAgcmV0dXJuICptX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwogfQogCiB2b2lk
IENTU0dyb3VwaW5nUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcm91cGluZ1J1bGUuaAppbmRleCBmMTRlZTJjZTE2YWI1MTg4NmI5ZGNkNTNkNmY0
ZGVmZTk4Y2Q5NTQ5Li4zMGYzMDQyOTc2ZDNiMjlkMzE0NDBmYjlhMmMxMzUzN2ZlNTIxMjhjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5oCkBAIC0zOCw3ICszOCw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7
CiAKLSAgICBDU1NSdWxlTGlzdCogY3NzUnVsZXMoKSBjb25zdDsKKyAgICBDU1NSdWxlTGlzdCYg
Y3NzUnVsZXMoKSBjb25zdDsKIAogICAgIHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5n
JiBydWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGVsZXRl
UnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
cG9ydFJ1bGUuY3BwCmluZGV4IDVlNjhjYzcyZjBhYzc0ZjRjM2U2ZDhkYTk4NTVmZGMxYzA0MjBl
YjQuLjUxNzU3NTYwNjY4YmRhOTBjM2M1YjAyNzU2ODYxYzIyMDA0NWQzOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAKQEAgLTUzLDExICs1MywxMSBAQCBTdHJpbmcgQ1NTSW1w
b3J0UnVsZTo6aHJlZigpIGNvbnN0CiAgICAgcmV0dXJuIG1faW1wb3J0UnVsZS0+aHJlZigpOwog
fQogCi1NZWRpYUxpc3QqIENTU0ltcG9ydFJ1bGU6Om1lZGlhKCkgY29uc3QKK01lZGlhTGlzdCYg
Q1NTSW1wb3J0UnVsZTo6bWVkaWEoKSBjb25zdAogewogICAgIGlmICghbV9tZWRpYUNTU09NV3Jh
cHBlcikKICAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlciA9IE1lZGlhTGlzdDo6Y3JlYXRlKG1f
aW1wb3J0UnVsZS0+bWVkaWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTSW1wb3J0UnVsZSo+KHRo
aXMpKTsKLSAgICByZXR1cm4gbV9tZWRpYUNTU09NV3JhcHBlci5nZXQoKTsKKyAgICByZXR1cm4g
Km1fbWVkaWFDU1NPTVdyYXBwZXI7CiB9CiAKIFN0cmluZyBDU1NJbXBvcnRSdWxlOjpjc3NUZXh0
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IGZiZjI2MWE4YmIyNjVh
YmUxMTYwNTc4ZDVmMmU3MGQ0NWRiODIyOTQuLjE4YmVkYWNhOGVmNTJkNjg1MDlmMzZmNjljZTE5
NjhjN2NmYjZjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtNDIsNyArNDIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBv
dmVycmlkZTsKIAogICAgIFN0cmluZyBocmVmKCkgY29uc3Q7Ci0gICAgTWVkaWFMaXN0KiBtZWRp
YSgpIGNvbnN0OworICAgIE1lZGlhTGlzdCYgbWVkaWEoKSBjb25zdDsKICAgICBDU1NTdHlsZVNo
ZWV0KiBzdHlsZVNoZWV0KCkgY29uc3Q7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VS
dWxlLmNwcAppbmRleCA0ODk1ZThiMjA3ZTViODU2NDA2ZDA1YWQ0YWE4NTY5ZGMxNTA5NzcxLi4z
ZTQ4MzZiNzQ4M2ExOTNjNjA3ZmEyMmRiNjgwZDM0NWViOTcwZjNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWdlUnVsZS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCBDU1NQYWdlUnVsZTo6fkNTU1BhZ2VS
dWxlKCkKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1bGUo
KTsKIH0KIAotQ1NTU3R5bGVEZWNsYXJhdGlvbiogQ1NTUGFnZVJ1bGU6OnN0eWxlKCkKK0NTU1N0
eWxlRGVjbGFyYXRpb24mIENTU1BhZ2VSdWxlOjpzdHlsZSgpCiB7CiAgICAgaWYgKCFtX3Byb3Bl
cnRpZXNDU1NPTVdyYXBwZXIpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlciA9IFN0
eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb246OmNyZWF0ZShtX3BhZ2VSdWxlLT5tdXRhYmxlUHJv
cGVydGllcygpLCAqdGhpcyk7Ci0gICAgcmV0dXJuIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci5n
ZXQoKTsKKyAgICByZXR1cm4gKm1fcHJvcGVydGllc0NTU09NV3JhcHBlcjsKIH0KIAogU3RyaW5n
IENTU1BhZ2VSdWxlOjpzZWxlY3RvclRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUu
aAppbmRleCBhNDQzOWI2NDY1OTc4ZWE0OTcxOTdmNTc3MDU2ZmM4ZTY3Nzc5YWM5Li44MmU5MWFh
M2YxYjAzNjA4MmYyOGU0NzQzMTdjNmFiN2Y2YjJkYzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFnZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1
bGUuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVC
YXNlKikgb3ZlcnJpZGU7CiAKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSgpOworICAg
IENTU1N0eWxlRGVjbGFyYXRpb24mIHN0eWxlKCk7CiAKICAgICBTdHJpbmcgc2VsZWN0b3JUZXh0
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IDgwMGM2M2JkNDcxZTk4OTljODdlY2RiNzE2
MGUxZWYzOWUzZDc0ZjMuLjg1NjM5YjVkYWU4MGU2MWE0NGFmNTlkZDE3ODAxMjY5MWU0Yzk2NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC01OSwxMiArNTksMTEgQEAgQ1NT
U3R5bGVSdWxlOjp+Q1NTU3R5bGVSdWxlKCkKICAgICB9CiB9CiAKLUNTU1N0eWxlRGVjbGFyYXRp
b24qIENTU1N0eWxlUnVsZTo6c3R5bGUoKQorQ1NTU3R5bGVEZWNsYXJhdGlvbiYgQ1NTU3R5bGVS
dWxlOjpzdHlsZSgpCiB7Ci0gICAgaWYgKCFtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpIHsKKyAg
ICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NT
T01XcmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fc3R5bGVS
dWxlLT5tdXRhYmxlUHJvcGVydGllcygpLCAqdGhpcyk7Ci0gICAgfQotICAgIHJldHVybiBtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXIuZ2V0KCk7CisgICAgcmV0dXJuICptX3Byb3BlcnRpZXNDU1NP
TVdyYXBwZXI7CiB9CiAKIFN0cmluZyBDU1NTdHlsZVJ1bGU6OmdlbmVyYXRlU2VsZWN0b3JUZXh0
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAppbmRleCA2NDliYjA2NmM3NzgyNjNm
N2RhMDRkMjk0MmI0OWM0MGU2YWIxNjMyLi41MmM5NTQ2NWEwMTM1YTUyN2YyMTA4NWNjZWNkNDUz
NDk0OTM2ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCkBAIC00Myw3ICs0Myw3IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRT
ZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJik7CiAKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBz
dHlsZSgpOworICAgIENTU1N0eWxlRGVjbGFyYXRpb24mIHN0eWxlKCk7CiAKICAgICAvLyBGSVhN
RTogTm90IENTU09NLiBSZW1vdmUuCiAgICAgU3R5bGVSdWxlKiBzdHlsZVJ1bGUoKSBjb25zdCB7
IHJldHVybiBtX3N0eWxlUnVsZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlLmNwcAppbmRleCAwODcxMDdmNjM5ZDM3YTYyZjM4ZGRkMTM3MGI2NmIw
NDEzNGI3MDQwLi4zZTU2Mzk4ZDY5OThjY2IzZWE4NjAyYjJmZTk4YzE2MjEwNzBmMWYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcApAQCAtMTA1LDEx
ICsxMDUsMTEgQEAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjp+V2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
KCkKICAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1bGUoKTsK
IH0KIAotQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpzdHlsZSgp
CitDU1NTdHlsZURlY2xhcmF0aW9uJiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnN0eWxlKCkKIHsK
ICAgICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKICAgICAgICAgbV9wcm9wZXJ0aWVz
Q1NTT01XcmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fa2V5
ZnJhbWUtPm11dGFibGVQcm9wZXJ0aWVzKCksICp0aGlzKTsKLSAgICByZXR1cm4gbV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyLmdldCgpOworICAgIHJldHVybiAqbV9wcm9wZXJ0aWVzQ1NTT01XcmFw
cGVyOwogfQogCiB2b2lkIFdlYktpdENTU0tleWZyYW1lUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxl
QmFzZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgKaW5kZXgg
MzA0NjlmNWFjZTUyY2JhY2M4ODc4NzA5YjIxZGJhN2U0ZWFkZTY1Mi4uN2FhNWEyYzVhODUxYjU3
ZWRmNzZlMzczY2U5MzRmZjQyOTZlMGEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NLZXlmcmFtZVJ1bGUuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGtl
eVRleHQoKSBjb25zdCB7IHJldHVybiBtX2tleWZyYW1lLT5rZXlUZXh0KCk7IH0KICAgICB2b2lk
IHNldEtleVRleHQoY29uc3QgU3RyaW5nJiBzKSB7IG1fa2V5ZnJhbWUtPnNldEtleVRleHQocyk7
IH0KIAotICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCk7CisgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbiYgc3R5bGUoKTsKIAogcHJpdmF0ZToKICAgICBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUo
U3R5bGVLZXlmcmFtZSosIFdlYktpdENTU0tleWZyYW1lc1J1bGUqIHBhcmVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKaW5kZXggYTkyY2NkNTdh
ODFlM2Y4NGU2MTc1NjBkZDY2YjQyNWE5ZDcyODM1OC4uZTUzMmJjZWM3MzUwMTk4NWIyMGIwOTBi
MTJlOGFhYjc4NjRmNjg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lc1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcApAQCAtMTg1LDExICsxODUsMTEgQEAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
KiBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAogICAg
IHJldHVybiBydWxlLmdldCgpOyAKIH0KIAotQ1NTUnVsZUxpc3QqIFdlYktpdENTU0tleWZyYW1l
c1J1bGU6OmNzc1J1bGVzKCkKK0NTU1J1bGVMaXN0JiBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpj
c3NSdWxlcygpCiB7CiAgICAgaWYgKCFtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKQogICAgICAgICBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gc3RkOjptYWtlX3VuaXF1ZTxMaXZlQ1NTUnVsZUxpc3Q8
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZT4+KHRoaXMpOwotICAgIHJldHVybiBtX3J1bGVMaXN0Q1NT
T01XcmFwcGVyLmdldCgpOworICAgIHJldHVybiAqbV9ydWxlTGlzdENTU09NV3JhcHBlcjsKIH0K
IAogdm9pZCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBy
dWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgKaW5kZXgg
ZjI1OWRiNDg1NWI2ZmIxNmQyYWM5MjY0OWMxNjNiODc0NTYxZTY1Yy4uMGE2NzM0ZmEwZjAyNjE1
NDkxNjNjYzkzN2FlZjJmM2Y1ZWU3YTUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lc1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5oCkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
bmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5ZnJhbWVzUnVsZS0+bmFtZSgpOyB9CiAgICAgdm9p
ZCBzZXROYW1lKGNvbnN0IFN0cmluZyYpOwogCi0gICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCk7
CisgICAgQ1NTUnVsZUxpc3QmIGNzc1J1bGVzKCk7CiAKICAgICB2b2lkIGluc2VydFJ1bGUoY29u
c3QgU3RyaW5nJiBydWxlKTsKICAgICB2b2lkIGRlbGV0ZVJ1bGUoY29uc3QgU3RyaW5nJiBrZXkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcAppbmRleCBi
MWRlOTNjMjQ3ODc4YWRiZDI0ZDVjYzAxMDViYTcxNjVjOTU5MzY1Li5jMDU5NjBiMDQ5MTg3OTQ3
MjU5MmRlZDIxYmJhZWJjNDRjYmQyMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTVmlld3BvcnRSdWxlLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIFdlYktpdENTU1ZpZXdwb3J0
UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSgpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09N
V3JhcHBlci0+Y2xlYXJQYXJlbnRSdWxlKCk7CiB9CiAKLUNTU1N0eWxlRGVjbGFyYXRpb24qIFdl
YktpdENTU1ZpZXdwb3J0UnVsZTo6c3R5bGUoKQorQ1NTU3R5bGVEZWNsYXJhdGlvbiYgV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjpzdHlsZSgpCiB7CiAgICAgaWYgKCFtX3Byb3BlcnRpZXNDU1NPTVdy
YXBwZXIpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlciA9IFN0eWxlUnVsZUNTU1N0
eWxlRGVjbGFyYXRpb246OmNyZWF0ZShtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRpZXMo
KSwgKnRoaXMpOwogCi0gICAgcmV0dXJuIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci5nZXQoKTsK
KyAgICByZXR1cm4gKm1fcHJvcGVydGllc0NTU09NV3JhcHBlcjsKIH0KIAogU3RyaW5nIFdlYktp
dENTU1ZpZXdwb3J0UnVsZTo6Y3NzVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmgKaW5kZXggNjYxNGM4MDAxNTAyZWE3N2VhZmFiYjUwZDQ0MGVm
MDk5NTEzNGIwNy4uYjFjOTI0ZjgyNDUyNWQxYzk3NzhiZWU3YjE2OTUxZDdiZGE3MWI3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaApAQCAtNTMsNyArNTMs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7CiAK
LSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSgpOworICAgIENTU1N0eWxlRGVjbGFyYXRp
b24mIHN0eWxlKCk7CiAKIHByaXZhdGU6CiAgICAgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKFN0eWxl
UnVsZVZpZXdwb3J0KiwgQ1NTU3R5bGVTaGVldCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCmluZGV4IDAxMmM1MzhiZWZmMGZjNjNlZWU0
MmY5Njk5NWNhMzg4YWIzY2M0NmMuLmEzNWYxZTY1N2FkYzI5YjE0NWMwOWNmNDdlODM3YjllZmZi
YzQyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHls
ZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVT
aGVldC5jcHAKQEAgLTIxNSwxNCArMjE1LDE0IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVM
aXN0PiBhc0NTU1J1bGVMaXN0KENTU1J1bGUqIHJ1bGUpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgaWYgKHJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpNRURJQV9SVUxFKQotICAgICAg
ICByZXR1cm4gdG9DU1NNZWRpYVJ1bGUocnVsZSktPmNzc1J1bGVzKCk7CisgICAgICAgIHJldHVy
biAmdG9DU1NNZWRpYVJ1bGUocnVsZSktPmNzc1J1bGVzKCk7CiAKICAgICBpZiAocnVsZS0+dHlw
ZSgpID09IENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRSkKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUqPihydWxlKS0+Y3NzUnVsZXMoKTsKKyAg
ICAgICAgcmV0dXJuICZzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4ocnVsZSkt
PmNzc1J1bGVzKCk7CiAKICNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKICAgICBp
ZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OlNVUFBPUlRTX1JVTEUpCi0gICAgICAgIHJldHVy
biB0b0NTU1N1cHBvcnRzUnVsZShydWxlKS0+Y3NzUnVsZXMoKTsKKyAgICAgICAgcmV0dXJuICZ0
b0NTU1N1cHBvcnRzUnVsZShydWxlKS0+Y3NzUnVsZXMoKTsKICNlbmRpZgogCiAgICAgcmV0dXJu
IG51bGxwdHI7CkBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGljIHZvaWQgZmlsbE1lZGlhTGlzdENo
YWluKENTU1J1bGUqIHJ1bGUsIEFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1MKICAg
ICAgICAgICAgIHBhcmVudFN0eWxlU2hlZXQgPSBtZWRpYVJ1bGUtPnBhcmVudFN0eWxlU2hlZXQo
KTsKICAgICAgICAgfSBlbHNlIGlmIChwYXJlbnRSdWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6SU1Q
T1JUX1JVTEUpIHsKICAgICAgICAgICAgIENTU0ltcG9ydFJ1bGUqIGltcG9ydFJ1bGUgPSB0b0NT
U0ltcG9ydFJ1bGUocGFyZW50UnVsZSk7Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSBpbXBvcnRS
dWxlLT5tZWRpYSgpOworICAgICAgICAgICAgbWVkaWFMaXN0ID0gJmltcG9ydFJ1bGUtPm1lZGlh
KCk7CiAgICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gaW1wb3J0UnVsZS0+cGFyZW50U3R5
bGVTaGVldCgpOwogICAgICAgICAgICAgaXNNZWRpYVJ1bGUgPSBmYWxzZTsKICAgICAgICAgfSBl
bHNlCkBAIC04NDYsNyArODQ2LDcgQEAgYm9vbCBJbnNwZWN0b3JTdHlsZVNoZWV0OjpzZXRSdWxl
U2VsZWN0b3IoY29uc3QgSW5zcGVjdG9yQ1NTSWQmIGlkLCBjb25zdCBTdHJpbmcKICAgICB9CiAK
ICAgICBydWxlLT5zZXRTZWxlY3RvclRleHQoc2VsZWN0b3IpOwotICAgIFJlZlB0cjxDU1NSdWxl
U291cmNlRGF0YT4gc291cmNlRGF0YSA9IHJ1bGVTb3VyY2VEYXRhRm9yKHJ1bGUtPnN0eWxlKCkp
OworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gc291cmNlRGF0YSA9IHJ1bGVTb3VyY2VE
YXRhRm9yKCZydWxlLT5zdHlsZSgpKTsKICAgICBpZiAoIXNvdXJjZURhdGEpIHsKICAgICAgICAg
ZWMgPSBOT1RfRk9VTkRfRVJSOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05MjksNyArOTI5
LDcgQEAgYm9vbCBJbnNwZWN0b3JTdHlsZVNoZWV0OjpkZWxldGVSdWxlKGNvbnN0IEluc3BlY3Rv
ckNTU0lkJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIAotICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gc291cmNlRGF0YSA9IHJ1bGVTb3Vy
Y2VEYXRhRm9yKHJ1bGUtPnN0eWxlKCkpOworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4g
c291cmNlRGF0YSA9IHJ1bGVTb3VyY2VEYXRhRm9yKCZydWxlLT5zdHlsZSgpKTsKICAgICBpZiAo
IXNvdXJjZURhdGEpIHsKICAgICAgICAgZWMgPSBOT1RfRk9VTkRfRVJSOwogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0xMDE4LDcgKzEwMTgsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkNTUzo6U2VsZWN0b3JMaXN0PiBJbnNwZWN0b3JTdHlsZVNoZWV0OjpidWlsZE9iagog
ewogICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gc291cmNlRGF0YTsKICAgICBpZiAoZW5z
dXJlUGFyc2VkRGF0YVJlYWR5KCkpCi0gICAgICAgIHNvdXJjZURhdGEgPSBydWxlU291cmNlRGF0
YUZvcihydWxlLT5zdHlsZSgpKTsKKyAgICAgICAgc291cmNlRGF0YSA9IHJ1bGVTb3VyY2VEYXRh
Rm9yKCZydWxlLT5zdHlsZSgpKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJy
YXk8U3RyaW5nPj4gc2VsZWN0b3JzOwogCiAgICAgLy8gVGhpcyBpbnRlbnRpb25hbGx5IGRvZXMg
bm90IHJlbHkgb24gdGhlIHNvdXJjZSBkYXRhIHRvIGF2b2lkIGNhdGNoaW5nIHRoZSB0cmFpbGlu
ZyBjb21tZW50cyAoYmVmb3JlIHRoZSBkZWNsYXJhdGlvbiBzdGFydGluZyAneycpLgpAQCAtMTA1
MSw3ICsxMDUxLDcgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1J1
bGU+IEluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkT2JqZWN0Rm8KICAgICAgICAgLnNldFNlbGVj
dG9yTGlzdChidWlsZE9iamVjdEZvclNlbGVjdG9yTGlzdChydWxlKSkKICAgICAgICAgLnNldFNv
dXJjZUxpbmUocnVsZS0+c3R5bGVSdWxlKCktPnNvdXJjZUxpbmUoKSkKICAgICAgICAgLnNldE9y
aWdpbihtX29yaWdpbikKLSAgICAgICAgLnNldFN0eWxlKGJ1aWxkT2JqZWN0Rm9yU3R5bGUocnVs
ZS0+c3R5bGUoKSkpOworICAgICAgICAuc2V0U3R5bGUoYnVpbGRPYmplY3RGb3JTdHlsZSgmcnVs
ZS0+c3R5bGUoKSkpOwogCiAgICAgLy8gInNvdXJjZVVSTCIgaXMgcHJlc2VudCBvbmx5IGZvciBy
ZWd1bGFyIHJ1bGVzLCBvdGhlcndpc2UgIm9yaWdpbiIgc2hvdWxkIGJlIHVzZWQgaW4gdGhlIGZy
b250ZW5kLgogICAgIGlmIChtX29yaWdpbiA9PSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlN0
eWxlU2hlZXRPcmlnaW46OlJlZ3VsYXIpCkBAIC0xMTY1LDcgKzExNjUsNyBAQCBDU1NTdHlsZURl
Y2xhcmF0aW9uKiBJbnNwZWN0b3JTdHlsZVNoZWV0OjpzdHlsZUZvcklkKGNvbnN0IEluc3BlY3Rv
ckNTU0lkJiBpZCkgYwogICAgIGlmICghcnVsZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
LSAgICByZXR1cm4gcnVsZS0+c3R5bGUoKTsKKyAgICByZXR1cm4gJnJ1bGUtPnN0eWxlKCk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yU3R5bGVTaGVldDo6ZmlyZVN0eWxlU2hlZXRDaGFuZ2VkKCkKQEAg
LTEyMjgsNyArMTIyOCw3IEBAIHVuc2lnbmVkIEluc3BlY3RvclN0eWxlU2hlZXQ6OnJ1bGVJbmRl
eEJ5U3R5bGUoQ1NTU3R5bGVEZWNsYXJhdGlvbiogcGFnZVN0eWxlKSBjCiAgICAgZW5zdXJlRmxh
dFJ1bGVzKCk7CiAgICAgdW5zaWduZWQgaW5kZXggPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9
IDAsIHNpemUgPSBtX2ZsYXRSdWxlcy5zaXplKCk7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAg
aWYgKG1fZmxhdFJ1bGVzLmF0KGkpLT5zdHlsZSgpID09IHBhZ2VTdHlsZSkKKyAgICAgICAgaWYg
KCZtX2ZsYXRSdWxlcy5hdChpKS0+c3R5bGUoKSA9PSBwYWdlU3R5bGUpCiAgICAgICAgICAgICBy
ZXR1cm4gaW5kZXg7CiAKICAgICAgICAgKytpbmRleDsKQEAgLTEzMzQsNyArMTMzNCw3IEBAIGJv
b2wgSW5zcGVjdG9yU3R5bGVTaGVldDo6c3R5bGVTaGVldFRleHRXaXRoQ2hhbmdlZFN0eWxlKENT
U1N0eWxlRGVjbGFyYXRpb24qIHN0CiAKIEluc3BlY3RvckNTU0lkIEluc3BlY3RvclN0eWxlU2hl
ZXQ6OnJ1bGVJZChDU1NTdHlsZVJ1bGUqIHJ1bGUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHJ1bGVP
clN0eWxlSWQocnVsZS0+c3R5bGUoKSk7CisgICAgcmV0dXJuIHJ1bGVPclN0eWxlSWQoJnJ1bGUt
PnN0eWxlKCkpOwogfQogCiB2b2lkIEluc3BlY3RvclN0eWxlU2hlZXQ6OnJldmFsaWRhdGVTdHls
ZShDU1NTdHlsZURlY2xhcmF0aW9uKiBwYWdlU3R5bGUpCkBAIC0xMzQ2LDcgKzEzNDYsNyBAQCB2
b2lkIEluc3BlY3RvclN0eWxlU2hlZXQ6OnJldmFsaWRhdGVTdHlsZShDU1NTdHlsZURlY2xhcmF0
aW9uKiBwYWdlU3R5bGUpCiAgICAgZW5zdXJlRmxhdFJ1bGVzKCk7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMCwgc2l6ZSA9IG1fZmxhdFJ1bGVzLnNpemUoKTsgaSA8IHNpemU7ICsraSkgewogICAg
ICAgICBDU1NTdHlsZVJ1bGUqIHBhcnNlZFJ1bGUgPSBtX2ZsYXRSdWxlcy5hdChpKS5nZXQoKTsK
LSAgICAgICAgaWYgKHBhcnNlZFJ1bGUtPnN0eWxlKCkgPT0gcGFnZVN0eWxlKSB7CisgICAgICAg
IGlmICgmcGFyc2VkUnVsZS0+c3R5bGUoKSA9PSBwYWdlU3R5bGUpIHsKICAgICAgICAgICAgIGlm
IChwYXJzZWRSdWxlLT5zdHlsZVJ1bGUoKS0+cHJvcGVydGllcygpLmFzVGV4dCgpICE9IHBhZ2VT
dHlsZS0+Y3NzVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGRpc2FibGVk
IHByb3BlcnRpZXMgZm9yIHRoZSBpbnZhbGlkIHN0eWxlIGhlcmUuCiAgICAgICAgICAgICAgICAg
bV9pbnNwZWN0b3JTdHlsZXMucmVtb3ZlKHBhZ2VTdHlsZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>