<?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>168600</bug_id>
          
          <creation_ts>2017-02-20 08:44:39 -0800</creation_ts>
          <short_desc>Remove the data interaction gesture recognizer</short_desc>
          <delta_ts>2017-02-28 14:05:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>168583</dependson>
          <blocked>168602</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>andersca</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1278935</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-20 08:44:39 -0800</bug_when>
    <thetext>Work towards &lt;rdar://problem/30313681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278941</commentid>
    <comment_count>1</comment_count>
      <attachid>302148</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-20 08:51:38 -0800</bug_when>
    <thetext>Created attachment 302148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279176</commentid>
    <comment_count>2</comment_count>
      <attachid>302216</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-20 18:32:33 -0800</bug_when>
    <thetext>Created attachment 302216
EWS trial run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281945</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-28 14:05:36 -0800</bug_when>
    <thetext>Fixed in r212973</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302148</attachid>
            <date>2017-02-20 08:51:38 -0800</date>
            <delta_ts>2017-02-20 12:05:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168600-20170220084855.patch</filename>
            <type>text/plain</type>
            <size>16166</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2FmZGVhNjA0MGNiYmI1
YzRhMDEyZGRiNjdkZDY3NjcyY2E5Y2QzYS4uYjk3NzE4MmZiMDAzZTJkMjI5MTBmNWU0NGY3ZTg2
NzNlMGQ0NjdjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAyLTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB0aGUg
ZGF0YSBpbnRlcmFjdGlvbiBnZXN0dXJlIHJlY29nbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODYwMAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzAzMTM2ODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIGRhdGEgaW50ZXJhY3Rpb24gZ2VzdHVyZSByZWNvZ25pemVyIHdpbGwgbm8gbG9u
Z2VyIGJlIG5lZWRlZCBtb3ZpbmcgZm9yd2FyZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NpbXVsYXRlRGF0YUlu
dGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNldHVw
SW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhbnVwSW50ZXJhY3Rp
b25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3ZlRGVmYXVsdEdlc3R1cmVSZWNv
Z25pemVyc10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9hZGREZWZhdWx0R2VzdHVyZVJl
Y29nbml6ZXJzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZ2VzdHVyZVJlY29nbml6ZXI6
c2hvdWxkUmVjb2duaXplU2ltdWx0YW5lb3VzbHlXaXRoR2VzdHVyZVJlY29nbml6ZXI6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjpdKToK
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6
ZXJdKTogRGVsZXRlZC4KKwogMjAxNy0wMi0xOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgdG8gdGhlIFVJIHByb2Nlc3MgZm9y
IFRleHRJbmRpY2F0b3JEYXRhIHdoZW4gY29tcHV0aW5nIHRoZSBkcmFnIGltYWdlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDQ0NTM0
MWYzYmY2NmI3NWYzY2QxZTI2NTg5ZGEyNzY0MGMxZmViZjAuLjQ4OTRlNzNkNjQ0NDZmNmQ4MTJh
OTZhZmI2ODVjZDIxM2FkZWY0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01MTcxLDExICs1MTcxLDYgQEAgc3RhdGljIFdlYkNv
cmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdG9Vc2VySW50ZXJmYWNlTGF5b3V0RGly
ZWN0aW9uKFVJU2UKICAgICBXZWJLaXQ6OlZpZXdTbmFwc2hvdFN0b3JlOjpzaW5nbGV0b24oKS5z
ZXREaXNhYmxlU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGluZyh0cnVlKTsKIH0KIAotCi0tICh2
b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkCi17Ci19Ci0KIC0g
KHZvaWQpX3NpbXVsYXRlRGF0YUludGVyYWN0aW9uRW50ZXJlZDooaWQpaW5mbwogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaAppbmRleCBiMGE5OWQ2ZjIyMThiMDY1NGY5ODFkODg2M2I0OGQ2MTQwOTFkNzU5Li44NjQw
MjAwNmE2NGUxMTU3OTE4YmQyMTM0N2M0NWVhMDZlYjI4MTE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzA2
LDcgKzMwNiw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ltbWVkaWF0ZUFjdGlv
blR5cGUpIHsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX3N0
YWJsZVN0YXRlT3ZlcnJpZGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogCi0t
ICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NpbXVsYXRlRGF0YUludGVyYWN0
aW9uRW50ZXJlZDooaWQpaW5mbyBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CiAt
ICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblVwZGF0ZWQ6KGlkKWluZm8gV0tfQVBJX0FW
QUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rp
b25QZXJmb3JtT3BlcmF0aW9uOihpZClpbmZvIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19U
QkEpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IGI2YmZjNmQ0ZTkxNDBiYmE1NTIxM2Y1NTI3NzJmMjM0
ODVlZmUxZGYuLjJiOGMzM2NiMWM1OGIxOGM5NzgwYjQzNjVkNzllM2ZjOTA3MDQxZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24uaApAQCAtMTE4LDkgKzExOCw2IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0
YSB7CiAgICAgUmV0YWluUHRyPFVJVGFwR2VzdHVyZVJlY29nbml6ZXI+IF90d29GaW5nZXJEb3Vi
bGVUYXBHZXN0dXJlUmVjb2duaXplcjsKICAgICBSZXRhaW5QdHI8VUlUYXBHZXN0dXJlUmVjb2du
aXplcj4gX3R3b0ZpbmdlclNpbmdsZVRhcEdlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0
cjxXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplcj4gX2luc3BlY3Rvck5vZGVT
ZWFyY2hHZXN0dXJlUmVjb2duaXplcjsKLSNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAg
ICBSZXRhaW5QdHI8VUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcj4gX2RhdGFJbnRlcmFjdGlv
bkdlc3R1cmVSZWNvZ25pemVyOwotI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8VUlXS1RleHRJbnRl
cmFjdGlvbkFzc2lzdGFudD4gX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQ7CiAgICAgUmV0YWluUHRy
PFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQ+IF93ZWJTZWxlY3Rpb25Bc3Npc3RhbnQ7CkBAIC0yNzEs
NyArMjY4LDYgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIC0gKHZvaWQpX2RpZFBl
cmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uOwogLSAodm9pZClfZGlkSGFu
ZGxlU3RhcnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0OihCT09MKXN0YXJ0ZWQ7CiAtICh2b2lkKV9z
dGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZTooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdl
IHdpdGhJbmRpY2F0b3JEYXRhOihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JE
YXRhPilpbmRpY2F0b3JEYXRhIGF0Q2xpZW50UG9zaXRpb246KENHUG9pbnQpY2xpZW50UG9zaXRp
b24gYW5jaG9yUG9pbnQ6KENHUG9pbnQpYW5jaG9yUG9pbnQgYWN0aW9uOih1aW50NjRfdClhY3Rp
b247Ci0tICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkOihV
SUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIgV0tfQVBJX0FW
QUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rp
b25FbnRlcmVkOihpZClpbmZvIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIC0g
KHZvaWQpX3NpbXVsYXRlRGF0YUludGVyYWN0aW9uVXBkYXRlZDooaWQpaW5mbyBXS19BUElfQVZB
SUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlv
blBlcmZvcm1PcGVyYXRpb246KGlkKWluZm8gV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RC
QSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBmOTU3YzZjNWIyYzU3YjAwZjEwNmNiODIwZTU5NjVm
MDgxNjBhODZhLi4zODkyM2M2NmM1Njg4MWY4YjA0MmUzZDU4YzNmNTY1ZDZiOTM0ZTY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQpAQCAtNTU4LDExICs1NTgsNiBAQCBzdGF0aWMgVUlXZWJTZWxlY3Rpb25N
b2RlIHRvVUlXZWJTZWxlY3Rpb25Nb2RlKFdLU2VsZWN0aW9uR3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dAogICAgIFtzZWxmIF9jcmVhdGVBbmRDb25maWd1cmVMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
cl07CiAKICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBfZGF0YUludGVyYWN0aW9u
R2VzdHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtbVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
ciBhbGxvY10gaW5pdFdpdGhUYXJnZXQ6c2VsZiBhY3Rpb246QHNlbGVjdG9yKF9kYXRhSW50ZXJh
Y3Rpb25HZXN0dXJlUmVjb2duaXplZDopXSk7Ci0gICAgW19kYXRhSW50ZXJhY3Rpb25HZXN0dXJl
UmVjb2duaXplciBzZXREZWxheTowLjVdOwotICAgIFtfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJl
Y29nbml6ZXIgc2V0RGVsZWdhdGU6c2VsZl07Ci0gICAgW19kYXRhSW50ZXJhY3Rpb25HZXN0dXJl
UmVjb2duaXplciBfc2V0UmVxdWlyZXNRdWlldEltcHVsc2U6WUVTXTsKLSAgICBbc2VsZiBhZGRH
ZXN0dXJlUmVjb2duaXplcjpfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCld
OwogICAgIFtzZWxmIHNldHVwRGF0YUludGVyYWN0aW9uRGVsZWdhdGVzXTsKICNlbmRpZgogCkBA
IC02NDIsOCArNjM3LDYgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0b1VJV2ViU2VsZWN0
aW9uTW9kZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAgICBbc2VsZiByZW1v
dmVHZXN0dXJlUmVjb2duaXplcjpfdHdvRmluZ2VyU2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIu
Z2V0KCldOwogCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgW19kYXRhSW50ZXJh
Y3Rpb25HZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpuaWxdOwotICAgIFtzZWxmIHJlbW92
ZUdlc3R1cmVSZWNvZ25pemVyOl9kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQo
KV07CiAgICAgW3NlbGYgdGVhcmRvd25EYXRhSW50ZXJhY3Rpb25EZWxlZ2F0ZXNdOwogI2VuZGlm
CiAKQEAgLTY3NCw5ICs2NjcsNiBAQCBzdGF0aWMgVUlXZWJTZWxlY3Rpb25Nb2RlIHRvVUlXZWJT
ZWxlY3Rpb25Nb2RlKFdLU2VsZWN0aW9uR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdAogICAgIFtzZWxm
IHJlbW92ZUdlc3R1cmVSZWNvZ25pemVyOl9ub25CbG9ja2luZ0RvdWJsZVRhcEdlc3R1cmVSZWNv
Z25pemVyLmdldCgpXTsKICAgICBbc2VsZiByZW1vdmVHZXN0dXJlUmVjb2duaXplcjpfdHdvRmlu
Z2VyRG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwogICAgIFtzZWxmIHJlbW92ZUdl
c3R1cmVSZWNvZ25pemVyOl90d29GaW5nZXJTaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplci5nZXQo
KV07Ci0jaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgW3NlbGYgcmVtb3ZlR2VzdHVy
ZVJlY29nbml6ZXI6X2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdldCgpXTsKLSNl
bmRpZgogfQogCiAtICh2b2lkKV9hZGREZWZhdWx0R2VzdHVyZVJlY29nbml6ZXJzCkBAIC02ODgs
OSArNjc4LDYgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0b1VJV2ViU2VsZWN0aW9uTW9k
ZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAgICBbc2VsZiBhZGRHZXN0dXJl
UmVjb2duaXplcjpfbm9uQmxvY2tpbmdEb3VibGVUYXBHZXN0dXJlUmVjb2duaXplci5nZXQoKV07
CiAgICAgW3NlbGYgYWRkR2VzdHVyZVJlY29nbml6ZXI6X3R3b0ZpbmdlckRvdWJsZVRhcEdlc3R1
cmVSZWNvZ25pemVyLmdldCgpXTsKICAgICBbc2VsZiBhZGRHZXN0dXJlUmVjb2duaXplcjpfdHdv
RmluZ2VyU2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwotI2lmIEVOQUJMRShEQVRB
X0lOVEVSQUNUSU9OKQotICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl9kYXRhSW50ZXJh
Y3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKV07Ci0jZW5kaWYKIH0KIAogLSAoVUlWaWV3Kil1
bnNjYWxlZFZpZXcKQEAgLTEyMjYsMTQgKzEyMTMsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNT
YW1lUGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNvZ25pemVyICpiLCBV
SQogICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhlckdlc3R1cmVSZWNv
Z25pemVyLCBfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCksIF9wcmV2
aWV3R2VzdHVyZVJlY29nbml6ZXIuZ2V0KCkpKQogICAgICAgICByZXR1cm4gWUVTOwogCi0jaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgaWYgKGlzU2FtZVBhaXIoZ2VzdHVyZVJlY29n
bml6ZXIsIG90aGVyR2VzdHVyZVJlY29nbml6ZXIsIF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplci5nZXQoKSwgX2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdldCgp
KSkKLSAgICAgICAgcmV0dXJuIFlFUzsKLQotICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNv
Z25pemVyLCBvdGhlckdlc3R1cmVSZWNvZ25pemVyLCBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXIuZ2V0KCksIF9kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKSkpCi0gICAg
ICAgIHJldHVybiBZRVM7Ci0jZW5kaWYKLQogICAgIHJldHVybiBOTzsKIH0KIApAQCAtMTQwNCwx
MSArMTM4Myw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVQYWlyKFVJR2VzdHVyZVJlY29n
bml6ZXIgKmEsIFVJR2VzdHVyZVJlY29nbml6ZXIgKmIsIFVJCiAgICAgICAgIH0KICAgICB9CiAK
LSNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBpZiAoZ2VzdHVyZVJlY29nbml6ZXIg
PT0gX2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyKQotICAgICAgICByZXR1cm4gW3Nl
bGYgcG9pbnRJc0luRGF0YUludGVyYWN0aW9uQ29udGVudDpwb2ludF07Ci0jZW5kaWYKLQogICAg
IHJldHVybiBZRVM7CiB9CiAKQEAgLTE0NjQsMTEgKzE0MzgsNiBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgaXNTYW1lUGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNvZ25pemVy
ICpiLCBVSQogICAgIHJldHVybiBfcG9zaXRpb25JbmZvcm1hdGlvbi5oYXNTZWxlY3Rpb25BdFBv
c2l0aW9uOwogfQogCi0tIChVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICopX2RhdGFJbnRl
cmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyCi17Ci0gICAgcmV0dXJuIF9kYXRhSW50ZXJhY3Rpb25H
ZXN0dXJlUmVjb2duaXplci5nZXQoKTsKLX0KLQogI2VuZGlmCiAKIC0gKEJPT0wpcG9pbnRJc05l
YXJNYXJrZWRUZXh0OihDR1BvaW50KXBvaW50CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTM4OWRjYmNmNThhOWI1MzVkODAzYmVlZDM4ZjA1MmE3
MTA3Y2MxYi4uOTkyNzNmNTQzNTBmZGM0ZmIyMGU0YWI2MzhiMWIyZjk1MzA3ZDViMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDE3LTAyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSB0aGUgZGF0YSBpbnRlcmFjdGlvbiBnZXN0dXJlIHJlY29nbml6ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODYwMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzMTM2ODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0IFRlc3RXZWJLaXRBUEkgZm9yIGNoYW5n
ZXMgaW4gV2ViS2l0Mi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFj
dGlvblNpbXVsYXRvci5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFj
dGlvblNpbXVsYXRvci5tbToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGlu
aXRXaXRoV2ViVmlldzpdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHJ1
bkZyb206dG86XSk6CisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBfYWR2YW5j
ZVByb2dyZXNzXSk6CisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBfZmluaXNo
RGF0YUludGVyYWN0aW9uXSk6CisgICAgICAgICgtW01vY2tMb25nUHJlc3NHZXN0dXJlUmVjb2du
aXplciBpbml0V2l0aFdpbmRvdzpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bTW9ja0xvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyIGxvY2F0aW9uSW5WaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAo
LVtNb2NrTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgc3RhdGVdKTogRGVsZXRlZC4KKyAgICAg
ICAgKC1bTW9ja0xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIG51bWJlck9mVG91Y2hlc10pOiBE
ZWxldGVkLgorICAgICAgICAoLVtEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgX3JlY29nbml6ZUdl
c3R1cmVBdExvY2F0aW9uOndpdGhTdGF0ZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bRGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIGRhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyXSk6IERl
bGV0ZWQuCisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciB3ZWJWaWV3OmJlZ2lu
RGF0YUludGVyYWN0aW9uV2l0aFNvdXJjZUluZGV4Omdlc3R1cmVSZWNvZ25pemVyOl0pOiBEZWxl
dGVkLgorCiAyMDE3LTAyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXSzJdIEFkZCBhZGRpdGlvbmFsIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgYW5k
IHVuaXQgdGVzdHMgZm9yIGRhdGEgaW50ZXJhY3Rpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLmgKaW5kZXggNzQ5NGU3NmI5MGU4MTdk
MTQ1N2UzMDY4ZDg1MTRjZThiNzRmYjA0NS4uYWU2YzhjZmZiYzRjZmY1NmJiOTZkMGRiNDA5OTZi
MTcxOTE2OTU0MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tU
ZXN0aW5nRGVsZWdhdGUuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogCi1AY2xhc3MgTW9j
a0xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyOwogQGNsYXNzIE1vY2tEYXRhSW50ZXJhY3Rpb25J
bmZvOwogCiBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBEYXRhSW50ZXJhY3Rpb25FbnRlckV2ZW50
TmFtZTsKQEAgLTQ5LDcgKzQ4LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgRGF0YUlu
dGVyYWN0aW9uUGhhc2UpIHsKIAogQGludGVyZmFjZSBEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Ig
OiBOU09iamVjdDxfV0tUZXN0aW5nRGVsZWdhdGU+IHsKICAgICBSZXRhaW5QdHI8VGVzdFdLV2Vi
Vmlldz4gX3dlYlZpZXc7Ci0gICAgUmV0YWluUHRyPE1vY2tMb25nUHJlc3NHZXN0dXJlUmVjb2du
aXplcj4gX2dlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxNb2NrRGF0YUludGVyYWN0
aW9uSW5mbz4gX2RhdGFJbnRlcmFjdGlvbkluZm87CiAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFy
cmF5PiBfb2JzZXJ2ZWRFdmVudE5hbWVzOwogICAgIFJldGFpblB0cjxVSUl0ZW1Qcm92aWRlcj4g
X2V4dGVybmFsSXRlbVByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9p
b3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3Mv
RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1tCmluZGV4IGU2YjU4MWQ1MDQ2NDljOWNhM2E5Y2Uy
ZmY0MjI4YzA3ZDAyMGYzNGYuLjkzNWMyYjdlNzM1ZDEwN2JhOGYyYjc2ZGNkMDM2ZTViZDY5ZDBh
MGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNp
bXVsYXRvci5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IubW0KQEAgLTM5LDQ2ICszOSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJOwogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3JB
ZGRpdGlvbnMubW0+CiAjZW5kaWYKIAotQGludGVyZmFjZSBNb2NrTG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIgOiBVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHsKLSAgICBSZXRhaW5QdHI8
VUlXaW5kb3c+IF93aW5kb3c7Ci19Ci0KLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBDR1BvaW50IG1v
Y2tMb2NhdGlvbkluV2luZG93OwotQHByb3BlcnR5IChub25hdG9taWMpIFVJR2VzdHVyZVJlY29n
bml6ZXJTdGF0ZSBtb2NrU3RhdGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYykgTlNJbnRlZ2VyIG1v
Y2tOdW1iZXJPZlRvdWNoZXM7Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIE1vY2tMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplcgotCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhXaW5kb3c6KFVJ
V2luZG93ICopd2luZG93Ci17Ci0gICAgaWYgKHNlbGYgPSBbc3VwZXIgaW5pdF0pIHsKLSAgICAg
ICAgX3dpbmRvdyA9IHdpbmRvdzsKLSAgICAgICAgX21vY2tTdGF0ZSA9IFVJR2VzdHVyZVJlY29n
bml6ZXJTdGF0ZVBvc3NpYmxlOwotICAgICAgICBfbW9ja051bWJlck9mVG91Y2hlcyA9IDA7Ci0g
ICAgICAgIF9tb2NrTG9jYXRpb25JbldpbmRvdyA9IENHUG9pbnRaZXJvOwotICAgIH0KLSAgICBy
ZXR1cm4gc2VsZjsKLX0KLQotLSAoQ0dQb2ludClsb2NhdGlvbkluVmlldzooVUlWaWV3ICopdmll
dwotewotICAgIHJldHVybiBbdmlldyBjb252ZXJ0UG9pbnQ6X21vY2tMb2NhdGlvbkluV2luZG93
IGZyb21WaWV3Ol93aW5kb3cuZ2V0KCldOwotfQotCi0tIChVSUdlc3R1cmVSZWNvZ25pemVyU3Rh
dGUpc3RhdGUKLXsKLSAgICByZXR1cm4gX21vY2tTdGF0ZTsKLX0KLQotLSAoTlNVSW50ZWdlcilu
dW1iZXJPZlRvdWNoZXMKLXsKLSAgICByZXR1cm4gX21vY2tOdW1iZXJPZlRvdWNoZXM7Ci19Ci0K
LUBlbmQKLQogc3RhdGljIGRvdWJsZSBwcm9ncmVzc0luY3JlbWVudFN0ZXAgPSAwLjAzMzsKIHN0
YXRpYyBkb3VibGUgcHJvZ3Jlc3NUaW1lU3RlcCA9IDAuMDE2OwogCkBAIC05OCw5ICs1OCw2IEBA
IHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkKIHsKICAgICBpZiAo
c2VsZiA9IFtzdXBlciBpbml0XSkgewogICAgICAgICBfd2ViVmlldyA9IHdlYlZpZXc7Ci0gICAg
ICAgIF9nZXN0dXJlUmVjb2duaXplciA9IGFkb3B0TlMoW1tNb2NrTG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIgYWxsb2NdIGluaXRXaXRoV2luZG93OndlYlZpZXcud2luZG93XSk7Ci0KLSAgICAg
ICAgW19nZXN0dXJlUmVjb2duaXplciBzZXRNb2NrTnVtYmVyT2ZUb3VjaGVzOjBdOwogICAgICAg
ICBbX3dlYlZpZXcgX3NldFRlc3RpbmdEZWxlZ2F0ZTpzZWxmXTsKICAgICB9CiAgICAgcmV0dXJu
IHNlbGY7CkBAIC0xNDIsMTggKzk5LDE1IEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJhY3Rp
b25FdmVudE5hbWVzKCkKIAogICAgIF9zdGFydExvY2F0aW9uID0gc3RhcnRMb2NhdGlvbjsKICAg
ICBfZW5kTG9jYXRpb24gPSBlbmRMb2NhdGlvbjsKLSAgICBbX2dlc3R1cmVSZWNvZ25pemVyIHNl
dE1vY2tOdW1iZXJPZlRvdWNoZXM6MV07CiAKICAgICBpZiAoc2VsZi5leHRlcm5hbEl0ZW1Qcm92
aWRlcikgewogICAgICAgICBfcGhhc2UgPSBEYXRhSW50ZXJhY3Rpb25CZWdhbjsKICAgICAgICAg
X2RhdGFJbnRlcmFjdGlvbkluZm8gPSBhZG9wdE5TKFtbTW9ja0RhdGFJbnRlcmFjdGlvbkluZm8g
YWxsb2NdIGluaXRXaXRoUHJvdmlkZXI6c2VsZi5leHRlcm5hbEl0ZW1Qcm92aWRlciBsb2NhdGlv
bjpzdGFydExvY2F0aW9uIHdpbmRvdzpbX3dlYlZpZXcgd2luZG93XV0pOwotICAgIH0gZWxzZQot
ICAgICAgICBbc2VsZiBfcmVjb2duaXplR2VzdHVyZUF0TG9jYXRpb246X3N0YXJ0TG9jYXRpb24g
d2l0aFN0YXRlOlVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2FuXTsKKyAgICB9CiAKICAgICBb
c2VsZiBfc2NoZWR1bGVBZHZhbmNlUHJvZ3Jlc3NdOwogCiAgICAgVXRpbDo6cnVuKCZfaXNEb25l
V2l0aEN1cnJlbnRSdW4pOwotICAgIFtfZ2VzdHVyZVJlY29nbml6ZXIgc2V0TW9ja051bWJlck9m
VG91Y2hlczowXTsKICAgICBbX3dlYlZpZXcgY2xlYXJNZXNzYWdlSGFuZGxlcnM6ZGF0YUludGVy
YWN0aW9uRXZlbnROYW1lcygpXTsKIH0KIApAQCAtMTY4LDcgKzEyMiw2IEBAIHN0YXRpYyBOU0Fy
cmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkKIAogICAgIHN3aXRjaCAoX3BoYXNlKSB7
CiAgICAgY2FzZSBEYXRhSW50ZXJhY3Rpb25VbnJlY29nbml6ZWQ6Ci0gICAgICAgIFtzZWxmIF9y
ZWNvZ25pemVHZXN0dXJlQXRMb2NhdGlvbjpzZWxmLl9jdXJyZW50TG9jYXRpb24gd2l0aFN0YXRl
OlVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNoYW5nZWRdOwogICAgICAgICBbc2VsZiBfc2NoZWR1
bGVBZHZhbmNlUHJvZ3Jlc3NdOwogICAgICAgICBicmVhazsKICAgICBjYXNlIERhdGFJbnRlcmFj
dGlvbkJlZ2FuOgpAQCAtMTg4LDcgKzE0MSw2IEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJh
Y3Rpb25FdmVudE5hbWVzKCkKIC0gKHZvaWQpX2ZpbmlzaERhdGFJbnRlcmFjdGlvbgogewogICAg
IGlmIChfcGhhc2UgPT0gRGF0YUludGVyYWN0aW9uVW5yZWNvZ25pemVkKSB7Ci0gICAgICAgIFtz
ZWxmIF9yZWNvZ25pemVHZXN0dXJlQXRMb2NhdGlvbjpzZWxmLl9jdXJyZW50TG9jYXRpb24gd2l0
aFN0YXRlOlVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUVuZGVkXTsKICAgICAgICAgX2lzRG9uZVdp
dGhDdXJyZW50UnVuID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIxMiwxMyAr
MTY0LDYgQEAgc3RhdGljIE5TQXJyYXkgKmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogICAg
IFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoX2FkdmFuY2VQcm9ncmVzcykgd2l0aE9i
amVjdDpuaWwgYWZ0ZXJEZWxheTpwcm9ncmVzc1RpbWVTdGVwXTsKIH0KIAotLSAodm9pZClfcmVj
b2duaXplR2VzdHVyZUF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb25JbldpbmRvdyB3aXRoU3Rh
dGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlzdGF0ZQotewotICAgIFtfZ2VzdHVyZVJlY29n
bml6ZXIgc2V0TW9ja1N0YXRlOnN0YXRlXTsKLSAgICBbX2dlc3R1cmVSZWNvZ25pemVyIHNldE1v
Y2tMb2NhdGlvbkluV2luZG93OmxvY2F0aW9uSW5XaW5kb3ddOwotICAgIFtfd2ViVmlldyBfc2lt
dWxhdGVEYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplZF07Ci19Ci0KIC0gKFVJSXRlbVBy
b3ZpZGVyICopZXh0ZXJuYWxJdGVtUHJvdmlkZXIKIHsKICAgICByZXR1cm4gX2V4dGVybmFsSXRl
bVByb3ZpZGVyLmdldCgpOwpAQCAtMjMxLDM3ICsxNzYsMTEgQEAgc3RhdGljIE5TQXJyYXkgKmRh
dGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogCiAjcHJhZ21hIG1hcmsgLSBfV0tUZXN0aW5nRGVs
ZWdhdGUKIAotLSAoVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciAqKWRhdGFJbnRlcmFjdGlv
bkdlc3R1cmVSZWNvZ25pemVyCi17Ci0gICAgcmV0dXJuIF9nZXN0dXJlUmVjb2duaXplci5nZXQo
KTsKLX0KLQogLSAodm9pZCl3ZWJWaWV3RGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xs
ZXJPcGVyYXRpb246KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKICAgICBfaXNEb25lV2l0aEN1cnJl
bnRSdW4gPSB0cnVlOwogfQogCi0tICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
YmVnaW5EYXRhSW50ZXJhY3Rpb25XaXRoU291cmNlSW5kZXg6KE5TSW50ZWdlcilzb3VyY2VJbmRl
eCBnZXN0dXJlUmVjb2duaXplcjooVUlHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25p
emVyCi17Ci0gICAgX2RpZFRyeVRvQmVnaW5EYXRhSW50ZXJhY3Rpb24gPSBZRVM7Ci0KLSAgICBp
ZiAoc2VsZi5mb3JjZVJlcXVlc3RUb0ZhaWwpIHsKLSAgICAgICAgW193ZWJWaWV3IF9zaW11bGF0
ZUZhaWxlZERhdGFJbnRlcmFjdGlvbldpdGhJbmRleDpzb3VyY2VJbmRleF07Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBfcGhhc2UgPSBEYXRhSW50ZXJhY3Rpb25CZWdhbjsKLQotICAg
IC8vIEVuZCB0aGUgZGF0YSBpbnRlcmFjdGlvbiBnZXN0dXJlIHJlY29nbml6ZXIuCi0gICAgYXV0
byBsb2NhdGlvbiA9IHNlbGYuX2N1cnJlbnRMb2NhdGlvbjsKLSAgICBbc2VsZiBfcmVjb2duaXpl
R2VzdHVyZUF0TG9jYXRpb246bG9jYXRpb24gd2l0aFN0YXRlOlVJR2VzdHVyZVJlY29nbml6ZXJT
dGF0ZUVuZGVkXTsKLQotICAgIC8vIE9mZmljaWFsbHkgYmVnaW4gZGF0YSBpbnRlcmFjdGlvbiBi
eSBpbml0aWFsaXppbmcgdGhlIGluZm8uCi0gICAgTlNBcnJheSAqaXRlbXMgPSBbX3dlYlZpZXcg
X3NpbXVsYXRlZEl0ZW1zRm9yRGF0YUludGVyYWN0aW9uV2l0aEluZGV4OnNvdXJjZUluZGV4XTsK
LSAgICBfZGF0YUludGVyYWN0aW9uSW5mbyA9IGFkb3B0TlMoW1tNb2NrRGF0YUludGVyYWN0aW9u
SW5mbyBhbGxvY10gaW5pdFdpdGhJdGVtczppdGVtcyBsb2NhdGlvbjpsb2NhdGlvbiB3aW5kb3c6
W193ZWJWaWV3IHdpbmRvd11dKTsKLSAgICBbX3dlYlZpZXcgX3NpbXVsYXRlV2lsbEJlZ2luRGF0
YUludGVyYWN0aW9uV2l0aEluZGV4OnNvdXJjZUluZGV4IHdpdGhTZXNzaW9uOm5pbF07Ci19Ci0K
IC0gKHZvaWQpd2ViVmlld0RpZFNlbmREYXRhSW50ZXJhY3Rpb25TdGFydFJlcXVlc3Q6KFdLV2Vi
VmlldyAqKXdlYlZpZXcKIHsKICAgICAvLyBUaGlzIGFkZHJlc3NlcyBhIHJhY2UgY29uZGl0aW9u
IGluIHRoZSB0ZXN0aW5nIGhhcm5lc3Mgd2hlcmVpbiB0aGUgd2ViIHByb2Nlc3MgbWlnaHQgdGFr
ZSBsb25nZXIgdGhhbiB1c3VhbCB0byBwcm9jZXNzIHRoZQo=
</data>
<flag name="review"
          id="323873"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302216</attachid>
            <date>2017-02-20 18:32:33 -0800</date>
            <delta_ts>2017-02-20 18:32:33 -0800</delta_ts>
            <desc>EWS trial run</desc>
            <filename>bug-168600-20170220182949.patch</filename>
            <type>text/plain</type>
            <size>16254</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWQzM2EwY2NjNGI2OWNi
M2EyMGNlZTA4Yzg4MzZkMzYxOWZkYTdhMS4uYWMwMGY4OWUwOGY0YzY5MWQ0MWRmOTUxMTVjYWM3
ZjI5NjhjNmY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE3LTAyLTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSB0aGUg
ZGF0YSBpbnRlcmFjdGlvbiBnZXN0dXJlIHJlY29nbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODYwMAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzAzMTM2ODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisg
ICAgICAgIFRoZSBkYXRhIGludGVyYWN0aW9uIGdlc3R1cmUgcmVjb2duaXplciB3aWxsIG5vIGxv
bmdlciBiZSBuZWVkZWQgbW92aW5nIGZvcndhcmQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zaW11bGF0ZURhdGFJ
bnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkXSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZXR1
cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2xlYW51cEludGVyYWN0
aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3JlbW92ZURlZmF1bHRHZXN0dXJlUmVj
b2duaXplcnNdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYWRkRGVmYXVsdEdlc3R1cmVS
ZWNvZ25pemVyc10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGdlc3R1cmVSZWNvZ25pemVy
OnNob3VsZFJlY29nbml6ZVNpbXVsdGFuZW91c2x5V2l0aEdlc3R1cmVSZWNvZ25pemVyOl0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGdlc3R1cmVSZWNvZ25pemVyU2hvdWxkQmVnaW46XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25p
emVyXSk6IERlbGV0ZWQuCisKKzIwMTctMDItMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHBsdW1iaW5nIHRvIHRoZSBVSSBwcm9jZXNzIGZv
ciBUZXh0SW5kaWNhdG9yRGF0YSB3aGVuIGNvbXB1dGluZyB0aGUgZHJhZyBpbWFnZQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NTgzCiAgICAgICAg
IFdvcmsgdG93YXJkcyA8cmRhcjovL3Byb2JsZW0vMzAzMTM2ODE+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDQ0NTM0MWYzYmY2NmI3
NWYzY2QxZTI2NTg5ZGEyNzY0MGMxZmViZjAuLjQ4OTRlNzNkNjQ0NDZmNmQ4MTJhOTZhZmI2ODVj
ZDIxM2FkZWY0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCkBAIC01MTcxLDExICs1MTcxLDYgQEAgc3RhdGljIFdlYkNvcmU6OlVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdG9Vc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFVJ
U2UKICAgICBXZWJLaXQ6OlZpZXdTbmFwc2hvdFN0b3JlOjpzaW5nbGV0b24oKS5zZXREaXNhYmxl
U25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGluZyh0cnVlKTsKIH0KIAotCi0tICh2b2lkKV9zaW11
bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkCi17Ci19Ci0KIC0gKHZvaWQpX3Np
bXVsYXRlRGF0YUludGVyYWN0aW9uRW50ZXJlZDooaWQpaW5mbwogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRl
eCBiMGE5OWQ2ZjIyMThiMDY1NGY5ODFkODg2M2I0OGQ2MTQwOTFkNzU5Li44NjQwMjAwNmE2NGUx
MTU3OTE4YmQyMTM0N2M0NWVhMDZlYjI4MTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzA2LDcgKzMwNiw2
IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ltbWVkaWF0ZUFjdGlvblR5cGUpIHsK
IAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX3N0YWJsZVN0YXRl
T3ZlcnJpZGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogCi0tICh2b2lkKV9z
aW11bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkIFdLX0FQSV9BVkFJTEFCTEUo
aW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NpbXVsYXRlRGF0YUludGVyYWN0aW9uRW50ZXJl
ZDooaWQpaW5mbyBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9z
aW11bGF0ZURhdGFJbnRlcmFjdGlvblVwZGF0ZWQ6KGlkKWluZm8gV0tfQVBJX0FWQUlMQUJMRShp
b3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rpb25QZXJmb3Jt
T3BlcmF0aW9uOihpZClpbmZvIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCmluZGV4IGI2YmZjNmQ0ZTkxNDBiYmE1NTIxM2Y1NTI3NzJmMjM0ODVlZmUxZGYu
LjJiOGMzM2NiMWM1OGIxOGM5NzgwYjQzNjVkNzllM2ZjOTA3MDQxZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
aApAQCAtMTE4LDkgKzExOCw2IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAg
UmV0YWluUHRyPFVJVGFwR2VzdHVyZVJlY29nbml6ZXI+IF90d29GaW5nZXJEb3VibGVUYXBHZXN0
dXJlUmVjb2duaXplcjsKICAgICBSZXRhaW5QdHI8VUlUYXBHZXN0dXJlUmVjb2duaXplcj4gX3R3
b0ZpbmdlclNpbmdsZVRhcEdlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxXS0luc3Bl
Y3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplcj4gX2luc3BlY3Rvck5vZGVTZWFyY2hHZXN0
dXJlUmVjb2duaXplcjsKLSNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBSZXRhaW5Q
dHI8VUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcj4gX2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVS
ZWNvZ25pemVyOwotI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8VUlXS1RleHRJbnRlcmFjdGlvbkFz
c2lzdGFudD4gX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQ7CiAgICAgUmV0YWluUHRyPFVJV0tTZWxl
Y3Rpb25Bc3Npc3RhbnQ+IF93ZWJTZWxlY3Rpb25Bc3Npc3RhbnQ7CkBAIC0yNzEsNyArMjY4LDYg
QEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIC0gKHZvaWQpX2RpZFBlcmZvcm1EYXRh
SW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uOwogLSAodm9pZClfZGlkSGFuZGxlU3RhcnRE
YXRhSW50ZXJhY3Rpb25SZXF1ZXN0OihCT09MKXN0YXJ0ZWQ7CiAtICh2b2lkKV9zdGFydERhdGFJ
bnRlcmFjdGlvbldpdGhJbWFnZTooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdlIHdpdGhJbmRp
Y2F0b3JEYXRhOihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPilpbmRp
Y2F0b3JEYXRhIGF0Q2xpZW50UG9zaXRpb246KENHUG9pbnQpY2xpZW50UG9zaXRpb24gYW5jaG9y
UG9pbnQ6KENHUG9pbnQpYW5jaG9yUG9pbnQgYWN0aW9uOih1aW50NjRfdClhY3Rpb247Ci0tICh2
b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVkOihVSUxvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIgV0tfQVBJX0FWQUlMQUJMRShp
b3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rpb25FbnRlcmVk
OihpZClpbmZvIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Np
bXVsYXRlRGF0YUludGVyYWN0aW9uVXBkYXRlZDooaWQpaW5mbyBXS19BUElfQVZBSUxBQkxFKGlv
cyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblBlcmZvcm1P
cGVyYXRpb246KGlkKWluZm8gV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQppbmRleCBmOTU3YzZjNWIyYzU3YjAwZjEwNmNiODIwZTU5NjVmMDgxNjBhODZh
Li4zODkyM2M2NmM1Njg4MWY4YjA0MmUzZDU4YzNmNTY1ZDZiOTM0ZTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQpAQCAtNTU4LDExICs1NTgsNiBAQCBzdGF0aWMgVUlXZWJTZWxlY3Rpb25Nb2RlIHRvVUlX
ZWJTZWxlY3Rpb25Nb2RlKFdLU2VsZWN0aW9uR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdAogICAgIFtz
ZWxmIF9jcmVhdGVBbmRDb25maWd1cmVMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcl07CiAKICNp
ZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJl
Y29nbml6ZXIgPSBhZG9wdE5TKFtbVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciBhbGxvY10g
aW5pdFdpdGhUYXJnZXQ6c2VsZiBhY3Rpb246QHNlbGVjdG9yKF9kYXRhSW50ZXJhY3Rpb25HZXN0
dXJlUmVjb2duaXplZDopXSk7Ci0gICAgW19kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXpl
ciBzZXREZWxheTowLjVdOwotICAgIFtfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIg
c2V0RGVsZWdhdGU6c2VsZl07Ci0gICAgW19kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXpl
ciBfc2V0UmVxdWlyZXNRdWlldEltcHVsc2U6WUVTXTsKLSAgICBbc2VsZiBhZGRHZXN0dXJlUmVj
b2duaXplcjpfZGF0YUludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwogICAgIFtz
ZWxmIHNldHVwRGF0YUludGVyYWN0aW9uRGVsZWdhdGVzXTsKICNlbmRpZgogCkBAIC02NDIsOCAr
NjM3LDYgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0b1VJV2ViU2VsZWN0aW9uTW9kZShX
S1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAgICBbc2VsZiByZW1vdmVHZXN0dXJl
UmVjb2duaXplcjpfdHdvRmluZ2VyU2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwog
CiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgW19kYXRhSW50ZXJhY3Rpb25HZXN0
dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpuaWxdOwotICAgIFtzZWxmIHJlbW92ZUdlc3R1cmVS
ZWNvZ25pemVyOl9kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKV07CiAgICAg
W3NlbGYgdGVhcmRvd25EYXRhSW50ZXJhY3Rpb25EZWxlZ2F0ZXNdOwogI2VuZGlmCiAKQEAgLTY3
NCw5ICs2NjcsNiBAQCBzdGF0aWMgVUlXZWJTZWxlY3Rpb25Nb2RlIHRvVUlXZWJTZWxlY3Rpb25N
b2RlKFdLU2VsZWN0aW9uR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdAogICAgIFtzZWxmIHJlbW92ZUdl
c3R1cmVSZWNvZ25pemVyOl9ub25CbG9ja2luZ0RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyLmdl
dCgpXTsKICAgICBbc2VsZiByZW1vdmVHZXN0dXJlUmVjb2duaXplcjpfdHdvRmluZ2VyRG91Ymxl
VGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwogICAgIFtzZWxmIHJlbW92ZUdlc3R1cmVSZWNv
Z25pemVyOl90d29GaW5nZXJTaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplci5nZXQoKV07Ci0jaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgW3NlbGYgcmVtb3ZlR2VzdHVyZVJlY29nbml6
ZXI6X2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdldCgpXTsKLSNlbmRpZgogfQog
CiAtICh2b2lkKV9hZGREZWZhdWx0R2VzdHVyZVJlY29nbml6ZXJzCkBAIC02ODgsOSArNjc4LDYg
QEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0b1VJV2ViU2VsZWN0aW9uTW9kZShXS1NlbGVj
dGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAgICBbc2VsZiBhZGRHZXN0dXJlUmVjb2duaXpl
cjpfbm9uQmxvY2tpbmdEb3VibGVUYXBHZXN0dXJlUmVjb2duaXplci5nZXQoKV07CiAgICAgW3Nl
bGYgYWRkR2VzdHVyZVJlY29nbml6ZXI6X3R3b0ZpbmdlckRvdWJsZVRhcEdlc3R1cmVSZWNvZ25p
emVyLmdldCgpXTsKICAgICBbc2VsZiBhZGRHZXN0dXJlUmVjb2duaXplcjpfdHdvRmluZ2VyU2lu
Z2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwotI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNU
SU9OKQotICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl9kYXRhSW50ZXJhY3Rpb25HZXN0
dXJlUmVjb2duaXplci5nZXQoKV07Ci0jZW5kaWYKIH0KIAogLSAoVUlWaWV3Kil1bnNjYWxlZFZp
ZXcKQEAgLTEyMjYsMTQgKzEyMTMsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lUGFpcihV
SUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNvZ25pemVyICpiLCBVSQogICAgIGlm
IChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhlckdlc3R1cmVSZWNvZ25pemVyLCBf
aGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCksIF9wcmV2aWV3R2VzdHVy
ZVJlY29nbml6ZXIuZ2V0KCkpKQogICAgICAgICByZXR1cm4gWUVTOwogCi0jaWYgRU5BQkxFKERB
VEFfSU5URVJBQ1RJT04pCi0gICAgaWYgKGlzU2FtZVBhaXIoZ2VzdHVyZVJlY29nbml6ZXIsIG90
aGVyR2VzdHVyZVJlY29nbml6ZXIsIF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
ci5nZXQoKSwgX2RhdGFJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmdldCgpKSkKLSAgICAg
ICAgcmV0dXJuIFlFUzsKLQotICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBv
dGhlckdlc3R1cmVSZWNvZ25pemVyLCBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCks
IF9kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5nZXQoKSkpCi0gICAgICAgIHJldHVy
biBZRVM7Ci0jZW5kaWYKLQogICAgIHJldHVybiBOTzsKIH0KIApAQCAtMTQwNCwxMSArMTM4Myw2
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVQYWlyKFVJR2VzdHVyZVJlY29nbml6ZXIgKmEs
IFVJR2VzdHVyZVJlY29nbml6ZXIgKmIsIFVJCiAgICAgICAgIH0KICAgICB9CiAKLSNpZiBFTkFC
TEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBpZiAoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX2RhdGFJ
bnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyKQotICAgICAgICByZXR1cm4gW3NlbGYgcG9pbnRJ
c0luRGF0YUludGVyYWN0aW9uQ29udGVudDpwb2ludF07Ci0jZW5kaWYKLQogICAgIHJldHVybiBZ
RVM7CiB9CiAKQEAgLTE0NjQsMTEgKzE0MzgsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1l
UGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNvZ25pemVyICpiLCBVSQog
ICAgIHJldHVybiBfcG9zaXRpb25JbmZvcm1hdGlvbi5oYXNTZWxlY3Rpb25BdFBvc2l0aW9uOwog
fQogCi0tIChVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICopX2RhdGFJbnRlcmFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyCi17Ci0gICAgcmV0dXJuIF9kYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVj
b2duaXplci5nZXQoKTsKLX0KLQogI2VuZGlmCiAKIC0gKEJPT0wpcG9pbnRJc05lYXJNYXJrZWRU
ZXh0OihDR1BvaW50KXBvaW50CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNTk4NmE0NjQ3Zjg0YjJkZjA4MjAzYjgwZDU5NTc4NjIwNjQxMjkwOS4u
OTUyY2JhZmFhMDYyZDQ4Nzc5YTczYzU4NDFmZGYxMzU0MjM1MzFlZCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3
LTAyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSB0aGUgZGF0YSBpbnRlcmFjdGlvbiBnZXN0dXJlIHJlY29nbml6ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODYwMAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzAzMTM2ODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENh
cmxzc29uLgorCisgICAgICAgIEFkanVzdCBUZXN0V2ViS2l0QVBJIGZvciBjaGFuZ2VzIGluIFdl
YktpdDIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IuaDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IubW06CisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBpbml0V2l0aFdl
YlZpZXc6XSk6CisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9tOnRv
Ol0pOgorICAgICAgICAoLVtEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgX2FkdmFuY2VQcm9ncmVz
c10pOgorICAgICAgICAoLVtEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgX2ZpbmlzaERhdGFJbnRl
cmFjdGlvbl0pOgorICAgICAgICAoLVtNb2NrTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgaW5p
dFdpdGhXaW5kb3c6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW01vY2tMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplciBsb2NhdGlvbkluVmlldzpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bTW9ja0xv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHN0YXRlXSk6IERlbGV0ZWQuCisgICAgICAgICgtW01v
Y2tMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciBudW1iZXJPZlRvdWNoZXNdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIF9yZWNvZ25pemVHZXN0dXJlQXRM
b2NhdGlvbjp3aXRoU3RhdGU6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlv
blNpbXVsYXRvciBkYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplcl0pOiBEZWxldGVkLgor
ICAgICAgICAoLVtEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igd2ViVmlldzpiZWdpbkRhdGFJbnRl
cmFjdGlvbldpdGhTb3VyY2VJbmRleDpnZXN0dXJlUmVjb2duaXplcjpdKTogRGVsZXRlZC4KKwog
MjAxNy0wMi0xNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBhIG5ldyBkcmFnIGNvZGUgcGF0aCBhbmQgdXNlIGl0IGZvciBkcmFnZ2luZyBwbGFp
biB0ZXh0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3IuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNp
bXVsYXRvci5oCmluZGV4IDc0OTRlNzZiOTBlODE3ZDE0NTdlMzA2OGQ4NTE0Y2U4Yjc0ZmIwNDUu
LmFlNmM4Y2ZmYmM0Y2ZmNTZiYjk2ZDBkYjQwOTk2YjE3MTkxNjk1NDEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oCkBAIC0zMSw3
ICszMSw2IEBACiAjaW1wb3J0IDxXZWJLaXQvX1dLVGVzdGluZ0RlbGVnYXRlLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tQdHIuaD4KIAotQGNsYXNzIE1vY2tMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
cjsKIEBjbGFzcyBNb2NrRGF0YUludGVyYWN0aW9uSW5mbzsKIAogZXh0ZXJuIE5TU3RyaW5nICog
Y29uc3QgRGF0YUludGVyYWN0aW9uRW50ZXJFdmVudE5hbWU7CkBAIC00OSw3ICs0OCw2IEBAIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIERhdGFJbnRlcmFjdGlvblBoYXNlKSB7CiAKIEBpbnRl
cmZhY2UgRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIDogTlNPYmplY3Q8X1dLVGVzdGluZ0RlbGVn
YXRlPiB7CiAgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IF93ZWJWaWV3OwotICAgIFJldGFp
blB0cjxNb2NrTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI+IF9nZXN0dXJlUmVjb2duaXplcjsK
ICAgICBSZXRhaW5QdHI8TW9ja0RhdGFJbnRlcmFjdGlvbkluZm8+IF9kYXRhSW50ZXJhY3Rpb25J
bmZvOwogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gX29ic2VydmVkRXZlbnROYW1lczsK
ICAgICBSZXRhaW5QdHI8VUlJdGVtUHJvdmlkZXI+IF9leHRlcm5hbEl0ZW1Qcm92aWRlcjsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5t
bQppbmRleCBlNmI1ODFkNTA0NjQ5YzljYTNhOWNlMmZmNDIyOGMwN2QwMjBmMzRmLi45MzVjMmI3
ZTczNWQxMDdiYThmMmI3NmRjZDAzNmU1YmQ2OWQwYTBiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1tCkBAIC0zOSw0NiArMzks
NiBAQCB1c2luZyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSTsKICNpbmNsdWRlIDxXZWJLaXRBZGRp
dGlvbnMvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yQWRkaXRpb25zLm1tPgogI2VuZGlmCiAKLUBp
bnRlcmZhY2UgTW9ja0xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIDogVUlMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciB7Ci0gICAgUmV0YWluUHRyPFVJV2luZG93PiBfd2luZG93OwotfQotCi1A
cHJvcGVydHkgKG5vbmF0b21pYykgQ0dQb2ludCBtb2NrTG9jYXRpb25JbldpbmRvdzsKLUBwcm9w
ZXJ0eSAobm9uYXRvbWljKSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUgbW9ja1N0YXRlOwotQHBy
b3BlcnR5IChub25hdG9taWMpIE5TSW50ZWdlciBtb2NrTnVtYmVyT2ZUb3VjaGVzOwotCi1AZW5k
Ci0KLUBpbXBsZW1lbnRhdGlvbiBNb2NrTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIKLQotLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoV2luZG93OihVSVdpbmRvdyAqKXdpbmRvdwotewotICAgIGlm
IChzZWxmID0gW3N1cGVyIGluaXRdKSB7Ci0gICAgICAgIF93aW5kb3cgPSB3aW5kb3c7Ci0gICAg
ICAgIF9tb2NrU3RhdGUgPSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVQb3NzaWJsZTsKLSAgICAg
ICAgX21vY2tOdW1iZXJPZlRvdWNoZXMgPSAwOwotICAgICAgICBfbW9ja0xvY2F0aW9uSW5XaW5k
b3cgPSBDR1BvaW50WmVybzsKLSAgICB9Ci0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKENHUG9p
bnQpbG9jYXRpb25JblZpZXc6KFVJVmlldyAqKXZpZXcKLXsKLSAgICByZXR1cm4gW3ZpZXcgY29u
dmVydFBvaW50Ol9tb2NrTG9jYXRpb25JbldpbmRvdyBmcm9tVmlldzpfd2luZG93LmdldCgpXTsK
LX0KLQotLSAoVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKXN0YXRlCi17Ci0gICAgcmV0dXJuIF9t
b2NrU3RhdGU7Ci19Ci0KLS0gKE5TVUludGVnZXIpbnVtYmVyT2ZUb3VjaGVzCi17Ci0gICAgcmV0
dXJuIF9tb2NrTnVtYmVyT2ZUb3VjaGVzOwotfQotCi1AZW5kCi0KIHN0YXRpYyBkb3VibGUgcHJv
Z3Jlc3NJbmNyZW1lbnRTdGVwID0gMC4wMzM7CiBzdGF0aWMgZG91YmxlIHByb2dyZXNzVGltZVN0
ZXAgPSAwLjAxNjsKIApAQCAtOTgsOSArNTgsNiBAQCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVy
YWN0aW9uRXZlbnROYW1lcygpCiB7CiAgICAgaWYgKHNlbGYgPSBbc3VwZXIgaW5pdF0pIHsKICAg
ICAgICAgX3dlYlZpZXcgPSB3ZWJWaWV3OwotICAgICAgICBfZ2VzdHVyZVJlY29nbml6ZXIgPSBh
ZG9wdE5TKFtbTW9ja0xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIGFsbG9jXSBpbml0V2l0aFdp
bmRvdzp3ZWJWaWV3LndpbmRvd10pOwotCi0gICAgICAgIFtfZ2VzdHVyZVJlY29nbml6ZXIgc2V0
TW9ja051bWJlck9mVG91Y2hlczowXTsKICAgICAgICAgW193ZWJWaWV3IF9zZXRUZXN0aW5nRGVs
ZWdhdGU6c2VsZl07CiAgICAgfQogICAgIHJldHVybiBzZWxmOwpAQCAtMTQyLDE4ICs5OSwxNSBA
QCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0aW9uRXZlbnROYW1lcygpCiAKICAgICBfc3Rh
cnRMb2NhdGlvbiA9IHN0YXJ0TG9jYXRpb247CiAgICAgX2VuZExvY2F0aW9uID0gZW5kTG9jYXRp
b247Ci0gICAgW19nZXN0dXJlUmVjb2duaXplciBzZXRNb2NrTnVtYmVyT2ZUb3VjaGVzOjFdOwog
CiAgICAgaWYgKHNlbGYuZXh0ZXJuYWxJdGVtUHJvdmlkZXIpIHsKICAgICAgICAgX3BoYXNlID0g
RGF0YUludGVyYWN0aW9uQmVnYW47CiAgICAgICAgIF9kYXRhSW50ZXJhY3Rpb25JbmZvID0gYWRv
cHROUyhbW01vY2tEYXRhSW50ZXJhY3Rpb25JbmZvIGFsbG9jXSBpbml0V2l0aFByb3ZpZGVyOnNl
bGYuZXh0ZXJuYWxJdGVtUHJvdmlkZXIgbG9jYXRpb246c3RhcnRMb2NhdGlvbiB3aW5kb3c6W193
ZWJWaWV3IHdpbmRvd11dKTsKLSAgICB9IGVsc2UKLSAgICAgICAgW3NlbGYgX3JlY29nbml6ZUdl
c3R1cmVBdExvY2F0aW9uOl9zdGFydExvY2F0aW9uIHdpdGhTdGF0ZTpVSUdlc3R1cmVSZWNvZ25p
emVyU3RhdGVCZWdhbl07CisgICAgfQogCiAgICAgW3NlbGYgX3NjaGVkdWxlQWR2YW5jZVByb2dy
ZXNzXTsKIAogICAgIFV0aWw6OnJ1bigmX2lzRG9uZVdpdGhDdXJyZW50UnVuKTsKLSAgICBbX2dl
c3R1cmVSZWNvZ25pemVyIHNldE1vY2tOdW1iZXJPZlRvdWNoZXM6MF07CiAgICAgW193ZWJWaWV3
IGNsZWFyTWVzc2FnZUhhbmRsZXJzOmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKV07CiB9CiAK
QEAgLTE2OCw3ICsxMjIsNiBAQCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0aW9uRXZlbnRO
YW1lcygpCiAKICAgICBzd2l0Y2ggKF9waGFzZSkgewogICAgIGNhc2UgRGF0YUludGVyYWN0aW9u
VW5yZWNvZ25pemVkOgotICAgICAgICBbc2VsZiBfcmVjb2duaXplR2VzdHVyZUF0TG9jYXRpb246
c2VsZi5fY3VycmVudExvY2F0aW9uIHdpdGhTdGF0ZTpVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVD
aGFuZ2VkXTsKICAgICAgICAgW3NlbGYgX3NjaGVkdWxlQWR2YW5jZVByb2dyZXNzXTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBEYXRhSW50ZXJhY3Rpb25CZWdhbjoKQEAgLTE4OCw3ICsxNDEs
NiBAQCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0aW9uRXZlbnROYW1lcygpCiAtICh2b2lk
KV9maW5pc2hEYXRhSW50ZXJhY3Rpb24KIHsKICAgICBpZiAoX3BoYXNlID09IERhdGFJbnRlcmFj
dGlvblVucmVjb2duaXplZCkgewotICAgICAgICBbc2VsZiBfcmVjb2duaXplR2VzdHVyZUF0TG9j
YXRpb246c2VsZi5fY3VycmVudExvY2F0aW9uIHdpdGhTdGF0ZTpVSUdlc3R1cmVSZWNvZ25pemVy
U3RhdGVFbmRlZF07CiAgICAgICAgIF9pc0RvbmVXaXRoQ3VycmVudFJ1biA9IHRydWU7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0yMTIsMTMgKzE2NCw2IEBAIHN0YXRpYyBOU0FycmF5ICpk
YXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkKICAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6QHNl
bGVjdG9yKF9hZHZhbmNlUHJvZ3Jlc3MpIHdpdGhPYmplY3Q6bmlsIGFmdGVyRGVsYXk6cHJvZ3Jl
c3NUaW1lU3RlcF07CiB9CiAKLS0gKHZvaWQpX3JlY29nbml6ZUdlc3R1cmVBdExvY2F0aW9uOihD
R1BvaW50KWxvY2F0aW9uSW5XaW5kb3cgd2l0aFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3Rh
dGUpc3RhdGUKLXsKLSAgICBbX2dlc3R1cmVSZWNvZ25pemVyIHNldE1vY2tTdGF0ZTpzdGF0ZV07
Ci0gICAgW19nZXN0dXJlUmVjb2duaXplciBzZXRNb2NrTG9jYXRpb25JbldpbmRvdzpsb2NhdGlv
bkluV2luZG93XTsKLSAgICBbX3dlYlZpZXcgX3NpbXVsYXRlRGF0YUludGVyYWN0aW9uR2VzdHVy
ZVJlY29nbml6ZWRdOwotfQotCiAtIChVSUl0ZW1Qcm92aWRlciAqKWV4dGVybmFsSXRlbVByb3Zp
ZGVyCiB7CiAgICAgcmV0dXJuIF9leHRlcm5hbEl0ZW1Qcm92aWRlci5nZXQoKTsKQEAgLTIzMSwz
NyArMTc2LDExIEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkK
IAogI3ByYWdtYSBtYXJrIC0gX1dLVGVzdGluZ0RlbGVnYXRlCiAKLS0gKFVJTG9uZ1ByZXNzR2Vz
dHVyZVJlY29nbml6ZXIgKilkYXRhSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplcgotewotICAg
IHJldHVybiBfZ2VzdHVyZVJlY29nbml6ZXIuZ2V0KCk7Ci19Ci0KIC0gKHZvaWQpd2ViVmlld0Rp
ZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uOihXS1dlYlZpZXcgKil3
ZWJWaWV3CiB7CiAgICAgX2lzRG9uZVdpdGhDdXJyZW50UnVuID0gdHJ1ZTsKIH0KIAotLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGJlZ2luRGF0YUludGVyYWN0aW9uV2l0aFNv
dXJjZUluZGV4OihOU0ludGVnZXIpc291cmNlSW5kZXggZ2VzdHVyZVJlY29nbml6ZXI6KFVJR2Vz
dHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgotewotICAgIF9kaWRUcnlUb0JlZ2lu
RGF0YUludGVyYWN0aW9uID0gWUVTOwotCi0gICAgaWYgKHNlbGYuZm9yY2VSZXF1ZXN0VG9GYWls
KSB7Ci0gICAgICAgIFtfd2ViVmlldyBfc2ltdWxhdGVGYWlsZWREYXRhSW50ZXJhY3Rpb25XaXRo
SW5kZXg6c291cmNlSW5kZXhdOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgX3BoYXNl
ID0gRGF0YUludGVyYWN0aW9uQmVnYW47Ci0KLSAgICAvLyBFbmQgdGhlIGRhdGEgaW50ZXJhY3Rp
b24gZ2VzdHVyZSByZWNvZ25pemVyLgotICAgIGF1dG8gbG9jYXRpb24gPSBzZWxmLl9jdXJyZW50
TG9jYXRpb247Ci0gICAgW3NlbGYgX3JlY29nbml6ZUdlc3R1cmVBdExvY2F0aW9uOmxvY2F0aW9u
IHdpdGhTdGF0ZTpVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZF07Ci0KLSAgICAvLyBPZmZp
Y2lhbGx5IGJlZ2luIGRhdGEgaW50ZXJhY3Rpb24gYnkgaW5pdGlhbGl6aW5nIHRoZSBpbmZvLgot
ICAgIE5TQXJyYXkgKml0ZW1zID0gW193ZWJWaWV3IF9zaW11bGF0ZWRJdGVtc0ZvckRhdGFJbnRl
cmFjdGlvbldpdGhJbmRleDpzb3VyY2VJbmRleF07Ci0gICAgX2RhdGFJbnRlcmFjdGlvbkluZm8g
PSBhZG9wdE5TKFtbTW9ja0RhdGFJbnRlcmFjdGlvbkluZm8gYWxsb2NdIGluaXRXaXRoSXRlbXM6
aXRlbXMgbG9jYXRpb246bG9jYXRpb24gd2luZG93Oltfd2ViVmlldyB3aW5kb3ddXSk7Ci0gICAg
W193ZWJWaWV3IF9zaW11bGF0ZVdpbGxCZWdpbkRhdGFJbnRlcmFjdGlvbldpdGhJbmRleDpzb3Vy
Y2VJbmRleCB3aXRoU2Vzc2lvbjpuaWxdOwotfQotCiAtICh2b2lkKXdlYlZpZXdEaWRTZW5kRGF0
YUludGVyYWN0aW9uU3RhcnRSZXF1ZXN0OihXS1dlYlZpZXcgKil3ZWJWaWV3CiB7CiAgICAgLy8g
VGhpcyBhZGRyZXNzZXMgYSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgdGVzdGluZyBoYXJuZXNzIHdo
ZXJlaW4gdGhlIHdlYiBwcm9jZXNzIG1pZ2h0IHRha2UgbG9uZ2VyIHRoYW4gdXN1YWwgdG8gcHJv
Y2VzcyB0aGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>