<?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>79619</bug_id>
          
          <creation_ts>2012-02-26 20:27:28 -0800</creation_ts>
          <short_desc>ContextDestructionObserver should live in its own file</short_desc>
          <delta_ts>2012-02-26 21:10:15 -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>New Bugs</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>
          
          <blocked>79327</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>565281</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 20:27:28 -0800</bug_when>
    <thetext>ContextDestructionObserver should live in its own file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565282</commentid>
    <comment_count>1</comment_count>
      <attachid>128943</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 20:28:30 -0800</bug_when>
    <thetext>Created attachment 128943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565286</commentid>
    <comment_count>2</comment_count>
      <attachid>128943</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-26 20:32:46 -0800</bug_when>
    <thetext>Comment on attachment 128943
Patch

This can just be a ContextObserver or ScriptContextObserver considering that we&apos;re going to rename FrameDestructionObserver to FrameObserver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565291</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 20:50:51 -0800</bug_when>
    <thetext>ap seemed somewhat negative on renaming FrameDestructionObserver, so I&apos;m inclined to keep this name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565299</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 21:10:15 -0800</bug_when>
    <thetext>Committed r108954: &lt;http://trac.webkit.org/changeset/108954&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128943</attachid>
            <date>2012-02-26 20:28:30 -0800</date>
            <delta_ts>2012-02-26 20:32:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79619-20120226202828.patch</filename>
            <type>text/plain</type>
            <size>21124</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwODk1MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTI2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIgc2hvdWxkIGxpdmUgaW4gaXRzIG93biBmaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdCBwcmVmZXJzIHRvIGhhdmUgb25lIGNsYXNz
IHBlciBmaWxlLiAgKFRoaXMgcGF0Y2ggaXMgcGF5aW5nIGEKKyAgICAgICAgYnVpbGQgc3lzdGVt
IGhhY2tpbmcgZGVidCBJIGluY3VycmVkIGVhcmxpZXIuKQorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogZG9tL0FjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6CisgICAgICAgIChBY3RpdmVET01P
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0OjpzdXNwZW5kSWZOZWVk
ZWRDYWxsZWQpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0OjpzZXRQZW5kaW5n
QWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0Ojp1bnNldFBlbmRp
bmdBY3Rpdml0eSk6CisgICAgICAgICogZG9tL0NvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyOjpDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcik6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6fkNvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
Ojpjb250ZXh0RGVzdHJveWVkKToKKyAgICAgICAgKiBkb20vQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKiBkb20vRE9NQWxsSW5P
bmUuY3BwOgorCiAyMDEyLTAyLTI2ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQ2xlYW51cCBvZiBBZG9iZXMgY29weXJpZ2h0IHRleHQuIFRoZSB0ZXh0IGdvdCBo
YXJtb25pemVkIHdpdGggY29weXJpZ2h0IHRleHRzIG9mIG90aGVyIGNvbXBhbmllcy4gCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTA4OTQ0KQorKysgU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUzNSw2ICs1MzUsNyBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgZG9tL0NvbW1lbnQuY3BwCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZl
bnQuY3BwCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuY3BwCisgICAgZG9tL0NvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9DdXN0b21FdmVudC5jcHAKICAgICBkb20vRGF0YXNl
dERPTVN0cmluZ01hcC5jcHAKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTA4OTQ0KQorKysg
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMTU1
Miw2ICsxNTUyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9kb20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9kb20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0Nyb3NzVGhyZWFkVGFzay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZl
bnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkJKHJldmlzaW9uIDEwODk0NCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdv
cmtpbmcgY29weSkKQEAgLTQ4OCw2ICs0ODgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29t
bWVudC5jcHAgXAogICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL0NvbnRh
aW5lck5vZGUuY3BwIFwKKyAgICBkb20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwIFwK
ICAgICBkb20vQ3VzdG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBh
cnNlci5jcHAgXAogICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBcCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCShyZXZpc2lvbiAxMDg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU3OCw2ICs1NzgsNyBAQAogICAgICAgICAgICAgJ2Rv
bS9DbGlwYm9hcmQuaCcsCiAgICAgICAgICAgICAnZG9tL0NsaXBib2FyZEFjY2Vzc1BvbGljeS5o
JywKICAgICAgICAgICAgICdkb20vQ29udGFpbmVyTm9kZS5oJywKKyAgICAgICAgICAgICdkb20v
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTUltcGxl
bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9ET01UaW1lU3RhbXAuaCcsCiAgICAgICAg
ICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uLmgnLApAQCAtNTAwMyw2ICs1MDA0LDcgQEAKICAg
ICAgICAgICAgICdkb20vQ29tcG9zaXRpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vQ29u
dGFpbmVyTm9kZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGht
cy5oJywKKyAgICAgICAgICAgICdkb20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwJywK
ICAgICAgICAgICAgICdkb20vQ3Jvc3NUaHJlYWRUYXNrLmgnLAogICAgICAgICAgICAgJ2RvbS9D
dXN0b21FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9DdXN0b21FdmVudC5oJywKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lv
biAxMDg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkod29ya2luZyBjb3B5KQpAQCAtNDY5NzAsNiArNDY5NzAsNjIgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxDcm9zc1Ro
cmVhZFRhc2suaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMDg5NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTMzNTAsNiArMzM1MCw4IEBACiAJCTk3NUNBMjhCMTMwMzY1RjgwMEU5OUFE
OSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3NUNBMjg4MTMwMzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCAqLzsgfTsKIAkJOTc1Q0Ey
QTExMzAzNjc5RDAwRTk5QUQ5IC8qIEpTQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NUNBMjlGMTMwMzY3OUQwMEU5OUFEOSAvKiBKU0Ny
eXB0by5jcHAgKi87IH07CiAJCTk3NUNBMkEyMTMwMzY3OUQwMEU5OUFEOSAvKiBKU0NyeXB0by5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc1Q0EyQTAx
MzAzNjc5RDAwRTk5QUQ5IC8qIEpTQ3J5cHRvLmggKi87IH07CisJCTk3NjI3QjhEMTRGQjNDRUUw
MDJDRENBMSAvKiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzYyN0I4QjE0RkIzQ0VFMDAyQ0RDQTEg
LyogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwICovOyB9OworCQk5NzYyN0I4RTE0RkIz
Q0VFMDAyQ0RDQTEgLyogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NjI3QjhDMTRGQjNDRUUwMDJDRENB
MSAvKiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk3NjY1MDEzMTQ0RkFBNDIwMEY2QkI1MSAvKiBF
dmVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3NjY1MDExMTQ0RkFBNDIwMEY2QkI1MSAvKiBFdmVudEZhY3RvcnkuaCAqLzsgfTsKIAkJ
OTc2NjUwNEYxNDRGQkZGRTAwRjZCQjUxIC8qIEV2ZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzY2NTA0RTE0NEZCRkZFMDBGNkJC
NTEgLyogRXZlbnRGYWN0b3J5LmNwcCAqLzsgfTsKIAkJOTc2N0NFMEIxNDVBQkMxMzAwNUU2NERC
IC8qIEV4Y2VwdGlvbkhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3NjdDRTA5MTQ1QUJDMTIwMDVFNjREQiAvKiBFeGNlcHRpb25IZWFkZXJz
LmggKi87IH07CkBAIC0xMDIzMyw2ICsxMDIzNSw4IEBACiAJCTk3NUNBMjg5MTMwMzY1RjgwMEU5
OUFEOSAvKiBDcnlwdG8uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0by5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NUNBMjlGMTMwMzY3OUQwMEU5OUFEOSAvKiBK
U0NyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0
by5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NUNBMkEwMTMwMzY3OUQwMEU5
OUFEOSAvKiBKU0NyeXB0by5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Ny
eXB0by5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzYyN0I4QjE0RkIzQ0VFMDAy
Q0RDQTEgLyogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NzYyN0I4QzE0RkIzQ0VFMDAyQ0RDQTEgLyogQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTc2NjUwMTExNDRGQUE0MjAwRjZCQjUxIC8qIEV2ZW50RmFjdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTc2NjUwNEUxNDRGQkZGRTAwRjZCQjUxIC8qIEV2ZW50RmFjdG9yeS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudEZhY3RvcnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzY3Q0UwOTE0NUFCQzEyMDA1RTY0REIg
LyogRXhjZXB0aW9uSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
eGNlcHRpb25IZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDYyNiw2
ICsyMDYzMCw4IEBACiAJCQkJQTgxODcyMTQwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5v
ZGUuY3BwICovLAogCQkJCUE4MTg3MjExMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2Rl
LmggKi8sCiAJCQkJRTFBMTQ3MDcxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdv
cml0aG1zLmggKi8sCisJCQkJOTc2MjdCOEIxNEZCM0NFRTAwMkNEQ0ExIC8qIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQk5NzYyN0I4QzE0RkIzQ0VFMDAyQ0RDQTEgLyog
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCAqLywKIAkJCQkyRTNGQUEwODExQTM2QkYxMDA1
NzY2MjQgLyogQ3Jvc3NUaHJlYWRUYXNrLmggKi8sCiAJCQkJNjJDRDMyNTYxMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmNwcCAqLywKIAkJCQk2MkNEMzI1NzExNTdFNTdDMDA2M0IwQTcg
LyogQ3VzdG9tRXZlbnQuaCAqLywKQEAgLTIxNDU4LDYgKzIxNDY0LDcgQEAKIAkJCQk1N0I3OTFB
NjE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudFNlbGVjdG9yUXVlcnkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzcwRDZFREIxMzg0NTQ1NTAwNDQxMDNFIC8qIENvbnRlbnRUeXBlUGFyc2Vy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NzYyN0I4RTE0RkIzQ0VFMDAyQ0RDQTEgLyogQ29udGV4
dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQjZBMEU2MEIwQkNB
NUMwMEY1MDI3QSAvKiBDb250ZXh0TWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDY1QUQ0RjUw
QjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNjVBRDRGNzBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTI0ODkwLDYgKzI0ODk3LDcgQEAKIAkJCQk1N0I3OTFBNTE0QzZBNjI5
MDBGMjAyRDEgLyogQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTM3MEQ2RURBMTM4NDU0NTUwMDQ0MTAzRSAvKiBDb250ZW50VHlwZVBhcnNlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk5NzYyN0I4RDE0RkIzQ0VFMDAyQ0RDQTEgLyogQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDY1QUQ0RjYwQjBDMkVE
QTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwNjAyN0NCMzBCMUNDMDNEMDA4ODRCMkQgLyogQ29udGV4dE1lbnVJdGVtTWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNCNkEwRUEwQjBCQ0E4NDAwRjUwMjdBIC8qIENvbnRleHRNZW51TWFj
Lm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0
LmNwcAkocmV2aXNpb24gMTA4OTQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDMwICszMyw2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6OkNvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
Ci0gICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkK
LXsKLSAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNDb250ZXh0VGhyZWFkKCkp
OwotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZGlkQ3JlYXRlRGVzdHJ1Y3Rpb25PYnNl
cnZlcih0aGlzKTsKLX0KLQotQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6On5Db250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlcigpCi17Ci0gICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzQ29udGV4dFRocmVhZCgpKTsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPndpbGxE
ZXN0cm95RGVzdHJ1Y3Rpb25PYnNlcnZlcih0aGlzKTsKLX0KLQotdm9pZCBDb250ZXh0RGVzdHJ1
Y3Rpb25PYnNlcnZlcjo6Y29udGV4dERlc3Ryb3llZCgpCi17Ci0gICAgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0ID0gMDsKLX0KLQogQWN0aXZlRE9NT2JqZWN0OjpBY3RpdmVET01PYmplY3QoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdm9pZCogdXBjYXN0
UG9pbnRlcikKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpCiAgICAgLCBtX3BlbmRpbmdBY3Rpdml0eUNvdW50KDApCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oCShyZXZpc2lvbiAxMDg5NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDc4ICsyNyw2
MyBAQAogI2lmbmRlZiBBY3RpdmVET01PYmplY3RfaAogI2RlZmluZSBBY3RpdmVET01PYmplY3Rf
aAogCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwotCi0gICAgLy8gRklYTUU6IE1vdmUgdGhpcyBjbGFzcyB0byBp
dCdzIG93biBmaWxlLgotICAgIGNsYXNzIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIGV4cGxpY2l0IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRleHREZXN0
cm95ZWQoKTsKLQotICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OyB9Ci0K
LSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgfkNvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCk7Ci0KLSAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0OwotICAgIH07Ci0KLSAgICBjbGFzcyBBY3RpdmVET01PYmplY3QgOiBwdWJsaWMg
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAgQWN0aXZl
RE9NT2JqZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCB2b2lkKiB1cGNhc3RQb2ludGVyKTsK
LQotICAgICAgICAvLyBzdXNwZW5kSWZOZWVkZWQoKSBzaG91bGQgYmUgY2FsbGVkIGV4YWN0bHkg
b25jZSBhZnRlciBvYmplY3QgY29uc3RydWN0aW9uIHRvIHN5bmNocm9uaXplCi0gICAgICAgIC8v
IHRoZSBzdXNwZW5kIHN0YXRlIHdpdGggdGhhdCBpbiBTY3JpcHRFeGVjdXRpb25Db250ZXh0Lgot
ICAgICAgICB2b2lkIHN1c3BlbmRJZk5lZWRlZCgpOworY2xhc3MgQWN0aXZlRE9NT2JqZWN0IDog
cHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICBBY3RpdmVE
T01PYmplY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHZvaWQqIHVwY2FzdFBvaW50ZXIpOwor
CisgICAgLy8gc3VzcGVuZElmTmVlZGVkKCkgc2hvdWxkIGJlIGNhbGxlZCBleGFjdGx5IG9uY2Ug
YWZ0ZXIgb2JqZWN0IGNvbnN0cnVjdGlvbiB0byBzeW5jaHJvbml6ZQorICAgIC8vIHRoZSBzdXNw
ZW5kIHN0YXRlIHdpdGggdGhhdCBpbiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgorICAgIHZvaWQg
c3VzcGVuZElmTmVlZGVkKCk7CiAjaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgICAgICBib29sIHN1
c3BlbmRJZk5lZWRlZENhbGxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZElmTmVlZGVkQ2Fs
bGVkOyB9CisgICAgYm9vbCBzdXNwZW5kSWZOZWVkZWRDYWxsZWQoKSBjb25zdCB7IHJldHVybiBt
X3N1c3BlbmRJZk5lZWRlZENhbGxlZDsgfQogI2VuZGlmCiAKLSAgICAgICAgdmlydHVhbCBib29s
IGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdDsKIAotICAgICAgICAvLyBjYW5TdXNwZW5kKCkgaXMgdXNlZCBieSB0
aGUgY2FsbGVyIGlmIHRoZXJlIGlzIGEgY2hvaWNlIGJldHdlZW4gc3VzcGVuZGluZyBhbmQgc3Rv
cHBpbmcuCi0gICAgICAgIC8vIEZvciBleGFtcGxlLCBhIHBhZ2Ugd29uJ3QgYmUgc3VzcGVuZGVk
IGFuZCBwbGFjZWQgaW4gdGhlIGJhY2svZm9yd2FyZCBjYWNoZSBpZiBpdCBoYXMKLSAgICAgICAg
Ly8gdGhlIG9iamVjdHMgdGhhdCBjYW4gbm90IGJlIHN1c3BlbmRlZC4KLSAgICAgICAgLy8gSG93
ZXZlciwgJ3N1c3BlbmQnIGNhbiBiZSBjYWxsZWQgZXZlbiBpZiBjYW5TdXNwZW5kKCkgd291bGQg
cmV0dXJuICdmYWxzZScuIFRoYXQKLSAgICAgICAgLy8gaGFwcGVucyBpbiBzdGVwLWJ5LXN0ZXAg
SlMgZGVidWdnaW5nIGZvciBleGFtcGxlIC0gaW4gdGhpcyBjYXNlIGl0IHdvdWxkIGJlIGluY29y
cmVjdAotICAgICAgICAvLyB0byBzdG9wIHRoZSBvYmplY3QuIEV4YWN0IHNlbWFudGljcyBvZiBz
dXNwZW5kIGlzIHVwIHRvIHRoZSBvYmplY3QgdGhlbi4KLSAgICAgICAgZW51bSBSZWFzb25Gb3JT
dXNwZW5zaW9uIHsKLSAgICAgICAgICAgIEphdmFTY3JpcHREZWJ1Z2dlclBhdXNlZCwKLSAgICAg
ICAgICAgIFdpbGxTaG93RGlhbG9nLAotICAgICAgICAgICAgRG9jdW1lbnRXaWxsQmVjb21lSW5h
Y3RpdmUKLSAgICAgICAgfTsKLSAgICAgICAgdmlydHVhbCBib29sIGNhblN1c3BlbmQoKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbik7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN0b3Ao
KTsKLQotICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIHNldFBlbmRpbmdBY3Rpdml0eShU
KiB0aGlzT2JqZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQodGhpc09iamVjdCA9
PSB0aGlzKTsKLSAgICAgICAgICAgIHRoaXNPYmplY3QtPnJlZigpOwotICAgICAgICAgICAgbV9w
ZW5kaW5nQWN0aXZpdHlDb3VudCsrOwotICAgICAgICB9Ci0KLSAgICAgICAgdGVtcGxhdGU8Y2xh
c3MgVD4gdm9pZCB1bnNldFBlbmRpbmdBY3Rpdml0eShUKiB0aGlzT2JqZWN0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBBU1NFUlQobV9wZW5kaW5nQWN0aXZpdHlDb3VudCA+IDApOwotICAgICAg
ICAgICAgLS1tX3BlbmRpbmdBY3Rpdml0eUNvdW50OwotICAgICAgICAgICAgdGhpc09iamVjdC0+
ZGVyZWYoKTsKLSAgICAgICAgfQorICAgIC8vIGNhblN1c3BlbmQoKSBpcyB1c2VkIGJ5IHRoZSBj
YWxsZXIgaWYgdGhlcmUgaXMgYSBjaG9pY2UgYmV0d2VlbiBzdXNwZW5kaW5nIGFuZCBzdG9wcGlu
Zy4KKyAgICAvLyBGb3IgZXhhbXBsZSwgYSBwYWdlIHdvbid0IGJlIHN1c3BlbmRlZCBhbmQgcGxh
Y2VkIGluIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUgaWYgaXQgaGFzCisgICAgLy8gdGhlIG9iamVj
dHMgdGhhdCBjYW4gbm90IGJlIHN1c3BlbmRlZC4KKyAgICAvLyBIb3dldmVyLCAnc3VzcGVuZCcg
Y2FuIGJlIGNhbGxlZCBldmVuIGlmIGNhblN1c3BlbmQoKSB3b3VsZCByZXR1cm4gJ2ZhbHNlJy4g
VGhhdAorICAgIC8vIGhhcHBlbnMgaW4gc3RlcC1ieS1zdGVwIEpTIGRlYnVnZ2luZyBmb3IgZXhh
bXBsZSAtIGluIHRoaXMgY2FzZSBpdCB3b3VsZCBiZSBpbmNvcnJlY3QKKyAgICAvLyB0byBzdG9w
IHRoZSBvYmplY3QuIEV4YWN0IHNlbWFudGljcyBvZiBzdXNwZW5kIGlzIHVwIHRvIHRoZSBvYmpl
Y3QgdGhlbi4KKyAgICBlbnVtIFJlYXNvbkZvclN1c3BlbnNpb24geworICAgICAgICBKYXZhU2Ny
aXB0RGVidWdnZXJQYXVzZWQsCisgICAgICAgIFdpbGxTaG93RGlhbG9nLAorICAgICAgICBEb2N1
bWVudFdpbGxCZWNvbWVJbmFjdGl2ZQorICAgIH07CisgICAgdmlydHVhbCBib29sIGNhblN1c3Bl
bmQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9u
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCk7CisgICAgdmlydHVhbCB2b2lkIHN0b3AoKTsK
KworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgc2V0UGVuZGluZ0FjdGl2aXR5KFQqIHRoaXNP
YmplY3QpCisgICAgeworICAgICAgICBBU1NFUlQodGhpc09iamVjdCA9PSB0aGlzKTsKKyAgICAg
ICAgdGhpc09iamVjdC0+cmVmKCk7CisgICAgICAgIG1fcGVuZGluZ0FjdGl2aXR5Q291bnQrKzsK
KyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIHVuc2V0UGVuZGluZ0FjdGl2aXR5
KFQqIHRoaXNPYmplY3QpCisgICAgeworICAgICAgICBBU1NFUlQobV9wZW5kaW5nQWN0aXZpdHlD
b3VudCA+IDApOworICAgICAgICAtLW1fcGVuZGluZ0FjdGl2aXR5Q291bnQ7CisgICAgICAgIHRo
aXNPYmplY3QtPmRlcmVmKCk7CisgICAgfQogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIH5BY3RpdmVET01PYmplY3QoKTsKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5BY3RpdmVE
T01PYmplY3QoKTsKIAotICAgIHByaXZhdGU6Ci0gICAgICAgIHVuc2lnbmVkIG1fcGVuZGluZ0Fj
dGl2aXR5Q291bnQ7Citwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fcGVuZGluZ0FjdGl2aXR5Q291
bnQ7CiAjaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgICAgICBib29sIG1fc3VzcGVuZElmTmVlZGVk
Q2FsbGVkOworICAgIGJvb2wgbV9zdXNwZW5kSWZOZWVkZWRDYWxsZWQ7CiAjZW5kaWYKLSAgICB9
OworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Db250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorCisjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyOjpDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgIDogbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCit7CisgICAgaWYgKCFtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQtPmRpZENyZWF0ZURlc3RydWN0aW9uT2JzZXJ2ZXIodGhpcyk7Cit9CisK
K0NvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjp+Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIo
KQoreworICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgICAgICByZXR1cm47
CisKKyAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0NvbnRleHRUaHJlYWQo
KSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT53aWxsRGVzdHJveURlc3RydWN0aW9u
T2JzZXJ2ZXIodGhpcyk7Cit9CisKK3ZvaWQgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6OmNv
bnRleHREZXN0cm95ZWQoKQoreworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IDA7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250
ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Db250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqCisgKi8KKworI2lmbmRlZiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcl9oCisjZGVmaW5lIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyX2gKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBDb250
ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwg
dm9pZCBjb250ZXh0RGVzdHJveWVkKCk7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0OyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5Db250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlcigpOworCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCShyZXZpc2lvbiAxMDg5NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiQ29tbWVudC5j
cHAiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5jcHAiCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwIgogI2lu
Y2x1ZGUgIkN1c3RvbUV2ZW50LmNwcCIKICNpbmNsdWRlICJET01Db3JlRXhjZXB0aW9uLmNwcCIK
ICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5jcHAiCg==
</data>
<flag name="review"
          id="131459"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>