<?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>129712</bug_id>
          
          <creation_ts>2014-03-04 16:15:14 -0800</creation_ts>
          <short_desc>Enable device pixel repaint rect tracking.</short_desc>
          <delta_ts>2014-03-04 21:24:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>129656</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>987024</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 16:15:14 -0800</bug_when>
    <thetext>for DumpRenderTree/WebKitTestRunner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987028</commentid>
    <comment_count>1</comment_count>
      <attachid>225828</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 16:25:43 -0800</bug_when>
    <thetext>Created attachment 225828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987071</commentid>
    <comment_count>2</comment_count>
      <attachid>225836</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 18:43:49 -0800</bug_when>
    <thetext>Created attachment 225836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987073</commentid>
    <comment_count>3</comment_count>
      <attachid>225838</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 18:45:18 -0800</bug_when>
    <thetext>Created attachment 225838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987074</commentid>
    <comment_count>4</comment_count>
      <attachid>225838</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 18:45:37 -0800</bug_when>
    <thetext>Comment on attachment 225838
Patch

EWSing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987088</commentid>
    <comment_count>5</comment_count>
      <attachid>225846</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 20:05:37 -0800</bug_when>
    <thetext>Created attachment 225846
Patch

resubmitting the same patch to see if EWS fails again with internal compiler error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987094</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-03-04 20:28:47 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=225846) [details]
&gt; Patch
&gt; 
&gt; resubmitting the same patch to see if EWS fails again with internal compiler error.

heh, not this time. that&apos;s what i thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987109</commentid>
    <comment_count>7</comment_count>
      <attachid>225846</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-04 21:24:44 -0800</bug_when>
    <thetext>Comment on attachment 225846
Patch

Clearing flags on attachment: 225846

Committed r165094: &lt;http://trac.webkit.org/changeset/165094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987110</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-04 21:24:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225828</attachid>
            <date>2014-03-04 16:25:43 -0800</date>
            <delta_ts>2014-03-04 18:43:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129712-20140304162537.patch</filename>
            <type>text/plain</type>
            <size>13837</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNzYzZjJmYzQxNjdj
MjkzODBhMzI5Mjc4NGMwZTkyOWIyMWY0Ny4uNzFlM2MyMGM1MzhiMmYzZjUyNDUxNTViNmNjOWM4
YzYxODU4MDdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE0LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhl
bCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUcmFja2VkIHJlcGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBz
bmFwcGVkIG5vdyB0byBzdXBwb3J0IGhpRFBJIHRlc3QgY2FzZXMuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tp
bmcuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGRUcmFja2VkUmVwYWlu
dFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp0cmFja2VkUmVwYWludFJlY3Rz
QXNUZXh0KTogUHJpbnQgdGhlbSBhcyBMYXlvdXRVbml0cyB0byBnZXQKKyAgICAgICAgdHJhaWxp
bmcgemVyb3MgY3V0IG9mZi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3Bs
YXlJblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKToKKworMjAxNC0wMy0w
NCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCiAgICAgICAgIEJ1aWxkIGZpeCBm
b3IgaU9TLgogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IDQyNTUzZWUyYTMwMDNiYmRjZGE3ZjY2OTJlZjVkNWZmYzIyOGVlZmYuLjFi
NjRjOWE1MTk3ODkxOWEwNjQxYmY4NjYyYjZkZTQ3NDBjNTE4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgorCisgICAgICAgIEVuYWJsZSBkZXZpY2UgcGl4ZWwgcmVwYWludCByZWN0IHRyYWNraW5n
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NzEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHJhY2tl
ZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBo
aURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVjdHNdKTogS2VlcCBleGlzdGluZyBiZWhhdmlv
ciBmb3Igbm93LgorCiAyMDE0LTAzLTAyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4K
IAogICAgICAgICBTb3J0IE1hYyBwbGF0Zm9ybSBleHBvcnQgZmlsZXMgc28gdGhleSBtZXJnZSBi
ZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMTg1ZDg0N2I0MzRiODMxY2M4NGQ0N2FlNjAw
ZWRlZDFmOGU2NzIxOS4uMTU3NDdkOWVlOGI3NTFmNjUxMjg5NDM4ZThlODY3YTkzODUyN2FlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE5MzEsNiArMTkzMSw3IEBAIF9fWlRWTjdXZWJDb3Jl
MjVEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uRQogX19aVFZON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWw4U2V0dGluZ3NFCiBfX1pUVk43V2ViQ29yZTMxQmFzaWNDb2xvck1h
dHJpeEZpbHRlck9wZXJhdGlvbkUKIF9fWlRWTjdXZWJDb3JlMzdCYXNpY0NvbXBvbmVudFRyYW5z
ZmVyRmlsdGVyT3BlcmF0aW9uRQorX19aTjdXZWJDb3JlMTBMYXlvdXRSZWN0QzFFUktOU185Rmxv
YXRSZWN0RQogX19aVGhuPz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMjhwbGF0Zm9ybUNB
TGF5ZXJQYWludENvbnRlbnRzRVBOU18xNVBsYXRmb3JtQ0FMYXllckVSTlNfMTVHcmFwaGljc0Nv
bnRleHRFUktOU185RmxvYXRSZWN0RQogX19aVGhuPz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXll
ckNBMzFwbGF0Zm9ybUNBTGF5ZXJBbmltYXRpb25TdGFydGVkRWQKIF9fWlRobj8/P19ON1dlYkNv
cmUxNUdyYXBoaWNzTGF5ZXJDQTQwcGxhdGZvcm1DQUxheWVyU2V0TmVlZHNUb1JldmFsaWRhdGVU
aWxlc0V2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjBjYjQ4MGU5MDdmMjk4YmJh
MTcwNTc3ZWUyNmYzMDI0OGQ1MTE3Yi4uY2NhYzExMWUxMDY3ZGVlMzEzOTIzOTg2M2E3NWEyNzMx
MmM2ZTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjA1NywxMiArMjA1Nywx
MiBAQCBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhvc3RXaW5kb3coKSBjb25zdAogICAgIHJldHVy
biAwOwogfQogCi12b2lkIEZyYW1lVmlldzo6YWRkVHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IElu
dFJlY3QmIHIpCit2b2lkIEZyYW1lVmlldzo6YWRkVHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcikKIHsKICAgICBpZiAoIW1faXNUcmFja2luZ1JlcGFpbnRzIHx8IHIuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRSZWN0IHJlcGFpbnRSZWN0ID0gcjsKKyAg
ICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSByOwogICAgIHJlcGFpbnRSZWN0Lm1vdmUoLXNjcm9s
bE9mZnNldCgpKTsKICAgICBtX3RyYWNrZWRSZXBhaW50UmVjdHMuYXBwZW5kKHJlcGFpbnRSZWN0
KTsKIH0KQEAgLTM5NzcsNyArMzk3Nyw3IEBAIFN0cmluZyBGcmFtZVZpZXc6OnRyYWNrZWRSZXBh
aW50UmVjdHNBc1RleHQoKSBjb25zdAogICAgIGlmICghbV90cmFja2VkUmVwYWludFJlY3RzLmlz
RW1wdHkoKSkgewogICAgICAgICB0cyA8PCAiKHJlcGFpbnQgcmVjdHNcbiI7CiAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90cmFja2VkUmVwYWludFJlY3RzLnNpemUoKTsgKytpKQot
ICAgICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0u
eCgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ueSgpIDw8ICIgIiA8PCBtX3Ry
YWNrZWRSZXBhaW50UmVjdHNbaV0ud2lkdGgoKSA8PCAiICIgPDwgbV90cmFja2VkUmVwYWludFJl
Y3RzW2ldLmhlaWdodCgpIDw8ICIpXG4iOworICAgICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8
PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS54KCkpIDw8ICIgIiA8PCBMYXlv
dXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS55KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0
KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS53aWR0aCgpKSA8PCAiICIgPDwgTGF5b3V0VW5pdCht
X3RyYWNrZWRSZXBhaW50UmVjdHNbaV0uaGVpZ2h0KCkpIDw8ICIpXG4iOwogICAgICAgICB0cyA8
PCAiKVxuIjsKICAgICB9CiAgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oCmluZGV4IDQ0OGMwZDBkN2ZiNjVkMGJjOTkxZDI1NWJkNTAwMGE3ZTIyMGEyZTkuLmJj
NGNjYzAyOWVhN2M4ZjkzMjdjMjIyMDkxNTk3ZWVkYjJkMTMyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaApAQCAtMzc3LDcgKzM3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRyYWNrc1Jl
cGFpbnRzKGJvb2wpOwogICAgIGJvb2wgaXNUcmFja2luZ1JlcGFpbnRzKCkgY29uc3QgeyByZXR1
cm4gbV9pc1RyYWNraW5nUmVwYWludHM7IH0KICAgICB2b2lkIHJlc2V0VHJhY2tlZFJlcGFpbnRz
KCk7Ci0gICAgY29uc3QgVmVjdG9yPEludFJlY3Q+JiB0cmFja2VkUmVwYWludFJlY3RzKCkgY29u
c3QgeyByZXR1cm4gbV90cmFja2VkUmVwYWludFJlY3RzOyB9CisgICAgY29uc3QgVmVjdG9yPEZs
b2F0UmVjdD4mIHRyYWNrZWRSZXBhaW50UmVjdHMoKSBjb25zdCB7IHJldHVybiBtX3RyYWNrZWRS
ZXBhaW50UmVjdHM7IH0KICAgICBTdHJpbmcgdHJhY2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNv
bnN0OwogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj4gU2Nyb2xsYWJsZUFy
ZWFTZXQ7CkBAIC00NDUsNyArNDQ1LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQWRkV2lkZ2V0
VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZvaWQgd2lsbFJlbW92ZVdpZGdldEZyb21SZW5k
ZXJUcmVlKFdpZGdldCYpOwogCi0gICAgdm9pZCBhZGRUcmFja2VkUmVwYWludFJlY3QoY29uc3Qg
SW50UmVjdCYpOworICAgIHZvaWQgYWRkVHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVj
dCYpOwogCiAgICAgLy8gZXhwb3NlZFJlY3QgcmVwcmVzZW50cyBXZWJLaXQncyB1bmRlcnN0YW5k
aW5nIG9mIHdoYXQgcGFydAogICAgIC8vIG9mIHRoZSB2aWV3IGlzIGFjdHVhbGx5IGV4cG9zZWQg
b24gc2NyZWVuICh0YWtpbmcgaW50byBhY2NvdW50CkBAIC02MjgsNyArNjI4LDcgQEAgcHJpdmF0
ZToKICAgICBkb3VibGUgbV9sYXN0UGFpbnRUaW1lOwogCiAgICAgYm9vbCBtX2lzVHJhY2tpbmdS
ZXBhaW50czsgLy8gVXNlZCBmb3IgdGVzdGluZy4KLSAgICBWZWN0b3I8SW50UmVjdD4gbV90cmFj
a2VkUmVwYWludFJlY3RzOworICAgIFZlY3RvcjxGbG9hdFJlY3Q+IG1fdHJhY2tlZFJlcGFpbnRS
ZWN0czsKIAogICAgIGJvb2wgbV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggM2U3NTM2MDIzNDM5YzhiZGRi
OThjZTg0MzI0MzRjMjE0NGQzZGJmNC4uYjQxM2YwOThjNTE1ZTIxMmNlMjVjOGFiMzg5MDg3OTlk
YzMzZDBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01
NzM4LDYgKzU3MzgsMTEgQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6YWJzb2x1dGVCb3VuZGluZ0Jv
eCgpIGNvbnN0CiAgICAgcmV0dXJuIHBpeGVsU25hcHBlZEludFJlY3QoYm91bmRpbmdCb3gocm9v
dCgpKSk7CiB9CiAKK0Zsb2F0UmVjdCBSZW5kZXJMYXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveEZv
clBhaW50aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmco
Ym91bmRpbmdCb3gocm9vdCgpKSwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFj
dG9yKCkpOworfQorCiBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpjYWxjdWxhdGVMYXllckJvdW5k
cyhjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgY29uc3QgTGF5b3V0UG9pbnQqIG9m
ZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzIGZsYWdzKSBjb25zdAogewog
ICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAppbmRleCAxYTE0YjI4NzJkMTQ1NDU5YzI1ZjFkZGNhYTIzYmFmODFiM2Q0Mjll
Li5kZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFhOWJiODNiZWI4MzhiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNzE1LDggKzcxNSwxMCBAQCBwdWJsaWM6CiAg
ICAgTGF5b3V0UmVjdCBib3VuZGluZ0JveChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBD
YWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCwgY29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZy
b21Sb290ID0gMCkgY29uc3Q7CiAgICAgLy8gQm91bmRpbmcgYm94IGluIHRoZSBjb29yZGluYXRl
cyBvZiB0aGlzIGxheWVyLgogICAgIExheW91dFJlY3QgbG9jYWxCb3VuZGluZ0JveChDYWxjdWxh
dGVMYXllckJvdW5kc0ZsYWdzID0gMCkgY29uc3Q7Ci0gICAgLy8gUGl4ZWwgc25hcHBlZCBib3Vu
ZGluZyBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3QuCisgICAgLy8gRGVwcmVjYXRlZDogUGl4ZWwg
c25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3QuCiAgICAgSW50UmVjdCBh
YnNvbHV0ZUJvdW5kaW5nQm94KCkgY29uc3Q7CisgICAgLy8gRGV2aWNlIHBpeGVsIHNuYXBwZWQg
Ym91bmRpbmcgYm94IHJlbGF0aXZlIHRvIHRoZSByb290LiBhYnNvbHV0ZUJvdW5kaW5nQm94KCkg
Y2FsbGVycyB3aWxsIGJlIGRpcmVjdGVkIHRvIHRoaXMuCisgICAgRmxvYXRSZWN0IGFic29sdXRl
Qm91bmRpbmdCb3hGb3JQYWludGluZygpIGNvbnN0OwogCiAgICAgLy8gQm91bmRzIHVzZWQgZm9y
IGxheWVyIG92ZXJsYXAgdGVzdGluZyBpbiBSZW5kZXJMYXllckNvbXBvc2l0b3IuCiAgICAgTGF5
b3V0UmVjdCBvdmVybGFwQm91bmRzKCkgY29uc3QgeyByZXR1cm4gb3ZlcmxhcEJvdW5kc0luY2x1
ZGVDaGlsZHJlbigpID8gY2FsY3VsYXRlTGF5ZXJCb3VuZHModGhpcykgOiBsb2NhbEJvdW5kaW5n
Qm94KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKaW5kZXggN2M3OWU1YzJlMTJhMmU4YzhhYmFlZGUwZGVkYmIyYTg3NWUwZGEwMC4uMjUy
OGZmYWUwODYyMjc3Mzk3ODljOGJhMDA1ZWU5YTA3N2I3MmMxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTIwNjgsNyArMjA2OCw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5KEdyYXBo
aWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9
IG93bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1f
aXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50
cygpKQotICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KG93bmluZ0xheWVy
KCkuYWJzb2x1dGVCb3VuZGluZ0JveCgpKTsKKyAgICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRS
ZXBhaW50UmVjdChvd25pbmdMYXllcigpLmFic29sdXRlQm91bmRpbmdCb3hGb3JQYWludGluZygp
KTsKICAgICAKICAgICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJh
d3NDb250ZW50KCkpIHsKICAgICAgICAgLy8gQnkgZGVmYXVsdCwgc2V0TmVlZHNEaXNwbGF5IHdp
bGwgY2xpcCB0byB0aGUgc2l6ZSBvZiB0aGUgR3JhcGhpY3NMYXllciwgd2hpY2ggZG9lcyBub3Qg
aW5jbHVkZSBtYXJnaW4gdGlsZXMuCkBAIC0yMTAwLDcgKzIxMDAsNyBAQCB2b2lkIFJlbmRlckxh
eWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0
JiByLCBHcmFwaAogICAgIEZsb2F0UmVjdCBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmcgPSBw
aXhlbFNuYXBwZWRGb3JQYWludGluZyhyLCBkZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICBGcmFt
ZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVW
aWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3
LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFp
bnRSZWN0KHBpeGVsU25hcHBlZEludFJlY3QocikpOworICAgICAgICBmcmFtZVZpZXcuYWRkVHJh
Y2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZyk7CiAKICAgICBpZiAo
bV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAg
ICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50
aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDg1Nzg5MzA4
Njg5ZWYzNWQ5ZWRkYWQ5MzJkMDJjMGY3N2Q4NWNkZjEuLjhkNzMxN2NlNTcyODdmMTg0NzVmNGMz
ZTFiOTdkZDBmMmMyZGJjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKQEAgLTU2MCwxMCArNTYwLDExIEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0
YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWludFJlY3QpIGNvbnN0CiAgICAgICAgIG93bmVy
Qm94LnJlcGFpbnRSZWN0YW5nbGUoYWRqdXN0ZWRSZWN0KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJl
cGFpbnRSZWN0KTsKIAotICAgIGZyYW1lVmlldygpLmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhl
bFNuYXBwZWRSZWN0KTsKKyAgICBmcmFtZVZpZXcoKS5hZGRUcmFja2VkUmVwYWludFJlY3QocGl4
ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVwYWludFJlY3QsIGRvY3VtZW50KCkuZGV2aWNlU2NhbGVG
YWN0b3IoKSkpOwogCisgICAgLy8gRklYTUU6IGNvbnZlcnQgYWxsIHJlcGFpbnQgcmVjdCBkZXBl
bmRlbmNpZXMgdG8gRmxvYXRSZWN0L0xheW91dFJlY3QKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBl
ZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlcGFpbnRSZWN0KTsKICAgICBpZiAoIW1fYWNj
dW11bGF0ZWRSZXBhaW50UmVnaW9uKSB7CiAgICAgICAgIGZyYW1lVmlldygpLnJlcGFpbnRDb250
ZW50UmVjdGFuZ2xlKHBpeGVsU25hcHBlZFJlY3QpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYTFiZWQ3YjRiN2FiMjkzYzBmY2IyMzRiN2Yz
YTM3ZTg5N2RhYmNhNC4uZjRmYjFiYzdjMDI3MjE1ZmNlZTQwNmVjYzA1ZDE3NGIwY2E2NzQ5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzk1MiwxMSArMzk1MiwxMSBA
QCBzdGF0aWMgaW5saW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCiAgICAgaWYgKCF2aWV3
IHx8ICF2aWV3LT5pc1RyYWNraW5nUmVwYWludHMoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgIGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVwYWludFJlY3RzID0gdmlldy0+dHJhY2tlZFJl
cGFpbnRSZWN0cygpOworICAgIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZXBhaW50UmVjdHMg
PSB2aWV3LT50cmFja2VkUmVwYWludFJlY3RzKCk7CiAgICAgTlNNdXRhYmxlQXJyYXkqIHJlY3Rz
QXJyYXkgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnJlcGFpbnRS
ZWN0cy5zaXplKCldOwogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBhaW50
UmVjdHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1
ZSB2YWx1ZVdpdGhSZWN0OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOwor
ICAgICAgICBbcmVjdHNBcnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoUmVjdDpwaXhl
bFNuYXBwZWRJbnRSZWN0KExheW91dFJlY3QocmVwYWludFJlY3RzW2ldKSldXTsKIAogICAgIHJl
dHVybiBbcmVjdHNBcnJheSBhdXRvcmVsZWFzZV07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGNkZjNhMjlhYmMwNzk0
ZWFkZTkzOTFlM2FjYTE3MjMwOWM5YmJmNC4uZGFmZjE5Mjc5MTViMDE4MDA3OGJkNDlkZjJmNmU4
N2FiMDIwNDJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE0LTAzLTA0ICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhlbCByZXBh
aW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUcmFja2VkIHJlcGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBzbmFwcGVk
IG5vdyB0byBzdXBwb3J0IGhpRFBJIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2luZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwt
YmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLmh0bWw6IEFkZGVkLgorCisyMDE0LTAzLTA0ICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKICAgICAgICAgU3VicGl4ZWwgcmVuZGVy
aW5nOiBJbmNvcnJlY3QgcmVwYWludCByZWN0IGN1dHMgb2ZmIGNvbnRlbnQncyByaWdodCBlZGdl
IGFmdGVyIG1vdmUuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjk2NTIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBp
LWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50
LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyODljMGYwOTY4ZDM2ZDYy
MWEyZjFjZDA5Njc5ZmQ1OGU1NWQ5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2lu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisocmVwYWludCByZWN0cworICAocmVjdCAw
IDAgMjIgMjIpCisgIChyZWN0IDEuNTAgMCAyMiAyMikKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3Qt
dHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4
ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY2ZjdlZmVl
OWJhODgzNjU2NDI1MjZhYjI4OTVjMTk4ZDg4YTg5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0
LXRyYWNraW5nLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCByZXBhaW50IHJlY3QgdHJhY2tpbmcgd29y
a3MgZm9yIGhpRFBJIGNhc2VzLjwvdGl0bGU+Cis8aGVhZD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgYm9yZGVyOiBncmVlbiBzb2xpZCAxcHg7CisgICAg
d2lkdGg6IDIwcHg7CisgICAgaGVpZ2h0OiAyMHB4OworICAgIGxlZnQ6IDBweDsKKyAgICB0b3A6
IDBweDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD1mb28+PC9kaXY+
CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIG1vdmUoKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZvbyIpLnN0eWxlLmxlZnQgPSAiMS41cHgiOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICB2YXIgZHVtbXkgPSBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAg
ICAgICAgdmFyIHJlcGFpbnRSZWN0cyA9IHdpbmRvdy5pbnRlcm5hbHMucmVwYWludFJlY3RzQXNU
ZXh0KCk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMoKTsK
KworICAgICAgICB2YXIgcHJlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncHJlJyk7CisgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocHJlKTsKKyAgICAgICAgcHJlLmlubmVySFRN
TCA9IHJlcGFpbnRSZWN0czsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICB9CisgIH0KKyAgCisgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7CisgICAgd2luZG93
LmludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgfQorCisgIHNldFRpbWVvdXQobW92ZSwgMCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225836</attachid>
            <date>2014-03-04 18:43:49 -0800</date>
            <delta_ts>2014-03-04 18:44:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129712-20140304184347.patch</filename>
            <type>text/plain</type>
            <size>16957</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNzYzZjJmYzQxNjdj
MjkzODBhMzI5Mjc4NGMwZTkyOWIyMWY0Ny4uYzI3YjY4MzllMGUzNGEwZjUyYmYxZWE2MGYyYTM5
NTdmMzc1NmY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE0LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhl
bCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25h
cHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5n
Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRkVHJhY2tlZFJlcGFpbnRS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dHJhY2tlZFJlcGFpbnRSZWN0c0Fz
VGV4dCk6IFByaW50IHRoZW0gYXMgTGF5b3V0VW5pdHMgdG8gZ2V0CisgICAgICAgIHRyYWlsaW5n
IHplcm9zIGN1dCBvZmYuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5
SW5SZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZSk6CisKKzIwMTQtMDMtMDQg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKwogICAgICAgICBCdWlsZCBmaXggZm9y
IGlPUy4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCAxMmNjNGZhN2M4NTBlZjcwMTYxZmI1NjFlYTIxZDExMTYzZmUyMTQxLi4yZTc3
OGRkNjNhZmMxYjc3MzA4NzVkMTZjZDg2Y2FjMmFmMjFkNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBFbmFibGUgZGV2aWNlIHBpeGVsIHJlcGFpbnQgcmVjdCB0cmFja2luZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTcxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBUcmFja2VkIHJl
cGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBzbmFwcGVkIG5vdyB0byBzdXBwb3J0IGhpRFBJ
IHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmwuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjp0cmFja2Vk
UmVwYWludFJlY3RzKToKKwogMjAxNC0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgVmlzaXRlZExpbmtTdHJhdGVneQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDQyZTRhZGY1NWVkZmY4MTAxYTMxODVhMWJhZmY5YmJhNmUyZGE3Y2Yu
LmQwMTlmZDgwNzQ0OGEyMzU1OGE3YzM2MjdiOWEwOGJiODIyOWZjZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIEVuYWJsZSBkZXZpY2UgcGl4ZWwgcmVwYWludCByZWN0IHRyYWNr
aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5
NzEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRyYWNr
ZWQgcmVwYWludCByZWN0cyBhcmUgZGV2aWNlIHBpeGVsIHNuYXBwZWQgbm93IHRvIHN1cHBvcnQg
aGlEUEkgdGVzdCBjYXNlcy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnRy
YWNrZWRSZXBhaW50UmVjdHMpOgorCiAyMDE0LTAzLTAzICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggc29tZSBzaW1wbGUgZ3RrZG9j
IHdhcm5pbmdzIGZvciBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDI1NTNlZTJhMzAwM2Ji
ZGNkYTdmNjY5MmVmNWQ1ZmZjMjI4ZWVmZi4uY2FhZmFmMjg0M2I2NmY1NmE1ZDIxYjMzNjE5YjRl
YzM2OWFjM2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTA0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIGRldmlj
ZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4
ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVj
dHNdKTogS2VlcCBleGlzdGluZyBiZWhhdmlvciBmb3Igbm93LgorCiAyMDE0LTAzLTAyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IE1hYyBwbGF0Zm9ybSBl
eHBvcnQgZmlsZXMgc28gdGhleSBtZXJnZSBiZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MTg1ZDg0N2I0MzRiODMxY2M4NGQ0N2FlNjAwZWRlZDFmOGU2NzIxOS4uMTU3NDdkOWVlOGI3NTFm
NjUxMjg5NDM4ZThlODY3YTkzODUyN2FlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE5MzEs
NiArMTkzMSw3IEBAIF9fWlRWTjdXZWJDb3JlMjVEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uRQog
X19aVFZON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw4U2V0dGluZ3NFCiBf
X1pUVk43V2ViQ29yZTMxQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbkUKIF9fWlRWTjdX
ZWJDb3JlMzdCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uRQorX19aTjdXZWJD
b3JlMTBMYXlvdXRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aVGhuPz8/X043V2ViQ29yZTE1
R3JhcGhpY3NMYXllckNBMjhwbGF0Zm9ybUNBTGF5ZXJQYWludENvbnRlbnRzRVBOU18xNVBsYXRm
b3JtQ0FMYXllckVSTlNfMTVHcmFwaGljc0NvbnRleHRFUktOU185RmxvYXRSZWN0RQogX19aVGhu
Pz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMzFwbGF0Zm9ybUNBTGF5ZXJBbmltYXRpb25T
dGFydGVkRWQKIF9fWlRobj8/P19ON1dlYkNvcmUxNUdyYXBoaWNzTGF5ZXJDQTQwcGxhdGZvcm1D
QUxheWVyU2V0TmVlZHNUb1JldmFsaWRhdGVUaWxlc0V2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggZjBjYjQ4MGU5MDdmMjk4YmJhMTcwNTc3ZWUyNmYzMDI0OGQ1MTE3Yi4uY2NhYzEx
MWUxMDY3ZGVlMzEzOTIzOTg2M2E3NWEyNzMxMmM2ZTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMjA1NywxMiArMjA1NywxMiBAQCBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhv
c3RXaW5kb3coKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi12b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIHIpCit2b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZiAoIW1faXNU
cmFja2luZ1JlcGFpbnRzIHx8IHIuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJ
bnRSZWN0IHJlcGFpbnRSZWN0ID0gcjsKKyAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSByOwog
ICAgIHJlcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldCgpKTsKICAgICBtX3RyYWNrZWRSZXBh
aW50UmVjdHMuYXBwZW5kKHJlcGFpbnRSZWN0KTsKIH0KQEAgLTM5NzcsNyArMzk3Nyw3IEBAIFN0
cmluZyBGcmFtZVZpZXc6OnRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHQoKSBjb25zdAogICAgIGlm
ICghbV90cmFja2VkUmVwYWludFJlY3RzLmlzRW1wdHkoKSkgewogICAgICAgICB0cyA8PCAiKHJl
cGFpbnQgcmVjdHNcbiI7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90cmFja2Vk
UmVwYWludFJlY3RzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8
PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ueCgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50
UmVjdHNbaV0ueSgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ud2lkdGgoKSA8
PCAiICIgPDwgbV90cmFja2VkUmVwYWludFJlY3RzW2ldLmhlaWdodCgpIDw8ICIpXG4iOworICAg
ICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRS
ZWN0c1tpXS54KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tp
XS55KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS53aWR0
aCgpKSA8PCAiICIgPDwgTGF5b3V0VW5pdChtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0uaGVpZ2h0
KCkpIDw8ICIpXG4iOwogICAgICAgICB0cyA8PCAiKVxuIjsKICAgICB9CiAgICAgcmV0dXJuIHRz
LnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDQ0OGMwZDBkN2ZiNjVkMGJj
OTkxZDI1NWJkNTAwMGE3ZTIyMGEyZTkuLmJjNGNjYzAyOWVhN2M4ZjkzMjdjMjIyMDkxNTk3ZWVk
YjJkMTMyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzc3LDcgKzM3Nyw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFRyYWNrc1JlcGFpbnRzKGJvb2wpOwogICAgIGJvb2wgaXNUcmFj
a2luZ1JlcGFpbnRzKCkgY29uc3QgeyByZXR1cm4gbV9pc1RyYWNraW5nUmVwYWludHM7IH0KICAg
ICB2b2lkIHJlc2V0VHJhY2tlZFJlcGFpbnRzKCk7Ci0gICAgY29uc3QgVmVjdG9yPEludFJlY3Q+
JiB0cmFja2VkUmVwYWludFJlY3RzKCkgY29uc3QgeyByZXR1cm4gbV90cmFja2VkUmVwYWludFJl
Y3RzOyB9CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRyYWNrZWRSZXBhaW50UmVjdHMo
KSBjb25zdCB7IHJldHVybiBtX3RyYWNrZWRSZXBhaW50UmVjdHM7IH0KICAgICBTdHJpbmcgdHJh
Y2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0OwogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFNj
cm9sbGFibGVBcmVhKj4gU2Nyb2xsYWJsZUFyZWFTZXQ7CkBAIC00NDUsNyArNDQ1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZv
aWQgd2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwogCi0gICAgdm9pZCBh
ZGRUcmFja2VkUmVwYWludFJlY3QoY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgYWRkVHJhY2tl
ZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiAgICAgLy8gZXhwb3NlZFJlY3QgcmVw
cmVzZW50cyBXZWJLaXQncyB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgcGFydAogICAgIC8vIG9mIHRo
ZSB2aWV3IGlzIGFjdHVhbGx5IGV4cG9zZWQgb24gc2NyZWVuICh0YWtpbmcgaW50byBhY2NvdW50
CkBAIC02MjgsNyArNjI4LDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9sYXN0UGFpbnRUaW1l
OwogCiAgICAgYm9vbCBtX2lzVHJhY2tpbmdSZXBhaW50czsgLy8gVXNlZCBmb3IgdGVzdGluZy4K
LSAgICBWZWN0b3I8SW50UmVjdD4gbV90cmFja2VkUmVwYWludFJlY3RzOworICAgIFZlY3RvcjxG
bG9hdFJlY3Q+IG1fdHJhY2tlZFJlcGFpbnRSZWN0czsKIAogICAgIGJvb2wgbV9zaG91bGRVcGRh
dGVXaGlsZU9mZnNjcmVlbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggM2U3NTM2MDIzNDM5YzhiZGRiOThjZTg0MzI0MzRjMjE0NGQzZGJmNC4uYjQxM2Yw
OThjNTE1ZTIxMmNlMjVjOGFiMzg5MDg3OTlkYzMzZDBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NzM4LDYgKzU3MzgsMTEgQEAgSW50UmVjdCBSZW5k
ZXJMYXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIHBpeGVsU25h
cHBlZEludFJlY3QoYm91bmRpbmdCb3gocm9vdCgpKSk7CiB9CiAKK0Zsb2F0UmVjdCBSZW5kZXJM
YXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveEZvclBhaW50aW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcoYm91bmRpbmdCb3gocm9vdCgpKSwgcmVuZGVyZXIo
KS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOworfQorCiBMYXlvdXRSZWN0IFJlbmRl
ckxheWVyOjpjYWxjdWxhdGVMYXllckJvdW5kcyhjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JM
YXllciwgY29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJv
dW5kc0ZsYWdzIGZsYWdzKSBjb25zdAogewogICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAxYTE0YjI4NzJkMTQ1
NDU5YzI1ZjFkZGNhYTIzYmFmODFiM2Q0MjllLi5kZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFh
OWJiODNiZWI4MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
NzE1LDggKzcxNSwxMCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBib3VuZGluZ0JveChjb25z
dCBSZW5kZXJMYXllciogcm9vdExheWVyLCBDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCwg
Y29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290ID0gMCkgY29uc3Q7CiAgICAgLy8gQm91
bmRpbmcgYm94IGluIHRoZSBjb29yZGluYXRlcyBvZiB0aGlzIGxheWVyLgogICAgIExheW91dFJl
Y3QgbG9jYWxCb3VuZGluZ0JveChDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCkgY29uc3Q7
Ci0gICAgLy8gUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3Qu
CisgICAgLy8gRGVwcmVjYXRlZDogUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUg
dG8gdGhlIHJvb3QuCiAgICAgSW50UmVjdCBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY29uc3Q7Cisg
ICAgLy8gRGV2aWNlIHBpeGVsIHNuYXBwZWQgYm91bmRpbmcgYm94IHJlbGF0aXZlIHRvIHRoZSBy
b290LiBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY2FsbGVycyB3aWxsIGJlIGRpcmVjdGVkIHRvIHRo
aXMuCisgICAgRmxvYXRSZWN0IGFic29sdXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpIGNvbnN0
OwogCiAgICAgLy8gQm91bmRzIHVzZWQgZm9yIGxheWVyIG92ZXJsYXAgdGVzdGluZyBpbiBSZW5k
ZXJMYXllckNvbXBvc2l0b3IuCiAgICAgTGF5b3V0UmVjdCBvdmVybGFwQm91bmRzKCkgY29uc3Qg
eyByZXR1cm4gb3ZlcmxhcEJvdW5kc0luY2x1ZGVDaGlsZHJlbigpID8gY2FsY3VsYXRlTGF5ZXJC
b3VuZHModGhpcykgOiBsb2NhbEJvdW5kaW5nQm94KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggN2M3OWU1YzJlMTJhMmU4Yzhh
YmFlZGUwZGVkYmIyYTg3NWUwZGEwMC4uMjUyOGZmYWUwODYyMjc3Mzk3ODljOGJhMDA1ZWU5YTA3
N2I3MmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKQEAgLTIwNjgsNyArMjA2OCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpz
ZXRDb250ZW50c05lZWREaXNwbGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAK
ICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3
KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYg
ZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAgICBmcmFtZVZpZXcuYWRkVHJh
Y2tlZFJlcGFpbnRSZWN0KG93bmluZ0xheWVyKCkuYWJzb2x1dGVCb3VuZGluZ0JveCgpKTsKKyAg
ICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRSZXBhaW50UmVjdChvd25pbmdMYXllcigpLmFic29s
dXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpKTsKICAgICAKICAgICBpZiAobV9ncmFwaGljc0xh
eWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgLy8gQnkg
ZGVmYXVsdCwgc2V0TmVlZHNEaXNwbGF5IHdpbGwgY2xpcCB0byB0aGUgc2l6ZSBvZiB0aGUgR3Jh
cGhpY3NMYXllciwgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBtYXJnaW4gdGlsZXMuCkBAIC0yMTAw
LDcgKzIxMDAsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlz
cGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiByLCBHcmFwaAogICAgIEZsb2F0UmVjdCBwaXhl
bFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmcgPSBwaXhlbFNuYXBwZWRGb3JQYWludGluZyhyLCBkZXZp
Y2VTY2FsZUZhY3RvcigpKTsKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVy
KCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVS
ZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAg
ICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZEludFJlY3Qocikp
OworICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZFJl
Y3RGb3JQYWludGluZyk7CiAKICAgICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NM
YXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0
ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCmluZGV4IDg1Nzg5MzA4Njg5ZWYzNWQ5ZWRkYWQ5MzJkMDJjMGY3N2Q4NWNk
ZjEuLjhkNzMxN2NlNTcyODdmMTg0NzVmNGMzZTFiOTdkZDBmMmMyZGJjYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTU2MCwxMCArNTYwLDExIEBAIHZvaWQg
UmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWlu
dFJlY3QpIGNvbnN0CiAgICAgICAgIG93bmVyQm94LnJlcGFpbnRSZWN0YW5nbGUoYWRqdXN0ZWRS
ZWN0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJl
Y3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlcGFpbnRSZWN0KTsKIAotICAgIGZyYW1lVmlldygp
LmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhlbFNuYXBwZWRSZWN0KTsKKyAgICBmcmFtZVZpZXco
KS5hZGRUcmFja2VkUmVwYWludFJlY3QocGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVwYWludFJl
Y3QsIGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogCisgICAgLy8gRklYTUU6IGNv
bnZlcnQgYWxsIHJlcGFpbnQgcmVjdCBkZXBlbmRlbmNpZXMgdG8gRmxvYXRSZWN0L0xheW91dFJl
Y3QKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJl
cGFpbnRSZWN0KTsKICAgICBpZiAoIW1fYWNjdW11bGF0ZWRSZXBhaW50UmVnaW9uKSB7CiAgICAg
ICAgIGZyYW1lVmlldygpLnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKHBpeGVsU25hcHBlZFJlY3Qp
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAppbmRleCA2YWZmMjY5
MWVhY2M0MWQ4YWJiNTliNTE3MjUwZWNhMmRhNWJhNTQxLi4yYjYxNmFjY2Y1YWMwMTliYjEyNTEy
Y2NiNTA2NGY5MWM4MGIyNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKQEAgLTM4Miw3
ICszODIsNyBAQCBFaW5hX0xpc3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6dHJhY2tlZFJl
cGFpbnRSZWN0cyhjb25zdCBFdmFzX09iamVjdCogZXdrRgogICAgIGlmICghZnJhbWUtPnZpZXco
KSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVj
dD4mIHJlcGFpbnRSZWN0cyA9IGZyYW1lLT52aWV3KCktPnRyYWNrZWRSZXBhaW50UmVjdHMoKTsK
KyAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRSZWN0PiYgcmVwYWludFJlY3RzID0gZnJh
bWUtPnZpZXcoKS0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwogICAgIHNpemVfdCBjb3VudCA9IHJl
cGFpbnRSZWN0cy5zaXplKCk7CiAgICAgRWluYV9MaXN0KiByZWN0TGlzdCA9IDA7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IGRiMWM1N2ZhZTQzMTg2NTBjYWZlYWIzYmIwMjQ2YTM5
ZDMyNDg3M2MuLmUzNjg2MmU2MGQxNzU2ZmE1YzhkODNlODRkYjkxMjM3YWU2MWI0NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNjQwLDcgKzY0MCw3IEBAIEdTTGlzdCogRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp0cmFja2VkUmVwYWludFJlY3RzKFdlYktpdFdlYkZyYW1lKiBm
cmFtZSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBHU0xpc3QqIHJlY3RzID0gMDsKLSAgICBj
b25zdCBWZWN0b3I8SW50UmVjdD4mIHJlcGFpbnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50
cmFja2VkUmVwYWludFJlY3RzKCk7CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlcGFp
bnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50cmFja2VkUmVwYWludFJlY3RzKCk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcGFpbnRSZWN0cy5zaXplKCk7IGkrKykgewogICAg
ICAgICBHZGtSZWN0YW5nbGUqIHJlY3QgPSBnX25ldzAoR2RrUmVjdGFuZ2xlLCAxKTsKICAgICAg
ICAgcmVjdC0+eCA9IHJlcGFpbnRSZWN0c1tpXS54KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggYTFiZWQ3YjRiN2FiMjkzYzBmY2IyMzRiN2YzYTM3ZTg5N2RhYmNhNC4u
ZjRmYjFiYzdjMDI3MjE1ZmNlZTQwNmVjYzA1ZDE3NGIwY2E2NzQ5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzk1MiwxMSArMzk1MiwxMSBAQCBzdGF0aWMgaW5saW5l
IElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCiAgICAgaWYgKCF2aWV3IHx8ICF2aWV3LT5pc1Ry
YWNraW5nUmVwYWludHMoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGNvbnN0IFZlY3Rv
cjxJbnRSZWN0PiYgcmVwYWludFJlY3RzID0gdmlldy0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwor
ICAgIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZXBhaW50UmVjdHMgPSB2aWV3LT50cmFja2Vk
UmVwYWludFJlY3RzKCk7CiAgICAgTlNNdXRhYmxlQXJyYXkqIHJlY3RzQXJyYXkgPSBbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnJlcGFpbnRSZWN0cy5zaXplKCldOwog
ICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBhaW50UmVjdHMuc2l6ZSgpOyAr
K2kpCi0gICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1ZVdpdGhSZWN0
OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOworICAgICAgICBbcmVjdHNB
cnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoUmVjdDpwaXhlbFNuYXBwZWRJbnRSZWN0
KExheW91dFJlY3QocmVwYWludFJlY3RzW2ldKSldXTsKIAogICAgIHJldHVybiBbcmVjdHNBcnJh
eSBhdXRvcmVsZWFzZV07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGNkZjNhMjlhYmMwNzk0ZWFkZTkzOTFlM2FjYTE3
MjMwOWM5YmJmNC4uZGFmZjE5Mjc5MTViMDE4MDA3OGJkNDlkZjJmNmU4N2FiMDIwNDJkOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE0LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcmFj
a2VkIHJlcGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBzbmFwcGVkIG5vdyB0byBzdXBwb3J0
IGhpRFBJIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvaGlkcGktZGV2aWNl
LXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1y
ZWN0LXRyYWNraW5nLmh0bWw6IEFkZGVkLgorCisyMDE0LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CisKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBJbmNvcnJlY3Qg
cmVwYWludCByZWN0IGN1dHMgb2ZmIGNvbnRlbnQncyByaWdodCBlZGdlIGFmdGVyIG1vdmUuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk2NTIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1waXhlbC1i
YXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9yZXBhaW50L2hpZHBpLWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyODljMGYwOTY4ZDM2ZDYyMWEyZjFjZDA5Njc5ZmQ1
OGU1NWQ5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaGlk
cGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2luZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisocmVwYWludCByZWN0cworICAocmVjdCAwIDAgMjIgMjIpCisgIChy
ZWN0IDEuNTAgMCAyMiAyMikKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L2hpZHBpLWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWlu
dC1yZWN0LXRyYWNraW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY2ZjdlZmVlOWJhODgzNjU2NDI1MjZh
YjI4OTVjMTk4ZDg4YTg5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLmh0bWwK
QEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PlRoaXMgdGVzdHMgdGhhdCByZXBhaW50IHJlY3QgdHJhY2tpbmcgd29ya3MgZm9yIGhpRFBJIGNh
c2VzLjwvdGl0bGU+Cis8aGVhZD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAgICBwb3NpdGlvbjogYWJz
b2x1dGU7CisgICAgYm9yZGVyOiBncmVlbiBzb2xpZCAxcHg7CisgICAgd2lkdGg6IDIwcHg7Cisg
ICAgaGVpZ2h0OiAyMHB4OworICAgIGxlZnQ6IDBweDsKKyAgICB0b3A6IDBweDsKKyAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD1mb28+PC9kaXY+CisKKzxzY3JpcHQ+Cisg
IGZ1bmN0aW9uIG1vdmUoKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbyIpLnN0
eWxlLmxlZnQgPSAiMS41cHgiOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAg
ICB2YXIgZHVtbXkgPSBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAgICAgICAgdmFyIHJlcGFp
bnRSZWN0cyA9IHdpbmRvdy5pbnRlcm5hbHMucmVwYWludFJlY3RzQXNUZXh0KCk7CisgICAgICAg
IHdpbmRvdy5pbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMoKTsKKworICAgICAgICB2YXIg
cHJlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncHJlJyk7CisgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocHJlKTsKKyAgICAgICAgcHJlLmlubmVySFRNTCA9IHJlcGFpbnRSZWN0
czsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9CisgIH0KKyAgCisg
IGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7CisgICAgd2luZG93LmludGVybmFscy5zdGFy
dFRyYWNraW5nUmVwYWludHMoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
fQorCisgIHNldFRpbWVvdXQobW92ZSwgMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225838</attachid>
            <date>2014-03-04 18:45:18 -0800</date>
            <delta_ts>2014-03-04 20:05:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129712-20140304184516.patch</filename>
            <type>text/plain</type>
            <size>16955</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNzYzZjJmYzQxNjdj
MjkzODBhMzI5Mjc4NGMwZTkyOWIyMWY0Ny4uYzI3YjY4MzllMGUzNGEwZjUyYmYxZWE2MGYyYTM5
NTdmMzc1NmY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE0LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhl
bCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25h
cHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5n
Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRkVHJhY2tlZFJlcGFpbnRS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dHJhY2tlZFJlcGFpbnRSZWN0c0Fz
VGV4dCk6IFByaW50IHRoZW0gYXMgTGF5b3V0VW5pdHMgdG8gZ2V0CisgICAgICAgIHRyYWlsaW5n
IHplcm9zIGN1dCBvZmYuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5
SW5SZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZSk6CisKKzIwMTQtMDMtMDQg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKwogICAgICAgICBCdWlsZCBmaXggZm9y
IGlPUy4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCAxMmNjNGZhN2M4NTBlZjcwMTYxZmI1NjFlYTIxZDExMTYzZmUyMTQxLi4yZTc3
OGRkNjNhZmMxYjc3MzA4NzVkMTZjZDg2Y2FjMmFmMjFkNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBFbmFibGUgZGV2aWNlIHBpeGVsIHJlcGFpbnQgcmVjdCB0cmFja2luZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTcxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBUcmFja2VkIHJl
cGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBzbmFwcGVkIG5vdyB0byBzdXBwb3J0IGhpRFBJ
IHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmwuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjp0cmFja2Vk
UmVwYWludFJlY3RzKToKKwogMjAxNC0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgVmlzaXRlZExpbmtTdHJhdGVneQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDQyZTRhZGY1NWVkZmY4MTAxYTMxODVhMWJhZmY5YmJhNmUyZGE3Y2Yu
LmQwMTlmZDgwNzQ0OGEyMzU1OGE3YzM2MjdiOWEwOGJiODIyOWZjZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIEVuYWJsZSBkZXZpY2UgcGl4ZWwgcmVwYWludCByZWN0IHRyYWNr
aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5
NzEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRyYWNr
ZWQgcmVwYWludCByZWN0cyBhcmUgZGV2aWNlIHBpeGVsIHNuYXBwZWQgbm93IHRvIHN1cHBvcnQg
aGlEUEkgdGVzdCBjYXNlcy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnRy
YWNrZWRSZXBhaW50UmVjdHMpOgorCiAyMDE0LTAzLTAzICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggc29tZSBzaW1wbGUgZ3RrZG9j
IHdhcm5pbmdzIGZvciBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDI1NTNlZTJhMzAwM2Ji
ZGNkYTdmNjY5MmVmNWQ1ZmZjMjI4ZWVmZi4uY2FhZmFmMjg0M2I2NmY1NmE1ZDIxYjMzNjE5YjRl
YzM2OWFjM2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTA0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIGRldmlj
ZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4
ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVj
dHNdKTogS2VlcCBleGlzdGluZyBiZWhhdmlvciBmb3Igbm93LgorCiAyMDE0LTAzLTAyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IE1hYyBwbGF0Zm9ybSBl
eHBvcnQgZmlsZXMgc28gdGhleSBtZXJnZSBiZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MTg1ZDg0N2I0MzRiODMxY2M4NGQ0N2FlNjAwZWRlZDFmOGU2NzIxOS4uMTU3NDdkOWVlOGI3NTFm
NjUxMjg5NDM4ZThlODY3YTkzODUyN2FlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE5MzEs
NiArMTkzMSw3IEBAIF9fWlRWTjdXZWJDb3JlMjVEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uRQog
X19aVFZON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw4U2V0dGluZ3NFCiBf
X1pUVk43V2ViQ29yZTMxQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbkUKIF9fWlRWTjdX
ZWJDb3JlMzdCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uRQorX19aTjdXZWJD
b3JlMTBMYXlvdXRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aVGhuPz8/X043V2ViQ29yZTE1
R3JhcGhpY3NMYXllckNBMjhwbGF0Zm9ybUNBTGF5ZXJQYWludENvbnRlbnRzRVBOU18xNVBsYXRm
b3JtQ0FMYXllckVSTlNfMTVHcmFwaGljc0NvbnRleHRFUktOU185RmxvYXRSZWN0RQogX19aVGhu
Pz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMzFwbGF0Zm9ybUNBTGF5ZXJBbmltYXRpb25T
dGFydGVkRWQKIF9fWlRobj8/P19ON1dlYkNvcmUxNUdyYXBoaWNzTGF5ZXJDQTQwcGxhdGZvcm1D
QUxheWVyU2V0TmVlZHNUb1JldmFsaWRhdGVUaWxlc0V2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggZjBjYjQ4MGU5MDdmMjk4YmJhMTcwNTc3ZWUyNmYzMDI0OGQ1MTE3Yi4uY2NhYzEx
MWUxMDY3ZGVlMzEzOTIzOTg2M2E3NWEyNzMxMmM2ZTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMjA1NywxMiArMjA1NywxMiBAQCBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhv
c3RXaW5kb3coKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi12b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIHIpCit2b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZiAoIW1faXNU
cmFja2luZ1JlcGFpbnRzIHx8IHIuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJ
bnRSZWN0IHJlcGFpbnRSZWN0ID0gcjsKKyAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSByOwog
ICAgIHJlcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldCgpKTsKICAgICBtX3RyYWNrZWRSZXBh
aW50UmVjdHMuYXBwZW5kKHJlcGFpbnRSZWN0KTsKIH0KQEAgLTM5NzcsNyArMzk3Nyw3IEBAIFN0
cmluZyBGcmFtZVZpZXc6OnRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHQoKSBjb25zdAogICAgIGlm
ICghbV90cmFja2VkUmVwYWludFJlY3RzLmlzRW1wdHkoKSkgewogICAgICAgICB0cyA8PCAiKHJl
cGFpbnQgcmVjdHNcbiI7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90cmFja2Vk
UmVwYWludFJlY3RzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8
PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ueCgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50
UmVjdHNbaV0ueSgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ud2lkdGgoKSA8
PCAiICIgPDwgbV90cmFja2VkUmVwYWludFJlY3RzW2ldLmhlaWdodCgpIDw8ICIpXG4iOworICAg
ICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRS
ZWN0c1tpXS54KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tp
XS55KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS53aWR0
aCgpKSA8PCAiICIgPDwgTGF5b3V0VW5pdChtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0uaGVpZ2h0
KCkpIDw8ICIpXG4iOwogICAgICAgICB0cyA8PCAiKVxuIjsKICAgICB9CiAgICAgcmV0dXJuIHRz
LnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDQ0OGMwZDBkN2ZiNjVkMGJj
OTkxZDI1NWJkNTAwMGE3ZTIyMGEyZTkuLmJjNGNjYzAyOWVhN2M4ZjkzMjdjMjIyMDkxNTk3ZWVk
YjJkMTMyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzc3LDcgKzM3Nyw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFRyYWNrc1JlcGFpbnRzKGJvb2wpOwogICAgIGJvb2wgaXNUcmFj
a2luZ1JlcGFpbnRzKCkgY29uc3QgeyByZXR1cm4gbV9pc1RyYWNraW5nUmVwYWludHM7IH0KICAg
ICB2b2lkIHJlc2V0VHJhY2tlZFJlcGFpbnRzKCk7Ci0gICAgY29uc3QgVmVjdG9yPEludFJlY3Q+
JiB0cmFja2VkUmVwYWludFJlY3RzKCkgY29uc3QgeyByZXR1cm4gbV90cmFja2VkUmVwYWludFJl
Y3RzOyB9CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRyYWNrZWRSZXBhaW50UmVjdHMo
KSBjb25zdCB7IHJldHVybiBtX3RyYWNrZWRSZXBhaW50UmVjdHM7IH0KICAgICBTdHJpbmcgdHJh
Y2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0OwogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFNj
cm9sbGFibGVBcmVhKj4gU2Nyb2xsYWJsZUFyZWFTZXQ7CkBAIC00NDUsNyArNDQ1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZv
aWQgd2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwogCi0gICAgdm9pZCBh
ZGRUcmFja2VkUmVwYWludFJlY3QoY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgYWRkVHJhY2tl
ZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiAgICAgLy8gZXhwb3NlZFJlY3QgcmVw
cmVzZW50cyBXZWJLaXQncyB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgcGFydAogICAgIC8vIG9mIHRo
ZSB2aWV3IGlzIGFjdHVhbGx5IGV4cG9zZWQgb24gc2NyZWVuICh0YWtpbmcgaW50byBhY2NvdW50
CkBAIC02MjgsNyArNjI4LDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9sYXN0UGFpbnRUaW1l
OwogCiAgICAgYm9vbCBtX2lzVHJhY2tpbmdSZXBhaW50czsgLy8gVXNlZCBmb3IgdGVzdGluZy4K
LSAgICBWZWN0b3I8SW50UmVjdD4gbV90cmFja2VkUmVwYWludFJlY3RzOworICAgIFZlY3RvcjxG
bG9hdFJlY3Q+IG1fdHJhY2tlZFJlcGFpbnRSZWN0czsKIAogICAgIGJvb2wgbV9zaG91bGRVcGRh
dGVXaGlsZU9mZnNjcmVlbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggM2U3NTM2MDIzNDM5YzhiZGRiOThjZTg0MzI0MzRjMjE0NGQzZGJmNC4uYjQxM2Yw
OThjNTE1ZTIxMmNlMjVjOGFiMzg5MDg3OTlkYzMzZDBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NzM4LDYgKzU3MzgsMTEgQEAgSW50UmVjdCBSZW5k
ZXJMYXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIHBpeGVsU25h
cHBlZEludFJlY3QoYm91bmRpbmdCb3gocm9vdCgpKSk7CiB9CiAKK0Zsb2F0UmVjdCBSZW5kZXJM
YXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveEZvclBhaW50aW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcoYm91bmRpbmdCb3gocm9vdCgpKSwgcmVuZGVyZXIo
KS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOworfQorCiBMYXlvdXRSZWN0IFJlbmRl
ckxheWVyOjpjYWxjdWxhdGVMYXllckJvdW5kcyhjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JM
YXllciwgY29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJv
dW5kc0ZsYWdzIGZsYWdzKSBjb25zdAogewogICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAxYTE0YjI4NzJkMTQ1
NDU5YzI1ZjFkZGNhYTIzYmFmODFiM2Q0MjllLi5kZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFh
OWJiODNiZWI4MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
NzE1LDggKzcxNSwxMCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBib3VuZGluZ0JveChjb25z
dCBSZW5kZXJMYXllciogcm9vdExheWVyLCBDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCwg
Y29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290ID0gMCkgY29uc3Q7CiAgICAgLy8gQm91
bmRpbmcgYm94IGluIHRoZSBjb29yZGluYXRlcyBvZiB0aGlzIGxheWVyLgogICAgIExheW91dFJl
Y3QgbG9jYWxCb3VuZGluZ0JveChDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCkgY29uc3Q7
Ci0gICAgLy8gUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3Qu
CisgICAgLy8gRGVwcmVjYXRlZDogUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUg
dG8gdGhlIHJvb3QuCiAgICAgSW50UmVjdCBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY29uc3Q7Cisg
ICAgLy8gRGV2aWNlIHBpeGVsIHNuYXBwZWQgYm91bmRpbmcgYm94IHJlbGF0aXZlIHRvIHRoZSBy
b290LiBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY2FsbGVycyB3aWxsIGJlIGRpcmVjdGVkIHRvIHRo
aXMuCisgICAgRmxvYXRSZWN0IGFic29sdXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpIGNvbnN0
OwogCiAgICAgLy8gQm91bmRzIHVzZWQgZm9yIGxheWVyIG92ZXJsYXAgdGVzdGluZyBpbiBSZW5k
ZXJMYXllckNvbXBvc2l0b3IuCiAgICAgTGF5b3V0UmVjdCBvdmVybGFwQm91bmRzKCkgY29uc3Qg
eyByZXR1cm4gb3ZlcmxhcEJvdW5kc0luY2x1ZGVDaGlsZHJlbigpID8gY2FsY3VsYXRlTGF5ZXJC
b3VuZHModGhpcykgOiBsb2NhbEJvdW5kaW5nQm94KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggN2M3OWU1YzJlMTJhMmU4Yzhh
YmFlZGUwZGVkYmIyYTg3NWUwZGEwMC4uMjUyOGZmYWUwODYyMjc3Mzk3ODljOGJhMDA1ZWU5YTA3
N2I3MmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKQEAgLTIwNjgsNyArMjA2OCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpz
ZXRDb250ZW50c05lZWREaXNwbGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAK
ICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3
KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYg
ZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAgICBmcmFtZVZpZXcuYWRkVHJh
Y2tlZFJlcGFpbnRSZWN0KG93bmluZ0xheWVyKCkuYWJzb2x1dGVCb3VuZGluZ0JveCgpKTsKKyAg
ICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRSZXBhaW50UmVjdChvd25pbmdMYXllcigpLmFic29s
dXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpKTsKICAgICAKICAgICBpZiAobV9ncmFwaGljc0xh
eWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgLy8gQnkg
ZGVmYXVsdCwgc2V0TmVlZHNEaXNwbGF5IHdpbGwgY2xpcCB0byB0aGUgc2l6ZSBvZiB0aGUgR3Jh
cGhpY3NMYXllciwgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBtYXJnaW4gdGlsZXMuCkBAIC0yMTAw
LDcgKzIxMDAsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlz
cGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiByLCBHcmFwaAogICAgIEZsb2F0UmVjdCBwaXhl
bFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmcgPSBwaXhlbFNuYXBwZWRGb3JQYWludGluZyhyLCBkZXZp
Y2VTY2FsZUZhY3RvcigpKTsKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVy
KCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVS
ZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAg
ICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZEludFJlY3Qocikp
OworICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZFJl
Y3RGb3JQYWludGluZyk7CiAKICAgICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NM
YXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0
ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCmluZGV4IDg1Nzg5MzA4Njg5ZWYzNWQ5ZWRkYWQ5MzJkMDJjMGY3N2Q4NWNk
ZjEuLjhkNzMxN2NlNTcyODdmMTg0NzVmNGMzZTFiOTdkZDBmMmMyZGJjYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTU2MCwxMCArNTYwLDExIEBAIHZvaWQg
UmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWlu
dFJlY3QpIGNvbnN0CiAgICAgICAgIG93bmVyQm94LnJlcGFpbnRSZWN0YW5nbGUoYWRqdXN0ZWRS
ZWN0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJl
Y3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlcGFpbnRSZWN0KTsKIAotICAgIGZyYW1lVmlldygp
LmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhlbFNuYXBwZWRSZWN0KTsKKyAgICBmcmFtZVZpZXco
KS5hZGRUcmFja2VkUmVwYWludFJlY3QocGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVwYWludFJl
Y3QsIGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogCisgICAgLy8gRklYTUU6IGNv
bnZlcnQgYWxsIHJlcGFpbnQgcmVjdCBkZXBlbmRlbmNpZXMgdG8gRmxvYXRSZWN0L0xheW91dFJl
Y3QKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJl
cGFpbnRSZWN0KTsKICAgICBpZiAoIW1fYWNjdW11bGF0ZWRSZXBhaW50UmVnaW9uKSB7CiAgICAg
ICAgIGZyYW1lVmlldygpLnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKHBpeGVsU25hcHBlZFJlY3Qp
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAppbmRleCA2YWZmMjY5
MWVhY2M0MWQ4YWJiNTliNTE3MjUwZWNhMmRhNWJhNTQxLi4yYjYxNmFjY2Y1YWMwMTliYjEyNTEy
Y2NiNTA2NGY5MWM4MGIyNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKQEAgLTM4Miw3
ICszODIsNyBAQCBFaW5hX0xpc3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6dHJhY2tlZFJl
cGFpbnRSZWN0cyhjb25zdCBFdmFzX09iamVjdCogZXdrRgogICAgIGlmICghZnJhbWUtPnZpZXco
KSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVj
dD4mIHJlcGFpbnRSZWN0cyA9IGZyYW1lLT52aWV3KCktPnRyYWNrZWRSZXBhaW50UmVjdHMoKTsK
KyAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRSZWN0PiYgcmVwYWludFJlY3RzID0gZnJh
bWUtPnZpZXcoKS0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwogICAgIHNpemVfdCBjb3VudCA9IHJl
cGFpbnRSZWN0cy5zaXplKCk7CiAgICAgRWluYV9MaXN0KiByZWN0TGlzdCA9IDA7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IGRiMWM1N2ZhZTQzMTg2NTBjYWZlYWIzYmIwMjQ2YTM5
ZDMyNDg3M2MuLmUzNjg2MmU2MGQxNzU2ZmE1YzhkODNlODRkYjkxMjM3YWU2MWI0NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNjQwLDcgKzY0MCw3IEBAIEdTTGlzdCogRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp0cmFja2VkUmVwYWludFJlY3RzKFdlYktpdFdlYkZyYW1lKiBm
cmFtZSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBHU0xpc3QqIHJlY3RzID0gMDsKLSAgICBj
b25zdCBWZWN0b3I8SW50UmVjdD4mIHJlcGFpbnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50
cmFja2VkUmVwYWludFJlY3RzKCk7CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlcGFp
bnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50cmFja2VkUmVwYWludFJlY3RzKCk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcGFpbnRSZWN0cy5zaXplKCk7IGkrKykgewogICAg
ICAgICBHZGtSZWN0YW5nbGUqIHJlY3QgPSBnX25ldzAoR2RrUmVjdGFuZ2xlLCAxKTsKICAgICAg
ICAgcmVjdC0+eCA9IHJlcGFpbnRSZWN0c1tpXS54KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggYTFiZWQ3YjRiN2FiMjkzYzBmY2IyMzRiN2YzYTM3ZTg5N2RhYmNhNC4u
ZjRmYjFiYzdjMDI3MjE1ZmNlZTQwNmVjYzA1ZDE3NGIwY2E2NzQ5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzk1MiwxMSArMzk1MiwxMSBAQCBzdGF0aWMgaW5saW5l
IElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCiAgICAgaWYgKCF2aWV3IHx8ICF2aWV3LT5pc1Ry
YWNraW5nUmVwYWludHMoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGNvbnN0IFZlY3Rv
cjxJbnRSZWN0PiYgcmVwYWludFJlY3RzID0gdmlldy0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwor
ICAgIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZXBhaW50UmVjdHMgPSB2aWV3LT50cmFja2Vk
UmVwYWludFJlY3RzKCk7CiAgICAgTlNNdXRhYmxlQXJyYXkqIHJlY3RzQXJyYXkgPSBbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnJlcGFpbnRSZWN0cy5zaXplKCldOwog
ICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBhaW50UmVjdHMuc2l6ZSgpOyAr
K2kpCi0gICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1ZVdpdGhSZWN0
OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOworICAgICAgICBbcmVjdHNB
cnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoUmVjdDpwaXhlbFNuYXBwZWRJbnRSZWN0
KExheW91dFJlY3QocmVwYWludFJlY3RzW2ldKSldXTsKIAogICAgIHJldHVybiBbcmVjdHNBcnJh
eSBhdXRvcmVsZWFzZV07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGNkZjNhMjlhYmMwNzk0ZWFkZTkzOTFlM2FjYTE3
MjMwOWM5YmJmNC4uNmZmZWU0YTAyMjFlZTdhZDBmODE4MzRiMzAyYzk4YWIwZmNjOWU4OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE0LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVHJhY2tl
ZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBo
aURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICogZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1w
aXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3JlcGFpbnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVj
dC10cmFja2luZy5odG1sOiBBZGRlZC4KKworMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzogSW5jb3JyZWN0IHJl
cGFpbnQgcmVjdCBjdXRzIG9mZiBjb250ZW50J3MgcmlnaHQgZWRnZSBhZnRlciBtb3ZlLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NjUyCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFz
ZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjg5YzBmMDk2OGQzNmQ2MjFhMmYxY2QwOTY3OWZkNThl
NTVkOTQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBp
LWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorKHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgMCAwIDIyIDIyKQorICAocmVj
dCAxLjUwIDAgMjIgMjIpCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQt
cmVjdC10cmFja2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNmY3ZWZlZTliYTg4MzY1NjQyNTI2YWIy
ODk1YzE5OGQ4OGE4OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2luZy5odG1sCkBA
IC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5U
aGlzIHRlc3RzIHRoYXQgcmVwYWludCByZWN0IHRyYWNraW5nIHdvcmtzIGZvciBoaURQSSBjYXNl
cy48L3RpdGxlPgorPGhlYWQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIGJvcmRlcjogZ3JlZW4gc29saWQgMXB4OworICAgIHdpZHRoOiAyMHB4OworICAg
IGhlaWdodDogMjBweDsKKyAgICBsZWZ0OiAwcHg7CisgICAgdG9wOiAwcHg7CisgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Zm9vPjwvZGl2PgorCis8c2NyaXB0PgorICBm
dW5jdGlvbiBtb3ZlKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb28iKS5zdHls
ZS5sZWZ0ID0gIjEuNXB4IjsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
dmFyIGR1bW15ID0gZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAgIHZhciByZXBhaW50
UmVjdHMgPSB3aW5kb3cuaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgpOworICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisKKyAgICAgICAgdmFyIHBy
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ByZScpOworICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHByZSk7CisgICAgICAgIHByZS5pbm5lckhUTUwgPSByZXBhaW50UmVjdHM7
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfQorICB9CisgIAorICBp
ZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy50
ZXN0UnVubmVyLmR1bXBBc1RleHQoZmFsc2UpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc3RhcnRU
cmFja2luZ1JlcGFpbnRzKCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgIH0K
KworICBzZXRUaW1lb3V0KG1vdmUsIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225846</attachid>
            <date>2014-03-04 20:05:37 -0800</date>
            <delta_ts>2014-03-04 21:24:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>16955</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNzYzZjJmYzQxNjdj
MjkzODBhMzI5Mjc4NGMwZTkyOWIyMWY0Ny4uYzI3YjY4MzllMGUzNGEwZjUyYmYxZWE2MGYyYTM5
NTdmMzc1NmY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE0LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhl
bCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25h
cHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5n
Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRkVHJhY2tlZFJlcGFpbnRS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dHJhY2tlZFJlcGFpbnRSZWN0c0Fz
VGV4dCk6IFByaW50IHRoZW0gYXMgTGF5b3V0VW5pdHMgdG8gZ2V0CisgICAgICAgIHRyYWlsaW5n
IHplcm9zIGN1dCBvZmYuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5
SW5SZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZSk6CisKKzIwMTQtMDMtMDQg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKwogICAgICAgICBCdWlsZCBmaXggZm9y
IGlPUy4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCAxMmNjNGZhN2M4NTBlZjcwMTYxZmI1NjFlYTIxZDExMTYzZmUyMTQxLi4yZTc3
OGRkNjNhZmMxYjc3MzA4NzVkMTZjZDg2Y2FjMmFmMjFkNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBFbmFibGUgZGV2aWNlIHBpeGVsIHJlcGFpbnQgcmVjdCB0cmFja2luZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTcxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBUcmFja2VkIHJl
cGFpbnQgcmVjdHMgYXJlIGRldmljZSBwaXhlbCBzbmFwcGVkIG5vdyB0byBzdXBwb3J0IGhpRFBJ
IHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmwuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjp0cmFja2Vk
UmVwYWludFJlY3RzKToKKwogMjAxNC0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgVmlzaXRlZExpbmtTdHJhdGVneQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDQyZTRhZGY1NWVkZmY4MTAxYTMxODVhMWJhZmY5YmJhNmUyZGE3Y2Yu
LmQwMTlmZDgwNzQ0OGEyMzU1OGE3YzM2MjdiOWEwOGJiODIyOWZjZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIEVuYWJsZSBkZXZpY2UgcGl4ZWwgcmVwYWludCByZWN0IHRyYWNr
aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5
NzEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRyYWNr
ZWQgcmVwYWludCByZWN0cyBhcmUgZGV2aWNlIHBpeGVsIHNuYXBwZWQgbm93IHRvIHN1cHBvcnQg
aGlEUEkgdGVzdCBjYXNlcy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnRy
YWNrZWRSZXBhaW50UmVjdHMpOgorCiAyMDE0LTAzLTAzICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggc29tZSBzaW1wbGUgZ3RrZG9j
IHdhcm5pbmdzIGZvciBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDI1NTNlZTJhMzAwM2Ji
ZGNkYTdmNjY5MmVmNWQ1ZmZjMjI4ZWVmZi4uY2FhZmFmMjg0M2I2NmY1NmE1ZDIxYjMzNjE5YjRl
YzM2OWFjM2UyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTA0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIGRldmlj
ZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgVHJhY2tlZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4
ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBoaURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVj
dHNdKTogS2VlcCBleGlzdGluZyBiZWhhdmlvciBmb3Igbm93LgorCiAyMDE0LTAzLTAyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IE1hYyBwbGF0Zm9ybSBl
eHBvcnQgZmlsZXMgc28gdGhleSBtZXJnZSBiZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MTg1ZDg0N2I0MzRiODMxY2M4NGQ0N2FlNjAwZWRlZDFmOGU2NzIxOS4uMTU3NDdkOWVlOGI3NTFm
NjUxMjg5NDM4ZThlODY3YTkzODUyN2FlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE5MzEs
NiArMTkzMSw3IEBAIF9fWlRWTjdXZWJDb3JlMjVEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uRQog
X19aVFZON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw4U2V0dGluZ3NFCiBf
X1pUVk43V2ViQ29yZTMxQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbkUKIF9fWlRWTjdX
ZWJDb3JlMzdCYXNpY0NvbXBvbmVudFRyYW5zZmVyRmlsdGVyT3BlcmF0aW9uRQorX19aTjdXZWJD
b3JlMTBMYXlvdXRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aVGhuPz8/X043V2ViQ29yZTE1
R3JhcGhpY3NMYXllckNBMjhwbGF0Zm9ybUNBTGF5ZXJQYWludENvbnRlbnRzRVBOU18xNVBsYXRm
b3JtQ0FMYXllckVSTlNfMTVHcmFwaGljc0NvbnRleHRFUktOU185RmxvYXRSZWN0RQogX19aVGhu
Pz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMzFwbGF0Zm9ybUNBTGF5ZXJBbmltYXRpb25T
dGFydGVkRWQKIF9fWlRobj8/P19ON1dlYkNvcmUxNUdyYXBoaWNzTGF5ZXJDQTQwcGxhdGZvcm1D
QUxheWVyU2V0TmVlZHNUb1JldmFsaWRhdGVUaWxlc0V2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggZjBjYjQ4MGU5MDdmMjk4YmJhMTcwNTc3ZWUyNmYzMDI0OGQ1MTE3Yi4uY2NhYzEx
MWUxMDY3ZGVlMzEzOTIzOTg2M2E3NWEyNzMxMmM2ZTA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMjA1NywxMiArMjA1NywxMiBAQCBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhv
c3RXaW5kb3coKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi12b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIHIpCit2b2lkIEZyYW1lVmlldzo6YWRk
VHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZiAoIW1faXNU
cmFja2luZ1JlcGFpbnRzIHx8IHIuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJ
bnRSZWN0IHJlcGFpbnRSZWN0ID0gcjsKKyAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSByOwog
ICAgIHJlcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldCgpKTsKICAgICBtX3RyYWNrZWRSZXBh
aW50UmVjdHMuYXBwZW5kKHJlcGFpbnRSZWN0KTsKIH0KQEAgLTM5NzcsNyArMzk3Nyw3IEBAIFN0
cmluZyBGcmFtZVZpZXc6OnRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHQoKSBjb25zdAogICAgIGlm
ICghbV90cmFja2VkUmVwYWludFJlY3RzLmlzRW1wdHkoKSkgewogICAgICAgICB0cyA8PCAiKHJl
cGFpbnQgcmVjdHNcbiI7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90cmFja2Vk
UmVwYWludFJlY3RzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8
PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ueCgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50
UmVjdHNbaV0ueSgpIDw8ICIgIiA8PCBtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0ud2lkdGgoKSA8
PCAiICIgPDwgbV90cmFja2VkUmVwYWludFJlY3RzW2ldLmhlaWdodCgpIDw8ICIpXG4iOworICAg
ICAgICAgICAgdHMgPDwgIiAgKHJlY3QgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRS
ZWN0c1tpXS54KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tp
XS55KCkpIDw8ICIgIiA8PCBMYXlvdXRVbml0KG1fdHJhY2tlZFJlcGFpbnRSZWN0c1tpXS53aWR0
aCgpKSA8PCAiICIgPDwgTGF5b3V0VW5pdChtX3RyYWNrZWRSZXBhaW50UmVjdHNbaV0uaGVpZ2h0
KCkpIDw8ICIpXG4iOwogICAgICAgICB0cyA8PCAiKVxuIjsKICAgICB9CiAgICAgcmV0dXJuIHRz
LnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDQ0OGMwZDBkN2ZiNjVkMGJj
OTkxZDI1NWJkNTAwMGE3ZTIyMGEyZTkuLmJjNGNjYzAyOWVhN2M4ZjkzMjdjMjIyMDkxNTk3ZWVk
YjJkMTMyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzc3LDcgKzM3Nyw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFRyYWNrc1JlcGFpbnRzKGJvb2wpOwogICAgIGJvb2wgaXNUcmFj
a2luZ1JlcGFpbnRzKCkgY29uc3QgeyByZXR1cm4gbV9pc1RyYWNraW5nUmVwYWludHM7IH0KICAg
ICB2b2lkIHJlc2V0VHJhY2tlZFJlcGFpbnRzKCk7Ci0gICAgY29uc3QgVmVjdG9yPEludFJlY3Q+
JiB0cmFja2VkUmVwYWludFJlY3RzKCkgY29uc3QgeyByZXR1cm4gbV90cmFja2VkUmVwYWludFJl
Y3RzOyB9CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRyYWNrZWRSZXBhaW50UmVjdHMo
KSBjb25zdCB7IHJldHVybiBtX3RyYWNrZWRSZXBhaW50UmVjdHM7IH0KICAgICBTdHJpbmcgdHJh
Y2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0OwogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFNj
cm9sbGFibGVBcmVhKj4gU2Nyb2xsYWJsZUFyZWFTZXQ7CkBAIC00NDUsNyArNDQ1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZv
aWQgd2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwogCi0gICAgdm9pZCBh
ZGRUcmFja2VkUmVwYWludFJlY3QoY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgYWRkVHJhY2tl
ZFJlcGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiAgICAgLy8gZXhwb3NlZFJlY3QgcmVw
cmVzZW50cyBXZWJLaXQncyB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgcGFydAogICAgIC8vIG9mIHRo
ZSB2aWV3IGlzIGFjdHVhbGx5IGV4cG9zZWQgb24gc2NyZWVuICh0YWtpbmcgaW50byBhY2NvdW50
CkBAIC02MjgsNyArNjI4LDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9sYXN0UGFpbnRUaW1l
OwogCiAgICAgYm9vbCBtX2lzVHJhY2tpbmdSZXBhaW50czsgLy8gVXNlZCBmb3IgdGVzdGluZy4K
LSAgICBWZWN0b3I8SW50UmVjdD4gbV90cmFja2VkUmVwYWludFJlY3RzOworICAgIFZlY3RvcjxG
bG9hdFJlY3Q+IG1fdHJhY2tlZFJlcGFpbnRSZWN0czsKIAogICAgIGJvb2wgbV9zaG91bGRVcGRh
dGVXaGlsZU9mZnNjcmVlbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggM2U3NTM2MDIzNDM5YzhiZGRiOThjZTg0MzI0MzRjMjE0NGQzZGJmNC4uYjQxM2Yw
OThjNTE1ZTIxMmNlMjVjOGFiMzg5MDg3OTlkYzMzZDBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NzM4LDYgKzU3MzgsMTEgQEAgSW50UmVjdCBSZW5k
ZXJMYXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJuIHBpeGVsU25h
cHBlZEludFJlY3QoYm91bmRpbmdCb3gocm9vdCgpKSk7CiB9CiAKK0Zsb2F0UmVjdCBSZW5kZXJM
YXllcjo6YWJzb2x1dGVCb3VuZGluZ0JveEZvclBhaW50aW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcoYm91bmRpbmdCb3gocm9vdCgpKSwgcmVuZGVyZXIo
KS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOworfQorCiBMYXlvdXRSZWN0IFJlbmRl
ckxheWVyOjpjYWxjdWxhdGVMYXllckJvdW5kcyhjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JM
YXllciwgY29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJv
dW5kc0ZsYWdzIGZsYWdzKSBjb25zdAogewogICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAxYTE0YjI4NzJkMTQ1
NDU5YzI1ZjFkZGNhYTIzYmFmODFiM2Q0MjllLi5kZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFh
OWJiODNiZWI4MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
NzE1LDggKzcxNSwxMCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBib3VuZGluZ0JveChjb25z
dCBSZW5kZXJMYXllciogcm9vdExheWVyLCBDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCwg
Y29uc3QgTGF5b3V0UG9pbnQqIG9mZnNldEZyb21Sb290ID0gMCkgY29uc3Q7CiAgICAgLy8gQm91
bmRpbmcgYm94IGluIHRoZSBjb29yZGluYXRlcyBvZiB0aGlzIGxheWVyLgogICAgIExheW91dFJl
Y3QgbG9jYWxCb3VuZGluZ0JveChDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzID0gMCkgY29uc3Q7
Ci0gICAgLy8gUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3Qu
CisgICAgLy8gRGVwcmVjYXRlZDogUGl4ZWwgc25hcHBlZCBib3VuZGluZyBib3ggcmVsYXRpdmUg
dG8gdGhlIHJvb3QuCiAgICAgSW50UmVjdCBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY29uc3Q7Cisg
ICAgLy8gRGV2aWNlIHBpeGVsIHNuYXBwZWQgYm91bmRpbmcgYm94IHJlbGF0aXZlIHRvIHRoZSBy
b290LiBhYnNvbHV0ZUJvdW5kaW5nQm94KCkgY2FsbGVycyB3aWxsIGJlIGRpcmVjdGVkIHRvIHRo
aXMuCisgICAgRmxvYXRSZWN0IGFic29sdXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpIGNvbnN0
OwogCiAgICAgLy8gQm91bmRzIHVzZWQgZm9yIGxheWVyIG92ZXJsYXAgdGVzdGluZyBpbiBSZW5k
ZXJMYXllckNvbXBvc2l0b3IuCiAgICAgTGF5b3V0UmVjdCBvdmVybGFwQm91bmRzKCkgY29uc3Qg
eyByZXR1cm4gb3ZlcmxhcEJvdW5kc0luY2x1ZGVDaGlsZHJlbigpID8gY2FsY3VsYXRlTGF5ZXJC
b3VuZHModGhpcykgOiBsb2NhbEJvdW5kaW5nQm94KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggN2M3OWU1YzJlMTJhMmU4Yzhh
YmFlZGUwZGVkYmIyYTg3NWUwZGEwMC4uMjUyOGZmYWUwODYyMjc3Mzk3ODljOGJhMDA1ZWU5YTA3
N2I3MmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKQEAgLTIwNjgsNyArMjA2OCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpz
ZXRDb250ZW50c05lZWREaXNwbGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAK
ICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3
KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYg
ZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAgICBmcmFtZVZpZXcuYWRkVHJh
Y2tlZFJlcGFpbnRSZWN0KG93bmluZ0xheWVyKCkuYWJzb2x1dGVCb3VuZGluZ0JveCgpKTsKKyAg
ICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRSZXBhaW50UmVjdChvd25pbmdMYXllcigpLmFic29s
dXRlQm91bmRpbmdCb3hGb3JQYWludGluZygpKTsKICAgICAKICAgICBpZiAobV9ncmFwaGljc0xh
eWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgLy8gQnkg
ZGVmYXVsdCwgc2V0TmVlZHNEaXNwbGF5IHdpbGwgY2xpcCB0byB0aGUgc2l6ZSBvZiB0aGUgR3Jh
cGhpY3NMYXllciwgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBtYXJnaW4gdGlsZXMuCkBAIC0yMTAw
LDcgKzIxMDAsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlz
cGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiByLCBHcmFwaAogICAgIEZsb2F0UmVjdCBwaXhl
bFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmcgPSBwaXhlbFNuYXBwZWRGb3JQYWludGluZyhyLCBkZXZp
Y2VTY2FsZUZhY3RvcigpKTsKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVy
KCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKG1faXNNYWluRnJhbWVS
ZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQotICAgICAg
ICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZEludFJlY3Qocikp
OworICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZFJl
Y3RGb3JQYWludGluZyk7CiAKICAgICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NM
YXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0
ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCmluZGV4IDg1Nzg5MzA4Njg5ZWYzNWQ5ZWRkYWQ5MzJkMDJjMGY3N2Q4NWNk
ZjEuLjhkNzMxN2NlNTcyODdmMTg0NzVmNGMzZTFiOTdkZDBmMmMyZGJjYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTU2MCwxMCArNTYwLDExIEBAIHZvaWQg
UmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWlu
dFJlY3QpIGNvbnN0CiAgICAgICAgIG93bmVyQm94LnJlcGFpbnRSZWN0YW5nbGUoYWRqdXN0ZWRS
ZWN0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJl
Y3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlcGFpbnRSZWN0KTsKIAotICAgIGZyYW1lVmlldygp
LmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhlbFNuYXBwZWRSZWN0KTsKKyAgICBmcmFtZVZpZXco
KS5hZGRUcmFja2VkUmVwYWludFJlY3QocGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVwYWludFJl
Y3QsIGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogCisgICAgLy8gRklYTUU6IGNv
bnZlcnQgYWxsIHJlcGFpbnQgcmVjdCBkZXBlbmRlbmNpZXMgdG8gRmxvYXRSZWN0L0xheW91dFJl
Y3QKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHJl
cGFpbnRSZWN0KTsKICAgICBpZiAoIW1fYWNjdW11bGF0ZWRSZXBhaW50UmVnaW9uKSB7CiAgICAg
ICAgIGZyYW1lVmlldygpLnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKHBpeGVsU25hcHBlZFJlY3Qp
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAppbmRleCA2YWZmMjY5
MWVhY2M0MWQ4YWJiNTliNTE3MjUwZWNhMmRhNWJhNTQxLi4yYjYxNmFjY2Y1YWMwMTliYjEyNTEy
Y2NiNTA2NGY5MWM4MGIyNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKQEAgLTM4Miw3
ICszODIsNyBAQCBFaW5hX0xpc3QqIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6dHJhY2tlZFJl
cGFpbnRSZWN0cyhjb25zdCBFdmFzX09iamVjdCogZXdrRgogICAgIGlmICghZnJhbWUtPnZpZXco
KSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVj
dD4mIHJlcGFpbnRSZWN0cyA9IGZyYW1lLT52aWV3KCktPnRyYWNrZWRSZXBhaW50UmVjdHMoKTsK
KyAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRSZWN0PiYgcmVwYWludFJlY3RzID0gZnJh
bWUtPnZpZXcoKS0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwogICAgIHNpemVfdCBjb3VudCA9IHJl
cGFpbnRSZWN0cy5zaXplKCk7CiAgICAgRWluYV9MaXN0KiByZWN0TGlzdCA9IDA7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IGRiMWM1N2ZhZTQzMTg2NTBjYWZlYWIzYmIwMjQ2YTM5
ZDMyNDg3M2MuLmUzNjg2MmU2MGQxNzU2ZmE1YzhkODNlODRkYjkxMjM3YWU2MWI0NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNjQwLDcgKzY0MCw3IEBAIEdTTGlzdCogRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp0cmFja2VkUmVwYWludFJlY3RzKFdlYktpdFdlYkZyYW1lKiBm
cmFtZSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBHU0xpc3QqIHJlY3RzID0gMDsKLSAgICBj
b25zdCBWZWN0b3I8SW50UmVjdD4mIHJlcGFpbnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50
cmFja2VkUmVwYWludFJlY3RzKCk7CisgICAgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlcGFp
bnRSZWN0cyA9IGNvcmVGcmFtZS0+dmlldygpLT50cmFja2VkUmVwYWludFJlY3RzKCk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcGFpbnRSZWN0cy5zaXplKCk7IGkrKykgewogICAg
ICAgICBHZGtSZWN0YW5nbGUqIHJlY3QgPSBnX25ldzAoR2RrUmVjdGFuZ2xlLCAxKTsKICAgICAg
ICAgcmVjdC0+eCA9IHJlcGFpbnRSZWN0c1tpXS54KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggYTFiZWQ3YjRiN2FiMjkzYzBmY2IyMzRiN2YzYTM3ZTg5N2RhYmNhNC4u
ZjRmYjFiYzdjMDI3MjE1ZmNlZTQwNmVjYzA1ZDE3NGIwY2E2NzQ5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzk1MiwxMSArMzk1MiwxMSBAQCBzdGF0aWMgaW5saW5l
IElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCiAgICAgaWYgKCF2aWV3IHx8ICF2aWV3LT5pc1Ry
YWNraW5nUmVwYWludHMoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGNvbnN0IFZlY3Rv
cjxJbnRSZWN0PiYgcmVwYWludFJlY3RzID0gdmlldy0+dHJhY2tlZFJlcGFpbnRSZWN0cygpOwor
ICAgIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZXBhaW50UmVjdHMgPSB2aWV3LT50cmFja2Vk
UmVwYWludFJlY3RzKCk7CiAgICAgTlNNdXRhYmxlQXJyYXkqIHJlY3RzQXJyYXkgPSBbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OnJlcGFpbnRSZWN0cy5zaXplKCldOwog
ICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBhaW50UmVjdHMuc2l6ZSgpOyAr
K2kpCi0gICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1ZVdpdGhSZWN0
OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOworICAgICAgICBbcmVjdHNB
cnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoUmVjdDpwaXhlbFNuYXBwZWRJbnRSZWN0
KExheW91dFJlY3QocmVwYWludFJlY3RzW2ldKSldXTsKIAogICAgIHJldHVybiBbcmVjdHNBcnJh
eSBhdXRvcmVsZWFzZV07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGNkZjNhMjlhYmMwNzk0ZWFkZTkzOTFlM2FjYTE3
MjMwOWM5YmJmNC4uNmZmZWU0YTAyMjFlZTdhZDBmODE4MzRiMzAyYzk4YWIwZmNjOWU4OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE0LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKKyAgICAgICAgRW5hYmxlIGRldmljZSBwaXhlbCByZXBhaW50IHJlY3QgdHJhY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk3
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVHJhY2tl
ZCByZXBhaW50IHJlY3RzIGFyZSBkZXZpY2UgcGl4ZWwgc25hcHBlZCBub3cgdG8gc3VwcG9ydCBo
aURQSSB0ZXN0IGNhc2VzLgorCisgICAgICAgICogZmFzdC9yZXBhaW50L2hpZHBpLWRldmljZS1w
aXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3JlcGFpbnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVj
dC10cmFja2luZy5odG1sOiBBZGRlZC4KKworMjAxNC0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzogSW5jb3JyZWN0IHJl
cGFpbnQgcmVjdCBjdXRzIG9mZiBjb250ZW50J3MgcmlnaHQgZWRnZSBhZnRlciBtb3ZlLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NjUyCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFz
ZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjg5YzBmMDk2OGQzNmQ2MjFhMmYxY2QwOTY3OWZkNThl
NTVkOTQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2hpZHBp
LWRldmljZS1waXhlbC1iYXNlZC1yZXBhaW50LXJlY3QtdHJhY2tpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorKHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgMCAwIDIyIDIyKQorICAocmVj
dCAxLjUwIDAgMjIgMjIpCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9oaWRwaS1kZXZpY2UtcGl4ZWwtYmFzZWQtcmVwYWludC1yZWN0LXRyYWNraW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQt
cmVjdC10cmFja2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNmY3ZWZlZTliYTg4MzY1NjQyNTI2YWIy
ODk1YzE5OGQ4OGE4OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvaGlkcGktZGV2aWNlLXBpeGVsLWJhc2VkLXJlcGFpbnQtcmVjdC10cmFja2luZy5odG1sCkBA
IC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5U
aGlzIHRlc3RzIHRoYXQgcmVwYWludCByZWN0IHRyYWNraW5nIHdvcmtzIGZvciBoaURQSSBjYXNl
cy48L3RpdGxlPgorPGhlYWQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIGJvcmRlcjogZ3JlZW4gc29saWQgMXB4OworICAgIHdpZHRoOiAyMHB4OworICAg
IGhlaWdodDogMjBweDsKKyAgICBsZWZ0OiAwcHg7CisgICAgdG9wOiAwcHg7CisgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Zm9vPjwvZGl2PgorCis8c2NyaXB0PgorICBm
dW5jdGlvbiBtb3ZlKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb28iKS5zdHls
ZS5sZWZ0ID0gIjEuNXB4IjsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
dmFyIGR1bW15ID0gZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAgIHZhciByZXBhaW50
UmVjdHMgPSB3aW5kb3cuaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgpOworICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisKKyAgICAgICAgdmFyIHBy
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ByZScpOworICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHByZSk7CisgICAgICAgIHByZS5pbm5lckhUTUwgPSByZXBhaW50UmVjdHM7
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfQorICB9CisgIAorICBp
ZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy50
ZXN0UnVubmVyLmR1bXBBc1RleHQoZmFsc2UpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc3RhcnRU
cmFja2luZ1JlcGFpbnRzKCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgIH0K
KworICBzZXRUaW1lb3V0KG1vdmUsIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>