<?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>88121</bug_id>
          
          <creation_ts>2012-06-01 12:11:30 -0700</creation_ts>
          <short_desc>[chromium] Support high DPI pixel tests with DumpRenderTree</short_desc>
          <delta_ts>2012-09-19 15:09:22 -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>Tools / Tests</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>
          <dependson>83635</dependson>
    
    <dependson>90190</dependson>
    
    <dependson>90192</dependson>
    
    <dependson>90212</dependson>
    
    <dependson>93647</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Terry Anderson">tdanderson</reporter>
          <assigned_to name="Terry Anderson">tdanderson</assigned_to>
          <cc>abarth</cc>
    
    <cc>danakj</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dpranke</cc>
    
    <cc>fishd</cc>
    
    <cc>fsamuel</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>rjkroege</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>639597</commentid>
    <comment_count>0</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-01 12:11:30 -0700</bug_when>
    <thetext>Add the flag --compositor-device-scale-factor=n to DRT for Chromium.  This will set the device scale factor to be the integer n and will also have the same effect as using the existing flag --force-compositing-mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639598</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-01 12:13:06 -0700</bug_when>
    <thetext>You can already pass arbitrary flags to DRT with --additional-drt-flag &quot;--compositor-device-scale-factor=n&quot;; will that work for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639600</commentid>
    <comment_count>2</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-01 12:13:49 -0700</bug_when>
    <thetext>&quot;have the same effect as using the existing flag --force-compositing-mode&quot; -&gt; &quot;also implies the use of --force-compositing-mode&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639632</commentid>
    <comment_count>3</comment_count>
      <attachid>145359</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-01 12:44:10 -0700</bug_when>
    <thetext>Created attachment 145359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639635</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 12:47:11 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639638</commentid>
    <comment_count>5</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-01 12:48:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &quot;have the same effect as using the existing flag --force-compositing-mode&quot; -&gt; &quot;also implies the use of --force-compositing-mode&quot; ?

Yes, that is much better wording. I&apos;ve updated this in the ChangeLog description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639646</commentid>
    <comment_count>6</comment_count>
      <attachid>145359</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-01 12:54:32 -0700</bug_when>
    <thetext>Comment on attachment 145359
Patch

I probably didn&apos;t phrase my previous comment clearly enough. We shouldn&apos;t be adding more flags to NRWT unless we have to; there&apos;s too many already. Given that I believe you can already get the behavior you want using --additional-drt-flag, I don&apos;t think you need this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648412</commentid>
    <comment_count>7</comment_count>
      <attachid>147400</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-13 13:32:28 -0700</bug_when>
    <thetext>Created attachment 147400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648413</commentid>
    <comment_count>8</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-13 13:33:34 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=147400) [details]
&gt; Patch

There were some additional changes made in light of https://bugs.webkit.org/show_bug.cgi?id=88375 landing since I uploaded my first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648442</commentid>
    <comment_count>9</comment_count>
      <attachid>147400</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-13 14:04:08 -0700</bug_when>
    <thetext>Comment on attachment 147400
Patch

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

&gt; Source/WebKit/chromium/public/WebWidget.h:99
&gt; +    virtual void paint(WebCanvas*, const WebRect&amp; viewPort, const int scaleFactor = 1) { }

this seems misguided.  We already have a deviceScaleFactor and pageScaleFactor setter on WebView, why are they not sufficient?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648443</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-13 14:05:04 -0700</bug_when>
    <thetext>We also need to support non-integer device scales in general.  IMO it&apos;s OK to start with only handling integer scales at first, but we&apos;re going to have non-integer scales very soon so we need to make sure the design and API are amenable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659617</commentid>
    <comment_count>11</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-06-28 10:58:52 -0700</bug_when>
    <thetext>*** Bug 70066 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145359</attachid>
            <date>2012-06-01 12:44:10 -0700</date>
            <delta_ts>2012-06-13 13:32:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88121-20120601154409.patch</filename>
            <type>text/plain</type>
            <size>14627</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDkzNjFhNDg1YjhmYjUxZDBiZTcwYjhhZDdmZTg1ZDZlNTM1NGU0NjAuLmE2ODlkMjkzN2M1ZGVh
YmZjZmMyNjQzZTAxZDkyZmYxMzlhNTk1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDYtMDEgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTdXBwb3J0IGhpZ2ggRElQIHBpeGVs
IHRlc3RzIHdpdGggRHVtcFJlbmRlclRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg4MTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgfHNjYWxlRmFjdG9y
fCB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBvZiAxIHRvCisgICAgICAgIFdlYldpZGdldDo6cGFpbnQu
ICBUaGlzIHdpbGwgYWxsb3cgc2NhbGluZyBvZiB0aGUgdmlld3BvcnQgc2l6ZSB3aGVuCisgICAg
ICAgIGNhbGxlZCBmcm9tIERSVC4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50KToKKyAgICAgICAg
KiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKwogMjAxMi0wNi0w
MSAgUGV0ZXIgQmV2ZXJsb28gIDxwZXRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViV2lkZ2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRn
ZXQuaAppbmRleCAwOGIyY2QwNWEyNWFkY2I0YWZkNmRiZjQ4YWUxMzRiYjM2ZmM3ZWNmLi5jNDZi
MDI5NWEyNjc1MzU5MjY2NTNhZjVjODNjYzUyNGNkNWMyNmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gY2hhbmdlcyBhcmUgbWFkZSB0byB0aGUgV2ViV2lkZ2V0IChlLmcuLCBvbmNlIGV2ZW50cyBh
cmUKICAgICAvLyBwcm9jZXNzZWQsIGl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgYW5vdGhlciBj
YWxsIHRvIGxheW91dCBpcwogICAgIC8vIHdhcnJhbnRlZCBiZWZvcmUgcGFpbnRpbmcgYWdhaW4p
LgotICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiB2aWV3
UG9ydCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJl
Y3QmIHZpZXdQb3J0LCBjb25zdCBpbnQgc2NhbGVGYWN0b3IgPSAxKSB7IH0KIAogICAgIC8vIElu
IG5vbi10aHJlYWRlZCBjb21wb3NpdGluZyBtb2RlLCB0cmlnZ2VycyBjb21wb3NpdGluZyBvZiB0
aGUgY3VycmVudAogICAgIC8vIGxheWVycyBvbnRvIHRoZSBzY3JlZW4uIFlvdSBNVVNUIGNhbGwg
TGF5b3V0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGRhY2ZhMTUyZTU2N2JkYzAxYjUwMzAxMGI2YWQ2
YzM3MzlkMTg5ODguLmY5NmJlMzNkYTg4OTEyY2M3ODUzMTI3YTIxYWU2MmUzNjMyN2VmNzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTE1MzIsNyAr
MTUzMiw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OmRvUGl4ZWxSZWFkYmFja1RvQ2FudmFzKFdlYkNh
bnZhcyogY2FudmFzLCBjb25zdCBJbnRSZWN0JiByZWN0CiB9CiAjZW5kaWYKIAotdm9pZCBXZWJW
aWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit2
b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYg
cmVjdCwgY29uc3QgaW50IHNjYWxlRmFjdG9yKQogewogICAgIGlmIChpc0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdBY3RpdmUoKSkgewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAg
LTE1NDEsNyArMTU0MSwxMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNh
bnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKICAgICAgICAgaWYgKGNhbnZhcykgewogICAgICAg
ICAgICAgLy8gQ2xpcCByZWN0IHRvIHRoZSBjb25maW5lcyBvZiB0aGUgcm9vdExheWVyVGV4dHVy
ZS4KICAgICAgICAgICAgIEludFJlY3QgcmVzaXplUmVjdChyZWN0KTsKLSAgICAgICAgICAgIHJl
c2l6ZVJlY3QuaW50ZXJzZWN0KEludFJlY3QoSW50UG9pbnQoMCwgMCksIG1fbGF5ZXJUcmVlVmll
dy52aWV3cG9ydFNpemUoKSkpOworCisgICAgICAgICAgICBJbnRTaXplIHNjYWxlZFZpZXdwb3J0
KG1fbGF5ZXJUcmVlVmlldy52aWV3cG9ydFNpemUoKSk7CisgICAgICAgICAgICBzY2FsZWRWaWV3
cG9ydC5zY2FsZShzY2FsZUZhY3Rvciwgc2NhbGVGYWN0b3IpOworCisgICAgICAgICAgICByZXNp
emVSZWN0LmludGVyc2VjdChJbnRSZWN0KEludFBvaW50KDAsIDApLCBzY2FsZWRWaWV3cG9ydCkp
OwogICAgICAgICAgICAgZG9QaXhlbFJlYWRiYWNrVG9DYW52YXMoY2FudmFzLCByZXNpemVSZWN0
KTsKICAgICAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaAppbmRleCA2NzU2MmZlYWJjZWFjOTA0NDY0NDRkYmQ4Mzk4YjMyM2IwNmVkMmI4Li5lYmM3
ODdiZmJkZTliNGUyMTM2NjYzYjdhMjYwM2NkMDQ5Yzk5ZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHNldENvbXBvc2l0b3JTdXJmYWNlUmVhZHkoKTsKICAgICB2aXJ0dWFsIHZv
aWQgYW5pbWF0ZShkb3VibGUpOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsgLy8gQWxzbyBp
bXBsZW1lbnRzIFdlYkxheWVyVHJlZVZpZXdDbGllbnQ6OmxheW91dCgpCi0gICAgdmlydHVhbCB2
b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQg
cGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYsIGNvbnN0IGludCBzY2FsZUZhY3RvciA9
IDEpOwogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y29tcG9zaXRlKGJvb2wgZmluaXNoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXco
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
ZDA4MzNiMjA0ZmRiMThmMGM4YTZjZDVmMGI1MWFlNGE3OTQ4MzdlLi44Y2RkZjY3ZjIxOTkxNTI2
ZmE1Njk5OWRlZjNjOTMyMmZiOGMzNmE2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTItMDYtMDEgIFRlcnJ5IEFu
ZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBT
dXBwb3J0IGhpZ2ggRElQIHBpeGVsIHRlc3RzIHdpdGggRHVtcFJlbmRlclRyZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MTIxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBmbGFnIC0tY29t
cG9zaXRvci1kZXZpY2Utc2NhbGUtZmFjdG9yPW4gdG8gRFJUIGZvciBDaHJvbWl1bS4gVGhpcyBz
ZXRzIAorICAgICAgICB0aGUgZGV2aWNlIHNjYWxlIGZhY3RvciB0byBiZSB0aGUgaW50ZWdlciBu
IGFuZCBhbHNvIGltcGxpZXMgdGhlIHVzZSBvZiAKKyAgICAgICAgLS1mb3JjZS1jb21wb3NpdGlu
Zy1tb2RlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRy
ZWUuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6VGVzdFNoZWxsKToKKyAgICAg
ICAgKFRlc3RTaGVsbDo6cmVzZXRXZWJTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0U2hlbGw6OnNldENvbXBvc2l0
b3JEZXZpY2VTY2FsZUZhY3Rvcik6CisgICAgICAgIChUZXN0U2hlbGw6OmNvbXBvc2l0b3JEZXZp
Y2VTY2FsZUZhY3Rvcik6CisgICAgICAgIChUZXN0U2hlbGwpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVu
Y2VzOjpyZXNldCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKFdl
YlByZWZlcmVuY2VzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cGFpbnRSZWN0KToKKyAgICAgICAgKFdl
YlZpZXdIb3N0OjpjYW52YXMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgIChDaHJvbWl1bURyaXZlci5fd3JhcHBlcl9v
cHRpb25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Vi
a2l0X3Rlc3RzLnB5OgorICAgICAgICAocGFyc2VfYXJncyk6CisKIDIwMTItMDYtMDEgIFRvciBB
cm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0g
TWFrZSBRdCBDcmVhdG9yIGF3YXJlIG9mIGZpbGVzIGluIHdlYmtpdHB5L3BlcmwgZm9yIGVhc3kg
ZWRpdGluZwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJl
bmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRy
ZWUuY3BwCmluZGV4IDdiMTI4NGQzMWQ5MWIwYmJlOTUyMGY1ZWM1NzIxZTQ4NjRlNTc2MmQuLjNi
YTE3NDdmNjk1NTUzYWRlNTJhOWFhN2M0MzdjNzBiOGUwMzI5M2MgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTYyLDYgKzYyLDcg
QEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRQYWludGluZ1tdID0g
Ii0tZW5hYmxlLWFjY2VsZXJhdGVkLXBhaW4KIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkVuYWJs
ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JWaWRlb1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVk
LXZpZGVvIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvblVzZUdyYXBoaWNzQ29udGV4dDNESW1w
bGVtZW50YXRpb25bXSA9ICItLXVzZS1ncmFwaGljcy1jb250ZXh0LTNkLWltcGxlbWVudGF0aW9u
PSI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25FbmFibGVQZXJUaWxlUGFpbnRpbmdbXSA9ICIt
LWVuYWJsZS1wZXItdGlsZS1wYWludGluZyI7CitzdGF0aWMgY29uc3QgY2hhciBvcHRpb25Db21w
b3NpdG9yRGV2aWNlU2NhbGVGYWN0b3JbXSA9ICItLWNvbXBvc2l0b3ItZGV2aWNlLXNjYWxlLWZh
Y3Rvcj0iOwogCiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25TdHJlc3NPcHRbXSA9ICItLXN0cmVz
cy1vcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNzRGVvcHRbXSA9ICItLXN0cmVz
cy1kZW9wdCI7CkBAIC0xNTEsNiArMTUyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFy
Z3ZbXSkKICAgICBib29sIGhhcmR3YXJlQWNjZWxlcmF0ZWRHTCA9IGZhbHNlOwogICAgIHN0cmlu
ZyBqYXZhU2NyaXB0RmxhZ3M7CiAgICAgYm9vbCBub1RpbWVvdXQgPSBmYWxzZTsKKyAgICBpbnQg
Y29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yID0gMTsKICAgICBmb3IgKGludCBpID0gMTsgaSA8
IGFyZ2M7ICsraSkgewogICAgICAgICBzdHJpbmcgYXJndW1lbnQoYXJndltpXSk7CiAgICAgICAg
IGlmIChhcmd1bWVudCA9PSAiLSIpCkBAIC0yMDcsNiArMjA5LDExIEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBqYXZhU2NyaXB0RmxhZ3MgPSBhcmd1bWVu
dC5zdWJzdHIoc3RybGVuKG9wdGlvbkphdmFTY3JpcHRGbGFncykpOwogICAgICAgICBlbHNlIGlm
IChhcmd1bWVudCA9PSBvcHRpb25Ob1RpbWVvdXQpCiAgICAgICAgICAgICBub1RpbWVvdXQgPSB0
cnVlOworICAgICAgICBlbHNlIGlmICghYXJndW1lbnQuZmluZChvcHRpb25Db21wb3NpdG9yRGV2
aWNlU2NhbGVGYWN0b3IpKSB7CisgICAgICAgICAgICBzdHJpbmcgcyA9IGFyZ3VtZW50LnN1YnN0
cihzdHJsZW4ob3B0aW9uQ29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKSk7CisgICAgICAgICAg
ICBjb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IgPSBhdG9pKHMuY19zdHIoKSk7CisgICAgICAg
ICAgICBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IHRydWU7CisgICAgICAgIH0KICAgICAgICAgZWxz
ZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uV2ViQ29yZUxvZ0NoYW5uZWxzKSkgewogICAgICAg
ICAgICAgc3RyaW5nIGNoYW5uZWxzID0gYXJndW1lbnQuc3Vic3RyKHN0cmxlbihvcHRpb25XZWJD
b3JlTG9nQ2hhbm5lbHMpKTsKICAgICAgICAgICAgIHdlYmtpdF9zdXBwb3J0OjpFbmFibGVXZWJD
b3JlTG9nQ2hhbm5lbHMoY2hhbm5lbHMpOwpAQCAtMjQzLDYgKzI1MCw3IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIHNoZWxsLnNldEphdmFTY3JpcHRGbGFncyhq
YXZhU2NyaXB0RmxhZ3MpOwogICAgICAgICBzaGVsbC5zZXRTdHJlc3NPcHQoc3RyZXNzT3B0KTsK
ICAgICAgICAgc2hlbGwuc2V0U3RyZXNzRGVvcHQoc3RyZXNzRGVvcHQpOworICAgICAgICBzaGVs
bC5zZXRDb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IoY29tcG9zaXRvckRldmljZVNjYWxlRmFj
dG9yKTsKICAgICAgICAgaWYgKG5vVGltZW91dCkgewogICAgICAgICAgICAgLy8gMHgyMDAwMDAw
MG1zIGlzIGJpZyBlbm91Z2ggZm9yIHRoZSBwdXJwb3NlIHRvIGF2b2lkIHRpbWVvdXQgaW4gZGVi
dWdnaW5nLgogICAgICAgICAgICAgc2hlbGwuc2V0TGF5b3V0VGVzdFRpbWVvdXQoMHgyMDAwMDAw
MCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCA5
YjljYTRhNWI3YTZiMDU5MjIwZTlhODg0ZWVmMjZkNDdmMDgxMGU3Li40ZWIwODVmNzkxZDE2ZGFk
ODE3YzY1OWM3MjExNDNjMmE5MGMxMzMwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTExOSw2ICsxMTksNyBAQCBUZXN0U2hlbGw6OlRlc3RTaGVs
bCgpCiAgICAgLCBtX3N0cmVzc0Rlb3B0KGZhbHNlKQogICAgICwgbV9kdW1wV2hlbkZpbmlzaGVk
KHRydWUpCiAgICAgLCBtX2lzRGlzcGxheWluZ01vZGFsRGlhbG9nKGZhbHNlKQorICAgICwgbV9j
b21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IoMSkKIHsKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6
OmVuYWJsZURhdGFUcmFuc2Zlckl0ZW1zKHRydWUpOwogICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6
ZW5hYmxlR2VvbG9jYXRpb24odHJ1ZSk7CkBAIC0yMzIsNiArMjMzLDcgQEAgdm9pZCBUZXN0U2hl
bGw6OnJlc2V0V2ViU2V0dGluZ3MoV2ViVmlldyYgd2ViVmlldykKICAgICBtX3ByZWZzLmRlZmVy
cmVkMmRDYW52YXNFbmFibGVkID0gbV9kZWZlcnJlZDJkQ2FudmFzRW5hYmxlZDsKICAgICBtX3By
ZWZzLmFjY2VsZXJhdGVkUGFpbnRpbmdFbmFibGVkID0gbV9hY2NlbGVyYXRlZFBhaW50aW5nRW5h
YmxlZDsKICAgICBtX3ByZWZzLnBlclRpbGVQYWludGluZ0VuYWJsZWQgPSBtX3BlclRpbGVQYWlu
dGluZ0VuYWJsZWQ7CisgICAgbV9wcmVmcy5jb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IgPSBt
X2NvbXBvc2l0b3JEZXZpY2VTY2FsZUZhY3RvcjsKICAgICBtX3ByZWZzLmFwcGx5VG8oJndlYlZp
ZXcpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4
IGFlOWQ4ZDhhMWE5MThhYTJlYzBjMjAwM2I1YTE0OGMxY2QxOGI2OTguLjJhZTJiZmQyZDVjYmMx
OWY4OTQyYzc3ZDBkYWVlMDQ4ZGI5MWU4MGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCkBAIC0xNDMsNiArMTQzLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0
RGVmZXJyZWQyZENhbnZhc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZGVmZXJyZWQyZENhbnZh
c0VuYWJsZWQgPSBlbmFibGVkOyB9CiAgICAgdm9pZCBzZXRBY2NlbGVyYXRlZFBhaW50aW5nRW5h
YmxlZChib29sIGVuYWJsZWQpIHsgbV9hY2NlbGVyYXRlZFBhaW50aW5nRW5hYmxlZCA9IGVuYWJs
ZWQ7IH0KICAgICB2b2lkIHNldFBlclRpbGVQYWludGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7
IG1fcGVyVGlsZVBhaW50aW5nRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldENvbXBv
c2l0b3JEZXZpY2VTY2FsZUZhY3RvcihpbnQgZmFjdG9yKSB7IG1fY29tcG9zaXRvckRldmljZVNj
YWxlRmFjdG9yID0gZmFjdG9yOyB9CisgICAgaW50IGNvbXBvc2l0b3JEZXZpY2VTY2FsZUZhY3Rv
cigpIGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yOyB9CiAjaWYg
ZGVmaW5lZChPU19XSU4pCiAgICAgLy8gQWNjZXNzIHRvIHRoZSBmaW5pc2hlZCBldmVudC4gVXNl
ZCBieSB0aGUgc3RhdGljIFdhdGNoRG9nIHRocmVhZC4KICAgICBIQU5ETEUgZmluaXNoZWRFdmVu
dCgpIHsgcmV0dXJuIG1fZmluaXNoZWRFdmVudDsgfQpAQCAtMjQ1LDYgKzI0Nyw3IEBAIHByaXZh
dGU6CiAgICAgc3RkOjpzdHJpbmcgbV9qYXZhU2NyaXB0RmxhZ3M7CiAgICAgYm9vbCBtX2R1bXBX
aGVuRmluaXNoZWQ7CiAgICAgYm9vbCBtX2lzRGlzcGxheWluZ01vZGFsRGlhbG9nOworICAgIGlu
dCBtX2NvbXBvc2l0b3JEZXZpY2VTY2FsZUZhY3RvcjsKIAogCiAgICAgLy8gTGlzdCBvZiBhbGwg
d2luZG93cyBpbiB0aGlzIHByb2Nlc3MuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMzIyN2MwMjMxMmIzYjM5MDA2NzgyYzM4Nzdk
MDhiNjM3ZGZjYWI5NC4uNTdiZDk5MjNiZmFlZjhmOTBhNjUwMDJiMzQzMGZhZTkyNTUxMmQ5NSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNw
cApAQCAtNzAsNiArNzAsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpyZXNldCgpCiAgICAgLy8g
RG8gbm90IGRpc2FibGUgYWNjZWxlcmF0aW9uIGZvciAyZCBjYW52YXMgYmFzZWQgb24gc2l6ZS4K
ICAgICAvLyBUaGlzIG1ha2VzIGhhdmluZyB0ZXN0IGV4cGVjdGF0aW9ucyBjb25zaXN0ZW50Lgog
ICAgIG1pbmltdW1BY2NlbGVyYXRlZDJkQ2FudmFzU2l6ZSA9IDA7CisgICAgY29tcG9zaXRvckRl
dmljZVNjYWxlRmFjdG9yID0gMTsKIAogICAgIERPTVBhc3RlQWxsb3dlZCA9IHRydWU7CiAgICAg
WFNTQXVkaXRvckVuYWJsZWQgPSBmYWxzZTsKQEAgLTIyOCw2ICsyMjksOCBAQCB2b2lkIFdlYlBy
ZWZlcmVuY2VzOjphcHBseVRvKFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgc2V0dGluZ3MtPnNldEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoaGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5h
YmxlZCk7CiAgICAgc2V0dGluZ3MtPnNldFBlclRpbGVQYWludGluZ0VuYWJsZWQocGVyVGlsZVBh
aW50aW5nRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MtPnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZCht
b2NrU2Nyb2xsYmFyc0VuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXREZWZhdWx0RGV2aWNlU2Nh
bGVGYWN0b3IoY29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBzZXR0aW5ncy0+c2V0
QXBwbHlEZWZhdWx0RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IoZm9yY2VDb21wb3NpdGlu
Z01vZGUpOwogCiAgICAgLy8gRml4ZWQgdmFsdWVzLgogICAgIHNldHRpbmdzLT5zZXRUZXh0RGly
ZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCgpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMzFkZTMzMWVk
MTRlYjliMjRlMTBhN2Y5OTA3Y2RiMjEzNmU0OWIwNy4uOTVlZTBhZGUxYmFlMWNkZGZlOWUzMDNh
YjAwMmM2OGU5NzZkYTIwYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJQcmVmZXJlbmNlcy5oCkBAIC03Miw2ICs3Miw3IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlcyB7
CiAgICAgaW50IG1pbmltdW1Gb250U2l6ZTsKICAgICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6
ZTsKICAgICBpbnQgbWluaW11bUFjY2VsZXJhdGVkMmRDYW52YXNTaXplOworICAgIGludCBjb21w
b3NpdG9yRGV2aWNlU2NhbGVGYWN0b3I7CiAKICAgICBib29sIERPTVBhc3RlQWxsb3dlZDsKICAg
ICBib29sIFhTU0F1ZGl0b3JFbmFibGVkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IDZjNDhiYzFlMTBlNWZjOTgyNTRjYTUzZjk2YjNmYzUz
NTg4MDBiZWUuLjdiNTdhMjk1MjE4ZjliM2RhMWM3ODdkZmU5NjYwN2Y1NGE0Yzg0NzUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTE3ODAs
NyArMTc4MCwxMyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpwYWludFJlY3QoY29uc3QgV2ViUmVjdCYg
cmVjdCkKICAgICBBU1NFUlQoIW1faXNQYWludGluZyk7CiAgICAgQVNTRVJUKGNhbnZhcygpKTsK
ICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwotICAgIHdlYldpZGdldCgpLT5wYWludChjYW52YXMo
KSwgcmVjdCk7CisKKyAgICBXZWJSZWN0IHNjYWxlZFJlY3QocmVjdCk7CisgICAgaW50IHNjYWxl
RmFjdG9yID0gbV9zaGVsbC0+Y29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgc2Nh
bGVkUmVjdC53aWR0aCAqPSBzY2FsZUZhY3RvcjsKKyAgICBzY2FsZWRSZWN0LmhlaWdodCAqPSBz
Y2FsZUZhY3RvcjsKKworICAgIHdlYldpZGdldCgpLT5wYWludChjYW52YXMoKSwgc2NhbGVkUmVj
dCwgc2NhbGVGYWN0b3IpOwogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwogfQogCkBAIC0xODUx
LDcgKzE4NTcsNyBAQCBTa0NhbnZhcyogV2ViVmlld0hvc3Q6OmNhbnZhcygpCiAgICAgICAgIHJl
dHVybiBtX2NhbnZhcy5nZXQoKTsKICAgICBXZWJTaXplIHdpZGdldFNpemUgPSB3ZWJXaWRnZXQo
KS0+c2l6ZSgpOwogICAgIHJlc2V0U2Nyb2xsUmVjdCgpOwotICAgIG1fY2FudmFzID0gYWRvcHRQ
dHIoc2tpYTo6Q3JlYXRlQml0bWFwQ2FudmFzKHdpZGdldFNpemUud2lkdGgsIHdpZGdldFNpemUu
aGVpZ2h0LCB0cnVlKSk7CisgICAgbV9jYW52YXMgPSBhZG9wdFB0cihza2lhOjpDcmVhdGVCaXRt
YXBDYW52YXMod2lkZ2V0U2l6ZS53aWR0aCAqIG1fc2hlbGwtPmNvbXBvc2l0b3JEZXZpY2VTY2Fs
ZUZhY3RvcigpLCB3aWRnZXRTaXplLmhlaWdodCAqIG1fc2hlbGwtPmNvbXBvc2l0b3JEZXZpY2VT
Y2FsZUZhY3RvcigpLCB0cnVlKSk7CiAgICAgcmV0dXJuIG1fY2FudmFzLmdldCgpOwogfQogCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bS5weQppbmRleCA5ZGI0Y2I1NzA1NzdjN2NkZWMxYTBiMTQ1Zjc4NTI0NmVkOGQxZDQ2Li45YTZh
NGViNGQzZWJjMGIyNjA5NDZiYTBhMTM3N2NhNmRiODE0NmRkIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTQ2MSw2
ICs0NjEsOSBAQCBjbGFzcyBDaHJvbWl1bURyaXZlcihXZWJLaXREcml2ZXIpOgogICAgICAgICBp
ZiBzZWxmLl9ub190aW1lb3V0OgogICAgICAgICAgICAgY21kLmFwcGVuZCgiLS1uby10aW1lb3V0
IikKIAorICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24oJ2NvbXBvc2l0b3JfZGV2aWNl
X3NjYWxlX2ZhY3RvcicpOgorICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1jb21wb3NpdG9yLWRl
dmljZS1zY2FsZS1mYWN0b3I9JyArIHN0cihzZWxmLl9wb3J0LmdldF9vcHRpb24oJ2NvbXBvc2l0
b3JfZGV2aWNlX3NjYWxlX2ZhY3RvcicpKSkKKwogICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQg
YmUgYWJsZSB0byBidWlsZCB0aGlzIGxpc3QgdXNpbmcgb25seSBhbiBhcnJheSBvZgogICAgICAg
ICAjIG9wdGlvbiBuYW1lcywgdGhlIG9wdGlvbnMgKG9wdHBhcnNlLlZhbHVlcykgb2JqZWN0LCBh
bmQgdGhlIG9yaWduYWwKICAgICAgICAgIyBsaXN0IG9mIG9wdGlvbnMgZnJvbSB0aGUgbWFpbiBt
ZXRob2QgYnkgbG9va2luZyB1cCB0aGUgb3B0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCBkNGVjY2Iw
ZmFmYjk3MTg0MGVlYmViM2FlY2I5ODI5MGE0ZjgyZGM3Li4yNWZjZjU4MWEyYTM5YzhlYzYwN2Y0
OGQ1MGJiM2FkNzBkMmZkYjgzIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAgLTIzNSw2ICsyMzUsMTAgQEAg
ZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24o
Ii0tcGVyLXRpbGUtcGFpbnRpbmciLAogICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwK
ICAgICAgICAgICAgIGhlbHA9IlVzZSBwZXItdGlsZSBwYWludGluZyBvZiBjb21wb3NpdGVkIHBh
Z2VzIiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWNvbXBvc2l0b3ItZGV2aWNl
LXNjYWxlLWZhY3RvciIsCisgICAgICAgICAgICB0eXBlPSJpbnQiLAorICAgICAgICAgICAgZGVz
dD0iY29tcG9zaXRvcl9kZXZpY2Vfc2NhbGVfZmFjdG9yIiwKKyAgICAgICAgICAgIGhlbHA9IlNw
ZWNpZnkgdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgdG8gYmUgdXNlZCBpbiBjb21wb3NpdGluZy4i
KSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tYWRiLWFyZ3MiLCB0eXBlPSJzdHJp
bmciLAogICAgICAgICAgICAgaGVscD0iQXJndW1lbnRzIHBhcnNlZCB0byBBbmRyb2lkIGFkYiwg
dG8gc2VsZWN0IGRldmljZSwgZXRjLiIpLAogICAgIF0pKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147400</attachid>
            <date>2012-06-13 13:32:28 -0700</date>
            <delta_ts>2012-06-13 14:04:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88121-20120613163227.patch</filename>
            <type>text/plain</type>
            <size>11563</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDI2YzU2ODVlMmQ4MjgwZDMwNjk3NDFjN2NiNjhhMjQ3ODE4YmFhM2MuLjZmYjhjN2MyMWRlMjJh
MzNmODIxMDkyOWY0YmE3NjJlMjVjNmNmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDYtMTMgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTdXBwb3J0IGhpZ2ggRElQIHBpeGVs
IHRlc3RzIHdpdGggRHVtcFJlbmRlclRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg4MTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBQcmFu
a2UuCisKKyAgICAgICAgQWRkIHRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgfHNjYWxlRmFjdG9yfCB3
aXRoIGEgZGVmYXVsdCB2YWx1ZSBvZiAxIHRvCisgICAgICAgIFdlYldpZGdldDo6cGFpbnQuICBU
aGlzIHdpbGwgYWxsb3cgc2NhbGluZyBvZiB0aGUgdmlld3BvcnQgc2l6ZSB3aGVuCisgICAgICAg
IGNhbGxlZCBmcm9tIERSVC4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50KToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKwogMjAxMi0wNi0xMiAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMDA1MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViV2lkZ2V0LmgKaW5kZXggMDhiMmNkMDVhMjVhZGNiNGFmZDZkYmY0OGFlMTM0YmIzNmZj
N2VjZi4uYzQ2YjAyOTVhMjY3NTM1OTI2NjUzYWY1YzgzY2M1MjRjZDVjMjZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAgLTk2LDcgKzk2LDcgQEAgcHVi
bGljOgogICAgIC8vIGNoYW5nZXMgYXJlIG1hZGUgdG8gdGhlIFdlYldpZGdldCAoZS5nLiwgb25j
ZSBldmVudHMgYXJlCiAgICAgLy8gcHJvY2Vzc2VkLCBpdCBzaG91bGQgYmUgYXNzdW1lZCB0aGF0
IGFub3RoZXIgY2FsbCB0byBsYXlvdXQgaXMKICAgICAvLyB3YXJyYW50ZWQgYmVmb3JlIHBhaW50
aW5nIGFnYWluKS4KLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2Vi
UmVjdCYgdmlld1BvcnQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBj
b25zdCBXZWJSZWN0JiB2aWV3UG9ydCwgY29uc3QgaW50IHNjYWxlRmFjdG9yID0gMSkgeyB9CiAK
ICAgICAvLyBJbiBub24tdGhyZWFkZWQgY29tcG9zaXRpbmcgbW9kZSwgdHJpZ2dlcnMgY29tcG9z
aXRpbmcgb2YgdGhlIGN1cnJlbnQKICAgICAvLyBsYXllcnMgb250byB0aGUgc2NyZWVuLiBZb3Ug
TVVTVCBjYWxsIExheW91dCBiZWZvcmUgY2FsbGluZyB0aGlzIG1ldGhvZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBhNDQwOTdiYTRiODdhOTI3ZmM4
MzAyODljYmE0ZjhmZTliZDc3NmIwLi43MTZlZTIxMjZlMzYxOGIyMTI0YzA0ZTQwZTBjOGRjMGE4
ZmVmNzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBA
IC0xNTUyLDcgKzE1NTIsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpkb1BpeGVsUmVhZGJhY2tUb0Nh
bnZhcyhXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgSW50UmVjdCYgcmVjdAogfQogI2VuZGlmCiAK
LXZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0
JiByZWN0KQordm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0
IFdlYlJlY3QmIHJlY3QsIGNvbnN0IGludCBzY2FsZUZhY3RvcikKIHsKICAgICBpZiAoaXNBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkpIHsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCkBAIC0xNTYxLDcgKzE1NjEsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2Vi
Q2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiAgICAgICAgIGlmIChjYW52YXMp
IHsKICAgICAgICAgICAgIC8vIENsaXAgcmVjdCB0byB0aGUgY29uZmluZXMgb2YgdGhlIHJvb3RM
YXllclRleHR1cmUuCiAgICAgICAgICAgICBJbnRSZWN0IHJlc2l6ZVJlY3QocmVjdCk7Ci0gICAg
ICAgICAgICByZXNpemVSZWN0LmludGVyc2VjdChJbnRSZWN0KEludFBvaW50KDAsIDApLCBtX2xh
eWVyVHJlZVZpZXcudmlld3BvcnRTaXplKCkpKTsKKworICAgICAgICAgICAgSW50U2l6ZSBzY2Fs
ZWRWaWV3cG9ydChtX2xheWVyVHJlZVZpZXcudmlld3BvcnRTaXplKCkpOworICAgICAgICAgICAg
c2NhbGVkVmlld3BvcnQuc2NhbGUoc2NhbGVGYWN0b3IsIHNjYWxlRmFjdG9yKTsKKworICAgICAg
ICAgICAgcmVzaXplUmVjdC5pbnRlcnNlY3QoSW50UmVjdChJbnRQb2ludCgwLCAwKSwgc2NhbGVk
Vmlld3BvcnQpKTsKICAgICAgICAgICAgIGRvUGl4ZWxSZWFkYmFja1RvQ2FudmFzKGNhbnZhcywg
cmVzaXplUmVjdCk7CiAgICAgICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgKaW5kZXggYTA4ODk2NzhhMTQwMDc0MmNjMjZlMGViZmJiZTIzZTE5OGI5
MmQyZS4uN2FhNmUxZDU4NzU4OWJiN2NjYjVhZTlkN2E4N2ZjNmZjZGJhNmE4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xMzEsNyArMTMxLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCk7CiAgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGUoZG91YmxlKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7
IC8vIEFsc28gaW1wbGVtZW50cyBXZWJMYXllclRyZWVWaWV3Q2xpZW50OjpsYXlvdXQoKQotICAg
IHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdmly
dHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmLCBjb25zdCBpbnQgc2Nh
bGVGYWN0b3IgPSAxKTsKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCk7CiAgICAgdmly
dHVhbCB2b2lkIGNvbXBvc2l0ZShib29sIGZpbmlzaCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzUmVkcmF3KCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggZWY3NDRiNzdmODFhOThkOWI5MGExMTY4M2Y0M2RkNTBhYzY4Y2JiYy4uZWI5ODRi
M2Y3MGZlZjJmZDA4ZTk0MmMwNjNmNGVkMDkzOGRjNjNkOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA2LTEz
ICBUZXJyeSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtj
aHJvbWl1bV0gU3VwcG9ydCBoaWdoIERJUCBwaXhlbCB0ZXN0cyB3aXRoIER1bXBSZW5kZXJUcmVl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODEyMQor
CisgICAgICAgIFJldmlld2VkIGJ5IERpcmsgUHJhbmtlLgorCisgICAgICAgIEFkZCB0aGUgZmxh
ZyAtLWNvbXBvc2l0b3ItZGV2aWNlLXNjYWxlLWZhY3Rvcj1uIHRvIERSVCBmb3IgQ2hyb21pdW0g
KHdoaWNoCisgICAgICAgIGNhbiBiZSB1c2VkIHdpdGggLS1hZGRpdGlvbmFsLWRydC1mbGFnKS4g
VGhpcyBzZXRzIHRoZSBkZXZpY2Ugc2NhbGUgZmFjdG9yIAorICAgICAgICB0byBiZSB0aGUgaW50
ZWdlciBuIGFuZCBhbHNvIGltcGxpZXMgdGhlIHVzZSBvZiAtLWZvcmNlLWNvbXBvc2l0aW5nLW1v
ZGUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5j
cHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpUZXN0U2hlbGwpOgorICAgICAgICAo
VGVzdFNoZWxsOjpjcmVhdGVNYWluV2luZG93KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2V0Q29tcG9zaXRvckRl
dmljZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFRlc3RTaGVsbDo6Y29tcG9zaXRvckRldmljZVNj
YWxlRmFjdG9yKToKKyAgICAgICAgKFRlc3RTaGVsbCk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6
OmFwcGx5VG8pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpwYWludFJlY3QpOgorICAgICAgICAoV2ViVmll
d0hvc3Q6OmNhbnZhcyk6CisKIDIwMTItMDYtMTIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFtSRUdSRVNTSU9OXVtXVFJdIEJ1aWxkIGZhaWwgd2l0aCB3
ZXJyb3IgYWZ0ZXIgcjEyMDA1NApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDdiMTI4NGQzMWQ5MWIwYmJlOTUyMGY1ZWM1NzIxZTQ4
NjRlNTc2MmQuLjNiYTE3NDdmNjk1NTUzYWRlNTJhOWFhN2M0MzdjNzBiOGUwMzI5M2MgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKQEAg
LTYyLDYgKzYyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRQ
YWludGluZ1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLXBhaW4KIHN0YXRpYyBjb25zdCBjaGFy
IG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JWaWRlb1tdID0gIi0tZW5hYmxl
LWFjY2VsZXJhdGVkLXZpZGVvIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvblVzZUdyYXBoaWNz
Q29udGV4dDNESW1wbGVtZW50YXRpb25bXSA9ICItLXVzZS1ncmFwaGljcy1jb250ZXh0LTNkLWlt
cGxlbWVudGF0aW9uPSI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25FbmFibGVQZXJUaWxlUGFp
bnRpbmdbXSA9ICItLWVuYWJsZS1wZXItdGlsZS1wYWludGluZyI7CitzdGF0aWMgY29uc3QgY2hh
ciBvcHRpb25Db21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3JbXSA9ICItLWNvbXBvc2l0b3ItZGV2
aWNlLXNjYWxlLWZhY3Rvcj0iOwogCiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25TdHJlc3NPcHRb
XSA9ICItLXN0cmVzcy1vcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNzRGVvcHRb
XSA9ICItLXN0cmVzcy1kZW9wdCI7CkBAIC0xNTEsNiArMTUyLDcgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBib29sIGhhcmR3YXJlQWNjZWxlcmF0ZWRHTCA9IGZhbHNl
OwogICAgIHN0cmluZyBqYXZhU2NyaXB0RmxhZ3M7CiAgICAgYm9vbCBub1RpbWVvdXQgPSBmYWxz
ZTsKKyAgICBpbnQgY29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yID0gMTsKICAgICBmb3IgKGlu
dCBpID0gMTsgaSA8IGFyZ2M7ICsraSkgewogICAgICAgICBzdHJpbmcgYXJndW1lbnQoYXJndltp
XSk7CiAgICAgICAgIGlmIChhcmd1bWVudCA9PSAiLSIpCkBAIC0yMDcsNiArMjA5LDExIEBAIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBqYXZhU2NyaXB0Rmxh
Z3MgPSBhcmd1bWVudC5zdWJzdHIoc3RybGVuKG9wdGlvbkphdmFTY3JpcHRGbGFncykpOwogICAg
ICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25Ob1RpbWVvdXQpCiAgICAgICAgICAgICBu
b1RpbWVvdXQgPSB0cnVlOworICAgICAgICBlbHNlIGlmICghYXJndW1lbnQuZmluZChvcHRpb25D
b21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IpKSB7CisgICAgICAgICAgICBzdHJpbmcgcyA9IGFy
Z3VtZW50LnN1YnN0cihzdHJsZW4ob3B0aW9uQ29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKSk7
CisgICAgICAgICAgICBjb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IgPSBhdG9pKHMuY19zdHIo
KSk7CisgICAgICAgICAgICBmb3JjZUNvbXBvc2l0aW5nTW9kZSA9IHRydWU7CisgICAgICAgIH0K
ICAgICAgICAgZWxzZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uV2ViQ29yZUxvZ0NoYW5uZWxz
KSkgewogICAgICAgICAgICAgc3RyaW5nIGNoYW5uZWxzID0gYXJndW1lbnQuc3Vic3RyKHN0cmxl
bihvcHRpb25XZWJDb3JlTG9nQ2hhbm5lbHMpKTsKICAgICAgICAgICAgIHdlYmtpdF9zdXBwb3J0
OjpFbmFibGVXZWJDb3JlTG9nQ2hhbm5lbHMoY2hhbm5lbHMpOwpAQCAtMjQzLDYgKzI1MCw3IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIHNoZWxsLnNldEphdmFT
Y3JpcHRGbGFncyhqYXZhU2NyaXB0RmxhZ3MpOwogICAgICAgICBzaGVsbC5zZXRTdHJlc3NPcHQo
c3RyZXNzT3B0KTsKICAgICAgICAgc2hlbGwuc2V0U3RyZXNzRGVvcHQoc3RyZXNzRGVvcHQpOwor
ICAgICAgICBzaGVsbC5zZXRDb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IoY29tcG9zaXRvckRl
dmljZVNjYWxlRmFjdG9yKTsKICAgICAgICAgaWYgKG5vVGltZW91dCkgewogICAgICAgICAgICAg
Ly8gMHgyMDAwMDAwMG1zIGlzIGJpZyBlbm91Z2ggZm9yIHRoZSBwdXJwb3NlIHRvIGF2b2lkIHRp
bWVvdXQgaW4gZGVidWdnaW5nLgogICAgICAgICAgICAgc2hlbGwuc2V0TGF5b3V0VGVzdFRpbWVv
dXQoMHgyMDAwMDAwMCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcAppbmRleCAzNWQzYmFmMWRmZDlmYmE2ZGNhYzM3YTliMzRjYzRiZTA0Nzc5NDZiLi45MzRi
NjBjNWI2ODEyMzkyMDNhZGNmNTExNmZhMDQzYWJmMTM5ZDQwIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTExOSw2ICsxMTksNyBAQCBUZXN0U2hl
bGw6OlRlc3RTaGVsbCgpCiAgICAgLCBtX3N0cmVzc0Rlb3B0KGZhbHNlKQogICAgICwgbV9kdW1w
V2hlbkZpbmlzaGVkKHRydWUpCiAgICAgLCBtX2lzRGlzcGxheWluZ01vZGFsRGlhbG9nKGZhbHNl
KQorICAgICwgbV9jb21wb3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IoMSkKIHsKICAgICBXZWJSdW50
aW1lRmVhdHVyZXM6OmVuYWJsZURhdGFUcmFuc2Zlckl0ZW1zKHRydWUpOwogICAgIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlR2VvbG9jYXRpb24odHJ1ZSk7CkBAIC0xNzgsNiArMTc5LDcgQEAg
dm9pZCBUZXN0U2hlbGw6OmNyZWF0ZU1haW5XaW5kb3coKQogICAgIG1fd2ViVmlld0hvc3QgPSBh
ZG9wdFB0cihjcmVhdGVOZXdXaW5kb3coV2ViVVJMKCksIG1fZHJ0RGV2VG9vbHNBZ2VudC5nZXQo
KSkpOwogICAgIG1fd2ViVmlldyA9IG1fd2ViVmlld0hvc3QtPndlYlZpZXcoKTsKICAgICBtX2Ry
dERldlRvb2xzQWdlbnQtPnNldFdlYlZpZXcobV93ZWJWaWV3KTsKKyAgICBtX3dlYlZpZXctPnNl
dERldmljZVNjYWxlRmFjdG9yKG1fY29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKTsKIH0KIAog
VGVzdFNoZWxsOjp+VGVzdFNoZWxsKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmgKaW5kZXggYWU5ZDhkOGExYTkxOGFhMmVjMGMyMDAzYjVhMTQ4YzFjZDE4YjY5OC4u
MmFlMmJmZDJkNWNiYzE5Zjg5NDJjNzdkMGRhZWUwNDhkYjkxZTgwZCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTE0Myw2ICsxNDMsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXREZWZlcnJlZDJkQ2FudmFzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9k
ZWZlcnJlZDJkQ2FudmFzRW5hYmxlZCA9IGVuYWJsZWQ7IH0KICAgICB2b2lkIHNldEFjY2VsZXJh
dGVkUGFpbnRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2FjY2VsZXJhdGVkUGFpbnRpbmdF
bmFibGVkID0gZW5hYmxlZDsgfQogICAgIHZvaWQgc2V0UGVyVGlsZVBhaW50aW5nRW5hYmxlZChi
b29sIGVuYWJsZWQpIHsgbV9wZXJUaWxlUGFpbnRpbmdFbmFibGVkID0gZW5hYmxlZDsgfQorICAg
IHZvaWQgc2V0Q29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKGludCBmYWN0b3IpIHsgbV9jb21w
b3NpdG9yRGV2aWNlU2NhbGVGYWN0b3IgPSBmYWN0b3I7IH0KKyAgICBpbnQgY29tcG9zaXRvckRl
dmljZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9jb21wb3NpdG9yRGV2aWNlU2NhbGVG
YWN0b3I7IH0KICNpZiBkZWZpbmVkKE9TX1dJTikKICAgICAvLyBBY2Nlc3MgdG8gdGhlIGZpbmlz
aGVkIGV2ZW50LiBVc2VkIGJ5IHRoZSBzdGF0aWMgV2F0Y2hEb2cgdGhyZWFkLgogICAgIEhBTkRM
RSBmaW5pc2hlZEV2ZW50KCkgeyByZXR1cm4gbV9maW5pc2hlZEV2ZW50OyB9CkBAIC0yNDUsNiAr
MjQ3LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnN0cmluZyBtX2phdmFTY3JpcHRGbGFnczsKICAg
ICBib29sIG1fZHVtcFdoZW5GaW5pc2hlZDsKICAgICBib29sIG1faXNEaXNwbGF5aW5nTW9kYWxE
aWFsb2c7CisgICAgaW50IG1fY29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yOwogCiAKICAgICAv
LyBMaXN0IG9mIGFsbCB3aW5kb3dzIGluIHRoaXMgcHJvY2Vzcy4KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAzMjI3YzAyMzEyYjNi
MzkwMDY3ODJjMzg3N2QwOGI2MzdkZmNhYjk0Li5jYmRmYTZiZTQyMWU4OWNiMDA3MjFhNzA3NjZm
M2JkNmI0ZTMxNDUzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
UHJlZmVyZW5jZXMuY3BwCkBAIC0yMjgsNiArMjI4LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6
YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHNldHRpbmdzLT5zZXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkKGhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQpOwogICAg
IHNldHRpbmdzLT5zZXRQZXJUaWxlUGFpbnRpbmdFbmFibGVkKHBlclRpbGVQYWludGluZ0VuYWJs
ZWQpOwogICAgIHNldHRpbmdzLT5zZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQobW9ja1Njcm9sbGJh
cnNFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0QXBwbHlEZWZhdWx0RGV2aWNlU2NhbGVGYWN0
b3JJbkNvbXBvc2l0b3IoZm9yY2VDb21wb3NpdGluZ01vZGUpOwogCiAgICAgLy8gRml4ZWQgdmFs
dWVzLgogICAgIHNldHRpbmdzLT5zZXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2
aW9yTmV2ZXJJbmNsdWRlZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwCmluZGV4IDRhYmFkNWI4Mzc1ODU4NzQ0N2EyZmI5OWFmMWU1ZmNiMzc3ZWM3
ZmYuLjEzZWZkMjNkYWFlYzlkZGNlZTkzNDgxMzU0ZjkyOWQwZGVkMGMwNmYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTE3OTIsNyArMTc5
MiwxMyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpwYWludFJlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkK
ICAgICBBU1NFUlQoIW1faXNQYWludGluZyk7CiAgICAgQVNTRVJUKGNhbnZhcygpKTsKICAgICBt
X2lzUGFpbnRpbmcgPSB0cnVlOwotICAgIHdlYldpZGdldCgpLT5wYWludChjYW52YXMoKSwgcmVj
dCk7CisKKyAgICBXZWJSZWN0IHNjYWxlZFJlY3QocmVjdCk7CisgICAgaW50IHNjYWxlRmFjdG9y
ID0gbV9zaGVsbC0+Y29tcG9zaXRvckRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgc2NhbGVkUmVj
dC53aWR0aCAqPSBzY2FsZUZhY3RvcjsKKyAgICBzY2FsZWRSZWN0LmhlaWdodCAqPSBzY2FsZUZh
Y3RvcjsKKworICAgIHdlYldpZGdldCgpLT5wYWludChjYW52YXMoKSwgc2NhbGVkUmVjdCwgc2Nh
bGVGYWN0b3IpOwogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwogfQogCkBAIC0xODYzLDcgKzE4
NjksNyBAQCBTa0NhbnZhcyogV2ViVmlld0hvc3Q6OmNhbnZhcygpCiAgICAgICAgIHJldHVybiBt
X2NhbnZhcy5nZXQoKTsKICAgICBXZWJTaXplIHdpZGdldFNpemUgPSB3ZWJXaWRnZXQoKS0+c2l6
ZSgpOwogICAgIHJlc2V0U2Nyb2xsUmVjdCgpOwotICAgIG1fY2FudmFzID0gYWRvcHRQdHIoc2tp
YTo6Q3JlYXRlQml0bWFwQ2FudmFzKHdpZGdldFNpemUud2lkdGgsIHdpZGdldFNpemUuaGVpZ2h0
LCB0cnVlKSk7CisgICAgbV9jYW52YXMgPSBhZG9wdFB0cihza2lhOjpDcmVhdGVCaXRtYXBDYW52
YXMod2lkZ2V0U2l6ZS53aWR0aCAqIG1fc2hlbGwtPmNvbXBvc2l0b3JEZXZpY2VTY2FsZUZhY3Rv
cigpLCB3aWRnZXRTaXplLmhlaWdodCAqIG1fc2hlbGwtPmNvbXBvc2l0b3JEZXZpY2VTY2FsZUZh
Y3RvcigpLCB0cnVlKSk7CiAgICAgcmV0dXJuIG1fY2FudmFzLmdldCgpOwogfQogCg==
</data>
<flag name="review"
          id="154889"
          type_id="1"
          status="-"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>