<?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>154178</bug_id>
          
          <creation_ts>2016-02-12 11:47:37 -0800</creation_ts>
          <short_desc>Remove more unused process launching code</short_desc>
          <delta_ts>2016-02-12 11:58:33 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164239</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-12 11:47:37 -0800</bug_when>
    <thetext>Remove more unused process launching code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164240</commentid>
    <comment_count>1</comment_count>
      <attachid>271197</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-12 11:48:07 -0800</bug_when>
    <thetext>Created attachment 271197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164248</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-12 11:58:33 -0800</bug_when>
    <thetext>Committed r196491: &lt;http://trac.webkit.org/changeset/196491&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271197</attachid>
            <date>2016-02-12 11:48:07 -0800</date>
            <delta_ts>2016-02-12 11:54:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154178-20160212114746.patch</filename>
            <type>text/plain</type>
            <size>22332</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDllNWVjNGUyMDNkOWQ0
ZDczMTczYTQ1NWJkNjM3N2Y1NzA0N2FiYi4uY2ZiOGNhODkzZTEwMWI0OTUwMTMzNWE0YWYzM2Y3
ZmNiMWJjZDNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDE2LTAyLTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIG1vcmUg
dW51c2VkIHByb2Nlc3MgbGF1bmNoaW5nIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDE3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0RhdGFiYXNlcy9tYWMvRGF0YWJhc2VQ
cm9jZXNzUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OnNob3VsZFVzZVhQQyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExh
dW5jaE9wdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25t
ZW50VmFyaWFibGVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RW52aXJvbm1lbnRWYXJpYWJsZXM6
OnByZWV4aXN0aW5nUHJvY2Vzc1NlcnZpY2VOYW1lS2V5KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YktpdDo6RW52aXJvbm1lbnRWYXJpYWJsZXM6OnByZWV4aXN0aW5nUHJvY2Vzc1R5cGVLZXkpOiBE
ZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRW52aXJvbm1lbnRWYXJp
YWJsZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hl
ck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNz
KToKKyAgICAgICAgKFdlYktpdDo6c2V0VXBUZXJtaW5hdGlvbk5vdGlmaWNhdGlvbkhhbmRsZXIp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjphZGREWUxERW52aXJvbm1lbnRBZGRpdGlvbnMp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0Ojp0cnlQcmVleGlzdGluZ1Byb2Nlc3MpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVQcm9jZXNzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvTmV0d29yay9tYWMvTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6c2hvdWxkVXNlWFBDKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0
aW9ucyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVu
Y2hPcHRpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQ
cm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVXNlWFBDKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMp
OiBEZWxldGVkLgorCisyMDE2LTAyLTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CisKICAgICAgICAgR2V0IHJpZCBvZiBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Y3JlYXRl
UGx1Z2luTUlNRVR5cGVzUHJlZmVyZW5jZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1NDE3MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRGF0YWJhc2VzL21hYy9EYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvbWFjL0RhdGFiYXNlUHJvY2Vzc1Byb3h5TWFj
Lm1tCmluZGV4IDNjOGVjODM0YzQ2NjIwZjdmYjAyNTU2ZWI3YTUyYjVhYWYyMTA0ZmYuLmM0MWVh
MTg5MTU3ZTIxNzE4MDQxZDA1ZmE3OWEzYjA2NTAxMGZlYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvbWFjL0RhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvbWFjL0RhdGFiYXNlUHJv
Y2Vzc1Byb3h5TWFjLm1tCkBAIC0zMiwxOSArMzIsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgYm9vbCBzaG91bGRVc2VYUEMoKQot
ewotICAgIGlmIChpZCB2YWx1ZSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIG9iamVjdEZvcktleTpAIldlYktpdDJVc2VYUENTZXJ2aWNlRm9yV2ViUHJvY2VzcyJdKQot
ICAgICAgICByZXR1cm4gW3ZhbHVlIGJvb2xWYWx1ZV07Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQogdm9pZCBEYXRhYmFzZVByb2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKFBy
b2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKIHsKICAgICBsYXVu
Y2hPcHRpb25zLmFyY2hpdGVjdHVyZSA9IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9uczo6
TWF0Y2hDdXJyZW50QXJjaGl0ZWN0dXJlOwogICAgIGxhdW5jaE9wdGlvbnMuZXhlY3V0YWJsZUhl
YXAgPSBmYWxzZTsKLSAgICBsYXVuY2hPcHRpb25zLnVzZVhQQyA9IHNob3VsZFVzZVhQQygpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAppbmRleCAyMDBkYmFlNGZiZTEyMDQ5OWI5
ZTFlMzE3MWEzOWVmYWUyNTJjMjFlLi5jMjg0MjM2MWE1YTQ4NGRhMTZlZWE0MzJkNzViODlkMDdm
MTNlYmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1By
b2Nlc3NMYXVuY2hlci5oCkBAIC02Myw3ICs2Myw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IGNvbnN0IGNwdV90eXBlX3QgTWF0Y2hDdXJyZW50QXJjaGl0ZWN0dXJlID0gMDsKICAgICAgICAg
Y3B1X3R5cGVfdCBhcmNoaXRlY3R1cmU7CiAgICAgICAgIGJvb2wgZXhlY3V0YWJsZUhlYXA7Ci0g
ICAgICAgIGJvb2wgdXNlWFBDOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShHVEspCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL21hYy9FbnZpcm9ubWVudFZhcmlhYmxlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmNwcAppbmRleCAx
YTFiZjNiMzQ5NGUyZTQ1OWY4ZDA2MzIwMjI5ODc2MGI0YTE3N2U5Li5lM2JlMjU1MzhkYjRhMDA4
ZTIzYzYxY2ZkMmVhZDkzMDkxMTRhZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmNwcApA
QCAtMTM2LDE2ICsxMzYsNiBAQCB2b2lkIEVudmlyb25tZW50VmFyaWFibGVzOjpjb3B5RW52aXJv
bm1lbnRWYXJpYWJsZXMoKQogICAgIG1fZW52aXJvbm1lbnRQb2ludGVyID0gbV9lbnZpcm9ubWVu
dFZhcmlhYmxlcy5kYXRhKCk7CiB9CiAKLWNvbnN0IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVz
OjpwcmVleGlzdGluZ1Byb2Nlc3NTZXJ2aWNlTmFtZUtleSgpCi17Ci0gICAgcmV0dXJuICJXRUJL
SVRfUFJFRVhJU1RJTkdfUFJPQ0VTU19TRVJWSUNFX05BTUUiOwotfQotCi1jb25zdCBjaGFyKiBF
bnZpcm9ubWVudFZhcmlhYmxlczo6cHJlZXhpc3RpbmdQcm9jZXNzVHlwZUtleSgpCi17Ci0gICAg
cmV0dXJuICJXRUJLSVRfUFJFRVhJU1RJTkdfUFJPQ0VTU19UWVBFIjsKLX0KLQogdm9pZCBFbnZp
cm9ubWVudFZhcmlhYmxlczo6ZHVtcCgpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7ICgqX05T
R2V0RW52aXJvbigpKVtpXTsgaSsrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL21hYy9FbnZpcm9ubWVudFZhcmlhYmxlcy5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0xhdW5jaGVyL21hYy9FbnZpcm9ubWVudFZhcmlhYmxlcy5oCmluZGV4IDc4MzQz
Y2YzNzkyNzcwYjZhYWVkMTU4MzhjYTRjZDc0YTQ3ODcxYzYuLjFjZTUzYmE4MTYzMjY1ODBhNGU3
NjgyZjlkZWZjMzFkN2QxNzk5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlci9tYWMvRW52aXJvbm1lbnRWYXJpYWJsZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmgKQEAgLTQ2LDkg
KzQ2LDYgQEAgcHVibGljOgogCiAgICAgY2hhcioqIGVudmlyb25tZW50UG9pbnRlcigpIGNvbnN0
IHsgcmV0dXJuIG1fZW52aXJvbm1lbnRQb2ludGVyOyB9CiAKLSAgICBzdGF0aWMgY29uc3QgY2hh
ciogcHJlZXhpc3RpbmdQcm9jZXNzU2VydmljZU5hbWVLZXkoKTsKLSAgICBzdGF0aWMgY29uc3Qg
Y2hhciogcHJlZXhpc3RpbmdQcm9jZXNzVHlwZUtleSgpOwotCiAgICAgc3RhdGljIHZvaWQgZHVt
cCgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCAyYjRiODA4NWExMzRi
NmRlZWQ4N2Q4OGExMDk2YTliYmJhNzI3MzkwLi5kYTFhOGU4M2YyZWVlZTFmMjczY2NlNDhkYmNh
ZjJmNzkwYTliZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNo
ZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtNjYsMjAgKzY2LDYgQEAg
c3RydWN0IFVVSURIb2xkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxVVUlESG9sZGVyPiB7CiAKIH0K
IAotc3RhdGljIHZvaWQgc2V0VXBUZXJtaW5hdGlvbk5vdGlmaWNhdGlvbkhhbmRsZXIocGlkX3Qg
cGlkKQotewotICAgIGRpc3BhdGNoX3NvdXJjZV90IHByb2Nlc3NEaWVkU291cmNlID0gZGlzcGF0
Y2hfc291cmNlX2NyZWF0ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9QUk9DLCBwaWQsIERJU1BBVENI
X1BST0NfRVhJVCwgZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklP
UklUWV9ERUZBVUxULCAwKSk7Ci0gICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVy
KHByb2Nlc3NEaWVkU291cmNlLCBeewotICAgICAgICBpbnQgc3RhdHVzOwotICAgICAgICB3YWl0
cGlkKGRpc3BhdGNoX3NvdXJjZV9nZXRfaGFuZGxlKHByb2Nlc3NEaWVkU291cmNlKSwgJnN0YXR1
cywgMCk7Ci0gICAgICAgIGRpc3BhdGNoX3NvdXJjZV9jYW5jZWwocHJvY2Vzc0RpZWRTb3VyY2Up
OwotICAgIH0pOwotICAgIGRpc3BhdGNoX3NvdXJjZV9zZXRfY2FuY2VsX2hhbmRsZXIocHJvY2Vz
c0RpZWRTb3VyY2UsIF57Ci0gICAgICAgIGRpc3BhdGNoX3JlbGVhc2UocHJvY2Vzc0RpZWRTb3Vy
Y2UpOwotICAgIH0pOwotICAgIGRpc3BhdGNoX3Jlc3VtZShwcm9jZXNzRGllZFNvdXJjZSk7Ci19
Ci0KICNpZiBBU0FOX0VOQUJMRUQKIHN0YXRpYyBjb25zdCBjaGFyKiBjb3B5QVNhbkR5bmFtaWNM
aWJyYXJ5UGF0aCgpCiB7CkBAIC0xMTEsNDEgKzk3LDYgQEAgc3RhdGljIFJldGFpblB0cjxOU1N0
cmluZz4gY29tcHV0ZVByb2Nlc3NTaGltUGF0aChjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5j
aE8KIH0KICNlbmRpZgogCi1zdGF0aWMgdm9pZCBhZGREWUxERW52aXJvbm1lbnRBZGRpdGlvbnMo
Y29uc3QgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBib29s
IGlzV2ViS2l0RGV2ZWxvcG1lbnRCdWlsZCwgRW52aXJvbm1lbnRWYXJpYWJsZXMmIGVudmlyb25t
ZW50VmFyaWFibGVzKQotewotICAgIER5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3RvciBl
bnZpcm9ubWVudEV4dHJhY3RvcihbW05TQnVuZGxlIG1haW5CdW5kbGVdIGV4ZWN1dGFibGVQYXRo
XSwgX05TR2V0TWFjaEV4ZWN1dGVIZWFkZXIoKS0+Y3B1dHlwZSk7Ci0gICAgZW52aXJvbm1lbnRF
eHRyYWN0b3IuZ2V0RXh0cmFjdGVkRW52aXJvbm1lbnRWYXJpYWJsZXMoZW52aXJvbm1lbnRWYXJp
YWJsZXMpOwotCi0gICAgTlNCdW5kbGUgKndlYktpdEJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVX
aXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJLaXQiXTsKLSAgICBOU1N0cmluZyAqZnJhbWV3
b3Jrc1BhdGggPSBbW3dlYktpdEJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdCeURlbGV0aW5nTGFz
dFBhdGhDb21wb25lbnRdOwotCi0gICAgLy8gVG8gbWFrZSBlbmdpbmVlcmluZyBidWlsZHMgd29y
aywgaWYgdGhlIHBhdGggaXMgb3V0c2lkZSBvZiAvU3lzdGVtIHNldCB1cAotICAgIC8vIERZTERf
RlJBTUVXT1JLX1BBVEggdG8gcGljayB1cCBvdGhlciBmcmFtZXdvcmtzLCBidXQgZG9uJ3QgZG8g
aXQgZm9yIHRoZQotICAgIC8vIHByb2R1Y3Rpb24gY29uZmlndXJhdGlvbiBiZWNhdXNlIGl0IGlu
dm9sdmVzIGV4dHJhIGZpbGUgc3lzdGVtIGFjY2Vzcy4KLSAgICBpZiAoaXNXZWJLaXREZXZlbG9w
bWVudEJ1aWxkKSB7Ci0gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzLmFwcGVuZFZhbHVlKCJE
WUxEX0ZSQU1FV09SS19QQVRIIiwgW2ZyYW1ld29ya3NQYXRoIGZpbGVTeXN0ZW1SZXByZXNlbnRh
dGlvbl0sICc6Jyk7Ci0gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzLmFwcGVuZFZhbHVlKCJE
WUxEX0xJQlJBUllfUEFUSCIsIHdlYktpdEJ1bmRsZS5wcml2YXRlRnJhbWV3b3Jrc1BhdGguZmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uLCAnOicpOwotICAgIH0KLQotI2lmIEFTQU5fRU5BQkxFRAot
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBhc2FuTGlicmFyeVBhdGggPSBjb3B5QVNhbkR5bmFtaWNM
aWJyYXJ5UGF0aCgpOwotICAgIEFTU0VSVChhc2FuTGlicmFyeVBhdGgpOyAvLyBBU2FuIHJ1bnRp
bWUgbGlicmFyeSB3YXMgbm90IGZvdW5kIGluIHRoZSBjdXJyZW50IHByb2Nlc3MuIFRoaXMgY29k
ZSBtYXkgbmVlZCB0byBiZSB1cGRhdGVkIGlmIHRoZSBsaWJyYXJ5IG5hbWUgaGFzIGNoYW5nZWQu
Ci0gICAgLy8gQVNhbiBkb2Vzbid0IHJlcXVpcmUgdGhpcyBsaWJyYXJ5IHRvIGJlIGluc2VydGVk
LCBidXQgaXQgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgcGVyZm9ybXMgYSByZS1leGVjLCBtYWtp
bmcgdGhlIGNoaWxkIHByb2Nlc3Mgc3RvcCBpbiBhIGRlYnVnZ2VyIG9uIGxhdW5jaCBvbmUgZXh0
cmEgdGltZS4KLSAgICBpZiAoYXNhbkxpYnJhcnlQYXRoKQotICAgICAgICBlbnZpcm9ubWVudFZh
cmlhYmxlcy5hcHBlbmRWYWx1ZSgiRFlMRF9JTlNFUlRfTElCUkFSSUVTIiwgYXNhbkxpYnJhcnlQ
YXRoLCAnOicpOwotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDExMDAKLSAgICBpZiAoYXV0byBzaGltUGF0aCA9IGNvbXB1
dGVQcm9jZXNzU2hpbVBhdGgobGF1bmNoT3B0aW9ucywgd2ViS2l0QnVuZGxlKSkgewotICAgICAg
ICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgc2hpbSBsaWJyYXJ5IGZpbGUgZXhpc3RzIGFuZCBpbnNl
cnQgaXQuCi0gICAgICAgIGNvbnN0IGNoYXIqIHByb2Nlc3NTaGltUGF0aCA9IFtzaGltUGF0aCBm
aWxlU3lzdGVtUmVwcmVzZW50YXRpb25dOwotICAgICAgICBzdHJ1Y3Qgc3RhdCBzdGF0QnVmOwot
ICAgICAgICBpZiAoc3RhdChwcm9jZXNzU2hpbVBhdGgsICZzdGF0QnVmKSA9PSAwICYmIChzdGF0
QnVmLnN0X21vZGUgJiBTX0lGTVQpID09IFNfSUZSRUcpCi0gICAgICAgICAgICBlbnZpcm9ubWVu
dFZhcmlhYmxlcy5hcHBlbmRWYWx1ZSgiRFlMRF9JTlNFUlRfTElCUkFSSUVTIiwgcHJvY2Vzc1No
aW1QYXRoLCAnOicpOwotICAgIH0KLSNlbmRpZgotfQotCiB0eXBlZGVmIHZvaWQgKFByb2Nlc3NM
YXVuY2hlcjo6KkRpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3NGdW5jdGlvbikoUGxhdGZvcm1Qcm9j
ZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIAogc3RhdGljIGNv
bnN0IGNoYXIqIHNlcnZpY2VOYW1lKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9u
cyYgbGF1bmNoT3B0aW9ucykKQEAgLTMwNCwxOTggKzI1NSw2IEBAIHN0YXRpYyB2b2lkIGNyZWF0
ZVNlcnZpY2UoY29uc3QgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRp
b25zLCBiCiAgICAgY29ubmVjdFRvU2VydmljZShsYXVuY2hPcHRpb25zLCBmb3JEZXZlbG9wbWVu
dCwgdGhhdCwgZGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzc0Z1bmN0aW9uLCBpbnN0YW5jZVVVSUQu
Z2V0KCkpOwogfQogCi1zdGF0aWMgYm9vbCB0cnlQcmVleGlzdGluZ1Byb2Nlc3MoY29uc3QgUHJv
Y2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBQcm9jZXNzTGF1bmNo
ZXIqIHRoYXQsIERpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3NGdW5jdGlvbiBkaWRGaW5pc2hMYXVu
Y2hpbmdQcm9jZXNzRnVuY3Rpb24pCi17Ci0gICAgRW52aXJvbm1lbnRWYXJpYWJsZXMgZW52aXJv
bm1lbnRWYXJpYWJsZXM7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHByZWV4aXN0aW5nUHJvY2Vz
c1NlcnZpY2VOYW1lID0gZW52aXJvbm1lbnRWYXJpYWJsZXMuZ2V0KEVudmlyb25tZW50VmFyaWFi
bGVzOjpwcmVleGlzdGluZ1Byb2Nlc3NTZXJ2aWNlTmFtZUtleSgpKTsKLQotICAgIFByb2Nlc3NM
YXVuY2hlcjo6UHJvY2Vzc1R5cGUgcHJlZXhpc3RpbmdQcm9jZXNzVHlwZTsKLSAgICBpZiAocHJl
ZXhpc3RpbmdQcm9jZXNzU2VydmljZU5hbWUpCi0gICAgICAgIFByb2Nlc3NMYXVuY2hlcjo6Z2V0
UHJvY2Vzc1R5cGVGcm9tU3RyaW5nKGVudmlyb25tZW50VmFyaWFibGVzLmdldChFbnZpcm9ubWVu
dFZhcmlhYmxlczo6cHJlZXhpc3RpbmdQcm9jZXNzVHlwZUtleSgpKSwgcHJlZXhpc3RpbmdQcm9j
ZXNzVHlwZSk7Ci0KLSAgICBib29sIHVzZVByZWV4aXN0aW5nUHJvY2VzcyA9IHByZWV4aXN0aW5n
UHJvY2Vzc1NlcnZpY2VOYW1lICYmIHByZWV4aXN0aW5nUHJvY2Vzc1R5cGUgPT0gbGF1bmNoT3B0
aW9ucy5wcm9jZXNzVHlwZTsKLSAgICBpZiAoIXVzZVByZWV4aXN0aW5nUHJvY2VzcykKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gQ3JlYXRlIHRoZSBsaXN0ZW5pbmcgcG9ydC4KLSAg
ICBtYWNoX3BvcnRfdCBsaXN0ZW5pbmdQb3J0OwotICAgIG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNo
X3Rhc2tfc2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxpc3RlbmluZ1BvcnQpOwot
ICAgIAotICAgIC8vIEluc2VydCBhIHNlbmQgcmlnaHQgc28gd2UgY2FuIHNlbmQgdG8gaXQuCi0g
ICAgbWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNoX3Rhc2tfc2VsZigpLCBsaXN0ZW5pbmdQb3J0
LCBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCk7Ci0KLSAgICBwaWRfdCBw
cm9jZXNzSWRlbnRpZmllciA9IDA7Ci0KLSAgICBtYWNoX3BvcnRfdCBsb29rdXBQb3J0OwotICAg
IGJvb3RzdHJhcF9sb29rX3VwKGJvb3RzdHJhcF9wb3J0LCBwcmVleGlzdGluZ1Byb2Nlc3NTZXJ2
aWNlTmFtZSwgJmxvb2t1cFBvcnQpOwotCi0gICAgbWFjaF9tc2dfaGVhZGVyX3QgaGVhZGVyOwot
ICAgIGhlYWRlci5tc2doX2JpdHMgPSBNQUNIX01TR0hfQklUUyhNQUNIX01TR19UWVBFX0NPUFlf
U0VORCwgTUFDSF9NU0dfVFlQRV9NQUtFX1NFTkQpOwotICAgIGhlYWRlci5tc2doX2lkID0gMDsK
LSAgICBoZWFkZXIubXNnaF9sb2NhbF9wb3J0ID0gbGlzdGVuaW5nUG9ydDsKLSAgICBoZWFkZXIu
bXNnaF9yZW1vdGVfcG9ydCA9IGxvb2t1cFBvcnQ7Ci0gICAgaGVhZGVyLm1zZ2hfc2l6ZSA9IHNp
emVvZihoZWFkZXIpOwotICAgIGtlcm5fcmV0dXJuX3Qga3IgPSBtYWNoX21zZygmaGVhZGVyLCBN
QUNIX1NFTkRfTVNHLCBzaXplb2YoaGVhZGVyKSwgMCwgTUFDSF9QT1JUX05VTEwsIE1BQ0hfTVNH
X1RJTUVPVVRfTk9ORSwgTUFDSF9QT1JUX05VTEwpOwotCi0gICAgbWFjaF9wb3J0X2RlYWxsb2Nh
dGUobWFjaF90YXNrX3NlbGYoKSwgbG9va3VwUG9ydCk7Ci0gICAgcHJlZXhpc3RpbmdQcm9jZXNz
U2VydmljZU5hbWUgPSAwOwotCi0gICAgaWYgKGtyKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFp
bGVkIHRvIHBpY2sgdXAgcHJlZXhpc3RpbmcgcHJvY2VzcyBhdCAlcyAoJXgpLiBMYXVuY2hpbmcg
YSBuZXcgcHJvY2VzcyBvZiB0eXBlICVzIGluc3RlYWQuIiwgcHJlZXhpc3RpbmdQcm9jZXNzU2Vy
dmljZU5hbWUsIGtyLCBQcm9jZXNzTGF1bmNoZXI6OnByb2Nlc3NUeXBlQXNTdHJpbmcobGF1bmNo
T3B0aW9ucy5wcm9jZXNzVHlwZSkpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAg
IAotICAgIC8vIFdlJ3ZlIGZpbmlzaGVkIGxhdW5jaGluZyB0aGUgcHJvY2VzcywgbWVzc2FnZSBi
YWNrIHRvIHRoZSBtYWluIHJ1biBsb29wLgotICAgIFJlZlB0cjxQcm9jZXNzTGF1bmNoZXI+IHBy
b3RlY3Rvcih0aGF0KTsKLSAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3Byb3RlY3Rvciwg
ZGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzc0Z1bmN0aW9uLCBwcm9jZXNzSWRlbnRpZmllciwgbGlz
dGVuaW5nUG9ydF0gewotICAgICAgICAoKnByb3RlY3Rvci4qZGlkRmluaXNoTGF1bmNoaW5nUHJv
Y2Vzc0Z1bmN0aW9uKShwcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyKGxpc3RlbmluZ1BvcnQpKTsKLSAgICB9KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3Rh
dGljIHZvaWQgY3JlYXRlUHJvY2Vzcyhjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlv
bnMmIGxhdW5jaE9wdGlvbnMsIGJvb2wgaXNXZWJLaXREZXZlbG9wbWVudEJ1aWxkLCBQcm9jZXNz
TGF1bmNoZXIqIHRoYXQsIERpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3NGdW5jdGlvbiBkaWRGaW5p
c2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb24pCi17Ci0gICAgRW52aXJvbm1lbnRWYXJpYWJsZXMg
ZW52aXJvbm1lbnRWYXJpYWJsZXM7Ci0gICAgYWRkRFlMREVudmlyb25tZW50QWRkaXRpb25zKGxh
dW5jaE9wdGlvbnMsIGlzV2ViS2l0RGV2ZWxvcG1lbnRCdWlsZCwgZW52aXJvbm1lbnRWYXJpYWJs
ZXMpOwotCi0gICAgLy8gQ3JlYXRlIHRoZSBsaXN0ZW5pbmcgcG9ydC4KLSAgICBtYWNoX3BvcnRf
dCBsaXN0ZW5pbmdQb3J0OwotICAgIG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigp
LCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxpc3RlbmluZ1BvcnQpOwotCi0gICAgLy8gSW5z
ZXJ0IGEgc2VuZCByaWdodCBzbyB3ZSBjYW4gc2VuZCB0byBpdC4KLSAgICBtYWNoX3BvcnRfaW5z
ZXJ0X3JpZ2h0KG1hY2hfdGFza19zZWxmKCksIGxpc3RlbmluZ1BvcnQsIGxpc3RlbmluZ1BvcnQs
IE1BQ0hfTVNHX1RZUEVfTUFLRV9TRU5EKTsKLQotICAgIE5TQnVuZGxlICp3ZWJLaXRCdW5kbGUg
PSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViS2l0Il07Ci0K
LSAgICBOU1N0cmluZyAqcHJvY2Vzc1BhdGggPSBuaWw7Ci0gICAgc3dpdGNoIChsYXVuY2hPcHRp
b25zLnByb2Nlc3NUeXBlKSB7Ci0gICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6OldlYlByb2Nlc3M6
Ci0gICAgICAgIHByb2Nlc3NQYXRoID0gW3dlYktpdEJ1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhl
Y3V0YWJsZTpAIldlYlByb2Nlc3MuYXBwIl07Ci0gICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQbHVnaW5Qcm9j
ZXNzOgotICAgICAgICBwcm9jZXNzUGF0aCA9IFt3ZWJLaXRCdW5kbGUgcGF0aEZvckF1eGlsaWFy
eUV4ZWN1dGFibGU6QCJQbHVnaW5Qcm9jZXNzLmFwcCJdOwotICAgICAgICBicmVhazsKLSNlbmRp
ZgotICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpOZXR3b3JrUHJvY2VzczoKLSAgICAgICAgcHJv
Y2Vzc1BhdGggPSBbd2ViS2l0QnVuZGxlIHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiTmV0
d29ya1Byb2Nlc3MuYXBwIl07Ci0gICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShEQVRBQkFTRV9Q
Uk9DRVNTKQotICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpEYXRhYmFzZVByb2Nlc3M6Ci0gICAg
ICAgIHByb2Nlc3NQYXRoID0gW3dlYktpdEJ1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhlY3V0YWJs
ZTpAIkRhdGFiYXNlUHJvY2Vzcy5hcHAiXTsKLSAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLSAgICB9
Ci0KLSAgICBOU1N0cmluZyAqZnJhbWV3b3JrRXhlY3V0YWJsZVBhdGggPSBbd2ViS2l0QnVuZGxl
IGV4ZWN1dGFibGVQYXRoXTsKLSAgICBOU1N0cmluZyAqcHJvY2Vzc0FwcEV4ZWN1dGFibGVQYXRo
ID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoUGF0aDpwcm9jZXNzUGF0aF0gZXhlY3V0YWJsZVBhdGhd
OwotCi0gICAgTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIgPSBbW05TQnVuZGxlIG1haW5CdW5k
bGVdIGJ1bmRsZUlkZW50aWZpZXJdOwotICAgIENTdHJpbmcgY2xpZW50SWRlbnRpZmllciA9IGJ1
bmRsZUlkZW50aWZpZXIgPyBTdHJpbmcoW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVu
dGlmaWVyXSkudXRmOCgpIDogKl9OU0dldFByb2duYW1lKCk7Ci0KLSAgICAvLyBNYWtlIGEgdW5p
cXVlLCBwZXIgcGlkLCBwZXIgcHJvY2VzcyBsYXVuY2hlciB3ZWIgcHJvY2VzcyBzZXJ2aWNlIG5h
bWUuCi0gICAgQ1N0cmluZyBzZXJ2aWNlTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJjb20uYXBwbGUu
V2ViS2l0LldlYlByb2Nlc3MtJWQtJXAiLCBnZXRwaWQoKSwgdGhhdCkudXRmOCgpOwotCi0gICAg
Ly8gSW5oZXJpdCBVSSBwcm9jZXNzIGxvY2FsaXphdGlvbi4gSXQgY2FuIGJlIGRpZmZlcmVudCBm
cm9tIGNoaWxkIHByb2Nlc3MgZGVmYXVsdCBsb2NhbGl6YXRpb246Ci0gICAgLy8gMS4gV2hlbiB0
aGUgYXBwbGljYXRpb24gYW5kIHN5c3RlbSBmcmFtZXdvcmtzIHNpbXBseSBoYXZlIGRpZmZlcmVu
dCBsb2NhbGl6ZWQgcmVzb3VyY2VzIGF2YWlsYWJsZSwgd2Ugc2hvdWxkIG1hdGNoIHRoZSBhcHBs
aWNhdGlvbi4KLSAgICAvLyAxLjEuIEFuIGltcG9ydGFudCBjYXNlIGlzIFdlYktpdFRlc3RSdW5u
ZXIsIHdoZXJlIHdlIHNob3VsZCB1c2UgRW5nbGlzaCBsb2NhbGl6YXRpb25zIGZvciBhbGwgc3lz
dGVtIGZyYW1ld29ya3MuCi0gICAgLy8gMi4gV2hlbiBBcHBsZUxhbmd1YWdlcyBpcyBwYXNzZWQg
YXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50IGZvciBVSSBwcm9jZXNzLCBvciBzZXQgaW4gaXRzIHBy
ZWZlcmVuY2VzLCB3ZSBzaG91bGQgcmVzcGVjdCBpdCBpbiBjaGlsZCBwcm9jZXNzZXMuCi0gICAg
Q1N0cmluZyBhcHBsZUxhbmd1YWdlc0FyZ3VtZW50ID0gU3RyaW5nKCIoJyIgKyBTdHJpbmcocHJl
ZmVycmVkQnVuZGxlTG9jYWxpemF0aW9uTmFtZSgpKSArICInKSIpLnV0ZjgoKTsKLQotICAgIFZl
Y3Rvcjxjb25zdCBjaGFyKj4gYXJnczsKLSAgICBhcmdzLmFwcGVuZChbcHJvY2Vzc0FwcEV4ZWN1
dGFibGVQYXRoIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbl0pOwotICAgIGFyZ3MuYXBwZW5kKFtm
cmFtZXdvcmtFeGVjdXRhYmxlUGF0aCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb25dKTsKLSAgICBh
cmdzLmFwcGVuZCgiLXR5cGUiKTsKLSAgICBhcmdzLmFwcGVuZChQcm9jZXNzTGF1bmNoZXI6OnBy
b2Nlc3NUeXBlQXNTdHJpbmcobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkpOwotICAgIGFyZ3Mu
YXBwZW5kKCItc2VydmljZW5hbWUiKTsKLSAgICBhcmdzLmFwcGVuZChzZXJ2aWNlTmFtZS5kYXRh
KCkpOwotICAgIGFyZ3MuYXBwZW5kKCItY2xpZW50LWlkZW50aWZpZXIiKTsKLSAgICBhcmdzLmFw
cGVuZChjbGllbnRJZGVudGlmaWVyLmRhdGEoKSk7Ci0gICAgYXJncy5hcHBlbmQoIi11aS1wcm9j
ZXNzLW5hbWUiKTsKLSAgICBhcmdzLmFwcGVuZChbW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZv
XSBwcm9jZXNzTmFtZV0gVVRGOFN0cmluZ10pOwotICAgIGFyZ3MuYXBwZW5kKCItQXBwbGVMYW5n
dWFnZXMiKTsgLy8gVGhpcyBhcmd1bWVudCB3aWxsIGJlIGhhbmRsZWQgYnkgQ29yZSBGb3VuZGF0
aW9uLgotICAgIGFyZ3MuYXBwZW5kKGFwcGxlTGFuZ3VhZ2VzQXJndW1lbnQuZGF0YSgpKTsKLQot
ICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGxhdW5jaE9w
dGlvbnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEuYmVnaW4oKTsKLSAgICBIYXNoTWFwPFN0cmlu
ZywgU3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbGF1bmNoT3B0aW9ucy5leHRyYUluaXRp
YWxpemF0aW9uRGF0YS5lbmQoKTsKLSAgICBWZWN0b3I8Q1N0cmluZz4gdGVtcHM7Ci0gICAgZm9y
ICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBTdHJpbmcga2V5UGx1c0Rhc2ggPSAiLSIg
KyBpdC0+a2V5OwotICAgICAgICBDU3RyaW5nIGtleShrZXlQbHVzRGFzaC51dGY4KCkuZGF0YSgp
KTsKLSAgICAgICAgdGVtcHMuYXBwZW5kKGtleSk7Ci0gICAgICAgIGFyZ3MuYXBwZW5kKGtleS5k
YXRhKCkpOwotCi0gICAgICAgIENTdHJpbmcgdmFsdWUoaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkp
OwotICAgICAgICB0ZW1wcy5hcHBlbmQodmFsdWUpOwotICAgICAgICBhcmdzLmFwcGVuZCh2YWx1
ZS5kYXRhKCkpOwotICAgIH0KLQotICAgIGFyZ3MuYXBwZW5kKG51bGxwdHIpOwotCi0jcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCi0gICAgLy8gUmVnaXN0ZXIgb3Vyc2VsdmVzLgot
ICAgIGtlcm5fcmV0dXJuX3Qga3IgPSBib290c3RyYXBfcmVnaXN0ZXIyKGJvb3RzdHJhcF9wb3J0
LCBjb25zdF9jYXN0PGNoYXIqPihzZXJ2aWNlTmFtZS5kYXRhKCkpLCBsaXN0ZW5pbmdQb3J0LCAw
KTsKLSAgICBBU1NFUlRfVU5VU0VEKGtyLCBrciA9PSBLRVJOX1NVQ0NFU1MpOwotI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHBvcAotCi0gICAgcG9zaXhfc3Bhd25hdHRyX3QgYXR0cjsKLSAgICBw
b3NpeF9zcGF3bmF0dHJfaW5pdCgmYXR0cik7Ci0KLSAgICBzaG9ydCBmbGFncyA9IDA7Ci0KLSAg
ICAvLyBXZSB3YW50IG91ciBwcm9jZXNzIHRvIHJlY2VpdmUgYWxsIHNpZ25hbHMuCi0gICAgc2ln
c2V0X3Qgc2lnbmFsTWFza1NldDsKLSAgICBzaWdlbXB0eXNldCgmc2lnbmFsTWFza1NldCk7Ci0K
LSAgICBwb3NpeF9zcGF3bmF0dHJfc2V0c2lnbWFzaygmYXR0ciwgJnNpZ25hbE1hc2tTZXQpOwot
ICAgIGZsYWdzIHw9IFBPU0lYX1NQQVdOX1NFVFNJR01BU0s7Ci0KLSAgICAvLyBEZXRlcm1pbmUg
dGhlIGFyY2hpdGVjdHVyZSB0byB1c2UuCi0gICAgY3B1X3R5cGVfdCBhcmNoaXRlY3R1cmUgPSBs
YXVuY2hPcHRpb25zLmFyY2hpdGVjdHVyZTsKLSAgICBpZiAoYXJjaGl0ZWN0dXJlID09IFByb2Nl
c3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9uczo6TWF0Y2hDdXJyZW50QXJjaGl0ZWN0dXJlKQotICAg
ICAgICBhcmNoaXRlY3R1cmUgPSBfTlNHZXRNYWNoRXhlY3V0ZUhlYWRlcigpLT5jcHV0eXBlOwot
Ci0gICAgY3B1X3R5cGVfdCBjcHVUeXBlc1tdID0geyBhcmNoaXRlY3R1cmUgfTsKLSAgICBzaXpl
X3Qgb3V0Q291bnQgPSAwOwotICAgIHBvc2l4X3NwYXduYXR0cl9zZXRiaW5wcmVmX25wKCZhdHRy
LCAxLCBjcHVUeXBlcywgJm91dENvdW50KTsKLQotICAgIC8vIFN0YXJ0IHN1c3BlbmRlZCBzbyB3
ZSBjYW4gc2V0IHVwIHRoZSB0ZXJtaW5hdGlvbiBub3RpZmljYXRpb24gaGFuZGxlci4KLSAgICBm
bGFncyB8PSBQT1NJWF9TUEFXTl9TVEFSVF9TVVNQRU5ERUQ7Ci0KLSAgICBzdGF0aWMgY29uc3Qg
aW50IGFsbG93RXhlY3V0YWJsZUhlYXBGbGFnID0gMHgyMDAwOwotICAgIGlmIChsYXVuY2hPcHRp
b25zLmV4ZWN1dGFibGVIZWFwKQotICAgICAgICBmbGFncyB8PSBhbGxvd0V4ZWN1dGFibGVIZWFw
RmxhZzsKLQotICAgIHBvc2l4X3NwYXduYXR0cl9zZXRmbGFncygmYXR0ciwgZmxhZ3MpOwotCi0g
ICAgcGlkX3QgcHJvY2Vzc0lkZW50aWZpZXIgPSAwOwotICAgIGludCByZXN1bHQgPSBwb3NpeF9z
cGF3bigmcHJvY2Vzc0lkZW50aWZpZXIsIGFyZ3NbMF0sIDAsICZhdHRyLCBjb25zdF9jYXN0PGNo
YXIqKj4oYXJncy5kYXRhKCkpLCBlbnZpcm9ubWVudFZhcmlhYmxlcy5lbnZpcm9ubWVudFBvaW50
ZXIoKSk7Ci0KLSAgICBwb3NpeF9zcGF3bmF0dHJfZGVzdHJveSgmYXR0cik7Ci0KLSAgICBpZiAo
IXJlc3VsdCkgewotICAgICAgICAvLyBTZXQgdXAgdGhlIHRlcm1pbmF0aW9uIG5vdGlmaWNhdGlv
biBoYW5kbGVyIGFuZCB0aGVuIGFzayB0aGUgY2hpbGQgcHJvY2VzcyB0byBjb250aW51ZS4KLSAg
ICAgICAgc2V0VXBUZXJtaW5hdGlvbk5vdGlmaWNhdGlvbkhhbmRsZXIocHJvY2Vzc0lkZW50aWZp
ZXIpOwotICAgICAgICBraWxsKHByb2Nlc3NJZGVudGlmaWVyLCBTSUdDT05UKTsKLSAgICB9IGVs
c2UgewotICAgICAgICAvLyBXZSBmYWlsZWQgdG8gbGF1bmNoLiBSZWxlYXNlIHRoZSBzZW5kIHJp
Z2h0LgotICAgICAgICBtYWNoX3BvcnRfZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBsaXN0
ZW5pbmdQb3J0KTsKLQotICAgICAgICAvLyBBbmQgdGhlIHJlY2VpdmUgcmlnaHQuCi0gICAgICAg
IG1hY2hfcG9ydF9tb2RfcmVmcyhtYWNoX3Rhc2tfc2VsZigpLCBsaXN0ZW5pbmdQb3J0LCBNQUNI
X1BPUlRfUklHSFRfUkVDRUlWRSwgLTEpOwotICAgIAotICAgICAgICBsaXN0ZW5pbmdQb3J0ID0g
TUFDSF9QT1JUX05VTEw7Ci0gICAgICAgIHByb2Nlc3NJZGVudGlmaWVyID0gMDsKLSAgICB9Ci0K
LSAgICAvLyBXZSd2ZSBmaW5pc2hlZCBsYXVuY2hpbmcgdGhlIHByb2Nlc3MsIG1lc3NhZ2UgYmFj
ayB0byB0aGUgbWFpbiBydW4gbG9vcC4KLSAgICBSZWZQdHI8UHJvY2Vzc0xhdW5jaGVyPiBwcm90
ZWN0b3IodGhhdCk7Ci0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtwcm90ZWN0b3IsIGRp
ZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3NGdW5jdGlvbiwgcHJvY2Vzc0lkZW50aWZpZXIsIGxpc3Rl
bmluZ1BvcnRdIHsKLSAgICAgICAgKCpwcm90ZWN0b3IuKmRpZEZpbmlzaExhdW5jaGluZ1Byb2Nl
c3NGdW5jdGlvbikocHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
cihsaXN0ZW5pbmdQb3J0KSk7Ci0gICAgfSk7Ci19Ci0KIHN0YXRpYyBOU1N0cmluZyAqc3lzdGVt
RGlyZWN0b3J5UGF0aCgpCiB7CiAgICAgc3RhdGljIE5TU3RyaW5nICpwYXRoID0gW157CkBAIC01
MTIsMTcgKzI3MSw5IEBAIHN0YXRpYyBOU1N0cmluZyAqc3lzdGVtRGlyZWN0b3J5UGF0aCgpCiAK
IHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKIHsKLSAgICBpZiAodHJ5UHJl
ZXhpc3RpbmdQcm9jZXNzKG1fbGF1bmNoT3B0aW9ucywgdGhpcywgJlByb2Nlc3NMYXVuY2hlcjo6
ZGlkRmluaXNoTGF1bmNoaW5nUHJvY2VzcykpCi0gICAgICAgIHJldHVybjsKLQogICAgIGJvb2wg
aXNXZWJLaXREZXZlbG9wbWVudEJ1aWxkID0gIVtbW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRp
ZmllcjpAImNvbS5hcHBsZS5XZWJLaXQiXSBidW5kbGVQYXRoXSBzdHJpbmdCeURlbGV0aW5nTGFz
dFBhdGhDb21wb25lbnRdIGhhc1ByZWZpeDpzeXN0ZW1EaXJlY3RvcnlQYXRoKCldOwogCi0gICAg
aWYgKG1fbGF1bmNoT3B0aW9ucy51c2VYUEMpIHsKLSAgICAgICAgY3JlYXRlU2VydmljZShtX2xh
dW5jaE9wdGlvbnMsIGlzV2ViS2l0RGV2ZWxvcG1lbnRCdWlsZCwgdGhpcywgJlByb2Nlc3NMYXVu
Y2hlcjo6ZGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBjcmVhdGVQcm9jZXNzKG1fbGF1bmNoT3B0aW9ucywgaXNXZWJLaXREZXZlbG9wbWVu
dEJ1aWxkLCB0aGlzLCAmUHJvY2Vzc0xhdW5jaGVyOjpkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNz
KTsKKyAgICBjcmVhdGVTZXJ2aWNlKG1fbGF1bmNoT3B0aW9ucywgaXNXZWJLaXREZXZlbG9wbWVu
dEJ1aWxkLCB0aGlzLCAmUHJvY2Vzc0xhdW5jaGVyOjpkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNz
KTsKIH0KIAogdm9pZCBQcm9jZXNzTGF1bmNoZXI6OnRlcm1pbmF0ZVByb2Nlc3MoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvbWFjL05ldHdvcmtQcm9jZXNz
UHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9tYWMvTmV0d29y
a1Byb2Nlc3NQcm94eU1hYy5tbQppbmRleCAxOWY3MjI1YzAxNjI5NzA3M2RhYjg0OTIwYWJjYjIw
ZTAyNDljYmI2Li5iNTcxODcxYWUzM2E1OGE0ZGVhNjNjYjRmYTJiZjk0MzA1ZWQ0OTUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9tYWMvTmV0d29ya1Byb2Nl
c3NQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9tYWMv
TmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbQpAQCAtNDAsMjAgKzQwLDEwIEBAIHZvaWQgTmV0d29y
a1Byb2Nlc3NQcm94eTo6c2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIHByb2Nlc3NT
dXBwcmVzc2lvbkVuCiAgICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJv
Y2Vzczo6U2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChwcm9jZXNzU3VwcHJlc3Npb25FbmFi
bGVkKSwgMCk7CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFVzZVhQQygpCi17Ci0gICAgaWYgKGlk
IHZhbHVlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9y
S2V5OkAiV2ViS2l0MlVzZVhQQ1NlcnZpY2VGb3JXZWJQcm9jZXNzIl0pCi0gICAgICAgIHJldHVy
biBbdmFsdWUgYm9vbFZhbHVlXTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIE5ldHdv
cmtQcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNzTGF1bmNoZXI6
OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCiB7CiAgICAgbGF1bmNoT3B0aW9ucy5hcmNo
aXRlY3R1cmUgPSBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnM6Ok1hdGNoQ3VycmVudEFy
Y2hpdGVjdHVyZTsKICAgICBsYXVuY2hPcHRpb25zLmV4ZWN1dGFibGVIZWFwID0gZmFsc2U7Ci0K
LSAgICBsYXVuY2hPcHRpb25zLnVzZVhQQyA9IHNob3VsZFVzZVhQQygpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tCmluZGV4IDZhYzFhZGNiNTVm
Y2QzNWQyMzUyNzdiZGVhZmY3ZWQyNDcxZDhkNzMuLjkzYTAxYTUzZTM2ZWRkMTg0OThjM2Y1Y2Rm
OGM0YWY3ODBmM2RmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpblByb2Nlc3NQcm94eU1hYy5tbQpAQCAtMTIzLDggKzEy
Myw2IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMo
UHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zCiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IFdURkxvZ0Fsd2F5cygiTWFpbiBwcm9jZXNzIGlzIHNhbmRib3hlZCwgaWdub3JpbmcgcGx1Zy1p
biBzYW5kYm94IHBvbGljeSIpOwogICAgIH0KLQotICAgIGxhdW5jaE9wdGlvbnMudXNlWFBDID0g
dHJ1ZTsKIH0KIAogdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVBs
dWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1Mu
bW0KaW5kZXggYjJhMmM3ZWRkN2QwNmI3MWMzZjc2NDBjZGYwNDM2MmM3NzFlNWRkNC4uMmY5MGM5
NDRjNmYwMmEwNDVhZTNiMTIwOGYwODEyYWU2ZDIwMjE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1MubW0KQEAgLTQ1LDggKzQ1LDYg
QEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNz
TGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGwKICAgICAvLyBXZSB3YW50IHRoZSB3ZWIgcHJvY2Vz
cyB0byBtYXRjaCB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBVSSBwcm9jZXNzLgogICAgIGxhdW5j
aE9wdGlvbnMuYXJjaGl0ZWN0dXJlID0gUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zOjpN
YXRjaEN1cnJlbnRBcmNoaXRlY3R1cmU7CiAgICAgbGF1bmNoT3B0aW9ucy5leGVjdXRhYmxlSGVh
cCA9IGZhbHNlOwotCi0gICAgbGF1bmNoT3B0aW9ucy51c2VYUEMgPSB0cnVlOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViUHJvY2Vzc1Byb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJQcm9jZXNzUHJveHlNYWMubW0KaW5kZXggNDYxZGU0NDA3ZmFjNjdmZTJmODIyYWQ3ZTg0ZmM4
ZDQ3NDc4YTE4MC4uZWJjY2IzNmNjOTk3M2NhMDBmOWM1ZjI0YWU1ZGJkMWI1MDhlMmVlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMu
bW0KQEAgLTM3LDE5ICszNywxMSBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6ZnVsbEtleWJvYXJk
QWNjZXNzRW5hYmxlZCgpCiAgICAgcmV0dXJuIFtXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIg
ZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZF07CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFVzZVhQ
QygpCi17Ci0gICAgaWYgKGlkIHZhbHVlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gb2JqZWN0Rm9yS2V5OkAiV2ViS2l0MlVzZVhQQ1NlcnZpY2VGb3JXZWJQcm9jZXNz
Il0pCi0gICAgICAgIHJldHVybiBbdmFsdWUgYm9vbFZhbHVlXTsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0aW9ucyhQcm9j
ZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCiB7CiAgICAgLy8gV2Ug
d2FudCB0aGUgd2ViIHByb2Nlc3MgdG8gbWF0Y2ggdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgVUkg
cHJvY2Vzcy4KICAgICBsYXVuY2hPcHRpb25zLmFyY2hpdGVjdHVyZSA9IFByb2Nlc3NMYXVuY2hl
cjo6TGF1bmNoT3B0aW9uczo6TWF0Y2hDdXJyZW50QXJjaGl0ZWN0dXJlOwogICAgIGxhdW5jaE9w
dGlvbnMuZXhlY3V0YWJsZUhlYXAgPSBmYWxzZTsKLSAgICBsYXVuY2hPcHRpb25zLnVzZVhQQyA9
IHNob3VsZFVzZVhQQygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="296023"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>