<?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>103207</bug_id>
          
          <creation_ts>2012-11-25 16:23:53 -0800</creation_ts>
          <short_desc>Be consistent in handling of *Image::frameAtIndex (and related) return values</short_desc>
          <delta_ts>2012-11-29 12:13:50 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>noam</cc>
    
    <cc>peter+ews</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775043</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-25 16:23:53 -0800</bug_when>
    <thetext>Under certain conditions, the various image object &quot;frameAtIndex&quot; methods return null.  This means that &apos;nativeImageForCurrentFrame&quot; can also return null.

This has resulted in a set of patches to ImageSVG (Bug 14531), BitmapImage (Bug 68753), ImageCG (Bug 61684), GraphicsLayerChromium (Bug 98456) and others (Bug 39797) to deal with the null return.

A number of classes check for null return and exit early (ImageWx.cpp, parts of ImageWinCE.cpp, ImageSkia.cpp, ImageCairoWin.cpp, ImageQt.cpp, ImageMac.mm, BitmapImageCG.cpp, BitmapImageCairo.cpp)

However, several others take the return value and use without validating (ImageCGWin.cpp, ImageCairoWin.cpp, parts of ImageWinCE.cpp)

This bug applies the same null checking used elsewhere in the codebase to these missed locations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775054</commentid>
    <comment_count>1</comment_count>
      <attachid>175898</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-25 16:49:32 -0800</bug_when>
    <thetext>Created attachment 175898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775058</commentid>
    <comment_count>2</comment_count>
      <attachid>175898</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-25 16:55:13 -0800</bug_when>
    <thetext>Comment on attachment 175898
Patch

Attachment 175898 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14982425</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775060</commentid>
    <comment_count>3</comment_count>
      <attachid>175898</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-25 16:59:41 -0800</bug_when>
    <thetext>Comment on attachment 175898
Patch

Attachment 175898 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14989360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775064</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-25 17:05:34 -0800</bug_when>
    <thetext>These kinds of bugs are likely to creep in again.  I wonder if any of C++ method declarations could help in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775066</commentid>
    <comment_count>5</comment_count>
      <attachid>175901</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-25 17:08:54 -0800</bug_when>
    <thetext>Created attachment 175901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775077</commentid>
    <comment_count>6</comment_count>
      <attachid>175901</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-25 17:51:57 -0800</bug_when>
    <thetext>Comment on attachment 175901
Patch

Attachment 175901 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14985439

New failing tests:
svg/W3C-SVG-1.1/animate-elem-52-t.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775097</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-25 19:20:39 -0800</bug_when>
    <thetext>I don&apos;t think the cr-linux failure is real, based on a review of the test bot output, and the fact that the cr-android test seems to succeed.

Can any Chromium people confirm for me if the patch causes a failure for them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778353</commentid>
    <comment_count>8</comment_count>
      <attachid>176581</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-28 14:37:19 -0800</bug_when>
    <thetext>Created attachment 176581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778371</commentid>
    <comment_count>9</comment_count>
      <attachid>176581</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-11-28 14:48:04 -0800</bug_when>
    <thetext>Comment on attachment 176581
Patch

Attachment 176581 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15023580</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779252</commentid>
    <comment_count>10</comment_count>
      <attachid>176581</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-11-29 11:42:17 -0800</bug_when>
    <thetext>Comment on attachment 176581
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779296</commentid>
    <comment_count>11</comment_count>
      <attachid>176581</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 12:13:45 -0800</bug_when>
    <thetext>Comment on attachment 176581
Patch

Clearing flags on attachment: 176581

Committed r136147: &lt;http://trac.webkit.org/changeset/136147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779297</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 12:13:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175898</attachid>
            <date>2012-11-25 16:49:32 -0800</date>
            <delta_ts>2012-11-25 17:08:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103207-20121125164712.patch</filename>
            <type>text/plain</type>
            <size>10228</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTY3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTI1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AZ21haWwuY29tPgorCisgICAgICAgIEJlIGNvbnNpc3RlbnQgaW4g
aGFuZGxpbmcgb2YgZnJhbWVBdEluZGV4IChhbmQgcmVsYXRlZCkgcmV0dXJucy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuZGVyIHZhcmlvdXMgY29u
ZGl0aW9ucywgZnJhbWVBdEluZGV4IChhbmQgdGhlcmVmb3JlLAorICAgICAgICBuYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSkgcmV0dXJucyBudWxsLiBBIHNlcmllcyBvZiBidWdzIG92ZXIKKyAg
ICAgICAgdGhlIHllYXJzIGhhcyBlbnN1cmVkIG51bGwgcmV0dXJucyBhcmUgaGFuZGxlZCBpbiBz
b21lIGNhc2VzLAorICAgICAgICBidXQgdGhlcmUgYXJlIGEgaGFuZGZ1bCBvZiByZW1haW5pbmcg
Y2FzZXMgd2hlcmUgdGhpcyBpcyBzdGlsbCBhCisgICAgICAgIHByb2JsZW0uIAorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgYXMgdGhlc2UgbG93LWxldmVsIGZ1bmN0aW9ucyBhcmUgY292ZXJlZCBi
eQorICAgICAgICBudW1lcm91cyBleGlzdGluZyB0ZXN0IGNhc2VzLgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIE1vdmUg
V29ya2VyRXhlY3V0aW9uQ29udGV4dFByb3h5Ojppbml0aWFsaXplSWZOZWVkZWQoKSB0byBWOElu
aXRpYWxpemVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
cmFwaGljc0NvbnRleHQzRENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRENhaXJvLmNwcAkocmV2aXNp
b24gMTM1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzksOCBA
QCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFnZURhdGEoSW1hCiAgICAgICAgIE93blB0
cjxOYXRpdmVJbWFnZUNhaXJvPiBuYXRpdmVJbWFnZSA9IGFkb3B0UHRyKGRlY29kZXIuY3JlYXRl
RnJhbWVBdEluZGV4KDApKTsKICAgICAgICAgaW1hZ2VTdXJmYWNlID0gbmF0aXZlSW1hZ2UtPnN1
cmZhY2UoKTsKICAgICB9IGVsc2UgewotICAgICAgICBpbWFnZVN1cmZhY2UgPSBpbWFnZS0+bmF0
aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+c3VyZmFjZSgpOworICAgICAgICBOYXRpdmVJbWFn
ZUNhaXJvKiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgp
OworICAgICAgICBpbWFnZVN1cmZhY2UgPSAobmF0aXZlSW1hZ2UpID8gbmF0aXZlSW1hZ2UtPnN1
cmZhY2UoKSA6IDA7CiAgICAgICAgIGlmICghcHJlbXVsdGlwbHlBbHBoYSkKICAgICAgICAgICAg
IGFscGhhT3AgPSBBbHBoYURvVW5tdWx0aXBseTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVCbGVuZFNraWEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJs
ZW5kU2tpYS5jcHAJKHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJsZW5kU2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcyLDggKzcyLDExIEBAIGJvb2wgRkVCbGVuZDo6cGxhdGZvcm1BcHBseVNraWEoKQogICAgIFJl
ZlB0cjxJbWFnZT4gZm9yZWdyb3VuZCA9IGluLT5hc0ltYWdlQnVmZmVyKCktPmNvcHlJbWFnZShE
b250Q29weUJhY2tpbmdTdG9yZSk7CiAgICAgUmVmUHRyPEltYWdlPiBiYWNrZ3JvdW5kID0gaW4y
LT5hc0ltYWdlQnVmZmVyKCktPmNvcHlJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7CiAKLSAg
ICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0bWFwID0gZm9yZWdyb3VuZC0+bmF0aXZlSW1hZ2VGb3JD
dXJyZW50RnJhbWUoKS0+Yml0bWFwKCk7Ci0gICAgU2tCaXRtYXAgYmFja2dyb3VuZEJpdG1hcCA9
IGJhY2tncm91bmQtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCktPmJpdG1hcCgpOworICAg
IE5hdGl2ZUltYWdlU2tpYSogZm9yZWdyb3VuZE5hdGl2ZUltYWdlID0gZm9yZWdyb3VuZC0+bmF0
aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKKyAgICBOYXRpdmVJbWFnZVNraWEqIGJhY2tHcm91
bmROYXRpdmVJbWFnZSA9IGJhY2tncm91bmQtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7
CisKKyAgICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0bWFwID0gKGZvcmVncm91bmROYXRpdmVJbWFn
ZSkgPyBmb3JlZ3JvdW5kTmF0aXZlSW1hZ2UtPmJpdG1hcCgpIDogMDsKKyAgICBTa0JpdG1hcCBi
YWNrZ3JvdW5kQml0bWFwID0gKGJhY2tHcm91bmROYXRpdmVJbWFnZSkgPyBiYWNrR3JvdW5kTmF0
aXZlSW1hZ2UtPmJpdG1hcCgpIDogMDsKIAogICAgIFNrQXV0b1RVbnJlZjxTa0ltYWdlRmlsdGVy
PiBiYWNrZ3JvdW5kU291cmNlKG5ldyBTa0JpdG1hcFNvdXJjZShiYWNrZ3JvdW5kQml0bWFwKSk7
CiAgICAgU2tCbGVuZEltYWdlRmlsdGVyOjpNb2RlIG1vZGUgPSB0b1NraWFNb2RlKG1fbW9kZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVD
b21wb25lbnRUcmFuc2ZlclNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUNvbXBvbmVudFRyYW5zZmVyU2tpYS5jcHAJ
KHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvc2tpYS9GRUNvbXBvbmVudFRyYW5zZmVyU2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQzLDcgKzQzLDggQEAgYm9vbCBGRUNvbXBvbmVudFRyYW5zZmVyOjpwbGF0Zm9ybUFwcGx5Uwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW4tPmFz
SW1hZ2VCdWZmZXIoKS0+Y29weUltYWdlKERvbnRDb3B5QmFja2luZ1N0b3JlKTsKLSAgICBTa0Jp
dG1hcCBiaXRtYXAgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+Yml0bWFw
KCk7CisgICAgTmF0aXZlSW1hZ2VTa2lhKiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSgpOworICAgIFNrQml0bWFwIGJpdG1hcCA9IChuYXRpdmVJbWFnZSkg
PyBuYXRpdmVJbWFnZS0+Yml0bWFwKCkgOiAwOwogCiAgICAgdW5zaWduZWQgY2hhciByVmFsdWVz
WzI1Nl0sIGdWYWx1ZXNbMjU2XSwgYlZhbHVlc1syNTZdLCBhVmFsdWVzWzI1Nl07CiAgICAgZ2V0
VmFsdWVzKHJWYWx1ZXMsIGdWYWx1ZXMsIGJWYWx1ZXMsIGFWYWx1ZXMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL0ZFTGlnaHRpbmdTa2lhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L3NraWEvRkVMaWdodGluZ1NraWEuY3BwCShyZXZpc2lvbiAxMzU2NTkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVMaWdodGluZ1NraWEuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCw3IEBAIGJvb2wgRkVMaWdodGluZzo6cGxhdGZvcm1B
cHBseVNraWEoKQogCiAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IGluLT5hc0ltYWdlQnVmZmVy
KCktPmNvcHlJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7CiAgICAgTmF0aXZlSW1hZ2VTa2lh
KiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAg
IFNrQml0bWFwIGJpdG1hcCA9IChuYXRpdmVJbWFnZSkgPyBuYXRpdmVJbWFnZS0+Yml0bWFwKCkg
OiAwOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBkc3RDb250ZXh0ID0gcmVzdWx0SW1hZ2UtPmNv
bnRleHQoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3Jh
cGhpY3NDb250ZXh0M0RRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAJKHJldmlzaW9uIDEzNTY1OSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNE
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDMsNiArNTAzLDkgQEAgYm9vbCBHcmFwaGljc0Nv
bnRleHQzRDo6Z2V0SW1hZ2VEYXRhKEltYQogICAgICAgICBxdEltYWdlID0gUUltYWdlOjpmcm9t
RGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVjaGFyKj4oaW1hZ2UtPmRhdGEoKS0+ZGF0YSgp
KSwgaW1hZ2UtPmRhdGEoKS0+c2l6ZSgpKTsKICAgICBlbHNlIHsKICAgICAgICAgUVBpeG1hcCog
bmF0aXZlUGl4bWFwID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAg
ICAgIGlmICghbmF0aXZlUGl4bWFwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIC8vIFdpdGggUVBBLCB3ZSBjYW4gYXZvaWQgYSBkZWVwIGNvcHkuCiAgICAgICAgIHF0SW1h
Z2UgPSAqbmF0aXZlUGl4bWFwLT5oYW5kbGUoKS0+YnVmZmVyKCk7CiAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ0dXaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNHV2luLmNw
cAkocmV2aXNpb24gMTM1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQg
Qml0bWFwSW1hZ2U6OmRyYXdGcmFtZU1hdGNoaW5nU291cmMKICAgICBzaXplX3QgZnJhbWVzID0g
ZnJhbWVDb3VudCgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhbWVzOyArK2kpIHsK
ICAgICAgICAgQ0dJbWFnZVJlZiBpbWFnZSA9IGZyYW1lQXRJbmRleChpKTsKLSAgICAgICAgaWYg
KENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpID09IHN0YXRpY19jYXN0PHNpemVfdD4oc3JjU2l6ZS5o
ZWlnaHQoKSkgJiYgQ0dJbWFnZUdldFdpZHRoKGltYWdlKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+
KHNyY1NpemUud2lkdGgoKSkpIHsKKyAgICAgICAgaWYgKGltYWdlICYmIENHSW1hZ2VHZXRIZWln
aHQoaW1hZ2UpID09IHN0YXRpY19jYXN0PHNpemVfdD4oc3JjU2l6ZS5oZWlnaHQoKSkgJiYgQ0dJ
bWFnZUdldFdpZHRoKGltYWdlKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHNyY1NpemUud2lkdGgo
KSkpIHsKICAgICAgICAgICAgIHNpemVfdCBjdXJyZW50RnJhbWUgPSBtX2N1cnJlbnRGcmFtZTsK
ICAgICAgICAgICAgIG1fY3VycmVudEZyYW1lID0gaTsKICAgICAgICAgICAgIGRyYXcoY3R4dCwg
ZHN0UmVjdCwgRmxvYXRSZWN0KDAuMGYsIDAuMGYsIHNyY1NpemUud2lkdGgoKSwgc3JjU2l6ZS5o
ZWlnaHQoKSksIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3ApOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ2Fpcm9XaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNhaXJvV2luLmNw
cAkocmV2aXNpb24gMTM1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlQ2Fpcm9XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw4IEBAIHZv
aWQgQml0bWFwSW1hZ2U6OmRyYXdGcmFtZU1hdGNoaW5nU291cmMKIHsKICAgICBzaXplX3QgZnJh
bWVzID0gZnJhbWVDb3VudCgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhbWVzOyAr
K2kpIHsKLSAgICAgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IGZyYW1lQXRJbmRleChpKS0+
c3VyZmFjZSgpOworICAgICAgICBOYXRpdmVJbWFnZUNhaXJvKiBuYXRpdmVJbWFnZSA9IGZyYW1l
QXRJbmRleChpKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IChuYXRpdmVJbWFn
ZSkgPyBuYXRpdmVJbWFnZS0+c3VyZmFjZSgpIDogMDsKICAgICAgICAgaWYgKCFpbWFnZSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9JbWFnZVdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9JbWFnZVdpbkNFLmNwcAkocmV2aXNpb24gMTM1NjU5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvSW1hZ2VXaW5DRS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExOCwxNiArMTE4LDE3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRy
YXcoR3JhcGhpY3NDb250ZXh0KiAKICAgICBlbHNlIHsKICAgICAgICAgSW50UmVjdCBpbnRTcmNS
ZWN0KHNyY1JlY3RJbik7CiAgICAgICAgIFJlZlB0cjxTaGFyZWRCaXRtYXA+IGJtcCA9IGZyYW1l
QXRJbmRleChtX2N1cnJlbnRGcmFtZSk7Ci0KLSAgICAgICAgaWYgKGJtcC0+d2lkdGgoKSAhPSBt
X3NvdXJjZS5zaXplKCkud2lkdGgoKSkgewotICAgICAgICAgICAgZG91YmxlIHNjYWxlRmFjdG9y
ID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihibXAtPndpZHRoKCkpIC8gbV9zb3VyY2Uuc2l6ZSgpLndp
ZHRoKCk7Ci0KLSAgICAgICAgICAgIGludFNyY1JlY3Quc2V0WChzdGFibGVSb3VuZChzcmNSZWN0
SW4ueCgpICogc2NhbGVGYWN0b3IpKTsKLSAgICAgICAgICAgIGludFNyY1JlY3Quc2V0V2lkdGgo
c3RhYmxlUm91bmQoc3JjUmVjdEluLndpZHRoKCkgKiBzY2FsZUZhY3RvcikpOwotICAgICAgICAg
ICAgaW50U3JjUmVjdC5zZXRZKHN0YWJsZVJvdW5kKHNyY1JlY3RJbi55KCkgKiBzY2FsZUZhY3Rv
cikpOwotICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRIZWlnaHQoc3RhYmxlUm91bmQoc3JjUmVj
dEluLmhlaWdodCgpICogc2NhbGVGYWN0b3IpKTsKKyAgICAgICAgaWYgKGJtcCkgeworICAgICAg
ICAgICAgaWYgKGJtcC0+d2lkdGgoKSAhPSBtX3NvdXJjZS5zaXplKCkud2lkdGgoKSkgeworICAg
ICAgICAgICAgICAgIGRvdWJsZSBzY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYm1w
LT53aWR0aCgpKSAvIG1fc291cmNlLnNpemUoKS53aWR0aCgpOworCisgICAgICAgICAgICAgICAg
aW50U3JjUmVjdC5zZXRYKHN0YWJsZVJvdW5kKHNyY1JlY3RJbi54KCkgKiBzY2FsZUZhY3Rvcikp
OworICAgICAgICAgICAgICAgIGludFNyY1JlY3Quc2V0V2lkdGgoc3RhYmxlUm91bmQoc3JjUmVj
dEluLndpZHRoKCkgKiBzY2FsZUZhY3RvcikpOworICAgICAgICAgICAgICAgIGludFNyY1JlY3Qu
c2V0WShzdGFibGVSb3VuZChzcmNSZWN0SW4ueSgpICogc2NhbGVGYWN0b3IpKTsKKyAgICAgICAg
ICAgICAgICBpbnRTcmNSZWN0LnNldEhlaWdodChzdGFibGVSb3VuZChzcmNSZWN0SW4uaGVpZ2h0
KCkgKiBzY2FsZUZhY3RvcikpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYm1wLT5kcmF3
KGN0eHQsIGVuY2xvc2luZ0ludFJlY3QoZHN0UmVjdCksIGludFNyY1JlY3QsIHN0eWxlQ29sb3JT
cGFjZSwgY29tcG9zaXRlT3ApOwogICAgICAgICB9Ci0gICAgICAgIGJtcC0+ZHJhdyhjdHh0LCBl
bmNsb3NpbmdJbnRSZWN0KGRzdFJlY3QpLCBpbnRTcmNSZWN0LCBzdHlsZUNvbG9yU3BhY2UsIGNv
bXBvc2l0ZU9wKTsKICAgICB9CiAKICAgICBzdGFydEFuaW1hdGlvbigpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3BwCShyZXZpc2lvbiAx
MzU2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsOCArMTQ4LDEwIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVE
cmFnSW1hZ2VGcm9tSW1hZ2UoSW0KICAgICBDR0NvbnRleHRTY2FsZUNUTShkcmF3Q29udGV4dCwg
MSwgLTEpOwogICAgIENHQ29udGV4dFNldEZpbGxDb2xvcihkcmF3Q29udGV4dCwgd2hpdGUpOwog
ICAgIENHQ29udGV4dEZpbGxSZWN0KGRyYXdDb250ZXh0LCByZWN0KTsKLSAgICBDR0NvbnRleHRT
ZXRCbGVuZE1vZGUoZHJhd0NvbnRleHQsIGtDR0JsZW5kTW9kZU5vcm1hbCk7Ci0gICAgQ0dDb250
ZXh0RHJhd0ltYWdlKGRyYXdDb250ZXh0LCByZWN0LCBzcmNJbWFnZSk7CisgICAgaWYgKHNyY0lt
YWdlKSB7CisgICAgICAgIENHQ29udGV4dFNldEJsZW5kTW9kZShkcmF3Q29udGV4dCwga0NHQmxl
bmRNb2RlTm9ybWFsKTsKKyAgICAgICAgQ0dDb250ZXh0RHJhd0ltYWdlKGRyYXdDb250ZXh0LCBy
ZWN0LCBzcmNJbWFnZSk7CisgICAgfQogICAgIENHQ29udGV4dFJlbGVhc2UoZHJhd0NvbnRleHQp
OwogCiBleGl0OgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNh
aXJvV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJh
Z0ltYWdlQ2Fpcm9XaW4uY3BwCShyZXZpc2lvbiAxMzU2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ2Fpcm9XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMs
MTEgKzE3MywxNCBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRnJvbUltYWdlKEltCiAg
ICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2IoY3IsIDEuMCwgMC4wLCAxLjApOwogICAgIGNhaXJvX2Zp
bGxfcHJlc2VydmUoY3IpOwogCi0gICAgY2Fpcm9fc3VyZmFjZV90KiBzcmNJbWFnZSA9IGltZy0+
bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+c3VyZmFjZSgpOworICAgIE5hdGl2ZUltYWdl
Q2Fpcm8qIHNyY05hdGl2ZUltYWdlID0gaW1nLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgp
OworICAgIGNhaXJvX3N1cmZhY2VfdCogc3JjSW1hZ2UgPSAoc3JjTmF0aXZlSW1hZ2UpID8gc3Jj
TmF0aXZlSW1hZ2UtPnN1cmZhY2UoKSA6IDA7CiAKLSAgICAvLyBEcmF3IHRoZSBpbWFnZS4KLSAg
ICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIHNyY0ltYWdlLCAwLjAsIDAuMCk7Ci0gICAg
Y2Fpcm9fcGFpbnQoY3IpOworICAgIGlmIChzcmNJbWFnZSkgeworICAgICAgICAvLyBEcmF3IHRo
ZSBpbWFnZS4KKyAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBzcmNJbWFnZSwg
MC4wLCAwLjApOworICAgICAgICBjYWlyb19wYWludChjcik7CisgICAgfQogCiAgICAgZGVhbGxv
Y0NvbnRleHQoZHJhd0NvbnRleHQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175901</attachid>
            <date>2012-11-25 17:08:54 -0800</date>
            <delta_ts>2012-11-28 14:37:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103207-20121125170633.patch</filename>
            <type>text/plain</type>
            <size>10648</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTY3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTI1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AZ21haWwuY29tPgorCisgICAgICAgIEJlIGNvbnNpc3RlbnQgaW4g
aGFuZGxpbmcgb2YgZnJhbWVBdEluZGV4IChhbmQgcmVsYXRlZCkgcmV0dXJucy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuZGVyIHZhcmlvdXMgY29u
ZGl0aW9ucywgZnJhbWVBdEluZGV4IChhbmQgdGhlcmVmb3JlLAorICAgICAgICBuYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSkgcmV0dXJucyBudWxsLiBBIHNlcmllcyBvZiBidWdzIG92ZXIKKyAg
ICAgICAgdGhlIHllYXJzIGhhcyBlbnN1cmVkIG51bGwgcmV0dXJucyBhcmUgaGFuZGxlZCBpbiBz
b21lIGNhc2VzLAorICAgICAgICBidXQgdGhlcmUgYXJlIGEgaGFuZGZ1bCBvZiByZW1haW5pbmcg
Y2FzZXMgd2hlcmUgdGhpcyBpcyBzdGlsbCBhCisgICAgICAgIHByb2JsZW0uIAorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgYXMgdGhlc2UgbG93LWxldmVsIGZ1bmN0aW9ucyBhcmUgY292ZXJlZCBi
eQorICAgICAgICBudW1lcm91cyBleGlzdGluZyB0ZXN0IGNhc2VzLgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIE1vdmUg
V29ya2VyRXhlY3V0aW9uQ29udGV4dFByb3h5Ojppbml0aWFsaXplSWZOZWVkZWQoKSB0byBWOElu
aXRpYWxpemVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
cmFwaGljc0NvbnRleHQzRENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRENhaXJvLmNwcAkocmV2aXNp
b24gMTM1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzksOCBA
QCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFnZURhdGEoSW1hCiAgICAgICAgIE93blB0
cjxOYXRpdmVJbWFnZUNhaXJvPiBuYXRpdmVJbWFnZSA9IGFkb3B0UHRyKGRlY29kZXIuY3JlYXRl
RnJhbWVBdEluZGV4KDApKTsKICAgICAgICAgaW1hZ2VTdXJmYWNlID0gbmF0aXZlSW1hZ2UtPnN1
cmZhY2UoKTsKICAgICB9IGVsc2UgewotICAgICAgICBpbWFnZVN1cmZhY2UgPSBpbWFnZS0+bmF0
aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+c3VyZmFjZSgpOworICAgICAgICBOYXRpdmVJbWFn
ZUNhaXJvKiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgp
OworICAgICAgICBpbWFnZVN1cmZhY2UgPSAobmF0aXZlSW1hZ2UpID8gbmF0aXZlSW1hZ2UtPnN1
cmZhY2UoKSA6IDA7CiAgICAgICAgIGlmICghcHJlbXVsdGlwbHlBbHBoYSkKICAgICAgICAgICAg
IGFscGhhT3AgPSBBbHBoYURvVW5tdWx0aXBseTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVCbGVuZFNraWEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJs
ZW5kU2tpYS5jcHAJKHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJsZW5kU2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcyLDggKzcyLDE0IEBAIGJvb2wgRkVCbGVuZDo6cGxhdGZvcm1BcHBseVNraWEoKQogICAgIFJl
ZlB0cjxJbWFnZT4gZm9yZWdyb3VuZCA9IGluLT5hc0ltYWdlQnVmZmVyKCktPmNvcHlJbWFnZShE
b250Q29weUJhY2tpbmdTdG9yZSk7CiAgICAgUmVmUHRyPEltYWdlPiBiYWNrZ3JvdW5kID0gaW4y
LT5hc0ltYWdlQnVmZmVyKCktPmNvcHlJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7CiAKLSAg
ICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0bWFwID0gZm9yZWdyb3VuZC0+bmF0aXZlSW1hZ2VGb3JD
dXJyZW50RnJhbWUoKS0+Yml0bWFwKCk7Ci0gICAgU2tCaXRtYXAgYmFja2dyb3VuZEJpdG1hcCA9
IGJhY2tncm91bmQtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCktPmJpdG1hcCgpOworICAg
IE5hdGl2ZUltYWdlU2tpYSogZm9yZWdyb3VuZE5hdGl2ZUltYWdlID0gZm9yZWdyb3VuZC0+bmF0
aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKKyAgICBOYXRpdmVJbWFnZVNraWEqIGJhY2tncm91
bmROYXRpdmVJbWFnZSA9IGJhY2tncm91bmQtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7
CisKKyAgICBpZiAoIWZvcmVncm91bmROYXRpdmVJbWFnZSB8fCAhYmFja2dyb3VuZE5hdGl2ZUlt
YWdlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0
bWFwID0gZm9yZWdyb3VuZE5hdGl2ZUltYWdlLT5iaXRtYXAoKTsKKyAgICBTa0JpdG1hcCBiYWNr
Z3JvdW5kQml0bWFwID0gYmFja2dyb3VuZE5hdGl2ZUltYWdlLT5iaXRtYXAoKTsKIAogICAgIFNr
QXV0b1RVbnJlZjxTa0ltYWdlRmlsdGVyPiBiYWNrZ3JvdW5kU291cmNlKG5ldyBTa0JpdG1hcFNv
dXJjZShiYWNrZ3JvdW5kQml0bWFwKSk7CiAgICAgU2tCbGVuZEltYWdlRmlsdGVyOjpNb2RlIG1v
ZGUgPSB0b1NraWFNb2RlKG1fbW9kZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL3NraWEvRkVDb21wb25lbnRUcmFuc2ZlclNraWEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUNv
bXBvbmVudFRyYW5zZmVyU2tpYS5jcHAJKHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUNvbXBvbmVudFRyYW5zZmVyU2tp
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDkgQEAgYm9vbCBGRUNvbXBvbmVudFRy
YW5zZmVyOjpwbGF0Zm9ybUFwcGx5UwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBSZWZQ
dHI8SW1hZ2U+IGltYWdlID0gaW4tPmFzSW1hZ2VCdWZmZXIoKS0+Y29weUltYWdlKERvbnRDb3B5
QmFja2luZ1N0b3JlKTsKLSAgICBTa0JpdG1hcCBiaXRtYXAgPSBpbWFnZS0+bmF0aXZlSW1hZ2VG
b3JDdXJyZW50RnJhbWUoKS0+Yml0bWFwKCk7CisgICAgTmF0aXZlSW1hZ2VTa2lhKiBuYXRpdmVJ
bWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgIGlmICghbmF0
aXZlSW1hZ2UpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHVuc2lnbmVkIGNoYXIgclZh
bHVlc1syNTZdLCBnVmFsdWVzWzI1Nl0sIGJWYWx1ZXNbMjU2XSwgYVZhbHVlc1syNTZdOwogICAg
IGdldFZhbHVlcyhyVmFsdWVzLCBnVmFsdWVzLCBiVmFsdWVzLCBhVmFsdWVzKTsKQEAgLTUxLDcg
KzUzLDcgQEAgYm9vbCBGRUNvbXBvbmVudFRyYW5zZmVyOjpwbGF0Zm9ybUFwcGx5UwogICAgIFNr
UGFpbnQgcGFpbnQ7CiAgICAgcGFpbnQuc2V0Q29sb3JGaWx0ZXIoU2tUYWJsZUNvbG9yRmlsdGVy
OjpDcmVhdGVBUkdCKGFWYWx1ZXMsIHJWYWx1ZXMsIGdWYWx1ZXMsIGJWYWx1ZXMpKS0+dW5yZWYo
KTsKICAgICBwYWludC5zZXRYZmVybW9kZU1vZGUoU2tYZmVybW9kZTo6a1NyY19Nb2RlKTsKLSAg
ICByZXN1bHRJbWFnZS0+Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+ZHJhd0JpdG1hcChi
aXRtYXAsIDAsIDAsICZwYWludCk7CisgICAgcmVzdWx0SW1hZ2UtPmNvbnRleHQoKS0+cGxhdGZv
cm1Db250ZXh0KCktPmRyYXdCaXRtYXAobmF0aXZlSW1hZ2UtPmJpdG1hcCgpLCAwLCAwLCAmcGFp
bnQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVMaWdodGluZ1NraWEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUxpZ2h0aW5n
U2tpYS5jcHAJKHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUxpZ2h0aW5nU2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTk4LDYgKzk4LDggQEAgYm9vbCBGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5U2tpYSgpCiAKICAg
ICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW4tPmFzSW1hZ2VCdWZmZXIoKS0+Y29weUltYWdlKERv
bnRDb3B5QmFja2luZ1N0b3JlKTsKICAgICBOYXRpdmVJbWFnZVNraWEqIG5hdGl2ZUltYWdlID0g
aW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgaWYgKCFuYXRpdmVJbWFn
ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBkc3RDb250
ZXh0ID0gcmVzdWx0SW1hZ2UtPmNvbnRleHQoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5j
cHAJKHJldmlzaW9uIDEzNTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDMsNiArNTAz
LDkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW1hZ2VEYXRhKEltYQogICAgICAgICBx
dEltYWdlID0gUUltYWdlOjpmcm9tRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVjaGFyKj4o
aW1hZ2UtPmRhdGEoKS0+ZGF0YSgpKSwgaW1hZ2UtPmRhdGEoKS0+c2l6ZSgpKTsKICAgICBlbHNl
IHsKICAgICAgICAgUVBpeG1hcCogbmF0aXZlUGl4bWFwID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9y
Q3VycmVudEZyYW1lKCk7CisgICAgICAgIGlmICghbmF0aXZlUGl4bWFwKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIFdpdGggUVBBLCB3ZSBjYW4gYXZvaWQgYSBkZWVw
IGNvcHkuCiAgICAgICAgIHF0SW1hZ2UgPSAqbmF0aXZlUGl4bWFwLT5oYW5kbGUoKS0+YnVmZmVy
KCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0lt
YWdlQ0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9JbWFnZUNHV2luLmNwcAkocmV2aXNpb24gMTM1NjU5KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC05MSw3ICs5MSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRyYXdGcmFtZU1hdGNoaW5nU291cmMK
ICAgICBzaXplX3QgZnJhbWVzID0gZnJhbWVDb3VudCgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZnJhbWVzOyArK2kpIHsKICAgICAgICAgQ0dJbWFnZVJlZiBpbWFnZSA9IGZyYW1lQXRJ
bmRleChpKTsKLSAgICAgICAgaWYgKENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpID09IHN0YXRpY19j
YXN0PHNpemVfdD4oc3JjU2l6ZS5oZWlnaHQoKSkgJiYgQ0dJbWFnZUdldFdpZHRoKGltYWdlKSA9
PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHNyY1NpemUud2lkdGgoKSkpIHsKKyAgICAgICAgaWYgKGlt
YWdlICYmIENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpID09IHN0YXRpY19jYXN0PHNpemVfdD4oc3Jj
U2l6ZS5oZWlnaHQoKSkgJiYgQ0dJbWFnZUdldFdpZHRoKGltYWdlKSA9PSBzdGF0aWNfY2FzdDxz
aXplX3Q+KHNyY1NpemUud2lkdGgoKSkpIHsKICAgICAgICAgICAgIHNpemVfdCBjdXJyZW50RnJh
bWUgPSBtX2N1cnJlbnRGcmFtZTsKICAgICAgICAgICAgIG1fY3VycmVudEZyYW1lID0gaTsKICAg
ICAgICAgICAgIGRyYXcoY3R4dCwgZHN0UmVjdCwgRmxvYXRSZWN0KDAuMGYsIDAuMGYsIHNyY1Np
emUud2lkdGgoKSwgc3JjU2l6ZS5oZWlnaHQoKSksIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRl
T3ApOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ2Fp
cm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9JbWFnZUNhaXJvV2luLmNwcAkocmV2aXNpb24gMTM1NjU5KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ2Fpcm9XaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NSw3ICs5NSw4IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRyYXdGcmFtZU1hdGNoaW5nU291
cmMKIHsKICAgICBzaXplX3QgZnJhbWVzID0gZnJhbWVDb3VudCgpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgZnJhbWVzOyArK2kpIHsKLSAgICAgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFn
ZSA9IGZyYW1lQXRJbmRleChpKS0+c3VyZmFjZSgpOworICAgICAgICBOYXRpdmVJbWFnZUNhaXJv
KiBuYXRpdmVJbWFnZSA9IGZyYW1lQXRJbmRleChpKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV90
KiBpbWFnZSA9IChuYXRpdmVJbWFnZSkgPyBuYXRpdmVJbWFnZS0+c3VyZmFjZSgpIDogMDsKICAg
ICAgICAgaWYgKCFpbWFnZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9JbWFnZVdpbkNFLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9JbWFnZVdpbkNFLmNw
cAkocmV2aXNpb24gMTM1NjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvSW1hZ2VXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOCwxNiArMTE4LDE3IEBA
IHZvaWQgQml0bWFwSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiAKICAgICBlbHNlIHsKICAg
ICAgICAgSW50UmVjdCBpbnRTcmNSZWN0KHNyY1JlY3RJbik7CiAgICAgICAgIFJlZlB0cjxTaGFy
ZWRCaXRtYXA+IGJtcCA9IGZyYW1lQXRJbmRleChtX2N1cnJlbnRGcmFtZSk7Ci0KLSAgICAgICAg
aWYgKGJtcC0+d2lkdGgoKSAhPSBtX3NvdXJjZS5zaXplKCkud2lkdGgoKSkgewotICAgICAgICAg
ICAgZG91YmxlIHNjYWxlRmFjdG9yID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihibXAtPndpZHRoKCkp
IC8gbV9zb3VyY2Uuc2l6ZSgpLndpZHRoKCk7Ci0KLSAgICAgICAgICAgIGludFNyY1JlY3Quc2V0
WChzdGFibGVSb3VuZChzcmNSZWN0SW4ueCgpICogc2NhbGVGYWN0b3IpKTsKLSAgICAgICAgICAg
IGludFNyY1JlY3Quc2V0V2lkdGgoc3RhYmxlUm91bmQoc3JjUmVjdEluLndpZHRoKCkgKiBzY2Fs
ZUZhY3RvcikpOwotICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRZKHN0YWJsZVJvdW5kKHNyY1Jl
Y3RJbi55KCkgKiBzY2FsZUZhY3RvcikpOwotICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRIZWln
aHQoc3RhYmxlUm91bmQoc3JjUmVjdEluLmhlaWdodCgpICogc2NhbGVGYWN0b3IpKTsKKyAgICAg
ICAgaWYgKGJtcCkgeworICAgICAgICAgICAgaWYgKGJtcC0+d2lkdGgoKSAhPSBtX3NvdXJjZS5z
aXplKCkud2lkdGgoKSkgeworICAgICAgICAgICAgICAgIGRvdWJsZSBzY2FsZUZhY3RvciA9IHN0
YXRpY19jYXN0PGRvdWJsZT4oYm1wLT53aWR0aCgpKSAvIG1fc291cmNlLnNpemUoKS53aWR0aCgp
OworCisgICAgICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRYKHN0YWJsZVJvdW5kKHNyY1JlY3RJ
bi54KCkgKiBzY2FsZUZhY3RvcikpOworICAgICAgICAgICAgICAgIGludFNyY1JlY3Quc2V0V2lk
dGgoc3RhYmxlUm91bmQoc3JjUmVjdEluLndpZHRoKCkgKiBzY2FsZUZhY3RvcikpOworICAgICAg
ICAgICAgICAgIGludFNyY1JlY3Quc2V0WShzdGFibGVSb3VuZChzcmNSZWN0SW4ueSgpICogc2Nh
bGVGYWN0b3IpKTsKKyAgICAgICAgICAgICAgICBpbnRTcmNSZWN0LnNldEhlaWdodChzdGFibGVS
b3VuZChzcmNSZWN0SW4uaGVpZ2h0KCkgKiBzY2FsZUZhY3RvcikpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgYm1wLT5kcmF3KGN0eHQsIGVuY2xvc2luZ0ludFJlY3QoZHN0UmVjdCksIGlu
dFNyY1JlY3QsIHN0eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3ApOwogICAgICAgICB9Ci0gICAg
ICAgIGJtcC0+ZHJhdyhjdHh0LCBlbmNsb3NpbmdJbnRSZWN0KGRzdFJlY3QpLCBpbnRTcmNSZWN0
LCBzdHlsZUNvbG9yU3BhY2UsIGNvbXBvc2l0ZU9wKTsKICAgICB9CiAKICAgICBzdGFydEFuaW1h
dGlvbigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdl
Q0dXaW4uY3BwCShyZXZpc2lvbiAxMzU2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vRHJhZ0ltYWdlQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsOCArMTQ4LDEwIEBA
IERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW0KICAgICBDR0NvbnRleHRT
Y2FsZUNUTShkcmF3Q29udGV4dCwgMSwgLTEpOwogICAgIENHQ29udGV4dFNldEZpbGxDb2xvcihk
cmF3Q29udGV4dCwgd2hpdGUpOwogICAgIENHQ29udGV4dEZpbGxSZWN0KGRyYXdDb250ZXh0LCBy
ZWN0KTsKLSAgICBDR0NvbnRleHRTZXRCbGVuZE1vZGUoZHJhd0NvbnRleHQsIGtDR0JsZW5kTW9k
ZU5vcm1hbCk7Ci0gICAgQ0dDb250ZXh0RHJhd0ltYWdlKGRyYXdDb250ZXh0LCByZWN0LCBzcmNJ
bWFnZSk7CisgICAgaWYgKHNyY0ltYWdlKSB7CisgICAgICAgIENHQ29udGV4dFNldEJsZW5kTW9k
ZShkcmF3Q29udGV4dCwga0NHQmxlbmRNb2RlTm9ybWFsKTsKKyAgICAgICAgQ0dDb250ZXh0RHJh
d0ltYWdlKGRyYXdDb250ZXh0LCByZWN0LCBzcmNJbWFnZSk7CisgICAgfQogICAgIENHQ29udGV4
dFJlbGVhc2UoZHJhd0NvbnRleHQpOwogCiBleGl0OgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0RyYWdJbWFnZUNhaXJvV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ2Fpcm9XaW4uY3BwCShyZXZpc2lvbiAxMzU2NTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ2Fpcm9XaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzMsMTEgKzE3MywxNCBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJh
Z0ltYWdlRnJvbUltYWdlKEltCiAgICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2IoY3IsIDEuMCwgMC4w
LCAxLjApOwogICAgIGNhaXJvX2ZpbGxfcHJlc2VydmUoY3IpOwogCi0gICAgY2Fpcm9fc3VyZmFj
ZV90KiBzcmNJbWFnZSA9IGltZy0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+c3VyZmFj
ZSgpOworICAgIE5hdGl2ZUltYWdlQ2Fpcm8qIHNyY05hdGl2ZUltYWdlID0gaW1nLT5uYXRpdmVJ
bWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgIGNhaXJvX3N1cmZhY2VfdCogc3JjSW1hZ2UgPSAo
c3JjTmF0aXZlSW1hZ2UpID8gc3JjTmF0aXZlSW1hZ2UtPnN1cmZhY2UoKSA6IDA7CiAKLSAgICAv
LyBEcmF3IHRoZSBpbWFnZS4KLSAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIHNyY0lt
YWdlLCAwLjAsIDAuMCk7Ci0gICAgY2Fpcm9fcGFpbnQoY3IpOworICAgIGlmIChzcmNJbWFnZSkg
eworICAgICAgICAvLyBEcmF3IHRoZSBpbWFnZS4KKyAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9z
dXJmYWNlKGNyLCBzcmNJbWFnZSwgMC4wLCAwLjApOworICAgICAgICBjYWlyb19wYWludChjcik7
CisgICAgfQogCiAgICAgZGVhbGxvY0NvbnRleHQoZHJhd0NvbnRleHQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176581</attachid>
            <date>2012-11-28 14:37:19 -0800</date>
            <delta_ts>2012-11-29 12:13:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103207-20121128143454.patch</filename>
            <type>text/plain</type>
            <size>9947</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjA1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTI4ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AZ21haWwuY29tPgorCisgICAgICAgIEJlIGNvbnNpc3RlbnQgaW4g
aGFuZGxpbmcgb2YgZnJhbWVBdEluZGV4IChhbmQgcmVsYXRlZCkgcmV0dXJucy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzIwNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuZGVyIHZhcmlvdXMgY29u
ZGl0aW9ucywgZnJhbWVBdEluZGV4IChhbmQgdGhlcmVmb3JlLAorICAgICAgICBuYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSkgcmV0dXJucyBudWxsLiBBIHNlcmllcyBvZiBidWdzIG92ZXIKKyAg
ICAgICAgdGhlIHllYXJzIGhhcyBlbnN1cmVkIG51bGwgcmV0dXJucyBhcmUgaGFuZGxlZCBpbiBz
b21lIGNhc2VzLAorICAgICAgICBidXQgdGhlcmUgYXJlIGEgaGFuZGZ1bCBvZiByZW1haW5pbmcg
Y2FzZXMgd2hlcmUgdGhpcyBpcyBzdGlsbCBhCisgICAgICAgIHByb2JsZW0uIAorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgYXMgdGhlc2UgbG93LWxldmVsIGZ1bmN0aW9ucyBhcmUgY292ZXJlZCBi
eQorICAgICAgICBudW1lcm91cyBleGlzdGluZyB0ZXN0IGNhc2VzLgorCiAyMDEyLTExLTI4ICBw
ZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5DYWly
b10gQ3Jhc2ggd2hlbiByZXF1ZXN0aW5nIGZhdmljb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRENhaXJvLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHQzRENhaXJvLmNwcAkocmV2aXNpb24gMTM2MDU2KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RDYWlyby5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE3OSw3ICsxNzksOCBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFn
ZURhdGEoSW1hCiAgICAgICAgIE93blB0cjxOYXRpdmVJbWFnZUNhaXJvPiBuYXRpdmVJbWFnZSA9
IGFkb3B0UHRyKGRlY29kZXIuY3JlYXRlRnJhbWVBdEluZGV4KDApKTsKICAgICAgICAgaW1hZ2VT
dXJmYWNlID0gbmF0aXZlSW1hZ2UtPnN1cmZhY2UoKTsKICAgICB9IGVsc2UgewotICAgICAgICBp
bWFnZVN1cmZhY2UgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+c3VyZmFj
ZSgpOworICAgICAgICBOYXRpdmVJbWFnZUNhaXJvKiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRp
dmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOworICAgICAgICBpbWFnZVN1cmZhY2UgPSAobmF0aXZl
SW1hZ2UpID8gbmF0aXZlSW1hZ2UtPnN1cmZhY2UoKSA6IDA7CiAgICAgICAgIGlmICghcHJlbXVs
dGlwbHlBbHBoYSkKICAgICAgICAgICAgIGFscGhhT3AgPSBBbHBoYURvVW5tdWx0aXBseTsKICAg
ICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEv
RkVCbGVuZFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJsZW5kU2tpYS5jcHAJKHJldmlzaW9uIDEzNjA1NikKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUJsZW5kU2tp
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDggKzcyLDE0IEBAIGJvb2wgRkVCbGVuZDo6cGxh
dGZvcm1BcHBseVNraWEoKQogICAgIFJlZlB0cjxJbWFnZT4gZm9yZWdyb3VuZCA9IGluLT5hc0lt
YWdlQnVmZmVyKCktPmNvcHlJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7CiAgICAgUmVmUHRy
PEltYWdlPiBiYWNrZ3JvdW5kID0gaW4yLT5hc0ltYWdlQnVmZmVyKCktPmNvcHlJbWFnZShEb250
Q29weUJhY2tpbmdTdG9yZSk7CiAKLSAgICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0bWFwID0gZm9y
ZWdyb3VuZC0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+Yml0bWFwKCk7Ci0gICAgU2tC
aXRtYXAgYmFja2dyb3VuZEJpdG1hcCA9IGJhY2tncm91bmQtPm5hdGl2ZUltYWdlRm9yQ3VycmVu
dEZyYW1lKCktPmJpdG1hcCgpOworICAgIE5hdGl2ZUltYWdlU2tpYSogZm9yZWdyb3VuZE5hdGl2
ZUltYWdlID0gZm9yZWdyb3VuZC0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKKyAgICBO
YXRpdmVJbWFnZVNraWEqIGJhY2tncm91bmROYXRpdmVJbWFnZSA9IGJhY2tncm91bmQtPm5hdGl2
ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisKKyAgICBpZiAoIWZvcmVncm91bmROYXRpdmVJbWFn
ZSB8fCAhYmFja2dyb3VuZE5hdGl2ZUltYWdlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBTa0JpdG1hcCBmb3JlZ3JvdW5kQml0bWFwID0gZm9yZWdyb3VuZE5hdGl2ZUltYWdlLT5iaXRt
YXAoKTsKKyAgICBTa0JpdG1hcCBiYWNrZ3JvdW5kQml0bWFwID0gYmFja2dyb3VuZE5hdGl2ZUlt
YWdlLT5iaXRtYXAoKTsKIAogICAgIFNrQXV0b1RVbnJlZjxTa0ltYWdlRmlsdGVyPiBiYWNrZ3Jv
dW5kU291cmNlKG5ldyBTa0JpdG1hcFNvdXJjZShiYWNrZ3JvdW5kQml0bWFwKSk7CiAgICAgU2tC
bGVuZEltYWdlRmlsdGVyOjpNb2RlIG1vZGUgPSB0b1NraWFNb2RlKG1fbW9kZSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVDb21wb25lbnRU
cmFuc2ZlclNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUNvbXBvbmVudFRyYW5zZmVyU2tpYS5jcHAJKHJldmlzaW9u
IDEzNjA1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tp
YS9GRUNvbXBvbmVudFRyYW5zZmVyU2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQz
LDkgQEAgYm9vbCBGRUNvbXBvbmVudFRyYW5zZmVyOjpwbGF0Zm9ybUFwcGx5UwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW4tPmFzSW1hZ2VCdWZm
ZXIoKS0+Y29weUltYWdlKERvbnRDb3B5QmFja2luZ1N0b3JlKTsKLSAgICBTa0JpdG1hcCBiaXRt
YXAgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKS0+Yml0bWFwKCk7CisgICAg
TmF0aXZlSW1hZ2VTa2lhKiBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJl
bnRGcmFtZSgpOworICAgIGlmICghbmF0aXZlSW1hZ2UpCisgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIHVuc2lnbmVkIGNoYXIgclZhbHVlc1syNTZdLCBnVmFsdWVzWzI1Nl0sIGJWYWx1ZXNb
MjU2XSwgYVZhbHVlc1syNTZdOwogICAgIGdldFZhbHVlcyhyVmFsdWVzLCBnVmFsdWVzLCBiVmFs
dWVzLCBhVmFsdWVzKTsKQEAgLTUxLDcgKzUzLDcgQEAgYm9vbCBGRUNvbXBvbmVudFRyYW5zZmVy
OjpwbGF0Zm9ybUFwcGx5UwogICAgIFNrUGFpbnQgcGFpbnQ7CiAgICAgcGFpbnQuc2V0Q29sb3JG
aWx0ZXIoU2tUYWJsZUNvbG9yRmlsdGVyOjpDcmVhdGVBUkdCKGFWYWx1ZXMsIHJWYWx1ZXMsIGdW
YWx1ZXMsIGJWYWx1ZXMpKS0+dW5yZWYoKTsKICAgICBwYWludC5zZXRYZmVybW9kZU1vZGUoU2tY
ZmVybW9kZTo6a1NyY19Nb2RlKTsKLSAgICByZXN1bHRJbWFnZS0+Y29udGV4dCgpLT5wbGF0Zm9y
bUNvbnRleHQoKS0+ZHJhd0JpdG1hcChiaXRtYXAsIDAsIDAsICZwYWludCk7CisgICAgcmVzdWx0
SW1hZ2UtPmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmRyYXdCaXRtYXAobmF0aXZlSW1h
Z2UtPmJpdG1hcCgpLCAwLCAwLCAmcGFpbnQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRkVMaWdodGlu
Z1NraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvc2tpYS9GRUxpZ2h0aW5nU2tpYS5jcHAJKHJldmlzaW9uIDEzNjA1NikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9GRUxpZ2h0aW5nU2tp
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDggQEAgYm9vbCBGRUxpZ2h0aW5nOjpw
bGF0Zm9ybUFwcGx5U2tpYSgpCiAKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW4tPmFzSW1h
Z2VCdWZmZXIoKS0+Y29weUltYWdlKERvbnRDb3B5QmFja2luZ1N0b3JlKTsKICAgICBOYXRpdmVJ
bWFnZVNraWEqIG5hdGl2ZUltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1l
KCk7CisgICAgaWYgKCFuYXRpdmVJbWFnZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
R3JhcGhpY3NDb250ZXh0KiBkc3RDb250ZXh0ID0gcmVzdWx0SW1hZ2UtPmNvbnRleHQoKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0
M0RRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAJKHJldmlzaW9uIDEzNjA1NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDMsNiArNTAzLDkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0
SW1hZ2VEYXRhKEltYQogICAgICAgICBxdEltYWdlID0gUUltYWdlOjpmcm9tRGF0YShyZWludGVy
cHJldF9jYXN0PGNvbnN0IHVjaGFyKj4oaW1hZ2UtPmRhdGEoKS0+ZGF0YSgpKSwgaW1hZ2UtPmRh
dGEoKS0+c2l6ZSgpKTsKICAgICBlbHNlIHsKICAgICAgICAgUVBpeG1hcCogbmF0aXZlUGl4bWFw
ID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgICAgIGlmICghbmF0
aXZlUGl4bWFwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIFdpdGgg
UVBBLCB3ZSBjYW4gYXZvaWQgYSBkZWVwIGNvcHkuCiAgICAgICAgIHF0SW1hZ2UgPSAqbmF0aXZl
UGl4bWFwLT5oYW5kbGUoKS0+YnVmZmVyKCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNHV2luLmNwcAkocmV2aXNpb24g
MTM2MDU2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ0dX
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6
OmRyYXdGcmFtZU1hdGNoaW5nU291cmMKICAgICBzaXplX3QgZnJhbWVzID0gZnJhbWVDb3VudCgp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhbWVzOyArK2kpIHsKICAgICAgICAgQ0dJ
bWFnZVJlZiBpbWFnZSA9IGZyYW1lQXRJbmRleChpKTsKLSAgICAgICAgaWYgKENHSW1hZ2VHZXRI
ZWlnaHQoaW1hZ2UpID09IHN0YXRpY19jYXN0PHNpemVfdD4oc3JjU2l6ZS5oZWlnaHQoKSkgJiYg
Q0dJbWFnZUdldFdpZHRoKGltYWdlKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHNyY1NpemUud2lk
dGgoKSkpIHsKKyAgICAgICAgaWYgKGltYWdlICYmIENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpID09
IHN0YXRpY19jYXN0PHNpemVfdD4oc3JjU2l6ZS5oZWlnaHQoKSkgJiYgQ0dJbWFnZUdldFdpZHRo
KGltYWdlKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHNyY1NpemUud2lkdGgoKSkpIHsKICAgICAg
ICAgICAgIHNpemVfdCBjdXJyZW50RnJhbWUgPSBtX2N1cnJlbnRGcmFtZTsKICAgICAgICAgICAg
IG1fY3VycmVudEZyYW1lID0gaTsKICAgICAgICAgICAgIGRyYXcoY3R4dCwgZHN0UmVjdCwgRmxv
YXRSZWN0KDAuMGYsIDAuMGYsIHNyY1NpemUud2lkdGgoKSwgc3JjU2l6ZS5oZWlnaHQoKSksIHN0
eWxlQ29sb3JTcGFjZSwgY29tcG9zaXRlT3ApOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvSW1hZ2VXaW5DRS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvSW1hZ2VXaW5DRS5jcHAJKHJldmlzaW9uIDEz
NjA1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ltYWdlV2lu
Q0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMTYgKzExOCwxNyBAQCB2b2lkIEJpdG1hcElt
YWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCoKICAgICBlbHNlIHsKICAgICAgICAgSW50UmVjdCBp
bnRTcmNSZWN0KHNyY1JlY3RJbik7CiAgICAgICAgIFJlZlB0cjxTaGFyZWRCaXRtYXA+IGJtcCA9
IGZyYW1lQXRJbmRleChtX2N1cnJlbnRGcmFtZSk7CisgICAgICAgIGlmIChibXApIHsKKyAgICAg
ICAgICAgIGlmIChibXAtPndpZHRoKCkgIT0gbV9zb3VyY2Uuc2l6ZSgpLndpZHRoKCkpIHsKKyAg
ICAgICAgICAgICAgICBkb3VibGUgc2NhbGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGJt
cC0+d2lkdGgoKSkgLyBtX3NvdXJjZS5zaXplKCkud2lkdGgoKTsKIAotICAgICAgICBpZiAoYm1w
LT53aWR0aCgpICE9IG1fc291cmNlLnNpemUoKS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBkb3Vi
bGUgc2NhbGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGJtcC0+d2lkdGgoKSkgLyBtX3Nv
dXJjZS5zaXplKCkud2lkdGgoKTsKLQotICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRYKHN0YWJs
ZVJvdW5kKHNyY1JlY3RJbi54KCkgKiBzY2FsZUZhY3RvcikpOwotICAgICAgICAgICAgaW50U3Jj
UmVjdC5zZXRXaWR0aChzdGFibGVSb3VuZChzcmNSZWN0SW4ud2lkdGgoKSAqIHNjYWxlRmFjdG9y
KSk7Ci0gICAgICAgICAgICBpbnRTcmNSZWN0LnNldFkoc3RhYmxlUm91bmQoc3JjUmVjdEluLnko
KSAqIHNjYWxlRmFjdG9yKSk7Ci0gICAgICAgICAgICBpbnRTcmNSZWN0LnNldEhlaWdodChzdGFi
bGVSb3VuZChzcmNSZWN0SW4uaGVpZ2h0KCkgKiBzY2FsZUZhY3RvcikpOworICAgICAgICAgICAg
ICAgIGludFNyY1JlY3Quc2V0WChzdGFibGVSb3VuZChzcmNSZWN0SW4ueCgpICogc2NhbGVGYWN0
b3IpKTsKKyAgICAgICAgICAgICAgICBpbnRTcmNSZWN0LnNldFdpZHRoKHN0YWJsZVJvdW5kKHNy
Y1JlY3RJbi53aWR0aCgpICogc2NhbGVGYWN0b3IpKTsKKyAgICAgICAgICAgICAgICBpbnRTcmNS
ZWN0LnNldFkoc3RhYmxlUm91bmQoc3JjUmVjdEluLnkoKSAqIHNjYWxlRmFjdG9yKSk7CisgICAg
ICAgICAgICAgICAgaW50U3JjUmVjdC5zZXRIZWlnaHQoc3RhYmxlUm91bmQoc3JjUmVjdEluLmhl
aWdodCgpICogc2NhbGVGYWN0b3IpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJtcC0+
ZHJhdyhjdHh0LCBlbmNsb3NpbmdJbnRSZWN0KGRzdFJlY3QpLCBpbnRTcmNSZWN0LCBzdHlsZUNv
bG9yU3BhY2UsIGNvbXBvc2l0ZU9wKTsKICAgICAgICAgfQotICAgICAgICBibXAtPmRyYXcoY3R4
dCwgZW5jbG9zaW5nSW50UmVjdChkc3RSZWN0KSwgaW50U3JjUmVjdCwgc3R5bGVDb2xvclNwYWNl
LCBjb21wb3NpdGVPcCk7CiAgICAgfQogCiAgICAgc3RhcnRBbmltYXRpb24oKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VDR1dpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2luLmNwcAkocmV2aXNp
b24gMTM2MDU2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDggKzE0OCwxMCBAQCBEcmFnSW1hZ2VSZWYgY3Jl
YXRlRHJhZ0ltYWdlRnJvbUltYWdlKEltCiAgICAgQ0dDb250ZXh0U2NhbGVDVE0oZHJhd0NvbnRl
eHQsIDEsIC0xKTsKICAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3IoZHJhd0NvbnRleHQsIHdoaXRl
KTsKICAgICBDR0NvbnRleHRGaWxsUmVjdChkcmF3Q29udGV4dCwgcmVjdCk7Ci0gICAgQ0dDb250
ZXh0U2V0QmxlbmRNb2RlKGRyYXdDb250ZXh0LCBrQ0dCbGVuZE1vZGVOb3JtYWwpOwotICAgIENH
Q29udGV4dERyYXdJbWFnZShkcmF3Q29udGV4dCwgcmVjdCwgc3JjSW1hZ2UpOworICAgIGlmIChz
cmNJbWFnZSkgeworICAgICAgICBDR0NvbnRleHRTZXRCbGVuZE1vZGUoZHJhd0NvbnRleHQsIGtD
R0JsZW5kTW9kZU5vcm1hbCk7CisgICAgICAgIENHQ29udGV4dERyYXdJbWFnZShkcmF3Q29udGV4
dCwgcmVjdCwgc3JjSW1hZ2UpOworICAgIH0KICAgICBDR0NvbnRleHRSZWxlYXNlKGRyYXdDb250
ZXh0KTsKIAogZXhpdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1h
Z2VDYWlyb1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0RyYWdJbWFnZUNhaXJvV2luLmNwcAkocmV2aXNpb24gMTM2MDU2KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNhaXJvV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTczLDExICsxNzMsMTQgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZyb21JbWFnZShJ
bQogICAgIGNhaXJvX3NldF9zb3VyY2VfcmdiKGNyLCAxLjAsIDAuMCwgMS4wKTsKICAgICBjYWly
b19maWxsX3ByZXNlcnZlKGNyKTsKIAotICAgIGNhaXJvX3N1cmZhY2VfdCogc3JjSW1hZ2UgPSBp
bWctPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCktPnN1cmZhY2UoKTsKKyAgICBOYXRpdmVJ
bWFnZUNhaXJvKiBzcmNOYXRpdmVJbWFnZSA9IGltZy0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJh
bWUoKTsKKyAgICBjYWlyb19zdXJmYWNlX3QqIHNyY0ltYWdlID0gKHNyY05hdGl2ZUltYWdlKSA/
IHNyY05hdGl2ZUltYWdlLT5zdXJmYWNlKCkgOiAwOwogCi0gICAgLy8gRHJhdyB0aGUgaW1hZ2Uu
Ci0gICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBzcmNJbWFnZSwgMC4wLCAwLjApOwot
ICAgIGNhaXJvX3BhaW50KGNyKTsKKyAgICBpZiAoc3JjSW1hZ2UpIHsKKyAgICAgICAgLy8gRHJh
dyB0aGUgaW1hZ2UuCisgICAgICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjciwgc3JjSW1h
Z2UsIDAuMCwgMC4wKTsKKyAgICAgICAgY2Fpcm9fcGFpbnQoY3IpOworICAgIH0KIAogICAgIGRl
YWxsb2NDb250ZXh0KGRyYXdDb250ZXh0KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>