<?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>233371</bug_id>
          
          <creation_ts>2021-11-19 09:21:17 -0800</creation_ts>
          <short_desc>Add headers for [_WKWebAuthenticationPanel makeCredentialWithClientDataHash] and [_WKWebAuthenticationPanel getAssertionWithClientDataHash]</short_desc>
          <delta_ts>2021-11-19 14:20:00 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233216</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="pascoe@apple.com">pascoe</reporter>
          <assigned_to name="pascoe@apple.com">pascoe</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816889</commentid>
    <comment_count>0</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-11-19 09:21:17 -0800</bug_when>
    <thetext>This is a followup to: https://bugs.webkit.org/show_bug.cgi?id=233216

Summary:
In order to avoid needing to make and coordinate changes to ASC to support new fields or changes within ClientDataJSON and to maintain a single source of truth, calls to ASC from WebKit will contain a precomputed ClientDataHash.

In order to use these new methods, they must be added to _WKWebAuthenticationPanel.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816890</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-19 09:21:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/85607248&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816894</commentid>
    <comment_count>2</comment_count>
      <attachid>444825</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-11-19 09:30:31 -0800</bug_when>
    <thetext>Created attachment 444825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816898</commentid>
    <comment_count>3</comment_count>
      <attachid>444828</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-11-19 09:52:45 -0800</bug_when>
    <thetext>Created attachment 444828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816904</commentid>
    <comment_count>4</comment_count>
      <attachid>444828</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-11-19 10:10:08 -0800</bug_when>
    <thetext>Comment on attachment 444828
Patch

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

r=me if you switch to WK_&lt;MAC/IOS&gt;_TBA in the availability macros.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:129
&gt; +- (void)makeCredentialWithClientDataHash:(NSData *)clientDataHash options:(_WKPublicKeyCredentialCreationOptions *)options completionHandler:(void (^)(_WKAuthenticatorAttestationResponse *, NSError *))handler WK_API_AVAILABLE(macos(12.0), ios(15.0));

This isn&apos;t true -- we already shipped macOS 12 and iOS 15 without these methods. Usually we use &quot;WK_MAC_TBA&quot; and &quot;WK_IOS_TBA&quot; until we are close to a release.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:131
&gt; +- (void)getAssertionWithClientDataHash:(NSData *)clientDataHash options:(_WKPublicKeyCredentialRequestOptions *)options completionHandler:(void (^)(_WKAuthenticatorAssertionResponse *, NSError *))handler WK_API_AVAILABLE(macos(12.0), ios(15.0));

Ditto.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:1932
&gt; +        EXPECT_WK_STREQ([response.rawId base64EncodedStringWithOptions:0], &quot;SMSXHngF7hEOsElA73C3RY+8bR4=&quot;);

Curious if this rawId has a meaning you could reference, similar to the comments in the GetAssertionLAClientDataHash test, below.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:2117
&gt; +        // echo -n &quot;example.com&quot; | shasum -a 256 | xxd -r -p | base64

These comments are super helpful. I wonder if there is a similar thing you could say about the raw ID above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816918</commentid>
    <comment_count>5</comment_count>
      <attachid>444835</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-11-19 10:47:39 -0800</bug_when>
    <thetext>Created attachment 444835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816919</commentid>
    <comment_count>6</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-11-19 10:49:20 -0800</bug_when>
    <thetext>Wish I could&apos;ve made it a slick bash command but converting from x9.63 to something openssl understands and back was involved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816924</commentid>
    <comment_count>7</comment_count>
      <attachid>444835</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-11-19 10:57:31 -0800</bug_when>
    <thetext>Comment on attachment 444835
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816995</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-19 14:19:59 -0800</bug_when>
    <thetext>Committed r286078 (244465@main): &lt;https://commits.webkit.org/244465@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444835.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444825</attachid>
            <date>2021-11-19 09:30:31 -0800</date>
            <delta_ts>2021-11-19 09:35:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233371-20211119093030.patch</filename>
            <type>text/plain</type>
            <size>2598</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNhN2RiYzNhYmJmZTFlODg2
ODhkYzFlZTVjYzc1OWUwNTk1NGVlNjkuLjU4MDM2NjUyZGQ0YmE2YTc4M2M4ZjMwMzVjMzZjZTQw
OWVkYTNjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMTkgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQWRkIGhlYWRlcnMg
Zm9yIFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIG1ha2VDcmVkZW50aWFsV2l0aENsaWVudERh
dGFIYXNoXSBhbmQgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENs
aWVudERhdGFIYXNoXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTYwNzI0OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBTUElzIHdlcmUg
YWRkZWQgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzIxNiwg
YnV0IHdlcmUgbm90IGFkZGVkIHRvIHRoZSBoZWFkZXIKKyAgICAgICAgZmlsZSBfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLmgsIHRoaXMgY2hhbmdlIGFkZHMgdGhlbS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oOgorCiAyMDIxLTEx
LTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWxsb3cgYWxsIHJlZGlyZWN0IHNjaGVtZXMgd2hlbiBjb21waWxpbmcgYSBjb250ZW50IHJ1
bGUgbGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKaW5kZXggZDJhNTkxN2YyZDkwM2ZiMTNl
NmVhMzVjMDRhMTQzMmEyZDBhZjM4Yy4uNjQ0MzM2MjJmODk5MjA5YzA4NmE2ODhjMTg2M2VjZWQ5
MzQ2ODBiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCkBAIC0xMjYsNyArMTI2LDkgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjE1LjQpLCBpb3MoMTMuNCkpCiAKIC8vIEZJWE1F
OiA8cmRhcjovL3Byb2JsZW0vNzE1MDk0ODU+IEFkZHMgZGV0YWlsZWQgTlNFcnJvci4KIC0gKHZv
aWQpbWFrZUNyZWRlbnRpYWxXaXRoQ2hhbGxlbmdlOihOU0RhdGEgKiljaGFsbGVuZ2Ugb3JpZ2lu
OihOU1N0cmluZyAqKW9yaWdpbiBvcHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNFcnJvciAqKSloYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKW1ha2VDcmVkZW50aWFs
V2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBvcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNF
cnJvciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7
CiAtICh2b2lkKWdldEFzc2VydGlvbldpdGhDaGFsbGVuZ2U6KE5TRGF0YSAqKWNoYWxsZW5nZSBv
cmlnaW46KE5TU3RyaW5nICopb3JpZ2luIG9wdGlvbnM6KF9XS1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucyAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS0F1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSAqLCBOU0Vycm9yICopKWhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpZ2V0QXNzZXJ0aW9u
V2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBvcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UgKiwgTlNFcnJv
ciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAt
ICh2b2lkKWNhbmNlbDsKIAogLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS83MTUwOTg0OD4gRGVw
cmVjYXRlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444828</attachid>
            <date>2021-11-19 09:52:45 -0800</date>
            <delta_ts>2021-11-19 10:47:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233371-20211119095244.patch</filename>
            <type>text/plain</type>
            <size>9148</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNhN2RiYzNhYmJmZTFlODg2
ODhkYzFlZTVjYzc1OWUwNTk1NGVlNjkuLjU4MDM2NjUyZGQ0YmE2YTc4M2M4ZjMwMzVjMzZjZTQw
OWVkYTNjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMTkgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQWRkIGhlYWRlcnMg
Zm9yIFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIG1ha2VDcmVkZW50aWFsV2l0aENsaWVudERh
dGFIYXNoXSBhbmQgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENs
aWVudERhdGFIYXNoXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTYwNzI0OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBTUElzIHdlcmUg
YWRkZWQgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzIxNiwg
YnV0IHdlcmUgbm90IGFkZGVkIHRvIHRoZSBoZWFkZXIKKyAgICAgICAgZmlsZSBfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLmgsIHRoaXMgY2hhbmdlIGFkZHMgdGhlbS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oOgorCiAyMDIxLTEx
LTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWxsb3cgYWxsIHJlZGlyZWN0IHNjaGVtZXMgd2hlbiBjb21waWxpbmcgYSBjb250ZW50IHJ1
bGUgbGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKaW5kZXggZDJhNTkxN2YyZDkwM2ZiMTNl
NmVhMzVjMDRhMTQzMmEyZDBhZjM4Yy4uNjQ0MzM2MjJmODk5MjA5YzA4NmE2ODhjMTg2M2VjZWQ5
MzQ2ODBiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCkBAIC0xMjYsNyArMTI2LDkgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjE1LjQpLCBpb3MoMTMuNCkpCiAKIC8vIEZJWE1F
OiA8cmRhcjovL3Byb2JsZW0vNzE1MDk0ODU+IEFkZHMgZGV0YWlsZWQgTlNFcnJvci4KIC0gKHZv
aWQpbWFrZUNyZWRlbnRpYWxXaXRoQ2hhbGxlbmdlOihOU0RhdGEgKiljaGFsbGVuZ2Ugb3JpZ2lu
OihOU1N0cmluZyAqKW9yaWdpbiBvcHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNFcnJvciAqKSloYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKW1ha2VDcmVkZW50aWFs
V2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBvcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNF
cnJvciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7
CiAtICh2b2lkKWdldEFzc2VydGlvbldpdGhDaGFsbGVuZ2U6KE5TRGF0YSAqKWNoYWxsZW5nZSBv
cmlnaW46KE5TU3RyaW5nICopb3JpZ2luIG9wdGlvbnM6KF9XS1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucyAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS0F1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSAqLCBOU0Vycm9yICopKWhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpZ2V0QXNzZXJ0aW9u
V2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBvcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UgKiwgTlNFcnJv
ciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAt
ICh2b2lkKWNhbmNlbDsKIAogLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS83MTUwOTg0OD4gRGVw
cmVjYXRlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlM2Y0Y2YzMDU5NGY2NzliYTI3NTVmMjg1MDg1
Nzk4NDliYTZjNTI0Li5hMmFmYTk4Y2ZhNjQ0NGRlYmE5YTVmZWM4MDgzZTE2MjE2OTBkZWNhIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjEtMTEtMTkgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisg
ICAgICAgIFtXZWJBdXRobl0gQWRkIGhlYWRlcnMgZm9yIFtfV0tXZWJBdXRoZW50aWNhdGlvblBh
bmVsIG1ha2VDcmVkZW50aWFsV2l0aENsaWVudERhdGFIYXNoXSBhbmQgW19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENsaWVudERhdGFIYXNoXQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzcxCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NTYwNzI0OD4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgW19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwgbWFrZUNyZWRlbnRpYWxXaXRoQ2xpZW50RGF0YUhhc2hdIGFuZCAKKyAgICAgICAgW19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENsaWVudERhdGFIYXNoXS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIx
LTExLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQWxsb3cgYWxsIHJlZGlyZWN0IHNjaGVtZXMgd2hlbiBjb21waWxpbmcgYSBjb250ZW50
IHJ1bGUgbGlzdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IDQ5ZDU0
MThmZTExMDlhOGE3MjI5MGVmMDcyMmEzYTk2NWI5YTJlZWMuLmNiOWQ3OTE2NmNmNWViZjZmZmZl
MTlkNjhlZTlhM2E2MTQ5MmEwOWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0KQEAgLTE4OTgsNiArMTg5OCw0MyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIE1h
a2VDcmVkZW50aWFsTEEpCiAgICAgfV07CiAgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlv
blBhbmVsUmFuKTsKIH0KKworVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBNYWtlQ3JlZGVu
dGlhbExBQ2xpZW50RGF0YUhhc2gpCit7CisgICAgcmVzZXQoKTsKKworICAgIHVpbnQ4X3QgaWRl
bnRpZmllcltdID0geyAweDAxLCAweDAyLCAweDAzLCAweDA0IH07CisgICAgdWludDhfdCBoYXNo
W10gPSB7IDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4
MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIs
IDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4
MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAgICBOU0RhdGEgKm5zSWRlbnRpZmllciA9
IFtOU0RhdGEgZGF0YVdpdGhCeXRlczppZGVudGlmaWVyIGxlbmd0aDpzaXplb2YoaWRlbnRpZmll
cildOworICAgIGF1dG8gbnNIYXNoID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhC
eXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFzaCldKTsKKyAgICBhdXRvIHBhcmFtZXRlcnMgPSBh
ZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRo
QWxnb3JpdGhtOkAtN10pOworCisgICAgYXV0byBycCA9IGFkb3B0TlMoW1tfV0tQdWJsaWNLZXlD
cmVkZW50aWFsUmVseWluZ1BhcnR5RW50aXR5IGFsbG9jXSBpbml0V2l0aE5hbWU6QCJleGFtcGxl
LmNvbSJdKTsKKyAgICBbcnAgc2V0SWRlbnRpZmllcjpAImV4YW1wbGUuY29tIl07CisgICAgYXV0
byB1c2VyID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5IGFsbG9j
XSBpbml0V2l0aE5hbWU6QCJqYXBwbGVzZWVkQGV4YW1wbGUuY29tIiBpZGVudGlmaWVyOm5zSWRl
bnRpZmllciBkaXNwbGF5TmFtZTpAIkogQXBwbGVzZWVkIl0pOworICAgIE5TQXJyYXk8X1dLUHVi
bGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMgKj4gKnB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWF0
ZXJzID0gQFsgcGFyYW1ldGVycy5nZXQoKSBdOworICAgIGF1dG8gb3B0aW9ucyA9IGFkb3B0TlMo
W1tfV0tQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIGFsbG9jXSBpbml0V2l0aFJl
bHlpbmdQYXJ0eTpycC5nZXQoKSB1c2VyOnVzZXIuZ2V0KCkgcHVibGljS2V5Q3JlZGVudGlhbFBh
cmFtYXRlcnM6cHVibGljS2V5Q3JlZGVudGlhbFBhcmFtYXRlcnNdKTsKKworICAgIGF1dG8gcGFu
ZWwgPSBhZG9wdE5TKFtbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBhbGxvY10gaW5pdF0pOwor
ICAgIFtwYW5lbCBzZXRNb2NrQ29uZmlndXJhdGlvbjpAeyBAInByaXZhdGVLZXlCYXNlNjQiOiB0
ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0IH1dOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAg
IFtwYW5lbCBzZXREZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbcGFuZWwgbWFrZUNy
ZWRlbnRpYWxXaXRoQ2xpZW50RGF0YUhhc2g6bnNIYXNoLmdldCgpIG9wdGlvbnM6b3B0aW9ucy5n
ZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlICpyZXNwb25zZSwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgd2ViQXV0aGVudGljYXRp
b25QYW5lbFJhbiA9IHRydWU7CisgICAgICAgIGNsZWFuVXBLZXljaGFpbigiZXhhbXBsZS5jb20i
KTsKKworICAgICAgICBFWFBFQ1RfVFJVRShsYUNvbnRleHRSZXF1ZXN0ZWQpOworICAgICAgICBF
WFBFQ1RfTlVMTChlcnJvcik7CisKKyAgICAgICAgRVhQRUNUX05PVF9OVUxMKHJlc3BvbnNlKTsK
KyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UuY2xpZW50RGF0YUpTT04pOworICAgICAgICBF
WFBFQ1RfV0tfU1RSRVEoW3Jlc3BvbnNlLnJhd0lkIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0
aW9uczowXSwgIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlkrOGJSND0iKTsKKyAgICAgICAgRVhQRUNU
X05VTEwocmVzcG9uc2UuZXh0ZW5zaW9ucyk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShbcmVz
cG9uc2UuYXR0ZXN0YXRpb25PYmplY3QgYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBd
LCAibzJObWJYUmtibTl1WldkaGRIUlRkRzEwb0doaGRYUm9SR0YwWVZpWW8zbW05dTZ2dWFWZU40
d1JnRFRpZFI1b0w2dWZMVENyRTlJU1ZZYk9HVWRGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUZFakVseDU0QmU0UkRyQkpRTzl3dDBXUHZHMGVwUUVDQXlZZ0FTRllJRGovenhTa3pLZ2FCdVMz
Y2RXREY1NThvZjhBYUlwZ0Zwc2pGL1FtMTc0OUlsZ2dWQkpQZ3FVSXdmaFdISjkxbmI3VVBINzZj
MCtXRk96WktzbFB5eUZzZTRnPSIpOworICAgIH1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVu
dGljYXRpb25QYW5lbFJhbik7Cit9CiAjZW5kaWYKIAogVEVTVChXZWJBdXRoZW50aWNhdGlvblBh
bmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnNNaW5pbXVuKQpAQCAtMjA0OSw2
ICsyMDg2LDU1IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uTEEp
CiAgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKIH0KIAorVEVTVChX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25MQUNsaWVudERhdGFIYXNoKQorewor
ICAgIHJlc2V0KCk7CisKKyAgICBBU1NFUlRfVFJVRShhZGRLZXlUb0tleWNoYWluKHRlc3RFUzI1
NlByaXZhdGVLZXlCYXNlNjQsICJleGFtcGxlLmNvbSIsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFz
ZTY0KSk7CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwg
MHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgw
MiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywg
MHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCB9Owor
ICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmhhc2ggbGVuZ3RoOnNp
emVvZihoYXNoKV07CisKKyAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5
Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIGFsbG9jXSBpbml0XSk7CisgICAgW29wdGlvbnMgc2V0
UmVseWluZ1BhcnR5SWRlbnRpZmllcjpAImV4YW1wbGUuY29tIl07CisKKyAgICBhdXRvIHBhbmVs
ID0gYWRvcHROUyhbW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgYWxsb2NdIGluaXRdKTsKKyAg
ICBbcGFuZWwgc2V0TW9ja0NvbmZpZ3VyYXRpb246QHsgfV07CisgICAgYXV0byBkZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIGFsbG9jXSBpbml0
XSk7CisgICAgW3BhbmVsIHNldERlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFtwYW5l
bCBnZXRBc3NlcnRpb25XaXRoQ2xpZW50RGF0YUhhc2g6bnNIYXNoIG9wdGlvbnM6b3B0aW9ucy5n
ZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25z
ZSAqcmVzcG9uc2UsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIHdlYkF1dGhlbnRpY2F0aW9u
UGFuZWxSYW4gPSB0cnVlOworICAgICAgICBjbGVhblVwS2V5Y2hhaW4oImV4YW1wbGUuY29tIik7
CisKKyAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOworCisgICAgICAgIEVYUEVDVF9OT1RfTlVM
TChyZXNwb25zZSk7CisgICAgICAgIEVYUEVDVF9OVUxMKHJlc3BvbnNlLmNsaWVudERhdGFKU09O
KTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKFtyZXNwb25zZS5yYXdJZCBiYXNlNjRFbmNvZGVk
U3RyaW5nV2l0aE9wdGlvbnM6MF0sICJTTVNYSG5nRjdoRU9zRWxBNzNDM1JZKzhiUjQ9Iik7Cisg
ICAgICAgIEVYUEVDVF9OVUxMKHJlc3BvbnNlLmV4dGVuc2lvbnMpOworCisgICAgICAgIC8vIGVj
aG8gLW4gImV4YW1wbGUuY29tIiB8IHNoYXN1bSAtYSAyNTYgfCB4eGQgLXIgLXAgfCBiYXNlNjQK
KyAgICAgICAgTlNTdHJpbmcgKmJhc2U2NFJQSURIYXNoID0gQCJvM21tOXU2dnVhVmVONHdSZ0RU
aWRSNW9MNnVmTFRDckU5SVNWWWJPR1VjPSI7CisgICAgICAgIGNvbnN0ZXhwciB1aW50OF90IGFk
ZGl0aW9uYWxBdXRoZW50aWNhdG9yRGF0YVtdID0geworICAgICAgICAgICAgMHgwNSwgLy8gJ2Zs
YWdzJzogVVY9MSwgVVA9MQorCisgICAgICAgICAgICAvLyAzMi1iaXQgJ3NpZ25Db3VudCcKKyAg
ICAgICAgICAgIDB4MDAsCisgICAgICAgICAgICAweDAwLAorICAgICAgICAgICAgMHgwMCwKKyAg
ICAgICAgICAgIDB4MDAsCisgICAgICAgIH07CisgICAgICAgIE5TTXV0YWJsZURhdGEgKmV4cGVj
dGVkQXV0aGVudGljYXRvckRhdGEgPSBbW05TTXV0YWJsZURhdGEgYWxsb2NdIGluaXRXaXRoQmFz
ZTY0RW5jb2RlZFN0cmluZzpiYXNlNjRSUElESGFzaCBvcHRpb25zOjBdOworICAgICAgICBbZXhw
ZWN0ZWRBdXRoZW50aWNhdG9yRGF0YSBhcHBlbmRCeXRlczphZGRpdGlvbmFsQXV0aGVudGljYXRv
ckRhdGEgbGVuZ3RoOnNpemVvZihhZGRpdGlvbmFsQXV0aGVudGljYXRvckRhdGEpXTsKKworICAg
ICAgICBFWFBFQ1RfV0tfU1RSRVEoW3Jlc3BvbnNlLmF1dGhlbnRpY2F0b3JEYXRhIGJhc2U2NEVu
Y29kZWRTdHJpbmdXaXRoT3B0aW9uczowXSwgW2V4cGVjdGVkQXV0aGVudGljYXRvckRhdGEgYmFz
ZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdKTsKKyAgICAgICAgRVhQRUNUX05PVF9OVUxM
KHJlc3BvbnNlLnNpZ25hdHVyZSk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShbcmVzcG9uc2Uu
dXNlckhhbmRsZSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF0sICJBQUVDQXdRRkJn
Y0lDUT09Iik7CisgICAgfV07CisgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVs
UmFuKTsKK30KKwogVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25Dcm9z
c1BsYXRmb3JtKQogewogICAgIHJlc2V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444835</attachid>
            <date>2021-11-19 10:47:39 -0800</date>
            <delta_ts>2021-11-19 14:20:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233371-20211119104738.patch</filename>
            <type>text/plain</type>
            <size>9336</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNhN2RiYzNhYmJmZTFlODg2
ODhkYzFlZTVjYzc1OWUwNTk1NGVlNjkuLjU4MDM2NjUyZGQ0YmE2YTc4M2M4ZjMwMzVjMzZjZTQw
OWVkYTNjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMTkgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQWRkIGhlYWRlcnMg
Zm9yIFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIG1ha2VDcmVkZW50aWFsV2l0aENsaWVudERh
dGFIYXNoXSBhbmQgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENs
aWVudERhdGFIYXNoXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTYwNzI0OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBTUElzIHdlcmUg
YWRkZWQgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzIxNiwg
YnV0IHdlcmUgbm90IGFkZGVkIHRvIHRoZSBoZWFkZXIKKyAgICAgICAgZmlsZSBfV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLmgsIHRoaXMgY2hhbmdlIGFkZHMgdGhlbS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oOgorCiAyMDIxLTEx
LTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgQWxsb3cgYWxsIHJlZGlyZWN0IHNjaGVtZXMgd2hlbiBjb21waWxpbmcgYSBjb250ZW50IHJ1
bGUgbGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKaW5kZXggZDJhNTkxN2YyZDkwM2ZiMTNl
NmVhMzVjMDRhMTQzMmEyZDBhZjM4Yy4uOWUzY2NjMzc1ZmE1ZjBmNmVkNGYyNWY0YTFkMWY2Yzhj
ZDU4N2Q0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCkBAIC0xMjYsNyArMTI2LDkgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjE1LjQpLCBpb3MoMTMuNCkpCiAKIC8vIEZJWE1F
OiA8cmRhcjovL3Byb2JsZW0vNzE1MDk0ODU+IEFkZHMgZGV0YWlsZWQgTlNFcnJvci4KIC0gKHZv
aWQpbWFrZUNyZWRlbnRpYWxXaXRoQ2hhbGxlbmdlOihOU0RhdGEgKiljaGFsbGVuZ2Ugb3JpZ2lu
OihOU1N0cmluZyAqKW9yaWdpbiBvcHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNFcnJvciAqKSloYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKW1ha2VDcmVkZW50aWFs
V2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBvcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgKiwgTlNF
cnJvciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CiAtICh2b2lkKWdldEFzc2VydGlvbldpdGhDaGFsbGVuZ2U6KE5TRGF0YSAq
KWNoYWxsZW5nZSBvcmlnaW46KE5TU3RyaW5nICopb3JpZ2luIG9wdGlvbnM6KF9XS1B1YmxpY0tl
eUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyAqKW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSAqLCBOU0Vycm9yICopKWhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQp
Z2V0QXNzZXJ0aW9uV2l0aENsaWVudERhdGFIYXNoOihOU0RhdGEgKiljbGllbnREYXRhSGFzaCBv
cHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIGNv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2UgKiwgTlNFcnJvciAqKSloYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKWNhbmNlbDsKIAogLy8gRklYTUU6IDxyZGFy
Oi8vcHJvYmxlbS83MTUwOTg0OD4gRGVwcmVjYXRlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcy4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlM2Y0
Y2YzMDU5NGY2NzliYTI3NTVmMjg1MDg1Nzk4NDliYTZjNTI0Li5hMmFmYTk4Y2ZhNjQ0NGRlYmE5
YTVmZWM4MDgzZTE2MjE2OTBkZWNhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEtMTkgIEogUGFzY29lICA8
al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQWRkIGhlYWRlcnMgZm9y
IFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIG1ha2VDcmVkZW50aWFsV2l0aENsaWVudERhdGFI
YXNoXSBhbmQgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0aW9uV2l0aENsaWVu
dERhdGFIYXNoXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMzMzcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTYwNzI0OD4KKyAgICAgICAgCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBm
b3IgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgbWFrZUNyZWRlbnRpYWxXaXRoQ2xpZW50RGF0
YUhhc2hdIGFuZCAKKyAgICAgICAgW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QXNzZXJ0
aW9uV2l0aENsaWVudERhdGFIYXNoXS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTExLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgYWxsIHJlZGlyZWN0IHNjaGVtZXMg
d2hlbiBjb21waWxpbmcgYSBjb250ZW50IHJ1bGUgbGlzdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tCmluZGV4IDQ5ZDU0MThmZTExMDlhOGE3MjI5MGVmMDcyMmEzYTk2NWI5YTJl
ZWMuLjNlNjZiZTRkMWEwMmI0NTQyMmJjMGMxY2MzNGI3MmI0NDg0NzA3MDYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTE4OTgsNiArMTg5OCw0NCBAQCBURVNUKFdl
YkF1dGhlbnRpY2F0aW9uUGFuZWwsIE1ha2VDcmVkZW50aWFsTEEpCiAgICAgfV07CiAgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKIH0KKworVEVTVChXZWJBdXRoZW50
aWNhdGlvblBhbmVsLCBNYWtlQ3JlZGVudGlhbExBQ2xpZW50RGF0YUhhc2gpCit7CisgICAgcmVz
ZXQoKTsKKworICAgIHVpbnQ4X3QgaWRlbnRpZmllcltdID0geyAweDAxLCAweDAyLCAweDAzLCAw
eDA0IH07CisgICAgdWludDhfdCBoYXNoW10gPSB7IDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4
MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIs
IDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4
MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAg
ICBOU0RhdGEgKm5zSWRlbnRpZmllciA9IFtOU0RhdGEgZGF0YVdpdGhCeXRlczppZGVudGlmaWVy
IGxlbmd0aDpzaXplb2YoaWRlbnRpZmllcildOworICAgIGF1dG8gbnNIYXNoID0gYWRvcHROUyhb
W05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFzaCldKTsK
KyAgICBhdXRvIHBhcmFtZXRlcnMgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFBh
cmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoQWxnb3JpdGhtOkAtN10pOworCisgICAgYXV0byBycCA9
IGFkb3B0TlMoW1tfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVseWluZ1BhcnR5RW50aXR5IGFsbG9j
XSBpbml0V2l0aE5hbWU6QCJleGFtcGxlLmNvbSJdKTsKKyAgICBbcnAgc2V0SWRlbnRpZmllcjpA
ImV4YW1wbGUuY29tIl07CisgICAgYXV0byB1c2VyID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNy
ZWRlbnRpYWxVc2VyRW50aXR5IGFsbG9jXSBpbml0V2l0aE5hbWU6QCJqYXBwbGVzZWVkQGV4YW1w
bGUuY29tIiBpZGVudGlmaWVyOm5zSWRlbnRpZmllciBkaXNwbGF5TmFtZTpAIkogQXBwbGVzZWVk
Il0pOworICAgIE5TQXJyYXk8X1dLUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMgKj4gKnB1
YmxpY0tleUNyZWRlbnRpYWxQYXJhbWF0ZXJzID0gQFsgcGFyYW1ldGVycy5nZXQoKSBdOworICAg
IGF1dG8gb3B0aW9ucyA9IGFkb3B0TlMoW1tfV0tQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zIGFsbG9jXSBpbml0V2l0aFJlbHlpbmdQYXJ0eTpycC5nZXQoKSB1c2VyOnVzZXIuZ2V0
KCkgcHVibGljS2V5Q3JlZGVudGlhbFBhcmFtYXRlcnM6cHVibGljS2V5Q3JlZGVudGlhbFBhcmFt
YXRlcnNdKTsKKworICAgIGF1dG8gcGFuZWwgPSBhZG9wdE5TKFtbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBhbGxvY10gaW5pdF0pOworICAgIFtwYW5lbCBzZXRNb2NrQ29uZmlndXJhdGlvbjpA
eyBAInByaXZhdGVLZXlCYXNlNjQiOiB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0IH1dOworICAg
IGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtwYW5lbCBzZXREZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQo
KV07CisKKyAgICBbcGFuZWwgbWFrZUNyZWRlbnRpYWxXaXRoQ2xpZW50RGF0YUhhc2g6bnNIYXNo
LmdldCgpIG9wdGlvbnM6b3B0aW9ucy5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS0F1dGhl
bnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlICpyZXNwb25zZSwgTlNFcnJvciAqZXJyb3IpIHsK
KyAgICAgICAgd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbiA9IHRydWU7CisgICAgICAgIGNsZWFu
VXBLZXljaGFpbigiZXhhbXBsZS5jb20iKTsKKworICAgICAgICBFWFBFQ1RfVFJVRShsYUNvbnRl
eHRSZXF1ZXN0ZWQpOworICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7CisKKyAgICAgICAgRVhQ
RUNUX05PVF9OVUxMKHJlc3BvbnNlKTsKKyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UuY2xp
ZW50RGF0YUpTT04pOworICAgICAgICAvLyBUaGlzIGlzIHRoZSBzaGExIGhhc2ggb2YgdGhlIHB1
YmxpYyBrZXkgb2YgdGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NC4KKyAgICAgICAgRVhQRUNUX1dL
X1NUUkVRKFtyZXNwb25zZS5yYXdJZCBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF0s
ICJTTVNYSG5nRjdoRU9zRWxBNzNDM1JZKzhiUjQ9Iik7CisgICAgICAgIEVYUEVDVF9OVUxMKHJl
c3BvbnNlLmV4dGVuc2lvbnMpOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoW3Jlc3BvbnNlLmF0
dGVzdGF0aW9uT2JqZWN0IGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXSwgIm8yTm1i
WFJrYm05dVpXZGhkSFJUZEcxMG9HaGhkWFJvUkdGMFlWaVlvM21tOXU2dnVhVmVONHdSZ0RUaWRS
NW9MNnVmTFRDckU5SVNWWWJPR1VkRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGRWpFbHg1
NEJlNFJEckJKUU85d3QwV1B2RzBlcFFFQ0F5WWdBU0ZZSURqL3p4U2t6S2dhQnVTM2NkV0RGNTU4
b2Y4QWFJcGdGcHNqRi9RbTE3NDlJbGdnVkJKUGdxVUl3ZmhXSEo5MW5iN1VQSDc2YzArV0ZPelpL
c2xQeXlGc2U0Zz0iKTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9u
UGFuZWxSYW4pOworfQogI2VuZGlmCiAKIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgUHVi
bGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zTWluaW11bikKQEAgLTIwNDksNiArMjA4Nyw1
NiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFzc2VydGlvbkxBKQogICAgIFV0
aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7CiB9CiAKK1RFU1QoV2ViQXV0aGVu
dGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uTEFDbGllbnREYXRhSGFzaCkKK3sKKyAgICByZXNl
dCgpOworCisgICAgQVNTRVJUX1RSVUUoYWRkS2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRl
S2V5QmFzZTY0LCAiZXhhbXBsZS5jb20iLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCkpOwor
CisgICAgdWludDhfdCBoYXNoW10gPSB7IDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4
MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMs
IDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4
MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAgICBOU0Rh
dGEgKm5zSGFzaCA9IFtOU0RhdGEgZGF0YVdpdGhCeXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFz
aCldOworCisgICAgYXV0byBvcHRpb25zID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucyBhbGxvY10gaW5pdF0pOworICAgIFtvcHRpb25zIHNldFJlbHlpbmdQ
YXJ0eUlkZW50aWZpZXI6QCJleGFtcGxlLmNvbSJdOworCisgICAgYXV0byBwYW5lbCA9IGFkb3B0
TlMoW1tfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGFsbG9jXSBpbml0XSk7CisgICAgW3BhbmVs
IHNldE1vY2tDb25maWd1cmF0aW9uOkB7IH1dOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAg
IFtwYW5lbCBzZXREZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbcGFuZWwgZ2V0QXNz
ZXJ0aW9uV2l0aENsaWVudERhdGFIYXNoOm5zSGFzaCBvcHRpb25zOm9wdGlvbnMuZ2V0KCkgY29t
cGxldGlvbkhhbmRsZXI6XihfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UgKnJlc3Bv
bnNlLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICB3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFu
ID0gdHJ1ZTsKKyAgICAgICAgY2xlYW5VcEtleWNoYWluKCJleGFtcGxlLmNvbSIpOworCisgICAg
ICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKKworICAgICAgICBFWFBFQ1RfTk9UX05VTEwocmVzcG9u
c2UpOworICAgICAgICBFWFBFQ1RfTlVMTChyZXNwb25zZS5jbGllbnREYXRhSlNPTik7CisgICAg
ICAgIC8vIFRoaXMgaXMgdGhlIHNoYTEgaGFzaCBvZiB0aGUgcHVibGljIGtleSBvZiB0ZXN0RVMy
NTZQcml2YXRlS2V5QmFzZTY0LgorICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoW3Jlc3BvbnNlLnJh
d0lkIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXSwgIlNNU1hIbmdGN2hFT3NFbEE3
M0MzUlkrOGJSND0iKTsKKyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UuZXh0ZW5zaW9ucyk7
CisKKyAgICAgICAgLy8gZWNobyAtbiAiZXhhbXBsZS5jb20iIHwgc2hhc3VtIC1hIDI1NiB8IHh4
ZCAtciAtcCB8IGJhc2U2NAorICAgICAgICBOU1N0cmluZyAqYmFzZTY0UlBJREhhc2ggPSBAIm8z
bW05dTZ2dWFWZU40d1JnRFRpZFI1b0w2dWZMVENyRTlJU1ZZYk9HVWM9IjsKKyAgICAgICAgY29u
c3RleHByIHVpbnQ4X3QgYWRkaXRpb25hbEF1dGhlbnRpY2F0b3JEYXRhW10gPSB7CisgICAgICAg
ICAgICAweDA1LCAvLyAnZmxhZ3MnOiBVVj0xLCBVUD0xCisKKyAgICAgICAgICAgIC8vIDMyLWJp
dCAnc2lnbkNvdW50JworICAgICAgICAgICAgMHgwMCwKKyAgICAgICAgICAgIDB4MDAsCisgICAg
ICAgICAgICAweDAwLAorICAgICAgICAgICAgMHgwMCwKKyAgICAgICAgfTsKKyAgICAgICAgTlNN
dXRhYmxlRGF0YSAqZXhwZWN0ZWRBdXRoZW50aWNhdG9yRGF0YSA9IFtbTlNNdXRhYmxlRGF0YSBh
bGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmJhc2U2NFJQSURIYXNoIG9wdGlvbnM6
MF07CisgICAgICAgIFtleHBlY3RlZEF1dGhlbnRpY2F0b3JEYXRhIGFwcGVuZEJ5dGVzOmFkZGl0
aW9uYWxBdXRoZW50aWNhdG9yRGF0YSBsZW5ndGg6c2l6ZW9mKGFkZGl0aW9uYWxBdXRoZW50aWNh
dG9yRGF0YSldOworCisgICAgICAgIEVYUEVDVF9XS19TVFJFUShbcmVzcG9uc2UuYXV0aGVudGlj
YXRvckRhdGEgYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdLCBbZXhwZWN0ZWRBdXRo
ZW50aWNhdG9yRGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF0pOworICAgICAg
ICBFWFBFQ1RfTk9UX05VTEwocmVzcG9uc2Uuc2lnbmF0dXJlKTsKKyAgICAgICAgRVhQRUNUX1dL
X1NUUkVRKFtyZXNwb25zZS51c2VySGFuZGxlIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9u
czowXSwgIkFBRUNBd1FGQmdjSUNRPT0iKTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJndlYkF1
dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWws
IEdldEFzc2VydGlvbkNyb3NzUGxhdGZvcm0pCiB7CiAgICAgcmVzZXQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>