<?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>195639</bug_id>
          
          <creation_ts>2019-03-12 13:14:25 -0700</creation_ts>
          <short_desc>[iOS] Input view sometimes flickers when blurring and refocusing an element</short_desc>
          <delta_ts>2019-03-12 16:52:04 -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>HTML Editing</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515635</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-12 13:14:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/48735337&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515664</commentid>
    <comment_count>1</comment_count>
      <attachid>364440</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-12 13:59:56 -0700</bug_when>
    <thetext>Created attachment 364440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515671</commentid>
    <comment_count>2</comment_count>
      <attachid>364442</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-12 14:02:46 -0700</bug_when>
    <thetext>Created attachment 364442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515685</commentid>
    <comment_count>3</comment_count>
      <attachid>364446</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-12 14:25:08 -0700</bug_when>
    <thetext>Created attachment 364446
Fix WPE/GTK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515753</commentid>
    <comment_count>4</comment_count>
      <attachid>364446</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 16:52:02 -0700</bug_when>
    <thetext>Comment on attachment 364446
Fix WPE/GTK

Clearing flags on attachment: 364446

Committed r242833: &lt;https://trac.webkit.org/changeset/242833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515754</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 16:52:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364440</attachid>
            <date>2019-03-12 13:59:56 -0700</date>
            <delta_ts>2019-03-12 14:02:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195639-20190312135955.patch</filename>
            <type>text/plain</type>
            <size>23071</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdiNTZhNmExZWE3MmM2MTZl
Y2I4MmFhNWQzY2ViM2YxODYyMDg2NDIuLmQyNDY3Y2Q3MGVjYWJhMmYyZjUwOTRhOGYyNjdhN2Y1
NDU0Y2MwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAKKzIwMTktMDMtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSW5wdXQgdmll
dyBzb21ldGltZXMgZmxpY2tlcnMgd2hlbiBibHVycmluZyBhbmQgcmVmb2N1c2luZyBhbiBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2
MzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzM1MzM3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywgaWYgYSBmb2N1c2VkIGVsZW1l
bnQgaXMgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1c2VkIGluIHRoZSBzY29wZSBvZiB1
c2VyIGludGVyYWN0aW9uLCB3ZSB3aWxsIGVuZAorICAgICAgICB1cCByZWxvYWRpbmcgaW50ZXJh
Y3Rpb24gc3RhdGUgKGlucHV0IHZpZXdzLCBhdXRvY29ycmVjdGlvbiBjb250ZXh0cywgZXRjLikg
aW4gdGhlIFVJIHByb2Nlc3MuIE9uIGNlcnRhaW4gd2VsbC0KKyAgICAgICAgdHJhZmZpY2tlZCB3
ZWJzaXRlcywgdGhpcyByZXN1bHRzIGluIHRoZSBpbnB1dCB2aWV3IGFuZCBpbnB1dCBhY2Nlc3Nv
cnkgdmlldyBmbGlja2VyaW5nIChvciBtb3JlIGVncmVnaW91c2x5LAorICAgICAgICBzY3JvbGxp
bmcgdG8gcmUtcmV2ZWFsIHRoZSBmb2N1c2VkIGVsZW1lbnQpIHdoZW4gY2hhbmdpbmcgc2VsZWN0
aW9uLgorCisgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUsIHRoaXMgcGF0Y2ggcmVmYWN0b3JzIHNv
bWUgZm9jdXMgbWFuYWdlbWVudCBsb2dpYyB0byBzdXBwcmVzcyBzZW5kaW5nIGZvY3VzZWQgZWxl
bWVudCB1cGRhdGVzCisgICAgICAgIHRvIHRoZSBVSSBwcm9jZXNzIGluIHRoZSBjYXNlIHdoZXJl
IHRoZSBzYW1lIGVsZW1lbnQgaXMgYmVpbmcgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1
c2VkLiBUbyBkbyB0aGlzLCB3ZQorICAgICAgICB0cmFjayB0aGUgbW9zdCByZWNlbnRseSBibHVy
cmVkIGVsZW1lbnQgYW5kIGJhaWwgd2hlbiB0aGUgcmVjZW50bHkgYmx1cnJlZCBlbGVtZW50IGlz
IGlkZW50aWNhbCB0byB0aGUgbmV3bHkKKyAgICAgICAgZm9jdXNlZCBlbGVtZW50LiBTZWUgYmVs
b3cgZm9yIG1vcmUgZGV0YWlsLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2tleWJv
YXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2VsZW1lbnRE
aWRGb2N1czp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJldmlvdXNOb2RlOmNoYW5naW5nQWN0aXZp
dHlTdGF0ZTp1c2VyT2JqZWN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50
RGlkQmx1cl0pOgorCisgICAgICAgIFVwZGF0ZSB0aGUgd2ViIHByb2Nlc3MnIG5vdGlvbiBvZiB3
aGV0aGVyIGFuIGlucHV0IHZpZXcgaXMgc2hvd2luZy4gSW1wb3J0YW50bHksIHRoaXMgYWNjb3Vu
dHMgZm9yIGRlY2lzaW9ucworICAgICAgICBtYWRlIGJ5IF9XS1VJRGVsZWdhdGUuIFNlZSBiZWxv
dyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIChpc0Fzc2lzdGFibGVJbnB1dFR5cGUpOiBE
ZWxldGVkLgorCisgICAgICAgIFJlbW92ZWQgdGhpcyBoZWxwZXIgZnVuY3Rpb247IHRoaXMgd2Fz
IG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UgYXMgYSBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgZm9jdXNl
ZCBlbGVtZW50J3MgdHlwZQorICAgICAgICBpcyBub3Qgbm9uZSwgcmlnaHQgYmVmb3JlIGF0dGVt
cHRpbmcgdG8gc2hvdyBhbiBpbnB1dCB2aWV3LiBJbnN0ZWFkLCB3ZSBjYW4ganVzdCBjaGVjayB0
aGUgZm9jdXNlZCBlbGVtZW50J3MKKyAgICAgICAgdHlwZSBkaXJlY3RseSBhZ2FpbnN0IElucHV0
VHlwZTo6Tm9uZSBpbiB0aGUgaWYgc3RhdGVtZW50IG9mIHRoZSBlYXJseSByZXR1cm4uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudCk6
CisKKyAgICAgICAgQWRkIGEgaG9vayB0byBub3RpZnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gYW4g
aW5wdXQgdmlldyBpcyBzaG93aW5nIG9yIG5vdCAoc2VlIGJlbG93IGZvciBtb3JlIGRldGFpbCku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjplbGVtZW50RGlkUmVmb2N1cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgY29uc3QpOgorCisgICAg
ICAgIEFkZCBhIGhlbHBlciB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBub3RpZnkgdGhlIFVJIHBy
b2Nlc3MgYWJvdXQgYSBuZXdseSBmb2N1c2VkIGVsZW1lbnQuIE9uIG1hY09TLCB0aGlzIGlzIHRy
dWUKKyAgICAgICAgb25seSB3aGVuIHRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IGlzIG5laXRoZXIg
dGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQsIG5vciB0aGUgZm9jdXNlZCBlbGVtZW50IHRo
YXQgd2FzCisgICAgICAgIGp1c3QgYmx1cnJlZC4gT24gaU9TLCB3ZSBoYXZlIGFuIGFkZGl0aW9u
YWwgY29uc3RyYWludCB0aGF0IHdoZW4gdGhlIGlucHV0IHZpZXcgaXMgbm90IHNob3dpbmcsIHdl
IHN0aWxsIG5lZWQgdG8KKyAgICAgICAgbm90aWZ5IHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUg
VUkgcHJvY2VzcyBtaWdodCB3YW50IHRvIGJlZ2luIHNob3dpbmcgdGhlIGtleWJvYXJkIGZvciBh
biBlbGVtZW50IHRoYXQgaGFzCisgICAgICAgIG9ubHkgYmVlbiBwcm9ncmFtbWF0aWNhbGx5IGZv
Y3VzZWQsIGZvciB3aGljaCB3ZSBhcmVuJ3QgY3VycmVudGx5IHNob3dpbmcgdGhlIGlucHV0IHZp
ZXcuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEJsdXIpOgorCisgICAgICAgIFJlcGxhY2Ug
YSBjb3VwbGUgb2YgZXhpc3RpbmcgbWVtYmVyIHZhcmlhYmxlcyBpbiBXZWJQYWdlIHVzZWQgZm9y
IGZvY3VzIG1hbmFnZW1lbnQ6CisgICAgICAgIC0gICBSZXBsYWNlIG1faGFzUGVuZGluZ0JsdXJO
b3RpZmljYXRpb24gd2l0aCBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQsIGEgUmVmUHRyIHRvIHRo
ZSBFbGVtZW50IHRoYXQgaXMgYmVpbmcKKyAgICAgICAgICAgIGJsdXJyZWQuIEJlaGF2aW9yIGhl
cmUgaXMgdGhlIHNhbWUgYXMgYmVmb3JlIChpLmUuIGhhdmluZyBhIHBlbmRpbmcgYmx1ciBub3Rp
ZmljYXRpb24gaXMgZXF1aXZhbGVudCB0bworICAgICAgICAgICAgaGF2aW5nIHJlY2VudGx5IGJs
dXJyZWQgYSBmb2N1c2VkIGVsZW1lbnQpLiBIb3dldmVyLCB0aGlzIGFsbG93cyB1cyB0byBjaGVj
ayBuZXdseSBmb2N1c2VkIGVsZW1lbnRzIGFnYWluc3QKKyAgICAgICAgICAgIHRoZSByZWNlbnRs
eSBibHVycmVkIGVsZW1lbnQgaW4gV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKCkuCisgICAgICAg
IC0gICBSZXBsYWNlIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB3aXRo
IG1faXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQuIFRoZSBmbGFnCisgICAgICAg
ICAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gd2FzIG9yaWdpbmFs
bHkgYWRkZWQgdG8gZml4IDx3ZWJraXQub3JnL2IvMTQ2NzM1PiwgYnkgZW5zdXJpbmcgdGhhdAor
ICAgICAgICAgICAgd2UgZG9uJ3Qgc2VuZCByZWR1bmRhbnQgRWxlbWVudERpZEZvY3VzIChmb3Jt
ZXJseSwgU3RhcnRBc3Npc3RpbmdOb2RlKSBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcyBldmVu
IHdoZW4KKyAgICAgICAgICAgIHRoZSBrZXlib2FyZCBpcyBhbHJlYWR5IHVwLiBJbiB0aGVzZSBz
aW1wbGVyIHRpbWVzLCB1c2VyIGludGVyYWN0aW9uIHdoZW4gZm9jdXNpbmcgYW4gZWxlbWVudCB3
YXMgZXF1aXZhbGVudAorICAgICAgICAgICAgdG8gc2hvd2luZyBhbiBpbnB1dCB2aWV3IGZvciB0
aGUgZm9jdXNlZCBlbGVtZW50LiBIb3dldmVyLCBpbiB0b2RheSdzIHdvcmxkLCB0aGVyZSBhcmUg
YSB2YXJpZXR5IG9mIHJlYXNvbnMKKyAgICAgICAgICAgIHdoeSB3ZSBtaWdodCBvciBtaWdodCBu
b3Qgc2hvdyBhbiBpbnB1dCB2aWV3IGZvciBhIGdpdmVuIGVsZW1lbnQgKGluY2x1ZGluZywgYnV0
IG5vdCBsaW1pdGVkIHRvIGFjdGl2aXR5CisgICAgICAgICAgICBzdGF0ZSBjaGFuZ2VzIGFuZCBk
ZWNpc2lvbnMgbWFkZSBieSBfV0tJbnB1dERlbGVnYXRlKS4gQXMgc3VjaCwgaXQgZG9lc24ndCBt
YWtlIHNlbnNlIHRvIGNvbnRpbnVlIHJlbHlpbmcgb24KKyAgICAgICAgICAgIG1faXNGb2N1c2lu
Z0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiBpbiB0aGlzIGVhcmx5IHJldHVybi4gSW5zdGVh
ZCwgaGF2ZSB0aGUgVUkgcHJvY2VzcyBwcm9wYWdhdGUgYQorICAgICAgICAgICAgbWVzc2FnZSBi
YWNrIHRvIHRoZSB3ZWIgcHJvY2VzcywgdG8gbGV0IGl0IGtub3cgd2hldGhlciB0aGVyZSBpcyBh
IGtleWJvYXJkIHNob3dpbmcsIGFuZCB1c2UgdGhpcyBmbGFnCisgICAgICAgICAgICBpbnN0ZWFk
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KToKKwogMjAxOS0wMy0xMCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29t
ZSBtaXNsZWFkaW5nIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBpbiBXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MzRhNjAzOTVlNzY4NWVlYTgwNDFkYzhiY2IyMjg4YmUwNjlmMDVjOC4uYWQ3M2VjMmI0ZTQyYmMy
M2ZiOGM1MDEwNGM0OWYwYjEyMDEwMGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTExODQsNiArMTE4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc3BlY3Rv
ck5vZGVTZWFyY2hFbmRlZEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwog
CiAgICAgdm9pZCBibHVyRm9jdXNlZEVsZW1lbnQoKTsKKyAgICB2b2lkIHNldElzU2hvd2luZ0lu
cHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KGJvb2wpOwogI2VuZGlmCiAKICAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9i
amVjdCogbWVzc2FnZUJvZHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggODY3Y2M4YWNmOTE0MWRlYWIx
MTEyMDUwOGExZGUzYTFiNjVlNjVhMi4uNDA4NmU4MjQ4YWRiZTc4NzIwOWI3ZWNkODRmOGMzZWU0
N2Q1MmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00NzcxLDQwICs0NzcxLDYgQEAgc3RhdGljIFdl
YkNvcmU6OkZsb2F0UmVjdCByZWN0VG9SZXZlYWxXaGVuWm9vbWluZ1RvRm9jdXNlZEVsZW1lbnQo
Y29uc3QgV2ViS2l0OjoKICAgICByZXR1cm4gc2VsZWN0aW9uQm91bmRpbmdSZWN0OwogfQogCi1z
dGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoV2ViS2l0OjpJbnB1dFR5cGUgdHlwZSkK
LXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpDb250
ZW50RWRpdGFibGU6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGV4dDoKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpQYXNzd29yZDoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBl
OjpUZXh0QXJlYToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWFyY2g6Ci0gICAgY2Fz
ZSBXZWJLaXQ6OklucHV0VHlwZTo6RW1haWw6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6
VVJMOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlBob25lOgotICAgIGNhc2UgV2ViS2l0
OjpJbnB1dFR5cGU6Ok51bWJlcjoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOdW1iZXJQ
YWQ6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6RGF0ZToKLSAgICBjYXNlIFdlYktpdDo6
SW5wdXRUeXBlOjpEYXRlVGltZToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpEYXRlVGlt
ZUxvY2FsOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok1vbnRoOgotICAgIGNhc2UgV2Vi
S2l0OjpJbnB1dFR5cGU6OldlZWs6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGltZToK
LSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWxlY3Q6Ci0gICAgY2FzZSBXZWJLaXQ6Oklu
cHV0VHlwZTo6RHJhd2luZzoKLSNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpDb2xvcjoKLSNlbmRpZgotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmU6Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUZvY3VzZWRFbGVtZW50QXJlYUZvclN1
cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50ID0gNDsKIAogLSAodm9pZClfZWxlbWVudERpZEZv
Y3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mKWluZm9ybWF0aW9u
IHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQcmV2aW91c05v
ZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6KEJPT0wpY2hh
bmdpbmdBY3Rpdml0eVN0YXRlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4g
Kil1c2VyT2JqZWN0CkBAIC00ODg3LDExICs0ODUzLDEyIEBAIC0gKHZvaWQpX2VsZW1lbnREaWRG
b2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJilpbmZvcm1hdGlv
biB1CiAgICAgICAgIFtfZHJhd2luZ0Nvb3JkaW5hdG9yIGluc3RhbGxJbmtQaWNrZXJGb3JEcmF3
aW5nOmluZm9ybWF0aW9uLmVtYmVkZGVkVmlld0lEXTsKICNlbmRpZgogCi0gICAgaWYgKCFzaG91
bGRTaG93SW5wdXRWaWV3KQorICAgIGlmICghc2hvdWxkU2hvd0lucHV0VmlldyB8fCBpbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9PSBXZWJLaXQ6OklucHV0VHlwZTo6Tm9uZSkgeworICAgICAgICBf
cGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQoZmFsc2UpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKCFpc0Fzc2lzdGFibGVJbnB1dFR5cGUoaW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpKQotICAgICAgICByZXR1cm47CisgICAgX3BhZ2UtPnNldElz
U2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KHRydWUpOwogCiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCByZW1vdmUgdGhpcyBjaGVjayB3aGVuIHdlIG1hbmFnZSB0byBzZW5kIEVsZW1l
bnREaWRGb2N1cyBmcm9tIHRoZSBXZWJQcm9jZXNzCiAgICAgLy8gb25seSB3aGVuIGl0IGlzIHRy
dWx5IHRpbWUgdG8gc2hvdyB0aGUga2V5Ym9hcmQuCkBAIC01MDEwLDYgKzQ5NzcsNyBAQCAtICh2
b2lkKV9lbGVtZW50RGlkQmx1cgogICAgICAgICBbX3dlYlZpZXcgX3NjaGVkdWxlVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlXTsKIAogICAgIFtfd2ViVmlldyBkaWRFbmRGb3JtQ29udHJvbEludGVy
YWN0aW9uXTsKKyAgICBfcGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1l
bnQoZmFsc2UpOwogCiAgICAgaWYgKCFfaXNDaGFuZ2luZ0ZvY3VzKSB7CiAgICAgICAgIFtzZWxm
IF9zdG9wU3VwcHJlc3NpbmdTZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246V2ViS2l0OjpGb2N1
c2VkRWxlbWVudElzVHJhbnNwYXJlbnRPckZ1bGx5Q2xpcHBlZF07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA1MDFjNzI3Zjg0YmVjNTIw
ZDIwYjdjYjY1YTY0ZjA3YWI0YzExMmU3Li5kNzkwYjk2ZTliZTk3ODljNGMwYjMyZjQ3ZTMxYjdi
MDJmZTlhYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KQEAgLTg5Myw2ICs4OTMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEdldFRh
cEhpZ2hsaWdodEdlb21ldHJpZXModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3IKICAg
ICBwYWdlQ2xpZW50KCkuZGlkR2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyhyZXF1ZXN0SUQsIGNv
bG9yLCBoaWdobGlnaHRlZFF1YWRzLCB0b3BMZWZ0UmFkaXVzLCB0b3BSaWdodFJhZGl1cywgYm90
dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRpdXMsIG5vZGVIYXNCdWlsdEluQ2xpY2tIYW5k
bGluZyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JG
b2N1c2VkRWxlbWVudChib29sIHNob3dpbmdJbnB1dFZpZXcpCit7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVt
ZW50KHNob3dpbmdJbnB1dFZpZXcpLCBtX3BhZ2VJRCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5
OjplbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3Jt
YXRpb24sIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9v
bCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKIHsKICAg
ICBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxl
bWVudCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDk4MjRiMjJjNmYxMmFhOTY5MzlhNWFjMzVhOWY2OWNkZjQ3OTIyZDkuLjEwNDgw
M2FiNzY1MTVhODZjZGFmMmMwMjNlNDAwOWVjOTY2NTViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMTE4LDcgKzMxMTgsNyBAQCB2b2lk
IFdlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24oKQogICAgIGJvb2wgaGFzUHJldmlvdXNs
eUZvY3VzZWREdWVUb1VzZXJJbnRlcmFjdGlvbiA9IG1faGFzRXZlckZvY3VzZWRFbGVtZW50RHVl
VG9Vc2VySW50ZXJhY3Rpb25TaW5jZVBhZ2VUcmFuc2l0aW9uOwogI2VuZGlmCiAgICAgbV9oYXNF
dmVyRm9jdXNlZEVsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvblNpbmNlUGFnZVRyYW5zaXRpb24g
PSBmYWxzZTsKLSAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gPSBm
YWxzZTsKKyAgICBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQgPSBudWxscHRyOwogICAgIG1fbGFz
dEVkaXRvclN0YXRlV2FzQ29udGVudEVkaXRhYmxlID0gRWRpdG9yU3RhdGVJc0NvbnRlbnRFZGl0
YWJsZTo6VW5zZXQ7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChoYXNQcmV2aW91c2x5Rm9j
dXNlZER1ZVRvVXNlckludGVyYWN0aW9uKQpAQCAtNTMwMiwxOCArNTMwMiwzMiBAQCB2b2lkIFdl
YlBhZ2U6OmVsZW1lbnREaWRSZWZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCiB7CiAg
ICAgZWxlbWVudERpZEZvY3VzKGVsZW1lbnQpOwogCi0gICAgaWYgKG1faXNGb2N1c2luZ0VsZW1l
bnREdWVUb1VzZXJJbnRlcmFjdGlvbikKKyAgICBpZiAobV91c2VySXNJbnRlcmFjdGluZykKICAg
ICAgICAgc2NoZWR1bGVGdWxsRWRpdG9yU3RhdGVVcGRhdGUoKTsKIH0KIAorYm9vbCBXZWJQYWdl
OjpzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50KGNvbnN0IEVsZW1lbnQm
IGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYgKG1fZm9jdXNlZEVsZW1lbnQgPT0gJmVsZW1lbnQg
fHwgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID09ICZlbGVtZW50KSB7CisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyAgICAgICAgcmV0dXJuICFtX2lzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3Vz
ZWRFbGVtZW50OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgfQor
ICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyhXZWJD
b3JlOjpFbGVtZW50JiBlbGVtZW50KQogewotICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ID09ICZl
bGVtZW50ICYmIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbikKKyAgICBp
ZiAoIXNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQoZWxlbWVudCkpIHsK
KyAgICAgICAgbV9mb2N1c2VkRWxlbWVudCA9ICZlbGVtZW50OworICAgICAgICBtX3JlY2VudGx5
Qmx1cnJlZEVsZW1lbnQgPSBudWxscHRyOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAg
aWYgKGVsZW1lbnQuaGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnNlbGVjdFRhZykgfHwg
ZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6aW5wdXRUYWcpIHx8IGVsZW1l
bnQuaGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnRleHRhcmVhVGFnKSB8fCBlbGVtZW50
Lmhhc0VkaXRhYmxlU3R5bGUoKSkgewogICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gJmVsZW1l
bnQ7Ci0gICAgICAgIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB8PSBt
X3VzZXJJc0ludGVyYWN0aW5nOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIApAQCAtNTMy
OSwzNSArNTM0MywzMCBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpF
bGVtZW50JiBlbGVtZW50KQogCiAgICAgICAgIG1fZm9ybUNsaWVudC0+d2lsbEJlZ2luSW5wdXRT
ZXNzaW9uKHRoaXMsICZlbGVtZW50LCBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZSgqZWxlbWVudC5k
b2N1bWVudCgpLmZyYW1lKCkpLCBtX3VzZXJJc0ludGVyYWN0aW5nLCB1c2VyRGF0YSk7CiAKLSAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFbGVtZW50RGlkRm9jdXMoaW5mb3Jt
YXRpb24sIG1fdXNlcklzSW50ZXJhY3RpbmcsIG1faGFzUGVuZGluZ0JsdXJOb3RpZmljYXRpb24s
IG1fY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFbGVtZW50RGlkRm9jdXMoaW5mb3Jt
YXRpb24sIG1fdXNlcklzSW50ZXJhY3RpbmcsIG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCwgbV9j
aGFuZ2luZ0FjdGl2aXR5U3RhdGUsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRy
YW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOwogI2VsaWYg
UExBVEZPUk0oTUFDKQotICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhU
TUxOYW1lczo6c2VsZWN0VGFnKSkKLSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKGZhbHNlKSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVt
ZW50SXNGb2N1c2VkKHRydWUpKTsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgY2FuIGJlIHVuaWZp
ZWQgd2l0aCB0aGUgaU9TIGNvZGUgYWJvdmUgYnkgYnJpbmdpbmcgRWxlbWVudERpZEZvY3VzIHRv
IG1hY09TLgorICAgICAgICAvLyBUaGlzIGFsc28gZG9lc24ndCB0YWtlIG90aGVyIG5vbmVkaXRh
YmxlIGNvbnRyb2xzIGludG8gYWNjb3VudCwgc3VjaCBhcyBpbnB1dCB0eXBlIGNvbG9yLgorICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEVkaXRhYmxlRWxlbWVudElzRm9j
dXNlZCghZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6c2VsZWN0VGFnKSkp
OwogI2VuZGlmCi0gICAgICAgIG1faGFzUGVuZGluZ0JsdXJOb3RpZmljYXRpb24gPSBmYWxzZTsK
KyAgICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICB9CiB9CiAK
IHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEJsdXIoV2ViQ29yZTo6RWxlbWVudCYgZWxlbWVudCkK
IHsKICAgICBpZiAobV9mb2N1c2VkRWxlbWVudCA9PSAmZWxlbWVudCkgewotICAgICAgICBtX2hh
c1BlbmRpbmdCbHVyTm90aWZpY2F0aW9uID0gdHJ1ZTsKLSAgICAgICAgUmVmUHRyPFdlYlBhZ2U+
IHByb3RlY3RlZFRoaXModGhpcyk7Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3Rl
ZFRoaXNdIHsKLSAgICAgICAgICAgIGlmIChwcm90ZWN0ZWRUaGlzLT5tX2hhc1BlbmRpbmdCbHVy
Tm90aWZpY2F0aW9uKSB7CisgICAgICAgIG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9IFdURk1v
dmUobV9mb2N1c2VkRWxlbWVudCk7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpXSB7CisgICAgICAgICAgICBpZiAocHJvdGVjdGVkVGhp
cy0+bV9yZWNlbnRseUJsdXJyZWRFbGVtZW50KSB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkVsZW1lbnREaWRCbHVyKCkpOwogI2VsaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAgICAg
ICAgIHByb3RlY3RlZFRoaXMtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFi
bGVFbGVtZW50SXNGb2N1c2VkKGZhbHNlKSk7CiAjZW5kaWYKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHByb3RlY3RlZFRoaXMtPm1faGFzUGVuZGluZ0JsdXJOb3RpZmljYXRpb24gPSBmYWxz
ZTsKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPm1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9
IG51bGxwdHI7CiAgICAgICAgIH0pOwotCi0gICAgICAgIG1faXNGb2N1c2luZ0VsZW1lbnREdWVU
b1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwotICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gbnVs
bHB0cjsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCBjZDk1NGU4NzUzYzcyMDg0MmFiM2M2NDAyNTYxMjQ3MTMwZGU5ZGQxLi5jZTEz
NzlkMmY1MTlhM2RjYzBhODY2YTA2NjIzZTdkOGEzYWMzZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC02NTIsNiArNjUyLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0Rm9jdXNlZEVsZW1lbnRWYWx1ZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lk
IHNldEZvY3VzZWRFbGVtZW50VmFsdWVBc051bWJlcihkb3VibGUpOwogICAgIHZvaWQgc2V0Rm9j
dXNlZEVsZW1lbnRTZWxlY3RlZEluZGV4KHVpbnQzMl90IGluZGV4LCBib29sIGFsbG93TXVsdGlw
bGVTZWxlY3Rpb24pOworICAgIHZvaWQgc2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVs
ZW1lbnQoYm9vbCk7CiAgICAgdm9pZCB1cGRhdGVTZWxlY3Rpb25BcHBlYXJhbmNlKCk7CiAgICAg
dm9pZCBnZXRTZWxlY3Rpb25Db250ZXh0KENhbGxiYWNrSUQpOwogICAgIHZvaWQgaGFuZGxlVHdv
RmluZ2VyVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIE9wdGlvblNldDxXZWJL
aXQ6OldlYkV2ZW50OjpNb2RpZmllcj4sIHVpbnQ2NF90IHJlcXVlc3RJRCk7CkBAIC0xNTE3LDYg
KzE1MTgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjYW5jZWxHZXN0dXJlc0Jsb2NrZWRPblN5
bmNocm9ub3VzUmVwbGllcygpOwogCisgICAgYm9vbCBzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVy
Rm9jdXNpbmdFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmKSBjb25zdDsKKwogICAgIHVp
bnQ2NF90IG1fcGFnZUlEOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBhZ2U+IG1f
cGFnZTsKQEAgLTE3MTQsNyArMTcxNyw2IEBAIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8V2ViQ29y
ZTo6SW50U2l6ZT4gbV92aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzOwogCiAgICAgYm9v
bCBtX3VzZXJJc0ludGVyYWN0aW5nIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNGb2N1c2luZ0Vs
ZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc0V2ZXJG
b2N1c2VkRWxlbWVudER1ZVRvVXNlckludGVyYWN0aW9uU2luY2VQYWdlVHJhbnNpdGlvbiB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX25lZWRzSGlkZGVuQ29udGVudEVkaXRhYmxlUXVpcmsgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9uZWVkc1BsYWluVGV4dFF1aXJrIHsgZmFsc2UgfTsKQEAgLTE3MjUs
NyArMTcyNyw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpFbGVt
ZW50PiBtX2ZvY3VzZWRFbGVtZW50OwotICAgIGJvb2wgbV9oYXNQZW5kaW5nQmx1ck5vdGlmaWNh
dGlvbiB7IGZhbHNlIH07CisgICAgUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+IG1fcmVjZW50bHlC
bHVycmVkRWxlbWVudDsKICAgICBib29sIG1faGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlIHsg
ZmFsc2UgfTsKIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQpAQCAtMTczNiw2ICsxNzM4
LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IG1fY3VycmVudFdvcmRS
YW5nZTsKICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbV9pbnRlcmFjdGlvbk5vZGU7CiAgICAg
V2ViQ29yZTo6SW50UG9pbnQgbV9sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbjsKKworICAgIGJvb2wg
bV9pc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudCB7IGZhbHNlIH07CiAgICAgCiAg
ICAgZW51bSBTZWxlY3Rpb25BbmNob3IgeyBTdGFydCwgRW5kIH07CiAgICAgU2VsZWN0aW9uQW5j
aG9yIG1fc2VsZWN0aW9uQW5jaG9yIHsgU3RhcnQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IGNjZTc3MjIyNmE1
OWI4NzVhYTYwOGI4ZjJhN2EwMzBjNmYwNmZmMmYuLjc2OWQ4ODUzZDNiOTU5OTY3ZGQwY2Q2NTVl
MTNlMTg1NmZjZWMzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMTA4LDYgKzEwOCw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIENhbmNlbEF1dG9zY3JvbGwoKQogICAgIFJl
cXVlc3RGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogICAgIEhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wga2V5Ym9h
cmRJc0F0dGFjaGVkKQorICAgIFNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50
KGJvb2wgc2hvd2luZ0lucHV0VmlldykKICNlbmRpZgogCiAgICAgU2V0Q29udHJvbGxlZEJ5QXV0
b21hdGlvbihib29sIGNvbnRyb2xsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGU1MDk4NWFhYWRiOTY0ZmUyZjBmNWNj
Y2VjMzllMzVjMzgyODQ1MGMuLjlmZWNiZWQyZDg2MDY3YTA2MTRiMjhhMDdkZTVmYzMwOTQwY2Rm
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCkBAIC05MDYsNiArOTA2LDExIEBAIHZvaWQgV2ViUGFnZTo6Ymx1ckZvY3VzZWRF
bGVtZW50KCkKICAgICBtX2ZvY3VzZWRFbGVtZW50LT5ibHVyKCk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZTo6c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQoYm9vbCBzaG93aW5nSW5w
dXRWaWV3KQoreworICAgIG1faXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQgPSBz
aG93aW5nSW5wdXRWaWV3OworfQorCiB2b2lkIFdlYlBhZ2U6OnNldEZvY3VzZWRFbGVtZW50VmFs
dWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICAvLyBGSVhNRTogc2hvdWxkIGFsc28gaGFu
ZGxlIHRoZSBjYXNlIG9mIEhUTUxTZWxlY3RFbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBkODI2YWZmNjU5YzEz
YmRhY2Q0YjE4OTZjNDViZGZhOWUwMzhlMTQuLjA4M2U0NWQ5Y2ZiNjRmZWIyMDcxZDdhMzhmZjE0
NTUxNmExZDhjMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0wMy0xMiAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJbnB1dCB2aWV3
IHNvbWV0aW1lcyBmbGlja2VycyB3aGVuIGJsdXJyaW5nIGFuZCByZWZvY3VzaW5nIGFuIGVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYz
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3MzUzMzc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBlbnN1cmUgdGhhdCB0
aGUgZm9ybSBjb250cm9sIGludGVyYWN0aW9uIGRvZXNuJ3Qgc3RvcCBhbmQgc3RhcnQgYWdhaW4g
d2hlbiBibHVycmluZyBhbmQgZm9jdXNpbmcKKyAgICAgICAgYW4gZWRpdGFibGUgZWxlbWVudC4K
KworICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9j
dXNpbmctZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
aW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC5odG1sOiBBZGRl
ZC4KKwogMjAxOS0wMy0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIEZpeCBmYWlsaW5nIHRlc3QgY2FzZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVu
LXJlZm9jdXNpbmctZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1yZWZvY3VzaW5nLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMjRhYzE5ZmQwM2UyNzIyNGViYjdmYjU3YjM4OGUwZWMyZTI5MDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1z
dGFiaWxpdHktd2hlbi1yZWZvY3VzaW5nLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OSBAQAorVmVyaWZpZXMgdGhhdCBpbnB1dCB2aWV3IHN0YXRlIGRvZXNuJ3QgdGhyYXNoIHdoZW4g
c2NyaXB0IGJsdXJzIGFuZCBpbW1lZGlhdGVseSByZWZvY3VzZXMgYW4gZWRpdGFibGUgZWxlbWVu
dC4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhlIHJlZCBlZGl0YWJsZSBib3ggdG8g
Zm9jdXMgaXQsIGFuZCB0aGVuIHRhcCB0aGUgYm94IGFnYWluOyBjaGVjayB0aGF0IHRoZSBrZXli
b2FyZCBhbmQgaW5wdXQgYWNjZXNzb3J5IHZpZXcgZG8gbm90IGZsaWNrZXIsIGFuZCB0aGF0IHRo
ZSBzY3JvbGwgcG9zaXRpb24gcmVtYWlucyB0aGUgc2FtZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIHJlc3VsdCBpcyAiRW5kZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1y
ZWZvY3VzaW5nLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTJjODc1YzUzMWQyMWFkNWVkYTAy
MzBlNWVkMTM0MjFlYjkyMTY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50Lmh0bWwK
QEAgLTAsMCArMSwxMDMgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8bWV0YSBu
YW1lPXZpZXdwb3J0IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxzdHlsZT4KK2JvZHksIGh0bWwgeworICAgIHdpZHRoOiAx
MDAlOworICAgIGhlaWdodDogMTAwMHB4OworICAgIG1hcmdpbjogMDsKK30KKworI2VkaXRvciB7
CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIGJvcmRlcjogMnB4IHJl
ZCBzb2xpZDsKKyAgICBmb250LXNpemU6IDQwcHg7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOwor
fQorCisjY29udGFpbmVyIHsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDU0cHg7Cisg
ICAgYm9yZGVyOiAycHggYmxhY2sgc29saWQ7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAg
IHRvcDogNTBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImVkaXRv
ciIgY29udGVudGVkaXRhYmxlPjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxw
cmUgaWQ9ImRlc2NyaXB0aW9uIj48L3ByZT4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9i
b2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVmVy
aWZpZXMgdGhhdCBpbnB1dCB2aWV3IHN0YXRlIGRvZXNuJ3QgdGhyYXNoIHdoZW4gc2NyaXB0IGJs
dXJzIGFuZCBpbW1lZGlhdGVseSByZWZvY3VzZXMgYW4gZWRpdGFibGUgZWxlbWVudC4gVG8gbWFu
dWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhlIHJlZCBlZGl0YWJsZSBib3ggdG8gZm9jdXMgaXQs
IGFuZCB0aGVuIHRhcCB0aGUgYm94IGFnYWluOyBjaGVjayB0aGF0IHRoZSBrZXlib2FyZCBhbmQg
aW5wdXQgYWNjZXNzb3J5IHZpZXcgZG8gbm90IGZsaWNrZXIsIGFuZCB0aGF0IHRoZSBzY3JvbGwg
cG9zaXRpb24gcmVtYWlucyB0aGUgc2FtZS4iKTsKKworY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOworZWRpdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVkaXRvciIpOworZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGV2ZW50
ID0+IHsKKyAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gZWRpdG9yKQorICAgICAg
ICByZXR1cm47CisKKyAgICBlZGl0b3IucmVtb3ZlKCk7CisgICAgY29udGFpbmVyLmFwcGVuZENo
aWxkKGVkaXRvcik7CisgICAgZWRpdG9yLmZvY3VzKCk7CisgICAgZXZlbnQucHJldmVudERlZmF1
bHQoKTsKK30pOworCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlQW5kV2FpdEZvcklucHV0U2Vzc2lvbkF0KDE2MCwgNDApOworICAgIHRl
c3RSdW5uZXIucnVuVUlTY3JpcHQoYAorICAgICAgICBsZXQgc3RhcnRlZEZvcm1Db250cm9sSW50
ZXJhY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgbGV0IGVuZGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlv
biA9IGZhbHNlOworCisgICAgICAgIGZ1bmN0aW9uIHNjaGVkdWxlVUlTY3JpcHRDb21wbGV0aW9u
KCkgeworICAgICAgICAgICAgaWYgKHN0YXJ0ZWRGb3JtQ29udHJvbEludGVyYWN0aW9uIHx8IGVu
ZGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIHVpQ29udHJvbGxlci5kb0FzeW5jVGFzaygoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdWlDb250cm9sbGVyLmRpZFN0YXJ0Rm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0g
bnVsbDsKKyAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kRm9ybUNvbnRyb2xJbnRl
cmFjdGlvbkNhbGxiYWNrID0gbnVsbDsKKworICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBu
dWxsOworICAgICAgICAgICAgICAgIGlmIChzdGFydGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbiAm
JiBlbmRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24pCisgICAgICAgICAgICAgICAgICAgIHJlc3Vs
dCA9ICJTdGFydGVkLCBFbmRlZCI7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoc3RhcnRlZEZv
cm1Db250cm9sSW50ZXJhY3Rpb24pCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICJTdGFy
dGVkIjsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChlbmRlZEZvcm1Db250cm9sSW50ZXJhY3Rp
b24pCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICJFbmRlZCI7CisKKyAgICAgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZShyZXN1bHQpOworICAgICAgICAgICAg
fSk7CisgICAgICAgIH0KKworICAgICAgICB1aUNvbnRyb2xsZXIuZGlkU3RhcnRGb3JtQ29udHJv
bEludGVyYWN0aW9uQ2FsbGJhY2sgPSAoKSA9PiB7CisgICAgICAgICAgICBzY2hlZHVsZVVJU2Ny
aXB0Q29tcGxldGlvbigpOworICAgICAgICAgICAgc3RhcnRlZEZvcm1Db250cm9sSW50ZXJhY3Rp
b24gPSB0cnVlOworICAgICAgICB9OworCisgICAgICAgIHVpQ29udHJvbGxlci5kaWRFbmRGb3Jt
Q29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2sgPSAoKSA9PiB7CisgICAgICAgICAgICBzY2hlZHVs
ZVVJU2NyaXB0Q29tcGxldGlvbigpOworICAgICAgICAgICAgZW5kZWRGb3JtQ29udHJvbEludGVy
YWN0aW9uID0gdHJ1ZTsKKyAgICAgICAgfTsKKworICAgICAgICB1aUNvbnRyb2xsZXIuc2luZ2xl
VGFwQXRQb2ludCgxNjAsIDQwLCAoKSA9PiB1aUNvbnRyb2xsZXIucmVzaWduRmlyc3RSZXNwb25k
ZXIoKSk7CisgICAgYCwgY2hlY2tSZXN1bHRBbmRGaW5pc2hUZXN0KTsKK30pOworCitmdW5jdGlv
biBjaGVja1Jlc3VsdEFuZEZpbmlzaFRlc3QocmVzdWx0KSB7CisgICAgd2luZG93LnJlc3VsdCA9
IHJlc3VsdDsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdCIsICJFbmRlZCIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364442</attachid>
            <date>2019-03-12 14:02:46 -0700</date>
            <delta_ts>2019-03-12 14:25:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195639-20190312140244.patch</filename>
            <type>text/plain</type>
            <size>23082</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdiNTZhNmExZWE3MmM2MTZl
Y2I4MmFhNWQzY2ViM2YxODYyMDg2NDIuLmQyNDY3Y2Q3MGVjYWJhMmYyZjUwOTRhOGYyNjdhN2Y1
NDU0Y2MwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAKKzIwMTktMDMtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSW5wdXQgdmll
dyBzb21ldGltZXMgZmxpY2tlcnMgd2hlbiBibHVycmluZyBhbmQgcmVmb2N1c2luZyBhbiBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2
MzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzM1MzM3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywgaWYgYSBmb2N1c2VkIGVsZW1l
bnQgaXMgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1c2VkIGluIHRoZSBzY29wZSBvZiB1
c2VyIGludGVyYWN0aW9uLCB3ZSB3aWxsIGVuZAorICAgICAgICB1cCByZWxvYWRpbmcgaW50ZXJh
Y3Rpb24gc3RhdGUgKGlucHV0IHZpZXdzLCBhdXRvY29ycmVjdGlvbiBjb250ZXh0cywgZXRjLikg
aW4gdGhlIFVJIHByb2Nlc3MuIE9uIGNlcnRhaW4gd2VsbC0KKyAgICAgICAgdHJhZmZpY2tlZCB3
ZWJzaXRlcywgdGhpcyByZXN1bHRzIGluIHRoZSBpbnB1dCB2aWV3IGFuZCBpbnB1dCBhY2Nlc3Nv
cnkgdmlldyBmbGlja2VyaW5nIChvciBtb3JlIGVncmVnaW91c2x5LAorICAgICAgICBzY3JvbGxp
bmcgdG8gcmUtcmV2ZWFsIHRoZSBmb2N1c2VkIGVsZW1lbnQpIHdoZW4gY2hhbmdpbmcgc2VsZWN0
aW9uLgorCisgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUsIHRoaXMgcGF0Y2ggcmVmYWN0b3JzIHNv
bWUgZm9jdXMgbWFuYWdlbWVudCBsb2dpYyB0byBzdXBwcmVzcyBzZW5kaW5nIGZvY3VzZWQgZWxl
bWVudCB1cGRhdGVzCisgICAgICAgIHRvIHRoZSBVSSBwcm9jZXNzIGluIHRoZSBjYXNlIHdoZXJl
IHRoZSBzYW1lIGVsZW1lbnQgaXMgYmVpbmcgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1
c2VkLiBUbyBkbyB0aGlzLCB3ZQorICAgICAgICB0cmFjayB0aGUgbW9zdCByZWNlbnRseSBibHVy
cmVkIGVsZW1lbnQgYW5kIGJhaWwgd2hlbiB0aGUgcmVjZW50bHkgYmx1cnJlZCBlbGVtZW50IGlz
IGlkZW50aWNhbCB0byB0aGUgbmV3bHkKKyAgICAgICAgZm9jdXNlZCBlbGVtZW50LiBTZWUgYmVs
b3cgZm9yIG1vcmUgZGV0YWlsLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2tleWJv
YXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2VsZW1lbnRE
aWRGb2N1czp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJldmlvdXNOb2RlOmNoYW5naW5nQWN0aXZp
dHlTdGF0ZTp1c2VyT2JqZWN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50
RGlkQmx1cl0pOgorCisgICAgICAgIFVwZGF0ZSB0aGUgd2ViIHByb2Nlc3MnIG5vdGlvbiBvZiB3
aGV0aGVyIGFuIGlucHV0IHZpZXcgaXMgc2hvd2luZy4gSW1wb3J0YW50bHksIHRoaXMgYWNjb3Vu
dHMgZm9yIGRlY2lzaW9ucworICAgICAgICBtYWRlIGJ5IF9XS1VJRGVsZWdhdGUuIFNlZSBiZWxv
dyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIChpc0Fzc2lzdGFibGVJbnB1dFR5cGUpOiBE
ZWxldGVkLgorCisgICAgICAgIFJlbW92ZWQgdGhpcyBoZWxwZXIgZnVuY3Rpb247IHRoaXMgd2Fz
IG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UgYXMgYSBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgZm9jdXNl
ZCBlbGVtZW50J3MgdHlwZQorICAgICAgICBpcyBub3Qgbm9uZSwgcmlnaHQgYmVmb3JlIGF0dGVt
cHRpbmcgdG8gc2hvdyBhbiBpbnB1dCB2aWV3LiBJbnN0ZWFkLCB3ZSBjYW4ganVzdCBjaGVjayB0
aGUgZm9jdXNlZCBlbGVtZW50J3MKKyAgICAgICAgdHlwZSBkaXJlY3RseSBhZ2FpbnN0IElucHV0
VHlwZTo6Tm9uZSBpbiB0aGUgaWYgc3RhdGVtZW50IG9mIHRoZSBlYXJseSByZXR1cm4uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudCk6
CisKKyAgICAgICAgQWRkIGEgaG9vayB0byBub3RpZnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gYW4g
aW5wdXQgdmlldyBpcyBzaG93aW5nIG9yIG5vdCAoc2VlIGJlbG93IGZvciBtb3JlIGRldGFpbCku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjplbGVtZW50RGlkUmVmb2N1cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgY29uc3QpOgorCisgICAg
ICAgIEFkZCBhIGhlbHBlciB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBub3RpZnkgdGhlIFVJIHBy
b2Nlc3MgYWJvdXQgYSBuZXdseSBmb2N1c2VkIGVsZW1lbnQuIE9uIG1hY09TLCB0aGlzIGlzIHRy
dWUKKyAgICAgICAgb25seSB3aGVuIHRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IGlzIG5laXRoZXIg
dGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQsIG5vciB0aGUgZm9jdXNlZCBlbGVtZW50IHRo
YXQgd2FzCisgICAgICAgIGp1c3QgYmx1cnJlZC4gT24gaU9TLCB3ZSBoYXZlIGFuIGFkZGl0aW9u
YWwgY29uc3RyYWludCB0aGF0IHdoZW4gdGhlIGlucHV0IHZpZXcgaXMgbm90IHNob3dpbmcsIHdl
IHN0aWxsIG5lZWQgdG8KKyAgICAgICAgbm90aWZ5IHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUg
VUkgcHJvY2VzcyBtaWdodCB3YW50IHRvIGJlZ2luIHNob3dpbmcgdGhlIGtleWJvYXJkIGZvciBh
biBlbGVtZW50IHRoYXQgaGFzCisgICAgICAgIG9ubHkgYmVlbiBwcm9ncmFtbWF0aWNhbGx5IGZv
Y3VzZWQsIGZvciB3aGljaCB3ZSBhcmVuJ3QgY3VycmVudGx5IHNob3dpbmcgdGhlIGlucHV0IHZp
ZXcuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEJsdXIpOgorCisgICAgICAgIFJlcGxhY2Ug
YSBjb3VwbGUgb2YgZXhpc3RpbmcgbWVtYmVyIHZhcmlhYmxlcyBpbiBXZWJQYWdlIHVzZWQgZm9y
IGZvY3VzIG1hbmFnZW1lbnQ6CisgICAgICAgIC0gICBSZXBsYWNlIG1faGFzUGVuZGluZ0JsdXJO
b3RpZmljYXRpb24gd2l0aCBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQsIGEgUmVmUHRyIHRvIHRo
ZSBFbGVtZW50IHRoYXQgaXMgYmVpbmcKKyAgICAgICAgICAgIGJsdXJyZWQuIEJlaGF2aW9yIGhl
cmUgaXMgdGhlIHNhbWUgYXMgYmVmb3JlIChpLmUuIGhhdmluZyBhIHBlbmRpbmcgYmx1ciBub3Rp
ZmljYXRpb24gaXMgZXF1aXZhbGVudCB0bworICAgICAgICAgICAgaGF2aW5nIHJlY2VudGx5IGJs
dXJyZWQgYSBmb2N1c2VkIGVsZW1lbnQpLiBIb3dldmVyLCB0aGlzIGFsbG93cyB1cyB0byBjaGVj
ayBuZXdseSBmb2N1c2VkIGVsZW1lbnRzIGFnYWluc3QKKyAgICAgICAgICAgIHRoZSByZWNlbnRs
eSBibHVycmVkIGVsZW1lbnQgaW4gV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKCkuCisgICAgICAg
IC0gICBSZXBsYWNlIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB3aXRo
IG1faXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQuIFRoZSBmbGFnCisgICAgICAg
ICAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gd2FzIG9yaWdpbmFs
bHkgYWRkZWQgdG8gZml4IDx3ZWJraXQub3JnL2IvMTQ2NzM1PiwgYnkgZW5zdXJpbmcgdGhhdAor
ICAgICAgICAgICAgd2UgZG9uJ3Qgc2VuZCByZWR1bmRhbnQgRWxlbWVudERpZEZvY3VzIChmb3Jt
ZXJseSwgU3RhcnRBc3Npc3RpbmdOb2RlKSBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcyBldmVu
IHdoZW4KKyAgICAgICAgICAgIHRoZSBrZXlib2FyZCBpcyBhbHJlYWR5IHVwLiBJbiB0aGVzZSBz
aW1wbGVyIHRpbWVzLCB1c2VyIGludGVyYWN0aW9uIHdoZW4gZm9jdXNpbmcgYW4gZWxlbWVudCB3
YXMgZXF1aXZhbGVudAorICAgICAgICAgICAgdG8gc2hvd2luZyBhbiBpbnB1dCB2aWV3IGZvciB0
aGUgZm9jdXNlZCBlbGVtZW50LiBIb3dldmVyLCBpbiB0b2RheSdzIHdvcmxkLCB0aGVyZSBhcmUg
YSB2YXJpZXR5IG9mIHJlYXNvbnMKKyAgICAgICAgICAgIHdoeSB3ZSBtaWdodCBvciBtaWdodCBu
b3Qgc2hvdyBhbiBpbnB1dCB2aWV3IGZvciBhIGdpdmVuIGVsZW1lbnQgKGluY2x1ZGluZywgYnV0
IG5vdCBsaW1pdGVkIHRvIGFjdGl2aXR5CisgICAgICAgICAgICBzdGF0ZSBjaGFuZ2VzIGFuZCBk
ZWNpc2lvbnMgbWFkZSBieSBfV0tJbnB1dERlbGVnYXRlKS4gQXMgc3VjaCwgaXQgZG9lc24ndCBt
YWtlIHNlbnNlIHRvIGNvbnRpbnVlIHJlbHlpbmcgb24KKyAgICAgICAgICAgIG1faXNGb2N1c2lu
Z0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiBpbiB0aGlzIGVhcmx5IHJldHVybi4gSW5zdGVh
ZCwgaGF2ZSB0aGUgVUkgcHJvY2VzcyBwcm9wYWdhdGUgYQorICAgICAgICAgICAgbWVzc2FnZSBi
YWNrIHRvIHRoZSB3ZWIgcHJvY2VzcywgdG8gbGV0IGl0IGtub3cgd2hldGhlciB0aGVyZSBpcyBh
IGtleWJvYXJkIHNob3dpbmcsIGFuZCB1c2UgdGhpcyBmbGFnCisgICAgICAgICAgICBpbnN0ZWFk
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KToKKwogMjAxOS0wMy0xMCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29t
ZSBtaXNsZWFkaW5nIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBpbiBXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MzRhNjAzOTVlNzY4NWVlYTgwNDFkYzhiY2IyMjg4YmUwNjlmMDVjOC4uYWQ3M2VjMmI0ZTQyYmMy
M2ZiOGM1MDEwNGM0OWYwYjEyMDEwMGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTExODQsNiArMTE4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc3BlY3Rv
ck5vZGVTZWFyY2hFbmRlZEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwog
CiAgICAgdm9pZCBibHVyRm9jdXNlZEVsZW1lbnQoKTsKKyAgICB2b2lkIHNldElzU2hvd2luZ0lu
cHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KGJvb2wpOwogI2VuZGlmCiAKICAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9i
amVjdCogbWVzc2FnZUJvZHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggODY3Y2M4YWNmOTE0MWRlYWIx
MTEyMDUwOGExZGUzYTFiNjVlNjVhMi4uNDA4NmU4MjQ4YWRiZTc4NzIwOWI3ZWNkODRmOGMzZWU0
N2Q1MmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00NzcxLDQwICs0NzcxLDYgQEAgc3RhdGljIFdl
YkNvcmU6OkZsb2F0UmVjdCByZWN0VG9SZXZlYWxXaGVuWm9vbWluZ1RvRm9jdXNlZEVsZW1lbnQo
Y29uc3QgV2ViS2l0OjoKICAgICByZXR1cm4gc2VsZWN0aW9uQm91bmRpbmdSZWN0OwogfQogCi1z
dGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoV2ViS2l0OjpJbnB1dFR5cGUgdHlwZSkK
LXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpDb250
ZW50RWRpdGFibGU6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGV4dDoKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpQYXNzd29yZDoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBl
OjpUZXh0QXJlYToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWFyY2g6Ci0gICAgY2Fz
ZSBXZWJLaXQ6OklucHV0VHlwZTo6RW1haWw6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6
VVJMOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlBob25lOgotICAgIGNhc2UgV2ViS2l0
OjpJbnB1dFR5cGU6Ok51bWJlcjoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOdW1iZXJQ
YWQ6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6RGF0ZToKLSAgICBjYXNlIFdlYktpdDo6
SW5wdXRUeXBlOjpEYXRlVGltZToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpEYXRlVGlt
ZUxvY2FsOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok1vbnRoOgotICAgIGNhc2UgV2Vi
S2l0OjpJbnB1dFR5cGU6OldlZWs6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGltZToK
LSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWxlY3Q6Ci0gICAgY2FzZSBXZWJLaXQ6Oklu
cHV0VHlwZTo6RHJhd2luZzoKLSNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpDb2xvcjoKLSNlbmRpZgotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmU6Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUZvY3VzZWRFbGVtZW50QXJlYUZvclN1
cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50ID0gNDsKIAogLSAodm9pZClfZWxlbWVudERpZEZv
Y3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mKWluZm9ybWF0aW9u
IHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQcmV2aW91c05v
ZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6KEJPT0wpY2hh
bmdpbmdBY3Rpdml0eVN0YXRlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4g
Kil1c2VyT2JqZWN0CkBAIC00ODg3LDExICs0ODUzLDEyIEBAIC0gKHZvaWQpX2VsZW1lbnREaWRG
b2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJilpbmZvcm1hdGlv
biB1CiAgICAgICAgIFtfZHJhd2luZ0Nvb3JkaW5hdG9yIGluc3RhbGxJbmtQaWNrZXJGb3JEcmF3
aW5nOmluZm9ybWF0aW9uLmVtYmVkZGVkVmlld0lEXTsKICNlbmRpZgogCi0gICAgaWYgKCFzaG91
bGRTaG93SW5wdXRWaWV3KQorICAgIGlmICghc2hvdWxkU2hvd0lucHV0VmlldyB8fCBpbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9PSBXZWJLaXQ6OklucHV0VHlwZTo6Tm9uZSkgeworICAgICAgICBf
cGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQoZmFsc2UpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKCFpc0Fzc2lzdGFibGVJbnB1dFR5cGUoaW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpKQotICAgICAgICByZXR1cm47CisgICAgX3BhZ2UtPnNldElz
U2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KHRydWUpOwogCiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCByZW1vdmUgdGhpcyBjaGVjayB3aGVuIHdlIG1hbmFnZSB0byBzZW5kIEVsZW1l
bnREaWRGb2N1cyBmcm9tIHRoZSBXZWJQcm9jZXNzCiAgICAgLy8gb25seSB3aGVuIGl0IGlzIHRy
dWx5IHRpbWUgdG8gc2hvdyB0aGUga2V5Ym9hcmQuCkBAIC01MDEwLDYgKzQ5NzcsNyBAQCAtICh2
b2lkKV9lbGVtZW50RGlkQmx1cgogICAgICAgICBbX3dlYlZpZXcgX3NjaGVkdWxlVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlXTsKIAogICAgIFtfd2ViVmlldyBkaWRFbmRGb3JtQ29udHJvbEludGVy
YWN0aW9uXTsKKyAgICBfcGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1l
bnQoZmFsc2UpOwogCiAgICAgaWYgKCFfaXNDaGFuZ2luZ0ZvY3VzKSB7CiAgICAgICAgIFtzZWxm
IF9zdG9wU3VwcHJlc3NpbmdTZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246V2ViS2l0OjpGb2N1
c2VkRWxlbWVudElzVHJhbnNwYXJlbnRPckZ1bGx5Q2xpcHBlZF07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA1MDFjNzI3Zjg0YmVjNTIw
ZDIwYjdjYjY1YTY0ZjA3YWI0YzExMmU3Li5kNzkwYjk2ZTliZTk3ODljNGMwYjMyZjQ3ZTMxYjdi
MDJmZTlhYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KQEAgLTg5Myw2ICs4OTMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEdldFRh
cEhpZ2hsaWdodEdlb21ldHJpZXModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3IKICAg
ICBwYWdlQ2xpZW50KCkuZGlkR2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyhyZXF1ZXN0SUQsIGNv
bG9yLCBoaWdobGlnaHRlZFF1YWRzLCB0b3BMZWZ0UmFkaXVzLCB0b3BSaWdodFJhZGl1cywgYm90
dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRpdXMsIG5vZGVIYXNCdWlsdEluQ2xpY2tIYW5k
bGluZyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JG
b2N1c2VkRWxlbWVudChib29sIHNob3dpbmdJbnB1dFZpZXcpCit7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVt
ZW50KHNob3dpbmdJbnB1dFZpZXcpLCBtX3BhZ2VJRCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5
OjplbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3Jt
YXRpb24sIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9v
bCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKIHsKICAg
ICBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxl
bWVudCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDk4MjRiMjJjNmYxMmFhOTY5MzlhNWFjMzVhOWY2OWNkZjQ3OTIyZDkuLjI2MmVj
M2Q4YTE1YWZiYWUwNWM5M2QxYjIwOTg0ZTQ5MDM0YmRmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMTE4LDcgKzMxMTgsNyBAQCB2b2lk
IFdlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24oKQogICAgIGJvb2wgaGFzUHJldmlvdXNs
eUZvY3VzZWREdWVUb1VzZXJJbnRlcmFjdGlvbiA9IG1faGFzRXZlckZvY3VzZWRFbGVtZW50RHVl
VG9Vc2VySW50ZXJhY3Rpb25TaW5jZVBhZ2VUcmFuc2l0aW9uOwogI2VuZGlmCiAgICAgbV9oYXNF
dmVyRm9jdXNlZEVsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvblNpbmNlUGFnZVRyYW5zaXRpb24g
PSBmYWxzZTsKLSAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gPSBm
YWxzZTsKKyAgICBtX2lzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50ID0gZmFsc2U7
CiAgICAgbV9sYXN0RWRpdG9yU3RhdGVXYXNDb250ZW50RWRpdGFibGUgPSBFZGl0b3JTdGF0ZUlz
Q29udGVudEVkaXRhYmxlOjpVbnNldDsKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKGhhc1By
ZXZpb3VzbHlGb2N1c2VkRHVlVG9Vc2VySW50ZXJhY3Rpb24pCkBAIC01MzAyLDE4ICs1MzAyLDMy
IEBAIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZFJlZm9jdXMoV2ViQ29yZTo6RWxlbWVudCYgZWxl
bWVudCkKIHsKICAgICBlbGVtZW50RGlkRm9jdXMoZWxlbWVudCk7CiAKLSAgICBpZiAobV9pc0Zv
Y3VzaW5nRWxlbWVudER1ZVRvVXNlckludGVyYWN0aW9uKQorICAgIGlmIChtX3VzZXJJc0ludGVy
YWN0aW5nKQogICAgICAgICBzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgpOwogfQogCiti
b29sIFdlYlBhZ2U6OnNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQoY29u
c3QgRWxlbWVudCYgZWxlbWVudCkgY29uc3QKK3sKKyAgICBpZiAobV9mb2N1c2VkRWxlbWVudCA9
PSAmZWxlbWVudCB8fCBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQgPT0gJmVsZW1lbnQpIHsKKyNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICByZXR1cm4gIW1faXNTaG93aW5nSW5wdXRW
aWV3Rm9yRm9jdXNlZEVsZW1lbnQ7CisjZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERp
ZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgaWYgKG1fZm9jdXNlZEVs
ZW1lbnQgPT0gJmVsZW1lbnQgJiYgbV9pc0ZvY3VzaW5nRWxlbWVudER1ZVRvVXNlckludGVyYWN0
aW9uKQorICAgIGlmICghc2hvdWxkRGlzcGF0Y2hVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudChl
bGVtZW50KSkgeworICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gJmVsZW1lbnQ7CisgICAgICAg
IG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9IG51bGxwdHI7CiAgICAgICAgIHJldHVybjsKKyAg
ICB9CiAKICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6c2Vs
ZWN0VGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05hbWUoV2ViQ29yZTo6SFRNTE5hbWVzOjppbnB1dFRh
ZykgfHwgZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6dGV4dGFyZWFUYWcp
IHx8IGVsZW1lbnQuaGFzRWRpdGFibGVTdHlsZSgpKSB7CiAgICAgICAgIG1fZm9jdXNlZEVsZW1l
bnQgPSAmZWxlbWVudDsKLSAgICAgICAgbV9pc0ZvY3VzaW5nRWxlbWVudER1ZVRvVXNlckludGVy
YWN0aW9uIHw9IG1fdXNlcklzSW50ZXJhY3Rpbmc7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogCkBAIC01MzI5LDM1ICs1MzQzLDMwIEBAIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEZvY3Vz
KFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCiAKICAgICAgICAgbV9mb3JtQ2xpZW50LT53aWxs
QmVnaW5JbnB1dFNlc3Npb24odGhpcywgJmVsZW1lbnQsIFdlYkZyYW1lOjpmcm9tQ29yZUZyYW1l
KCplbGVtZW50LmRvY3VtZW50KCkuZnJhbWUoKSksIG1fdXNlcklzSW50ZXJhY3RpbmcsIHVzZXJE
YXRhKTsKIAotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkVsZW1lbnREaWRG
b2N1cyhpbmZvcm1hdGlvbiwgbV91c2VySXNJbnRlcmFjdGluZywgbV9oYXNQZW5kaW5nQmx1ck5v
dGlmaWNhdGlvbiwgbV9jaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIFVzZXJEYXRhKFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdl
dCgpKSkpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkVsZW1lbnREaWRG
b2N1cyhpbmZvcm1hdGlvbiwgbV91c2VySXNJbnRlcmFjdGluZywgbV9yZWNlbnRseUJsdXJyZWRF
bGVtZW50LCBtX2NoYW5naW5nQWN0aXZpdHlTdGF0ZSwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkp
KSk7CiAjZWxpZiBQTEFURk9STShNQUMpCi0gICAgICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUo
V2ViQ29yZTo6SFRNTE5hbWVzOjpzZWxlY3RUYWcpKQotICAgICAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpTZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoZmFsc2UpKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRF
ZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQodHJ1ZSkpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBj
YW4gYmUgdW5pZmllZCB3aXRoIHRoZSBpT1MgY29kZSBhYm92ZSBieSBicmluZ2luZyBFbGVtZW50
RGlkRm9jdXMgdG8gbWFjT1MuCisgICAgICAgIC8vIFRoaXMgYWxzbyBkb2Vzbid0IHRha2Ugb3Ro
ZXIgbm9uZWRpdGFibGUgY29udHJvbHMgaW50byBhY2NvdW50LCBzdWNoIGFzIGlucHV0IHR5cGUg
Y29sb3IuCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVF
bGVtZW50SXNGb2N1c2VkKCFlbGVtZW50Lmhhc1RhZ05hbWUoV2ViQ29yZTo6SFRNTE5hbWVzOjpz
ZWxlY3RUYWcpKSk7CiAjZW5kaWYKLSAgICAgICAgbV9oYXNQZW5kaW5nQmx1ck5vdGlmaWNhdGlv
biA9IGZhbHNlOworICAgICAgICBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQgPSBudWxscHRyOwog
ICAgIH0KIH0KIAogdm9pZCBXZWJQYWdlOjplbGVtZW50RGlkQmx1cihXZWJDb3JlOjpFbGVtZW50
JiBlbGVtZW50KQogewogICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50KSB7Ci0g
ICAgICAgIG1faGFzUGVuZGluZ0JsdXJOb3RpZmljYXRpb24gPSB0cnVlOwotICAgICAgICBSZWZQ
dHI8V2ViUGFnZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKLSAgICAgICAgY2FsbE9uTWFpblRocmVh
ZChbcHJvdGVjdGVkVGhpc10gewotICAgICAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPm1faGFz
UGVuZGluZ0JsdXJOb3RpZmljYXRpb24pIHsKKyAgICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVt
ZW50ID0gV1RGTW92ZShtX2ZvY3VzZWRFbGVtZW50KTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVh
ZChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyldIHsKKyAgICAgICAgICAgIGlmIChw
cm90ZWN0ZWRUaGlzLT5tX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQpIHsKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RWxlbWVudERpZEJsdXIoKSk7CiAjZWxpZiBQTEFURk9STShNQUMpCiAg
ICAgICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpTZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoZmFsc2UpKTsKICNlbmRpZgogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9oYXNQZW5kaW5nQmx1ck5vdGlmaWNh
dGlvbiA9IGZhbHNlOworICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9yZWNlbnRseUJsdXJy
ZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfSk7Ci0KLSAgICAgICAgbV9pc0ZvY3VzaW5n
RWxlbWVudER1ZVRvVXNlckludGVyYWN0aW9uID0gZmFsc2U7Ci0gICAgICAgIG1fZm9jdXNlZEVs
ZW1lbnQgPSBudWxscHRyOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IGNkOTU0ZTg3NTNjNzIwODQyYWIzYzY0MDI1NjEyNDcxMzBk
ZTlkZDEuLmNlMTM3OWQyZjUxOWEzZGNjMGE4NjZhMDY2MjNlN2Q4YTNhYzNmMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTY1Miw2ICs2NTIsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb2N1c2VkRWxlbWVudFZhbHVlKGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgc2V0Rm9jdXNlZEVsZW1lbnRWYWx1ZUFzTnVtYmVyKGRvdWJsZSk7CiAgICAg
dm9pZCBzZXRGb2N1c2VkRWxlbWVudFNlbGVjdGVkSW5kZXgodWludDMyX3QgaW5kZXgsIGJvb2wg
YWxsb3dNdWx0aXBsZVNlbGVjdGlvbik7CisgICAgdm9pZCBzZXRJc1Nob3dpbmdJbnB1dFZpZXdG
b3JGb2N1c2VkRWxlbWVudChib29sKTsKICAgICB2b2lkIHVwZGF0ZVNlbGVjdGlvbkFwcGVhcmFu
Y2UoKTsKICAgICB2b2lkIGdldFNlbGVjdGlvbkNvbnRleHQoQ2FsbGJhY2tJRCk7CiAgICAgdm9p
ZCBoYW5kbGVUd29GaW5nZXJUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgT3B0
aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgdWludDY0X3QgcmVxdWVzdElEKTsK
QEAgLTE1MTcsNiArMTUxOCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNhbmNlbEdlc3R1cmVz
QmxvY2tlZE9uU3luY2hyb25vdXNSZXBsaWVzKCk7CiAKKyAgICBib29sIHNob3VsZERpc3BhdGNo
VXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpIGNvbnN0
OworCiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6UGFnZT4gbV9wYWdlOwpAQCAtMTcxNCw3ICsxNzE3LDYgQEAgcHJpdmF0ZToKICAgICBPcHRp
b25hbDxXZWJDb3JlOjpJbnRTaXplPiBtX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM7
CiAKICAgICBib29sIG1fdXNlcklzSW50ZXJhY3RpbmcgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c0ZvY3VzaW5nRWxlbWVudER1ZVRvVXNlckludGVyYWN0aW9uIHsgZmFsc2UgfTsKICAgICBib29s
IG1faGFzRXZlckZvY3VzZWRFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb25TaW5jZVBhZ2VUcmFu
c2l0aW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1fbmVlZHNIaWRkZW5Db250ZW50RWRpdGFibGVR
dWlyayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX25lZWRzUGxhaW5UZXh0UXVpcmsgeyBmYWxzZSB9
OwpAQCAtMTcyNSw3ICsxNzI3LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdl
YkNvcmU6OkVsZW1lbnQ+IG1fZm9jdXNlZEVsZW1lbnQ7Ci0gICAgYm9vbCBtX2hhc1BlbmRpbmdC
bHVyTm90aWZpY2F0aW9uIHsgZmFsc2UgfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4g
bV9yZWNlbnRseUJsdXJyZWRFbGVtZW50OwogICAgIGJvb2wgbV9oYXNQZW5kaW5nRWRpdG9yU3Rh
dGVVcGRhdGUgeyBmYWxzZSB9OwogCiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC0x
NzM2LDYgKzE3MzgsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJDb3JlOjpSYW5nZT4gbV9j
dXJyZW50V29yZFJhbmdlOwogICAgIFJlZlB0cjxXZWJDb3JlOjpOb2RlPiBtX2ludGVyYWN0aW9u
Tm9kZTsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX2xhc3RJbnRlcmFjdGlvbkxvY2F0aW9uOwor
CisgICAgYm9vbCBtX2lzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50IHsgZmFsc2Ug
fTsKICAgICAKICAgICBlbnVtIFNlbGVjdGlvbkFuY2hvciB7IFN0YXJ0LCBFbmQgfTsKICAgICBT
ZWxlY3Rpb25BbmNob3IgbV9zZWxlY3Rpb25BbmNob3IgeyBTdGFydCB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXgg
Y2NlNzcyMjI2YTU5Yjg3NWFhNjA4YjhmMmE3YTAzMGM2ZjA2ZmYyZi4uNzY5ZDg4NTNkM2I5NTk5
NjdkZDBjZDY1NWUxM2UxODU2ZmNlYzMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xMDgsNiArMTA4LDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgQ2FuY2VsQXV0b3Njcm9s
bCgpCiAgICAgUmVxdWVzdEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oV2ViS2l0OjpDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpCiAgICAgSGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWQo
Ym9vbCBrZXlib2FyZElzQXR0YWNoZWQpCisgICAgU2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9j
dXNlZEVsZW1lbnQoYm9vbCBzaG93aW5nSW5wdXRWaWV3KQogI2VuZGlmCiAKICAgICBTZXRDb250
cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZTUwOTg1YWFhZGI5
NjRmZTJmMGY1Y2NjZWMzOWUzNWMzODI4NDUwYy4uOWZlY2JlZDJkODYwNjdhMDYxNGIyOGEwN2Rl
NWZjMzA5NDBjZGY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTkwNiw2ICs5MDYsMTEgQEAgdm9pZCBXZWJQYWdlOjpi
bHVyRm9jdXNlZEVsZW1lbnQoKQogICAgIG1fZm9jdXNlZEVsZW1lbnQtPmJsdXIoKTsKIH0KIAor
dm9pZCBXZWJQYWdlOjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudChib29s
IHNob3dpbmdJbnB1dFZpZXcpCit7CisgICAgbV9pc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2Vk
RWxlbWVudCA9IHNob3dpbmdJbnB1dFZpZXc7Cit9CisKIHZvaWQgV2ViUGFnZTo6c2V0Rm9jdXNl
ZEVsZW1lbnRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIC8vIEZJWE1FOiBzaG91
bGQgYWxzbyBoYW5kbGUgdGhlIGNhc2Ugb2YgSFRNTFNlbGVjdEVsZW1lbnQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGQ4
MjZhZmY2NTljMTNiZGFjZDRiMTg5NmM0NWJkZmE5ZTAzOGUxNC4uMDgzZTQ1ZDljZmI2NGZlYjIw
NzFkN2EzOGZmMTQ1NTE2YTFkOGMwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTAzLTEy
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1Nd
IElucHV0IHZpZXcgc29tZXRpbWVzIGZsaWNrZXJzIHdoZW4gYmx1cnJpbmcgYW5kIHJlZm9jdXNp
bmcgYW4gZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1NjM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODczNTMzNz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IHRvIGVu
c3VyZSB0aGF0IHRoZSBmb3JtIGNvbnRyb2wgaW50ZXJhY3Rpb24gZG9lc24ndCBzdG9wIGFuZCBz
dGFydCBhZ2FpbiB3aGVuIGJsdXJyaW5nIGFuZCBmb2N1c2luZworICAgICAgICBhbiBlZGl0YWJs
ZSBlbGVtZW50LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5
LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50
Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTAzLTEwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gRml4IGZhaWxpbmcgdGVzdCBj
YXNlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3Rh
YmlsaXR5LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIyNGFjMTlmZDAzZTI3MjI0ZWJiN2ZiNTdiMzg4
ZTBlYzJlMjkwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9z
L2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw5IEBACitWZXJpZmllcyB0aGF0IGlucHV0IHZpZXcgc3RhdGUgZG9lc24ndCB0
aHJhc2ggd2hlbiBzY3JpcHQgYmx1cnMgYW5kIGltbWVkaWF0ZWx5IHJlZm9jdXNlcyBhbiBlZGl0
YWJsZSBlbGVtZW50LiBUbyBtYW51YWxseSBydW4gdGhlIHRlc3QsIHRhcCB0aGUgcmVkIGVkaXRh
YmxlIGJveCB0byBmb2N1cyBpdCwgYW5kIHRoZW4gdGFwIHRoZSBib3ggYWdhaW47IGNoZWNrIHRo
YXQgdGhlIGtleWJvYXJkIGFuZCBpbnB1dCBhY2Nlc3NvcnkgdmlldyBkbyBub3QgZmxpY2tlciwg
YW5kIHRoYXQgdGhlIHNjcm9sbCBwb3NpdGlvbiByZW1haW5zIHRoZSBzYW1lLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgcmVzdWx0IGlzICJFbmRlZCIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1yZWZvY3VzaW5n
LWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2tleWJvYXJkLXN0YWJp
bGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1MmM4NzVjNTMx
ZDIxYWQ1ZWRhMDIzMGU1ZWQxMzQyMWViOTIxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1yZWZvY3VzaW5nLWVs
ZW1lbnQuaHRtbApAQCAtMCwwICsxLDEwMyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxtZXRhIG5hbWU9dmlld3BvcnQgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorPHN0eWxlPgorYm9keSwgaHRtbCB7Cisg
ICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgbWFyZ2luOiAwOworfQor
CisjZWRpdG9yIHsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgYm9y
ZGVyOiAycHggcmVkIHNvbGlkOworICAgIGZvbnQtc2l6ZTogNDBweDsKKyAgICB0ZXh0LWFsaWdu
OiBjZW50ZXI7Cit9CisKKyNjb250YWluZXIgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdo
dDogNTRweDsKKyAgICBib3JkZXI6IDJweCBibGFjayBzb2xpZDsKKyAgICBwb3NpdGlvbjogYWJz
b2x1dGU7CisgICAgdG9wOiA1MHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZWRpdG9yIiBjb250ZW50ZWRpdGFibGU+PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIi
PjwvZGl2PgorPHByZSBpZD0iZGVzY3JpcHRpb24iPjwvcHJlPgorPHByZSBpZD0iY29uc29sZSI+
PC9wcmU+Cis8L2JvZHk+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2Ny
aXB0aW9uKCJWZXJpZmllcyB0aGF0IGlucHV0IHZpZXcgc3RhdGUgZG9lc24ndCB0aHJhc2ggd2hl
biBzY3JpcHQgYmx1cnMgYW5kIGltbWVkaWF0ZWx5IHJlZm9jdXNlcyBhbiBlZGl0YWJsZSBlbGVt
ZW50LiBUbyBtYW51YWxseSBydW4gdGhlIHRlc3QsIHRhcCB0aGUgcmVkIGVkaXRhYmxlIGJveCB0
byBmb2N1cyBpdCwgYW5kIHRoZW4gdGFwIHRoZSBib3ggYWdhaW47IGNoZWNrIHRoYXQgdGhlIGtl
eWJvYXJkIGFuZCBpbnB1dCBhY2Nlc3NvcnkgdmlldyBkbyBub3QgZmxpY2tlciwgYW5kIHRoYXQg
dGhlIHNjcm9sbCBwb3NpdGlvbiByZW1haW5zIHRoZSBzYW1lLiIpOworCitjb250YWluZXIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIik7CitlZGl0b3IgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZWRpdG9yIik7CitlZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vk
b3duIiwgZXZlbnQgPT4geworICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlZGl0
b3IpCisgICAgICAgIHJldHVybjsKKworICAgIGVkaXRvci5yZW1vdmUoKTsKKyAgICBjb250YWlu
ZXIuYXBwZW5kQ2hpbGQoZWRpdG9yKTsKKyAgICBlZGl0b3IuZm9jdXMoKTsKKyAgICBldmVudC5w
cmV2ZW50RGVmYXVsdCgpOworfSk7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAo
KSA9PiB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uQXQoMTYwLCA0
MCk7CisgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCisgICAgICAgIGxldCBzdGFydGVkRm9y
bUNvbnRyb2xJbnRlcmFjdGlvbiA9IGZhbHNlOworICAgICAgICBsZXQgZW5kZWRGb3JtQ29udHJv
bEludGVyYWN0aW9uID0gZmFsc2U7CisKKyAgICAgICAgZnVuY3Rpb24gc2NoZWR1bGVVSVNjcmlw
dENvbXBsZXRpb24oKSB7CisgICAgICAgICAgICBpZiAoc3RhcnRlZEZvcm1Db250cm9sSW50ZXJh
Y3Rpb24gfHwgZW5kZWRGb3JtQ29udHJvbEludGVyYWN0aW9uKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICAgICAgdWlDb250cm9sbGVyLmRvQXN5bmNUYXNrKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlkU3RhcnRGb3JtQ29udHJvbEludGVyYWN0aW9u
Q2FsbGJhY2sgPSBudWxsOworICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kaWRFbmRGb3Jt
Q29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2sgPSBudWxsOworCisgICAgICAgICAgICAgICAgbGV0
IHJlc3VsdCA9IG51bGw7CisgICAgICAgICAgICAgICAgaWYgKHN0YXJ0ZWRGb3JtQ29udHJvbElu
dGVyYWN0aW9uICYmIGVuZGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbikKKyAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gIlN0YXJ0ZWQsIEVuZGVkIjsKKyAgICAgICAgICAgICAgICBlbHNlIGlm
IChzdGFydGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbikKKyAgICAgICAgICAgICAgICAgICAgcmVz
dWx0ID0gIlN0YXJ0ZWQiOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVuZGVkRm9ybUNvbnRy
b2xJbnRlcmFjdGlvbikKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gIkVuZGVkIjsKKwor
ICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKHJlc3VsdCk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQorCisgICAgICAgIHVpQ29udHJvbGxlci5kaWRTdGFy
dEZvcm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9ICgpID0+IHsKKyAgICAgICAgICAgIHNj
aGVkdWxlVUlTY3JpcHRDb21wbGV0aW9uKCk7CisgICAgICAgICAgICBzdGFydGVkRm9ybUNvbnRy
b2xJbnRlcmFjdGlvbiA9IHRydWU7CisgICAgICAgIH07CisKKyAgICAgICAgdWlDb250cm9sbGVy
LmRpZEVuZEZvcm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9ICgpID0+IHsKKyAgICAgICAg
ICAgIHNjaGVkdWxlVUlTY3JpcHRDb21wbGV0aW9uKCk7CisgICAgICAgICAgICBlbmRlZEZvcm1D
b250cm9sSW50ZXJhY3Rpb24gPSB0cnVlOworICAgICAgICB9OworCisgICAgICAgIHVpQ29udHJv
bGxlci5zaW5nbGVUYXBBdFBvaW50KDE2MCwgNDAsICgpID0+IHVpQ29udHJvbGxlci5yZXNpZ25G
aXJzdFJlc3BvbmRlcigpKTsKKyAgICBgLCBjaGVja1Jlc3VsdEFuZEZpbmlzaFRlc3QpOworfSk7
CisKK2Z1bmN0aW9uIGNoZWNrUmVzdWx0QW5kRmluaXNoVGVzdChyZXN1bHQpIHsKKyAgICB3aW5k
b3cucmVzdWx0ID0gcmVzdWx0OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0Iiwg
IkVuZGVkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364446</attachid>
            <date>2019-03-12 14:25:08 -0700</date>
            <delta_ts>2019-03-12 16:52:02 -0700</delta_ts>
            <desc>Fix WPE/GTK</desc>
            <filename>bug-195639-20190312142507.patch</filename>
            <type>text/plain</type>
            <size>23326</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdiNTZhNmExZWE3MmM2MTZl
Y2I4MmFhNWQzY2ViM2YxODYyMDg2NDIuLmQyNDY3Y2Q3MGVjYWJhMmYyZjUwOTRhOGYyNjdhN2Y1
NDU0Y2MwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAKKzIwMTktMDMtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSW5wdXQgdmll
dyBzb21ldGltZXMgZmxpY2tlcnMgd2hlbiBibHVycmluZyBhbmQgcmVmb2N1c2luZyBhbiBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2
MzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NzM1MzM3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywgaWYgYSBmb2N1c2VkIGVsZW1l
bnQgaXMgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1c2VkIGluIHRoZSBzY29wZSBvZiB1
c2VyIGludGVyYWN0aW9uLCB3ZSB3aWxsIGVuZAorICAgICAgICB1cCByZWxvYWRpbmcgaW50ZXJh
Y3Rpb24gc3RhdGUgKGlucHV0IHZpZXdzLCBhdXRvY29ycmVjdGlvbiBjb250ZXh0cywgZXRjLikg
aW4gdGhlIFVJIHByb2Nlc3MuIE9uIGNlcnRhaW4gd2VsbC0KKyAgICAgICAgdHJhZmZpY2tlZCB3
ZWJzaXRlcywgdGhpcyByZXN1bHRzIGluIHRoZSBpbnB1dCB2aWV3IGFuZCBpbnB1dCBhY2Nlc3Nv
cnkgdmlldyBmbGlja2VyaW5nIChvciBtb3JlIGVncmVnaW91c2x5LAorICAgICAgICBzY3JvbGxp
bmcgdG8gcmUtcmV2ZWFsIHRoZSBmb2N1c2VkIGVsZW1lbnQpIHdoZW4gY2hhbmdpbmcgc2VsZWN0
aW9uLgorCisgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUsIHRoaXMgcGF0Y2ggcmVmYWN0b3JzIHNv
bWUgZm9jdXMgbWFuYWdlbWVudCBsb2dpYyB0byBzdXBwcmVzcyBzZW5kaW5nIGZvY3VzZWQgZWxl
bWVudCB1cGRhdGVzCisgICAgICAgIHRvIHRoZSBVSSBwcm9jZXNzIGluIHRoZSBjYXNlIHdoZXJl
IHRoZSBzYW1lIGVsZW1lbnQgaXMgYmVpbmcgYmx1cnJlZCBhbmQgaW1tZWRpYXRlbHkgcmVmb2N1
c2VkLiBUbyBkbyB0aGlzLCB3ZQorICAgICAgICB0cmFjayB0aGUgbW9zdCByZWNlbnRseSBibHVy
cmVkIGVsZW1lbnQgYW5kIGJhaWwgd2hlbiB0aGUgcmVjZW50bHkgYmx1cnJlZCBlbGVtZW50IGlz
IGlkZW50aWNhbCB0byB0aGUgbmV3bHkKKyAgICAgICAgZm9jdXNlZCBlbGVtZW50LiBTZWUgYmVs
b3cgZm9yIG1vcmUgZGV0YWlsLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2tleWJv
YXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2VsZW1lbnRE
aWRGb2N1czp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJldmlvdXNOb2RlOmNoYW5naW5nQWN0aXZp
dHlTdGF0ZTp1c2VyT2JqZWN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50
RGlkQmx1cl0pOgorCisgICAgICAgIFVwZGF0ZSB0aGUgd2ViIHByb2Nlc3MnIG5vdGlvbiBvZiB3
aGV0aGVyIGFuIGlucHV0IHZpZXcgaXMgc2hvd2luZy4gSW1wb3J0YW50bHksIHRoaXMgYWNjb3Vu
dHMgZm9yIGRlY2lzaW9ucworICAgICAgICBtYWRlIGJ5IF9XS1VJRGVsZWdhdGUuIFNlZSBiZWxv
dyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIChpc0Fzc2lzdGFibGVJbnB1dFR5cGUpOiBE
ZWxldGVkLgorCisgICAgICAgIFJlbW92ZWQgdGhpcyBoZWxwZXIgZnVuY3Rpb247IHRoaXMgd2Fz
IG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UgYXMgYSBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgZm9jdXNl
ZCBlbGVtZW50J3MgdHlwZQorICAgICAgICBpcyBub3Qgbm9uZSwgcmlnaHQgYmVmb3JlIGF0dGVt
cHRpbmcgdG8gc2hvdyBhbiBpbnB1dCB2aWV3LiBJbnN0ZWFkLCB3ZSBjYW4ganVzdCBjaGVjayB0
aGUgZm9jdXNlZCBlbGVtZW50J3MKKyAgICAgICAgdHlwZSBkaXJlY3RseSBhZ2FpbnN0IElucHV0
VHlwZTo6Tm9uZSBpbiB0aGUgaWYgc3RhdGVtZW50IG9mIHRoZSBlYXJseSByZXR1cm4uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudCk6
CisKKyAgICAgICAgQWRkIGEgaG9vayB0byBub3RpZnkgdGhlIHdlYiBwcm9jZXNzIHdoZW4gYW4g
aW5wdXQgdmlldyBpcyBzaG93aW5nIG9yIG5vdCAoc2VlIGJlbG93IGZvciBtb3JlIGRldGFpbCku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjplbGVtZW50RGlkUmVmb2N1cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgY29uc3QpOgorCisgICAg
ICAgIEFkZCBhIGhlbHBlciB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBub3RpZnkgdGhlIFVJIHBy
b2Nlc3MgYWJvdXQgYSBuZXdseSBmb2N1c2VkIGVsZW1lbnQuIE9uIG1hY09TLCB0aGlzIGlzIHRy
dWUKKyAgICAgICAgb25seSB3aGVuIHRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IGlzIG5laXRoZXIg
dGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQsIG5vciB0aGUgZm9jdXNlZCBlbGVtZW50IHRo
YXQgd2FzCisgICAgICAgIGp1c3QgYmx1cnJlZC4gT24gaU9TLCB3ZSBoYXZlIGFuIGFkZGl0aW9u
YWwgY29uc3RyYWludCB0aGF0IHdoZW4gdGhlIGlucHV0IHZpZXcgaXMgbm90IHNob3dpbmcsIHdl
IHN0aWxsIG5lZWQgdG8KKyAgICAgICAgbm90aWZ5IHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUg
VUkgcHJvY2VzcyBtaWdodCB3YW50IHRvIGJlZ2luIHNob3dpbmcgdGhlIGtleWJvYXJkIGZvciBh
biBlbGVtZW50IHRoYXQgaGFzCisgICAgICAgIG9ubHkgYmVlbiBwcm9ncmFtbWF0aWNhbGx5IGZv
Y3VzZWQsIGZvciB3aGljaCB3ZSBhcmVuJ3QgY3VycmVudGx5IHNob3dpbmcgdGhlIGlucHV0IHZp
ZXcuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEJsdXIpOgorCisgICAgICAgIFJlcGxhY2Ug
YSBjb3VwbGUgb2YgZXhpc3RpbmcgbWVtYmVyIHZhcmlhYmxlcyBpbiBXZWJQYWdlIHVzZWQgZm9y
IGZvY3VzIG1hbmFnZW1lbnQ6CisgICAgICAgIC0gICBSZXBsYWNlIG1faGFzUGVuZGluZ0JsdXJO
b3RpZmljYXRpb24gd2l0aCBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQsIGEgUmVmUHRyIHRvIHRo
ZSBFbGVtZW50IHRoYXQgaXMgYmVpbmcKKyAgICAgICAgICAgIGJsdXJyZWQuIEJlaGF2aW9yIGhl
cmUgaXMgdGhlIHNhbWUgYXMgYmVmb3JlIChpLmUuIGhhdmluZyBhIHBlbmRpbmcgYmx1ciBub3Rp
ZmljYXRpb24gaXMgZXF1aXZhbGVudCB0bworICAgICAgICAgICAgaGF2aW5nIHJlY2VudGx5IGJs
dXJyZWQgYSBmb2N1c2VkIGVsZW1lbnQpLiBIb3dldmVyLCB0aGlzIGFsbG93cyB1cyB0byBjaGVj
ayBuZXdseSBmb2N1c2VkIGVsZW1lbnRzIGFnYWluc3QKKyAgICAgICAgICAgIHRoZSByZWNlbnRs
eSBibHVycmVkIGVsZW1lbnQgaW4gV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKCkuCisgICAgICAg
IC0gICBSZXBsYWNlIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB3aXRo
IG1faXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQuIFRoZSBmbGFnCisgICAgICAg
ICAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gd2FzIG9yaWdpbmFs
bHkgYWRkZWQgdG8gZml4IDx3ZWJraXQub3JnL2IvMTQ2NzM1PiwgYnkgZW5zdXJpbmcgdGhhdAor
ICAgICAgICAgICAgd2UgZG9uJ3Qgc2VuZCByZWR1bmRhbnQgRWxlbWVudERpZEZvY3VzIChmb3Jt
ZXJseSwgU3RhcnRBc3Npc3RpbmdOb2RlKSBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcyBldmVu
IHdoZW4KKyAgICAgICAgICAgIHRoZSBrZXlib2FyZCBpcyBhbHJlYWR5IHVwLiBJbiB0aGVzZSBz
aW1wbGVyIHRpbWVzLCB1c2VyIGludGVyYWN0aW9uIHdoZW4gZm9jdXNpbmcgYW4gZWxlbWVudCB3
YXMgZXF1aXZhbGVudAorICAgICAgICAgICAgdG8gc2hvd2luZyBhbiBpbnB1dCB2aWV3IGZvciB0
aGUgZm9jdXNlZCBlbGVtZW50LiBIb3dldmVyLCBpbiB0b2RheSdzIHdvcmxkLCB0aGVyZSBhcmUg
YSB2YXJpZXR5IG9mIHJlYXNvbnMKKyAgICAgICAgICAgIHdoeSB3ZSBtaWdodCBvciBtaWdodCBu
b3Qgc2hvdyBhbiBpbnB1dCB2aWV3IGZvciBhIGdpdmVuIGVsZW1lbnQgKGluY2x1ZGluZywgYnV0
IG5vdCBsaW1pdGVkIHRvIGFjdGl2aXR5CisgICAgICAgICAgICBzdGF0ZSBjaGFuZ2VzIGFuZCBk
ZWNpc2lvbnMgbWFkZSBieSBfV0tJbnB1dERlbGVnYXRlKS4gQXMgc3VjaCwgaXQgZG9lc24ndCBt
YWtlIHNlbnNlIHRvIGNvbnRpbnVlIHJlbHlpbmcgb24KKyAgICAgICAgICAgIG1faXNGb2N1c2lu
Z0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiBpbiB0aGlzIGVhcmx5IHJldHVybi4gSW5zdGVh
ZCwgaGF2ZSB0aGUgVUkgcHJvY2VzcyBwcm9wYWdhdGUgYQorICAgICAgICAgICAgbWVzc2FnZSBi
YWNrIHRvIHRoZSB3ZWIgcHJvY2VzcywgdG8gbGV0IGl0IGtub3cgd2hldGhlciB0aGVyZSBpcyBh
IGtleWJvYXJkIHNob3dpbmcsIGFuZCB1c2UgdGhpcyBmbGFnCisgICAgICAgICAgICBpbnN0ZWFk
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KToKKwogMjAxOS0wMy0xMCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29t
ZSBtaXNsZWFkaW5nIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBpbiBXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MzRhNjAzOTVlNzY4NWVlYTgwNDFkYzhiY2IyMjg4YmUwNjlmMDVjOC4uYWQ3M2VjMmI0ZTQyYmMy
M2ZiOGM1MDEwNGM0OWYwYjEyMDEwMGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTExODQsNiArMTE4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc3BlY3Rv
ck5vZGVTZWFyY2hFbmRlZEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwog
CiAgICAgdm9pZCBibHVyRm9jdXNlZEVsZW1lbnQoKTsKKyAgICB2b2lkIHNldElzU2hvd2luZ0lu
cHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KGJvb2wpOwogI2VuZGlmCiAKICAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9i
amVjdCogbWVzc2FnZUJvZHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggODY3Y2M4YWNmOTE0MWRlYWIx
MTEyMDUwOGExZGUzYTFiNjVlNjVhMi4uNDA4NmU4MjQ4YWRiZTc4NzIwOWI3ZWNkODRmOGMzZWU0
N2Q1MmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00NzcxLDQwICs0NzcxLDYgQEAgc3RhdGljIFdl
YkNvcmU6OkZsb2F0UmVjdCByZWN0VG9SZXZlYWxXaGVuWm9vbWluZ1RvRm9jdXNlZEVsZW1lbnQo
Y29uc3QgV2ViS2l0OjoKICAgICByZXR1cm4gc2VsZWN0aW9uQm91bmRpbmdSZWN0OwogfQogCi1z
dGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoV2ViS2l0OjpJbnB1dFR5cGUgdHlwZSkK
LXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpDb250
ZW50RWRpdGFibGU6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGV4dDoKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpQYXNzd29yZDoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBl
OjpUZXh0QXJlYToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWFyY2g6Ci0gICAgY2Fz
ZSBXZWJLaXQ6OklucHV0VHlwZTo6RW1haWw6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6
VVJMOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlBob25lOgotICAgIGNhc2UgV2ViS2l0
OjpJbnB1dFR5cGU6Ok51bWJlcjoKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOdW1iZXJQ
YWQ6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6RGF0ZToKLSAgICBjYXNlIFdlYktpdDo6
SW5wdXRUeXBlOjpEYXRlVGltZToKLSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpEYXRlVGlt
ZUxvY2FsOgotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok1vbnRoOgotICAgIGNhc2UgV2Vi
S2l0OjpJbnB1dFR5cGU6OldlZWs6Ci0gICAgY2FzZSBXZWJLaXQ6OklucHV0VHlwZTo6VGltZToK
LSAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpTZWxlY3Q6Ci0gICAgY2FzZSBXZWJLaXQ6Oklu
cHV0VHlwZTo6RHJhd2luZzoKLSNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKLSAgICBjYXNl
IFdlYktpdDo6SW5wdXRUeXBlOjpDb2xvcjoKLSNlbmRpZgotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmU6Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUZvY3VzZWRFbGVtZW50QXJlYUZvclN1
cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50ID0gNDsKIAogLSAodm9pZClfZWxlbWVudERpZEZv
Y3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mKWluZm9ybWF0aW9u
IHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQcmV2aW91c05v
ZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6KEJPT0wpY2hh
bmdpbmdBY3Rpdml0eVN0YXRlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4g
Kil1c2VyT2JqZWN0CkBAIC00ODg3LDExICs0ODUzLDEyIEBAIC0gKHZvaWQpX2VsZW1lbnREaWRG
b2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJilpbmZvcm1hdGlv
biB1CiAgICAgICAgIFtfZHJhd2luZ0Nvb3JkaW5hdG9yIGluc3RhbGxJbmtQaWNrZXJGb3JEcmF3
aW5nOmluZm9ybWF0aW9uLmVtYmVkZGVkVmlld0lEXTsKICNlbmRpZgogCi0gICAgaWYgKCFzaG91
bGRTaG93SW5wdXRWaWV3KQorICAgIGlmICghc2hvdWxkU2hvd0lucHV0VmlldyB8fCBpbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9PSBXZWJLaXQ6OklucHV0VHlwZTo6Tm9uZSkgeworICAgICAgICBf
cGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQoZmFsc2UpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKCFpc0Fzc2lzdGFibGVJbnB1dFR5cGUoaW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpKQotICAgICAgICByZXR1cm47CisgICAgX3BhZ2UtPnNldElz
U2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KHRydWUpOwogCiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCByZW1vdmUgdGhpcyBjaGVjayB3aGVuIHdlIG1hbmFnZSB0byBzZW5kIEVsZW1l
bnREaWRGb2N1cyBmcm9tIHRoZSBXZWJQcm9jZXNzCiAgICAgLy8gb25seSB3aGVuIGl0IGlzIHRy
dWx5IHRpbWUgdG8gc2hvdyB0aGUga2V5Ym9hcmQuCkBAIC01MDEwLDYgKzQ5NzcsNyBAQCAtICh2
b2lkKV9lbGVtZW50RGlkQmx1cgogICAgICAgICBbX3dlYlZpZXcgX3NjaGVkdWxlVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlXTsKIAogICAgIFtfd2ViVmlldyBkaWRFbmRGb3JtQ29udHJvbEludGVy
YWN0aW9uXTsKKyAgICBfcGFnZS0+c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1l
bnQoZmFsc2UpOwogCiAgICAgaWYgKCFfaXNDaGFuZ2luZ0ZvY3VzKSB7CiAgICAgICAgIFtzZWxm
IF9zdG9wU3VwcHJlc3NpbmdTZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246V2ViS2l0OjpGb2N1
c2VkRWxlbWVudElzVHJhbnNwYXJlbnRPckZ1bGx5Q2xpcHBlZF07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA1MDFjNzI3Zjg0YmVjNTIw
ZDIwYjdjYjY1YTY0ZjA3YWI0YzExMmU3Li5kNzkwYjk2ZTliZTk3ODljNGMwYjMyZjQ3ZTMxYjdi
MDJmZTlhYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KQEAgLTg5Myw2ICs4OTMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEdldFRh
cEhpZ2hsaWdodEdlb21ldHJpZXModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3IKICAg
ICBwYWdlQ2xpZW50KCkuZGlkR2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyhyZXF1ZXN0SUQsIGNv
bG9yLCBoaWdobGlnaHRlZFF1YWRzLCB0b3BMZWZ0UmFkaXVzLCB0b3BSaWdodFJhZGl1cywgYm90
dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRpdXMsIG5vZGVIYXNCdWlsdEluQ2xpY2tIYW5k
bGluZyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JG
b2N1c2VkRWxlbWVudChib29sIHNob3dpbmdJbnB1dFZpZXcpCit7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVt
ZW50KHNob3dpbmdJbnB1dFZpZXcpLCBtX3BhZ2VJRCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5
OjplbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3Jt
YXRpb24sIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9v
bCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKIHsKICAg
ICBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxl
bWVudCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDk4MjRiMjJjNmYxMmFhOTY5MzlhNWFjMzVhOWY2OWNkZjQ3OTIyZDkuLmU0Y2Vi
Nzk2NmIxYTAzZGNkYzE1ZTYwZjA1MmY0ZDQ2MmM5MDQ5NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMTE4LDcgKzMxMTgsNiBAQCB2b2lk
IFdlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRyYW5zaXRpb24oKQogICAgIGJvb2wgaGFzUHJldmlvdXNs
eUZvY3VzZWREdWVUb1VzZXJJbnRlcmFjdGlvbiA9IG1faGFzRXZlckZvY3VzZWRFbGVtZW50RHVl
VG9Vc2VySW50ZXJhY3Rpb25TaW5jZVBhZ2VUcmFuc2l0aW9uOwogI2VuZGlmCiAgICAgbV9oYXNF
dmVyRm9jdXNlZEVsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvblNpbmNlUGFnZVRyYW5zaXRpb24g
PSBmYWxzZTsKLSAgICBtX2lzRm9jdXNpbmdFbGVtZW50RHVlVG9Vc2VySW50ZXJhY3Rpb24gPSBm
YWxzZTsKICAgICBtX2xhc3RFZGl0b3JTdGF0ZVdhc0NvbnRlbnRFZGl0YWJsZSA9IEVkaXRvclN0
YXRlSXNDb250ZW50RWRpdGFibGU6OlVuc2V0OwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAo
aGFzUHJldmlvdXNseUZvY3VzZWREdWVUb1VzZXJJbnRlcmFjdGlvbikKQEAgLTMxMzIsNiArMzEz
MSw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkU3RhcnRQYWdlVHJhbnNpdGlvbigpCiAgICAgICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0TmVlZHNQbGFpblRleHRRdWlyayhtX25lZWRz
UGxhaW5UZXh0UXVpcmspKTsKICAgICB9CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorICAgIG1faXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQgPSBmYWxzZTsKKyNl
bmRpZgogfQogCiB2b2lkIFdlYlBhZ2U6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oKQpAQCAt
NTMwMiwxOCArNTMwNCwzMiBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRSZWZvY3VzKFdlYkNv
cmU6OkVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgZWxlbWVudERpZEZvY3VzKGVsZW1lbnQpOwog
Ci0gICAgaWYgKG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbikKKyAgICBp
ZiAobV91c2VySXNJbnRlcmFjdGluZykKICAgICAgICAgc2NoZWR1bGVGdWxsRWRpdG9yU3RhdGVV
cGRhdGUoKTsKIH0KIAorYm9vbCBXZWJQYWdlOjpzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVyRm9j
dXNpbmdFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYgKG1f
Zm9jdXNlZEVsZW1lbnQgPT0gJmVsZW1lbnQgfHwgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID09
ICZlbGVtZW50KSB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAgICAgcmV0dXJuICFt
X2lzU2hvd2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50OworI2Vsc2UKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIFdl
YlBhZ2U6OmVsZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogewotICAg
IGlmIChtX2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50ICYmIG1faXNGb2N1c2luZ0VsZW1lbnRE
dWVUb1VzZXJJbnRlcmFjdGlvbikKKyAgICBpZiAoIXNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJG
b2N1c2luZ0VsZW1lbnQoZWxlbWVudCkpIHsKKyAgICAgICAgbV9mb2N1c2VkRWxlbWVudCA9ICZl
bGVtZW50OworICAgICAgICBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQgPSBudWxscHRyOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCiAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShXZWJDb3Jl
OjpIVE1MTmFtZXM6OnNlbGVjdFRhZykgfHwgZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhU
TUxOYW1lczo6aW5wdXRUYWcpIHx8IGVsZW1lbnQuaGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OnRleHRhcmVhVGFnKSB8fCBlbGVtZW50Lmhhc0VkaXRhYmxlU3R5bGUoKSkgewogICAgICAg
ICBtX2ZvY3VzZWRFbGVtZW50ID0gJmVsZW1lbnQ7Ci0gICAgICAgIG1faXNGb2N1c2luZ0VsZW1l
bnREdWVUb1VzZXJJbnRlcmFjdGlvbiB8PSBtX3VzZXJJc0ludGVyYWN0aW5nOwogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKIApAQCAtNTMyOSwzNSArNTM0NSwzMCBAQCB2b2lkIFdlYlBhZ2U6
OmVsZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogCiAgICAgICAgIG1f
Zm9ybUNsaWVudC0+d2lsbEJlZ2luSW5wdXRTZXNzaW9uKHRoaXMsICZlbGVtZW50LCBXZWJGcmFt
ZTo6ZnJvbUNvcmVGcmFtZSgqZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpLCBtX3VzZXJJc0lu
dGVyYWN0aW5nLCB1c2VyRGF0YSk7CiAKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpFbGVtZW50RGlkRm9jdXMoaW5mb3JtYXRpb24sIG1fdXNlcklzSW50ZXJhY3RpbmcsIG1f
aGFzUGVuZGluZ0JsdXJOb3RpZmljYXRpb24sIG1fY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCBVc2Vy
RGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVz
ZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpFbGVtZW50RGlkRm9jdXMoaW5mb3JtYXRpb24sIG1fdXNlcklzSW50ZXJhY3RpbmcsIG1f
cmVjZW50bHlCbHVycmVkRWxlbWVudCwgbV9jaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIFVzZXJEYXRh
KFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRh
dGEuZ2V0KCkpLmdldCgpKSkpOwogI2VsaWYgUExBVEZPUk0oTUFDKQotICAgICAgICBpZiAoZWxl
bWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6c2VsZWN0VGFnKSkKLSAgICAgICAg
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVtZW50SXNGb2N1
c2VkKGZhbHNlKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKHRydWUpKTsKKyAgICAgICAg
Ly8gRklYTUU6IFRoaXMgY2FuIGJlIHVuaWZpZWQgd2l0aCB0aGUgaU9TIGNvZGUgYWJvdmUgYnkg
YnJpbmdpbmcgRWxlbWVudERpZEZvY3VzIHRvIG1hY09TLgorICAgICAgICAvLyBUaGlzIGFsc28g
ZG9lc24ndCB0YWtlIG90aGVyIG5vbmVkaXRhYmxlIGNvbnRyb2xzIGludG8gYWNjb3VudCwgc3Vj
aCBhcyBpbnB1dCB0eXBlIGNvbG9yLgorICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OlNldEVkaXRhYmxlRWxlbWVudElzRm9jdXNlZCghZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNv
cmU6OkhUTUxOYW1lczo6c2VsZWN0VGFnKSkpOwogI2VuZGlmCi0gICAgICAgIG1faGFzUGVuZGlu
Z0JsdXJOb3RpZmljYXRpb24gPSBmYWxzZTsKKyAgICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVt
ZW50ID0gbnVsbHB0cjsKICAgICB9CiB9CiAKIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEJsdXIo
V2ViQ29yZTo6RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBpZiAobV9mb2N1c2VkRWxlbWVudCA9
PSAmZWxlbWVudCkgewotICAgICAgICBtX2hhc1BlbmRpbmdCbHVyTm90aWZpY2F0aW9uID0gdHJ1
ZTsKLSAgICAgICAgUmVmUHRyPFdlYlBhZ2U+IHByb3RlY3RlZFRoaXModGhpcyk7Ci0gICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXNdIHsKLSAgICAgICAgICAgIGlmIChwcm90
ZWN0ZWRUaGlzLT5tX2hhc1BlbmRpbmdCbHVyTm90aWZpY2F0aW9uKSB7CisgICAgICAgIG1fcmVj
ZW50bHlCbHVycmVkRWxlbWVudCA9IFdURk1vdmUobV9mb2N1c2VkRWxlbWVudCk7CisgICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpXSB7Cisg
ICAgICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+bV9yZWNlbnRseUJsdXJyZWRFbGVtZW50KSB7
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkVsZW1lbnREaWRCbHVyKCkpOwogI2VsaWYg
UExBVEZPUk0oTUFDKQogICAgICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKGZhbHNlKSk7CiAj
ZW5kaWYKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPm1faGFzUGVu
ZGluZ0JsdXJOb3RpZmljYXRpb24gPSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMt
Pm1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9IG51bGxwdHI7CiAgICAgICAgIH0pOwotCi0gICAg
ICAgIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwotICAg
ICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBjZDk1NGU4NzUzYzcyMDg0MmFi
M2M2NDAyNTYxMjQ3MTMwZGU5ZGQxLi5jZTEzNzlkMmY1MTlhM2RjYzBhODY2YTA2NjIzZTdkOGEz
YWMzZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBA
IC02NTIsNiArNjUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9jdXNlZEVsZW1lbnRWYWx1
ZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEZvY3VzZWRFbGVtZW50VmFsdWVBc051bWJl
cihkb3VibGUpOwogICAgIHZvaWQgc2V0Rm9jdXNlZEVsZW1lbnRTZWxlY3RlZEluZGV4KHVpbnQz
Ml90IGluZGV4LCBib29sIGFsbG93TXVsdGlwbGVTZWxlY3Rpb24pOworICAgIHZvaWQgc2V0SXNT
aG93aW5nSW5wdXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQoYm9vbCk7CiAgICAgdm9pZCB1cGRhdGVT
ZWxlY3Rpb25BcHBlYXJhbmNlKCk7CiAgICAgdm9pZCBnZXRTZWxlY3Rpb25Db250ZXh0KENhbGxi
YWNrSUQpOwogICAgIHZvaWQgaGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludChjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYsIE9wdGlvblNldDxXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmllcj4sIHVpbnQ2
NF90IHJlcXVlc3RJRCk7CkBAIC0xNTE3LDYgKzE1MTgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBjYW5jZWxHZXN0dXJlc0Jsb2NrZWRPblN5bmNocm9ub3VzUmVwbGllcygpOwogCisgICAgYm9v
bCBzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50KGNvbnN0IFdlYkNvcmU6
OkVsZW1lbnQmKSBjb25zdDsKKwogICAgIHVpbnQ2NF90IG1fcGFnZUlEOwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFnZTsKQEAgLTE3MTQsNyArMTcxNyw2IEBAIHBy
aXZhdGU6CiAgICAgT3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4gbV92aWV3cG9ydFNpemVGb3JD
U1NWaWV3cG9ydFVuaXRzOwogCiAgICAgYm9vbCBtX3VzZXJJc0ludGVyYWN0aW5nIHsgZmFsc2Ug
fTsKLSAgICBib29sIG1faXNGb2N1c2luZ0VsZW1lbnREdWVUb1VzZXJJbnRlcmFjdGlvbiB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2hhc0V2ZXJGb2N1c2VkRWxlbWVudER1ZVRvVXNlckludGVyYWN0
aW9uU2luY2VQYWdlVHJhbnNpdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX25lZWRzSGlkZGVu
Q29udGVudEVkaXRhYmxlUXVpcmsgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9uZWVkc1BsYWluVGV4
dFF1aXJrIHsgZmFsc2UgfTsKQEAgLTE3MjUsNyArMTcyNyw3IEBAIHByaXZhdGU6CiAjZW5kaWYK
IAogICAgIFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50OwotICAgIGJv
b2wgbV9oYXNQZW5kaW5nQmx1ck5vdGlmaWNhdGlvbiB7IGZhbHNlIH07CisgICAgUmVmUHRyPFdl
YkNvcmU6OkVsZW1lbnQ+IG1fcmVjZW50bHlCbHVycmVkRWxlbWVudDsKICAgICBib29sIG1faGFz
UGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShJT1NfVE9V
Q0hfRVZFTlRTKQpAQCAtMTczNiw2ICsxNzM4LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2Vi
Q29yZTo6UmFuZ2U+IG1fY3VycmVudFdvcmRSYW5nZTsKICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9k
ZT4gbV9pbnRlcmFjdGlvbk5vZGU7CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9sYXN0SW50ZXJh
Y3Rpb25Mb2NhdGlvbjsKKworICAgIGJvb2wgbV9pc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2Vk
RWxlbWVudCB7IGZhbHNlIH07CiAgICAgCiAgICAgZW51bSBTZWxlY3Rpb25BbmNob3IgeyBTdGFy
dCwgRW5kIH07CiAgICAgU2VsZWN0aW9uQW5jaG9yIG1fc2VsZWN0aW9uQW5jaG9yIHsgU3RhcnQg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCmluZGV4IGNjZTc3MjIyNmE1OWI4NzVhYTYwOGI4ZjJhN2EwMzBjNmYwNmZmMmYu
Ljc2OWQ4ODUzZDNiOTU5OTY3ZGQwY2Q2NTVlMTNlMTg1NmZjZWMzMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAt
MTA4LDYgKzEwOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAg
IENhbmNlbEF1dG9zY3JvbGwoKQogICAgIFJlcXVlc3RGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIEhhcmR3YXJlS2V5Ym9hcmRBdmFp
bGFiaWxpdHlDaGFuZ2VkKGJvb2wga2V5Ym9hcmRJc0F0dGFjaGVkKQorICAgIFNldElzU2hvd2lu
Z0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KGJvb2wgc2hvd2luZ0lucHV0VmlldykKICNlbmRp
ZgogCiAgICAgU2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihib29sIGNvbnRyb2xsZWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmlu
ZGV4IGU1MDk4NWFhYWRiOTY0ZmUyZjBmNWNjY2VjMzllMzVjMzgyODQ1MGMuLjlmZWNiZWQyZDg2
MDY3YTA2MTRiMjhhMDdkZTVmYzMwOTQwY2RmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC05MDYsNiArOTA2LDExIEBA
IHZvaWQgV2ViUGFnZTo6Ymx1ckZvY3VzZWRFbGVtZW50KCkKICAgICBtX2ZvY3VzZWRFbGVtZW50
LT5ibHVyKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6c2V0SXNTaG93aW5nSW5wdXRWaWV3Rm9yRm9j
dXNlZEVsZW1lbnQoYm9vbCBzaG93aW5nSW5wdXRWaWV3KQoreworICAgIG1faXNTaG93aW5nSW5w
dXRWaWV3Rm9yRm9jdXNlZEVsZW1lbnQgPSBzaG93aW5nSW5wdXRWaWV3OworfQorCiB2b2lkIFdl
YlBhZ2U6OnNldEZvY3VzZWRFbGVtZW50VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAg
ICAvLyBGSVhNRTogc2hvdWxkIGFsc28gaGFuZGxlIHRoZSBjYXNlIG9mIEhUTUxTZWxlY3RFbGVt
ZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDBkODI2YWZmNjU5YzEzYmRhY2Q0YjE4OTZjNDViZGZhOWUwMzhlMTQuLjA4
M2U0NWQ5Y2ZiNjRmZWIyMDcxZDdhMzhmZjE0NTUxNmExZDhjMGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxOS0wMy0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBbaU9TXSBJbnB1dCB2aWV3IHNvbWV0aW1lcyBmbGlja2VycyB3aGVuIGJsdXJy
aW5nIGFuZCByZWZvY3VzaW5nIGFuIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3
MzUzMzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgdGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgZm9ybSBjb250cm9sIGludGVyYWN0aW9uIGRv
ZXNuJ3Qgc3RvcCBhbmQgc3RhcnQgYWdhaW4gd2hlbiBibHVycmluZyBhbmQgZm9jdXNpbmcKKyAg
ICAgICAgYW4gZWRpdGFibGUgZWxlbWVudC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2tl
eWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJl
Zm9jdXNpbmctZWxlbWVudC5odG1sOiBBZGRlZC4KKwogMjAxOS0wMy0xMCAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIEZp
eCBmYWlsaW5nIHRlc3QgY2FzZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW9zL2tleWJvYXJkLXN0YWJpbGl0eS13aGVuLXJlZm9jdXNpbmctZWxlbWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1y
ZWZvY3VzaW5nLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMjRhYzE5ZmQwM2Uy
NzIyNGViYjdmYjU3YjM4OGUwZWMyZTI5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2lvcy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1yZWZvY3VzaW5nLWVsZW1l
bnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVmVyaWZpZXMgdGhhdCBpbnB1dCB2aWV3
IHN0YXRlIGRvZXNuJ3QgdGhyYXNoIHdoZW4gc2NyaXB0IGJsdXJzIGFuZCBpbW1lZGlhdGVseSBy
ZWZvY3VzZXMgYW4gZWRpdGFibGUgZWxlbWVudC4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0
YXAgdGhlIHJlZCBlZGl0YWJsZSBib3ggdG8gZm9jdXMgaXQsIGFuZCB0aGVuIHRhcCB0aGUgYm94
IGFnYWluOyBjaGVjayB0aGF0IHRoZSBrZXlib2FyZCBhbmQgaW5wdXQgYWNjZXNzb3J5IHZpZXcg
ZG8gbm90IGZsaWNrZXIsIGFuZCB0aGF0IHRoZSBzY3JvbGwgcG9zaXRpb24gcmVtYWlucyB0aGUg
c2FtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHJlc3VsdCBpcyAiRW5k
ZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5
LXdoZW4tcmVmb2N1c2luZy1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9rZXlib2FyZC1zdGFiaWxpdHktd2hlbi1yZWZvY3VzaW5nLWVsZW1lbnQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mNTJjODc1YzUzMWQyMWFkNWVkYTAyMzBlNWVkMTM0MjFlYjkyMTY4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mva2V5Ym9hcmQtc3RhYmlsaXR5LXdo
ZW4tcmVmb2N1c2luZy1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxMDMgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxzdHlsZT4K
K2JvZHksIGh0bWwgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwMHB4OworICAg
IG1hcmdpbjogMDsKK30KKworI2VkaXRvciB7CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0
OiA1MHB4OworICAgIGJvcmRlcjogMnB4IHJlZCBzb2xpZDsKKyAgICBmb250LXNpemU6IDQwcHg7
CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworfQorCisjY29udGFpbmVyIHsKKyAgICB3aWR0aDog
MTAwJTsKKyAgICBoZWlnaHQ6IDU0cHg7CisgICAgYm9yZGVyOiAycHggYmxhY2sgc29saWQ7Cisg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogNTBweDsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImVkaXRvciIgY29udGVudGVkaXRhYmxlPjwvZGl2PgorPGRp
diBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxwcmUgaWQ9ImRlc2NyaXB0aW9uIj48L3ByZT4KKzxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCitkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBpbnB1dCB2aWV3IHN0YXRlIGRv
ZXNuJ3QgdGhyYXNoIHdoZW4gc2NyaXB0IGJsdXJzIGFuZCBpbW1lZGlhdGVseSByZWZvY3VzZXMg
YW4gZWRpdGFibGUgZWxlbWVudC4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhlIHJl
ZCBlZGl0YWJsZSBib3ggdG8gZm9jdXMgaXQsIGFuZCB0aGVuIHRhcCB0aGUgYm94IGFnYWluOyBj
aGVjayB0aGF0IHRoZSBrZXlib2FyZCBhbmQgaW5wdXQgYWNjZXNzb3J5IHZpZXcgZG8gbm90IGZs
aWNrZXIsIGFuZCB0aGF0IHRoZSBzY3JvbGwgcG9zaXRpb24gcmVtYWlucyB0aGUgc2FtZS4iKTsK
KworY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOworZWRp
dG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXRvciIpOworZWRpdG9yLmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlZG93biIsIGV2ZW50ID0+IHsKKyAgICBpZiAoZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCAhPT0gZWRpdG9yKQorICAgICAgICByZXR1cm47CisKKyAgICBlZGl0b3IucmVtb3Zl
KCk7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVkaXRvcik7CisgICAgZWRpdG9yLmZvY3Vz
KCk7CisgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKK30pOworCithZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlQW5kV2FpdEZvcklucHV0
U2Vzc2lvbkF0KDE2MCwgNDApOworICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAorICAgICAg
ICBsZXQgc3RhcnRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgbGV0
IGVuZGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbiA9IGZhbHNlOworCisgICAgICAgIGZ1bmN0aW9u
IHNjaGVkdWxlVUlTY3JpcHRDb21wbGV0aW9uKCkgeworICAgICAgICAgICAgaWYgKHN0YXJ0ZWRG
b3JtQ29udHJvbEludGVyYWN0aW9uIHx8IGVuZGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbikKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci5kb0FzeW5j
VGFzaygoKSA9PiB7CisgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmRpZFN0YXJ0Rm9ybUNv
bnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0gbnVsbDsKKyAgICAgICAgICAgICAgICB1aUNvbnRy
b2xsZXIuZGlkRW5kRm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0gbnVsbDsKKworICAg
ICAgICAgICAgICAgIGxldCByZXN1bHQgPSBudWxsOworICAgICAgICAgICAgICAgIGlmIChzdGFy
dGVkRm9ybUNvbnRyb2xJbnRlcmFjdGlvbiAmJiBlbmRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24p
CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICJTdGFydGVkLCBFbmRlZCI7CisgICAgICAg
ICAgICAgICAgZWxzZSBpZiAoc3RhcnRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24pCisgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdCA9ICJTdGFydGVkIjsKKyAgICAgICAgICAgICAgICBlbHNlIGlm
IChlbmRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24pCisgICAgICAgICAgICAgICAgICAgIHJlc3Vs
dCA9ICJFbmRlZCI7CisKKyAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21w
bGV0ZShyZXN1bHQpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICB1aUNv
bnRyb2xsZXIuZGlkU3RhcnRGb3JtQ29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2sgPSAoKSA9PiB7
CisgICAgICAgICAgICBzY2hlZHVsZVVJU2NyaXB0Q29tcGxldGlvbigpOworICAgICAgICAgICAg
c3RhcnRlZEZvcm1Db250cm9sSW50ZXJhY3Rpb24gPSB0cnVlOworICAgICAgICB9OworCisgICAg
ICAgIHVpQ29udHJvbGxlci5kaWRFbmRGb3JtQ29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2sgPSAo
KSA9PiB7CisgICAgICAgICAgICBzY2hlZHVsZVVJU2NyaXB0Q29tcGxldGlvbigpOworICAgICAg
ICAgICAgZW5kZWRGb3JtQ29udHJvbEludGVyYWN0aW9uID0gdHJ1ZTsKKyAgICAgICAgfTsKKwor
ICAgICAgICB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgxNjAsIDQwLCAoKSA9PiB1aUNv
bnRyb2xsZXIucmVzaWduRmlyc3RSZXNwb25kZXIoKSk7CisgICAgYCwgY2hlY2tSZXN1bHRBbmRG
aW5pc2hUZXN0KTsKK30pOworCitmdW5jdGlvbiBjaGVja1Jlc3VsdEFuZEZpbmlzaFRlc3QocmVz
dWx0KSB7CisgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInJlc3VsdCIsICJFbmRlZCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3Jp
cHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>