<?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>23765</bug_id>
          
          <creation_ts>2009-02-05 11:46:20 -0800</creation_ts>
          <short_desc>Return correct computed style during accelerated animations</short_desc>
          <delta_ts>2009-02-05 15:09:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>23359</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarrin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>108467</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-05 11:46:20 -0800</bug_when>
    <thetext>If you request the value of opacity or transform while they are being acceler-animated, we need to return the correct value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108501</commentid>
    <comment_count>1</comment_count>
      <attachid>27362</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-05 13:54:11 -0800</bug_when>
    <thetext>Created attachment 27362
Patch, changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108505</commentid>
    <comment_count>2</comment_count>
      <attachid>27362</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-02-05 14:01:00 -0800</bug_when>
    <thetext>Comment on attachment 27362
Patch, changelog

return renderer &amp;&amp; renderer-&gt;hasLayer() &amp;&amp; toRenderBox(renderer)-&gt;layer()-&gt;isComposited();

RenderLayer now owns a RenderBoxModelObject and not a RenderBox.  Once RenderInline moves to RenderBox, converting to RenderBox won&apos;t be correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108526</commentid>
    <comment_count>3</comment_count>
      <attachid>27366</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-05 15:02:57 -0800</bug_when>
    <thetext>Created attachment 27366
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108529</commentid>
    <comment_count>4</comment_count>
      <attachid>27366</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-02-05 15:05:41 -0800</bug_when>
    <thetext>Comment on attachment 27366
Revised patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108530</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-05 15:09:05 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/40685</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27362</attachid>
            <date>2009-02-05 13:54:11 -0800</date>
            <delta_ts>2009-02-05 15:02:57 -0800</delta_ts>
            <desc>Patch, changelog</desc>
            <filename>23765_patch.txt</filename>
            <type>text/plain</type>
            <size>16943</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjZlNzRhMS4uZDZjMmQyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAwOS0wMi0wNSAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM3NjUKKworICAgICAgICBGaXggZ2V0Q29tcHV0ZWRTdHlsZSB0byByZXR1cm4gdGhlIGN1
cnJlbnQgdmFsdWUgb2Ygc3R5bGUKKyAgICAgICAgcHJvcGVydGllcyB0aGF0IGFyZSB1bmRlcmdv
aW5nIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMsIGJ5CisgICAgICAgIGFza2luZyB0aGUgQW5pbWF0
aW9uQ29udHJvbGxlciBpZiB0aGUgcHJvcGVydHkgaGFzIGFjY2VsZXJhdGVkCisgICAgICAgIGFu
aW1hdGlvbnMsIGFuZCwgaWYgc28sIGFza2luZyBpdCB0byBnZW5lcmF0ZSBhbiBhcHByb3ByaWF0
ZQorICAgICAgICBzdHlsZS4KKyAgICAgICAgCisgICAgICAgIFRpZ2h0ZW5lZCB1cCBzb21lIHR5
cGUgc2FmZXR5IChDU1NQcm9wZXJ0eUlEKSwgYW5kIGNvZGUgY2xhcml0eQorICAgICAgICAocmVw
bGFjZSBib29sIHdpdGggZW51bSkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhhc0NvbXBvc2l0ZWRMYXllcik6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAg
ICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJl
bmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXI6OmlzQW5pbWF0
aW5nUHJvcGVydHlPblJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRy
b2xsZXI6OnN1cHBvcnRzQWNjZWxlcmF0ZWRBbmltYXRpb25PZlByb3BlcnR5KToKKyAgICAgICAg
KiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlTGF5ZXJUcmFuc2Zvcm0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6YXBwbHlU
cmFuc2Zvcm0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Oik6CisKIDIwMDktMDItMDQgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAg
Yi9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDNmYzc0
ZDYuLjU5YzRhYzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgogCisjaW5jbHVkZSAiQW5pbWF0aW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgi
CkBAIC0zNyw5ICszOCwxMSBAQAogI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJSZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJTaGFkb3dWYWx1ZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgi
CiAKKwogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICNpbmNsdWRlICJEYXNoYm9hcmRS
ZWdpb24uaCIKICNlbmRpZgpAQCAtNDAxLDE1ICs0MDQsMjAgQEAgc3RhdGljIEludFJlY3Qgc2l6
aW5nQm94KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgcmV0dXJuIGJveC0+c3R5bGUoKS0+
Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBib3gtPmNvbnRlbnRCb3hSZWN0KCkgOiBib3gt
PmJvcmRlckJveFJlY3QoKTsKIH0KIAotc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbXB1
dGVkVHJhbnNmb3JtKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitzdGF0aWMgaW5saW5lIGJvb2wg
aGFzQ29tcG9zaXRlZExheWVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgcmV0dXJu
IHJlbmRlcmVyICYmIHJlbmRlcmVyLT5oYXNMYXllcigpICYmIHRvUmVuZGVyQm94KHJlbmRlcmVy
KS0+bGF5ZXIoKS0+aXNDb21wb3NpdGVkKCk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBjb21wdXRlZFRyYW5zZm9ybShSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUpCiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUo
KS0+dHJhbnNmb3JtKCkub3BlcmF0aW9ucygpLmlzRW1wdHkoKSkKKyAgICBpZiAoIXJlbmRlcmVy
IHx8IHN0eWxlLT50cmFuc2Zvcm0oKS5vcGVyYXRpb25zKCkuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb25lKTsK
ICAgICAKICAgICBJbnRSZWN0IGJveCA9IHNpemluZ0JveChyZW5kZXJlcik7CiAKICAgICBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07Ci0gICAgcmVuZGVyZXItPnN0eWxlKCktPmFwcGx5
VHJhbnNmb3JtKHRyYW5zZm9ybSwgYm94LnNpemUoKSwgZmFsc2UpOworICAgIHN0eWxlLT5hcHBs
eVRyYW5zZm9ybSh0cmFuc2Zvcm0sIGJveC5zaXplKCksIFJlbmRlclN0eWxlOjpFeGNsdWRlVHJh
bnNmb3JtT3JpZ2luKTsKIAogICAgIFJlZlB0cjxXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZT4gdHJh
bnNmb3JtVmFsID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmNyZWF0ZShXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uKTsKIApAQCAtNTE1LDcgKzUyMywx
MSBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogCiAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciA9IG5vZGUtPnJlbmRlcmVyKCk7CiAKLSAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBub2RlLT5j
b21wdXRlZFN0eWxlKCk7CisgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZTsKKyAgICBpZiAo
cmVuZGVyZXIgJiYgaGFzQ29tcG9zaXRlZExheWVyKHJlbmRlcmVyKSAmJiBBbmltYXRpb25Db250
cm9sbGVyOjpzdXBwb3J0c0FjY2VsZXJhdGVkQW5pbWF0aW9uT2ZQcm9wZXJ0eShzdGF0aWNfY2Fz
dDxDU1NQcm9wZXJ0eUlEPihwcm9wZXJ0eUlEKSkpCisgICAgICAgIHN0eWxlID0gcmVuZGVyZXIt
PmFuaW1hdGlvbigpLT5nZXRBbmltYXRlZFN0eWxlRm9yUmVuZGVyZXIocmVuZGVyZXIpOworICAg
IGVsc2UKKyAgICAgICBzdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUoKTsKICAgICBpZiAoIXN0
eWxlKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNTc1LDEzICs1ODcsMTMgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKGludCBwcm9wZXIKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRp
Y2FsU3BhY2luZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KHN0eWxlLT52ZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
WCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJUb3BDb2xvcjoKLSAgICAgICAgICAg
IHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUsIHN0eWxlLT5ib3JkZXJUb3BD
b2xvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5
bGUuZ2V0KCksIHN0eWxlLT5ib3JkZXJUb3BDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJpZ2h0Q29sb3I6Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JW
YWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+Ym9yZGVyUmlnaHRDb2xvcigpKTsKKyAgICAgICAgICAg
IHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT5ib3Jk
ZXJSaWdodENvbG9yKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tQ29s
b3I6Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBz
dHlsZS0+Ym9yZGVyQm90dG9tQ29sb3IoKSk7CisgICAgICAgICAgICByZXR1cm4gY3VycmVudENv
bG9yT3JWYWxpZENvbG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+Ym9yZGVyQm90dG9tQ29sb3IoKSk7
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3I6Ci0gICAgICAgICAgICBy
ZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+Ym9yZGVyTGVmdENv
bG9yKCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvck9yVmFsaWRDb2xvcihzdHls
ZS5nZXQoKSwgc3R5bGUtPmJvcmRlckxlZnRDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclRvcFN0eWxlOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoc3R5bGUtPmJvcmRlclRvcFN0eWxlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmlnaHRTdHlsZToKQEAgLTU5OSw3ICs2MTEsNyBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50
IHByb3BlcgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFdpZHRoOgogICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmJvcmRlckxlZnRX
aWR0aCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvdHRvbToKLSAgICAgICAgICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNldFZhbHVlKHN0
eWxlLCBDU1NQcm9wZXJ0eUJvdHRvbSk7CisgICAgICAgICAgICByZXR1cm4gZ2V0UG9zaXRpb25P
ZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlCb3R0b20pOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0Qm94QWxpZ246CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0
aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+Ym94QWxpZ24oKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRCb3hEaXJlY3Rpb246CkBAIC02NDEsNyArNjUzLDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KGludCBwcm9wZXIKICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb3JtYWwpOwogICAgICAgICAgICAgcmV0dXJuIENTU1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmNvbHVtbkdhcCgpLCBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxl
Q29sb3I6Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxl
LCBzdHlsZS0+Y29sdW1uUnVsZUNvbG9yKCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRD
b2xvck9yVmFsaWRDb2xvcihzdHlsZS5nZXQoKSwgc3R5bGUtPmNvbHVtblJ1bGVDb2xvcigpKTsK
ICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVTdHlsZToKICAgICAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5jb2x1bW5SdWxlU3R5
bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlV2lkdGg6CkBA
IC03MzAsNyArNzQyLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgICAg
ICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVCb3Jk
ZXIpOwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlm
aWVyKENTU1ZhbHVlTGluZXMpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TGVmdDoKLSAgICAg
ICAgICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNldFZhbHVlKHN0eWxlLCBDU1NQcm9wZXJ0eUxl
ZnQpOworICAgICAgICAgICAgcmV0dXJuIGdldFBvc2l0aW9uT2Zmc2V0VmFsdWUoc3R5bGUuZ2V0
KCksIENTU1Byb3BlcnR5TGVmdCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlMZXR0ZXJTcGFj
aW5nOgogICAgICAgICAgICAgaWYgKCFzdHlsZS0+bGV0dGVyU3BhY2luZygpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NWYWx1
ZU5vcm1hbCk7CkBAIC04NDcsNyArODU5LDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eU9ycGhhbnM6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+b3JwaGFucygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3I6Ci0gICAg
ICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+b3V0
bGluZUNvbG9yKCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvck9yVmFsaWRDb2xv
cihzdHlsZS5nZXQoKSwgc3R5bGUtPm91dGxpbmVDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU91dGxpbmVTdHlsZToKICAgICAgICAgICAgIGlmIChzdHlsZS0+b3V0bGluZVN0eWxl
SXNBdXRvKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGVJZGVudGlmaWVyKENTU1ZhbHVlQXV0byk7CkBAIC04OTAsNyArOTAyLDcgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKGludCBwcm9wZXIKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVBvc2l0aW9uOgogICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPnBvc2l0aW9uKCkp
OwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmlnaHQ6Ci0gICAgICAgICAgICByZXR1cm4gZ2V0
UG9zaXRpb25PZmZzZXRWYWx1ZShzdHlsZSwgQ1NTUHJvcGVydHlSaWdodCk7CisgICAgICAgICAg
ICByZXR1cm4gZ2V0UG9zaXRpb25PZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlS
aWdodCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUYWJsZUxheW91dDoKICAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT50YWJsZUxheW91dCgpKTsK
ICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRBbGlnbjoKQEAgLTk0Miw3ICs5NTQsNyBAQCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUoc3RyaW5nLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyk7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRGaWxsQ29sb3I6Ci0gICAg
ICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+dGV4
dEZpbGxDb2xvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29s
b3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT50ZXh0RmlsbENvbG9yKCkpOwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5VGV4dEluZGVudDoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKHN0eWxlLT50ZXh0SW5kZW50KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
VGV4dFNoYWRvdzoKQEAgLTk1NCwxMyArOTY2LDEzIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVy
CiAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlm
aWVyKENTU1ZhbHVlQXV0byk7CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb25lKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdFRleHRTdHJva2VDb2xvcjoKLSAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JP
clZhbGlkQ29sb3Ioc3R5bGUsIHN0eWxlLT50ZXh0U3Ryb2tlQ29sb3IoKSk7CisgICAgICAgICAg
ICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+dGV4
dFN0cm9rZUNvbG9yKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9r
ZVdpZHRoOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5
bGUtPnRleHRTdHJva2VXaWR0aCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06CiAgICAgICAgICAgICByZXR1cm4gQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dGV4dFRyYW5zZm9ybSgpKTsKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRvcDoKLSAgICAgICAgICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNl
dFZhbHVlKHN0eWxlLCBDU1NQcm9wZXJ0eVRvcCk7CisgICAgICAgICAgICByZXR1cm4gZ2V0UG9z
aXRpb25PZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlUb3ApOwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5VW5pY29kZUJpZGk6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0
aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dW5pY29kZUJpZGkoKSk7CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlWZXJ0aWNhbEFsaWduOgpAQCAtMTE0Miw3ICsxMTU0LDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KGludCBwcm9wZXIKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm06Ci0gICAgICAgICAgICByZXR1cm4gY29tcHV0
ZWRUcmFuc2Zvcm0ocmVuZGVyZXIpOworICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVkVHJhbnNm
b3JtKHJlbmRlcmVyLCBzdHlsZS5nZXQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUcmFuc2Zvcm1PcmlnaW46IHsKICAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxp
c3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgICAgICAgICBp
ZiAocmVuZGVyZXIpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0
aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwCmluZGV4IGM4ZmNjY2QuLmU1OGNmODQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5p
bWF0aW9uQ29udHJvbGxlclByCiAgICAgdXBkYXRlQW5pbWF0aW9uVGltZXIodHJ1ZSk7CiB9CiAK
LWJvb2wgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJl
bmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGludCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5p
bmdOb3cpIGNvbnN0Citib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc0FuaW1hdGlu
Z1Byb3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5LCBib29sIGlzUnVubmluZ05vdykgY29uc3QKIHsKICAgICBSZWZQdHI8Q29tcG9z
aXRlQW5pbWF0aW9uPiBhbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KHJlbmRl
cmVyKTsKICAgICBpZiAoIWFuaW1hdGlvbikKQEAgLTQ4MCw3ICs0ODAsNyBAQCBib29sIEFuaW1h
dGlvbkNvbnRyb2xsZXI6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqIHJlbmRl
cmVyLCBjb25zdCBTdAogICAgIHJldHVybiBtX2RhdGEtPnBhdXNlVHJhbnNpdGlvbkF0VGltZShy
ZW5kZXJlciwgcHJvcGVydHksIHQpOwogfQogCi1ib29sIEFuaW1hdGlvbkNvbnRyb2xsZXI6Omlz
QW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGludCBw
cm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cpIGNvbnN0Citib29sIEFuaW1hdGlvbkNvbnRyb2xs
ZXI6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIs
IENTU1Byb3BlcnR5SUQgcHJvcGVydHksIGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdAogewogICAg
IHJldHVybiBtX2RhdGEtPmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKHJlbmRlcmVyLCBw
cm9wZXJ0eSwgaXNSdW5uaW5nTm93KTsKIH0KQEAgLTUwNSw0ICs1MDUsMTQgQEAgdm9pZCBBbmlt
YXRpb25Db250cm9sbGVyOjplbmRBbmltYXRpb25VcGRhdGUoKQogICAgIG1fZGF0YS0+ZW5kQW5p
bWF0aW9uVXBkYXRlKCk7CiB9CiAKK2Jvb2wgQW5pbWF0aW9uQ29udHJvbGxlcjo6c3VwcG9ydHNB
Y2NlbGVyYXRlZEFuaW1hdGlvbk9mUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSkKK3sK
KyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgcmV0dXJuIEFuaW1hdGlvbkJh
c2U6OmFuaW1hdGlvbk9mUHJvcGVydHlJc0FjY2VsZXJhdGVkKHByb3BlcnR5KTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKHByb3BlcnR5KTsKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuaAppbmRleCBhMzI1ZDA3Li5kYjgyNjE4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaApAQCAtMjksNiArMjksNyBAQAogI2lm
bmRlZiBBbmltYXRpb25Db250cm9sbGVyX2gKICNkZWZpbmUgQW5pbWF0aW9uQ29udHJvbGxlcl9o
CiAKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjAsMTMgKzYxLDE1IEBAIHB1YmxpYzoKICAg
ICBib29sIHBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqLCBjb25zdCBTdHJpbmcm
IHByb3BlcnR5LCBkb3VibGUgdCk7IC8vIFRvIGJlIHVzZWQgb25seSBmb3IgdGVzdGluZwogICAg
IHVuc2lnbmVkIG51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpIGNvbnN0OyAvLyBUbyBiZSB1c2Vk
IG9ubHkgZm9yIHRlc3RpbmcKICAgICAKLSAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlPblJl
bmRlcmVyKFJlbmRlck9iamVjdCosIGludCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cgPSB0
cnVlKSBjb25zdDsKKyAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRl
ck9iamVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNSdW5uaW5nTm93ID0gdHJ1ZSkgY29uc3Q7
CiAKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERvY3VtZW50Kik7CiAgICAgdm9pZCByZXN1
bWVBbmltYXRpb25zKERvY3VtZW50Kik7CiAKICAgICB2b2lkIGJlZ2luQW5pbWF0aW9uVXBkYXRl
KCk7CiAgICAgdm9pZCBlbmRBbmltYXRpb25VcGRhdGUoKTsKKyAgICAKKyAgICBzdGF0aWMgYm9v
bCBzdXBwb3J0c0FjY2VsZXJhdGVkQW5pbWF0aW9uT2ZQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEKTsK
IAogcHJpdmF0ZToKICAgICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSogbV9kYXRhOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZS5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5o
CmluZGV4IDMwMTA3NGYuLmY5YTM0MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNkZWZp
bmUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGVfaAogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5n
LmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAt
NjksNyArNzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhEb2N1bWVu
dCopOwogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCopOwogCi0gICAgYm9vbCBp
c0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqLCBpbnQgcHJvcGVydHks
IGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdDsKKyAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlP
blJlbmRlcmVyKFJlbmRlck9iamVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNSdW5uaW5nTm93
KSBjb25zdDsKIAogICAgIGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWUoUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgdCk7CiAgICAgYm9vbCBwYXVzZVRyYW5zaXRpb25B
dFRpbWUoUmVuZGVyT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgZG91YmxlIHQpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggNmNmYjUxOC4uYjVk
ODA2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xMTYs
NyArMTE2LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyVHJhbnNmb3Jt
KCkKICAgICAvLyBiYWtlZCBpbnRvIGl0LCBhbmQgd2UgZG9uJ3Qgd2FudCB0aGF0LgogICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IHQ7CiAgICAgaWYgKG1fb3duaW5nTGF5ZXItPmhhc1RyYW5zZm9y
bSgpKQotICAgICAgICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0odCwgcmVuZGVyZXIoKS0+Ym9yZGVy
Qm94UmVjdCgpLnNpemUoKSwgZmFsc2UpOworICAgICAgICBzdHlsZS0+YXBwbHlUcmFuc2Zvcm0o
dCwgcmVuZGVyZXIoKS0+Ym9yZGVyQm94UmVjdCgpLnNpemUoKSwgUmVuZGVyU3R5bGU6OkV4Y2x1
ZGVUcmFuc2Zvcm1PcmlnaW4pOwogICAgIAogICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0VHJhbnNm
b3JtKHQpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDlh
ODhmNTguLmQ3NTBlZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAK
QEAgLTYzNyw3ICs2MzcsNyBAQCB2b2lkIFJlbmRlclN0eWxlOjpzZXRDb250ZW50KENvdW50ZXJD
b250ZW50KiBjLCBib29sIGFkZCkKICAgICBuZXdDb250ZW50RGF0YS0+bV90eXBlID0gQ09OVEVO
VF9DT1VOVEVSOwogfQogCi12b2lkIFJlbmRlclN0eWxlOjphcHBseVRyYW5zZm9ybShUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBJbnRTaXplJiBib3JkZXJCb3hTaXplLCBi
b29sIGluY2x1ZGVUcmFuc2Zvcm1PcmlnaW4pIGNvbnN0Cit2b2lkIFJlbmRlclN0eWxlOjphcHBs
eVRyYW5zZm9ybShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBJbnRTaXpl
JiBib3JkZXJCb3hTaXplLCBBcHBseVRyYW5zZm9ybU9yaWdpbiBhcHBseU9yaWdpbikgY29uc3QK
IHsKICAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luIGJyYWNrZXRzIHRoZSB0cmFuc2Zvcm0gd2l0aCB0
cmFuc2xhdGUgb3BlcmF0aW9ucy4KICAgICAvLyBPcHRpbWl6ZSBmb3IgdGhlIGNhc2Ugd2hlcmUg
dGhlIG9ubHkgdHJhbnNmb3JtIGlzIGEgdHJhbnNsYXRpb24sIHNpbmNlIHRoZSB0cmFuc2Zvcm0t
b3JpZ2luIGlzIGlycmVsZXZhbnQKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIFJlbmRlclN0eWxl
OjphcHBseVRyYW5zZm9ybShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBJ
bnRTaXplJgogICAgIGJvb2wgYXBwbHlUcmFuc2Zvcm1PcmlnaW4gPSBmYWxzZTsKICAgICB1bnNp
Z25lZCBzID0gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdHJhbnNmb3JtLT5tX29wZXJhdGlvbnMu
b3BlcmF0aW9ucygpLnNpemUoKTsKICAgICB1bnNpZ25lZCBpOwotICAgIGlmIChpbmNsdWRlVHJh
bnNmb3JtT3JpZ2luKSB7CisgICAgaWYgKGFwcGx5T3JpZ2luID09IEluY2x1ZGVUcmFuc2Zvcm1P
cmlnaW4pIHsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykgewogICAgICAgICAgICAg
VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHR5cGUgPSByYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV90cmFuc2Zvcm0tPm1fb3BlcmF0aW9ucy5vcGVyYXRpb25zKClbaV0tPmdldE9wZXJh
dGlvblR5cGUoKTsKICAgICAgICAgICAgIGlmICh0eXBlICE9IFRyYW5zZm9ybU9wZXJhdGlvbjo6
VFJBTlNMQVRFX1ggJiYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGZk
NWViZDkuLjYxN2IyNmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAt
NjMxLDcgKzYzMSwxMCBAQCBwdWJsaWM6CiAgICAgTGVuZ3RoIHRyYW5zZm9ybU9yaWdpblgoKSBj
b25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0tPm1feDsgfQog
ICAgIExlbmd0aCB0cmFuc2Zvcm1PcmlnaW5ZKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fdHJhbnNmb3JtLT5tX3k7IH0KICAgICBib29sIGhhc1RyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuICFyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0tPm1fb3BlcmF0
aW9ucy5vcGVyYXRpb25zKCkuaXNFbXB0eSgpOyB9Ci0gICAgdm9pZCBhcHBseVRyYW5zZm9ybShU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IEludFNpemUmIGJvcmRlckJveFNpemUsIGJvb2wg
aW5jbHVkZVRyYW5zZm9ybU9yaWdpbiA9IHRydWUpIGNvbnN0OworCisgICAgZW51bSBBcHBseVRy
YW5zZm9ybU9yaWdpbiB7IEluY2x1ZGVUcmFuc2Zvcm1PcmlnaW4sIEV4Y2x1ZGVUcmFuc2Zvcm1P
cmlnaW4gfTsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4Jiwg
Y29uc3QgSW50U2l6ZSYgYm9yZGVyQm94U2l6ZSwgQXBwbHlUcmFuc2Zvcm1PcmlnaW4gPSBJbmNs
dWRlVHJhbnNmb3JtT3JpZ2luKSBjb25zdDsKKwogICAgIGJvb2wgaGFzTWFzaygpIGNvbnN0IHsg
cmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX21hc2suaGFzSW1hZ2UoKSB8fCByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+bV9tYXNrQm94SW1hZ2UuaGFzSW1hZ2UoKTsgfQogICAgIC8vIEVuZCBD
U1MzIEdldHRlcnMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27366</attachid>
            <date>2009-02-05 15:02:57 -0800</date>
            <delta_ts>2009-02-05 15:05:41 -0800</delta_ts>
            <desc>Revised patch</desc>
            <filename>23765_patch.txt</filename>
            <type>text/plain</type>
            <size>21721</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTJjMzNkZS4uZjVjMmJjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBAQAorMjAwOS0wMi0wNSAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM3NjUKKworICAgICAgICBBZGQgdG9SZW5kZXJCb3hNb2RlbE9iamVjdCgpIHNvIHRoYXQg
d2UgY2FuIGNhc3Qgb2JqZWN0cyB0aGF0CisgICAgICAgIGNhbiBoYXZlIGxheWVycy4KKyAgICAg
ICAgCisgICAgICAgIEZpeCBnZXRDb21wdXRlZFN0eWxlIHRvIHJldHVybiB0aGUgY3VycmVudCB2
YWx1ZSBvZiBzdHlsZQorICAgICAgICBwcm9wZXJ0aWVzIHRoYXQgYXJlIHVuZGVyZ29pbmcgYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9ucywgYnkKKyAgICAgICAgYXNraW5nIHRoZSBBbmltYXRpb25Db250
cm9sbGVyIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYWNjZWxlcmF0ZWQKKyAgICAgICAgYW5pbWF0aW9u
cywgYW5kLCBpZiBzbywgYXNraW5nIGl0IHRvIGdlbmVyYXRlIGFuIGFwcHJvcHJpYXRlCisgICAg
ICAgIHN0eWxlLgorICAgICAgICAKKyAgICAgICAgVGlnaHRlbmVkIHVwIHNvbWUgdHlwZSBzYWZl
dHkgKENTU1Byb3BlcnR5SUQpLCBhbmQgY29kZSBjbGFyaXR5CisgICAgICAgIChyZXBsYWNlIGJv
b2wgd2l0aCBlbnVtKS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0NvbXBvc2l0ZWRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXI6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRl
cmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXI6OnN1cHBvcnRzQWNj
ZWxlcmF0ZWRBbmltYXRpb25PZlByb3BlcnR5KToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFu
aW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbXBsaWNpdEFuaW1hdGlvbjo6c3RhcnRB
bmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW1wbGljaXRBbmltYXRpb246OmVuZEFuaW1h
dGlvbik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OnN0YXJ0QW5pbWF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OktleWZyYW1lQW5pbWF0aW9uOjplbmRBbmltYXRpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94TW9kZWxPYmplY3Q6OmlzQm94TW9kZWxPYmplY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6dG9SZW5kZXJCb3hNb2RlbE9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUxheWVyVHJhbnNmb3JtKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzQm94TW9kZWxPYmplY3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6YXBwbHlUcmFuc2Zvcm0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Oik6CisK
IDIwMDktMDItMDUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIE1v
dmUgdGhlIG1fbGF5ZXIgbWVtYmVyIHZhcmlhYmxlIG9mIFJlbmRlckJveCB1cCBpbnRvIFJlbmRl
ckJveE1vZGVsT2JqZWN0LiAgUmVmYWN0b3Igc3R5bGVEaWRDaGFuZ2UnCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAzZmM3NGQ2Li4wNzFjN2ZhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIzLDYg
KzIzLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uaCIKIAorI2luY2x1ZGUgIkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgpAQCAtMzcsOSArMzgs
MTEgQEAKICNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVkZSAiUmVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlckJveC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiU2hhZG93VmFs
dWUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgogCisKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCiAjaW5jbHVkZSAiRGFzaGJvYXJkUmVnaW9uLmgiCiAjZW5k
aWYKQEAgLTQwMSwxNSArNDA0LDIwIEBAIHN0YXRpYyBJbnRSZWN0IHNpemluZ0JveChSZW5kZXJP
YmplY3QqIHJlbmRlcmVyKQogICAgIHJldHVybiBib3gtPnN0eWxlKCktPmJveFNpemluZygpID09
IENPTlRFTlRfQk9YID8gYm94LT5jb250ZW50Qm94UmVjdCgpIDogYm94LT5ib3JkZXJCb3hSZWN0
KCk7CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb21wdXRlZFRyYW5zZm9ybShS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQorc3RhdGljIGlubGluZSBib29sIGhhc0NvbXBvc2l0ZWRM
YXllcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlciAmJiBy
ZW5kZXJlci0+aGFzTGF5ZXIoKSAmJiB0b1JlbmRlckJveE1vZGVsT2JqZWN0KHJlbmRlcmVyKS0+
bGF5ZXIoKS0+aXNDb21wb3NpdGVkKCk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBjb21wdXRlZFRyYW5zZm9ybShSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJT
dHlsZSogc3R5bGUpCiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS0+
dHJhbnNmb3JtKCkub3BlcmF0aW9ucygpLmlzRW1wdHkoKSkKKyAgICBpZiAoIXJlbmRlcmVyIHx8
IHN0eWxlLT50cmFuc2Zvcm0oKS5vcGVyYXRpb25zKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb25lKTsKICAg
ICAKICAgICBJbnRSZWN0IGJveCA9IHNpemluZ0JveChyZW5kZXJlcik7CiAKICAgICBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07Ci0gICAgcmVuZGVyZXItPnN0eWxlKCktPmFwcGx5VHJh
bnNmb3JtKHRyYW5zZm9ybSwgYm94LnNpemUoKSwgZmFsc2UpOworICAgIHN0eWxlLT5hcHBseVRy
YW5zZm9ybSh0cmFuc2Zvcm0sIGJveC5zaXplKCksIFJlbmRlclN0eWxlOjpFeGNsdWRlVHJhbnNm
b3JtT3JpZ2luKTsKIAogICAgIFJlZlB0cjxXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZT4gdHJhbnNm
b3JtVmFsID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmNyZWF0ZShXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uKTsKIApAQCAtNTE1LDcgKzUyMywxMSBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogCiAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9
IG5vZGUtPnJlbmRlcmVyKCk7CiAKLSAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBub2RlLT5jb21w
dXRlZFN0eWxlKCk7CisgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzdHlsZTsKKyAgICBpZiAocmVu
ZGVyZXIgJiYgaGFzQ29tcG9zaXRlZExheWVyKHJlbmRlcmVyKSAmJiBBbmltYXRpb25Db250cm9s
bGVyOjpzdXBwb3J0c0FjY2VsZXJhdGVkQW5pbWF0aW9uT2ZQcm9wZXJ0eShzdGF0aWNfY2FzdDxD
U1NQcm9wZXJ0eUlEPihwcm9wZXJ0eUlEKSkpCisgICAgICAgIHN0eWxlID0gcmVuZGVyZXItPmFu
aW1hdGlvbigpLT5nZXRBbmltYXRlZFN0eWxlRm9yUmVuZGVyZXIocmVuZGVyZXIpOworICAgIGVs
c2UKKyAgICAgICBzdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUoKTsKICAgICBpZiAoIXN0eWxl
KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNTc1LDEzICs1ODcsMTMgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KGludCBwcm9wZXIKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2Fs
U3BhY2luZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT52ZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCk7
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJUb3BDb2xvcjoKLSAgICAgICAgICAgIHJl
dHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUsIHN0eWxlLT5ib3JkZXJUb3BDb2xv
cigpKTsKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUu
Z2V0KCksIHN0eWxlLT5ib3JkZXJUb3BDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJvcmRlclJpZ2h0Q29sb3I6Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxp
ZENvbG9yKHN0eWxlLCBzdHlsZS0+Ym9yZGVyUmlnaHRDb2xvcigpKTsKKyAgICAgICAgICAgIHJl
dHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT5ib3JkZXJS
aWdodENvbG9yKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tQ29sb3I6
Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHls
ZS0+Ym9yZGVyQm90dG9tQ29sb3IoKSk7CisgICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9y
T3JWYWxpZENvbG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+Ym9yZGVyQm90dG9tQ29sb3IoKSk7CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3I6Ci0gICAgICAgICAgICByZXR1
cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+Ym9yZGVyTGVmdENvbG9y
KCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvck9yVmFsaWRDb2xvcihzdHlsZS5n
ZXQoKSwgc3R5bGUtPmJvcmRlckxlZnRDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJvcmRlclRvcFN0eWxlOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUoc3R5bGUtPmJvcmRlclRvcFN0eWxlKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
Qm9yZGVyUmlnaHRTdHlsZToKQEAgLTU5OSw3ICs2MTEsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHBy
b3BlcgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFdpZHRoOgogICAgICAgICAg
ICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmJvcmRlckxlZnRXaWR0
aCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJvdHRvbToKLSAgICAgICAgICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNldFZhbHVlKHN0eWxl
LCBDU1NQcm9wZXJ0eUJvdHRvbSk7CisgICAgICAgICAgICByZXR1cm4gZ2V0UG9zaXRpb25PZmZz
ZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlCb3R0b20pOwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0Qm94QWxpZ246CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZShzdHlsZS0+Ym94QWxpZ24oKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRCb3hEaXJlY3Rpb246CkBAIC02NDEsNyArNjUzLDcgQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGlu
dCBwcm9wZXIKICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb3JtYWwpOwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmNvbHVtbkdhcCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29s
b3I6Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBz
dHlsZS0+Y29sdW1uUnVsZUNvbG9yKCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xv
ck9yVmFsaWRDb2xvcihzdHlsZS5nZXQoKSwgc3R5bGUtPmNvbHVtblJ1bGVDb2xvcigpKTsKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVTdHlsZToKICAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5jb2x1bW5SdWxlU3R5bGUo
KSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlV2lkdGg6CkBAIC03
MzAsNyArNzQyLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVCb3JkZXIp
OwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVy
KENTU1ZhbHVlTGluZXMpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TGVmdDoKLSAgICAgICAg
ICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNldFZhbHVlKHN0eWxlLCBDU1NQcm9wZXJ0eUxlZnQp
OworICAgICAgICAgICAgcmV0dXJuIGdldFBvc2l0aW9uT2Zmc2V0VmFsdWUoc3R5bGUuZ2V0KCks
IENTU1Byb3BlcnR5TGVmdCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlMZXR0ZXJTcGFjaW5n
OgogICAgICAgICAgICAgaWYgKCFzdHlsZS0+bGV0dGVyU3BhY2luZygpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NWYWx1ZU5v
cm1hbCk7CkBAIC04NDcsNyArODU5LDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eU9ycGhhbnM6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0
aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+b3JwaGFucygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3I6Ci0gICAgICAg
ICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+b3V0bGlu
ZUNvbG9yKCkpOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvck9yVmFsaWRDb2xvcihz
dHlsZS5nZXQoKSwgc3R5bGUtPm91dGxpbmVDb2xvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU91dGxpbmVTdHlsZToKICAgICAgICAgICAgIGlmIChzdHlsZS0+b3V0bGluZVN0eWxlSXNB
dXRvKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJ
ZGVudGlmaWVyKENTU1ZhbHVlQXV0byk7CkBAIC04OTAsNyArOTAyLDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KGludCBwcm9wZXIKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVBvc2l0aW9uOgogICAgICAgICAg
ICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPnBvc2l0aW9uKCkpOwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5UmlnaHQ6Ci0gICAgICAgICAgICByZXR1cm4gZ2V0UG9z
aXRpb25PZmZzZXRWYWx1ZShzdHlsZSwgQ1NTUHJvcGVydHlSaWdodCk7CisgICAgICAgICAgICBy
ZXR1cm4gZ2V0UG9zaXRpb25PZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlSaWdo
dCk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUYWJsZUxheW91dDoKICAgICAgICAgICAgIHJl
dHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT50YWJsZUxheW91dCgpKTsKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRBbGlnbjoKQEAgLTk0Miw3ICs5NTQsNyBAQCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoc3RyaW5nLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyk7CiAgICAgICAg
IH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRGaWxsQ29sb3I6Ci0gICAgICAg
ICAgICByZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLCBzdHlsZS0+dGV4dEZp
bGxDb2xvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Io
c3R5bGUuZ2V0KCksIHN0eWxlLT50ZXh0RmlsbENvbG9yKCkpOwogICAgICAgICBjYXNlIENTU1By
b3BlcnR5VGV4dEluZGVudDoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKHN0eWxlLT50ZXh0SW5kZW50KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5VGV4
dFNoYWRvdzoKQEAgLTk1NCwxMyArOTY2LDEzIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVy
KENTU1ZhbHVlQXV0byk7CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb25lKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdFRleHRTdHJva2VDb2xvcjoKLSAgICAgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZh
bGlkQ29sb3Ioc3R5bGUsIHN0eWxlLT50ZXh0U3Ryb2tlQ29sb3IoKSk7CisgICAgICAgICAgICBy
ZXR1cm4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+dGV4dFN0
cm9rZUNvbG9yKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZVdp
ZHRoOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUt
PnRleHRTdHJva2VXaWR0aCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dGV4dFRyYW5zZm9ybSgpKTsKICAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVRvcDoKLSAgICAgICAgICAgIHJldHVybiBnZXRQb3NpdGlvbk9mZnNldFZh
bHVlKHN0eWxlLCBDU1NQcm9wZXJ0eVRvcCk7CisgICAgICAgICAgICByZXR1cm4gZ2V0UG9zaXRp
b25PZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlUb3ApOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5VW5pY29kZUJpZGk6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZShzdHlsZS0+dW5pY29kZUJpZGkoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlWZXJ0aWNhbEFsaWduOgpAQCAtMTE0Miw3ICsxMTU0LDcgQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGlu
dCBwcm9wZXIKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm06Ci0gICAgICAgICAgICByZXR1cm4gY29tcHV0ZWRU
cmFuc2Zvcm0ocmVuZGVyZXIpOworICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVkVHJhbnNmb3Jt
KHJlbmRlcmVyLCBzdHlsZS5nZXQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRU
cmFuc2Zvcm1PcmlnaW46IHsKICAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3Qg
PSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgICAgICAgICBpZiAo
cmVuZGVyZXIpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwCmluZGV4IGM4ZmNjY2QuLmU1OGNmODQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5pbWF0
aW9uQ29udHJvbGxlclByCiAgICAgdXBkYXRlQW5pbWF0aW9uVGltZXIodHJ1ZSk7CiB9CiAKLWJv
b2wgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRl
cmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGludCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdO
b3cpIGNvbnN0Citib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc0FuaW1hdGluZ1By
b3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5LCBib29sIGlzUnVubmluZ05vdykgY29uc3QKIHsKICAgICBSZWZQdHI8Q29tcG9zaXRl
QW5pbWF0aW9uPiBhbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KHJlbmRlcmVy
KTsKICAgICBpZiAoIWFuaW1hdGlvbikKQEAgLTQ4MCw3ICs0ODAsNyBAQCBib29sIEFuaW1hdGlv
bkNvbnRyb2xsZXI6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjb25zdCBTdAogICAgIHJldHVybiBtX2RhdGEtPnBhdXNlVHJhbnNpdGlvbkF0VGltZShyZW5k
ZXJlciwgcHJvcGVydHksIHQpOwogfQogCi1ib29sIEFuaW1hdGlvbkNvbnRyb2xsZXI6OmlzQW5p
bWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGludCBwcm9w
ZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cpIGNvbnN0Citib29sIEFuaW1hdGlvbkNvbnRyb2xsZXI6
OmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIENT
U1Byb3BlcnR5SUQgcHJvcGVydHksIGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdAogewogICAgIHJl
dHVybiBtX2RhdGEtPmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKHJlbmRlcmVyLCBwcm9w
ZXJ0eSwgaXNSdW5uaW5nTm93KTsKIH0KQEAgLTUwNSw0ICs1MDUsMTQgQEAgdm9pZCBBbmltYXRp
b25Db250cm9sbGVyOjplbmRBbmltYXRpb25VcGRhdGUoKQogICAgIG1fZGF0YS0+ZW5kQW5pbWF0
aW9uVXBkYXRlKCk7CiB9CiAKK2Jvb2wgQW5pbWF0aW9uQ29udHJvbGxlcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZEFuaW1hdGlvbk9mUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSkKK3sKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgcmV0dXJuIEFuaW1hdGlvbkJhc2U6
OmFuaW1hdGlvbk9mUHJvcGVydHlJc0FjY2VsZXJhdGVkKHByb3BlcnR5KTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHByb3BlcnR5KTsKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuaAppbmRleCBhMzI1ZDA3Li5kYjgyNjE4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRl
ZiBBbmltYXRpb25Db250cm9sbGVyX2gKICNkZWZpbmUgQW5pbWF0aW9uQ29udHJvbGxlcl9oCiAK
KyNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjAsMTMgKzYxLDE1IEBAIHB1YmxpYzoKICAgICBi
b29sIHBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqLCBjb25zdCBTdHJpbmcmIHBy
b3BlcnR5LCBkb3VibGUgdCk7IC8vIFRvIGJlIHVzZWQgb25seSBmb3IgdGVzdGluZwogICAgIHVu
c2lnbmVkIG51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpIGNvbnN0OyAvLyBUbyBiZSB1c2VkIG9u
bHkgZm9yIHRlc3RpbmcKICAgICAKLSAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRl
cmVyKFJlbmRlck9iamVjdCosIGludCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cgPSB0cnVl
KSBjb25zdDsKKyAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKFJlbmRlck9i
amVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNSdW5uaW5nTm93ID0gdHJ1ZSkgY29uc3Q7CiAK
ICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERvY3VtZW50Kik7CiAgICAgdm9pZCByZXN1bWVB
bmltYXRpb25zKERvY3VtZW50Kik7CiAKICAgICB2b2lkIGJlZ2luQW5pbWF0aW9uVXBkYXRlKCk7
CiAgICAgdm9pZCBlbmRBbmltYXRpb25VcGRhdGUoKTsKKyAgICAKKyAgICBzdGF0aWMgYm9vbCBz
dXBwb3J0c0FjY2VsZXJhdGVkQW5pbWF0aW9uT2ZQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEKTsKIAog
cHJpdmF0ZToKICAgICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSogbV9kYXRhOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5o
IGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmlu
ZGV4IDMwMTA3NGYuLmY5YTM0MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNkZWZpbmUg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGVfaAogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgi
CisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNjks
NyArNzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhEb2N1bWVudCop
OwogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCopOwogCi0gICAgYm9vbCBpc0Fu
aW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqLCBpbnQgcHJvcGVydHksIGJv
b2wgaXNSdW5uaW5nTm93KSBjb25zdDsKKyAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVydHlPblJl
bmRlcmVyKFJlbmRlck9iamVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNSdW5uaW5nTm93KSBj
b25zdDsKIAogICAgIGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWUoUmVuZGVyT2JqZWN0KiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgdCk7CiAgICAgYm9vbCBwYXVzZVRyYW5zaXRpb25BdFRp
bWUoUmVuZGVyT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgZG91YmxlIHQpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAgYi9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCA0ZmExY2Iy
Li40NzcxNTE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5p
bWF0aW9uLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9u
LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnN0YXJ0QW5p
bWF0aW9uKGRvdWJsZSBiZWdpblRpbWUpCiAgICAgCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIGlmIChtX29iamVjdCAmJiBtX29iamVjdC0+aGFzTGF5ZXIoKSkgewotICAg
ICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSB0b1JlbmRlckJveChtX29iamVjdCktPmxheWVyKCk7
CisgICAgICAgIFJlbmRlckxheWVyKiBsYXllciA9IHRvUmVuZGVyQm94TW9kZWxPYmplY3QobV9v
YmplY3QpLT5sYXllcigpOwogICAgICAgICBpZiAobGF5ZXItPmlzQ29tcG9zaXRlZCgpKQogICAg
ICAgICAgICAgcmV0dXJuIGxheWVyLT5iYWNraW5nKCktPnN0YXJ0VHJhbnNpdGlvbihiZWdpblRp
bWUsIG1fYW5pbWF0aW5nUHJvcGVydHksIG1fZnJvbVN0eWxlLmdldCgpLCBtX3RvU3R5bGUuZ2V0
KCkpOwogICAgIH0KQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIEltcGxpY2l0QW5pbWF0aW9uOjpl
bmRBbmltYXRpb24oYm9vbCAvKnJlc2V0Ki8pCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIGlmIChtX29iamVjdCAmJiBtX29iamVjdC0+aGFzTGF5ZXIoKSkgewotICAg
ICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSB0b1JlbmRlckJveChtX29iamVjdCktPmxheWVyKCk7
CisgICAgICAgIFJlbmRlckxheWVyKiBsYXllciA9IHRvUmVuZGVyQm94TW9kZWxPYmplY3QobV9v
YmplY3QpLT5sYXllcigpOwogICAgICAgICBpZiAobGF5ZXItPmlzQ29tcG9zaXRlZCgpKQogICAg
ICAgICAgICAgbGF5ZXItPmJhY2tpbmcoKS0+dHJhbnNpdGlvbkZpbmlzaGVkKG1fYW5pbWF0aW5n
UHJvcGVydHkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5jcHAKaW5kZXggZjEzMTdmYS4uNjdhNTYwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCBib29sIEtleWZy
YW1lQW5pbWF0aW9uOjpzdGFydEFuaW1hdGlvbihkb3VibGUgYmVnaW5UaW1lKQogewogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAobV9vYmplY3QgJiYgbV9vYmplY3Qt
Pmhhc0xheWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0gdG9SZW5kZXJCb3go
bV9vYmplY3QpLT5sYXllcigpOworICAgICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSB0b1JlbmRl
ckJveE1vZGVsT2JqZWN0KG1fb2JqZWN0KS0+bGF5ZXIoKTsKICAgICAgICAgaWYgKGxheWVyLT5p
c0NvbXBvc2l0ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBsYXllci0+YmFja2luZygpLT5zdGFy
dEFuaW1hdGlvbihiZWdpblRpbWUsIG1fYW5pbWF0aW9uLmdldCgpLCBtX2tleWZyYW1lcyk7CiAg
ICAgfQpAQCAtMjAwLDcgKzIwMCw3IEBAIHZvaWQgS2V5ZnJhbWVBbmltYXRpb246OmVuZEFuaW1h
dGlvbihib29sIHJlc2V0KQogICAgIGlmIChtX29iamVjdCkgewogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKICAgICAgICAgaWYgKG1fb2JqZWN0LT5oYXNMYXllcigpKSB7Ci0gICAg
ICAgICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSB0b1JlbmRlckJveChtX29iamVjdCktPmxheWVy
KCk7CisgICAgICAgICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSB0b1JlbmRlckJveE1vZGVsT2Jq
ZWN0KG1fb2JqZWN0KS0+bGF5ZXIoKTsKICAgICAgICAgICAgIGlmIChsYXllci0+aXNDb21wb3Np
dGVkKCkpCiAgICAgICAgICAgICAgICAgbGF5ZXItPmJhY2tpbmcoKS0+YW5pbWF0aW9uRmluaXNo
ZWQobV9rZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCAwLCByZXNldCk7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCmluZGV4IDcyOGZjYmIuLjEzMDJj
M2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaApAQCAtNDcsNiAr
NDcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCB7
IHJldHVybiBpc1Jvb3QoKSB8fCBpc1Bvc2l0aW9uZWQoKSB8fCBpc1JlbFBvc2l0aW9uZWQoKSB8
fCBpc1RyYW5zcGFyZW50KCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaGFzVHJhbnNmb3JtKCkg
fHwgaGFzTWFzaygpIHx8IGhhc1JlZmxlY3Rpb24oKTsgfQogCiBwcml2YXRlOgorICAgIHZpcnR1
YWwgYm9vbCBpc0JveE1vZGVsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCiAgICAg
ZnJpZW5kIGNsYXNzIFJlbmRlclZpZXc7CiAKICAgICBSZW5kZXJMYXllciogbV9sYXllcjsKQEAg
LTU1LDYgKzU3LDIxIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgc193YXNGbG9hdGluZzsK
IH07CiAKK2lubGluZSBSZW5kZXJCb3hNb2RlbE9iamVjdCogdG9SZW5kZXJCb3hNb2RlbE9iamVj
dChSZW5kZXJPYmplY3QqIG8pCit7IAorICAgIEFTU0VSVCghbyB8fCBvLT5pc0JveE1vZGVsT2Jq
ZWN0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJCb3hNb2RlbE9iamVjdCo+KG8p
OworfQorCitpbmxpbmUgY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvUmVuZGVyQm94TW9k
ZWxPYmplY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvKQoreyAKKyAgICBBU1NFUlQoIW8gfHwgby0+
aXNCb3hNb2RlbE9iamVjdCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplY3QqPihvKTsKK30KKworLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2lu
ZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgordm9pZCB0b1JlbmRlckJveE1vZGVsT2JqZWN0KGNvbnN0
IFJlbmRlckJveCopOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZW5k
ZXJCb3hNb2RlbE9iamVjdF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cAppbmRleCA2Y2ZiNTE4Li5iNWQ4MDYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKQogICAgIC8vIGJha2VkIGludG8gaXQsIGFuZCB3ZSBkb24n
dCB3YW50IHRoYXQuCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdDsKICAgICBpZiAobV9vd25p
bmdMYXllci0+aGFzVHJhbnNmb3JtKCkpCi0gICAgICAgIHN0eWxlLT5hcHBseVRyYW5zZm9ybSh0
LCByZW5kZXJlcigpLT5ib3JkZXJCb3hSZWN0KCkuc2l6ZSgpLCBmYWxzZSk7CisgICAgICAgIHN0
eWxlLT5hcHBseVRyYW5zZm9ybSh0LCByZW5kZXJlcigpLT5ib3JkZXJCb3hSZWN0KCkuc2l6ZSgp
LCBSZW5kZXJTdHlsZTo6RXhjbHVkZVRyYW5zZm9ybU9yaWdpbik7CiAgICAgCiAgICAgbV9ncmFw
aGljc0xheWVyLT5zZXRUcmFuc2Zvcm0odCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmlu
ZGV4IGIwYmViYWUuLjJkNGI2YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNTEs
NiArMjUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0FwcGxldCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQlIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0Jsb2NrRmxvdygpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzQm94TW9kZWxPYmplY3QoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ZpZWxkc2V0KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggOWE4OGY1OC4uZDc1
MGVmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtNjM3LDcg
KzYzNyw3IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldENvbnRlbnQoQ291bnRlckNvbnRlbnQqIGMs
IGJvb2wgYWRkKQogICAgIG5ld0NvbnRlbnREYXRhLT5tX3R5cGUgPSBDT05URU5UX0NPVU5URVI7
CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OmFwcGx5VHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0
cml4JiB0cmFuc2Zvcm0sIGNvbnN0IEludFNpemUmIGJvcmRlckJveFNpemUsIGJvb2wgaW5jbHVk
ZVRyYW5zZm9ybU9yaWdpbikgY29uc3QKK3ZvaWQgUmVuZGVyU3R5bGU6OmFwcGx5VHJhbnNmb3Jt
KFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0sIGNvbnN0IEludFNpemUmIGJvcmRlckJv
eFNpemUsIEFwcGx5VHJhbnNmb3JtT3JpZ2luIGFwcGx5T3JpZ2luKSBjb25zdAogewogICAgIC8v
IHRyYW5zZm9ybS1vcmlnaW4gYnJhY2tldHMgdGhlIHRyYW5zZm9ybSB3aXRoIHRyYW5zbGF0ZSBv
cGVyYXRpb25zLgogICAgIC8vIE9wdGltaXplIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgb25seSB0
cmFuc2Zvcm0gaXMgYSB0cmFuc2xhdGlvbiwgc2luY2UgdGhlIHRyYW5zZm9ybS1vcmlnaW4gaXMg
aXJyZWxldmFudApAQCAtNjQ1LDcgKzY0NSw3IEBAIHZvaWQgUmVuZGVyU3R5bGU6OmFwcGx5VHJh
bnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0sIGNvbnN0IEludFNpemUmCiAg
ICAgYm9vbCBhcHBseVRyYW5zZm9ybU9yaWdpbiA9IGZhbHNlOwogICAgIHVuc2lnbmVkIHMgPSBy
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0tPm1fb3BlcmF0aW9ucy5vcGVyYXRpb25z
KCkuc2l6ZSgpOwogICAgIHVuc2lnbmVkIGk7Ci0gICAgaWYgKGluY2x1ZGVUcmFuc2Zvcm1Pcmln
aW4pIHsKKyAgICBpZiAoYXBwbHlPcmlnaW4gPT0gSW5jbHVkZVRyYW5zZm9ybU9yaWdpbikgewog
ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgczsgaSsrKSB7CiAgICAgICAgICAgICBUcmFuc2Zvcm1P
cGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHlwZSA9IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3Ry
YW5zZm9ybS0+bV9vcGVyYXRpb25zLm9wZXJhdGlvbnMoKVtpXS0+Z2V0T3BlcmF0aW9uVHlwZSgp
OwogICAgICAgICAgICAgaWYgKHR5cGUgIT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVf
WCAmJgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNzk3YWI3Ny4uYmZi
OTJjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC02MzYsNyArNjM2
LDEwIEBAIHB1YmxpYzoKICAgICBMZW5ndGggdHJhbnNmb3JtT3JpZ2luWCgpIGNvbnN0IHsgcmV0
dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybS0+bV94OyB9CiAgICAgTGVuZ3Ro
IHRyYW5zZm9ybU9yaWdpblkoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV90cmFuc2Zvcm0tPm1feTsgfQogICAgIGJvb2wgaGFzVHJhbnNmb3JtKCkgY29uc3QgeyByZXR1
cm4gIXJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybS0+bV9vcGVyYXRpb25zLm9wZXJh
dGlvbnMoKS5pc0VtcHR5KCk7IH0KLSAgICB2b2lkIGFwcGx5VHJhbnNmb3JtKFRyYW5zZm9ybWF0
aW9uTWF0cml4JiwgY29uc3QgSW50U2l6ZSYgYm9yZGVyQm94U2l6ZSwgYm9vbCBpbmNsdWRlVHJh
bnNmb3JtT3JpZ2luID0gdHJ1ZSkgY29uc3Q7CisKKyAgICBlbnVtIEFwcGx5VHJhbnNmb3JtT3Jp
Z2luIHsgSW5jbHVkZVRyYW5zZm9ybU9yaWdpbiwgRXhjbHVkZVRyYW5zZm9ybU9yaWdpbiB9Owor
ICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm0oVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBJbnRT
aXplJiBib3JkZXJCb3hTaXplLCBBcHBseVRyYW5zZm9ybU9yaWdpbiA9IEluY2x1ZGVUcmFuc2Zv
cm1PcmlnaW4pIGNvbnN0OworCiAgICAgYm9vbCBoYXNNYXNrKCkgY29uc3QgeyByZXR1cm4gcmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fbWFzay5oYXNJbWFnZSgpIHx8IHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX21hc2tCb3hJbWFnZS5oYXNJbWFnZSgpOyB9CiAgICAgLy8gRW5kIENTUzMgR2V0dGVy
cwogCg==
</data>
<flag name="review"
          id="13216"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>