<?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>66229</bug_id>
          
          <creation_ts>2011-08-15 08:08:20 -0700</creation_ts>
          <short_desc>WebKit doesn&apos;t react to device scale factor changes</short_desc>
          <delta_ts>2011-08-15 14:07:21 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66244</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451073</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 08:08:20 -0700</bug_when>
    <thetext>A window&apos;s scale factor can change over time, in a couple of different ways:

(1) it could be dragged from one monitor to another monitor that has a different scale factor
(2) the scale factor of the entire display could be changed (which, I believe, ripples across the individual windows)

We need to make sure that when this happens, WebKit responds appropriately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451074</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 08:08:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/9906269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451075</commentid>
    <comment_count>2</comment_count>
      <attachid>103915</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 08:28:35 -0700</bug_when>
    <thetext>Created attachment 103915
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451169</commentid>
    <comment_count>3</comment_count>
      <attachid>103915</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-15 11:29:39 -0700</bug_when>
    <thetext>Comment on attachment 103915
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes

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

&gt; Source/WebCore/page/Frame.h:172
&gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; +        void deviceOrPageScaleFactorChanged();
&gt; +#endif

I don&apos;t think this method should be #ifdeffed. In fact, it could be the one entry point that then calls setNeedsRecalcStyleInAllFrames().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451172</commentid>
    <comment_count>4</comment_count>
      <attachid>103915</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 11:31:16 -0700</bug_when>
    <thetext>Comment on attachment 103915
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes

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

&gt;&gt; Source/WebCore/page/Frame.h:172
&gt;&gt; +#endif
&gt; 
&gt; I don&apos;t think this method should be #ifdeffed. In fact, it could be the one entry point that then calls setNeedsRecalcStyleInAllFrames().

I can un-ifdef it. But I don&apos;t think it should call setNeedsRecalcStyleInAllFrames. Hyatt told me we don&apos;t want to call that function when pinch-zooming, as it will be too slow, and the page scale factor doesn&apos;t affect style anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451193</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 12:04:36 -0700</bug_when>
    <thetext>Simon and I decided that having a separate, public deviceScaleFactorChanged function that calls through to the private deviceOrPageScaleFactorChanged function would be clearest. Of course, all this logic should really be on Page, not Frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451215</commentid>
    <comment_count>6</comment_count>
      <attachid>103943</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 12:28:26 -0700</bug_when>
    <thetext>Created attachment 103943
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451249</commentid>
    <comment_count>7</comment_count>
      <attachid>103943</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-15 13:35:36 -0700</bug_when>
    <thetext>Comment on attachment 103943
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes

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

&gt; Source/WebKit/mac/WebView/WebView.mm:3395
&gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; +    _private-&gt;page-&gt;mainFrame()-&gt;deviceScaleFactorChanged();
&gt; +#endif

This should not be inside #ifdefs now, right?

&gt; Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp:153
&gt; +void LayerTreeHostCA::deviceScaleFactorDidChange()

Seems odd to have methods called deviceScaleFactorChanged() and deviceScaleFactorDidChange() in various places. Can they share the same name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451250</commentid>
    <comment_count>8</comment_count>
      <attachid>103943</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 13:38:39 -0700</bug_when>
    <thetext>Comment on attachment 103943
Update pages&apos; style and content scale when the window&apos;s backing scale factor changes

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

&gt;&gt; Source/WebKit/mac/WebView/WebView.mm:3395
&gt;&gt; +#endif
&gt; 
&gt; This should not be inside #ifdefs now, right?

Right! Removed.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp:153
&gt;&gt; +void LayerTreeHostCA::deviceScaleFactorDidChange()
&gt; 
&gt; Seems odd to have methods called deviceScaleFactorChanged() and deviceScaleFactorDidChange() in various places. Can they share the same name?

In each case I was trying to match other functions in the same class (specifically, Frame::deviceOrPageScaleFactorChanged and related functions in RenderLayerCompositor and GraphicsLayer, and LayerTreeHost::sizeDidChange). I agree it would be nice if we had a consistent &quot;did change&quot; vs. &quot;changed&quot; convention throughout our code, particularly for cases like this where the two clash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451268</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-15 14:07:21 -0700</bug_when>
    <thetext>Committed r93058: &lt;http://trac.webkit.org/changeset/93058&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103915</attachid>
            <date>2011-08-15 08:28:35 -0700</date>
            <delta_ts>2011-08-15 12:28:21 -0700</delta_ts>
            <desc>Update pages&apos; style and content scale when the window&apos;s backing scale factor changes</desc>
            <filename>bug-66229-20110815112834.patch</filename>
            <type>text/plain</type>
            <size>23944</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZGI3ODJmZmFjZGQ3Njk4
OTg2ZDBhNmM5MDNlNjQ4NzdkNDRjYzM4Li41NjM1NzYwN2JhZTM4NzcxMWMzYzhiOTZiYWJkNTMz
ZjI3MWMwMzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTEtMDgtMTUgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIEV4cG9ydCBzb21lIGZ1bmN0aW9u
cyBmb3IgV2ViS2l0J3MgYmVuZWZpdAorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzY2MjI5PiA8cmRhcjovL3Byb2JsZW0vOTkwNjI2OT4gV2ViS2l0IGRvZXNuJ3QgcmVhY3Qg
dG8gZGV2aWNlCisgICAgICAgIHNjYWxlIGZhY3RvciBjaGFuZ2VzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0
IFBhZ2U6OnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcyBhbmQKKyAgICAgICAgRnJhbWU6
OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZC4KKworICAgICAgICAqIHBhZ2UvRnJhbWUu
aDogTWFkZSBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQgcHVibGljLgorCisyMDExLTA4
LTE1ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW5hbWUgYW4g
aW5zdGFuY2Ugb2YgcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCBJIG1pc3NlZCBpbiByOTMwNDAKIAog
ICAgICAgICBJIHRyaWVkIHRvIG1ha2UgYSB0ZXN0IGZvciB0aGlzIGJ1dCBmYWlsZWQuIEl0IHdv
dWxkIHByb2JhYmx5IGhhdmUgYmVlbiBlYXNpZXIgaWYgd2UgZHVtcGVkCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IGE5NWRiZDExMzk3Yzg3MzhmOGMxYjE1M2IwY2E2MzA5MTA1ZjgyOTIuLjMyYWM5
MDIzNjQ0ZjA3YTU4ODY1MTI0OTc1Nzk0ODY2ZDA3M2Q3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC03MTAsNiArNzEwLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMW1hcmtBbGxNYXRjaGVzRm9y
VGV4dEVSS04zV1RGNlN0cmluZ0VqYmoKIF9fWk43V2ViQ29yZTRQYWdlMjJhbGxWaXNpdGVkU3Rh
dGVDaGFuZ2VkRVBOU185UGFnZUdyb3VwRQogX19aTjdXZWJDb3JlNFBhZ2UyM2NsZWFyVW5kb1Jl
ZG9PcGVyYXRpb25zRXYKIF9fWk43V2ViQ29yZTRQYWdlMjdzZXRKYXZhU2NyaXB0VVJMc0FyZUFs
bG93ZWRFYgorX19aTjdXZWJDb3JlNFBhZ2UzMHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1l
c0V2CiBfX1pON1dlYkNvcmU0UGFnZTMxc2V0Q3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6ZUVp
CiBfX1pON1dlYkNvcmU0UGFnZTMxc2V0Q3VzdG9tSFRNTFRva2VuaXplclRpbWVEZWxheUVkCiBf
X1pON1dlYkNvcmU0UGFnZTMyc2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWRFYgpAQCAt
NzQwLDYgKzc0MSw3IEBAIF9fWk43V2ViQ29yZTVGcmFtZTI1bWF0Y2hMYWJlbHNBZ2FpbnN0RWxl
bWVudEVQN05TQXJyYXlQTlNfN0VsZW1lbnRFCiBfX1pON1dlYkNvcmU1RnJhbWUyNXNldFBhZ2VB
bmRUZXh0Wm9vbUZhY3RvcnNFZmYKIF9fWk43V2ViQ29yZTVGcmFtZTI3cmVzaXplUGFnZVJlY3Rz
S2VlcGluZ1JhdGlvRVJLTlNfOUZsb2F0U2l6ZUVTM18KIF9fWk43V2ViQ29yZTVGcmFtZTI4c2Vh
cmNoRm9yTGFiZWxzQmVmb3JlRWxlbWVudEVQN05TQXJyYXlQTlNfN0VsZW1lbnRFUG1QYgorX19a
TjdXZWJDb3JlNUZyYW1lMzBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWRFdgogX19aTjdX
ZWJDb3JlNUZyYW1lNmNyZWF0ZUVQTlNfNFBhZ2VFUE5TXzIxSFRNTEZyYW1lT3duZXJFbGVtZW50
RVBOU18xN0ZyYW1lTG9hZGVyQ2xpZW50RQogX19aTjdXZWJDb3JlNUZyYW1lN3NldFZpZXdFTjNX
VEYxMFBhc3NSZWZQdHJJTlNfOUZyYW1lVmlld0VFRQogX19aTjdXZWJDb3JlNUZyYW1lOW5vZGVJ
bWFnZUVQTlNfNE5vZGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggZDczYTBhOGQxYjlmNWFmZTcwOTBj
NTMxYmNkZDc2MTdlZDA0YWZhNi4uODJmYjM5NTEzYTMyZWIyYTUwMzZkN2Y2YjlhMTAzZDFmMGRk
MGY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTY3LDYgKzE2NywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZvaWQgc2NhbGVQYWdlKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2lu
dCYgb3JpZ2luKTsKICAgICAgICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9wYWdlU2NhbGVGYWN0b3I7IH0KIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKKyAgICAgICAgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICAgICAgLy8gT3JpZW50YXRp
b24gaXMgdGhlIGludGVyZmFjZSBvcmllbnRhdGlvbiBpbiBkZWdyZWVzLiBTb21lIGV4YW1wbGVz
IGFyZToKICAgICAgICAgLy8gIDAgaXMgc3RyYWlnaHQgdXA7IC05MCBpcyB3aGVuIHRoZSBkZXZp
Y2UgaXMgcm90YXRlZCA5MCBjbG9ja3dpc2U7CkBAIC0yMTcsMTAgKzIyMSw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBpbmplY3RVc2VyU2NyaXB0c0ZvcldvcmxkKERPTVdy
YXBwZXJXb3JsZCosIGNvbnN0IFVzZXJTY3JpcHRWZWN0b3ImLCBVc2VyU2NyaXB0SW5qZWN0aW9u
VGltZSk7CiAgICAgICAgIHZvaWQgbGlmZVN1cHBvcnRUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiop
OwogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICAgICB2b2lkIGRldmlj
ZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwotI2VuZGlmCi0KICAgICAgICAgSGFzaFNldDxG
cmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIqPiBtX2Rlc3RydWN0aW9uT2JzZXJ2ZXJzOwogCiAgICAg
ICAgIFBhZ2UqIG1fcGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxZjExMjNhYjFlOWFlMGJmYmY3
OWUyMmVmYjUzYzcyNzk0NmI5ZTYwLi5iOTc3NGMyMzQzYjQwNmRjZTA3NDg1NjNhOTg4YTYzMTMz
ZTBiZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMTUgIEFk
YW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBwYWdlcycgc3R5
bGUgYW5kIGNvbnRlbnQgc2NhbGUgd2hlbiB0aGUgd2luZG93J3MgYmFja2luZyBzY2FsZSBmYWN0
b3IgY2hhbmdlcworCisgICAgICAgIFVuZm9ydHVuYXRlbHksIEkgY291bGRuJ3QgdGhpbmsgb2Yg
YSB3YXkgdG8gdGVzdCB0aGlzIGluIGFuIGF1dG9tYXRlZCBmYXNoaW9uLgorCisgICAgICAgIEZp
eGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzY2MjI5PiA8cmRhcjovL3Byb2JsZW0vOTkwNjI2OT4g
V2ViS2l0IGRvZXNuJ3QgcmVhY3QgdG8gZGV2aWNlCisgICAgICAgIHNjYWxlIGZhY3RvciBjaGFu
Z2VzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgYWRkV2luZG93T2JzZXJ2ZXJz
Rm9yV2luZG93Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IHJlbW92ZVdpbmRvd09ic2VydmVyc10p
OgorICAgICAgICBMaXN0ZW4gZm9yIHRoZSBub3RpZmljYXRpb24gdGhhdCB0ZWxscyB1cyB0aGUg
d2luZG93J3MgYmFja2luZyBzY2FsZSBoYXMgY2hhbmdlZC4KKworICAgICAgICAoLVtXZWJWaWV3
IF93aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uOl0pOiBUZWxsIHRoZSBwYWdlIHRvIHJlY2FsYyBz
dHlsZSBzbyB0aGF0LCBlLmcuLAorICAgICAgICBzY2FsZS1mYWN0b3ItZGVwZW5kZW50IG1lZGlh
IHF1ZXJpZXMgd2lsbCBiZSByZWV2YWx1YXRlZCwgYW5kIHRlbGwgY29tcG9zaXRpbmcgbGF5ZXJz
IGFib3V0CisgICAgICAgIHRoZSBuZXcgc2NhbGUgZmFjdG9yLgorCiAyMDExLTA4LTEwICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhciB1cCBzY2FsZSBmYWN0
b3IgdGVybWlub2xvZ3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyZWM5
YjE4ODY4NzZjMzZjMjAxYWY5ODJjYjVlZjY1NTZkMGZjZmM3Li4wMDQ3YzBiMjQ1ZTQ1MDE4NmI4
NGE0NzhjOTk3NTc1YzU2NzA4YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CkBAIC0zMjgzLDYgKzMyODMsOSBAQCAtIChCT09MKXNob3VsZENsb3NlV2l0aFdpbmRvdwogICAg
IHJldHVybiBfcHJpdmF0ZS0+c2hvdWxkQ2xvc2VXaXRoV2luZG93OwogfQogCisvLyBGSVhNRTog
VXNlIGFuIEFwcEtpdCBjb25zdGFudCBmb3IgdGhpcyBvbmNlIG9uZSBpcyBhdmFpbGFibGUuCitz
dGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uTm90aWZpY2F0
aW9uID0gQCJOU1dpbmRvd0RpZENoYW5nZVJlc29sdXRpb25Ob3RpZmljYXRpb24iOworCiAtICh2
b2lkKWFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzooTlNXaW5kb3cgKil3aW5kb3cKIHsKICAg
ICBpZiAod2luZG93KSB7CkBAIC0zMjkyLDYgKzMyOTUsOCBAQCAtICh2b2lkKWFkZFdpbmRvd09i
c2VydmVyc0ZvcldpbmRvdzooTlNXaW5kb3cgKil3aW5kb3cKICAgICAgICAgICAgIG5hbWU6TlNX
aW5kb3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3dpbmRvd1dpbGxPcmRlck9uU2NyZWVuOikKICAgICAgICAgICAgIG5hbWU6
V0tXaW5kb3dXaWxsT3JkZXJPblNjcmVlbk5vdGlmaWNhdGlvbigpIG9iamVjdDp3aW5kb3ddOwor
ICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uOikKKyAg
ICAgICAgICAgIG5hbWU6d2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbk5vdGlmaWNhdGlvbiBvYmpl
Y3Q6d2luZG93XTsKICAgICB9CiB9CiAKQEAgLTMzMDUsNiArMzMxMCw4IEBAIC0gKHZvaWQpcmVt
b3ZlV2luZG93T2JzZXJ2ZXJzCiAgICAgICAgICAgICBuYW1lOk5TV2luZG93RGlkUmVzaWduS2V5
Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYKICAgICAgICAgICAgIG5hbWU6V0tX
aW5kb3dXaWxsT3JkZXJPblNjcmVlbk5vdGlmaWNhdGlvbigpIG9iamVjdDp3aW5kb3ddOworICAg
ICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVy
OnNlbGYKKyAgICAgICAgICAgIG5hbWU6d2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbk5vdGlmaWNh
dGlvbiBvYmplY3Q6d2luZG93XTsKICAgICB9CiB9CiAKQEAgLTMzODEsNiArMzM4OCwxNSBAQCAt
ICh2b2lkKV93aW5kb3dXaWxsQ2xvc2U6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiAg
ICAgICAgIFtzZWxmIGNsb3NlXTsKIH0KIAorLSAodm9pZClfd2luZG93RGlkQ2hhbmdlUmVzb2x1
dGlvbjooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KK3sKKyNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCisgICAgX3ByaXZhdGUtPnBhZ2UtPm1haW5GcmFtZSgpLT5kZXZpY2VP
clBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKyNlbmRpZgorCisgICAgX3ByaXZhdGUtPnBhZ2Ut
PnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworfQorCiAtICh2b2lkKXNldFByZWZl
cmVuY2VzOihXZWJQcmVmZXJlbmNlcyAqKXByZWZzCiB7CiAgICAgaWYgKCFwcmVmcykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA1NWZkODgzNGRkN2M2Y2I4MDcyMTQxNjg2OTgyN2Q5ZGI4ZjNkNDljLi5lOTI5NWI2
ZjE3NjBhNDU3ZjY1ZTg4OGU4ZTZlYTU0YTk3Y2NmNThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjQgQEAKKzIwMTEtMDgtMTUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFVwZGF0ZSBwYWdlcycgc3R5bGUgYW5kIGNvbnRlbnQgc2NhbGUgd2hlbiB0aGUgd2luZG93
J3MgYmFja2luZyBzY2FsZSBmYWN0b3IgY2hhbmdlcworCisgICAgICAgIFVuZm9ydHVuYXRlbHks
IEkgY291bGRuJ3QgdGhpbmsgb2YgYSB3YXkgdG8gdGVzdCB0aGlzIGluIGFuIGF1dG9tYXRlZCBm
YXNoaW9uLgorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzY2MjI5PiA8cmRh
cjovL3Byb2JsZW0vOTkwNjI2OT4gV2ViS2l0IGRvZXNuJ3QgcmVhY3QgdG8gZGV2aWNlCisgICAg
ICAgIHNjYWxlIGZhY3RvciBjaGFuZ2VzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAg
ICgtW1dLVmlldyBhZGRXaW5kb3dPYnNlcnZlcnNGb3JXaW5kb3c6XSk6CisgICAgICAgICgtW1dL
VmlldyByZW1vdmVXaW5kb3dPYnNlcnZlcnNdKToKKyAgICAgICAgTGlzdGVuIGZvciB0aGUgbm90
aWZpY2F0aW9uIHRoYXQgdGVsbHMgdXMgdGhlIHdpbmRvdydzIGJhY2tpbmcgc2NhbGUgaGFzIGNo
YW5nZWQuCisKKyAgICAgICAgKC1bV0tWaWV3IF93aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uOl0p
OiBUZWxsIHRoZSBXZWJQYWdlUHJveHkgYWJvdXQgdGhlIGNoYW5nZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmg6CisgICAgICAgIEFkZGVkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdl
LgorCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRldmljZVNjYWxlRmFjdG9yRGlkQ2hh
bmdlKTogUmVxdWVzdCBhIG5ldyBiYWNraW5nIHN0b3JlCisgICAgICAgIHNpbmNlIHRoZSBjdXJy
ZW50IG9uZSBpcyB1c2luZyBhbiBvbGQgZGV2aWNlIHNjYWxlIGZhY3Rvci4KKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNlbmRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSk6
IFNlbmQgdGhlIGRldmljZSBzY2FsZSBmYWN0b3IKKyAgICAgICAgYWxvbmcgdG8gdGhlIHdlYiBw
cm9jZXNzIHNvIGl0IGNhbiByZW5kZXIgYWNjb3JkaW5nbHkuIFRoaXMgaXMgaG93IHdlIHRlbGwg
dGhlIHdlYiBwcm9jZXNzCisgICAgICAgIGFib3V0IGRldmljZSBzY2FsZSBmYWN0b3IgY2hhbmdl
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnZpZXdTdGF0ZURpZENoYW5nZSk6IFRlbGwgdGhlIERyYXdpbmdB
cmVhUHJveHkgd2hlbiB0aGUgZGV2aWNlIHNjYWxlCisgICAgICAgIGZhY3RvciBjaGFuZ2VzLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFjdG9yKTogQWRkZWQg
dGhpcyBzaW1wbGUgZ2V0dGVyIHRoYXQgY2FsbHMgdGhyb3VnaCB0bworICAgICAgICB0aGUgUGFn
ZUNsaWVudC4gRHJhd2luZ0FyZWFQcm94eSB1c2VzIHRoaXMgZnVuY3Rpb24uCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IEFkZGVkIG5ldyBtZW1iZXJzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgIChXZWJLaXQ6OkRy
YXdpbmdBcmVhOjp1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAgU2VuZCB0aGUgZGV2aWNlIHNjYWxl
IGZhY3RvciBpbiB0aGUgVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUgbWVzc2FnZS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpEcmF3aW5nQXJlYUltcGw6OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKTogVGVsbCB0aGUg
V2ViUGFnZSBhbmQgTGF5ZXJUcmVlSG9zdCBhYm91dAorICAgICAgICB0aGUgbmV3IGRldmljZSBz
Y2FsZSBmYWN0b3IuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaDoK
KyAgICAgICAgQWRkZWQgZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNldERldmljZVNjYWxlRmFjdG9yKTogU3RvcmUgdGhlIG5ldyBzY2FsZSBmYWN0b3IgYW5kIHRl
bGwgdGhlIHBhZ2UgdG8KKyAgICAgICAgcmVjYWxjIHN0eWxlIHNvIHRoYXQsIGUuZy4sIHNjYWxl
LWZhY3Rvci1kZXBlbmRlbnQgbWVkaWEgcXVlcmllcyB3aWxsIGJlIHJlZXZhbHVhdGVkLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDogQWRkZWQgc2V0RGV2aWNlU2Nh
bGVGYWN0b3IuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9z
dENBLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpkZXZpY2VTY2FsZUZh
Y3RvckRpZENoYW5nZSk6IFRlbGwgdGhlIGxheWVyIGZvciBub24tY29tcG9zaXRlZAorICAgICAg
ICBjb250ZW50IGFuZCB0aGUgcGFnZSdzIGxheWVycyBhYm91dCB0aGUgbmV3IHNjYWxlIGZhY3Rv
ci4KKwogMjAxMS0wOC0xMCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2xlYXIgdXAgc2NhbGUgZmFjdG9yIHRlcm1pbm9sb2d5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggMmYwOGNmZjM1MzNkNTVmM2I0NDJjODMzYmQy
YTljMWY0Nzc1ZGRiZC4uNzFhMjAyZWNhZGU4NGM1YWYwOTA0YzcwYzhmMWJiYTU2MDUwMGE4MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMTcwMCw2
ICsxNzAwLDkgQEAgLSAoQk9PTClfdXBkYXRlR3Jvd0JveEZvcldpbmRvd0ZyYW1lQ2hhbmdlCiAg
ICAgcmV0dXJuIG93bnNHcm93Qm94OwogfQogCisvLyBGSVhNRTogVXNlIGFuIEFwcEtpdCBjb25z
dGFudCBmb3IgdGhpcyBvbmNlIG9uZSBpcyBhdmFpbGFibGUuCitzdGF0aWMgTlNTdHJpbmcgKiBj
b25zdCB3aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uTm90aWZpY2F0aW9uID0gQCJOU1dpbmRvd0Rp
ZENoYW5nZVJlc29sdXRpb25Ob3RpZmljYXRpb24iOworCiAtICh2b2lkKWFkZFdpbmRvd09ic2Vy
dmVyc0ZvcldpbmRvdzooTlNXaW5kb3cgKil3aW5kb3cKIHsKICAgICBpZiAod2luZG93KSB7CkBA
IC0xNzE5LDYgKzE3MjIsOSBAQCAtICh2b2lkKWFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzoo
TlNXaW5kb3cgKil3aW5kb3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRp
b24iIG9iamVjdDp3aW5kb3ddOwogICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRP
cmRlck9uU2NyZWVuOikgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2lu
ZG93XTsKKyAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlUmVzb2x1dGlv
bjopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5hbWU6d2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93
XTsKKwogICAgIH0KIH0KIApAQCAtMTczNiw2ICsxNzQyLDggQEAgLSAodm9pZClyZW1vdmVXaW5k
b3dPYnNlcnZlcnMKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZFJlc2l6ZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6d2luZG93XTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmlj
YXRpb24iIG9iamVjdDp3aW5kb3ddOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQmVjb21lVmlz
aWJsZSIgb2JqZWN0OndpbmRvd107CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6d2luZG93RGlkQ2hhbmdlUmVzb2x1dGlv
bk5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKwogfQogCiAtICh2b2lkKXZpZXdXaWxsTW92
ZVRvV2luZG93OihOU1dpbmRvdyAqKXdpbmRvdwpAQCAtMTgyOCw2ICsxODM2LDExIEBAIC0gKHZv
aWQpX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9u
CiAgICAgX2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5OjpWaWV3
SXNWaXNpYmxlKTsKIH0KIAorLSAodm9pZClfd2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbjooTlNO
b3RpZmljYXRpb24gKilub3RpZmljYXRpb24KK3sKKyAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0
ZURpZENoYW5nZShXZWJQYWdlUHJveHk6OkRldmljZVNjYWxlRmFjdG9yKTsKK30KKwogc3RhdGlj
IHZvaWQgZHJhd1BhZ2VCYWNrZ3JvdW5kKENHQ29udGV4dFJlZiBjb250ZXh0LCBXZWJQYWdlUHJv
eHkqIHBhZ2UsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFwYWdlLT5kcmF3c0Jh
Y2tncm91bmQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
CmluZGV4IDJhMWVhNWQ4ODc0NmE4NjBmYTllNjcyY2JlZDY1NmM1N2NlZDA0MTAuLmNhZDkwODIz
ZDAwYTNmNDQ3OTRkYzU0Zjk5MGMyZGJiNzMyYjUxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHBhaW50KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBQbGF0Zm9ybURyYXdp
bmdDb250ZXh0KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5nZSgpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKSA9IDA7CiAKICAg
ICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHB1cmUgdmlydHVhbC4KICAgICB2aXJ0dWFsIHZv
aWQgdmlzaWJpbGl0eURpZENoYW5nZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggMDlmYmUzOGJhMjEzNjRlMzBmYTNi
OWYxNjRkYTI2NjFiYjZhMGI4OC4uNjg5ZTUxN2IxZDg1OTdlMWQ5OTkxNzNiMWE2MzdmNTZiNTBj
YTU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eUltcGwuY3BwCkBAIC0xMTcsNiArMTE3LDExIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6
OnNpemVEaWRDaGFuZ2UoKQogICAgIGJhY2tpbmdTdG9yZVN0YXRlRGlkQ2hhbmdlKFJlc3BvbmRJ
bW1lZGlhdGVseSk7CiB9CiAKK3ZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRldmljZVNjYWxl
RmFjdG9yRGlkQ2hhbmdlKCkKK3sKKyAgICBiYWNraW5nU3RvcmVTdGF0ZURpZENoYW5nZShSZXNw
b25kSW1tZWRpYXRlbHkpOworfQorCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjp2aXNpYmls
aXR5RGlkQ2hhbmdlKCkKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LT5pc1ZpZXdWaXNpYmxl
KCkpIHsKQEAgLTI4Miw3ICsyODcsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZW5k
VXBkYXRlQmFja2luZ1N0b3JlU3RhdGUoUmVzcG9uZEltbWVkaWF0ZWx5T3JOb3QgcgogCiAgICAg
bV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSA9IHJlc3BvbmRJbW1lZGlh
dGVseU9yTm90ID09IFJlc3BvbmRJbW1lZGlhdGVseTsKIAotICAgIG1fd2ViUGFnZVByb3h5LT5w
cm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVCYWNraW5nU3RvcmVT
dGF0ZShtX25leHRCYWNraW5nU3RvcmVTdGF0ZUlELCByZXNwb25kSW1tZWRpYXRlbHlPck5vdCA9
PSBSZXNwb25kSW1tZWRpYXRlbHksIG1fc2l6ZSwgbV9zY3JvbGxPZmZzZXQpLCBtX3dlYlBhZ2VQ
cm94eS0+cGFnZUlEKCkpOworICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZShtX25leHRCYWNraW5n
U3RvcmVTdGF0ZUlELCByZXNwb25kSW1tZWRpYXRlbHlPck5vdCA9PSBSZXNwb25kSW1tZWRpYXRl
bHksIG1fd2ViUGFnZVByb3h5LT5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3NpemUsIG1fc2Nyb2xs
T2Zmc2V0KSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsKICAgICBtX3Njcm9sbE9mZnNldCA9
IEludFNpemUoKTsKIAogICAgIGlmIChtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9y
ZVN0YXRlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5oCmluZGV4IDNjZjVmOTEwY2E1Y2QxYTBjNzA5MjQ0ZTgwZTk5MTgxZDVkM2MzYWMuLjhi
MTdiYTAxMzAyZjgyOTQ5MjlhZDI5ZDJkMzA0OWM2ZDcwNTkxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC01Miw2ICs1Miw3IEBA
IHByaXZhdGU6CiAgICAgLy8gRHJhd2luZ0FyZWFQcm94eQogICAgIHZpcnR1YWwgYm9vbCBwYWlu
dChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgUGxhdGZvcm1EcmF3aW5nQ29udGV4dCk7CiAgICAg
dmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlU2Nh
bGVGYWN0b3JEaWRDaGFuZ2UoKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5n
ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlSXNWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRCYWNraW5nU3RvcmVJc0Rpc2NhcmRhYmxlKGJvb2wpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAxMDRhNjhjYmU2ZGVlOWI3Nzg1YjY2
ODRjOTcyMWVkMTE0NWQ0YjhlLi5lMjk2MzVlMGYxOTdjNDBjOTAwM2ViY2M4MjAwOTZhMDhkZTgw
OWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjgy
LDYgKzY4Miw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp2aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0
YXRlRmxhZ3MgZmxhZ3MpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoZmxhZ3MgJiBEZXZp
Y2VTY2FsZUZhY3RvcikKKyAgICAgICAgbV9kcmF3aW5nQXJlYS0+ZGV2aWNlU2NhbGVGYWN0b3JE
aWRDaGFuZ2UoKTsKKwogICAgIHVwZGF0ZUJhY2tpbmdTdG9yZURpc2NhcmRhYmxlU3RhdGUoKTsK
IH0KIApAQCAtMTIxNCw2ICsxMjE3LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzY2FsZVBhZ2Uo
ZG91YmxlIHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luKQogICAgIHByb2Nlc3MoKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6U2NhbGVQYWdlKHNjYWxlLCBvcmlnaW4pLCBtX3BhZ2VJRCk7
CiB9CiAKK2Zsb2F0IFdlYlBhZ2VQcm94eTo6ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3BhZ2VDbGllbnQtPmRldmljZVNjYWxlRmFjdG9yKCk7Cit9CisKIHZvaWQg
V2ViUGFnZVByb3h5OjpzZXRVc2VGaXhlZExheW91dChib29sIGZpeGVkKQogewogICAgIGlmICgh
aXNWYWxpZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGI3
ZmYxZmNjNTA3ZDQwNzY2ZGY0YjFlNjBkNTc5YWE5Nzk3ZjdmMjIuLmQyMWYxODZhYzUyMDliMWNk
YzJlNzg2NzFlYTAyMjQzNDNiODVmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTI3Myw3ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZpZXdXaW5kb3dJ
c0FjdGl2ZSA9IDEgPDwgMCwKICAgICAgICAgVmlld0lzRm9jdXNlZCA9IDEgPDwgMSwKICAgICAg
ICAgVmlld0lzVmlzaWJsZSA9IDEgPDwgMiwKLSAgICAgICAgVmlld0lzSW5XaW5kb3cgPSAxIDw8
IDMKKyAgICAgICAgVmlld0lzSW5XaW5kb3cgPSAxIDw8IDMsCisgICAgICAgIERldmljZVNjYWxl
RmFjdG9yID0gMSA8PCA0LAogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBWaWV3U3RhdGVG
bGFnczsKICAgICB2b2lkIHZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGVGbGFncyBmbGFncyk7
CkBAIC0zODYsNiArMzg3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2NhbGVQYWdlKGRvdWJsZSBz
Y2FsZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG9yaWdpbik7CiAgICAgZG91YmxlIHBhZ2VT
Y2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZVNjYWxlRmFjdG9yOyB9CiAKKyAgICBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpIGNvbnN0OworCiAgICAgdm9pZCBzZXRVc2VGaXhlZExh
eW91dChib29sKTsKICAgICB2b2lkIHNldEZpeGVkTGF5b3V0U2l6ZShjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJik7CiAgICAgYm9vbCB1c2VGaXhlZExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNl
Rml4ZWRMYXlvdXQ7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCmluZGV4IGM1NmM2MmMyNmM0Njk5N2IwZDU3MWUwNGVjNmQ0ZDIxMmVlMWNh
OWUuLmQ5YmVkOTcyYTYzNDZkOTUwMTllM2ZlMzQ4YWU4MTFlYTM1NGE4ZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC05Miw3ICs5
Miw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQyBtZXNzYWdlIGhhbmRs
ZXJzLgogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcHVyZSB2aXJ0dWFsLgotICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVT
dGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlhdGVseSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3Rh
dGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3Jv
bGxPZmZzZXQpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGUoKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc3VzcGVuZFBhaW50aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBh
aW50aW5nKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXggODlhZTFhMWZiNTQ2NzZiOGI4MDhk
NGNkMWM5M2FiNjUwMGIxYmI0Mi4uNTliYmY1OGYxNzVkZmUwMjJlNmU0MTQ4YzYzZTM0ZTk0ZmEw
MTk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogCiBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYSB7Ci0gICAgVXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHks
IFdlYkNvcmU6OkludFNpemUgc2l6ZSwgV2ViQ29yZTo6SW50U2l6ZSBzY3JvbGxPZmZzZXQpCisg
ICAgVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwg
Ym9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBXZWJDb3Jl
OjpJbnRTaXplIHNpemUsIFdlYkNvcmU6OkludFNpemUgc2Nyb2xsT2Zmc2V0KQogICAgIERpZFVw
ZGF0ZSgpCiAgICAgU3VzcGVuZFBhaW50aW5nKCkKICAgICBSZXN1bWVQYWludGluZygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
Y3BwCmluZGV4IGQxZWUyNzg1YjQyZjVkZGM3Mzk3ZWNhODg1NTBjMmMxYzhjODMzM2EuLjVlNGQw
NDA3YmE5MWMwZTIxYTlmYzFlNjlhZWQxNDI4NDEzNWE4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zMDEs
NyArMzAxLDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnN5bmNDb21wb3NpdGluZ0xheWVycygp
CiB7CiB9CiAKLXZvaWQgRHJhd2luZ0FyZWFJbXBsOjp1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1
aW50NjRfdCBzdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlhdGVseSwgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQordm9p
ZCBEcmF3aW5nQXJlYUltcGw6OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IHN0YXRl
SUQsIGJvb2wgcmVzcG9uZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xs
T2Zmc2V0KQogewogICAgIEFTU0VSVCghbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKTsKICAg
ICBtX2luVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUgPSB0cnVlOwpAQCAtMzExLDEzICszMTEsMTUg
QEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90
IHN0YXRlSUQsIGJvb2wgcmVzcG9uZEltbWUKICAgICAgICAgbV9iYWNraW5nU3RvcmVTdGF0ZUlE
ID0gc3RhdGVJRDsKICAgICAgICAgbV9zaG91bGRTZW5kRGlkVXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUgPSB0cnVlOwogCisgICAgICAgIG1fd2ViUGFnZS0+c2V0RGV2aWNlU2NhbGVGYWN0b3IoZGV2
aWNlU2NhbGVGYWN0b3IpOwogICAgICAgICBtX3dlYlBhZ2UtPnNldFNpemUoc2l6ZSk7CiAgICAg
ICAgIG1fd2ViUGFnZS0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgbV93ZWJQYWdlLT5zY3Jv
bGxNYWluRnJhbWVJZk5vdEF0TWF4U2Nyb2xsUG9zaXRpb24oc2Nyb2xsT2Zmc2V0KTsKIAotICAg
ICAgICBpZiAobV9sYXllclRyZWVIb3N0KQorICAgICAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7
CisgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdl
KCk7CiAgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNpemVEaWRDaGFuZ2Uoc2l6ZSk7Ci0g
ICAgICAgIGVsc2UKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX2RpcnR5UmVnaW9uID0g
bV93ZWJQYWdlLT5ib3VuZHMoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoc2l6ZSA9
PSBtX3dlYlBhZ2UtPnNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggMWUyMGYyY2RmOTBhODlhZGU4ODJhMzcw
Nzc5YThjNGZlMTdhZGZjYi4uY2M4YTgwNTQwN2MyZGY1NzBhMjdlOTE1ODZmNDRhMTQ4MWQ5ZGU0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICAvLyBD
b3JlSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCi0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGJvb2wgcmVzcG9uZEltbWVk
aWF0ZWx5LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2Nyb2xsT2Zmc2V0KTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUo
dWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZs
b2F0IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRl
KCk7CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRQYWludGluZygpOwogICAgIHZpcnR1YWwgdm9p
ZCByZXN1bWVQYWludGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggZjI5NGFlMDhhNmE0MWY2YjdlMjMzMzI0ZDEzODhi
Yzk2YmYwNGZkOS4uNjdjODA3YjA1M2JhM2U1Mjg2MzVjYWViOWIxMmJjZDZmNGMzMDM1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5o
CkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29t
cG9zaXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBm
b3JjZVJlcGFpbnQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VT
Y2FsZUZhY3RvckRpZENoYW5nZSgpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDU0MmRiNWY3MGNmYjRhYTA2ZGE0ZmJiYTk0MzMzNWI4NjgyNmQ1N2UuLmMyYTIz
ZjI2ZWU4ZTM4MzA1MjMzMTRmNGI1N2EyYzU1NDliYTVjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc4Nyw2ICs3ODcsMTUgQEAgZG91
YmxlIFdlYlBhZ2U6OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIGZyYW1lLT5w
YWdlU2NhbGVGYWN0b3IoKTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXREZXZpY2VTY2FsZUZhY3Rv
cihmbG9hdCBzY2FsZUZhY3RvcikKK3sKKyAgICBpZiAobV9kZXZpY2VTY2FsZUZhY3RvciA9PSBz
Y2FsZUZhY3RvcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kZXZpY2VTY2FsZUZhY3RvciA9
IHNjYWxlRmFjdG9yOworICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Cit9CisKIHZvaWQgV2ViUGFnZTo6c2V0VXNlRml4ZWRMYXlvdXQoYm9vbCBmaXhlZCkKIHsK
ICAgICBGcmFtZSogZnJhbWUgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA3OGFiNTMwM2RlYjhlMTM2
YjI0Y2Q4MTFkZDFhZDU5YjRhZDdmYTI2Li40ZWQyYjk3ZDRlZTIwNDM0YmNjNWZjNmU5ODk4OTQ5
NTE5MTYyODEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTQwOSw2ICs0MDksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJ1bk1vZGFsKCk7CiAK
KyAgICB2b2lkIHNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKICAgICBmbG9hdCBkZXZpY2VT
Y2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlU2NhbGVGYWN0b3I7IH0KIAogICAg
IHZvaWQgc2V0TWVtb3J5Q2FjaGVNZXNzYWdlc0VuYWJsZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3Bw
CmluZGV4IDEzNWExZDAwNWYzMzkwZWNjNjU5YTJmMGIzOTcwNGRiZjZiZmFhMWQuLmE5ZTJhNWZk
MDQ0NDliMjQ4MGE3Mzg0ZWM0YjUxNjIzZWUxM2I3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwCkBAIC0x
NTAsNiArMTUwLDEyIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdENBOjpzaXplRGlkQ2hhbmdlKGNvbnN0
IEludFNpemUmIG5ld1NpemUpCiAgICAgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7CiB9CiAK
K3ZvaWQgTGF5ZXJUcmVlSG9zdENBOjpkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgpCit7Cisg
ICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5kZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNo
YW5nZWQoKTsKKyAgICBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5kZXZpY2VP
clBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKK30KKwogdm9pZCBMYXllclRyZWVIb3N0Q0E6OmZv
cmNlUmVwYWludCgpCiB7CiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKaW5k
ZXggZWU3NWI0NWI0MzY5ZTU1MDE3NjNkOGY4ZjRjNjQ5ODE3ZGVkZGY1My4uMDU2NmU5NzMzNmFj
YmMyMjMxMjMwZjhkY2FhNzMxNmZhY2E3NzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaApAQCAtNDgsNiArNDgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTGF5ZXJUcmVlSG9zdC4KICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIG5ld1NpemUpOworICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3Rv
ckRpZENoYW5nZSgpOwogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciop
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103943</attachid>
            <date>2011-08-15 12:28:26 -0700</date>
            <delta_ts>2011-08-15 14:03:58 -0700</delta_ts>
            <desc>Update pages&apos; style and content scale when the window&apos;s backing scale factor changes</desc>
            <filename>bug-66229-20110815152824.patch</filename>
            <type>text/plain</type>
            <size>24058</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZGI3ODJmZmFjZGQ3Njk4
OTg2ZDBhNmM5MDNlNjQ4NzdkNDRjYzM4Li4xZTIzNWY2NDIzZjYxYjNjMzZhZWE1ZjgzYTViZmIz
ZDM1MjMwYTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTEtMDgtMTUgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIFVwZGF0ZSBwYWdlcycgc3R5bGUg
YW5kIGNvbnRlbnQgc2NhbGUgd2hlbiB0aGUgd2luZG93J3MgYmFja2luZyBzY2FsZSBmYWN0b3Ig
Y2hhbmdlcworCisgICAgICAgIFVuZm9ydHVuYXRlbHksIEkgY291bGRuJ3QgdGhpbmsgb2YgYSB3
YXkgdG8gdGVzdCB0aGlzIGluIGFuIGF1dG9tYXRlZCBmYXNoaW9uLgorCisgICAgICAgIEZpeGVz
IDxodHRwOi8vd2Via2l0Lm9yZy9iLzY2MjI5PiA8cmRhcjovL3Byb2JsZW0vOTkwNjI2OT4gV2Vi
S2l0IGRvZXNuJ3QgcmVhY3QgdG8gZGV2aWNlCisgICAgICAgIHNjYWxlIGZhY3RvciBjaGFuZ2Vz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjogRXhwb3J0IEZyYW1lOjpkZXZpY2VPclNjYWxlRmFjdG9yQ2hhbmdlZC4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmRldmlj
ZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICBB
ZGRlZCB0aGlzIG5ldyBmdW5jdGlvbi4gV2UgcmVjYWxjIHN0eWxlIHNvIHRoYXQsIGUuZy4sIGRl
dmljZS1zY2FsZS1mYWN0b3ItZGVwZW5kZW50IG1lZGlhCisgICAgICAgIHF1ZXJpZXMgd2lsbCBi
ZSByZWV2YWx1YXRlZCwgYW5kIHdlIHRlbGwgY29tcG9zaXRpbmcgbGF5ZXJzIGFib3V0IHRoZSBu
ZXcgc2NhbGUgZmFjdG9yIHNvCisgICAgICAgIHRoZXkgY2FuIHJlcmVuZGVyIGF0IHRoZSBuZXcg
cmVzb2x1dGlvbi4KKworMjAxMS0wOC0xNSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+
CisKICAgICAgICAgUmVuYW1lIGFuIGluc3RhbmNlIG9mIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQg
SSBtaXNzZWQgaW4gcjkzMDQwCiAKICAgICAgICAgSSB0cmllZCB0byBtYWtlIGEgdGVzdCBmb3Ig
dGhpcyBidXQgZmFpbGVkLiBJdCB3b3VsZCBwcm9iYWJseSBoYXZlIGJlZW4gZWFzaWVyIGlmIHdl
IGR1bXBlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhOTVkYmQxMTM5N2M4NzM4ZjhjMWIxNTNi
MGNhNjMwOTEwNWY4MjkyLi43ZGI3MWIzNGU2NDM2MjIxZTkwNmZkOWVmMmExNjRlYTNiYzllMTdl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzM2LDYgKzczNiw3IEBAIF9fWk43V2ViQ29yZTVG
cmFtZTE0ZnJhbWVGb3JXaWRnZXRFUEtOU182V2lkZ2V0RQogX19aTjdXZWJDb3JlNUZyYW1lMTdz
ZXRQYWdlWm9vbUZhY3RvckVmCiBfX1pON1dlYkNvcmU1RnJhbWUxN3NldFRleHRab29tRmFjdG9y
RWYKIF9fWk43V2ViQ29yZTVGcmFtZTIzdmlzaWJsZVBvc2l0aW9uRm9yUG9pbnRFUktOU184SW50
UG9pbnRFCitfX1pON1dlYkNvcmU1RnJhbWUyNGRldmljZVNjYWxlRmFjdG9yQ2hhbmdlZEV2CiBf
X1pON1dlYkNvcmU1RnJhbWUyNW1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnRFUDdOU0FycmF5UE5T
XzdFbGVtZW50RQogX19aTjdXZWJDb3JlNUZyYW1lMjVzZXRQYWdlQW5kVGV4dFpvb21GYWN0b3Jz
RWZmCiBfX1pON1dlYkNvcmU1RnJhbWUyN3Jlc2l6ZVBhZ2VSZWN0c0tlZXBpbmdSYXRpb0VSS05T
XzlGbG9hdFNpemVFUzNfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGM1NDYxMzZkZDE0MGYzMmQz
YzAxZjRmOWJiMDZkYTA1ODVmYWUwODUuLjQwY2RjODdhODc2MTY3M2FhZDQ4NWQzOTE4MTM5ODUx
ZTExN2I5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMTAxLDYgKzExMDEsMTcgQEAgdm9p
ZCBGcmFtZTo6c2NhbGVQYWdlKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luKQog
ICAgIH0KIH0KIAordm9pZCBGcmFtZTo6ZGV2aWNlU2NhbGVGYWN0b3JDaGFuZ2VkKCkKK3sKKyAg
ICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNh
bGNTdHlsZUluQWxsRnJhbWVzKCk7CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CisgICAgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CisjZW5kaWYKK30KKwogdm9p
ZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQo
KSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0aG9kIGlzIGJlaW5nIGNhbGxl
ZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCBkNzNh
MGE4ZDFiOWY1YWZlNzA5MGM1MzFiY2RkNzYxN2VkMDRhZmE2Li44MjRlMWFhYTQ4ZGZjZjk3ZTk4
MWM0OWE4MmE2Y2Y1MGQyMDY0ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xNjQsOCArMTY0LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX3RleHRab29tRmFjdG9yOyB9CiAgICAgICAgIHZvaWQgc2V0UGFnZUFu
ZFRleHRab29tRmFjdG9ycyhmbG9hdCBwYWdlWm9vbUZhY3RvciwgZmxvYXQgdGV4dFpvb21GYWN0
b3IpOwogCisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG1vdmUgdG8g
UGFnZS4KICAgICAgICAgdm9pZCBzY2FsZVBhZ2UoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50
JiBvcmlnaW4pOwogICAgICAgICBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVy
biBtX3BhZ2VTY2FsZUZhY3RvcjsgfQorICAgICAgICB2b2lkIGRldmljZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpOwogCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICAgICAgLy8gT3Jp
ZW50YXRpb24gaXMgdGhlIGludGVyZmFjZSBvcmllbnRhdGlvbiBpbiBkZWdyZWVzLiBTb21lIGV4
YW1wbGVzIGFyZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxZjExMjNhYjFlOWFlMGJmYmY3OWUyMmVm
YjUzYzcyNzk0NmI5ZTYwLi4yMGMzMjEwODVkMjgzZjUwMmRiN2U0YjAyMjljYWM3MjJiNDIxNjEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMTUgIEFkYW0gUm9i
ZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBwYWdlcycgc3R5bGUgYW5k
IGNvbnRlbnQgc2NhbGUgd2hlbiB0aGUgd2luZG93J3MgYmFja2luZyBzY2FsZSBmYWN0b3IgY2hh
bmdlcworCisgICAgICAgIFVuZm9ydHVuYXRlbHksIEkgY291bGRuJ3QgdGhpbmsgb2YgYSB3YXkg
dG8gdGVzdCB0aGlzIGluIGFuIGF1dG9tYXRlZCBmYXNoaW9uLgorCisgICAgICAgIEZpeGVzIDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzY2MjI5PiA8cmRhcjovL3Byb2JsZW0vOTkwNjI2OT4gV2ViS2l0
IGRvZXNuJ3QgcmVhY3QgdG8gZGV2aWNlCisgICAgICAgIHNjYWxlIGZhY3RvciBjaGFuZ2VzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgYWRkV2luZG93T2JzZXJ2ZXJzRm9yV2lu
ZG93Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IHJlbW92ZVdpbmRvd09ic2VydmVyc10pOgorICAg
ICAgICBMaXN0ZW4gZm9yIHRoZSBub3RpZmljYXRpb24gdGhhdCB0ZWxscyB1cyB0aGUgd2luZG93
J3MgYmFja2luZyBzY2FsZSBoYXMgY2hhbmdlZC4KKworICAgICAgICAoLVtXZWJWaWV3IF93aW5k
b3dEaWRDaGFuZ2VSZXNvbHV0aW9uOl0pOiBUZWxsIHRoZSBwYWdlIGFib3V0IHRoZSBjaGFuZ2Ug
dG8gdGhlIGRldmljZSBzY2FsZQorICAgICAgICBmYWN0b3Igc28gdGhhdCwgZS5nLiwgc2NhbGUt
ZmFjdG9yLWRlcGVuZGVudCBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmVldmFsdWF0ZWQuCisKIDIw
MTEtMDgtMTAgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFy
IHVwIHNjYWxlIGZhY3RvciB0ZXJtaW5vbG9neQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCmluZGV4IDJlYzliMTg4Njg3NmMzNmMyMDFhZjk4MmNiNWVmNjU1NmQwZmNmYzcuLmRlM2Iz
ZTAzMWU5YjI0OWI4Y2Q0NjAxZDE5MjU1MzdhOGRhZDQwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KQEAgLTMyODMsNiArMzI4Myw5IEBAIC0gKEJPT0wpc2hvdWxkQ2xvc2VX
aXRoV2luZG93CiAgICAgcmV0dXJuIF9wcml2YXRlLT5zaG91bGRDbG9zZVdpdGhXaW5kb3c7CiB9
CiAKKy8vIEZJWE1FOiBVc2UgYW4gQXBwS2l0IGNvbnN0YW50IGZvciB0aGlzIG9uY2Ugb25lIGlz
IGF2YWlsYWJsZS4KK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHdpbmRvd0RpZENoYW5nZVJlc29s
dXRpb25Ob3RpZmljYXRpb24gPSBAIk5TV2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbk5vdGlmaWNh
dGlvbiI7CisKIC0gKHZvaWQpYWRkV2luZG93T2JzZXJ2ZXJzRm9yV2luZG93OihOU1dpbmRvdyAq
KXdpbmRvdwogewogICAgIGlmICh3aW5kb3cpIHsKQEAgLTMyOTIsNiArMzI5NSw4IEBAIC0gKHZv
aWQpYWRkV2luZG93T2JzZXJ2ZXJzRm9yV2luZG93OihOU1dpbmRvdyAqKXdpbmRvdwogICAgICAg
ICAgICAgbmFtZTpOU1dpbmRvd0RpZFJlc2lnbktleU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsK
ICAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93V2lsbE9yZGVyT25TY3JlZW46KQogICAg
ICAgICAgICAgbmFtZTpXS1dpbmRvd1dpbGxPcmRlck9uU2NyZWVuTm90aWZpY2F0aW9uKCkgb2Jq
ZWN0OndpbmRvd107CisgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZVJl
c29sdXRpb246KQorICAgICAgICAgICAgbmFtZTp3aW5kb3dEaWRDaGFuZ2VSZXNvbHV0aW9uTm90
aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogICAgIH0KIH0KIApAQCAtMzMwNSw2ICszMzEwLDgg
QEAgLSAodm9pZClyZW1vdmVXaW5kb3dPYnNlcnZlcnMKICAgICAgICAgICAgIG5hbWU6TlNXaW5k
b3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgICAgIFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZgogICAgICAg
ICAgICAgbmFtZTpXS1dpbmRvd1dpbGxPcmRlck9uU2NyZWVuTm90aWZpY2F0aW9uKCkgb2JqZWN0
OndpbmRvd107CisgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6c2VsZgorICAgICAgICAgICAgbmFtZTp3aW5kb3dEaWRDaGFuZ2VSZXNv
bHV0aW9uTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogICAgIH0KIH0KIApAQCAtMzM4MSw2
ICszMzg4LDEzIEBAIC0gKHZvaWQpX3dpbmRvd1dpbGxDbG9zZTooTlNOb3RpZmljYXRpb24gKilu
b3RpZmljYXRpb24KICAgICAgICAgW3NlbGYgY2xvc2VdOwogfQogCistICh2b2lkKV93aW5kb3dE
aWRDaGFuZ2VSZXNvbHV0aW9uOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBfcHJpdmF0ZS0+cGFnZS0+bWFpbkZy
YW1lKCktPmRldmljZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworI2VuZGlmCit9CisKIC0gKHZvaWQp
c2V0UHJlZmVyZW5jZXM6KFdlYlByZWZlcmVuY2VzICopcHJlZnMKIHsKICAgICBpZiAoIXByZWZz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDU1ZmQ4ODM0ZGQ3YzZjYjgwNzIxNDE2ODY5ODI3ZDlkYjhmM2Q0OWMu
LjMxMzg0YjNmYzAwNDM2ZTQ4OGViODhlMmRmMWUzNWM2YjE1Y2JiOTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw2NCBAQAorMjAxMS0wOC0xNSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+
CisKKyAgICAgICAgVXBkYXRlIHBhZ2VzJyBzdHlsZSBhbmQgY29udGVudCBzY2FsZSB3aGVuIHRo
ZSB3aW5kb3cncyBiYWNraW5nIHNjYWxlIGZhY3RvciBjaGFuZ2VzCisKKyAgICAgICAgVW5mb3J0
dW5hdGVseSwgSSBjb3VsZG4ndCB0aGluayBvZiBhIHdheSB0byB0ZXN0IHRoaXMgaW4gYW4gYXV0
b21hdGVkIGZhc2hpb24uCisKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93ZWJraXQub3JnL2IvNjYy
Mjk+IDxyZGFyOi8vcHJvYmxlbS85OTA2MjY5PiBXZWJLaXQgZG9lc24ndCByZWFjdCB0byBkZXZp
Y2UKKyAgICAgICAgc2NhbGUgZmFjdG9yIGNoYW5nZXMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToK
KyAgICAgICAgKC1bV0tWaWV3IGFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzpdKToKKyAgICAg
ICAgKC1bV0tWaWV3IHJlbW92ZVdpbmRvd09ic2VydmVyc10pOgorICAgICAgICBMaXN0ZW4gZm9y
IHRoZSBub3RpZmljYXRpb24gdGhhdCB0ZWxscyB1cyB0aGUgd2luZG93J3MgYmFja2luZyBzY2Fs
ZSBoYXMgY2hhbmdlZC4KKworICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZENoYW5nZVJlc29s
dXRpb246XSk6IFRlbGwgdGhlIFdlYlBhZ2VQcm94eSBhYm91dCB0aGUgY2hhbmdlLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgQWRkZWQgZGV2aWNlU2NhbGVGYWN0b3JE
aWRDaGFuZ2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGV2aWNlU2NhbGVGYWN0
b3JEaWRDaGFuZ2UpOiBSZXF1ZXN0IGEgbmV3IGJhY2tpbmcgc3RvcmUKKyAgICAgICAgc2luY2Ug
dGhlIGN1cnJlbnQgb25lIGlzIHVzaW5nIGFuIG9sZCBkZXZpY2Ugc2NhbGUgZmFjdG9yLgorICAg
ICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2VuZFVwZGF0ZUJhY2tpbmdTdG9y
ZVN0YXRlKTogU2VuZCB0aGUgZGV2aWNlIHNjYWxlIGZhY3RvcgorICAgICAgICBhbG9uZyB0byB0
aGUgd2ViIHByb2Nlc3Mgc28gaXQgY2FuIHJlbmRlciBhY2NvcmRpbmdseS4gVGhpcyBpcyBob3cg
d2UgdGVsbCB0aGUgd2ViIHByb2Nlc3MKKyAgICAgICAgYWJvdXQgZGV2aWNlIHNjYWxlIGZhY3Rv
ciBjaGFuZ2VzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlld1N0YXRlRGlkQ2hhbmdlKTogVGVsbCB0aGUg
RHJhd2luZ0FyZWFQcm94eSB3aGVuIHRoZSBkZXZpY2Ugc2NhbGUKKyAgICAgICAgZmFjdG9yIGNo
YW5nZXMuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGV2aWNlU2NhbGVGYWN0b3Ip
OiBBZGRlZCB0aGlzIHNpbXBsZSBnZXR0ZXIgdGhhdCBjYWxscyB0aHJvdWdoIHRvCisgICAgICAg
IHRoZSBQYWdlQ2xpZW50LiBEcmF3aW5nQXJlYVByb3h5IHVzZXMgdGhpcyBmdW5jdGlvbi4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDogQWRkZWQgbmV3IG1lbWJlcnMuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWE6OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICBTZW5kIHRoZSBkZXZp
Y2Ugc2NhbGUgZmFjdG9yIGluIHRoZSBVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSBtZXNzYWdlLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6dXBkYXRlQmFja2luZ1N0b3JlU3RhdGUpOiBU
ZWxsIHRoZSBXZWJQYWdlIGFuZCBMYXllclRyZWVIb3N0IGFib3V0CisgICAgICAgIHRoZSBuZXcg
ZGV2aWNlIHNjYWxlIGZhY3Rvci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhv
c3RDQS5oOgorICAgICAgICBBZGRlZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6c2V0RGV2aWNlU2NhbGVGYWN0b3IpOiBTdG9yZSB0aGUgbmV3IHNjYWxlIGZhY3Rv
ciBhbmQgdGVsbCB0aGUgcGFnZSBhYm91dAorICAgICAgICBpdCBzbyB0aGF0LCBlLmcuLCBzY2Fs
ZS1mYWN0b3ItZGVwZW5kZW50IG1lZGlhIHF1ZXJpZXMgd2lsbCBiZSByZWV2YWx1YXRlZC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6IEFkZGVkIHNldERldmljZVNj
YWxlRmFjdG9yLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhv
c3RDQS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQTo6ZGV2aWNlU2NhbGVG
YWN0b3JEaWRDaGFuZ2UpOiBUZWxsIHRoZSBsYXllciBmb3Igbm9uLWNvbXBvc2l0ZWQKKyAgICAg
ICAgY29udGVudCBhYm91dCB0aGUgbmV3IHNjYWxlIGZhY3Rvci4KKwogMjAxMS0wOC0xMCAgQWRh
bSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYXIgdXAgc2NhbGUgZmFj
dG9yIHRlcm1pbm9sb2d5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KaW5kZXggMmYwOGNmZjM1MzNkNTVmM2I0NDJjODMzYmQyYTljMWY0Nzc1ZGRiZC4uNzFhMjAy
ZWNhZGU4NGM1YWYwOTA0YzcwYzhmMWJiYTU2MDUwMGE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMTcwMCw2ICsxNzAwLDkgQEAgLSAoQk9PTClf
dXBkYXRlR3Jvd0JveEZvcldpbmRvd0ZyYW1lQ2hhbmdlCiAgICAgcmV0dXJuIG93bnNHcm93Qm94
OwogfQogCisvLyBGSVhNRTogVXNlIGFuIEFwcEtpdCBjb25zdGFudCBmb3IgdGhpcyBvbmNlIG9u
ZSBpcyBhdmFpbGFibGUuCitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3aW5kb3dEaWRDaGFuZ2VS
ZXNvbHV0aW9uTm90aWZpY2F0aW9uID0gQCJOU1dpbmRvd0RpZENoYW5nZVJlc29sdXRpb25Ob3Rp
ZmljYXRpb24iOworCiAtICh2b2lkKWFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzooTlNXaW5k
b3cgKil3aW5kb3cKIHsKICAgICBpZiAod2luZG93KSB7CkBAIC0xNzE5LDYgKzE3MjIsOSBAQCAt
ICh2b2lkKWFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzooTlNXaW5kb3cgKil3aW5kb3cKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTpA
Ik5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOwog
ICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRPcmRlck9uU2NyZWVuOikgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6QCJf
TlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2luZG93XTsKKyAgICAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbjopCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6d2luZG93RGlkQ2hhbmdl
UmVzb2x1dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKwogICAgIH0KIH0KIApAQCAt
MTczNiw2ICsxNzQyLDggQEAgLSAodm9pZClyZW1vdmVXaW5kb3dPYnNlcnZlcnMKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFt
ZTpOU1dpbmRvd0RpZFJlc2l6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFt
ZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3dd
OwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2
ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQmVjb21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107
CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZl
cjpzZWxmIG5hbWU6d2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6
d2luZG93XTsKKwogfQogCiAtICh2b2lkKXZpZXdXaWxsTW92ZVRvV2luZG93OihOU1dpbmRvdyAq
KXdpbmRvdwpAQCAtMTgyOCw2ICsxODM2LDExIEBAIC0gKHZvaWQpX3dpbmRvd0RpZE9yZGVyT25T
Y3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiAgICAgX2RhdGEtPl9wYWdlLT52
aWV3U3RhdGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5OjpWaWV3SXNWaXNpYmxlKTsKIH0KIAorLSAo
dm9pZClfd2luZG93RGlkQ2hhbmdlUmVzb2x1dGlvbjooTlNOb3RpZmljYXRpb24gKilub3RpZmlj
YXRpb24KK3sKKyAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJv
eHk6OkRldmljZVNjYWxlRmFjdG9yKTsKK30KKwogc3RhdGljIHZvaWQgZHJhd1BhZ2VCYWNrZ3Jv
dW5kKENHQ29udGV4dFJlZiBjb250ZXh0LCBXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCiB7CiAgICAgaWYgKCFwYWdlLT5kcmF3c0JhY2tncm91bmQoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IDJhMWVhNWQ4ODc0NmE4
NjBmYTllNjcyY2JlZDY1NmM1N2NlZDA0MTAuLmNhZDkwODIzZDAwYTNmNDQ3OTRkYzU0Zjk5MGMy
ZGJiNzMyYjUxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaApAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhaW50KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBQbGF0Zm9ybURyYXdpbmdDb250ZXh0KSA9IDA7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5nZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2
aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKSA9IDA7CiAKICAgICAvLyBGSVhNRTogVGhlc2Ugc2hv
dWxkIGJlIHB1cmUgdmlydHVhbC4KICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5n
ZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5jcHAKaW5kZXggMDlmYmUzOGJhMjEzNjRlMzBmYTNiOWYxNjRkYTI2NjFiYjZhMGI4OC4u
Njg5ZTUxN2IxZDg1OTdlMWQ5OTkxNzNiMWE2MzdmNTZiNTBjYTU3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0xMTcsNiAr
MTE3LDExIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnNpemVEaWRDaGFuZ2UoKQogICAg
IGJhY2tpbmdTdG9yZVN0YXRlRGlkQ2hhbmdlKFJlc3BvbmRJbW1lZGlhdGVseSk7CiB9CiAKK3Zv
aWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkKK3sK
KyAgICBiYWNraW5nU3RvcmVTdGF0ZURpZENoYW5nZShSZXNwb25kSW1tZWRpYXRlbHkpOworfQor
CiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjp2aXNpYmlsaXR5RGlkQ2hhbmdlKCkKIHsKICAg
ICBpZiAoIW1fd2ViUGFnZVByb3h5LT5pc1ZpZXdWaXNpYmxlKCkpIHsKQEAgLTI4Miw3ICsyODcs
NyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZW5kVXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUoUmVzcG9uZEltbWVkaWF0ZWx5T3JOb3QgcgogCiAgICAgbV9pc1dhaXRpbmdGb3JEaWRVcGRh
dGVCYWNraW5nU3RvcmVTdGF0ZSA9IHJlc3BvbmRJbW1lZGlhdGVseU9yTm90ID09IFJlc3BvbmRJ
bW1lZGlhdGVseTsKIAotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2Fn
ZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZShtX25leHRCYWNraW5nU3Rv
cmVTdGF0ZUlELCByZXNwb25kSW1tZWRpYXRlbHlPck5vdCA9PSBSZXNwb25kSW1tZWRpYXRlbHks
IG1fc2l6ZSwgbV9zY3JvbGxPZmZzZXQpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworICAg
IG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpV
cGRhdGVCYWNraW5nU3RvcmVTdGF0ZShtX25leHRCYWNraW5nU3RvcmVTdGF0ZUlELCByZXNwb25k
SW1tZWRpYXRlbHlPck5vdCA9PSBSZXNwb25kSW1tZWRpYXRlbHksIG1fd2ViUGFnZVByb3h5LT5k
ZXZpY2VTY2FsZUZhY3RvcigpLCBtX3NpemUsIG1fc2Nyb2xsT2Zmc2V0KSwgbV93ZWJQYWdlUHJv
eHktPnBhZ2VJRCgpKTsKICAgICBtX3Njcm9sbE9mZnNldCA9IEludFNpemUoKTsKIAogICAgIGlm
IChtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDNjZjVmOTEw
Y2E1Y2QxYTBjNzA5MjQ0ZTgwZTk5MTgxZDVkM2MzYWMuLjhiMTdiYTAxMzAyZjgyOTQ5MjlhZDI5
ZDJkMzA0OWM2ZDcwNTkxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5oCkBAIC01Miw2ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgLy8gRHJh
d2luZ0FyZWFQcm94eQogICAgIHZpcnR1YWwgYm9vbCBwYWludChjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiwgUGxhdGZvcm1EcmF3aW5nQ29udGV4dCk7CiAgICAgdmlydHVhbCB2b2lkIHNpemVEaWRD
aGFuZ2UoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZSgpOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYWdlSXNWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNraW5nU3Rv
cmVJc0Rpc2NhcmRhYmxlKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCAxMDRhNjhjYmU2ZGVlOWI3Nzg1YjY2ODRjOTcyMWVkMTE0NWQ0YjhlLi5l
Mjk2MzVlMGYxOTdjNDBjOTAwM2ViY2M4MjAwOTZhMDhkZTgwOWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjgyLDYgKzY4Miw5IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojp2aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlRmxhZ3MgZmxhZ3MpCiAgICAg
ICAgIH0KICAgICB9CiAKKyAgICBpZiAoZmxhZ3MgJiBEZXZpY2VTY2FsZUZhY3RvcikKKyAgICAg
ICAgbV9kcmF3aW5nQXJlYS0+ZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKTsKKwogICAgIHVw
ZGF0ZUJhY2tpbmdTdG9yZURpc2NhcmRhYmxlU3RhdGUoKTsKIH0KIApAQCAtMTIxNCw2ICsxMjE3
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzY2FsZVBhZ2UoZG91YmxlIHNjYWxlLCBjb25zdCBJ
bnRQb2ludCYgb3JpZ2luKQogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
U2NhbGVQYWdlKHNjYWxlLCBvcmlnaW4pLCBtX3BhZ2VJRCk7CiB9CiAKK2Zsb2F0IFdlYlBhZ2VQ
cm94eTo6ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdAoreworICAgIHJldHVybiBtX3BhZ2VDbGll
bnQtPmRldmljZVNjYWxlRmFjdG9yKCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRVc2VG
aXhlZExheW91dChib29sIGZpeGVkKQogewogICAgIGlmICghaXNWYWxpZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGI3ZmYxZmNjNTA3ZDQwNzY2ZGY0YjFl
NjBkNTc5YWE5Nzk3ZjdmMjIuLmQyMWYxODZhYzUyMDliMWNkYzJlNzg2NzFlYTAyMjQzNDNiODVm
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI3Myw3ICsy
NzMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZpZXdXaW5kb3dJc0FjdGl2ZSA9IDEgPDwgMCwKICAg
ICAgICAgVmlld0lzRm9jdXNlZCA9IDEgPDwgMSwKICAgICAgICAgVmlld0lzVmlzaWJsZSA9IDEg
PDwgMiwKLSAgICAgICAgVmlld0lzSW5XaW5kb3cgPSAxIDw8IDMKKyAgICAgICAgVmlld0lzSW5X
aW5kb3cgPSAxIDw8IDMsCisgICAgICAgIERldmljZVNjYWxlRmFjdG9yID0gMSA8PCA0LAogICAg
IH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBWaWV3U3RhdGVGbGFnczsKICAgICB2b2lkIHZpZXdT
dGF0ZURpZENoYW5nZShWaWV3U3RhdGVGbGFncyBmbGFncyk7CkBAIC0zODYsNiArMzg3LDggQEAg
cHVibGljOgogICAgIHZvaWQgc2NhbGVQYWdlKGRvdWJsZSBzY2FsZSwgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIG9yaWdpbik7CiAgICAgZG91YmxlIHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsg
cmV0dXJuIG1fcGFnZVNjYWxlRmFjdG9yOyB9CiAKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rv
cigpIGNvbnN0OworCiAgICAgdm9pZCBzZXRVc2VGaXhlZExheW91dChib29sKTsKICAgICB2b2lk
IHNldEZpeGVkTGF5b3V0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgYm9vbCB1
c2VGaXhlZExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlRml4ZWRMYXlvdXQ7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IGM1
NmM2MmMyNmM0Njk5N2IwZDU3MWUwNGVjNmQ0ZDIxMmVlMWNhOWUuLmQ5YmVkOTcyYTYzNDZkOTUw
MTllM2ZlMzQ4YWU4MTFlYTM1NGE4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC05Miw3ICs5Miw3IEBAIHByb3RlY3RlZDoKIHBy
aXZhdGU6CiAgICAgLy8gQ29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIC8vIEZJWE1FOiBU
aGVzZSBzaG91bGQgYmUgcHVyZSB2aXJ0dWFsLgotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNr
aW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJ
bW1lZGlhdGVseSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2lu
Z1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1t
ZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBzaXplLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaWRVcGRhdGUoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFBhaW50
aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBhaW50aW5nKCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW4KaW5kZXggODlhZTFhMWZiNTQ2NzZiOGI4MDhkNGNkMWM5M2FiNjUwMGIxYmI0Mi4u
NTliYmY1OGYxNzVkZmUwMjJlNmU0MTQ4YzYzZTM0ZTk0ZmEwMTk5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5tZXNzYWdl
cy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBEcmF3
aW5nQXJlYSB7Ci0gICAgVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0
b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIFdlYkNvcmU6OkludFNpemUgc2l6
ZSwgV2ViQ29yZTo6SW50U2l6ZSBzY3JvbGxPZmZzZXQpCisgICAgVXBkYXRlQmFja2luZ1N0b3Jl
U3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRl
bHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBXZWJDb3JlOjpJbnRTaXplIHNpemUsIFdlYkNv
cmU6OkludFNpemUgc2Nyb2xsT2Zmc2V0KQogICAgIERpZFVwZGF0ZSgpCiAgICAgU3VzcGVuZFBh
aW50aW5nKCkKICAgICBSZXN1bWVQYWludGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IGQxZWUyNzg1YjQy
ZjVkZGM3Mzk3ZWNhODg1NTBjMmMxYzhjODMzM2EuLjVlNGQwNDA3YmE5MWMwZTIxYTlmYzFlNjlh
ZWQxNDI4NDEzNWE4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zMDEsNyArMzAxLDcgQEAgdm9pZCBEcmF3
aW5nQXJlYUltcGw6OnN5bmNDb21wb3NpdGluZ0xheWVycygpCiB7CiB9CiAKLXZvaWQgRHJhd2lu
Z0FyZWFJbXBsOjp1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBzdGF0ZUlELCBib29s
IHJlc3BvbmRJbW1lZGlhdGVseSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQordm9pZCBEcmF3aW5nQXJlYUltcGw6OnVw
ZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IHN0YXRlSUQsIGJvb2wgcmVzcG9uZEltbWVk
aWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQogewogICAgIEFTU0VS
VCghbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKTsKICAgICBtX2luVXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUgPSB0cnVlOwpAQCAtMzExLDEzICszMTEsMTUgQEAgdm9pZCBEcmF3aW5nQXJlYUlt
cGw6OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IHN0YXRlSUQsIGJvb2wgcmVzcG9u
ZEltbWUKICAgICAgICAgbV9iYWNraW5nU3RvcmVTdGF0ZUlEID0gc3RhdGVJRDsKICAgICAgICAg
bV9zaG91bGRTZW5kRGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUgPSB0cnVlOwogCisgICAgICAg
IG1fd2ViUGFnZS0+c2V0RGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0b3IpOwogICAg
ICAgICBtX3dlYlBhZ2UtPnNldFNpemUoc2l6ZSk7CiAgICAgICAgIG1fd2ViUGFnZS0+bGF5b3V0
SWZOZWVkZWQoKTsKICAgICAgICAgbV93ZWJQYWdlLT5zY3JvbGxNYWluRnJhbWVJZk5vdEF0TWF4
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsT2Zmc2V0KTsKIAotICAgICAgICBpZiAobV9sYXllclRyZWVI
b3N0KQorICAgICAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7CisgICAgICAgICAgICBtX2xheWVy
VHJlZUhvc3QtPmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCk7CiAgICAgICAgICAgICBtX2xh
eWVyVHJlZUhvc3QtPnNpemVEaWRDaGFuZ2Uoc2l6ZSk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICBtX2RpcnR5UmVnaW9uID0gbV93ZWJQYWdlLT5ib3VuZHMoKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoc2l6ZSA9PSBtX3dlYlBhZ2UtPnNpemUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJ
bXBsLmgKaW5kZXggMWUyMGYyY2RmOTBhODlhZGU4ODJhMzcwNzc5YThjNGZlMTdhZGZjYi4uY2M4
YTgwNTQwN2MyZGY1NzBhMjdlOTE1ODZmNDRhMTQ4MWQ5ZGU0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNzIsNyAr
NzIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICAvLyBDb3JlSVBDIG1lc3NhZ2UgaGFuZGxl
cnMuCi0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJh
Y2tpbmdTdG9yZVN0YXRlSUQsIGJvb2wgcmVzcG9uZEltbWVkaWF0ZWx5LCBjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsKKyAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3Jl
U3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xs
T2Zmc2V0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCk7CiAgICAgdmlydHVhbCB2b2lk
IHN1c3BlbmRQYWludGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVQYWludGluZygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhv
c3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgK
aW5kZXggZjI5NGFlMDhhNmE0MWY2YjdlMjMzMzI0ZDEzODhiYzk2YmYwNGZkOS4uNjdjODA3YjA1
M2JhM2U1Mjg2MzVjYWViOWIxMmJjZDZmNGMzMDM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC02Myw2ICs2Myw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNj
cm9sbE9mZnNldCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3
U2l6ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgp
ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDU0MmRiNWY3MGNm
YjRhYTA2ZGE0ZmJiYTk0MzMzNWI4NjgyNmQ1N2UuLjU3YmY4ZjgwZWQ5MzVhMTgyZDFkOGQzMTc5
YmVlMDQ2NDRhMTY3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTc4Nyw2ICs3ODcsMTUgQEAgZG91YmxlIFdlYlBhZ2U6OnBhZ2VTY2Fs
ZUZhY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIGZyYW1lLT5wYWdlU2NhbGVGYWN0b3IoKTsKIH0K
IAordm9pZCBXZWJQYWdlOjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvcikK
K3sKKyAgICBpZiAobV9kZXZpY2VTY2FsZUZhY3RvciA9PSBzY2FsZUZhY3RvcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9kZXZpY2VTY2FsZUZhY3RvciA9IHNjYWxlRmFjdG9yOworICAgIG1f
cGFnZS0+bWFpbkZyYW1lKCktPmRldmljZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworfQorCiB2b2lk
IFdlYlBhZ2U6OnNldFVzZUZpeGVkTGF5b3V0KGJvb2wgZml4ZWQpCiB7CiAgICAgRnJhbWUqIGZy
YW1lID0gbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzhhYjUzMDNkZWI4ZTEzNmIyNGNkODExZGQxYWQ1
OWI0YWQ3ZmEyNi4uNGVkMmI5N2Q0ZWUyMDQzNGJjYzVmYzZlOTg5ODk0OTUxOTE2MjgxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00MDksNiAr
NDA5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBydW5Nb2RhbCgpOwogCisgICAgdm9pZCBzZXRE
ZXZpY2VTY2FsZUZhY3RvcihmbG9hdCk7CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX2RldmljZVNjYWxlRmFjdG9yOyB9CiAKICAgICB2b2lkIHNldE1lbW9y
eUNhY2hlTWVzc2FnZXNFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAppbmRleCAxMzVhMWQw
MDVmMzM5MGVjYzY1OWEyZjBiMzk3MDRkYmY2YmZhYTFkLi5hNTI3MDIyZjY1NzJjNDQwMzQzNzlm
MWM0MzQ1NTQ4M2Y4NTQwYWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcApAQCAtMTUwLDYgKzE1MCwxMiBA
QCB2b2lkIExheWVyVHJlZUhvc3RDQTo6c2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdT
aXplKQogICAgIGZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpOwogfQogCit2b2lkIExheWVyVHJl
ZUhvc3RDQTo6ZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKQoreworICAgIC8vIE90aGVyIGxh
eWVycyBsZWFybiBvZiB0aGUgc2NhbGUgZmFjdG9yIGNoYW5nZSB2aWEgV2ViUGFnZTo6c2V0RGV2
aWNlU2NhbGVGYWN0b3IuCisgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5kZXZpY2VP
clBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKK30KKwogdm9pZCBMYXllclRyZWVIb3N0Q0E6OmZv
cmNlUmVwYWludCgpCiB7CiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKaW5k
ZXggZWU3NWI0NWI0MzY5ZTU1MDE3NjNkOGY4ZjRjNjQ5ODE3ZGVkZGY1My4uMDU2NmU5NzMzNmFj
YmMyMjMxMjMwZjhkY2FhNzMxNmZhY2E3NzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaApAQCAtNDgsNiArNDgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTGF5ZXJUcmVlSG9zdC4KICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIG5ld1NpemUpOworICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3Rv
ckRpZENoYW5nZSgpOwogICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciop
OwogCg==
</data>
<flag name="review"
          id="99662"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>