<?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>106614</bug_id>
          
          <creation_ts>2013-01-10 16:16:00 -0800</creation_ts>
          <short_desc>[Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks</short_desc>
          <delta_ts>2013-01-10 20:01:42 -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>DOM</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>106283</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>ojan.autocc</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>804808</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 16:16:00 -0800</bug_when>
    <thetext>This is a preparation for Bug 106283.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804836</commentid>
    <comment_count>1</comment_count>
      <attachid>182229</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 17:34:15 -0800</bug_when>
    <thetext>Created attachment 182229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804857</commentid>
    <comment_count>2</comment_count>
      <attachid>182229</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-10 18:19:44 -0800</bug_when>
    <thetext>Comment on attachment 182229
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        - Introduces InsertionPoint::prematch() to give a chance each InsertionPoint to decide whether it

I don&apos;t like the word prematch. It doesn&apos;t convey the meaning here quite right. Can we treat this instead as a function to determine what kind of matching this insertion point uses:


MatchType {
AlwaysMatches
NeverMatches
HasToMatchSelector
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804871</commentid>
    <comment_count>3</comment_count>
      <attachid>182242</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 18:57:57 -0800</bug_when>
    <thetext>Created attachment 182242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804872</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 18:59:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I don&apos;t like the word prematch. It doesn&apos;t convey the meaning here quite right. Can we treat this instead as a function to determine what kind of matching this insertion point uses:
Thanks for the insight! I didn&apos;t have good name here. Renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804887</commentid>
    <comment_count>5</comment_count>
      <attachid>182242</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-10 19:30:37 -0800</bug_when>
    <thetext>Comment on attachment 182242
Patch

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

&gt; Source/WebCore/html/shadow/InsertionPoint.h:54
&gt; +        MatchAccept,
&gt; +        MatchReject,
&gt; +        MatchSelect

I kind of like the longer names that explain what&apos;s happening (the ones that I suggested).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804892</commentid>
    <comment_count>6</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 19:45:27 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I kind of like the longer names that explain what&apos;s happening (the ones that I suggested).
OK, will take that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804893</commentid>
    <comment_count>7</comment_count>
      <attachid>182245</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 19:46:26 -0800</bug_when>
    <thetext>Created attachment 182245
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804895</commentid>
    <comment_count>8</comment_count>
      <attachid>182245</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 20:01:37 -0800</bug_when>
    <thetext>Comment on attachment 182245
Patch for landing

Clearing flags on attachment: 182245

Committed r139400: &lt;http://trac.webkit.org/changeset/139400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804896</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 20:01:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182229</attachid>
            <date>2013-01-10 17:34:15 -0800</date>
            <delta_ts>2013-01-10 18:57:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106614-20130111103118.patch</filename>
            <type>text/plain</type>
            <size>11736</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI2MzBiODVlZjc3YjVh
Y2FiMzA1NGQzNWUzMmU5MTU0YWFkMWEwOS4uYzU2OGNlYTc5MTQ5MDg2ZWJmYjlkODE1ZGMyOGI3
ZWI5MTkwZWFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
UmVmYWN0b3Jpbmc6IEluc2VydGlvblBvaW50IGNvdWxkIHNpbXBsaWZ5IGl0cyBzdWJjbGFzcyBo
b29rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBjaGFuZ2Ugc2ltcGxpZmllcyBJbnNlcnRpb25Qb2ludCBvdmVycmlkZXMgYW5kIGdpdmUgc29t
ZSBmbGV4aWJpbGl0eSB0byBpdC4KKworICAgICAgICBUaGUgY2hhbmdlCisKKyAgICAgICAgLSBS
ZW1vdmVzIEluc2VydGlvblBvaW50Ojppc1NlbGVjdFZhbGlkKCkuIG5vdyBDb250ZW50U2VsZWN0
b3JRdWVyeSBwYXJzZXMgZ2l2ZW4gc2VsZWN0b3IgYW55d2F5LgorICAgICAgICAgIEludmFsaWQg
c2VsZWN0IGF0dHJpYnV0ZSBpcyBoYW5kbGVkIGJ5IG5ld2x5IGludHJvZHVjZWQgcHJlbWF0Y2go
KSBtZXRob2QuCisgICAgICAgIC0gSW50cm9kdWNlcyBJbnNlcnRpb25Qb2ludDo6cHJlbWF0Y2go
KSB0byBnaXZlIGEgY2hhbmNlIGVhY2ggSW5zZXJ0aW9uUG9pbnQgdG8gZGVjaWRlIHdoZXRoZXIg
aXQKKyAgICAgICAgICBhY2NlcHRzIHRoZSBnaXZlbiBub2RlIGFzIGl0cyBkaXN0cmlidXRpb24u
IFRoZW4gaXQgbGV0cyBEZXRhaWxzU3VtbWFyeUVsZW1lbnQgYWRvcHQgaXQuCisgICAgICAgIC0g
UHVsbHMgc29tZSBIVE1MU2hhZG93RWxlbWVudCBvdmVycmlkZXMgdXAgdG8gSW5zZXJ0aW9uUG9p
bnQgc28gdGhhdCBvdGhlciB1cGNvbWluZyBJbnNlcnRpb25Qb2ludAorICAgICAgICAgIHN1YmNs
YXNzZXMgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGVtLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gUmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEZXRhaWxzU3VtbWFyeUVsZW1lbnQ6OkRldGFpbHNTdW1tYXJ5
RWxlbWVudCk6CisgICAgICAgIC0gSW1wbGVtZW50ZWQgcHJlbWF0Y2goKSB0byBnZXQgcmlkIG9m
IEhUTUxDb250ZW50RWxlbWVudCBtYWNoaW5lcnkgd2hpY2ggaXMgY29tcGlsZWQgb3V0IGluIHRo
ZSB1cGNvbWluZyBjaGFuZ2UuCisgICAgICAgIChEZXRhaWxzU3VtbWFyeUVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5OjpDb250ZW50U2VsZWN0b3JRdWVyeSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyk6CisgICAgICAgICog
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDb250ZW50RWxlbWVudDo6cHJlbWF0Y2gpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oOgorICAgICAgICAoSFRN
TENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTENvbnRlbnRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxTaGFkb3dF
bGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6ZW1wdHlTZWxlY3Rvckxpc3QpOiBNb3ZlZCBm
cm9tIEhUTUxTaGFkb3dFbGVtZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBv
aW50OjpwcmVtYXRjaCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6
OnNlbGVjdG9yTGlzdCk6IE1vdmVkIGZyb20gSFRNTFNoYWRvd0VsZW1lbnQuCisgICAgICAgIChJ
bnNlcnRpb25Qb2ludCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNlbGVjdCk6CisKIDIwMTMtMDEt
MTAgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIFN0b3JlIHNjcm9sbGFibGUgbGF5ZXIncyBjb250ZW50cyBzaXplIGZvciBjb29yZGlu
YXRlZCBzY3JvbGxhYmxlIGxheWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRGV0YWlsc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0Vs
ZW1lbnQuY3BwCmluZGV4IGEyNzg2YmM2Zjg0MjRjYjc1YmM0MGU0NDE3OWE0NWNmMTA5NDhlNTku
LmI4NmY2ZDM1MWJmZjgyYzc0ZWVjMmEzMTVmZmQzOTg3MmQ0ZDNlYzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKQEAgLTcxLDggKzcxLDEzIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgRGV0YWlsc1N1bW1hcnlFbGVtZW50KERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICAgICAgOiBIVE1MQ29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjp3ZWJraXRTaGFkb3dD
b250ZW50VGFnLCBkb2N1bWVudCkKKyAgICB7IH0KKworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1
bHQgcHJlbWF0Y2goTm9kZSogbm9kZSkgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIHNldFNlbGVj
dChzdW1tYXJ5UXVlcnlTZWxlY3RvcigpKTsKKyAgICAgICAgaWYgKG5vZGUtPmlzRWxlbWVudE5v
ZGUoKSAmJiBub2RlID09IG5vZGUtPnBhcmVudE5vZGUoKS0+cXVlcnlTZWxlY3RvcihzdW1tYXJ5
UXVlcnlTZWxlY3RvcigpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKSkKKyAgICAgICAgICAgIHJldHVy
biBQcmVtYXRjaEZvcmNlTWF0Y2g7CisgICAgICAgIHJldHVybiBQcmVtYXRjaEZvcmNlUmVqZWN0
OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Nv
bnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRl
bnRTZWxlY3RvclF1ZXJ5LmNwcAppbmRleCA2MTE4YzUyYzgxMTRiNTNjY2NmMDAxOTQxYzM1MDM1
ZGU0MTIxZjJkLi5hNjg4ZjRjYmRkMDhhOTU5NjA2ZWVmMzM3NjljN2E2ZjgyZmU2NWE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnku
Y3BwCkBAIC02OCw4ICs2OCw3IEBAIENvbnRlbnRTZWxlY3RvclF1ZXJ5OjpDb250ZW50U2VsZWN0
b3JRdWVyeShJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQpCiAgICAgOiBtX2luc2VydGlv
blBvaW50KGluc2VydGlvblBvaW50KQogICAgICwgbV9zZWxlY3RvckNoZWNrZXIoaW5zZXJ0aW9u
UG9pbnQtPmRvY3VtZW50KCkpCiB7Ci0gICAgaWYgKGluc2VydGlvblBvaW50LT5pc1NlbGVjdFZh
bGlkKCkpCi0gICAgICAgIG1fc2VsZWN0b3JzLmluaXRpYWxpemUoaW5zZXJ0aW9uUG9pbnQtPnNl
bGVjdG9yTGlzdCgpKTsKKyAgICBtX3NlbGVjdG9ycy5pbml0aWFsaXplKGluc2VydGlvblBvaW50
LT5zZWxlY3Rvckxpc3QoKSk7CiB9CiAKIGJvb2wgQ29udGVudFNlbGVjdG9yUXVlcnk6Om1hdGNo
ZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBzaWJsaW5ncywgaW50IG50aCkgY29uc3QK
QEAgLTc3LDE2ICs3NiwxNyBAQCBib29sIENvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRjaGVzKGNv
bnN0IFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudAogICAgIE5vZGUqIG5v
ZGUgPSBzaWJsaW5nc1tudGhdLmdldCgpOwogICAgIEFTU0VSVChub2RlKTsKIAotICAgIGlmICht
X2luc2VydGlvblBvaW50LT5zZWxlY3QoKS5pc051bGwoKSB8fCBtX2luc2VydGlvblBvaW50LT5z
ZWxlY3QoKS5pc0VtcHR5KCkpCisgICAgc3dpdGNoIChtX2luc2VydGlvblBvaW50LT5wcmVtYXRj
aChub2RlKSkgeworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoRm9yY2VNYXRjaDoK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIW1faW5zZXJ0aW9uUG9pbnQtPmlzU2Vs
ZWN0VmFsaWQoKSkKKyAgICBjYXNlIEluc2VydGlvblBvaW50OjpQcmVtYXRjaEZvcmNlUmVqZWN0
OgogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUo
KSkKKyAgICBjYXNlIEluc2VydGlvblBvaW50OjpQcmVtYXRjaE1hdGNoU2VsZWN0OgorICAgICAg
ICByZXR1cm4gbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIG1fc2VsZWN0b3JzLm1hdGNoZXMobV9z
ZWxlY3RvckNoZWNrZXIsIHNpYmxpbmdzLCBudGgpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4g
bV9zZWxlY3RvcnMubWF0Y2hlcyhtX3NlbGVjdG9yQ2hlY2tlciwgc2libGluZ3MsIG50aCk7Cisg
ICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRl
bnRFbGVtZW50LmNwcAppbmRleCAzN2Q1NzBiNWJhNjEyMDY5OTc2ZjE4ZmU3Y2ZiMzlkMTUwMmE0
ZTVkLi40ODM0ZDgzMmQyN2I5Zjg1MTcxMGFmYmVhMDk3NTRiMDI4NzNjNjAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKQEAgLTcy
LDYgKzcyLDE1IEBAIEhUTUxDb250ZW50RWxlbWVudDo6fkhUTUxDb250ZW50RWxlbWVudCgpCiB7
CiB9CiAKK0luc2VydGlvblBvaW50OjpQcmVtYXRjaFJlc3VsdCBIVE1MQ29udGVudEVsZW1lbnQ6
OnByZW1hdGNoKE5vZGUqKQoreworICAgIGlmIChzZWxlY3QoKS5pc051bGwoKSB8fCBzZWxlY3Qo
KS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBQcmVtYXRjaEZvcmNlTWF0Y2g7CisgICAgaWYg
KCFpc1NlbGVjdFZhbGlkKCkpCisgICAgICAgIHJldHVybiBQcmVtYXRjaEZvcmNlUmVqZWN0Owor
ICAgIHJldHVybiBQcmVtYXRjaE1hdGNoU2VsZWN0OworfQorCiBjb25zdCBBdG9taWNTdHJpbmcm
IEhUTUxDb250ZW50RWxlbWVudDo6c2VsZWN0KCkgY29uc3QKIHsKICAgICByZXR1cm4gZ2V0QXR0
cmlidXRlKHNlbGVjdEF0dHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
Q29udGVudEVsZW1lbnQuaAppbmRleCBhMzE4Y2Y3OGJlYzY5M2RhMTc4OGJlMmYxYjc0NGQ1ZjQ1
ZTFjNTJmLi5iYjVlOGUzNTcyM2QzZTQ1YmViZGMwOTczMzU4MzRjMzcxMGY5NmJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaApAQCAtNDYs
MTEgKzQ2LDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5IVE1MQ29udGVudEVsZW1lbnQoKTsK
IAogICAgIHZvaWQgc2V0U2VsZWN0KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNT
ZWxlY3RWYWxpZCgpOwotICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rv
ckxpc3QoKTsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OworCisgICAg
dmlydHVhbCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRjaChOb2RlKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2FuQWZmZWN0U2Vs
ZWN0b3IoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29s
IGlzU2VsZWN0VmFsaWQoKTsKIAogcHJvdGVjdGVkOgogICAgIEhUTUxDb250ZW50RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKQEAgLTgwLDcgKzgyLDcgQEAgaW5saW5l
IGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRNTENvbnRlbnRFbGVtZW50OjpzZWxlY3Rvckxpc3Qo
KQogaW5saW5lIGJvb2wgaXNIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlQobm9kZSk7Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTENvbnRl
bnRFbGVtZW50Ojpjb250ZW50VGFnTmFtZShub2RlLT5kb2N1bWVudCgpKSk7CisgICAgcmV0dXJu
IG5vZGUtPmlzSW5zZXJ0aW9uUG9pbnQoKSAmJiB0b0luc2VydGlvblBvaW50KG5vZGUpLT5pbnNl
cnRpb25Qb2ludFR5cGUoKSA9PSBJbnNlcnRpb25Qb2ludDo6Q29udGVudEluc2VydGlvblBvaW50
OwogfQogCiBpbmxpbmUgSFRNTENvbnRlbnRFbGVtZW50KiB0b0hUTUxDb250ZW50RWxlbWVudChO
b2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNo
YWRvd0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuY3BwCmluZGV4IDE3NDdlY2QxNzI5MDljZjIxZWVjZjYyM2I2Nzk3MzBiM2ZkNTUwZDcu
Ljg1MTg0Zjc2YmJhNTdmZGY2NjhjODAyYmQ4ZTg1OTgzOTM4OTBlMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKQEAgLTU0LDE3ICs1
NCw2IEBAIEhUTUxTaGFkb3dFbGVtZW50Ojp+SFRNTFNoYWRvd0VsZW1lbnQoKQogewogfQogCi1j
b25zdCBBdG9taWNTdHJpbmcmIEhUTUxTaGFkb3dFbGVtZW50OjpzZWxlY3QoKSBjb25zdAotewot
ICAgICByZXR1cm4gbnVsbEF0b207Ci19Ci0KLWNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRNTFNo
YWRvd0VsZW1lbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKENTU1NlbGVjdG9yTGlzdCwgc2VsZWN0b3JMaXN0LCAoQ1NTU2VsZWN0b3JMaXN0KCkpKTsK
LSAgICByZXR1cm4gc2VsZWN0b3JMaXN0OwotfQotCiBTaGFkb3dSb290KiBIVE1MU2hhZG93RWxl
bWVudDo6b2xkZXJTaGFkb3dSb290KCkKIHsKICAgICBpZiAoIXRyZWVTY29wZSgpLT5yb290Tm9k
ZSgpLT5pc1NoYWRvd1Jvb3QoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5oCmluZGV4IDMxZWU4NjgzMzMyMDdmOTlhOTZiMTI0Njg1NWU2OWY3ZGIx
OTU0YzcuLjFmMzhmOWZmNjgzN2JlMmM1NjRkNDRiZjA1M2UxZGZkZWQyODc2NWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaApAQCAtNDIsMTcg
KzQyLDEyIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkhUTUxTaGFkb3dFbGVtZW50KCk7CiAK
LSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9Ci0gICAg
dmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpIHsgcmV0dXJuIGVt
cHR5U2VsZWN0b3JMaXN0KCk7IH0KICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gU2hhZG93SW5zZXJ0aW9uUG9pbnQ7IH0KIAogICAg
IFNoYWRvd1Jvb3QqIG9sZGVyU2hhZG93Um9vdCgpOwogCiBwcml2YXRlOgogICAgIEhUTUxTaGFk
b3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgc3RhdGlj
IGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgZW1wdHlTZWxlY3Rvckxpc3QoKTsKIH07CiAKIGlubGlu
ZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCA1YWM1MjBkNTVlZDM5
MGZlMmZiOTdmMTAwOGJhYzkzNjY5ZjI1ODUwLi45NmZiMjUwMGYyMGFjN2FmYzkzYzhhZThlNWYy
ZWMyN2JlYzdlZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNl
cnRpb25Qb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwCkBAIC0xOTEsNiArMTkxLDEyIEBAIGJvb2wgSW5zZXJ0aW9uUG9pbnQ6OmNvbnRh
aW5zKGNvbnN0IE5vZGUqIG5vZGUpIGNvbnN0CiAgICAgcmV0dXJuIG1fZGlzdHJpYnV0aW9uLmNv
bnRhaW5zKGNvbnN0X2Nhc3Q8Tm9kZSo+KG5vZGUpKSB8fCAobm9kZS0+aXNTaGFkb3dSb290KCkg
JiYgU2NvcGVDb250ZW50RGlzdHJpYnV0aW9uOjphc3NpZ25lZFRvKHRvU2hhZG93Um9vdChub2Rl
KSkgPT0gdGhpcyk7CiB9CiAKK2NvbnN0IENTU1NlbGVjdG9yTGlzdCYgSW5zZXJ0aW9uUG9pbnQ6
OmVtcHR5U2VsZWN0b3JMaXN0KCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTU1NlbGVj
dG9yTGlzdCwgc2VsZWN0b3JMaXN0LCAoQ1NTU2VsZWN0b3JMaXN0KCkpKTsKKyAgICByZXR1cm4g
c2VsZWN0b3JMaXN0OworfQorCiBJbnNlcnRpb25Qb2ludCogcmVzb2x2ZVJlcHJvamVjdGlvbihj
b25zdCBOb2RlKiBwcm9qZWN0ZWROb2RlKQogewogICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRp
b25Qb2ludCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNl
cnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQu
aAppbmRleCAyMGNlNzdkMGEzNzllZmNjMjQ0OGE2NTg5OWQ2YzU4ZjM3ZjljOWI4Li5lYmFhNDBl
ZWRiOGFlN2M5NmNjMmI4Yjk1NGMzYWQwMzQ4ODZjNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAgLTQ4LDYgKzQ4LDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgQ29udGVudEluc2VydGlvblBvaW50CiAgICAgfTsKIAorICAgIGVudW0gUHJlbWF0Y2hS
ZXN1bHQgeworICAgICAgICBQcmVtYXRjaEZvcmNlTWF0Y2gsCisgICAgICAgIFByZW1hdGNoRm9y
Y2VSZWplY3QsCisgICAgICAgIFByZW1hdGNoTWF0Y2hTZWxlY3QKKyAgICB9OworCiAgICAgdmly
dHVhbCB+SW5zZXJ0aW9uUG9pbnQoKTsKIAogICAgIGJvb2wgaGFzRGlzdHJpYnV0aW9uKCkgY29u
c3QgeyByZXR1cm4gIW1fZGlzdHJpYnV0aW9uLmlzRW1wdHkoKTsgfQpAQCAtNTgsOSArNjQsOCBA
QCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXREaXN0cmlidXRlZE5vZGVz
KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgPSAwOwotICAgIHZpcnR1
YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSA9IDA7CisgICAgdmlydHVh
bCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRjaChOb2RlKikgeyByZXR1cm4gUHJlbWF0Y2hGb3JjZU1h
dGNoOyB9CisgICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgp
IHsgcmV0dXJuIGVtcHR5U2VsZWN0b3JMaXN0KCk7IH0KICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0
aW9uUG9pbnRUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjYW5BZmZlY3RTZWxl
Y3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgxLDYgKzg2LDggQEAgcHVibGlj
OgogICAgIE5vZGUqIG5leHRUbyhjb25zdCBOb2RlKiBub2RlKSBjb25zdCB7IHJldHVybiBtX2Rp
c3RyaWJ1dGlvbi5uZXh0VG8obm9kZSk7IH0KICAgICBOb2RlKiBwcmV2aW91c1RvKGNvbnN0IE5v
ZGUqIG5vZGUpIGNvbnN0IHsgcmV0dXJuIG1fZGlzdHJpYnV0aW9uLnByZXZpb3VzVG8obm9kZSk7
IH0KIAorICAgIHN0YXRpYyBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIGVtcHR5U2VsZWN0b3JMaXN0
KCk7CisKIHByb3RlY3RlZDoKICAgICBJbnNlcnRpb25Qb2ludChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBO
b2RlUmVuZGVyaW5nQ29udGV4dCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IDlhNDM3OWYzNTE3ZDYzMDdiNTcwOTEyMWE2NWEwYmU3Y2JjMTgyMzEuLmI1
YmNjOGVmMmUzNjNkODUxNmJhNGU1YTE5OTViN2NjYTQxYmRlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTMxMCw3ICszMTAsNyBAQCBib29sIEludGVybmFsczo6aXNW
YWxpZENvbnRlbnRTZWxlY3QoRWxlbWVudCogaW5zZXJ0aW9uUG9pbnQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgcmV0dXJuIHRvSW5zZXJ0
aW9uUG9pbnQoaW5zZXJ0aW9uUG9pbnQpLT5pc1NlbGVjdFZhbGlkKCk7CisgICAgcmV0dXJuIGlz
SFRNTENvbnRlbnRFbGVtZW50KGluc2VydGlvblBvaW50KSAmJiB0b0hUTUxDb250ZW50RWxlbWVu
dChpbnNlcnRpb25Qb2ludCktPmlzU2VsZWN0VmFsaWQoKTsKIH0KIAogTm9kZSogSW50ZXJuYWxz
Ojp0cmVlU2NvcGVSb290Tm9kZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBlYykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182242</attachid>
            <date>2013-01-10 18:57:57 -0800</date>
            <delta_ts>2013-01-10 19:46:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106614-20130111115459.patch</filename>
            <type>text/plain</type>
            <size>11660</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI2MzBiODVlZjc3YjVh
Y2FiMzA1NGQzNWUzMmU5MTU0YWFkMWEwOS4uZjE1MmYyN2RmN2M0NDUxNDk4MmNlZDQwOTE5NTFh
ZDQ4MjA2YWIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
UmVmYWN0b3Jpbmc6IEluc2VydGlvblBvaW50IGNvdWxkIHNpbXBsaWZ5IGl0cyBzdWJjbGFzcyBo
b29rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBjaGFuZ2Ugc2ltcGxpZmllcyBJbnNlcnRpb25Qb2ludCBvdmVycmlkZXMgYW5kIGdpdmUgc29t
ZSBmbGV4aWJpbGl0eSB0byBpdC4KKworICAgICAgICBUaGUgY2hhbmdlCisKKyAgICAgICAgLSBS
ZW1vdmVzIEluc2VydGlvblBvaW50Ojppc1NlbGVjdFZhbGlkKCkuIG5vdyBDb250ZW50U2VsZWN0
b3JRdWVyeSBwYXJzZXMgZ2l2ZW4gc2VsZWN0b3IgYW55d2F5LgorICAgICAgICAgIEludmFsaWQg
c2VsZWN0IGF0dHJpYnV0ZSBpcyBoYW5kbGVkIGJ5IG5ld2x5IGludHJvZHVjZWQgbWF0Y2hUeXBl
Rm9yKCkgbWV0aG9kLgorICAgICAgICAtIEludHJvZHVjZXMgSW5zZXJ0aW9uUG9pbnQ6Om1hdGNo
VHlwZUZvcigpIHRvIGdpdmUgYSBjaGFuY2UgZWFjaCBJbnNlcnRpb25Qb2ludCB0byBkZWNpZGUg
d2hldGhlciBpdAorICAgICAgICAgIGFjY2VwdHMgdGhlIGdpdmVuIG5vZGUgYXMgaXRzIGRpc3Ry
aWJ1dGlvbi4gVGhlbiBpdCBsZXRzIERldGFpbHNTdW1tYXJ5RWxlbWVudCBhZG9wdCBpdC4KKyAg
ICAgICAgLSBQdWxscyBzb21lIEhUTUxTaGFkb3dFbGVtZW50IG92ZXJyaWRlcyB1cCB0byBJbnNl
cnRpb25Qb2ludCBzbyB0aGF0IG90aGVyIHVwY29taW5nIEluc2VydGlvblBvaW50CisgICAgICAg
ICAgc3ViY2xhc3NlcyBkb24ndCBuZWVkIHRvIG92ZXJyaWRlIHRoZW0uCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBSZWZhY3RvcmluZy4KKworICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxlbWVudDo6RGV0YWls
c1N1bW1hcnlFbGVtZW50KToKKyAgICAgICAgLSBJbXBsZW1lbnRlZCBtYXRjaFR5cGVGb3IoKSB0
byBnZXQgcmlkIG9mIEhUTUxDb250ZW50RWxlbWVudCBtYWNoaW5lcnkgd2hpY2ggaXMgY29tcGls
ZWQgb3V0IGluIHRoZSB1cGNvbWluZyBjaGFuZ2UuCisgICAgICAgIChEZXRhaWxzU3VtbWFyeUVs
ZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5OjpDb250ZW50U2VsZWN0b3JR
dWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyk6
CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6bWF0Y2hUeXBlRm9yKTogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aDoKKyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc0hU
TUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1l
bnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50Lmg6CisgICAg
ICAgIChIVE1MU2hhZG93RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6OmVtcHR5U2VsZWN0
b3JMaXN0KTogTW92ZWQgZnJvbSBIVE1MU2hhZG93RWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpJbnNlcnRpb25Qb2ludDo6bWF0Y2hUeXBlRm9yKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpJbnNlcnRpb25Qb2ludDo6c2VsZWN0b3JMaXN0KTogTW92ZWQgZnJvbSBIVE1MU2hhZG93
RWxlbWVudC4KKyAgICAgICAgKEluc2VydGlvblBvaW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50
U2VsZWN0KToKKwogMjAxMy0wMS0xMCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3RvcmUgc2Nyb2xsYWJsZSBsYXllcidzIGNvbnRl
bnRzIHNpemUgZm9yIGNvb3JkaW5hdGVkIHNjcm9sbGFibGUgbGF5ZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKaW5kZXggYTI3ODZiYzZmODQyNGNiNzViYzQw
ZTQ0MTc5YTQ1Y2YxMDk0OGU1OS4uOGNlYzA4ZDZkNzYzM2NlYzE0MWMwMDVjMTgzNjQ0YTI3NTVh
NWJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcApAQCAt
NzEsOCArNzEsMTMgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEZXRhaWxzU3VtbWFyeUVsZW1l
bnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IEhUTUxDb250ZW50RWxlbWVudChIVE1M
TmFtZXM6OndlYmtpdFNoYWRvd0NvbnRlbnRUYWcsIGRvY3VtZW50KQorICAgIHsgfQorCisgICAg
dmlydHVhbCBNYXRjaFR5cGUgbWF0Y2hUeXBlRm9yKE5vZGUqIG5vZGUpIE9WRVJSSURFCiAgICAg
ewotICAgICAgICBzZXRTZWxlY3Qoc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSk7CisgICAgICAgIGlm
IChub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgbm9kZSA9PSBub2RlLT5wYXJlbnROb2RlKCktPnF1
ZXJ5U2VsZWN0b3Ioc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSwgQVNTRVJUX05PX0VYQ0VQVElPTikp
CisgICAgICAgICAgICByZXR1cm4gTWF0Y2hBY2NlcHQ7CisgICAgICAgIHJldHVybiBNYXRjaFJl
amVjdDsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9Db250ZW50U2VsZWN0b3JRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50U2VsZWN0b3JRdWVyeS5jcHAKaW5kZXggNjExOGM1MmM4MTE0YjUzY2NjZjAwMTk0MWMz
NTAzNWRlNDEyMWYyZC4uNDIxNTc1YjQyZmYzMDEzZDkxYjViZGEzMmY2NmQyNTc5N2YxNmNiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVl
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1
ZXJ5LmNwcApAQCAtNjgsOCArNjgsNyBAQCBDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVudFNl
bGVjdG9yUXVlcnkoSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KQogICAgIDogbV9pbnNl
cnRpb25Qb2ludChpbnNlcnRpb25Qb2ludCkKICAgICAsIG1fc2VsZWN0b3JDaGVja2VyKGluc2Vy
dGlvblBvaW50LT5kb2N1bWVudCgpKQogewotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aXNTZWxl
Y3RWYWxpZCgpKQotICAgICAgICBtX3NlbGVjdG9ycy5pbml0aWFsaXplKGluc2VydGlvblBvaW50
LT5zZWxlY3Rvckxpc3QoKSk7CisgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Q
b2ludC0+c2VsZWN0b3JMaXN0KCkpOwogfQogCiBib29sIENvbnRlbnRTZWxlY3RvclF1ZXJ5Ojpt
YXRjaGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGgpIGNv
bnN0CkBAIC03NywxNiArNzYsMTcgQEAgYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hl
cyhjb25zdCBWZWN0b3I8UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnQKICAgICBOb2Rl
KiBub2RlID0gc2libGluZ3NbbnRoXS5nZXQoKTsKICAgICBBU1NFUlQobm9kZSk7CiAKLSAgICBp
ZiAobV9pbnNlcnRpb25Qb2ludC0+c2VsZWN0KCkuaXNOdWxsKCkgfHwgbV9pbnNlcnRpb25Qb2lu
dC0+c2VsZWN0KCkuaXNFbXB0eSgpKQorICAgIHN3aXRjaCAobV9pbnNlcnRpb25Qb2ludC0+bWF0
Y2hUeXBlRm9yKG5vZGUpKSB7CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6TWF0Y2hBY2NlcHQ6
CiAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFtX2luc2VydGlvblBvaW50LT5pc1Nl
bGVjdFZhbGlkKCkpCisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6TWF0Y2hSZWplY3Q6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQorICAg
IGNhc2UgSW5zZXJ0aW9uUG9pbnQ6Ok1hdGNoU2VsZWN0OgorICAgICAgICByZXR1cm4gbm9kZS0+
aXNFbGVtZW50Tm9kZSgpICYmIG1fc2VsZWN0b3JzLm1hdGNoZXMobV9zZWxlY3RvckNoZWNrZXIs
IHNpYmxpbmdzLCBudGgpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gbV9zZWxlY3RvcnMubWF0
Y2hlcyhtX3NlbGVjdG9yQ2hlY2tlciwgc2libGluZ3MsIG50aCk7CisgICAgfQogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApp
bmRleCAzN2Q1NzBiNWJhNjEyMDY5OTc2ZjE4ZmU3Y2ZiMzlkMTUwMmE0ZTVkLi5jYzdiN2VjYTYz
OTQ2NDZjODFiOTBmN2RmMzVjZjQ3MGQxY2MyMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDE1IEBAIEhU
TUxDb250ZW50RWxlbWVudDo6fkhUTUxDb250ZW50RWxlbWVudCgpCiB7CiB9CiAKK0luc2VydGlv
blBvaW50OjpNYXRjaFR5cGUgSFRNTENvbnRlbnRFbGVtZW50OjptYXRjaFR5cGVGb3IoTm9kZSop
Cit7CisgICAgaWYgKHNlbGVjdCgpLmlzTnVsbCgpIHx8IHNlbGVjdCgpLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuIE1hdGNoQWNjZXB0OworICAgIGlmICghaXNTZWxlY3RWYWxpZCgpKQorICAg
ICAgICByZXR1cm4gTWF0Y2hSZWplY3Q7CisgICAgcmV0dXJuIE1hdGNoU2VsZWN0OworfQorCiBj
b25zdCBBdG9taWNTdHJpbmcmIEhUTUxDb250ZW50RWxlbWVudDo6c2VsZWN0KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gZ2V0QXR0cmlidXRlKHNlbGVjdEF0dHIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAppbmRleCBhMzE4Y2Y3OGJlYzY5M2Rh
MTc4OGJlMmYxYjc0NGQ1ZjQ1ZTFjNTJmLi41ZTJkMDMwNDIwZjQ2YjQwMDNlYzExZjYxMDc5NWZk
MDA5YWNhM2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29u
dGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuaApAQCAtNDYsMTEgKzQ2LDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5IVE1M
Q29udGVudEVsZW1lbnQoKTsKIAogICAgIHZvaWQgc2V0U2VsZWN0KGNvbnN0IEF0b21pY1N0cmlu
ZyYpOwotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpOwotICAgIHZpcnR1YWwgY29uc3QgQ1NTU2Vs
ZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKTsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVj
dCgpIGNvbnN0OworCisgICAgdmlydHVhbCBNYXRjaFR5cGUgbWF0Y2hUeXBlRm9yKE5vZGUqKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIENvbnRlbnRJbnNlcnRpb25Qb2ludDsgfQogICAgIHZpcnR1YWwg
Ym9vbCBjYW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRN
TENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwpAQCAtODAs
NyArODIsNyBAQCBpbmxpbmUgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBIVE1MQ29udGVudEVsZW1l
bnQ6OnNlbGVjdG9yTGlzdCgpCiBpbmxpbmUgYm9vbCBpc0hUTUxDb250ZW50RWxlbWVudChjb25z
dCBOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChub2RlKTsKLSAgICByZXR1cm4gbm9kZS0+aGFz
VGFnTmFtZShIVE1MQ29udGVudEVsZW1lbnQ6OmNvbnRlbnRUYWdOYW1lKG5vZGUtPmRvY3VtZW50
KCkpKTsKKyAgICByZXR1cm4gbm9kZS0+aXNJbnNlcnRpb25Qb2ludCgpICYmIHRvSW5zZXJ0aW9u
UG9pbnQobm9kZSktPmluc2VydGlvblBvaW50VHlwZSgpID09IEluc2VydGlvblBvaW50OjpDb250
ZW50SW5zZXJ0aW9uUG9pbnQ7CiB9CiAKIGlubGluZSBIVE1MQ29udGVudEVsZW1lbnQqIHRvSFRN
TENvbnRlbnRFbGVtZW50KE5vZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKaW5kZXggMTc0N2VjZDE3MjkwOWNmMjFlZWNmNjIz
YjY3OTczMGIzZmQ1NTBkNy4uODUxODRmNzZiYmE1N2ZkZjY2OGM4MDJiZDhlODU5ODM5Mzg5MGUw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50
LmNwcApAQCAtNTQsMTcgKzU0LDYgQEAgSFRNTFNoYWRvd0VsZW1lbnQ6On5IVE1MU2hhZG93RWxl
bWVudCgpCiB7CiB9CiAKLWNvbnN0IEF0b21pY1N0cmluZyYgSFRNTFNoYWRvd0VsZW1lbnQ6OnNl
bGVjdCgpIGNvbnN0Ci17Ci0gICAgIHJldHVybiBudWxsQXRvbTsKLX0KLQotY29uc3QgQ1NTU2Vs
ZWN0b3JMaXN0JiBIVE1MU2hhZG93RWxlbWVudDo6ZW1wdHlTZWxlY3Rvckxpc3QoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JMaXN0LCBzZWxlY3Rvckxpc3QsIChDU1NT
ZWxlY3Rvckxpc3QoKSkpOwotICAgIHJldHVybiBzZWxlY3Rvckxpc3Q7Ci19Ci0KIFNoYWRvd1Jv
b3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRlclNoYWRvd1Jvb3QoKQogewogICAgIGlmICghdHJl
ZVNjb3BlKCktPnJvb3ROb2RlKCktPmlzU2hhZG93Um9vdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKaW5kZXggMzFlZTg2ODMzMzIwN2Y5OWE5
NmIxMjQ2ODU1ZTY5ZjdkYjE5NTRjNy4uMWYzOGY5ZmY2ODM3YmUyYzU2NGQ0NGJmMDUzZTFkZmRl
ZDI4NzY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRv
d0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxl
bWVudC5oCkBAIC00MiwxNyArNDIsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+SFRNTFNo
YWRvd0VsZW1lbnQoKTsKIAotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3Qo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpIE9WRVJSSURFIHsgcmV0
dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JM
aXN0KCkgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQogICAgIHZpcnR1YWwgVHlwZSBp
bnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTaGFkb3dJbnNlcnRp
b25Qb2ludDsgfQogCiAgICAgU2hhZG93Um9vdCogb2xkZXJTaGFkb3dSb290KCk7CiAKIHByaXZh
dGU6CiAgICAgSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7Ci0KLSAgICBzdGF0aWMgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBlbXB0eVNlbGVjdG9yTGlz
dCgpOwogfTsKIAogaW5saW5lIGJvb2wgaXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKiBu
b2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9p
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmlu
ZGV4IDVhYzUyMGQ1NWVkMzkwZmUyZmI5N2YxMDA4YmFjOTM2NjlmMjU4NTAuLjk2ZmIyNTAwZjIw
YWM3YWZjOTNjOGFlOGU1ZjJlYzI3YmVjN2VkZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTE5MSw2ICsxOTEsMTIgQEAgYm9vbCBJbnNl
cnRpb25Qb2ludDo6Y29udGFpbnMoY29uc3QgTm9kZSogbm9kZSkgY29uc3QKICAgICByZXR1cm4g
bV9kaXN0cmlidXRpb24uY29udGFpbnMoY29uc3RfY2FzdDxOb2RlKj4obm9kZSkpIHx8IChub2Rl
LT5pc1NoYWRvd1Jvb3QoKSAmJiBTY29wZUNvbnRlbnREaXN0cmlidXRpb246OmFzc2lnbmVkVG8o
dG9TaGFkb3dSb290KG5vZGUpKSA9PSB0aGlzKTsKIH0KIAorY29uc3QgQ1NTU2VsZWN0b3JMaXN0
JiBJbnNlcnRpb25Qb2ludDo6ZW1wdHlTZWxlY3Rvckxpc3QoKQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ1NTU2VsZWN0b3JMaXN0LCBzZWxlY3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3Qo
KSkpOworICAgIHJldHVybiBzZWxlY3Rvckxpc3Q7Cit9CisKIEluc2VydGlvblBvaW50KiByZXNv
bHZlUmVwcm9qZWN0aW9uKGNvbnN0IE5vZGUqIHByb2plY3RlZE5vZGUpCiB7CiAgICAgSW5zZXJ0
aW9uUG9pbnQqIGluc2VydGlvblBvaW50ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDIwY2U3N2QwYTM3OWVmY2MyNDQ4YTY1ODk5ZDZjNThm
MzdmOWM5YjguLjg3MmRjYmNjNzk3ZTg0ZjU4MDYyNWJjYzgzZWQyNjc4Mjk2ZmU0ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaApAQCAtNDgsNiArNDgs
MTIgQEAgcHVibGljOgogICAgICAgICBDb250ZW50SW5zZXJ0aW9uUG9pbnQKICAgICB9OwogCisg
ICAgZW51bSBNYXRjaFR5cGUgeworICAgICAgICBNYXRjaEFjY2VwdCwKKyAgICAgICAgTWF0Y2hS
ZWplY3QsCisgICAgICAgIE1hdGNoU2VsZWN0CisgICAgfTsKKwogICAgIHZpcnR1YWwgfkluc2Vy
dGlvblBvaW50KCk7CiAKICAgICBib29sIGhhc0Rpc3RyaWJ1dGlvbigpIGNvbnN0IHsgcmV0dXJu
ICFtX2Rpc3RyaWJ1dGlvbi5pc0VtcHR5KCk7IH0KQEAgLTU4LDkgKzY0LDggQEAgcHVibGljOgog
CiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RGlzdHJpYnV0ZWROb2RlcygpIGNvbnN0Owog
Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpID0gMDsKLSAgICB2aXJ0dWFsIGNvbnN0IENT
U1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgPSAwOworICAgIHZpcnR1YWwgTWF0Y2hUeXBl
IG1hdGNoVHlwZUZvcihOb2RlKikgeyByZXR1cm4gTWF0Y2hBY2NlcHQ7IH0KKyAgICB2aXJ0dWFs
IGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgeyByZXR1cm4gZW1wdHlTZWxl
Y3Rvckxpc3QoKTsgfQogICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhbkFmZmVjdFNlbGVjdG9yKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIApAQCAtODEsNiArODYsOCBAQCBwdWJsaWM6CiAgICAgTm9kZSogbmV4dFRv
KGNvbnN0IE5vZGUqIG5vZGUpIGNvbnN0IHsgcmV0dXJuIG1fZGlzdHJpYnV0aW9uLm5leHRUbyhu
b2RlKTsgfQogICAgIE5vZGUqIHByZXZpb3VzVG8oY29uc3QgTm9kZSogbm9kZSkgY29uc3QgeyBy
ZXR1cm4gbV9kaXN0cmlidXRpb24ucHJldmlvdXNUbyhub2RlKTsgfQogCisgICAgc3RhdGljIGNv
bnN0IENTU1NlbGVjdG9yTGlzdCYgZW1wdHlTZWxlY3Rvckxpc3QoKTsKKwogcHJvdGVjdGVkOgog
ICAgIEluc2VydGlvblBvaW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAg
IHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0
JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggOWE0Mzc5
ZjM1MTdkNjMwN2I1NzA5MTIxYTY1YTBiZTdjYmMxODIzMS4uYjViY2M4ZWYyZTM2M2Q4NTE2YmE0
ZTVhMTk5NWI3Y2NhNDFiZGUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtMzEwLDcgKzMxMCw3IEBAIGJvb2wgSW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNlbGVjdChF
bGVtZW50KiBpbnNlcnRpb25Qb2ludCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKLSAgICByZXR1cm4gdG9JbnNlcnRpb25Qb2ludChpbnNlcnRpb25Q
b2ludCktPmlzU2VsZWN0VmFsaWQoKTsKKyAgICByZXR1cm4gaXNIVE1MQ29udGVudEVsZW1lbnQo
aW5zZXJ0aW9uUG9pbnQpICYmIHRvSFRNTENvbnRlbnRFbGVtZW50KGluc2VydGlvblBvaW50KS0+
aXNTZWxlY3RWYWxpZCgpOwogfQogCiBOb2RlKiBJbnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2Rl
KE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182245</attachid>
            <date>2013-01-10 19:46:26 -0800</date>
            <delta_ts>2013-01-10 20:01:37 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-106614-20130111124328.patch</filename>
            <type>text/plain</type>
            <size>11696</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI2MzBiODVlZjc3YjVh
Y2FiMzA1NGQzNWUzMmU5MTU0YWFkMWEwOS4uMmNhZGU0NDZmYzg2N2ZhNDM4Nzg5ZDY3NDg3Y2Fl
NzAyYzM1M2QyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
UmVmYWN0b3Jpbmc6IEluc2VydGlvblBvaW50IGNvdWxkIHNpbXBsaWZ5IGl0cyBzdWJjbGFzcyBo
b29rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgorCisgICAgICAgIFRo
aXMgY2hhbmdlIHNpbXBsaWZpZXMgSW5zZXJ0aW9uUG9pbnQgb3ZlcnJpZGVzIGFuZCBnaXZlIHNv
bWUgZmxleGliaWxpdHkgdG8gaXQuCisKKyAgICAgICAgVGhlIGNoYW5nZQorCisgICAgICAgIC0g
UmVtb3ZlcyBJbnNlcnRpb25Qb2ludDo6aXNTZWxlY3RWYWxpZCgpLiBub3cgQ29udGVudFNlbGVj
dG9yUXVlcnkgcGFyc2VzIGdpdmVuIHNlbGVjdG9yIGFueXdheS4KKyAgICAgICAgICBJbnZhbGlk
IHNlbGVjdCBhdHRyaWJ1dGUgaXMgaGFuZGxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIG1hdGNoVHlw
ZUZvcigpIG1ldGhvZC4KKyAgICAgICAgLSBJbnRyb2R1Y2VzIEluc2VydGlvblBvaW50OjptYXRj
aFR5cGVGb3IoKSB0byBnaXZlIGEgY2hhbmNlIGVhY2ggSW5zZXJ0aW9uUG9pbnQgdG8gZGVjaWRl
IHdoZXRoZXIgaXQKKyAgICAgICAgICBhY2NlcHRzIHRoZSBnaXZlbiBub2RlIGFzIGl0cyBkaXN0
cmlidXRpb24uIFRoZW4gaXQgbGV0cyBEZXRhaWxzU3VtbWFyeUVsZW1lbnQgYWRvcHQgaXQuCisg
ICAgICAgIC0gUHVsbHMgc29tZSBIVE1MU2hhZG93RWxlbWVudCBvdmVycmlkZXMgdXAgdG8gSW5z
ZXJ0aW9uUG9pbnQgc28gdGhhdCBvdGhlciB1cGNvbWluZyBJbnNlcnRpb25Qb2ludAorICAgICAg
ICAgIHN1YmNsYXNzZXMgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGVtLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gUmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxEZXRhaWxzRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXRhaWxzU3VtbWFyeUVsZW1lbnQ6OkRldGFp
bHNTdW1tYXJ5RWxlbWVudCk6CisgICAgICAgIC0gSW1wbGVtZW50ZWQgbWF0Y2hUeXBlRm9yKCkg
dG8gZ2V0IHJpZCBvZiBIVE1MQ29udGVudEVsZW1lbnQgbWFjaGluZXJ5IHdoaWNoIGlzIGNvbXBp
bGVkIG91dCBpbiB0aGUgdXBjb21pbmcgY2hhbmdlLgorICAgICAgICAoRGV0YWlsc1N1bW1hcnlF
bGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVudFNlbGVjdG9y
UXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6Om1hdGNoZXMp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6Om1hdGNoVHlwZUZvcik6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50
Lmg6CisgICAgICAgIChIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6aXNI
VE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oOgorICAg
ICAgICAoSFRNTFNoYWRvd0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlv
blBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjplbXB0eVNlbGVj
dG9yTGlzdCk6IE1vdmVkIGZyb20gSFRNTFNoYWRvd0VsZW1lbnQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zZXJ0aW9uUG9pbnQ6Om1hdGNoVHlwZUZvcik6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SW5zZXJ0aW9uUG9pbnQ6OnNlbGVjdG9yTGlzdCk6IE1vdmVkIGZyb20gSFRNTFNoYWRv
d0VsZW1lbnQuCisgICAgICAgIChJbnNlcnRpb25Qb2ludCk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVu
dFNlbGVjdCk6CisKIDIwMTMtMDEtMTAgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFN0b3JlIHNjcm9sbGFibGUgbGF5ZXIncyBjb250
ZW50cyBzaXplIGZvciBjb29yZGluYXRlZCBzY3JvbGxhYmxlIGxheWVycwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCmluZGV4IGEyNzg2YmM2Zjg0MjRjYjc1YmM0
MGU0NDE3OWE0NWNmMTA5NDhlNTkuLjA1ZWViYWI0MTBkODhiNDFlYjgxMTkzMTJhZDlkOTFjMjVk
NDFlYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKQEAg
LTcxLDggKzcxLDEzIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGV0YWlsc1N1bW1hcnlFbGVt
ZW50KERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBIVE1MQ29udGVudEVsZW1lbnQoSFRN
TE5hbWVzOjp3ZWJraXRTaGFkb3dDb250ZW50VGFnLCBkb2N1bWVudCkKKyAgICB7IH0KKworICAg
IHZpcnR1YWwgTWF0Y2hUeXBlIG1hdGNoVHlwZUZvcihOb2RlKiBub2RlKSBPVkVSUklERQogICAg
IHsKLSAgICAgICAgc2V0U2VsZWN0KHN1bW1hcnlRdWVyeVNlbGVjdG9yKCkpOworICAgICAgICBp
ZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIG5vZGUgPT0gbm9kZS0+cGFyZW50Tm9kZSgpLT5x
dWVyeVNlbGVjdG9yKHN1bW1hcnlRdWVyeVNlbGVjdG9yKCksIEFTU0VSVF9OT19FWENFUFRJT04p
KQorICAgICAgICAgICAgcmV0dXJuIEFsd2F5c01hdGNoZXM7CisgICAgICAgIHJldHVybiBOZXZl
ck1hdGNoZXM7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwCmluZGV4IDYxMThjNTJjODExNGI1M2NjY2YwMDE5
NDFjMzUwMzVkZTQxMjFmMmQuLjU3M2ZmNTVmMmQ3NmExYTIzZWIwNmMxZmEyYjZlZjJhMDRjYzY5
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3Rv
clF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5jcHAKQEAgLTY4LDggKzY4LDcgQEAgQ29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRl
bnRTZWxlY3RvclF1ZXJ5KEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKICAgICA6IG1f
aW5zZXJ0aW9uUG9pbnQoaW5zZXJ0aW9uUG9pbnQpCiAgICAgLCBtX3NlbGVjdG9yQ2hlY2tlcihp
bnNlcnRpb25Qb2ludC0+ZG9jdW1lbnQoKSkKIHsKLSAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmlz
U2VsZWN0VmFsaWQoKSkKLSAgICAgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Q
b2ludC0+c2VsZWN0b3JMaXN0KCkpOworICAgIG1fc2VsZWN0b3JzLmluaXRpYWxpemUoaW5zZXJ0
aW9uUG9pbnQtPnNlbGVjdG9yTGlzdCgpKTsKIH0KIAogYm9vbCBDb250ZW50U2VsZWN0b3JRdWVy
eTo6bWF0Y2hlcyhjb25zdCBWZWN0b3I8UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnRo
KSBjb25zdApAQCAtNzcsMTYgKzc2LDE3IEBAIGJvb2wgQ29udGVudFNlbGVjdG9yUXVlcnk6Om1h
dGNoZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBzaWJsaW5ncywgaW50IG50CiAgICAg
Tm9kZSogbm9kZSA9IHNpYmxpbmdzW250aF0uZ2V0KCk7CiAgICAgQVNTRVJUKG5vZGUpOwogCi0g
ICAgaWYgKG1faW5zZXJ0aW9uUG9pbnQtPnNlbGVjdCgpLmlzTnVsbCgpIHx8IG1faW5zZXJ0aW9u
UG9pbnQtPnNlbGVjdCgpLmlzRW1wdHkoKSkKKyAgICBzd2l0Y2ggKG1faW5zZXJ0aW9uUG9pbnQt
Pm1hdGNoVHlwZUZvcihub2RlKSkgeworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OkFsd2F5c01h
dGNoZXM6CiAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFtX2luc2VydGlvblBvaW50
LT5pc1NlbGVjdFZhbGlkKCkpCisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6TmV2ZXJNYXRjaGVz
OgogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUo
KSkKKyAgICBjYXNlIEluc2VydGlvblBvaW50OjpIYXNUb01hdGNoU2VsZWN0b3I6CisgICAgICAg
IHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgbV9zZWxlY3RvcnMubWF0Y2hlcyhtX3Nl
bGVjdG9yQ2hlY2tlciwgc2libGluZ3MsIG50aCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBt
X3NlbGVjdG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVja2VyLCBzaWJsaW5ncywgbnRoKTsKKyAg
ICB9CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxD
b250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuY3BwCmluZGV4IDM3ZDU3MGI1YmE2MTIwNjk5NzZmMThmZTdjZmIzOWQxNTAyYTRl
NWQuLmMyZWYyN2ZkZDFjYmE0ODVmNDNiYWUxMzZkNjA0ZGY2NzNkOGFkOGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNzIs
NiArNzIsMTUgQEAgSFRNTENvbnRlbnRFbGVtZW50Ojp+SFRNTENvbnRlbnRFbGVtZW50KCkKIHsK
IH0KIAorSW5zZXJ0aW9uUG9pbnQ6Ok1hdGNoVHlwZSBIVE1MQ29udGVudEVsZW1lbnQ6Om1hdGNo
VHlwZUZvcihOb2RlKikKK3sKKyAgICBpZiAoc2VsZWN0KCkuaXNOdWxsKCkgfHwgc2VsZWN0KCku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gQWx3YXlzTWF0Y2hlczsKKyAgICBpZiAoIWlzU2Vs
ZWN0VmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIE5ldmVyTWF0Y2hlczsKKyAgICByZXR1cm4gSGFz
VG9NYXRjaFNlbGVjdG9yOworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxDb250ZW50RWxl
bWVudDo6c2VsZWN0KCkgY29uc3QKIHsKICAgICByZXR1cm4gZ2V0QXR0cmlidXRlKHNlbGVjdEF0
dHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aAppbmRleCBhMzE4Y2Y3OGJlYzY5M2RhMTc4OGJlMmYxYjc0NGQ1ZjQ1ZTFjNTJmLi41ZTJkMDMw
NDIwZjQ2YjQwMDNlYzExZjYxMDc5NWZkMDA5YWNhM2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaApAQCAtNDYsMTEgKzQ2LDEzIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5IVE1MQ29udGVudEVsZW1lbnQoKTsKIAogICAgIHZvaWQgc2V0
U2VsZWN0KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBzZWxlY3QoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpOwot
ICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKTsKKyAgICBj
b25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OworCisgICAgdmlydHVhbCBNYXRjaFR5
cGUgbWF0Y2hUeXBlRm9yKE5vZGUqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IENTU1Nl
bGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBUeXBlIGlu
c2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIENvbnRlbnRJbnNlcnRp
b25Qb2ludDsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgp
OwogCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwpAQCAtODAsNyArODIsNyBAQCBpbmxpbmUgY29uc3QgQ1NTU2VsZWN0
b3JMaXN0JiBIVE1MQ29udGVudEVsZW1lbnQ6OnNlbGVjdG9yTGlzdCgpCiBpbmxpbmUgYm9vbCBp
c0hUTUxDb250ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChub2Rl
KTsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MQ29udGVudEVsZW1lbnQ6OmNvbnRl
bnRUYWdOYW1lKG5vZGUtPmRvY3VtZW50KCkpKTsKKyAgICByZXR1cm4gbm9kZS0+aXNJbnNlcnRp
b25Qb2ludCgpICYmIHRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmluc2VydGlvblBvaW50VHlwZSgp
ID09IEluc2VydGlvblBvaW50OjpDb250ZW50SW5zZXJ0aW9uUG9pbnQ7CiB9CiAKIGlubGluZSBI
VE1MQ29udGVudEVsZW1lbnQqIHRvSFRNTENvbnRlbnRFbGVtZW50KE5vZGUqIG5vZGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKaW5kZXgg
MTc0N2VjZDE3MjkwOWNmMjFlZWNmNjIzYjY3OTczMGIzZmQ1NTBkNy4uODUxODRmNzZiYmE1N2Zk
ZjY2OGM4MDJiZDhlODU5ODM5Mzg5MGUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcApAQCAtNTQsMTcgKzU0LDYgQEAgSFRNTFNoYWRv
d0VsZW1lbnQ6On5IVE1MU2hhZG93RWxlbWVudCgpCiB7CiB9CiAKLWNvbnN0IEF0b21pY1N0cmlu
ZyYgSFRNTFNoYWRvd0VsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0Ci17Ci0gICAgIHJldHVybiBudWxs
QXRvbTsKLX0KLQotY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBIVE1MU2hhZG93RWxlbWVudDo6ZW1w
dHlTZWxlY3Rvckxpc3QoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JM
aXN0LCBzZWxlY3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOwotICAgIHJldHVybiBzZWxl
Y3Rvckxpc3Q7Ci19Ci0KIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRlclNoYWRv
d1Jvb3QoKQogewogICAgIGlmICghdHJlZVNjb3BlKCktPnJvb3ROb2RlKCktPmlzU2hhZG93Um9v
dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgK
aW5kZXggMzFlZTg2ODMzMzIwN2Y5OWE5NmIxMjQ2ODU1ZTY5ZjdkYjE5NTRjNy4uMWYzOGY5ZmY2
ODM3YmUyYzU2NGQ0NGJmMDUzZTFkZmRlZDI4NzY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCkBAIC00MiwxNyArNDIsMTIgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB+SFRNTFNoYWRvd0VsZW1lbnQoKTsKIAotICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxl
Y3RWYWxpZCgpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IENT
U1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3Qo
KTsgfQogICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBTaGFkb3dJbnNlcnRpb25Qb2ludDsgfQogCiAgICAgU2hhZG93Um9vdCogb2xk
ZXJTaGFkb3dSb290KCk7CiAKIHByaXZhdGU6CiAgICAgSFRNTFNoYWRvd0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBzdGF0aWMgY29uc3QgQ1NTU2VsZWN0
b3JMaXN0JiBlbXB0eVNlbGVjdG9yTGlzdCgpOwogfTsKIAogaW5saW5lIGJvb2wgaXNIVE1MU2hh
ZG93RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmluZGV4IDVhYzUyMGQ1NWVkMzkwZmUyZmI5N2YxMDA4YmFj
OTM2NjlmMjU4NTAuLjk2ZmIyNTAwZjIwYWM3YWZjOTNjOGFlOGU1ZjJlYzI3YmVjN2VkZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTE5
MSw2ICsxOTEsMTIgQEAgYm9vbCBJbnNlcnRpb25Qb2ludDo6Y29udGFpbnMoY29uc3QgTm9kZSog
bm9kZSkgY29uc3QKICAgICByZXR1cm4gbV9kaXN0cmlidXRpb24uY29udGFpbnMoY29uc3RfY2Fz
dDxOb2RlKj4obm9kZSkpIHx8IChub2RlLT5pc1NoYWRvd1Jvb3QoKSAmJiBTY29wZUNvbnRlbnRE
aXN0cmlidXRpb246OmFzc2lnbmVkVG8odG9TaGFkb3dSb290KG5vZGUpKSA9PSB0aGlzKTsKIH0K
IAorY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBJbnNlcnRpb25Qb2ludDo6ZW1wdHlTZWxlY3Rvckxp
c3QoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JMaXN0LCBzZWxlY3Rv
ckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOworICAgIHJldHVybiBzZWxlY3Rvckxpc3Q7Cit9
CisKIEluc2VydGlvblBvaW50KiByZXNvbHZlUmVwcm9qZWN0aW9uKGNvbnN0IE5vZGUqIHByb2pl
Y3RlZE5vZGUpCiB7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50ID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDIwY2U3N2Qw
YTM3OWVmY2MyNDQ4YTY1ODk5ZDZjNThmMzdmOWM5YjguLjc0MjQzZTljYWE0NTM3YzU5NGE5Mjkw
YjQ2ODExZTNiNjAwNWJjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0luc2VydGlvblBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuaApAQCAtNDgsNiArNDgsMTIgQEAgcHVibGljOgogICAgICAgICBDb250ZW50SW5z
ZXJ0aW9uUG9pbnQKICAgICB9OwogCisgICAgZW51bSBNYXRjaFR5cGUgeworICAgICAgICBBbHdh
eXNNYXRjaGVzLAorICAgICAgICBOZXZlck1hdGNoZXMsCisgICAgICAgIEhhc1RvTWF0Y2hTZWxl
Y3RvcgorICAgIH07CisKICAgICB2aXJ0dWFsIH5JbnNlcnRpb25Qb2ludCgpOwogCiAgICAgYm9v
bCBoYXNEaXN0cmlidXRpb24oKSBjb25zdCB7IHJldHVybiAhbV9kaXN0cmlidXRpb24uaXNFbXB0
eSgpOyB9CkBAIC01OCw5ICs2NCw4IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8Tm9kZUxp
c3Q+IGdldERpc3RyaWJ1dGVkTm9kZXMoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGlzU2VsZWN0
VmFsaWQoKSA9IDA7Ci0gICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9y
TGlzdCgpID0gMDsKKyAgICB2aXJ0dWFsIE1hdGNoVHlwZSBtYXRjaFR5cGVGb3IoTm9kZSopIHsg
cmV0dXJuIEFsd2F5c01hdGNoZXM7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlz
dCYgc2VsZWN0b3JMaXN0KCkgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQogICAgIHZp
cnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGNhbkFmZmVjdFNlbGVjdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODEs
NiArODYsOCBAQCBwdWJsaWM6CiAgICAgTm9kZSogbmV4dFRvKGNvbnN0IE5vZGUqIG5vZGUpIGNv
bnN0IHsgcmV0dXJuIG1fZGlzdHJpYnV0aW9uLm5leHRUbyhub2RlKTsgfQogICAgIE5vZGUqIHBy
ZXZpb3VzVG8oY29uc3QgTm9kZSogbm9kZSkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmlidXRpb24u
cHJldmlvdXNUbyhub2RlKTsgfQogCisgICAgc3RhdGljIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYg
ZW1wdHlTZWxlY3Rvckxpc3QoKTsKKwogcHJvdGVjdGVkOgogICAgIEluc2VydGlvblBvaW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgT1ZFUlJJREU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggOWE0Mzc5ZjM1MTdkNjMwN2I1NzA5MTIxYTY1
YTBiZTdjYmMxODIzMS4uYjViY2M4ZWYyZTM2M2Q4NTE2YmE0ZTVhMTk5NWI3Y2NhNDFiZGUzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzEwLDcgKzMxMCw3IEBAIGJv
b2wgSW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNlbGVjdChFbGVtZW50KiBpbnNlcnRpb25Qb2lu
dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICByZXR1cm4gdG9JbnNlcnRpb25Qb2ludChpbnNlcnRpb25Qb2ludCktPmlzU2VsZWN0VmFsaWQo
KTsKKyAgICByZXR1cm4gaXNIVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpICYmIHRv
SFRNTENvbnRlbnRFbGVtZW50KGluc2VydGlvblBvaW50KS0+aXNTZWxlY3RWYWxpZCgpOwogfQog
CiBOb2RlKiBJbnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5vZGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>