<?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>158566</bug_id>
          
          <creation_ts>2016-06-09 07:45:45 -0700</creation_ts>
          <short_desc>WebRTC: Implement MediaEndpointPeerConnection::createAnswer()</short_desc>
          <delta_ts>2016-06-13 22:42:22 -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>WebCore Misc.</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>
          
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1200829</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-09 07:45:45 -0700</bug_when>
    <thetext>Add the MediaEndpointPeerConnection implementation of RTCPeerConnection.createAnswer [1]. createAnswer() creats a &apos;reply&apos; to an remote offer set with setRemoteDescription(), completes the offer/answer dialog and brings the RTCPeerConnection back to the &apos;stable&apos; signaling state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200837</commentid>
    <comment_count>1</comment_count>
      <attachid>280921</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-09 08:04:11 -0700</bug_when>
    <thetext>Created attachment 280921
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200844</commentid>
    <comment_count>2</comment_count>
      <attachid>280923</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-09 08:44:56 -0700</bug_when>
    <thetext>Created attachment 280923
Updated patch

Skip test on mac port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200894</commentid>
    <comment_count>3</comment_count>
      <attachid>280923</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-06-09 11:06:28 -0700</bug_when>
    <thetext>Comment on attachment 280923
Updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=280923&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        createAnswer() creats a &apos;reply&apos; to an remote offer set with setRemoteDescription(),

Nit: &quot;creats&quot; -&gt; &quot;creates&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201170</commentid>
    <comment_count>4</comment_count>
      <attachid>280996</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-09 22:29:39 -0700</bug_when>
    <thetext>Created attachment 280996
Patch for landing

Fixed change log typo. Thanks for reviewing Eric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201203</commentid>
    <comment_count>5</comment_count>
      <attachid>280996</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-10 02:13:36 -0700</bug_when>
    <thetext>Comment on attachment 280996
Patch for landing

Clearing flags on attachment: 280996

Committed r201920: &lt;http://trac.webkit.org/changeset/201920&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280921</attachid>
            <date>2016-06-09 08:04:11 -0700</date>
            <delta_ts>2016-06-09 08:44:56 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>mepc-create-answer_0.patch</filename>
            <type>text/plain</type>
            <size>14358</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZWQ2YjQ2Li4yN2FiMTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDYt
MDkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVB
bnN3ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHRlc3QgZm9yIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZUFuc3dlci4KKworICAgICAgICAq
IGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1hbnN3ZXItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWluc3BlY3QtYW5zd2VyLmh0bWw6IEFkZGVkLgorICAgICAgICBHZW5lcmF0ZSB0d28gYW5z
d2Vycywgb25lIHdpdGggYXVkaW8gb25seSBhbmQgYSBzZWNvbmQgd2l0aCBhdWRpbyBhbmQgdmlk
ZW8sIGFuZCBpbnNwZWN0CisgICAgICAgIHRoZSByZXN1bHQuCisKIDIwMTYtMDYtMDggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSBwcm90b3R5cGUgY2hhaW4gaXMgaW5jb3JyZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24taW5zcGVjdC1hbnN3ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmJhZDJjZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDczIEBACitUZXN0IFJUQ1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0
aW9uIGNhbGxlZCB3aXRoIGFuIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBvZiB0eXBlICdvZmZlcicK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgQW5zd2VyIHdpdGggYXVkaW8g
Y3JlYXRlZAorPT09IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiA9PT0KK3R5cGU6IGFuc3dlciwgc2Rw
Ogordj0wCitvPS0ge3Nlc3Npb24taWQ6T0t9IDAgSU4gSVA0IDEyNy4wLjAuMQorcz0tCit0PTAg
MAorbT1hdWRpbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDExMSA4IDAKK2M9SU4gSVA0IDAuMC4wLjAK
K2E9cnRjcC1tdXgKK2E9cmVjdm9ubHkKK2E9bWlkOnttaWQ6T0t9CithPXJ0cG1hcDoxMTEgT1BV
Uy80ODAwMC8yCithPXJ0cG1hcDo4IFBDTUEvODAwMAorYT1ydHBtYXA6MCBQQ01VLzgwMDAKK2E9
c3NyYzp7c3NyYzpPS30gY25hbWU6e2NuYW1lOk9LfQorYT1pY2UtdWZyYWc6e2ljZS11ZnJhZzpP
S30KK2E9aWNlLXB3ZDp7aWNlLXBhc3N3b3JkOk9LfQorYT1maW5nZXJwcmludDpzaGEtMjU2IDhC
Ojg3OjA5OjhBOjVEOkMyOkYzOjMzOkVGOkM1OkIxOkY2Ojg0OjNBOjNEOkQ2OkEzOkUyOjlDOjE3
OjRDOkU3OjQ2OjNCOjFCOkNFOjg0Ojk4OkREOjhFOkFGOjdCCithPXNldHVwOmFjdGl2ZQorPT09
CisKK1BBU1MgQW5zd2VyIHdpdGggYXVkaW8gYW5kIHZpZGVvIGNyZWF0ZWQKKz09PSBSVENTZXNz
aW9uRGVzY3JpcHRpb24gPT09Cit0eXBlOiBhbnN3ZXIsIHNkcDoKK3Y9MAorbz0tIHtzZXNzaW9u
LWlkOk9LfSAxIElOIElQNCAxMjcuMC4wLjEKK3M9LQordD0wIDAKK209YXVkaW8gOSBVRFAvVExT
L1JUUC9TQVZQRiAxMTEgOCAwCitjPUlOIElQNCAwLjAuMC4wCithPXJ0Y3AtbXV4CithPXJlY3Zv
bmx5CithPW1pZDp7bWlkOk9LfQorYT1ydHBtYXA6MTExIE9QVVMvNDgwMDAvMgorYT1ydHBtYXA6
OCBQQ01BLzgwMDAKK2E9cnRwbWFwOjAgUENNVS84MDAwCithPXNzcmM6e3NzcmM6T0t9IGNuYW1l
OntjbmFtZTpPS30KK2E9aWNlLXVmcmFnOntpY2UtdWZyYWc6T0t9CithPWljZS1wd2Q6e2ljZS1w
YXNzd29yZDpPS30KK2E9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4NzowOTo4QTo1RDpDMjpGMzoz
MzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0QzpFNzo0NjozQjoxQjpDRTo4
NDo5ODpERDo4RTpBRjo3QgorYT1zZXR1cDphY3RpdmUKK209dmlkZW8gOSBVRFAvVExTL1JUUC9T
QVZQRiAxMDMgMTAwIDEyMAorYz1JTiBJUDQgMC4wLjAuMAorYT1ydGNwLW11eAorYT1yZWN2b25s
eQorYT1taWQ6e21pZDpPS30KK2E9cnRwbWFwOjEwMyBIMjY0LzkwMDAwCithPXJ0cG1hcDoxMDAg
VlA4LzkwMDAwCithPXJ0cG1hcDoxMjAgUlRYLzkwMDAwCithPWZtdHA6MTAzIHBhY2tldGl6YXRp
b24tbW9kZT0xCithPWZtdHA6MTIwIGFwdD0xMDA7cnR4LXRpbWU9MjAwCithPXJ0Y3AtZmI6MTAw
IG5hY2sKK2E9cnRjcC1mYjoxMDMgbmFjayBwbGkKK2E9cnRjcC1mYjoxMDAgbmFjayBwbGkKK2E9
cnRjcC1mYjoxMDMgY2NtIGZpcgorYT1ydGNwLWZiOjEwMCBjY20gZmlyCithPXNzcmM6e3NzcmM6
T0t9IGNuYW1lOntjbmFtZTpPS30KK2E9aWNlLXVmcmFnOntpY2UtdWZyYWc6T0t9CithPWljZS1w
d2Q6e2ljZS1wYXNzd29yZDpPS30KK2E9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4NzowOTo4QTo1
RDpDMjpGMzozMzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0QzpFNzo0Njoz
QjoxQjpDRTo4NDo5ODpERDo4RTpBRjo3QgorYT1zZXR1cDphY3RpdmUKKz09PQorCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFu
c3dlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1pbnNwZWN0LWFuc3dlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjBmZDAwMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLmh0bWwKQEAgLTAsMCArMSw4MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvc2RwLXV0
aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICBsZXQgcmVtb3RlU3RyZWFtOworICAgICAgICAgICAgbGV0IHJlbW90
ZVBjQXVkaW9UcmFjazsKKyAgICAgICAgICAgIGxldCByZW1vdGVQY1ZpZGVvVHJhY2s7CisgICAg
ICAgICAgICBjb25zdCBtZWRpYURlc2NyaXB0aW9uVmFyaWFibGVzID0gW107CisKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0IFJUQ1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0
aW9uIGNhbGxlZCB3aXRoIGFuIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBvZiB0eXBlICdvZmZlcici
KTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKyAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgIGRlYnVnKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0
aG91dCB0aGUgdGVzdFJ1bm5lciIpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBwYyA9IG5ldyB3ZWJraXRSVENQZWVy
Q29ubmVjdGlvbih7aWNlU2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0pOworICAgICAg
ICAgICAgY29uc3QgcmVtb3RlUGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNl
cnZlcnM6W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsKKworICAgICAgICAgICAgbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyAiYXVkaW8iOiB0cnVlLCAidmlkZW8iOiB0cnVl
IH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocykgeworICAgICAgICAgICAgICAgIHJl
bW90ZVN0cmVhbSA9IHM7CisKKyAgICAgICAgICAgICAgICByZW1vdGVQY0F1ZGlvVHJhY2sgPSBy
ZW1vdGVTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXTsKKyAgICAgICAgICAgICAgICByZW1vdGVQ
Y1ZpZGVvVHJhY2sgPSByZW1vdGVTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKKworICAgICAg
ICAgICAgICAgIHJlbW90ZVBjLmFkZFRyYWNrKHJlbW90ZVBjQXVkaW9UcmFjaywgcmVtb3RlU3Ry
ZWFtKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVtb3RlUGMuY3JlYXRlT2ZmZXIoKTsKKyAg
ICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVtb3RlT2ZmZXIpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24ocmVtb3RlT2Zm
ZXIpOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcGMuY3JlYXRlQW5zd2VyKCk7CisgICAgICAgICAgICB9KQor
ICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGFuc3dlcikgeworICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkFuc3dlciB3aXRoIGF1ZGlvIGNyZWF0ZWQiKTsKKworICAgICAgICAgICAgICAg
IG1lZGlhRGVzY3JpcHRpb25WYXJpYWJsZXMucHVzaCh7CisgICAgICAgICAgICAgICAgICAgICJ0
cmFja0lkIjogcmVtb3RlUGNBdWRpb1RyYWNrLmlkLAorICAgICAgICAgICAgICAgICAgICAic3Ry
ZWFtSWQiOiByZW1vdGVTdHJlYW0uaWQKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
ICAgICBwcmludENvbXBhcmFibGVTZXNzaW9uRGVzY3JpcHRpb24oYW5zd2VyLCBtZWRpYURlc2Ny
aXB0aW9uVmFyaWFibGVzKTsKKworICAgICAgICAgICAgICAgIHJlbW90ZVBjLmFkZFRyYWNrKHJl
bW90ZVBjVmlkZW9UcmFjaywgcmVtb3RlU3RyZWFtKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
cmVtb3RlUGMuY3JlYXRlT2ZmZXIoKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhl
bihmdW5jdGlvbiAocmVtb3RlT2ZmZXIpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGMuc2V0
UmVtb3RlRGVzY3JpcHRpb24ocmVtb3RlT2ZmZXIpOworICAgICAgICAgICAgfSkKKyAgICAgICAg
ICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGMuY3JlYXRl
QW5zd2VyKCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGFu
c3dlcikgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkFuc3dlciB3aXRoIGF1ZGlvIGFu
ZCB2aWRlbyBjcmVhdGVkIik7CisKKyAgICAgICAgICAgICAgICBtZWRpYURlc2NyaXB0aW9uVmFy
aWFibGVzLnB1c2goeworICAgICAgICAgICAgICAgICAgICAidHJhY2tJZCI6IHJlbW90ZVBjVmlk
ZW9UcmFjay5pZCwKKyAgICAgICAgICAgICAgICAgICAgInN0cmVhbUlkIjogcmVtb3RlU3RyZWFt
LmlkCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgcHJpbnRDb21wYXJhYmxl
U2Vzc2lvbkRlc2NyaXB0aW9uKGFuc3dlciwgbWVkaWFEZXNjcmlwdGlvblZhcmlhYmxlcyk7CisK
KyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pCisgICAgICAg
ICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiRXJyb3IgaW4gcHJvbWlzZSBjaGFpbjogIiArIGVycm9yKTsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBjMTcwNzM3Li44NjM1YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMTYtMDYtMDkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nz
b24uY29tPgorCisgICAgICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25u
ZWN0aW9uOjpjcmVhdGVBbnN3ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU4NTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24gaW1wbGVt
ZW50YXRpb24gb2YgUlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIFsxXS4KKyAgICAgICAg
Y3JlYXRlQW5zd2VyKCkgY3JlYXRzIGEgJ3JlcGx5JyB0byBhbiByZW1vdGUgb2ZmZXIgc2V0IHdp
dGggc2V0UmVtb3RlRGVzY3JpcHRpb24oKSwKKyAgICAgICAgY29tcGxldGVzIHRoZSBvZmZlci9h
bnN3ZXIgZGlhbG9nIGFuZCBicmluZ3MgdGhlIFJUQ1BlZXJDb25uZWN0aW9uIGJhY2sgdG8gdGhl
ICdzdGFibGUnCisgICAgICAgIHNpZ25hbGluZyBzdGF0ZS4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy9hcmNoaXZlcy8yMDE2MDUxMy93ZWJydGMuaHRtbCNk
b20tcnRjcGVlcmNvbm5lY3Rpb24tY3JlYXRlYW5zd2VyCisKKyAgICAgICAgVGVzdDogZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCisKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZU9m
ZmVyVGFzayk6CisgICAgICAgIEFsaWduIGNyZWF0aW9uIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
biB3aXRoIGNyZWF0ZUFuc3dlclRhc2suCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50
UGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlclRhc2spOgorICAgICAgICBBZGQgSW1w
bGVtZW50YXRpb24uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50
UGVlckNvbm5lY3Rpb24uaDoKKwogMjAxNi0wNi0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIHByb3RvdHlwZSBj
aGFpbiBpcyBpbmNvcnJlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAppbmRl
eCAwYmZiZmU1Li4wMDQzMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3Bw
CkBAIC0xOTEsMjMgKzE5MSw5MSBAQCB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6
Y3JlYXRlT2ZmZXJUYXNrKFJUQ09mZmVyT3B0aW9ucyYsIFNlc3Npb25EZXNjcgogICAgICAgICBj
b25maWd1cmF0aW9uU25hcHNob3QtPmFkZE1lZGlhRGVzY3JpcHRpb24oV1RGTW92ZShtZWRpYURl
c2NyaXB0aW9uKSk7CiAgICAgfQogCi0gICAgU3RyaW5nIHNkcFN0cmluZzsKLSAgICBTRFBQcm9j
ZXNzb3I6OlJlc3VsdCByZXN1bHQgPSBtX3NkcFByb2Nlc3Nvci0+Z2VuZXJhdGUoKmNvbmZpZ3Vy
YXRpb25TbmFwc2hvdCwgc2RwU3RyaW5nKTsKLSAgICBpZiAocmVzdWx0ICE9IFNEUFByb2Nlc3Nv
cjo6UmVzdWx0OjpTdWNjZXNzKSB7Ci0gICAgICAgIExPR19FUlJPUigiU0RQUHJvY2Vzc29yIGlu
dGVybmFsIGVycm9yIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBwcm9taXNlLnJl
c29sdmUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OjpTZHBUeXBlOjpPZmZlciwgc2RwU3RyaW5nKSk7CisgICAgYXV0byBkZXNjcmlwdGlvbiA9IE1l
ZGlhRW5kcG9pbnRTZXNzaW9uRGVzY3JpcHRpb246OmNyZWF0ZShSVENTZXNzaW9uRGVzY3JpcHRp
b246OlNkcFR5cGU6Ok9mZmVyLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb25TbmFwc2hvdCkpOworICAg
IHByb21pc2UucmVzb2x2ZSgqZGVzY3JpcHRpb24tPnRvUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKCpt
X3NkcFByb2Nlc3NvcikpOwogfQogCiB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6
Y3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmIG9wdGlvbnMsIFNlc3Npb25EZXNjcmlwdGlv
blByb21pc2UmJiBwcm9taXNlKQogewotICAgIFVOVVNFRF9QQVJBTShvcHRpb25zKTsKKyAgICBy
dW5UYXNrKFt0aGlzLCBwcm90ZWN0ZWRPcHRpb25zID0gUmVmUHRyPFJUQ0Fuc3dlck9wdGlvbnM+
KCZvcHRpb25zKSwgcHJvdGVjdGVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJs
ZSB7CisgICAgICAgIGNyZWF0ZUFuc3dlclRhc2soKnByb3RlY3RlZE9wdGlvbnMsIHByb3RlY3Rl
ZFByb21pc2UpOworICAgIH0pOworfQogCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKK3ZvaWQgTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVBbnN3ZXJUYXNrKFJUQ0Fuc3dlck9wdGlv
bnMmLCBTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiBwcm9taXNlKQoreworICAgIEFTU0VSVCgh
bV9kdGxzRmluZ2VycHJpbnQuaXNFbXB0eSgpKTsKIAotICAgIHByb21pc2UucmVqZWN0KE5PVF9T
VVBQT1JURURfRVJSKTsKKyAgICBpZiAobV9jbGllbnQtPmludGVybmFsU2lnbmFsaW5nU3RhdGUo
KSA9PSBTaWduYWxpbmdTdGF0ZTo6Q2xvc2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IWludGVybmFsUmVtb3RlRGVzY3JpcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChJ
TlZBTElEX1NUQVRFX0VSUiwgIk5vIHJlbW90ZSBkZXNjcmlwdGlvbiBzZXQiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIE1lZGlhRW5kcG9pbnRTZXNzaW9uRGVzY3JpcHRpb24qIGxv
Y2FsRGVzY3JpcHRpb24gPSBpbnRlcm5hbExvY2FsRGVzY3JpcHRpb24oKTsKKyAgICBSZWZQdHI8
TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uU25hcHNob3Qg
PSBsb2NhbERlc2NyaXB0aW9uID8KKyAgICAgICAgbG9jYWxEZXNjcmlwdGlvbi0+Y29uZmlndXJh
dGlvbigpLT5jbG9uZSgpIDogTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uOjpjcmVh
dGUoKTsKKworICAgIGNvbmZpZ3VyYXRpb25TbmFwc2hvdC0+c2V0U2Vzc2lvblZlcnNpb24obV9z
ZHBBbnN3ZXJTZXNzaW9uVmVyc2lvbisrKTsKKworICAgIGF1dG8gdHJhbnNjZWl2ZXJzID0gUnRw
VHJhbnNjZWl2ZXJWZWN0b3IobV9jbGllbnQtPmdldFRyYW5zY2VpdmVycygpKTsKKyAgICBjb25z
dCBNZWRpYURlc2NyaXB0aW9uVmVjdG9yJiByZW1vdGVNZWRpYURlc2NyaXB0aW9ucyA9IGludGVy
bmFsUmVtb3RlRGVzY3JpcHRpb24oKS0+Y29uZmlndXJhdGlvbigpLT5tZWRpYURlc2NyaXB0aW9u
cygpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlbW90ZU1lZGlhRGVzY3JpcHRp
b25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiByZW1vdGVN
ZWRpYURlc2NyaXB0aW9uID0gKnJlbW90ZU1lZGlhRGVzY3JpcHRpb25zW2ldOworCisgICAgICAg
IFJUQ1J0cFRyYW5zY2VpdmVyKiB0cmFuc2NlaXZlciA9IG1hdGNoVHJhbnNjZWl2ZXJCeU1pZCh0
cmFuc2NlaXZlcnMsIHJlbW90ZU1lZGlhRGVzY3JpcHRpb24ubWlkKCkpOworICAgICAgICBpZiAo
IXRyYW5zY2VpdmVyKSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBmaW5kIGEg
bWF0Y2hpbmcgdHJhbnNjZWl2ZXIgZm9yIHJlbW90ZSBkZXNjcmlwdGlvbiB3aGlsZSBjcmVhdGlu
ZyBhbnN3ZXIiKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGkgPj0gY29uZmlndXJhdGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0aW9ucygpLnNpemUo
KSkgeworICAgICAgICAgICAgYXV0byBuZXdNZWRpYURlc2NyaXB0aW9uID0gUGVlck1lZGlhRGVz
Y3JpcHRpb246OmNyZWF0ZSgpOworCisgICAgICAgICAgICBSVENSdHBTZW5kZXImIHNlbmRlciA9
ICp0cmFuc2NlaXZlci0+c2VuZGVyKCk7CisgICAgICAgICAgICBpZiAoc2VuZGVyLnRyYWNrKCkp
IHsKKyAgICAgICAgICAgICAgICBpZiAoc2VuZGVyLm1lZGlhU3RyZWFtSWRzKCkuc2l6ZSgpKQor
ICAgICAgICAgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNZWRpYVN0cmVhbUlk
KHNlbmRlci5tZWRpYVN0cmVhbUlkcygpWzBdKTsKKyAgICAgICAgICAgICAgICBuZXdNZWRpYURl
c2NyaXB0aW9uLT5zZXRNZWRpYVN0cmVhbVRyYWNrSWQoc2VuZGVyLnRyYWNrSWQoKSk7CisgICAg
ICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+YWRkU3NyYyhjcnlwdG9ncmFwaGljYWxs
eVJhbmRvbU51bWJlcigpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbmV3TWVkaWFE
ZXNjcmlwdGlvbi0+c2V0TW9kZSh0cmFuc2NlaXZlci0+ZGlyZWN0aW9uU3RyaW5nKCkpOworICAg
ICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+c2V0VHlwZShyZW1vdGVNZWRpYURlc2NyaXB0
aW9uLnR5cGUoKSk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNaWQocmVt
b3RlTWVkaWFEZXNjcmlwdGlvbi5taWQoKSk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0
aW9uLT5zZXREdGxzU2V0dXAocmVtb3RlTWVkaWFEZXNjcmlwdGlvbi5kdGxzU2V0dXAoKSA9PSAi
YWN0aXZlIiA/ICJwYXNzaXZlIiA6ICJhY3RpdmUiKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVz
Y3JpcHRpb24tPnNldER0bHNGaW5nZXJwcmludEhhc2hGdW5jdGlvbihtX2R0bHNGaW5nZXJwcmlu
dEZ1bmN0aW9uKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldER0bHNGaW5n
ZXJwcmludChtX2R0bHNGaW5nZXJwcmludCk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0
aW9uLT5zZXRDbmFtZShtX2NuYW1lKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24t
PnNldEljZVVmcmFnKG1faWNlVWZyYWcpOworICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlv
bi0+c2V0SWNlUGFzc3dvcmQobV9pY2VQYXNzd29yZCk7CisKKyAgICAgICAgICAgIGNvbmZpZ3Vy
YXRpb25TbmFwc2hvdC0+YWRkTWVkaWFEZXNjcmlwdGlvbihXVEZNb3ZlKG5ld01lZGlhRGVzY3Jp
cHRpb24pKTsKKyAgICAgICAgfQorCisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiBsb2Nh
bE1lZGlhRGVzY3JpcHRpb24gPSAqY29uZmlndXJhdGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0
aW9ucygpW2ldOworCisgICAgICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5zZXRQYXlsb2Fkcyhy
ZW1vdGVNZWRpYURlc2NyaXB0aW9uLnBheWxvYWRzKCkpOworICAgICAgICBsb2NhbE1lZGlhRGVz
Y3JpcHRpb24uc2V0UnRjcE11eChyZW1vdGVNZWRpYURlc2NyaXB0aW9uLnJ0Y3BNdXgoKSk7CisK
KyAgICAgICAgaWYgKCFsb2NhbE1lZGlhRGVzY3JpcHRpb24uc3NyY3MoKS5zaXplKCkpCisgICAg
ICAgICAgICBsb2NhbE1lZGlhRGVzY3JpcHRpb24uYWRkU3NyYyhjcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlcigpKTsKKworICAgICAgICBpZiAobG9jYWxNZWRpYURlc2NyaXB0aW9uLmR0bHNT
ZXR1cCgpID09ICJhY3RwYXNzIikKKyAgICAgICAgICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5z
ZXREdGxzU2V0dXAoInBhc3NpdmUiKTsKKworICAgICAgICB0cmFuc2NlaXZlcnMucmVtb3ZlRmly
c3QodHJhbnNjZWl2ZXIpOworICAgIH0KKworICAgIC8vIFVuYXNzb2NpYXRlZCAobm9uLXN0b3Bw
ZWQpIHRyYW5zY2VpdmVycyBuZWVkIHRvIGJlIG5lZ290aWF0ZWQgaW4gYSBmb2xsb3ctdXAgb2Zm
ZXIuCisgICAgaWYgKGhhc1VuYXNzb2NpYXRlZFRyYW5zY2VpdmVycyh0cmFuc2NlaXZlcnMpKQor
ICAgICAgICBtYXJrQXNOZWVkaW5nTmVnb3RpYXRpb24oKTsKKworICAgIGF1dG8gZGVzY3JpcHRp
b24gPSBNZWRpYUVuZHBvaW50U2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uOjpTZHBUeXBlOjpBbnN3ZXIsIFdURk1vdmUoY29uZmlndXJhdGlvblNuYXBzaG90
KSk7CisgICAgcHJvbWlzZS5yZXNvbHZlKCpkZXNjcmlwdGlvbi0+dG9SVENTZXNzaW9uRGVzY3Jp
cHRpb24oKm1fc2RwUHJvY2Vzc29yKSk7CiB9CiAKIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNl
TWFwIGNyZWF0ZVNvdXJjZU1hcChjb25zdCBNZWRpYURlc2NyaXB0aW9uVmVjdG9yJiByZW1vdGVN
ZWRpYURlc2NyaXB0aW9ucywgdW5zaWduZWQgbG9jYWxNZWRpYURlc2NyaXB0aW9uQ291bnQsIGNv
bnN0IFJ0cFRyYW5zY2VpdmVyVmVjdG9yJiB0cmFuc2NlaXZlcnMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb24uaAppbmRleCAzMTY5YzU2Li5mMDE3YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBl
ZXJDb25uZWN0aW9uLmgKQEAgLTg3LDYgKzg3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0
UnVubmluZ1Rhc2tzKCk7CiAKICAgICB2b2lkIGNyZWF0ZU9mZmVyVGFzayhSVENPZmZlck9wdGlv
bnMmLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZSYpOworICAgIHZv
aWQgY3JlYXRlQW5zd2VyVGFzayhSVENBbnN3ZXJPcHRpb25zJiwgUGVlckNvbm5lY3Rpb246OlNl
c3Npb25EZXNjcmlwdGlvblByb21pc2UmKTsKIAogICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlv
blRhc2soUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZv
aWRQcm9taXNlJik7CiAgICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CkBA
IC0xMjAsNiArMTIxLDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9kdGxzRmluZ2VycHJpbnQ7
CiAgICAgU3RyaW5nIG1fZHRsc0ZpbmdlcnByaW50RnVuY3Rpb247CiAgICAgdW5zaWduZWQgbV9z
ZHBPZmZlclNlc3Npb25WZXJzaW9uIHsgMCB9OworICAgIHVuc2lnbmVkIG1fc2RwQW5zd2VyU2Vz
c2lvblZlcnNpb24geyAwIH07CiAKICAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Npb25EZXNj
cmlwdGlvbj4gbV9jdXJyZW50TG9jYWxEZXNjcmlwdGlvbjsKICAgICBSZWZQdHI8TWVkaWFFbmRw
b2ludFNlc3Npb25EZXNjcmlwdGlvbj4gbV9wZW5kaW5nTG9jYWxEZXNjcmlwdGlvbjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280923</attachid>
            <date>2016-06-09 08:44:56 -0700</date>
            <delta_ts>2016-06-09 11:06:28 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>mepc-create-answer_1.patch</filename>
            <type>text/plain</type>
            <size>14970</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZWQ2YjQ2Li4yN2FiMTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDYt
MDkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVB
bnN3ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHRlc3QgZm9yIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZUFuc3dlci4KKworICAgICAgICAq
IGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1hbnN3ZXItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWluc3BlY3QtYW5zd2VyLmh0bWw6IEFkZGVkLgorICAgICAgICBHZW5lcmF0ZSB0d28gYW5z
d2Vycywgb25lIHdpdGggYXVkaW8gb25seSBhbmQgYSBzZWNvbmQgd2l0aCBhdWRpbyBhbmQgdmlk
ZW8sIGFuZCBpbnNwZWN0CisgICAgICAgIHRoZSByZXN1bHQuCisKIDIwMTYtMDYtMDggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSBwcm90b3R5cGUgY2hhaW4gaXMgaW5jb3JyZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24taW5zcGVjdC1hbnN3ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmJhZDJjZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDczIEBACitUZXN0IFJUQ1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0
aW9uIGNhbGxlZCB3aXRoIGFuIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBvZiB0eXBlICdvZmZlcicK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgQW5zd2VyIHdpdGggYXVkaW8g
Y3JlYXRlZAorPT09IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiA9PT0KK3R5cGU6IGFuc3dlciwgc2Rw
Ogordj0wCitvPS0ge3Nlc3Npb24taWQ6T0t9IDAgSU4gSVA0IDEyNy4wLjAuMQorcz0tCit0PTAg
MAorbT1hdWRpbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDExMSA4IDAKK2M9SU4gSVA0IDAuMC4wLjAK
K2E9cnRjcC1tdXgKK2E9cmVjdm9ubHkKK2E9bWlkOnttaWQ6T0t9CithPXJ0cG1hcDoxMTEgT1BV
Uy80ODAwMC8yCithPXJ0cG1hcDo4IFBDTUEvODAwMAorYT1ydHBtYXA6MCBQQ01VLzgwMDAKK2E9
c3NyYzp7c3NyYzpPS30gY25hbWU6e2NuYW1lOk9LfQorYT1pY2UtdWZyYWc6e2ljZS11ZnJhZzpP
S30KK2E9aWNlLXB3ZDp7aWNlLXBhc3N3b3JkOk9LfQorYT1maW5nZXJwcmludDpzaGEtMjU2IDhC
Ojg3OjA5OjhBOjVEOkMyOkYzOjMzOkVGOkM1OkIxOkY2Ojg0OjNBOjNEOkQ2OkEzOkUyOjlDOjE3
OjRDOkU3OjQ2OjNCOjFCOkNFOjg0Ojk4OkREOjhFOkFGOjdCCithPXNldHVwOmFjdGl2ZQorPT09
CisKK1BBU1MgQW5zd2VyIHdpdGggYXVkaW8gYW5kIHZpZGVvIGNyZWF0ZWQKKz09PSBSVENTZXNz
aW9uRGVzY3JpcHRpb24gPT09Cit0eXBlOiBhbnN3ZXIsIHNkcDoKK3Y9MAorbz0tIHtzZXNzaW9u
LWlkOk9LfSAxIElOIElQNCAxMjcuMC4wLjEKK3M9LQordD0wIDAKK209YXVkaW8gOSBVRFAvVExT
L1JUUC9TQVZQRiAxMTEgOCAwCitjPUlOIElQNCAwLjAuMC4wCithPXJ0Y3AtbXV4CithPXJlY3Zv
bmx5CithPW1pZDp7bWlkOk9LfQorYT1ydHBtYXA6MTExIE9QVVMvNDgwMDAvMgorYT1ydHBtYXA6
OCBQQ01BLzgwMDAKK2E9cnRwbWFwOjAgUENNVS84MDAwCithPXNzcmM6e3NzcmM6T0t9IGNuYW1l
OntjbmFtZTpPS30KK2E9aWNlLXVmcmFnOntpY2UtdWZyYWc6T0t9CithPWljZS1wd2Q6e2ljZS1w
YXNzd29yZDpPS30KK2E9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4NzowOTo4QTo1RDpDMjpGMzoz
MzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0QzpFNzo0NjozQjoxQjpDRTo4
NDo5ODpERDo4RTpBRjo3QgorYT1zZXR1cDphY3RpdmUKK209dmlkZW8gOSBVRFAvVExTL1JUUC9T
QVZQRiAxMDMgMTAwIDEyMAorYz1JTiBJUDQgMC4wLjAuMAorYT1ydGNwLW11eAorYT1yZWN2b25s
eQorYT1taWQ6e21pZDpPS30KK2E9cnRwbWFwOjEwMyBIMjY0LzkwMDAwCithPXJ0cG1hcDoxMDAg
VlA4LzkwMDAwCithPXJ0cG1hcDoxMjAgUlRYLzkwMDAwCithPWZtdHA6MTAzIHBhY2tldGl6YXRp
b24tbW9kZT0xCithPWZtdHA6MTIwIGFwdD0xMDA7cnR4LXRpbWU9MjAwCithPXJ0Y3AtZmI6MTAw
IG5hY2sKK2E9cnRjcC1mYjoxMDMgbmFjayBwbGkKK2E9cnRjcC1mYjoxMDAgbmFjayBwbGkKK2E9
cnRjcC1mYjoxMDMgY2NtIGZpcgorYT1ydGNwLWZiOjEwMCBjY20gZmlyCithPXNzcmM6e3NzcmM6
T0t9IGNuYW1lOntjbmFtZTpPS30KK2E9aWNlLXVmcmFnOntpY2UtdWZyYWc6T0t9CithPWljZS1w
d2Q6e2ljZS1wYXNzd29yZDpPS30KK2E9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4NzowOTo4QTo1
RDpDMjpGMzozMzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0QzpFNzo0Njoz
QjoxQjpDRTo4NDo5ODpERDo4RTpBRjo3QgorYT1zZXR1cDphY3RpdmUKKz09PQorCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFu
c3dlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1pbnNwZWN0LWFuc3dlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjBmZDAwMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLmh0bWwKQEAgLTAsMCArMSw4MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvc2RwLXV0
aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICBsZXQgcmVtb3RlU3RyZWFtOworICAgICAgICAgICAgbGV0IHJlbW90
ZVBjQXVkaW9UcmFjazsKKyAgICAgICAgICAgIGxldCByZW1vdGVQY1ZpZGVvVHJhY2s7CisgICAg
ICAgICAgICBjb25zdCBtZWRpYURlc2NyaXB0aW9uVmFyaWFibGVzID0gW107CisKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0IFJUQ1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0
aW9uIGNhbGxlZCB3aXRoIGFuIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBvZiB0eXBlICdvZmZlcici
KTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKyAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgIGRlYnVnKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0
aG91dCB0aGUgdGVzdFJ1bm5lciIpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBwYyA9IG5ldyB3ZWJraXRSVENQZWVy
Q29ubmVjdGlvbih7aWNlU2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0pOworICAgICAg
ICAgICAgY29uc3QgcmVtb3RlUGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNl
cnZlcnM6W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsKKworICAgICAgICAgICAgbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyAiYXVkaW8iOiB0cnVlLCAidmlkZW8iOiB0cnVl
IH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocykgeworICAgICAgICAgICAgICAgIHJl
bW90ZVN0cmVhbSA9IHM7CisKKyAgICAgICAgICAgICAgICByZW1vdGVQY0F1ZGlvVHJhY2sgPSBy
ZW1vdGVTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXTsKKyAgICAgICAgICAgICAgICByZW1vdGVQ
Y1ZpZGVvVHJhY2sgPSByZW1vdGVTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKKworICAgICAg
ICAgICAgICAgIHJlbW90ZVBjLmFkZFRyYWNrKHJlbW90ZVBjQXVkaW9UcmFjaywgcmVtb3RlU3Ry
ZWFtKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVtb3RlUGMuY3JlYXRlT2ZmZXIoKTsKKyAg
ICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVtb3RlT2ZmZXIpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24ocmVtb3RlT2Zm
ZXIpOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcGMuY3JlYXRlQW5zd2VyKCk7CisgICAgICAgICAgICB9KQor
ICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGFuc3dlcikgeworICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkFuc3dlciB3aXRoIGF1ZGlvIGNyZWF0ZWQiKTsKKworICAgICAgICAgICAgICAg
IG1lZGlhRGVzY3JpcHRpb25WYXJpYWJsZXMucHVzaCh7CisgICAgICAgICAgICAgICAgICAgICJ0
cmFja0lkIjogcmVtb3RlUGNBdWRpb1RyYWNrLmlkLAorICAgICAgICAgICAgICAgICAgICAic3Ry
ZWFtSWQiOiByZW1vdGVTdHJlYW0uaWQKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
ICAgICBwcmludENvbXBhcmFibGVTZXNzaW9uRGVzY3JpcHRpb24oYW5zd2VyLCBtZWRpYURlc2Ny
aXB0aW9uVmFyaWFibGVzKTsKKworICAgICAgICAgICAgICAgIHJlbW90ZVBjLmFkZFRyYWNrKHJl
bW90ZVBjVmlkZW9UcmFjaywgcmVtb3RlU3RyZWFtKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
cmVtb3RlUGMuY3JlYXRlT2ZmZXIoKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhl
bihmdW5jdGlvbiAocmVtb3RlT2ZmZXIpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGMuc2V0
UmVtb3RlRGVzY3JpcHRpb24ocmVtb3RlT2ZmZXIpOworICAgICAgICAgICAgfSkKKyAgICAgICAg
ICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGMuY3JlYXRl
QW5zd2VyKCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGFu
c3dlcikgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkFuc3dlciB3aXRoIGF1ZGlvIGFu
ZCB2aWRlbyBjcmVhdGVkIik7CisKKyAgICAgICAgICAgICAgICBtZWRpYURlc2NyaXB0aW9uVmFy
aWFibGVzLnB1c2goeworICAgICAgICAgICAgICAgICAgICAidHJhY2tJZCI6IHJlbW90ZVBjVmlk
ZW9UcmFjay5pZCwKKyAgICAgICAgICAgICAgICAgICAgInN0cmVhbUlkIjogcmVtb3RlU3RyZWFt
LmlkCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgcHJpbnRDb21wYXJhYmxl
U2Vzc2lvbkRlc2NyaXB0aW9uKGFuc3dlciwgbWVkaWFEZXNjcmlwdGlvblZhcmlhYmxlcyk7CisK
KyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pCisgICAgICAg
ICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiRXJyb3IgaW4gcHJvbWlzZSBjaGFpbjogIiArIGVycm9yKTsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjg0N2Iw
My4uNTJhMjA3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE5Myw2ICsxOTMsNyBAQCBmYXN0L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5odG1sCiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldExvY2FsRGVzY3Jp
cHRpb24tb2ZmZXIuaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRS
ZW1vdGVEZXNjcmlwdGlvbi1vZmZlci5odG1sCiBmYXN0L21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZl
bnQtY29uc3RydWN0b3IuaHRtbAorZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1p
bnNwZWN0LWFuc3dlci5odG1sCiAKICMgQXNzZXJ0cyBpbiBkZWJ1Zy4KIFsgRGVidWcgXSBmYXN0
L2ltYWdlcy9sYXJnZS1zaXplLWltYWdlLWNyYXNoLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjMTcwNzM3Li44NjM1YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTYtMDYt
MDkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVB
bnN3ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHRoZSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24gaW1wbGVtZW50YXRpb24gb2YgUlRD
UGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIFsxXS4KKyAgICAgICAgY3JlYXRlQW5zd2VyKCkg
Y3JlYXRzIGEgJ3JlcGx5JyB0byBhbiByZW1vdGUgb2ZmZXIgc2V0IHdpdGggc2V0UmVtb3RlRGVz
Y3JpcHRpb24oKSwKKyAgICAgICAgY29tcGxldGVzIHRoZSBvZmZlci9hbnN3ZXIgZGlhbG9nIGFu
ZCBicmluZ3MgdGhlIFJUQ1BlZXJDb25uZWN0aW9uIGJhY2sgdG8gdGhlICdzdGFibGUnCisgICAg
ICAgIHNpZ25hbGluZyBzdGF0ZS4KKworICAgICAgICBbMV0gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3dlYnJ0Yy1wYy9hcmNoaXZlcy8yMDE2MDUxMy93ZWJydGMuaHRtbCNkb20tcnRjcGVlcmNvbm5l
Y3Rpb24tY3JlYXRlYW5zd2VyCisKKyAgICAgICAgVGVzdDogZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZU9mZmVyVGFzayk6CisgICAg
ICAgIEFsaWduIGNyZWF0aW9uIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiB3aXRoIGNyZWF0ZUFu
c3dlclRhc2suCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246
OmNyZWF0ZUFuc3dlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5l
Y3Rpb246OmNyZWF0ZUFuc3dlclRhc2spOgorICAgICAgICBBZGQgSW1wbGVtZW50YXRpb24uCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24u
aDoKKwogMjAxNi0wNi0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIHByb3RvdHlwZSBjaGFpbiBpcyBpbmNvcnJl
Y3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFF
bmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAppbmRleCAwYmZiZmU1Li4wMDQz
MWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCkBAIC0xOTEsMjMgKzE5
MSw5MSBAQCB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlT2ZmZXJUYXNr
KFJUQ09mZmVyT3B0aW9ucyYsIFNlc3Npb25EZXNjcgogICAgICAgICBjb25maWd1cmF0aW9uU25h
cHNob3QtPmFkZE1lZGlhRGVzY3JpcHRpb24oV1RGTW92ZShtZWRpYURlc2NyaXB0aW9uKSk7CiAg
ICAgfQogCi0gICAgU3RyaW5nIHNkcFN0cmluZzsKLSAgICBTRFBQcm9jZXNzb3I6OlJlc3VsdCBy
ZXN1bHQgPSBtX3NkcFByb2Nlc3Nvci0+Z2VuZXJhdGUoKmNvbmZpZ3VyYXRpb25TbmFwc2hvdCwg
c2RwU3RyaW5nKTsKLSAgICBpZiAocmVzdWx0ICE9IFNEUFByb2Nlc3Nvcjo6UmVzdWx0OjpTdWNj
ZXNzKSB7Ci0gICAgICAgIExPR19FUlJPUigiU0RQUHJvY2Vzc29yIGludGVybmFsIGVycm9yIik7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBwcm9taXNlLnJlc29sdmUoUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBUeXBlOjpPZmZl
ciwgc2RwU3RyaW5nKSk7CisgICAgYXV0byBkZXNjcmlwdGlvbiA9IE1lZGlhRW5kcG9pbnRTZXNz
aW9uRGVzY3JpcHRpb246OmNyZWF0ZShSVENTZXNzaW9uRGVzY3JpcHRpb246OlNkcFR5cGU6Ok9m
ZmVyLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb25TbmFwc2hvdCkpOworICAgIHByb21pc2UucmVzb2x2
ZSgqZGVzY3JpcHRpb24tPnRvUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKCptX3NkcFByb2Nlc3Nvcikp
OwogfQogCiB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlQW5zd2VyKFJU
Q0Fuc3dlck9wdGlvbnMmIG9wdGlvbnMsIFNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJiBwcm9t
aXNlKQogewotICAgIFVOVVNFRF9QQVJBTShvcHRpb25zKTsKKyAgICBydW5UYXNrKFt0aGlzLCBw
cm90ZWN0ZWRPcHRpb25zID0gUmVmUHRyPFJUQ0Fuc3dlck9wdGlvbnM+KCZvcHRpb25zKSwgcHJv
dGVjdGVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGNy
ZWF0ZUFuc3dlclRhc2soKnByb3RlY3RlZE9wdGlvbnMsIHByb3RlY3RlZFByb21pc2UpOworICAg
IH0pOworfQogCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJD
b25uZWN0aW9uOjpjcmVhdGVBbnN3ZXJUYXNrKFJUQ0Fuc3dlck9wdGlvbnMmLCBTZXNzaW9uRGVz
Y3JpcHRpb25Qcm9taXNlJiBwcm9taXNlKQoreworICAgIEFTU0VSVCghbV9kdGxzRmluZ2VycHJp
bnQuaXNFbXB0eSgpKTsKIAotICAgIHByb21pc2UucmVqZWN0KE5PVF9TVVBQT1JURURfRVJSKTsK
KyAgICBpZiAobV9jbGllbnQtPmludGVybmFsU2lnbmFsaW5nU3RhdGUoKSA9PSBTaWduYWxpbmdT
dGF0ZTo6Q2xvc2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWludGVybmFsUmVtb3Rl
RGVzY3JpcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChJTlZBTElEX1NUQVRFX0VS
UiwgIk5vIHJlbW90ZSBkZXNjcmlwdGlvbiBzZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIE1lZGlhRW5kcG9pbnRTZXNzaW9uRGVzY3JpcHRpb24qIGxvY2FsRGVzY3JpcHRpb24g
PSBpbnRlcm5hbExvY2FsRGVzY3JpcHRpb24oKTsKKyAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNl
c3Npb25Db25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uU25hcHNob3QgPSBsb2NhbERlc2NyaXB0
aW9uID8KKyAgICAgICAgbG9jYWxEZXNjcmlwdGlvbi0+Y29uZmlndXJhdGlvbigpLT5jbG9uZSgp
IDogTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uOjpjcmVhdGUoKTsKKworICAgIGNv
bmZpZ3VyYXRpb25TbmFwc2hvdC0+c2V0U2Vzc2lvblZlcnNpb24obV9zZHBBbnN3ZXJTZXNzaW9u
VmVyc2lvbisrKTsKKworICAgIGF1dG8gdHJhbnNjZWl2ZXJzID0gUnRwVHJhbnNjZWl2ZXJWZWN0
b3IobV9jbGllbnQtPmdldFRyYW5zY2VpdmVycygpKTsKKyAgICBjb25zdCBNZWRpYURlc2NyaXB0
aW9uVmVjdG9yJiByZW1vdGVNZWRpYURlc2NyaXB0aW9ucyA9IGludGVybmFsUmVtb3RlRGVzY3Jp
cHRpb24oKS0+Y29uZmlndXJhdGlvbigpLT5tZWRpYURlc2NyaXB0aW9ucygpOworCisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlbW90ZU1lZGlhRGVzY3JpcHRpb25zLnNpemUoKTsgKytp
KSB7CisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiByZW1vdGVNZWRpYURlc2NyaXB0aW9u
ID0gKnJlbW90ZU1lZGlhRGVzY3JpcHRpb25zW2ldOworCisgICAgICAgIFJUQ1J0cFRyYW5zY2Vp
dmVyKiB0cmFuc2NlaXZlciA9IG1hdGNoVHJhbnNjZWl2ZXJCeU1pZCh0cmFuc2NlaXZlcnMsIHJl
bW90ZU1lZGlhRGVzY3JpcHRpb24ubWlkKCkpOworICAgICAgICBpZiAoIXRyYW5zY2VpdmVyKSB7
CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBmaW5kIGEgbWF0Y2hpbmcgdHJhbnNj
ZWl2ZXIgZm9yIHJlbW90ZSBkZXNjcmlwdGlvbiB3aGlsZSBjcmVhdGluZyBhbnN3ZXIiKTsKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGkgPj0gY29uZmln
dXJhdGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0aW9ucygpLnNpemUoKSkgeworICAgICAgICAg
ICAgYXV0byBuZXdNZWRpYURlc2NyaXB0aW9uID0gUGVlck1lZGlhRGVzY3JpcHRpb246OmNyZWF0
ZSgpOworCisgICAgICAgICAgICBSVENSdHBTZW5kZXImIHNlbmRlciA9ICp0cmFuc2NlaXZlci0+
c2VuZGVyKCk7CisgICAgICAgICAgICBpZiAoc2VuZGVyLnRyYWNrKCkpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoc2VuZGVyLm1lZGlhU3RyZWFtSWRzKCkuc2l6ZSgpKQorICAgICAgICAgICAgICAg
ICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNZWRpYVN0cmVhbUlkKHNlbmRlci5tZWRpYVN0
cmVhbUlkcygpWzBdKTsKKyAgICAgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRN
ZWRpYVN0cmVhbVRyYWNrSWQoc2VuZGVyLnRyYWNrSWQoKSk7CisgICAgICAgICAgICAgICAgbmV3
TWVkaWFEZXNjcmlwdGlvbi0+YWRkU3NyYyhjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigp
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+c2V0
TW9kZSh0cmFuc2NlaXZlci0+ZGlyZWN0aW9uU3RyaW5nKCkpOworICAgICAgICAgICAgbmV3TWVk
aWFEZXNjcmlwdGlvbi0+c2V0VHlwZShyZW1vdGVNZWRpYURlc2NyaXB0aW9uLnR5cGUoKSk7Cisg
ICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNaWQocmVtb3RlTWVkaWFEZXNjcmlw
dGlvbi5taWQoKSk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXREdGxzU2V0
dXAocmVtb3RlTWVkaWFEZXNjcmlwdGlvbi5kdGxzU2V0dXAoKSA9PSAiYWN0aXZlIiA/ICJwYXNz
aXZlIiA6ICJhY3RpdmUiKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldER0
bHNGaW5nZXJwcmludEhhc2hGdW5jdGlvbihtX2R0bHNGaW5nZXJwcmludEZ1bmN0aW9uKTsKKyAg
ICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldER0bHNGaW5nZXJwcmludChtX2R0bHNG
aW5nZXJwcmludCk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRDbmFtZSht
X2NuYW1lKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldEljZVVmcmFnKG1f
aWNlVWZyYWcpOworICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+c2V0SWNlUGFzc3dv
cmQobV9pY2VQYXNzd29yZCk7CisKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25TbmFwc2hvdC0+
YWRkTWVkaWFEZXNjcmlwdGlvbihXVEZNb3ZlKG5ld01lZGlhRGVzY3JpcHRpb24pKTsKKyAgICAg
ICAgfQorCisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiBsb2NhbE1lZGlhRGVzY3JpcHRp
b24gPSAqY29uZmlndXJhdGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0aW9ucygpW2ldOworCisg
ICAgICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5zZXRQYXlsb2FkcyhyZW1vdGVNZWRpYURlc2Ny
aXB0aW9uLnBheWxvYWRzKCkpOworICAgICAgICBsb2NhbE1lZGlhRGVzY3JpcHRpb24uc2V0UnRj
cE11eChyZW1vdGVNZWRpYURlc2NyaXB0aW9uLnJ0Y3BNdXgoKSk7CisKKyAgICAgICAgaWYgKCFs
b2NhbE1lZGlhRGVzY3JpcHRpb24uc3NyY3MoKS5zaXplKCkpCisgICAgICAgICAgICBsb2NhbE1l
ZGlhRGVzY3JpcHRpb24uYWRkU3NyYyhjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKTsK
KworICAgICAgICBpZiAobG9jYWxNZWRpYURlc2NyaXB0aW9uLmR0bHNTZXR1cCgpID09ICJhY3Rw
YXNzIikKKyAgICAgICAgICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5zZXREdGxzU2V0dXAoInBh
c3NpdmUiKTsKKworICAgICAgICB0cmFuc2NlaXZlcnMucmVtb3ZlRmlyc3QodHJhbnNjZWl2ZXIp
OworICAgIH0KKworICAgIC8vIFVuYXNzb2NpYXRlZCAobm9uLXN0b3BwZWQpIHRyYW5zY2VpdmVy
cyBuZWVkIHRvIGJlIG5lZ290aWF0ZWQgaW4gYSBmb2xsb3ctdXAgb2ZmZXIuCisgICAgaWYgKGhh
c1VuYXNzb2NpYXRlZFRyYW5zY2VpdmVycyh0cmFuc2NlaXZlcnMpKQorICAgICAgICBtYXJrQXNO
ZWVkaW5nTmVnb3RpYXRpb24oKTsKKworICAgIGF1dG8gZGVzY3JpcHRpb24gPSBNZWRpYUVuZHBv
aW50U2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBU
eXBlOjpBbnN3ZXIsIFdURk1vdmUoY29uZmlndXJhdGlvblNuYXBzaG90KSk7CisgICAgcHJvbWlz
ZS5yZXNvbHZlKCpkZXNjcmlwdGlvbi0+dG9SVENTZXNzaW9uRGVzY3JpcHRpb24oKm1fc2RwUHJv
Y2Vzc29yKSk7CiB9CiAKIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlTWFwIGNyZWF0ZVNvdXJj
ZU1hcChjb25zdCBNZWRpYURlc2NyaXB0aW9uVmVjdG9yJiByZW1vdGVNZWRpYURlc2NyaXB0aW9u
cywgdW5zaWduZWQgbG9jYWxNZWRpYURlc2NyaXB0aW9uQ291bnQsIGNvbnN0IFJ0cFRyYW5zY2Vp
dmVyVmVjdG9yJiB0cmFuc2NlaXZlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaApp
bmRleCAzMTY5YzU2Li5mMDE3YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgK
QEAgLTg3LDYgKzg3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0UnVubmluZ1Rhc2tzKCk7
CiAKICAgICB2b2lkIGNyZWF0ZU9mZmVyVGFzayhSVENPZmZlck9wdGlvbnMmLCBQZWVyQ29ubmVj
dGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZSYpOworICAgIHZvaWQgY3JlYXRlQW5zd2Vy
VGFzayhSVENBbnN3ZXJPcHRpb25zJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlv
blByb21pc2UmKTsKIAogICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CiAg
ICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CkBAIC0xMjAsNiArMTIxLDcg
QEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9kdGxzRmluZ2VycHJpbnQ7CiAgICAgU3RyaW5nIG1f
ZHRsc0ZpbmdlcnByaW50RnVuY3Rpb247CiAgICAgdW5zaWduZWQgbV9zZHBPZmZlclNlc3Npb25W
ZXJzaW9uIHsgMCB9OworICAgIHVuc2lnbmVkIG1fc2RwQW5zd2VyU2Vzc2lvblZlcnNpb24geyAw
IH07CiAKICAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Npb25EZXNjcmlwdGlvbj4gbV9jdXJy
ZW50TG9jYWxEZXNjcmlwdGlvbjsKICAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Npb25EZXNj
cmlwdGlvbj4gbV9wZW5kaW5nTG9jYWxEZXNjcmlwdGlvbjsK
</data>
<flag name="review"
          id="304788"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280996</attachid>
            <date>2016-06-09 22:29:39 -0700</date>
            <delta_ts>2016-06-10 02:13:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>mepc-create-answer_2.patch</filename>
            <type>text/plain</type>
            <size>15081</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZWQ2YjQ2Li5hNGY3NzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDYt
MDkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVB
bnN3ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFk
ZCB0ZXN0IGZvciBSVENQZWVyQ29ubmVjdGlvbi5jcmVhdGVBbnN3ZXIuCisKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1pbnNwZWN0LWFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgR2VuZXJhdGUgdHdvIGFuc3dl
cnMsIG9uZSB3aXRoIGF1ZGlvIG9ubHkgYW5kIGEgc2Vjb25kIHdpdGggYXVkaW8gYW5kIHZpZGVv
LCBhbmQgaW5zcGVjdAorICAgICAgICB0aGUgcmVzdWx0LgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBTa2lwIHRlc3RzIGZvciBtYWMgdGhhdCByZXF1
aXJlIGJ1aWxkaW5nIHdpdGggV0VCX1JUQyBlbmFibGVkLgorCiAyMDE2LTA2LTA4ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUgcHJvdG90eXBlIGNoYWluIGlzIGluY29ycmVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWluc3BlY3QtYW5zd2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5iYWQyY2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw3MyBAQAorVGVzdCBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlv
biBjYWxsZWQgd2l0aCBhbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gb2YgdHlwZSAnb2ZmZXInCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEFuc3dlciB3aXRoIGF1ZGlvIGNy
ZWF0ZWQKKz09PSBSVENTZXNzaW9uRGVzY3JpcHRpb24gPT09Cit0eXBlOiBhbnN3ZXIsIHNkcDoK
K3Y9MAorbz0tIHtzZXNzaW9uLWlkOk9LfSAwIElOIElQNCAxMjcuMC4wLjEKK3M9LQordD0wIDAK
K209YXVkaW8gOSBVRFAvVExTL1JUUC9TQVZQRiAxMTEgOCAwCitjPUlOIElQNCAwLjAuMC4wCith
PXJ0Y3AtbXV4CithPXJlY3Zvbmx5CithPW1pZDp7bWlkOk9LfQorYT1ydHBtYXA6MTExIE9QVVMv
NDgwMDAvMgorYT1ydHBtYXA6OCBQQ01BLzgwMDAKK2E9cnRwbWFwOjAgUENNVS84MDAwCithPXNz
cmM6e3NzcmM6T0t9IGNuYW1lOntjbmFtZTpPS30KK2E9aWNlLXVmcmFnOntpY2UtdWZyYWc6T0t9
CithPWljZS1wd2Q6e2ljZS1wYXNzd29yZDpPS30KK2E9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4
NzowOTo4QTo1RDpDMjpGMzozMzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0
QzpFNzo0NjozQjoxQjpDRTo4NDo5ODpERDo4RTpBRjo3QgorYT1zZXR1cDphY3RpdmUKKz09PQor
CitQQVNTIEFuc3dlciB3aXRoIGF1ZGlvIGFuZCB2aWRlbyBjcmVhdGVkCis9PT0gUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uID09PQordHlwZTogYW5zd2VyLCBzZHA6Cit2PTAKK289LSB7c2Vzc2lvbi1p
ZDpPS30gMSBJTiBJUDQgMTI3LjAuMC4xCitzPS0KK3Q9MCAwCittPWF1ZGlvIDkgVURQL1RMUy9S
VFAvU0FWUEYgMTExIDggMAorYz1JTiBJUDQgMC4wLjAuMAorYT1ydGNwLW11eAorYT1yZWN2b25s
eQorYT1taWQ6e21pZDpPS30KK2E9cnRwbWFwOjExMSBPUFVTLzQ4MDAwLzIKK2E9cnRwbWFwOjgg
UENNQS84MDAwCithPXJ0cG1hcDowIFBDTVUvODAwMAorYT1zc3JjOntzc3JjOk9LfSBjbmFtZTp7
Y25hbWU6T0t9CithPWljZS11ZnJhZzp7aWNlLXVmcmFnOk9LfQorYT1pY2UtcHdkOntpY2UtcGFz
c3dvcmQ6T0t9CithPWZpbmdlcnByaW50OnNoYS0yNTYgOEI6ODc6MDk6OEE6NUQ6QzI6RjM6MzM6
RUY6QzU6QjE6RjY6ODQ6M0E6M0Q6RDY6QTM6RTI6OUM6MTc6NEM6RTc6NDY6M0I6MUI6Q0U6ODQ6
OTg6REQ6OEU6QUY6N0IKK2E9c2V0dXA6YWN0aXZlCittPXZpZGVvIDkgVURQL1RMUy9SVFAvU0FW
UEYgMTAzIDEwMCAxMjAKK2M9SU4gSVA0IDAuMC4wLjAKK2E9cnRjcC1tdXgKK2E9cmVjdm9ubHkK
K2E9bWlkOnttaWQ6T0t9CithPXJ0cG1hcDoxMDMgSDI2NC85MDAwMAorYT1ydHBtYXA6MTAwIFZQ
OC85MDAwMAorYT1ydHBtYXA6MTIwIFJUWC85MDAwMAorYT1mbXRwOjEwMyBwYWNrZXRpemF0aW9u
LW1vZGU9MQorYT1mbXRwOjEyMCBhcHQ9MTAwO3J0eC10aW1lPTIwMAorYT1ydGNwLWZiOjEwMCBu
YWNrCithPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpCithPXJ0Y3AtZmI6MTAwIG5hY2sgcGxpCithPXJ0
Y3AtZmI6MTAzIGNjbSBmaXIKK2E9cnRjcC1mYjoxMDAgY2NtIGZpcgorYT1zc3JjOntzc3JjOk9L
fSBjbmFtZTp7Y25hbWU6T0t9CithPWljZS11ZnJhZzp7aWNlLXVmcmFnOk9LfQorYT1pY2UtcHdk
OntpY2UtcGFzc3dvcmQ6T0t9CithPWZpbmdlcnByaW50OnNoYS0yNTYgOEI6ODc6MDk6OEE6NUQ6
QzI6RjM6MzM6RUY6QzU6QjE6RjY6ODQ6M0E6M0Q6RDY6QTM6RTI6OUM6MTc6NEM6RTc6NDY6M0I6
MUI6Q0U6ODQ6OTg6REQ6OEU6QUY6N0IKK2E9c2V0dXA6YWN0aXZlCis9PT0KKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1hbnN3
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
aW5zcGVjdC1hbnN3ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w
ZmQwMDM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3NkcC11dGls
cy5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0
PgorICAgICAgICAgICAgbGV0IHJlbW90ZVN0cmVhbTsKKyAgICAgICAgICAgIGxldCByZW1vdGVQ
Y0F1ZGlvVHJhY2s7CisgICAgICAgICAgICBsZXQgcmVtb3RlUGNWaWRlb1RyYWNrOworICAgICAg
ICAgICAgY29uc3QgbWVkaWFEZXNjcmlwdGlvblZhcmlhYmxlcyA9IFtdOworCisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGVzdCBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlv
biBjYWxsZWQgd2l0aCBhbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gb2YgdHlwZSAnb2ZmZXInIik7
CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZXJNZWRpYVBlcm1pc3Npb24odHJ1ZSk7CisgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhv
dXQgdGhlIHRlc3RSdW5uZXIiKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc3QgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNv
bm5lY3Rpb24oe2ljZVNlcnZlcnM6W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsKKyAgICAgICAg
ICAgIGNvbnN0IHJlbW90ZVBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2
ZXJzOlt7dXJsczonc3R1bjpmb28uY29tJ31dfSk7CisKKyAgICAgICAgICAgIG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgImF1ZGlvIjogdHJ1ZSwgInZpZGVvIjogdHJ1ZSB9
KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHMpIHsKKyAgICAgICAgICAgICAgICByZW1v
dGVTdHJlYW0gPSBzOworCisgICAgICAgICAgICAgICAgcmVtb3RlUGNBdWRpb1RyYWNrID0gcmVt
b3RlU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF07CisgICAgICAgICAgICAgICAgcmVtb3RlUGNW
aWRlb1RyYWNrID0gcmVtb3RlU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07CisKKyAgICAgICAg
ICAgICAgICByZW1vdGVQYy5hZGRUcmFjayhyZW1vdGVQY0F1ZGlvVHJhY2ssIHJlbW90ZVN0cmVh
bSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlbW90ZVBjLmNyZWF0ZU9mZmVyKCk7CisgICAg
ICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlbW90ZU9mZmVyKSB7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHJlbW90ZU9mZmVy
KTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHBjLmNyZWF0ZUFuc3dlcigpOworICAgICAgICAgICAgfSkKKyAg
ICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChhbnN3ZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJBbnN3ZXIgd2l0aCBhdWRpbyBjcmVhdGVkIik7CisKKyAgICAgICAgICAgICAgICBt
ZWRpYURlc2NyaXB0aW9uVmFyaWFibGVzLnB1c2goeworICAgICAgICAgICAgICAgICAgICAidHJh
Y2tJZCI6IHJlbW90ZVBjQXVkaW9UcmFjay5pZCwKKyAgICAgICAgICAgICAgICAgICAgInN0cmVh
bUlkIjogcmVtb3RlU3RyZWFtLmlkCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgcHJpbnRDb21wYXJhYmxlU2Vzc2lvbkRlc2NyaXB0aW9uKGFuc3dlciwgbWVkaWFEZXNjcmlw
dGlvblZhcmlhYmxlcyk7CisKKyAgICAgICAgICAgICAgICByZW1vdGVQYy5hZGRUcmFjayhyZW1v
dGVQY1ZpZGVvVHJhY2ssIHJlbW90ZVN0cmVhbSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJl
bW90ZVBjLmNyZWF0ZU9mZmVyKCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4o
ZnVuY3Rpb24gKHJlbW90ZU9mZmVyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBjLnNldFJl
bW90ZURlc2NyaXB0aW9uKHJlbW90ZU9mZmVyKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAg
ICAudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBjLmNyZWF0ZUFu
c3dlcigpOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChhbnN3
ZXIpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJBbnN3ZXIgd2l0aCBhdWRpbyBhbmQg
dmlkZW8gY3JlYXRlZCIpOworCisgICAgICAgICAgICAgICAgbWVkaWFEZXNjcmlwdGlvblZhcmlh
Ymxlcy5wdXNoKHsKKyAgICAgICAgICAgICAgICAgICAgInRyYWNrSWQiOiByZW1vdGVQY1ZpZGVv
VHJhY2suaWQsCisgICAgICAgICAgICAgICAgICAgICJzdHJlYW1JZCI6IHJlbW90ZVN0cmVhbS5p
ZAorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIHByaW50Q29tcGFyYWJsZVNl
c3Npb25EZXNjcmlwdGlvbihhbnN3ZXIsIG1lZGlhRGVzY3JpcHRpb25WYXJpYWJsZXMpOworCisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9KQorICAgICAgICAg
ICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkVycm9yIGluIHByb21pc2UgY2hhaW46ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDI4NDdiMDMu
LjUyYTIwNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xOTMsNiArMTkzLDcgQEAgZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
aHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRMb2NhbERlc2NyaXB0
aW9uLW9mZmVyLmh0bWwKIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc2V0UmVt
b3RlRGVzY3JpcHRpb24tb2ZmZXIuaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50
LWNvbnN0cnVjdG9yLmh0bWwKK2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5z
cGVjdC1hbnN3ZXIuaHRtbAogCiAjIEFzc2VydHMgaW4gZGVidWcuCiBbIERlYnVnIF0gZmFzdC9p
bWFnZXMvbGFyZ2Utc2l6ZS1pbWFnZS1jcmFzaC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzE3MDczNy4uYjg5YzhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA2LTA5
ICBBZGFtIEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KKworICAgICAg
ICBXZWJSVEM6IEltbGVtZW50IE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlQW5z
d2VyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODU2NgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQg
dGhlIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbiBpbXBsZW1lbnRhdGlvbiBvZiBSVENQZWVy
Q29ubmVjdGlvbi5jcmVhdGVBbnN3ZXIgWzFdLgorICAgICAgICBjcmVhdGVBbnN3ZXIoKSBjcmVh
dGVzIGEgJ3JlcGx5JyB0byBhbiByZW1vdGUgb2ZmZXIgc2V0IHdpdGggc2V0UmVtb3RlRGVzY3Jp
cHRpb24oKSwKKyAgICAgICAgY29tcGxldGVzIHRoZSBvZmZlci9hbnN3ZXIgZGlhbG9nIGFuZCBi
cmluZ3MgdGhlIFJUQ1BlZXJDb25uZWN0aW9uIGJhY2sgdG8gdGhlICdzdGFibGUnCisgICAgICAg
IHNpZ25hbGluZyBzdGF0ZS4KKworICAgICAgICBbMV0gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YnJ0Yy1wYy9hcmNoaXZlcy8yMDE2MDUxMy93ZWJydGMuaHRtbCNkb20tcnRjcGVlcmNvbm5lY3Rp
b24tY3JlYXRlYW5zd2VyCisKKyAgICAgICAgVGVzdDogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZU9mZmVyVGFzayk6CisgICAgICAg
IEFsaWduIGNyZWF0aW9uIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiB3aXRoIGNyZWF0ZUFuc3dl
clRhc2suCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNy
ZWF0ZUFuc3dlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rp
b246OmNyZWF0ZUFuc3dlclRhc2spOgorICAgICAgICBBZGQgSW1wbGVtZW50YXRpb24uCisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaDoK
KwogMjAxNi0wNi0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIHByb3RvdHlwZSBjaGFpbiBpcyBpbmNvcnJlY3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRw
b2ludFBlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAppbmRleCAwYmZiZmU1Li4wMDQzMWI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCkBAIC0xOTEsMjMgKzE5MSw5
MSBAQCB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlT2ZmZXJUYXNrKFJU
Q09mZmVyT3B0aW9ucyYsIFNlc3Npb25EZXNjcgogICAgICAgICBjb25maWd1cmF0aW9uU25hcHNo
b3QtPmFkZE1lZGlhRGVzY3JpcHRpb24oV1RGTW92ZShtZWRpYURlc2NyaXB0aW9uKSk7CiAgICAg
fQogCi0gICAgU3RyaW5nIHNkcFN0cmluZzsKLSAgICBTRFBQcm9jZXNzb3I6OlJlc3VsdCByZXN1
bHQgPSBtX3NkcFByb2Nlc3Nvci0+Z2VuZXJhdGUoKmNvbmZpZ3VyYXRpb25TbmFwc2hvdCwgc2Rw
U3RyaW5nKTsKLSAgICBpZiAocmVzdWx0ICE9IFNEUFByb2Nlc3Nvcjo6UmVzdWx0OjpTdWNjZXNz
KSB7Ci0gICAgICAgIExPR19FUlJPUigiU0RQUHJvY2Vzc29yIGludGVybmFsIGVycm9yIik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBwcm9taXNlLnJlc29sdmUoUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBUeXBlOjpPZmZlciwg
c2RwU3RyaW5nKSk7CisgICAgYXV0byBkZXNjcmlwdGlvbiA9IE1lZGlhRW5kcG9pbnRTZXNzaW9u
RGVzY3JpcHRpb246OmNyZWF0ZShSVENTZXNzaW9uRGVzY3JpcHRpb246OlNkcFR5cGU6Ok9mZmVy
LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb25TbmFwc2hvdCkpOworICAgIHByb21pc2UucmVzb2x2ZSgq
ZGVzY3JpcHRpb24tPnRvUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKCptX3NkcFByb2Nlc3NvcikpOwog
fQogCiB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlQW5zd2VyKFJUQ0Fu
c3dlck9wdGlvbnMmIG9wdGlvbnMsIFNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJiBwcm9taXNl
KQogewotICAgIFVOVVNFRF9QQVJBTShvcHRpb25zKTsKKyAgICBydW5UYXNrKFt0aGlzLCBwcm90
ZWN0ZWRPcHRpb25zID0gUmVmUHRyPFJUQ0Fuc3dlck9wdGlvbnM+KCZvcHRpb25zKSwgcHJvdGVj
dGVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGNyZWF0
ZUFuc3dlclRhc2soKnByb3RlY3RlZE9wdGlvbnMsIHByb3RlY3RlZFByb21pc2UpOworICAgIH0p
OworfQogCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25u
ZWN0aW9uOjpjcmVhdGVBbnN3ZXJUYXNrKFJUQ0Fuc3dlck9wdGlvbnMmLCBTZXNzaW9uRGVzY3Jp
cHRpb25Qcm9taXNlJiBwcm9taXNlKQoreworICAgIEFTU0VSVCghbV9kdGxzRmluZ2VycHJpbnQu
aXNFbXB0eSgpKTsKIAotICAgIHByb21pc2UucmVqZWN0KE5PVF9TVVBQT1JURURfRVJSKTsKKyAg
ICBpZiAobV9jbGllbnQtPmludGVybmFsU2lnbmFsaW5nU3RhdGUoKSA9PSBTaWduYWxpbmdTdGF0
ZTo6Q2xvc2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWludGVybmFsUmVtb3RlRGVz
Y3JpcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChJTlZBTElEX1NUQVRFX0VSUiwg
Ik5vIHJlbW90ZSBkZXNjcmlwdGlvbiBzZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIE1lZGlhRW5kcG9pbnRTZXNzaW9uRGVzY3JpcHRpb24qIGxvY2FsRGVzY3JpcHRpb24gPSBp
bnRlcm5hbExvY2FsRGVzY3JpcHRpb24oKTsKKyAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Np
b25Db25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uU25hcHNob3QgPSBsb2NhbERlc2NyaXB0aW9u
ID8KKyAgICAgICAgbG9jYWxEZXNjcmlwdGlvbi0+Y29uZmlndXJhdGlvbigpLT5jbG9uZSgpIDog
TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uOjpjcmVhdGUoKTsKKworICAgIGNvbmZp
Z3VyYXRpb25TbmFwc2hvdC0+c2V0U2Vzc2lvblZlcnNpb24obV9zZHBBbnN3ZXJTZXNzaW9uVmVy
c2lvbisrKTsKKworICAgIGF1dG8gdHJhbnNjZWl2ZXJzID0gUnRwVHJhbnNjZWl2ZXJWZWN0b3Io
bV9jbGllbnQtPmdldFRyYW5zY2VpdmVycygpKTsKKyAgICBjb25zdCBNZWRpYURlc2NyaXB0aW9u
VmVjdG9yJiByZW1vdGVNZWRpYURlc2NyaXB0aW9ucyA9IGludGVybmFsUmVtb3RlRGVzY3JpcHRp
b24oKS0+Y29uZmlndXJhdGlvbigpLT5tZWRpYURlc2NyaXB0aW9ucygpOworCisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHJlbW90ZU1lZGlhRGVzY3JpcHRpb25zLnNpemUoKTsgKytpKSB7
CisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiByZW1vdGVNZWRpYURlc2NyaXB0aW9uID0g
KnJlbW90ZU1lZGlhRGVzY3JpcHRpb25zW2ldOworCisgICAgICAgIFJUQ1J0cFRyYW5zY2VpdmVy
KiB0cmFuc2NlaXZlciA9IG1hdGNoVHJhbnNjZWl2ZXJCeU1pZCh0cmFuc2NlaXZlcnMsIHJlbW90
ZU1lZGlhRGVzY3JpcHRpb24ubWlkKCkpOworICAgICAgICBpZiAoIXRyYW5zY2VpdmVyKSB7Cisg
ICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBmaW5kIGEgbWF0Y2hpbmcgdHJhbnNjZWl2
ZXIgZm9yIHJlbW90ZSBkZXNjcmlwdGlvbiB3aGlsZSBjcmVhdGluZyBhbnN3ZXIiKTsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGkgPj0gY29uZmlndXJh
dGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0aW9ucygpLnNpemUoKSkgeworICAgICAgICAgICAg
YXV0byBuZXdNZWRpYURlc2NyaXB0aW9uID0gUGVlck1lZGlhRGVzY3JpcHRpb246OmNyZWF0ZSgp
OworCisgICAgICAgICAgICBSVENSdHBTZW5kZXImIHNlbmRlciA9ICp0cmFuc2NlaXZlci0+c2Vu
ZGVyKCk7CisgICAgICAgICAgICBpZiAoc2VuZGVyLnRyYWNrKCkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoc2VuZGVyLm1lZGlhU3RyZWFtSWRzKCkuc2l6ZSgpKQorICAgICAgICAgICAgICAgICAg
ICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNZWRpYVN0cmVhbUlkKHNlbmRlci5tZWRpYVN0cmVh
bUlkcygpWzBdKTsKKyAgICAgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNZWRp
YVN0cmVhbVRyYWNrSWQoc2VuZGVyLnRyYWNrSWQoKSk7CisgICAgICAgICAgICAgICAgbmV3TWVk
aWFEZXNjcmlwdGlvbi0+YWRkU3NyYyhjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+c2V0TW9k
ZSh0cmFuc2NlaXZlci0+ZGlyZWN0aW9uU3RyaW5nKCkpOworICAgICAgICAgICAgbmV3TWVkaWFE
ZXNjcmlwdGlvbi0+c2V0VHlwZShyZW1vdGVNZWRpYURlc2NyaXB0aW9uLnR5cGUoKSk7CisgICAg
ICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRNaWQocmVtb3RlTWVkaWFEZXNjcmlwdGlv
bi5taWQoKSk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXREdGxzU2V0dXAo
cmVtb3RlTWVkaWFEZXNjcmlwdGlvbi5kdGxzU2V0dXAoKSA9PSAiYWN0aXZlIiA/ICJwYXNzaXZl
IiA6ICJhY3RpdmUiKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldER0bHNG
aW5nZXJwcmludEhhc2hGdW5jdGlvbihtX2R0bHNGaW5nZXJwcmludEZ1bmN0aW9uKTsKKyAgICAg
ICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldER0bHNGaW5nZXJwcmludChtX2R0bHNGaW5n
ZXJwcmludCk7CisgICAgICAgICAgICBuZXdNZWRpYURlc2NyaXB0aW9uLT5zZXRDbmFtZShtX2Nu
YW1lKTsKKyAgICAgICAgICAgIG5ld01lZGlhRGVzY3JpcHRpb24tPnNldEljZVVmcmFnKG1faWNl
VWZyYWcpOworICAgICAgICAgICAgbmV3TWVkaWFEZXNjcmlwdGlvbi0+c2V0SWNlUGFzc3dvcmQo
bV9pY2VQYXNzd29yZCk7CisKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25TbmFwc2hvdC0+YWRk
TWVkaWFEZXNjcmlwdGlvbihXVEZNb3ZlKG5ld01lZGlhRGVzY3JpcHRpb24pKTsKKyAgICAgICAg
fQorCisgICAgICAgIFBlZXJNZWRpYURlc2NyaXB0aW9uJiBsb2NhbE1lZGlhRGVzY3JpcHRpb24g
PSAqY29uZmlndXJhdGlvblNuYXBzaG90LT5tZWRpYURlc2NyaXB0aW9ucygpW2ldOworCisgICAg
ICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5zZXRQYXlsb2FkcyhyZW1vdGVNZWRpYURlc2NyaXB0
aW9uLnBheWxvYWRzKCkpOworICAgICAgICBsb2NhbE1lZGlhRGVzY3JpcHRpb24uc2V0UnRjcE11
eChyZW1vdGVNZWRpYURlc2NyaXB0aW9uLnJ0Y3BNdXgoKSk7CisKKyAgICAgICAgaWYgKCFsb2Nh
bE1lZGlhRGVzY3JpcHRpb24uc3NyY3MoKS5zaXplKCkpCisgICAgICAgICAgICBsb2NhbE1lZGlh
RGVzY3JpcHRpb24uYWRkU3NyYyhjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKTsKKwor
ICAgICAgICBpZiAobG9jYWxNZWRpYURlc2NyaXB0aW9uLmR0bHNTZXR1cCgpID09ICJhY3RwYXNz
IikKKyAgICAgICAgICAgIGxvY2FsTWVkaWFEZXNjcmlwdGlvbi5zZXREdGxzU2V0dXAoInBhc3Np
dmUiKTsKKworICAgICAgICB0cmFuc2NlaXZlcnMucmVtb3ZlRmlyc3QodHJhbnNjZWl2ZXIpOwor
ICAgIH0KKworICAgIC8vIFVuYXNzb2NpYXRlZCAobm9uLXN0b3BwZWQpIHRyYW5zY2VpdmVycyBu
ZWVkIHRvIGJlIG5lZ290aWF0ZWQgaW4gYSBmb2xsb3ctdXAgb2ZmZXIuCisgICAgaWYgKGhhc1Vu
YXNzb2NpYXRlZFRyYW5zY2VpdmVycyh0cmFuc2NlaXZlcnMpKQorICAgICAgICBtYXJrQXNOZWVk
aW5nTmVnb3RpYXRpb24oKTsKKworICAgIGF1dG8gZGVzY3JpcHRpb24gPSBNZWRpYUVuZHBvaW50
U2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBUeXBl
OjpBbnN3ZXIsIFdURk1vdmUoY29uZmlndXJhdGlvblNuYXBzaG90KSk7CisgICAgcHJvbWlzZS5y
ZXNvbHZlKCpkZXNjcmlwdGlvbi0+dG9SVENTZXNzaW9uRGVzY3JpcHRpb24oKm1fc2RwUHJvY2Vz
c29yKSk7CiB9CiAKIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlTWFwIGNyZWF0ZVNvdXJjZU1h
cChjb25zdCBNZWRpYURlc2NyaXB0aW9uVmVjdG9yJiByZW1vdGVNZWRpYURlc2NyaXB0aW9ucywg
dW5zaWduZWQgbG9jYWxNZWRpYURlc2NyaXB0aW9uQ291bnQsIGNvbnN0IFJ0cFRyYW5zY2VpdmVy
VmVjdG9yJiB0cmFuc2NlaXZlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaAppbmRl
eCAzMTY5YzU2Li5mMDE3YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgKQEAg
LTg3LDYgKzg3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0UnVubmluZ1Rhc2tzKCk7CiAK
ICAgICB2b2lkIGNyZWF0ZU9mZmVyVGFzayhSVENPZmZlck9wdGlvbnMmLCBQZWVyQ29ubmVjdGlv
bjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZSYpOworICAgIHZvaWQgY3JlYXRlQW5zd2VyVGFz
ayhSVENBbnN3ZXJPcHRpb25zJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblBy
b21pc2UmKTsKIAogICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CiAgICAg
dm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CkBAIC0xMjAsNiArMTIxLDcgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgbV9kdGxzRmluZ2VycHJpbnQ7CiAgICAgU3RyaW5nIG1fZHRs
c0ZpbmdlcnByaW50RnVuY3Rpb247CiAgICAgdW5zaWduZWQgbV9zZHBPZmZlclNlc3Npb25WZXJz
aW9uIHsgMCB9OworICAgIHVuc2lnbmVkIG1fc2RwQW5zd2VyU2Vzc2lvblZlcnNpb24geyAwIH07
CiAKICAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Npb25EZXNjcmlwdGlvbj4gbV9jdXJyZW50
TG9jYWxEZXNjcmlwdGlvbjsKICAgICBSZWZQdHI8TWVkaWFFbmRwb2ludFNlc3Npb25EZXNjcmlw
dGlvbj4gbV9wZW5kaW5nTG9jYWxEZXNjcmlwdGlvbjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>