<?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>134537</bug_id>
          
          <creation_ts>2014-07-01 23:19:17 -0700</creation_ts>
          <short_desc>Remove some code only needed for versions of Safari that are no longer supported</short_desc>
          <delta_ts>2014-07-02 10:34:00 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1019910</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-01 23:19:17 -0700</bug_when>
    <thetext>Remove some code only needed for versions of Safari that are no longer supported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019911</commentid>
    <comment_count>1</comment_count>
      <attachid>234241</attachid>
    <who name="">mitz</who>
    <bug_when>2014-07-01 23:20:19 -0700</bug_when>
    <thetext>Created attachment 234241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019983</commentid>
    <comment_count>2</comment_count>
      <attachid>234269</attachid>
    <who name="">mitz</who>
    <bug_when>2014-07-02 09:40:35 -0700</bug_when>
    <thetext>Created attachment 234269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019995</commentid>
    <comment_count>3</comment_count>
      <attachid>234269</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-02 10:33:58 -0700</bug_when>
    <thetext>Comment on attachment 234269
Patch

Clearing flags on attachment: 234269

Committed r170710: &lt;http://trac.webkit.org/changeset/170710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019996</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-02 10:34:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234241</attachid>
            <date>2014-07-01 23:20:19 -0700</date>
            <delta_ts>2014-07-02 09:16:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134537-20140701231959.patch</filename>
            <type>text/plain</type>
            <size>21848</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzA2OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgY29kZSBvbmx5IG5lZWRlZCBmb3Ig
dmVyc2lvbnMgb2YgU2FmYXJpIHRoYXQgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDUzNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0Fzc2VydGlvbnMu
Y3BwOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisKIDIwMTQtMDctMDEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2UgZHlu
YW1pYyBtZW1vcnkgYWxsb2NhdGlvbiBpbiBjc3Mgaml0LgpJbmRleDogU291cmNlL1dURi93dGYv
QXNzZXJ0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5j
cHAJKHJldmlzaW9uIDE3MDY5NSkKKysrIFNvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAsMTAgKzMyMCw2IEBAIHZvaWQgV1RGU2V0Q3Jhc2hIb29rKFdU
RkNyYXNoSG9va0Z1bmN0aW8KICAgICBnbG9iYWxIb29rID0gZnVuY3Rpb247CiB9CiAKLXZvaWQg
V1RGSW52b2tlQ3Jhc2hIb29rKCkKLXsKLX0KLQogdm9pZCBXVEZDcmFzaCgpCiB7CiAgICAgaWYg
KGdsb2JhbEhvb2spCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCShyZXZpc2lvbiAxNzA2OTUpCisrKyBT
b3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw4ICsxNDUs
NiBAQCB0eXBlZGVmIHZvaWQgKCpXVEZDcmFzaEhvb2tGdW5jdGlvbikoKTsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlNldENyYXNoSG9vayhXVEZDcmFzaEhvb2tGdW5jdGlvbik7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZJbnN0YWxsUmVwb3J0QmFja3RyYWNlT25DcmFzaEhvb2so
KTsKIAotLy8gRXhpc3QgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgU2FmYXJp
LiBEbyBub3QgdXNlLgotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGSW52b2tlQ3Jhc2hIb29r
KCk7CiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMTcwNjk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTQtMDctMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgc29tZSBjb2RlIG9ubHkgbmVlZGVkIGZvciB2ZXJzaW9ucyBv
ZiBTYWZhcmkgdGhhdCBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NTM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUwubW06
CisgICAgICAgICgtW0RPTUhUTUxJbnB1dEVsZW1lbnQgX3JlY3RPblNjcmVlbl0pOiBEZWxldGVk
LgorICAgICAgICAoLVtET01IVE1MSW5wdXRFbGVtZW50IF9yZXBsYWNlQ2hhcmFjdGVyc0luUmFu
Z2U6d2l0aFN0cmluZzpzZWxlY3RpbmdGcm9tSW5kZXg6XSk6IERlbGV0ZWQuCisgICAgICAgICgt
W0RPTUhUTUxJbnB1dEVsZW1lbnQgX3NlbGVjdGVkUmFuZ2VdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFuZE1hcCk6CisKIDIwMTQt
MDctMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBbV2luNjRdIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTC5tbQkocmV2aXNpb24gMTcwNjk1KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUsNyArMTc1
LDYgQEAgLSAoRE9NRG9jdW1lbnRGcmFnbWVudCAqKV9jcmVhdGVEb2N1bWVudAogCiBAZW5kCiAK
LQogQGltcGxlbWVudGF0aW9uIERPTUhUTUxJbnB1dEVsZW1lbnQgKEZvcm1BdXRvRmlsbFRyYW5z
aXRpb24pCiAKIC0gKEJPT0wpX2lzVGV4dEZpZWxkCkBAIC0xODMsNDYgKzE4Miw3IEBAIC0gKEJP
T0wpX2lzVGV4dEZpZWxkCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmlzVGV4dEZpZWxkKCk7CiB9
CiAKLSNpZiAhUExBVEZPUk0oSU9TKQotLSAoTlNSZWN0KV9yZWN0T25TY3JlZW4KLXsKLSAgICAv
LyBSZXR1cm5zIGJvdW5kaW5nIHJlY3Qgb2YgdGV4dCBmaWVsZCwgaW4gc2NyZWVuIGNvb3JkaW5h
dGVzLgotICAgIE5TUmVjdCByZXN1bHQgPSBbc2VsZiBib3VuZGluZ0JveF07Ci0gICAgaWYgKCFj
b3JlKHNlbGYpLT5kb2N1bWVudCgpLnZpZXcoKSkKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLQot
ICAgIE5TVmlldyogdmlldyA9IGNvcmUoc2VsZiktPmRvY3VtZW50KCkudmlldygpLT5kb2N1bWVu
dFZpZXcoKTsKLSAgICByZXN1bHQgPSBbdmlldyBjb252ZXJ0UmVjdDpyZXN1bHQgdG9WaWV3Om5p
bF07Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCi0gICAgcmVzdWx0Lm9yaWdp
biA9IFtbdmlldyB3aW5kb3ddIGNvbnZlcnRCYXNlVG9TY3JlZW46cmVzdWx0Lm9yaWdpbl07Ci0j
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRp
ZgotCi0tICh2b2lkKV9yZXBsYWNlQ2hhcmFjdGVyc0luUmFuZ2U6KE5TUmFuZ2UpdGFyZ2V0UmFu
Z2Ugd2l0aFN0cmluZzooTlNTdHJpbmcgKilyZXBsYWNlbWVudFN0cmluZyBzZWxlY3RpbmdGcm9t
SW5kZXg6KGludClpbmRleAotewotICAgIFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqIGlucHV0
RWxlbWVudCA9IGNvcmUoc2VsZik7Ci0gICAgaWYgKGlucHV0RWxlbWVudCkgewotICAgICAgICBX
VEY6OlN0cmluZyBuZXdWYWx1ZSA9IGlucHV0RWxlbWVudC0+dmFsdWUoKTsKLSAgICAgICAgbmV3
VmFsdWUucmVwbGFjZSh0YXJnZXRSYW5nZS5sb2NhdGlvbiwgdGFyZ2V0UmFuZ2UubGVuZ3RoLCBy
ZXBsYWNlbWVudFN0cmluZyk7Ci0gICAgICAgIGlucHV0RWxlbWVudC0+c2V0VmFsdWUobmV3VmFs
dWUpOwotICAgICAgICBpbnB1dEVsZW1lbnQtPnNldFNlbGVjdGlvblJhbmdlKGluZGV4LCBuZXdW
YWx1ZS5sZW5ndGgoKSk7Ci0gICAgfQotfQotCi0tIChOU1JhbmdlKV9zZWxlY3RlZFJhbmdlCi17
Ci0gICAgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gY29yZShzZWxm
KTsKLSAgICBpZiAoaW5wdXRFbGVtZW50KSB7Ci0gICAgICAgIGludCBzdGFydCA9IGlucHV0RWxl
bWVudC0+c2VsZWN0aW9uU3RhcnQoKTsKLSAgICAgICAgaW50IGVuZCA9IGlucHV0RWxlbWVudC0+
c2VsZWN0aW9uRW5kKCk7Ci0gICAgICAgIHJldHVybiBOU01ha2VSYW5nZShzdGFydCwgZW5kIC0g
c3RhcnQpOyAKLSAgICB9Ci0gICAgcmV0dXJuIE5TTWFrZVJhbmdlKE5TTm90Rm91bmQsIDApOwot
fQotCisjaWYgUExBVEZPUk0oSU9TKQogLSAoQk9PTClfaXNBdXRvZmlsbGVkCiB7CiAgICAgcmV0
dXJuIGNvcmUoc2VsZiktPmlzQXV0b2ZpbGxlZCgpOwpAQCAtMjM1LDkgKzE5NSwxMiBAQCAtICh2
b2lkKV9zZXRBdXRvZmlsbGVkOihCT09MKWZpbGxlZAogICAgIC8vIGNoYW5nZXMgdGhlIGJhY2tn
cm91bmQgY29sb3IuCiAgICAgY29yZShzZWxmKS0+c2V0QXV0b2ZpbGxlZChmaWxsZWQpOwogfQor
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogQGVuZAogCisjaWYgUExBVEZPUk0oSU9TKQorCiBA
aW1wbGVtZW50YXRpb24gRE9NSFRNTFNlbGVjdEVsZW1lbnQgKEZvcm1BdXRvRmlsbFRyYW5zaXRp
b24pCiAKIC0gKHZvaWQpX2FjdGl2YXRlSXRlbUF0SW5kZXg6KGludClpbmRleApAQCAtMjc2LDcg
KzIzOSw2IEBAIC0gKEJPT0wpX2lzRWRpdGVkCiAKIEBlbmQKIAotI2lmIFBMQVRGT1JNKElPUykK
IEBpbXBsZW1lbnRhdGlvbiBET01IVE1MSW5wdXRFbGVtZW50IChBdXRvY2FwaXRhbGl6ZUFkZGl0
aW9ucykKIAogLSAoV2ViQXV0b2NhcGl0YWxpemVUeXBlKV9hdXRvY2FwaXRhbGl6ZVR5cGUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCShyZXZpc2lvbiAx
NzA2OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAwLDE2ICsxMDAsMTQgQEAgQGludGVyZmFjZSBET01IVE1MVGFibGVD
ZWxsRWxlbWVudCAoV2ViUAogLy8gRWFjaCBvbmUgc2hvdWxkIGV2ZW50dWFsbHkgYmUgcmVwbGFj
ZWQgYnkgcHVibGljIERPTSBBUEksIGFuZCB3aGVuIHRoYXQgaGFwcGVucyBTYWZhcmkgd2lsbCBz
d2l0Y2ggdG8gaW1wbGVtZW50YXRpb25zIAogLy8gdXNpbmcgdGhhdCBwdWJsaWMgQVBJLCBhbmQg
dGhlc2Ugd2lsbCBiZSBkZWxldGVkLgogQGludGVyZmFjZSBET01IVE1MSW5wdXRFbGVtZW50IChG
b3JtQXV0b0ZpbGxUcmFuc2l0aW9uKQotLSAoQk9PTClfaXNBdXRvZmlsbGVkOwogLSAoQk9PTClf
aXNUZXh0RmllbGQ7Ci0jaWYgIVRBUkdFVF9PU19JUEhPTkUKLS0gKE5TUmVjdClfcmVjdE9uU2Ny
ZWVuOyAvLyBib3VuZGluZyBib3ggb2YgdGhlIHRleHQgZmllbGQsIGluIHNjcmVlbiBjb29yZGlu
YXRlcwotI2VuZGlmCi0tICh2b2lkKV9yZXBsYWNlQ2hhcmFjdGVyc0luUmFuZ2U6KE5TUmFuZ2Up
dGFyZ2V0UmFuZ2Ugd2l0aFN0cmluZzooTlNTdHJpbmcgKilyZXBsYWNlbWVudFN0cmluZyBzZWxl
Y3RpbmdGcm9tSW5kZXg6KGludClpbmRleDsKLS0gKE5TUmFuZ2UpX3NlbGVjdGVkUmFuZ2U7Cisj
aWYgVEFSR0VUX09TX0lQSE9ORQorLSAoQk9PTClfaXNBdXRvZmlsbGVkOwogLSAodm9pZClfc2V0
QXV0b2ZpbGxlZDooQk9PTClmaWxsZWQ7CisjZW5kaWYKIEBlbmQKIAorI2lmIFRBUkdFVF9PU19J
UEhPTkUKIC8vIFRoZXNlIGNoYW5nZXMgYXJlIG5lY2Vzc2FyeSB0byBkZXRlY3Qgd2hldGhlciBh
IGZvcm0gaW5wdXQgd2FzIG1vZGlmaWVkIGJ5IGEgdXNlcgogLy8gb3IgamF2YXNjcmlwdAogQGlu
dGVyZmFjZSBET01IVE1MSW5wdXRFbGVtZW50IChGb3JtUHJvbXB0QWRkaXRpb25zKQpAQCAtMTI5
LDcgKzEyNyw2IEBAIEBpbnRlcmZhY2UgRE9NSFRNTFNlbGVjdEVsZW1lbnQgKEZvcm1BdXQKIC0g
KHZvaWQpX2FjdGl2YXRlSXRlbUF0SW5kZXg6KGludClpbmRleCBhbGxvd011bHRpcGxlU2VsZWN0
aW9uOihCT09MKWFsbG93TXVsdGlwbGVTZWxlY3Rpb247CiBAZW5kCiAKLSNpZiBUQVJHRVRfT1Nf
SVBIT05FCiBlbnVtIHsgV2ViTWVkaWFRdWVyeU9yaWVudGF0aW9uQ3VycmVudCwgV2ViTWVkaWFR
dWVyeU9yaWVudGF0aW9uUG9ydHJhaXQsIFdlYk1lZGlhUXVlcnlPcmllbnRhdGlvbkxhbmRzY2Fw
ZSB9OwogQGludGVyZmFjZSBET01IVE1MTGlua0VsZW1lbnQgKFdlYlByaXZhdGUpCiAtIChCT09M
KV9tZWRpYVF1ZXJ5TWF0Y2hlc0Zvck9yaWVudGF0aW9uOihpbnQpb3JpZW50YXRpb247CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDE3MDY5
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0OTEsNyArMTQ5MSw2IEBAIHN0YXRpYyBjb25zdCBDb21tYW5kTWFwJiBjcmVh
dGVDb21tYW5kTWEKICAgICAgICAgeyAiQWxpZ25MZWZ0IiwgeyBleGVjdXRlSnVzdGlmeUxlZnQs
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRl
eHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiQWxpZ25SaWdodCIsIHsgZXhlY3V0
ZUp1c3RpZnlSaWdodCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJblJp
Y2hseUVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJCYWNrQ29s
b3IiLCB7IGV4ZWN1dGVCYWNrQ29sb3IsIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRpdGFi
bGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlQmFja0NvbG9yLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05v
dEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiQmFja3dhcmREZWxl
dGUiLCB7IGV4ZWN1dGVEZWxldGVCYWNrd2FyZCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRp
bmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJ
bnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LCAvLyBGSVhNRTog
cmVtb3ZlIEJhY2t3YXJkRGVsZXRlIHdoZW4gU2FmYXJpIGZvciBXaW5kb3dzIHN0b3BzIHVzaW5n
IGl0LgogICAgICAgICB7ICJCb2xkIiwgeyBleGVjdXRlVG9nZ2xlQm9sZCwgc3VwcG9ydGVkLCBl
bmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlQm9sZCwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAg
eyAiQ29weSIsIHsgZXhlY3V0ZUNvcHksIHN1cHBvcnRlZENvcHlDdXQsIGVuYWJsZWRDb3B5LCBz
dGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJDcmVhdGVMaW5rIiwgeyBleGVjdXRlQ3JlYXRlTGlu
aywgc3VwcG9ydGVkLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDY5OCkKKysrIFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE0
LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IHNvbWUgY29kZSBvbmx5IG5lZWRlZCBmb3IgdmVyc2lvbnMgb2YgU2FmYXJpIHRoYXQgYXJlIG5v
IGxvbmdlciBzdXBwb3J0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNDUzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbToKKyAgICAgICAgKiBNaXNjL1dl
YktpdFZlcnNpb25DaGVja3MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTZWN1cml0
eU9yaWdpbi5tbToKKyAgICAgICAgKC1bV2ViU2VjdXJpdHlPcmlnaW4gZG9tYWluXSk6IERlbGV0
ZWQuCisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbToKKyAgICAgICAgKC1b
V2ViSW5zcGVjdG9yIHNob3dUaW1lbGluZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKCtbV2ViSW5z
cGVjdG9yIHdlYkluc3BlY3Rvcl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Ig
c2V0V2ViRnJhbWU6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYkluc3BlY3RvciB3aW5kb3dd
KTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIHNob3dXaW5kb3c6XSk6IERlbGV0
ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJhbWUg
cmVsb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQREZWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJQREZWaWV3IG1lbnVGb3JFdmVudDpdKToKKyAgICAgICAgKC1bV2ViUERGVmlldyBfYW55UERG
VGFnc0ZvdW5kSW5NZW51Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfaW5pdFdpdGhGcmFtZTpmcmFtZU5hbWU6Z3JvdXBOYW1l
Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAg
ICgtW1dlYlZpZXcgaW5pdFdpdGhGcmFtZTpmcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAg
ICAoLVtXZWJWaWV3IF9pbml0V2l0aEZyYW1lOmZyYW1lTmFtZTpncm91cE5hbWU6dXNlc0RvY3Vt
ZW50Vmlld3M6XSk6IERlbGV0ZWQuCisgICAgICAgICgrW1dlYlZpZXcgX3NldEFsd2F5c1VzZUFU
U1U6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYlZpZXcgX25lZWRzVW5yZXN0cmljdGVkR2V0
TWF0Y2hlZENTU1J1bGVzXSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJp
dmF0ZS5oOgorCiAyMDE0LTA3LTAxICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIFdlYkNocm9tZUNsaWVudCBjb2RlIHRoYXQgd2FzIG9ubHkgbmVlZGVk
IGZvciBTYWZhcmkgdmVyc2lvbnMgZWFybGllciB0aGFuIDMuMQpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCShyZXZpc2lvbiAxNzA2OTUpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC01NDcsMTEgKzU0Nyw2IEBAIC0gKE5TQXJyYXkgKiljaGlsZHJlbgogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS0gKHZvaWQpc2V0QWx3YXlzQXR0ZW1wdFRvVXNlUGFnZUNhY2hlOihCT09M
KWZsYWcKLXsKLSAgICAvLyBTYWZhcmkgMi4wIHVzZXMgdGhpcyBmb3IgU25hcEJhY2ssIHNvIHdl
IHN0dWIgaXQgb3V0IHRvIGF2b2lkIGEgY3Jhc2guCi19Ci0KIC0gKE5TVVJMICopVVJMCiB7CiAg
ICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
YktpdFZlcnNpb25DaGVja3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYktpdFZlcnNpb25DaGVja3MuaAkocmV2aXNpb24gMTcwNjk1KQorKysgU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDE0
ICs0OSwxMiBAQAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0lFX0NPTVBBVElC
TEVfS0VZQk9BUkRfRVZFTlRfRElTUEFUQ0ggMHgwMjBEMDEwMCAvLyA1MjUuMS4wCiAjZGVmaW5l
IFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1Bf
TU9ERVMgMHgwMjBFMDAwMCAvLyA1MjYuMC4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9O
X1dJVEhfTU9SRV9TVFJJQ1RfTE9DQUxfUkVTT1VSQ0VfU0VDVVJJVFlfUkVTVFJJQ1RJT04gMHgw
MjEwMDIwMCAvLyA1MjguMi4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfUkVM
T0FEX0ZST01fT1JJR0lOIDB4MDIxMDA3MDAgLy8gNTI4LjcuMAogI2RlZmluZSBXRUJLSVRfRklS
U1RfVkVSU0lPTl9XSVRIT1VUX1dFQlZJRVdfSU5JVF9USFJFQURfV09SS0FST1VORCAweDAyMTAw
NzAwIC8vIDUyOC43LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ST1VORF9U
V09fTUFJTl9USFJFQURfRVhDRVBUSU9OUyAweDAyMTIwNDAwIC8vIDUzMC40LjAKICNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9CVU1QRVJDQVJfQkFDS19GT1JXQVJEX1FVSVJL
IDB4MDIxMjA3MDAgLy8gNTMwLjcuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRI
T1VUX0NPTlRFTlRfU05JRkZJTkdfRk9SX0ZJTEVfVVJMUyAweDAyMTIwQTAwIC8vIDUzMC4xMC4w
CiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTElOS19FTEVNRU5UX1RFWFRf
Q1NTX1FVSVJLIDB4MDIxMzAyMDAgLy8gNTMxLjIuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVS
U0lPTl9XSVRIX0hUTUw1X1BBUlNFUiAweDAyMTYwOTAwIC8vIDUzNC45LjAKLSNkZWZpbmUgV0VC
S0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9HRVRfTUFUQ0hFRF9DU1NfUlVMRVNfUkVTVFJJQ1RJT05T
IDB4MDIxNjBCMDAgLy8gNTM0LjExLjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lU
SF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkgMHgwMjE3MEQwMCAvLyA1
MzUuMTMuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNL
R1JPVU5EU0laRV9TSE9SVEhBTkRfQkVIQVZJT1IgMHgwMjE5MDEwMCAvLyA1MzcuMS4wCiAjZWxz
ZQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmln
aW4ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
U2VjdXJpdHlPcmlnaW4ubW0JKHJldmlzaW9uIDE3MDY5NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03
OCwxMiArNzgsNiBAQCAtIChOU1N0cmluZyAqKXN0cmluZ1ZhbHVlCiAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8U2VjdXJpdHlPcmlnaW4qPihfcHJpdmF0ZSktPnRvU3RyaW5nKCk7CiB9CiAK
LS8vIERlcHJlY2F0ZWQuIFVzZSBob3N0IGluc3RlYWQuIFRoaXMgbmVlZHMgdG8gc3RheSBoZXJl
IHVudGlsIHdlIHNoaXAgYSBuZXcgU2FmYXJpLgotLSAoTlNTdHJpbmcgKilkb21haW4KLXsKLSAg
ICByZXR1cm4gW3NlbGYgaG9zdF07Ci19Ci0KIC0gKHVuc2lnbmVkIHNob3J0KXBvcnQKIHsKICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxTZWN1cml0eU9yaWdpbio+KF9wcml2YXRlKS0+cG9y
dCgpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVj
dG9yLm1tCShyZXZpc2lvbiAxNzA2OTUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0
b3IvV2ViSW5zcGVjdG9yLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MCwxMSArODAsNiBAQCAtICh2
b2lkKXNob3dDb25zb2xlOihpZClzZW5kZXIKICAgICBbX2Zyb250ZW5kIHNob3dDb25zb2xlXTsK
IH0KIAotLSAodm9pZClzaG93VGltZWxpbmU6KGlkKXNlbmRlcgotewotICAgIC8vIE5vdCB1c2Vk
IGFueW1vcmUuIFJlbW92ZSB3aGVuIGEgcmVsZWFzZSBvZiBTYWZhcmkgbm9uLWxvbmdlciBjYWxs
cyB0aGlzLgotfQotCiAtIChCT09MKWlzRGVidWdnaW5nSmF2YVNjcmlwdAogewogICAgIHJldHVy
biBfZnJvbnRlbmQgJiYgW19mcm9udGVuZCBpc0RlYnVnZ2luZ0VuYWJsZWRdOwpAQCAtMTk5LDU1
ICsxOTQsMyBAQCAtICh2b2lkKXJlbGVhc2VGcm9udGVuZAogICAgIF9mcm9udGVuZCA9IDA7CiB9
CiBAZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBXZWJJbnNwZWN0b3IgKE9ic29sZXRlKQotKyAoV2Vi
SW5zcGVjdG9yICopd2ViSW5zcGVjdG9yCi17Ci0gICAgLy8gU2FmYXJpIDMuMCBjYWxscyB0aGlz
IG1ldGhvZAotICAgIHN0YXRpYyBCT09MIGxvZ2dlZCA9IE5POwotICAgIGlmICghbG9nZ2VkKSB7
Ci0gICAgICAgIE5TTG9nKEAiK1tXZWJJbnNwZWN0b3Igd2ViSW5zcGVjdG9yXTogdGhpcyBtZXRo
b2QgaXMgb2Jzb2xldGUuIik7Ci0gICAgICAgIGxvZ2dlZCA9IFlFUzsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gW1tbV2ViSW5zcGVjdG9yIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07Ci19Ci0KLS0g
KHZvaWQpc2V0V2ViRnJhbWU6KFdlYkZyYW1lICopZnJhbWUKLXsKLSAgICAvLyBTYWZhcmkgMy4w
IGNhbGxzIHRoaXMgbWV0aG9kCi0gICAgc3RhdGljIEJPT0wgbG9nZ2VkID0gTk87Ci0gICAgaWYg
KCFsb2dnZWQpIHsKLSAgICAgICAgTlNMb2coQCItW1dlYkluc3BlY3RvciBzZXRXZWJGcmFtZTpd
OiB0aGlzIG1ldGhvZCBpcyBvYnNvbGV0ZS4iKTsKLSAgICAgICAgbG9nZ2VkID0gWUVTOwotICAg
IH0KLQotICAgIF93ZWJWaWV3ID0gW2ZyYW1lIHdlYlZpZXddOwotfQotCi0jaWYgIVBMQVRGT1JN
KElPUykKLS0gKE5TV2luZG93ICopd2luZG93Ci17Ci0gICAgLy8gU2hpaXJhIGNhbGxzIHRoaXMg
aW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gbmlsIHNpbmNlIHdlIGNhbid0IGVhc2lseSByZXR1cm4g
dGhlIHdpbmRvdwotICAgIHN0YXRpYyBCT09MIGxvZ2dlZCA9IE5POwotICAgIGlmICghbG9nZ2Vk
KSB7Ci0gICAgICAgIE5TTG9nKEAiLVtXZWJJbnNwZWN0b3Igd2luZG93XTogdGhpcyBtZXRob2Qg
aXMgb2Jzb2xldGUgYW5kIG5vdyByZXR1cm5zIG5pbC4iKTsKLSAgICAgICAgbG9nZ2VkID0gWUVT
OwotICAgIH0KLQotICAgIHJldHVybiBuaWw7Ci19Ci0jZW5kaWYKLQotLSAodm9pZClzaG93V2lu
ZG93OihpZClzZW5kZXIKLXsKLSAgICAvLyBTYWZhcmkgMy4wIGNhbGxzIHRoaXMgbWV0aG9kCi0g
ICAgc3RhdGljIEJPT0wgbG9nZ2VkID0gTk87Ci0gICAgaWYgKCFsb2dnZWQpIHsKLSAgICAgICAg
TlNMb2coQCItW1dlYkluc3BlY3RvciBzaG93V2luZG93Ol06IHRoaXMgbWV0aG9kIGlzIG9ic29s
ZXRlLiIpOwotICAgICAgICBsb2dnZWQgPSBZRVM7Ci0gICAgfQotCi0gICAgW3NlbGYgc2hvd1dp
bmRvd107Ci19Ci1AZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1l
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0J
KHJldmlzaW9uIDE3MDY5NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI1ODcsMTIgKzI1ODcsNyBAQCAtICh2b2lkKXN0b3BMb2Fk
aW5nCiAKIC0gKHZvaWQpcmVsb2FkCiB7Ci0jaWYgIVBMQVRGT1JNKElPUykKLSAgICBpZiAoIVdl
YktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1JFTE9BRF9GUk9N
X09SSUdJTikgJiYgYXBwbGljYXRpb25Jc1NhZmFyaSgpKQotICAgICAgICBfcHJpdmF0ZS0+Y29y
ZUZyYW1lLT5sb2FkZXIoKS5yZWxvYWQoR2V0Q3VycmVudEtleU1vZGlmaWVycygpICYgc2hpZnRL
ZXkpOwotICAgIGVsc2UKLSNlbmRpZgotICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5sb2Fk
ZXIoKS5yZWxvYWQoZmFsc2UpOworICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmxvYWRlcigpLnJl
bG9hZChmYWxzZSk7CiB9CiAKIC0gKHZvaWQpcmVsb2FkRnJvbU9yaWdpbgpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQREZWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkocmV2aXNpb24gMTcwNjk1KQorKysgU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQREZWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC05
NCw3ICs5NCw2IEBAIGV4dGVybiAiQyIgTlNTdHJpbmcgKl9OU1BhdGhGb3JTeXN0ZW1GcmEKIEBp
bnRlcmZhY2UgV2ViUERGVmlldyAoRmlsZUludGVybmFsKQogKyAoQ2xhc3MpX1BERlByZXZpZXdW
aWV3Q2xhc3M7CiArIChDbGFzcylfUERGVmlld0NsYXNzOwotLSAoQk9PTClfYW55UERGVGFnc0Zv
dW5kSW5NZW51OihOU01lbnUgKiltZW51OwogLSAodm9pZClfYXBwbHlQREZEZWZhdWx0czsKIC0g
KEJPT0wpX2Nhbkxvb2tVcEluRGljdGlvbmFyeTsKIC0gKE5TQ2xpcFZpZXcgKilfY2xpcFZpZXdG
b3JQREZEb2N1bWVudFZpZXc7CkBAIC00NTAsMzMgKzQ0OSw3IEBAIC0gKE5TTWVudSAqKW1lbnVG
b3JFdmVudDooTlNFdmVudCAqKXRoZUUKICAgICAvLyBwYXNzIHRoZSBpdGVtcyBvZmYgdG8gdGhl
IFdlYktpdCBjb250ZXh0IG1lbnUgbWVjaGFuaXNtCiAgICAgV2ViVmlldyAqd2ViVmlldyA9IFtb
ZGF0YVNvdXJjZSB3ZWJGcmFtZV0gd2ViVmlld107CiAgICAgQVNTRVJUKHdlYlZpZXcpOwotICAg
IE5TTWVudSAqbWVudSA9IFt3ZWJWaWV3IF9tZW51Rm9yRWxlbWVudDpbc2VsZiBlbGVtZW50QXRQ
b2ludDpbc2VsZiBjb252ZXJ0UG9pbnQ6W3RoZUV2ZW50IGxvY2F0aW9uSW5XaW5kb3ddIGZyb21W
aWV3Om5pbF1dIGRlZmF1bHRJdGVtczppdGVtc107Ci0gICAgCi0gICAgLy8gVGhlIGRlbGVnYXRl
IGhhcyBub3cgaGFkIHRoZSBvcHBvcnR1bml0eSB0byBhZGQgaXRlbXMgdG8gdGhlIHN0YW5kYXJk
IFBERi1yZWxhdGVkIGl0ZW1zLCBvciB0bwotICAgIC8vIHJlbW92ZSBvciBtb2RpZnkgc29tZSBv
ZiB0aGUgUERGLXJlbGF0ZWQgaXRlbXMuIEluIDEwLjQsIHRoZSBQREYgY29udGV4dCBtZW51IGRp
ZCBub3QgZ28gdGhyb3VnaCAKLSAgICAvLyB0aGUgc3RhbmRhcmQgV2ViS2l0IGRlbGVnYXRlIHBh
dGgsIGFuZCBzbyB0aGUgc3RhbmRhcmQgUERGLXJlbGF0ZWQgaXRlbXMgYWx3YXlzIGFwcGVhcmVk
LiBGb3IKLSAgICAvLyBjbGllbnRzIHRoYXQgY3JlYXRlIHRoZWlyIG93biBjb250ZXh0IG1lbnUg
YnkgaGFuZC1waWNraW5nIHNwZWNpZmljIGl0ZW1zIGZyb20gdGhlIGRlZmF1bHQgbGlzdCwgc3Vj
aCBhcwotICAgIC8vIFNhZmFyaSwgbm9uZSBvZiB0aGUgUERGLXJlbGF0ZWQgaXRlbXMgd2lsbCBh
cHBlYXIgdW50aWwgdGhlIGNsaWVudCBpcyByZXdyaXR0ZW4gdG8gZXhwbGljaXRseQotICAgIC8v
IGluY2x1ZGUgdGhlc2UgaXRlbXMuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBvZiB0aXAt
b2YtdHJlZSBXZWJLaXQgd2l0aCB0aGUgMTAuNCB2ZXJzaW9uIG9mIFNhZmFyaQotICAgIC8vICh0
aGUgY29uZmlndXJhdGlvbiB0aGF0IHBlb3BsZSBidWlsZGluZyBvcGVuIHNvdXJjZSBXZWJLaXQg
dXNlKSwgd2UnbGwgdXNlIHRoZSBlbnRpcmUgc2V0IG9mIFBERktpdC1zdXBwbGllZAotICAgIC8v
IG1lbnUgaXRlbXMuIFRoaXMgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBoYWNrIHdvbid0IHdvcmsg
d2l0aCBhbnkgbm9uLVNhZmFyaSBjbGllbnRzLCBidXQgdGhpcyBzZWVtcyBPSyBzaW5jZQotICAg
IC8vICgxKSB0aGUgc3ltcHRvbSBpcyBmYWlybHkgbWlub3IsIGFuZCAoMikgd2Ugc3VzcGVjdCB0
aGF0IG5vbi1TYWZhcmkgY2xpZW50cyBhcmUgcHJvYmFibHkgdXNpbmcgdGhlIGVudGlyZQotICAg
IC8vIHNldCBvZiBkZWZhdWx0IGl0ZW1zLCByYXRoZXIgdGhhbiBtYW51YWxseSBjaG9vc2luZyBm
cm9tIHRoZW0uIFdlIGNhbiByZW1vdmUgdGhpcyBjb2RlIGVudGlyZWx5IHdoZW4gd2UKLSAgICAv
LyBzaGlwIGEgdmVyc2lvbiBvZiBTYWZhcmkgdGhhdCBpbmNsdWRlcyB0aGUgZml4IGZvciByYWRh
ciAzNzk2NTc5LgotICAgIGlmICghW3NlbGYgX2FueVBERlRhZ3NGb3VuZEluTWVudTptZW51XSAm
JiBhcHBsaWNhdGlvbklzU2FmYXJpKCkpIHsKLSAgICAgICAgW21lbnUgYWRkSXRlbTpbTlNNZW51
SXRlbSBzZXBhcmF0b3JJdGVtXV07Ci0gICAgICAgIE5TRW51bWVyYXRvciAqZSA9IFtpdGVtcyBv
YmplY3RFbnVtZXJhdG9yXTsKLSAgICAgICAgTlNNZW51SXRlbSAqbWVudUl0ZW07Ci0gICAgICAg
IHdoaWxlICgobWVudUl0ZW0gPSBbZSBuZXh0T2JqZWN0XSkgIT0gbmlsKSB7Ci0gICAgICAgICAg
ICAvLyBjb3B5IG1lbnVJdGVtIHNpbmNlIGEgZ2l2ZW4gbWVudUl0ZW0gY2FuIGJlIGluIG9ubHkg
b25lIG1lbnUgYXQgYSB0aW1lLCBhbmQgd2UgZG9uJ3QKLSAgICAgICAgICAgIC8vIHdhbnQgdG8g
bWVzcyB3aXRoIHRoZSBtZW51IHJldHVybmVkIGZyb20gUERGS2l0LgotICAgICAgICAgICAgTlNN
ZW51SXRlbSAqbWVudUl0ZW1Db3B5ID0gW21lbnVJdGVtIGNvcHldOwotICAgICAgICAgICAgW21l
bnUgYWRkSXRlbTptZW51SXRlbUNvcHldOwotICAgICAgICAgICAgW21lbnVJdGVtQ29weSByZWxl
YXNlXTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICByZXR1cm4gbWVudTsKKyAgICByZXR1
cm4gW3dlYlZpZXcgX21lbnVGb3JFbGVtZW50OltzZWxmIGVsZW1lbnRBdFBvaW50OltzZWxmIGNv
bnZlcnRQb2ludDpbdGhlRXZlbnQgbG9jYXRpb25JbldpbmRvd10gZnJvbVZpZXc6bmlsXV0gZGVm
YXVsdEl0ZW1zOml0ZW1zXTsKIH0KIAogLSAodm9pZClzZXROZXh0S2V5VmlldzooTlNWaWV3ICop
YVZpZXcKQEAgLTExMTUsMzAgKzEwODgsNiBAQCArIChDbGFzcylfUERGVmlld0NsYXNzCiAgICAg
cmV0dXJuIFBERlZpZXdDbGFzczsKIH0KIAotLSAoQk9PTClfYW55UERGVGFnc0ZvdW5kSW5NZW51
OihOU01lbnUgKiltZW51Ci17Ci0gICAgTlNFbnVtZXJhdG9yICplID0gW1ttZW51IGl0ZW1BcnJh
eV0gb2JqZWN0RW51bWVyYXRvcl07Ci0gICAgTlNNZW51SXRlbSAqaXRlbTsKLSAgICB3aGlsZSAo
KGl0ZW0gPSBbZSBuZXh0T2JqZWN0XSkgIT0gbmlsKSB7Ci0gICAgICAgIHN3aXRjaCAoW2l0ZW0g
dGFnXSkgewotICAgICAgICAgICAgY2FzZSBXZWJNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFw
cGxpY2F0aW9uOgotICAgICAgICAgICAgY2FzZSBXZWJNZW51SXRlbVBERkFjdHVhbFNpemU6Ci0g
ICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGWm9vbUluOgotICAgICAgICAgICAgY2FzZSBX
ZWJNZW51SXRlbVBERlpvb21PdXQ6Ci0gICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGQXV0
b1NpemU6Ci0gICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGU2luZ2xlUGFnZToKLSAgICAg
ICAgICAgIGNhc2UgV2ViTWVudUl0ZW1QREZTaW5nbGVQYWdlU2Nyb2xsaW5nOgotICAgICAgICAg
ICAgY2FzZSBXZWJNZW51SXRlbVBERkZhY2luZ1BhZ2VzOgotICAgICAgICAgICAgY2FzZSBXZWJN
ZW51SXRlbVBERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nOgotICAgICAgICAgICAgY2FzZSBXZWJNZW51
SXRlbVBERkNvbnRpbnVvdXM6Ci0gICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGTmV4dFBh
Z2U6Ci0gICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGUHJldmlvdXNQYWdlOgotICAgICAg
ICAgICAgICAgIHJldHVybiBZRVM7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIE5POwot
fQotCiAtICh2b2lkKV9hcHBseVBERkRlZmF1bHRzCiB7CiAgICAgLy8gU2V0IHVwIGRlZmF1bHQg
dmlld2luZyBwYXJhbXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJl
dmlzaW9uIDE3MDY5NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMTA1NiwxMiArMTA1Niw4IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRp
YWxpemF0aW9uV2l0aEZyYW1lTmEKICNlbmRpZgogfQogCi0tIChpZClfaW5pdFdpdGhGcmFtZToo
TlNSZWN0KWYgZnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3Ry
aW5nICopZ3JvdXBOYW1lIHVzZXNEb2N1bWVudFZpZXdzOihCT09MKXVzZXNEb2N1bWVudFZpZXdz
CistIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVOYW1lOihOU1N0cmluZyAqKWZy
YW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCiB7Ci0gICAgLy8gRklYTUU6
IFJlbW92ZSB0aGUgdXNlc0RvY3VtZW50Vmlld3MgcGFyYW1ldGVyOyBpdCdzIG9ubHkgaGVyZSBm
b3IgY29tcGF0aWJpbGl0eSB3aXRoIFdlYktpdCBuaWdodGx5IGJ1aWxkcwotICAgIC8vIHJ1bm5p
bmcgYWdhaW5zdCBTYWZhcmkgNSBvbiBMZW9wYXJkLgotICAgIEFTU0VSVCh1c2VzRG9jdW1lbnRW
aWV3cyk7Ci0KICAgICBzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6Zl07CiAgICAgaWYgKCFz
ZWxmKQogICAgICAgICByZXR1cm4gbmlsOwpAQCAtMTQ2NiwxMyArMTQ2Miw2IEBAIC0gKEJPT0wp
X3ZpZXdDbGFzczooQ2xhc3MgKil2Q2xhc3MgYW5kUmUKICAgICByZXR1cm4gTk87CiB9CiAKLSNp
ZiAhUExBVEZPUk0oSU9TKQotKyAodm9pZClfc2V0QWx3YXlzVXNlQVRTVTooQk9PTClmCi17Ci0g
ICAgW3NlbGYgX3NldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoOmZdOwotfQotI2VuZGlm
Ci0KICsgKHZvaWQpX3NldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoOihCT09MKWYKIHsK
ICAgICBGb250OjpzZXRDb2RlUGF0aChmID8gRm9udDo6Q29tcGxleCA6IEZvbnQ6OkF1dG8pOwpA
QCAtMjEzNiwxNyArMjEyNSw2IEBAIC0gKEJPT0wpX25lZWRzUHJlSFRNTDVQYXJzZXJRdWlya3MK
ICNlbmRpZgogfQogCi0tIChCT09MKV9uZWVkc1VucmVzdHJpY3RlZEdldE1hdGNoZWRDU1NSdWxl
cwotewotI2lmICFQTEFURk9STShJT1MpCi0gICAgc3RhdGljIGJvb2wgbmVlZHNVbnJlc3RyaWN0
ZWRHZXRNYXRjaGVkQ1NTUnVsZXMgPSAhV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJT
VF9WRVJTSU9OX1dJVEhfR0VUX01BVENIRURfQ1NTX1JVTEVTX1JFU1RSSUNUSU9OUykgJiYgYXBw
bGljYXRpb25Jc1NhZmFyaSgpOwotICAgIHJldHVybiBuZWVkc1VucmVzdHJpY3RlZEdldE1hdGNo
ZWRDU1NSdWxlczsKLSNlbHNlCi0gICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS84OTYzNjg0
PiBJbXBsZW1lbnQgbGlua2VkLW9uLW9yLWFmdGVyIGNoZWNrIGZvciBuZWVkc1VucmVzdHJpY3Rl
ZEdldE1hdGNoZWRDU1NSdWxlcwotICAgIHJldHVybiBOTzsKLSNlbmRpZgotfQotCiAtICh2b2lk
KV9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCiB7CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjI5MSw3ICsyMjY5LDYgQEAgLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogICAgIHNldHRpbmdzLnNldEFzeW5j
aHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBhc3luY2hyb25vdXNTcGVs
bENoZWNraW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldEh5cGVybGlua0F1ZGl0aW5nRW5h
YmxlZChbcHJlZmVyZW5jZXMgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkXSk7CiAgICAgc2V0dGlu
Z3Muc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoW3NlbGYgX25lZWRzUHJlSFRNTDVQYXJzZXJR
dWlya3NdKTsKLSAgICBzZXR0aW5ncy5zZXRDcm9zc09yaWdpbkNoZWNrSW5HZXRNYXRjaGVkQ1NT
UnVsZXNEaXNhYmxlZChbc2VsZiBfbmVlZHNVbnJlc3RyaWN0ZWRHZXRNYXRjaGVkQ1NTUnVsZXNd
KTsKICAgICBzZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2Vs
ZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldFZh
bGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uKFtzZWxmIHZhbGlkYXRpb25NZXNzYWdl
VGltZXJNYWduaWZpY2F0aW9uXSk7CiAKQEAgLTUwMTMsNyArNDk5MCw3IEBAIC0gKGluc3RhbmNl
dHlwZSlpbml0V2l0aEZyYW1lOihOU1JlY3QpZiAKICNlbmRpZgogCiAgICAgV2ViQ29yZVRocmVh
ZFZpb2xhdGlvbkNoZWNrUm91bmRUd28oKTsKLSAgICByZXR1cm4gW3NlbGYgX2luaXRXaXRoRnJh
bWU6ZiBmcmFtZU5hbWU6ZnJhbWVOYW1lIGdyb3VwTmFtZTpncm91cE5hbWUgdXNlc0RvY3VtZW50
Vmlld3M6WUVTXTsKKyAgICByZXR1cm4gW3NlbGYgX2luaXRXaXRoRnJhbWU6ZiBmcmFtZU5hbWU6
ZnJhbWVOYW1lIGdyb3VwTmFtZTpncm91cE5hbWVdOwogfQogCiAjaWYgIVBMQVRGT1JNKElPUykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHJldmlz
aW9uIDE3MDY5NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNTA5LDEwICs1MDksNiBAQCBDb3VsZCBiZSB3b3J0aCBhZGRp
bmcgdG8gdGhlIEFQSS4KICsgKE5TU3RyaW5nICopX2RlY29kZURhdGE6KE5TRGF0YSAqKWRhdGE7
CiAKICsgKHZvaWQpX3NldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoOihCT09MKWY7Ci0j
aWYgIVRBUkdFVF9PU19JUEhPTkUKLS8vIFRoaXMgaXMgdGhlIG9sZCBuYW1lIG9mIHRoZSBhYm92
ZSBtZXRob2QuIE5lZWRlZCBmb3IgU2FmYXJpIHZlcnNpb25zIHRoYXQgY2FsbCBpdC4KLSsgKHZv
aWQpX3NldEFsd2F5c1VzZUFUU1U6KEJPT0wpZjsKLSNlbmRpZgogCiArICh2b2lkKV9zZXRBbGxv
d3NSb3VuZGluZ0hhY2tzOihCT09MKWFsbG93c1JvdW5kaW5nSGFja3M7CiArIChCT09MKV9hbGxv
d3NSb3VuZGluZ0hhY2tzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234269</attachid>
            <date>2014-07-02 09:40:35 -0700</date>
            <delta_ts>2014-07-02 10:33:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134537-20140702094016.patch</filename>
            <type>text/plain</type>
            <size>21981</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzA3MDkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA3LTAyICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgY29kZSBvbmx5IG5lZWRlZCBmb3Ig
dmVyc2lvbnMgb2YgU2FmYXJpIHRoYXQgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDUzNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0Fzc2VydGlvbnMu
Y3BwOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisKIDIwMTQtMDctMDEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2UgZHlu
YW1pYyBtZW1vcnkgYWxsb2NhdGlvbiBpbiBjc3Mgaml0LgpJbmRleDogU291cmNlL1dURi93dGYv
QXNzZXJ0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5j
cHAJKHJldmlzaW9uIDE3MDcwOSkKKysrIFNvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjAsMTAgKzMyMCw2IEBAIHZvaWQgV1RGU2V0Q3Jhc2hIb29rKFdU
RkNyYXNoSG9va0Z1bmN0aW8KICAgICBnbG9iYWxIb29rID0gZnVuY3Rpb247CiB9CiAKLXZvaWQg
V1RGSW52b2tlQ3Jhc2hIb29rKCkKLXsKLX0KLQogdm9pZCBXVEZDcmFzaCgpCiB7CiAgICAgaWYg
KGdsb2JhbEhvb2spCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCShyZXZpc2lvbiAxNzA3MDkpCisrKyBT
b3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw4ICsxNDUs
NiBAQCB0eXBlZGVmIHZvaWQgKCpXVEZDcmFzaEhvb2tGdW5jdGlvbikoKTsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlNldENyYXNoSG9vayhXVEZDcmFzaEhvb2tGdW5jdGlvbik7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZJbnN0YWxsUmVwb3J0QmFja3RyYWNlT25DcmFzaEhvb2so
KTsKIAotLy8gRXhpc3QgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgU2FmYXJp
LiBEbyBub3QgdXNlLgotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGSW52b2tlQ3Jhc2hIb29r
KCk7CiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMTcwNzA5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTQtMDctMDIgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgc29tZSBjb2RlIG9ubHkgbmVlZGVkIGZvciB2ZXJzaW9ucyBv
ZiBTYWZhcmkgdGhhdCBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NTM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUwubW06
CisgICAgICAgICgtW0RPTUhUTUxJbnB1dEVsZW1lbnQgX3JlY3RPblNjcmVlbl0pOiBEZWxldGVk
LgorICAgICAgICAoLVtET01IVE1MSW5wdXRFbGVtZW50IF9yZXBsYWNlQ2hhcmFjdGVyc0luUmFu
Z2U6d2l0aFN0cmluZzpzZWxlY3RpbmdGcm9tSW5kZXg6XSk6IERlbGV0ZWQuCisgICAgICAgICgt
W0RPTUhUTUxJbnB1dEVsZW1lbnQgX3NlbGVjdGVkUmFuZ2VdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFuZE1hcCk6CisKIDIwMTQt
MDctMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHU3RyZWFtZXJdIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgZmFpbHMgdG8g
YnVpbGQgd2hlbiBWSURFT19UUkFDSyBpcyBlbmFibGVkIGFuZCB1c2luZyBHU1RSRUFNRVJfTVBF
R1RTCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUwubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tCShyZXZpc2lv
biAxNzA3MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUwubW0JKHdv
cmtpbmcgY29weSkKQEAgLTE3NSw3ICsxNzUsNiBAQCAtIChET01Eb2N1bWVudEZyYWdtZW50ICop
X2NyZWF0ZURvY3VtZW50CiAKIEBlbmQKIAotCiBAaW1wbGVtZW50YXRpb24gRE9NSFRNTElucHV0
RWxlbWVudCAoRm9ybUF1dG9GaWxsVHJhbnNpdGlvbikKIAogLSAoQk9PTClfaXNUZXh0RmllbGQK
QEAgLTE4Myw0NiArMTgyLDcgQEAgLSAoQk9PTClfaXNUZXh0RmllbGQKICAgICByZXR1cm4gY29y
ZShzZWxmKS0+aXNUZXh0RmllbGQoKTsKIH0KIAotI2lmICFQTEFURk9STShJT1MpCi0tIChOU1Jl
Y3QpX3JlY3RPblNjcmVlbgotewotICAgIC8vIFJldHVybnMgYm91bmRpbmcgcmVjdCBvZiB0ZXh0
IGZpZWxkLCBpbiBzY3JlZW4gY29vcmRpbmF0ZXMuCi0gICAgTlNSZWN0IHJlc3VsdCA9IFtzZWxm
IGJvdW5kaW5nQm94XTsKLSAgICBpZiAoIWNvcmUoc2VsZiktPmRvY3VtZW50KCkudmlldygpKQot
ICAgICAgICByZXR1cm4gcmVzdWx0OwotCi0gICAgTlNWaWV3KiB2aWV3ID0gY29yZShzZWxmKS0+
ZG9jdW1lbnQoKS52aWV3KCktPmRvY3VtZW50VmlldygpOwotICAgIHJlc3VsdCA9IFt2aWV3IGNv
bnZlcnRSZWN0OnJlc3VsdCB0b1ZpZXc6bmlsXTsKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
dXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9ucyIKLSAgICByZXN1bHQub3JpZ2luID0gW1t2aWV3IHdpbmRvd10gY29udmVydEJhc2VU
b1NjcmVlbjpyZXN1bHQub3JpZ2luXTsKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmCi0KLS0gKHZvaWQpX3JlcGxhY2VDaGFyYWN0ZXJz
SW5SYW5nZTooTlNSYW5nZSl0YXJnZXRSYW5nZSB3aXRoU3RyaW5nOihOU1N0cmluZyAqKXJlcGxh
Y2VtZW50U3RyaW5nIHNlbGVjdGluZ0Zyb21JbmRleDooaW50KWluZGV4Ci17Ci0gICAgV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gY29yZShzZWxmKTsKLSAgICBpZiAo
aW5wdXRFbGVtZW50KSB7Ci0gICAgICAgIFdURjo6U3RyaW5nIG5ld1ZhbHVlID0gaW5wdXRFbGVt
ZW50LT52YWx1ZSgpOwotICAgICAgICBuZXdWYWx1ZS5yZXBsYWNlKHRhcmdldFJhbmdlLmxvY2F0
aW9uLCB0YXJnZXRSYW5nZS5sZW5ndGgsIHJlcGxhY2VtZW50U3RyaW5nKTsKLSAgICAgICAgaW5w
dXRFbGVtZW50LT5zZXRWYWx1ZShuZXdWYWx1ZSk7Ci0gICAgICAgIGlucHV0RWxlbWVudC0+c2V0
U2VsZWN0aW9uUmFuZ2UoaW5kZXgsIG5ld1ZhbHVlLmxlbmd0aCgpKTsKLSAgICB9Ci19Ci0KLS0g
KE5TUmFuZ2UpX3NlbGVjdGVkUmFuZ2UKLXsKLSAgICBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dEVsZW1lbnQgPSBjb3JlKHNlbGYpOwotICAgIGlmIChpbnB1dEVsZW1lbnQpIHsKLSAg
ICAgICAgaW50IHN0YXJ0ID0gaW5wdXRFbGVtZW50LT5zZWxlY3Rpb25TdGFydCgpOwotICAgICAg
ICBpbnQgZW5kID0gaW5wdXRFbGVtZW50LT5zZWxlY3Rpb25FbmQoKTsKLSAgICAgICAgcmV0dXJu
IE5TTWFrZVJhbmdlKHN0YXJ0LCBlbmQgLSBzdGFydCk7IAotICAgIH0KLSAgICByZXR1cm4gTlNN
YWtlUmFuZ2UoTlNOb3RGb3VuZCwgMCk7Ci19Ci0KKyNpZiBQTEFURk9STShJT1MpCiAtIChCT09M
KV9pc0F1dG9maWxsZWQKIHsKICAgICByZXR1cm4gY29yZShzZWxmKS0+aXNBdXRvZmlsbGVkKCk7
CkBAIC0yMzUsNiArMTk1LDcgQEAgLSAodm9pZClfc2V0QXV0b2ZpbGxlZDooQk9PTClmaWxsZWQK
ICAgICAvLyBjaGFuZ2VzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLgogICAgIGNvcmUoc2VsZiktPnNl
dEF1dG9maWxsZWQoZmlsbGVkKTsKIH0KKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKIEBlbmQK
IApAQCAtMjU4LDYgKzIxOSw4IEBAIC0gKHZvaWQpX2FjdGl2YXRlSXRlbUF0SW5kZXg6KGludClp
bmRleCAKIAogQGVuZAogCisjaWYgUExBVEZPUk0oSU9TKQorCiBAaW1wbGVtZW50YXRpb24gRE9N
SFRNTElucHV0RWxlbWVudCAoRm9ybVByb21wdEFkZGl0aW9ucykKIAogLSAoQk9PTClfaXNFZGl0
ZWQKQEAgLTI3Niw3ICsyMzksNiBAQCAtIChCT09MKV9pc0VkaXRlZAogCiBAZW5kCiAKLSNpZiBQ
TEFURk9STShJT1MpCiBAaW1wbGVtZW50YXRpb24gRE9NSFRNTElucHV0RWxlbWVudCAoQXV0b2Nh
cGl0YWxpemVBZGRpdGlvbnMpCiAKIC0gKFdlYkF1dG9jYXBpdGFsaXplVHlwZSlfYXV0b2NhcGl0
YWxpemVUeXBlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUu
aAkocmV2aXNpb24gMTcwNzA5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Q
cml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCwxNiArMTAwLDE0IEBAIEBpbnRlcmZhY2Ug
RE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQgKFdlYlAKIC8vIEVhY2ggb25lIHNob3VsZCBldmVudHVh
bGx5IGJlIHJlcGxhY2VkIGJ5IHB1YmxpYyBET00gQVBJLCBhbmQgd2hlbiB0aGF0IGhhcHBlbnMg
U2FmYXJpIHdpbGwgc3dpdGNoIHRvIGltcGxlbWVudGF0aW9ucyAKIC8vIHVzaW5nIHRoYXQgcHVi
bGljIEFQSSwgYW5kIHRoZXNlIHdpbGwgYmUgZGVsZXRlZC4KIEBpbnRlcmZhY2UgRE9NSFRNTElu
cHV0RWxlbWVudCAoRm9ybUF1dG9GaWxsVHJhbnNpdGlvbikKLS0gKEJPT0wpX2lzQXV0b2ZpbGxl
ZDsKIC0gKEJPT0wpX2lzVGV4dEZpZWxkOwotI2lmICFUQVJHRVRfT1NfSVBIT05FCi0tIChOU1Jl
Y3QpX3JlY3RPblNjcmVlbjsgLy8gYm91bmRpbmcgYm94IG9mIHRoZSB0ZXh0IGZpZWxkLCBpbiBz
Y3JlZW4gY29vcmRpbmF0ZXMKLSNlbmRpZgotLSAodm9pZClfcmVwbGFjZUNoYXJhY3RlcnNJblJh
bmdlOihOU1JhbmdlKXRhcmdldFJhbmdlIHdpdGhTdHJpbmc6KE5TU3RyaW5nICopcmVwbGFjZW1l
bnRTdHJpbmcgc2VsZWN0aW5nRnJvbUluZGV4OihpbnQpaW5kZXg7Ci0tIChOU1JhbmdlKV9zZWxl
Y3RlZFJhbmdlOworI2lmIFRBUkdFVF9PU19JUEhPTkUKKy0gKEJPT0wpX2lzQXV0b2ZpbGxlZDsK
IC0gKHZvaWQpX3NldEF1dG9maWxsZWQ6KEJPT0wpZmlsbGVkOworI2VuZGlmCiBAZW5kCiAKKyNp
ZiBUQVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSBjaGFuZ2VzIGFyZSBuZWNlc3NhcnkgdG8gZGV0
ZWN0IHdoZXRoZXIgYSBmb3JtIGlucHV0IHdhcyBtb2RpZmllZCBieSBhIHVzZXIKIC8vIG9yIGph
dmFzY3JpcHQKIEBpbnRlcmZhY2UgRE9NSFRNTElucHV0RWxlbWVudCAoRm9ybVByb21wdEFkZGl0
aW9ucykKQEAgLTExOSw2ICsxMTcsNyBAQCBAaW50ZXJmYWNlIERPTUhUTUxJbnB1dEVsZW1lbnQg
KEZvcm1Qcm9tCiBAaW50ZXJmYWNlIERPTUhUTUxUZXh0QXJlYUVsZW1lbnQgKEZvcm1Qcm9tcHRB
ZGRpdGlvbnMpCiAtIChCT09MKV9pc0VkaXRlZDsKIEBlbmQKKyNlbmRpZiAvLyBUQVJHRVRfT1Nf
SVBIT05FCiAKIC8vIEFsbCB0aGUgbWV0aG9kcyBpbiB0aGlzIGNhdGVnb3J5IGFyZSB1c2VkIGJ5
IFNhZmFyaSBmb3JtcyBhdXRvZmlsbCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBhbnkgb3Ro
ZXIgcHVycG9zZS4KIC8vIFRoZXkgYXJlIHN0b3BnYXAgbWVhc3VyZXMgdW50aWwgd2UgZmluaXNo
IHRyYW5zaXRpb25pbmcgZm9ybSBjb250cm9scyB0byBub3QgdXNlIE5TVmlldy4gRWFjaCBvbmUg
c2hvdWxkIGJlY29tZQpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5k
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQu
Y3BwCShyZXZpc2lvbiAxNzA3MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNv
bW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDkxLDcgKzE0OTEsNiBAQCBzdGF0aWMgY29u
c3QgQ29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hCiAgICAgICAgIHsgIkFsaWduTGVmdCIsIHsg
ZXhlY3V0ZUp1c3RpZnlMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZEluUmljaGx5RWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIkFs
aWduUmlnaHQiLCB7IGV4ZWN1dGVKdXN0aWZ5UmlnaHQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
ICAgICAgICAgeyAiQmFja0NvbG9yIiwgeyBleGVjdXRlQmFja0NvbG9yLCBzdXBwb3J0ZWQsIGVu
YWJsZWRJblJpY2hseUVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZUJhY2tDb2xvciwgbm90
VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAg
ICAgIHsgIkJhY2t3YXJkRGVsZXRlIiwgeyBleGVjdXRlRGVsZXRlQmFja3dhcmQsIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwg
dmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2Fi
bGVkIH0gfSwgLy8gRklYTUU6IHJlbW92ZSBCYWNrd2FyZERlbGV0ZSB3aGVuIFNhZmFyaSBmb3Ig
V2luZG93cyBzdG9wcyB1c2luZyBpdC4KICAgICAgICAgeyAiQm9sZCIsIHsgZXhlY3V0ZVRvZ2ds
ZUJvbGQsIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRpdGFibGVUZXh0LCBzdGF0ZUJvbGQs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCiAgICAgICAgIHsgIkNvcHkiLCB7IGV4ZWN1dGVDb3B5LCBzdXBwb3J0ZWRDb3B5
Q3V0LCBlbmFibGVkQ29weSwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiQ3JlYXRlTGluayIs
IHsgZXhlY3V0ZUNyZWF0ZUxpbmssIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRpdGFibGVU
ZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NzA3MDkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzNCBAQAorMjAxNC0wNy0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBzb21lIGNvZGUgb25seSBuZWVkZWQgZm9yIHZlcnNpb25zIG9m
IFNhZmFyaSB0aGF0IGFyZSBubyBsb25nZXIgc3VwcG9ydGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQ1MzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEhpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW06
CisgICAgICAgICogTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW06CisgICAgICAgICgtW1dlYlNlY3VyaXR5T3Jp
Z2luIGRvbWFpbl0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0
b3IubW06CisgICAgICAgICgtW1dlYkluc3BlY3RvciBzaG93VGltZWxpbmU6XSk6IERlbGV0ZWQu
CisgICAgICAgICgrW1dlYkluc3BlY3RvciB3ZWJJbnNwZWN0b3JdKTogRGVsZXRlZC4KKyAgICAg
ICAgKC1bV2ViSW5zcGVjdG9yIHNldFdlYkZyYW1lOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtX
ZWJJbnNwZWN0b3Igd2luZG93XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYkluc3BlY3RvciBz
aG93V2luZG93Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06Cisg
ICAgICAgICgtW1dlYkZyYW1lIHJlbG9hZF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUERGVmll
dy5tbToKKyAgICAgICAgKC1bV2ViUERGVmlldyBtZW51Rm9yRXZlbnQ6XSk6CisgICAgICAgICgt
W1dlYlBERlZpZXcgX2FueVBERlRhZ3NGb3VuZEluTWVudTpdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2luaXRXaXRoRnJhbWU6
ZnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRXaXRoRnJhbWU6ZnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfaW5pdFdpdGhGcmFtZTpmcmFtZU5hbWU6
Z3JvdXBOYW1lOnVzZXNEb2N1bWVudFZpZXdzOl0pOiBEZWxldGVkLgorICAgICAgICAoK1tXZWJW
aWV3IF9zZXRBbHdheXNVc2VBVFNVOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJWaWV3IF9u
ZWVkc1VucmVzdHJpY3RlZEdldE1hdGNoZWRDU1NSdWxlc10pOiBEZWxldGVkLgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKwogMjAxNC0wNy0wMSAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBXZWJDaHJvbWVDbGllbnQgY29kZSB0
aGF0IHdhcyBvbmx5IG5lZWRlZCBmb3IgU2FmYXJpIHZlcnNpb25zIGVhcmxpZXIgdGhhbiAzLjEK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQkocmV2
aXNpb24gMTcwNzA5KQorKysgU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRl
bS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTQ3LDExICs1NDcsNiBAQCAtIChOU0FycmF5ICopY2hp
bGRyZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0tICh2b2lkKXNldEFsd2F5c0F0dGVtcHRU
b1VzZVBhZ2VDYWNoZTooQk9PTClmbGFnCi17Ci0gICAgLy8gU2FmYXJpIDIuMCB1c2VzIHRoaXMg
Zm9yIFNuYXBCYWNrLCBzbyB3ZSBzdHViIGl0IG91dCB0byBhdm9pZCBhIGNyYXNoLgotfQotCiAt
IChOU1VSTCAqKVVSTAogewogICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgJKHJldmlzaW9uIDE3MDcw
OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSwxNCArNDksMTIgQEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJ
T05fV0lUSF9JRV9DT01QQVRJQkxFX0tFWUJPQVJEX0VWRU5UX0RJU1BBVENIIDB4MDIwRDAxMDAg
Ly8gNTI1LjEuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVS
SU5HX0NPTU1PTl9SVU5MT09QX01PREVTIDB4MDIwRTAwMDAgLy8gNTI2LjAuMAogI2RlZmluZSBX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX01PUkVfU1RSSUNUX0xPQ0FMX1JFU09VUkNFX1NFQ1VS
SVRZX1JFU1RSSUNUSU9OIDB4MDIxMDAyMDAgLy8gNTI4LjIuMAotI2RlZmluZSBXRUJLSVRfRklS
U1RfVkVSU0lPTl9XSVRIX1JFTE9BRF9GUk9NX09SSUdJTiAweDAyMTAwNzAwIC8vIDUyOC43LjAK
ICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9XRUJWSUVXX0lOSVRfVEhSRUFE
X1dPUktBUk9VTkQgMHgwMjEwMDcwMCAvLyA1MjguNy4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9W
RVJTSU9OX1dJVEhfUk9VTkRfVFdPX01BSU5fVEhSRUFEX0VYQ0VQVElPTlMgMHgwMjEyMDQwMCAv
LyA1MzAuNC4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfQlVNUEVSQ0FS
X0JBQ0tfRk9SV0FSRF9RVUlSSyAweDAyMTIwNzAwIC8vIDUzMC43LjAKICNkZWZpbmUgV0VCS0lU
X0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9DT05URU5UX1NOSUZGSU5HX0ZPUl9GSUxFX1VSTFMgMHgw
MjEyMEEwMCAvLyA1MzAuMTAuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VU
X0xJTktfRUxFTUVOVF9URVhUX0NTU19RVUlSSyAweDAyMTMwMjAwIC8vIDUzMS4yLjAKICNkZWZp
bmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9IVE1MNV9QQVJTRVIgMHgwMjE2MDkwMCAvLyA1
MzQuOS4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfR0VUX01BVENIRURfQ1NT
X1JVTEVTX1JFU1RSSUNUSU9OUyAweDAyMTYwQjAwIC8vIDUzNC4xMS4wCiAjZGVmaW5lIFdFQktJ
VF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJQlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9S
SVRZIDB4MDIxNzBEMDAgLy8gNTM1LjEzLjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSE9VVF9MRUdBQ1lfQkFDS0dST1VORFNJWkVfU0hPUlRIQU5EX0JFSEFWSU9SIDB4MDIxOTAx
MDAgLy8gNTM3LjEuMAogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCShyZXZpc2lvbiAxNzA3MDkpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTZWN1cml0eU9yaWdpbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtNzgsMTIgKzc4LDYgQEAgLSAoTlNTdHJpbmcgKilzdHJpbmdWYWx1
ZQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4oX3ByaXZhdGUp
LT50b1N0cmluZygpOwogfQogCi0vLyBEZXByZWNhdGVkLiBVc2UgaG9zdCBpbnN0ZWFkLiBUaGlz
IG5lZWRzIHRvIHN0YXkgaGVyZSB1bnRpbCB3ZSBzaGlwIGEgbmV3IFNhZmFyaS4KLS0gKE5TU3Ry
aW5nICopZG9tYWluCi17Ci0gICAgcmV0dXJuIFtzZWxmIGhvc3RdOwotfQotCiAtICh1bnNpZ25l
ZCBzaG9ydClwb3J0CiB7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8U2VjdXJpdHlPcmln
aW4qPihfcHJpdmF0ZSktPnBvcnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3Bl
Y3Rvci9XZWJJbnNwZWN0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2Vi
SW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQkocmV2aXNpb24gMTcwNzA5KQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODAsMTEgKzgwLDYgQEAgLSAodm9pZClzaG93Q29uc29sZTooaWQpc2VuZGVyCiAgICAgW19mcm9u
dGVuZCBzaG93Q29uc29sZV07CiB9CiAKLS0gKHZvaWQpc2hvd1RpbWVsaW5lOihpZClzZW5kZXIK
LXsKLSAgICAvLyBOb3QgdXNlZCBhbnltb3JlLiBSZW1vdmUgd2hlbiBhIHJlbGVhc2Ugb2YgU2Fm
YXJpIG5vbi1sb25nZXIgY2FsbHMgdGhpcy4KLX0KLQogLSAoQk9PTClpc0RlYnVnZ2luZ0phdmFT
Y3JpcHQKIHsKICAgICByZXR1cm4gX2Zyb250ZW5kICYmIFtfZnJvbnRlbmQgaXNEZWJ1Z2dpbmdF
bmFibGVkXTsKQEAgLTE5OSw1NSArMTk0LDMgQEAgLSAodm9pZClyZWxlYXNlRnJvbnRlbmQKICAg
ICBfZnJvbnRlbmQgPSAwOwogfQogQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV2ViSW5zcGVjdG9y
IChPYnNvbGV0ZSkKLSsgKFdlYkluc3BlY3RvciAqKXdlYkluc3BlY3RvcgotewotICAgIC8vIFNh
ZmFyaSAzLjAgY2FsbHMgdGhpcyBtZXRob2QKLSAgICBzdGF0aWMgQk9PTCBsb2dnZWQgPSBOTzsK
LSAgICBpZiAoIWxvZ2dlZCkgewotICAgICAgICBOU0xvZyhAIitbV2ViSW5zcGVjdG9yIHdlYklu
c3BlY3Rvcl06IHRoaXMgbWV0aG9kIGlzIG9ic29sZXRlLiIpOwotICAgICAgICBsb2dnZWQgPSBZ
RVM7Ci0gICAgfQotCi0gICAgcmV0dXJuIFtbW1dlYkluc3BlY3RvciBhbGxvY10gaW5pdF0gYXV0
b3JlbGVhc2VdOwotfQotCi0tICh2b2lkKXNldFdlYkZyYW1lOihXZWJGcmFtZSAqKWZyYW1lCi17
Ci0gICAgLy8gU2FmYXJpIDMuMCBjYWxscyB0aGlzIG1ldGhvZAotICAgIHN0YXRpYyBCT09MIGxv
Z2dlZCA9IE5POwotICAgIGlmICghbG9nZ2VkKSB7Ci0gICAgICAgIE5TTG9nKEAiLVtXZWJJbnNw
ZWN0b3Igc2V0V2ViRnJhbWU6XTogdGhpcyBtZXRob2QgaXMgb2Jzb2xldGUuIik7Ci0gICAgICAg
IGxvZ2dlZCA9IFlFUzsKLSAgICB9Ci0KLSAgICBfd2ViVmlldyA9IFtmcmFtZSB3ZWJWaWV3XTsK
LX0KLQotI2lmICFQTEFURk9STShJT1MpCi0tIChOU1dpbmRvdyAqKXdpbmRvdwotewotICAgIC8v
IFNoaWlyYSBjYWxscyB0aGlzIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIG5pbCBzaW5jZSB3ZSBj
YW4ndCBlYXNpbHkgcmV0dXJuIHRoZSB3aW5kb3cKLSAgICBzdGF0aWMgQk9PTCBsb2dnZWQgPSBO
TzsKLSAgICBpZiAoIWxvZ2dlZCkgewotICAgICAgICBOU0xvZyhAIi1bV2ViSW5zcGVjdG9yIHdp
bmRvd106IHRoaXMgbWV0aG9kIGlzIG9ic29sZXRlIGFuZCBub3cgcmV0dXJucyBuaWwuIik7Ci0g
ICAgICAgIGxvZ2dlZCA9IFlFUzsKLSAgICB9Ci0KLSAgICByZXR1cm4gbmlsOwotfQotI2VuZGlm
Ci0KLS0gKHZvaWQpc2hvd1dpbmRvdzooaWQpc2VuZGVyCi17Ci0gICAgLy8gU2FmYXJpIDMuMCBj
YWxscyB0aGlzIG1ldGhvZAotICAgIHN0YXRpYyBCT09MIGxvZ2dlZCA9IE5POwotICAgIGlmICgh
bG9nZ2VkKSB7Ci0gICAgICAgIE5TTG9nKEAiLVtXZWJJbnNwZWN0b3Igc2hvd1dpbmRvdzpdOiB0
aGlzIG1ldGhvZCBpcyBvYnNvbGV0ZS4iKTsKLSAgICAgICAgbG9nZ2VkID0gWUVTOwotICAgIH0K
LQotICAgIFtzZWxmIHNob3dXaW5kb3ddOwotfQotQGVuZApJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCShyZXZpc2lvbiAxNzA3MDkpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNTg3LDEyICsyNTg3LDcg
QEAgLSAodm9pZClzdG9wTG9hZGluZwogCiAtICh2b2lkKXJlbG9hZAogewotI2lmICFQTEFURk9S
TShJT1MpCi0gICAgaWYgKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJ
T05fV0lUSF9SRUxPQURfRlJPTV9PUklHSU4pICYmIGFwcGxpY2F0aW9uSXNTYWZhcmkoKSkKLSAg
ICAgICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+bG9hZGVyKCkucmVsb2FkKEdldEN1cnJlbnRLZXlN
b2RpZmllcnMoKSAmIHNoaWZ0S2V5KTsKLSAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgX3ByaXZh
dGUtPmNvcmVGcmFtZS0+bG9hZGVyKCkucmVsb2FkKGZhbHNlKTsKKyAgICBfcHJpdmF0ZS0+Y29y
ZUZyYW1lLT5sb2FkZXIoKS5yZWxvYWQoZmFsc2UpOwogfQogCiAtICh2b2lkKXJlbG9hZEZyb21P
cmlnaW4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBERlZpZXcubW0JKHJldmlz
aW9uIDE3MDcwOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQCBleHRlcm4gIkMiIE5TU3RyaW5nICpfTlNQ
YXRoRm9yU3lzdGVtRnJhCiBAaW50ZXJmYWNlIFdlYlBERlZpZXcgKEZpbGVJbnRlcm5hbCkKICsg
KENsYXNzKV9QREZQcmV2aWV3Vmlld0NsYXNzOwogKyAoQ2xhc3MpX1BERlZpZXdDbGFzczsKLS0g
KEJPT0wpX2FueVBERlRhZ3NGb3VuZEluTWVudTooTlNNZW51ICopbWVudTsKIC0gKHZvaWQpX2Fw
cGx5UERGRGVmYXVsdHM7CiAtIChCT09MKV9jYW5Mb29rVXBJbkRpY3Rpb25hcnk7CiAtIChOU0Ns
aXBWaWV3ICopX2NsaXBWaWV3Rm9yUERGRG9jdW1lbnRWaWV3OwpAQCAtNDUwLDMzICs0NDksNyBA
QCAtIChOU01lbnUgKiltZW51Rm9yRXZlbnQ6KE5TRXZlbnQgKil0aGVFCiAgICAgLy8gcGFzcyB0
aGUgaXRlbXMgb2ZmIHRvIHRoZSBXZWJLaXQgY29udGV4dCBtZW51IG1lY2hhbmlzbQogICAgIFdl
YlZpZXcgKndlYlZpZXcgPSBbW2RhdGFTb3VyY2Ugd2ViRnJhbWVdIHdlYlZpZXddOwogICAgIEFT
U0VSVCh3ZWJWaWV3KTsKLSAgICBOU01lbnUgKm1lbnUgPSBbd2ViVmlldyBfbWVudUZvckVsZW1l
bnQ6W3NlbGYgZWxlbWVudEF0UG9pbnQ6W3NlbGYgY29udmVydFBvaW50Olt0aGVFdmVudCBsb2Nh
dGlvbkluV2luZG93XSBmcm9tVmlldzpuaWxdXSBkZWZhdWx0SXRlbXM6aXRlbXNdOwotICAgIAot
ICAgIC8vIFRoZSBkZWxlZ2F0ZSBoYXMgbm93IGhhZCB0aGUgb3Bwb3J0dW5pdHkgdG8gYWRkIGl0
ZW1zIHRvIHRoZSBzdGFuZGFyZCBQREYtcmVsYXRlZCBpdGVtcywgb3IgdG8KLSAgICAvLyByZW1v
dmUgb3IgbW9kaWZ5IHNvbWUgb2YgdGhlIFBERi1yZWxhdGVkIGl0ZW1zLiBJbiAxMC40LCB0aGUg
UERGIGNvbnRleHQgbWVudSBkaWQgbm90IGdvIHRocm91Z2ggCi0gICAgLy8gdGhlIHN0YW5kYXJk
IFdlYktpdCBkZWxlZ2F0ZSBwYXRoLCBhbmQgc28gdGhlIHN0YW5kYXJkIFBERi1yZWxhdGVkIGl0
ZW1zIGFsd2F5cyBhcHBlYXJlZC4gRm9yCi0gICAgLy8gY2xpZW50cyB0aGF0IGNyZWF0ZSB0aGVp
ciBvd24gY29udGV4dCBtZW51IGJ5IGhhbmQtcGlja2luZyBzcGVjaWZpYyBpdGVtcyBmcm9tIHRo
ZSBkZWZhdWx0IGxpc3QsIHN1Y2ggYXMKLSAgICAvLyBTYWZhcmksIG5vbmUgb2YgdGhlIFBERi1y
ZWxhdGVkIGl0ZW1zIHdpbGwgYXBwZWFyIHVudGlsIHRoZSBjbGllbnQgaXMgcmV3cml0dGVuIHRv
IGV4cGxpY2l0bHkKLSAgICAvLyBpbmNsdWRlIHRoZXNlIGl0ZW1zLiBGb3IgYmFja3dhcmRzIGNv
bXBhdGliaWxpdHkgb2YgdGlwLW9mLXRyZWUgV2ViS2l0IHdpdGggdGhlIDEwLjQgdmVyc2lvbiBv
ZiBTYWZhcmkKLSAgICAvLyAodGhlIGNvbmZpZ3VyYXRpb24gdGhhdCBwZW9wbGUgYnVpbGRpbmcg
b3BlbiBzb3VyY2UgV2ViS2l0IHVzZSksIHdlJ2xsIHVzZSB0aGUgZW50aXJlIHNldCBvZiBQREZL
aXQtc3VwcGxpZWQKLSAgICAvLyBtZW51IGl0ZW1zLiBUaGlzIGJhY2t3YXJkLWNvbXBhdGliaWxp
dHkgaGFjayB3b24ndCB3b3JrIHdpdGggYW55IG5vbi1TYWZhcmkgY2xpZW50cywgYnV0IHRoaXMg
c2VlbXMgT0sgc2luY2UKLSAgICAvLyAoMSkgdGhlIHN5bXB0b20gaXMgZmFpcmx5IG1pbm9yLCBh
bmQgKDIpIHdlIHN1c3BlY3QgdGhhdCBub24tU2FmYXJpIGNsaWVudHMgYXJlIHByb2JhYmx5IHVz
aW5nIHRoZSBlbnRpcmUKLSAgICAvLyBzZXQgb2YgZGVmYXVsdCBpdGVtcywgcmF0aGVyIHRoYW4g
bWFudWFsbHkgY2hvb3NpbmcgZnJvbSB0aGVtLiBXZSBjYW4gcmVtb3ZlIHRoaXMgY29kZSBlbnRp
cmVseSB3aGVuIHdlCi0gICAgLy8gc2hpcCBhIHZlcnNpb24gb2YgU2FmYXJpIHRoYXQgaW5jbHVk
ZXMgdGhlIGZpeCBmb3IgcmFkYXIgMzc5NjU3OS4KLSAgICBpZiAoIVtzZWxmIF9hbnlQREZUYWdz
Rm91bmRJbk1lbnU6bWVudV0gJiYgYXBwbGljYXRpb25Jc1NhZmFyaSgpKSB7Ci0gICAgICAgIFtt
ZW51IGFkZEl0ZW06W05TTWVudUl0ZW0gc2VwYXJhdG9ySXRlbV1dOwotICAgICAgICBOU0VudW1l
cmF0b3IgKmUgPSBbaXRlbXMgb2JqZWN0RW51bWVyYXRvcl07Ci0gICAgICAgIE5TTWVudUl0ZW0g
Km1lbnVJdGVtOwotICAgICAgICB3aGlsZSAoKG1lbnVJdGVtID0gW2UgbmV4dE9iamVjdF0pICE9
IG5pbCkgewotICAgICAgICAgICAgLy8gY29weSBtZW51SXRlbSBzaW5jZSBhIGdpdmVuIG1lbnVJ
dGVtIGNhbiBiZSBpbiBvbmx5IG9uZSBtZW51IGF0IGEgdGltZSwgYW5kIHdlIGRvbid0Ci0gICAg
ICAgICAgICAvLyB3YW50IHRvIG1lc3Mgd2l0aCB0aGUgbWVudSByZXR1cm5lZCBmcm9tIFBERktp
dC4KLSAgICAgICAgICAgIE5TTWVudUl0ZW0gKm1lbnVJdGVtQ29weSA9IFttZW51SXRlbSBjb3B5
XTsKLSAgICAgICAgICAgIFttZW51IGFkZEl0ZW06bWVudUl0ZW1Db3B5XTsKLSAgICAgICAgICAg
IFttZW51SXRlbUNvcHkgcmVsZWFzZV07Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0
dXJuIG1lbnU7CisgICAgcmV0dXJuIFt3ZWJWaWV3IF9tZW51Rm9yRWxlbWVudDpbc2VsZiBlbGVt
ZW50QXRQb2ludDpbc2VsZiBjb252ZXJ0UG9pbnQ6W3RoZUV2ZW50IGxvY2F0aW9uSW5XaW5kb3dd
IGZyb21WaWV3Om5pbF1dIGRlZmF1bHRJdGVtczppdGVtc107CiB9CiAKIC0gKHZvaWQpc2V0TmV4
dEtleVZpZXc6KE5TVmlldyAqKWFWaWV3CkBAIC0xMTE1LDMwICsxMDg4LDYgQEAgKyAoQ2xhc3Mp
X1BERlZpZXdDbGFzcwogICAgIHJldHVybiBQREZWaWV3Q2xhc3M7CiB9CiAKLS0gKEJPT0wpX2Fu
eVBERlRhZ3NGb3VuZEluTWVudTooTlNNZW51ICopbWVudQotewotICAgIE5TRW51bWVyYXRvciAq
ZSA9IFtbbWVudSBpdGVtQXJyYXldIG9iamVjdEVudW1lcmF0b3JdOwotICAgIE5TTWVudUl0ZW0g
Kml0ZW07Ci0gICAgd2hpbGUgKChpdGVtID0gW2UgbmV4dE9iamVjdF0pICE9IG5pbCkgewotICAg
ICAgICBzd2l0Y2ggKFtpdGVtIHRhZ10pIHsKLSAgICAgICAgICAgIGNhc2UgV2ViTWVudUl0ZW1U
YWdPcGVuV2l0aERlZmF1bHRBcHBsaWNhdGlvbjoKLSAgICAgICAgICAgIGNhc2UgV2ViTWVudUl0
ZW1QREZBY3R1YWxTaXplOgotICAgICAgICAgICAgY2FzZSBXZWJNZW51SXRlbVBERlpvb21JbjoK
LSAgICAgICAgICAgIGNhc2UgV2ViTWVudUl0ZW1QREZab29tT3V0OgotICAgICAgICAgICAgY2Fz
ZSBXZWJNZW51SXRlbVBERkF1dG9TaXplOgotICAgICAgICAgICAgY2FzZSBXZWJNZW51SXRlbVBE
RlNpbmdsZVBhZ2U6Ci0gICAgICAgICAgICBjYXNlIFdlYk1lbnVJdGVtUERGU2luZ2xlUGFnZVNj
cm9sbGluZzoKLSAgICAgICAgICAgIGNhc2UgV2ViTWVudUl0ZW1QREZGYWNpbmdQYWdlczoKLSAg
ICAgICAgICAgIGNhc2UgV2ViTWVudUl0ZW1QREZGYWNpbmdQYWdlc1Njcm9sbGluZzoKLSAgICAg
ICAgICAgIGNhc2UgV2ViTWVudUl0ZW1QREZDb250aW51b3VzOgotICAgICAgICAgICAgY2FzZSBX
ZWJNZW51SXRlbVBERk5leHRQYWdlOgotICAgICAgICAgICAgY2FzZSBXZWJNZW51SXRlbVBERlBy
ZXZpb3VzUGFnZToKLSAgICAgICAgICAgICAgICByZXR1cm4gWUVTOwotICAgICAgICB9Ci0gICAg
fQotICAgIHJldHVybiBOTzsKLX0KLQogLSAodm9pZClfYXBwbHlQREZEZWZhdWx0cwogewogICAg
IC8vIFNldCB1cCBkZWZhdWx0IHZpZXdpbmcgcGFyYW1zCkluZGV4OiBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAxNzA3MDkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNTYsMTIgKzEwNTYsOCBAQCAt
ICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAjZW5kaWYKIH0KIAotLSAo
aWQpX2luaXRXaXRoRnJhbWU6KE5TUmVjdClmIGZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5h
bWUgZ3JvdXBOYW1lOihOU1N0cmluZyAqKWdyb3VwTmFtZSB1c2VzRG9jdW1lbnRWaWV3czooQk9P
TCl1c2VzRG9jdW1lbnRWaWV3cworLSAoaWQpX2luaXRXaXRoRnJhbWU6KE5TUmVjdClmIGZyYW1l
TmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0cmluZyAqKWdyb3VwTmFt
ZQogewotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlIHVzZXNEb2N1bWVudFZpZXdzIHBhcmFtZXRl
cjsgaXQncyBvbmx5IGhlcmUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBXZWJLaXQgbmlnaHRseSBi
dWlsZHMKLSAgICAvLyBydW5uaW5nIGFnYWluc3QgU2FmYXJpIDUgb24gTGVvcGFyZC4KLSAgICBB
U1NFUlQodXNlc0RvY3VtZW50Vmlld3MpOwotCiAgICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aEZy
YW1lOmZdOwogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTE0NjYsMTMg
KzE0NjIsNiBAQCAtIChCT09MKV92aWV3Q2xhc3M6KENsYXNzICopdkNsYXNzIGFuZFJlCiAgICAg
cmV0dXJuIE5POwogfQogCi0jaWYgIVBMQVRGT1JNKElPUykKLSsgKHZvaWQpX3NldEFsd2F5c1Vz
ZUFUU1U6KEJPT0wpZgotewotICAgIFtzZWxmIF9zZXRBbHdheXNVc2VzQ29tcGxleFRleHRDb2Rl
UGF0aDpmXTsKLX0KLSNlbmRpZgotCiArICh2b2lkKV9zZXRBbHdheXNVc2VzQ29tcGxleFRleHRD
b2RlUGF0aDooQk9PTClmCiB7CiAgICAgRm9udDo6c2V0Q29kZVBhdGgoZiA/IEZvbnQ6OkNvbXBs
ZXggOiBGb250OjpBdXRvKTsKQEAgLTIxMzYsMTcgKzIxMjUsNiBAQCAtIChCT09MKV9uZWVkc1By
ZUhUTUw1UGFyc2VyUXVpcmtzCiAjZW5kaWYKIH0KIAotLSAoQk9PTClfbmVlZHNVbnJlc3RyaWN0
ZWRHZXRNYXRjaGVkQ1NTUnVsZXMKLXsKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIHN0YXRpYyBi
b29sIG5lZWRzVW5yZXN0cmljdGVkR2V0TWF0Y2hlZENTU1J1bGVzID0gIVdlYktpdExpbmtlZE9u
T3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0dFVF9NQVRDSEVEX0NTU19SVUxFU19S
RVNUUklDVElPTlMpICYmIGFwcGxpY2F0aW9uSXNTYWZhcmkoKTsKLSAgICByZXR1cm4gbmVlZHNV
bnJlc3RyaWN0ZWRHZXRNYXRjaGVkQ1NTUnVsZXM7Ci0jZWxzZQotICAgIC8vIEZJWE1FOiA8cmRh
cjovL3Byb2JsZW0vODk2MzY4ND4gSW1wbGVtZW50IGxpbmtlZC1vbi1vci1hZnRlciBjaGVjayBm
b3IgbmVlZHNVbnJlc3RyaWN0ZWRHZXRNYXRjaGVkQ1NTUnVsZXMKLSAgICByZXR1cm4gTk87Ci0j
ZW5kaWYKLX0KLQogLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOihOU05v
dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIyOTEs
NyArMjI2OSw2IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAg
ICBzZXR0aW5ncy5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChbcHJlZmVyZW5j
ZXMgYXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRI
eXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGh5cGVybGlua0F1ZGl0aW5nRW5h
YmxlZF0pOwogICAgIHNldHRpbmdzLnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKFtzZWxmIF9u
ZWVkc1ByZUhUTUw1UGFyc2VyUXVpcmtzXSk7Ci0gICAgc2V0dGluZ3Muc2V0Q3Jvc3NPcmlnaW5D
aGVja0luR2V0TWF0Y2hlZENTU1J1bGVzRGlzYWJsZWQoW3NlbGYgX25lZWRzVW5yZXN0cmljdGVk
R2V0TWF0Y2hlZENTU1J1bGVzXSk7CiAgICAgc2V0dGluZ3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFs
aWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWRdKTsK
ICAgICBzZXR0aW5ncy5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbihbc2Vs
ZiB2YWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbl0pOwogCkBAIC01MDEzLDcgKzQ5
OTAsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgCiAjZW5kaWYK
IAogICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kVHdvKCk7Ci0gICAgcmV0dXJu
IFtzZWxmIF9pbml0V2l0aEZyYW1lOmYgZnJhbWVOYW1lOmZyYW1lTmFtZSBncm91cE5hbWU6Z3Jv
dXBOYW1lIHVzZXNEb2N1bWVudFZpZXdzOllFU107CisgICAgcmV0dXJuIFtzZWxmIF9pbml0V2l0
aEZyYW1lOmYgZnJhbWVOYW1lOmZyYW1lTmFtZSBncm91cE5hbWU6Z3JvdXBOYW1lXTsKIH0KIAog
I2lmICFQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAxNzA3MDkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXdQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwOSwxMCArNTA5LDYgQEAg
Q291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiArIChOU1N0cmluZyAqKV9kZWNvZGVE
YXRhOihOU0RhdGEgKilkYXRhOwogCiArICh2b2lkKV9zZXRBbHdheXNVc2VzQ29tcGxleFRleHRD
b2RlUGF0aDooQk9PTClmOwotI2lmICFUQVJHRVRfT1NfSVBIT05FCi0vLyBUaGlzIGlzIHRoZSBv
bGQgbmFtZSBvZiB0aGUgYWJvdmUgbWV0aG9kLiBOZWVkZWQgZm9yIFNhZmFyaSB2ZXJzaW9ucyB0
aGF0IGNhbGwgaXQuCi0rICh2b2lkKV9zZXRBbHdheXNVc2VBVFNVOihCT09MKWY7Ci0jZW5kaWYK
IAogKyAodm9pZClfc2V0QWxsb3dzUm91bmRpbmdIYWNrczooQk9PTClhbGxvd3NSb3VuZGluZ0hh
Y2tzOwogKyAoQk9PTClfYWxsb3dzUm91bmRpbmdIYWNrczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>