programming.im
Issued by Let's Encrypt Authority X3
About this certificate
This digital certificate with serial number 03:1c:e1:df:d4:d4:15:b7:cc:ba:33:73:e9:b1:d1:19:c7:57 was issued on by Let's Encrypt.
With 14 subject alternative names this certificate can be used to secure multiple fqdn's. This certificate has already expired and will cause a warning or error message in the browser it's still listed on this site to allow you to look back on previously issued certificates. If we have found any compliance issues with this certificate they will be shown below. I hope this certificate review is providing you the detailed information in a simple form you where looking for.
We have idenified some issues with this certificate:
- Subscriber Certificate: commonName is deprecated. (BRs: 7.1.4.2.2)
Certificate Subject
CN=programming.im
Let's Encrypt
Organization:
Let's Encrypt
Country:
US
This certificate has expire since
Certificate Details
Serial Number (hex): 03:1c:e1:df:d4:d4:15:b7:cc:ba:33:73:e9:b1:d1:19:c7:57Serial Number (int): 271165002566992004067417678042148554524503
Serial Number lenght: 138 bits, 18 octets
SubjectKeyId: ca:46:8d:27:be:25:19:ca:3b:2d:48:f6:37:4b:e9:2d:ab:20:b1:4c
AuthorityKeyId: a8:4a:6a:63:04:7d:dd:ba:e6:d1:39:b7:a6:45:65:ef:f3:a8:ec:a1
Fingerprint (sha1): 92:d9:68:e9:d7:99:52:3d:24:ba:0a:9a:e6:ec:61:51:61:ea:fd:80
Fingerprint (sha256): 7b:33:83:6f:3c:a8:41:57:92:7d:2b:c8:c4:01:98:b5:53:03:f4:4f:09:63:77:58:bc:56:dd:c1:99:8d:16:51
Issuing Certificate URL: http://cert.int-x3.letsencrypt.org/
Revocation information
OCSP Server: http://ocsp.int-x3.letsencrypt.orgCheck the revocation status for certificate programming.im
14
DNS Names
0
Email Addresses
0
IP Addresses
Advanced Certificate Properties
Tehnical certificate details for programming.im
Public Key Algorithm
RSA
Key Size
2048
Signature Algorithm
SHA256 with RSA
Key Usage
Digital Signature
Key Encipherment
Extended Key Usages
Server Authentication
Client Authentication
Extensions
9 extensions
No
unhandled critical extensions
CA Certificate
This is not a CA certificate
Subject Alternative Names
bhl.scp-wiki.dev
files.programming.im
git.programming.im
int.scp-wiki.dev
library.scp-wiki.dev
lilith.undo.it
music.programming.im
o5.scp-wiki.dev
programming.im
qotd.programming.im
sandbox.scp-wiki.dev
staff.programming.im
www.programming.im
www.scp-wiki.dev
files.programming.im
git.programming.im
int.scp-wiki.dev
library.scp-wiki.dev
lilith.undo.it
music.programming.im
o5.scp-wiki.dev
programming.im
qotd.programming.im
sandbox.scp-wiki.dev
staff.programming.im
www.programming.im
www.scp-wiki.dev
Other certificates including the domain name programming.im
(limited to 100 certificates)
Certificate
The complete raw certificate details for programming.im in PEM and ASN.1 format.
Certificate (PEM)
-----BEGIN CERTIFICATE----- MIIGXDCCBUSgAwIBAgISAxzh39TUFbfMujNz6bHRGcdXMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xOTA5MjMwMTE1NDhaFw0x OTEyMjIwMTE1NDhaMBkxFzAVBgNVBAMTDnByb2dyYW1taW5nLmltMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzCIpiMWU0Ooy7+BD76C4g3OzHoQdo/JG Ijz/LAjcmDZaheTRJTna26TmarpGcvk0OLIsYXgwgtv0aZY+u9prXzdAj71rWWN2 8GRR24SBA4oD0po9OrGDmlc9CZ7AHyXCbE+7epsdwty5+6yrH9itK0abAC49H184 aVnG+AZJLOlsGS7JW6bKhx41Th0k5FqsewxxjuhTtxPSAFsAQfBjE58qA/XX22Io AHJk1SkexKZOAP7YihZ9TjEs3V9k9+OH22LttoKv6QFtzvpLpel4ZwPX4Wf6wY3H 7LfgXzW3Q4nacmKTZORU74F+b1M3SgRRc2TQDLZPx6pPciOhcdAXLQIDAQABo4ID azCCA2cwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF BQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTKRo0nviUZyjstSPY3S+ktqyCx TDAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRj MGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5v cmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5v cmcvMIIBHwYDVR0RBIIBFjCCARKCEGJobC5zY3Atd2lraS5kZXaCFGZpbGVzLnBy b2dyYW1taW5nLmltghJnaXQucHJvZ3JhbW1pbmcuaW2CEGludC5zY3Atd2lraS5k ZXaCFGxpYnJhcnkuc2NwLXdpa2kuZGV2gg5saWxpdGgudW5kby5pdIIUbXVzaWMu cHJvZ3JhbW1pbmcuaW2CD281LnNjcC13aWtpLmRldoIOcHJvZ3JhbW1pbmcuaW2C E3FvdGQucHJvZ3JhbW1pbmcuaW2CFHNhbmRib3guc2NwLXdpa2kuZGV2ghRzdGFm Zi5wcm9ncmFtbWluZy5pbYISd3d3LnByb2dyYW1taW5nLmltghB3d3cuc2NwLXdp a2kuZGV2MEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYI KwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYBBAHW eQIEAgSB9QSB8gDwAHUA4mlLribo6UAJ6IYbtjuD1D7n/nSI+6SPKJMBnd3x2/4A AAFtW+dPZwAABAMARjBEAiAONmpWzzYjeodYiMjk3HvTRY/rUVU605Sg8UbvvAll uwIgWNDXSC2KAT+Q1blLQigqtIFtWwe5lzHl6peTPUAC6JMAdwApPFGWVMg5Zbqq UPxYB9S3b79Yeily3KTDDPTlRUf0eAAAAW1b51FMAAAEAwBIMEYCIQDid49bb/+6 EFcyLyrjV+vXYzTEW5mrMnWIot/0olE8vQIhANGzYPzRNRmJsVJYTfiVfFb+wsaQ EdWODLIU3GAHTX9AMA0GCSqGSIb3DQEBCwUAA4IBAQAB/QoTqSmSI4uykDWt7CjT UMLk++WBcYuS1CKT6+1IfhCsNKlN+DfCrC2476Lw/8o498gByuhOCb0q611oRpcy qarFltTcycNp5N2lOEw9z3TraDKQymYU+ZIcngwECa5TJD1BBOfZO9XlA9kqWDfP hM4fpDLyZRW7U/gNB/34Y+BRo+mpoRQrrILEVVzPtPT8mX6/BasKqoK3HI1iclZC FCXC0N93m2miwIHx2nkdV5vW+FmBZIFRpYPXlPUiHnFIXGr+FUwa6VTJW92paxbT UXcMqxw/wp8PND3TzPNCuTTBKS1MPLSoIGSPAQnhKvua1s5LZad2jNPajDW8jeGz -----END CERTIFICATE-----
Public Key (PEM)
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzCIpiMWU0Ooy7+BD76C4 g3OzHoQdo/JGIjz/LAjcmDZaheTRJTna26TmarpGcvk0OLIsYXgwgtv0aZY+u9pr XzdAj71rWWN28GRR24SBA4oD0po9OrGDmlc9CZ7AHyXCbE+7epsdwty5+6yrH9it K0abAC49H184aVnG+AZJLOlsGS7JW6bKhx41Th0k5FqsewxxjuhTtxPSAFsAQfBj E58qA/XX22IoAHJk1SkexKZOAP7YihZ9TjEs3V9k9+OH22LttoKv6QFtzvpLpel4 ZwPX4Wf6wY3H7LfgXzW3Q4nacmKTZORU74F+b1M3SgRRc2TQDLZPx6pPciOhcdAX LQIDAQAB -----END PUBLIC KEY-----
ASN.1 decoded
[c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . [c:2|t:0|true] OtherName . . . . . . . . . . . . [c:0|t:2|false] INTEGER 2 . . . . . . . . [c:0|t:2|false] INTEGER 271165002566992004067417678042148554524503 . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.11 (sha256WithRSAEncryption) . . . . . . . . . . . . [c:0|t:5|false] NULL . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.6 (countryName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'US' . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.10 (organizationName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'Let's Encrypt' . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.3 (commonName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'Let's Encrypt Authority X3' . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2019-09-23 01:15:48 +0000 UTC . . . . . . . . . . . . [c:0|t:23|false] UTCTime 2019-12-22 01:15:48 +0000 UTC . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:17|true] SET, SET OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.4.3 (commonName) . . . . . . . . . . . . . . . . . . . . [c:0|t:19|false] PrintableString 'programming.im' . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.1 (rsaEncryption) . . . . . . . . . . . . . . . . [c:0|t:5|false] NULL . . . . . . . . . . . . [c:0|t:3|false] BIT STRING (2160 bits) . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:2|false] INTEGER 25769460243068900964875024315610075197091063908512782696169721339737225286911096199922897302535490195544633385486094984330316759042018317635406299120371691292134304937446149777107615652466556558142940676921752818005372846670828697758318170125727775390265775076048202296705674779149269876035777692352934211996470247457253149933089294492898004674898438127631537910189118036489256947029734695558750979137537731348036104230275063955847806602765998653830910144783136983017473984501169402886868519313800439266313508707159215024969141936153294555543082147191312519886178511786141033955714332935808416998336075517113872160557 . . . . . . . . . . . . . . . . . . . . [c:0|t:2|false] INTEGER 65537 . . . . . . . . [c:2|t:3|true] ORAddress . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.15 (keyUsage) . . . . . . . . . . . . . . . . . . . . [c:0|t:1|false] BOOLEAN true . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (4 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:3|false] BIT STRING (3 bits) 05a0 . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.37 (extKeyUsage) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (22 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.3.1 (serverAuth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.3.2 (clientAuth) . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.19 (basicConstraints) . . . . . . . . . . . . . . . . . . . . [c:0|t:1|false] BOOLEAN true . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (2 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.14 (subjectKeyIdentifier) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (22 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (20 bytes) ca468d27be2519ca3b2d48f6374be92dab20b14c . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.35 (authorityKeyIdentifier) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (24 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:0|false] OtherName a84a6a63047dddbae6d139b7a64565eff3a8eca1 . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.1.1 (authorityInfoAccess) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (99 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.1 (ocsp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:6|false] IA5String 'http://ocsp.int-x3.letsencrypt.org' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.2 (caIssuers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:6|false] IA5String 'http://cert.int-x3.letsencrypt.org/' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.17 (subjectAltName) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (278 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'bhl.scp-wiki.dev' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'files.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'git.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'int.scp-wiki.dev' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'library.scp-wiki.dev' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'lilith.undo.it' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'music.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'o5.scp-wiki.dev' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'qotd.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'sandbox.scp-wiki.dev' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'staff.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'www.programming.im' . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:2|t:2|false] IA5String 'www.scp-wiki.dev' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.5.29.32 (certificatePolicies) . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (69 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 2.23.140.1.2.1 (Domain Validation Certificates Policy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.4.1.44947.1.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.5.5.7.2.1 (cps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:22|false] IA5String 'http://cps.letsencrypt.org' . . . . . . . . . . . . . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . . . . . . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.3.6.1.4.1.11129.2.4.2 . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (245 bytes) . . . . . . . . . . . . . . . . . . . . . . . . [c:0|t:4|false] OCTET STRING (242 bytes) 00f0007500e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe0000016d5be74f67000004030046304402200e366a56cf36237a875888c8e4dc7bd3458feb51553ad394a0f146efbc0965bb022058d0d7482d8a013f90d5b94b42282ab4816d5b07b99731e5ea97933d4002e893007700293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f4780000016d5be7514c0000040300483046022100e2778f5b6fffba1057322f2ae357ebd76334c45b99ab327588a2dff4a2513cbd022100d1b360fcd1351989b152584df8957c56fec2c69011d58e0cb214dc60074d7f40 . . . . [c:0|t:16|true] SEQUENCE, SEQUENCE OF . . . . . . . . [c:0|t:6|false] OBJECT IDENTIFIER 1.2.840.113549.1.1.11 (sha256WithRSAEncryption) . . . . . . . . [c:0|t:5|false] NULL . . . . [c:0|t:3|false] BIT STRING (2048 bits) 0001fd0a13a92992238bb29035adec28d350c2e4fbe581718b92d42293ebed487e10ac34a94df837c2ac2db8efa2f0ffca38f7c801cae84e09bd2aeb5d68469732a9aac596d4dcc9c369e4dda5384c3dcf74eb683290ca6614f9921c9e0c0409ae53243d4104e7d93bd5e503d92a5837cf84ce1fa432f26515bb53f80d07fdf863e051a3e9a9a1142bac82c4555ccfb4f4fc997ebf05ab0aaa82b71c8d627256421425c2d0df779b69a2c081f1da791d579bd6f85981648151a583d794f5221e71485c6afe154c1ae954c95bdda96b16d351770cab1c3fc29f0f343dd3ccf342b934c1292d4c3cb4a820648f0109e12afb9ad6ce4b65a7768cd3da8c35bc8de1b3