<?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>46139</bug_id>
          
          <creation_ts>2010-09-20 17:02:26 -0700</creation_ts>
          <short_desc>[chromium] LayerChromium and its derived types should use virtual destructors</short_desc>
          <delta_ts>2010-09-27 17:21:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vangelis Kokkevis">vangelis</reporter>
          <assigned_to name="Vangelis Kokkevis">vangelis</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>281917</commentid>
    <comment_count>0</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-20 17:02:26 -0700</bug_when>
    <thetext>Currently LayerChromium doesn&apos;t define it destructor as virtual which means that destructors for derived types don&apos;t execute when layers get removed from the layer tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281995</commentid>
    <comment_count>1</comment_count>
      <attachid>68170</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-20 18:29:14 -0700</bug_when>
    <thetext>Created attachment 68170
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282002</commentid>
    <comment_count>2</comment_count>
      <attachid>68170</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-20 18:32:21 -0700</bug_when>
    <thetext>Comment on attachment 68170
proposed patch

R=me

Technically the virtual keyword on ContentLayerChromium is redundant, but I prefer to have it for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282007</commentid>
    <comment_count>3</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-20 18:36:17 -0700</bug_when>
    <thetext>Committed r67906: &lt;http://trac.webkit.org/changeset/67906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282028</commentid>
    <comment_count>4</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-20 19:13:16 -0700</bug_when>
    <thetext>Reverted r67906 for reason:

Change causes chromium to crash when switching pages

Committed r67912: &lt;http://trac.webkit.org/changeset/67912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285800</commentid>
    <comment_count>5</comment_count>
      <attachid>68973</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-27 15:26:34 -0700</bug_when>
    <thetext>Created attachment 68973
Proposed patch - Does proper ref counting for the compositor

Corrected the reason why the previous patch was causing crashes which was that LayerChromium destructors could end up getting called after the layer compositor and its associated gl context were destroyed. This patch makes the LayerRendererChromium a ref counted class and the LayerChromium&apos;s used by it are now holding a reference to LayerRendererChromium they are used with. This ensures that the gl context used by the layers will outlive the layers themselves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285802</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-27 15:28:47 -0700</bug_when>
    <thetext>Attachment 68973 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:138:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285806</commentid>
    <comment_count>7</comment_count>
      <attachid>68975</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-27 15:33:37 -0700</bug_when>
    <thetext>Created attachment 68975
proposed patch - fixed style issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285831</commentid>
    <comment_count>8</comment_count>
      <attachid>68975</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-27 15:52:24 -0700</bug_when>
    <thetext>Comment on attachment 68975
proposed patch - fixed style issue

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285870</commentid>
    <comment_count>9</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-09-27 16:36:14 -0700</bug_when>
    <thetext>Committed r68442: &lt;http://trac.webkit.org/changeset/68442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285936</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-27 17:21:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68442 might have broken Leopard Intel Release (Tests)
The following changes are on the blame list:
http://trac.webkit.org/changeset/68441
http://trac.webkit.org/changeset/68442
http://trac.webkit.org/changeset/68443
http://trac.webkit.org/changeset/68444
http://trac.webkit.org/changeset/68445</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68170</attachid>
            <date>2010-09-20 18:29:14 -0700</date>
            <delta_ts>2010-09-27 15:26:34 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>virtualDestructors_46139.txt</filename>
            <type>text/plain</type>
            <size>1833</size>
            <attacher name="Vangelis Kokkevis">vangelis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzkwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMjAgIFZhbmdlbGlzIEtva2tldmlzICA8dmFuZ2VsaXNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtjaHJvbWl1bV0gTWFraW5nIGRlc3RydWN0b3JzIG9mIExheWVyQ2hyb21pdW0gYW5k
IENvbnRlbnRMYXllckNocm9taXVtIHZpcnR1YWwKKyAgICAgICAgc28gdGhhdCB0aGUgZGVyaXZl
ZCBjbGFzcycgZGVzdHJ1Y3RvciBjb2RlIGdldHMgY2FsbGVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYxMzkKKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorCiAyMDEwLTA5LTIwICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1l
cyBSb2JpbnNvbi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29u
dGVudExheWVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmgJKHJldmlzaW9uIDY3ODkxKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIENvbnRlbnRMYXllckNocm9t
aXVtIDogcHVibGljIExheWUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb250ZW50
TGF5ZXJDaHJvbWl1bT4gY3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIgPSAwKTsK
IAotICAgIH5Db250ZW50TGF5ZXJDaHJvbWl1bSgpOworICAgIHZpcnR1YWwgfkNvbnRlbnRMYXll
ckNocm9taXVtKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ29udGVudHMoKTsKICAgICB2
aXJ0dWFsIHZvaWQgZHJhdygpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgJKHJldmlzaW9uIDY3ODkxKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IGNyZWF0
ZShHcmFwaGljc0xheWVyQ2hyb21pdW0qIG93bmVyID0gMCk7CiAKLSAgICB+TGF5ZXJDaHJvbWl1
bSgpOworICAgIHZpcnR1YWwgfkxheWVyQ2hyb21pdW0oKTsKIAogICAgIGNvbnN0IExheWVyQ2hy
b21pdW0qIHJvb3RMYXllcigpIGNvbnN0OwogICAgIExheWVyQ2hyb21pdW0qIHN1cGVybGF5ZXIo
KSBjb25zdDsK
</data>
<flag name="review"
          id="57645"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68973</attachid>
            <date>2010-09-27 15:26:34 -0700</date>
            <delta_ts>2010-09-27 15:33:37 -0700</delta_ts>
            <desc>Proposed patch - Does proper ref counting for the compositor</desc>
            <filename>refCounting_46139.diff</filename>
            <type>text/plain</type>
            <size>11580</size>
            <attacher name="Vangelis Kokkevis">vangelis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY4NDI4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzMSBAQAorMjAxMC0wOS0yNyAgVmFuZ2VsaXMgS29ra2V2aXMgIDx2YW5nZWxp
c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW2Nocm9taXVtXSBNYWtpbmcgTGF5ZXJDaHJvbWl1bSdzIGRlc3RydWN0b3Igdmly
dHVhbCBzbyB0aGF0IHRoZSBhcHByb3ByaWF0ZQorICAgICAgICBkZXJpdmVkIGNsYXNzIGRlc3Ry
dWN0b3JzIGdldCBjYWxsZWQgd2hlbiB0aGUgbGF5ZXIgdHJlZSBpcyB0YWtlbiBkb3duLgorICAg
ICAgICBDb250ZW50TGF5ZXJDaHJvbWl1bSBhbmQgaXRzIGRlcml2ZWQgdHlwZXMgKEltYWdlTGF5
ZXJDaHJvbWl1bSBmb3Igbm93KSB3aWxsCisgICAgICAgIGZyZWUgdXAgdGhlIHRleHR1cmUgYWxs
b2NhdGVkIGZvciB0aGVpciBjb250ZW50cyB1cG9uIGRlc3RydWN0aW9uLiBUbyBhdm9pZAorICAg
ICAgICBoYXZpbmcgdGhlIExheWVyUmVuZGVyZXJDaHJvbWl1bSBkZXN0cnVjdG9yIGdldHRpbmcg
Y2FsbGVkIGJlZm9yZSB0aGUgbGF5ZXJzCisgICAgICAgIGFyZSBkZXN0cm95ZWQgYW5kIHRodXMg
bGVhdmluZyB0aGVpciB0ZXh0dXJlcyBvcnBoYW5lZCwgdGhlIGxheWVycyBub3cgaG9sZAorICAg
ICAgICBhIHJlZiBjb3VudGVkIHBvaW50ZXIgdG8gdGhlIHJlbmRlcmVyIHRoYXQgdXNlcyB0aGVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYxMzkK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjp+Q29udGVu
dExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW06
OnNldExheWVyUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21p
dW06OmNsZWFudXBSZXNvdXJjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0NvbnRlbnRMYXllckNocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9t
aXVtOjpzZXRMYXllclJlbmRlcmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjps
YXllclJlbmRlcmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVt
OjpkZWxldGVMYXllclRleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpjbGVhbnVwU2hhcmVkT2JqZWN0cyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisKIDIwMTAtMDktMjcgIERhdmlk
IEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWlu
aWcuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXll
ckNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA2ODI3MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTAgKzEyNiwyOSBAQCBDb250ZW50TGF5ZXJDaHJvbWl1
bTo6Q29udGVudExheWVyQ2hyb21pCiAKIENvbnRlbnRMYXllckNocm9taXVtOjp+Q29udGVudExh
eWVyQ2hyb21pdW0oKQogewotICAgIGlmIChtX2NvbnRlbnRzVGV4dHVyZSkKLSAgICAgICAgR0xD
KGxheWVyUmVuZGVyZXJDb250ZXh0KCksIGxheWVyUmVuZGVyZXJDb250ZXh0KCktPmRlbGV0ZVRl
eHR1cmUobV9jb250ZW50c1RleHR1cmUpKTsKKyAgICBjbGVhbnVwUmVzb3VyY2VzKCk7CiB9CiAK
K3ZvaWQgQ29udGVudExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVyZXIoTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiByZW5kZXJlcikKK3sKKyAgICAvLyBJZiB3ZSdyZSBjaGFuZ2luZyBsYXllciBy
ZW5kZXJlcnMgdGhlbiB3ZSBuZWVkIHRvIGZyZWUgdXAgYW55IHJlc291cmNlcworICAgIC8vIGFs
bG9jYXRlZCBieSB0aGUgb2xkIHJlbmRlcmVyLgorICAgIGlmIChsYXllclJlbmRlcmVyKCkgJiYg
bGF5ZXJSZW5kZXJlcigpICE9IHJlbmRlcmVyKSB7CisgICAgICAgIGNsZWFudXBSZXNvdXJjZXMo
KTsKKyAgICB9CisKKyAgICBMYXllckNocm9taXVtOjpzZXRMYXllclJlbmRlcmVyKHJlbmRlcmVy
KTsKK30KKwordm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y2xlYW51cFJlc291cmNlcygpCit7
CisgICAgaWYgKGxheWVyUmVuZGVyZXIoKSkgeworICAgICAgICBpZiAobV9jb250ZW50c1RleHR1
cmUpIHsKKyAgICAgICAgICAgIGxheWVyUmVuZGVyZXIoKS0+ZGVsZXRlTGF5ZXJUZXh0dXJlKG1f
Y29udGVudHNUZXh0dXJlKTsKKyAgICAgICAgICAgIG1fY29udGVudHNUZXh0dXJlID0gMDsKKyAg
ICAgICAgfQorICAgIH0KK30KIAogdm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29u
dGVudHMoKQogewpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250
ZW50TGF5ZXJDaHJvbWl1bS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5oCShyZXZpc2lvbiA2ODI3MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0u
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTEgKzQ0LDEyIEBAIGNsYXNzIENvbnRlbnRMYXllckNo
cm9taXVtIDogcHVibGljIExheWUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb250
ZW50TGF5ZXJDaHJvbWl1bT4gY3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIgPSAw
KTsKIAotICAgIH5Db250ZW50TGF5ZXJDaHJvbWl1bSgpOworICAgIHZpcnR1YWwgfkNvbnRlbnRM
YXllckNocm9taXVtKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ29udGVudHMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZHJhdygpOwogICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnQoKSB7
IHJldHVybiBtX293bmVyICYmIG1fb3duZXItPmRyYXdzQ29udGVudCgpOyB9CisgICAgdmlydHVh
bCB2b2lkIHNldExheWVyUmVuZGVyZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAKICAgICAv
LyBTdG9yZXMgdmFsdWVzIHRoYXQgYXJlIHNoYXJlZCBiZXR3ZWVuIGluc3RhbmNlcyBvZiB0aGlz
IGNsYXNzIHRoYXQgYXJlCiAgICAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBzYW1lIExheWVyUmVu
ZGVyZXJDaHJvbWl1bSAoYW5kIGhlbmNlIHRoZSBzYW1lIEdMCkBAIC03OSw2ICs4MCw4IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZVRleHR1cmVSZWN0KHZvaWQqIHBpeGVscywgY29uc3Qg
SW50U2l6ZSYgYml0bWFwU2l6ZSwgY29uc3QgSW50U2l6ZSYgcmVxdWlyZWRUZXh0dXJlU2l6ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIHVu
c2lnbmVkIHRleHR1cmVJZCk7CiAKKyAgICB2b2lkIGNsZWFudXBSZXNvdXJjZXMoKTsKKwogICAg
IHVuc2lnbmVkIG1fY29udGVudHNUZXh0dXJlOwogICAgIEludFNpemUgbV9hbGxvY2F0ZWRUZXh0
dXJlU2l6ZTsKICAgICBib29sIG1fc2tpcHNEcmF3OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9u
IDY4MjczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9t
aXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0LDkgKzE3NCw2IEBAIExheWVyQ2hyb21pdW06
On5MYXllckNocm9taXVtKCkKIAogdm9pZCBMYXllckNocm9taXVtOjpzZXRMYXllclJlbmRlcmVy
KExheWVyUmVuZGVyZXJDaHJvbWl1bSogcmVuZGVyZXIpCiB7Ci0gICAgLy8gSXQncyBub3QgZXhw
ZWN0ZWQgdGhhdCBsYXllcnMgd2lsbCBldmVyIHN3aXRjaCByZW5kZXJlcnMuCi0gICAgQVNTRVJU
KCFyZW5kZXJlciB8fCAhbV9sYXllclJlbmRlcmVyIHx8IHJlbmRlcmVyID09IG1fbGF5ZXJSZW5k
ZXJlcik7Ci0KICAgICBtX2xheWVyUmVuZGVyZXIgPSByZW5kZXJlcjsKIH0KIApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0u
aAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBjbGFzcyBM
YXllckNocm9taXVtIDogcHVibGljIFJlZkNvdW50ZWQ8CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3du
ZXIgPSAwKTsKIAotICAgIH5MYXllckNocm9taXVtKCk7CisgICAgdmlydHVhbCB+TGF5ZXJDaHJv
bWl1bSgpOwogCiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyKCkgY29uc3Q7CiAg
ICAgTGF5ZXJDaHJvbWl1bSogc3VwZXJsYXllcigpIGNvbnN0OwpAQCAtMTQ3LDcgKzE0Nyw5IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgcHJlc2VydmVzM0QoKSB7IHJldHVybiBtX293bmVyICYmIG1f
b3duZXItPnByZXNlcnZlczNEKCk7IH0KIAotICAgIHZvaWQgc2V0TGF5ZXJSZW5kZXJlcihMYXll
clJlbmRlcmVyQ2hyb21pdW0qKTsKKyAgICAvLyBEZXJpdmVkIHR5cGVzIG11c3Qgb3ZlcnJpZGUg
dGhpcyBtZXRob2QgaWYgdGhleSBuZWVkIHRvIHJlYWN0IHRvIGEgY2hhbmdlCisgICAgLy8gaW4g
dGhlIExheWVyUmVuZGVyZXJDaHJvbWl1bS4KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJSZW5k
ZXJlcihMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKIAogICAgIHZvaWQgc2V0T3duZXIoR3JhcGhp
Y3NMYXllckNocm9taXVtKiBvd25lcikgeyBtX293bmVyID0gb3duZXI7IH0KIApAQCAtMjAwLDcg
KzIwMiw3IEBAIHByb3RlY3RlZDoKICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0qIG1fb3duZXI7
CiAgICAgTGF5ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2hyb21pdW0qIG93bmVyKTsKIAotICAg
IExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1f
bGF5ZXJSZW5kZXJlcjsgfQorICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJl
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJSZW5kZXJlci5nZXQoKTsgfQogICAgIEdyYXBoaWNz
Q29udGV4dDNEKiBsYXllclJlbmRlcmVyQ29udGV4dCgpIGNvbnN0OwogCiAgICAgc3RhdGljIHZv
aWQgZHJhd1RleHR1cmVkUXVhZChHcmFwaGljc0NvbnRleHQzRCosIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBwcm9qZWN0aW9uTWF0cml4LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bGF5ZXJNYXRyaXgsCkBAIC0yNjAsNyArMjYyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVl
ZHNEaXNwbGF5T25Cb3VuZHNDaGFuZ2U7CiAKICAgICAvLyBQb2ludHMgdG8gdGhlIGxheWVyIHJl
bmRlcmVyIHRoYXQgdXBkYXRlcyBhbmQgZHJhd3MgdGhpcyBsYXllci4KLSAgICBMYXllclJlbmRl
cmVyQ2hyb21pdW0qIG1fbGF5ZXJSZW5kZXJlcjsKKyAgICBSZWZQdHI8TGF5ZXJSZW5kZXJlckNo
cm9taXVtPiBtX2xheWVyUmVuZGVyZXI7CiAKICAgICBGbG9hdFJlY3QgbV9mcmFtZTsKICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3RyYW5zZm9ybTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDEy
ICs3MywxMiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZUxheWVyWihjb25zdCBMCiAgICAg
cmV0dXJuIHRyYW5zZm9ybUEubTQzKCkgPCB0cmFuc2Zvcm1CLm00MygpOwogfQogCi1QYXNzT3du
UHRyPExheWVyUmVuZGVyZXJDaHJvbWl1bT4gTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjcmVhdGUo
UGFzc093blB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dCkKK1Bhc3NSZWZQdHI8TGF5ZXJS
ZW5kZXJlckNocm9taXVtPiBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNyZWF0ZShQYXNzT3duUHRy
PEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KQogewogICAgIGlmICghY29udGV4dCkKICAgICAg
ICAgcmV0dXJuIDA7CiAKLSAgICBPd25QdHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBsYXllclJl
bmRlcmVyKG5ldyBMYXllclJlbmRlcmVyQ2hyb21pdW0oY29udGV4dCkpOworICAgIFJlZlB0cjxM
YXllclJlbmRlcmVyQ2hyb21pdW0+IGxheWVyUmVuZGVyZXIoYWRvcHRSZWYobmV3IExheWVyUmVu
ZGVyZXJDaHJvbWl1bShjb250ZXh0KSkpOwogICAgIGlmICghbGF5ZXJSZW5kZXJlci0+aGFyZHdh
cmVDb21wb3NpdGluZygpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMzgwLDYgKzM4MCwxNCBA
QCB1bnNpZ25lZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNyZWF0ZUxhCiAgICAgcmV0dXJuIHRl
eHR1cmVJZDsKIH0KIAordm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRlbGV0ZUxheWVyVGV4
dHVyZSh1bnNpZ25lZCB0ZXh0dXJlSWQpCit7CisgICAgaWYgKCF0ZXh0dXJlSWQpCisgICAgICAg
IHJldHVybjsKKworICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+ZGVsZXRlVGV4dHVyZSh0
ZXh0dXJlSWQpKTsKK30KKwogLy8gUmV0dXJucyB0cnVlIGlmIGFueSBwYXJ0IG9mIHRoZSBsYXll
ciBmYWxscyB3aXRoaW4gdGhlIHZpc2libGVSZWN0CiBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6aXNMYXllclZpc2libGUoTGF5ZXJDaHJvbWl1bSogbGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBtYXRyaXgsIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0KQogewpAQCAtNzM4
LDcgKzc0Niw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjbGVhbnVwU2hhcmUKICAg
ICB9CiAKICAgICBpZiAobV9yb290TGF5ZXJUZXh0dXJlSWQpIHsKLSAgICAgICAgR0xDKG1fY29u
dGV4dCwgbV9jb250ZXh0LT5kZWxldGVUZXh0dXJlKG1fcm9vdExheWVyVGV4dHVyZUlkKSk7Cisg
ICAgICAgIGRlbGV0ZUxheWVyVGV4dHVyZShtX3Jvb3RMYXllclRleHR1cmVJZCk7CiAgICAgICAg
IG1fcm9vdExheWVyVGV4dHVyZUlkID0gMDsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uaAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw4IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTU0LDkgKzU2LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiAKIC8vIENsYXNzIHRoYXQgaGFuZGxlcyBk
cmF3aW5nIG9mIGNvbXBvc2l0ZWQgcmVuZGVyIGxheWVycyB1c2luZyBHTC4KLWNsYXNzIExheWVy
UmVuZGVyZXJDaHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclJlbmRl
cmVyQ2hyb21pdW0gOiBwdWJsaWMgUmVmQ291bnRlZDxMYXllclJlbmRlcmVyQ2hyb21pdW0+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclJlbmRlcmVyQ2hyb21pdW0+IGNy
ZWF0ZShQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBncmFwaGljc0NvbnRleHQzRCk7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBjcmVhdGUoUGFzc093
blB0cjxHcmFwaGljc0NvbnRleHQzRD4gZ3JhcGhpY3NDb250ZXh0M0QpOwogCiAgICAgTGF5ZXJS
ZW5kZXJlckNocm9taXVtKFBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGdyYXBoaWNzQ29u
dGV4dDNEKTsKICAgICB+TGF5ZXJSZW5kZXJlckNocm9taXVtKCk7CkBAIC05MCw2ICs5Miw3IEBA
IHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHQqIHJvb3RMYXllckdyYXBoaWNzQ29udGV4dCgp
IGNvbnN0IHsgcmV0dXJuIG1fcm9vdExheWVyR3JhcGhpY3NDb250ZXh0LmdldCgpOyB9CiAKICAg
ICB1bnNpZ25lZCBjcmVhdGVMYXllclRleHR1cmUoKTsKKyAgICB2b2lkIGRlbGV0ZUxheWVyVGV4
dHVyZSh1bnNpZ25lZCk7CiAKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0dMQ2FsbChHcmFwaGljc0Nv
bnRleHQzRCosIGNvbnN0IGNoYXIqIGNvbW1hbmQsIGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5l
KTsKIApJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY4NDI4KQorKysgV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTI3
ICBWYW5nZWxpcyBLb2trZXZpcyAgPHZhbmdlbGlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIFdlYlZpZXdJ
bXBsIG5vdyBob2xkcyBhIHJlZiBjb3VudGVkIHBvaW50ZXIgdG8gdGhlIExheWVyUmVuZGVyZXJD
aHJvbWl1bQorICAgICAgICB0byBlbnN1cmUgdGhhdCB0aGUgY29tcG9zaXRvciBkb2VzIG5vdCBn
ZXQgZGVzdHJveWVkIGJlZm9yZSB0aGUgbGF5ZXJzIHVzZWQKKyAgICAgICAgYnkgaXQgZG8uIFRo
aXMgd2FzIGRvbmUgdG8gZW5zdXJlIHRoYXQgbGF5ZXJzIHByb3Blcmx5IGNsZWFuIHVwIHRoZWly
IHRleHR1cmUKKyAgICAgICAgcmVzb3VyY2VzIG9uIGRlc3RydWN0aW9uLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYxMzkKKworICAgICAgICAqIHNy
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRJc0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5o
OgorCiAyMDEwLTA5LTI3ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMxMSw2ICsyMzExLDggQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6c2V0SXNBY2NlbGVyYXRlZENvbXBvcwogICAgICAgICAgICAgbV9jb21wb3Np
dG9yQ3JlYXRpb25GYWlsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKKyAgICAgICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+c2V0
Um9vdExheWVyKDApOwogICAgICAgICBtX2xheWVyUmVuZGVyZXIgPSAwOwogICAgICAgICBtX2lz
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSA9IGZhbHNlOwogICAgIH0KSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuaAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyMyw3ICs1MjMsNyBAQCBw
cml2YXRlOgogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFdlYkNvcmU6
OkludFJlY3QgbV9zY3JvbGxEYW1hZ2U7Ci0gICAgT3duUHRyPFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bT4gbV9sYXllclJlbmRlcmVyOworICAgIFJlZlB0cjxXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW0+IG1fbGF5ZXJSZW5kZXJlcjsKICAgICBib29sIG1faXNBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQWN0aXZlOwogICAgIGJvb2wgbV9jb21wb3NpdG9yQ3JlYXRpb25GYWlsZWQ7
CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68975</attachid>
            <date>2010-09-27 15:33:37 -0700</date>
            <delta_ts>2010-09-27 15:52:24 -0700</delta_ts>
            <desc>proposed patch - fixed style issue</desc>
            <filename>refCounting_46139_2.diff</filename>
            <type>text/plain</type>
            <size>11571</size>
            <attacher name="Vangelis Kokkevis">vangelis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY4NDI4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzMSBAQAorMjAxMC0wOS0yNyAgVmFuZ2VsaXMgS29ra2V2aXMgIDx2YW5nZWxp
c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW2Nocm9taXVtXSBNYWtpbmcgTGF5ZXJDaHJvbWl1bSdzIGRlc3RydWN0b3Igdmly
dHVhbCBzbyB0aGF0IHRoZSBhcHByb3ByaWF0ZQorICAgICAgICBkZXJpdmVkIGNsYXNzIGRlc3Ry
dWN0b3JzIGdldCBjYWxsZWQgd2hlbiB0aGUgbGF5ZXIgdHJlZSBpcyB0YWtlbiBkb3duLgorICAg
ICAgICBDb250ZW50TGF5ZXJDaHJvbWl1bSBhbmQgaXRzIGRlcml2ZWQgdHlwZXMgKEltYWdlTGF5
ZXJDaHJvbWl1bSBmb3Igbm93KSB3aWxsCisgICAgICAgIGZyZWUgdXAgdGhlIHRleHR1cmUgYWxs
b2NhdGVkIGZvciB0aGVpciBjb250ZW50cyB1cG9uIGRlc3RydWN0aW9uLiBUbyBhdm9pZAorICAg
ICAgICBoYXZpbmcgdGhlIExheWVyUmVuZGVyZXJDaHJvbWl1bSBkZXN0cnVjdG9yIGdldHRpbmcg
Y2FsbGVkIGJlZm9yZSB0aGUgbGF5ZXJzCisgICAgICAgIGFyZSBkZXN0cm95ZWQgYW5kIHRodXMg
bGVhdmluZyB0aGVpciB0ZXh0dXJlcyBvcnBoYW5lZCwgdGhlIGxheWVycyBub3cgaG9sZAorICAg
ICAgICBhIHJlZiBjb3VudGVkIHBvaW50ZXIgdG8gdGhlIHJlbmRlcmVyIHRoYXQgdXNlcyB0aGVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYxMzkK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjp+Q29udGVu
dExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW06
OnNldExheWVyUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21p
dW06OmNsZWFudXBSZXNvdXJjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0NvbnRlbnRMYXllckNocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9t
aXVtOjpzZXRMYXllclJlbmRlcmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjps
YXllclJlbmRlcmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVt
OjpkZWxldGVMYXllclRleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpjbGVhbnVwU2hhcmVkT2JqZWN0cyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisKIDIwMTAtMDktMjcgIERhdmlk
IEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWlu
aWcuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXll
ckNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA2ODI3MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTAgKzEyNiwyOCBAQCBDb250ZW50TGF5ZXJDaHJvbWl1
bTo6Q29udGVudExheWVyQ2hyb21pCiAKIENvbnRlbnRMYXllckNocm9taXVtOjp+Q29udGVudExh
eWVyQ2hyb21pdW0oKQogewotICAgIGlmIChtX2NvbnRlbnRzVGV4dHVyZSkKLSAgICAgICAgR0xD
KGxheWVyUmVuZGVyZXJDb250ZXh0KCksIGxheWVyUmVuZGVyZXJDb250ZXh0KCktPmRlbGV0ZVRl
eHR1cmUobV9jb250ZW50c1RleHR1cmUpKTsKKyAgICBjbGVhbnVwUmVzb3VyY2VzKCk7CiB9CiAK
K3ZvaWQgQ29udGVudExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVyZXIoTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiByZW5kZXJlcikKK3sKKyAgICAvLyBJZiB3ZSdyZSBjaGFuZ2luZyBsYXllciBy
ZW5kZXJlcnMgdGhlbiB3ZSBuZWVkIHRvIGZyZWUgdXAgYW55IHJlc291cmNlcworICAgIC8vIGFs
bG9jYXRlZCBieSB0aGUgb2xkIHJlbmRlcmVyLgorICAgIGlmIChsYXllclJlbmRlcmVyKCkgJiYg
bGF5ZXJSZW5kZXJlcigpICE9IHJlbmRlcmVyKQorICAgICAgICBjbGVhbnVwUmVzb3VyY2VzKCk7
CisKKyAgICBMYXllckNocm9taXVtOjpzZXRMYXllclJlbmRlcmVyKHJlbmRlcmVyKTsKK30KKwor
dm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y2xlYW51cFJlc291cmNlcygpCit7CisgICAgaWYg
KGxheWVyUmVuZGVyZXIoKSkgeworICAgICAgICBpZiAobV9jb250ZW50c1RleHR1cmUpIHsKKyAg
ICAgICAgICAgIGxheWVyUmVuZGVyZXIoKS0+ZGVsZXRlTGF5ZXJUZXh0dXJlKG1fY29udGVudHNU
ZXh0dXJlKTsKKyAgICAgICAgICAgIG1fY29udGVudHNUZXh0dXJlID0gMDsKKyAgICAgICAgfQor
ICAgIH0KK30KIAogdm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29udGVudHMoKQog
ewpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJD
aHJvbWl1bS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5oCShyZXZpc2lvbiA2ODI3MykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDQsMTEgKzQ0LDEyIEBAIGNsYXNzIENvbnRlbnRMYXllckNocm9taXVtIDog
cHVibGljIExheWUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJD
aHJvbWl1bT4gY3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIgPSAwKTsKIAotICAg
IH5Db250ZW50TGF5ZXJDaHJvbWl1bSgpOworICAgIHZpcnR1YWwgfkNvbnRlbnRMYXllckNocm9t
aXVtKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ29udGVudHMoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZHJhdygpOwogICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnQoKSB7IHJldHVybiBt
X293bmVyICYmIG1fb3duZXItPmRyYXdzQ29udGVudCgpOyB9CisgICAgdmlydHVhbCB2b2lkIHNl
dExheWVyUmVuZGVyZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAKICAgICAvLyBTdG9yZXMg
dmFsdWVzIHRoYXQgYXJlIHNoYXJlZCBiZXR3ZWVuIGluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIHRo
YXQgYXJlCiAgICAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBzYW1lIExheWVyUmVuZGVyZXJDaHJv
bWl1bSAoYW5kIGhlbmNlIHRoZSBzYW1lIEdMCkBAIC03OSw2ICs4MCw4IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIHVwZGF0ZVRleHR1cmVSZWN0KHZvaWQqIHBpeGVscywgY29uc3QgSW50U2l6ZSYg
Yml0bWFwU2l6ZSwgY29uc3QgSW50U2l6ZSYgcmVxdWlyZWRUZXh0dXJlU2l6ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIHVuc2lnbmVkIHRl
eHR1cmVJZCk7CiAKKyAgICB2b2lkIGNsZWFudXBSZXNvdXJjZXMoKTsKKwogICAgIHVuc2lnbmVk
IG1fY29udGVudHNUZXh0dXJlOwogICAgIEludFNpemUgbV9hbGxvY2F0ZWRUZXh0dXJlU2l6ZTsK
ICAgICBib29sIG1fc2tpcHNEcmF3OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllckNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDY4MjczKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTc0LDkgKzE3NCw2IEBAIExheWVyQ2hyb21pdW06On5MYXllckNo
cm9taXVtKCkKIAogdm9pZCBMYXllckNocm9taXVtOjpzZXRMYXllclJlbmRlcmVyKExheWVyUmVu
ZGVyZXJDaHJvbWl1bSogcmVuZGVyZXIpCiB7Ci0gICAgLy8gSXQncyBub3QgZXhwZWN0ZWQgdGhh
dCBsYXllcnMgd2lsbCBldmVyIHN3aXRjaCByZW5kZXJlcnMuCi0gICAgQVNTRVJUKCFyZW5kZXJl
ciB8fCAhbV9sYXllclJlbmRlcmVyIHx8IHJlbmRlcmVyID09IG1fbGF5ZXJSZW5kZXJlcik7Ci0K
ICAgICBtX2xheWVyUmVuZGVyZXIgPSByZW5kZXJlcjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgNCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAkocmV2aXNp
b24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hy
b21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBjbGFzcyBMYXllckNocm9t
aXVtIDogcHVibGljIFJlZkNvdW50ZWQ8CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gY3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIgPSAwKTsK
IAotICAgIH5MYXllckNocm9taXVtKCk7CisgICAgdmlydHVhbCB+TGF5ZXJDaHJvbWl1bSgpOwog
CiAgICAgY29uc3QgTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyKCkgY29uc3Q7CiAgICAgTGF5ZXJD
aHJvbWl1bSogc3VwZXJsYXllcigpIGNvbnN0OwpAQCAtMTQ3LDcgKzE0Nyw5IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgcHJlc2VydmVzM0QoKSB7IHJldHVybiBtX293bmVyICYmIG1fb3duZXItPnBy
ZXNlcnZlczNEKCk7IH0KIAotICAgIHZvaWQgc2V0TGF5ZXJSZW5kZXJlcihMYXllclJlbmRlcmVy
Q2hyb21pdW0qKTsKKyAgICAvLyBEZXJpdmVkIHR5cGVzIG11c3Qgb3ZlcnJpZGUgdGhpcyBtZXRo
b2QgaWYgdGhleSBuZWVkIHRvIHJlYWN0IHRvIGEgY2hhbmdlCisgICAgLy8gaW4gdGhlIExheWVy
UmVuZGVyZXJDaHJvbWl1bS4KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJSZW5kZXJlcihMYXll
clJlbmRlcmVyQ2hyb21pdW0qKTsKIAogICAgIHZvaWQgc2V0T3duZXIoR3JhcGhpY3NMYXllckNo
cm9taXVtKiBvd25lcikgeyBtX293bmVyID0gb3duZXI7IH0KIApAQCAtMjAwLDcgKzIwMiw3IEBA
IHByb3RlY3RlZDoKICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0qIG1fb3duZXI7CiAgICAgTGF5
ZXJDaHJvbWl1bShHcmFwaGljc0xheWVyQ2hyb21pdW0qIG93bmVyKTsKIAotICAgIExheWVyUmVu
ZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJSZW5k
ZXJlcjsgfQorICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcigpIGNvbnN0
IHsgcmV0dXJuIG1fbGF5ZXJSZW5kZXJlci5nZXQoKTsgfQogICAgIEdyYXBoaWNzQ29udGV4dDNE
KiBsYXllclJlbmRlcmVyQ29udGV4dCgpIGNvbnN0OwogCiAgICAgc3RhdGljIHZvaWQgZHJhd1Rl
eHR1cmVkUXVhZChHcmFwaGljc0NvbnRleHQzRCosIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiBwcm9qZWN0aW9uTWF0cml4LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbGF5ZXJNYXRy
aXgsCkBAIC0yNjAsNyArMjYyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNEaXNwbGF5
T25Cb3VuZHNDaGFuZ2U7CiAKICAgICAvLyBQb2ludHMgdG8gdGhlIGxheWVyIHJlbmRlcmVyIHRo
YXQgdXBkYXRlcyBhbmQgZHJhd3MgdGhpcyBsYXllci4KLSAgICBMYXllclJlbmRlcmVyQ2hyb21p
dW0qIG1fbGF5ZXJSZW5kZXJlcjsKKyAgICBSZWZQdHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBt
X2xheWVyUmVuZGVyZXI7CiAKICAgICBGbG9hdFJlY3QgbV9mcmFtZTsKICAgICBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCBtX3RyYW5zZm9ybTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAko
cmV2aXNpb24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDEyICs3MywxMiBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZUxheWVyWihjb25zdCBMCiAgICAgcmV0dXJuIHRy
YW5zZm9ybUEubTQzKCkgPCB0cmFuc2Zvcm1CLm00MygpOwogfQogCi1QYXNzT3duUHRyPExheWVy
UmVuZGVyZXJDaHJvbWl1bT4gTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjcmVhdGUoUGFzc093blB0
cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dCkKK1Bhc3NSZWZQdHI8TGF5ZXJSZW5kZXJlckNo
cm9taXVtPiBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNyZWF0ZShQYXNzT3duUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KQogewogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBPd25QdHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBsYXllclJlbmRlcmVyKG5l
dyBMYXllclJlbmRlcmVyQ2hyb21pdW0oY29udGV4dCkpOworICAgIFJlZlB0cjxMYXllclJlbmRl
cmVyQ2hyb21pdW0+IGxheWVyUmVuZGVyZXIoYWRvcHRSZWYobmV3IExheWVyUmVuZGVyZXJDaHJv
bWl1bShjb250ZXh0KSkpOwogICAgIGlmICghbGF5ZXJSZW5kZXJlci0+aGFyZHdhcmVDb21wb3Np
dGluZygpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMzgwLDYgKzM4MCwxNCBAQCB1bnNpZ25l
ZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNyZWF0ZUxhCiAgICAgcmV0dXJuIHRleHR1cmVJZDsK
IH0KIAordm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRlbGV0ZUxheWVyVGV4dHVyZSh1bnNp
Z25lZCB0ZXh0dXJlSWQpCit7CisgICAgaWYgKCF0ZXh0dXJlSWQpCisgICAgICAgIHJldHVybjsK
KworICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+ZGVsZXRlVGV4dHVyZSh0ZXh0dXJlSWQp
KTsKK30KKwogLy8gUmV0dXJucyB0cnVlIGlmIGFueSBwYXJ0IG9mIHRoZSBsYXllciBmYWxscyB3
aXRoaW4gdGhlIHZpc2libGVSZWN0CiBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6aXNMYXll
clZpc2libGUoTGF5ZXJDaHJvbWl1bSogbGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiBtYXRyaXgsIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0KQogewpAQCAtNzM4LDcgKzc0Niw3
IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjbGVhbnVwU2hhcmUKICAgICB9CiAKICAg
ICBpZiAobV9yb290TGF5ZXJUZXh0dXJlSWQpIHsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9j
b250ZXh0LT5kZWxldGVUZXh0dXJlKG1fcm9vdExheWVyVGV4dHVyZUlkKSk7CisgICAgICAgIGRl
bGV0ZUxheWVyVGV4dHVyZShtX3Jvb3RMYXllclRleHR1cmVJZCk7CiAgICAgICAgIG1fcm9vdExh
eWVyVGV4dHVyZUlkID0gMDsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAko
cmV2aXNpb24gNjgyNzMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBACiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNp
ZiBQTEFURk9STShDRykKQEAgLTU0LDkgKzU2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgR3JhcGhpY3NDb250ZXh0M0Q7CiAKIC8vIENsYXNzIHRoYXQgaGFuZGxlcyBkcmF3aW5nIG9m
IGNvbXBvc2l0ZWQgcmVuZGVyIGxheWVycyB1c2luZyBHTC4KLWNsYXNzIExheWVyUmVuZGVyZXJD
aHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21p
dW0gOiBwdWJsaWMgUmVmQ291bnRlZDxMYXllclJlbmRlcmVyQ2hyb21pdW0+IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclJlbmRlcmVyQ2hyb21pdW0+IGNyZWF0ZShQYXNz
T3duUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBncmFwaGljc0NvbnRleHQzRCk7CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8TGF5ZXJSZW5kZXJlckNocm9taXVtPiBjcmVhdGUoUGFzc093blB0cjxHcmFw
aGljc0NvbnRleHQzRD4gZ3JhcGhpY3NDb250ZXh0M0QpOwogCiAgICAgTGF5ZXJSZW5kZXJlckNo
cm9taXVtKFBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGdyYXBoaWNzQ29udGV4dDNEKTsK
ICAgICB+TGF5ZXJSZW5kZXJlckNocm9taXVtKCk7CkBAIC05MCw2ICs5Miw3IEBAIHB1YmxpYzoK
ICAgICBHcmFwaGljc0NvbnRleHQqIHJvb3RMYXllckdyYXBoaWNzQ29udGV4dCgpIGNvbnN0IHsg
cmV0dXJuIG1fcm9vdExheWVyR3JhcGhpY3NDb250ZXh0LmdldCgpOyB9CiAKICAgICB1bnNpZ25l
ZCBjcmVhdGVMYXllclRleHR1cmUoKTsKKyAgICB2b2lkIGRlbGV0ZUxheWVyVGV4dHVyZSh1bnNp
Z25lZCk7CiAKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0dMQ2FsbChHcmFwaGljc0NvbnRleHQzRCos
IGNvbnN0IGNoYXIqIGNvbW1hbmQsIGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lKTsKIApJbmRl
eDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY4NDI4KQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTI3ICBWYW5nZWxp
cyBLb2trZXZpcyAgPHZhbmdlbGlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIFdlYlZpZXdJbXBsIG5vdyBo
b2xkcyBhIHJlZiBjb3VudGVkIHBvaW50ZXIgdG8gdGhlIExheWVyUmVuZGVyZXJDaHJvbWl1bQor
ICAgICAgICB0byBlbnN1cmUgdGhhdCB0aGUgY29tcG9zaXRvciBkb2VzIG5vdCBnZXQgZGVzdHJv
eWVkIGJlZm9yZSB0aGUgbGF5ZXJzIHVzZWQKKyAgICAgICAgYnkgaXQgZG8uIFRoaXMgd2FzIGRv
bmUgdG8gZW5zdXJlIHRoYXQgbGF5ZXJzIHByb3Blcmx5IGNsZWFuIHVwIHRoZWlyIHRleHR1cmUK
KyAgICAgICAgcmVzb3VyY2VzIG9uIGRlc3RydWN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYxMzkKKworICAgICAgICAqIHNyYy9XZWJWaWV3
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRJc0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdBY3RpdmUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEw
LTA5LTI3ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMxMSw2ICsyMzExLDggQEAgdm9pZCBXZWJWaWV3SW1w
bDo6c2V0SXNBY2NlbGVyYXRlZENvbXBvcwogICAgICAgICAgICAgbV9jb21wb3NpdG9yQ3JlYXRp
b25GYWlsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1f
bGF5ZXJSZW5kZXJlcikKKyAgICAgICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+c2V0Um9vdExheWVy
KDApOwogICAgICAgICBtX2xheWVyUmVuZGVyZXIgPSAwOwogICAgICAgICBtX2lzQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0FjdGl2ZSA9IGZhbHNlOwogICAgIH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAkocmV2aXNpb24gNjgyNzMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyMyw3ICs1MjMsNyBAQCBwcml2YXRlOgog
CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFdlYkNvcmU6OkludFJlY3Qg
bV9zY3JvbGxEYW1hZ2U7Ci0gICAgT3duUHRyPFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1
bT4gbV9sYXllclJlbmRlcmVyOworICAgIFJlZlB0cjxXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW0+IG1fbGF5ZXJSZW5kZXJlcjsKICAgICBib29sIG1faXNBY2NlbGVyYXRlZENvbXBvc2l0
aW5nQWN0aXZlOwogICAgIGJvb2wgbV9jb21wb3NpdG9yQ3JlYXRpb25GYWlsZWQ7CiAjZW5kaWYK
</data>
<flag name="review"
          id="58580"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>