{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":265564,"defaultBranch":"trunk","name":"ruby","ownerLogin":"nurse","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2009-07-31T20:23:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13423?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711075618.0","currentOid":""},"activityList":{"items":[{"before":"3233e6908a212117bf6e572602195c057659a16c","after":"a3b45915ab32f5ea162c8f715df04b6f9bebb1ed","ref":"refs/heads/backport-20307","pushedAt":"2024-05-28T22:17:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"k0kubun","name":"Takashi Kokubun","path":"/k0kubun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3138447?s=80&v=4"},"commit":{"message":"merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414: [Backport #20307]\n\n\t[Bug #20307] Fix `Hash#update` to make frozen copy of string keys","shortMessageHtmlLink":"merge revision(s) f36a71e: [Backport #20307]"}},{"before":"e531b3bd0f47c6ece4f939f3d96c009520824987","after":"3233e6908a212117bf6e572602195c057659a16c","ref":"refs/heads/backport-20307","pushedAt":"2024-05-28T22:16:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"k0kubun","name":"Takashi Kokubun","path":"/k0kubun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3138447?s=80&v=4"},"commit":{"message":"merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414:\n\n\t[Bug #20307] Fix `Hash#update` to make frozen copy of string keys","shortMessageHtmlLink":"merge revision(s) f36a71e:"}},{"before":"cea8ad53616be8fa93760bed5945abd031dd1845","after":"16ec27c73fe1b3fb1d62bfb2ea2f55b28d09511a","ref":"refs/heads/backport-20192","pushedAt":"2024-05-28T21:51:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"k0kubun","name":"Takashi Kokubun","path":"/k0kubun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3138447?s=80&v=4"},"commit":{"message":"Skip a new test for RJIT","shortMessageHtmlLink":"Skip a new test for RJIT"}},{"before":"ed2fbb3612b5809d211f99772587dbdc75214e7e","after":"cea8ad53616be8fa93760bed5945abd031dd1845","ref":"refs/heads/backport-20192","pushedAt":"2024-05-28T21:51:05.000Z","pushType":"push","commitsCount":36,"pusher":{"login":"k0kubun","name":"Takashi Kokubun","path":"/k0kubun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3138447?s=80&v=4"},"commit":{"message":"Merge branch 'ruby_3_3' into backport-20192","shortMessageHtmlLink":"Merge branch 'ruby_3_3' into backport-20192"}},{"before":"a920651456de377431365e3093eb5559bcae9d52","after":null,"ref":"refs/heads/backport-20324","pushedAt":"2024-03-22T02:46:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"39dafa538b789b8c9469d6fe0eaa4e15d0539e90","after":null,"ref":"refs/heads/backport-20304","pushedAt":"2024-03-22T01:39:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":null,"after":"a920651456de377431365e3093eb5559bcae9d52","ref":"refs/heads/backport-20324","pushedAt":"2024-03-22T00:57:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) b176315827d1082f43628013a7d89fda02724d33: [Backport #20324]\n\n\t[Bug #20324] Uncomparable ranges are not overlapping","shortMessageHtmlLink":"merge revision(s) b176315: [Backport #20324]"}},{"before":"244d574867db8b458642145c75532142ba95ff49","after":"ed2fbb3612b5809d211f99772587dbdc75214e7e","ref":"refs/heads/backport-20192","pushedAt":"2024-03-21T09:00:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) bbd249e351af7e4929b518a5de73a832b5617273: [Backport #20192]\n\n\tYJIT: Properly reject keyword splat with `yield`\n\n\tWe don't have support for keyword splat anywhere, but we tried to\n\tcompile these anyways in case of `invokeblock`. This led to bad things\n\thappening such as passing the wrong value and passing a hash into\n\trb_yjit_array_len(), which raised in the middle of compilation.\n\n\t[Bug #20192]","shortMessageHtmlLink":"merge revision(s) bbd249e: [Backport #20192]"}},{"before":"7b01f17da6a580232214de3862259288b5904ccf","after":"e531b3bd0f47c6ece4f939f3d96c009520824987","ref":"refs/heads/backport-20307","pushedAt":"2024-03-21T08:59:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414: [Backport #20307]\n\n\t[Bug #20307] Fix `Hash#update` to make frozen copy of string keys","shortMessageHtmlLink":"merge revision(s) f36a71e: [Backport #20307]"}},{"before":"73a5048a9434f38b2bbaa501fea7b56df42e7a81","after":"39dafa538b789b8c9469d6fe0eaa4e15d0539e90","ref":"refs/heads/backport-20304","pushedAt":"2024-03-21T08:59:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304]\n\n\tFix memory leak in setting encodings\n\n\tThere is a memory leak in Encoding.default_external= and\n\tEncoding.default_internal= because the duplicated name is not freed\n\twhen overwriting.\n\n\t 10.times do\n\t 1_000_000.times do\n\t Encoding.default_internal = nil\n\t end\n\n\t puts `ps -o rss= -p #{$$}`\n\t end\n\n\tBefore:\n\n\t 25664\n\t 41504\n\t 57360\n\t 73232\n\t 89168\n\t 105056\n\t 120944\n\t 136816\n\t 152720\n\t 168576\n\n\tAfter:\n\n\t 9648\n\t 9648\n\t 9648\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680","shortMessageHtmlLink":"merge revision(s) c7ce2f5: [Backport #20304]"}},{"before":"f650dadf5614dbc6636052406e3cca26f98444ab","after":"7b01f17da6a580232214de3862259288b5904ccf","ref":"refs/heads/backport-20307","pushedAt":"2024-03-21T07:22:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414: [Backport #20307]\n\n\t[Bug #20307] Fix `Hash#update` to make frozen copy of string keys","shortMessageHtmlLink":"merge revision(s) f36a71e: [Backport #20307]"}},{"before":"a01b737cd0d12b208fb7bdf95e117d9ad1525be4","after":"73a5048a9434f38b2bbaa501fea7b56df42e7a81","ref":"refs/heads/backport-20304","pushedAt":"2024-03-21T07:15:44.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"Merge branch 'ruby_3_3' into backport-20304","shortMessageHtmlLink":"Merge branch 'ruby_3_3' into backport-20304"}},{"before":"023d7b2aef3f821f76625cf84418398017b3c1d5","after":null,"ref":"refs/heads/backport-20311","pushedAt":"2024-03-21T06:44:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"95e547e5c89afdb0fb4cb040f65ed2cd9d540933","after":null,"ref":"refs/heads/backport-19907","pushedAt":"2024-03-21T04:25:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"a7c09900cd06bc21888f2e6c7d38b5a91f3ecc2e","after":null,"ref":"refs/heads/backport-20327","pushedAt":"2024-03-21T03:48:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"1c8a91401cb2e97f1f112a16238f9f356c5ba5a8","after":null,"ref":"refs/heads/backport-20250","pushedAt":"2024-03-21T03:11:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"81715738e6180755bea19eb4603d64c8e604606e","after":null,"ref":"refs/heads/backport-20183","pushedAt":"2024-03-21T02:43:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":null,"after":"95e547e5c89afdb0fb4cb040f65ed2cd9d540933","ref":"refs/heads/backport-19907","pushedAt":"2024-03-21T01:45:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) 081ee3d35509110f383cb7dd8d1205def0cdd1e8,1c97abaabae6844c861705fd07f532292dcffa74: [Backport #19907]\n\n\tAdd memory leak test for eval kwargs\n\n\tDe-dup identical callinfo objects\n\n\tPreviously every call to vm_ci_new (when the CI was not packable) would\n\tresult in a different callinfo being returned this meant that every\n\tkwarg callsite had its own CI.\n\n\tWhen calling, different CIs result in different CCs. These CIs and CCs\n\tboth end up persisted on the T_CLASS inside cc_tbl. So in an eval loop\n\tthis resulted in a memory leak of both types of object. This also likely\n\tresulted in extra memory used, and extra time searching, in non-eval\n\tcases.\n\n\tFor simplicity in this commit I always allocate a CI object inside\n\trb_vm_ci_lookup, but ideally we would lazily allocate it only when\n\tneeded. I hope to do that as a follow up in the future.","shortMessageHtmlLink":"merge revision(s) 081ee3d,1c97abaabae6844c861705fd07f532292dcffa74: […"}},{"before":null,"after":"f650dadf5614dbc6636052406e3cca26f98444ab","ref":"refs/heads/backport-20307","pushedAt":"2024-03-21T01:43:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414: [Backport #20307]\n\n\t[Bug #20307] Fix `Hash#update` to make frozen copy of string keys","shortMessageHtmlLink":"merge revision(s) f36a71e: [Backport #20307]"}},{"before":null,"after":"a7c09900cd06bc21888f2e6c7d38b5a91f3ecc2e","ref":"refs/heads/backport-20327","pushedAt":"2024-03-21T01:41:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b: [Backport #20327]\n\n\t[Bug #20327] Do not count subsecond to calculate UTC offset\n\n\tAssume that there will never be any time zones with UTC offsets that\n\tare subseconds. Historically, UTC offset has only been used down to\n\tthe second.","shortMessageHtmlLink":"merge revision(s) d3279a0: [Backport #20327]"}},{"before":null,"after":"023d7b2aef3f821f76625cf84418398017b3c1d5","ref":"refs/heads/backport-20311","pushedAt":"2024-03-21T01:39:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: [Backport #20311]\n\n\tDon't pin named structs defined in Ruby\n\n\t[Bug #20311]\n\n\t`rb_define_class_under` assumes it's called from C and that the\n\treference might be held in a C global variable, so it adds the\n\tclass to the VM root.\n\n\tIn the case of `Struct.new('Name')` it's wasteful and make\n\tthe struct immortal.\n\n\tMake Struct memory leak test faster\n\n\t[Bug #20311]\n\n\tIt times out on some platform, so we can reduce iterations.\n\tOn my machine it completes in 250ms and RSS grows 8X.","shortMessageHtmlLink":"merge revision(s) e626da8,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: […"}},{"before":null,"after":"a01b737cd0d12b208fb7bdf95e117d9ad1525be4","ref":"refs/heads/backport-20304","pushedAt":"2024-03-21T01:38:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304]\n\n\tFix memory leak in setting encodings\n\n\tThere is a memory leak in Encoding.default_external= and\n\tEncoding.default_internal= because the duplicated name is not freed\n\twhen overwriting.\n\n\t 10.times do\n\t 1_000_000.times do\n\t Encoding.default_internal = nil\n\t end\n\n\t puts `ps -o rss= -p #{$$}`\n\t end\n\n\tBefore:\n\n\t 25664\n\t 41504\n\t 57360\n\t 73232\n\t 89168\n\t 105056\n\t 120944\n\t 136816\n\t 152720\n\t 168576\n\n\tAfter:\n\n\t 9648\n\t 9648\n\t 9648\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680\n\t 9680","shortMessageHtmlLink":"merge revision(s) c7ce2f5: [Backport #20304]"}},{"before":"730d20db5be29eca6ea76bc10625b65af1e6537d","after":null,"ref":"refs/heads/backport-20246","pushedAt":"2024-03-21T01:26:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"99a6a6c06a2ac981d2866c372e9d49d34c6c7f07","after":null,"ref":"refs/heads/backport-20245","pushedAt":"2024-03-21T01:19:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":null,"after":"81715738e6180755bea19eb4603d64c8e604606e","ref":"refs/heads/backport-20183","pushedAt":"2024-03-20T23:36:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport #20183]\n\n\tAlias init functions\n\n\tThe extension library has each initialization function named \"Init_\" +\n\tbasename. If multiple extensions have the same base name (such as\n\tcgi/escape and erb/escape), the same function will be registered for\n\tboth names.\n\n\tTo fix this conflict, rename the initialization functions under sub\n\tdirectories using using parent names, when statically linking.","shortMessageHtmlLink":"merge revision(s) ae8990a: [Backport #20183]"}},{"before":null,"after":"730d20db5be29eca6ea76bc10625b65af1e6537d","ref":"refs/heads/backport-20246","pushedAt":"2024-03-20T23:33:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) 18ee7c9a108bf3424814565377c8796e5e455cf7,4a6384ed9358e8fb8464f6e37efb5477182f01db: [Backport #20246]\n\n\tClear all refined CCs on reopening refinement mod\n\n\tIn cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732 we started using inline\n\tcaches for refinements. However, we weren't clearing inline caches when\n\tdefined on a reopened refinement module.\n\n\tFixes [Bug #20246]\n\n\tFix [Bug #20246]: Don't set next_head_exact if a capture is called (#9897)","shortMessageHtmlLink":"merge revision(s) 18ee7c9,4a6384ed9358e8fb8464f6e37efb5477182f01db: […"}},{"before":null,"after":"1c8a91401cb2e97f1f112a16238f9f356c5ba5a8","ref":"refs/heads/backport-20250","pushedAt":"2024-03-20T23:33:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) d19d683a354530a27b4cbb049223f8dc70c75849,de1a586ecc2ee7f465f0c0a69291054136a3a819: [Backport #20250]\n\n\trb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID\n\n\t[Bug #20250]\n\n\tWe're seting up a new instance, so it never had an associated\n\tobject_id.\n\n\tproc.c: get rid of `CLONESETUP`\n\tMIME-Version: 1.0\n\tContent-Type: text/plain; charset=UTF-8\n\tContent-Transfer-Encoding: 8bit\n\n\t[Bug #20253]\n\n\tAll the way down to Ruby 1.9, `Proc`, `Method`, `UnboundMethod`\n\tand `Binding` always had their own specific clone and dup routine.\n\n\tThis caused various discrepancies with how other objects behave\n\ton `dup` and `clone. [Bug #20250], [Bug #20253].\n\n\tThis commit get rid of `CLONESETUP` and use the the same codepath\n\tas all other types, so ensure consistency.\n\n\tNB: It's still not accepting the `freeze` keyword argument on `clone`.\n\n\tCo-Authored-By: Étienne Barrié ","shortMessageHtmlLink":"merge revision(s) d19d683,de1a586ecc2ee7f465f0c0a69291054136a3a819: […"}},{"before":null,"after":"99a6a6c06a2ac981d2866c372e9d49d34c6c7f07","ref":"refs/heads/backport-20245","pushedAt":"2024-03-20T23:28:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) 01fd262e62076277a41af72ea13f20deb1b462a2: [Backport #20245]\n\n\tFix crash when checking symbol encoding\n\n\t[Bug #20245]\n\n\tWe sometimes pass in a fake string to sym_check_asciionly. This can crash\n\tif sym_check_asciionly raises because it creates a CFP with the fake\n\tstring as the receiver which will crash if GC tries to mark the CFP.\n\n\tFor example, the following script crashes:\n\n\t GC.stress = true\n\t Object.const_defined?(\"\\xC3\")","shortMessageHtmlLink":"merge revision(s) 01fd262: [Backport #20245]"}},{"before":"7df43f239cba3df6cd89748af6a36322b070d55f","after":null,"ref":"refs/heads/backport-20207","pushedAt":"2024-03-20T18:31:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"}},{"before":"3391f82a47c932d70e98f509633143d6f07fad9a","after":"7df43f239cba3df6cd89748af6a36322b070d55f","ref":"refs/heads/backport-20207","pushedAt":"2024-03-20T16:36:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nurse","name":"NARUSE, Yui","path":"/nurse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13423?s=80&v=4"},"commit":{"message":"merge revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828: [Backport #20207]\n\n\tCorrectly handle consecutive lookarounds (#9738)\n\n\tFix [Bug #20207]\n\tFix [Bug #20212]\n\n\tHandling consecutive lookarounds in init_cache_opcodes is buggy, so it\n\tcauses invalid memory access reported in [Bug #20207] and [Bug #20212].\n\tThis fixes it by using recursive functions to detected lookarounds\n\tnesting correctly.","shortMessageHtmlLink":"merge revision(s) 3e6e3ca: [Backport #20207]"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVlSL_AA","startCursor":null,"endCursor":null}},"title":"Activity · nurse/ruby"}