<?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>146095</bug_id>
          
          <creation_ts>2015-06-17 19:40:17 -0700</creation_ts>
          <short_desc>Update AVKit usage of pip</short_desc>
          <delta_ts>2015-06-18 16:45:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>145825</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>andersca</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1102761</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:40:17 -0700</bug_when>
    <thetext>Update AVKit usage of pip, with additional cleanup in preferences

rdar://problem/21386853</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102762</commentid>
    <comment_count>1</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:41:12 -0700</bug_when>
    <thetext>Uploading several sub-patches for review, and one large one that is the combination of all of them, for EWS to chew on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102763</commentid>
    <comment_count>2</comment_count>
      <attachid>255062</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:46:49 -0700</bug_when>
    <thetext>Created attachment 255062
Refactor allowsOptimizedFullscreen, set bool with member instead of local var.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102764</commentid>
    <comment_count>3</comment_count>
      <attachid>255063</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:46:53 -0700</bug_when>
    <thetext>Created attachment 255063
Update delegate calls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102765</commentid>
    <comment_count>4</comment_count>
      <attachid>255064</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:46:56 -0700</bug_when>
    <thetext>Created attachment 255064
Replace start/stop PiP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102766</commentid>
    <comment_count>5</comment_count>
      <attachid>255065</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:00 -0700</bug_when>
    <thetext>Created attachment 255065
isPiPPossible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102767</commentid>
    <comment_count>6</comment_count>
      <attachid>255066</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:05 -0700</bug_when>
    <thetext>Created attachment 255066
prepareForPictureInPictureStopWithCompletionHandler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102768</commentid>
    <comment_count>7</comment_count>
      <attachid>255067</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:09 -0700</bug_when>
    <thetext>Created attachment 255067
enterFullscreenOptimized</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102769</commentid>
    <comment_count>8</comment_count>
      <attachid>255068</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:13 -0700</bug_when>
    <thetext>Created attachment 255068
remove unused setIsOptimized</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102770</commentid>
    <comment_count>9</comment_count>
      <attachid>255069</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:17 -0700</bug_when>
    <thetext>Created attachment 255069
Change media player enum to VideoFullscreenModePictureInPicture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102771</commentid>
    <comment_count>10</comment_count>
      <attachid>255070</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:20 -0700</bug_when>
    <thetext>Created attachment 255070
Remove unused AVPlayerViewControllerOptimizedFullscreenStopReason</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102772</commentid>
    <comment_count>11</comment_count>
      <attachid>255071</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:24 -0700</bug_when>
    <thetext>Created attachment 255071
Replace wkIsOptimizedFullscreenSupported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102773</commentid>
    <comment_count>12</comment_count>
      <attachid>255072</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:41 -0700</bug_when>
    <thetext>Created attachment 255072
Replace AVPlayerLayer setEnterOptimizedFullscreenModeEnabled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102774</commentid>
    <comment_count>13</comment_count>
      <attachid>255073</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:45 -0700</bug_when>
    <thetext>Created attachment 255073
Update local variable names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102775</commentid>
    <comment_count>14</comment_count>
      <attachid>255074</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:51 -0700</bug_when>
    <thetext>Created attachment 255074
Update mayAutomaticallyShowVideoOptimized</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102776</commentid>
    <comment_count>15</comment_count>
      <attachid>255075</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:47:56 -0700</bug_when>
    <thetext>Created attachment 255075
Replace _isShowingVideoOptimized and _mayAutomaticallyShowVideoOptimized</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102777</commentid>
    <comment_count>16</comment_count>
      <attachid>255076</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:48:00 -0700</bug_when>
    <thetext>Created attachment 255076
Update setting to allowsPictureInPictureMediaPlayback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102778</commentid>
    <comment_count>17</comment_count>
      <attachid>255077</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:48:05 -0700</bug_when>
    <thetext>Created attachment 255077
Update MediaElementSession::allowsAlternateFullscreen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102779</commentid>
    <comment_count>18</comment_count>
      <attachid>255078</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:48:09 -0700</bug_when>
    <thetext>Created attachment 255078
Add WebPreferences allowsPictureInPictureMediaPlayback; refactor alternate fullscreen to use that. Later patch will remove the preference since it is being used by another framework</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102780</commentid>
    <comment_count>19</comment_count>
      <attachid>255079</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 19:48:14 -0700</bug_when>
    <thetext>Created attachment 255079
Update shouldAllowAlternateFullscreen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102823</commentid>
    <comment_count>20</comment_count>
      <attachid>255090</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 23:25:48 -0700</bug_when>
    <thetext>Created attachment 255090
Patch for submission</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102825</commentid>
    <comment_count>21</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-17 23:30:06 -0700</bug_when>
    <thetext>*** Bug 146094 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102861</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-06-18 02:14:02 -0700</bug_when>
    <thetext>19 r? in one bug report? :o I&apos;m not sure if it is a good idea.

The latest patch aggregates the previous smaller patch, am I right?
Please remove the r? flags and set the obsolete flags on the other patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102863</commentid>
    <comment_count>23</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-06-18 02:17:10 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Uploading several sub-patches for review, and one large one that is the
&gt; combination of all of them, for EWS to chew on.

It&apos;s not good at all, the common way is to upload only one patch per 
bug report. Additionally a patch without changelog entry is insufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102933</commentid>
    <comment_count>24</comment_count>
      <attachid>255090</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-06-18 09:38:51 -0700</bug_when>
    <thetext>Comment on attachment 255090
Patch for submission

Did you miss an instance in Settings.in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102946</commentid>
    <comment_count>25</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-18 10:13:31 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Comment on attachment 255090 [details]
&gt; Patch for submission
&gt; 
&gt; Did you miss an instance in Settings.in?

No, this is another case where the builders don&apos;t update the generated settings files appropriately. I ran into this before when renaming the other media settings.

It builds fine on my machine; I&apos;ll keep an eye on the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102980</commentid>
    <comment_count>26</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-18 11:32:12 -0700</bug_when>
    <thetext>I am going to check in a version of the patch that does not include the update to WKSI. That call should be removed. I&apos;ll file another bug to track that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103058</commentid>
    <comment_count>27</comment_count>
      <attachid>255142</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-18 15:38:20 -0700</bug_when>
    <thetext>Created attachment 255142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103074</commentid>
    <comment_count>28</comment_count>
      <attachid>255149</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-18 16:20:18 -0700</bug_when>
    <thetext>Created attachment 255149
Patch for submission</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103085</commentid>
    <comment_count>29</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-06-18 16:43:05 -0700</bug_when>
    <thetext>Committed r185727: &lt;http://trac.webkit.org/changeset/185727&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255062</attachid>
            <date>2015-06-17 19:46:49 -0700</date>
            <delta_ts>2015-06-18 16:39:28 -0700</delta_ts>
            <desc>Refactor allowsOptimizedFullscreen, set bool with member instead of local var.</desc>
            <filename>bug-146095-20150617194613.patch</filename>
            <type>text/plain</type>
            <size>5241</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IDFkMGZhNTUyNDUyNGQ5ZmUxZmYwM2Q4N2Q4ZWNmOWNiNjg3MWY2YWQuLmIzMTdlNGFkYTE4
MTYxODcxYTJjZDdiYzcxZmZkNDczODdlZWU1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IHZvaWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8V1RGOjpT
dHJpbmc+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0RXh0ZXJuYWxQbGF5YmFjayhib29sIGVuYWJs
ZWQsIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBXVEY6OlN0cmluZyBsb2NhbGl6ZWREZXZp
Y2VOYW1lKSBvdmVycmlkZTsKICAgICAKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQg
c2V0dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImLCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVj
dCwgVUlWaWV3ICosIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwg
Ym9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYsIGNvbnN0IEludFJlY3QmIGlu
aXRpYWxSZWN0LCBVSVZpZXcgKiwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjayk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZpcnR1YWwgdm9pZCBleGl0RnVsbHNjcmVlbihjb25zdCBJbnRSZWN0JiBmaW5hbFJlY3Qp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbigpOwpA
QCAtMTAwLDcgKzEwMCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZv
aWQgcHJlcGFyZWRUb1JldHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYg
aW5saW5lUmVjdCk7CiAKICAgICBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUgbW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kZTsgfQotICAgIGJvb2wgYWxsb3dPcHRp
bWl6ZWRGdWxsc2NyZWVuKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd09wdGltaXplZEZ1bGxzY3Jl
ZW47IH0KKyAgICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaygpIGNvbnN0IHsg
cmV0dXJuIG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOyB9CiAgICAgdm9pZCBzZXRJ
c09wdGltaXplZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIG1heUF1dG9tYXRpY2Fs
bHlTaG93VmlkZW9PcHRpbWl6ZWQoKSBjb25zdDsKICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1
cm5Ub0lubGluZShzdGQ6OmZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNhbGxiYWNrKTsKQEAgLTEzOCw3
ICsxMzgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUmV0YWluUHRyPFVJV2luZG93PiBtX3BhcmVudFdp
bmRvdzsKICAgICBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbV9t
b2RlIHsgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSB9Owog
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChib29sKT4gbV9wcmVwYXJlVG9JbmxpbmVDYWxsYmFjazsK
LSAgICBib29sIG1fYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuIHsgZmFsc2UgfTsKKyAgICBib29s
IG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrIHsgZmFsc2UgfTsKICAgICBib29sIG1f
ZXhpdFJlcXVlc3RlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4aXRDb21wbGV0ZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9lbnRlclJlcXVlc3RlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KaW5kZXggYzRhNDk3ZjU2YmU4Mzk5ZDQ3MTYwYzQ0MDA1M2MwMzdmNzhk
MTQ4ZC4uYzg3ZmRjMzIyODg3MGE1OThiN2EzMTZhMGMzMDg2ZmJjYzQzOGRhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtNTQ5LDcgKzU0OSw3IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogCiAtIChCT09MKWlzT3B0aW1pemVkRnVsbHNjcmVl
blBvc3NpYmxlCiB7Ci0gICAgcmV0dXJuIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+YWxsb3dP
cHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAgcmV0dXJuIHNlbGYuZnVsbHNjcmVlbkludGVyZmFj
ZS0+YWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrKCk7CiB9CiBAZW5kCiAKQEAgLTg3Niwx
MiArODc2LDEyIEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldEV4
dGVybmFsUGxheWJhY2soYm9vbCBlbmFibGVkLCBFeHRlcm5hCiAgICAgW21fdmlkZW9MYXllckNv
bnRhaW5lci5nZXQoKSBzZXRIaWRkZW46ZW5hYmxlZF07CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihQbGF0Zm9ybUxheWVyJiB2aWRl
b0xheWVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgVUlWaWV3KiBwYXJl
bnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSwg
Ym9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pCit2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYgdmlkZW9MYXllciwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIFVJVmlldyogcGFyZW50Vmlldywg
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxs
b3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrKQogewogICAgIEFTU0VSVChtb2RlICE9IEhUTUxN
ZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIExPRyhGdWxs
c2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVl
biglcCkiLCB0aGlzKTsKIAotICAgIG1fYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuID0gYWxsb3dP
cHRpbWl6ZWRGdWxsc2NyZWVuOworICAgIG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNr
ID0gYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOwogCiAgICAgW0NBVHJhbnNhY3Rpb24g
YmVnaW5dOwogICAgIFtDQVRyYW5zYWN0aW9uIHNldERpc2FibGVBY3Rpb25zOllFU107CkBAIC05
MTksNyArOTE5LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0
dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImIHZpZGVvTGF5ZXIKICAgICBbbV9wbGF5ZXJWaWV3
Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJvbHM6Tk9dOwogICAgIFttX3BsYXllclZp
ZXdDb250cm9sbGVyIHNldFBsYXllckNvbnRyb2xsZXI6KEFWUGxheWVyQ29udHJvbGxlciAqKW1f
cGxheWVyQ29udHJvbGxlci5nZXQoKV07CiAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0
RGVsZWdhdGU6bV9wbGF5ZXJDb250cm9sbGVyLmdldCgpXTsKLSAgICBbbV9wbGF5ZXJWaWV3Q29u
dHJvbGxlciBzZXRBbGxvd3NPcHRpbWl6ZWRGdWxsc2NyZWVuOmFsbG93T3B0aW1pemVkRnVsbHNj
cmVlbl07CisgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0QWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrOm1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrXTsKIAogICAgIFtt
X3ZpZGVvTGF5ZXJDb250YWluZXIgc2V0UGxheWVyVmlld0NvbnRyb2xsZXI6bV9wbGF5ZXJWaWV3
Q29udHJvbGxlci5nZXQoKV07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9BVktpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L0FWS2l0U1BJLmgKaW5kZXggYjdjZDMxM2Y4MTFhMmY0MjU5ODkxZTg0ZDM0MjZhNjE1MGU1OTQw
Mi4uY2E3Mzk1MjQ5NDk1YTJmNTdmMDY2NzI5MTE0YzQyNmI3MjQxYzgyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmgKQEAgLTkxLDcgKzkxLDcgQEAg
dHlwZWRlZiBOU0ludGVnZXIgQVZQbGF5ZXJWaWV3Q29udHJvbGxlck9wdGltaXplZEZ1bGxzY3Jl
ZW5TdG9wUmVhc29uOwogLSAoQk9PTClpc09wdGltaXplZEZ1bGxzY3JlZW5Qb3NzaWJsZTsKIC0g
KHZvaWQpc3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuOwogLSAodm9pZClzdG9wT3B0aW1pemVkRnVs
bHNjcmVlbjsKLS0gKHZvaWQpc2V0QWxsb3dzT3B0aW1pemVkRnVsbHNjcmVlbjooQk9PTClhbGxv
d3NPcHRpbWl6ZWRGdWxsc2NyZWVuOworLSAodm9pZClzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJl
UGxheWJhY2s6KEJPT0wpYWxsb3c7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIEFW
UGxheWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCB3ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlPiBkZWxlZ2F0ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255063</attachid>
            <date>2015-06-17 19:46:53 -0700</date>
            <delta_ts>2015-06-18 16:39:24 -0700</delta_ts>
            <desc>Update delegate calls</desc>
            <filename>bug-146095-20150617194616.patch</filename>
            <type>text/plain</type>
            <size>7566</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IGIzMTdlNGFkYTE4MTYxODcxYTJjZDdiYzcxZmZkNDczODdlZWU1NGMuLjAwZjEwODQ0MTQ2
YmQ0ZmEzNWUxODIxOGM2MTAwN2Y3M2IyNzE1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC0xMDUsMTEgKzEwNSwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3Q7CiAgICAgdm9pZCBm
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoc3RkOjpmdW5jdGlvbjx2b2lkKGJvb2wpPiBjYWxs
YmFjayk7CiAKLSAgICB2b2lkIHdpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKLSAgICB2
b2lkIGRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQgZmFpbGVkVG9TdGFy
dE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKLSAgICB2b2lkIHdpbGxTdG9wT3B0aW1pemVkRnVsbHNj
cmVlbigpOwotICAgIHZvaWQgZGlkU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICB2b2lk
IHdpbGxTdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIGRpZFN0YXJ0UGljdHVyZUlu
UGljdHVyZSgpOworICAgIHZvaWQgZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKKyAg
ICB2b2lkIHdpbGxTdG9wUGljdHVyZUluUGljdHVyZSgpOworICAgIHZvaWQgZGlkU3RvcFBpY3R1
cmVJblBpY3R1cmUoKTsKICAgICB2b2lkIHByZXBhcmVGb3JPcHRpbWl6ZWRGdWxsc2NyZWVuU3Rv
cFdpdGhDb21wbGV0aW9uSGFuZGxlcih2b2lkICheKShCT09MKSk7CiAKICAgICB2b2lkIHNldE1v
ZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBjODdmZGMzMjI4ODcwYTU5OGI3YTMxNmEwYzMwODZm
YmNjNDM4ZGFkLi43MDBkY2RlMjMxMzVlNDAzYzZjZjU2ODM2MDExOGEzZTAyYmFlNWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC0xOTEsMzUgKzE5MSwzNSBAQCBzdGF0aWMg
Y29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKICAgICByZXR1cm4gc2VsZi5wbGF5ZXJD
b250cm9sbGVyUHJveHk7CiB9CiAKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3Rh
cnRPcHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmll
d0NvbnRyb2xsZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RhcnRQaWN0dXJl
SW5QaWN0dXJlOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIK
IHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRyb2xsZXIpOwotICAgIHNlbGYuZnVs
bHNjcmVlbkludGVyZmFjZS0+d2lsbFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNl
bGYuZnVsbHNjcmVlbkludGVyZmFjZS0+d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSgpOwogfQog
Ci0tICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyRGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVu
OihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKKy0gKHZvaWQp
cGxheWVyVmlld0NvbnRyb2xsZXJEaWRTdGFydFBpY3R1cmVJblBpY3R1cmU6KEFWUGxheWVyVmll
d0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgogewogICAgIFVOVVNFRF9QQVJBTShw
bGF5ZXJWaWV3Q29udHJvbGxlcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5kaWRT
dGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2Ut
PmRpZFN0YXJ0UGljdHVyZUluUGljdHVyZSgpOwogfQogCi0tICh2b2lkKXBsYXllclZpZXdDb250
cm9sbGVyRmFpbGVkVG9TdGFydE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxheWVyVmlld0NvbnRy
b2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgor
LSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlckZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJl
OihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgd2l0aEVycm9y
OihOU0Vycm9yICopZXJyb3IKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRyb2xs
ZXIpOwogICAgIFVOVVNFRF9QQVJBTShlcnJvcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJm
YWNlLT5mYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNlbGYuZnVsbHNj
cmVlbkludGVyZmFjZS0+ZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAotLSAo
dm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcldpbGxTdG9wT3B0aW1pemVkRnVsbHNjcmVlbjooQVZQ
bGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCistICh2b2lkKXBsYXll
clZpZXdDb250cm9sbGVyV2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXllclZpZXdDb250
cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVy
Vmlld0NvbnRyb2xsZXIpOwotICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+d2lsbFN0b3BP
cHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT53aWxs
U3RvcFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAotLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxl
ckRpZFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxh
eWVyVmlld0NvbnRyb2xsZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJEaWRTdG9wUGlj
dHVyZUluUGljdHVyZTooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9s
bGVyCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250cm9sbGVyKTsKLSAgICBzZWxm
LmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmRpZFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAg
c2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5kaWRTdG9wUGljdHVyZUluUGljdHVyZSgpOwogfQog
CiAtIChCT09MKXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICop
cGxheWVyVmlld0NvbnRyb2xsZXIgc2hvdWxkRXhpdEZ1bGxTY3JlZW5XaXRoUmVhc29uOihBVlBs
YXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pcmVhc29uCkBAIC05NjYsNyAr
OTY2LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxs
c2NyZWVuT3B0aW1pemVkKCkKICAgICBpZiAoW21fcGxheWVyVmlld0NvbnRyb2xsZXIgaXNPcHRp
bWl6ZWRGdWxsc2NyZWVuUG9zc2libGVdKQogICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBzdGFydE9wdGltaXplZEZ1bGxzY3JlZW5dOwogICAgIGVsc2UKLSAgICAgICAgZmFpbGVkVG9T
dGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICAgICAgZmFpbGVkVG9TdGFydFBpY3R1cmVJ
blBpY3R1cmUoKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
ZW50ZXJGdWxsc2NyZWVuU3RhbmRhcmQoKQpAQCAtMTEzOSw5ICsxMTM5LDkgQEAgdm9pZCBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5l
KHN0ZDo6ZnVuY3Rpb24KICAgICAgICAgbV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmZ1bGxz
Y3JlZW5NYXlSZXR1cm5Ub0lubGluZSgpOwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Ojp3aWxsU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCkKK3ZvaWQgV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdGFydFBpY3R1cmVJblBpY3R1cmUoKQog
ewotICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OndpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxz
Y3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVy
ZUluUGljdHVyZSglcCkiLCB0aGlzKTsKICAgICBzZXRNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCk7CiAKICAgICBpZiAoIWhhc01vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQpAQCAtMTE0
OSw3ICsxMTQ5LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2ls
bFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCiAKICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CiAgICAgZnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lKFtzdHJvbmdUaGlzLCB0aGlzXShib29sIHZpc2libGUpIHsKLSAgICAgICAg
TE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0
YXJ0T3B0aW1pemVkRnVsbHNjcmVlbiAtIGxhbWJkYSglcCkgLSB2aXNpYmxlKCVzKSIsIHRoaXMs
IGJvb2xTdHJpbmcodmlzaWJsZSkpOworICAgICAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlIC0gbGFt
YmRhKCVwKSAtIHZpc2libGUoJXMpIiwgdGhpcywgYm9vbFN0cmluZyh2aXNpYmxlKSk7CiAKICAg
ICAgICAgaWYgKCF2aXNpYmxlKSB7CiAgICAgICAgICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOllF
U107CkBAIC0xMTY3LDkgKzExNjcsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Ojp3aWxsU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCkKICAgICB9KTsKIH0KIAotdm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRPcHRpbWl6ZWRGdWxs
c2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0
UGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCVwKSIsIHRo
aXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OmRpZFN0YXJ0UGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlzKTsKICAgICBbbV9wbGF5ZXJW
aWV3Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJvbHM6WUVTXTsKICAgICBbbV93aW5k
b3cgc2V0SGlkZGVuOllFU107CiAKQEAgLTExNzcsOSArMTE3Nyw5IEBAIHZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCiAg
ICAgICAgIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLT5kaWRFbnRlckZ1bGxzY3JlZW4oKTsK
IH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZmFpbGVkVG9TdGFy
dE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6ZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKQogewotICAgIExPRyhGdWxsc2Ny
ZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRPcHRp
bWl6ZWRGdWxsc2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJl
KCVwKSIsIHRoaXMpOwogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFNob3dzUGxheWJh
Y2tDb250cm9sczpZRVNdOwogCiAgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1z
OjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQpAQCAtMTE5NCwxOCArMTE5NCwxOCBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0T3B0aW1p
emVkRnVsbHNjcmVlbigpCiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RF
eGl0RnVsbHNjcmVlbigpOwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Ojp3aWxsU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlKCkKIHsKLSAgICBMT0co
RnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxsU3RvcE9w
dGltaXplZEZ1bGxzY3JlZW4oJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlKCVw
KSIsIHRoaXMpOwogICAgIFttX3dpbmRvdyBzZXRIaWRkZW46Tk9dOwogCiAgICAgaWYgKG1fdmlk
ZW9GdWxsc2NyZWVuTW9kZWwpCiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVl
c3RFeGl0RnVsbHNjcmVlbigpOwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpkaWRTdG9wT3B0aW1pemVkRnVsbHNjcmVlbigpCit2b2lkIFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdG9wUGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9H
KEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RvcE9w
dGltaXplZEZ1bGxzY3JlZW4oJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoJXAp
IiwgdGhpcyk7CiAgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1
bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255064</attachid>
            <date>2015-06-17 19:46:56 -0700</date>
            <delta_ts>2015-06-18 16:39:20 -0700</delta_ts>
            <desc>Replace start/stop PiP</desc>
            <filename>bug-146095-20150617194620.patch</filename>
            <type>text/plain</type>
            <size>3113</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0K
aW5kZXggNzAwZGNkZTIzMTM1ZTQwM2M2Y2Y1NjgzNjAxMThhM2UwMmJhZTVhYS4uNWExNjQzZGQ5
NzZiMWQ2ZDZmYTNkNjllYjMyZGMyZDEzYWYwNzdmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbQpAQCAtOTY0LDcgKzk2NCw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OmVudGVyRnVsbHNjcmVlbk9wdGltaXplZCgpCiAgICAgTE9HKEZ1bGxzY3JlZW4s
ICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuT3B0aW1p
emVkKCVwKSIsIHRoaXMpOwogICAgIAogICAgIGlmIChbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBp
c09wdGltaXplZEZ1bGxzY3JlZW5Qb3NzaWJsZV0pCi0gICAgICAgIFttX3BsYXllclZpZXdDb250
cm9sbGVyIHN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbl07CisgICAgICAgIFttX3BsYXllclZpZXdD
b250cm9sbGVyIHN0YXJ0UGljdHVyZUluUGljdHVyZV07CiAgICAgZWxzZQogICAgICAgICBmYWls
ZWRUb1N0YXJ0UGljdHVyZUluUGljdHVyZSgpOwogfQpAQCAtMTAwNiwxMiArMTAwNiwxMiBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVlbihjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBmaQogCiAgICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpKSB7CiAgICAgICAgIFttX3dpbmRv
dyBzZXRIaWRkZW46Tk9dOwotICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wT3B0
aW1pemVkRnVsbHNjcmVlbl07CisgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0b3BQ
aWN0dXJlSW5QaWN0dXJlXTsKICAgICB9IGVsc2UgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQgfCBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkpIHsKICAgICAgICAgUmVmUHRyPFdlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiBzdHJvbmdUaGlzKHRoaXMpOwogICAgICAgICBb
bV9wbGF5ZXJWaWV3Q29udHJvbGxlciBleGl0RnVsbFNjcmVlbkFuaW1hdGVkOk5PIGNvbXBsZXRp
b25IYW5kbGVyOltzdHJvbmdUaGlzLCB0aGlzXSAoQk9PTCwgTlNFcnJvciopIHsKICAgICAgICAg
ICAgIFttX3dpbmRvdyBzZXRIaWRkZW46Tk9dOwotICAgICAgICAgICAgW21fcGxheWVyVmlld0Nv
bnRyb2xsZXIgc3RvcE9wdGltaXplZEZ1bGxzY3JlZW5dOworICAgICAgICAgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc3RvcFBpY3R1cmVJblBpY3R1cmVdOwogICAgICAgICB9XTsKICAgICB9
IGVsc2UgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1v
ZGVTdGFuZGFyZCkpIHsKICAgICAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0PiBzdHJvbmdUaGlzKHRoaXMpOwpAQCAtMTA1NSw3ICsxMDU1LDcgQEAgdm9pZCBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4oKQogICAgIFtt
X3BsYXllclZpZXdDb250cm9sbGVyIHNldFBsYXllckNvbnRyb2xsZXI6bmlsXTsKICAgICAKICAg
ICBpZiAoaGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVP
cHRpbWl6ZWQpKQotICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wT3B0aW1pemVk
RnVsbHNjcmVlbl07CisgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0b3BQaWN0dXJl
SW5QaWN0dXJlXTsKICAgICBpZiAoaGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkpCiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVy
IGV4aXRGdWxsU2NyZWVuQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6W10gKEJPT0wsIE5T
RXJyb3IgKikgeyB9XTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9BVktpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L0FWS2l0U1BJLmgKaW5kZXggY2E3Mzk1MjQ5NDk1YTJmNTdmMDY2NzI5MTE0YzQyNmI3MjQxYzgy
Yi4uMjlmNzdmMTg5NWQzMzJlYTZiMGM0MTZkNjU5NzI5Y2VhOTU3YWU2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmgKQEAgLTg5LDggKzg5LDggQEAg
dHlwZWRlZiBOU0ludGVnZXIgQVZQbGF5ZXJWaWV3Q29udHJvbGxlck9wdGltaXplZEZ1bGxzY3Jl
ZW5TdG9wUmVhc29uOwogLSAodm9pZClleGl0RnVsbFNjcmVlbkFuaW1hdGVkOihCT09MKWFuaW1h
dGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHN1Y2Nlc3MsIE5TRXJyb3IgKikp
Y29tcGxldGlvbkhhbmRsZXI7CiAKIC0gKEJPT0wpaXNPcHRpbWl6ZWRGdWxsc2NyZWVuUG9zc2li
bGU7Ci0tICh2b2lkKXN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbjsKLS0gKHZvaWQpc3RvcE9wdGlt
aXplZEZ1bGxzY3JlZW47CistICh2b2lkKXN0YXJ0UGljdHVyZUluUGljdHVyZTsKKy0gKHZvaWQp
c3RvcFBpY3R1cmVJblBpY3R1cmU7CiAtICh2b2lkKXNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVQ
bGF5YmFjazooQk9PTClhbGxvdzsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgQVZQ
bGF5ZXJDb250cm9sbGVyICpwbGF5ZXJDb250cm9sbGVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255065</attachid>
            <date>2015-06-17 19:47:00 -0700</date>
            <delta_ts>2015-06-18 16:39:14 -0700</delta_ts>
            <desc>isPiPPossible</desc>
            <filename>bug-146095-20150617194624.patch</filename>
            <type>text/plain</type>
            <size>1946</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0K
aW5kZXggNWExNjQzZGQ5NzZiMWQ2ZDZmYTNkNjllYjMyZGMyZDEzYWYwNzdmYi4uMjUxZmQ5MWMw
OTQxY2JlYmQ3MGQ2ZTljYzNlOTkwN2IyZDk2MWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbQpAQCAtNTQ3LDcgKzU0Nyw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5n
KGJvb2wgdmFsKQogICAgIHJldHVybiBbTlNTZXQgc2V0V2l0aE9iamVjdHM6QCJleHRlcm5hbFBs
YXliYWNrQWN0aXZlIiwgbmlsXTsKIH0KIAotLSAoQk9PTClpc09wdGltaXplZEZ1bGxzY3JlZW5Q
b3NzaWJsZQorLSAoQk9PTClpc1BpY3R1cmVJblBpY3R1cmVQb3NzaWJsZQogewogICAgIHJldHVy
biBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFj
aygpOwogfQpAQCAtOTYzLDcgKzk2Myw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OmVudGVyRnVsbHNjcmVlbk9wdGltaXplZCgpCiB7CiAgICAgTE9HKEZ1bGxzY3Jl
ZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuT3B0
aW1pemVkKCVwKSIsIHRoaXMpOwogICAgIAotICAgIGlmIChbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBpc09wdGltaXplZEZ1bGxzY3JlZW5Qb3NzaWJsZV0pCisgICAgaWYgKFttX3BsYXllclZpZXdD
b250cm9sbGVyIGlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlXSkKICAgICAgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc3RhcnRQaWN0dXJlSW5QaWN0dXJlXTsKICAgICBlbHNlCiAgICAgICAg
IGZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCmluZGV4IDI5Zjc3ZjE4OTVkMzMyZWE2YjBjNDE2ZDY1
OTcyOWNlYTk1N2FlNjQuLmJiYmZkYjUyMGQzMjdiY2Y5NDMwYWVhNmEwNzI2M2JkNjVlN2Y2NDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC04
OCw3ICs4OCw3IEBAIHR5cGVkZWYgTlNJbnRlZ2VyIEFWUGxheWVyVmlld0NvbnRyb2xsZXJPcHRp
bWl6ZWRGdWxsc2NyZWVuU3RvcFJlYXNvbjsKIC0gKHZvaWQpZW50ZXJGdWxsU2NyZWVuQW5pbWF0
ZWQ6KEJPT0wpYW5pbWF0ZWQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2Vz
cywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpZXhpdEZ1bGxTY3JlZW5B
bmltYXRlZDooQk9PTClhbmltYXRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBz
dWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogCi0tIChCT09MKWlzT3B0aW1p
emVkRnVsbHNjcmVlblBvc3NpYmxlOworLSAoQk9PTClpc1BpY3R1cmVJblBpY3R1cmVQb3NzaWJs
ZTsKIC0gKHZvaWQpc3RhcnRQaWN0dXJlSW5QaWN0dXJlOwogLSAodm9pZClzdG9wUGljdHVyZUlu
UGljdHVyZTsKIC0gKHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOihCT09M
KWFsbG93Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255066</attachid>
            <date>2015-06-17 19:47:05 -0700</date>
            <delta_ts>2015-06-18 16:39:07 -0700</delta_ts>
            <desc>prepareForPictureInPictureStopWithCompletionHandler</desc>
            <filename>bug-146095-20150617194628.patch</filename>
            <type>text/plain</type>
            <size>4453</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IDAwZjEwODQ0MTQ2YmQ0ZmEzNWUxODIxOGM2MTAwN2Y3M2IyNzE1NGIuLmM1Nzk1Y2JmNmJi
ZmZmYzU0NzdhZjQxMzUzMzIyMDQ5OTNlYTdjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZvaWQgZmFpbGVkVG9TdGFydFBp
Y3R1cmVJblBpY3R1cmUoKTsKICAgICB2b2lkIHdpbGxTdG9wUGljdHVyZUluUGljdHVyZSgpOwog
ICAgIHZvaWQgZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoKTsKLSAgICB2b2lkIHByZXBhcmVGb3JP
cHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcih2b2lkICheKShCT09M
KSk7CisgICAgdm9pZCBwcmVwYXJlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlv
bkhhbmRsZXIodm9pZCAoXikoQk9PTCkpOwogCiAgICAgdm9pZCBzZXRNb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSk7CiAgICAgdm9pZCBjbGVhck1vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5tbQppbmRleCAyNTFmZDkxYzA5NDFjYmViZDcwZDZlOWNjM2U5OTA3YjJkOTYx
YzdmLi4yMzQ3MWU5ODg1MTJmMmRiMjFkMzU5NWE3MjFmMWI2NjAyM2M2ZTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC0yMzYsMTAgKzIzNiwxMCBAQCBzdGF0aWMgY29uc3Qg
Y2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKICAgICByZXR1cm4gTk87CiB9CiAKLS0gKHZvaWQp
cGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3
Q29udHJvbGxlciByZXN0b3JlVXNlckludGVyZmFjZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9w
V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9u
SGFuZGxlcgorLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJv
bGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2VySW50ZXJmYWNlRm9yUGljdHVy
ZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdG9y
ZWQpKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250
cm9sbGVyKTsKLSAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPnByZXBhcmVGb3JPcHRpbWl6
ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcihjb21wbGV0aW9uSGFuZGxlcik7
CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5wcmVwYXJlRm9yUGljdHVyZUluUGljdHVy
ZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIoY29tcGxldGlvbkhhbmRsZXIpOwogfQogCiAtICh2
b2lkKXBsYXk6KGlkKXNlbmRlcgpAQCAtMTIyMSwxMyArMTIyMSwxMyBAQCB2b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdG9wUGljdHVyZUluUGljdHVyZSgpCiAgICAg
ICAgIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLT5kaWRFeGl0RnVsbHNjcmVlbigpOwogfQog
Ci12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlRm9yT3B0aW1p
emVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIodm9pZCAoXmNvbXBsZXRpb25I
YW5kbGVyKShCT09MIHJlc3RvcmVkKSkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OnByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxl
cih2b2lkICheY29tcGxldGlvbkhhbmRsZXIpKEJPT0wgcmVzdG9yZWQpKQogewotICAgIExPRyhG
dWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVGb3JP
cHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlciglcCkiLCB0aGlzKTsK
KyAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpw
cmVwYXJlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIoJXApIiwg
dGhpcyk7CiAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiBzdHJv
bmdUaGlzKHRoaXMpOwogICAgIFJldGFpblB0cjxpZD4gc3Ryb25nQ29tcGxldGlvbkhhbmRsZXIg
PSBhZG9wdE5TKFtjb21wbGV0aW9uSGFuZGxlciBjb3B5XSk7CiAgICAgZnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lKFtzdHJvbmdUaGlzLCBzdHJvbmdDb21wbGV0aW9uSGFuZGxlcl0oYm9vbCBy
ZXN0b3JlZCkgIHsKLSAgICAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBs
ZXRpb25IYW5kbGVyIGxhbWJkYSglcCkgLSByZXN0b3JlZCglcykiLCBzdHJvbmdUaGlzLmdldCgp
LCBib29sU3RyaW5nKHJlc3RvcmVkKSk7CisgICAgICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3Rv
cFdpdGhDb21wbGV0aW9uSGFuZGxlciBsYW1iZGEoJXApIC0gcmVzdG9yZWQoJXMpIiwgc3Ryb25n
VGhpcy5nZXQoKSwgYm9vbFN0cmluZyhyZXN0b3JlZCkpOwogICAgICAgICB2b2lkICheY29tcGxl
dGlvbkhhbmRsZXIpKEJPT0wgcmVzdG9yZWQpID0gc3Ryb25nQ29tcGxldGlvbkhhbmRsZXIuZ2V0
KCk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3RvcmVkKTsKICAgICB9KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmgKaW5kZXggYmJiZmRiNTIw
ZDMyN2JjZjk0MzBhZWE2YTA3MjYzYmQ2NWU3ZjY0OC4uN2I5ZmNjMzEzZDQ1MzM5NWU5NjA4OTNh
YTU1OTljMzZkMjM5NjMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NvY29hL0FWS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L0FWS2l0U1BJLmgKQEAgLTc4LDcgKzc4LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
QVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uKSB7CiAgICAgQVZQbGF5
ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uUmVtb3RlQ29udHJvbFN0b3BFdmVu
dFJlY2VpdmVkID0gMywKIH07CiAtIChCT09MKXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXll
clZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgc2hvdWxkRXhpdEZ1bGxTY3Jl
ZW5XaXRoUmVhc29uOihBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24p
cmVhc29uOwotLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJv
bGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2VySW50ZXJmYWNlRm9yT3B0aW1p
emVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVz
dG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjoo
QVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2Vy
SW50ZXJmYWNlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyOwogQGVuZAogCiB0eXBlZGVm
IE5TSW50ZWdlciBBVlBsYXllclZpZXdDb250cm9sbGVyT3B0aW1pemVkRnVsbHNjcmVlblN0b3BS
ZWFzb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255067</attachid>
            <date>2015-06-17 19:47:09 -0700</date>
            <delta_ts>2015-06-18 16:39:01 -0700</delta_ts>
            <desc>enterFullscreenOptimized</desc>
            <filename>bug-146095-20150617194632.patch</filename>
            <type>text/plain</type>
            <size>1990</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IGM1Nzk1Y2JmNmJiZmZmYzU0NzdhZjQxMzUzMzIyMDQ5OTNlYTdjYWIuLjVlY2JhYTA0ZDky
NGM2MGM2NzIwYTZhODU2OWQxMWJiOTI1NGUzNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC0xMjAsNyArMTIwLDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVf
RVhQT1JUIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0KCk7CiAgICAgdm9pZCBiZWdp
blNlc3Npb24oKTsKLSAgICB2b2lkIGVudGVyRnVsbHNjcmVlbk9wdGltaXplZCgpOworICAgIHZv
aWQgZW50ZXJQaWN0dXJlSW5QaWN0dXJlKCk7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW5TdGFu
ZGFyZCgpOwogCiAgICAgUmV0YWluUHRyPFdlYkFWUGxheWVyQ29udHJvbGxlcj4gbV9wbGF5ZXJD
b250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDIzNDcxZTk4ODUx
MmYyZGIyMWQzNTk1YTcyMWYxYjY2MDIzYzZlNmEuLjdhMDA3YzY3NDZmYzEyZGExOWJkOTA4YWNi
NjA1OTgzZDM2MTU0MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTk1Miwx
NiArOTUyLDE2IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmVudGVy
RnVsbHNjcmVlbigpCiAKICAgICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldEJhY2tncm91bmRD
b2xvcjpbW2dldFVJQ29sb3JDbGFzcygpIGJsYWNrQ29sb3JdIENHQ29sb3JdXTsKICAgICBpZiAo
bW9kZSgpID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGlt
aXplZCkKLSAgICAgICAgZW50ZXJGdWxsc2NyZWVuT3B0aW1pemVkKCk7CisgICAgICAgIGVudGVy
UGljdHVyZUluUGljdHVyZSgpOwogICAgIGVsc2UgaWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkKICAgICAgICAgZW50ZXJGdWxs
c2NyZWVuU3RhbmRhcmQoKTsKICAgICBlbHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxz
Y3JlZW5PcHRpbWl6ZWQoKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
ZW50ZXJQaWN0dXJlSW5QaWN0dXJlKCkKIHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoJXApIiwg
dGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6ZW50ZXJQaWN0dXJlSW5QaWN0dXJlKCVwKSIsIHRoaXMpOwogICAgIAogICAgIGlmIChb
bV9wbGF5ZXJWaWV3Q29udHJvbGxlciBpc1BpY3R1cmVJblBpY3R1cmVQb3NzaWJsZV0pCiAgICAg
ICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0YXJ0UGljdHVyZUluUGljdHVyZV07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255068</attachid>
            <date>2015-06-17 19:47:13 -0700</date>
            <delta_ts>2015-06-18 16:38:55 -0700</delta_ts>
            <desc>remove unused setIsOptimized</desc>
            <filename>bug-146095-20150617194636.patch</filename>
            <type>text/plain</type>
            <size>785</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IDVlY2JhYTA0ZDkyNGM2MGM2NzIwYTZhODU2OWQxMWJiOTI1NGUzNWMuLjE2ZmEwOWM1MGY3
MWFhODlhMDRiZmVhNDRlMTBmZGFmYTQ4OTE0Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC0xMDEsNyArMTAxLDYgQEAgcHVibGljOgogCiAgICAgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUoKSBjb25zdCB7IHJldHVybiBtX21vZGU7IH0K
ICAgICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaygpIGNvbnN0IHsgcmV0dXJu
IG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOyB9Ci0gICAgdm9pZCBzZXRJc09wdGlt
aXplZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIG1heUF1dG9tYXRpY2FsbHlTaG93
VmlkZW9PcHRpbWl6ZWQoKSBjb25zdDsKICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lu
bGluZShzdGQ6OmZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNhbGxiYWNrKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255069</attachid>
            <date>2015-06-17 19:47:17 -0700</date>
            <delta_ts>2015-06-18 16:38:48 -0700</delta_ts>
            <desc>Change media player enum to VideoFullscreenModePictureInPicture</desc>
            <filename>bug-146095-20150617194641.patch</filename>
            <type>text/plain</type>
            <size>9208</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCA0MDgzNWEzOTIwZDA1NmUzNWM4MTA2ZjBkOTNlNzhjZDRjZTczZGVi
Li45YzU4Yzk3MmI5MWFiN2E2ZTc4NDIzZDg2YThmYmRmN2ZkMzczZjBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTYyMTIsNyArNjIxMiw3IEBAIFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpEaXNwbGF5VHlwZSBIVE1MTWVkaWFFbGVtZW50OjpkaXNwbGF5VHlw
ZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRlb0Z1bGxz
Y3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
RnVsbHNjcmVlbjsKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2Ny
ZWVuTW9kZU9wdGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9G
dWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6T3B0aW1pemVkOwogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0g
VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6Tm9ybWFsOwpAQCAtNjI4NSw3ICs2Mjg1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50
OjpvdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKICAgICBpZiAo
bV9wbGF5ZXIgJiYgbV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5N
b2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxz
Y3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAg
IHJldHVybiB0cnVlOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAobV92aWRlb0Z1bGxzY3Jl
ZW5Nb2RlID09IFZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCAmJiB3a0lzT3B0aW1pemVkRnVs
bHNjcmVlblN1cHBvcnRlZCgpICYmIGlzUGxheWluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5jcHAKaW5kZXggMTc4YTYzMzZiMmRmMjBmZDVhNzM5MTQzODkwMThlZTcx
MDdmZGExMi4uMzJhNzVmMmUzN2M2OTYyMmViZTY4YTM2N2JiZmUyYjY5YTYxMTYzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC0zOTIsNyArMzkyLDcgQEAg
dm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJraXRTZXRQcmVzZW50YXRpb25Nb2RlKGNvbnN0IFN0
cmluZyYgbW9kZSkKICAgICBpZiAobW9kZSA9PSBwcmVzZW50YXRpb25Nb2RlRnVsbHNjcmVlbigp
KQogICAgICAgICBlbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKTsK
ICAgICBlbHNlIGlmIChtb2RlID09IHByZXNlbnRhdGlvbk1vZGVQaWN0dXJlSW5QaWN0dXJlKCkp
Ci0gICAgICAgIGVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsK
KyAgICAgICAgZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0
dXJlKTsKIH0KIAogU3RyaW5nIEhUTUxWaWRlb0VsZW1lbnQ6OndlYmtpdFByZXNlbnRhdGlvbk1v
ZGUoKSBjb25zdApAQCAtNDAyLDcgKzQwMiw3IEBAIFN0cmluZyBIVE1MVmlkZW9FbGVtZW50Ojp3
ZWJraXRQcmVzZW50YXRpb25Nb2RlKCkgY29uc3QKICAgICBpZiAobW9kZSA9PSBWaWRlb0Z1bGxz
Y3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAgIHJldHVybiBwcmVzZW50YXRpb25Nb2RlRnVsbHNj
cmVlbigpOwogCi0gICAgaWYgKG1vZGUgJiBWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKQor
ICAgIGlmIChtb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAg
ICAgIHJldHVybiBwcmVzZW50YXRpb25Nb2RlUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgaWYg
KG1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKaW5kZXggZDFhYTAxMjBmNWEz
YzY4MjBlODY1YzNmNDMxYmZjMDVhZjhjNWUzYy4uMzQ4NmJlM2ViMTkwY2VkMzI1MzJiN2E2YWM2
ZTBlMzc5N2QwNmRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyRW51bXMuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgZW51
bSB7CiAgICAgICAgIFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lID0gMCwKICAgICAgICAgVmlkZW9G
dWxsc2NyZWVuTW9kZVN0YW5kYXJkID0gMSA8PCAwLAotICAgICAgICBWaWRlb0Z1bGxzY3JlZW5N
b2RlT3B0aW1pemVkID0gMSA8PCAxLAorICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVy
ZUluUGljdHVyZSA9IDEgPDwgMSwKICAgICB9OwogICAgIHR5cGVkZWYgdWludDMyX3QgVmlkZW9G
dWxsc2NyZWVuTW9kZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0ZjU0ZGJkNDM2
ZWRiN2NmYTdhZGFlMTZhOTFiOGZlMDg5YzQwODU4Li41NzRhOGUwMTY4NGJlZDBmZWEzYjM1OWUw
OWM1MDQ2NmI4OTI0NmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTY5NCw3ICs2OTQs
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxh
eWVyTGF5ZXIoKQogICAgICAgICBbbV92aWRlb0xheWVyIHNldEZyYW1lOm1fdmlkZW9JbmxpbmVM
YXllci5nZXQoKS5ib3VuZHNdOwogICAgIH0KICAgICBpZiAoW21fdmlkZW9MYXllciByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFi
bGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVyIHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVl
bk1vZGVFbmFibGVkOihwbGF5ZXIoKS0+ZnVsbHNjcmVlbk1vZGUoKSAmIE1lZGlhUGxheWVyOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKV07CisgICAgICAgIFttX3ZpZGVvTGF5ZXIgc2V0
RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6KHBsYXllcigpLT5mdWxsc2NyZWVu
TW9kZSgpICYgTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJl
KV07CiAjZWxzZQogICAgIFttX3ZpZGVvTGF5ZXIgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBk
ZWZhdWx0U2l6ZS53aWR0aCgpLCBkZWZhdWx0U2l6ZS5oZWlnaHQoKSldOwogI2VuZGlmCkBAIC0x
MTg3LDcgKzExODcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkoTWVkaWFQbGF5ZXI6Ogogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxh
eWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCiB7CiAgICAgaWYgKG1fdmlkZW9MYXllciAm
JiBbbV92aWRlb0xheWVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RW50ZXJPcHRp
bWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6KV0pCi0gICAgICAgIFttX3ZpZGVvTGF5ZXIgc2V0
RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6KG1vZGUgJiBNZWRpYVBsYXllcjo6
VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCldOworICAgICAgICBbbV92aWRlb0xheWVyIHNl
dEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOihtb2RlICYgTWVkaWFQbGF5ZXI6
OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKV07CiB9CiAKIE5TQXJyYXkgKk1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRpbWVkTWV0YWRhdGEoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDdhMDA3YzY3NDZmYzEyZGExOWJkOTA4
YWNiNjA1OTgzZDM2MTU0MDYuLjZjMjg0YWU4YmUyOTQ0MDA1YmJlMzMzYzBjZjQ3NjNkMzQxYjg1
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTk1MSw3ICs5NTEsNyBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW4oKQog
ICAgIG1fZW50ZXJSZXF1ZXN0ZWQgPSB0cnVlOwogCiAgICAgW21fdmlkZW9MYXllckNvbnRhaW5l
ciBzZXRCYWNrZ3JvdW5kQ29sb3I6W1tnZXRVSUNvbG9yQ2xhc3MoKSBibGFja0NvbG9yXSBDR0Nv
bG9yXV07Ci0gICAgaWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGVPcHRpbWl6ZWQpCisgICAgaWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKQogICAgICAgICBlbnRl
clBpY3R1cmVJblBpY3R1cmUoKTsKICAgICBlbHNlIGlmIChtb2RlKCkgPT0gSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAgIGVudGVyRnVs
bHNjcmVlblN0YW5kYXJkKCk7CkBAIC0xMDA0LDEwICsxMDA0LDEwIEBAIHZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGZpCiAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIGxheW91dElmTmVl
ZGVkXTsKIAogCi0gICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGVPcHRpbWl6ZWQpKSB7CisgICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKSkgewogICAgICAgICBb
bV93aW5kb3cgc2V0SGlkZGVuOk5PXTsKICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIg
c3RvcFBpY3R1cmVJblBpY3R1cmVdOwotICAgIH0gZWxzZSBpZiAoaXNNb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCB8IEhUTUxNZWRpYUVsZW1l
bnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkgeworICAgIH0gZWxzZSBpZiAo
aXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJ
blBpY3R1cmUgfCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFu
ZGFyZCkpIHsKICAgICAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
PiBzdHJvbmdUaGlzKHRoaXMpOwogICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBleGl0
RnVsbFNjcmVlbkFuaW1hdGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOltzdHJvbmdUaGlzLCB0aGlz
XSAoQk9PTCwgTlNFcnJvciopIHsKICAgICAgICAgICAgIFttX3dpbmRvdyBzZXRIaWRkZW46Tk9d
OwpAQCAtMTA1NCw3ICsxMDU0LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4oKQogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNl
dERlbGVnYXRlOm5pbF07CiAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0UGxheWVyQ29u
dHJvbGxlcjpuaWxdOwogICAgIAotICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkpCisgICAgaWYgKGhhc01vZGUoSFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSkpCiAg
ICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0b3BQaWN0dXJlSW5QaWN0dXJlXTsKICAg
ICBpZiAoaGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVT
dGFuZGFyZCkpCiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIGV4aXRGdWxsU2NyZWVu
QW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6W10gKEJPT0wsIE5TRXJyb3IgKikgeyB9XTsK
QEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OnJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3JlZW4oKQogICAgIGlmICghbV9lbnRlclJlcXVl
c3RlZCkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkpCisgICAgaWYgKGhhc01v
ZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGlj
dHVyZSkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVu
KCVwKSIsIHRoaXMpOwpAQCAtMTE0Miw3ICsxMTQyLDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKHN0ZDo6ZnVuY3Rp
b24KIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdGFydFBpY3R1
cmVJblBpY3R1cmUoKQogewogICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQ6OndpbGxTdGFydFBpY3R1cmVJblBpY3R1cmUoJXApIiwgdGhpcyk7Ci0g
ICAgc2V0TW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRp
bWl6ZWQpOworICAgIHNldE1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiAKICAgICBpZiAoIWhhc01vZGUoSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQogICAgICAgICByZXR1cm47
CkBAIC0xMjE0LDcgKzEyMTQsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0OjpkaWRTdG9wUGljdHVyZUluUGljdHVyZSgpCiAgICAgW21fdmlkZW9MYXllckNvbnRhaW5l
ciBzZXRCYWNrZ3JvdW5kQ29sb3I6W1tnZXRVSUNvbG9yQ2xhc3MoKSBjbGVhckNvbG9yXSBDR0Nv
bG9yXV07CiAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIHNldEJhY2tncm91bmRD
b2xvcjpbZ2V0VUlDb2xvckNsYXNzKCkgY2xlYXJDb2xvcl1dOwogCi0gICAgY2xlYXJNb2RlKEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCk7CisgICAg
Y2xlYXJNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1
cmVJblBpY3R1cmUpOwogICAgIFttX3dpbmRvdyBzZXRIaWRkZW46WUVTXTsKICAgICAKICAgICBp
ZiAobV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGFmMDI2YmViZDc2ZTNiYmE2NTkwMWM2
NzZlOTcwMjM5YmRkODQ3MzguLmUzNjFiOTUzYTM2ZGJiNmM1MGRmNjhjNTlhYWJmOTZlZmRlMmQx
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCkBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIGludDMyX3QgZGV2aWNlT3JpZW50YXRpb24o
KQogICAgIGlmICghX3BhZ2UgfHwgIV9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICByZXR1cm4gX3BhZ2UtPnZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIoKS0+aGFzTW9kZShXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZp
ZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpOworICAgIHJldHVybiBfcGFnZS0+dmlkZW9GdWxs
c2NyZWVuTWFuYWdlcigpLT5oYXNNb2RlKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6
VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpOwogfQogCiAtIChCT09MKV9tYXlB
dXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255070</attachid>
            <date>2015-06-17 19:47:20 -0700</date>
            <delta_ts>2015-06-18 16:38:41 -0700</delta_ts>
            <desc>Remove unused AVPlayerViewControllerOptimizedFullscreenStopReason</desc>
            <filename>bug-146095-20150617194644.patch</filename>
            <type>text/plain</type>
            <size>929</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9BVktpdFNQSS5oCmluZGV4IDdiOWZjYzMxM2Q0NTMzOTVlOTYwODkzYWE1NTk5YzM2
ZDIzOTYzMzAuLmNhYmQ1MDlkN2EyN2QzNWQ5ZmU3ZThjYjYzYmFjOWEzZTBhZmJkOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC04MSw4ICs4
MSw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIEFWUGxheWVyVmlld0NvbnRyb2xsZXJF
eGl0RnVsbFNjcmVlblJlYXNvbikgewogLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQ
bGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2VySW50
ZXJmYWNlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyOwogQGVuZAogCi10eXBlZGVmIE5T
SW50ZWdlciBBVlBsYXllclZpZXdDb250cm9sbGVyT3B0aW1pemVkRnVsbHNjcmVlblN0b3BSZWFz
b247Ci0KIEBpbnRlcmZhY2UgQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAoRGV0YWlscykKIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFZpZGVvTGF5ZXI6KENBTGF5ZXIgPEFWVmlkZW9MYXllcj4gKil2
aWRlb0xheWVyOwogLSAodm9pZCllbnRlckZ1bGxTY3JlZW5BbmltYXRlZDooQk9PTClhbmltYXRl
ZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNv
bXBsZXRpb25IYW5kbGVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255071</attachid>
            <date>2015-06-17 19:47:24 -0700</date>
            <delta_ts>2015-06-18 16:38:34 -0700</delta_ts>
            <desc>Replace wkIsOptimizedFullscreenSupported</desc>
            <filename>bug-146095-20150617194648.patch</filename>
            <type>text/plain</type>
            <size>5509</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCA5YzU4Yzk3MmI5MWFiN2E2ZTc4NDIzZDg2YThmYmRmN2ZkMzczZjBl
Li4wZWM3ODhmYmUzOWJkMWU5MDkxZWJhYTQ0ZjExZDJkMWJiNDhmNjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTYyODgsNyArNjI4OCw3IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6b3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbigp
IGNvbnN0CiAgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAmIFZpZGVvRnVsbHNjcmVlbk1v
ZGVQaWN0dXJlSW5QaWN0dXJlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNpZiBQTEFURk9STShJ
T1MpCi0gICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQgJiYgd2tJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQoKSAmJiBpc1BsYXlp
bmcoKSkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09IFZpZGVvRnVsbHNjcmVlbk1v
ZGVTdGFuZGFyZCAmJiB3a0lzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpICYmIGlzUGxheWlu
ZygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDMyYTc1ZjJlMzdjNjk2
MjJlYmU2OGEzNjdiYmZlMmI2OWE2MTE2MzEuLjM2MzI2NmRkZTlkMDE5YmM0OTNjMDJkNDY2NjMy
NzRjOGU1NGY4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApA
QCAtMzY5LDcgKzM2OSw3IEBAIGJvb2wgSFRNTFZpZGVvRWxlbWVudDo6d2Via2l0U3VwcG9ydHNQ
cmVzZW50YXRpb25Nb2RlKGNvbnN0IFN0cmluZyYgbW9kZSkgY29uc3QKICAgICAgICAgcmV0dXJu
IG1lZGlhU2Vzc2lvbigpLmZ1bGxzY3JlZW5QZXJtaXR0ZWQoKnRoaXMpICYmIHN1cHBvcnRzRnVs
bHNjcmVlbigpOwogCiAgICAgaWYgKG1vZGUgPT0gcHJlc2VudGF0aW9uTW9kZVBpY3R1cmVJblBp
Y3R1cmUoKSkKLSAgICAgICAgcmV0dXJuIHdrSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9ydGVk
KCkgJiYgbWVkaWFTZXNzaW9uKCkuYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbigqdGhpcykgJiYg
c3VwcG9ydHNGdWxsc2NyZWVuKCk7CisgICAgICAgIHJldHVybiB3a0lzUGljdHVyZUluUGljdHVy
ZVN1cHBvcnRlZCgpICYmIG1lZGlhU2Vzc2lvbigpLmFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4o
KnRoaXMpICYmIHN1cHBvcnRzRnVsbHNjcmVlbigpOwogCiAgICAgaWYgKG1vZGUgPT0gcHJlc2Vu
dGF0aW9uTW9kZUlubGluZSgpKQogICAgICAgICByZXR1cm4gIW1lZGlhU2Vzc2lvbigpLnJlcXVp
cmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLmgKaW5kZXgg
MGRhZDBiZmMxOTIzY2U4MDJlNGVhODZiNjFhNTk2OWM0YjY4ODViZi4uMWMxN2M1Zjg5OWE1MTc4
MGRlNTAyNjRhYzgwOWU3ZDVmYmU0MDJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5oCkBAIC03Niw2ICs3Niw2
IEBAIGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0T1NOYW1lRm9yVXNlckFnZW50KSh2b2lkKTsK
IGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0UGxhdGZvcm1OYW1lRm9yTmF2aWdhdG9yKSh2b2lk
KTsKIGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0VmVuZG9yTmFtZUZvck5hdmlnYXRvcikodm9p
ZCk7CiAKLWV4dGVybiBib29sICgqd2tJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQpKHZv
aWQpOworZXh0ZXJuIGJvb2wgKCp3a0lzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCkodm9pZCk7
CiAKICNlbmRpZiAvLyBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0K
aW5kZXggZTFlOWQ5Mjc3YmI0YzBiMTIxOTU3M2Q4OTFjYTliYjVmODc1Y2Y5Mi4uZjY5MzRkOGQ2
NmZiMTVhYzcyOTA5YzljZTMxZDgxYjFjZTAzZWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0KQEAgLTEx
Niw3ICsxMTYsNyBAQCBXRUJDT1JFX0VYUE9SVCBDRlN0cmluZ1JlZiAoKndrR2V0T1NOYW1lRm9y
VXNlckFnZW50KSh2b2lkKTsKIFdFQkNPUkVfRVhQT1JUIENGU3RyaW5nUmVmICgqd2tHZXRQbGF0
Zm9ybU5hbWVGb3JOYXZpZ2F0b3IpKHZvaWQpOwogV0VCQ09SRV9FWFBPUlQgQ0ZTdHJpbmdSZWYg
KCp3a0dldFZlbmRvck5hbWVGb3JOYXZpZ2F0b3IpKHZvaWQpOwogCi1XRUJDT1JFX0VYUE9SVCBi
b29sICgqd2tJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQpKHZvaWQpOworV0VCQ09SRV9F
WFBPUlQgYm9vbCAoKndrSXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKSh2b2lkKTsKIAogV0VC
Q09SRV9FWFBPUlQgaW50ICgqd2tFeGVybmFsRGV2aWNlVHlwZUZvclBsYXllcikoQVZQbGF5ZXIg
Kik7CiBXRUJDT1JFX0VYUE9SVCBOU1N0cmluZyAqKCp3a0V4ZXJuYWxEZXZpY2VEaXNwbGF5TmFt
ZUZvclBsYXllcikoQVZQbGF5ZXIgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5k
ZXggNmMyODRhZThiZTI5NDQwMDViYmUzMzNjMGNmNDc2M2QzNDFiODVkMi4uYzA5ODFhMTRmNGJl
ODllMTdjYTYyZGIwZGI2YWFhOTc0NjVkMTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQpAQCAtMTEyOSw3ICsxMTI5LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdDo6cHJlcGFyZWRUb1JldHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY28KIAogYm9v
bCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6bWF5QXV0b21hdGljYWxseVNob3dW
aWRlb09wdGltaXplZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFttX3BsYXllckNvbnRyb2xsZXIg
aXNQbGF5aW5nXSAmJiBtX21vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlU3RhbmRhcmQgJiYgd2tJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQoKTsK
KyAgICByZXR1cm4gW21fcGxheWVyQ29udHJvbGxlciBpc1BsYXlpbmddICYmIG1fbW9kZSA9PSBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCAmJiB3a0lz
UGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpOwogfQogCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoc3RkOjpmdW5jdGlv
bjx2b2lkKGJvb2wpPiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCBiMTI5NGVlNGQ2ZDg2MTFm
MzhkMmE1MjEzOWJhOTA2MDQwOTYzZjllLi5iZjY1ZWU5MmZmYTg5YWU5MjdhMDllNzY2MWI1ZDcx
NzVjOWM4Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBJbml0V2Vi
Q29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgIElOSVQoR2V0QXZhaWxhYmxlU2NyZWVuU2l6
ZSk7CiAgICAgSU5JVChHZXRTY3JlZW5TY2FsZUZhY3Rvcik7CiAgICAgSU5JVChJc0dCMTgwMzBD
b21wbGlhbmNlUmVxdWlyZWQpOwotICAgIElOSVQoSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9y
dGVkKTsKKyAgICBJTklUKElzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCk7CiAjZW5kaWYKIAog
I2lmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5k
ZXggYjkxMWNhMzNmODEyYzM3YmVlMGI1ZDQ3Mjk0MTI2ODZjMzUxYzNhYS4uYTBjOGY3N2QyMTgw
NzJjMmVhYzlhNDRhYmY2NjI2ZmZjZTI4ODhjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUlu
dGVyZmFjZS5tbQpAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRl
cmZhY2Uodm9pZCkKICAgICAgICAgSU5JVChHZXRBdmFpbGFibGVTY3JlZW5TaXplKTsKICAgICAg
ICAgSU5JVChHZXRTY3JlZW5TY2FsZUZhY3Rvcik7CiAgICAgICAgIElOSVQoSXNHQjE4MDMwQ29t
cGxpYW5jZVJlcXVpcmVkKTsKLSAgICAgICAgSU5JVChJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBw
b3J0ZWQpOworICAgICAgICBJTklUKElzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCk7CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShQVUJMSUNfU1VGRklYX0xJU1QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255072</attachid>
            <date>2015-06-17 19:47:41 -0700</date>
            <delta_ts>2015-06-18 16:38:27 -0700</delta_ts>
            <desc>Replace AVPlayerLayer setEnterOptimizedFullscreenModeEnabled</desc>
            <filename>bug-146095-20150617194704.patch</filename>
            <type>text/plain</type>
            <size>2693</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA1
NzRhOGUwMTY4NGJlZDBmZWEzYjM1OWUwOWM1MDQ2NmI4OTI0NmE1Li43MGVmM2RlMmZlMTJiMjRi
M2NjZDEyZmFiODVjZTQwZTc1ZGNkODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTY5
Myw4ICs2OTMsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNy
ZWF0ZUFWUGxheWVyTGF5ZXIoKQogICAgICAgICBbbV92aWRlb0lubGluZUxheWVyIGluc2VydFN1
YmxheWVyOm1fdmlkZW9MYXllci5nZXQoKSBhdEluZGV4OjBdOwogICAgICAgICBbbV92aWRlb0xh
eWVyIHNldEZyYW1lOm1fdmlkZW9JbmxpbmVMYXllci5nZXQoKS5ib3VuZHNdOwogICAgIH0KLSAg
ICBpZiAoW21fdmlkZW9MYXllciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVy
T3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVy
IHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOihwbGF5ZXIoKS0+ZnVsbHNj
cmVlbk1vZGUoKSAmIE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGlj
dHVyZSldOworICAgIGlmIChbbV92aWRlb0xheWVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Ioc2V0UElQTW9kZUVuYWJsZWQ6KV0pCisgICAgICAgIFttX3ZpZGVvTGF5ZXIgc2V0UElQTW9k
ZUVuYWJsZWQ6KHBsYXllcigpLT5mdWxsc2NyZWVuTW9kZSgpICYgTWVkaWFQbGF5ZXI6OlZpZGVv
RnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKV07CiAjZWxzZQogICAgIFttX3ZpZGVvTGF5
ZXIgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBkZWZhdWx0U2l6ZS53aWR0aCgpLCBkZWZhdWx0
U2l6ZS5oZWlnaHQoKSldOwogI2VuZGlmCkBAIC0xMTg2LDggKzExODYsOCBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHko
TWVkaWFQbGF5ZXI6OgogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUoTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUg
bW9kZSkKIHsKLSAgICBpZiAobV92aWRlb0xheWVyICYmIFttX3ZpZGVvTGF5ZXIgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihzZXRFbnRlck9wdGltaXplZEZ1bGxzY3JlZW5Nb2RlRW5hYmxl
ZDopXSkKLSAgICAgICAgW21fdmlkZW9MYXllciBzZXRFbnRlck9wdGltaXplZEZ1bGxzY3JlZW5N
b2RlRW5hYmxlZDoobW9kZSAmIE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVy
ZUluUGljdHVyZSldOworICAgIGlmIChtX3ZpZGVvTGF5ZXIgJiYgW21fdmlkZW9MYXllciByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFBJUE1vZGVFbmFibGVkOildKQorICAgICAgICBb
bV92aWRlb0xheWVyIHNldFBJUE1vZGVFbmFibGVkOihtb2RlICYgTWVkaWFQbGF5ZXI6OlZpZGVv
RnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKV07CiB9CiAKIE5TQXJyYXkgKk1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRpbWVkTWV0YWRhdGEoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXgg
MDhjNDgyZGY3N2Y2ZGM1ZWY3ODBlODRlZDI1NjdmNGQwMDZhMGNlMi4uMzY2ODQ2OGMzMjBjODMw
ZWFhNWYwMzNhMWVmZGMyZWE2YzBlYzQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCkBAIC02Niw4ICs2Niw4IEBACiAKICNpZiAh
SEFWRShBVktJVCkgfHwgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspIHx8IF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgOTAwMDAKIAotQGludGVyZmFjZSBBVlBsYXllckxheWVyIChB
VlBsYXllckxheWVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVTdXBwb3J0UHJpdmF0ZSkKLS0gKHZv
aWQpc2V0RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6KEJPT0wpZmxhZzsKK0Bp
bnRlcmZhY2UgQVZQbGF5ZXJMYXllciAoQVZQbGF5ZXJMYXllclBpY3R1cmVJblBpY3R1cmVNb2Rl
U3VwcG9ydFByaXZhdGUpCistICh2b2lkKXNldFBJUE1vZGVFbmFibGVkOihCT09MKWZsYWc7CiBA
ZW5kCiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255073</attachid>
            <date>2015-06-17 19:47:45 -0700</date>
            <delta_ts>2015-06-18 16:38:19 -0700</delta_ts>
            <desc>Update local variable names</desc>
            <filename>bug-146095-20150617194708.patch</filename>
            <type>text/plain</type>
            <size>7159</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5t
bQppbmRleCAxN2I2NzJmYmRkZTBhZjc2OWVjNzI2YjhmMDRlNDhjNDJlYzczNmFiLi41NzEwZDQ2
ZTY1MTYwYWJkYjFlMGI5NjM3Y2E5ZDUzNzQ5OWRmNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQVZLaXQubW0KQEAgLTUxOCwxMSArNTE4LDExIEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckNvbnRleHQ6OnNldFVwRnVsbHNjcmVlbihIVE1MVmlkZW9FbGVtZW50JiB2aWRl
CiAgICAgICAgIG1fbW9kZWwtPnNldFZpZGVvRWxlbWVudChtX3ZpZGVvRWxlbWVudC5nZXQoKSk7
CiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgPSBbQ0FMYXllciBsYXllcl07CiAgICAg
ICAgIAotICAgICAgICBib29sIGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4gPSBtX3ZpZGVvRWxl
bWVudC0+bWVkaWFTZXNzaW9uKCkuYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbigqbV92aWRlb0Vs
ZW1lbnQuZ2V0KCkpOworICAgICAgICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUgPSBtX3Zp
ZGVvRWxlbWVudC0+bWVkaWFTZXNzaW9uKCkuYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbigqbV92
aWRlb0VsZW1lbnQuZ2V0KCkpOwogICAgICAgICBJbnRSZWN0IHZpZGVvRWxlbWVudENsaWVudFJl
Y3QgPSBtX3ZpZGVvRWxlbWVudC0+Y2xpZW50UmVjdCgpOwogICAgICAgICAKLSAgICAgICAgZGlz
cGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3N0cm9uZ1RoaXMsIHRoaXMs
IHZpZGVvRWxlbWVudENsaWVudFJlY3QsIHZpZXdSZWYsIG1vZGUsIGFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW5dIHsKLSAgICAgICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1f
dmlkZW9GdWxsc2NyZWVuTGF5ZXIuZ2V0KCksIHZpZGVvRWxlbWVudENsaWVudFJlY3QsIHZpZXdS
ZWYuZ2V0KCksIG1vZGUsIGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4pOworICAgICAgICBkaXNw
YXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbc3Ryb25nVGhpcywgdGhpcywg
dmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1JlZiwgbW9kZSwgYWxsb3dzUGljdHVyZUluUGlj
dHVyZV0geworICAgICAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbV92aWRl
b0Z1bGxzY3JlZW5MYXllci5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1JlZi5n
ZXQoKSwgbW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7CiAgICAgICAgIH0pOwogICAgIH0p
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKaW5kZXggN2UwYmU3NmNjNTAyYTM3MjNhNjNi
NWNhMGVmOWY5ZjBhNzEzOTMzMi4uMmNmOTcwNjhkYzEyZmU0NjNmYmM1N2JkZTYyODhjNWVmOTcz
MjZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0xMjMsNyArMTIzLDcgQEAgcHJp
dmF0ZToKICAgICBXZWJDb3JlOjpXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdCYgZW5z
dXJlSW50ZXJmYWNlKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAKICAgICAvLyBNZXNzYWdlcyBmcm9t
IFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKLSAgICB2b2lkIHNldHVwRnVsbHNjcmVlbldpdGhJ
RCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93
T3B0aW1pemVkRnVsbHNjcmVlbik7CisgICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWlu
dDY0X3QgY29udGV4dElkLCB1aW50MzJfdCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGluaXRpYWxSZWN0LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlKTsKICAgICB2b2lkIHJlc2V0TWVkaWFTdGF0ZSh1aW50NjRfdCBjb250ZXh0
SWQpOwogICAgIHZvaWQgc2V0Q3VycmVudFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUg
Y3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSk7CiAgICAgdm9pZCBzZXRCdWZmZXJlZFRpbWUo
dWludDY0X3QgY29udGV4dElkLCBkb3VibGUgYnVmZmVyZWRUaW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMGM1ZGMxMTU0NjE4NTEwNjFmMTEw
ZmVjNzgzODY1Njc1OTAxYWI2YS4uNmJiMDc2ZDVmY2Y0MTFkMDM2ZmY0NTI5NDM5ZDE0ZDdmZmZh
NWQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAg
LTMzLDcgKzMzLDcgQEAgbWVzc2FnZXMgLT4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
IHsKICAgICBTZXRFeHRlcm5hbFBsYXliYWNrUHJvcGVydGllcyh1aW50NjRfdCBjb250ZXh0SWQs
IGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmlj
ZU5hbWUpCiAgICAgU2V0RHVyYXRpb24odWludDY0X3QgY29udGV4dElkLCBkb3VibGUgZHVyYXRp
b24pCiAgICAgU2V0UmF0ZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3Vi
bGUgcmF0ZSkKLSAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1
aW50MzJfdCB2aWRlb0xheWVySUQsIFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIGZsb2F0
IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dPcHRpbWl6ZWRG
dWxsc2NyZWVuKQorICAgIFNldHVwRnVsbHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQs
IHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgZmxv
YXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZp
ZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJl
SW5QaWN0dXJlKQogICAgIEVudGVyRnVsbHNjcmVlbih1aW50NjRfdCBjb250ZXh0SWQpCiAgICAg
RXhpdEZ1bGxzY3JlZW4odWludDY0X3QgY29udGV4dElkLCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFs
UmVjdCkKICAgICBDbGVhbnVwRnVsbHNjcmVlbih1aW50NjRfdCBjb250ZXh0SWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IGU2YWRhMTJiZDg2YTdmNzU4ODJjNGExMjZhZWIyNzc2
YzFkMTA4NjAuLjZkMzE5NmFkMmViNzc5NzIzMTU3ZDJlYmZkMGQzMjM0NGI4NzczMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC0zMDYsNyArMzA2LDcgQEAgV2ViQ29yZTo6V2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQmIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6ZW5zdXIKIAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZyb20gV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlcgogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBG
dWxsc2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9MYXllcklE
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ0Rldmlj
ZVNjYWxlRmFjdG9yLCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUg
dmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pCit2b2lk
IFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKHVp
bnQ2NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ0RldmljZVNjYWxlRmFjdG9yLCBIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9k
ZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKQogewogICAgIEFTU0VSVCh2aWRlb0xheWVy
SUQpOwogICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRleHQ+IG1vZGVsOwpA
QCAtMzIzLDcgKzMyMyw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Ojpz
ZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1CiAgICAgfQogCiAgICAg
VUlWaWV3ICpwYXJlbnRWaWV3ID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eT4oKm1fcGFnZS0+ZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5ZXJUcmVlSG9zdCgpLnJvb3RM
YXllcigpOwotICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0
KCksIGluaXRpYWxSZWN0LCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBhbGxvd09w
dGltaXplZEZ1bGxzY3JlZW4pOworICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2Rl
bC0+bGF5ZXJIb3N0KCksIGluaXRpYWxSZWN0LCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3JlZW5N
b2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OnJlc2V0TWVkaWFTdGF0ZSh1aW50NjRfdCBjb250ZXh0SWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlci5tbQppbmRleCBjYmQxZWMyNWI2NGU0Yzk5ODM0OGU2ZWVhZjlhYzY0ZTczY2Q4
ZmRlLi5mMTA0Mzk3MGFjZjJhNDk3MzA1NGZjYzMwY2M3NjViMWNmMWRmZmM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXIubW0KQEAgLTI0MCw5ICsyNDAsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXI6OmVudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KEhUTUxWaWRlb0VsZQog
ICAgICAgICByZXR1cm47CiAgICAgaW50ZXJmYWNlLT5zZXRJc0FuaW1hdGluZyh0cnVlKTsKIAot
ICAgIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuID0gdmlkZW9FbGVtZW50Lm1lZGlhU2Vz
c2lvbigpLmFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4odmlkZW9FbGVtZW50KTsKKyAgICBib29s
IGFsbG93c1BpY3R1cmVJblBpY3R1cmUgPSB2aWRlb0VsZW1lbnQubWVkaWFTZXNzaW9uKCkuYWxs
b3dzQWx0ZXJuYXRlRnVsbHNjcmVlbih2aWRlb0VsZW1lbnQpOwogICAgIAotICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxz
Y3JlZW5XaXRoSUQoY29udGV4dElkLCBpbnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+
Y29udGV4dElEKCksIGNsaWVudFJlY3RGb3JFbGVtZW50KCZ2aWRlb0VsZW1lbnQpLCBtX3BhZ2Ut
PmRldmljZVNjYWxlRmFjdG9yKCksIGludGVyZmFjZS0+ZnVsbHNjcmVlbk1vZGUoKSwgYWxsb3dP
cHRpbWl6ZWRGdWxsc2NyZWVuKSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OlNldHVwRnVsbHNjcmVl
bldpdGhJRChjb250ZXh0SWQsIGludGVyZmFjZS0+bGF5ZXJIb3N0aW5nQ29udGV4dCgpLT5jb250
ZXh0SUQoKSwgY2xpZW50UmVjdEZvckVsZW1lbnQoJnZpZGVvRWxlbWVudCksIG1fcGFnZS0+ZGV2
aWNlU2NhbGVGYWN0b3IoKSwgaW50ZXJmYWNlLT5mdWxsc2NyZWVuTW9kZSgpLCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxs
c2NyZWVuTWFuYWdlcjo6ZXhpdFZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudChXZWJDb3Jl
OjpIVE1MVmlkZW9FbGVtZW50JiB2aWRlb0VsZW1lbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255074</attachid>
            <date>2015-06-17 19:47:51 -0700</date>
            <delta_ts>2015-06-18 16:38:12 -0700</delta_ts>
            <desc>Update mayAutomaticallyShowVideoOptimized</desc>
            <filename>bug-146095-20150617194714.patch</filename>
            <type>text/plain</type>
            <size>4257</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IDE2ZmEwOWM1MGY3MWFhODlhMDRiZmVhNDRlMTBmZGFmYTQ4OTE0Y2EuLjZkMjM0Y2RlNjIx
NzdiYzdiZTcyMjEzNDM0YTU1NDJjMzg4NTI1NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVibGljOgogCiAgICAgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUoKSBjb25zdCB7IHJldHVybiBtX21vZGU7IH0K
ICAgICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaygpIGNvbnN0IHsgcmV0dXJu
IG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgYm9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVy
ZSgpIGNvbnN0OwogICAgIHZvaWQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKHN0ZDo6ZnVu
Y3Rpb248dm9pZChib29sKT4gY2FsbGJhY2spOwogCiAgICAgdm9pZCB3aWxsU3RhcnRQaWN0dXJl
SW5QaWN0dXJlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggYzA5ODFhMTRm
NGJlODllMTdjYTYyZGIwZGI2YWFhOTc0NjVkMTg2Ni4uYTZiYzdiODIzMDZkOGM4YTcyZjA1Mzcz
ZTA3ODc0ODM1NjBhNGYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtMTEy
Nyw3ICsxMTI3LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJl
cGFyZWRUb1JldHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY28KICAgICB9CiB9CiAKLWJvb2wg
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6Om1heUF1dG9tYXRpY2FsbHlTaG93Vmlk
ZW9PcHRpbWl6ZWQoKSBjb25zdAorYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dDo6bWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSBjb25zdAogewog
ICAgIHJldHVybiBbbV9wbGF5ZXJDb250cm9sbGVyIGlzUGxheWluZ10gJiYgbV9tb2RlID09IEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkICYmIHdrSXNQ
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGUzNjFiOTUzYTM2ZGJiNmM1MGRmNjhj
NTlhYWJmOTZlZmRlMmQxYTguLmNlOGEyOWNmMjM1ZWJjNzBiNjA4MDQ1MjZmMDNkMzQzNThjYjEz
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCkBAIC0yNTgsNyArMjU4LDcgQEAgc3RhdGljIGludDMyX3QgZGV2aWNlT3JpZW50YXRpb24o
KQogICAgIGlmICghX3BhZ2UgfHwgIV9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBfcGFnZS0+dmlkZW9GdWxsc2NyZWVu
TWFuYWdlcigpLT5tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCk7CisgICAgcmV0
dXJuIF9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCktPm1heUF1dG9tYXRpY2FsbHlTaG93
VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5LmgKaW5kZXggMmNmOTcwNjhkYzEyZmU0NjNmYmM1N2JkZTYyODhjNWVmOTczMjZkOC4uODM0
MzI0ZjM3MmQ3YzlkZDk1ZGNiYzg0Yjk2MzIyZWYwMGM5MWNmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXF1ZXN0
SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCk7CiAgICAgYm9vbCBoYXNNb2RlKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgY29uc3Q7Ci0gICAgYm9vbCBt
YXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3Q7CisgICAgYm9vbCBtYXlB
dXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRleHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IDZkMzE5NmFkMmViNzc5NzIzMTU3ZDJlYmZkMGQz
MjM0NGI4NzczMjkuLjQ5NTM3ZTRkY2Q3NGU1ZTlmZjkyY2ZiYTc3Y2ZkMGE0ZmU4MmNjZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC02Miw3ICs2Miw3IEBAIGJvb2wgV2ViVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6
VmlkZW9GdWxsc2NyCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFdlYlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgpIGNv
bnN0Citib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxs
eVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsK
IH0KQEAgLTI2NiwxMCArMjY2LDEwIEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1ib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5
QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgpIGNvbnN0Citib29sIFdlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBp
Y3R1cmUoKSBjb25zdAogewogICAgIGZvciAoYXV0byYgdHVwbGUgOiBtX2NvbnRleHRNYXAudmFs
dWVzKCkpIHsKLSAgICAgICAgaWYgKHN0ZDo6Z2V0PDE+KHR1cGxlKS0+bWF5QXV0b21hdGljYWxs
eVNob3dWaWRlb09wdGltaXplZCgpKQorICAgICAgICBpZiAoc3RkOjpnZXQ8MT4odHVwbGUpLT5t
YXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZSgpKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255075</attachid>
            <date>2015-06-17 19:47:56 -0700</date>
            <delta_ts>2015-06-18 16:37:43 -0700</delta_ts>
            <desc>Replace _isShowingVideoOptimized and _mayAutomaticallyShowVideoOptimized</desc>
            <filename>bug-146095-20150617194719.patch</filename>
            <type>text/plain</type>
            <size>2541</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGNlOGEyOWNmMjM1ZWJjNzBiNjA4MDQ1MjZm
MDNkMzQzNThjYjEzMzEuLmE1N2JmY2VlMmJkYmExYTMyNzE3NGUwYTNjYjkyMjM2OWRhMmYyODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CkBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGljIGludDMyX3QgZGV2aWNlT3JpZW50YXRpb24oKQog
ICAgIHJldHVybiBkZXZpY2VPcmllbnRhdGlvbkZvclVJSW50ZXJmYWNlT3JpZW50YXRpb24oW1tV
SUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBzdGF0dXNCYXJPcmllbnRhdGlvbl0pOwog
fQogCi0tIChCT09MKV9pc1Nob3dpbmdWaWRlb09wdGltaXplZAorLSAoQk9PTClfaXNTaG93aW5n
VmlkZW9QaWN0dXJlSW5QaWN0dXJlCiB7CiAgICAgaWYgKCFfcGFnZSB8fCAhX3BhZ2UtPnZpZGVv
RnVsbHNjcmVlbk1hbmFnZXIoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjUwLDcgKzI1
MCw3IEBAIHN0YXRpYyBpbnQzMl90IGRldmljZU9yaWVudGF0aW9uKCkKICAgICByZXR1cm4gX3Bh
Z2UtPnZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKS0+aGFzTW9kZShXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAot
LSAoQk9PTClfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZAorLSAoQk9PTClfbWF5
QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUKIHsKICNpZiAoX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPD0gODAyMDApIHx8ICFIQVZFKEFWS0lUKQogICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBhN2FjNTk3ZDI1ZDFjOTlhOWVjNTk3YjJiODUw
MjZkOGE3NzYxNjE4Li5kZjNlN2Q3ZmE0YTQyMmUwMDA2M2U0OGZmYThlNDgxOWRkMjBkZjM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCkBAIC05OCw4ICs5OCw4IEBAIHN0cnVjdCBQcmludEluZm87CiAtICh2b2lk
KV9kaWRGaW5pc2hMb2FkRm9yTWFpbkZyYW1lOwogLSAodm9pZClfZGlkU2FtZURvY3VtZW50TmF2
aWdhdGlvbkZvck1haW5GcmFtZTooV2ViS2l0OjpTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSlu
YXZpZ2F0aW9uVHlwZTsKIAotLSAoQk9PTClfaXNTaG93aW5nVmlkZW9PcHRpbWl6ZWQ7Ci0tIChC
T09MKV9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkOworLSAoQk9PTClfaXNTaG93
aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlOworLSAoQk9PTClfbWF5QXV0b21hdGljYWxseVNob3dW
aWRlb1BpY3R1cmVJblBpY3R1cmU7CiAKIC0gKHZvaWQpX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3Jv
dW5kOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQppbmRleCA1NzMyMDcyM2ExNjRiN2Q5ZmNkMWEwZTIwZTI1MWIyZWQ4NTczOGUwLi5j
YTcyYTc3MTRjNDJmNTVhNjYwYmM2M2I1M2ZkYTE0NDEwMTMxMDFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTE4NSwxMCAr
MTg1LDEwIEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUoKQogICAgIGlmIChp
c1ZpZXdJbldpbmRvdygpICYmICFtX2NvbnRlbnRWaWV3LmlzQmFja2dyb3VuZCkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgCi0gICAgaWYgKFttX3dlYlZpZXcgX2lzU2hvd2luZ1ZpZGVvT3B0
aW1pemVkXSkKKyAgICBpZiAoW21fd2ViVmlldyBfaXNTaG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0
dXJlXSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCi0gICAgaWYgKFttX3dlYlZpZXcgX21h
eUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWRdKQorICAgIGlmIChbbV93ZWJWaWV3IF9t
YXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZV0pCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIAogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255076</attachid>
            <date>2015-06-17 19:48:00 -0700</date>
            <delta_ts>2015-06-18 16:37:37 -0700</delta_ts>
            <desc>Update setting to allowsPictureInPictureMediaPlayback</desc>
            <filename>bug-146095-20150617194723.patch</filename>
            <type>text/plain</type>
            <size>11977</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcAppbmRleCAwZDQzZmNkOGZlODM2ZjdjNTA1ZGE4OWI1MzQ3Y2Q5ZGRl
ZmJmYzhkLi41ZWY0NzJhOTAxZjcxZmQ1MjkxOGRmNTE0NzIyOWQyN2ZlNmIyMGVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTM4Miw3ICszODIs
NyBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246Om1lZGlhRW5naW5lVXBkYXRlZChjb25zdCBI
VE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxv
d3NBbHRlcm5hdGVGdWxsc2NyZWVuKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1lbnQpIGNv
bnN0CiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZWxlbWVudC5kb2N1bWVudCgpLnNldHRp
bmdzKCk7Ci0gICAgcmV0dXJuIHNldHRpbmdzICYmIHNldHRpbmdzLT5hbGxvd3NBbHRlcm5hdGVG
dWxsc2NyZWVuKCk7CisgICAgcmV0dXJuIHNldHRpbmdzICYmIHNldHRpbmdzLT5hbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggMzllMmFkZDM1Y2YwYWI2NzlmYzNkNzNk
OGNjYjhkYTE4YThjMjk4Yy4uZjI4NDQwOWY4OGI1MGQzNTg2Y2FmZWM2ODVhZWQ1MTdjYjg2ODA5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMg
Y29uc3QgYm9vbCBkZWZhdWx0SW1hZ2VTdWJzYW1wbGluZ0VuYWJsZWQgPSBmYWxzZTsKIHN0YXRp
YyBjb25zdCBib29sIGRlZmF1bHRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMgPSBmYWxzZTsK
ICNlbmRpZgogCi1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzQWx0ZXJuYXRlRnVsbHNj
cmVlbiA9IHRydWU7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVyZUluUGlj
dHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7CiAjaWYg
VVNFKFVOSUZJRURfVEVYVF9DSEVDS0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDAy
OTY5NDdiMjRiMTFlNWM5NDg1ODgzYTg2NGMzY2RiOWJmYjliNTEuLjhkNzE3MzMxMGQzNTY3NjYy
MDEwNzc2ZWJjMDJiMmI5MzZlZTQ5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMTI4
LDcgKzEyOCw3IEBAIGFsbG93UnVubmluZ09mSW5zZWN1cmVDb250ZW50IGluaXRpYWw9ZmFsc2UK
IHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGluaXRpYWw9ZGVmYXVsdFJlcXVp
cmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrCiBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZSBpbml0aWFsPWRlZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQog
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrCi1hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuIGluaXRpYWw9ZGVmYXVsdEFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW4KK2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
IGluaXRpYWw9ZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrCiBwYXNz
d29yZEVjaG9FbmFibGVkIGluaXRpYWw9ZmFsc2UKIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRl
cmluZyBpbml0aWFsPWZhbHNlCiBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGQwYTlhYTQ0NWU5NzY3
ZDkwZTVmNTNkYTgzZTI5YzA4MjdmY2JjYjkuLjNmMGM4ZGRlZGJhMDMwZDVmMmYyNzljMjBiZjM3
ZjZkNmRkOWQ4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTIxLDcgKzEyMSw3IEBACiAjZGVmaW5lIFdlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWRLZXkgQCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZl
cmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIgotI2RlZmluZSBXZWJL
aXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuUHJlZmVyZW5jZUtleSBAIldlYktpdEFsbG93c0Fs
dGVybmF0ZUZ1bGxzY3JlZW4iCisjZGVmaW5lIFdlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVN
ZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVN
ZWRpYVBsYXliYWNrIgogI2RlZmluZSBXZWJLaXRBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzQWlyUGxheSIKICNkZWZp
bmUgV2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vY2tT
Y3JvbGxiYXJzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1By
ZWZlcmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYjAxMzFhNzNkMTk3MTc2MzM5
YzZlZGUxYTNjZTNlNTAyZmI5MmY0NC4uNzcyOWVkOTg3NzdhMDY3NGQ5YTBhNjUzYmQ4YzUzM2I4
MmQ4ZDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CkBAIC01NDYsNyArNTQ2LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19UQVJHRVRf
UExBWUJBQ0spCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0
QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogI2VuZGlmCi0gICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dzQWx0ZXJuYXRl
RnVsbHNjcmVlblByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpZRVNdLCAgV2ViS2l0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJl
bmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJl
cXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2Fk
aW5nQmVoYXZpb3JLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAg
V2ViS2l0RGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkS2V5LApAQCAtMjE5NywxMiArMjE5NywxMiBA
QCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAKIC0gKEJPT0wpYWxs
b3dzQWx0ZXJuYXRlRnVsbHNjcmVlbgogewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5QcmVmZXJlbmNlS2V5XTsKKyAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJl
TWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtICh2b2lkKXNldEFsbG93c0FsdGVy
bmF0ZUZ1bGxzY3JlZW46KEJPT0wpZmxhZwogewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6Zmxh
ZyBmb3JLZXk6V2ViS2l0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlblByZWZlcmVuY2VLZXldOwor
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTCltb2NrU2Ny
b2xsYmFyc0VuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA3YjJh
Yzc0YmNjOTZiM2E5ODY1MTk3NTBiOTFlM2QzNzhkNDUxMTQ3Li41OTg2Zjk5MmU4OWQwZDE3NjUw
ZGZmY2E1ZWFhNzg0YjRjMTQxOTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CkBAIC0yMjk0LDcgKzIyOTQsNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxv
YWRpbmdRdWlyaygpCiAKICAgICBzZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVk
aWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmVd
KTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNl
cyBtZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lXSk7Ci0gICAgc2V0dGluZ3Muc2V0QWxsb3dzQWx0
ZXJuYXRlRnVsbHNjcmVlbihbcHJlZmVyZW5jZXMgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbl0g
JiYgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkpOworICAgIHNldHRpbmdzLnNldEFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10gJiYgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2Ny
ZWVuKCkpOwogICAgIHNldHRpbmdzLnNldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhb
cHJlZmVyZW5jZXMgc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nXSk7CiAgICAgc2V0dGlu
Z3Muc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGJhY2tzcGFj
ZUtleU5hdmlnYXRpb25FbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0V2FudHNCYWxhbmNlZFNl
dERlZmVyc0xvYWRpbmdCZWhhdmlvcihbcHJlZmVyZW5jZXMgd2FudHNCYWxhbmNlZFNldERlZmVy
c0xvYWRpbmdCZWhhdmlvcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmgKaW5kZXggNTY5MjFkOTQzMGY5YWVhMDliOWM2NmM1ZDI1Zjhh
NDU3MzNlOTkzOS4uMzAwYjYwNzFiMWFmNjdmYTg2Y2RlYTE1YjY3OGNlNWQwNmRlYTE5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
CkBAIC0xMzAsNyArMTMwLDcgQEAKICAgICBtYWNybyhBVkZvdW5kYXRpb25FbmFibGVkLCBpc0FW
Rm91bmRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhSZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlh
UGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9N
RURJQV9QTEFZQkFDSykgXAogICAgIG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFs
bG93c0lubGluZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElO
RV9NRURJQV9QTEFZQkFDSykgXAotICAgIG1hY3JvKEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4s
IGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4sIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNy
byhBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaywgYWxsb3dzUGljdHVyZUluUGlj
dHVyZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhBbGxvd3NB
aXJQbGF5Rm9yTWVkaWFQbGF5YmFjaywgYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2ssIEJv
b2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgaW5z
cGVjdG9yU3RhcnRzQXR0YWNoZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhTaG93
c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgc2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMTBlYzc3NzQ4MzI0NDgxMTVkNDNhNGNmMGE5MjBk
NmFkNDhlODc0Zi4uZTBlNTkyMmFmZDgzM2VkY2Q4OWJhMWIzOTgzY2QzNGQ5NTM3YzM2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtNzQ4LDE2ICs3NDgsNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXliYWNrQWxs
b3dzSW5saW5lKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93c0lubGluZU1lZGlhUGxheWJhY2soKTsKIH0KIAot
dm9pZCBXS1ByZWZlcmVuY2VzU2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCi17Ci0gICAgdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihmbGFnKTsKLX0KLQotYm9vbCBX
S1ByZWZlcmVuY2VzR2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKQotewotICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5h
bGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKCk7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNo
b3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG93c1Rv
b2xUaXBPdmVyVHJ1bmNhdGVkVGV4dChmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggYmExOGIy
ZmQ3MzBhNDkzZDFjZDFiY2E1MjZjZDVmOTY0ZDU4MDU1Ny4uMGM5ZTkzNTFhNDFhOGExNTBmMWZj
ZjI3NDRiNmFiZmMxZjcwY2E5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTE3OSwxMCArMTc5LDYg
QEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5
YmFja0FsbG93c0lubGluZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIAotLy8g
RGVmYXVsdHMgdG8gdHJ1ZS4KLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wg
ZmxhZyk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWxsb3dzQWx0ZXJuYXRlRnVs
bHNjcmVlbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKLQogLy8gRGVmYXVsdHMg
dG8gZmFsc2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvd3NUb29sVGlwT3Zl
clRydW5jYXRlZFRleHQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNh
dGVkVGV4dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTU3YmZjZWUyYmRi
YTFhMzI3MTc0ZTBhM2NiOTIyMzY5ZGEyZjI4Mi4uOThiZmMzNGE2Njg5MzM5NmM0M2ZiMjVmYTM3
Mzg1MjU2MTI1ZDk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KQEAgLTMyMyw3ICszMjMsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxv
d0FsdGVybmF0ZUZ1bGxzY3JlZW4oKQogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLmFsd2F5c1J1
bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IFtfY29uZmlndXJhdGlvbiBfYWx3YXlzUnVuc0F0Rm9y
ZWdyb3VuZFByaW9yaXR5XTsKIAogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLnByZWZlcmVuY2VW
YWx1ZXMuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmln
dXJhdGlvbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSkpOwotICAgIHdlYlBhZ2VDb25maWd1
cmF0aW9uLnByZWZlcmVuY2VWYWx1ZXMuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFs
bG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFja10gJiYgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkpKTsKKyAgICB3ZWJQYWdl
Q29uZmlndXJhdGlvbi5wcmVmZXJlbmNlVmFsdWVzLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrXSAmJiBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4o
KSkpOwogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLnByZWZlcmVuY2VWYWx1ZXMuc2V0KFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNr
S2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRp
b24gcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFja10pKTsKICNlbmRpZgogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjRhOWRlYzY1NTQ5Y2FhOTkyNWNhNmI5NWZi
MDhjOGNkMmQwYWQyOC4uYjdkNjYxZmYzMTQ3YWJiOGZiZmUzYmY4ODBjZTM0ZGYxNGFiOTJhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
Mjc5NSw3ICsyNzk1LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZDJk
Q2FudmFzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRSZXF1
aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5
KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFja0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0FsdGVybmF0
ZUZ1bGxzY3JlZW5LZXkoKSkpOworICAgIHNldHRpbmdzLnNldEFsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRp
bmdzLnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6aHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy5zZXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZEtl
eSgpKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255077</attachid>
            <date>2015-06-17 19:48:05 -0700</date>
            <delta_ts>2015-06-18 16:37:33 -0700</delta_ts>
            <desc>Update MediaElementSession::allowsAlternateFullscreen</desc>
            <filename>bug-146095-20150617194728.patch</filename>
            <type>text/plain</type>
            <size>4415</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9F
bGVtZW50LmNwcAppbmRleCAzNjMyNjZkZGU5ZDAxOWJjNDkzYzAyZDQ2NjYzMjc0YzhlNTRmODZk
Li45NDc5NWM1MmViMWNmYTJhNGE2NTVkOWFmYjg5MTUzYTMxN2UwNzRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAgLTM2OSw3ICszNjksNyBAQCBib29sIEhU
TUxWaWRlb0VsZW1lbnQ6OndlYmtpdFN1cHBvcnRzUHJlc2VudGF0aW9uTW9kZShjb25zdCBTdHJp
bmcmIG1vZGUpIGNvbnN0CiAgICAgICAgIHJldHVybiBtZWRpYVNlc3Npb24oKS5mdWxsc2NyZWVu
UGVybWl0dGVkKCp0aGlzKSAmJiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsKIAogICAgIGlmIChtb2Rl
ID09IHByZXNlbnRhdGlvbk1vZGVQaWN0dXJlSW5QaWN0dXJlKCkpCi0gICAgICAgIHJldHVybiB3
a0lzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpICYmIG1lZGlhU2Vzc2lvbigpLmFsbG93c0Fs
dGVybmF0ZUZ1bGxzY3JlZW4oKnRoaXMpICYmIHN1cHBvcnRzRnVsbHNjcmVlbigpOworICAgICAg
ICByZXR1cm4gd2tJc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSAmJiBtZWRpYVNlc3Npb24o
KS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlKCp0aGlzKSAmJiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsK
IAogICAgIGlmIChtb2RlID09IHByZXNlbnRhdGlvbk1vZGVJbmxpbmUoKSkKICAgICAgICAgcmV0
dXJuICFtZWRpYVNlc3Npb24oKS5yZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCp0
aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4
IDVlZjQ3MmE5MDFmNzFmZDUyOTE4ZGY1MTQ3MjI5ZDI3ZmU2YjIwZWEuLmQwMjdiYzBmMjM1NWQ0
MTlhMzNiZjllODFiMGY0Yjk3NmE5YjRkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMzc5LDcgKzM3OSw3IEBAIHZvaWQgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6bWVkaWFFbmdpbmVVcGRhdGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1l
bnQpCiAgICAgCiB9CiAKLWJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzQWx0ZXJuYXRl
RnVsbHNjcmVlbihjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdAorYm9vbCBN
ZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlKGNvbnN0IEhUTUxNZWRp
YUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZWxl
bWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCk7CiAgICAgcmV0dXJuIHNldHRpbmdzICYmIHNldHRp
bmdzLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCBhMzQ1NmI4MmJkMWExODAxZmQ4ZmVk
ZTNmOTkwNGEyYWJjYjEyZTkwLi4wYTk4ODE5Mzg0YzBlZDU4ZDNlOWZhNzI2N2Q1NjRmODhkY2Vh
NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtNjks
NyArNjksNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGJvb2wgcmVxdWlyZXNGdWxsc2NyZWVu
Rm9yVmlkZW9QbGF5YmFjayhjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgYm9vbCBhbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKGNvbnN0IEhUTUxNZWRp
YUVsZW1lbnQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFsbG93c1BpY3R1cmVJ
blBpY3R1cmUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpIGNvbnN0OwogICAgIE1lZGlhUGxheWVy
OjpQcmVsb2FkIGVmZmVjdGl2ZVByZWxvYWRGb3JFbGVtZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1l
bnQmKSBjb25zdDsKIAogICAgIHZvaWQgbWVkaWFFbmdpbmVVcGRhdGVkKGNvbnN0IEhUTUxNZWRp
YUVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDU3MTBkNDZl
NjUxNjBhYmRiMWUwYjk2MzdjYTlkNTM3NDk5ZGY1OWQuLmQxOTdiM2ViZGUwOWIzN2ZjYzNhMDdm
OTM3YzcyOGZkMmM4YzhhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpAQCAt
NTE4LDcgKzUxOCw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6
OnNldFVwRnVsbHNjcmVlbihIVE1MVmlkZW9FbGVtZW50JiB2aWRlCiAgICAgICAgIG1fbW9kZWwt
PnNldFZpZGVvRWxlbWVudChtX3ZpZGVvRWxlbWVudC5nZXQoKSk7CiAgICAgICAgIG1fdmlkZW9G
dWxsc2NyZWVuTGF5ZXIgPSBbQ0FMYXllciBsYXllcl07CiAgICAgICAgIAotICAgICAgICBib29s
IGFsbG93c1BpY3R1cmVJblBpY3R1cmUgPSBtX3ZpZGVvRWxlbWVudC0+bWVkaWFTZXNzaW9uKCku
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbigqbV92aWRlb0VsZW1lbnQuZ2V0KCkpOworICAgICAg
ICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUgPSBtX3ZpZGVvRWxlbWVudC0+bWVkaWFTZXNz
aW9uKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZSgqbV92aWRlb0VsZW1lbnQuZ2V0KCkpOwogICAg
ICAgICBJbnRSZWN0IHZpZGVvRWxlbWVudENsaWVudFJlY3QgPSBtX3ZpZGVvRWxlbWVudC0+Y2xp
ZW50UmVjdCgpOwogICAgICAgICAKICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgW3N0cm9uZ1RoaXMsIHRoaXMsIHZpZGVvRWxlbWVudENsaWVudFJlY3Qs
IHZpZXdSZWYsIG1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1cmVdIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tCmluZGV4IGYxMDQzOTcwYWNmMmE0OTczMDU0ZmNjMzBjYzc2NWIxY2YxZGZmYzUuLjRmZGI2
NGFmODU0MjFmMWEyZDZkNTg1MDIyNWYwZmI2MmRmNWM1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5t
bQpAQCAtMjQwLDcgKzI0MCw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6ZW50
ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoSFRNTFZpZGVvRWxlCiAgICAgICAgIHJl
dHVybjsKICAgICBpbnRlcmZhY2UtPnNldElzQW5pbWF0aW5nKHRydWUpOwogCi0gICAgYm9vbCBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlID0gdmlkZW9FbGVtZW50Lm1lZGlhU2Vzc2lvbigpLmFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW4odmlkZW9FbGVtZW50KTsKKyAgICBib29sIGFsbG93c1BpY3R1
cmVJblBpY3R1cmUgPSB2aWRlb0VsZW1lbnQubWVkaWFTZXNzaW9uKCkuYWxsb3dzUGljdHVyZUlu
UGljdHVyZSh2aWRlb0VsZW1lbnQpOwogICAgIAogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29u
dGV4dElkLCBpbnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIGNs
aWVudFJlY3RGb3JFbGVtZW50KCZ2aWRlb0VsZW1lbnQpLCBtX3BhZ2UtPmRldmljZVNjYWxlRmFj
dG9yKCksIGludGVyZmFjZS0+ZnVsbHNjcmVlbk1vZGUoKSwgYWxsb3dzUGljdHVyZUluUGljdHVy
ZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255078</attachid>
            <date>2015-06-17 19:48:09 -0700</date>
            <delta_ts>2015-06-18 16:37:28 -0700</delta_ts>
            <desc>Add WebPreferences allowsPictureInPictureMediaPlayback; refactor alternate fullscreen to use that. Later patch will remove the preference since it is being used by another framework</desc>
            <filename>bug-146095-20150617194733.patch</filename>
            <type>text/plain</type>
            <size>1706</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQppbmRleCA3NzI5ZWQ5ODc3N2EwNjc0ZDlhMGE2NTNiZDhjNTMzYjgy
ZDhkMjcxLi43ZmE4MmQ4NmFhOTJlZTBjNjljNDhiNmM5MmI0NWM4YTNlMTUxNWVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTIxOTcsMTEgKzIx
OTcsMjEgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogCiAtIChC
T09MKWFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4KIHsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xW
YWx1ZUZvcktleTpXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja1ByZWZl
cmVuY2VLZXldOworICAgIHJldHVybiBbc2VsZiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFja107CiB9CiAKIC0gKHZvaWQpc2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbjooQk9P
TClmbGFnCiB7CisgICAgW3NlbGYgc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2s6ZmxhZ107Cit9CisKKy0gKEJPT0wpYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2sKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRBbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNl
dEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOihCT09MKWZsYWcKK3sKICAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDZlYjI5NzZmYjk3ODU4
MGNkZjIyYjgwYWY1MDY0MTExZmYyZjQ5N2QuLjM0Nzc2OWVkZDRkOGJkYWMwZjY4NGE5NjgxN2Nm
MWIzMmU3NzMxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaApAQCAtMjUzLDYgKzI1Myw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9p
ZClzZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuOihCT09MKWZsYWc7CiAtIChCT09MKWFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW47CiAKKy0gKHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2s6KEJPT0wpZmxhZzsKKy0gKEJPT0wpYWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2s7CisKIC0gKE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7CiAt
ICh2b2lkKXNldFBpY3RvZ3JhcGhGb250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255079</attachid>
            <date>2015-06-17 19:48:14 -0700</date>
            <delta_ts>2015-06-18 16:37:23 -0700</delta_ts>
            <desc>Update shouldAllowAlternateFullscreen</desc>
            <filename>bug-146095-20150617194738.patch</filename>
            <type>text/plain</type>
            <size>3857</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggNTk4NmY5OTJlODlkMGQxNzY1MGRmZmNhNWVhYTc4NGI0YzE0MTk5Ny4uMTVlM2I3
NDkwNjJjNWU5YmJjNmJmYzhiZTYzZmIxMGI1YzdmMDk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQpAQCAtODUxLDExICs4NTEsMTEgQEAgc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50KCkKICAgICByZXR1cm4gc2hvdWxk
QWxsb3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50OwogfQogCi1zdGF0aWMgYm9v
bCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4oKQorc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYgUExBVEZPUk0oSU9TKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMAotICAgIHN0YXRpYyBi
b29sIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbiA9IGlvc0V4ZWN1dGFibGVXYXNMaW5r
ZWRPbk9yQWZ0ZXJWZXJzaW9uKHdrSU9TU3lzdGVtVmVyc2lvbl85XzApOwotICAgIHJldHVybiBz
aG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW47CisgICAgc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IGlvc0V4ZWN1dGFibGVXYXNMaW5rZWRP
bk9yQWZ0ZXJWZXJzaW9uKHdrSU9TU3lzdGVtVmVyc2lvbl85XzApOworICAgIHJldHVybiBzaG91
bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwogI2Vsc2UKICAgICByZXR1cm4g
ZmFsc2U7CiAjZW5kaWYKQEAgLTIyOTQsNyArMjI5NCw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2Vs
ZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKIAogICAgIHNldHRpbmdzLnNldFJlcXVpcmVzVXNl
ckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVdKTsKLSAgICBzZXR0aW5n
cy5zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgYWxs
b3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93QWx0ZXJuYXRl
RnVsbHNjcmVlbigpKTsKKyAgICBzZXR0aW5ncy5zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSk7CiAgICAg
c2V0dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKFtwcmVmZXJlbmNlcyBz
dXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmddKTsKICAgICBzZXR0aW5ncy5zZXRCYWNrc3Bh
Y2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgYmFja3NwYWNlS2V5TmF2aWdhdGlv
bkVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGlu
Z0JlaGF2aW9yKFtwcmVmZXJlbmNlcyB3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2
aW9yXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IDk4YmZjMzRhNjY4OTMzOTZjNDNmYjI1ZmEzNzM4NTI1NjEyNWQ5NDAuLjcwNDEx
MjI4MjIxYmQ3MmFmZDVkZWRjNjg1MDJjZDYxOWM2ZjQ5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNjIsMTEgKzI2MiwxMSBA
QCBzdGF0aWMgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbigpCiAjZW5kaWYKIH0KIAotc3RhdGlj
IGJvb2wgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkKK3N0YXRpYyBib29sIHNob3Vs
ZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogewogI2lmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMDAwCi0gICAgc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dBbHRlcm5hdGVGdWxsc2NyZWVuID0gaW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JBZnRlclZl
cnNpb24od2tJT1NTeXN0ZW1WZXJzaW9uXzlfMCk7Ci0gICAgcmV0dXJuIHNob3VsZEFsbG93QWx0
ZXJuYXRlRnVsbHNjcmVlbjsKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrID0gaW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JBZnRlclZlcnNp
b24od2tJT1NTeXN0ZW1WZXJzaW9uXzlfMCk7CisgICAgcmV0dXJuIHNob3VsZEFsbG93UGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2s7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKICNlbmRp
ZgpAQCAtMzIzLDcgKzMyMyw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVs
bHNjcmVlbigpCiAgICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24uYWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5ID0gW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHldOwogCiAgICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZVZhbHVlcy5zZXQoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0tleSgpLCBX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93
c0lubGluZU1lZGlhUGxheWJhY2tdKSk7Ci0gICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucHJlZmVy
ZW5jZVZhbHVlcy5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpW
YWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
a10gJiYgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkpKTsKKyAgICB3ZWJQYWdlQ29u
ZmlndXJhdGlvbi5wcmVmZXJlbmNlVmFsdWVzLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
OjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrXSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrKCkpKTsKICAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5wcmVmZXJlbmNlVmFsdWVzLnNl
dChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25m
aWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2tdKSk7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255090</attachid>
            <date>2015-06-17 23:25:48 -0700</date>
            <delta_ts>2015-06-18 09:38:51 -0700</delta_ts>
            <desc>Patch for submission</desc>
            <filename>bug-146095-20150617232512.patch</filename>
            <type>text/plain</type>
            <size>60540</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRhYTBmYzFiYzA3ZGNi
YTIyOTNlMmI4NTI1Y2VkMzk3ZjgyYjM2Mi4uYzcyNTM1NjU1ZmJkZDc2ODI3ODdhZjVlM2FhNTA2
Mzk2YjM0MTUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA2LTE3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQVZLaXQgdXNhZ2Ugb2Yg
cGlwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYw
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMzg2ODUzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgaW5jbHVkZToKKyAgICAgICAg
LSBSZW5hbWUgZW51bSBWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkIHRvIFZpZGVvRnVsbHNj
cmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlCisgICAgICAgIC0gUmVuYW1lIHdrSXNPcHRpbWl6ZWRG
dWxsc2NyZWVuU3VwcG9ydGVkIHRvIHdrSXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkCisgICAg
ICAgIC0gUmVuYW1lIE1lZGlhRWxlbWVudFNlc3Npb246OmFsbG93c0FsdGVybmF0ZUZ1bGxzY3Jl
ZW4gdG8gYWxsb3dzUGljdHVyZUluUGljdHVyZQorICAgICAgICAtIFJlbmFtZSBTZXR0aW5nczo6
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiB0byBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjaworICAgICAgICAtIFVwZGF0ZSBBVktpdCBjYWxscyBhbmQgQVZLaXRTUEkuaAorICAg
ICAgICAtIFJlbmFtZSBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdCBkZWxlZ2F0ZSBm
dW5jdGlvbnMgYW5kIG1lbWJlciB2YXJpYWJsZXMKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MuaW46CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJFbnVtcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgICogcGxhdGZv
cm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oOiBSZW1vdmUgdW51c2VkIHNl
dElzT3B0aW1pemVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEku
aDogUmVtb3ZlIHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvQVZG
b3VuZGF0aW9uU1BJLmg6CisKIDIwMTUtMDYtMTcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogaW5wdXQgcm9sZT0ic3BpbmJ1dHRvbiIgZ2V0cyBz
a2lwcGVkIGluIHZvaWNlb3ZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDNjYzJhMTgyZjQ5M2ZmOGQ4
OTU5ZTgzOGUyYjMyNmMyYzc3YmI3MjQuLmI1MTExNjRjNmYwOWQ1ZTkxZTgyM2I4NWRjYjBlYWYw
ZDdiYjAyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNS0wNi0xNyAg
Sm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIEFWS2l0IHVzYWdl
IG9mIHBpcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ2MDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTM4Njg1Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIGluY2x1ZGU6CisgICAg
ICAgIC0gUmVuYW1lIHdrSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9ydGVkIHRvIHdrSXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkCisgICAgICAgIC0gUmVuYW1lIHByZWZlcmVuY2Uga2V5Cisg
ICAgICAgIC0gUmVuYW1lIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbiB0byBzaG91bGRB
bGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBhbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuXSk6IENh
bGwgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2suCisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW46XSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrXSk6IEFkZGVk
LgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjazpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
OgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAxNS0wNi0xNyAgQ29tbWl0IFF1
ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjE4NTYzNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4MTRmZTNjM2M1ZjE0NzUyYzFiYmUwNDdj
Yjk0MmU5MDMxZjgyM2VlLi5mOTEzZTFmZmIxZjQ4NWMxNTVmOGM5YjU0ZDcyYzg2NzBiODdhMTkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTUtMDYtMTcgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBBVktpdCB1c2FnZSBvZiBwaXAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjA5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjEzODY4NTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyBpbmNsdWRlOgorICAgICAgICAtIFJlbmFtZSB3
a0lzT3B0aW1pemVkRnVsbHNjcmVlblN1cHBvcnRlZCB0byB3a0lzUGljdHVyZUluUGljdHVyZVN1
cHBvcnRlZAorICAgICAgICAtIFJlbmFtZSBwcmVmZXJlbmNlIGtleQorICAgICAgICAtIFJlbmFt
ZSBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4gdG8gc2hvdWxkQWxsb3dQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjaworCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
aW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6
IFJlbW92ZSB1bnVzZWQgcHJlZmVyZW5jZSBjYWxscy4KKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNHZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pc1No
b3dpbmdWaWRlb1BpY3R1cmVJblBpY3R1cmVdKTogUmVuYW1lZC4KKyAgICAgICAgKC1bV0tXZWJW
aWV3IF9pc1Nob3dpbmdWaWRlb09wdGltaXplZF0pOiBEZWxldGVkLgorICAgICAgICAoLVtXS1dl
YlZpZXcgX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlXSk6IFJlbmFt
ZWQuCisgICAgICAgICgtW1dLV2ViVmlldyBfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGlt
aXplZF0pOiBEZWxldGVkLgorICAgICAgICAoc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayk6IFJlbmFtZWQuCisgICAgICAgIChzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxz
Y3JlZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
SW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
Lmg6IFJlbmFtZSBsb2NhbCB2YXJpYWJsZXMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxseVNob3dW
aWRlb1BpY3R1cmVJblBpY3R1cmUpOiBSZW5hbWVkLgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dl
YlN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdl
ci5tbToKKwogMjAxNS0wNi0xNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gRXhwb3NlIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpjbG9zZSB2aWEgV0tV
SURlbGVnYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0
MDgzNWEzOTIwZDA1NmUzNWM4MTA2ZjBkOTNlNzhjZDRjZTczZGViLi4wZWM3ODhmYmUzOWJkMWU5
MDkxZWJhYTQ0ZjExZDJkMWJiNDhmNjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKQEAgLTYyMTIsNyArNjIxMiw3IEBAIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpE
aXNwbGF5VHlwZSBIVE1MTWVkaWFFbGVtZW50OjpkaXNwbGF5VHlwZSgpIGNvbnN0CiB7CiAgICAg
aWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQp
CiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6RnVsbHNjcmVlbjsKLSAgICBp
ZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkK
KyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1
cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6T3B0aW1p
emVkOwogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9k
ZU5vbmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9ybWFsOwpAQCAt
NjI4NSwxMCArNjI4NSwxMCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om92ZXJyaWRlQmFja2dy
b3VuZFBsYXliYWNrUmVzdHJpY3Rpb24oKSBjb25zdAogICAgIGlmIChtX3BsYXllciAmJiBtX3Bs
YXllci0+aXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKICNlbmRpZgotICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgJiBWaWRlb0Z1bGxz
Y3JlZW5Nb2RlT3B0aW1pemVkKQorICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgJiBWaWRl
b0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAj
aWYgUExBVEZPUk0oSU9TKQotICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gVmlkZW9G
dWxsc2NyZWVuTW9kZVN0YW5kYXJkICYmIHdrSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9ydGVk
KCkgJiYgaXNQbGF5aW5nKCkpCisgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRl
b0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQgJiYgd2tJc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQo
KSAmJiBpc1BsYXlpbmcoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCAx
NzhhNjMzNmIyZGYyMGZkNWE3MzkxNDM4OTAxOGVlNzEwN2ZkYTEyLi45NDc5NWM1MmViMWNmYTJh
NGE2NTVkOWFmYjg5MTUzYTMxN2UwNzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5jcHAKQEAgLTM2OSw3ICszNjksNyBAQCBib29sIEhUTUxWaWRlb0VsZW1lbnQ6Ondl
YmtpdFN1cHBvcnRzUHJlc2VudGF0aW9uTW9kZShjb25zdCBTdHJpbmcmIG1vZGUpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBtZWRpYVNlc3Npb24oKS5mdWxsc2NyZWVuUGVybWl0dGVkKCp0aGlzKSAm
JiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsKIAogICAgIGlmIChtb2RlID09IHByZXNlbnRhdGlvbk1v
ZGVQaWN0dXJlSW5QaWN0dXJlKCkpCi0gICAgICAgIHJldHVybiB3a0lzT3B0aW1pemVkRnVsbHNj
cmVlblN1cHBvcnRlZCgpICYmIG1lZGlhU2Vzc2lvbigpLmFsbG93c0FsdGVybmF0ZUZ1bGxzY3Jl
ZW4oKnRoaXMpICYmIHN1cHBvcnRzRnVsbHNjcmVlbigpOworICAgICAgICByZXR1cm4gd2tJc1Bp
Y3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSAmJiBtZWRpYVNlc3Npb24oKS5hbGxvd3NQaWN0dXJl
SW5QaWN0dXJlKCp0aGlzKSAmJiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsKIAogICAgIGlmIChtb2Rl
ID09IHByZXNlbnRhdGlvbk1vZGVJbmxpbmUoKSkKICAgICAgICAgcmV0dXJuICFtZWRpYVNlc3Np
b24oKS5yZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCp0aGlzKTsKQEAgLTM5Miw3
ICszOTIsNyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OndlYmtpdFNldFByZXNlbnRhdGlvbk1v
ZGUoY29uc3QgU3RyaW5nJiBtb2RlKQogICAgIGlmIChtb2RlID09IHByZXNlbnRhdGlvbk1vZGVG
dWxsc2NyZWVuKCkpCiAgICAgICAgIGVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQpOwogICAgIGVsc2UgaWYgKG1vZGUgPT0gcHJlc2VudGF0aW9uTW9kZVBpY3R1cmVJ
blBpY3R1cmUoKSkKLSAgICAgICAgZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGVP
cHRpbWl6ZWQpOworICAgICAgICBlbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9kZVBp
Y3R1cmVJblBpY3R1cmUpOwogfQogCiBTdHJpbmcgSFRNTFZpZGVvRWxlbWVudDo6d2Via2l0UHJl
c2VudGF0aW9uTW9kZSgpIGNvbnN0CkBAIC00MDIsNyArNDAyLDcgQEAgU3RyaW5nIEhUTUxWaWRl
b0VsZW1lbnQ6OndlYmtpdFByZXNlbnRhdGlvbk1vZGUoKSBjb25zdAogICAgIGlmIChtb2RlID09
IFZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkKICAgICAgICAgcmV0dXJuIHByZXNlbnRhdGlv
bk1vZGVGdWxsc2NyZWVuKCk7CiAKLSAgICBpZiAobW9kZSAmIFZpZGVvRnVsbHNjcmVlbk1vZGVP
cHRpbWl6ZWQpCisgICAgaWYgKG1vZGUgJiBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGlj
dHVyZSkKICAgICAgICAgcmV0dXJuIHByZXNlbnRhdGlvbk1vZGVQaWN0dXJlSW5QaWN0dXJlKCk7
CiAKICAgICBpZiAobW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDBkNDNmY2Q4ZmU4MzZmN2M1
MDVkYTg5YjUzNDdjZDlkZGVmYmZjOGQuLmQwMjdiYzBmMjM1NWQ0MTlhMzNiZjllODFiMGY0Yjk3
NmE5YjRkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cApAQCAtMzc5LDEwICszNzksMTAgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjptZWRpYUVu
Z2luZVVwZGF0ZWQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKICAgICAKIH0KIAot
Ym9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKGNvbnN0
IEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Citib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmFsbG93c1BpY3R1cmVJblBpY3R1cmUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVu
dCkgY29uc3QKIHsKICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBlbGVtZW50LmRvY3VtZW50KCku
c2V0dGluZ3MoKTsKLSAgICByZXR1cm4gc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmFsbG93c0FsdGVy
bmF0ZUZ1bGxzY3JlZW4oKTsKKyAgICByZXR1cm4gc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCk7CiB9CiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCBh
MzQ1NmI4MmJkMWExODAxZmQ4ZmVkZTNmOTkwNGEyYWJjYjEyZTkwLi4wYTk4ODE5Mzg0YzBlZDU4
ZDNlOWZhNzI2N2Q1NjRmODhkY2VhNjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGJv
b2wgcmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayhjb25zdCBIVE1MTWVkaWFFbGVt
ZW50JikgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd3NBbHRlcm5hdGVGdWxs
c2NyZWVuKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpIGNv
bnN0OwogICAgIE1lZGlhUGxheWVyOjpQcmVsb2FkIGVmZmVjdGl2ZVByZWxvYWRGb3JFbGVtZW50
KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKSBjb25zdDsKIAogICAgIHZvaWQgbWVkaWFFbmdpbmVV
cGRhdGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAK
aW5kZXggMzllMmFkZDM1Y2YwYWI2NzlmYzNkNzNkOGNjYjhkYTE4YThjMjk4Yy4uZjI4NDQwOWY4
OGI1MGQzNTg2Y2FmZWM2ODVhZWQ1MTdjYjg2ODA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0SW1hZ2VTdWJz
YW1wbGluZ0VuYWJsZWQgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTY3JvbGxp
bmdUcmVlSW5jbHVkZXNGcmFtZXMgPSBmYWxzZTsKICNlbmRpZgogCi1zdGF0aWMgY29uc3QgYm9v
bCBkZWZhdWx0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiA9IHRydWU7CitzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dEluU2Vjb25kcyA9IDU7CiAjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVDS0lORykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDAyOTY5NDdiMjRiMTFlNWM5NDg1ODgzYTg2NGMz
Y2RiOWJmYjliNTEuLjhkNzE3MzMxMGQzNTY3NjYyMDEwNzc2ZWJjMDJiMmI5MzZlZTQ5MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMTI4LDcgKzEyOCw3IEBAIGFsbG93UnVubmluZ09m
SW5zZWN1cmVDb250ZW50IGluaXRpYWw9ZmFsc2UKIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrIGluaXRpYWw9ZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXli
YWNrCiBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSBpbml0aWFsPWRlZmF1bHRBdWRp
b1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQogYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayBp
bml0aWFsPWRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrCi1hbGxvd3NBbHRlcm5hdGVG
dWxsc2NyZWVuIGluaXRpYWw9ZGVmYXVsdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4KK2FsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrIGluaXRpYWw9ZGVmYXVsdEFsbG93c1BpY3R1
cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrCiBwYXNzd29yZEVjaG9FbmFibGVkIGluaXRpYWw9ZmFs
c2UKIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyBpbml0aWFsPWZhbHNlCiBpbmNyZW1l
bnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5p
dGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyRW51bXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
RW51bXMuaAppbmRleCBkMWFhMDEyMGY1YTNjNjgyMGU4NjVjM2Y0MzFiZmMwNWFmOGM1ZTNjLi4z
NDg2YmUzZWIxOTBjZWQzMjUzMmI3YTZhYzZlMGUzNzk3ZDA2ZGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJFbnVtcy5oCkBAIC0zOCw3
ICszOCw3IEBAIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgVmlkZW9GdWxsc2NyZWVuTW9k
ZU5vbmUgPSAwLAogICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQgPSAxIDw8IDAs
Ci0gICAgICAgIFZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQgPSAxIDw8IDEsCisgICAgICAg
IFZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlID0gMSA8PCAxLAogICAgIH07CiAg
ICAgdHlwZWRlZiB1aW50MzJfdCBWaWRlb0Z1bGxzY3JlZW5Nb2RlOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCmluZGV4IDRmNTRkYmQ0MzZlZGI3Y2ZhN2FkYWUxNmE5MWI4ZmUwODljNDA4NTgu
LjcwZWYzZGUyZmUxMmIyNGIzY2NkMTJmYWI4NWNlNDBlNzVkY2Q4MWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbQpAQCAtNjkzLDggKzY5Myw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5ZXJMYXllcigpCiAgICAgICAgIFttX3ZpZGVvSW5s
aW5lTGF5ZXIgaW5zZXJ0U3VibGF5ZXI6bV92aWRlb0xheWVyLmdldCgpIGF0SW5kZXg6MF07CiAg
ICAgICAgIFttX3ZpZGVvTGF5ZXIgc2V0RnJhbWU6bV92aWRlb0lubGluZUxheWVyLmdldCgpLmJv
dW5kc107CiAgICAgfQotICAgIGlmIChbbV92aWRlb0xheWVyIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Ioc2V0RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6KV0pCi0gICAg
ICAgIFttX3ZpZGVvTGF5ZXIgc2V0RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVuTW9kZUVuYWJsZWQ6
KHBsYXllcigpLT5mdWxsc2NyZWVuTW9kZSgpICYgTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVl
bk1vZGVPcHRpbWl6ZWQpXTsKKyAgICBpZiAoW21fdmlkZW9MYXllciByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldFBJUE1vZGVFbmFibGVkOildKQorICAgICAgICBbbV92aWRlb0xheWVy
IHNldFBJUE1vZGVFbmFibGVkOihwbGF5ZXIoKS0+ZnVsbHNjcmVlbk1vZGUoKSAmIE1lZGlhUGxh
eWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSldOwogI2Vsc2UKICAgICBb
bV92aWRlb0xheWVyIHNldEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgZGVmYXVsdFNpemUud2lkdGgo
KSwgZGVmYXVsdFNpemUuaGVpZ2h0KCkpXTsKICNlbmRpZgpAQCAtMTE4Niw4ICsxMTg2LDggQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRWaWRlb0Z1bGxzY3Jl
ZW5HcmF2aXR5KE1lZGlhUGxheWVyOjoKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlIG1vZGUpCiB7Ci0gICAgaWYgKG1fdmlkZW9MYXllciAmJiBbbV92aWRlb0xheWVy
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RW50ZXJPcHRpbWl6ZWRGdWxsc2NyZWVu
TW9kZUVuYWJsZWQ6KV0pCi0gICAgICAgIFttX3ZpZGVvTGF5ZXIgc2V0RW50ZXJPcHRpbWl6ZWRG
dWxsc2NyZWVuTW9kZUVuYWJsZWQ6KG1vZGUgJiBNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVu
TW9kZU9wdGltaXplZCldOworICAgIGlmIChtX3ZpZGVvTGF5ZXIgJiYgW21fdmlkZW9MYXllciBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFBJUE1vZGVFbmFibGVkOildKQorICAgICAg
ICBbbV92aWRlb0xheWVyIHNldFBJUE1vZGVFbmFibGVkOihtb2RlICYgTWVkaWFQbGF5ZXI6OlZp
ZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKV07CiB9CiAKIE5TQXJyYXkgKk1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRpbWVkTWV0YWRhdGEoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2VJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlSU9TLmgKaW5kZXggMGRhZDBiZmMxOTIzY2U4MDJlNGVhODZiNjFhNTk2OWM0YjY4ODViZi4u
MWMxN2M1Zjg5OWE1MTc4MGRlNTAyNjRhYzgwOWU3ZDVmYmU0MDJhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5o
CkBAIC03Niw2ICs3Niw2IEBAIGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0T1NOYW1lRm9yVXNl
ckFnZW50KSh2b2lkKTsKIGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0UGxhdGZvcm1OYW1lRm9y
TmF2aWdhdG9yKSh2b2lkKTsKIGV4dGVybiBDRlN0cmluZ1JlZiAoKndrR2V0VmVuZG9yTmFtZUZv
ck5hdmlnYXRvcikodm9pZCk7CiAKLWV4dGVybiBib29sICgqd2tJc09wdGltaXplZEZ1bGxzY3Jl
ZW5TdXBwb3J0ZWQpKHZvaWQpOworZXh0ZXJuIGJvb2wgKCp3a0lzUGljdHVyZUluUGljdHVyZVN1
cHBvcnRlZCkodm9pZCk7CiAKICNlbmRpZiAvLyBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1J
bnRlcmZhY2VJT1MubW0KaW5kZXggZTFlOWQ5Mjc3YmI0YzBiMTIxOTU3M2Q4OTFjYTliYjVmODc1
Y2Y5Mi4uZjY5MzRkOGQ2NmZiMTVhYzcyOTA5YzljZTMxZDgxYjFjZTAzZWNmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2VJT1MubW0KQEAgLTExNiw3ICsxMTYsNyBAQCBXRUJDT1JFX0VYUE9SVCBDRlN0cmluZ1JlZiAo
KndrR2V0T1NOYW1lRm9yVXNlckFnZW50KSh2b2lkKTsKIFdFQkNPUkVfRVhQT1JUIENGU3RyaW5n
UmVmICgqd2tHZXRQbGF0Zm9ybU5hbWVGb3JOYXZpZ2F0b3IpKHZvaWQpOwogV0VCQ09SRV9FWFBP
UlQgQ0ZTdHJpbmdSZWYgKCp3a0dldFZlbmRvck5hbWVGb3JOYXZpZ2F0b3IpKHZvaWQpOwogCi1X
RUJDT1JFX0VYUE9SVCBib29sICgqd2tJc09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQpKHZv
aWQpOworV0VCQ09SRV9FWFBPUlQgYm9vbCAoKndrSXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVk
KSh2b2lkKTsKIAogV0VCQ09SRV9FWFBPUlQgaW50ICgqd2tFeGVybmFsRGV2aWNlVHlwZUZvclBs
YXllcikoQVZQbGF5ZXIgKik7CiBXRUJDT1JFX0VYUE9SVCBOU1N0cmluZyAqKCp3a0V4ZXJuYWxE
ZXZpY2VEaXNwbGF5TmFtZUZvclBsYXllcikoQVZQbGF5ZXIgKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJBVktpdC5tbQppbmRleCAxN2I2NzJmYmRkZTBhZjc2OWVjNzI2YjhmMDRlNDhjNDJlYzcz
NmFiLi5kMTk3YjNlYmRlMDliMzdmY2MzYTA3ZjkzN2M3MjhmZDJjOGM4YTllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyQVZLaXQubW0KQEAgLTUxOCwxMSArNTE4LDExIEBAIHZvaWQgV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNldFVwRnVsbHNjcmVlbihIVE1MVmlkZW9F
bGVtZW50JiB2aWRlCiAgICAgICAgIG1fbW9kZWwtPnNldFZpZGVvRWxlbWVudChtX3ZpZGVvRWxl
bWVudC5nZXQoKSk7CiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgPSBbQ0FMYXllciBs
YXllcl07CiAgICAgICAgIAotICAgICAgICBib29sIGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4g
PSBtX3ZpZGVvRWxlbWVudC0+bWVkaWFTZXNzaW9uKCkuYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVl
bigqbV92aWRlb0VsZW1lbnQuZ2V0KCkpOworICAgICAgICBib29sIGFsbG93c1BpY3R1cmVJblBp
Y3R1cmUgPSBtX3ZpZGVvRWxlbWVudC0+bWVkaWFTZXNzaW9uKCkuYWxsb3dzUGljdHVyZUluUGlj
dHVyZSgqbV92aWRlb0VsZW1lbnQuZ2V0KCkpOwogICAgICAgICBJbnRSZWN0IHZpZGVvRWxlbWVu
dENsaWVudFJlY3QgPSBtX3ZpZGVvRWxlbWVudC0+Y2xpZW50UmVjdCgpOwogICAgICAgICAKLSAg
ICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3N0cm9uZ1Ro
aXMsIHRoaXMsIHZpZGVvRWxlbWVudENsaWVudFJlY3QsIHZpZXdSZWYsIG1vZGUsIGFsbG93c0Fs
dGVybmF0ZUZ1bGxzY3JlZW5dIHsKLSAgICAgICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxz
Y3JlZW4oKm1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIuZ2V0KCksIHZpZGVvRWxlbWVudENsaWVudFJl
Y3QsIHZpZXdSZWYuZ2V0KCksIG1vZGUsIGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4pOworICAg
ICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbc3Ryb25nVGhp
cywgdGhpcywgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1JlZiwgbW9kZSwgYWxsb3dzUGlj
dHVyZUluUGljdHVyZV0geworICAgICAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVl
bigqbV92aWRlb0Z1bGxzY3JlZW5MYXllci5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwg
dmlld1JlZi5nZXQoKSwgbW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7CiAgICAgICAgIH0p
OwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCAxZDBmYTU1MjQ1
MjRkOWZlMWZmMDNkODdkOGVjZjljYjY4NzFmNmFkLi42ZDIzNGNkZTYyMTc3YmM3YmU3MjIxMzQz
NGE1NTQyYzM4ODUyNTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtOTEsNyAr
OTEsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYgb3B0aW9u
cywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dmlydHVhbCB2b2lkIHNldEV4dGVybmFsUGxheWJhY2soYm9vbCBlbmFibGVkLCBFeHRlcm5hbFBs
YXliYWNrVGFyZ2V0VHlwZSwgV1RGOjpTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkgb3ZlcnJp
ZGU7CiAgICAgCi0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldHVwRnVsbHNjcmVl
bihQbGF0Zm9ybUxheWVyJiwgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIFVJVmlldyAqLCBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dPcHRp
bWl6ZWRGdWxsc2NyZWVuKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0dXBG
dWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImLCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgVUlW
aWV3ICosIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2spOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZv
aWQgZXhpdEZ1bGxzY3JlZW4oY29uc3QgSW50UmVjdCYgZmluYWxSZWN0KTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIHZvaWQgY2xlYW51cEZ1bGxzY3JlZW4oKTsKQEAgLTEwMCwxNyArMTAw
LDE2IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgcHJlcGFyZWRU
b1JldHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYgaW5saW5lUmVjdCk7
CiAKICAgICBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbW9kZTsgfQotICAgIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2Ny
ZWVuKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd09wdGltaXplZEZ1bGxzY3JlZW47IH0KLSAgICB2
b2lkIHNldElzT3B0aW1pemVkKGJvb2wpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbWF5QXV0
b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzUGlj
dHVyZUluUGljdHVyZVBsYXliYWNrKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlUGxheWJhY2s7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIG1heUF1dG9tYXRpY2Fs
bHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3Q7CiAgICAgdm9pZCBmdWxsc2NyZWVu
TWF5UmV0dXJuVG9JbmxpbmUoc3RkOjpmdW5jdGlvbjx2b2lkKGJvb2wpPiBjYWxsYmFjayk7CiAK
LSAgICB2b2lkIHdpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKLSAgICB2b2lkIGRpZFN0
YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQgZmFpbGVkVG9TdGFydE9wdGltaXpl
ZEZ1bGxzY3JlZW4oKTsKLSAgICB2b2lkIHdpbGxTdG9wT3B0aW1pemVkRnVsbHNjcmVlbigpOwot
ICAgIHZvaWQgZGlkU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKLSAgICB2b2lkIHByZXBhcmVG
b3JPcHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcih2b2lkICheKShC
T09MKSk7CisgICAgdm9pZCB3aWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCk7CisgICAgdm9pZCBk
aWRTdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIGZhaWxlZFRvU3RhcnRQaWN0dXJl
SW5QaWN0dXJlKCk7CisgICAgdm9pZCB3aWxsU3RvcFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2
b2lkIGRpZFN0b3BQaWN0dXJlSW5QaWN0dXJlKCk7CisgICAgdm9pZCBwcmVwYXJlRm9yUGljdHVy
ZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIodm9pZCAoXikoQk9PTCkpOwogCiAg
ICAgdm9pZCBzZXRNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZSk7CiAgICAgdm9pZCBjbGVhck1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlKTsKQEAgLTEyMCw3ICsxMTksNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAg
V0VCQ09SRV9FWFBPUlQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQoKTsKICAgICB2
b2lkIGJlZ2luU2Vzc2lvbigpOwotICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuT3B0aW1pemVkKCk7
CisgICAgdm9pZCBlbnRlclBpY3R1cmVJblBpY3R1cmUoKTsKICAgICB2b2lkIGVudGVyRnVsbHNj
cmVlblN0YW5kYXJkKCk7CiAKICAgICBSZXRhaW5QdHI8V2ViQVZQbGF5ZXJDb250cm9sbGVyPiBt
X3BsYXllckNvbnRyb2xsZXI7CkBAIC0xMzgsNyArMTM3LDcgQEAgcHJvdGVjdGVkOgogICAgIFJl
dGFpblB0cjxVSVdpbmRvdz4gbV9wYXJlbnRXaW5kb3c7CiAgICAgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1fbW9kZSB7IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6
VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgfTsKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQoYm9vbCk+
IG1fcHJlcGFyZVRvSW5saW5lQ2FsbGJhY2s7Ci0gICAgYm9vbCBtX2FsbG93T3B0aW1pemVkRnVs
bHNjcmVlbiB7IGZhbHNlIH07CisgICAgYm9vbCBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5
YmFjayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4aXRSZXF1ZXN0ZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9leGl0Q29tcGxldGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZW50ZXJSZXF1ZXN0
ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IGM0YTQ5N2Y1
NmJlODM5OWQ0NzE2MGM0NDAwNTNjMDM3Zjc4ZDE0OGQuLmE2YmM3YjgyMzA2ZDhjOGE3MmYwNTM3
M2UwNzg3NDgzNTYwYTRmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTE5
MSwzNSArMTkxLDM1IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQog
ICAgIHJldHVybiBzZWxmLnBsYXllckNvbnRyb2xsZXJQcm94eTsKIH0KIAotLSAodm9pZClwbGF5
ZXJWaWV3Q29udHJvbGxlcldpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxheWVyVmll
d0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgorLSAodm9pZClwbGF5ZXJWaWV3Q29u
dHJvbGxlcldpbGxTdGFydFBpY3R1cmVJblBpY3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIg
KilwbGF5ZXJWaWV3Q29udHJvbGxlcgogewogICAgIFVOVVNFRF9QQVJBTShwbGF5ZXJWaWV3Q29u
dHJvbGxlcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT53aWxsU3RhcnRPcHRpbWl6
ZWRGdWxsc2NyZWVuKCk7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT53aWxsU3RhcnRQ
aWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJEaWRT
dGFydE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJW
aWV3Q29udHJvbGxlcgorLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlckRpZFN0YXJ0UGljdHVy
ZUluUGljdHVyZTooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVy
CiB7CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250cm9sbGVyKTsKLSAgICBzZWxmLmZ1
bGxzY3JlZW5JbnRlcmZhY2UtPmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNl
bGYuZnVsbHNjcmVlbkludGVyZmFjZS0+ZGlkU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAK
LS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJGYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNj
cmVlbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHdpdGhF
cnJvcjooTlNFcnJvciAqKWVycm9yCistICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyRmFpbGVk
VG9TdGFydFBpY3R1cmVJblBpY3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJW
aWV3Q29udHJvbGxlciB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgogewogICAgIFVOVVNFRF9Q
QVJBTShwbGF5ZXJWaWV3Q29udHJvbGxlcik7CiAgICAgVU5VU0VEX1BBUkFNKGVycm9yKTsKLSAg
ICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmZhaWxlZFRvU3RhcnRPcHRpbWl6ZWRGdWxsc2Ny
ZWVuKCk7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5mYWlsZWRUb1N0YXJ0UGljdHVy
ZUluUGljdHVyZSgpOwogfQogCi0tICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyV2lsbFN0b3BP
cHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0Nv
bnRyb2xsZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RvcFBpY3R1cmVJblBp
Y3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgogewog
ICAgIFVOVVNFRF9QQVJBTShwbGF5ZXJWaWV3Q29udHJvbGxlcik7Ci0gICAgc2VsZi5mdWxsc2Ny
ZWVuSW50ZXJmYWNlLT53aWxsU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxmLmZ1
bGxzY3JlZW5JbnRlcmZhY2UtPndpbGxTdG9wUGljdHVyZUluUGljdHVyZSgpOwogfQogCi0tICh2
b2lkKXBsYXllclZpZXdDb250cm9sbGVyRGlkU3RvcE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxh
eWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgorLSAodm9pZClwbGF5ZXJW
aWV3Q29udHJvbGxlckRpZFN0b3BQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXllclZpZXdDb250cm9s
bGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmll
d0NvbnRyb2xsZXIpOwotICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+ZGlkU3RvcE9wdGlt
aXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmRpZFN0b3BQ
aWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKIC0gKEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFW
UGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0RnVs
bFNjcmVlbldpdGhSZWFzb246KEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJl
YXNvbilyZWFzb24KQEAgLTIzNiwxMCArMjM2LDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29s
U3RyaW5nKGJvb2wgdmFsKQogICAgIHJldHVybiBOTzsKIH0KIAotLSAodm9pZClwbGF5ZXJWaWV3
Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVy
IHJlc3RvcmVVc2VySW50ZXJmYWNlRm9yT3B0aW1pemVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyCist
ICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxh
eWVyVmlld0NvbnRyb2xsZXIgcmVzdG9yZVVzZXJJbnRlcmZhY2VGb3JQaWN0dXJlSW5QaWN0dXJl
U3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCByZXN0b3JlZCkpY29tcGxl
dGlvbkhhbmRsZXIKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRyb2xsZXIpOwot
ICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+cHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3Jl
ZW5TdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICBzZWxm
LmZ1bGxzY3JlZW5JbnRlcmZhY2UtPnByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhD
b21wbGV0aW9uSGFuZGxlcihjb21wbGV0aW9uSGFuZGxlcik7CiB9CiAKIC0gKHZvaWQpcGxheToo
aWQpc2VuZGVyCkBAIC01NDcsOSArNTQ3LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJp
bmcoYm9vbCB2YWwpCiAgICAgcmV0dXJuIFtOU1NldCBzZXRXaXRoT2JqZWN0czpAImV4dGVybmFs
UGxheWJhY2tBY3RpdmUiLCBuaWxdOwogfQogCi0tIChCT09MKWlzT3B0aW1pemVkRnVsbHNjcmVl
blBvc3NpYmxlCistIChCT09MKWlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlCiB7Ci0gICAgcmV0
dXJuIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+YWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7
CisgICAgcmV0dXJuIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+YWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrKCk7CiB9CiBAZW5kCiAKQEAgLTg3NiwxMiArODc2LDEyIEBAIHZvaWQgV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldEV4dGVybmFsUGxheWJhY2soYm9vbCBl
bmFibGVkLCBFeHRlcm5hCiAgICAgW21fdmlkZW9MYXllckNvbnRhaW5lci5nZXQoKSBzZXRIaWRk
ZW46ZW5hYmxlZF07CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldHVwRnVsbHNjcmVlbihQbGF0Zm9ybUxheWVyJiB2aWRlb0xheWVyLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1
bGxzY3JlZW4pCit2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4oUGxhdGZvcm1MYXllciYgdmlkZW9MYXllciwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgaW5pdGlhbFJlY3QsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVudW1z
OjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBs
YXliYWNrKQogewogICAgIEFTU0VSVChtb2RlICE9IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKIAotICAg
IG1fYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuID0gYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuOwor
ICAgIG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrID0gYWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrOwogCiAgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOwogICAgIFtDQVRyYW5z
YWN0aW9uIHNldERpc2FibGVBY3Rpb25zOllFU107CkBAIC05MTksNyArOTE5LDcgQEAgdm9pZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFBsYXRmb3Jt
TGF5ZXImIHZpZGVvTGF5ZXIKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRTaG93c1Bs
YXliYWNrQ29udHJvbHM6Tk9dOwogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFBsYXll
ckNvbnRyb2xsZXI6KEFWUGxheWVyQ29udHJvbGxlciAqKW1fcGxheWVyQ29udHJvbGxlci5nZXQo
KV07CiAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0RGVsZWdhdGU6bV9wbGF5ZXJDb250
cm9sbGVyLmdldCgpXTsKLSAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRBbGxvd3NPcHRp
bWl6ZWRGdWxsc2NyZWVuOmFsbG93T3B0aW1pemVkRnVsbHNjcmVlbl07CisgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOm1fYWxsb3dz
UGljdHVyZUluUGljdHVyZVBsYXliYWNrXTsKIAogICAgIFttX3ZpZGVvTGF5ZXJDb250YWluZXIg
c2V0UGxheWVyVmlld0NvbnRyb2xsZXI6bV9wbGF5ZXJWaWV3Q29udHJvbGxlci5nZXQoKV07CiAK
QEAgLTk1MSwyMiArOTUxLDIyIEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OmVudGVyRnVsbHNjcmVlbigpCiAgICAgbV9lbnRlclJlcXVlc3RlZCA9IHRydWU7CiAKICAg
ICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldEJhY2tncm91bmRDb2xvcjpbW2dldFVJQ29sb3JD
bGFzcygpIGJsYWNrQ29sb3JdIENHQ29sb3JdXTsKLSAgICBpZiAobW9kZSgpID09IEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkKLSAgICAgICAgZW50
ZXJGdWxsc2NyZWVuT3B0aW1pemVkKCk7CisgICAgaWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKQorICAgICAgICBl
bnRlclBpY3R1cmVJblBpY3R1cmUoKTsKICAgICBlbHNlIGlmIChtb2RlKCkgPT0gSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAgIGVudGVy
RnVsbHNjcmVlblN0YW5kYXJkKCk7CiAgICAgZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJG
dWxsc2NyZWVuT3B0aW1pemVkKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OmVudGVyUGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuT3B0aW1pemVkKCVw
KSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OmVudGVyUGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlzKTsKICAgICAKLSAgICBp
ZiAoW21fcGxheWVyVmlld0NvbnRyb2xsZXIgaXNPcHRpbWl6ZWRGdWxsc2NyZWVuUG9zc2libGVd
KQotICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdGFydE9wdGltaXplZEZ1bGxzY3Jl
ZW5dOworICAgIGlmIChbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBpc1BpY3R1cmVJblBpY3R1cmVQ
b3NzaWJsZV0pCisgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0YXJ0UGljdHVyZUlu
UGljdHVyZV07CiAgICAgZWxzZQotICAgICAgICBmYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNj
cmVlbigpOworICAgICAgICBmYWlsZWRUb1N0YXJ0UGljdHVyZUluUGljdHVyZSgpOwogfQogCiB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW5TdGFu
ZGFyZCgpCkBAIC0xMDA0LDE0ICsxMDA0LDE0IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZpCiAg
ICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIGxheW91dElmTmVlZGVkXTsKIAogCi0g
ICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVP
cHRpbWl6ZWQpKSB7CisgICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKSkgewogICAgICAgICBbbV93aW5kb3cgc2V0
SGlkZGVuOk5PXTsKLSAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc3RvcE9wdGltaXpl
ZEZ1bGxzY3JlZW5dOwotICAgIH0gZWxzZSBpZiAoaXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCB8IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6
VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkgeworICAgICAgICBbbV9wbGF5ZXJWaWV3Q29u
dHJvbGxlciBzdG9wUGljdHVyZUluUGljdHVyZV07CisgICAgfSBlbHNlIGlmIChpc01vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSB8
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkgewog
ICAgICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ+IHN0cm9uZ1Ro
aXModGhpcyk7CiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIGV4aXRGdWxsU2NyZWVu
QW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6W3N0cm9uZ1RoaXMsIHRoaXNdIChCT09MLCBO
U0Vycm9yKikgewogICAgICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpOT107Ci0gICAgICAg
ICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wT3B0aW1pemVkRnVsbHNjcmVlbl07Cisg
ICAgICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wUGljdHVyZUluUGljdHVyZV07
CiAgICAgICAgIH1dOwogICAgIH0gZWxzZSBpZiAoaXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkgewogICAgICAgICBSZWZQdHI8V2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CkBAIC0xMDU0LDgg
KzEwNTQsOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpjbGVhbnVw
RnVsbHNjcmVlbigpCiAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0RGVsZWdhdGU6bmls
XTsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRQbGF5ZXJDb250cm9sbGVyOm5pbF07
CiAgICAgCi0gICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlT3B0aW1pemVkKSkKLSAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc3Rv
cE9wdGltaXplZEZ1bGxzY3JlZW5dOworICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpKQorICAgICAgICBbbV9w
bGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wUGljdHVyZUluUGljdHVyZV07CiAgICAgaWYgKGhhc01v
ZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQog
ICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBleGl0RnVsbFNjcmVlbkFuaW1hdGVkOk5P
IGNvbXBsZXRpb25IYW5kbGVyOltdIChCT09MLCBOU0Vycm9yICopIHsgfV07CiAgICAgCkBAIC0x
MDk5LDcgKzEwOTksNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpy
ZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCkKICAgICBpZiAoIW1fZW50ZXJSZXF1ZXN0ZWQp
CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpZiAoaGFzTW9kZShIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpKQorICAgIGlmIChoYXNNb2RlKEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUp
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cmVxdWVzdEhpZGVBbmRFeGl0RnVsbHNjcmVlbiglcCki
LCB0aGlzKTsKQEAgLTExMjcsOSArMTEyNyw5IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OnByZXBhcmVkVG9SZXR1cm5Ub0lubGluZShib29sIHZpc2libGUsIGNvCiAg
ICAgfQogfQogCi1ib29sIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjptYXlBdXRv
bWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3QKK2Jvb2wgV2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0
dXJlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gW21fcGxheWVyQ29udHJvbGxlciBpc1BsYXlpbmdd
ICYmIG1fbW9kZSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVT
dGFuZGFyZCAmJiB3a0lzT3B0aW1pemVkRnVsbHNjcmVlblN1cHBvcnRlZCgpOworICAgIHJldHVy
biBbbV9wbGF5ZXJDb250cm9sbGVyIGlzUGxheWluZ10gJiYgbV9tb2RlID09IEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkICYmIHdrSXNQaWN0dXJlSW5Q
aWN0dXJlU3VwcG9ydGVkKCk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OmZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShzdGQ6OmZ1bmN0aW9uPHZvaWQoYm9v
bCk+IGNhbGxiYWNrKQpAQCAtMTEzOSwxNyArMTEzOSwxNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoc3RkOjpmdW5j
dGlvbgogICAgICAgICBtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+ZnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lKCk7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OndpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9H
KEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0
T3B0aW1pemVkRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKLSAgICBzZXRNb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCk7CisgICAgTE9HKEZ1bGxz
Y3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVy
ZUluUGljdHVyZSglcCkiLCB0aGlzKTsKKyAgICBzZXRNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpOwogCiAgICAgaWYgKCFoYXNN
b2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0PiBzdHJvbmdUaGlzKHRoaXMpOwogICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGlu
ZShbc3Ryb25nVGhpcywgdGhpc10oYm9vbCB2aXNpYmxlKSB7Ci0gICAgICAgIExPRyhGdWxsc2Ny
ZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdGFydE9wdGltaXpl
ZEZ1bGxzY3JlZW4gLSBsYW1iZGEoJXApIC0gdmlzaWJsZSglcykiLCB0aGlzLCBib29sU3RyaW5n
KHZpc2libGUpKTsKKyAgICAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSAtIGxhbWJkYSglcCkgLSB2
aXNpYmxlKCVzKSIsIHRoaXMsIGJvb2xTdHJpbmcodmlzaWJsZSkpOwogCiAgICAgICAgIGlmICgh
dmlzaWJsZSkgewogICAgICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpZRVNdOwpAQCAtMTE2
Nyw5ICsxMTY3LDkgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2ls
bFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCit2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdGFydFBpY3R1cmVJblBp
Y3R1cmUoKQogewotICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKKyAgICBM
T0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdGFy
dFBpY3R1cmVJblBpY3R1cmUoJXApIiwgdGhpcyk7CiAgICAgW21fcGxheWVyVmlld0NvbnRyb2xs
ZXIgc2V0U2hvd3NQbGF5YmFja0NvbnRyb2xzOllFU107CiAgICAgW21fd2luZG93IHNldEhpZGRl
bjpZRVNdOwogCkBAIC0xMTc3LDkgKzExNzcsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpkaWRTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKQogICAgICAgICBtX2Z1
bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+ZGlkRW50ZXJGdWxsc2NyZWVuKCk7CiB9CiAKLXZvaWQg
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRPcHRpbWl6ZWRG
dWxsc2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxl
ZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCkKIHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNj
cmVlbiglcCkiLCB0aGlzKTsKKyAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0UGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlz
KTsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJvbHM6
WUVTXTsKIAogICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZVN0YW5kYXJkKSkKQEAgLTExOTQsMTggKzExOTQsMTggQEAgdm9pZCBXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZmFpbGVkVG9TdGFydE9wdGltaXplZEZ1bGxzY3Jl
ZW4oKQogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RXhpdEZ1bGxzY3Jl
ZW4oKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0
b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OndpbGxTdG9wUGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4s
ICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BPcHRpbWl6ZWRGdWxs
c2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdG9wUGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlzKTsK
ICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOk5PXTsKIAogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVl
bk1vZGVsKQogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RXhpdEZ1bGxz
Y3JlZW4oKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlk
U3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdDo6ZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoKQogewotICAgIExPRyhGdWxsc2NyZWVu
LCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BPcHRpbWl6ZWRGdWxs
c2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BQaWN0dXJlSW5QaWN0dXJlKCVwKSIsIHRoaXMpOwog
ICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZVN0YW5kYXJkKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMjE0LDIwICsxMjE0LDIwIEBAIHZv
aWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BPcHRpbWl6ZWRGdWxs
c2NyZWVuKCkKICAgICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldEJhY2tncm91bmRDb2xvcjpb
W2dldFVJQ29sb3JDbGFzcygpIGNsZWFyQ29sb3JdIENHQ29sb3JdXTsKICAgICBbW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgdmlld10gc2V0QmFja2dyb3VuZENvbG9yOltnZXRVSUNvbG9yQ2xhc3Mo
KSBjbGVhckNvbG9yXV07CiAKLSAgICBjbGVhck1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAgICBjbGVhck1vZGUoSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiAgICAgW21f
d2luZG93IHNldEhpZGRlbjpZRVNdOwogICAgIAogICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFuZ2VP
YnNlcnZlcikKICAgICAgICAgbV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmRpZEV4aXRGdWxs
c2NyZWVuKCk7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnBy
ZXBhcmVGb3JPcHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcih2b2lk
ICheY29tcGxldGlvbkhhbmRsZXIpKEJPT0wgcmVzdG9yZWQpKQordm9pZCBXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0aENv
bXBsZXRpb25IYW5kbGVyKHZvaWQgKF5jb21wbGV0aW9uSGFuZGxlcikoQk9PTCByZXN0b3JlZCkp
CiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dDo6cHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25IYW5kbGVy
KCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OnByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhDb21wbGV0aW9u
SGFuZGxlciglcCkiLCB0aGlzKTsKICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CiAgICAgUmV0YWluUHRyPGlkPiBzdHJvbmdDb21w
bGV0aW9uSGFuZGxlciA9IGFkb3B0TlMoW2NvbXBsZXRpb25IYW5kbGVyIGNvcHldKTsKICAgICBm
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoW3N0cm9uZ1RoaXMsIHN0cm9uZ0NvbXBsZXRpb25I
YW5kbGVyXShib29sIHJlc3RvcmVkKSAgewotICAgICAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlRm9yT3B0aW1pemVkRnVsbHNjcmVl
blN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIgbGFtYmRhKCVwKSAtIHJlc3RvcmVkKCVzKSIsIHN0
cm9uZ1RoaXMuZ2V0KCksIGJvb2xTdHJpbmcocmVzdG9yZWQpKTsKKyAgICAgICAgTE9HKEZ1bGxz
Y3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvclBpY3R1
cmVJblBpY3R1cmVTdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyIGxhbWJkYSglcCkgLSByZXN0b3Jl
ZCglcykiLCBzdHJvbmdUaGlzLmdldCgpLCBib29sU3RyaW5nKHJlc3RvcmVkKSk7CiAgICAgICAg
IHZvaWQgKF5jb21wbGV0aW9uSGFuZGxlcikoQk9PTCByZXN0b3JlZCkgPSBzdHJvbmdDb21wbGV0
aW9uSGFuZGxlci5nZXQoKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzdG9yZWQpOwog
ICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FW
S2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaApp
bmRleCBiN2NkMzEzZjgxMWEyZjQyNTk4OTFlODRkMzQyNmE2MTUwZTU5NDAyLi5jYWJkNTA5ZDdh
MjdkMzVkOWZlN2U4Y2I2M2JhYzlhM2UwYWZiZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaApAQCAtNzgsMjAgKzc4LDE4IEBAIHR5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNv
bikgewogICAgIEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNvblJlbW90
ZUNvbnRyb2xTdG9wRXZlbnRSZWNlaXZlZCA9IDMsCiB9OwogLSAoQk9PTClwbGF5ZXJWaWV3Q29u
dHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHNo
b3VsZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRG
dWxsU2NyZWVuUmVhc29uKXJlYXNvbjsKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFW
UGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciByZXN0b3JlVXNlcklu
dGVyZmFjZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQpcGxheWVy
Vmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJv
bGxlciByZXN0b3JlVXNlckludGVyZmFjZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0aENvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9uSGFuZGxlcjsK
IEBlbmQKIAotdHlwZWRlZiBOU0ludGVnZXIgQVZQbGF5ZXJWaWV3Q29udHJvbGxlck9wdGltaXpl
ZEZ1bGxzY3JlZW5TdG9wUmVhc29uOwotCiBAaW50ZXJmYWNlIEFWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKERldGFpbHMpCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWRlb0xheWVyOihDQUxheWVy
IDxBVlZpZGVvTGF5ZXI+ICopdmlkZW9MYXllcjsKIC0gKHZvaWQpZW50ZXJGdWxsU2NyZWVuQW5p
bWF0ZWQ6KEJPT0wpYW5pbWF0ZWQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3Vj
Y2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpZXhpdEZ1bGxTY3Jl
ZW5BbmltYXRlZDooQk9PTClhbmltYXRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9P
TCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogCi0tIChCT09MKWlzT3B0
aW1pemVkRnVsbHNjcmVlblBvc3NpYmxlOwotLSAodm9pZClzdGFydE9wdGltaXplZEZ1bGxzY3Jl
ZW47Ci0tICh2b2lkKXN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuOwotLSAodm9pZClzZXRBbGxvd3NP
cHRpbWl6ZWRGdWxsc2NyZWVuOihCT09MKWFsbG93c09wdGltaXplZEZ1bGxzY3JlZW47CistIChC
T09MKWlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlOworLSAodm9pZClzdGFydFBpY3R1cmVJblBp
Y3R1cmU7CistICh2b2lkKXN0b3BQaWN0dXJlSW5QaWN0dXJlOworLSAodm9pZClzZXRBbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6KEJPT0wpYWxsb3c7CiAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzdHJvbmcpIEFWUGxheWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCB3ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRl
PiBkZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMv
QVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91
bmRhdGlvblNQSS5oCmluZGV4IDA4YzQ4MmRmNzdmNmRjNWVmNzgwZTg0ZWQyNTY3ZjRkMDA2YTBj
ZTIuLjM2Njg0NjhjMzIwYzgzMGVhYTVmMDMzYTFlZmRjMmVhNmMwZWM0MzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAtNjYs
OCArNjYsOCBAQAogCiAjaWYgIUhBVkUoQVZLSVQpIHx8ICFVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KSB8fCBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDkwMDAwCiAKLUBpbnRlcmZh
Y2UgQVZQbGF5ZXJMYXllciAoQVZQbGF5ZXJMYXllck9wdGltaXplZEZ1bGxzY3JlZW5Nb2RlU3Vw
cG9ydFByaXZhdGUpCi0tICh2b2lkKXNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFi
bGVkOihCT09MKWZsYWc7CitAaW50ZXJmYWNlIEFWUGxheWVyTGF5ZXIgKEFWUGxheWVyTGF5ZXJQ
aWN0dXJlSW5QaWN0dXJlTW9kZVN1cHBvcnRQcml2YXRlKQorLSAodm9pZClzZXRQSVBNb2RlRW5h
YmxlZDooQk9PTClmbGFnOwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCBiMTI5NGVl
NGQ2ZDg2MTFmMzhkMmE1MjEzOWJhOTA2MDQwOTYzZjllLi5iZjY1ZWU5MmZmYTg5YWU5MjdhMDll
NzY2MWI1ZDcxNzVjOWM4Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9p
ZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgIElOSVQoR2V0QXZhaWxhYmxl
U2NyZWVuU2l6ZSk7CiAgICAgSU5JVChHZXRTY3JlZW5TY2FsZUZhY3Rvcik7CiAgICAgSU5JVChJ
c0dCMTgwMzBDb21wbGlhbmNlUmVxdWlyZWQpOwotICAgIElOSVQoSXNPcHRpbWl6ZWRGdWxsc2Ny
ZWVuU3VwcG9ydGVkKTsKKyAgICBJTklUKElzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCk7CiAj
ZW5kaWYKIAogI2lmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCBkMGE5YWE0NDVlOTc2N2Q5
MGU1ZjUzZGE4M2UyOWMwODI3ZmNiY2I5Li4zZjBjOGRkZWRiYTAzMGQ1ZjJmMjc5YzIwYmYzN2Y2
ZDZkZDlkODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTEyMSw3ICsxMjEsNyBAQAogI2RlZmluZSBXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3NldlYlNvY2tl
dFByb3RvY29sRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKLSNkZWZpbmUgV2ViS2l0
QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlblByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd3NBbHRl
cm5hdGVGdWxsc2NyZWVuIgorI2RlZmluZSBXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayIKICNkZWZpbmUgV2ViS2l0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0FpclBsYXkiCiAjZGVmaW5l
IFdlYktpdE1vY2tTY3JvbGxiYXJzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNb2NrU2Ny
b2xsYmFyc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXNQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGIwMTMxYTczZDE5NzE3NjMzOWM2
ZWRlMWEzY2UzZTUwMmZiOTJmNDQuLjdmYTgyZDg2YWE5MmVlMGM2OWM0OGI2YzkyYjQ1YzhhM2Ux
NTE1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpA
QCAtNTQ2LDcgKzU0Niw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0lSRUxFU1NfVEFSR0VUX1BM
QVlCQUNLKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFs
bG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICNlbmRpZgotICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW5QcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
WUVTXSwgIFdlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGlu
Z0JlaGF2aW9yS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdl
YktpdERpYWdub3N0aWNMb2dnaW5nRW5hYmxlZEtleSwKQEAgLTIxOTcsMTIgKzIxOTcsMjIgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogCiAtIChCT09MKWFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW4KIHsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuUHJlZmVyZW5jZUtleV07CisgICAgcmV0
dXJuIFtzZWxmIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrXTsKIH0KIAogLSAo
dm9pZClzZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuOihCT09MKWZsYWcKIHsKLSAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3Jl
ZW5QcmVmZXJlbmNlS2V5XTsKKyAgICBbc2VsZiBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjazpmbGFnXTsKK30KKworLSAoQk9PTClhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjaworeworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07Cit9CisKKy0g
KHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KEJPT0wpZmxhZwor
eworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTCltb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDZlYjI5NzZmYjk3ODU4MGNkZjIyYjgwYWY1MDY0MTEx
ZmYyZjQ5N2QuLjM0Nzc2OWVkZDRkOGJkYWMwZjY4NGE5NjgxN2NmMWIzMmU3NzMxMTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApA
QCAtMjUzLDYgKzI1Myw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRBbGxvd3NBbHRlcm5h
dGVGdWxsc2NyZWVuOihCT09MKWZsYWc7CiAtIChCT09MKWFsbG93c0FsdGVybmF0ZUZ1bGxzY3Jl
ZW47CiAKKy0gKHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KEJP
T0wpZmxhZzsKKy0gKEJPT0wpYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s7CisK
IC0gKE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7CiAtICh2b2lkKXNldFBpY3RvZ3Jh
cGhGb250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IDdiMmFjNzRiY2M5NmIzYTk4NjUxOTc1MGI5MWUzZDM3OGQ0NTExNDcu
LjE1ZTNiNzQ5MDYyYzVlOWJiYzZiZmM4YmU2M2ZiMTBiNWM3ZjA5NGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTg1MSwxMSArODUxLDExIEBAIHN0YXRpYyBib29sIHNo
b3VsZEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudCgpCiAgICAgcmV0dXJu
IHNob3VsZEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudDsKIH0KIAotc3Rh
dGljIGJvb2wgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkKK3N0YXRpYyBib29sIHNo
b3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogewogI2lmIFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDAKLSAgICBz
dGF0aWMgYm9vbCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4gPSBpb3NFeGVjdXRhYmxl
V2FzTGlua2VkT25PckFmdGVyVmVyc2lvbih3a0lPU1N5c3RlbVZlcnNpb25fOV8wKTsKLSAgICBy
ZXR1cm4gc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuOworICAgIHN0YXRpYyBib29sIHNo
b3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBpb3NFeGVjdXRhYmxlV2Fz
TGlua2VkT25PckFmdGVyVmVyc2lvbih3a0lPU1N5c3RlbVZlcnNpb25fOV8wKTsKKyAgICByZXR1
cm4gc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKICNlbHNlCiAgICAg
cmV0dXJuIGZhbHNlOwogI2VuZGlmCkBAIC0yMjk0LDcgKzIyOTQsNyBAQCBzdGF0aWMgYm9vbCBu
ZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAKICAgICBzZXR0aW5ncy5zZXRSZXF1
aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmVdKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lXSk7Ci0gICAg
c2V0dGluZ3Muc2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihbcHJlZmVyZW5jZXMgYWxsb3dz
QWx0ZXJuYXRlRnVsbHNjcmVlbl0gJiYgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkp
OworICAgIHNldHRpbmdzLnNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKFtw
cmVmZXJlbmNlcyBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10gJiYgc2hvdWxk
QWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpKTsKICAgICBzZXR0aW5ncy5zZXRT
dXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcoW3ByZWZlcmVuY2VzIHN1cHByZXNzZXNJbmNy
ZW1lbnRhbFJlbmRlcmluZ10pOwogICAgIHNldHRpbmdzLnNldEJhY2tzcGFjZUtleU5hdmlnYXRp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZF0pOwog
ICAgIHNldHRpbmdzLnNldFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3IoW3By
ZWZlcmVuY2VzIHdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3JdKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4
IDU2OTIxZDk0MzBmOWFlYTA5YjljNjZjNWQyNWY4YTQ1NzMzZTk5MzkuLjMwMGI2MDcxYjFhZjY3
ZmE4NmNkZWExNWI2NzhjZTVkMDZkZWExOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAtMTMwLDcgKzEzMCw3IEBACiAgICAg
bWFjcm8oQVZGb3VuZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCiAgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJh
Y2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCBERUZB
VUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVESUFfUExBWUJBQ0spIFwKICAgICBtYWNy
byhBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBC
b29sLCBib29sLCBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVESUFfUExBWUJBQ0spIFwKLSAgICBt
YWNybyhBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuLCBhbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVu
LCBCb29sLCBib29sLCB0cnVlKSBcCisgICAgbWFjcm8oQWxsb3dzUGljdHVyZUluUGljdHVyZU1l
ZGlhUGxheWJhY2ssIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLCBCb29sLCBi
b29sLCB0cnVlKSBcCiAgICAgbWFjcm8oQWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2ssIGFs
bG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFj
cm8oSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQsIGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkLCBCb29s
LCBib29sLCB0cnVlKSBcCiAgICAgbWFjcm8oU2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQs
IHNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0LCBCb29sLCBib29sLCBmYWxzZSkgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4
IDEwZWM3Nzc0ODMyNDQ4MTE1ZDQzYTRjZjBhOTIwZDZhZDQ4ZTg3NGYuLmUwZTU5MjJhZmQ4MzNl
ZGNkODliYTFiMzk4M2NkMzRkOTUzN2MzNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTc0OCwxNiArNzQ4LDYgQEAgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5hbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldEFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEFsbG93c0FsdGVybmF0
ZUZ1bGxzY3JlZW4oZmxhZyk7Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldEFsbG93c0FsdGVy
bmF0ZUZ1bGxzY3JlZW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICBy
ZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbigp
OwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4
dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQoZmxh
Zyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IGJhMThiMmZkNzMwYTQ5M2QxY2QxYmNhNTI2Y2Q1Zjk2
NGQ1ODA1NTcuLjBjOWU5MzUxYTQxYThhMTUwZjFmY2YyNzQ0YjZhYmZjMWY3MGNhOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCkBAIC0xNzksMTAgKzE3OSw2IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVm
CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIHRydWUuCi1XS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwotV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4oV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7Ci0KIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0KFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCmluZGV4IGFmMDI2YmViZDc2ZTNiYmE2NTkwMWM2NzZlOTcwMjM5YmRkODQ3
MzguLjcwNDExMjI4MjIxYmQ3MmFmZDVkZWRjNjg1MDJjZDYxOWM2ZjQ5OGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNDIsMTUg
KzI0MiwxNSBAQCBzdGF0aWMgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbigpCiAgICAgcmV0dXJu
IGRldmljZU9yaWVudGF0aW9uRm9yVUlJbnRlcmZhY2VPcmllbnRhdGlvbihbW1VJQXBwbGljYXRp
b24gc2hhcmVkQXBwbGljYXRpb25dIHN0YXR1c0Jhck9yaWVudGF0aW9uXSk7CiB9CiAKLS0gKEJP
T0wpX2lzU2hvd2luZ1ZpZGVvT3B0aW1pemVkCistIChCT09MKV9pc1Nob3dpbmdWaWRlb1BpY3R1
cmVJblBpY3R1cmUKIHsKICAgICBpZiAoIV9wYWdlIHx8ICFfcGFnZS0+dmlkZW9GdWxsc2NyZWVu
TWFuYWdlcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgcmV0dXJuIF9wYWdl
LT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCktPmhhc01vZGUoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAgICByZXR1cm4gX3Bh
Z2UtPnZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKS0+aGFzTW9kZShXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAot
LSAoQk9PTClfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZAorLSAoQk9PTClfbWF5
QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUKIHsKICNpZiAoX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPD0gODAyMDApIHx8ICFIQVZFKEFWS0lUKQogICAgIHJl
dHVybiBmYWxzZTsKQEAgLTI1OCwxNSArMjU4LDE1IEBAIHN0YXRpYyBpbnQzMl90IGRldmljZU9y
aWVudGF0aW9uKCkKICAgICBpZiAoIV9wYWdlIHx8ICFfcGFnZS0+dmlkZW9GdWxsc2NyZWVuTWFu
YWdlcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gX3BhZ2UtPnZpZGVv
RnVsbHNjcmVlbk1hbmFnZXIoKS0+bWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgp
OworICAgIHJldHVybiBfcGFnZS0+dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpLT5tYXlBdXRvbWF0
aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZSgpOwogI2VuZGlmCiB9CiAKLXN0YXRpYyBi
b29sIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbigpCitzdGF0aWMgYm9vbCBzaG91bGRB
bGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkKIHsKICNpZiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMAotICAgIHN0YXRpYyBib29sIHNob3VsZEFsbG93
QWx0ZXJuYXRlRnVsbHNjcmVlbiA9IGlvc0V4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJWZXJz
aW9uKHdrSU9TU3lzdGVtVmVyc2lvbl85XzApOwotICAgIHJldHVybiBzaG91bGRBbGxvd0FsdGVy
bmF0ZUZ1bGxzY3JlZW47CisgICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjayA9IGlvc0V4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJWZXJzaW9u
KHdrSU9TU3lzdGVtVmVyc2lvbl85XzApOworICAgIHJldHVybiBzaG91bGRBbGxvd1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYK
QEAgLTMyMyw3ICszMjMsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxz
Y3JlZW4oKQogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLmFsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eSA9IFtfY29uZmlndXJhdGlvbiBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5
XTsKIAogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLnByZWZlcmVuY2VWYWx1ZXMuc2V0KFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlhUGxheWJhY2tLZXkoKSwgV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrXSkpOwotICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLnByZWZlcmVu
Y2VWYWx1ZXMuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW5LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29u
ZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10gJiYgc2hvdWxk
QWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkpKTsKKyAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5w
cmVmZXJlbmNlVmFsdWVzLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3Rv
cmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrXSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkpKTsK
ICAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5wcmVmZXJlbmNlVmFsdWVzLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgp
LCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIHJl
cXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2tdKSk7CiAjZW5kaWYKICNpZiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IGE3YWM1OTdkMjVkMWM5
OWE5ZWM1OTdiMmI4NTAyNmQ4YTc3NjE2MTguLmRmM2U3ZDdmYTRhNDIyZTAwMDYzZTQ4ZmZhOGU0
ODE5ZGQyMGRmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTk4LDggKzk4LDggQEAgc3RydWN0IFByaW50
SW5mbzsKIC0gKHZvaWQpX2RpZEZpbmlzaExvYWRGb3JNYWluRnJhbWU7CiAtICh2b2lkKV9kaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lOihXZWJLaXQ6OlNhbWVEb2N1bWVudE5h
dmlnYXRpb25UeXBlKW5hdmlnYXRpb25UeXBlOwogCi0tIChCT09MKV9pc1Nob3dpbmdWaWRlb09w
dGltaXplZDsKLS0gKEJPT0wpX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWQ7Cist
IChCT09MKV9pc1Nob3dpbmdWaWRlb1BpY3R1cmVJblBpY3R1cmU7CistIChCT09MKV9tYXlBdXRv
bWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZTsKIAogLSAodm9pZClfdXBkYXRlU2Ny
b2xsVmlld0JhY2tncm91bmQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDU3MzIwNzIzYTE2NGI3ZDlmY2QxYTBlMjBlMjUx
YjJlZDg1NzM4ZTAuLmNhNzJhNzcxNGM0MmY1NWE2NjBiYzYzYjUzZmRhMTQ0MTAxMzEwMWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bQpAQCAtMTg1LDEwICsxODUsMTAgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3VmlzaWJs
ZSgpCiAgICAgaWYgKGlzVmlld0luV2luZG93KCkgJiYgIW1fY29udGVudFZpZXcuaXNCYWNrZ3Jv
dW5kKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKLSAgICBpZiAoW21fd2ViVmlldyBfaXNT
aG93aW5nVmlkZW9PcHRpbWl6ZWRdKQorICAgIGlmIChbbV93ZWJWaWV3IF9pc1Nob3dpbmdWaWRl
b1BpY3R1cmVJblBpY3R1cmVdKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKLSAgICBpZiAo
W21fd2ViVmlldyBfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZF0pCisgICAgaWYg
KFttX3dlYlZpZXcgX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlXSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5LmgKaW5kZXggN2UwYmU3NmNjNTAyYTM3MjNhNjNiNWNhMGVmOWY5ZjBhNzEz
OTMzMi4uODM0MzI0ZjM3MmQ3YzlkZDk1ZGNiYzg0Yjk2MzIyZWYwMGM5MWNmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCByZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCk7CiAgICAgYm9vbCBoYXNNb2RlKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgY29uc3Q7Ci0g
ICAgYm9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3Q7CisgICAg
Ym9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZSgpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRl
eHQ7CkBAIC0xMjMsNyArMTIzLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdCYgZW5zdXJlSW50ZXJmYWNlKHVpbnQ2NF90IGNvbnRleHRJ
ZCk7CiAKICAgICAvLyBNZXNzYWdlcyBmcm9tIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKLSAg
ICB2b2lkIHNldHVwRnVsbHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQzMl90
IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGZsb2F0
IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbik7CisgICAgdm9p
ZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1aW50MzJfdCB2aWRl
b0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBmbG9hdCBob3N0
aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKTsKICAgICB2b2lkIHJlc2V0
TWVkaWFTdGF0ZSh1aW50NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgc2V0Q3VycmVudFRpbWUo
dWludDY0X3QgY29udGV4dElkLCBkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSk7
CiAgICAgdm9pZCBzZXRCdWZmZXJlZFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgYnVm
ZmVyZWRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMGM1ZGMxMTU0NjE4NTEwNjFmMTEwZmVjNzgzODY1Njc1OTAxYWI2YS4uNmJiMDc2ZDVm
Y2Y0MTFkMDM2ZmY0NTI5NDM5ZDE0ZDdmZmZhNWQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTMzLDcgKzMzLDcgQEAgbWVzc2FnZXMgLT4gV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5IHsKICAgICBTZXRFeHRlcm5hbFBsYXliYWNrUHJv
cGVydGllcyh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0
VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5hbWUpCiAgICAgU2V0RHVyYXRpb24odWludDY0
X3QgY29udGV4dElkLCBkb3VibGUgZHVyYXRpb24pCiAgICAgU2V0UmF0ZSh1aW50NjRfdCBjb250
ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3VibGUgcmF0ZSkKLSAgICBTZXR1cEZ1bGxzY3JlZW5X
aXRoSUQodWludDY0X3QgY29udGV4dElkLCB1aW50MzJfdCB2aWRlb0xheWVySUQsIFdlYkNvcmU6
OkludFJlY3QgaW5pdGlhbFJlY3QsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVl
bk1vZGUsIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKQorICAgIFNldHVwRnVsbHNjcmVl
bldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwgV2ViQ29y
ZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2Ny
ZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKQogICAgIEVudGVyRnVsbHNjcmVl
bih1aW50NjRfdCBjb250ZXh0SWQpCiAgICAgRXhpdEZ1bGxzY3JlZW4odWludDY0X3QgY29udGV4
dElkLCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCkKICAgICBDbGVhbnVwRnVsbHNjcmVlbih1
aW50NjRfdCBjb250ZXh0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IGU2YWRh
MTJiZDg2YTdmNzU4ODJjNGExMjZhZWIyNzc2YzFkMTA4NjAuLjQ5NTM3ZTRkY2Q3NGU1ZTlmZjky
Y2ZiYTc3Y2ZkMGE0ZmU4MmNjZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC02
Miw3ICs2Miw3IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNNb2Rl
KEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxs
eVNob3dWaWRlb09wdGltaXplZCgpIGNvbnN0Citib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6bWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSBjb25z
dAogewogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTI2NiwxMCArMjY2LDEwIEBAIGJvb2wgV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFdlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgp
IGNvbnN0Citib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6bWF5QXV0b21hdGlj
YWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSBjb25zdAogewogICAgIGZvciAoYXV0byYg
dHVwbGUgOiBtX2NvbnRleHRNYXAudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHN0ZDo6Z2V0PDE+
KHR1cGxlKS0+bWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXplZCgpKQorICAgICAgICBp
ZiAoc3RkOjpnZXQ8MT4odHVwbGUpLT5tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUlu
UGljdHVyZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBm
YWxzZTsKQEAgLTMwNiw3ICszMDYsNyBAQCBXZWJDb3JlOjpXZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdCYgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjplbnN1cgogCiAjcHJh
Z21hIG1hcmsgTWVzc2FnZXMgZnJvbSBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyCiAKLXZvaWQg
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWlu
dDY0X3QgY29udGV4dElkLCB1aW50MzJfdCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGluaXRpYWxSZWN0LCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxN
ZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2Rl
LCBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbikKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1
aW50MzJfdCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0
LCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6
VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1
cmVJblBpY3R1cmUpCiB7CiAgICAgQVNTRVJUKHZpZGVvTGF5ZXJJRCk7CiAgICAgUmVmUHRyPFdl
YlZpZGVvRnVsbHNjcmVlbk1vZGVsQ29udGV4dD4gbW9kZWw7CkBAIC0zMjMsNyArMzIzLDcgQEAg
dm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJ
RCh1aW50NjRfdCBjb250ZXh0SWQsIHUKICAgICB9CiAKICAgICBVSVZpZXcgKnBhcmVudFZpZXcg
PSBkb3duY2FzdDxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqbV9wYWdlLT5kcmF3
aW5nQXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkucm9vdExheWVyKCk7Ci0gICAgaW50ZXJm
YWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1vZGVsLT5sYXllckhvc3QoKSwgaW5pdGlhbFJlY3QsIHBh
cmVudFZpZXcsIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbik7
CisgICAgaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1vZGVsLT5sYXllckhvc3QoKSwgaW5p
dGlhbFJlY3QsIHBhcmVudFZpZXcsIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGFsbG93c1BpY3R1cmVJ
blBpY3R1cmUpOwogfQogCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cmVz
ZXRNZWRpYVN0YXRlKHVpbnQ2NF90IGNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbSBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUlu
dGVyZmFjZS5tbQppbmRleCBiOTExY2EzM2Y4MTJjMzdiZWUwYjVkNDcyOTQxMjY4NmMzNTFjM2Fh
Li5hMGM4Zjc3ZDIxODA3MmMyZWFjOWE0NGFiZjY2MjZmZmNlMjg4OGNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRl
cmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xOTAsNyArMTkwLDcgQEAgdm9pZCBJbml0V2Vi
Q29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgICAgICBJTklUKEdldEF2YWlsYWJsZVNjcmVl
blNpemUpOwogICAgICAgICBJTklUKEdldFNjcmVlblNjYWxlRmFjdG9yKTsKICAgICAgICAgSU5J
VChJc0dCMTgwMzBDb21wbGlhbmNlUmVxdWlyZWQpOwotICAgICAgICBJTklUKElzT3B0aW1pemVk
RnVsbHNjcmVlblN1cHBvcnRlZCk7CisgICAgICAgIElOSVQoSXNQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFBVQkxJQ19TVUZGSVhfTElTVCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyNGE5ZGVj
NjU1NDljYWE5OTI1Y2E2Yjk1ZmIwOGM4Y2QyZDBhZDI4Li5iN2Q2NjFmZjMxNDdhYmI4ZmJmZTNi
Zjg4MGNlMzRkZjE0YWI5MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzk1LDcgKzI3OTUsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0
ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNldHRp
bmdzLnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6YWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRLZXkoKSkpOwog
ICAgIHNldHRpbmdzLnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojph
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRBbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbktleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0
QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
a0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bW9ja1Njcm9sbGJhcnNFbmFibGVk
S2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpoeXBlcmxpbmtBdWRpdGluZ0Vu
YWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1ZXN0QW5p
bWF0aW9uRnJhbWVFbmFibGVkS2V5KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IGNiZDFl
YzI1YjY0ZTRjOTk4MzQ4ZTZlZWFmOWFjNjRlNzNjZDhmZGUuLjRmZGI2NGFmODU0MjFmMWEyZDZk
NTg1MDIyNWYwZmI2MmRmNWM1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQpAQCAtMjQwLDkgKzI0
MCw5IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6ZW50ZXJWaWRlb0Z1bGxzY3Jl
ZW5Gb3JWaWRlb0VsZW1lbnQoSFRNTFZpZGVvRWxlCiAgICAgICAgIHJldHVybjsKICAgICBpbnRl
cmZhY2UtPnNldElzQW5pbWF0aW5nKHRydWUpOwogCi0gICAgYm9vbCBhbGxvd09wdGltaXplZEZ1
bGxzY3JlZW4gPSB2aWRlb0VsZW1lbnQubWVkaWFTZXNzaW9uKCkuYWxsb3dzQWx0ZXJuYXRlRnVs
bHNjcmVlbih2aWRlb0VsZW1lbnQpOworICAgIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSA9
IHZpZGVvRWxlbWVudC5tZWRpYVNlc3Npb24oKS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlKHZpZGVv
RWxlbWVudCk7CiAgICAgCi0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHk6OlNldHVwRnVsbHNjcmVlbldpdGhJRChjb250ZXh0SWQsIGludGVy
ZmFjZS0+bGF5ZXJIb3N0aW5nQ29udGV4dCgpLT5jb250ZXh0SUQoKSwgY2xpZW50UmVjdEZvckVs
ZW1lbnQoJnZpZGVvRWxlbWVudCksIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgaW50ZXJm
YWNlLT5mdWxsc2NyZWVuTW9kZSgpLCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pLCBtX3BhZ2Ut
PnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eTo6U2V0dXBGdWxsc2NyZWVuV2l0aElEKGNvbnRleHRJZCwgaW50ZXJmYWNl
LT5sYXllckhvc3RpbmdDb250ZXh0KCktPmNvbnRleHRJRCgpLCBjbGllbnRSZWN0Rm9yRWxlbWVu
dCgmdmlkZW9FbGVtZW50KSwgbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2Ut
PmZ1bGxzY3JlZW5Nb2RlKCksIGFsbG93c1BpY3R1cmVJblBpY3R1cmUpLCBtX3BhZ2UtPnBhZ2VJ
RCgpKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpleGl0VmlkZW9GdWxs
c2NyZWVuRm9yVmlkZW9FbGVtZW50KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQmIHZpZGVvRWxl
bWVudCkK
</data>
<flag name="review"
          id="280125"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255142</attachid>
            <date>2015-06-18 15:38:20 -0700</date>
            <delta_ts>2015-06-18 15:45:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146095-20150618153742.patch</filename>
            <type>text/plain</type>
            <size>56597</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUwYjMxYTI1NDBlZGQ5
YzA0NDI0ZTIyZTYwOGYwNjQ2OWI3NmVkNy4uMjQyZjM4NzVhOWYxZTYzNDhiZmRjYTM1Yzk5MGUx
N2JlZWUwMzI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA2LTE4ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQVZLaXQgdXNhZ2Ugb2Yg
cGlwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYw
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMzg2ODUzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVuYW1lIGVudW0gVmlkZW9GdWxsc2Ny
ZWVuTW9kZU9wdGltaXplZCB0byBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZQor
ICAgICAgICAtIFJlbmFtZSBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NBbHRlcm5hdGVGdWxs
c2NyZWVuIHRvIGFsbG93c1BpY3R1cmVJblBpY3R1cmUKKyAgICAgICAgLSBSZW5hbWUgU2V0dGlu
Z3M6OmFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4gdG8gYWxsb3dzUGljdHVyZUluUGljdHVyZU1l
ZGlhUGxheWJhY2sKKyAgICAgICAgLSBVcGRhdGUgQVZLaXQgY2FsbHMgYW5kIEFWS2l0U1BJLmgK
KyAgICAgICAgLSBSZW5hbWUgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQgZGVsZWdh
dGUgZnVuY3Rpb25zIGFuZCBtZW1iZXIgdmFyaWFibGVzCisKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6Cisg
ICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudFNlc3Npb246OmFsbG93c1BpY3R1cmVJblBpY3R1cmUpOiBSZW5hbWVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzQWx0ZXJuYXRlRnVs
bHNjcmVlbik6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5p
bjoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oOiBSZW1vdmUgdW51c2VkIHNldElzT3B0aW1p
emVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaDogUmVtb3Zl
IHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9u
U1BJLmg6CisKIDIwMTUtMDYtMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBDcmFzaCB1bmRlciBXZWJDb3JlOjpET01XaW5kb3c6OmRpc3BhdGNoTWVz
c2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrIGF0dGVtcHRpbmcgdG8gbG9nIGNvbnNvbGUgbWVzc2Fn
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDEyN2Q4ZGFlMDM0MTJhMmJmOTBhNDNiODI3Zjk3ODcyOWQy
NTdiZjguLjk3ZGE3NDBjMDViOTllZmI5NTQyMmY4ZjRiMTdlZDc4OTE2ODcyYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNi0xOCAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIEFWS2l0IHVzYWdlIG9mIHBpcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MDk1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMTM4Njg1Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAtIFJlbmFtZSBwcmVmZXJlbmNlIGtleQorICAgICAgICAtIFJlbmFt
ZSBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4gdG8gc2hvdWxkQWxsb3dQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjaworCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbl0pOiBDYWxsIGFsbG93c1BpY3R1
cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRB
bGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10pOiBBZGRlZC4KKyAgICAgICAgKC1b
V2ViUHJlZmVyZW5jZXMgc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6XSk6
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMTUtMDYtMTcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkwMzQxMzE+IENsZWFuZWQgdXAg
dGhlIFdlYkRvd25sb2FkLmggZnJhbWV3b3JrIGhlYWRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1ZGNmMWEw
ODk0MjI5MjY0MGU4N2VlODI5MTRjZWNkNTcwMjMwZDZlLi45NjNmNGE0OTZjZmQyNjZmNWYwYjFm
ZTcxMTI1ZTQzYWE2MDY5ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTUtMDYt
MTggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBBVktpdCB1
c2FnZSBvZiBwaXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NjA5NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjEzODY4NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZW5hbWUgcHJlZmVyZW5j
ZSBrZXkKKyAgICAgICAgLSBSZW5hbWUgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuIHRv
IHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sKKworICAgICAgICAqIFNo
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwOiBSZW1vdmUgdW51c2VkIHByZWZlcmVuY2UgY2FsbHMuCisg
ICAgICAgIChXS1ByZWZlcmVuY2VzU2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik6IERlbGV0
ZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dLV2ViVmlldyBfaXNTaG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlXSk6IFJlbmFt
ZWQuCisgICAgICAgICgtW1dLV2ViVmlldyBfaXNTaG93aW5nVmlkZW9PcHRpbWl6ZWRdKTogRGVs
ZXRlZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGlj
dHVyZUluUGljdHVyZV0pOiBSZW5hbWVkLgorICAgICAgICAoLVtXS1dlYlZpZXcgX21heUF1dG9t
YXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKHNob3VsZEFs
bG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2spOiBSZW5hbWVkLgorICAgICAgICAoc2hv
dWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOiBSZW5hbWUgbG9jYWwgdmFyaWFibGVzLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKTogUmVuYW1lZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjptYXlBdXRvbWF0
aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisKIDIwMTUtMDYtMTggIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFNGU2FmYXJpVmlld0NvbnRy
b2xsZXIgZm9yIHByZXZpZXdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAppbmRleCA0MDgzNWEzOTIwZDA1NmUzNWM4MTA2ZjBkOTNlNzhjZDRjZTczZGViLi45YzU4Yzk3
MmI5MWFiN2E2ZTc4NDIzZDg2YThmYmRmN2ZkMzczZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTYyMTIsNyArNjIxMiw3IEBAIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpEaXNwbGF5VHlwZSBIVE1MTWVkaWFFbGVtZW50OjpkaXNwbGF5VHlwZSgpIGNvbnN0
CiB7CiAgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6RnVsbHNjcmVl
bjsKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZU9w
dGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVu
TW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6T3B0aW1pemVkOwogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gVmlkZW9GdWxs
c2NyZWVuTW9kZU5vbmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9y
bWFsOwpAQCAtNjI4NSw3ICs2Mjg1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpvdmVycmlk
ZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKICAgICBpZiAobV9wbGF5ZXIg
JiYgbV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAjZW5kaWYKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlk
ZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2Rl
ICYgVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiB0
cnVlOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09
IFZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCAmJiB3a0lzT3B0aW1pemVkRnVsbHNjcmVlblN1
cHBvcnRlZCgpICYmIGlzUGxheWluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKaW5kZXggMTc4YTYzMzZiMmRmMjBmZDVhNzM5MTQzODkwMThlZTcxMDdmZGExMi4u
YzRlY2U0ZTBmZTliMThmMTA3ZDQ5YzEwMDY3MzgwOTI3OTA5NGEwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC0zNjksNyArMzY5LDcgQEAgYm9vbCBIVE1M
VmlkZW9FbGVtZW50Ojp3ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGUoY29uc3QgU3RyaW5n
JiBtb2RlKSBjb25zdAogICAgICAgICByZXR1cm4gbWVkaWFTZXNzaW9uKCkuZnVsbHNjcmVlblBl
cm1pdHRlZCgqdGhpcykgJiYgc3VwcG9ydHNGdWxsc2NyZWVuKCk7CiAKICAgICBpZiAobW9kZSA9
PSBwcmVzZW50YXRpb25Nb2RlUGljdHVyZUluUGljdHVyZSgpKQotICAgICAgICByZXR1cm4gd2tJ
c09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQoKSAmJiBtZWRpYVNlc3Npb24oKS5hbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuKCp0aGlzKSAmJiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsKKyAgICAg
ICAgcmV0dXJuIHdrSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9ydGVkKCkgJiYgbWVkaWFTZXNz
aW9uKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZSgqdGhpcykgJiYgc3VwcG9ydHNGdWxsc2NyZWVu
KCk7CiAKICAgICBpZiAobW9kZSA9PSBwcmVzZW50YXRpb25Nb2RlSW5saW5lKCkpCiAgICAgICAg
IHJldHVybiAhbWVkaWFTZXNzaW9uKCkucmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFj
aygqdGhpcyk7CkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJr
aXRTZXRQcmVzZW50YXRpb25Nb2RlKGNvbnN0IFN0cmluZyYgbW9kZSkKICAgICBpZiAobW9kZSA9
PSBwcmVzZW50YXRpb25Nb2RlRnVsbHNjcmVlbigpKQogICAgICAgICBlbnRlckZ1bGxzY3JlZW4o
VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKTsKICAgICBlbHNlIGlmIChtb2RlID09IHByZXNl
bnRhdGlvbk1vZGVQaWN0dXJlSW5QaWN0dXJlKCkpCi0gICAgICAgIGVudGVyRnVsbHNjcmVlbihW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAgICAgICAgZW50ZXJGdWxsc2NyZWVuKFZp
ZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAogU3RyaW5nIEhUTUxWaWRl
b0VsZW1lbnQ6OndlYmtpdFByZXNlbnRhdGlvbk1vZGUoKSBjb25zdApAQCAtNDAyLDcgKzQwMiw3
IEBAIFN0cmluZyBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJraXRQcmVzZW50YXRpb25Nb2RlKCkgY29u
c3QKICAgICBpZiAobW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAg
IHJldHVybiBwcmVzZW50YXRpb25Nb2RlRnVsbHNjcmVlbigpOwogCi0gICAgaWYgKG1vZGUgJiBW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKQorICAgIGlmIChtb2RlICYgVmlkZW9GdWxsc2Ny
ZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBwcmVzZW50YXRpb25Nb2Rl
UGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgaWYgKG1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9k
ZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRl
eCAwZDQzZmNkOGZlODM2ZjdjNTA1ZGE4OWI1MzQ3Y2Q5ZGRlZmJmYzhkLi5kMDI3YmMwZjIzNTVk
NDE5YTMzYmY5ZTgxYjBmNGI5NzZhOWI0ZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTM3OSwxMCArMzc5LDEwIEBAIHZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6bWVkaWFFbmdpbmVVcGRhdGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmIGVs
ZW1lbnQpCiAgICAgCiB9CiAKLWJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzQWx0ZXJu
YXRlRnVsbHNjcmVlbihjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdAorYm9v
bCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlKGNvbnN0IEhUTUxN
ZWRpYUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0g
ZWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCk7Ci0gICAgcmV0dXJuIHNldHRpbmdzICYmIHNl
dHRpbmdzLT5hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKCk7CisgICAgcmV0dXJuIHNldHRpbmdz
ICYmIHNldHRpbmdzLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwogfQog
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmgKaW5kZXggYTM0NTZiODJiZDFhMTgwMWZkOGZlZGUzZjk5MDRhMmFiY2IxMmU5
MC4uMGE5ODgxOTM4NGMwZWQ1OGQzZTlmYTcyNjdkNTY0Zjg4ZGNlYTY3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAKICAgICBib29sIHJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2so
Y29uc3QgSFRNTE1lZGlhRWxlbWVudCYpIGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wg
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmKSBjb25zdDsKICAgICBNZWRpYVBsYXllcjo6UHJlbG9hZCBlZmZlY3Rp
dmVQcmVsb2FkRm9yRWxlbWVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7CiAKICAg
ICB2b2lkIG1lZGlhRW5naW5lVXBkYXRlZChjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDM5ZTJhZGQzNWNmMGFiNjc5ZmMzZDczZDhjY2I4ZGEx
OGE4YzI5OGMuLmYyODQ0MDlmODhiNTBkMzU4NmNhZmVjNjg1YWVkNTE3Y2I4NjgwOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgc3RhdGljIGNvbnN0IGJv
b2wgZGVmYXVsdEltYWdlU3Vic2FtcGxpbmdFbmFibGVkID0gZmFsc2U7CiBzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0U2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzID0gZmFsc2U7CiAjZW5kaWYK
IAotc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4gPSB0
cnVlOworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRp
YVBsYXliYWNrID0gdHJ1ZTsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0SW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgPSA1OwogI2lmIFVTRShVTklG
SUVEX1RFWFRfQ0hFQ0tJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCAwMjk2OTQ3YjI0
YjExZTVjOTQ4NTg4M2E4NjRjM2NkYjliZmI5YjUxLi44ZDcxNzMzMTBkMzU2NzY2MjAxMDc3NmVi
YzAyYjJiOTM2ZWU0OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTEyOCw3ICsxMjgs
NyBAQCBhbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCBpbml0aWFsPWZhbHNlCiByZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWFQbGF5YmFjawogYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUg
aW5pdGlhbD1kZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKIGFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2sgaW5pdGlhbD1kZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
awotYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiBpbml0aWFsPWRlZmF1bHRBbGxvd3NBbHRlcm5h
dGVGdWxsc2NyZWVuCithbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBpbml0aWFs
PWRlZmF1bHRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjawogcGFzc3dvcmRFY2hv
RW5hYmxlZCBpbml0aWFsPWZhbHNlCiBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgaW5p
dGlhbD1mYWxzZQogaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJl
c3Npb25UaW1lb3V0SW5TZWNvbmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKaW5kZXggZDFhYTAxMjBmNWEzYzY4MjBlODY1YzNm
NDMxYmZjMDVhZjhjNWUzYy4uMzQ4NmJlM2ViMTkwY2VkMzI1MzJiN2E2YWM2ZTBlMzc5N2QwNmRm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyRW51bXMuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAg
IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lID0gMCwKICAgICAgICAgVmlkZW9GdWxsc2NyZWVuTW9k
ZVN0YW5kYXJkID0gMSA8PCAwLAotICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVk
ID0gMSA8PCAxLAorICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSA9
IDEgPDwgMSwKICAgICB9OwogICAgIHR5cGVkZWYgdWludDMyX3QgVmlkZW9GdWxsc2NyZWVuTW9k
ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0ZjU0ZGJkNDM2ZWRiN2NmYTdhZGFl
MTZhOTFiOGZlMDg5YzQwODU4Li43MGVmM2RlMmZlMTJiMjRiM2NjZDEyZmFiODVjZTQwZTc1ZGNk
ODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTY5Myw4ICs2OTMsOCBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyTGF5ZXIoKQog
ICAgICAgICBbbV92aWRlb0lubGluZUxheWVyIGluc2VydFN1YmxheWVyOm1fdmlkZW9MYXllci5n
ZXQoKSBhdEluZGV4OjBdOwogICAgICAgICBbbV92aWRlb0xheWVyIHNldEZyYW1lOm1fdmlkZW9J
bmxpbmVMYXllci5nZXQoKS5ib3VuZHNdOwogICAgIH0KLSAgICBpZiAoW21fdmlkZW9MYXllciBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1v
ZGVFbmFibGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVyIHNldEVudGVyT3B0aW1pemVkRnVs
bHNjcmVlbk1vZGVFbmFibGVkOihwbGF5ZXIoKS0+ZnVsbHNjcmVlbk1vZGUoKSAmIE1lZGlhUGxh
eWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKV07CisgICAgaWYgKFttX3ZpZGVvTGF5
ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRQSVBNb2RlRW5hYmxlZDopXSkKKyAg
ICAgICAgW21fdmlkZW9MYXllciBzZXRQSVBNb2RlRW5hYmxlZDoocGxheWVyKCktPmZ1bGxzY3Jl
ZW5Nb2RlKCkgJiBNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1
cmUpXTsKICNlbHNlCiAgICAgW21fdmlkZW9MYXllciBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAs
IGRlZmF1bHRTaXplLndpZHRoKCksIGRlZmF1bHRTaXplLmhlaWdodCgpKV07CiAjZW5kaWYKQEAg
LTExODYsOCArMTE4Niw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6c2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eShNZWRpYVBsYXllcjo6CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShNZWRp
YVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogewotICAgIGlmIChtX3ZpZGVvTGF5
ZXIgJiYgW21fdmlkZW9MYXllciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVy
T3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVy
IHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOihtb2RlICYgTWVkaWFQbGF5
ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpXTsKKyAgICBpZiAobV92aWRlb0xheWVy
ICYmIFttX3ZpZGVvTGF5ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRQSVBNb2Rl
RW5hYmxlZDopXSkKKyAgICAgICAgW21fdmlkZW9MYXllciBzZXRQSVBNb2RlRW5hYmxlZDoobW9k
ZSAmIE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSldOwog
fQogCiBOU0FycmF5ICpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0aW1lZE1l
dGFkYXRhKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDE3YjY3
MmZiZGRlMGFmNzY5ZWM3MjZiOGYwNGU0OGM0MmVjNzM2YWIuLmQxOTdiM2ViZGUwOWIzN2ZjYzNh
MDdmOTM3YzcyOGZkMmM4YzhhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpA
QCAtNTE4LDExICs1MTgsMTEgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29u
dGV4dDo6c2V0VXBGdWxsc2NyZWVuKEhUTUxWaWRlb0VsZW1lbnQmIHZpZGUKICAgICAgICAgbV9t
b2RlbC0+c2V0VmlkZW9FbGVtZW50KG1fdmlkZW9FbGVtZW50LmdldCgpKTsKICAgICAgICAgbV92
aWRlb0Z1bGxzY3JlZW5MYXllciA9IFtDQUxheWVyIGxheWVyXTsKICAgICAgICAgCi0gICAgICAg
IGJvb2wgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiA9IG1fdmlkZW9FbGVtZW50LT5tZWRpYVNl
c3Npb24oKS5hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKCptX3ZpZGVvRWxlbWVudC5nZXQoKSk7
CisgICAgICAgIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSA9IG1fdmlkZW9FbGVtZW50LT5t
ZWRpYVNlc3Npb24oKS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlKCptX3ZpZGVvRWxlbWVudC5nZXQo
KSk7CiAgICAgICAgIEludFJlY3QgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCA9IG1fdmlkZW9FbGVt
ZW50LT5jbGllbnRSZWN0KCk7CiAgICAgICAgIAotICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNw
YXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbc3Ryb25nVGhpcywgdGhpcywgdmlkZW9FbGVtZW50Q2xp
ZW50UmVjdCwgdmlld1JlZiwgbW9kZSwgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbl0gewotICAg
ICAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5M
YXllci5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1JlZi5nZXQoKSwgbW9kZSwg
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik7CisgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIFtzdHJvbmdUaGlzLCB0aGlzLCB2aWRlb0VsZW1lbnRDbGll
bnRSZWN0LCB2aWV3UmVmLCBtb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlXSB7CisgICAgICAg
ICAgICBtX2ludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptX3ZpZGVvRnVsbHNjcmVlbkxheWVy
LmdldCgpLCB2aWRlb0VsZW1lbnRDbGllbnRSZWN0LCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5oCmluZGV4IDFkMGZhNTUyNDUyNGQ5ZmUxZmYwM2Q4N2Q4ZWNmOWNiNjg3
MWY2YWQuLjEzN2JlMDQ4MTA2NzBjZDMzZjcwMjhkMmM0ZGE0OWI2YzJmMThkNzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhj
b25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0RXh0ZXJuYWxQ
bGF5YmFjayhib29sIGVuYWJsZWQsIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBXVEY6OlN0
cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKSBvdmVycmlkZTsKICAgICAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIHZvaWQgc2V0dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImLCBjb25zdCBJ
bnRSZWN0JiBpbml0aWFsUmVjdCwgVUlWaWV3ICosIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pOworICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYs
IGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBVSVZpZXcgKiwgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5
YmFjayk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbigp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBleGl0RnVsbHNjcmVlbihjb25zdCBJ
bnRSZWN0JiBmaW5hbFJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBjbGVh
bnVwRnVsbHNjcmVlbigpOwpAQCAtMTAwLDE3ICsxMDAsMTYgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoYm9vbCB2aXNp
YmxlLCBjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0KTsKIAogICAgIEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKCkgY29uc3QgeyByZXR1cm4gbV9tb2RlOyB9
Ci0gICAgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4oKSBjb25zdCB7IHJldHVybiBtX2Fs
bG93T3B0aW1pemVkRnVsbHNjcmVlbjsgfQotICAgIHZvaWQgc2V0SXNPcHRpbWl6ZWQoYm9vbCk7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1p
emVkKCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2soKSBj
b25zdCB7IHJldHVybiBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazsgfQorICAgIFdF
QkNPUkVfRVhQT1JUIGJvb2wgbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1
cmUoKSBjb25zdDsKICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShzdGQ6OmZ1
bmN0aW9uPHZvaWQoYm9vbCk+IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgd2lsbFN0YXJ0T3B0aW1p
emVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQgZGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7
Ci0gICAgdm9pZCBmYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQg
d2lsbFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7Ci0gICAgdm9pZCBkaWRTdG9wT3B0aW1pemVk
RnVsbHNjcmVlbigpOwotICAgIHZvaWQgcHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9w
V2l0aENvbXBsZXRpb25IYW5kbGVyKHZvaWQgKF4pKEJPT0wpKTsKKyAgICB2b2lkIHdpbGxTdGFy
dFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIGRpZFN0YXJ0UGljdHVyZUluUGljdHVyZSgp
OworICAgIHZvaWQgZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIHdp
bGxTdG9wUGljdHVyZUluUGljdHVyZSgpOworICAgIHZvaWQgZGlkU3RvcFBpY3R1cmVJblBpY3R1
cmUoKTsKKyAgICB2b2lkIHByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhDb21wbGV0
aW9uSGFuZGxlcih2b2lkICheKShCT09MKSk7CiAKICAgICB2b2lkIHNldE1vZGUoSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsKICAgICB2b2lkIGNsZWFyTW9kZShI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpOwpAQCAtMTM4LDcgKzEz
Nyw3IEBAIHByb3RlY3RlZDoKICAgICBSZXRhaW5QdHI8VUlXaW5kb3c+IG1fcGFyZW50V2luZG93
OwogICAgIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtX21vZGUg
eyBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lIH07CiAgICAg
c3RkOjpmdW5jdGlvbjx2b2lkKGJvb2wpPiBtX3ByZXBhcmVUb0lubGluZUNhbGxiYWNrOwotICAg
IGJvb2wgbV9hbGxvd09wdGltaXplZEZ1bGxzY3JlZW4geyBmYWxzZSB9OworICAgIGJvb2wgbV9h
bGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2sgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9leGl0
UmVxdWVzdGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZXhpdENvbXBsZXRlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2VudGVyUmVxdWVzdGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQppbmRleCBjNGE0OTdmNTZiZTgzOTlkNDcxNjBjNDQwMDUzYzAzN2Y3OGQxNDhk
Li4xZGM4NzFiNGQ2MTlmMDZjYzkxZmMwMzNlNWE5MjNhY2U3OTM0ZmVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0Lm1tCkBAIC0xOTEsMzUgKzE5MSwzNSBAQCBzdGF0aWMgY29uc3QgY2hh
ciogYm9vbFN0cmluZyhib29sIHZhbCkKICAgICByZXR1cm4gc2VsZi5wbGF5ZXJDb250cm9sbGVy
UHJveHk7CiB9CiAKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RhcnRPcHRpbWl6
ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xs
ZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJl
OihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBV
TlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRyb2xsZXIpOwotICAgIHNlbGYuZnVsbHNjcmVlbklu
dGVyZmFjZS0+d2lsbFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNlbGYuZnVsbHNj
cmVlbkludGVyZmFjZS0+d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSgpOwogfQogCi0tICh2b2lk
KXBsYXllclZpZXdDb250cm9sbGVyRGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXll
clZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKKy0gKHZvaWQpcGxheWVyVmll
d0NvbnRyb2xsZXJEaWRTdGFydFBpY3R1cmVJblBpY3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgogewogICAgIFVOVVNFRF9QQVJBTShwbGF5ZXJWaWV3
Q29udHJvbGxlcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5kaWRTdGFydE9wdGlt
aXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmRpZFN0YXJ0
UGljdHVyZUluUGljdHVyZSgpOwogfQogCi0tICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyRmFp
bGVkVG9TdGFydE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilw
bGF5ZXJWaWV3Q29udHJvbGxlciB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgorLSAodm9pZClw
bGF5ZXJWaWV3Q29udHJvbGxlckZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXll
clZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgd2l0aEVycm9yOihOU0Vycm9y
ICopZXJyb3IKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRyb2xsZXIpOwogICAg
IFVOVVNFRF9QQVJBTShlcnJvcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5mYWls
ZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNlbGYuZnVsbHNjcmVlbkludGVy
ZmFjZS0+ZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAotLSAodm9pZClwbGF5
ZXJWaWV3Q29udHJvbGxlcldpbGxTdG9wT3B0aW1pemVkRnVsbHNjcmVlbjooQVZQbGF5ZXJWaWV3
Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCistICh2b2lkKXBsYXllclZpZXdDb250
cm9sbGVyV2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXllclZpZXdDb250cm9sbGVyICop
cGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBVTlVTRURfUEFSQU0ocGxheWVyVmlld0NvbnRy
b2xsZXIpOwotICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+d2lsbFN0b3BPcHRpbWl6ZWRG
dWxsc2NyZWVuKCk7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT53aWxsU3RvcFBpY3R1
cmVJblBpY3R1cmUoKTsKIH0KIAotLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlckRpZFN0b3BP
cHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0Nv
bnRyb2xsZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJEaWRTdG9wUGljdHVyZUluUGlj
dHVyZTooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250cm9sbGVyKTsKLSAgICBzZWxmLmZ1bGxzY3Jl
ZW5JbnRlcmZhY2UtPmRpZFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAgc2VsZi5mdWxs
c2NyZWVuSW50ZXJmYWNlLT5kaWRTdG9wUGljdHVyZUluUGljdHVyZSgpOwogfQogCiAtIChCT09M
KXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmll
d0NvbnRyb2xsZXIgc2hvdWxkRXhpdEZ1bGxTY3JlZW5XaXRoUmVhc29uOihBVlBsYXllclZpZXdD
b250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pcmVhc29uCkBAIC0yMzYsMTAgKzIzNiwxMCBA
QCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKICAgICByZXR1cm4gTk87
CiB9CiAKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciByZXN0b3JlVXNlckludGVyZmFjZUZvck9wdGltaXpl
ZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHJlc3Rv
cmVkKSljb21wbGV0aW9uSGFuZGxlcgorLSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQ
bGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2VySW50
ZXJmYWNlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAgICAgVU5VU0VEX1BBUkFN
KHBsYXllclZpZXdDb250cm9sbGVyKTsKLSAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPnBy
ZXBhcmVGb3JPcHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcihjb21w
bGV0aW9uSGFuZGxlcik7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5wcmVwYXJlRm9y
UGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIoY29tcGxldGlvbkhhbmRs
ZXIpOwogfQogCiAtICh2b2lkKXBsYXk6KGlkKXNlbmRlcgpAQCAtNTQ3LDkgKzU0Nyw5IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogICAgIHJldHVybiBbTlNTZXQg
c2V0V2l0aE9iamVjdHM6QCJleHRlcm5hbFBsYXliYWNrQWN0aXZlIiwgbmlsXTsKIH0KIAotLSAo
Qk9PTClpc09wdGltaXplZEZ1bGxzY3JlZW5Qb3NzaWJsZQorLSAoQk9PTClpc1BpY3R1cmVJblBp
Y3R1cmVQb3NzaWJsZQogewotICAgIHJldHVybiBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPmFs
bG93T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHJldHVybiBzZWxmLmZ1bGxzY3JlZW5JbnRl
cmZhY2UtPmFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaygpOwogfQogQGVuZAogCkBAIC04
NzYsMTIgKzg3NiwxMiBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpz
ZXRFeHRlcm5hbFBsYXliYWNrKGJvb2wgZW5hYmxlZCwgRXh0ZXJuYQogICAgIFttX3ZpZGVvTGF5
ZXJDb250YWluZXIuZ2V0KCkgc2V0SGlkZGVuOmVuYWJsZWRdOwogfQogCi12b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYg
dmlkZW9MYXllciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIFVJVmlldyog
cGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1v
ZGUsIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKQordm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImIHZpZGVvTGF5
ZXIsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBVSVZpZXcqIHBhcmVudFZp
ZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlLCBib29s
IGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaykKIHsKICAgICBBU1NFUlQobW9kZSAhPSBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0co
RnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxz
Y3JlZW4oJXApIiwgdGhpcyk7CiAKLSAgICBtX2FsbG93T3B0aW1pemVkRnVsbHNjcmVlbiA9IGFs
bG93T3B0aW1pemVkRnVsbHNjcmVlbjsKKyAgICBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5
YmFjayA9IGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazsKIAogICAgIFtDQVRyYW5zYWN0
aW9uIGJlZ2luXTsKICAgICBbQ0FUcmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0aW9uczpZRVNdOwpA
QCAtOTE5LDcgKzkxOSw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldHVwRnVsbHNjcmVlbihQbGF0Zm9ybUxheWVyJiB2aWRlb0xheWVyCiAgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc2V0U2hvd3NQbGF5YmFja0NvbnRyb2xzOk5PXTsKICAgICBbbV9wbGF5
ZXJWaWV3Q29udHJvbGxlciBzZXRQbGF5ZXJDb250cm9sbGVyOihBVlBsYXllckNvbnRyb2xsZXIg
KiltX3BsYXllckNvbnRyb2xsZXIuZ2V0KCldOwogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVy
IHNldERlbGVnYXRlOm1fcGxheWVyQ29udHJvbGxlci5nZXQoKV07Ci0gICAgW21fcGxheWVyVmll
d0NvbnRyb2xsZXIgc2V0QWxsb3dzT3B0aW1pemVkRnVsbHNjcmVlbjphbGxvd09wdGltaXplZEZ1
bGxzY3JlZW5dOworICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldEFsbG93c1BpY3R1cmVJ
blBpY3R1cmVQbGF5YmFjazptX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFja107CiAKICAg
ICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldFBsYXllclZpZXdDb250cm9sbGVyOm1fcGxheWVy
Vmlld0NvbnRyb2xsZXIuZ2V0KCldOwogCkBAIC05NTEsOCArOTUxLDggQEAgdm9pZCBXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAgICBtX2VudGVy
UmVxdWVzdGVkID0gdHJ1ZTsKIAogICAgIFttX3ZpZGVvTGF5ZXJDb250YWluZXIgc2V0QmFja2dy
b3VuZENvbG9yOltbZ2V0VUlDb2xvckNsYXNzKCkgYmxhY2tDb2xvcl0gQ0dDb2xvcl1dOwotICAg
IGlmIChtb2RlKCkgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
T3B0aW1pemVkKQotICAgICAgICBlbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoKTsKKyAgICBpZiAo
bW9kZSgpID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1
cmVJblBpY3R1cmUpCisgICAgICAgIGVudGVyUGljdHVyZUluUGljdHVyZSgpOwogICAgIGVsc2Ug
aWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVT
dGFuZGFyZCkKICAgICAgICAgZW50ZXJGdWxsc2NyZWVuU3RhbmRhcmQoKTsKICAgICBlbHNlCkBA
IC05NjMsMTAgKzk2MywxMCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
OjplbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoKQogewogICAgIExPRyhGdWxsc2NyZWVuLCAiV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmVudGVyRnVsbHNjcmVlbk9wdGltaXplZCgl
cCkiLCB0aGlzKTsKICAgICAKLSAgICBpZiAoW21fcGxheWVyVmlld0NvbnRyb2xsZXIgaXNPcHRp
bWl6ZWRGdWxsc2NyZWVuUG9zc2libGVdKQotICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBzdGFydE9wdGltaXplZEZ1bGxzY3JlZW5dOworICAgIGlmIChbbV9wbGF5ZXJWaWV3Q29udHJv
bGxlciBpc1BpY3R1cmVJblBpY3R1cmVQb3NzaWJsZV0pCisgICAgICAgIFttX3BsYXllclZpZXdD
b250cm9sbGVyIHN0YXJ0UGljdHVyZUluUGljdHVyZV07CiAgICAgZWxzZQotICAgICAgICBmYWls
ZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgICAgICBmYWlsZWRUb1N0YXJ0UGlj
dHVyZUluUGljdHVyZSgpOwogfQogCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0OjplbnRlckZ1bGxzY3JlZW5TdGFuZGFyZCgpCkBAIC0xMDA0LDE0ICsxMDA0LDE0IEBAIHZv
aWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGZpCiAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXdd
IGxheW91dElmTmVlZGVkXTsKIAogCi0gICAgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51
bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpKSB7CisgICAgaWYgKGlzTW9kZShIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKSkg
ewogICAgICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOk5PXTsKLSAgICAgICAgW21fcGxheWVyVmll
d0NvbnRyb2xsZXIgc3RvcE9wdGltaXplZEZ1bGxzY3JlZW5dOwotICAgIH0gZWxzZSBpZiAoaXNN
b2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCB8
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkgewor
ICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wUGljdHVyZUluUGljdHVyZV07Cisg
ICAgfSBlbHNlIGlmIChpc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlUGljdHVyZUluUGljdHVyZSB8IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZVN0YW5kYXJkKSkgewogICAgICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CiAgICAgICAgIFttX3BsYXllclZpZXdD
b250cm9sbGVyIGV4aXRGdWxsU2NyZWVuQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6W3N0
cm9uZ1RoaXMsIHRoaXNdIChCT09MLCBOU0Vycm9yKikgewogICAgICAgICAgICAgW21fd2luZG93
IHNldEhpZGRlbjpOT107Ci0gICAgICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9w
T3B0aW1pemVkRnVsbHNjcmVlbl07CisgICAgICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBzdG9wUGljdHVyZUluUGljdHVyZV07CiAgICAgICAgIH1dOwogICAgIH0gZWxzZSBpZiAoaXNN
b2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkg
ewogICAgICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ+IHN0cm9u
Z1RoaXModGhpcyk7CkBAIC0xMDU0LDggKzEwNTQsOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpjbGVhbnVwRnVsbHNjcmVlbigpCiAgICAgW21fcGxheWVyVmlld0Nv
bnRyb2xsZXIgc2V0RGVsZWdhdGU6bmlsXTsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBz
ZXRQbGF5ZXJDb250cm9sbGVyOm5pbF07CiAgICAgCi0gICAgaWYgKGhhc01vZGUoSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKSkKLSAgICAgICAgW21f
cGxheWVyVmlld0NvbnRyb2xsZXIgc3RvcE9wdGltaXplZEZ1bGxzY3JlZW5dOworICAgIGlmICho
YXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJ
blBpY3R1cmUpKQorICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wUGljdHVyZUlu
UGljdHVyZV07CiAgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1
bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQogICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBl
eGl0RnVsbFNjcmVlbkFuaW1hdGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOltdIChCT09MLCBOU0Vy
cm9yICopIHsgfV07CiAgICAgCkBAIC0xMDk5LDcgKzEwOTksNyBAQCB2b2lkIFdlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCkKICAg
ICBpZiAoIW1fZW50ZXJSZXF1ZXN0ZWQpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpZiAo
aGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6
ZWQpKQorICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgTE9H
KEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cmVxdWVzdEhp
ZGVBbmRFeGl0RnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKQEAgLTExMjcsNyArMTEyNyw3IEBAIHZv
aWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVkVG9SZXR1cm5Ub0lu
bGluZShib29sIHZpc2libGUsIGNvCiAgICAgfQogfQogCi1ib29sIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjptYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29u
c3QKK2Jvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6Om1heUF1dG9tYXRpY2Fs
bHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKIHsKICAgICByZXR1cm4gW21fcGxh
eWVyQ29udHJvbGxlciBpc1BsYXlpbmddICYmIG1fbW9kZSA9PSBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCAmJiB3a0lzT3B0aW1pemVkRnVsbHNjcmVl
blN1cHBvcnRlZCgpOwogfQpAQCAtMTEzOSwxNyArMTEzOSwxNyBAQCB2b2lkIFdlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoc3RkOjpm
dW5jdGlvbgogICAgICAgICBtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+ZnVsbHNjcmVlbk1h
eVJldHVyblRvSW5saW5lKCk7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OndpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAg
TE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0
YXJ0T3B0aW1pemVkRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKLSAgICBzZXRNb2RlKEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCk7CisgICAgTE9HKEZ1
bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGlj
dHVyZUluUGljdHVyZSglcCkiLCB0aGlzKTsKKyAgICBzZXRNb2RlKEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpOwogCiAgICAgaWYgKCFo
YXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJk
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0PiBzdHJvbmdUaGlzKHRoaXMpOwogICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lu
bGluZShbc3Ryb25nVGhpcywgdGhpc10oYm9vbCB2aXNpYmxlKSB7Ci0gICAgICAgIExPRyhGdWxs
c2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdGFydE9wdGlt
aXplZEZ1bGxzY3JlZW4gLSBsYW1iZGEoJXApIC0gdmlzaWJsZSglcykiLCB0aGlzLCBib29sU3Ry
aW5nKHZpc2libGUpKTsKKyAgICAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0UGljdHVyZUluUGljdHVyZSAtIGxhbWJkYSglcCkg
LSB2aXNpYmxlKCVzKSIsIHRoaXMsIGJvb2xTdHJpbmcodmlzaWJsZSkpOwogCiAgICAgICAgIGlm
ICghdmlzaWJsZSkgewogICAgICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpZRVNdOwpAQCAt
MTE2Nyw5ICsxMTY3LDkgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
d2lsbFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigp
Cit2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdGFydFBpY3R1cmVJ
blBpY3R1cmUoKQogewotICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKKyAg
ICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpkaWRT
dGFydFBpY3R1cmVJblBpY3R1cmUoJXApIiwgdGhpcyk7CiAgICAgW21fcGxheWVyVmlld0NvbnRy
b2xsZXIgc2V0U2hvd3NQbGF5YmFja0NvbnRyb2xzOllFU107CiAgICAgW21fd2luZG93IHNldEhp
ZGRlbjpZRVNdOwogCkBAIC0xMTc3LDkgKzExNzcsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpkaWRTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKQogICAgICAgICBt
X2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+ZGlkRW50ZXJGdWxsc2NyZWVuKCk7CiB9CiAKLXZv
aWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRPcHRpbWl6
ZWRGdWxsc2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZh
aWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCkKIHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVs
bHNjcmVlbiglcCkiLCB0aGlzKTsKKyAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0UGljdHVyZUluUGljdHVyZSglcCkiLCB0
aGlzKTsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJv
bHM6WUVTXTsKIAogICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9G
dWxsc2NyZWVuTW9kZVN0YW5kYXJkKSkKQEAgLTExOTQsMTggKzExOTQsMTggQEAgdm9pZCBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZmFpbGVkVG9TdGFydE9wdGltaXplZEZ1bGxz
Y3JlZW4oKQogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RXhpdEZ1bGxz
Y3JlZW4oKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2ls
bFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OndpbGxTdG9wUGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9HKEZ1bGxzY3Jl
ZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BPcHRpbWl6ZWRG
dWxsc2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OndpbGxTdG9wUGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlz
KTsKICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOk5PXTsKIAogICAgIGlmIChtX3ZpZGVvRnVsbHNj
cmVlbk1vZGVsKQogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RXhpdEZ1
bGxzY3JlZW4oKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
ZGlkU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdDo6ZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoKQogewotICAgIExPRyhGdWxsc2Ny
ZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BPcHRpbWl6ZWRG
dWxsc2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BQaWN0dXJlSW5QaWN0dXJlKCVwKSIsIHRoaXMp
OwogICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZVN0YW5kYXJkKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMjE0LDIwICsxMjE0LDIwIEBA
IHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0b3BPcHRpbWl6ZWRG
dWxsc2NyZWVuKCkKICAgICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldEJhY2tncm91bmRDb2xv
cjpbW2dldFVJQ29sb3JDbGFzcygpIGNsZWFyQ29sb3JdIENHQ29sb3JdXTsKICAgICBbW21fcGxh
eWVyVmlld0NvbnRyb2xsZXIgdmlld10gc2V0QmFja2dyb3VuZENvbG9yOltnZXRVSUNvbG9yQ2xh
c3MoKSBjbGVhckNvbG9yXV07CiAKLSAgICBjbGVhck1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1z
OjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAgICBjbGVhck1vZGUoSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiAgICAg
W21fd2luZG93IHNldEhpZGRlbjpZRVNdOwogICAgIAogICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFu
Z2VPYnNlcnZlcikKICAgICAgICAgbV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmRpZEV4aXRG
dWxsc2NyZWVuKCk7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnByZXBhcmVGb3JPcHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcih2
b2lkICheY29tcGxldGlvbkhhbmRsZXIpKEJPT0wgcmVzdG9yZWQpKQordm9pZCBXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0
aENvbXBsZXRpb25IYW5kbGVyKHZvaWQgKF5jb21wbGV0aW9uSGFuZGxlcikoQk9PTCByZXN0b3Jl
ZCkpCiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6cHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25IYW5k
bGVyKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhDb21wbGV0
aW9uSGFuZGxlciglcCkiLCB0aGlzKTsKICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CiAgICAgUmV0YWluUHRyPGlkPiBzdHJvbmdD
b21wbGV0aW9uSGFuZGxlciA9IGFkb3B0TlMoW2NvbXBsZXRpb25IYW5kbGVyIGNvcHldKTsKICAg
ICBmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoW3N0cm9uZ1RoaXMsIHN0cm9uZ0NvbXBsZXRp
b25IYW5kbGVyXShib29sIHJlc3RvcmVkKSAgewotICAgICAgICBMT0coRnVsbHNjcmVlbiwgIldl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlRm9yT3B0aW1pemVkRnVsbHNj
cmVlblN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIgbGFtYmRhKCVwKSAtIHJlc3RvcmVkKCVzKSIs
IHN0cm9uZ1RoaXMuZ2V0KCksIGJvb2xTdHJpbmcocmVzdG9yZWQpKTsKKyAgICAgICAgTE9HKEZ1
bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvclBp
Y3R1cmVJblBpY3R1cmVTdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyIGxhbWJkYSglcCkgLSByZXN0
b3JlZCglcykiLCBzdHJvbmdUaGlzLmdldCgpLCBib29sU3RyaW5nKHJlc3RvcmVkKSk7CiAgICAg
ICAgIHZvaWQgKF5jb21wbGV0aW9uSGFuZGxlcikoQk9PTCByZXN0b3JlZCkgPSBzdHJvbmdDb21w
bGV0aW9uSGFuZGxlci5nZXQoKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzdG9yZWQp
OwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L0FWS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEku
aAppbmRleCBiN2NkMzEzZjgxMWEyZjQyNTk4OTFlODRkMzQyNmE2MTUwZTU5NDAyLi5jYWJkNTA5
ZDdhMjdkMzVkOWZlN2U4Y2I2M2JhYzlhM2UwYWZiZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaApAQCAtNzgsMjAgKzc4LDE4IEBAIHR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJl
YXNvbikgewogICAgIEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNvblJl
bW90ZUNvbnRyb2xTdG9wRXZlbnRSZWNlaXZlZCA9IDMsCiB9OwogLSAoQk9PTClwbGF5ZXJWaWV3
Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVy
IHNob3VsZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4
aXRGdWxsU2NyZWVuUmVhc29uKXJlYXNvbjsKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXI6
KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciByZXN0b3JlVXNl
ckludGVyZmFjZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQpcGxh
eWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29u
dHJvbGxlciByZXN0b3JlVXNlckludGVyZmFjZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0aENv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9uSGFuZGxl
cjsKIEBlbmQKIAotdHlwZWRlZiBOU0ludGVnZXIgQVZQbGF5ZXJWaWV3Q29udHJvbGxlck9wdGlt
aXplZEZ1bGxzY3JlZW5TdG9wUmVhc29uOwotCiBAaW50ZXJmYWNlIEFWUGxheWVyVmlld0NvbnRy
b2xsZXIgKERldGFpbHMpCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWRlb0xheWVyOihDQUxh
eWVyIDxBVlZpZGVvTGF5ZXI+ICopdmlkZW9MYXllcjsKIC0gKHZvaWQpZW50ZXJGdWxsU2NyZWVu
QW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wg
c3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpZXhpdEZ1bGxT
Y3JlZW5BbmltYXRlZDooQk9PTClhbmltYXRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
Qk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogCi0tIChCT09MKWlz
T3B0aW1pemVkRnVsbHNjcmVlblBvc3NpYmxlOwotLSAodm9pZClzdGFydE9wdGltaXplZEZ1bGxz
Y3JlZW47Ci0tICh2b2lkKXN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuOwotLSAodm9pZClzZXRBbGxv
d3NPcHRpbWl6ZWRGdWxsc2NyZWVuOihCT09MKWFsbG93c09wdGltaXplZEZ1bGxzY3JlZW47Cist
IChCT09MKWlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlOworLSAodm9pZClzdGFydFBpY3R1cmVJ
blBpY3R1cmU7CistICh2b2lkKXN0b3BQaWN0dXJlSW5QaWN0dXJlOworLSAodm9pZClzZXRBbGxv
d3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6KEJPT0wpYWxsb3c7CiAKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzdHJvbmcpIEFWUGxheWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCB3ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVn
YXRlPiBkZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9t
YWMvQVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FW
Rm91bmRhdGlvblNQSS5oCmluZGV4IDA4YzQ4MmRmNzdmNmRjNWVmNzgwZTg0ZWQyNTY3ZjRkMDA2
YTBjZTIuLjM2Njg0NjhjMzIwYzgzMGVhYTVmMDMzYTFlZmRjMmVhNmMwZWM0MzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAt
NjYsOCArNjYsOCBAQAogCiAjaWYgIUhBVkUoQVZLSVQpIHx8ICFVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKSB8fCBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDkwMDAwCiAKLUBpbnRl
cmZhY2UgQVZQbGF5ZXJMYXllciAoQVZQbGF5ZXJMYXllck9wdGltaXplZEZ1bGxzY3JlZW5Nb2Rl
U3VwcG9ydFByaXZhdGUpCi0tICh2b2lkKXNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVF
bmFibGVkOihCT09MKWZsYWc7CitAaW50ZXJmYWNlIEFWUGxheWVyTGF5ZXIgKEFWUGxheWVyTGF5
ZXJQaWN0dXJlSW5QaWN0dXJlTW9kZVN1cHBvcnRQcml2YXRlKQorLSAodm9pZClzZXRQSVBNb2Rl
RW5hYmxlZDooQk9PTClmbGFnOwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGQwYTlhYTQ0
NWU5NzY3ZDkwZTVmNTNkYTgzZTI5YzA4MjdmY2JjYjkuLjNmMGM4ZGRlZGJhMDMwZDVmMmYyNzlj
MjBiZjM3ZjZkNmRkOWQ4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTIxLDcgKzEyMSw3IEBACiAjZGVmaW5l
IFdlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWRLZXkgQCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIgogI2RlZmluZSBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0
dXJlRm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIgotI2RlZmlu
ZSBXZWJLaXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuUHJlZmVyZW5jZUtleSBAIldlYktpdEFs
bG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4iCisjZGVmaW5lIFdlYktpdEFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdEFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrIgogI2RlZmluZSBXZWJLaXRBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQ
bGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzQWlyUGxheSIK
ICNkZWZpbmUgV2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dE1vY2tTY3JvbGxiYXJzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRp
dGxlc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaG91bGREaXNwbGF5U3VidGl0bGVzIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYjAxMzFhNzNkMTk3
MTc2MzM5YzZlZGUxYTNjZTNlNTAyZmI5MmY0NC4uN2ZhODJkODZhYTkyZWUwYzY5YzQ4YjZjOTJi
NDVjOGEzZTE1MTVlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCkBAIC01NDYsNyArNTQ2LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19U
QVJHRVRfUExBWUJBQ0spCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAg
V2ViS2l0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogI2VuZGlm
Ci0gICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dzQWx0
ZXJuYXRlRnVsbHNjcmVlblByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdl
YktpdFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFdhbnRzQmFsYW5jZWRTZXREZWZl
cnNMb2FkaW5nQmVoYXZpb3JLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sICAgV2ViS2l0RGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkS2V5LApAQCAtMjE5NywxMiArMjE5
NywyMiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAKIC0gKEJP
T0wpYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbgogewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5QcmVmZXJlbmNlS2V5XTsK
KyAgICByZXR1cm4gW3NlbGYgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tdOwog
fQogCiAtICh2b2lkKXNldEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW46KEJPT0wpZmxhZwogewot
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWxsb3dzQWx0ZXJuYXRl
RnVsbHNjcmVlblByZWZlcmVuY2VLZXldOworICAgIFtzZWxmIHNldEFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrOmZsYWddOworfQorCistIChCT09MKWFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6
V2ViS2l0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsK
K30KKworLSAodm9pZClzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazooQk9P
TClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRBbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtIChC
T09MKW1vY2tTY3JvbGxiYXJzRW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNmViMjk3NmZiOTc4NTgwY2RmMjJiODBh
ZjUwNjQxMTFmZjJmNDk3ZC4uMzQ3NzY5ZWRkNGQ4YmRhYzBmNjg0YTk2ODE3Y2YxYjMyZTc3MzEx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCkBAIC0yNTMsNiArMjUzLDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEFsbG93
c0FsdGVybmF0ZUZ1bGxzY3JlZW46KEJPT0wpZmxhZzsKIC0gKEJPT0wpYWxsb3dzQWx0ZXJuYXRl
RnVsbHNjcmVlbjsKIAorLSAodm9pZClzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFjazooQk9PTClmbGFnOworLSAoQk9PTClhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFjazsKKwogLSAoTlNTdHJpbmcgKilwaWN0b2dyYXBoRm9udEZhbWlseTsKIC0gKHZvaWQpc2V0
UGljdG9ncmFwaEZvbnRGYW1pbHk6KE5TU3RyaW5nICopZmFtaWx5OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggN2IyYWM3NGJjYzk2YjNhOTg2NTE5NzUwYjkxZTNkMzc4
ZDQ1MTE0Ny4uMTVlM2I3NDkwNjJjNWU5YmJjNmJmYzhiZTYzZmIxMGI1YzdmMDk0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtODUxLDExICs4NTEsMTEgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkQWxsb3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50KCkKICAg
ICByZXR1cm4gc2hvdWxkQWxsb3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50Owog
fQogCi1zdGF0aWMgYm9vbCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4oKQorc3RhdGlj
IGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpCiB7CiAjaWYg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAw
MAotICAgIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbiA9IGlvc0V4
ZWN1dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJWZXJzaW9uKHdrSU9TU3lzdGVtVmVyc2lvbl85XzAp
OwotICAgIHJldHVybiBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW47CisgICAgc3RhdGlj
IGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IGlvc0V4ZWN1
dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJWZXJzaW9uKHdrSU9TU3lzdGVtVmVyc2lvbl85XzApOwor
ICAgIHJldHVybiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwogI2Vs
c2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKQEAgLTIyOTQsNyArMjI5NCw3IEBAIHN0YXRp
YyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKIAogICAgIHNldHRpbmdz
LnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNldEFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVd
KTsKLSAgICBzZXR0aW5ncy5zZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKFtwcmVmZXJlbmNl
cyBhbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuXSAmJiBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxz
Y3JlZW4oKSk7CisgICAgc2V0dGluZ3Muc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2soW3ByZWZlcmVuY2VzIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrXSAm
JiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkpOwogICAgIHNldHRp
bmdzLnNldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhbcHJlZmVyZW5jZXMgc3VwcHJl
c3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nXSk7CiAgICAgc2V0dGluZ3Muc2V0QmFja3NwYWNlS2V5
TmF2aWdhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFi
bGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0V2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhh
dmlvcihbcHJlZmVyZW5jZXMgd2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcl0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
LmgKaW5kZXggNTY5MjFkOTQzMGY5YWVhMDliOWM2NmM1ZDI1ZjhhNDU3MzNlOTkzOS4uMzAwYjYw
NzFiMWFmNjdmYTg2Y2RlYTE1YjY3OGNlNWQwNmRlYTE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0xMzAsNyArMTMwLDcg
QEAKICAgICBtYWNybyhBVkZvdW5kYXRpb25FbmFibGVkLCBpc0FWRm91bmRhdGlvbkVuYWJsZWQs
IEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVk
aWFQbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIEJvb2wsIGJv
b2wsIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZQkFDSykgXAog
ICAgIG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJQV9QTEFZQkFDSykg
XAotICAgIG1hY3JvKEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4sIGFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW4sIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNybyhBbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjaywgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2ss
IEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5
YmFjaywgYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIHRydWUpIFwK
ICAgICBtYWNybyhJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgaW5zcGVjdG9yU3RhcnRzQXR0YWNo
ZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhTaG93c1Rvb2xUaXBPdmVyVHJ1bmNh
dGVkVGV4dCwgc2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHAKaW5kZXggMTBlYzc3NzQ4MzI0NDgxMTVkNDNhNGNmMGE5MjBkNmFkNDhlODc0Zi4uZTBlNTky
MmFmZDgzM2VkY2Q4OWJhMWIzOTgzY2QzNGQ5NTM3YzM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtNzQ4LDE2ICs3NDgsNiBA
QCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPmFsbG93c0lubGluZU1lZGlhUGxheWJhY2soKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmLCBib29sIGZsYWcpCi17Ci0gICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0QWxsb3dz
QWx0ZXJuYXRlRnVsbHNjcmVlbihmbGFnKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWxs
b3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQot
ewotICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5hbGxvd3NBbHRlcm5hdGVGdWxs
c2NyZWVuKCk7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3dzVG9vbFRpcE92ZXJUcnVu
Y2F0ZWRUZXh0KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVk
VGV4dChmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggYmExOGIyZmQ3MzBhNDkzZDFjZDFiY2E1
MjZjZDVmOTY0ZDU4MDU1Ny4uMGM5ZTkzNTFhNDFhOGExNTBmMWZjZjI3NDRiNmFiZmMxZjcwY2E5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTE3OSwxMCArMTc5LDYgQEAgV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVy
ZW5jZXNSZWYKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrQWxs
b3dzSW5saW5lKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIAotLy8gRGVmYXVsdHMgdG8gdHJ1ZS4K
LVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVu
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7Ci1XS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKLQogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYWYwMjZiZWJkNzZlM2JiYTY1OTAxYzY3NmU5NzAy
MzliZGQ4NDczOC4uNzA0MTEyMjgyMjFiZDcyYWZkNWRlZGM2ODUwMmNkNjE5YzZmNDk4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAg
LTI0MiwxNSArMjQyLDE1IEBAIHN0YXRpYyBpbnQzMl90IGRldmljZU9yaWVudGF0aW9uKCkKICAg
ICByZXR1cm4gZGV2aWNlT3JpZW50YXRpb25Gb3JVSUludGVyZmFjZU9yaWVudGF0aW9uKFtbVUlB
cHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gc3RhdHVzQmFyT3JpZW50YXRpb25dKTsKIH0K
IAotLSAoQk9PTClfaXNTaG93aW5nVmlkZW9PcHRpbWl6ZWQKKy0gKEJPT0wpX2lzU2hvd2luZ1Zp
ZGVvUGljdHVyZUluUGljdHVyZQogewogICAgIGlmICghX3BhZ2UgfHwgIV9wYWdlLT52aWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICByZXR1
cm4gX3BhZ2UtPnZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKS0+aGFzTW9kZShXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpOworICAgIHJl
dHVybiBfcGFnZS0+dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpLT5oYXNNb2RlKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUp
OwogfQogCi0tIChCT09MKV9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkCistIChC
T09MKV9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZQogewogI2lmIChf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8PSA4MDIwMCkgfHwgIUhBVkUoQVZLSVQp
CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjU4LDE1ICsyNTgsMTUgQEAgc3RhdGljIGludDMyX3Qg
ZGV2aWNlT3JpZW50YXRpb24oKQogICAgIGlmICghX3BhZ2UgfHwgIV9wYWdlLT52aWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBfcGFn
ZS0+dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpLT5tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0
aW1pemVkKCk7CisgICAgcmV0dXJuIF9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCktPm1h
eUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCk7CiAjZW5kaWYKIH0KIAot
c3RhdGljIGJvb2wgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkKK3N0YXRpYyBib29s
IHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogewogI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMDAwCi0gICAgc3RhdGljIGJvb2wgc2hv
dWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuID0gaW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JB
ZnRlclZlcnNpb24od2tJT1NTeXN0ZW1WZXJzaW9uXzlfMCk7Ci0gICAgcmV0dXJuIHNob3VsZEFs
bG93QWx0ZXJuYXRlRnVsbHNjcmVlbjsKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1
cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gaW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JBZnRl
clZlcnNpb24od2tJT1NTeXN0ZW1WZXJzaW9uXzlfMCk7CisgICAgcmV0dXJuIHNob3VsZEFsbG93
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgpAQCAtMzIzLDcgKzMyMyw3IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93QWx0ZXJu
YXRlRnVsbHNjcmVlbigpCiAgICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24uYWx3YXlzUnVuc0F0Rm9y
ZWdyb3VuZFByaW9yaXR5ID0gW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5k
UHJpb3JpdHldOwogCiAgICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZVZhbHVlcy5z
ZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0tl
eSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9u
IGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKSk7Ci0gICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24u
cHJlZmVyZW5jZVZhbHVlcy5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzQWx0
ZXJuYXRlRnVsbHNjcmVlbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVl
KCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrXSAm
JiBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4oKSkpOworICAgIHdlYlBhZ2VDb25maWd1
cmF0aW9uLnByZWZlcmVuY2VWYWx1ZXMuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2soKSkpOwogICAgIHdlYlBhZ2VDb25maWd1cmF0aW9uLnByZWZlcmVuY2VWYWx1ZXMuc2V0KFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXli
YWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3Vy
YXRpb24gcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFja10pKTsKICNlbmRpZgogI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggYTdhYzU5
N2QyNWQxYzk5YTllYzU5N2IyYjg1MDI2ZDhhNzc2MTYxOC4uZGYzZTdkN2ZhNGE0MjJlMDAwNjNl
NDhmZmE4ZTQ4MTlkZDIwZGYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtOTgsOCArOTgsOCBAQCBzdHJ1
Y3QgUHJpbnRJbmZvOwogLSAodm9pZClfZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZTsKIC0gKHZv
aWQpX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JNYWluRnJhbWU6KFdlYktpdDo6U2FtZURv
Y3VtZW50TmF2aWdhdGlvblR5cGUpbmF2aWdhdGlvblR5cGU7CiAKLS0gKEJPT0wpX2lzU2hvd2lu
Z1ZpZGVvT3B0aW1pemVkOwotLSAoQk9PTClfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGlt
aXplZDsKKy0gKEJPT0wpX2lzU2hvd2luZ1ZpZGVvUGljdHVyZUluUGljdHVyZTsKKy0gKEJPT0wp
X21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlOwogCiAtICh2b2lkKV91
cGRhdGVTY3JvbGxWaWV3QmFja2dyb3VuZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggNTczMjA3MjNhMTY0YjdkOWZjZDFh
MGUyMGUyNTFiMmVkODU3MzhlMC4uY2E3MmE3NzE0YzQyZjU1YTY2MGJjNjNiNTNmZGExNDQxMDEz
MTAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tCkBAIC0xODUsMTAgKzE4NSwxMCBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjppc1Zp
ZXdWaXNpYmxlKCkKICAgICBpZiAoaXNWaWV3SW5XaW5kb3coKSAmJiAhbV9jb250ZW50Vmlldy5p
c0JhY2tncm91bmQpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIAotICAgIGlmIChbbV93ZWJW
aWV3IF9pc1Nob3dpbmdWaWRlb09wdGltaXplZF0pCisgICAgaWYgKFttX3dlYlZpZXcgX2lzU2hv
d2luZ1ZpZGVvUGljdHVyZUluUGljdHVyZV0pCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIAot
ICAgIGlmIChbbV93ZWJWaWV3IF9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkXSkK
KyAgICBpZiAoW21fd2ViVmlldyBfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBp
Y3R1cmVdKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAppbmRleCA3ZTBiZTc2Y2M1MDJhMzcyM2E2M2I1Y2EwZWY5
ZjlmMGE3MTM5MzMyLi44MzQzMjRmMzcyZDdjOWRkOTVkY2JjODRiOTYzMjJlZjAwYzkxY2YwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3JlZW4oKTsKICAgICBib29sIGhhc01v
ZGUoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKSBj
b25zdDsKLSAgICBib29sIG1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWQoKSBjb25z
dDsKKyAgICBib29sIG1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYlZpZGVvRnVsbHNjcmVlbk1v
ZGVsQ29udGV4dDsKQEAgLTEyMyw3ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6Oldl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0JiBlbnN1cmVJbnRlcmZhY2UodWludDY0X3Qg
Y29udGV4dElkKTsKIAogICAgIC8vIE1lc3NhZ2VzIGZyb20gV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlcgotICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwg
dWludDMyX3QgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVj
dCwgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51
bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKTsK
KyAgICB2b2lkIHNldHVwRnVsbHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQz
Ml90IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGZs
b2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUpOwogICAgIHZv
aWQgcmVzZXRNZWRpYVN0YXRlKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAgICAgdm9pZCBzZXRDdXJy
ZW50VGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGhv
c3RUaW1lKTsKICAgICB2b2lkIHNldEJ1ZmZlcmVkVGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRv
dWJsZSBidWZmZXJlZFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbgppbmRleCAwYzVkYzExNTQ2MTg1MTA2MWYxMTBmZWM3ODM4NjU2NzU5MDFhYjZhLi42
YmIwNzZkNWZjZjQxMWQwMzZmZjQ1Mjk0MzlkMTRkN2ZmZmE1ZDFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzMsNyArMzMsNyBAQCBtZXNzYWdl
cyAtPiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEV4dGVybmFsUGxh
eWJhY2tQcm9wZXJ0aWVzKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVkLCB1aW50MzJf
dCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkKICAgICBTZXREdXJhdGlv
bih1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBkdXJhdGlvbikKICAgICBTZXRSYXRlKHVpbnQ2
NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsIGRvdWJsZSByYXRlKQotICAgIFNldHVwRnVs
bHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwg
V2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9G
dWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pCisgICAgU2V0dXBG
dWxsc2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9MYXllcklE
LCBXZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3Is
IFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRl
b0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUpCiAgICAgRW50ZXJG
dWxsc2NyZWVuKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBFeGl0RnVsbHNjcmVlbih1aW50NjRf
dCBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KQogICAgIENsZWFudXBGdWxs
c2NyZWVuKHVpbnQ2NF90IGNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5k
ZXggZTZhZGExMmJkODZhN2Y3NTg4MmM0YTEyNmFlYjI3NzZjMWQxMDg2MC4uNDk1MzdlNGRjZDc0
ZTVlOWZmOTJjZmJhNzdjZmQwYTRmZTgyY2NkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW0KQEAgLTYyLDcgKzYyLDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
Omhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3IKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjptYXlBdXRv
bWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkgY29uc3QKK2Jvb2wgV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5OjptYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVy
ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMjY2LDEwICsyNjYsMTAgQEAg
Ym9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Omhhc01vZGUoSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3IKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjptYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0
aW1pemVkKCkgY29uc3QKK2Jvb2wgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjptYXlB
dXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGljdHVyZUluUGljdHVyZSgpIGNvbnN0CiB7CiAgICAgZm9y
IChhdXRvJiB0dXBsZSA6IG1fY29udGV4dE1hcC52YWx1ZXMoKSkgewotICAgICAgICBpZiAoc3Rk
OjpnZXQ8MT4odHVwbGUpLT5tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKCkpCisg
ICAgICAgIGlmIChzdGQ6OmdldDwxPih0dXBsZSktPm1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9Q
aWN0dXJlSW5QaWN0dXJlKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMzA2LDcgKzMwNiw3IEBAIFdlYkNvcmU6OldlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0JiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmVuc3Vy
CiAKICNwcmFnbWEgbWFyayBNZXNzYWdlcyBmcm9tIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIK
IAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldp
dGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3Rv
ciwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNj
cmVlbk1vZGUsIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKQordm9pZCBXZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250
ZXh0SWQsIHVpbnQzMl90IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5p
dGlhbFJlY3QsIGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvciwgSFRNTE1lZGlhRWxlbWVu
dEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxs
b3dzUGljdHVyZUluUGljdHVyZSkKIHsKICAgICBBU1NFUlQodmlkZW9MYXllcklEKTsKICAgICBS
ZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuTW9kZWxDb250ZXh0PiBtb2RlbDsKQEAgLTMyMyw3ICsz
MjMsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2Ny
ZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdQogICAgIH0KIAogICAgIFVJVmlldyAqcGFy
ZW50VmlldyA9IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3Bh
Z2UtPmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5yb290TGF5ZXIoKTsKLSAg
ICBpbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9zdCgpLCBpbml0aWFs
UmVjdCwgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dPcHRpbWl6ZWRGdWxs
c2NyZWVuKTsKKyAgICBpbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9z
dCgpLCBpbml0aWFsUmVjdCwgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dz
UGljdHVyZUluUGljdHVyZSk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpyZXNldE1lZGlhU3RhdGUodWludDY0X3QgY29udGV4dElkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDkyOGU1ZGQ5NGE5OGU2NTk1
MTQxYWUwMDM2MzMzMmZjZWI0NDMyNDkuLjlmZjU5Nzk3MGY5ODExNTY4MjdlNWY1MWU1YTViZjQ5
OWMxOWVhOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTI3OTksNyArMjc5OSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5j
ZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjphY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
ayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldEFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW4oc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbGxv
d3NBbHRlcm5hdGVGdWxsc2NyZWVuS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRBbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCkpKTsK
ICAgICBzZXR0aW5ncy5zZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojptb2NrU2Nyb2xsYmFyc0VuYWJsZWRLZXkoKSkpOwog
ICAgIHNldHRpbmdzLnNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Omh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZEtleSgp
KSk7CiAgICAgc2V0dGluZ3Muc2V0UmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVlc3RBbmltYXRpb25GcmFt
ZUVuYWJsZWRLZXkoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KaW5kZXggY2JkMWVjMjViNjRlNGM5
OTgzNDhlNmVlYWY5YWM2NGU3M2NkOGZkZS4uNGZkYjY0YWY4NTQyMWYxYTJkNmQ1ODUwMjI1ZjBm
YjYyZGY1YzU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCkBAIC0yNDAsOSArMjQwLDkgQEAgdm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjplbnRlclZpZGVvRnVsbHNjcmVlbkZvclZpZGVv
RWxlbWVudChIVE1MVmlkZW9FbGUKICAgICAgICAgcmV0dXJuOwogICAgIGludGVyZmFjZS0+c2V0
SXNBbmltYXRpbmcodHJ1ZSk7CiAKLSAgICBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbiA9
IHZpZGVvRWxlbWVudC5tZWRpYVNlc3Npb24oKS5hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKHZp
ZGVvRWxlbWVudCk7CisgICAgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlID0gdmlkZW9FbGVt
ZW50Lm1lZGlhU2Vzc2lvbigpLmFsbG93c1BpY3R1cmVJblBpY3R1cmUodmlkZW9FbGVtZW50KTsK
ICAgICAKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6U2V0dXBGdWxsc2NyZWVuV2l0aElEKGNvbnRleHRJZCwgaW50ZXJmYWNlLT5sYXll
ckhvc3RpbmdDb250ZXh0KCktPmNvbnRleHRJRCgpLCBjbGllbnRSZWN0Rm9yRWxlbWVudCgmdmlk
ZW9FbGVtZW50KSwgbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2UtPmZ1bGxz
Y3JlZW5Nb2RlKCksIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbiksIG1fcGFnZS0+cGFnZUlEKCkp
OworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4dElkLCBpbnRlcmZhY2UtPmxheWVySG9z
dGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIGNsaWVudFJlY3RGb3JFbGVtZW50KCZ2aWRlb0Vs
ZW1lbnQpLCBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCksIGludGVyZmFjZS0+ZnVsbHNjcmVl
bk1vZGUoKSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQog
CiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRWaWRlb0Z1bGxzY3JlZW5Gb3JW
aWRlb0VsZW1lbnQoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudCYgdmlkZW9FbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255149</attachid>
            <date>2015-06-18 16:20:18 -0700</date>
            <delta_ts>2015-06-18 16:45:38 -0700</delta_ts>
            <desc>Patch for submission</desc>
            <filename>bug-146095-20150618161940.patch</filename>
            <type>text/plain</type>
            <size>57061</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUwYjMxYTI1NDBlZGQ5
YzA0NDI0ZTIyZTYwOGYwNjQ2OWI3NmVkNy4uMjQyZjM4NzVhOWYxZTYzNDhiZmRjYTM1Yzk5MGUx
N2JlZWUwMzI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA2LTE4ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQVZLaXQgdXNhZ2Ugb2Yg
cGlwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYw
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMzg2ODUzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVuYW1lIGVudW0gVmlkZW9GdWxsc2Ny
ZWVuTW9kZU9wdGltaXplZCB0byBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZQor
ICAgICAgICAtIFJlbmFtZSBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NBbHRlcm5hdGVGdWxs
c2NyZWVuIHRvIGFsbG93c1BpY3R1cmVJblBpY3R1cmUKKyAgICAgICAgLSBSZW5hbWUgU2V0dGlu
Z3M6OmFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4gdG8gYWxsb3dzUGljdHVyZUluUGljdHVyZU1l
ZGlhUGxheWJhY2sKKyAgICAgICAgLSBVcGRhdGUgQVZLaXQgY2FsbHMgYW5kIEFWS2l0U1BJLmgK
KyAgICAgICAgLSBSZW5hbWUgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQgZGVsZWdh
dGUgZnVuY3Rpb25zIGFuZCBtZW1iZXIgdmFyaWFibGVzCisKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6Cisg
ICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudFNlc3Npb246OmFsbG93c1BpY3R1cmVJblBpY3R1cmUpOiBSZW5hbWVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzQWx0ZXJuYXRlRnVs
bHNjcmVlbik6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5p
bjoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oOiBSZW1vdmUgdW51c2VkIHNldElzT3B0aW1p
emVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaDogUmVtb3Zl
IHVudXNlZCB0eXBlZGVmLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9u
U1BJLmg6CisKIDIwMTUtMDYtMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBDcmFzaCB1bmRlciBXZWJDb3JlOjpET01XaW5kb3c6OmRpc3BhdGNoTWVz
c2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrIGF0dGVtcHRpbmcgdG8gbG9nIGNvbnNvbGUgbWVzc2Fn
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDEyN2Q4ZGFlMDM0MTJhMmJmOTBhNDNiODI3Zjk3ODcyOWQy
NTdiZjguLjk3ZGE3NDBjMDViOTllZmI5NTQyMmY4ZjRiMTdlZDc4OTE2ODcyYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNi0xOCAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIEFWS2l0IHVzYWdlIG9mIHBpcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MDk1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMTM4Njg1Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAtIFJlbmFtZSBwcmVmZXJlbmNlIGtleQorICAgICAgICAtIFJlbmFt
ZSBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4gdG8gc2hvdWxkQWxsb3dQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjaworCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbl0pOiBDYWxsIGFsbG93c1BpY3R1
cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRB
bGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10pOiBBZGRlZC4KKyAgICAgICAgKC1b
V2ViUHJlZmVyZW5jZXMgc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6XSk6
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisKIDIwMTUtMDYtMTcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkwMzQxMzE+IENsZWFuZWQgdXAg
dGhlIFdlYkRvd25sb2FkLmggZnJhbWV3b3JrIGhlYWRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1ZGNmMWEw
ODk0MjI5MjY0MGU4N2VlODI5MTRjZWNkNTcwMjMwZDZlLi45NjNmNGE0OTZjZmQyNjZmNWYwYjFm
ZTcxMTI1ZTQzYWE2MDY5ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTUtMDYt
MTggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBBVktpdCB1
c2FnZSBvZiBwaXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NjA5NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjEzODY4NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZW5hbWUgcHJlZmVyZW5j
ZSBrZXkKKyAgICAgICAgLSBSZW5hbWUgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuIHRv
IHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sKKworICAgICAgICAqIFNo
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwOiBSZW1vdmUgdW51c2VkIHByZWZlcmVuY2UgY2FsbHMuCisg
ICAgICAgIChXS1ByZWZlcmVuY2VzU2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik6IERlbGV0
ZWQuCisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dLV2ViVmlldyBfaXNTaG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlXSk6IFJlbmFt
ZWQuCisgICAgICAgICgtW1dLV2ViVmlldyBfaXNTaG93aW5nVmlkZW9PcHRpbWl6ZWRdKTogRGVs
ZXRlZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGlj
dHVyZUluUGljdHVyZV0pOiBSZW5hbWVkLgorICAgICAgICAoLVtXS1dlYlZpZXcgX21heUF1dG9t
YXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKHNob3VsZEFs
bG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2spOiBSZW5hbWVkLgorICAgICAgICAoc2hv
dWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOiBSZW5hbWUgbG9jYWwgdmFyaWFibGVzLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKTogUmVuYW1lZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjptYXlBdXRvbWF0
aWNhbGx5U2hvd1ZpZGVvT3B0aW1pemVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisKIDIwMTUtMDYtMTggIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFNGU2FmYXJpVmlld0NvbnRy
b2xsZXIgZm9yIHByZXZpZXdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAppbmRleCA0MDgzNWEzOTIwZDA1NmUzNWM4MTA2ZjBkOTNlNzhjZDRjZTczZGViLi45YzU4Yzk3
MmI5MWFiN2E2ZTc4NDIzZDg2YThmYmRmN2ZkMzczZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTYyMTIsNyArNjIxMiw3IEBAIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpEaXNwbGF5VHlwZSBIVE1MTWVkaWFFbGVtZW50OjpkaXNwbGF5VHlwZSgpIGNvbnN0
CiB7CiAgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6RnVsbHNjcmVl
bjsKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVuTW9kZU9w
dGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlkZW9GdWxsc2NyZWVu
TW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6T3B0aW1pemVkOwogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gVmlkZW9GdWxs
c2NyZWVuTW9kZU5vbmUpCiAgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9y
bWFsOwpAQCAtNjI4NSw3ICs2Mjg1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpvdmVycmlk
ZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKCkgY29uc3QKICAgICBpZiAobV9wbGF5ZXIg
JiYgbV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAjZW5kaWYKLSAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlICYgVmlk
ZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2Rl
ICYgVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiB0
cnVlOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09
IFZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCAmJiB3a0lzT3B0aW1pemVkRnVsbHNjcmVlblN1
cHBvcnRlZCgpICYmIGlzUGxheWluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKaW5kZXggMTc4YTYzMzZiMmRmMjBmZDVhNzM5MTQzODkwMThlZTcxMDdmZGExMi4u
YzRlY2U0ZTBmZTliMThmMTA3ZDQ5YzEwMDY3MzgwOTI3OTA5NGEwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC0zNjksNyArMzY5LDcgQEAgYm9vbCBIVE1M
VmlkZW9FbGVtZW50Ojp3ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGUoY29uc3QgU3RyaW5n
JiBtb2RlKSBjb25zdAogICAgICAgICByZXR1cm4gbWVkaWFTZXNzaW9uKCkuZnVsbHNjcmVlblBl
cm1pdHRlZCgqdGhpcykgJiYgc3VwcG9ydHNGdWxsc2NyZWVuKCk7CiAKICAgICBpZiAobW9kZSA9
PSBwcmVzZW50YXRpb25Nb2RlUGljdHVyZUluUGljdHVyZSgpKQotICAgICAgICByZXR1cm4gd2tJ
c09wdGltaXplZEZ1bGxzY3JlZW5TdXBwb3J0ZWQoKSAmJiBtZWRpYVNlc3Npb24oKS5hbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuKCp0aGlzKSAmJiBzdXBwb3J0c0Z1bGxzY3JlZW4oKTsKKyAgICAg
ICAgcmV0dXJuIHdrSXNPcHRpbWl6ZWRGdWxsc2NyZWVuU3VwcG9ydGVkKCkgJiYgbWVkaWFTZXNz
aW9uKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZSgqdGhpcykgJiYgc3VwcG9ydHNGdWxsc2NyZWVu
KCk7CiAKICAgICBpZiAobW9kZSA9PSBwcmVzZW50YXRpb25Nb2RlSW5saW5lKCkpCiAgICAgICAg
IHJldHVybiAhbWVkaWFTZXNzaW9uKCkucmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFj
aygqdGhpcyk7CkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJr
aXRTZXRQcmVzZW50YXRpb25Nb2RlKGNvbnN0IFN0cmluZyYgbW9kZSkKICAgICBpZiAobW9kZSA9
PSBwcmVzZW50YXRpb25Nb2RlRnVsbHNjcmVlbigpKQogICAgICAgICBlbnRlckZ1bGxzY3JlZW4o
VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKTsKICAgICBlbHNlIGlmIChtb2RlID09IHByZXNl
bnRhdGlvbk1vZGVQaWN0dXJlSW5QaWN0dXJlKCkpCi0gICAgICAgIGVudGVyRnVsbHNjcmVlbihW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAgICAgICAgZW50ZXJGdWxsc2NyZWVuKFZp
ZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAogU3RyaW5nIEhUTUxWaWRl
b0VsZW1lbnQ6OndlYmtpdFByZXNlbnRhdGlvbk1vZGUoKSBjb25zdApAQCAtNDAyLDcgKzQwMiw3
IEBAIFN0cmluZyBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJraXRQcmVzZW50YXRpb25Nb2RlKCkgY29u
c3QKICAgICBpZiAobW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpCiAgICAgICAg
IHJldHVybiBwcmVzZW50YXRpb25Nb2RlRnVsbHNjcmVlbigpOwogCi0gICAgaWYgKG1vZGUgJiBW
aWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKQorICAgIGlmIChtb2RlICYgVmlkZW9GdWxsc2Ny
ZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgIHJldHVybiBwcmVzZW50YXRpb25Nb2Rl
UGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgaWYgKG1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9k
ZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRl
eCAwZDQzZmNkOGZlODM2ZjdjNTA1ZGE4OWI1MzQ3Y2Q5ZGRlZmJmYzhkLi5kMDI3YmMwZjIzNTVk
NDE5YTMzYmY5ZTgxYjBmNGI5NzZhOWI0ZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTM3OSwxMCArMzc5LDEwIEBAIHZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6bWVkaWFFbmdpbmVVcGRhdGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmIGVs
ZW1lbnQpCiAgICAgCiB9CiAKLWJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzQWx0ZXJu
YXRlRnVsbHNjcmVlbihjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdAorYm9v
bCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NQaWN0dXJlSW5QaWN0dXJlKGNvbnN0IEhUTUxN
ZWRpYUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0g
ZWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCk7Ci0gICAgcmV0dXJuIHNldHRpbmdzICYmIHNl
dHRpbmdzLT5hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKCk7CisgICAgcmV0dXJuIHNldHRpbmdz
ICYmIHNldHRpbmdzLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwogfQog
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmgKaW5kZXggYTM0NTZiODJiZDFhMTgwMWZkOGZlZGUzZjk5MDRhMmFiY2IxMmU5
MC4uMGE5ODgxOTM4NGMwZWQ1OGQzZTlmYTcyNjdkNTY0Zjg4ZGNlYTY3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAKICAgICBib29sIHJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2so
Y29uc3QgSFRNTE1lZGlhRWxlbWVudCYpIGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wg
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbihjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmKSBjb25zdDsKICAgICBNZWRpYVBsYXllcjo6UHJlbG9hZCBlZmZlY3Rp
dmVQcmVsb2FkRm9yRWxlbWVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7CiAKICAg
ICB2b2lkIG1lZGlhRW5naW5lVXBkYXRlZChjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDM5ZTJhZGQzNWNmMGFiNjc5ZmMzZDczZDhjY2I4ZGEx
OGE4YzI5OGMuLmYyODQ0MDlmODhiNTBkMzU4NmNhZmVjNjg1YWVkNTE3Y2I4NjgwOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgc3RhdGljIGNvbnN0IGJv
b2wgZGVmYXVsdEltYWdlU3Vic2FtcGxpbmdFbmFibGVkID0gZmFsc2U7CiBzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0U2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzID0gZmFsc2U7CiAjZW5kaWYK
IAotc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4gPSB0
cnVlOworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRp
YVBsYXliYWNrID0gdHJ1ZTsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0SW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgPSA1OwogI2lmIFVTRShVTklG
SUVEX1RFWFRfQ0hFQ0tJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCAwMjk2OTQ3YjI0
YjExZTVjOTQ4NTg4M2E4NjRjM2NkYjliZmI5YjUxLi44ZDcxNzMzMTBkMzU2NzY2MjAxMDc3NmVi
YzAyYjJiOTM2ZWU0OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTEyOCw3ICsxMjgs
NyBAQCBhbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCBpbml0aWFsPWZhbHNlCiByZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWFQbGF5YmFjawogYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUg
aW5pdGlhbD1kZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKIGFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2sgaW5pdGlhbD1kZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
awotYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiBpbml0aWFsPWRlZmF1bHRBbGxvd3NBbHRlcm5h
dGVGdWxsc2NyZWVuCithbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBpbml0aWFs
PWRlZmF1bHRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjawogcGFzc3dvcmRFY2hv
RW5hYmxlZCBpbml0aWFsPWZhbHNlCiBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgaW5p
dGlhbD1mYWxzZQogaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJl
c3Npb25UaW1lb3V0SW5TZWNvbmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKaW5kZXggZDFhYTAxMjBmNWEzYzY4MjBlODY1YzNm
NDMxYmZjMDVhZjhjNWUzYy4uMzQ4NmJlM2ViMTkwY2VkMzI1MzJiN2E2YWM2ZTBlMzc5N2QwNmRm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyRW51bXMuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAg
IFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lID0gMCwKICAgICAgICAgVmlkZW9GdWxsc2NyZWVuTW9k
ZVN0YW5kYXJkID0gMSA8PCAwLAotICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVk
ID0gMSA8PCAxLAorICAgICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSA9
IDEgPDwgMSwKICAgICB9OwogICAgIHR5cGVkZWYgdWludDMyX3QgVmlkZW9GdWxsc2NyZWVuTW9k
ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0ZjU0ZGJkNDM2ZWRiN2NmYTdhZGFl
MTZhOTFiOGZlMDg5YzQwODU4Li43MGVmM2RlMmZlMTJiMjRiM2NjZDEyZmFiODVjZTQwZTc1ZGNk
ODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTY5Myw4ICs2OTMsOCBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyTGF5ZXIoKQog
ICAgICAgICBbbV92aWRlb0lubGluZUxheWVyIGluc2VydFN1YmxheWVyOm1fdmlkZW9MYXllci5n
ZXQoKSBhdEluZGV4OjBdOwogICAgICAgICBbbV92aWRlb0xheWVyIHNldEZyYW1lOm1fdmlkZW9J
bmxpbmVMYXllci5nZXQoKS5ib3VuZHNdOwogICAgIH0KLSAgICBpZiAoW21fdmlkZW9MYXllciBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1v
ZGVFbmFibGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVyIHNldEVudGVyT3B0aW1pemVkRnVs
bHNjcmVlbk1vZGVFbmFibGVkOihwbGF5ZXIoKS0+ZnVsbHNjcmVlbk1vZGUoKSAmIE1lZGlhUGxh
eWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKV07CisgICAgaWYgKFttX3ZpZGVvTGF5
ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRQSVBNb2RlRW5hYmxlZDopXSkKKyAg
ICAgICAgW21fdmlkZW9MYXllciBzZXRQSVBNb2RlRW5hYmxlZDoocGxheWVyKCktPmZ1bGxzY3Jl
ZW5Nb2RlKCkgJiBNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1
cmUpXTsKICNlbHNlCiAgICAgW21fdmlkZW9MYXllciBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAs
IGRlZmF1bHRTaXplLndpZHRoKCksIGRlZmF1bHRTaXplLmhlaWdodCgpKV07CiAjZW5kaWYKQEAg
LTExODYsOCArMTE4Niw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6c2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eShNZWRpYVBsYXllcjo6CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShNZWRp
YVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogewotICAgIGlmIChtX3ZpZGVvTGF5
ZXIgJiYgW21fdmlkZW9MYXllciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEVudGVy
T3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOildKQotICAgICAgICBbbV92aWRlb0xheWVy
IHNldEVudGVyT3B0aW1pemVkRnVsbHNjcmVlbk1vZGVFbmFibGVkOihtb2RlICYgTWVkaWFQbGF5
ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpXTsKKyAgICBpZiAobV92aWRlb0xheWVy
ICYmIFttX3ZpZGVvTGF5ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRQSVBNb2Rl
RW5hYmxlZDopXSkKKyAgICAgICAgW21fdmlkZW9MYXllciBzZXRQSVBNb2RlRW5hYmxlZDoobW9k
ZSAmIE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSldOwog
fQogCiBOU0FycmF5ICpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0aW1lZE1l
dGFkYXRhKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDE3YjY3
MmZiZGRlMGFmNzY5ZWM3MjZiOGYwNGU0OGM0MmVjNzM2YWIuLmQxOTdiM2ViZGUwOWIzN2ZjYzNh
MDdmOTM3YzcyOGZkMmM4YzhhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpA
QCAtNTE4LDExICs1MTgsMTEgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29u
dGV4dDo6c2V0VXBGdWxsc2NyZWVuKEhUTUxWaWRlb0VsZW1lbnQmIHZpZGUKICAgICAgICAgbV9t
b2RlbC0+c2V0VmlkZW9FbGVtZW50KG1fdmlkZW9FbGVtZW50LmdldCgpKTsKICAgICAgICAgbV92
aWRlb0Z1bGxzY3JlZW5MYXllciA9IFtDQUxheWVyIGxheWVyXTsKICAgICAgICAgCi0gICAgICAg
IGJvb2wgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiA9IG1fdmlkZW9FbGVtZW50LT5tZWRpYVNl
c3Npb24oKS5hbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKCptX3ZpZGVvRWxlbWVudC5nZXQoKSk7
CisgICAgICAgIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSA9IG1fdmlkZW9FbGVtZW50LT5t
ZWRpYVNlc3Npb24oKS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlKCptX3ZpZGVvRWxlbWVudC5nZXQo
KSk7CiAgICAgICAgIEludFJlY3QgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCA9IG1fdmlkZW9FbGVt
ZW50LT5jbGllbnRSZWN0KCk7CiAgICAgICAgIAotICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNw
YXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbc3Ryb25nVGhpcywgdGhpcywgdmlkZW9FbGVtZW50Q2xp
ZW50UmVjdCwgdmlld1JlZiwgbW9kZSwgYWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbl0gewotICAg
ICAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5M
YXllci5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1JlZi5nZXQoKSwgbW9kZSwg
YWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbik7CisgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIFtzdHJvbmdUaGlzLCB0aGlzLCB2aWRlb0VsZW1lbnRDbGll
bnRSZWN0LCB2aWV3UmVmLCBtb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlXSB7CisgICAgICAg
ICAgICBtX2ludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptX3ZpZGVvRnVsbHNjcmVlbkxheWVy
LmdldCgpLCB2aWRlb0VsZW1lbnRDbGllbnRSZWN0LCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5oCmluZGV4IDFkMGZhNTUyNDUyNGQ5ZmUxZmYwM2Q4N2Q4ZWNmOWNiNjg3
MWY2YWQuLjZkMjM0Y2RlNjIxNzdiYzdiZTcyMjEzNDM0YTU1NDJjMzg4NTI1NzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhj
b25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0RXh0ZXJuYWxQ
bGF5YmFjayhib29sIGVuYWJsZWQsIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBXVEY6OlN0
cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKSBvdmVycmlkZTsKICAgICAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIHZvaWQgc2V0dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImLCBjb25zdCBJ
bnRSZWN0JiBpbml0aWFsUmVjdCwgVUlWaWV3ICosIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pOworICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYs
IGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBVSVZpZXcgKiwgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5
YmFjayk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbigp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBleGl0RnVsbHNjcmVlbihjb25zdCBJ
bnRSZWN0JiBmaW5hbFJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBjbGVh
bnVwRnVsbHNjcmVlbigpOwpAQCAtMTAwLDE3ICsxMDAsMTYgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoYm9vbCB2aXNp
YmxlLCBjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0KTsKIAogICAgIEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKCkgY29uc3QgeyByZXR1cm4gbV9tb2RlOyB9
Ci0gICAgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4oKSBjb25zdCB7IHJldHVybiBtX2Fs
bG93T3B0aW1pemVkRnVsbHNjcmVlbjsgfQotICAgIHZvaWQgc2V0SXNPcHRpbWl6ZWQoYm9vbCk7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBtYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvT3B0aW1p
emVkKCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2soKSBj
b25zdCB7IHJldHVybiBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazsgfQorICAgIFdF
QkNPUkVfRVhQT1JUIGJvb2wgbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1
cmUoKSBjb25zdDsKICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShzdGQ6OmZ1
bmN0aW9uPHZvaWQoYm9vbCk+IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgd2lsbFN0YXJ0T3B0aW1p
emVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQgZGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7
Ci0gICAgdm9pZCBmYWlsZWRUb1N0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQg
d2lsbFN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7Ci0gICAgdm9pZCBkaWRTdG9wT3B0aW1pemVk
RnVsbHNjcmVlbigpOwotICAgIHZvaWQgcHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9w
V2l0aENvbXBsZXRpb25IYW5kbGVyKHZvaWQgKF4pKEJPT0wpKTsKKyAgICB2b2lkIHdpbGxTdGFy
dFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIGRpZFN0YXJ0UGljdHVyZUluUGljdHVyZSgp
OworICAgIHZvaWQgZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIHdp
bGxTdG9wUGljdHVyZUluUGljdHVyZSgpOworICAgIHZvaWQgZGlkU3RvcFBpY3R1cmVJblBpY3R1
cmUoKTsKKyAgICB2b2lkIHByZXBhcmVGb3JQaWN0dXJlSW5QaWN0dXJlU3RvcFdpdGhDb21wbGV0
aW9uSGFuZGxlcih2b2lkICheKShCT09MKSk7CiAKICAgICB2b2lkIHNldE1vZGUoSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsKICAgICB2b2lkIGNsZWFyTW9kZShI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpOwpAQCAtMTIwLDcgKzEx
OSw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdCgpOwogICAgIHZvaWQgYmVnaW5TZXNzaW9uKCk7Ci0gICAg
dm9pZCBlbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoKTsKKyAgICB2b2lkIGVudGVyUGljdHVyZUlu
UGljdHVyZSgpOwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuU3RhbmRhcmQoKTsKIAogICAgIFJl
dGFpblB0cjxXZWJBVlBsYXllckNvbnRyb2xsZXI+IG1fcGxheWVyQ29udHJvbGxlcjsKQEAgLTEz
OCw3ICsxMzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUmV0YWluUHRyPFVJV2luZG93PiBtX3BhcmVu
dFdpbmRvdzsKICAgICBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUg
bV9tb2RlIHsgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSB9
OwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChib29sKT4gbV9wcmVwYXJlVG9JbmxpbmVDYWxsYmFj
azsKLSAgICBib29sIG1fYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuIHsgZmFsc2UgfTsKKyAgICBi
b29sIG1fYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrIHsgZmFsc2UgfTsKICAgICBib29s
IG1fZXhpdFJlcXVlc3RlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4aXRDb21wbGV0ZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9lbnRlclJlcXVlc3RlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KaW5kZXggYzRhNDk3ZjU2YmU4Mzk5ZDQ3MTYwYzQ0MDA1M2MwMzdm
NzhkMTQ4ZC4uOWU3YjU4NGNiODQ1ODBlNTE4ZjQ2ZWQ1N2VmNDYyNzNlMDhkZDZiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtMTkxLDM1ICsxOTEsMzUgQEAgc3RhdGljIGNv
bnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiAgICAgcmV0dXJuIHNlbGYucGxheWVyQ29u
dHJvbGxlclByb3h5OwogfQogCi0tICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyV2lsbFN0YXJ0
T3B0aW1pemVkRnVsbHNjcmVlbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdD
b250cm9sbGVyCistICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyV2lsbFN0YXJ0UGljdHVyZUlu
UGljdHVyZTooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250cm9sbGVyKTsKLSAgICBzZWxmLmZ1bGxz
Y3JlZW5JbnRlcmZhY2UtPndpbGxTdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxm
LmZ1bGxzY3JlZW5JbnRlcmZhY2UtPndpbGxTdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAot
LSAodm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlckRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbjoo
QVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCistICh2b2lkKXBs
YXllclZpZXdDb250cm9sbGVyRGlkU3RhcnRQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXllclZpZXdD
b250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBVTlVTRURfUEFSQU0ocGxh
eWVyVmlld0NvbnRyb2xsZXIpOwotICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+ZGlkU3Rh
cnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJmYWNlLT5k
aWRTdGFydFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAotLSAodm9pZClwbGF5ZXJWaWV3Q29udHJv
bGxlckZhaWxlZFRvU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuOihBVlBsYXllclZpZXdDb250cm9s
bGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKKy0g
KHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJGYWlsZWRUb1N0YXJ0UGljdHVyZUluUGljdHVyZToo
QVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHdpdGhFcnJvcjoo
TlNFcnJvciAqKWVycm9yCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZpZXdDb250cm9sbGVy
KTsKICAgICBVTlVTRURfUEFSQU0oZXJyb3IpOwotICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFj
ZS0+ZmFpbGVkVG9TdGFydE9wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICBzZWxmLmZ1bGxzY3Jl
ZW5JbnRlcmZhY2UtPmZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKLS0gKHZv
aWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RvcE9wdGltaXplZEZ1bGxzY3JlZW46KEFWUGxh
eWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgorLSAodm9pZClwbGF5ZXJW
aWV3Q29udHJvbGxlcldpbGxTdG9wUGljdHVyZUluUGljdHVyZTooQVZQbGF5ZXJWaWV3Q29udHJv
bGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBsYXllclZp
ZXdDb250cm9sbGVyKTsKLSAgICBzZWxmLmZ1bGxzY3JlZW5JbnRlcmZhY2UtPndpbGxTdG9wT3B0
aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+d2lsbFN0
b3BQaWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKLS0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJE
aWRTdG9wT3B0aW1pemVkRnVsbHNjcmVlbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXll
clZpZXdDb250cm9sbGVyCistICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyRGlkU3RvcFBpY3R1
cmVJblBpY3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxl
cgogewogICAgIFVOVVNFRF9QQVJBTShwbGF5ZXJWaWV3Q29udHJvbGxlcik7Ci0gICAgc2VsZi5m
dWxsc2NyZWVuSW50ZXJmYWNlLT5kaWRTdG9wT3B0aW1pemVkRnVsbHNjcmVlbigpOworICAgIHNl
bGYuZnVsbHNjcmVlbkludGVyZmFjZS0+ZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoKTsKIH0KIAog
LSAoQk9PTClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBs
YXllclZpZXdDb250cm9sbGVyIHNob3VsZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjooQVZQbGF5
ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uKXJlYXNvbgpAQCAtMjM2LDEwICsy
MzYsMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiAgICAgcmV0
dXJuIE5POwogfQogCi0tICh2b2lkKXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdD
b250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgcmVzdG9yZVVzZXJJbnRlcmZhY2VGb3JP
cHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9P
TCByZXN0b3JlZCkpY29tcGxldGlvbkhhbmRsZXIKKy0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xs
ZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciByZXN0b3Jl
VXNlckludGVyZmFjZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShCT09MIHJlc3RvcmVkKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIFVOVVNF
RF9QQVJBTShwbGF5ZXJWaWV3Q29udHJvbGxlcik7Ci0gICAgc2VsZi5mdWxsc2NyZWVuSW50ZXJm
YWNlLT5wcmVwYXJlRm9yT3B0aW1pemVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxldGlvbkhhbmRs
ZXIoY29tcGxldGlvbkhhbmRsZXIpOworICAgIHNlbGYuZnVsbHNjcmVlbkludGVyZmFjZS0+cHJl
cGFyZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0aENvbXBsZXRpb25IYW5kbGVyKGNvbXBsZXRp
b25IYW5kbGVyKTsKIH0KIAogLSAodm9pZClwbGF5OihpZClzZW5kZXIKQEAgLTU0Nyw5ICs1NDcs
OSBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKICAgICByZXR1cm4g
W05TU2V0IHNldFdpdGhPYmplY3RzOkAiZXh0ZXJuYWxQbGF5YmFja0FjdGl2ZSIsIG5pbF07CiB9
CiAKLS0gKEJPT0wpaXNPcHRpbWl6ZWRGdWxsc2NyZWVuUG9zc2libGUKKy0gKEJPT0wpaXNQaWN0
dXJlSW5QaWN0dXJlUG9zc2libGUKIHsKLSAgICByZXR1cm4gc2VsZi5mdWxsc2NyZWVuSW50ZXJm
YWNlLT5hbGxvd09wdGltaXplZEZ1bGxzY3JlZW4oKTsKKyAgICByZXR1cm4gc2VsZi5mdWxsc2Ny
ZWVuSW50ZXJmYWNlLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2soKTsKIH0KIEBlbmQK
IApAQCAtODc2LDEyICs4NzYsMTIgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0RXh0ZXJuYWxQbGF5YmFjayhib29sIGVuYWJsZWQsIEV4dGVybmEKICAgICBbbV92
aWRlb0xheWVyQ29udGFpbmVyLmdldCgpIHNldEhpZGRlbjplbmFibGVkXTsKIH0KIAotdm9pZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFBsYXRmb3Jt
TGF5ZXImIHZpZGVvTGF5ZXIsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBV
SVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZSBtb2RlLCBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbikKK3ZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihQbGF0Zm9ybUxheWVyJiB2
aWRlb0xheWVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgVUlWaWV3KiBw
YXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9k
ZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2spCiB7CiAgICAgQVNTRVJUKG1v
ZGUgIT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAg
ICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0
dXBGdWxsc2NyZWVuKCVwKSIsIHRoaXMpOwogCi0gICAgbV9hbGxvd09wdGltaXplZEZ1bGxzY3Jl
ZW4gPSBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW47CisgICAgbV9hbGxvd3NQaWN0dXJlSW5QaWN0
dXJlUGxheWJhY2sgPSBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s7CiAKICAgICBbQ0FU
cmFuc2FjdGlvbiBiZWdpbl07CiAgICAgW0NBVHJhbnNhY3Rpb24gc2V0RGlzYWJsZUFjdGlvbnM6
WUVTXTsKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYgdmlkZW9MYXllcgogICAgIFtt
X3BsYXllclZpZXdDb250cm9sbGVyIHNldFNob3dzUGxheWJhY2tDb250cm9sczpOT107CiAgICAg
W21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0UGxheWVyQ29udHJvbGxlcjooQVZQbGF5ZXJDb250
cm9sbGVyICopbV9wbGF5ZXJDb250cm9sbGVyLmdldCgpXTsKICAgICBbbV9wbGF5ZXJWaWV3Q29u
dHJvbGxlciBzZXREZWxlZ2F0ZTptX3BsYXllckNvbnRyb2xsZXIuZ2V0KCldOwotICAgIFttX3Bs
YXllclZpZXdDb250cm9sbGVyIHNldEFsbG93c09wdGltaXplZEZ1bGxzY3JlZW46YWxsb3dPcHRp
bWl6ZWRGdWxsc2NyZWVuXTsKKyAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzZXRBbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6bV9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2td
OwogCiAgICAgW21fdmlkZW9MYXllckNvbnRhaW5lciBzZXRQbGF5ZXJWaWV3Q29udHJvbGxlcjpt
X3BsYXllclZpZXdDb250cm9sbGVyLmdldCgpXTsKIApAQCAtOTUxLDIyICs5NTEsMjIgQEAgdm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAg
ICBtX2VudGVyUmVxdWVzdGVkID0gdHJ1ZTsKIAogICAgIFttX3ZpZGVvTGF5ZXJDb250YWluZXIg
c2V0QmFja2dyb3VuZENvbG9yOltbZ2V0VUlDb2xvckNsYXNzKCkgYmxhY2tDb2xvcl0gQ0dDb2xv
cl1dOwotICAgIGlmIChtb2RlKCkgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlT3B0aW1pemVkKQotICAgICAgICBlbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoKTsK
KyAgICBpZiAobW9kZSgpID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZVBpY3R1cmVJblBpY3R1cmUpCisgICAgICAgIGVudGVyUGljdHVyZUluUGljdHVyZSgpOwog
ICAgIGVsc2UgaWYgKG1vZGUoKSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNj
cmVlbk1vZGVTdGFuZGFyZCkKICAgICAgICAgZW50ZXJGdWxsc2NyZWVuU3RhbmRhcmQoKTsKICAg
ICBlbHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoKQordm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJQaWN0dXJlSW5QaWN0dXJl
KCkKIHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0OjplbnRlckZ1bGxzY3JlZW5PcHRpbWl6ZWQoJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxz
Y3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJQaWN0dXJlSW5Q
aWN0dXJlKCVwKSIsIHRoaXMpOwogICAgIAotICAgIGlmIChbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBpc09wdGltaXplZEZ1bGxzY3JlZW5Qb3NzaWJsZV0pCi0gICAgICAgIFttX3BsYXllclZpZXdD
b250cm9sbGVyIHN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbl07CisgICAgaWYgKFttX3BsYXllclZp
ZXdDb250cm9sbGVyIGlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlXSkKKyAgICAgICAgW21fcGxh
eWVyVmlld0NvbnRyb2xsZXIgc3RhcnRQaWN0dXJlSW5QaWN0dXJlXTsKICAgICBlbHNlCi0gICAg
ICAgIGZhaWxlZFRvU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCk7CisgICAgICAgIGZhaWxlZFRv
U3RhcnRQaWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OmVudGVyRnVsbHNjcmVlblN0YW5kYXJkKCkKQEAgLTEwMDQsMTQgKzEwMDQs
MTQgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZXhpdEZ1bGxzY3Jl
ZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmkKICAgICBbW21fcGxheWVyVmlld0NvbnRyb2xs
ZXIgdmlld10gbGF5b3V0SWZOZWVkZWRdOwogCiAKLSAgICBpZiAoaXNNb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCkpIHsKKyAgICBpZiAoaXNN
b2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBp
Y3R1cmUpKSB7CiAgICAgICAgIFttX3dpbmRvdyBzZXRIaWRkZW46Tk9dOwotICAgICAgICBbbV9w
bGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wT3B0aW1pemVkRnVsbHNjcmVlbl07Ci0gICAgfSBlbHNl
IGlmIChpc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0
aW1pemVkIHwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRh
cmQpKSB7CisgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0b3BQaWN0dXJlSW5QaWN0
dXJlXTsKKyAgICB9IGVsc2UgaWYgKGlzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlIHwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKSB7CiAgICAgICAgIFJlZlB0cjxXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gc3Ryb25nVGhpcyh0aGlzKTsKICAgICAgICAgW21fcGxh
eWVyVmlld0NvbnRyb2xsZXIgZXhpdEZ1bGxTY3JlZW5BbmltYXRlZDpOTyBjb21wbGV0aW9uSGFu
ZGxlcjpbc3Ryb25nVGhpcywgdGhpc10gKEJPT0wsIE5TRXJyb3IqKSB7CiAgICAgICAgICAgICBb
bV93aW5kb3cgc2V0SGlkZGVuOk5PXTsKLSAgICAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9s
bGVyIHN0b3BPcHRpbWl6ZWRGdWxsc2NyZWVuXTsKKyAgICAgICAgICAgIFttX3BsYXllclZpZXdD
b250cm9sbGVyIHN0b3BQaWN0dXJlSW5QaWN0dXJlXTsKICAgICAgICAgfV07CiAgICAgfSBlbHNl
IGlmIChpc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3Rh
bmRhcmQpKSB7CiAgICAgICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dD4gc3Ryb25nVGhpcyh0aGlzKTsKQEAgLTEwNTQsOCArMTA1NCw4IEBAIHZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmNsZWFudXBGdWxsc2NyZWVuKCkKICAgICBbbV9wbGF5
ZXJWaWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpuaWxdOwogICAgIFttX3BsYXllclZpZXdDb250
cm9sbGVyIHNldFBsYXllckNvbnRyb2xsZXI6bmlsXTsKICAgICAKLSAgICBpZiAoaGFzTW9kZShI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpKQotICAg
ICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBzdG9wT3B0aW1pemVkRnVsbHNjcmVlbl07Cisg
ICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
UGljdHVyZUluUGljdHVyZSkpCisgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHN0b3BQ
aWN0dXJlSW5QaWN0dXJlXTsKICAgICBpZiAoaGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6
OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkpCiAgICAgICAgIFttX3BsYXllclZpZXdDb250
cm9sbGVyIGV4aXRGdWxsU2NyZWVuQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6W10gKEJP
T0wsIE5TRXJyb3IgKikgeyB9XTsKICAgICAKQEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3Jl
ZW4oKQogICAgIGlmICghbV9lbnRlclJlcXVlc3RlZCkKICAgICAgICAgcmV0dXJuOwogICAgIAot
ICAgIGlmIChoYXNNb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZU9wdGltaXplZCkpCisgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSkpCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpy
ZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCVwKSIsIHRoaXMpOwpAQCAtMTEyNyw3ICsxMTI3
LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZWRUb1Jl
dHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY28KICAgICB9CiB9CiAKLWJvb2wgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6
ZWQoKSBjb25zdAorYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6bWF5QXV0
b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSBjb25zdAogewogICAgIHJldHVy
biBbbV9wbGF5ZXJDb250cm9sbGVyIGlzUGxheWluZ10gJiYgbV9tb2RlID09IEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkICYmIHdrSXNPcHRpbWl6ZWRG
dWxsc2NyZWVuU3VwcG9ydGVkKCk7CiB9CkBAIC0xMTM5LDE3ICsxMTM5LDE3IEBAIHZvaWQgV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGlu
ZShzdGQ6OmZ1bmN0aW9uCiAgICAgICAgIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLT5mdWxs
c2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6d2lsbFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCit2b2lkIFdlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCkK
IHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
Ojp3aWxsU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCVwKSIsIHRoaXMpOwotICAgIHNldE1vZGUo
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlT3B0aW1pemVkKTsKKyAg
ICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxs
U3RhcnRQaWN0dXJlSW5QaWN0dXJlKCVwKSIsIHRoaXMpOworICAgIHNldE1vZGUoSFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiAKICAg
ICBpZiAoIWhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQpKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ+IHN0cm9uZ1RoaXModGhpcyk7CiAgICAgZnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lKFtzdHJvbmdUaGlzLCB0aGlzXShib29sIHZpc2libGUpIHsKLSAgICAgICAg
TE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0
YXJ0T3B0aW1pemVkRnVsbHNjcmVlbiAtIGxhbWJkYSglcCkgLSB2aXNpYmxlKCVzKSIsIHRoaXMs
IGJvb2xTdHJpbmcodmlzaWJsZSkpOworICAgICAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlIC0gbGFt
YmRhKCVwKSAtIHZpc2libGUoJXMpIiwgdGhpcywgYm9vbFN0cmluZyh2aXNpYmxlKSk7CiAKICAg
ICAgICAgaWYgKCF2aXNpYmxlKSB7CiAgICAgICAgICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOllF
U107CkBAIC0xMTY3LDkgKzExNjcsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Ojp3aWxsU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCkKICAgICB9KTsKIH0KIAotdm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRPcHRpbWl6ZWRGdWxs
c2NyZWVuKCkKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0
UGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRPcHRpbWl6ZWRGdWxsc2NyZWVuKCVwKSIsIHRo
aXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OmRpZFN0YXJ0UGljdHVyZUluUGljdHVyZSglcCkiLCB0aGlzKTsKICAgICBbbV9wbGF5ZXJW
aWV3Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJvbHM6WUVTXTsKICAgICBbbV93aW5k
b3cgc2V0SGlkZGVuOllFU107CiAKQEAgLTExNzcsOSArMTE3Nyw5IEBAIHZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0YXJ0T3B0aW1pemVkRnVsbHNjcmVlbigpCiAg
ICAgICAgIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLT5kaWRFbnRlckZ1bGxzY3JlZW4oKTsK
IH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZmFpbGVkVG9TdGFy
dE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6ZmFpbGVkVG9TdGFydFBpY3R1cmVJblBpY3R1cmUoKQogewotICAgIExPRyhGdWxsc2Ny
ZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRPcHRp
bWl6ZWRGdWxsc2NyZWVuKCVwKSIsIHRoaXMpOworICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmZhaWxlZFRvU3RhcnRQaWN0dXJlSW5QaWN0dXJl
KCVwKSIsIHRoaXMpOwogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFNob3dzUGxheWJh
Y2tDb250cm9sczpZRVNdOwogCiAgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1z
OjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQpAQCAtMTE5NCwxOCArMTE5NCwxOCBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpmYWlsZWRUb1N0YXJ0T3B0aW1p
emVkRnVsbHNjcmVlbigpCiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RF
eGl0RnVsbHNjcmVlbigpOwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Ojp3aWxsU3RvcE9wdGltaXplZEZ1bGxzY3JlZW4oKQordm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlKCkKIHsKLSAgICBMT0co
RnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojp3aWxsU3RvcE9w
dGltaXplZEZ1bGxzY3JlZW4oJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6d2lsbFN0b3BQaWN0dXJlSW5QaWN0dXJlKCVw
KSIsIHRoaXMpOwogICAgIFttX3dpbmRvdyBzZXRIaWRkZW46Tk9dOwogCiAgICAgaWYgKG1fdmlk
ZW9GdWxsc2NyZWVuTW9kZWwpCiAgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVl
c3RFeGl0RnVsbHNjcmVlbigpOwogfQogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpkaWRTdG9wT3B0aW1pemVkRnVsbHNjcmVlbigpCit2b2lkIFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpkaWRTdG9wUGljdHVyZUluUGljdHVyZSgpCiB7Ci0gICAgTE9H
KEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RvcE9w
dGltaXplZEZ1bGxzY3JlZW4oJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RvcFBpY3R1cmVJblBpY3R1cmUoJXAp
IiwgdGhpcyk7CiAgICAgaWYgKGhhc01vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1
bGxzY3JlZW5Nb2RlU3RhbmRhcmQpKQogICAgICAgICByZXR1cm47CiAKQEAgLTEyMTQsMjAgKzEy
MTQsMjAgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RvcE9w
dGltaXplZEZ1bGxzY3JlZW4oKQogICAgIFttX3ZpZGVvTGF5ZXJDb250YWluZXIgc2V0QmFja2dy
b3VuZENvbG9yOltbZ2V0VUlDb2xvckNsYXNzKCkgY2xlYXJDb2xvcl0gQ0dDb2xvcl1dOwogICAg
IFtbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XSBzZXRCYWNrZ3JvdW5kQ29sb3I6W2dldFVJ
Q29sb3JDbGFzcygpIGNsZWFyQ29sb3JdXTsKIAotICAgIGNsZWFyTW9kZShIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVPcHRpbWl6ZWQpOworICAgIGNsZWFyTW9kZShI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJl
KTsKICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOllFU107CiAgICAgCiAgICAgaWYgKG1fZnVsbHNj
cmVlbkNoYW5nZU9ic2VydmVyKQogICAgICAgICBtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+
ZGlkRXhpdEZ1bGxzY3JlZW4oKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdDo6cHJlcGFyZUZvck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wV2l0aENvbXBsZXRpb25I
YW5kbGVyKHZvaWQgKF5jb21wbGV0aW9uSGFuZGxlcikoQk9PTCByZXN0b3JlZCkpCit2b2lkIFdl
YlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlRm9yUGljdHVyZUluUGljdHVy
ZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIodm9pZCAoXmNvbXBsZXRpb25IYW5kbGVyKShCT09M
IHJlc3RvcmVkKSkKIHsKLSAgICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpwcmVwYXJlRm9yT3B0aW1pemVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxl
dGlvbkhhbmRsZXIoJXApIiwgdGhpcyk7CisgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZUZvclBpY3R1cmVJblBpY3R1cmVTdG9wV2l0
aENvbXBsZXRpb25IYW5kbGVyKCVwKSIsIHRoaXMpOwogICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdD4gc3Ryb25nVGhpcyh0aGlzKTsKICAgICBSZXRhaW5QdHI8aWQ+
IHN0cm9uZ0NvbXBsZXRpb25IYW5kbGVyID0gYWRvcHROUyhbY29tcGxldGlvbkhhbmRsZXIgY29w
eV0pOwogICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShbc3Ryb25nVGhpcywgc3Ryb25n
Q29tcGxldGlvbkhhbmRsZXJdKGJvb2wgcmVzdG9yZWQpICB7Ci0gICAgICAgIExPRyhGdWxsc2Ny
ZWVuLCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVGb3JPcHRpbWl6
ZWRGdWxsc2NyZWVuU3RvcFdpdGhDb21wbGV0aW9uSGFuZGxlciBsYW1iZGEoJXApIC0gcmVzdG9y
ZWQoJXMpIiwgc3Ryb25nVGhpcy5nZXQoKSwgYm9vbFN0cmluZyhyZXN0b3JlZCkpOworICAgICAg
ICBMT0coRnVsbHNjcmVlbiwgIldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVw
YXJlRm9yUGljdHVyZUluUGljdHVyZVN0b3BXaXRoQ29tcGxldGlvbkhhbmRsZXIgbGFtYmRhKCVw
KSAtIHJlc3RvcmVkKCVzKSIsIHN0cm9uZ1RoaXMuZ2V0KCksIGJvb2xTdHJpbmcocmVzdG9yZWQp
KTsKICAgICAgICAgdm9pZCAoXmNvbXBsZXRpb25IYW5kbGVyKShCT09MIHJlc3RvcmVkKSA9IHN0
cm9uZ0NvbXBsZXRpb25IYW5kbGVyLmdldCgpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihy
ZXN0b3JlZCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY29jb2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9B
VktpdFNQSS5oCmluZGV4IGI3Y2QzMTNmODExYTJmNDI1OTg5MWU4NGQzNDI2YTYxNTBlNTk0MDIu
LmNhYmQ1MDlkN2EyN2QzNWQ5ZmU3ZThjYjYzYmFjOWEzZTBhZmJkOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC03OCwyMCArNzgsMTggQEAg
dHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxs
U2NyZWVuUmVhc29uKSB7CiAgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVu
UmVhc29uUmVtb3RlQ29udHJvbFN0b3BFdmVudFJlY2VpdmVkID0gMywKIH07CiAtIChCT09MKXBs
YXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0Nv
bnRyb2xsZXIgc2hvdWxkRXhpdEZ1bGxTY3JlZW5XaXRoUmVhc29uOihBVlBsYXllclZpZXdDb250
cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pcmVhc29uOwotLSAodm9pZClwbGF5ZXJWaWV3Q29u
dHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHJl
c3RvcmVVc2VySW50ZXJmYWNlRm9yT3B0aW1pemVkRnVsbHNjcmVlblN0b3BXaXRoQ29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRpb25IYW5kbGVyOworLSAo
dm9pZClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXll
clZpZXdDb250cm9sbGVyIHJlc3RvcmVVc2VySW50ZXJmYWNlRm9yUGljdHVyZUluUGljdHVyZVN0
b3BXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdG9yZWQpKWNvbXBsZXRp
b25IYW5kbGVyOwogQGVuZAogCi10eXBlZGVmIE5TSW50ZWdlciBBVlBsYXllclZpZXdDb250cm9s
bGVyT3B0aW1pemVkRnVsbHNjcmVlblN0b3BSZWFzb247Ci0KIEBpbnRlcmZhY2UgQVZQbGF5ZXJW
aWV3Q29udHJvbGxlciAoRGV0YWlscykKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFZpZGVvTGF5
ZXI6KENBTGF5ZXIgPEFWVmlkZW9MYXllcj4gKil2aWRlb0xheWVyOwogLSAodm9pZCllbnRlckZ1
bGxTY3JlZW5BbmltYXRlZDooQk9PTClhbmltYXRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZCll
eGl0RnVsbFNjcmVlbkFuaW1hdGVkOihCT09MKWFuaW1hdGVkIGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShCT09MIHN1Y2Nlc3MsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXI7CiAKLS0g
KEJPT0wpaXNPcHRpbWl6ZWRGdWxsc2NyZWVuUG9zc2libGU7Ci0tICh2b2lkKXN0YXJ0T3B0aW1p
emVkRnVsbHNjcmVlbjsKLS0gKHZvaWQpc3RvcE9wdGltaXplZEZ1bGxzY3JlZW47Ci0tICh2b2lk
KXNldEFsbG93c09wdGltaXplZEZ1bGxzY3JlZW46KEJPT0wpYWxsb3dzT3B0aW1pemVkRnVsbHNj
cmVlbjsKKy0gKEJPT0wpaXNQaWN0dXJlSW5QaWN0dXJlUG9zc2libGU7CistICh2b2lkKXN0YXJ0
UGljdHVyZUluUGljdHVyZTsKKy0gKHZvaWQpc3RvcFBpY3R1cmVJblBpY3R1cmU7CistICh2b2lk
KXNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazooQk9PTClhbGxvdzsKIAogQHByb3Bl
cnR5IChub25hdG9taWMsIHN0cm9uZykgQVZQbGF5ZXJDb250cm9sbGVyICpwbGF5ZXJDb250cm9s
bGVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkIDxBVlBsYXllclZpZXdDb250cm9s
bGVyRGVsZWdhdGU+IGRlbGVnYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggMDhjNDgyZGY3N2Y2ZGM1ZWY3ODBlODRlZDI1
NjdmNGQwMDZhMGNlMi4uMzY2ODQ2OGMzMjBjODMwZWFhNWYwMzNhMWVmZGMyZWE2YzBlYzQzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25T
UEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRhdGlvblNQ
SS5oCkBAIC02Niw4ICs2Niw4IEBACiAKICNpZiAhSEFWRShBVktJVCkgfHwgIVVTRShBUFBMRV9J
TlRFUk5BTF9TREspIHx8IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgOTAwMDAK
IAotQGludGVyZmFjZSBBVlBsYXllckxheWVyIChBVlBsYXllckxheWVyT3B0aW1pemVkRnVsbHNj
cmVlbk1vZGVTdXBwb3J0UHJpdmF0ZSkKLS0gKHZvaWQpc2V0RW50ZXJPcHRpbWl6ZWRGdWxsc2Ny
ZWVuTW9kZUVuYWJsZWQ6KEJPT0wpZmxhZzsKK0BpbnRlcmZhY2UgQVZQbGF5ZXJMYXllciAoQVZQ
bGF5ZXJMYXllclBpY3R1cmVJblBpY3R1cmVNb2RlU3VwcG9ydFByaXZhdGUpCistICh2b2lkKXNl
dFBJUE1vZGVFbmFibGVkOihCT09MKWZsYWc7CiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXgg
ZDBhOWFhNDQ1ZTk3NjdkOTBlNWY1M2RhODNlMjljMDgyN2ZjYmNiOS4uM2YwYzhkZGVkYmEwMzBk
NWYyZjI3OWMyMGJmMzdmNmQ2ZGQ5ZDg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMjEsNyArMTIxLDcgQEAK
ICNkZWZpbmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZEtleSBAIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxh
eWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIgogI2RlZmluZSBXZWJLaXRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUi
Ci0jZGVmaW5lIFdlYktpdEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5QcmVmZXJlbmNlS2V5IEAi
V2ViS2l0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiIKKyNkZWZpbmUgV2ViS2l0QWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2siCiAjZGVmaW5lIFdlYktpdEFsbG93c0FpclBsYXlG
b3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NB
aXJQbGF5IgogI2RlZmluZSBXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRTaG91bGREaXNw
bGF5U3VidGl0bGVzUHJlZmVyZW5jZUtleSBAIldlYktpdFNob3VsZERpc3BsYXlTdWJ0aXRsZXMi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBiMDEz
MWE3M2QxOTcxNzYzMzljNmVkZTFhM2NlM2U1MDJmYjkyZjQ0Li43ZmE4MmQ4NmFhOTJlZTBjNjlj
NDhiNmM5MmI0NWM4YTNlMTUxNWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KQEAgLTU0Niw3ICs1NDYsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdJ
UkVMRVNTX1RBUkdFVF9QTEFZQkFDSykKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
OllFU10sICBXZWJLaXRBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXks
CiAjZW5kaWYKLSAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRB
bGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZ
RVNdLCAgV2ViS2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0V2FudHNCYWxhbmNl
ZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcktleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOk5PXSwgICBXZWJLaXREaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWRLZXksCkBAIC0yMTk3
LDEyICsyMTk3LDIyIEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsK
IAogLSAoQk9PTClhbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuCiB7Ci0gICAgcmV0dXJuIFtzZWxm
IF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlblByZWZlcmVu
Y2VLZXldOworICAgIHJldHVybiBbc2VsZiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFja107CiB9CiAKIC0gKHZvaWQpc2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbjooQk9PTClm
bGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRBbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuUHJlZmVyZW5jZUtleV07CisgICAgW3NlbGYgc2V0QWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6ZmxhZ107Cit9CisKKy0gKEJPT0wpYWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja1ByZWZlcmVu
Y2VLZXldOworfQorCistICh2b2lkKXNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CiB9
CiAKIC0gKEJPT0wpbW9ja1Njcm9sbGJhcnNFbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA2ZWIyOTc2ZmI5Nzg1ODBj
ZGYyMmI4MGFmNTA2NDExMWZmMmY0OTdkLi4zNDc3NjllZGQ0ZDhiZGFjMGY2ODRhOTY4MTdjZjFi
MzJlNzczMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKQEAgLTI1Myw2ICsyNTMsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlBy
ZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKHZvaWQp
c2V0QWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbjooQk9PTClmbGFnOwogLSAoQk9PTClhbGxvd3NB
bHRlcm5hdGVGdWxsc2NyZWVuOwogCistICh2b2lkKXNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVN
ZWRpYVBsYXliYWNrOihCT09MKWZsYWc7CistIChCT09MKWFsbG93c1BpY3R1cmVJblBpY3R1cmVN
ZWRpYVBsYXliYWNrOworCiAtIChOU1N0cmluZyAqKXBpY3RvZ3JhcGhGb250RmFtaWx5OwogLSAo
dm9pZClzZXRQaWN0b2dyYXBoRm9udEZhbWlseTooTlNTdHJpbmcgKilmYW1pbHk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA3YjJhYzc0YmNjOTZiM2E5ODY1MTk3NTBi
OTFlM2QzNzhkNDUxMTQ3Li4xNWUzYjc0OTA2MmM1ZTliYmM2YmZjOGJlNjNmYjEwYjVjN2YwOTRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC04NTEsMTEgKzg1MSwxMSBA
QCBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd0Rpc3BsYXlBbmRSdW5uaW5nT2ZJbnNlY3VyZUNvbnRl
bnQoKQogICAgIHJldHVybiBzaG91bGRBbGxvd0Rpc3BsYXlBbmRSdW5uaW5nT2ZJbnNlY3VyZUNv
bnRlbnQ7CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbigp
CitzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkK
IHsKICNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDkwMDAwCi0gICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVu
ID0gaW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JBZnRlclZlcnNpb24od2tJT1NTeXN0ZW1WZXJz
aW9uXzlfMCk7Ci0gICAgcmV0dXJuIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbjsKKyAg
ICBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0g
aW9zRXhlY3V0YWJsZVdhc0xpbmtlZE9uT3JBZnRlclZlcnNpb24od2tJT1NTeXN0ZW1WZXJzaW9u
XzlfMCk7CisgICAgcmV0dXJuIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2s7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpAQCAtMjI5NCw3ICsyMjk0LDcg
QEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAgICAg
c2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soW3ByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7CiAgICAgc2V0dGluZ3Muc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja0FsbG93
c0lubGluZV0pOwotICAgIHNldHRpbmdzLnNldEFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW4oW3By
ZWZlcmVuY2VzIGFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5dICYmIHNob3VsZEFsbG93QWx0ZXJu
YXRlRnVsbHNjcmVlbigpKTsKKyAgICBzZXR0aW5ncy5zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJl
TWVkaWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSk7CiAg
ICAgc2V0dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKFtwcmVmZXJlbmNl
cyBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmddKTsKICAgICBzZXR0aW5ncy5zZXRCYWNr
c3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgYmFja3NwYWNlS2V5TmF2aWdh
dGlvbkVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9h
ZGluZ0JlaGF2aW9yKFtwcmVmZXJlbmNlcyB3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0Jl
aGF2aW9yXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
aW5pdGlvbnMuaAppbmRleCA1NjkyMWQ5NDMwZjlhZWEwOWI5YzY2YzVkMjVmOGE0NTczM2U5OTM5
Li4zMDBiNjA3MWIxYWY2N2ZhODZjZGVhMTViNjc4Y2U1ZDA2ZGVhMTk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTEzMCw3
ICsxMzAsNyBAQAogICAgIG1hY3JvKEFWRm91bmRhdGlvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9u
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1
cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywg
Qm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlC
QUNLKSBcCiAgICAgbWFjcm8oQWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaywgYWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9BTExPV1NfSU5MSU5FX01FRElBX1BM
QVlCQUNLKSBcCi0gICAgbWFjcm8oQWxsb3dzQWx0ZXJuYXRlRnVsbHNjcmVlbiwgYWxsb3dzQWx0
ZXJuYXRlRnVsbHNjcmVlbiwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKEFsbG93c1Bp
Y3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjaywgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKEFsbG93c0FpclBsYXlGb3JN
ZWRpYVBsYXliYWNrLCBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwg
dHJ1ZSkgXAogICAgIG1hY3JvKEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkLCBpbnNwZWN0b3JTdGFy
dHNBdHRhY2hlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dzVG9vbFRpcE92
ZXJUcnVuY2F0ZWRUZXh0LCBzaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgQm9vbCwgYm9v
bCwgZmFsc2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAppbmRleCAxMGVjNzc3NDgzMjQ0ODExNWQ0M2E0Y2YwYTkyMGQ2YWQ0OGU4NzRm
Li5lMGU1OTIyYWZkODMzZWRjZDg5YmExYjM5ODNjZDM0ZDk1MzdjMzZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC03NDgsMTYg
Kzc0OCw2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaygpOwogfQogCi12b2lkIFdLUHJl
ZmVyZW5jZXNTZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKLXsKLSAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKGZsYWcpOwotfQotCi1ib29sIFdLUHJlZmVyZW5j
ZXNHZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCi17Ci0gICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93c0FsdGVy
bmF0ZUZ1bGxzY3JlZW4oKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvd3NUb29sVGlw
T3ZlclRydW5jYXRlZFRleHQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBm
bGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFNob3dzVG9vbFRpcE92ZXJU
cnVuY2F0ZWRUZXh0KGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBiYTE4YjJmZDczMGE0OTNk
MWNkMWJjYTUyNmNkNWY5NjRkNTgwNTU3Li4wYzllOTM1MWE0MWE4YTE1MGYxZmNmMjc0NGI2YWJm
YzFmNzBjYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtMTc5LDEwICsxNzksNiBAQCBXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUo
V0tQcmVmZXJlbmNlc1JlZgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxh
eWJhY2tBbGxvd3NJbmxpbmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBm
bGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXliYWNrQWxsb3dz
SW5saW5lKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCi0vLyBEZWZhdWx0cyB0
byB0cnVlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFsbG93c0FsdGVybmF0ZUZ1
bGxzY3JlZW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwotCiAvLyBEZWZhdWx0cyB0byBmYWxzZS4K
IFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVk
VGV4dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0KFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBhZjAyNmJlYmQ3NmUzYmJhNjU5MDFj
Njc2ZTk3MDIzOWJkZDg0NzM4Li43MDQxMTIyODIyMWJkNzJhZmQ1ZGVkYzY4NTAyY2Q2MTljNmY0
OThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMjQyLDE1ICsyNDIsMTUgQEAgc3RhdGljIGludDMyX3QgZGV2aWNlT3JpZW50YXRp
b24oKQogICAgIHJldHVybiBkZXZpY2VPcmllbnRhdGlvbkZvclVJSW50ZXJmYWNlT3JpZW50YXRp
b24oW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBzdGF0dXNCYXJPcmllbnRhdGlv
bl0pOwogfQogCi0tIChCT09MKV9pc1Nob3dpbmdWaWRlb09wdGltaXplZAorLSAoQk9PTClfaXNT
aG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlCiB7CiAgICAgaWYgKCFfcGFnZSB8fCAhX3BhZ2Ut
PnZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAot
ICAgIHJldHVybiBfcGFnZS0+dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpLT5oYXNNb2RlKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU9wdGltaXplZCk7
CisgICAgcmV0dXJuIF9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCktPmhhc01vZGUoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUlu
UGljdHVyZSk7CiB9CiAKLS0gKEJPT0wpX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6
ZWQKKy0gKEJPT0wpX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlCiB7
CiAjaWYgKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDgwMjAwKSB8fCAhSEFW
RShBVktJVCkKICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNTgsMTUgKzI1OCwxNSBAQCBzdGF0aWMg
aW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbigpCiAgICAgaWYgKCFfcGFnZSB8fCAhX3BhZ2UtPnZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXIoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0
dXJuIF9wYWdlLT52aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCktPm1heUF1dG9tYXRpY2FsbHlTaG93
VmlkZW9PcHRpbWl6ZWQoKTsKKyAgICByZXR1cm4gX3BhZ2UtPnZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXIoKS0+bWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKTsKICNlbmRp
ZgogfQogCi1zdGF0aWMgYm9vbCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4oKQorc3Rh
dGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpCiB7CiAj
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDAKLSAgICBzdGF0aWMg
Ym9vbCBzaG91bGRBbGxvd0FsdGVybmF0ZUZ1bGxzY3JlZW4gPSBpb3NFeGVjdXRhYmxlV2FzTGlu
a2VkT25PckFmdGVyVmVyc2lvbih3a0lPU1N5c3RlbVZlcnNpb25fOV8wKTsKLSAgICByZXR1cm4g
c2hvdWxkQWxsb3dBbHRlcm5hdGVGdWxsc2NyZWVuOworICAgIHN0YXRpYyBib29sIHNob3VsZEFs
bG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBpb3NFeGVjdXRhYmxlV2FzTGlua2Vk
T25PckFmdGVyVmVyc2lvbih3a0lPU1N5c3RlbVZlcnNpb25fOV8wKTsKKyAgICByZXR1cm4gc2hv
dWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKICNlbHNlCiAgICAgcmV0dXJu
IGZhbHNlOwogI2VuZGlmCkBAIC0zMjMsNyArMzIzLDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dBbHRlcm5hdGVGdWxsc2NyZWVuKCkKICAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSBbX2NvbmZpZ3VyYXRpb24gX2Fsd2F5c1J1bnNBdEZv
cmVncm91bmRQcmlvcml0eV07CiAKICAgICB3ZWJQYWdlQ29uZmlndXJhdGlvbi5wcmVmZXJlbmNl
VmFsdWVzLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZp
Z3VyYXRpb24gYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja10pKTsKLSAgICB3ZWJQYWdlQ29uZmln
dXJhdGlvbi5wcmVmZXJlbmNlVmFsdWVzLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5Ojph
bGxvd3NBbHRlcm5hdGVGdWxsc2NyZWVuS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9y
ZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2tdICYmIHNob3VsZEFsbG93QWx0ZXJuYXRlRnVsbHNjcmVlbigpKSk7CisgICAgd2ViUGFn
ZUNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZVZhbHVlcy5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJl
SW5QaWN0dXJlTWVkaWFQbGF5YmFja10gJiYgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjaygpKSk7CiAgICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZVZhbHVl
cy5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiByZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSkpOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRl
eCBhN2FjNTk3ZDI1ZDFjOTlhOWVjNTk3YjJiODUwMjZkOGE3NzYxNjE4Li5kZjNlN2Q3ZmE0YTQy
MmUwMDA2M2U0OGZmYThlNDgxOWRkMjBkZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC05OCw4ICs5OCw4
IEBAIHN0cnVjdCBQcmludEluZm87CiAtICh2b2lkKV9kaWRGaW5pc2hMb2FkRm9yTWFpbkZyYW1l
OwogLSAodm9pZClfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvck1haW5GcmFtZTooV2ViS2l0
OjpTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHlwZTsKIAotLSAoQk9PTClf
aXNTaG93aW5nVmlkZW9PcHRpbWl6ZWQ7Ci0tIChCT09MKV9tYXlBdXRvbWF0aWNhbGx5U2hvd1Zp
ZGVvT3B0aW1pemVkOworLSAoQk9PTClfaXNTaG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlOwor
LSAoQk9PTClfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmU7CiAKIC0g
KHZvaWQpX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA1NzMyMDcyM2ExNjRi
N2Q5ZmNkMWEwZTIwZTI1MWIyZWQ4NTczOGUwLi5jYTcyYTc3MTRjNDJmNTVhNjYwYmM2M2I1M2Zk
YTE0NDEwMTMxMDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KQEAgLTE4NSwxMCArMTg1LDEwIEBAIGJvb2wgUGFnZUNsaWVudElt
cGw6OmlzVmlld1Zpc2libGUoKQogICAgIGlmIChpc1ZpZXdJbldpbmRvdygpICYmICFtX2NvbnRl
bnRWaWV3LmlzQmFja2dyb3VuZCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCi0gICAgaWYg
KFttX3dlYlZpZXcgX2lzU2hvd2luZ1ZpZGVvT3B0aW1pemVkXSkKKyAgICBpZiAoW21fd2ViVmll
dyBfaXNTaG93aW5nVmlkZW9QaWN0dXJlSW5QaWN0dXJlXSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgCi0gICAgaWYgKFttX3dlYlZpZXcgX21heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRp
bWl6ZWRdKQorICAgIGlmIChbbV93ZWJWaWV3IF9tYXlBdXRvbWF0aWNhbGx5U2hvd1ZpZGVvUGlj
dHVyZUluUGljdHVyZV0pCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4IDdlMGJlNzZjYzUwMmEzNzIzYTYz
YjVjYTBlZjlmOWYwYTcxMzkzMzIuLjgzNDMyNGYzNzJkN2M5ZGQ5NWRjYmM4NGI5NjMyMmVmMDBj
OTFjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAtMTA4LDcgKzEwOCw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgcmVxdWVzdEhpZGVBbmRFeGl0RnVsbHNjcmVlbigpOwogICAgIGJv
b2wgaGFzTW9kZShXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUpIGNvbnN0OwotICAgIGJvb2wgbWF5QXV0b21hdGljYWxseVNob3dWaWRlb09wdGltaXpl
ZCgpIGNvbnN0OworICAgIGJvb2wgbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBp
Y3R1cmUoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgV2ViVmlkZW9GdWxs
c2NyZWVuTW9kZWxDb250ZXh0OwpAQCAtMTIzLDcgKzEyMyw3IEBAIHByaXZhdGU6CiAgICAgV2Vi
Q29yZTo6V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQmIGVuc3VyZUludGVyZmFjZSh1
aW50NjRfdCBjb250ZXh0SWQpOwogCiAgICAgLy8gTWVzc2FnZXMgZnJvbSBXZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyCi0gICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29u
dGV4dElkLCB1aW50MzJfdCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGlu
aXRpYWxSZWN0LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxz
Y3JlZW4pOworICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgdWludDMyX3QgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFs
UmVjdCwgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7
CiAgICAgdm9pZCByZXNldE1lZGlhU3RhdGUodWludDY0X3QgY29udGV4dElkKTsKICAgICB2b2lk
IHNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBk
b3VibGUgaG9zdFRpbWUpOwogICAgIHZvaWQgc2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRl
eHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IDBjNWRjMTE1NDYxODUxMDYxZjExMGZlYzc4Mzg2NTY3NTkw
MWFiNmEuLjZiYjA3NmQ1ZmNmNDExZDAzNmZmNDUyOTQzOWQxNGQ3ZmZmYTVkMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMyw3ICszMyw3IEBA
IG1lc3NhZ2VzIC0+IFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eSB7CiAgICAgU2V0RXh0
ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXModWludDY0X3QgY29udGV4dElkLCBib29sIGVuYWJsZWQs
IHVpbnQzMl90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKQogICAgIFNl
dER1cmF0aW9uKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGR1cmF0aW9uKQogICAgIFNldFJh
dGUodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJhdGUpCi0gICAg
U2V0dXBGdWxsc2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9M
YXllcklELCBXZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBmbG9hdCBob3N0aW5nU2NhbGVG
YWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93T3B0aW1pemVkRnVsbHNjcmVlbikKKyAg
ICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1aW50MzJfdCB2aWRl
b0xheWVySUQsIFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIGZsb2F0IGhvc3RpbmdTY2Fs
ZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5N
b2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSkKICAg
ICBFbnRlckZ1bGxzY3JlZW4odWludDY0X3QgY29udGV4dElkKQogICAgIEV4aXRGdWxsc2NyZWVu
KHVpbnQ2NF90IGNvbnRleHRJZCwgV2ViQ29yZTo6SW50UmVjdCBmaW5hbFJlY3QpCiAgICAgQ2xl
YW51cEZ1bGxzY3JlZW4odWludDY0X3QgY29udGV4dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tbQppbmRleCBlNmFkYTEyYmQ4NmE3Zjc1ODgyYzRhMTI2YWViMjc3NmMxZDEwODYwLi40OTUz
N2U0ZGNkNzRlNWU5ZmY5MmNmYmE3N2NmZDBhNGZlODJjY2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbQpAQCAtNjIsNyArNjIsNyBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6aGFzTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcgogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6ZWQoKSBjb25zdAorYm9vbCBXZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJl
SW5QaWN0dXJlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0yNjYsMTAgKzI2
NiwxMCBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6aGFzTW9kZShIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcgogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
Ym9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Om1heUF1dG9tYXRpY2FsbHlTaG93
VmlkZW9PcHRpbWl6ZWQoKSBjb25zdAorYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6Om1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKIHsK
ICAgICBmb3IgKGF1dG8mIHR1cGxlIDogbV9jb250ZXh0TWFwLnZhbHVlcygpKSB7Ci0gICAgICAg
IGlmIChzdGQ6OmdldDwxPih0dXBsZSktPm1heUF1dG9tYXRpY2FsbHlTaG93VmlkZW9PcHRpbWl6
ZWQoKSkKKyAgICAgICAgaWYgKHN0ZDo6Z2V0PDE+KHR1cGxlKS0+bWF5QXV0b21hdGljYWxseVNo
b3dWaWRlb1BpY3R1cmVJblBpY3R1cmUoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMDYsNyArMzA2LDcgQEAgV2ViQ29yZTo6V2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQmIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eTo6ZW5zdXIKIAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZyb20gV2ViVmlkZW9GdWxsc2NyZWVu
TWFuYWdlcgogCi12b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxs
c2NyZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9MYXllcklELCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ0RldmljZVNj
YWxlRmFjdG9yLCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlk
ZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd09wdGltaXplZEZ1bGxzY3JlZW4pCit2b2lkIFdl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKHVpbnQ2
NF90IGNvbnRleHRJZCwgdWludDMyX3QgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBpbml0aWFsUmVjdCwgZmxvYXQgaG9zdGluZ0RldmljZVNjYWxlRmFjdG9yLCBIVE1MTWVk
aWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwg
Ym9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKQogewogICAgIEFTU0VSVCh2aWRlb0xheWVySUQp
OwogICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRleHQ+IG1vZGVsOwpAQCAt
MzIzLDcgKzMyMyw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1
cEZ1bGxzY3JlZW5XaXRoSUQodWludDY0X3QgY29udGV4dElkLCB1CiAgICAgfQogCiAgICAgVUlW
aWV3ICpwYXJlbnRWaWV3ID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eT4oKm1fcGFnZS0+ZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5ZXJUcmVlSG9zdCgpLnJvb3RMYXll
cigpOwotICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0KCks
IGluaXRpYWxSZWN0LCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBhbGxvd09wdGlt
aXplZEZ1bGxzY3JlZW4pOworICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+
bGF5ZXJIb3N0KCksIGluaXRpYWxSZWN0LCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3JlZW5Nb2Rl
LCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHk6OnJlc2V0TWVkaWFTdGF0ZSh1aW50NjRfdCBjb250ZXh0SWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOTI4ZTVkZDk0
YTk4ZTY1OTUxNDFhZTAwMzYzMzMyZmNlYjQ0MzI0OS4uOWZmNTk3OTcwZjk4MTE1NjgyN2U1ZjUx
ZTVhNWJmNDk5YzE5ZWE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtMjc5OSw3ICsyNzk5LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQ
cmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5n
cy5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkS2V5KCkpKTsKICAg
ICBzZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayhzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYVBsYXliYWNrS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0QWxsb3dzQWx0
ZXJuYXRlRnVsbHNjcmVlbihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmFsbG93c0FsdGVybmF0ZUZ1bGxzY3JlZW5LZXkoKSkpOworICAgIHNldHRpbmdzLnNldEFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tL
ZXkoKSkpOwogICAgIHNldHRpbmdzLnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZEtl
eSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aHlwZXJsaW5rQXVkaXRpbmdFbmFi
bGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVk
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWVzdEFuaW1h
dGlvbkZyYW1lRW5hYmxlZEtleSgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQppbmRleCBjYmQxZWMy
NWI2NGU0Yzk5ODM0OGU2ZWVhZjlhYzY0ZTczY2Q4ZmRlLi40ZmRiNjRhZjg1NDIxZjFhMmQ2ZDU4
NTAyMjVmMGZiNjJkZjVjNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KQEAgLTI0MCw5ICsyNDAs
OSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyVmlkZW9GdWxsc2NyZWVu
Rm9yVmlkZW9FbGVtZW50KEhUTUxWaWRlb0VsZQogICAgICAgICByZXR1cm47CiAgICAgaW50ZXJm
YWNlLT5zZXRJc0FuaW1hdGluZyh0cnVlKTsKIAotICAgIGJvb2wgYWxsb3dPcHRpbWl6ZWRGdWxs
c2NyZWVuID0gdmlkZW9FbGVtZW50Lm1lZGlhU2Vzc2lvbigpLmFsbG93c0FsdGVybmF0ZUZ1bGxz
Y3JlZW4odmlkZW9FbGVtZW50KTsKKyAgICBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUgPSB2
aWRlb0VsZW1lbnQubWVkaWFTZXNzaW9uKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZSh2aWRlb0Vs
ZW1lbnQpOwogICAgIAotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4dElkLCBpbnRlcmZh
Y2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIGNsaWVudFJlY3RGb3JFbGVt
ZW50KCZ2aWRlb0VsZW1lbnQpLCBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCksIGludGVyZmFj
ZS0+ZnVsbHNjcmVlbk1vZGUoKSwgYWxsb3dPcHRpbWl6ZWRGdWxsc2NyZWVuKSwgbV9wYWdlLT5w
YWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHk6OlNldHVwRnVsbHNjcmVlbldpdGhJRChjb250ZXh0SWQsIGludGVyZmFjZS0+
bGF5ZXJIb3N0aW5nQ29udGV4dCgpLT5jb250ZXh0SUQoKSwgY2xpZW50UmVjdEZvckVsZW1lbnQo
JnZpZGVvRWxlbWVudCksIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgaW50ZXJmYWNlLT5m
dWxsc2NyZWVuTW9kZSgpLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKSwgbV9wYWdlLT5wYWdlSUQo
KSk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6ZXhpdFZpZGVvRnVsbHNj
cmVlbkZvclZpZGVvRWxlbWVudChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50JiB2aWRlb0VsZW1l
bnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>