From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 2D2251F4CC for ; Thu, 12 Dec 2024 07:16:07 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=y84FC4J4; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=IBacjBEG; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1733987764; bh=RIoH8Se/Pfo6h7bklFaMo8U5N4fMT2N3Yubffb3Qty8=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=y84FC4J4BJETGqi64xFRqBdqD8oxvj0dTg5Ry6nS0BlOq/WKGPtVU9fLDHfXmdbjE HcHIZ2CVOUzKrDOApFtImVHPtyOnSbLBo23C4Mu9bvlZuj6ps82Uv1ITsWT6r1BDax RqJxQpq9vhw1aofD5MjDA+7ZPl6TnyovBCJjfUM8= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id DB92544DA0 for ; Thu, 12 Dec 2024 07:16:04 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=IBacjBEG; dkim-atps=neutral Received: from s.wrqvwxzv.outbound-mail.sendgrid.net (s.wrqvwxzv.outbound-mail.sendgrid.net [149.72.154.232]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 14C0344D5C for ; Thu, 12 Dec 2024 07:15:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=yhm22NuFRc+lL3QR9qz5JL/sTWqpM/6AkKGsQ4CTp10=; b=IBacjBEGYzWWvRCDfHzyHbhNTQz3QrRDUkXEo8SbWhSAvKw/BUq0gC9+/s+FmUGIg5Uk ZoRhPdiV9QEQ0w7lxh6nSMUGwrmPWpcV/CrifFVseEXU0QQnemTePWnfxtY+nqBm6qu77a W6aX+0I9rshWmmS5X1xKu3Kk9cG3sZMieqOfL1lOe8TYuZD6ViBeaJMiTskct7obXeULVi 6Z1tXDgkWMtSAlDrC108STfz1DnZz0q+2OQp0nGakxFZL0rXf+ABj+NZZrBmdEAvPEZ0Tx XAq+cqcbanzQvwuodjQE+h0wZH7+QK4MX9JyBQltIoscj388+7AVZ+4csARhU77w== Received: by recvd-84b546689d-rqv5n with SMTP id recvd-84b546689d-rqv5n-1-675A8DA5-38 2024-12-12 07:15:49.546195796 +0000 UTC m=+2368323.220550346 Received: from herokuapp.com (unknown) by geopod-ismtpd-9 (SG) with ESMTP id VNiWOoDJSHCLD-cvNhfF1A for ; Thu, 12 Dec 2024 07:15:49.475 +0000 (UTC) Date: Thu, 12 Dec 2024 07:15:49 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 20878 X-Redmine-Issue-Author: byroot X-Redmine-Issue-Priority: Normal X-Redmine-Sender: nobu X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 96874 X-SG-EID: =?us-ascii?Q?u001=2E5PtzXJ23KrYzgM1nrOIr+EQ222PyrDaWSg0Er8CZ8tP86xyXmBM81zBKD?= =?us-ascii?Q?HreavdFYMbHjxXOR6UPMkt=2Fu9CyBIp6y52n8D2y?= =?us-ascii?Q?qA9zqurrgUcF4fj2hxQwc9trVVQbh7LQ8ew66=2F+?= =?us-ascii?Q?w71HR4yJuGSnHtPze6LCl5DMZhHFpetO8UEqupA?= =?us-ascii?Q?Qd+Q6Gr1xiWe6b7WTCtfx=2F2FJYRKYmES8i4Eert?= =?us-ascii?Q?=2F7OSWMyxndopBoIel+3bKON9d5jofdFSAPE4D=2FX?= =?us-ascii?Q?o9gbp8aS7qc69uwj5goRYkkNsw=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: Z42MSE7PRA46KMJSL47RFDDKMAANJRHZ X-Message-ID-Hash: Z42MSE7PRA46KMJSL47RFDDKMAANJRHZ X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120197] [Ruby master Feature#20878] A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)` List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "nobu (Nobuyoshi Nakada) via ruby-core" Cc: "nobu (Nobuyoshi Nakada)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIwODc4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KYnlyb290IChKZWFuIEJvdXNzaWVyKSB3cm90ZSBpbiAjbm90ZS0xOToNCj4gPiB3aHkg bm90IGFsbG9jYXRlIGEgbWFuYWdpbmcgU3RyaW5nIGZyb20gdGhlIGJlZ2lubmluZz8NCj4gDQo+ IEkgZXhwbGFpbmVkIGl0IGluIHRoZSBpc3N1ZSBib2R5LiBJZiB5b3Ugd2FudCB0byBhcHBlbmQg b25lIGNoYXJhY3RlciB0byBhbiBSU3RyaW5nLCB5b3UgbmVlZCBzb21ldGhpbmcgbGlrZToNCg0K SXQgaXMgc2FtZSBhcyBgcmJfc3RyX2NhdChidWYsICZjLCAxKWAuDQoNCj4gRmlyc3QgdGhhdCBh IGxvdCBtb3JlIGNvbXBsaWNhdGVkIHRoYW4ganVzdCB3b3JraW5nIHdpdGggYSByYXcgbWFsbG9j ZWQgYnVmZmVyLCB5b3UgbmVlZCBzb21lIHByZXR0eSBnb29kIGtub3dsZWRnZSBvZiBSdWJ5IGlu bmVyIHdvcmtpbmdzIG5vdCB0byBtYWtlIGEgbWlzdGFrZS4gRm9yIGV4YW1wbGUsIHlvdSBjb3Vs ZCBzYXZlIHNvbWUgbWV0YWRhdGEgbGlrZSBgY2FwYWNpdHlgLCBidXQgYW55IHRpbWUgR0MgdHJp Z2dlcnMsIGl0J3MgcG90ZW50aWFsbHkgbm8gbG9uZ2VyIHZhbGlkLg0KDQpJIGNhbid0IGdldCB5 b3VyIHBvaW50IGhlcmUuDQpZb3VyIHByb3Bvc2FsICoqZG9lcyoqIG5lZWQgdGhlIGtub3dsZWRn ZSBtb3JlLCBJIHRoaW5rLg0KDQo+IEEgdG9uIG9mIHRpbWUgaXMgc3BlbnQgaW46DQo+ICAgLSBg cmJfc3RyX3NldF9sZW5gIChgOS44JWApDQo+ICAgLSBgcmJfc3RyX3Jlc2l6ZWAgKGA2LjglYCkN Cj4gICAtIGBSQl9GTF9URVNUX1JBV2AgKHRvIGdldCBgUlNUUklOR19QVFJgIGV0YykgKGA1Ljkl YCkNCj4gDQo+IEFsbCB0b2dldGhlciwgdGhhdCdzIG1vcmUgdGhhbiB0aGUgdGltZSBzcGVudCBk b2luZyB0aGUgYWN0dWFsIGZvcm1hdHRpbmcgd29yayBpbiBgQlNEX3ZmcHJpbnRmYCwgdGhpcyBz ZWVtcyBsaWtlIGEgbWFqb3Igb3ZlcmhlYWQgdG8gbWUuDQoNClJlY3Vyc2l2ZSBmb3JtYXQgaW4g YFRpbWUjc3RyZnRpbWVgIG1heSBoYXZlIGEgcm9vbSBmb3IgaW1wcm92ZW1lbnQuDQoNCg0KDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwODc4 OiBBIG5ldyBDIEFQSSB0byBjcmVhdGUgYSBTdHJpbmcgYnkgYWRvcHRpbmcgYSBwb2ludGVyOiBg cmJfZW5jX3N0cl9hZG9wdChjb25zdCBjaGFyICpwdHIsIGxvbmcgbGVuLCBsb25nIGNhcGEsIHJi X2VuY29kaW5nICplbmMpYA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwODc4 I2NoYW5nZS0xMTA5NTYNCg0KKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikNCiogU3Rh dHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIyMg Q29udGV4dA0KDQpBIGNvbW1vbiB1c2UgY2FzZSB3aGVuIHdyaXRpbmcgQyBleHRlbnNpb25zIGlz IHRvIGdlbmVyYXRlIHRleHQgb3IgYnl0ZXMgaW50byBhIGJ1ZmZlciwgYW5kIHRvIHJldHVybiBp dCBiYWNrDQp3cmFwcGVkIGludG8gYSBSdWJ5IFN0cmluZy4gRXhhbXBsZXMgYXJlIGBKU09OLmdl bmVyYXRlKG9iaikgLT4gU3RyaW5nYCwgYW5kIGFsbCBvdGhlciBmb3JtYXQgc2VyaWFsaXplcnMs DQpjb21wcmVzc2lvbiBsaWJyYXJpZXMgc3VjaCBhcyBgWkxpYi5kZWZsYXRlYCwgZXRjLCBidXQg YWxzbyBtZXRob2RzIHN1Y2ggYXMgYFRpbWUuc3RyZnRpbWVgLCANCg0KIyMjIEN1cnJlbnQgU29s dXRpb24NCg0KIyMjIyBXb3JrIGluIGEgYnVmZmVyIGFuZCBjb3B5IHRoZSByZXN1bHQNCg0KVGhl IG1vc3Qgb2Z0ZW4gdXNlZCBzb2x1dGlvbiBpcyB0byB3b3JrIHdpdGggYSBuYXRpdmUgYnVmZmVy IGFuZCB0byBtYW5hZ2UgYSBuYXRpdmUgYWxsb2NhdGVkIGJ1ZmZlciwNCmFuZCBvbmNlIHRoZSBn ZW5lcmF0aW9uIGlzIGRvbmUsIGNhbGwgYHJiX3N0cl9uZXcqYCB0byBjb3B5IHRoZSByZXN1bHQg aW5zaWRlIG1lbW9yeSBtYW5hZ2VkIGJ5IFJ1YnkuDQoNCkl0IHdvcmtzLCBidXQgaXNuJ3QgdmVy eSBlZmZpY2llbnQgYmVjYXVzZSBpdCBjYXVzZSBhbiBleHRyYSBjb3B5IGFuZCBhbiBleHRyYSBg ZnJlZSgpYC4NCg0KT24gYHJ1YnkvanNvbmAgbWFjcm8tYmVuY2htYXJrcywgdGhpcyByZXByZXNl bnQgYXJvdW5kIDUlIG9mIHRoZSB0aW1lIHNwZW50IGluIGBKU09OLmdlbmVyYXRlYC4NCg0KYGBg Yw0Kc3RhdGljIHZvaWQgZmJ1ZmZlcl9mcmVlKEZCdWZmZXIgKmZiKQ0Kew0KICAgIGlmIChmYi0+ cHRyICYmIGZiLT50eXBlID09IEZCVUZGRVJfSEVBUF9BTExPQ0FURUQpIHsNCiAgICAgICAgcnVi eV94ZnJlZShmYi0+cHRyKTsNCiAgICB9DQp9DQoNCnN0YXRpYyBWQUxVRSBmYnVmZmVyX3RvX3Mo RkJ1ZmZlciAqZmIpDQp7DQogICAgVkFMVUUgcmVzdWx0ID0gcmJfdXRmOF9zdHJfbmV3KEZCVUZG RVJfUFRSKGZiKSwgRkJVRkZFUl9MRU4oZmIpKTsNCiAgICBmYnVmZmVyX2ZyZWUoZmIpOw0KICAg IHJldHVybiByZXN1bHQ7DQp9DQpgYGANCg0KIyMjIyBXb3JrIGluc2lkZSBSU3RyaW5nIGFsbG9j YXRlZCBtZW1vcnkNCg0KQW5vdGhlciB3YXkgdGhpcyBpcyBjdXJyZW50bHkgZG9uZSwgaXMgdG8g YWxsb2NhdGUgYW4gYFJTdHJpbmdgIHVzaW5nIGByYl9zdHJfYnVmX25ld2AsDQphbmQgd3JpdGUg aW50byBpdCB3aXRoIHZhcmlvdXMgZnVuY3Rpb25zIHN1Y2ggYXMgYHJiX3N0cl9jYXRmYCwNCm9y IHdyaXRpbmcgcGFzdCBgUlN0cmluZy5sZW5gIHRocm91Z2ggYFJTVFJJTkdfUFRSYCBhbmQgdGhl biByZXNpemUgaXQgd2l0aCBgcmJfc3RyX3NldF9sZW5gLg0KDQpUaGUgZG93bnNpZGUgd2l0aCB0 aGlzIGFwcHJvYWNoIGlzIHRoYXQgaXQgY29udGFpbnMgYSBsb3Qgb2YgaW5lZmZpY2llbmNpZXMs IGFzIGByYl9zdHJfc2V0X2xlbmAgd2lsbCBwZXJmb3JtDQpudW1lcm91cyBzYWZldHkgY2hlY2tz LCBjb21wdXRlIGNvZGVyYW5nZSwgYW5kIHdyaXRlIHRoZSBzdHJpbmcgdGVybWluYXRvciBvbiBl dmVyeSBpbnZvY2F0aW9uLg0KDQpBbm90aGVyIG1ham9yIGlubmVmaWNpZW5jeSBpcyB0aGF0IHRo aXMgQVBJIG1ha2UgaXQgaGFyZCB0byBiZSBpbiBjb250cm9sIG9mIHRoZSBidWZmZXINCmdyb3d0 aCwgc28gaXQgY2FuIHJlc3VsdCBpbiBhIGxvdCBtb3JlIGByZWFsbG9jKClgIGNhbGxzIHRoYW4g bWFudWFsbHkgbWFuYWdpbmcgdGhlIGJ1ZmZlci4NCg0KVGhpcyBtZXRob2QgaXMgdXNlZCBieSBg S2VybmVsI3NwcmludGZgLCBgVGltZSNzdHJmdGltZWAgZXRjLCBhbmQgd2hlbiBJIGF0dGVtcHRl ZCB0byBpbXByb3ZlIGBUaW1lI3N0cmZ0aW1lYA0KcGVyZm9ybWFuY2UsIHRoaXMgcHJvYmxlbSBz aG93ZWQgdXAgYXMgdGhlIGJpZ2dlc3QgYm90dGxlbmVjazoNCg0KICAtIGh0dHBzOi8vZ2l0aHVi LmNvbS9ydWJ5L3J1YnkvcHVsbC8xMTU0Nw0KICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1 YnkvcHVsbC8xMTU0NA0KICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMTU0 Mg0KDQojIyMgUHJvcG9zZWQgQVBJDQoNCkkgdGhpbmsgYSBtb3JlIGVmZmNpZW50IHdheSB0byBk byB0aGlzIHdvdWxkIGJlIHRvIHdvcmsgd2l0aCBhIG5hdGl2ZSBidWZmZXIsIGFuZCB0aGVuIGJ1 aWxkIGEgUlN0cmluZw0KdGhhdCAiYWRvcHQiIHRoZSBtZW1vcnkgcmVnaW9uLg0KDQpUZWNobmlj YWxseSwgeW91IGNhbiBjdXJyZW50bHkgZG8gdGhpcyBieSByZWFjaGluZyBkaXJlY3RseSBpbnRv IGBSU3RyaW5nYCBtZW1iZXJzLCBidXQgSSBkb24ndCB0aGluayBpdCdzIGNsZWFuLA0KYW5kIGEg ZGVkaWNhdGVkIEFQSSB3b3VsZCBiZSBwcmVmZXJhYmxlOg0KDQpgYGBjDQovKioNCiAqIFNpbWls YXIgdG8gcmJfc3RyX25ldygpLCBidXQgaXQgYWRvcHRzIHRoZSBwb2ludGVyIGluc3RlYWQgb2Yg Y29weWluZy4NCiAqDQogKiBAcGFyYW1baW5dICBwdHIgICAgICAgICAgICAgQSBtZW1vcnkgcmVn aW9uIG9mIGBjYXBhYCBieXRlcyBsZW5ndGguIE1VU1QgaGF2ZSBiZWVuIGFsbG9jYXRlZCB3aXRo IGBydWJ5X3htYWxsb2NgDQogKiBAcGFyYW1baW5dICBsZW4gICAgICAgICAgICAgTGVuZ3RoICBv ZiB0aGUgc3RyaW5nLCAgaW4gYnl0ZXMsICBub3QgaW5jbHVkaW5nICB0aGUNCiAqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGluZyBOVUwgY2hhcmFjdGVyLCBub3QgaW5jbHVk aW5nIGV4dHJhIGNhcGFjaXR5Lg0KICogQHBhcmFtW2luXSAgY2FwYSAgICAgICAgICAgIFRoZSB1 c2FibGUgbGVuZ3RoIG9mIGBwdHJgLCBpbiBieXRlcywgIGluY2x1ZGluZyAgdGhlDQogKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGVybWluYXRpbmcgTlVMIGNoYXJhY3Rlci4NCiAqIEBw YXJhbVtpbl0gIGVuYyAgICAgICAgICAgICBFbmNvZGluZyBvZiBgcHRyYC4NCiAqIEBleGNlcHRp b24gIHJiX2VBcmdFcnJvciAgICBgbGVuYCBpcyBuZWdhdGl2ZS4NCiAqIEByZXR1cm4gICAgIEFu IGluc3RhbmNlICBvZiA6OnJiX2NTdHJpbmcsICBvZiBgbGVuYCAgYnl0ZXMgbGVuZ3RoLCBgY2Fw YSAtIDFgIGJ5dGVzIGNhcGFjaXR5LA0KICogICAgICAgICAgICAgYW5kIG9mIGBlbmNgIGVuY29k aW5nLg0KICogQHByZSAgICAgICAgQXQgIGxlYXN0ICBgY2FwYWAgYnl0ZXMgIG9mICBjb250aW51 b3VzICBtZW1vcnkgcmVnaW9uICBzaGFsbCAgYmUNCiAqICAgICAgICAgICAgIGFjY2Vzc2libGUg dmlhIGBwdHJgLg0KICogQHByZSAgICAgICAgYHB0cmAgTVVTVCBoYXZlIGJlZW4gYWxsb2NhdGVk IHdpdGggYHJ1YnlfeG1hbGxvY2AuDQogKiBAcHJlICAgICAgICBgcHRyYCBNVVNUIG5vdCBiZSBt YW51YWxseSBmcmVlZCBhZnRlciBgcmJfZW5jX3N0cl9hZG9wdGAgaGFzIGJlZW4gY2FsbGVkLg0K ICogQG5vdGUgICAgICAgYGVuY2AgY2FuIGJlIGEgIG51bGwgcG9pbnRlci4gIEl0IGNhbiBhbHNv IGJlICBzZWVuIGFzIGEgcm91dGluZQ0KICogICAgICAgICAgICAgaWRlbnRpY2FsIHRvIHJiX3Vz YXNjaWlfc3RyX25ldygpIHRoZW4uDQogKi8NCnJiX2VuY19zdHJfYWRvcHQoY29uc3QgY2hhciAq cHRyLCBsb25nIGxlbiwgbG9uZyBjYXBhLCByYl9lbmNvZGluZyAqZW5jKTsNCmBgYA0KDQpBbiBh bHRlcm5hdGl2ZSB0byB0aGUgYGFkb3B0YCB0ZXJtLCBjb3VsZCBiZSBgbW92ZWAuDQoNCg0KLS0t RmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQ2FwdHVyZSBk4oCZZcyBY3Jh biAyMDI0LTEyLTExIGHMgCAxMS4wMy4wOC5wbmcgKDI1MCBLQikNCg0KDQotLSANCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1Ynkt bGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZl QG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5n Lm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=